Commit 9eda1a12bcbe2d670403dd18ac332e7dbf9dd9c0

Authored by liujun001
1 parent 13d622c9

蓝斯接口 模糊查询车辆车牌列表\司机获取当前工作的车辆钥匙信息

Showing 59 changed files with 2551 additions and 231 deletions
Bsth-admin/src/main/java/com/ruoyi/controller/dss/DssCarInfoController.java 0 → 100644
  1 +package com.ruoyi.controller.dss;
  2 +
  3 +import com.ruoyi.common.core.domain.ResponseResult;
  4 +import com.ruoyi.domain.caiinfo.CarInfo;
  5 +import com.ruoyi.domain.dss.car.info.dto.GetPlatesDTO;
  6 +import com.ruoyi.service.carinfo.CarInfoService;
  7 +import io.swagger.annotations.Api;
  8 +import io.swagger.annotations.ApiModelProperty;
  9 +import org.apache.commons.collections4.CollectionUtils;
  10 +import org.apache.commons.lang3.StringUtils;
  11 +import org.springframework.beans.factory.annotation.Autowired;
  12 +import org.springframework.validation.BindingResult;
  13 +import org.springframework.web.bind.annotation.GetMapping;
  14 +import org.springframework.web.bind.annotation.RequestBody;
  15 +import org.springframework.web.bind.annotation.RequestMapping;
  16 +import org.springframework.web.bind.annotation.RestController;
  17 +
  18 +import javax.validation.Valid;
  19 +import java.util.List;
  20 +import java.util.Set;
  21 +import java.util.stream.Collectors;
  22 +
  23 +/**
  24 + * @author liujun
  25 + * @date 2024年07月16日 15:13
  26 + */
  27 +@RestController
  28 +@RequestMapping("/dss")
  29 +@Api(tags = "【蓝斯一期】岗前设备报警信息")
  30 +public class DssCarInfoController {
  31 + @Autowired
  32 + private CarInfoService carInfoService;
  33 +
  34 + @GetMapping(value = "/device/getPlates")
  35 + @ApiModelProperty("模糊查询车辆车牌列表")
  36 + public ResponseResult<Set<String>> getPlates(@Valid @RequestBody GetPlatesDTO dto, BindingResult bindingResult) {
  37 + if (bindingResult.hasErrors()) {
  38 + return ResponseResult.error(bindingResult.getFieldError().getDefaultMessage());
  39 + }
  40 +
  41 + CarInfo carInfo = convertCarInfo(dto);
  42 + if (StringUtils.isEmpty(carInfo.getPlateNum())) {
  43 + return ResponseResult.success();
  44 + }
  45 +
  46 + List<CarInfo> carInfos = carInfoService.likePlateNumPlateNumTop30(carInfo);
  47 + if (CollectionUtils.isEmpty(carInfos)) {
  48 + return ResponseResult.success();
  49 + }
  50 + Set<String> plateNums = carInfos.stream().map(CarInfo::getPlateNum).collect(Collectors.toSet());
  51 + return ResponseResult.success(plateNums);
  52 + }
  53 +
  54 + private CarInfo convertCarInfo(GetPlatesDTO dto) {
  55 + CarInfo carInfo = new CarInfo();
  56 + carInfo.setPlateNum(dto.getPlate());
  57 +
  58 + return carInfo;
  59 + }
  60 +}
... ...
Bsth-admin/src/main/java/com/ruoyi/controller/dss/DssDriverController.java
... ... @@ -11,9 +11,11 @@ import com.ruoyi.domain.driver.dss.syn.DrivePosEnum;
11 11 import com.ruoyi.domain.driver.dss.syn.login.dto.LoginDriverDTO;
12 12 import com.ruoyi.domain.driver.dss.syn.login.vo.LoginDriverVo;
13 13 import com.ruoyi.domain.driver.dss.syn.login.vo.LoginUserInfoVo;
  14 +import com.ruoyi.domain.dss.sign.dto.DssGetWineRecordDTO;
14 15 import com.ruoyi.domain.dss.sign.dto.DssSignDTO;
15 16 import com.ruoyi.domain.dss.sign.dto.DssSignOutDTO;
16 17 import com.ruoyi.domain.dss.sign.vo.DssSignVo;
  18 +import com.ruoyi.domain.dss.sign.vo.GetWineRecordVo;
17 19 import com.ruoyi.domain.dss.sign.vo.SignOutVo;
18 20 import com.ruoyi.in.domain.SignIn;
19 21 import com.ruoyi.in.service.ISignInService;
... ... @@ -27,9 +29,7 @@ import lombok.extern.slf4j.Slf4j;
27 29 import org.apache.commons.lang3.StringUtils;
28 30 import org.springframework.beans.factory.annotation.Autowired;
29 31 import org.springframework.validation.BindingResult;
30   -import org.springframework.web.bind.annotation.PostMapping;
31   -import org.springframework.web.bind.annotation.RequestMapping;
32   -import org.springframework.web.bind.annotation.RestController;
  32 +import org.springframework.web.bind.annotation.*;
33 33  
34 34 import javax.validation.Valid;
35 35 import java.io.IOException;
... ... @@ -57,7 +57,7 @@ public class DssDriverController extends BaseController {
57 57  
58 58 @PostMapping(value = "Login")
59 59 @ApiOperation("人员登录设备")
60   - public ResponseResult<LoginDriverVo> login(@Valid LoginDriverDTO loginDriverDTO, BindingResult bindingResult) {
  60 + public ResponseResult<LoginDriverVo> login(@Valid @RequestBody LoginDriverDTO loginDriverDTO, BindingResult bindingResult) {
61 61 if (bindingResult.hasErrors()) {
62 62 return ResponseResult.error(bindingResult.getFieldError().getDefaultMessage());
63 63 }
... ... @@ -72,7 +72,7 @@ public class DssDriverController extends BaseController {
72 72  
73 73 @PostMapping(value = "SignIn")
74 74 @ApiOperation("人员签到")
75   - public ResponseResult<DssSignVo> sign(@Valid DssSignDTO dto, BindingResult bindingResult) {
  75 + public ResponseResult<DssSignVo> sign(@Valid @RequestBody DssSignDTO dto, BindingResult bindingResult) {
76 76 if (bindingResult.hasErrors()) {
77 77 return ResponseResult.error(bindingResult.getFieldError().getDefaultMessage());
78 78 }
... ... @@ -95,7 +95,8 @@ public class DssDriverController extends BaseController {
95 95  
96 96  
97 97 @PostMapping(value = "SignOut")
98   - public ResponseResult<SignOutVo> signOut(@Valid DssSignOutDTO dto, BindingResult bindingResult) {
  98 + @ApiOperation("人员签退")
  99 + public ResponseResult<SignOutVo> signOut(@Valid @RequestBody DssSignOutDTO dto, BindingResult bindingResult) {
99 100 if (bindingResult.hasErrors()) {
100 101 return ResponseResult.error(bindingResult.getFieldError().getDefaultMessage());
101 102 }
... ... @@ -114,6 +115,22 @@ public class DssDriverController extends BaseController {
114 115 }
115 116 }
116 117  
  118 + @GetMapping(value = "GetWineRecord")
  119 + @ApiOperation("校验司机酒测记录是否有效")
  120 + public ResponseResult<GetWineRecordVo> getWineRecord(@Valid @RequestBody DssGetWineRecordDTO dto, BindingResult bindingResult) {
  121 + if (bindingResult.hasErrors()) {
  122 + return ResponseResult.error(bindingResult.getFieldError().getDefaultMessage());
  123 + }
  124 +
  125 + SignIn signIn = convertSignIn(dto);
  126 + SignIn dataSignIn = signInService.getLastOne(signIn);
  127 + return ResponseResult.success(convertGetWineRecordVo(dataSignIn));
  128 + }
  129 +
  130 +
  131 +
  132 +
  133 +
117 134  
118 135 /***
119 136 * 登陆转换
... ... @@ -219,6 +236,14 @@ public class DssDriverController extends BaseController {
219 236 return signIn;
220 237 }
221 238  
  239 + private SignIn convertSignIn(DssGetWineRecordDTO dto) {
  240 + SignIn signIn = new SignIn();
  241 + signIn.setJobCode(dto.getStaffCode());
  242 + signIn.setDeviceId(dto.getDevice());
  243 +
  244 + return signIn;
  245 + }
  246 +
222 247 private DssSignVo convertSignInVo(SignInResponseVo responseVo) {
223 248 DssSignVo vo = new DssSignVo();
224 249 vo.setTestId(Convert.toStr(responseVo.getId()));
... ... @@ -236,5 +261,13 @@ public class DssDriverController extends BaseController {
236 261 return new SignOutVo(dto.getDevice(), dto.getDriverCode(), dto.getLogoutTime());
237 262 }
238 263  
  264 + private GetWineRecordVo convertGetWineRecordVo(SignIn signIn) {
  265 + GetWineRecordVo vo = new GetWineRecordVo();
  266 + vo.setCheckTime(signIn.getCreateTime());
  267 + vo.setCheck(Objects.equals(signIn.getType(), 0));
  268 +
  269 + return vo;
  270 + }
  271 +
239 272  
240 273 }
... ...
Bsth-admin/src/main/java/com/ruoyi/controller/dss/DssEquipmentController.java
... ... @@ -79,7 +79,7 @@ public class DssEquipmentController extends BaseController {
79 79  
80 80 @ApiOperation("设备获取访问令牌")
81 81 @GetMapping("/Auth")
82   - public ResponseResult auth(@Valid EquipmentAuthDTO dto, BindingResult bindingResult) {
  82 + public ResponseResult auth(@Valid @RequestBody EquipmentAuthDTO dto, BindingResult bindingResult) {
83 83 if (bindingResult.hasErrors()) {
84 84 return ResponseResult.error(bindingResult.getFieldError().getDefaultMessage());
85 85 }
... ... @@ -141,7 +141,7 @@ public class DssEquipmentController extends BaseController {
141 141  
142 142 @PostMapping("/selfcheck")
143 143 @ApiOperation("设备获取远程参数配置")
144   - public ResponseResult selfCheck(@Valid EquipmentSelfcheckDto equipmentSelfcheckDto, BindingResult bindingResult) {
  144 + public ResponseResult selfCheck(@Valid @RequestBody EquipmentSelfcheckDto equipmentSelfcheckDto, BindingResult bindingResult) {
145 145 if (bindingResult.hasErrors()) {
146 146 return ResponseResult.error(bindingResult.getFieldError().getDefaultMessage());
147 147 }
... ...
Bsth-admin/src/main/java/com/ruoyi/controller/dss/DssFaceController.java
... ... @@ -21,6 +21,7 @@ import org.apache.commons.collections4.CollectionUtils;
21 21 import org.springframework.beans.factory.annotation.Autowired;
22 22 import org.springframework.validation.BindingResult;
23 23 import org.springframework.web.bind.annotation.PostMapping;
  24 +import org.springframework.web.bind.annotation.RequestBody;
24 25 import org.springframework.web.bind.annotation.RequestMapping;
25 26 import org.springframework.web.bind.annotation.RestController;
26 27  
... ... @@ -46,14 +47,15 @@ public class DssFaceController extends BaseController {
46 47  
47 48 @PostMapping("/syn/reqData")
48 49 @ApiOperation("获取数据库人员信息")
49   - public List<DssDriveVo> queryDriver(@Valid DssDriveQueryDTO dto, BindingResult bindingResult) {
  50 + public List<DssDriveVo> queryDriver(@Valid @RequestBody DssDriveQueryDTO dto, BindingResult bindingResult) {
  51 +
50 52 List<NewDriver> drivers = newDriverService.list();
51 53 return convertDssDriveVo(drivers);
52 54 }
53 55  
54 56 @ApiOperation("终端同步人脸数据结果上报")
55 57 @PostMapping(value = "/syn/resData")
56   - public ResponseResult<Object> insertDriver(@Valid ResDataDriveDTO dto, BindingResult bindingResult) {
  58 + public ResponseResult<Object> insertDriver(@Valid @RequestBody ResDataDriveDTO dto, BindingResult bindingResult) {
57 59 if (bindingResult.hasErrors()) {
58 60 return ResponseResult.error(bindingResult.getFieldError().getDefaultMessage());
59 61 }
... ... @@ -64,7 +66,7 @@ public class DssFaceController extends BaseController {
64 66  
65 67 @ApiOperation(("人脸注册"))
66 68 @PostMapping(value = "FaceRegister")
67   - public ResponseResult<Object> faceRegister(@Valid FaceRegisterDTO dto, BindingResult bindingResult) {
  69 + public ResponseResult<Object> faceRegister(@Valid @RequestBody FaceRegisterDTO dto, BindingResult bindingResult) {
68 70 if (bindingResult.hasErrors()) {
69 71 return ResponseResult.error(bindingResult.getFieldError().getDefaultMessage());
70 72 }
... ... @@ -75,7 +77,7 @@ public class DssFaceController extends BaseController {
75 77  
76 78 @ApiOperation("人脸校验")
77 79 @PostMapping(value = "FaceCheck")
78   - public ResponseResult<FaceCheckVo> faceCheck(@Valid FaceCheckDTO dto, BindingResult bindingResult) {
  80 + public ResponseResult<FaceCheckVo> faceCheck(@Valid @RequestBody FaceCheckDTO dto, BindingResult bindingResult) {
79 81 if (bindingResult.hasErrors()) {
80 82 return ResponseResult.error(bindingResult.getFieldError().getDefaultMessage());
81 83 }
... ...
Bsth-admin/src/main/java/com/ruoyi/controller/dss/KeyBoxController.java
1 1 package com.ruoyi.controller.dss;
2 2  
  3 +import cn.hutool.core.convert.Convert;
3 4 import com.alibaba.fastjson2.JSON;
  5 +import com.ruoyi.common.ConstDriverProperties;
  6 +import com.ruoyi.common.TipEnum;
4 7 import com.ruoyi.common.core.controller.BaseController;
5 8 import com.ruoyi.common.core.domain.ResponseResult;
  9 +import com.ruoyi.common.utils.DateUtils;
  10 +import com.ruoyi.domain.caiinfo.CarInfo;
  11 +import com.ruoyi.domain.dss.key.location.dto.WorkPlateV2DTO;
  12 +import com.ruoyi.domain.dss.key.location.vo.WorkPlateV2Vo;
6 13 import com.ruoyi.domain.equipment.linke.log.LingangEquipmentLinkeLog;
7   -import com.ruoyi.domain.keyInfo.box.dto.KeyBoxQueryDTO;
  14 +import com.ruoyi.domain.key.info.KeyInfo;
  15 +import com.ruoyi.domain.key.info.box.dto.KeyBoxQueryDTO;
  16 +import com.ruoyi.domain.key.info.box.vo.KeyBoxVo;
  17 +import com.ruoyi.domain.key.location.LinggangKeyWorkLocation;
  18 +import com.ruoyi.domain.scheduling.LinggangScheduling;
  19 +import com.ruoyi.service.carinfo.CarInfoService;
8 20 import com.ruoyi.service.dss.KeyBoxVoService;
9 21 import com.ruoyi.service.equipment.linke.log.LingangEquipmentLinkeLogService;
  22 +import com.ruoyi.service.key.info.KeyInfoService;
  23 +import com.ruoyi.service.key.location.LinggangKeyWorkLocationService;
  24 +import com.ruoyi.service.scheduling.LinggangSchedulingService;
10 25 import io.swagger.annotations.Api;
11 26 import io.swagger.annotations.ApiOperation;
12 27 import org.springframework.beans.factory.annotation.Autowired;
  28 +import org.springframework.validation.BindingResult;
13 29 import org.springframework.web.bind.annotation.PostMapping;
14 30 import org.springframework.web.bind.annotation.RequestBody;
15 31 import org.springframework.web.bind.annotation.RequestMapping;
16 32 import org.springframework.web.bind.annotation.RestController;
17 33  
  34 +import javax.validation.Valid;
  35 +import java.text.ParseException;
18 36 import java.util.Date;
  37 +import java.util.Objects;
  38 +
19 39  
20 40 /**
21 41 * @author liujun
22 42 * @date 2024年06月25日 13:04
23 43 */
24 44 @RestController
25   -@RequestMapping("/dss/keybox")
  45 +@RequestMapping("/dss")
26 46 @Api(tags = "【蓝斯一期】钥匙信息")
27 47 public class KeyBoxController extends BaseController {
28 48  
... ... @@ -31,16 +51,111 @@ public class KeyBoxController extends BaseController {
31 51  
32 52 @Autowired
33 53 private KeyBoxVoService keyBoxVoService;
  54 + @Autowired
  55 + private LinggangKeyWorkLocationService linggangKeyWorkLocationService;
  56 + @Autowired
  57 + private LinggangSchedulingService schedulingService;
  58 + @Autowired
  59 + private KeyInfoService keyInfoService;
  60 + @Autowired
  61 + private CarInfoService carInfoService;
34 62  
35   - @PostMapping(value = "/findKey")
  63 + @PostMapping(value = "/keybox/findKey")
36 64 @ApiOperation("钥匙信息查询")
37   - public ResponseResult listSelect(@RequestBody KeyBoxQueryDTO request) {
38   - LingangEquipmentLinkeLog linkeLog = saveLog(request);
  65 + public ResponseResult<KeyBoxVo> listSelect(@Valid @RequestBody KeyBoxQueryDTO request,BindingResult bindingResult) {
  66 + if (bindingResult.hasErrors()) {
  67 + return ResponseResult.error(bindingResult.getFieldError().getDefaultMessage());
  68 + }
  69 +
  70 + LingangEquipmentLinkeLog linkeLog = saveLog(request);
  71 +
  72 + return keyBoxVoService.listSelect(request, linkeLog);
  73 + }
  74 +
  75 + @PostMapping(value = "/Driver/workPlateV2")
  76 + @ApiOperation("司机获取当前工作的车辆钥匙信息")
  77 + public ResponseResult<WorkPlateV2Vo> workPlateV2(@Valid @RequestBody WorkPlateV2DTO dto, BindingResult bindingResult) {
  78 + if (bindingResult.hasErrors()) {
  79 + return ResponseResult.error(bindingResult.getFieldError().getDefaultMessage());
  80 + }
  81 + try {
  82 + LinggangScheduling scheduling = queryScheduling(dto);
  83 + if (Objects.isNull(scheduling)) {
  84 + return ResponseResult.error(TipEnum.TIP_3.getCode(), TipEnum.TIP_3.getMsg());
  85 + }
  86 + LinggangKeyWorkLocation workLocation = queryKeyWorkLocation(scheduling.getKeyInfoId(), scheduling.getScheduleDate(), dto);
  87 + if (Objects.isNull(workLocation)) {
  88 + return ResponseResult.error(TipEnum.TIP_4.getCode(), TipEnum.TIP_4.getMsg());
  89 + }
  90 +
  91 + KeyInfo keyInfo = queryKeyInfo(scheduling.getKeyInfoId());
  92 + if (Objects.isNull(keyInfo)) {
  93 + return ResponseResult.error(TipEnum.TIP_404.getCode(), TipEnum.TIP_404.getMsg());
  94 + }
  95 +
  96 + CarInfo carInfo = queryCarInfo(scheduling.getNbbm());
  97 + if (Objects.isNull(carInfo)) {
  98 + return ResponseResult.error(TipEnum.TIP_404.getCode(), TipEnum.TIP_404.getMsg());
  99 + }
  100 +
  101 + WorkPlateV2Vo vo = convertWorkPlateV2Vo(scheduling, workLocation, keyInfo, carInfo);
  102 + return ResponseResult.success(vo);
  103 + } catch (ParseException e) {
  104 + logger.error("司机获取当前工作的车辆钥匙信息异常:[{}]", dto, e);
  105 + }
  106 +
  107 + return ResponseResult.error();
  108 +
  109 + }
  110 +
  111 + /***
  112 + * 查询排班
  113 + * @author liujun
  114 + * @date 2024/7/16 17:05
  115 + * @param dto
  116 + * @return com.ruoyi.domain.scheduling.LinggangScheduling
  117 + */
  118 + private LinggangScheduling queryScheduling(WorkPlateV2DTO dto) throws ParseException {
  119 + LinggangScheduling scheduling = new LinggangScheduling();
  120 + scheduling.setJobCode(dto.getStaffCode());
  121 +
  122 + String dateStr = DateUtils.YYYY_MM_DD.format(dto.getTime());
  123 + scheduling.setScheduleDate(DateUtils.YYYY_MM_DD.parse(dateStr));
  124 + String bcType = Objects.equals(0, dto.getEventType()) ? ConstDriverProperties.BC_TYPE_OUT : Objects.equals(1, dto.getEventType()) ? ConstDriverProperties.BC_TYPE_IN : "other";
  125 + scheduling.setBcType(bcType);
39 126  
40   - return keyBoxVoService.listSelect(request,linkeLog);
  127 + return schedulingService.getOne(scheduling);
41 128 }
42 129  
43 130 /***
  131 + * 根据排班时间和钥匙ID查询钥匙
  132 + * @author liujun
  133 + * @date 2024/7/16 17:05
  134 + * @param keyId
  135 + * @param scheduleDate
  136 + * @param dto
  137 + * @return com.ruoyi.domain.key.location.LinggangKeyWorkLocation
  138 + */
  139 + private LinggangKeyWorkLocation queryKeyWorkLocation(Integer keyId, Date scheduleDate, WorkPlateV2DTO dto) {
  140 + LinggangKeyWorkLocation workLocation = new LinggangKeyWorkLocation();
  141 + workLocation.setKeyInfoId(keyId);
  142 + workLocation.setScheduleDate(scheduleDate);
  143 + return linggangKeyWorkLocationService.getOne(workLocation);
  144 + }
  145 +
  146 + private KeyInfo queryKeyInfo(Integer keyId) {
  147 + return keyInfoService.getById(keyId);
  148 + }
  149 +
  150 + private CarInfo queryCarInfo(String nbbm) {
  151 + CarInfo carInfo = new CarInfo();
  152 + carInfo.setNbbm(nbbm);
  153 +
  154 + return carInfoService.getOne(carInfo);
  155 + }
  156 +
  157 +
  158 + /***
44 159 * 保存链接日志
45 160 * @author liujun
46 161 * @date 2024/6/25 15:24
... ... @@ -57,4 +172,15 @@ public class KeyBoxController extends BaseController {
57 172 lingangEquipmentLinkeLogService.save(linkeLog);
58 173 return linkeLog;
59 174 }
  175 +
  176 + private WorkPlateV2Vo convertWorkPlateV2Vo(LinggangScheduling scheduling, LinggangKeyWorkLocation workLocation, KeyInfo keyInfo, CarInfo carInfo) {
  177 + WorkPlateV2Vo vo = new WorkPlateV2Vo();
  178 + vo.setYardId(Convert.toStr(keyInfo.getYardId()));
  179 +// vo.setYardName(keyInfo.getY)
  180 + vo.setDevice(workLocation.getDevice());
  181 + vo.setCabinetNo(workLocation.getCabinetNo());
  182 + vo.setPlateNum(carInfo.getPlateNum());
  183 +
  184 + return vo;
  185 + }
60 186 }
... ...
Bsth-admin/src/main/java/com/ruoyi/controller/keyinfo/KeyInfoController.java renamed to Bsth-admin/src/main/java/com/ruoyi/controller/key/info/KeyInfoController.java
1   -package com.ruoyi.controller.keyinfo;
  1 +package com.ruoyi.controller.key.info;
2 2  
3 3 import com.alibaba.fastjson2.JSON;
4 4 import com.baomidou.mybatisplus.core.metadata.IPage;
... ... @@ -6,12 +6,12 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
6 6 import com.ruoyi.common.core.domain.ResponseResult;
7 7 import com.ruoyi.common.utils.poi.ExcelUtil;
8 8 import com.ruoyi.domain.OrderEntity;
9   -import com.ruoyi.domain.keyInfo.KeyInfo;
10   -import com.ruoyi.domain.keyInfo.dto.KeyInfoAddDTO;
11   -import com.ruoyi.domain.keyInfo.dto.KeyInfoQueryDTO;
12   -import com.ruoyi.domain.keyInfo.dto.KeyInfoUpdateDTO;
13   -import com.ruoyi.domain.keyInfo.dto.KeyInfoUpdateStatusDTO;
14   -import com.ruoyi.domain.keyInfo.vo.KeyInfoVO;
  9 +import com.ruoyi.domain.key.info.KeyInfo;
  10 +import com.ruoyi.domain.key.info.dto.KeyInfoAddDTO;
  11 +import com.ruoyi.domain.key.info.dto.KeyInfoQueryDTO;
  12 +import com.ruoyi.domain.key.info.dto.KeyInfoUpdateDTO;
  13 +import com.ruoyi.domain.key.info.dto.KeyInfoUpdateStatusDTO;
  14 +import com.ruoyi.domain.key.info.vo.KeyInfoVO;
15 15 import com.ruoyi.equipment.domain.Equipment;
16 16 import com.ruoyi.equipment.service.IEquipmentService;
17 17 import io.swagger.annotations.Api;
... ... @@ -35,7 +35,7 @@ import java.util.stream.Collectors;
35 35 @Api(tags = "钥匙管理")
36 36 public class KeyInfoController {
37 37 @Autowired
38   - private com.ruoyi.service.keyinfo.KeyInfoService KeyInfoService;
  38 + private com.ruoyi.service.key.info.KeyInfoService KeyInfoService;
39 39 @Autowired
40 40 private IEquipmentService equipmentService;
41 41  
... ...
Bsth-admin/src/main/java/com/ruoyi/controller/key/location/LinggangKeyWorkLocationController.java 0 → 100644
  1 +package com.ruoyi.controller.key.location;
  2 +
  3 +import com.baomidou.mybatisplus.core.metadata.IPage;
  4 +import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
  5 +import com.ruoyi.common.core.controller.BaseController;
  6 +import com.ruoyi.common.utils.poi.ExcelUtil;
  7 +import com.ruoyi.domain.OrderEntity;
  8 +import com.ruoyi.domain.key.location.LinggangKeyWorkLocation;
  9 +import com.ruoyi.domain.key.location.dto.LinggangKeyWorkLocationAddDTO;
  10 +import com.ruoyi.domain.key.location.dto.LinggangKeyWorkLocationQueryDTO;
  11 +import com.ruoyi.domain.key.location.dto.LinggangKeyWorkLocationUpdateDTO;
  12 +import com.ruoyi.domain.key.location.dto.LinggangKeyWorkLocationUpdateStatusDTO;
  13 +import com.ruoyi.domain.key.location.vo.LinggangKeyWorkLocationVO;
  14 +import com.ruoyi.service.key.location.LinggangKeyWorkLocationService;
  15 +import io.swagger.annotations.Api;
  16 +import io.swagger.annotations.ApiOperation;
  17 +import org.springframework.beans.BeanUtils;
  18 +import org.springframework.beans.factory.annotation.Autowired;
  19 +import org.springframework.security.access.prepost.PreAuthorize;
  20 +import org.springframework.validation.BindingResult;
  21 +import org.springframework.web.bind.annotation.*;
  22 +
  23 +import javax.servlet.http.HttpServletResponse;
  24 +import javax.validation.Valid;
  25 +import java.util.Date;
  26 +import java.util.List;
  27 +
  28 +@RestController
  29 +@Api(tags = "钥匙存放地址")
  30 +@RequestMapping("linggang/key/work/location")
  31 +public class LinggangKeyWorkLocationController extends BaseController {
  32 + @Autowired
  33 + private LinggangKeyWorkLocationService linggangKeyWorkLocationService;
  34 +
  35 + @ApiOperation("分页查询")
  36 + @PreAuthorize("@ss.hasPermi('linggang:key:work:location:list:limit:page:limit')")
  37 + @PostMapping(value = "/list/limit/{page}/{pageLimit}")
  38 + public IPage<LinggangKeyWorkLocationVO> listLimit(@ModelAttribute LinggangKeyWorkLocationQueryDTO request, @ModelAttribute OrderEntity orderEntity, @PathVariable Integer page, @PathVariable Integer pageLimit, org.springframework.ui.Model model) {
  39 + LinggangKeyWorkLocation entity = convert(request);
  40 + IPage<LinggangKeyWorkLocation> response = linggangKeyWorkLocationService.pageList(new Page<LinggangKeyWorkLocation>(page, pageLimit), entity, orderEntity);
  41 +
  42 + return convert(response);
  43 + }
  44 +
  45 + @ApiOperation("根据ID查询详情")
  46 + @GetMapping(value = "/view/{id}")
  47 + public com.ruoyi.common.core.domain.ResponseResult<LinggangKeyWorkLocationVO> view(@PathVariable("id") Long id, org.springframework.ui.Model model) {
  48 + LinggangKeyWorkLocation source = linggangKeyWorkLocationService.getById(id);
  49 +
  50 + return com.ruoyi.common.core.domain.ResponseResult.success(convert(source));
  51 + }
  52 +
  53 +// @PostMapping(value = "/list/select")
  54 +// @ApiOperation("(页面选择)")
  55 +// public com.ruoyi.common.core.domain.ResponseResult<List<LinggangKeyWorkLocationVO>> listSelect(@RequestBody LinggangKeyWorkLocationQueryDTO request) {
  56 +// LinggangKeyWorkLocation entity = convert(request);
  57 +// List<LinggangKeyWorkLocation> selectList = linggangKeyWorkLocationService.listOfSelect(entity);
  58 +// return com.ruoyi.common.core.domain.ResponseResult.success(convert(selectList));
  59 +// }
  60 +
  61 + @PreAuthorize("@ss.hasPermi('linggang:key:work:location:export')")
  62 + @ApiOperation("导出")
  63 + @PostMapping("/export")
  64 + public void export(HttpServletResponse response, @RequestBody LinggangKeyWorkLocationQueryDTO request) {
  65 + LinggangKeyWorkLocation entity = convert(request);
  66 + List<LinggangKeyWorkLocation> list = linggangKeyWorkLocationService.list(entity);
  67 + ExcelUtil<LinggangKeyWorkLocation> util = new ExcelUtil<LinggangKeyWorkLocation>(LinggangKeyWorkLocation.class);
  68 + util.exportExcel(response, list, "LinggangKeyWorkLocation");
  69 + }
  70 +
  71 + @ApiOperation("添加")
  72 + @PreAuthorize("@ss.hasPermi('linggang:key:work:location:add')")
  73 + @PostMapping(value = "/add")
  74 + public com.ruoyi.common.core.domain.ResponseResult add(@Valid @ModelAttribute LinggangKeyWorkLocationAddDTO request, BindingResult bindingResult) {
  75 + if (bindingResult.hasErrors()) {
  76 + return com.ruoyi.common.core.domain.ResponseResult.error(bindingResult.getFieldError().getDefaultMessage());
  77 + }
  78 + LinggangKeyWorkLocation entity = convert(request);
  79 + entity.setCreateBy(getUserId());
  80 + entity.setCreateTime(new Date());
  81 + int count = linggangKeyWorkLocationService.insertSelective(entity);
  82 + return count > 0 ? com.ruoyi.common.core.domain.ResponseResult.success(Boolean.TRUE) : com.ruoyi.common.core.domain.ResponseResult.error("添加数据失败,请稍后再试");
  83 + }
  84 +
  85 + @ApiOperation("修改")
  86 + @PreAuthorize("@ss.hasPermi('linggang:key:work:location:update')")
  87 + @PostMapping(value = "/update")
  88 + public com.ruoyi.common.core.domain.ResponseResult update(@Valid @ModelAttribute LinggangKeyWorkLocationUpdateDTO request, BindingResult bindingResult) {
  89 + if (bindingResult.hasErrors()) {
  90 + return com.ruoyi.common.core.domain.ResponseResult.error(bindingResult.getFieldError().getDefaultMessage());
  91 + }
  92 + LinggangKeyWorkLocation entity = convert(request);
  93 + entity.setUpdateBy(getUserId());
  94 + entity.setUpdateTime(new Date());
  95 + boolean flag = linggangKeyWorkLocationService.updateByPrimaryKey(entity);
  96 + return flag ? com.ruoyi.common.core.domain.ResponseResult.success(Boolean.TRUE) : com.ruoyi.common.core.domain.ResponseResult.error("修改数据失败,请稍后再试");
  97 + }
  98 +
  99 + @ApiOperation("修改状态")
  100 + @PreAuthorize("@ss.hasPermi('linggang:key:work:location:update:status')")
  101 + @PostMapping(value = "/update/status")
  102 + public com.ruoyi.common.core.domain.ResponseResult updateState(@ModelAttribute LinggangKeyWorkLocationUpdateStatusDTO request) {
  103 + LinggangKeyWorkLocation entity = convert(request);
  104 + boolean flag = linggangKeyWorkLocationService.updateByPrimaryKey(entity);
  105 + return flag ? com.ruoyi.common.core.domain.ResponseResult.success(Boolean.TRUE) : com.ruoyi.common.core.domain.ResponseResult.error("修改数据失败,请稍后再试");
  106 + }
  107 +
  108 + private LinggangKeyWorkLocation convert(LinggangKeyWorkLocationQueryDTO source) {
  109 + return java.util.Optional.ofNullable(source).map(sc -> {
  110 + LinggangKeyWorkLocation target = new LinggangKeyWorkLocation();
  111 + BeanUtils.copyProperties(sc, target);
  112 + return target;
  113 + }).orElse(null);
  114 + }
  115 +
  116 + private LinggangKeyWorkLocation convert(LinggangKeyWorkLocationUpdateDTO source) {
  117 + return java.util.Optional.ofNullable(source).map(sc -> {
  118 + LinggangKeyWorkLocation target = new LinggangKeyWorkLocation();
  119 + BeanUtils.copyProperties(sc, target);
  120 + return target;
  121 + }).orElse(null);
  122 + }
  123 +
  124 + private LinggangKeyWorkLocation convert(LinggangKeyWorkLocationUpdateStatusDTO source) {
  125 + return java.util.Optional.ofNullable(source).map(sc -> {
  126 + LinggangKeyWorkLocation target = new LinggangKeyWorkLocation();
  127 + BeanUtils.copyProperties(sc, target);
  128 + return target;
  129 + }).orElse(null);
  130 + }
  131 +
  132 + private LinggangKeyWorkLocation convert(LinggangKeyWorkLocationAddDTO source) {
  133 + return java.util.Optional.ofNullable(source).map(sc -> {
  134 + LinggangKeyWorkLocation target = new LinggangKeyWorkLocation();
  135 + BeanUtils.copyProperties(sc, target);
  136 + return target;
  137 + }).orElseGet(null);
  138 + }
  139 +
  140 + private LinggangKeyWorkLocationVO convert(LinggangKeyWorkLocation source) {
  141 + return java.util.Optional.ofNullable(source).map(sc -> {
  142 + LinggangKeyWorkLocationVO target = new LinggangKeyWorkLocationVO();
  143 + BeanUtils.copyProperties(source, target);
  144 + return target;
  145 + }).orElseGet(null);
  146 + }
  147 +
  148 + private List<LinggangKeyWorkLocationVO> convert(List<LinggangKeyWorkLocation> sources) {
  149 + return java.util.Optional.ofNullable(sources).map(scs -> {
  150 + return scs.stream().map(source -> {
  151 + return convert(source);
  152 + }).collect(java.util.stream.Collectors.toList());
  153 + }).orElseGet(null);
  154 + }
  155 +
  156 + private IPage<LinggangKeyWorkLocationVO> convert(IPage<LinggangKeyWorkLocation> sources) {
  157 + return java.util.Optional.ofNullable(sources).map(scs -> {
  158 + IPage<LinggangKeyWorkLocationVO> target = new Page();
  159 + BeanUtils.copyProperties(scs, target);
  160 + List<LinggangKeyWorkLocationVO> voNames = convert(scs.getRecords());
  161 + target.setRecords(voNames);
  162 +
  163 + return target;
  164 + }).orElseGet(null);
  165 + }
  166 +}
0 167 \ No newline at end of file
... ...
Bsth-admin/src/main/java/com/ruoyi/domain/caiinfo/CarInfo.java
1 1 package com.ruoyi.domain.caiinfo;
2 2  
3 3 import com.baomidou.mybatisplus.annotation.*;
  4 +import com.ruoyi.common.annotation.Excel;
4 5 import lombok.Data;
5   -import org.apache.commons.lang3.StringUtils;
6 6 import lombok.EqualsAndHashCode;
7 7 import lombok.experimental.Accessors;
8 8 import lombok.extern.slf4j.Slf4j;
9   -import com.ruoyi.common.annotation.Excel;
10 9  
11 10 import java.util.Arrays;
12 11 import java.util.Objects;
... ... @@ -62,6 +61,10 @@ public class CarInfo {
62 61 @TableField(fill = FieldFill.UPDATE)
63 62 private java.util.Date updateTime;
64 63  
  64 + /***车辆自编号*/
  65 + @Excel(name = "车辆自编号")
  66 + private java.lang.String nbbm;
  67 +
65 68  
66 69  
67 70 @Override
... ...
Bsth-admin/src/main/java/com/ruoyi/domain/caiinfo/dto/CarInfoAddDTO.java
... ... @@ -7,7 +7,7 @@ import lombok.EqualsAndHashCode;
7 7 import lombok.experimental.Accessors;
8 8  
9 9 @Data
10   -@ApiModel(value="车辆的新增DTO")
  10 +@ApiModel(value = "车辆的新增DTO")
11 11 @Accessors(chain = true)
12 12 @EqualsAndHashCode(callSuper = false)
13 13 public class CarInfoAddDTO implements java.io.Serializable {
... ... @@ -37,6 +37,9 @@ public class CarInfoAddDTO implements java.io.Serializable {
37 37 /***修改时间*/
38 38 @ApiModelProperty(value = "修改时间")
39 39 private java.util.Date updateTime;
  40 + /***车辆自编号*/
  41 + @ApiModelProperty(value = "车辆自编号")
  42 + private java.lang.String nbbm;
40 43 /***操作人员*/
41 44 @ApiModelProperty(value = "操作人员")
42 45 private String operator;
... ...
Bsth-admin/src/main/java/com/ruoyi/domain/caiinfo/dto/CarInfoQueryDTO.java
1 1 package com.ruoyi.domain.caiinfo.dto;
2 2  
3   -import com.ruoyi.domain.OrderEntity;
4 3 import io.swagger.annotations.ApiModel;
5 4 import io.swagger.annotations.ApiModelProperty;
6 5 import lombok.Data;
... ... @@ -8,7 +7,7 @@ import lombok.EqualsAndHashCode;
8 7 import lombok.experimental.Accessors;
9 8  
10 9 @Data
11   -@ApiModel(value="车辆的查询DTO")
  10 +@ApiModel(value = "车辆的查询DTO")
12 11 @Accessors(chain = true)
13 12 @EqualsAndHashCode(callSuper = false)
14 13 public class CarInfoQueryDTO implements java.io.Serializable {
... ... @@ -39,6 +38,10 @@ public class CarInfoQueryDTO implements java.io.Serializable {
39 38 @ApiModelProperty(value = "修改时间")
40 39 private java.util.Date updateTime;
41 40  
  41 + /***车辆自编号*/
  42 + @ApiModelProperty(value = "车辆自编号")
  43 + private java.lang.String nbbm;
  44 +
42 45  
43 46 @Override
44 47 public String toString() {
... ...
Bsth-admin/src/main/java/com/ruoyi/domain/caiinfo/dto/CarInfoUpdateDTO.java
... ... @@ -7,7 +7,7 @@ import lombok.EqualsAndHashCode;
7 7 import lombok.experimental.Accessors;
8 8  
9 9 @Data
10   -@ApiModel(value="车辆的修改DTO")
  10 +@ApiModel(value = "车辆的修改DTO")
11 11 @Accessors(chain = true)
12 12 @EqualsAndHashCode(callSuper = false)
13 13 public class CarInfoUpdateDTO implements java.io.Serializable {
... ... @@ -37,6 +37,10 @@ public class CarInfoUpdateDTO implements java.io.Serializable {
37 37 /***修改时间*/
38 38 @ApiModelProperty(value = "修改时间")
39 39 private java.util.Date updateTime;
  40 +
  41 + /***车辆自编号*/
  42 + @ApiModelProperty(value = "车辆自编号")
  43 + private java.lang.String nbbm;
40 44 /***操作人员*/
41 45 @ApiModelProperty(value = "操作人员")
42 46 private String operator;
... ...
Bsth-admin/src/main/java/com/ruoyi/domain/caiinfo/vo/CarInfoVO.java
... ... @@ -4,15 +4,13 @@ import com.ruoyi.domain.caiinfo.CarInfo;
4 4 import com.ruoyi.utils.DateUtil;
5 5 import io.swagger.annotations.ApiModel;
6 6 import io.swagger.annotations.ApiModelProperty;
7   -
8 7 import lombok.Data;
9 8 import lombok.EqualsAndHashCode;
10   -import lombok.experimental.Accessors;
11 9  
12 10 import java.util.Objects;
13 11  
14 12 @Data
15   -@ApiModel(value="车辆的VO")
  13 +@ApiModel(value = "车辆的VO")
16 14 @EqualsAndHashCode(callSuper = false)
17 15 public class CarInfoVO implements java.io.Serializable {
18 16 private static final long serialVersionUID = 522735525L;
... ... @@ -42,6 +40,10 @@ public class CarInfoVO implements java.io.Serializable {
42 40 @ApiModelProperty(value = "修改时间")
43 41 private java.util.Date updateTime;
44 42  
  43 + /***车辆自编号*/
  44 + @ApiModelProperty(value = "车辆自编号")
  45 + private java.lang.String nbbm;
  46 +
45 47 public String getStatusLabel() {
46 48 return CarInfo.CarStatusEnum.getObjLabel(this.getStatus());
47 49 }
... ...
Bsth-admin/src/main/java/com/ruoyi/domain/dss/car/info/dto/GetPlatesDTO.java 0 → 100644
  1 +package com.ruoyi.domain.dss.car.info.dto;
  2 +
  3 +import io.swagger.annotations.ApiModel;
  4 +import io.swagger.annotations.ApiModelProperty;
  5 +import lombok.Data;
  6 +import lombok.EqualsAndHashCode;
  7 +import lombok.experimental.Accessors;
  8 +
  9 +import javax.validation.constraints.NotNull;
  10 +
  11 +/**
  12 + * @author liujun
  13 + * @date 2024年07月16日 15:15
  14 + */
  15 +@Data
  16 +@ApiModel(value = "模糊查询车辆车牌列表")
  17 +@Accessors(chain = true)
  18 +@EqualsAndHashCode(callSuper = false)
  19 +public class GetPlatesDTO implements java.io.Serializable {
  20 +
  21 +
  22 + private static final long serialVersionUID = 5997772335057914919L;
  23 +
  24 + @ApiModelProperty(value = "模糊查询参数,null返回data=nul")
  25 + private String plate;
  26 +
  27 + @NotNull(message = "设备上线号不能为空")
  28 + @ApiModelProperty(value = "设备上线号", required = true)
  29 + private String device;
  30 +
  31 +}
... ...
Bsth-admin/src/main/java/com/ruoyi/domain/dss/key/location/dto/WorkPlateV2DTO.java 0 → 100644
  1 +package com.ruoyi.domain.dss.key.location.dto;
  2 +
  3 +import com.fasterxml.jackson.annotation.JsonFormat;
  4 +import io.swagger.annotations.ApiModel;
  5 +import io.swagger.annotations.ApiModelProperty;
  6 +import lombok.Data;
  7 +import lombok.EqualsAndHashCode;
  8 +import lombok.experimental.Accessors;
  9 +
  10 +import javax.validation.constraints.NotNull;
  11 +import java.util.Date;
  12 +
  13 +/**
  14 + * @author liujun
  15 + * @date 2024年07月16日 15:49
  16 + */
  17 +@Data
  18 +@ApiModel(value = "司机获取当前工作的车辆钥匙信息DTO")
  19 +@Accessors(chain = true)
  20 +@EqualsAndHashCode(callSuper = false)
  21 +public class WorkPlateV2DTO {
  22 + @NotNull(message = "设备上线号不能为空")
  23 + @ApiModelProperty(value = "设备上线号", required = true)
  24 + private String device;
  25 + @NotNull(message = "设备类型不能为空")
  26 + @ApiModelProperty(value = "设备类型上线号", required = true)
  27 + private String deviceType;
  28 + @NotNull(message = "卡号不能为空")
  29 + @ApiModelProperty(value = "卡号", required = true)
  30 + private String driverCode;
  31 + @NotNull(message = "工号不能为空")
  32 + @ApiModelProperty(value = "工号", required = true)
  33 + private String staffCode;
  34 +
  35 + @NotNull(message = "时间不能为空")
  36 + @ApiModelProperty(value = "时间", required = true)
  37 + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
  38 + private Date time;
  39 +
  40 + @NotNull(message = "操作类型不能为空")
  41 + @ApiModelProperty(value = "操作类型:0签到获取司机工作计划的钥匙,1签退获取司机最后一次领取的钥匙信息", required = true)
  42 + private Integer eventType;
  43 +}
... ...
Bsth-admin/src/main/java/com/ruoyi/domain/dss/key/location/vo/WorkPlateV2Vo.java 0 → 100644
  1 +package com.ruoyi.domain.dss.key.location.vo;
  2 +
  3 +import io.swagger.annotations.ApiModel;
  4 +import io.swagger.annotations.ApiModelProperty;
  5 +import lombok.AllArgsConstructor;
  6 +import lombok.Data;
  7 +import lombok.NoArgsConstructor;
  8 +import lombok.experimental.Accessors;
  9 +
  10 +/**
  11 + * @author liujun
  12 + * @date 2024年07月16日 16:13
  13 + */
  14 +@Data
  15 +@NoArgsConstructor
  16 +@AllArgsConstructor
  17 +@Accessors(chain = true)
  18 +@ApiModel(value = "司机获取当前工作的车辆钥匙信息VO")
  19 +public class WorkPlateV2Vo implements java.io.Serializable {
  20 +
  21 + private static final long serialVersionUID = -7996165129173254421L;
  22 + @ApiModelProperty(value = "场站ID")
  23 + private String yardId;
  24 + @ApiModelProperty(value = "场站名称")
  25 + private String yardName;
  26 + @ApiModelProperty(value = "设备上线号")
  27 + private String device;
  28 + @ApiModelProperty(value = "设备名称")
  29 + private String deviceName;
  30 + @ApiModelProperty(value = "钥匙位编号")
  31 + private String cabinetNo;
  32 + @ApiModelProperty(value = "车位编码")
  33 + private String parkingNo;
  34 + @ApiModelProperty(value = "车牌号")
  35 + private String plateNum;
  36 +}
... ...
Bsth-admin/src/main/java/com/ruoyi/domain/dss/sign/dto/DssGetWineRecordDTO.java 0 → 100644
  1 +package com.ruoyi.domain.dss.sign.dto;
  2 +
  3 +import io.swagger.annotations.ApiModel;
  4 +import io.swagger.annotations.ApiModelProperty;
  5 +import lombok.Data;
  6 +import lombok.EqualsAndHashCode;
  7 +import lombok.experimental.Accessors;
  8 +
  9 +import javax.validation.constraints.NotEmpty;
  10 +
  11 +/**
  12 + * @author liujun
  13 + * @date 2024年07月16日 14:54
  14 + */
  15 +@Data
  16 +@ApiModel(value = "校验司机酒测记录是否有效")
  17 +@Accessors(chain = true)
  18 +@EqualsAndHashCode(callSuper = false)
  19 +public class DssGetWineRecordDTO implements java.io.Serializable {
  20 +
  21 + private static final long serialVersionUID = -5875980067011184027L;
  22 +
  23 + @NotEmpty(message = "工号不能为空")
  24 + @ApiModelProperty(value = "工号", required = true)
  25 + private String staffCode;
  26 + @NotEmpty(message = "设备上线号不能为空")
  27 + @ApiModelProperty(value = "设备上线号", required = true)
  28 + private String device;
  29 +
  30 +}
... ...
Bsth-admin/src/main/java/com/ruoyi/domain/dss/sign/vo/GetWineRecordVo.java 0 → 100644
  1 +package com.ruoyi.domain.dss.sign.vo;
  2 +
  3 +import com.fasterxml.jackson.annotation.JsonFormat;
  4 +import io.swagger.annotations.ApiModel;
  5 +import io.swagger.annotations.ApiModelProperty;
  6 +import lombok.AllArgsConstructor;
  7 +import lombok.Data;
  8 +import lombok.NoArgsConstructor;
  9 +import lombok.experimental.Accessors;
  10 +
  11 +import java.util.Date;
  12 +
  13 +/**
  14 + * @author liujun
  15 + * @date 2024年07月16日 14:53
  16 + */
  17 +@Data
  18 +@NoArgsConstructor
  19 +@AllArgsConstructor
  20 +@Accessors(chain = true)
  21 +@ApiModel(value = "校验司机酒测记录是否有效VO")
  22 +public class GetWineRecordVo implements java.io.Serializable {
  23 +
  24 + private static final long serialVersionUID = -2059500858089061638L;
  25 +
  26 + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
  27 + @ApiModelProperty(value = "最后检测时间")
  28 + private Date checkTime;
  29 +
  30 + @ApiModelProperty(value = "是否重新检测")
  31 + private Boolean check;
  32 +}
... ...
Bsth-admin/src/main/java/com/ruoyi/domain/keyInfo/KeyInfo.java renamed to Bsth-admin/src/main/java/com/ruoyi/domain/key/info/KeyInfo.java
1   -package com.ruoyi.domain.keyInfo;
  1 +package com.ruoyi.domain.key.info;
2 2  
3 3 import com.baomidou.mybatisplus.annotation.*;
4 4 import lombok.Data;
... ...
Bsth-admin/src/main/java/com/ruoyi/domain/keyInfo/box/dto/KeyBoxQueryDTO.java renamed to Bsth-admin/src/main/java/com/ruoyi/domain/key/info/box/dto/KeyBoxQueryDTO.java
1   -package com.ruoyi.domain.keyInfo.box.dto;
  1 +package com.ruoyi.domain.key.info.box.dto;
2 2  
3 3 import io.swagger.annotations.ApiModel;
4 4 import io.swagger.annotations.ApiModelProperty;
... ... @@ -6,6 +6,8 @@ import lombok.Data;
6 6 import lombok.EqualsAndHashCode;
7 7 import lombok.experimental.Accessors;
8 8  
  9 +import javax.validation.constraints.NotNull;
  10 +
9 11 /**
10 12 * @author liujun
11 13 * @date 2024年06月25日 13:22
... ... @@ -17,16 +19,27 @@ import lombok.experimental.Accessors;
17 19 public class KeyBoxQueryDTO implements java.io.Serializable {
18 20  
19 21 private static final long serialVersionUID = -1865377310922939750L;
  22 + @NotNull(message = "设备号 不能为空")
20 23 @ApiModelProperty(value = "设备号", required = true)
21 24 private String device;
  25 +
  26 + @NotNull(message = "设备类型 不能为空")
22 27 @ApiModelProperty(value = "设备类型", required = true)
23 28 private String deviceType;
  29 +
  30 + @NotNull(message = " 司机卡号不能为空")
24 31 @ApiModelProperty(value = "司机卡号", required = true)
25 32 private String driverCode;
  33 +
  34 + @NotNull(message = "工号 不能为空")
26 35 @ApiModelProperty(value = "工号", required = true)
27 36 private String staffCode;
  37 +
  38 + @NotNull(message = "时间 不能为空")
28 39 @ApiModelProperty(value = "时间", required = true)
29 40 private String time;
  41 +
  42 + @NotNull(message = " 类型 不能为空")
30 43 @ApiModelProperty(value = "类型:0签到上报获取,1签退归还获取", required = true)
31 44 private String eventType;
32 45 }
... ...
Bsth-admin/src/main/java/com/ruoyi/domain/keyInfo/box/vo/KeyBoxVo.java renamed to Bsth-admin/src/main/java/com/ruoyi/domain/key/info/box/vo/KeyBoxVo.java
1   -package com.ruoyi.domain.keyInfo.box.vo;
  1 +package com.ruoyi.domain.key.info.box.vo;
2 2  
3 3 import io.swagger.annotations.ApiModel;
4 4 import io.swagger.annotations.ApiModelProperty;
... ...
Bsth-admin/src/main/java/com/ruoyi/domain/keyInfo/dto/KeyInfoAddDTO.java renamed to Bsth-admin/src/main/java/com/ruoyi/domain/key/info/dto/KeyInfoAddDTO.java
1   -package com.ruoyi.domain.keyInfo.dto;
  1 +package com.ruoyi.domain.key.info.dto;
2 2  
3 3 import io.swagger.annotations.ApiModel;
4 4 import io.swagger.annotations.ApiModelProperty;
... ...
Bsth-admin/src/main/java/com/ruoyi/domain/keyInfo/dto/KeyInfoQueryDTO.java renamed to Bsth-admin/src/main/java/com/ruoyi/domain/key/info/dto/KeyInfoQueryDTO.java
1   -package com.ruoyi.domain.keyInfo.dto;
  1 +package com.ruoyi.domain.key.info.dto;
2 2  
3 3 import com.ruoyi.domain.OrderEntity;
4 4 import io.swagger.annotations.ApiModel;
... ...
Bsth-admin/src/main/java/com/ruoyi/domain/keyInfo/dto/KeyInfoUpdateDTO.java renamed to Bsth-admin/src/main/java/com/ruoyi/domain/key/info/dto/KeyInfoUpdateDTO.java
1   -package com.ruoyi.domain.keyInfo.dto;
  1 +package com.ruoyi.domain.key.info.dto;
2 2  
3 3 import io.swagger.annotations.ApiModel;
4 4 import io.swagger.annotations.ApiModelProperty;
... ...
Bsth-admin/src/main/java/com/ruoyi/domain/keyInfo/dto/KeyInfoUpdateStatusDTO.java renamed to Bsth-admin/src/main/java/com/ruoyi/domain/key/info/dto/KeyInfoUpdateStatusDTO.java
1   -package com.ruoyi.domain.keyInfo.dto;
  1 +package com.ruoyi.domain.key.info.dto;
2 2  
3 3 import io.swagger.annotations.ApiModel;
4 4 import io.swagger.annotations.ApiModelProperty;
... ...
Bsth-admin/src/main/java/com/ruoyi/domain/keyInfo/vo/KeyInfoVO.java renamed to Bsth-admin/src/main/java/com/ruoyi/domain/key/info/vo/KeyInfoVO.java
1   -package com.ruoyi.domain.keyInfo.vo;
  1 +package com.ruoyi.domain.key.info.vo;
2 2  
3 3 import io.swagger.annotations.ApiModel;
4 4 import io.swagger.annotations.ApiModelProperty;
... ...
Bsth-admin/src/main/java/com/ruoyi/domain/key/location/LinggangKeyWorkLocation.java 0 → 100644
  1 +package com.ruoyi.domain.key.location;
  2 +
  3 +import com.baomidou.mybatisplus.annotation.IdType;
  4 +import com.baomidou.mybatisplus.annotation.TableId;
  5 +import com.baomidou.mybatisplus.annotation.TableName;
  6 +import com.ruoyi.common.annotation.Excel;
  7 +import lombok.AllArgsConstructor;
  8 +import lombok.Data;
  9 +import lombok.EqualsAndHashCode;
  10 +import lombok.NoArgsConstructor;
  11 +import lombok.experimental.Accessors;
  12 +import lombok.extern.slf4j.Slf4j;
  13 +
  14 +
  15 +@Data
  16 +@Slf4j
  17 +@NoArgsConstructor
  18 +@AllArgsConstructor
  19 +@Accessors(chain = true)
  20 +@EqualsAndHashCode(callSuper = false)
  21 +@TableName("key_work_location")
  22 +/**钥匙存放地址 实体*/
  23 +public class LinggangKeyWorkLocation {
  24 + /***ID*/
  25 + @TableId(value = "id", type = IdType.AUTO)
  26 + @Excel(name = "ID")
  27 + private Long id;
  28 +
  29 +
  30 + /***场站ID*/
  31 + @Excel(name = "场站ID")
  32 + private Integer yardId;
  33 +
  34 +
  35 + /***场站名称*/
  36 + @Excel(name = "场站名称")
  37 + private String yardName;
  38 +
  39 +
  40 + /***设备号*/
  41 + @Excel(name = "设备号")
  42 + private String device;
  43 +
  44 +
  45 + /***钥匙位编号*/
  46 + @Excel(name = "钥匙位编号")
  47 + private String cabinetNo;
  48 +
  49 +
  50 + /***创建人员*/
  51 + @Excel(name = "创建人员")
  52 + private Long createBy;
  53 +
  54 +
  55 + /***创建时间*/
  56 + @Excel(name = "创建时间")
  57 + private java.util.Date createTime;
  58 +
  59 +
  60 + /***修改人员*/
  61 + @Excel(name = "修改人员")
  62 + private Long updateBy;
  63 +
  64 +
  65 + /***修改时间*/
  66 + @Excel(name = "修改时间")
  67 + private java.util.Date updateTime;
  68 +
  69 +
  70 + /***是否删除;0为未删除,1已删除*/
  71 + @Excel(name = "是否删除;0为未删除,1已删除")
  72 + private Boolean delFlag;
  73 +
  74 +
  75 + /***操作类型;0签到获取司机工作计划的钥匙,1签退获取司机最后一次领取的钥匙信息*/
  76 + @Excel(name = "操作类型;0签到获取司机工作计划的钥匙,1签退获取司机最后一次领取的钥匙信息")
  77 + private Integer eventType;
  78 +
  79 +
  80 + /***钥匙ID*/
  81 + @Excel(name = "钥匙ID")
  82 + private Integer keyInfoId;
  83 +
  84 + /***排班时间*/
  85 + @Excel(name = "排班时间")
  86 + private java.util.Date scheduleDate;
  87 +
  88 +
  89 + @Override
  90 + public String toString() {
  91 + return com.alibaba.fastjson2.JSON.toJSONString(this);
  92 + }
  93 +}
0 94 \ No newline at end of file
... ...
Bsth-admin/src/main/java/com/ruoyi/domain/key/location/dto/LinggangKeyWorkLocationAddDTO.java 0 → 100644
  1 +package com.ruoyi.domain.key.location.dto;
  2 +
  3 +import io.swagger.annotations.ApiModel;
  4 +import io.swagger.annotations.ApiModelProperty;
  5 +import lombok.Data;
  6 +import lombok.EqualsAndHashCode;
  7 +import lombok.experimental.Accessors;
  8 +
  9 +@Data
  10 +@ApiModel(value = "钥匙存放地址的添加DTO")
  11 +@Accessors(chain = true)
  12 +@EqualsAndHashCode(callSuper = false)
  13 +/**钥匙存放地址 DTO*/
  14 +public class LinggangKeyWorkLocationAddDTO implements java.io.Serializable {
  15 + private static final long serialVersionUID = 583473964L;
  16 +
  17 + /***ID*/
  18 + @ApiModelProperty(value = "ID", example = "1")
  19 + private Long id;
  20 + /***场站ID*/
  21 + @ApiModelProperty(value = "场站ID", example = "1")
  22 + private Integer yardId;
  23 + /***场站名称*/
  24 + @ApiModelProperty(value = "场站名称")
  25 + private String yardName;
  26 + /***设备号*/
  27 + @ApiModelProperty(value = "设备号")
  28 + private String device;
  29 + /***钥匙位编号*/
  30 + @ApiModelProperty(value = "钥匙位编号")
  31 + private String cabinetNo;
  32 + /***创建人员*/
  33 + @ApiModelProperty(value = "创建人员", example = "1")
  34 + private Long createBy;
  35 + /***创建时间*/
  36 + @ApiModelProperty(value = "创建时间")
  37 + private java.util.Date createTime;
  38 + /***修改人员*/
  39 + @ApiModelProperty(value = "修改人员", example = "1")
  40 + private Long updateBy;
  41 + /***修改时间*/
  42 + @ApiModelProperty(value = "修改时间")
  43 + private java.util.Date updateTime;
  44 + /***是否删除;0为未删除,1已删除*/
  45 + @ApiModelProperty(value = "是否删除;0为未删除,1已删除")
  46 + private Boolean delFlag;
  47 + /***操作类型;0签到获取司机工作计划的钥匙,1签退获取司机最后一次领取的钥匙信息*/
  48 + @ApiModelProperty(value = "操作类型;0签到获取司机工作计划的钥匙,1签退获取司机最后一次领取的钥匙信息", example = "1")
  49 + private Integer eventType;
  50 + /***钥匙ID*/
  51 + @ApiModelProperty(value = "钥匙ID", example = "1")
  52 + private Integer keyInfoId;
  53 +
  54 + /***排班时间*/
  55 + @ApiModelProperty(value="排班时间")
  56 + private java.util.Date scheduleDate;
  57 +
  58 + /***操作人员*/
  59 + @ApiModelProperty(value = "操作人员")
  60 + private String operator;
  61 +
  62 +
  63 + @Override
  64 + public String toString() {
  65 + return com.alibaba.fastjson2.JSON.toJSONString(this);
  66 + }
  67 +}
0 68 \ No newline at end of file
... ...
Bsth-admin/src/main/java/com/ruoyi/domain/key/location/dto/LinggangKeyWorkLocationQueryDTO.java 0 → 100644
  1 +package com.ruoyi.domain.key.location.dto;
  2 +
  3 +import io.swagger.annotations.ApiModel;
  4 +import io.swagger.annotations.ApiModelProperty;
  5 +import lombok.Data;
  6 +import lombok.EqualsAndHashCode;
  7 +import lombok.experimental.Accessors;
  8 +
  9 +@Data
  10 +@ApiModel(value = "钥匙存放地址的查询DTO")
  11 +@Accessors(chain = true)
  12 +@EqualsAndHashCode(callSuper = false)
  13 +/**钥匙存放地址 DTO*/
  14 +public class LinggangKeyWorkLocationQueryDTO implements java.io.Serializable {
  15 + private static final long serialVersionUID = 888686851L;
  16 +
  17 + /***ID*/
  18 + @ApiModelProperty(value = "ID", example = "1")
  19 + private Long id;
  20 + /***场站ID*/
  21 + @ApiModelProperty(value = "场站ID", example = "1")
  22 + private Integer yardId;
  23 + /***场站名称*/
  24 + @ApiModelProperty(value = "场站名称")
  25 + private String yardName;
  26 + /***设备号*/
  27 + @ApiModelProperty(value = "设备号")
  28 + private String device;
  29 + /***钥匙位编号*/
  30 + @ApiModelProperty(value = "钥匙位编号")
  31 + private String cabinetNo;
  32 + /***创建人员*/
  33 + @ApiModelProperty(value = "创建人员", example = "1")
  34 + private Long createBy;
  35 + /***创建时间*/
  36 + @ApiModelProperty(value = "创建时间")
  37 + private java.util.Date createTime;
  38 + /***修改人员*/
  39 + @ApiModelProperty(value = "修改人员", example = "1")
  40 + private Long updateBy;
  41 + /***修改时间*/
  42 + @ApiModelProperty(value = "修改时间")
  43 + private java.util.Date updateTime;
  44 + /***是否删除;0为未删除,1已删除*/
  45 + @ApiModelProperty(value = "是否删除;0为未删除,1已删除")
  46 + private Boolean delFlag;
  47 + /***操作类型;0签到获取司机工作计划的钥匙,1签退获取司机最后一次领取的钥匙信息*/
  48 + @ApiModelProperty(value = "操作类型;0签到获取司机工作计划的钥匙,1签退获取司机最后一次领取的钥匙信息", example = "1")
  49 + private Integer eventType;
  50 + /***钥匙ID*/
  51 + @ApiModelProperty(value = "钥匙ID", example = "1")
  52 + private Integer keyInfoId;
  53 +
  54 + /***排班时间*/
  55 + @ApiModelProperty(value="排班时间")
  56 + private java.util.Date scheduleDate;
  57 +
  58 +
  59 + @Override
  60 + public String toString() {
  61 + return com.alibaba.fastjson2.JSON.toJSONString(this);
  62 + }
  63 +}
0 64 \ No newline at end of file
... ...
Bsth-admin/src/main/java/com/ruoyi/domain/key/location/dto/LinggangKeyWorkLocationUpdateDTO.java 0 → 100644
  1 +package com.ruoyi.domain.key.location.dto;
  2 +
  3 +import io.swagger.annotations.ApiModel;
  4 +import io.swagger.annotations.ApiModelProperty;
  5 +import lombok.Data;
  6 +import lombok.EqualsAndHashCode;
  7 +import lombok.experimental.Accessors;
  8 +
  9 +@Data
  10 +@ApiModel(value = "钥匙存放地址的修改DTO")
  11 +@Accessors(chain = true)
  12 +@EqualsAndHashCode(callSuper = false)
  13 +/**钥匙存放地址 DTO*/
  14 +public class LinggangKeyWorkLocationUpdateDTO implements java.io.Serializable {
  15 + private static final long serialVersionUID = 381027569L;
  16 +
  17 + /***ID*/
  18 + @ApiModelProperty(value = "ID", example = "1")
  19 + private Long id;
  20 + /***场站ID*/
  21 + @ApiModelProperty(value = "场站ID", example = "1")
  22 + private Integer yardId;
  23 + /***场站名称*/
  24 + @ApiModelProperty(value = "场站名称")
  25 + private String yardName;
  26 + /***设备号*/
  27 + @ApiModelProperty(value = "设备号")
  28 + private String device;
  29 + /***钥匙位编号*/
  30 + @ApiModelProperty(value = "钥匙位编号")
  31 + private String cabinetNo;
  32 + /***创建人员*/
  33 + @ApiModelProperty(value = "创建人员", example = "1")
  34 + private Long createBy;
  35 + /***创建时间*/
  36 + @ApiModelProperty(value = "创建时间")
  37 + private java.util.Date createTime;
  38 + /***修改人员*/
  39 + @ApiModelProperty(value = "修改人员", example = "1")
  40 + private Long updateBy;
  41 + /***修改时间*/
  42 + @ApiModelProperty(value = "修改时间")
  43 + private java.util.Date updateTime;
  44 + /***是否删除;0为未删除,1已删除*/
  45 + @ApiModelProperty(value = "是否删除;0为未删除,1已删除")
  46 + private Boolean delFlag;
  47 + /***操作类型;0签到获取司机工作计划的钥匙,1签退获取司机最后一次领取的钥匙信息*/
  48 + @ApiModelProperty(value = "操作类型;0签到获取司机工作计划的钥匙,1签退获取司机最后一次领取的钥匙信息", example = "1")
  49 + private Integer eventType;
  50 + /***钥匙ID*/
  51 + @ApiModelProperty(value = "钥匙ID", example = "1")
  52 + private Integer keyInfoId;
  53 +
  54 + /***排班时间*/
  55 + @ApiModelProperty(value="排班时间")
  56 + private java.util.Date scheduleDate;
  57 + /***操作人员*/
  58 + @ApiModelProperty(value = "操作人员")
  59 + private String operator;
  60 +
  61 +
  62 + @Override
  63 + public String toString() {
  64 + return com.alibaba.fastjson2.JSON.toJSONString(this);
  65 + }
  66 +}
0 67 \ No newline at end of file
... ...
Bsth-admin/src/main/java/com/ruoyi/domain/key/location/dto/LinggangKeyWorkLocationUpdateStatusDTO.java 0 → 100644
  1 +package com.ruoyi.domain.key.location.dto;
  2 +
  3 +import io.swagger.annotations.ApiModel;
  4 +import io.swagger.annotations.ApiModelProperty;
  5 +import lombok.Data;
  6 +import lombok.EqualsAndHashCode;
  7 +import lombok.experimental.Accessors;
  8 +
  9 +@Data
  10 +@ApiModel(value = "钥匙存放地址的修改状态DTO")
  11 +@Accessors(chain = true)
  12 +@EqualsAndHashCode(callSuper = false)
  13 +/**钥匙存放地址 DTO*/
  14 +public class LinggangKeyWorkLocationUpdateStatusDTO implements java.io.Serializable {
  15 + private static final long serialVersionUID = 754548823L;
  16 +
  17 + /***ID*/
  18 + @ApiModelProperty(value = "ID", example = "1")
  19 + private Long id;
  20 + /***场站ID*/
  21 + @ApiModelProperty(value = "场站ID", example = "1")
  22 + private Integer yardId;
  23 + /***场站名称*/
  24 + @ApiModelProperty(value = "场站名称")
  25 + private String yardName;
  26 + /***设备号*/
  27 + @ApiModelProperty(value = "设备号")
  28 + private String device;
  29 + /***钥匙位编号*/
  30 + @ApiModelProperty(value = "钥匙位编号")
  31 + private String cabinetNo;
  32 + /***创建人员*/
  33 + @ApiModelProperty(value = "创建人员", example = "1")
  34 + private Long createBy;
  35 + /***创建时间*/
  36 + @ApiModelProperty(value = "创建时间")
  37 + private java.util.Date createTime;
  38 + /***修改人员*/
  39 + @ApiModelProperty(value = "修改人员", example = "1")
  40 + private Long updateBy;
  41 + /***修改时间*/
  42 + @ApiModelProperty(value = "修改时间")
  43 + private java.util.Date updateTime;
  44 + /***是否删除;0为未删除,1已删除*/
  45 + @ApiModelProperty(value = "是否删除;0为未删除,1已删除")
  46 + private Boolean delFlag;
  47 + /***操作类型;0签到获取司机工作计划的钥匙,1签退获取司机最后一次领取的钥匙信息*/
  48 + @ApiModelProperty(value = "操作类型;0签到获取司机工作计划的钥匙,1签退获取司机最后一次领取的钥匙信息", example = "1")
  49 + private Integer eventType;
  50 + /***钥匙ID*/
  51 + @ApiModelProperty(value = "钥匙ID", example = "1")
  52 + private Integer keyInfoId;
  53 +
  54 + /***排班时间*/
  55 + @ApiModelProperty(value="排班时间")
  56 + private java.util.Date scheduleDate;
  57 + /***操作人员*/
  58 + @ApiModelProperty(value = "操作人员")
  59 + private String operator;
  60 +
  61 +
  62 + @Override
  63 + public String toString() {
  64 + return com.alibaba.fastjson2.JSON.toJSONString(this);
  65 + }
  66 +}
0 67 \ No newline at end of file
... ...
Bsth-admin/src/main/java/com/ruoyi/domain/key/location/vo/LinggangKeyWorkLocationVO.java 0 → 100644
  1 +package com.ruoyi.domain.key.location.vo;
  2 +
  3 +import io.swagger.annotations.ApiModel;
  4 +import io.swagger.annotations.ApiModelProperty;
  5 +
  6 +import lombok.Data;
  7 +import lombok.EqualsAndHashCode;
  8 +import lombok.experimental.Accessors;
  9 +import lombok.NoArgsConstructor;
  10 +import lombok.AllArgsConstructor;
  11 +
  12 +@Data
  13 +@NoArgsConstructor
  14 +@AllArgsConstructor
  15 +@ApiModel(value = "钥匙存放地址的VO")
  16 +@Accessors(chain = true)
  17 +@EqualsAndHashCode(callSuper = false)
  18 +/**钥匙存放地址 VO*/
  19 +public class LinggangKeyWorkLocationVO implements java.io.Serializable {
  20 + private static final long serialVersionUID = 813918787L;
  21 +
  22 + /***ID*/
  23 + @ApiModelProperty(value = "ID", example = "1")
  24 + private Long id;
  25 + /***场站ID*/
  26 + @ApiModelProperty(value = "场站ID", example = "1")
  27 + private Integer yardId;
  28 + /***场站名称*/
  29 + @ApiModelProperty(value = "场站名称")
  30 + private String yardName;
  31 + /***设备号*/
  32 + @ApiModelProperty(value = "设备号")
  33 + private String device;
  34 + /***钥匙位编号*/
  35 + @ApiModelProperty(value = "钥匙位编号")
  36 + private String cabinetNo;
  37 + /***创建人员*/
  38 + @ApiModelProperty(value = "创建人员", example = "1")
  39 + private Long createBy;
  40 + /***创建时间*/
  41 + @ApiModelProperty(value = "创建时间")
  42 + private java.util.Date createTime;
  43 + /***修改人员*/
  44 + @ApiModelProperty(value = "修改人员", example = "1")
  45 + private Long updateBy;
  46 + /***修改时间*/
  47 + @ApiModelProperty(value = "修改时间")
  48 + private java.util.Date updateTime;
  49 + /***是否删除;0为未删除,1已删除*/
  50 + @ApiModelProperty(value = "是否删除;0为未删除,1已删除")
  51 + private Boolean delFlag;
  52 + /***操作类型;0签到获取司机工作计划的钥匙,1签退获取司机最后一次领取的钥匙信息*/
  53 + @ApiModelProperty(value = "操作类型;0签到获取司机工作计划的钥匙,1签退获取司机最后一次领取的钥匙信息", example = "1")
  54 + private Integer eventType;
  55 + /***钥匙ID*/
  56 + @ApiModelProperty(value = "钥匙ID", example = "1")
  57 + private Integer keyInfoId;
  58 +
  59 + /***排班时间*/
  60 + @ApiModelProperty(value = "排班时间")
  61 + private java.util.Date scheduleDate;
  62 +
  63 +
  64 + @Override
  65 + public String toString() {
  66 + return com.alibaba.fastjson2.JSON.toJSONString(this);
  67 + }
  68 +}
0 69 \ No newline at end of file
... ...
Bsth-admin/src/main/java/com/ruoyi/domain/scheduling/LinggangScheduling.java 0 → 100644
  1 +package com.ruoyi.domain.scheduling;
  2 +
  3 +import com.baomidou.mybatisplus.annotation.IdType;
  4 +import com.baomidou.mybatisplus.annotation.TableId;
  5 +import com.baomidou.mybatisplus.annotation.TableName;
  6 +import com.ruoyi.common.annotation.Excel;
  7 +import lombok.AllArgsConstructor;
  8 +import lombok.Data;
  9 +import lombok.EqualsAndHashCode;
  10 +import lombok.NoArgsConstructor;
  11 +import lombok.experimental.Accessors;
  12 +import lombok.extern.slf4j.Slf4j;
  13 +
  14 +import java.util.Date;
  15 +
  16 +
  17 +@Data
  18 +@Slf4j
  19 +@NoArgsConstructor
  20 +@AllArgsConstructor
  21 +@Accessors(chain = true)
  22 +@EqualsAndHashCode(callSuper = false)
  23 +@TableName("scheduling")
  24 +/** 实体*/
  25 +public class LinggangScheduling {
  26 + /***主键*/
  27 + @TableId(value = "id", type = IdType.AUTO)
  28 + @Excel(name = "主键")
  29 + private Integer id;
  30 +
  31 +
  32 + /***排班日期*/
  33 + @Excel(name = "排班日期")
  34 + private Date scheduleDate;
  35 +
  36 +
  37 + /***线路名称*/
  38 + @Excel(name = "线路名称")
  39 + private String lineName;
  40 +
  41 +
  42 + /***工号*/
  43 + @Excel(name = "工号")
  44 + private String jobCode;
  45 +
  46 +
  47 + /***姓名*/
  48 + @Excel(name = "姓名")
  49 + private String name;
  50 +
  51 +
  52 + /***工种*/
  53 + @Excel(name = "工种")
  54 + private String posts;
  55 +
  56 +
  57 + /***路牌*/
  58 + @Excel(name = "路牌")
  59 + private String lpName;
  60 +
  61 +
  62 + /***车辆自编号*/
  63 + @Excel(name = "车辆自编号")
  64 + private String nbbm;
  65 +
  66 +
  67 + /***班次类型;in 进站 ;out 出站*/
  68 + @Excel(name = "班次类型;in 进站 ;out 出站")
  69 + private String bcType;
  70 +
  71 +
  72 + /***发车时间*/
  73 + @Excel(name = "发车时间")
  74 + private Long fcsjT;
  75 +
  76 +
  77 + /***到站时间*/
  78 + @Excel(name = "到站时间")
  79 + private Long zdsjT;
  80 +
  81 +
  82 + /***签到表id*/
  83 + @Excel(name = "签到表id")
  84 + private Integer signInId;
  85 +
  86 +
  87 + /***记录状态*/
  88 + @Excel(name = "记录状态")
  89 + private Integer exType;
  90 +
  91 +
  92 + /***打卡时间*/
  93 + @Excel(name = "打卡时间")
  94 + private java.util.Date signTime;
  95 +
  96 +
  97 + /***打卡类型*/
  98 + @Excel(name = "打卡类型")
  99 + private Integer signType;
  100 +
  101 +
  102 + /***是否酒精测试*/
  103 + @Excel(name = "是否酒精测试")
  104 + private Integer alcoholFlag;
  105 +
  106 +
  107 + /***酒精测试含量*/
  108 + @Excel(name = "酒精测试含量")
  109 + private java.math.BigDecimal alcoholIntake;
  110 +
  111 +
  112 + /***原因*/
  113 + @Excel(name = "原因")
  114 + private String remark;
  115 +
  116 +
  117 + /***钥匙ID*/
  118 + @Excel(name = "钥匙ID")
  119 + private Integer keyInfoId;
  120 +
  121 +
  122 + @Override
  123 + public String toString() {
  124 + return com.alibaba.fastjson2.JSON.toJSONString(this);
  125 + }
  126 +}
0 127 \ No newline at end of file
... ...
Bsth-admin/src/main/java/com/ruoyi/domain/scheduling/dto/LinggangSchedulingAddDTO.java 0 → 100644
  1 +package com.ruoyi.domain.scheduling.dto;
  2 +
  3 +import io.swagger.annotations.ApiModel;
  4 +import io.swagger.annotations.ApiModelProperty;
  5 +import lombok.Data;
  6 +import lombok.EqualsAndHashCode;
  7 +import lombok.experimental.Accessors;
  8 +
  9 +import java.util.Date;
  10 +
  11 +@Data
  12 +@ApiModel(value = "排班的添加DTO")
  13 +@Accessors(chain = true)
  14 +@EqualsAndHashCode(callSuper = false)
  15 +/** DTO*/
  16 +public class LinggangSchedulingAddDTO implements java.io.Serializable {
  17 + private static final long serialVersionUID = 549270249L;
  18 +
  19 + /***主键*/
  20 + @ApiModelProperty(value = "主键", example = "1")
  21 + private Integer id;
  22 + /***排班日期*/
  23 + @ApiModelProperty(value = "排班日期")
  24 + private Date scheduleDate;
  25 + /***线路名称*/
  26 + @ApiModelProperty(value = "线路名称")
  27 + private String lineName;
  28 + /***工号*/
  29 + @ApiModelProperty(value = "工号")
  30 + private String jobCode;
  31 + /***姓名*/
  32 + @ApiModelProperty(value = "姓名")
  33 + private String name;
  34 + /***工种*/
  35 + @ApiModelProperty(value = "工种")
  36 + private String posts;
  37 + /***路牌*/
  38 + @ApiModelProperty(value = "路牌")
  39 + private String lpName;
  40 + /***车辆自编号*/
  41 + @ApiModelProperty(value = "车辆自编号")
  42 + private String nbbm;
  43 + /***班次类型;in 进站 ;out 出站*/
  44 + @ApiModelProperty(value = "班次类型;in 进站 ;out 出站")
  45 + private String bcType;
  46 + /***发车时间*/
  47 + @ApiModelProperty(value = "发车时间", example = "1")
  48 + private Long fcsjT;
  49 + /***到站时间*/
  50 + @ApiModelProperty(value = "到站时间", example = "1")
  51 + private Long zdsjT;
  52 + /***签到表id*/
  53 + @ApiModelProperty(value = "签到表id", example = "1")
  54 + private Integer signInId;
  55 + /***记录状态*/
  56 + @ApiModelProperty(value = "记录状态", example = "1")
  57 + private Integer exType;
  58 + /***打卡时间*/
  59 + @ApiModelProperty(value = "打卡时间")
  60 + private java.util.Date signTime;
  61 + /***打卡类型*/
  62 + @ApiModelProperty(value = "打卡类型", example = "1")
  63 + private Integer signType;
  64 + /***是否酒精测试*/
  65 + @ApiModelProperty(value = "是否酒精测试", example = "1")
  66 + private Integer alcoholFlag;
  67 + /***酒精测试含量*/
  68 + @ApiModelProperty(value = "酒精测试含量")
  69 + private java.math.BigDecimal alcoholIntake;
  70 + /***原因*/
  71 + @ApiModelProperty(value = "原因")
  72 + private String remark;
  73 + /***钥匙ID*/
  74 + @ApiModelProperty(value = "钥匙ID", example = "1")
  75 + private Integer keyInfoId;
  76 + /***操作人员*/
  77 + @ApiModelProperty(value = "操作人员")
  78 + private String operator;
  79 +
  80 +
  81 + @Override
  82 + public String toString() {
  83 + return com.alibaba.fastjson2.JSON.toJSONString(this);
  84 + }
  85 +}
0 86 \ No newline at end of file
... ...
Bsth-admin/src/main/java/com/ruoyi/domain/scheduling/dto/LinggangSchedulingQueryDTO.java 0 → 100644
  1 +package com.ruoyi.domain.scheduling.dto;
  2 +
  3 +import io.swagger.annotations.ApiModel;
  4 +import io.swagger.annotations.ApiModelProperty;
  5 +import lombok.Data;
  6 +import lombok.EqualsAndHashCode;
  7 +import lombok.experimental.Accessors;
  8 +
  9 +import java.util.Date;
  10 +
  11 +@Data
  12 +@ApiModel(value = "排班的查询DTO")
  13 +@Accessors(chain = true)
  14 +@EqualsAndHashCode(callSuper = false)
  15 +/** DTO*/
  16 +public class LinggangSchedulingQueryDTO implements java.io.Serializable {
  17 + private static final long serialVersionUID = 884663532L;
  18 +
  19 + /***主键*/
  20 + @ApiModelProperty(value = "主键", example = "1")
  21 + private Integer id;
  22 + /***排班日期*/
  23 + @ApiModelProperty(value = "排班日期")
  24 + private Date scheduleDate;
  25 + /***线路名称*/
  26 + @ApiModelProperty(value = "线路名称")
  27 + private String lineName;
  28 + /***工号*/
  29 + @ApiModelProperty(value = "工号")
  30 + private String jobCode;
  31 + /***姓名*/
  32 + @ApiModelProperty(value = "姓名")
  33 + private String name;
  34 + /***工种*/
  35 + @ApiModelProperty(value = "工种")
  36 + private String posts;
  37 + /***路牌*/
  38 + @ApiModelProperty(value = "路牌")
  39 + private String lpName;
  40 + /***车辆自编号*/
  41 + @ApiModelProperty(value = "车辆自编号")
  42 + private String nbbm;
  43 + /***班次类型;in 进站 ;out 出站*/
  44 + @ApiModelProperty(value = "班次类型;in 进站 ;out 出站")
  45 + private String bcType;
  46 + /***发车时间*/
  47 + @ApiModelProperty(value = "发车时间", example = "1")
  48 + private Long fcsjT;
  49 + /***到站时间*/
  50 + @ApiModelProperty(value = "到站时间", example = "1")
  51 + private Long zdsjT;
  52 + /***签到表id*/
  53 + @ApiModelProperty(value = "签到表id", example = "1")
  54 + private Integer signInId;
  55 + /***记录状态*/
  56 + @ApiModelProperty(value = "记录状态", example = "1")
  57 + private Integer exType;
  58 + /***打卡时间*/
  59 + @ApiModelProperty(value = "打卡时间")
  60 + private java.util.Date signTime;
  61 + /***打卡类型*/
  62 + @ApiModelProperty(value = "打卡类型", example = "1")
  63 + private Integer signType;
  64 + /***是否酒精测试*/
  65 + @ApiModelProperty(value = "是否酒精测试", example = "1")
  66 + private Integer alcoholFlag;
  67 + /***酒精测试含量*/
  68 + @ApiModelProperty(value = "酒精测试含量")
  69 + private java.math.BigDecimal alcoholIntake;
  70 + /***原因*/
  71 + @ApiModelProperty(value = "原因")
  72 + private String remark;
  73 + /***钥匙ID*/
  74 + @ApiModelProperty(value = "钥匙ID", example = "1")
  75 + private Integer keyInfoId;
  76 +
  77 +
  78 + @Override
  79 + public String toString() {
  80 + return com.alibaba.fastjson2.JSON.toJSONString(this);
  81 + }
  82 +}
0 83 \ No newline at end of file
... ...
Bsth-admin/src/main/java/com/ruoyi/domain/scheduling/dto/LinggangSchedulingUpdateDTO.java 0 → 100644
  1 +package com.ruoyi.domain.scheduling.dto;
  2 +
  3 +import io.swagger.annotations.ApiModel;
  4 +import io.swagger.annotations.ApiModelProperty;
  5 +import lombok.Data;
  6 +import lombok.EqualsAndHashCode;
  7 +import lombok.experimental.Accessors;
  8 +
  9 +import java.util.Date;
  10 +
  11 +@Data
  12 +@ApiModel(value = "排班的修改DTO")
  13 +@Accessors(chain = true)
  14 +@EqualsAndHashCode(callSuper = false)
  15 +/** DTO*/
  16 +public class LinggangSchedulingUpdateDTO implements java.io.Serializable {
  17 + private static final long serialVersionUID = 727765699L;
  18 +
  19 + /***主键*/
  20 + @ApiModelProperty(value = "主键", example = "1")
  21 + private Integer id;
  22 + /***排班日期*/
  23 + @ApiModelProperty(value = "排班日期")
  24 + private Date scheduleDate;
  25 + /***线路名称*/
  26 + @ApiModelProperty(value = "线路名称")
  27 + private String lineName;
  28 + /***工号*/
  29 + @ApiModelProperty(value = "工号")
  30 + private String jobCode;
  31 + /***姓名*/
  32 + @ApiModelProperty(value = "姓名")
  33 + private String name;
  34 + /***工种*/
  35 + @ApiModelProperty(value = "工种")
  36 + private String posts;
  37 + /***路牌*/
  38 + @ApiModelProperty(value = "路牌")
  39 + private String lpName;
  40 + /***车辆自编号*/
  41 + @ApiModelProperty(value = "车辆自编号")
  42 + private String nbbm;
  43 + /***班次类型;in 进站 ;out 出站*/
  44 + @ApiModelProperty(value = "班次类型;in 进站 ;out 出站")
  45 + private String bcType;
  46 + /***发车时间*/
  47 + @ApiModelProperty(value = "发车时间", example = "1")
  48 + private Long fcsjT;
  49 + /***到站时间*/
  50 + @ApiModelProperty(value = "到站时间", example = "1")
  51 + private Long zdsjT;
  52 + /***签到表id*/
  53 + @ApiModelProperty(value = "签到表id", example = "1")
  54 + private Integer signInId;
  55 + /***记录状态*/
  56 + @ApiModelProperty(value = "记录状态", example = "1")
  57 + private Integer exType;
  58 + /***打卡时间*/
  59 + @ApiModelProperty(value = "打卡时间")
  60 + private java.util.Date signTime;
  61 + /***打卡类型*/
  62 + @ApiModelProperty(value = "打卡类型", example = "1")
  63 + private Integer signType;
  64 + /***是否酒精测试*/
  65 + @ApiModelProperty(value = "是否酒精测试", example = "1")
  66 + private Integer alcoholFlag;
  67 + /***酒精测试含量*/
  68 + @ApiModelProperty(value = "酒精测试含量")
  69 + private java.math.BigDecimal alcoholIntake;
  70 + /***原因*/
  71 + @ApiModelProperty(value = "原因")
  72 + private String remark;
  73 + /***钥匙ID*/
  74 + @ApiModelProperty(value = "钥匙ID", example = "1")
  75 + private Integer keyInfoId;
  76 + /***操作人员*/
  77 + @ApiModelProperty(value = "操作人员")
  78 + private String operator;
  79 +
  80 +
  81 + @Override
  82 + public String toString() {
  83 + return com.alibaba.fastjson2.JSON.toJSONString(this);
  84 + }
  85 +}
0 86 \ No newline at end of file
... ...
Bsth-admin/src/main/java/com/ruoyi/domain/scheduling/vo/LinggangSchedulingVO.java 0 → 100644
  1 +package com.ruoyi.domain.scheduling.vo;
  2 +
  3 +import io.swagger.annotations.ApiModel;
  4 +import io.swagger.annotations.ApiModelProperty;
  5 +
  6 +import lombok.Data;
  7 +import lombok.EqualsAndHashCode;
  8 +import lombok.experimental.Accessors;
  9 +import lombok.NoArgsConstructor;
  10 +import lombok.AllArgsConstructor;
  11 +
  12 +import java.util.Date;
  13 +
  14 +@Data
  15 +@NoArgsConstructor
  16 +@AllArgsConstructor
  17 +@ApiModel(value = "排班的VO")
  18 +@Accessors(chain = true)
  19 +@EqualsAndHashCode(callSuper = false)
  20 +/** VO*/
  21 +public class LinggangSchedulingVO implements java.io.Serializable {
  22 + private static final long serialVersionUID = 427513728L;
  23 +
  24 + /***主键*/
  25 + @ApiModelProperty(value = "主键", example = "1")
  26 + private Integer id;
  27 + /***排班日期*/
  28 + @ApiModelProperty(value = "排班日期")
  29 + private Date scheduleDate;
  30 + /***线路名称*/
  31 + @ApiModelProperty(value = "线路名称")
  32 + private String lineName;
  33 + /***工号*/
  34 + @ApiModelProperty(value = "工号")
  35 + private String jobCode;
  36 + /***姓名*/
  37 + @ApiModelProperty(value = "姓名")
  38 + private String name;
  39 + /***工种*/
  40 + @ApiModelProperty(value = "工种")
  41 + private String posts;
  42 + /***路牌*/
  43 + @ApiModelProperty(value = "路牌")
  44 + private String lpName;
  45 + /***车辆自编号*/
  46 + @ApiModelProperty(value = "车辆自编号")
  47 + private String nbbm;
  48 + /***班次类型;in 进站 ;out 出站*/
  49 + @ApiModelProperty(value = "班次类型;in 进站 ;out 出站")
  50 + private String bcType;
  51 + /***发车时间*/
  52 + @ApiModelProperty(value = "发车时间", example = "1")
  53 + private Long fcsjT;
  54 + /***到站时间*/
  55 + @ApiModelProperty(value = "到站时间", example = "1")
  56 + private Long zdsjT;
  57 + /***签到表id*/
  58 + @ApiModelProperty(value = "签到表id", example = "1")
  59 + private Integer signInId;
  60 + /***记录状态*/
  61 + @ApiModelProperty(value = "记录状态", example = "1")
  62 + private Integer exType;
  63 + /***打卡时间*/
  64 + @ApiModelProperty(value = "打卡时间")
  65 + private java.util.Date signTime;
  66 + /***打卡类型*/
  67 + @ApiModelProperty(value = "打卡类型", example = "1")
  68 + private Integer signType;
  69 + /***是否酒精测试*/
  70 + @ApiModelProperty(value = "是否酒精测试", example = "1")
  71 + private Integer alcoholFlag;
  72 + /***酒精测试含量*/
  73 + @ApiModelProperty(value = "酒精测试含量")
  74 + private java.math.BigDecimal alcoholIntake;
  75 + /***原因*/
  76 + @ApiModelProperty(value = "原因")
  77 + private String remark;
  78 + /***钥匙ID*/
  79 + @ApiModelProperty(value = "钥匙ID", example = "1")
  80 + private Integer keyInfoId;
  81 +
  82 +
  83 + @Override
  84 + public String toString() {
  85 + return com.alibaba.fastjson2.JSON.toJSONString(this);
  86 + }
  87 +}
0 88 \ No newline at end of file
... ...
Bsth-admin/src/main/java/com/ruoyi/equipment/mapper/EquipmentMapper.java
... ... @@ -3,7 +3,6 @@ package com.ruoyi.equipment.mapper;
3 3 import java.util.List;
4 4  
5 5 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
6   -import com.ruoyi.domain.keyInfo.KeyInfo;
7 6 import com.ruoyi.driver.domain.Driver;
8 7 import com.ruoyi.equipment.domain.Equipment;
9 8 import com.ruoyi.equipment.domain.EquipmentLog;
... ...
Bsth-admin/src/main/java/com/ruoyi/in/mapper/SignInMapper.java
1 1 package com.ruoyi.in.mapper;
2 2  
3   -import java.util.List;
4   -import com.ruoyi.in.domain.SignIn;
  3 +import com.baomidou.mybatisplus.core.mapper.BaseMapper;
5 4 import com.ruoyi.domain.DriverScheduling;
6   -import com.ruoyi.pojo.request.ReportViewRequestVo;
  5 +import com.ruoyi.in.domain.SignIn;
7 6 import com.ruoyi.pojo.request.ReportErrorRequestVo;
  7 +import com.ruoyi.pojo.request.ReportViewRequestVo;
8 8 import com.ruoyi.pojo.response.ReportViewResponseVo;
9 9 import com.ruoyi.pojo.response.SignInResponseVo;
10 10  
  11 +import java.util.List;
  12 +
11 13 /**
12 14 * 签到Mapper接口
13 15 *
14 16 * @author guzijian
15 17 * @date 2023-07-05
16 18 */
17   -public interface SignInMapper
  19 +public interface SignInMapper extends BaseMapper<SignIn>
18 20 {
19 21 /**
20 22 * 查询签到
... ...
Bsth-admin/src/main/java/com/ruoyi/in/service/ISignInService.java
1 1 package com.ruoyi.in.service;
2 2  
3   -import java.io.IOException;
4   -import java.util.List;
5   -
  3 +import com.baomidou.mybatisplus.extension.service.IService;
6 4 import com.ruoyi.common.core.domain.AjaxResult;
7 5 import com.ruoyi.common.exception.file.FileUploadException;
8 6 import com.ruoyi.domain.driver.NewDriver;
... ... @@ -10,6 +8,8 @@ import com.ruoyi.in.domain.SignIn;
10 8 import com.ruoyi.pojo.response.SignInResponseVo;
11 9  
12 10 import javax.servlet.http.HttpServletRequest;
  11 +import java.io.IOException;
  12 +import java.util.List;
13 13  
14 14 /**
15 15 * 签到Service接口
... ... @@ -17,7 +17,7 @@ import javax.servlet.http.HttpServletRequest;
17 17 * @author guzijian
18 18 * @date 2023-07-05
19 19 */
20   -public interface ISignInService {
  20 +public interface ISignInService extends IService<SignIn> {
21 21 /**
22 22 * 查询签到
23 23 *
... ... @@ -34,6 +34,8 @@ public interface ISignInService {
34 34 */
35 35 public List<SignInResponseVo> selectSignInList(SignInResponseVo signIn);
36 36  
  37 + SignIn getLastOne(SignIn signIn);
  38 +
37 39 /**
38 40 * 修改签到
39 41 *
... ...
Bsth-admin/src/main/java/com/ruoyi/in/service/impl/SignInServiceImpl.java
1 1 package com.ruoyi.in.service.impl;
2 2  
3   -import java.io.File;
4   -import java.io.IOException;
5   -import java.math.BigDecimal;
6   -import java.time.LocalDate;
7   -import java.time.LocalDateTime;
8   -import java.time.format.DateTimeFormatter;
9   -import java.time.temporal.ChronoUnit;
10   -import java.util.*;
11   -import java.util.concurrent.TimeUnit;
12   -import java.util.stream.Collectors;
13   -
14 3 import cn.hutool.core.collection.CollectionUtil;
  4 +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
  5 +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
  6 +import com.github.pagehelper.PageHelper;
15 7 import com.ruoyi.common.cache.NowSchedulingCache;
16 8 import com.ruoyi.common.cache.SchedulingCache;
17 9 import com.ruoyi.common.cache.TempCache;
... ... @@ -25,6 +17,7 @@ import com.ruoyi.common.utils.StringUtils;
25 17 import com.ruoyi.common.utils.ip.IpUtils;
26 18 import com.ruoyi.common.utils.uuid.Seq;
27 19 import com.ruoyi.common.utils.uuid.UUID;
  20 +import com.ruoyi.domain.DriverScheduling;
28 21 import com.ruoyi.domain.driver.NewDriver;
29 22 import com.ruoyi.driver.domain.Driver;
30 23 import com.ruoyi.driver.mapper.DriverMapper;
... ... @@ -32,29 +25,39 @@ import com.ruoyi.driver.mapper.DriverSchedulingMapper;
32 25 import com.ruoyi.equipment.domain.Equipment;
33 26 import com.ruoyi.equipment.mapper.EquipmentMapper;
34 27 import com.ruoyi.errorScheduling.service.IErrorJobcodeService;
  28 +import com.ruoyi.in.domain.SignIn;
  29 +import com.ruoyi.in.mapper.SignInMapper;
  30 +import com.ruoyi.in.service.ISignInService;
35 31 import com.ruoyi.pojo.DriverSignInRecommendation;
36 32 import com.ruoyi.pojo.GlobalIndex;
37   -import com.ruoyi.domain.DriverScheduling;
38 33 import com.ruoyi.pojo.response.SignInResponseVo;
39 34 import com.ruoyi.service.SchedulingService;
40 35 import com.ruoyi.service.ThreadJobService;
41 36 import com.ruoyi.utils.ConstDateUtil;
  37 +import org.apache.commons.collections4.CollectionUtils;
42 38 import org.apache.commons.io.FilenameUtils;
43 39 import org.slf4j.Logger;
44 40 import org.slf4j.LoggerFactory;
45 41 import org.springframework.beans.factory.annotation.Autowired;
46 42 import org.springframework.stereotype.Service;
47   -import com.ruoyi.in.mapper.SignInMapper;
48   -import com.ruoyi.in.domain.SignIn;
49   -import com.ruoyi.in.service.ISignInService;
50 43 import org.springframework.transaction.annotation.Transactional;
51 44  
52 45 import javax.annotation.Resource;
53 46 import javax.servlet.http.HttpServletRequest;
  47 +import java.io.File;
  48 +import java.io.IOException;
  49 +import java.math.BigDecimal;
  50 +import java.time.LocalDate;
  51 +import java.time.LocalDateTime;
  52 +import java.time.format.DateTimeFormatter;
  53 +import java.time.temporal.ChronoUnit;
  54 +import java.util.*;
  55 +import java.util.concurrent.TimeUnit;
  56 +import java.util.stream.Collectors;
54 57  
55 58 import static com.ruoyi.common.ConstDriverProperties.*;
56   -import static com.ruoyi.common.ErrorTypeProperties.*;
57 59 import static com.ruoyi.common.ConstSignInConstSignInProperties.*;
  60 +import static com.ruoyi.common.ErrorTypeProperties.*;
58 61 import static com.ruoyi.common.redispre.GlobalRedisPreName.REDIS_SIGN_IN_DRIVER_ALCOHOL_OVERFLOW;
59 62  
60 63 /**
... ... @@ -64,7 +67,7 @@ import static com.ruoyi.common.redispre.GlobalRedisPreName.REDIS_SIGN_IN_DRIVER_
64 67 * @date 2023-07-05
65 68 */
66 69 @Service
67   -public class SignInServiceImpl implements ISignInService {
  70 +public class SignInServiceImpl extends ServiceImpl<SignInMapper, SignIn> implements ISignInService {
68 71  
69 72 private Logger log = LoggerFactory.getLogger(SignInServiceImpl.class);
70 73  
... ... @@ -120,6 +123,16 @@ public class SignInServiceImpl implements ISignInService {
120 123 return vos;
121 124 }
122 125  
  126 + @Override
  127 + public SignIn getLastOne(SignIn signIn) {
  128 + LambdaQueryWrapper<SignIn> wrapper = new LambdaQueryWrapper<>(signIn);
  129 + wrapper.orderByDesc(SignIn::getCreateTime);
  130 +
  131 + PageHelper.startPage(1, 1, false);
  132 + List<SignIn> signIns = list(wrapper);
  133 + return CollectionUtils.isEmpty(signIns) ? null : signIns.get(0);
  134 + }
  135 +
123 136  
124 137 /**
125 138 * 修改签到
... ...
Bsth-admin/src/main/java/com/ruoyi/mapper/keyinfo/KeyInfoMapper.java renamed to Bsth-admin/src/main/java/com/ruoyi/mapper/key/info/KeyInfoMapper.java
1   -package com.ruoyi.mapper.keyinfo;
  1 +package com.ruoyi.mapper.key.info;
2 2  
3   -import com.ruoyi.domain.keyInfo.KeyInfo;
  3 +import com.ruoyi.domain.key.info.KeyInfo;
4 4 import org.apache.ibatis.annotations.Mapper;
5 5 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
6 6  
... ...
Bsth-admin/src/main/java/com/ruoyi/mapper/key/location/LinggangKeyWorkLocationMapper.java 0 → 100644
  1 +package com.ruoyi.mapper.key.location;
  2 +
  3 +import com.baomidou.mybatisplus.core.mapper.BaseMapper;
  4 +import com.ruoyi.domain.key.location.LinggangKeyWorkLocation;
  5 +import org.apache.ibatis.annotations.Mapper;
  6 +
  7 +
  8 +@Mapper
  9 +/**钥匙存放地址 Mapper接口*/
  10 +public interface LinggangKeyWorkLocationMapper extends BaseMapper<LinggangKeyWorkLocation> {
  11 + /**
  12 + * 插入有值的列
  13 + */
  14 + int insertSelective(LinggangKeyWorkLocation name);
  15 +}
0 16 \ No newline at end of file
... ...
Bsth-admin/src/main/java/com/ruoyi/mapper/scheduling/LinggangSchedulingMapper.java 0 → 100644
  1 +package com.ruoyi.mapper.scheduling;
  2 +
  3 +import com.baomidou.mybatisplus.core.mapper.BaseMapper;
  4 +import com.ruoyi.domain.scheduling.LinggangScheduling;
  5 +import org.apache.ibatis.annotations.Mapper;
  6 +
  7 +
  8 +@Mapper
  9 +/** Mapper接口*/
  10 +public interface LinggangSchedulingMapper extends BaseMapper<LinggangScheduling> {
  11 + /**
  12 + * 插入有值的列
  13 + */
  14 + int insertSelective(LinggangScheduling name);
  15 +}
0 16 \ No newline at end of file
... ...
Bsth-admin/src/main/java/com/ruoyi/service/carinfo/CarInfoService.java
... ... @@ -20,6 +20,8 @@ public interface CarInfoService extends IService&lt;CarInfo&gt; {
20 20 */
21 21 List<CarInfo> list(CarInfo entity);
22 22  
  23 + List<CarInfo> likePlateNumPlateNumTop30(CarInfo entity);
  24 +
23 25 /***
24 26 *用于页面选择
25 27 */
... ...
Bsth-admin/src/main/java/com/ruoyi/service/dss/KeyBoxVoService.java
... ... @@ -2,7 +2,8 @@ package com.ruoyi.service.dss;
2 2  
3 3 import com.ruoyi.common.core.domain.ResponseResult;
4 4 import com.ruoyi.domain.equipment.linke.log.LingangEquipmentLinkeLog;
5   -import com.ruoyi.domain.keyInfo.box.dto.KeyBoxQueryDTO;
  5 +import com.ruoyi.domain.key.info.box.dto.KeyBoxQueryDTO;
  6 +import com.ruoyi.domain.key.info.box.vo.KeyBoxVo;
6 7  
7 8  
8 9 /**
... ... @@ -11,5 +12,5 @@ import com.ruoyi.domain.keyInfo.box.dto.KeyBoxQueryDTO;
11 12 */
12 13 public interface KeyBoxVoService {
13 14 /**钥匙信息查询*/
14   - ResponseResult listSelect(KeyBoxQueryDTO request, LingangEquipmentLinkeLog linkeLog);
  15 + ResponseResult<KeyBoxVo> listSelect(KeyBoxQueryDTO request, LingangEquipmentLinkeLog linkeLog);
15 16 }
... ...
Bsth-admin/src/main/java/com/ruoyi/service/impl/carinfo/CarInfoServiceImpl.java
... ... @@ -55,6 +55,20 @@ public class CarInfoServiceImpl extends ServiceImpl&lt;CarInfoMapper, CarInfo&gt; impl
55 55 }
56 56  
57 57 @Override
  58 + public List<CarInfo> likePlateNumPlateNumTop30(CarInfo entity) {
  59 + String plateNum = entity.getPlateNum();
  60 + entity.setPlateNum(null);
  61 +
  62 + LambdaQueryWrapper<CarInfo> wrapper = new LambdaQueryWrapper<>(entity);
  63 + wrapper.select(CarInfo::getPlateNum);
  64 + wrapper.like(CarInfo::getPlateNum, plateNum);
  65 + wrapper.groupBy(CarInfo::getPlateNum);
  66 +
  67 + PageHelper.startPage(1, 30, false);
  68 + return list(wrapper);
  69 + }
  70 +
  71 + @Override
58 72 public List<CarInfo> listOfSelect(CarInfo entity) {
59 73 LambdaQueryWrapper<CarInfo> wrapper = new LambdaQueryWrapper<>(entity);
60 74 wrapper.select(CarInfo::getId, CarInfo::getPlateNum);
... ... @@ -173,7 +187,7 @@ public class CarInfoServiceImpl extends ServiceImpl&lt;CarInfoMapper, CarInfo&gt; impl
173 187 if (org.apache.commons.lang3.StringUtils.equals(orderEntity.getProp(), "updateTime")) {
174 188 wrapper.orderByDesc(CarInfo::getUpdateTime);
175 189 }
176   - }else{
  190 + } else {
177 191 wrapper.orderByDesc(CarInfo::getCreateTime);
178 192 }
179 193 }
... ...
Bsth-admin/src/main/java/com/ruoyi/service/impl/dss/KeyBoxVoServiceImpl.java
... ... @@ -6,9 +6,9 @@ import com.ruoyi.common.core.domain.ResponseResult;
6 6 import com.ruoyi.common.utils.StringUtils;
7 7 import com.ruoyi.domain.caiinfo.CarInfo;
8 8 import com.ruoyi.domain.equipment.linke.log.LingangEquipmentLinkeLog;
9   -import com.ruoyi.domain.keyInfo.KeyInfo;
10   -import com.ruoyi.domain.keyInfo.box.dto.KeyBoxQueryDTO;
11   -import com.ruoyi.domain.keyInfo.box.vo.KeyBoxVo;
  9 +import com.ruoyi.domain.key.info.KeyInfo;
  10 +import com.ruoyi.domain.key.info.box.dto.KeyBoxQueryDTO;
  11 +import com.ruoyi.domain.key.info.box.vo.KeyBoxVo;
12 12 import com.ruoyi.domain.lin.gang.LingangScheduling;
13 13 import com.ruoyi.equipment.domain.Equipment;
14 14 import com.ruoyi.equipment.service.IEquipmentService;
... ... @@ -17,7 +17,7 @@ import com.ruoyi.in.service.ISignInService;
17 17 import com.ruoyi.service.carinfo.CarInfoService;
18 18 import com.ruoyi.service.dss.KeyBoxVoService;
19 19 import com.ruoyi.service.equipment.linke.log.LingangEquipmentLinkeLogService;
20   -import com.ruoyi.service.keyinfo.KeyInfoService;
  20 +import com.ruoyi.service.key.info.KeyInfoService;
21 21 import com.ruoyi.service.lin.gang.LingangSchedulingService;
22 22 import com.ruoyi.utils.DateUtil;
23 23 import org.springframework.beans.factory.annotation.Autowired;
... ... @@ -46,7 +46,7 @@ public class KeyBoxVoServiceImpl implements KeyBoxVoService {
46 46 private LingangEquipmentLinkeLogService lingangEquipmentLinkeLogService;
47 47  
48 48 @Override
49   - public ResponseResult listSelect(KeyBoxQueryDTO request, LingangEquipmentLinkeLog linkeLog) {
  49 + public ResponseResult<KeyBoxVo> listSelect(KeyBoxQueryDTO request, LingangEquipmentLinkeLog linkeLog) {
50 50 LingangScheduling lingangScheduling = queryScheduling(request);
51 51 if (Objects.isNull(lingangScheduling)) {
52 52 String msg = MessageFormat.format("工号[{0}]在[{1}]没有排班信息", request.getStaffCode(), request.getTime());
... ...
Bsth-admin/src/main/java/com/ruoyi/service/impl/keyinfo/KeyInfoServiceImpl.java renamed to Bsth-admin/src/main/java/com/ruoyi/service/impl/key/info/KeyInfoServiceImpl.java
1   -package com.ruoyi.service.impl.keyinfo;
  1 +package com.ruoyi.service.impl.key.info;
2 2  
3 3 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
4 4 import com.baomidou.mybatisplus.core.metadata.IPage;
... ... @@ -6,8 +6,8 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
6 6 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
7 7 import com.github.pagehelper.PageHelper;
8 8 import com.ruoyi.domain.OrderEntity;
9   -import com.ruoyi.domain.keyInfo.KeyInfo;
10   -import com.ruoyi.service.keyinfo.KeyInfoService;
  9 +import com.ruoyi.domain.key.info.KeyInfo;
  10 +import com.ruoyi.service.key.info.KeyInfoService;
11 11 import org.apache.commons.lang3.StringUtils;
12 12 import org.springframework.beans.factory.annotation.Autowired;
13 13 import org.springframework.stereotype.Service;
... ... @@ -17,9 +17,9 @@ import java.util.List;
17 17  
18 18  
19 19 @Service
20   -public class KeyInfoServiceImpl extends ServiceImpl<com.ruoyi.mapper.keyinfo.KeyInfoMapper, KeyInfo> implements KeyInfoService {
  20 +public class KeyInfoServiceImpl extends ServiceImpl<com.ruoyi.mapper.key.info.KeyInfoMapper, KeyInfo> implements KeyInfoService {
21 21 @Autowired
22   - private com.ruoyi.mapper.keyinfo.KeyInfoMapper KeyInfoMapper;
  22 + private com.ruoyi.mapper.key.info.KeyInfoMapper KeyInfoMapper;
23 23  
24 24  
25 25 /**
... ...
Bsth-admin/src/main/java/com/ruoyi/service/impl/key/location/LinggangKeyWorkLocationServiceImpl.java 0 → 100644
  1 +package com.ruoyi.service.impl.key.location;
  2 +
  3 +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
  4 +import com.baomidou.mybatisplus.core.metadata.IPage;
  5 +import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
  6 +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
  7 +import com.github.pagehelper.PageHelper;
  8 +import com.ruoyi.domain.OrderEntity;
  9 +import com.ruoyi.domain.key.location.LinggangKeyWorkLocation;
  10 +import com.ruoyi.mapper.key.location.LinggangKeyWorkLocationMapper;
  11 +import com.ruoyi.service.key.location.LinggangKeyWorkLocationService;
  12 +import org.springframework.beans.factory.annotation.Autowired;
  13 +import org.springframework.stereotype.Service;
  14 +
  15 +import java.util.Collections;
  16 +import java.util.List;
  17 +
  18 +@Service
  19 +/**钥匙存放地址 Service实现类*/
  20 +public class LinggangKeyWorkLocationServiceImpl extends ServiceImpl<LinggangKeyWorkLocationMapper, LinggangKeyWorkLocation> implements LinggangKeyWorkLocationService {
  21 + @Autowired
  22 + private LinggangKeyWorkLocationMapper linggangKeyWorkLocationMapper;
  23 +
  24 + /**
  25 + * 分页查询
  26 + */
  27 + @Override
  28 + public IPage<LinggangKeyWorkLocation> pageList(Page<LinggangKeyWorkLocation> page, LinggangKeyWorkLocation entity, OrderEntity orderEntity) {
  29 + LambdaQueryWrapper<LinggangKeyWorkLocation> countWrapper = new LambdaQueryWrapper<>(entity);
  30 + countWrapper.select(LinggangKeyWorkLocation::getId);
  31 + int count = count(countWrapper);
  32 +
  33 + List<LinggangKeyWorkLocation> lists = Collections.emptyList();
  34 + if (count > 0) {
  35 + PageHelper.startPage((int) page.getCurrent(), (int) page.getSize(), false);
  36 + LambdaQueryWrapper<LinggangKeyWorkLocation> selectWrapper = new LambdaQueryWrapper<>(entity);
  37 + orderColumn(selectWrapper, orderEntity);
  38 + lists = list(selectWrapper);
  39 + }
  40 +
  41 + IPage<LinggangKeyWorkLocation> returnPage = new Page<LinggangKeyWorkLocation>();
  42 + returnPage.setRecords(lists);
  43 + returnPage.setPages(count % page.getSize() == 0 ? count / page.getSize() : count / page.getSize() + 1);
  44 + returnPage.setCurrent(page.getCurrent());
  45 + returnPage.setSize(page.getSize());
  46 + returnPage.setTotal(count);
  47 +
  48 + return returnPage;
  49 + }
  50 +
  51 + @Override
  52 + public List<LinggangKeyWorkLocation> list(LinggangKeyWorkLocation entity) {
  53 + return list(new LambdaQueryWrapper<>(entity));
  54 + }
  55 + // @Override
  56 + // public List<LinggangKeyWorkLocation> listOfSelect(LinggangKeyWorkLocation entity) {
  57 + // LambdaQueryWrapper<LinggangKeyWorkLocation> wrapper = new LambdaQueryWrapper<>(entity);
  58 + // wrapper.select(LinggangKeyWorkLocation::, LinggangKeyWorkLocation::);
  59 + // return list(wrapper);
  60 + // }
  61 +
  62 + // @Override
  63 + // public List<LinggangKeyWorkLocation> listOfIds(java.util.Collection<java.lang.Long> ids) {
  64 + // if (org.springframework.util.CollectionUtils.isEmpty(ids)) {
  65 + // return java.util.Collections.emptyList();
  66 + // }
  67 + // LambdaQueryWrapper<LinggangKeyWorkLocation> wrapper = new LambdaQueryWrapper<>();
  68 + // wrapper.select(LinggangKeyWorkLocation::getId,LinggangKeyWorkLocation::);
  69 + // wrapper.in(LinggangKeyWorkLocation::getId, ids);
  70 + // return list(wrapper);
  71 + // }
  72 +
  73 + @Override
  74 + public LinggangKeyWorkLocation getOne(LinggangKeyWorkLocation entity) {
  75 + return getOne(new LambdaQueryWrapper<>(entity));
  76 + }
  77 +
  78 + @Override
  79 + public Integer countId(LinggangKeyWorkLocation entity) {
  80 + LambdaQueryWrapper<LinggangKeyWorkLocation> wrapper = new LambdaQueryWrapper<>(entity);
  81 + wrapper.select(LinggangKeyWorkLocation::getId);
  82 + return count(wrapper);
  83 + }
  84 +
  85 +
  86 + /**
  87 + * 插入有值的列
  88 + */
  89 + @Override
  90 + public int insertSelective(LinggangKeyWorkLocation entity) {
  91 + return linggangKeyWorkLocationMapper.insertSelective(entity);
  92 + }
  93 +
  94 + /**
  95 + * 插入数据
  96 + */
  97 + @Override
  98 + public boolean insert(LinggangKeyWorkLocation entity) {
  99 + return save(entity);
  100 + }
  101 +
  102 + /**
  103 + * 根据主键修改数据
  104 + */
  105 + @Override
  106 + public boolean updateByPrimaryKey(LinggangKeyWorkLocation entity) {
  107 + return updateById(entity);
  108 + }
  109 +
  110 + /***根据主键删除数据*/
  111 + @Override
  112 + public boolean deleteById(Long id) {
  113 + return removeById(id);
  114 + }
  115 +
  116 +
  117 + public static void orderColumn(LambdaQueryWrapper<LinggangKeyWorkLocation> wrapper, OrderEntity orderEntity) {
  118 + if (org.apache.commons.lang3.StringUtils.equals("ascending", orderEntity.getOrder())) {
  119 + if (org.apache.commons.lang3.StringUtils.equals(orderEntity.getProp(), "id")) {
  120 + wrapper.orderByAsc(LinggangKeyWorkLocation::getId);
  121 + }
  122 + if (org.apache.commons.lang3.StringUtils.equals(orderEntity.getProp(), "yardId")) {
  123 + wrapper.orderByAsc(LinggangKeyWorkLocation::getYardId);
  124 + }
  125 + if (org.apache.commons.lang3.StringUtils.equals(orderEntity.getProp(), "yardName")) {
  126 + wrapper.orderByAsc(LinggangKeyWorkLocation::getYardName);
  127 + }
  128 + if (org.apache.commons.lang3.StringUtils.equals(orderEntity.getProp(), "device")) {
  129 + wrapper.orderByAsc(LinggangKeyWorkLocation::getDevice);
  130 + }
  131 + if (org.apache.commons.lang3.StringUtils.equals(orderEntity.getProp(), "cabinetNo")) {
  132 + wrapper.orderByAsc(LinggangKeyWorkLocation::getCabinetNo);
  133 + }
  134 + if (org.apache.commons.lang3.StringUtils.equals(orderEntity.getProp(), "parkingNo")) {
  135 + wrapper.orderByAsc(LinggangKeyWorkLocation::getParkingNo);
  136 + }
  137 + if (org.apache.commons.lang3.StringUtils.equals(orderEntity.getProp(), "carInfoId")) {
  138 + wrapper.orderByAsc(LinggangKeyWorkLocation::getCarInfoId);
  139 + }
  140 + if (org.apache.commons.lang3.StringUtils.equals(orderEntity.getProp(), "createBy")) {
  141 + wrapper.orderByAsc(LinggangKeyWorkLocation::getCreateBy);
  142 + }
  143 + if (org.apache.commons.lang3.StringUtils.equals(orderEntity.getProp(), "createTime")) {
  144 + wrapper.orderByAsc(LinggangKeyWorkLocation::getCreateTime);
  145 + }
  146 + if (org.apache.commons.lang3.StringUtils.equals(orderEntity.getProp(), "updateBy")) {
  147 + wrapper.orderByAsc(LinggangKeyWorkLocation::getUpdateBy);
  148 + }
  149 + if (org.apache.commons.lang3.StringUtils.equals(orderEntity.getProp(), "updateTime")) {
  150 + wrapper.orderByAsc(LinggangKeyWorkLocation::getUpdateTime);
  151 + }
  152 + if (org.apache.commons.lang3.StringUtils.equals(orderEntity.getProp(), "delFlag")) {
  153 + wrapper.orderByAsc(LinggangKeyWorkLocation::getDelFlag);
  154 + }
  155 + } else if (org.apache.commons.lang3.StringUtils.equals("descending", orderEntity.getOrder())) {
  156 + if (org.apache.commons.lang3.StringUtils.equals(orderEntity.getProp(), "id")) {
  157 + wrapper.orderByDesc(LinggangKeyWorkLocation::getId);
  158 + }
  159 + if (org.apache.commons.lang3.StringUtils.equals(orderEntity.getProp(), "yardId")) {
  160 + wrapper.orderByDesc(LinggangKeyWorkLocation::getYardId);
  161 + }
  162 + if (org.apache.commons.lang3.StringUtils.equals(orderEntity.getProp(), "yardName")) {
  163 + wrapper.orderByDesc(LinggangKeyWorkLocation::getYardName);
  164 + }
  165 + if (org.apache.commons.lang3.StringUtils.equals(orderEntity.getProp(), "device")) {
  166 + wrapper.orderByDesc(LinggangKeyWorkLocation::getDevice);
  167 + }
  168 + if (org.apache.commons.lang3.StringUtils.equals(orderEntity.getProp(), "cabinetNo")) {
  169 + wrapper.orderByDesc(LinggangKeyWorkLocation::getCabinetNo);
  170 + }
  171 + if (org.apache.commons.lang3.StringUtils.equals(orderEntity.getProp(), "parkingNo")) {
  172 + wrapper.orderByDesc(LinggangKeyWorkLocation::getParkingNo);
  173 + }
  174 + if (org.apache.commons.lang3.StringUtils.equals(orderEntity.getProp(), "carInfoId")) {
  175 + wrapper.orderByDesc(LinggangKeyWorkLocation::getCarInfoId);
  176 + }
  177 + if (org.apache.commons.lang3.StringUtils.equals(orderEntity.getProp(), "createBy")) {
  178 + wrapper.orderByDesc(LinggangKeyWorkLocation::getCreateBy);
  179 + }
  180 + if (org.apache.commons.lang3.StringUtils.equals(orderEntity.getProp(), "createTime")) {
  181 + wrapper.orderByDesc(LinggangKeyWorkLocation::getCreateTime);
  182 + }
  183 + if (org.apache.commons.lang3.StringUtils.equals(orderEntity.getProp(), "updateBy")) {
  184 + wrapper.orderByDesc(LinggangKeyWorkLocation::getUpdateBy);
  185 + }
  186 + if (org.apache.commons.lang3.StringUtils.equals(orderEntity.getProp(), "updateTime")) {
  187 + wrapper.orderByDesc(LinggangKeyWorkLocation::getUpdateTime);
  188 + }
  189 + if (org.apache.commons.lang3.StringUtils.equals(orderEntity.getProp(), "delFlag")) {
  190 + wrapper.orderByDesc(LinggangKeyWorkLocation::getDelFlag);
  191 + }
  192 + } else {
  193 + wrapper.orderByDesc(LinggangKeyWorkLocation::getId);
  194 + }
  195 + }
  196 +}
0 197 \ No newline at end of file
... ...
Bsth-admin/src/main/java/com/ruoyi/service/impl/scheduling/LinggangSchedulingServiceImpl.java 0 → 100644
  1 +package com.ruoyi.service.impl.scheduling;
  2 +
  3 +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
  4 +import com.baomidou.mybatisplus.core.metadata.IPage;
  5 +import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
  6 +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
  7 +import com.github.pagehelper.PageHelper;
  8 +import com.ruoyi.domain.OrderEntity;
  9 +import com.ruoyi.domain.scheduling.LinggangScheduling;
  10 +import com.ruoyi.mapper.scheduling.LinggangSchedulingMapper;
  11 +import com.ruoyi.service.scheduling.LinggangSchedulingService;
  12 +import org.springframework.beans.factory.annotation.Autowired;
  13 +import org.springframework.stereotype.Service;
  14 +
  15 +import java.util.Collections;
  16 +import java.util.List;
  17 +
  18 +@Service
  19 +/** Service实现类*/
  20 +public class LinggangSchedulingServiceImpl extends ServiceImpl<LinggangSchedulingMapper, LinggangScheduling> implements LinggangSchedulingService {
  21 + @Autowired
  22 + private LinggangSchedulingMapper linggangSchedulingMapper;
  23 +
  24 + /**
  25 + * 分页查询
  26 + */
  27 + @Override
  28 + public IPage<LinggangScheduling> pageList(Page<LinggangScheduling> page, LinggangScheduling entity, OrderEntity orderEntity) {
  29 + LambdaQueryWrapper<LinggangScheduling> countWrapper = new LambdaQueryWrapper<>(entity);
  30 + countWrapper.select(LinggangScheduling::getId);
  31 + int count = count(countWrapper);
  32 +
  33 + List<LinggangScheduling> lists = Collections.emptyList();
  34 + if (count > 0) {
  35 + PageHelper.startPage((int) page.getCurrent(), (int) page.getSize(), false);
  36 + LambdaQueryWrapper<LinggangScheduling> selectWrapper = new LambdaQueryWrapper<>(entity);
  37 + orderColumn(selectWrapper, orderEntity);
  38 + lists = list(selectWrapper);
  39 + }
  40 +
  41 + IPage<LinggangScheduling> returnPage = new Page<LinggangScheduling>();
  42 + returnPage.setRecords(lists);
  43 + returnPage.setPages(count % page.getSize() == 0 ? count / page.getSize() : count / page.getSize() + 1);
  44 + returnPage.setCurrent(page.getCurrent());
  45 + returnPage.setSize(page.getSize());
  46 + returnPage.setTotal(count);
  47 +
  48 + return returnPage;
  49 + }
  50 +
  51 + @Override
  52 + public List<LinggangScheduling> list(LinggangScheduling entity) {
  53 + return list(new LambdaQueryWrapper<>(entity));
  54 + }
  55 + // @Override
  56 + // public List<LinggangScheduling> listOfSelect(LinggangScheduling entity) {
  57 + // LambdaQueryWrapper<LinggangScheduling> wrapper = new LambdaQueryWrapper<>(entity);
  58 + // wrapper.select(LinggangScheduling::, LinggangScheduling::);
  59 + // return list(wrapper);
  60 + // }
  61 +
  62 + // @Override
  63 + // public List<LinggangScheduling> listOfIds(java.util.Collection<java.lang.Integer> ids) {
  64 + // if (org.springframework.util.CollectionUtils.isEmpty(ids)) {
  65 + // return java.util.Collections.emptyList();
  66 + // }
  67 + // LambdaQueryWrapper<LinggangScheduling> wrapper = new LambdaQueryWrapper<>();
  68 + // wrapper.select(LinggangScheduling::getId,LinggangScheduling::);
  69 + // wrapper.in(LinggangScheduling::getId, ids);
  70 + // return list(wrapper);
  71 + // }
  72 +
  73 + @Override
  74 + public LinggangScheduling getOne(LinggangScheduling entity) {
  75 + return getOne(new LambdaQueryWrapper<>(entity));
  76 + }
  77 +
  78 + @Override
  79 + public Integer countId(LinggangScheduling entity) {
  80 + LambdaQueryWrapper<LinggangScheduling> wrapper = new LambdaQueryWrapper<>(entity);
  81 + wrapper.select(LinggangScheduling::getId);
  82 + return count(wrapper);
  83 + }
  84 +
  85 +
  86 + /**
  87 + * 插入有值的列
  88 + */
  89 + @Override
  90 + public int insertSelective(LinggangScheduling entity) {
  91 + return linggangSchedulingMapper.insertSelective(entity);
  92 + }
  93 +
  94 + /**
  95 + * 插入数据
  96 + */
  97 + @Override
  98 + public boolean insert(LinggangScheduling entity) {
  99 + return save(entity);
  100 + }
  101 +
  102 + /**
  103 + * 根据主键修改数据
  104 + */
  105 + @Override
  106 + public boolean updateByPrimaryKey(LinggangScheduling entity) {
  107 + return updateById(entity);
  108 + }
  109 +
  110 + /***根据主键删除数据*/
  111 + @Override
  112 + public boolean deleteById(Integer id) {
  113 + return removeById(id);
  114 + }
  115 +
  116 +
  117 + public static void orderColumn(LambdaQueryWrapper<LinggangScheduling> wrapper, OrderEntity orderEntity) {
  118 + if (org.apache.commons.lang3.StringUtils.equals("ascending", orderEntity.getOrder())) {
  119 + if (org.apache.commons.lang3.StringUtils.equals(orderEntity.getProp(), "id")) {
  120 + wrapper.orderByAsc(LinggangScheduling::getId);
  121 + }
  122 + if (org.apache.commons.lang3.StringUtils.equals(orderEntity.getProp(), "scheduleDate")) {
  123 + wrapper.orderByAsc(LinggangScheduling::getScheduleDate);
  124 + }
  125 + if (org.apache.commons.lang3.StringUtils.equals(orderEntity.getProp(), "lineName")) {
  126 + wrapper.orderByAsc(LinggangScheduling::getLineName);
  127 + }
  128 + if (org.apache.commons.lang3.StringUtils.equals(orderEntity.getProp(), "jobCode")) {
  129 + wrapper.orderByAsc(LinggangScheduling::getJobCode);
  130 + }
  131 + if (org.apache.commons.lang3.StringUtils.equals(orderEntity.getProp(), "name")) {
  132 + wrapper.orderByAsc(LinggangScheduling::getName);
  133 + }
  134 + if (org.apache.commons.lang3.StringUtils.equals(orderEntity.getProp(), "posts")) {
  135 + wrapper.orderByAsc(LinggangScheduling::getPosts);
  136 + }
  137 + if (org.apache.commons.lang3.StringUtils.equals(orderEntity.getProp(), "lpName")) {
  138 + wrapper.orderByAsc(LinggangScheduling::getLpName);
  139 + }
  140 + if (org.apache.commons.lang3.StringUtils.equals(orderEntity.getProp(), "nbbm")) {
  141 + wrapper.orderByAsc(LinggangScheduling::getNbbm);
  142 + }
  143 + if (org.apache.commons.lang3.StringUtils.equals(orderEntity.getProp(), "bcType")) {
  144 + wrapper.orderByAsc(LinggangScheduling::getBcType);
  145 + }
  146 + if (org.apache.commons.lang3.StringUtils.equals(orderEntity.getProp(), "fcsjT")) {
  147 + wrapper.orderByAsc(LinggangScheduling::getFcsjT);
  148 + }
  149 + if (org.apache.commons.lang3.StringUtils.equals(orderEntity.getProp(), "zdsjT")) {
  150 + wrapper.orderByAsc(LinggangScheduling::getZdsjT);
  151 + }
  152 + if (org.apache.commons.lang3.StringUtils.equals(orderEntity.getProp(), "signInId")) {
  153 + wrapper.orderByAsc(LinggangScheduling::getSignInId);
  154 + }
  155 + if (org.apache.commons.lang3.StringUtils.equals(orderEntity.getProp(), "exType")) {
  156 + wrapper.orderByAsc(LinggangScheduling::getExType);
  157 + }
  158 + if (org.apache.commons.lang3.StringUtils.equals(orderEntity.getProp(), "signTime")) {
  159 + wrapper.orderByAsc(LinggangScheduling::getSignTime);
  160 + }
  161 + if (org.apache.commons.lang3.StringUtils.equals(orderEntity.getProp(), "signType")) {
  162 + wrapper.orderByAsc(LinggangScheduling::getSignType);
  163 + }
  164 + if (org.apache.commons.lang3.StringUtils.equals(orderEntity.getProp(), "alcoholFlag")) {
  165 + wrapper.orderByAsc(LinggangScheduling::getAlcoholFlag);
  166 + }
  167 + if (org.apache.commons.lang3.StringUtils.equals(orderEntity.getProp(), "alcoholIntake")) {
  168 + wrapper.orderByAsc(LinggangScheduling::getAlcoholIntake);
  169 + }
  170 + if (org.apache.commons.lang3.StringUtils.equals(orderEntity.getProp(), "remark")) {
  171 + wrapper.orderByAsc(LinggangScheduling::getRemark);
  172 + }
  173 + if (org.apache.commons.lang3.StringUtils.equals(orderEntity.getProp(), "keyInfoId")) {
  174 + wrapper.orderByAsc(LinggangScheduling::getKeyInfoId);
  175 + }
  176 + } else if (org.apache.commons.lang3.StringUtils.equals("descending", orderEntity.getOrder())) {
  177 + if (org.apache.commons.lang3.StringUtils.equals(orderEntity.getProp(), "id")) {
  178 + wrapper.orderByDesc(LinggangScheduling::getId);
  179 + }
  180 + if (org.apache.commons.lang3.StringUtils.equals(orderEntity.getProp(), "scheduleDate")) {
  181 + wrapper.orderByDesc(LinggangScheduling::getScheduleDate);
  182 + }
  183 + if (org.apache.commons.lang3.StringUtils.equals(orderEntity.getProp(), "lineName")) {
  184 + wrapper.orderByDesc(LinggangScheduling::getLineName);
  185 + }
  186 + if (org.apache.commons.lang3.StringUtils.equals(orderEntity.getProp(), "jobCode")) {
  187 + wrapper.orderByDesc(LinggangScheduling::getJobCode);
  188 + }
  189 + if (org.apache.commons.lang3.StringUtils.equals(orderEntity.getProp(), "name")) {
  190 + wrapper.orderByDesc(LinggangScheduling::getName);
  191 + }
  192 + if (org.apache.commons.lang3.StringUtils.equals(orderEntity.getProp(), "posts")) {
  193 + wrapper.orderByDesc(LinggangScheduling::getPosts);
  194 + }
  195 + if (org.apache.commons.lang3.StringUtils.equals(orderEntity.getProp(), "lpName")) {
  196 + wrapper.orderByDesc(LinggangScheduling::getLpName);
  197 + }
  198 + if (org.apache.commons.lang3.StringUtils.equals(orderEntity.getProp(), "nbbm")) {
  199 + wrapper.orderByDesc(LinggangScheduling::getNbbm);
  200 + }
  201 + if (org.apache.commons.lang3.StringUtils.equals(orderEntity.getProp(), "bcType")) {
  202 + wrapper.orderByDesc(LinggangScheduling::getBcType);
  203 + }
  204 + if (org.apache.commons.lang3.StringUtils.equals(orderEntity.getProp(), "fcsjT")) {
  205 + wrapper.orderByDesc(LinggangScheduling::getFcsjT);
  206 + }
  207 + if (org.apache.commons.lang3.StringUtils.equals(orderEntity.getProp(), "zdsjT")) {
  208 + wrapper.orderByDesc(LinggangScheduling::getZdsjT);
  209 + }
  210 + if (org.apache.commons.lang3.StringUtils.equals(orderEntity.getProp(), "signInId")) {
  211 + wrapper.orderByDesc(LinggangScheduling::getSignInId);
  212 + }
  213 + if (org.apache.commons.lang3.StringUtils.equals(orderEntity.getProp(), "exType")) {
  214 + wrapper.orderByDesc(LinggangScheduling::getExType);
  215 + }
  216 + if (org.apache.commons.lang3.StringUtils.equals(orderEntity.getProp(), "signTime")) {
  217 + wrapper.orderByDesc(LinggangScheduling::getSignTime);
  218 + }
  219 + if (org.apache.commons.lang3.StringUtils.equals(orderEntity.getProp(), "signType")) {
  220 + wrapper.orderByDesc(LinggangScheduling::getSignType);
  221 + }
  222 + if (org.apache.commons.lang3.StringUtils.equals(orderEntity.getProp(), "alcoholFlag")) {
  223 + wrapper.orderByDesc(LinggangScheduling::getAlcoholFlag);
  224 + }
  225 + if (org.apache.commons.lang3.StringUtils.equals(orderEntity.getProp(), "alcoholIntake")) {
  226 + wrapper.orderByDesc(LinggangScheduling::getAlcoholIntake);
  227 + }
  228 + if (org.apache.commons.lang3.StringUtils.equals(orderEntity.getProp(), "remark")) {
  229 + wrapper.orderByDesc(LinggangScheduling::getRemark);
  230 + }
  231 + if (org.apache.commons.lang3.StringUtils.equals(orderEntity.getProp(), "keyInfoId")) {
  232 + wrapper.orderByDesc(LinggangScheduling::getKeyInfoId);
  233 + }
  234 + } else {
  235 + wrapper.orderByDesc(LinggangScheduling::getId);
  236 + }
  237 + }
  238 +}
0 239 \ No newline at end of file
... ...
Bsth-admin/src/main/java/com/ruoyi/service/keyinfo/KeyInfoService.java renamed to Bsth-admin/src/main/java/com/ruoyi/service/key/info/KeyInfoService.java
1   -package com.ruoyi.service.keyinfo;
  1 +package com.ruoyi.service.key.info;
2 2  
3 3 import com.baomidou.mybatisplus.extension.service.IService;
4 4 import com.baomidou.mybatisplus.core.metadata.IPage;
5 5 import com.ruoyi.domain.OrderEntity;
6   -import com.ruoyi.domain.keyInfo.KeyInfo;
  6 +import com.ruoyi.domain.key.info.KeyInfo;
7 7  
8 8 import java.util.List;
9 9  
... ...
Bsth-admin/src/main/java/com/ruoyi/service/key/location/LinggangKeyWorkLocationService.java 0 → 100644
  1 +package com.ruoyi.service.key.location;
  2 +
  3 +import com.baomidou.mybatisplus.core.metadata.IPage;
  4 +import com.baomidou.mybatisplus.extension.service.IService;
  5 +import com.ruoyi.domain.OrderEntity;
  6 +import com.ruoyi.domain.key.location.LinggangKeyWorkLocation;
  7 +
  8 +import java.util.List;
  9 +
  10 +
  11 +/**
  12 + * 钥匙存放地址 Service接口
  13 + */
  14 +public interface LinggangKeyWorkLocationService extends IService<LinggangKeyWorkLocation> {
  15 + /**
  16 + * 分页查询
  17 + */
  18 + IPage<LinggangKeyWorkLocation> pageList(com.baomidou.mybatisplus.extension.plugins.pagination.Page<LinggangKeyWorkLocation> page, LinggangKeyWorkLocation entity, OrderEntity orderEntity);
  19 +
  20 + /**
  21 + * 带条件查询
  22 + */
  23 + List<LinggangKeyWorkLocation> list(LinggangKeyWorkLocation entity);
  24 +
  25 + // List<LinggangKeyWorkLocation> listOfIds(java.util.Collection<java.lang.Long> ids);
  26 + // /***
  27 + // *用于页面选择
  28 + // */
  29 + // List<LinggangKeyWorkLocation> listOfSelect(LinggangKeyWorkLocation entity);
  30 +
  31 + /**
  32 + * 条件查询只返回一条数据的方法
  33 + */
  34 + LinggangKeyWorkLocation getOne(LinggangKeyWorkLocation entity);
  35 +
  36 + Integer countId(LinggangKeyWorkLocation entity);
  37 +
  38 + /**
  39 + * 插入有值的列
  40 + */
  41 + int insertSelective(LinggangKeyWorkLocation entity);
  42 +
  43 + /***插入数据*/
  44 + boolean insert(LinggangKeyWorkLocation entity);
  45 +
  46 + /**
  47 + * 根据主键修改数据
  48 + */
  49 + boolean updateByPrimaryKey(LinggangKeyWorkLocation entity);
  50 +
  51 + boolean deleteById(Long id);
  52 +
  53 +}
0 54 \ No newline at end of file
... ...
Bsth-admin/src/main/java/com/ruoyi/service/scheduling/LinggangSchedulingService.java 0 → 100644
  1 +package com.ruoyi.service.scheduling;
  2 +
  3 +import com.baomidou.mybatisplus.core.metadata.IPage;
  4 +import com.baomidou.mybatisplus.extension.service.IService;
  5 +import com.ruoyi.domain.OrderEntity;
  6 +import com.ruoyi.domain.scheduling.LinggangScheduling;
  7 +
  8 +import java.util.List;
  9 +
  10 +
  11 +/**
  12 + * Service接口
  13 + */
  14 +public interface LinggangSchedulingService extends IService<LinggangScheduling> {
  15 + /**
  16 + * 分页查询
  17 + */
  18 + IPage<LinggangScheduling> pageList(com.baomidou.mybatisplus.extension.plugins.pagination.Page<LinggangScheduling> page, LinggangScheduling entity, OrderEntity orderEntity);
  19 +
  20 + /**
  21 + * 带条件查询
  22 + */
  23 + List<LinggangScheduling> list(LinggangScheduling entity);
  24 +
  25 + // List<LinggangScheduling> listOfIds(java.util.Collection<java.lang.Integer> ids);
  26 + // /***
  27 + // *用于页面选择
  28 + // */
  29 + // List<LinggangScheduling> listOfSelect(LinggangScheduling entity);
  30 +
  31 + /**
  32 + * 条件查询只返回一条数据的方法
  33 + */
  34 + LinggangScheduling getOne(LinggangScheduling entity);
  35 +
  36 + Integer countId(LinggangScheduling entity);
  37 +
  38 + /**
  39 + * 插入有值的列
  40 + */
  41 + int insertSelective(LinggangScheduling entity);
  42 +
  43 + /***插入数据*/
  44 + boolean insert(LinggangScheduling entity);
  45 +
  46 + /**
  47 + * 根据主键修改数据
  48 + */
  49 + boolean updateByPrimaryKey(LinggangScheduling entity);
  50 +
  51 + boolean deleteById(Integer id);
  52 +}
0 53 \ No newline at end of file
... ...
Bsth-admin/src/main/resources/mapper/carinfo/CarInfoMapper.xml
... ... @@ -6,10 +6,11 @@
6 6 <result column="plate_Num" jdbcType="VARCHAR" property="plateNum"/>
7 7 <result column="parking_No" jdbcType="VARCHAR" property="parkingNo"/>
8 8 <result column="status" jdbcType="INTEGER" property="status"/>
9   - <result column="create_By" jdbcType="INTEGER" property="createBy"/>
  9 + <result column="create_By" jdbcType="VARCHAR" property="createBy"/>
10 10 <result column="create_time" jdbcType="TIMESTAMP" property="createTime"/>
11   - <result column="update_by" jdbcType="INTEGER" property="updateBy"/>
  11 + <result column="update_by" jdbcType="VARCHAR" property="updateBy"/>
12 12 <result column="update_time" jdbcType="TIMESTAMP" property="updateTime"/>
  13 + <result column="nbbm" jdbcType="VARCHAR" property="nbbm"/>
13 14 </resultMap>
14 15  
15 16 <insert id="insertSelective" keyColumn="id" keyProperty="id" useGeneratedKeys="true"
... ... @@ -21,12 +22,12 @@
21 22  
22 23 <sql id="columns">
23 24 id
24   - , plate_Num , parking_No , status , create_By , create_time , update_by , update_time
  25 + , plate_Num , parking_No , status , create_By , create_time , update_by , update_time , nbbm
25 26 </sql>
26 27  
27 28 <sql id="insert_columns">
28 29 id
29   - , plate_Num , parking_No , status , create_By , create_time , update_by , update_time
  30 + , plate_Num , parking_No , status , create_By , create_time , update_by , update_time , nbbm
30 31 </sql>
31 32  
32 33 <sql id="insert_values">
... ... @@ -38,7 +39,8 @@
38 39 #{createBy},
39 40 #{createTime},
40 41 #{updateBy},
41   - #{updateTime}
  42 + #{updateTime},
  43 + #{nbbm}
42 44 </sql>
43 45  
44 46 <sql id="insertSelectiveColumn">
... ... @@ -51,6 +53,7 @@
51 53 <if test="null!=createTime">create_time,</if>
52 54 <if test="null!=updateBy">update_by,</if>
53 55 <if test="null!=updateTime">update_time,</if>
  56 + <if test="null!=nbbm">nbbm,</if>
54 57 </trim>
55 58 </sql>
56 59  
... ... @@ -64,6 +67,7 @@
64 67 <if test="null!=createTime">#{createTime,jdbcType=TIMESTAMP},</if>
65 68 <if test="null!=updateBy">#{updateBy,jdbcType=VARCHAR},</if>
66 69 <if test="null!=updateTime">#{updateTime,jdbcType=TIMESTAMP},</if>
  70 + <if test="null!=nbbm">#{nbbm,jdbcType=VARCHAR},</if>
67 71 </trim>
68 72 </sql>
69 73  
... ... @@ -77,6 +81,7 @@
77 81 <if test="null!=createTime">create_time = #{createTime,jdbcType=TIMESTAMP},</if>
78 82 <if test="null!=updateBy">update_by = #{updateBy,jdbcType=VARCHAR},</if>
79 83 <if test="null!=updateTime">update_time = #{updateTime,jdbcType=TIMESTAMP},</if>
  84 + <if test="null!=nbbm">nbbm = #{nbbm,jdbcType=VARCHAR},</if>
80 85 </set>
81 86 </sql>
82 87  
... ... @@ -89,5 +94,6 @@
89 94 <if test="null!=createTime">AND create_time = #{createTime,jdbcType=TIMESTAMP},</if>
90 95 <if test="null!=updateBy">AND update_by = #{updateBy,jdbcType=VARCHAR},</if>
91 96 <if test="null!=updateTime">AND update_time = #{updateTime,jdbcType=TIMESTAMP},</if>
  97 + <if test="null!=nbbm">AND nbbm = #{nbbm,jdbcType=VARCHAR},</if>
92 98 </sql>
93 99 </mapper>
94 100 \ No newline at end of file
... ...
Bsth-admin/src/main/resources/mapper/keyInfo/KeyInfoMapper.xml renamed to Bsth-admin/src/main/resources/mapper/key/info/KeyInfoMapper.xml
1 1 <?xml version="1.0" encoding="UTF-8"?>
2 2 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
3   -<mapper namespace="com.ruoyi.mapper.keyinfo.KeyInfoMapper">
4   - <resultMap id="BaseResultMap" type="com.ruoyi.domain.keyInfo.KeyInfo">
  3 +<mapper namespace="com.ruoyi.mapper.key.info.KeyInfoMapper">
  4 + <resultMap id="BaseResultMap" type="com.ruoyi.domain.key.info.KeyInfo">
5 5 <id column="id" jdbcType="INTEGER" property="id"/>
6 6 <result column="name" jdbcType="VARCHAR" property="name"/>
7 7 <result column="status" jdbcType="INTEGER" property="status"/>
... ... @@ -17,7 +17,7 @@
17 17 </resultMap>
18 18  
19 19 <insert id="insertSelective" keyColumn="id" keyProperty="id" useGeneratedKeys="true"
20   - parameterType="com.ruoyi.domain.keyInfo.KeyInfo">
  20 + parameterType="com.ruoyi.domain.key.info.KeyInfo">
21 21 INSERT INTO key_info <include refid="insertSelectiveColumn"></include>
22 22 <include refid="insertSelectiveValue"></include>
23 23 </insert>
... ...
Bsth-admin/src/main/resources/mapper/key/location/LinggangKeyWorkLocationMapper.xml 0 → 100644
  1 +<?xml version="1.0" encoding="UTF-8"?>
  2 +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  3 +<mapper namespace="com.ruoyi.mapper.key.location.LinggangKeyWorkLocationMapper">
  4 + <resultMap id="BaseResultMap" type="com.ruoyi.domain.key.location.LinggangKeyWorkLocation">
  5 + <id column="id" jdbcType="BIGINT" property="id"/>
  6 + <result column="yard_Id" jdbcType="INTEGER" property="yardId"/>
  7 + <result column="yard_Name" jdbcType="VARCHAR" property="yardName"/>
  8 + <result column="device" jdbcType="VARCHAR" property="device"/>
  9 + <result column="cabinet_No" jdbcType="VARCHAR" property="cabinetNo"/>
  10 + <result column="create_by" jdbcType="BIGINT" property="createBy"/>
  11 + <result column="create_time" jdbcType="TIMESTAMP" property="createTime"/>
  12 + <result column="update_by" jdbcType="BIGINT" property="updateBy"/>
  13 + <result column="update_time" jdbcType="TIMESTAMP" property="updateTime"/>
  14 + <result column="del_flag" jdbcType="BIT" property="delFlag"/>
  15 + <result column="event_Type" jdbcType="INTEGER" property="eventType"/>
  16 + <result column="key_info_id" jdbcType="INTEGER" property="keyInfoId"/>
  17 + <result column="schedule_date" jdbcType="TIMESTAMP" property="scheduleDate"/>
  18 + </resultMap>
  19 +
  20 + <insert id="insertSelective" keyColumn="id" keyProperty="id" useGeneratedKeys="true"
  21 + parameterType="com.ruoyi.domain.key.location.LinggangKeyWorkLocation">
  22 + INSERT INTO key_work_location <include refid="insertSelectiveColumn"></include>
  23 + <include refid="insertSelectiveValue"></include>
  24 + </insert>
  25 +
  26 + <sql id="columns">
  27 + id
  28 + , yard_Id , yard_Name , device , cabinet_No , create_by , create_time , update_by , update_time , del_flag , event_Type , key_info_id , schedule_date
  29 + </sql>
  30 +
  31 + <sql id="insert_columns">
  32 + id
  33 + , yard_Id , yard_Name , device , cabinet_No , create_by , create_time , update_by , update_time , del_flag , event_Type , key_info_id , schedule_date
  34 + </sql>
  35 +
  36 + <sql id="insert_values">
  37 + #{id}
  38 + ,
  39 + #{yardId},
  40 + #{yardName},
  41 + #{device},
  42 + #{cabinetNo},
  43 + #{createBy},
  44 + #{createTime},
  45 + #{updateBy},
  46 + #{updateTime},
  47 + #{delFlag},
  48 + #{eventType},
  49 + #{keyInfoId},
  50 + #{scheduleDate}
  51 + </sql>
  52 +
  53 + <sql id="insertSelectiveColumn">
  54 + <trim prefix="(" suffix=")" suffixOverrides=",">
  55 + <if test="null!=id">id,</if>
  56 + <if test="null!=yardId">yard_Id,</if>
  57 + <if test="null!=yardName">yard_Name,</if>
  58 + <if test="null!=device">device,</if>
  59 + <if test="null!=cabinetNo">cabinet_No,</if>
  60 + <if test="null!=createBy">create_by,</if>
  61 + <if test="null!=createTime">create_time,</if>
  62 + <if test="null!=updateBy">update_by,</if>
  63 + <if test="null!=updateTime">update_time,</if>
  64 + <if test="null!=delFlag">del_flag,</if>
  65 + <if test="null!=eventType">event_Type,</if>
  66 + <if test="null!=keyInfoId">key_info_id,</if>
  67 + <if test="null!=scheduleDate">schedule_date,</if>
  68 + </trim>
  69 + </sql>
  70 +
  71 + <sql id="insertSelectiveValue">
  72 + <trim prefix="values (" suffix=")" suffixOverrides=",">
  73 + <if test="null!=id">#{id,jdbcType=BIGINT},</if>
  74 + <if test="null!=yardId">#{yardId,jdbcType=INTEGER},</if>
  75 + <if test="null!=yardName">#{yardName,jdbcType=VARCHAR},</if>
  76 + <if test="null!=device">#{device,jdbcType=VARCHAR},</if>
  77 + <if test="null!=cabinetNo">#{cabinetNo,jdbcType=VARCHAR},</if>
  78 + <if test="null!=createBy">#{createBy,jdbcType=BIGINT},</if>
  79 + <if test="null!=createTime">#{createTime,jdbcType=TIMESTAMP},</if>
  80 + <if test="null!=updateBy">#{updateBy,jdbcType=BIGINT},</if>
  81 + <if test="null!=updateTime">#{updateTime,jdbcType=TIMESTAMP},</if>
  82 + <if test="null!=delFlag">#{delFlag,jdbcType=BIT},</if>
  83 + <if test="null!=eventType">#{eventType,jdbcType=INTEGER},</if>
  84 + <if test="null!=keyInfoId">#{keyInfoId,jdbcType=INTEGER},</if>
  85 + <if test="null!=scheduleDate">#{scheduleDate,jdbcType=TIMESTAMP},</if>
  86 + </trim>
  87 + </sql>
  88 +
  89 + <sql id="updateByPrimaryKeySelectiveSql">
  90 + <set>
  91 + <if test="null!=id">id = #{id,jdbcType=BIGINT},</if>
  92 + <if test="null!=yardId">yard_Id = #{yardId,jdbcType=INTEGER},</if>
  93 + <if test="null!=yardName">yard_Name = #{yardName,jdbcType=VARCHAR},</if>
  94 + <if test="null!=device">device = #{device,jdbcType=VARCHAR},</if>
  95 + <if test="null!=cabinetNo">cabinet_No = #{cabinetNo,jdbcType=VARCHAR},</if>
  96 + <if test="null!=createBy">create_by = #{createBy,jdbcType=BIGINT},</if>
  97 + <if test="null!=createTime">create_time = #{createTime,jdbcType=TIMESTAMP},</if>
  98 + <if test="null!=updateBy">update_by = #{updateBy,jdbcType=BIGINT},</if>
  99 + <if test="null!=updateTime">update_time = #{updateTime,jdbcType=TIMESTAMP},</if>
  100 + <if test="null!=delFlag">del_flag = #{delFlag,jdbcType=BIT},</if>
  101 + <if test="null!=eventType">event_Type = #{eventType,jdbcType=INTEGER},</if>
  102 + <if test="null!=keyInfoId">key_info_id = #{keyInfoId,jdbcType=INTEGER},</if>
  103 + <if test="null!=scheduleDate">schedule_date = #{scheduleDate,jdbcType=TIMESTAMP},</if>
  104 + </set>
  105 + </sql>
  106 +
  107 + <sql id="where">
  108 + <if test="null!=id">AND id = #{id,jdbcType=BIGINT},</if>
  109 + <if test="null!=yardId">AND yard_Id = #{yardId,jdbcType=INTEGER},</if>
  110 + <if test="null!=yardName">AND yard_Name = #{yardName,jdbcType=VARCHAR},</if>
  111 + <if test="null!=device">AND device = #{device,jdbcType=VARCHAR},</if>
  112 + <if test="null!=cabinetNo">AND cabinet_No = #{cabinetNo,jdbcType=VARCHAR},</if>
  113 + <if test="null!=createBy">AND create_by = #{createBy,jdbcType=BIGINT},</if>
  114 + <if test="null!=createTime">AND create_time = #{createTime,jdbcType=TIMESTAMP},</if>
  115 + <if test="null!=updateBy">AND update_by = #{updateBy,jdbcType=BIGINT},</if>
  116 + <if test="null!=updateTime">AND update_time = #{updateTime,jdbcType=TIMESTAMP},</if>
  117 + <if test="null!=delFlag">AND del_flag = #{delFlag,jdbcType=BIT},</if>
  118 + <if test="null!=eventType">AND event_Type = #{eventType,jdbcType=INTEGER},</if>
  119 + <if test="null!=keyInfoId">AND key_info_id = #{keyInfoId,jdbcType=INTEGER},</if>
  120 + <if test="null!=scheduleDate">AND schedule_date = #{scheduleDate,jdbcType=TIMESTAMP},</if>
  121 + </sql>
  122 +</mapper>
0 123 \ No newline at end of file
... ...
Bsth-admin/src/main/resources/mapper/scheduling/LinggangSchedulingMapper.xml 0 → 100644
  1 +<?xml version="1.0" encoding="UTF-8"?>
  2 +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  3 +<mapper namespace="com.ruoyi.mapper.scheduling.LinggangSchedulingMapper">
  4 + <resultMap id="BaseResultMap" type="com.ruoyi.domain.scheduling.LinggangScheduling">
  5 + <id column="id" jdbcType="INTEGER" property="id"/>
  6 + <result column="schedule_date" jdbcType="DATE" property="scheduleDate"/>
  7 + <result column="line_name" jdbcType="VARCHAR" property="lineName"/>
  8 + <result column="job_code" jdbcType="VARCHAR" property="jobCode"/>
  9 + <result column="name" jdbcType="VARCHAR" property="name"/>
  10 + <result column="posts" jdbcType="VARCHAR" property="posts"/>
  11 + <result column="lp_name" jdbcType="VARCHAR" property="lpName"/>
  12 + <result column="nbbm" jdbcType="VARCHAR" property="nbbm"/>
  13 + <result column="bc_type" jdbcType="VARCHAR" property="bcType"/>
  14 + <result column="fcsj_t" jdbcType="BIGINT" property="fcsjT"/>
  15 + <result column="zdsj_t" jdbcType="BIGINT" property="zdsjT"/>
  16 + <result column="sign_in_id" jdbcType="INTEGER" property="signInId"/>
  17 + <result column="ex_type" jdbcType="TINYINT" property="exType"/>
  18 + <result column="sign_time" jdbcType="TIMESTAMP" property="signTime"/>
  19 + <result column="sign_type" jdbcType="TINYINT" property="signType"/>
  20 + <result column="alcohol_flag" jdbcType="TINYINT" property="alcoholFlag"/>
  21 + <result column="alcohol_intake" jdbcType="DECIMAL" property="alcoholIntake"/>
  22 + <result column="remark" jdbcType="VARCHAR" property="remark"/>
  23 + <result column="key_info_id" jdbcType="INTEGER" property="keyInfoId"/>
  24 + </resultMap>
  25 +
  26 + <insert id="insertSelective" keyColumn="id" keyProperty="id" useGeneratedKeys="true"
  27 + parameterType="com.ruoyi.domain.scheduling.LinggangScheduling">
  28 + INSERT INTO scheduling
  29 + <include refid="insertSelectiveColumn"></include>
  30 + <include refid="insertSelectiveValue"></include>
  31 + </insert>
  32 +
  33 + <sql id="columns">
  34 + id
  35 + , schedule_date , line_name , job_code , name , posts , lp_name , nbbm , bc_type , fcsj_t , zdsj_t , sign_in_id , ex_type , sign_time , sign_type , alcohol_flag , alcohol_intake , remark , key_info_id
  36 + </sql>
  37 +
  38 + <sql id="insert_columns">
  39 + id
  40 + , schedule_date , line_name , job_code , name , posts , lp_name , nbbm , bc_type , fcsj_t , zdsj_t , sign_in_id , ex_type , sign_time , sign_type , alcohol_flag , alcohol_intake , remark , key_info_id
  41 + </sql>
  42 +
  43 + <sql id="insert_values">
  44 + #{id}
  45 + ,
  46 + #{scheduleDate},
  47 + #{lineName},
  48 + #{jobCode},
  49 + #{name},
  50 + #{posts},
  51 + #{lpName},
  52 + #{nbbm},
  53 + #{bcType},
  54 + #{fcsjT},
  55 + #{zdsjT},
  56 + #{signInId},
  57 + #{exType},
  58 + #{signTime},
  59 + #{signType},
  60 + #{alcoholFlag},
  61 + #{alcoholIntake},
  62 + #{remark},
  63 + #{keyInfoId}
  64 + </sql>
  65 +
  66 + <sql id="insertSelectiveColumn">
  67 + <trim prefix="(" suffix=")" suffixOverrides=",">
  68 + <if test="null!=id">id,</if>
  69 + <if test="null!=scheduleDate">schedule_date,</if>
  70 + <if test="null!=lineName">line_name,</if>
  71 + <if test="null!=jobCode">job_code,</if>
  72 + <if test="null!=name">name,</if>
  73 + <if test="null!=posts">posts,</if>
  74 + <if test="null!=lpName">lp_name,</if>
  75 + <if test="null!=nbbm">nbbm,</if>
  76 + <if test="null!=bcType">bc_type,</if>
  77 + <if test="null!=fcsjT">fcsj_t,</if>
  78 + <if test="null!=zdsjT">zdsj_t,</if>
  79 + <if test="null!=signInId">sign_in_id,</if>
  80 + <if test="null!=exType">ex_type,</if>
  81 + <if test="null!=signTime">sign_time,</if>
  82 + <if test="null!=signType">sign_type,</if>
  83 + <if test="null!=alcoholFlag">alcohol_flag,</if>
  84 + <if test="null!=alcoholIntake">alcohol_intake,</if>
  85 + <if test="null!=remark">remark,</if>
  86 + <if test="null!=keyInfoId">key_info_id,</if>
  87 + </trim>
  88 + </sql>
  89 +
  90 + <sql id="insertSelectiveValue">
  91 + <trim prefix="values (" suffix=")" suffixOverrides=",">
  92 + <if test="null!=id">#{id,jdbcType=INTEGER},</if>
  93 + <if test="null!=scheduleDate">#{scheduleDate,jdbcType=DATE},</if>
  94 + <if test="null!=lineName">#{lineName,jdbcType=VARCHAR},</if>
  95 + <if test="null!=jobCode">#{jobCode,jdbcType=VARCHAR},</if>
  96 + <if test="null!=name">#{name,jdbcType=VARCHAR},</if>
  97 + <if test="null!=posts">#{posts,jdbcType=VARCHAR},</if>
  98 + <if test="null!=lpName">#{lpName,jdbcType=VARCHAR},</if>
  99 + <if test="null!=nbbm">#{nbbm,jdbcType=VARCHAR},</if>
  100 + <if test="null!=bcType">#{bcType,jdbcType=VARCHAR},</if>
  101 + <if test="null!=fcsjT">#{fcsjT,jdbcType=BIGINT},</if>
  102 + <if test="null!=zdsjT">#{zdsjT,jdbcType=BIGINT},</if>
  103 + <if test="null!=signInId">#{signInId,jdbcType=INTEGER},</if>
  104 + <if test="null!=exType">#{exType,jdbcType=TINYINT},</if>
  105 + <if test="null!=signTime">#{signTime,jdbcType=TIMESTAMP},</if>
  106 + <if test="null!=signType">#{signType,jdbcType=TINYINT},</if>
  107 + <if test="null!=alcoholFlag">#{alcoholFlag,jdbcType=TINYINT},</if>
  108 + <if test="null!=alcoholIntake">#{alcoholIntake,jdbcType=DECIMAL},</if>
  109 + <if test="null!=remark">#{remark,jdbcType=VARCHAR},</if>
  110 + <if test="null!=keyInfoId">#{keyInfoId,jdbcType=INTEGER},</if>
  111 + </trim>
  112 + </sql>
  113 +
  114 + <sql id="updateByPrimaryKeySelectiveSql">
  115 + <set>
  116 + <if test="null!=id">id = #{id,jdbcType=INTEGER},</if>
  117 + <if test="null!=scheduleDate">schedule_date = #{scheduleDate,jdbcType=DATE},</if>
  118 + <if test="null!=lineName">line_name = #{lineName,jdbcType=VARCHAR},</if>
  119 + <if test="null!=jobCode">job_code = #{jobCode,jdbcType=VARCHAR},</if>
  120 + <if test="null!=name">name = #{name,jdbcType=VARCHAR},</if>
  121 + <if test="null!=posts">posts = #{posts,jdbcType=VARCHAR},</if>
  122 + <if test="null!=lpName">lp_name = #{lpName,jdbcType=VARCHAR},</if>
  123 + <if test="null!=nbbm">nbbm = #{nbbm,jdbcType=VARCHAR},</if>
  124 + <if test="null!=bcType">bc_type = #{bcType,jdbcType=VARCHAR},</if>
  125 + <if test="null!=fcsjT">fcsj_t = #{fcsjT,jdbcType=BIGINT},</if>
  126 + <if test="null!=zdsjT">zdsj_t = #{zdsjT,jdbcType=BIGINT},</if>
  127 + <if test="null!=signInId">sign_in_id = #{signInId,jdbcType=INTEGER},</if>
  128 + <if test="null!=exType">ex_type = #{exType,jdbcType=TINYINT},</if>
  129 + <if test="null!=signTime">sign_time = #{signTime,jdbcType=TIMESTAMP},</if>
  130 + <if test="null!=signType">sign_type = #{signType,jdbcType=TINYINT},</if>
  131 + <if test="null!=alcoholFlag">alcohol_flag = #{alcoholFlag,jdbcType=TINYINT},</if>
  132 + <if test="null!=alcoholIntake">alcohol_intake = #{alcoholIntake,jdbcType=DECIMAL},</if>
  133 + <if test="null!=remark">remark = #{remark,jdbcType=VARCHAR},</if>
  134 + <if test="null!=keyInfoId">key_info_id = #{keyInfoId,jdbcType=INTEGER},</if>
  135 + </set>
  136 + </sql>
  137 +
  138 + <sql id="where">
  139 + <if test="null!=id">AND id = #{id,jdbcType=INTEGER},</if>
  140 + <if test="null!=scheduleDate">AND schedule_date = #{scheduleDate,jdbcType=DATE},</if>
  141 + <if test="null!=lineName">AND line_name = #{lineName,jdbcType=VARCHAR},</if>
  142 + <if test="null!=jobCode">AND job_code = #{jobCode,jdbcType=VARCHAR},</if>
  143 + <if test="null!=name">AND name = #{name,jdbcType=VARCHAR},</if>
  144 + <if test="null!=posts">AND posts = #{posts,jdbcType=VARCHAR},</if>
  145 + <if test="null!=lpName">AND lp_name = #{lpName,jdbcType=VARCHAR},</if>
  146 + <if test="null!=nbbm">AND nbbm = #{nbbm,jdbcType=VARCHAR},</if>
  147 + <if test="null!=bcType">AND bc_type = #{bcType,jdbcType=VARCHAR},</if>
  148 + <if test="null!=fcsjT">AND fcsj_t = #{fcsjT,jdbcType=BIGINT},</if>
  149 + <if test="null!=zdsjT">AND zdsj_t = #{zdsjT,jdbcType=BIGINT},</if>
  150 + <if test="null!=signInId">AND sign_in_id = #{signInId,jdbcType=INTEGER},</if>
  151 + <if test="null!=exType">AND ex_type = #{exType,jdbcType=TINYINT},</if>
  152 + <if test="null!=signTime">AND sign_time = #{signTime,jdbcType=TIMESTAMP},</if>
  153 + <if test="null!=signType">AND sign_type = #{signType,jdbcType=TINYINT},</if>
  154 + <if test="null!=alcoholFlag">AND alcohol_flag = #{alcoholFlag,jdbcType=TINYINT},</if>
  155 + <if test="null!=alcoholIntake">AND alcohol_intake = #{alcoholIntake,jdbcType=DECIMAL},</if>
  156 + <if test="null!=remark">AND remark = #{remark,jdbcType=VARCHAR},</if>
  157 + <if test="null!=keyInfoId">AND key_info_id = #{keyInfoId,jdbcType=INTEGER},</if>
  158 + </sql>
  159 +</mapper>
0 160 \ No newline at end of file
... ...
Bsth-common/src/main/java/com/ruoyi/common/utils/DateUtils.java
1 1 package com.ruoyi.common.utils;
2 2  
  3 +import org.apache.commons.lang3.StringUtils;
  4 +import org.apache.commons.lang3.time.DateFormatUtils;
  5 +import org.apache.commons.lang3.time.FastDateFormat;
  6 +
3 7 import java.lang.management.ManagementFactory;
4 8 import java.text.ParseException;
5 9 import java.text.SimpleDateFormat;
6   -import java.time.LocalDate;
7   -import java.time.LocalDateTime;
8   -import java.time.LocalTime;
9   -import java.time.ZoneId;
10   -import java.time.ZonedDateTime;
  10 +import java.time.*;
11 11 import java.util.Date;
12   -import org.apache.commons.lang3.time.DateFormatUtils;
13 12  
14 13 /**
15 14 * 时间工具类
16   - *
  15 + *
17 16 * @author ruoyi
18 17 */
19   -public class DateUtils extends org.apache.commons.lang3.time.DateUtils
20   -{
21   - public static String YYYY = "yyyy";
  18 +public class DateUtils extends org.apache.commons.lang3.time.DateUtils {
  19 + public static FastDateFormat YYYY = FastDateFormat.getInstance("yyyy");
  20 +
  21 + public static FastDateFormat YYYY_MM = FastDateFormat.getInstance("yyyy-MM");
22 22  
23   - public static String YYYY_MM = "yyyy-MM";
  23 + public static FastDateFormat YYYY_MM_DD = FastDateFormat.getInstance("yyyy-MM-dd");
24 24  
25   - public static String YYYY_MM_DD = "yyyy-MM-dd";
  25 + public static FastDateFormat YYYYMMDDHHMMSS = FastDateFormat.getInstance("yyyyMMddHHmmss");
26 26  
27   - public static String YYYYMMDDHHMMSS = "yyyyMMddHHmmss";
  27 + public static FastDateFormat YYYY_MM_DD_HH_MM_SS = FastDateFormat.getInstance("yyyy-MM-dd HH:mm:ss");
  28 + public static FastDateFormat YYYY_MM_DD_HH_MM = FastDateFormat.getInstance("yyyy-MM-dd HH:mm");
  29 +
  30 + public static FastDateFormat YYYY_MM_DD_SKIMMING = FastDateFormat.getInstance("yyyy/MM/dd");
  31 + public static FastDateFormat YYYY_MM_DD_HH_MM_SS_SKIMMING = FastDateFormat.getInstance("yyyy/MM/dd HH:mm:ss");
  32 + public static FastDateFormat YYYY_MM_DD_HH_MM_SKIMMING = FastDateFormat.getInstance("yyyy/MM/dd HH:mm");
  33 + public static FastDateFormat YYYY_MM_SKIMMING = FastDateFormat.getInstance("yyyy/MM");
  34 +
  35 + public static FastDateFormat YYYY_MM_DD_SPOT = FastDateFormat.getInstance("yyyy.MM.dd");
  36 + public static FastDateFormat YYYY_MM_DD_HH_MM_SS_SPOT = FastDateFormat.getInstance("yyyy.MM.dd HH:mm:ss");
  37 + public static FastDateFormat YYYY_MM_DD_HH_MM_SPOT = FastDateFormat.getInstance("yyyy.MM.dd HH:mm");
  38 + public static FastDateFormat YYYY_MM_SPOT = FastDateFormat.getInstance("yyyy.MM");
28 39  
29   - public static String YYYY_MM_DD_HH_MM_SS = "yyyy-MM-dd HH:mm:ss";
30 40  
31 41 private static String[] parsePatterns = {
32   - "yyyy-MM-dd", "yyyy-MM-dd HH:mm:ss", "yyyy-MM-dd HH:mm", "yyyy-MM",
  42 + "yyyy-MM-dd", "yyyy-MM-dd HH:mm:ss", "yyyy-MM-dd HH:mm", "yyyy-MM",
33 43 "yyyy/MM/dd", "yyyy/MM/dd HH:mm:ss", "yyyy/MM/dd HH:mm", "yyyy/MM",
34 44 "yyyy.MM.dd", "yyyy.MM.dd HH:mm:ss", "yyyy.MM.dd HH:mm", "yyyy.MM"};
35 45  
36 46 /**
37 47 * 获取当前Date型日期
38   - *
  48 + *
39 49 * @return Date() 当前日期
40 50 */
41   - public static Date getNowDate()
42   - {
  51 + public static Date getNowDate() {
43 52 return new Date();
44 53 }
45 54  
46 55 /**
47 56 * 获取当前日期, 默认格式为yyyy-MM-dd
48   - *
  57 + *
49 58 * @return String
50 59 */
51   - public static String getDate()
52   - {
  60 + public static String getDate() {
53 61 return dateTimeNow(YYYY_MM_DD);
54 62 }
55 63  
56 64  
57   - public static final String getTime()
58   - {
  65 + public static final String getTime() {
59 66 return dateTimeNow(YYYY_MM_DD_HH_MM_SS);
60 67 }
61 68  
62   - public static final String dateTimeNow()
63   - {
  69 + public static final String dateTimeNow() {
64 70 return dateTimeNow(YYYYMMDDHHMMSS);
65 71 }
66 72  
67   - public static final String dateTimeNow(final String format)
68   - {
  73 + public static final String dateTimeNow(final FastDateFormat format) {
69 74 return parseDateToStr(format, new Date());
70 75 }
71 76  
72   - public static final String dateTime(final Date date)
73   - {
  77 + public static final String dateTime(final Date date) {
74 78 return parseDateToStr(YYYY_MM_DD, date);
75 79 }
76 80  
77   - public static final String parseDateToStr(final String format, final Date date)
78   - {
79   - return new SimpleDateFormat(format).format(date);
  81 + public static final String parseDateToStr(final FastDateFormat format, final Date date) {
  82 + return format.format(date);
80 83 }
81 84  
82   - public static final Date dateTime(final String format, final String ts)
83   - {
84   - try
85   - {
86   - return new SimpleDateFormat(format).parse(ts);
  85 + public static final String parseDateToStr(final String format, final Date date) {
  86 + if (StringUtils.equals(format, YYYY.getPattern())) {
  87 + return YYYY.format(date);
  88 + } else if (StringUtils.equals(format, YYYY_MM.getPattern())) {
  89 + return YYYY_MM.format(date);
  90 + } else if (StringUtils.equals(format, YYYY_MM_DD.getPattern())) {
  91 + return YYYY_MM_DD.format(date);
  92 + } else if (StringUtils.equals(format, YYYYMMDDHHMMSS.getPattern())) {
  93 + return YYYYMMDDHHMMSS.format(date);
  94 + } else {
  95 + return YYYY_MM_DD_HH_MM_SS.format(date);
87 96 }
88   - catch (ParseException e)
89   - {
  97 + }
  98 +
  99 + public static final Date dateTime(final String format, final String ts) {
  100 + try {
  101 + return new SimpleDateFormat(format).parse(ts);
  102 + } catch (ParseException e) {
90 103 throw new RuntimeException(e);
91 104 }
92 105 }
... ... @@ -94,8 +107,7 @@ public class DateUtils extends org.apache.commons.lang3.time.DateUtils
94 107 /**
95 108 * 日期路径 即年/月/日 如2018/08/08
96 109 */
97   - public static final String datePath()
98   - {
  110 + public static final String datePath() {
99 111 Date now = new Date();
100 112 return DateFormatUtils.format(now, "yyyy/MM/dd");
101 113 }
... ... @@ -103,8 +115,7 @@ public class DateUtils extends org.apache.commons.lang3.time.DateUtils
103 115 /**
104 116 * 日期路径 即年/月/日 如20180808
105 117 */
106   - public static final String dateTime()
107   - {
  118 + public static final String dateTime() {
108 119 Date now = new Date();
109 120 return DateFormatUtils.format(now, "yyyyMMdd");
110 121 }
... ... @@ -112,18 +123,13 @@ public class DateUtils extends org.apache.commons.lang3.time.DateUtils
112 123 /**
113 124 * 日期型字符串转化为日期 格式
114 125 */
115   - public static Date parseDate(Object str)
116   - {
117   - if (str == null)
118   - {
  126 + public static Date parseDate(Object str) {
  127 + if (str == null) {
119 128 return null;
120 129 }
121   - try
122   - {
  130 + try {
123 131 return parseDate(str.toString(), parsePatterns);
124   - }
125   - catch (ParseException e)
126   - {
  132 + } catch (ParseException e) {
127 133 return null;
128 134 }
129 135 }
... ... @@ -131,8 +137,7 @@ public class DateUtils extends org.apache.commons.lang3.time.DateUtils
131 137 /**
132 138 * 获取服务器启动时间
133 139 */
134   - public static Date getServerStartDate()
135   - {
  140 + public static Date getServerStartDate() {
136 141 long time = ManagementFactory.getRuntimeMXBean().getStartTime();
137 142 return new Date(time);
138 143 }
... ... @@ -140,20 +145,18 @@ public class DateUtils extends org.apache.commons.lang3.time.DateUtils
140 145 /**
141 146 * 计算相差天数
142 147 */
143   - public static int differentDaysByMillisecond(Date date1, Date date2)
144   - {
  148 + public static int differentDaysByMillisecond(Date date1, Date date2) {
145 149 return Math.abs((int) ((date2.getTime() - date1.getTime()) / (1000 * 3600 * 24)));
146 150 }
147 151  
148 152 /**
149 153 * 计算时间差
150 154 *
151   - * @param endTime 最后时间
  155 + * @param endDate 最后时间
152 156 * @param startTime 开始时间
153 157 * @return 时间差(天/小时/分钟)
154 158 */
155   - public static String timeDistance(Date endDate, Date startTime)
156   - {
  159 + public static String timeDistance(Date endDate, Date startTime) {
157 160 long nd = 1000 * 24 * 60 * 60;
158 161 long nh = 1000 * 60 * 60;
159 162 long nm = 1000 * 60;
... ... @@ -174,8 +177,7 @@ public class DateUtils extends org.apache.commons.lang3.time.DateUtils
174 177 /**
175 178 * 增加 LocalDateTime ==> Date
176 179 */
177   - public static Date toDate(LocalDateTime temporalAccessor)
178   - {
  180 + public static Date toDate(LocalDateTime temporalAccessor) {
179 181 ZonedDateTime zdt = temporalAccessor.atZone(ZoneId.systemDefault());
180 182 return Date.from(zdt.toInstant());
181 183 }
... ... @@ -183,8 +185,7 @@ public class DateUtils extends org.apache.commons.lang3.time.DateUtils
183 185 /**
184 186 * 增加 LocalDate ==> Date
185 187 */
186   - public static Date toDate(LocalDate temporalAccessor)
187   - {
  188 + public static Date toDate(LocalDate temporalAccessor) {
188 189 LocalDateTime localDateTime = LocalDateTime.of(temporalAccessor, LocalTime.of(0, 0, 0));
189 190 ZonedDateTime zdt = localDateTime.atZone(ZoneId.systemDefault());
190 191 return Date.from(zdt.toInstant());
... ...
Bsth-common/src/main/java/com/ruoyi/common/utils/poi/ExcelUtil.java
1 1 package com.ruoyi.common.utils.poi;
2   -import com.alibaba.excel.EasyExcel;
3   -import java.io.File;
4   -import java.io.FileOutputStream;
5   -import java.io.IOException;
6   -import java.io.InputStream;
7   -import java.io.OutputStream;
8   -import java.lang.reflect.Field;
9   -import java.lang.reflect.Method;
10   -import java.lang.reflect.ParameterizedType;
11   -import java.math.BigDecimal;
12   -import java.text.DecimalFormat;
13   -import java.time.LocalDate;
14   -import java.time.LocalDateTime;
15   -import java.util.ArrayList;
16   -import java.util.Arrays;
17   -import java.util.Collection;
18   -import java.util.Comparator;
19   -import java.util.Date;
20   -import java.util.HashMap;
21   -import java.util.List;
22   -import java.util.Map;
23   -import java.util.Set;
24   -import java.util.UUID;
25   -import java.util.stream.Collectors;
26   -import javax.servlet.http.HttpServletResponse;
27 2  
28   -import com.alibaba.excel.write.metadata.WriteSheet;
29   -import com.alibaba.excel.write.metadata.style.WriteCellStyle;
30   -import com.alibaba.excel.write.metadata.style.WriteFont;
31   -import com.alibaba.excel.write.style.column.LongestMatchColumnWidthStyleStrategy;
32   -import org.apache.commons.lang3.ArrayUtils;
33   -import org.apache.commons.lang3.RegExUtils;
34   -import org.apache.commons.lang3.reflect.FieldUtils;
35   -import org.apache.poi.hssf.usermodel.HSSFClientAnchor;
36   -import org.apache.poi.hssf.usermodel.HSSFPicture;
37   -import org.apache.poi.hssf.usermodel.HSSFPictureData;
38   -import org.apache.poi.hssf.usermodel.HSSFShape;
39   -import org.apache.poi.hssf.usermodel.HSSFSheet;
40   -import org.apache.poi.hssf.usermodel.HSSFWorkbook;
41   -import org.apache.poi.ooxml.POIXMLDocumentPart;
42   -import org.apache.poi.ss.usermodel.BorderStyle;
43   -import org.apache.poi.ss.usermodel.Cell;
44   -import org.apache.poi.ss.usermodel.CellStyle;
45   -import org.apache.poi.ss.usermodel.CellType;
46   -import org.apache.poi.ss.usermodel.ClientAnchor;
47   -import org.apache.poi.ss.usermodel.DataValidation;
48   -import org.apache.poi.ss.usermodel.DataValidationConstraint;
49   -import org.apache.poi.ss.usermodel.DataValidationHelper;
50   -import org.apache.poi.ss.usermodel.DateUtil;
51   -import org.apache.poi.ss.usermodel.Drawing;
52   -import org.apache.poi.ss.usermodel.FillPatternType;
53   -import org.apache.poi.ss.usermodel.Font;
54   -import org.apache.poi.ss.usermodel.HorizontalAlignment;
55   -import org.apache.poi.ss.usermodel.IndexedColors;
56   -import org.apache.poi.ss.usermodel.Name;
57   -import org.apache.poi.ss.usermodel.PictureData;
58   -import org.apache.poi.ss.usermodel.Row;
59   -import org.apache.poi.ss.usermodel.Sheet;
60   -import org.apache.poi.ss.usermodel.VerticalAlignment;
61   -import org.apache.poi.ss.usermodel.Workbook;
62   -import org.apache.poi.ss.usermodel.WorkbookFactory;
63   -import org.apache.poi.ss.util.CellRangeAddress;
64   -import org.apache.poi.ss.util.CellRangeAddressList;
65   -import org.apache.poi.util.IOUtils;
66   -import org.apache.poi.xssf.streaming.SXSSFWorkbook;
67   -import org.apache.poi.xssf.usermodel.XSSFClientAnchor;
68   -import org.apache.poi.xssf.usermodel.XSSFDataValidation;
69   -import org.apache.poi.xssf.usermodel.XSSFDrawing;
70   -import org.apache.poi.xssf.usermodel.XSSFPicture;
71   -import org.apache.poi.xssf.usermodel.XSSFShape;
72   -import org.apache.poi.xssf.usermodel.XSSFSheet;
73   -import org.apache.poi.xssf.usermodel.XSSFWorkbook;
74   -import org.openxmlformats.schemas.drawingml.x2006.spreadsheetDrawing.CTMarker;
75   -import org.slf4j.Logger;
76   -import org.slf4j.LoggerFactory;
  3 +import com.alibaba.excel.EasyExcel;
77 4 import com.ruoyi.common.annotation.Excel;
78 5 import com.ruoyi.common.annotation.Excel.ColumnType;
79 6 import com.ruoyi.common.annotation.Excel.Type;
... ... @@ -89,6 +16,32 @@ import com.ruoyi.common.utils.file.FileTypeUtils;
89 16 import com.ruoyi.common.utils.file.FileUtils;
90 17 import com.ruoyi.common.utils.file.ImageUtils;
91 18 import com.ruoyi.common.utils.reflect.ReflectUtils;
  19 +import org.apache.commons.lang3.ArrayUtils;
  20 +import org.apache.commons.lang3.RegExUtils;
  21 +import org.apache.commons.lang3.reflect.FieldUtils;
  22 +import org.apache.poi.hssf.usermodel.*;
  23 +import org.apache.poi.ooxml.POIXMLDocumentPart;
  24 +import org.apache.poi.ss.usermodel.*;
  25 +import org.apache.poi.ss.util.CellRangeAddress;
  26 +import org.apache.poi.ss.util.CellRangeAddressList;
  27 +import org.apache.poi.util.IOUtils;
  28 +import org.apache.poi.xssf.streaming.SXSSFWorkbook;
  29 +import org.apache.poi.xssf.usermodel.*;
  30 +import org.openxmlformats.schemas.drawingml.x2006.spreadsheetDrawing.CTMarker;
  31 +import org.slf4j.Logger;
  32 +import org.slf4j.LoggerFactory;
  33 +
  34 +import javax.servlet.http.HttpServletResponse;
  35 +import java.io.*;
  36 +import java.lang.reflect.Field;
  37 +import java.lang.reflect.Method;
  38 +import java.lang.reflect.ParameterizedType;
  39 +import java.math.BigDecimal;
  40 +import java.text.DecimalFormat;
  41 +import java.time.LocalDate;
  42 +import java.time.LocalDateTime;
  43 +import java.util.*;
  44 +import java.util.stream.Collectors;
92 45  
93 46 /**
94 47 * Excel相关处理
... ... @@ -1691,6 +1644,8 @@ public class ExcelUtil&lt;T&gt;
1691 1644 return str;
1692 1645 }
1693 1646  
  1647 +
  1648 +
1694 1649 /**
1695 1650 * 是否有对象的子列表
1696 1651 */
... ...