Commit 0ac09b458a6f80513dcf48b48434da6190a78423

Authored by liujun001
1 parent 00126f18

蓝斯接口

Showing 96 changed files with 3045 additions and 18 deletions
Bsth-admin/src/main/java/com/ruoyi/config/BsthSystemConfig.java
... ... @@ -13,4 +13,7 @@ import org.springframework.stereotype.Component;
13 13 public class BsthSystemConfig {
14 14 @Value("${bsth.upload.image.basePath}")
15 15 private String imageBasePath;
  16 +
  17 + @Value("${bsth.upload.video.basePath}")
  18 + private String videoBasePath;
16 19 }
... ...
Bsth-admin/src/main/java/com/ruoyi/controller/dss/DssDriverController.java
... ... @@ -22,12 +22,16 @@ import com.ruoyi.domain.dss.driver.vo.GetBusPlanListVo;
22 22 import com.ruoyi.domain.dss.sign.dto.DssGetWineRecordDTO;
23 23 import com.ruoyi.domain.dss.sign.dto.DssSignDTO;
24 24 import com.ruoyi.domain.dss.sign.dto.DssSignOutDTO;
  25 +import com.ruoyi.domain.dss.sign.resource.UpLoadPictureDTO;
  26 +import com.ruoyi.domain.dss.sign.resource.UpLoadVideoDTO;
25 27 import com.ruoyi.domain.dss.sign.vo.DssSignVo;
26 28 import com.ruoyi.domain.dss.sign.vo.GetWineRecordVo;
27 29 import com.ruoyi.domain.dss.sign.vo.SignOutVo;
28 30 import com.ruoyi.domain.scheduling.LinggangScheduling;
  31 +import com.ruoyi.domain.sign.in.resource.LinggangSignInResource;
29 32 import com.ruoyi.equipment.domain.Equipment;
30 33 import com.ruoyi.equipment.service.IEquipmentService;
  34 +import com.ruoyi.exception.InterruptException;
31 35 import com.ruoyi.in.domain.SignIn;
32 36 import com.ruoyi.in.service.ISignInService;
33 37 import com.ruoyi.pojo.response.SignInResponseVo;
... ... @@ -35,6 +39,7 @@ import com.ruoyi.service.carinfo.CarInfoService;
35 39 import com.ruoyi.service.driver.NewDriverService;
36 40 import com.ruoyi.service.dss.FaceService;
37 41 import com.ruoyi.service.scheduling.LinggangSchedulingService;
  42 +import com.ruoyi.service.sign.in.resource.LinggangSignInResourceService;
38 43 import com.ruoyi.system.service.ISysDictDataService;
39 44 import io.swagger.annotations.Api;
40 45 import io.swagger.annotations.ApiOperation;
... ... @@ -74,6 +79,8 @@ public class DssDriverController extends BaseController {
74 79 private CarInfoService carInfoService;
75 80 @Autowired
76 81 private IEquipmentService equipmentService;
  82 + @Autowired
  83 + private LinggangSignInResourceService signInResourceService;
77 84  
78 85 @PostMapping(value = "/Driver/Login")
79 86 @ApiOperation("人员登录设备")
... ... @@ -210,6 +217,38 @@ public class DssDriverController extends BaseController {
210 217 return ResponseResult.success(vos);
211 218 }
212 219  
  220 + @PostMapping(value = "Driver/UpLoadPicture")
  221 + @ApiOperation(value = "25.酒测照片上传")
  222 + public ResponseResult<Boolean> UpLoadPicture(@Valid @RequestBody UpLoadPictureDTO dto, BindingResult bindingResult) {
  223 + if (bindingResult.hasErrors()) {
  224 + return ResponseResult.error(bindingResult.getFieldError().getDefaultMessage());
  225 + }
  226 + List<LinggangSignInResource> convertLinggangSignInResources = convertLinggangSignInResource(dto);
  227 + try {
  228 + boolean flag = signInResourceService.insertImage(convertLinggangSignInResources);
  229 + return flag ? ResponseResult.success(Boolean.TRUE) : ResponseResult.error("上传失败,请稍后再试");
  230 + } catch (InterruptException e) {
  231 + log.error("图片上传失败,[{}]", dto);
  232 + return ResponseResult.error("上传失败,请稍后再试");
  233 + }
  234 + }
  235 +
  236 + @PostMapping(value = "/Driver/UpLoadVideo")
  237 + @ApiOperation(value = "26.酒测视频上传")
  238 + public ResponseResult<Boolean> UpLoadVideo(@Valid @RequestBody UpLoadVideoDTO dto, BindingResult bindingResult) {
  239 + if (bindingResult.hasErrors()) {
  240 + return ResponseResult.error(bindingResult.getFieldError().getDefaultMessage());
  241 + }
  242 + LinggangSignInResource resource = cconvertLinggangSignInResource(dto);
  243 + try {
  244 + boolean flag = signInResourceService.insertVoide(resource);
  245 + return flag ? ResponseResult.success(Boolean.TRUE) : ResponseResult.error("上传失败,请稍后再试");
  246 + } catch (InterruptException e) {
  247 + log.error("视频上传失败,[{}]", dto);
  248 + return ResponseResult.error("上传失败,请稍后再试");
  249 + }
  250 + }
  251 +
213 252  
214 253 /***
215 254 * 登陆转换
... ... @@ -381,6 +420,38 @@ public class DssDriverController extends BaseController {
381 420 return signIn;
382 421 }
383 422  
  423 + private List<LinggangSignInResource> convertLinggangSignInResource(UpLoadPictureDTO dto) {
  424 + if (CollectionUtils.isEmpty(dto.getPicData())) {
  425 + return Collections.emptyList();
  426 + }
  427 +
  428 + return dto.getPicData().stream().map(pic -> {
  429 + LinggangSignInResource resource = new LinggangSignInResource();
  430 + resource.setSignId(dto.getTestId());
  431 + resource.setIndex(pic.getIndex());
  432 + resource.setResourceType(1);
  433 + resource.setTime(pic.getTime());
  434 + resource.setCreateBy(getUserId());
  435 + resource.setCreateTime(new Date());
  436 + resource.setDevice(dto.getDevice());
  437 + resource.setContent(pic.getPic());
  438 +
  439 + return resource;
  440 + }).collect(Collectors.toList());
  441 + }
  442 +
  443 + private LinggangSignInResource cconvertLinggangSignInResource(UpLoadVideoDTO dto) {
  444 + LinggangSignInResource resource = new LinggangSignInResource();
  445 + resource.setSignId(dto.getTestId());
  446 + resource.setTime(dto.getTime());
  447 + resource.setIndex(1);
  448 + resource.setResourceType(2);
  449 + resource.setDevice(dto.getDevice());
  450 + resource.setContent(dto.getVideo());
  451 +
  452 + return resource;
  453 + }
  454 +
384 455 private DssSignVo convertSignInVo(SignInResponseVo responseVo) {
385 456 DssSignVo vo = new DssSignVo();
386 457 vo.setTestId(Convert.toStr(responseVo.getId()));
... ...
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 @RequestBody EquipmentAuthDTO dto, BindingResult bindingResult) {
  82 + public ResponseResult<AuthVo> auth(@Valid @RequestBody EquipmentAuthDTO dto, BindingResult bindingResult) {
83 83 if (bindingResult.hasErrors()) {
84 84 return ResponseResult.error(bindingResult.getFieldError().getDefaultMessage());
85 85 }
... ... @@ -123,7 +123,7 @@ public class DssEquipmentController extends BaseController {
123 123 @GetMapping(value = "/getConfig")
124 124 @ApiOperation("设备获取远程参数配置")
125 125 @Parameter(name = "device", description = "设备号", required = true)
126   - public ResponseResult getConfig(@RequestParam(value = "device") String device) {
  126 + public ResponseResult<EquipmentConfigVo> getConfig(@RequestParam(value = "device") String device) {
127 127 if (StringUtils.isEmpty(device)) {
128 128 return ResponseResult.error("设备号不能为空");
129 129 }
... ...
Bsth-admin/src/main/java/com/ruoyi/controller/dss/KeyBoxController.java
... ... @@ -2,16 +2,20 @@ package com.ruoyi.controller.dss;
2 2  
3 3 import cn.hutool.core.convert.Convert;
4 4 import com.alibaba.fastjson2.JSON;
  5 +import com.baomidou.mybatisplus.core.metadata.IPage;
  6 +import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
5 7 import com.ruoyi.common.ConstDriverProperties;
6 8 import com.ruoyi.common.TipEnum;
7 9 import com.ruoyi.common.core.controller.BaseController;
8 10 import com.ruoyi.common.core.domain.ResponseResult;
9 11 import com.ruoyi.common.utils.DateUtils;
  12 +import com.ruoyi.domain.OrderEntity;
10 13 import com.ruoyi.domain.caiinfo.CarInfo;
11 14 import com.ruoyi.domain.driver.NewDriver;
12 15 import com.ruoyi.domain.dss.key.box.dto.KeyBasicSyncDTO;
13 16 import com.ruoyi.domain.dss.key.box.dto.SkipOperationDTO;
14 17 import com.ruoyi.domain.dss.key.box.dto.TakeKeyDTO;
  18 +import com.ruoyi.domain.dss.key.box.dto.YarnCabinetStatePageDTO;
15 19 import com.ruoyi.domain.dss.key.box.vo.*;
16 20 import com.ruoyi.domain.dss.key.location.dto.WorkPlateV2DTO;
17 21 import com.ruoyi.domain.dss.key.location.vo.WorkPlateV2Vo;
... ... @@ -30,10 +34,11 @@ import com.ruoyi.service.equipment.linke.log.LingangEquipmentLinkeLogService;
30 34 import com.ruoyi.service.key.info.KeyInfoService;
31 35 import com.ruoyi.service.key.location.LinggangKeyWorkLocationService;
32 36 import com.ruoyi.service.scheduling.LinggangSchedulingService;
  37 +import com.ruoyi.service.venue.info.LinggangVenueInfoService;
33 38 import io.swagger.annotations.Api;
34   -import io.swagger.annotations.ApiModelProperty;
35 39 import io.swagger.annotations.ApiOperation;
36 40 import org.apache.commons.collections4.CollectionUtils;
  41 +import org.apache.commons.lang3.StringUtils;
37 42 import org.springframework.beans.factory.annotation.Autowired;
38 43 import org.springframework.validation.BindingResult;
39 44 import org.springframework.web.bind.annotation.PostMapping;
... ... @@ -73,6 +78,8 @@ public class KeyBoxController extends BaseController {
73 78 private IEquipmentService equipmentService;
74 79 @Autowired
75 80 private NewDriverService newDriverService;
  81 + @Autowired
  82 + private LinggangVenueInfoService venueInfoService;
76 83  
77 84 @PostMapping(value = "/keybox/findKey")
78 85 @ApiOperation("钥匙信息查询")
... ... @@ -195,7 +202,7 @@ public class KeyBoxController extends BaseController {
195 202 }
196 203  
197 204 @PostMapping(value = "Driver/TakeKey")
198   - @ApiModelProperty(value = "20.人员领取钥匙")
  205 + @ApiOperation(value = "20.人员领取钥匙")
199 206 public ResponseResult<TakeKeyVo> takeKey(@Valid TakeKeyDTO dto, BindingResult bindingResult) {
200 207 if (bindingResult.hasErrors()) {
201 208 return ResponseResult.error(bindingResult.getFieldError().getDefaultMessage());
... ... @@ -211,8 +218,8 @@ public class KeyBoxController extends BaseController {
211 218 }
212 219  
213 220 @PostMapping(value = "Driver/TurnKey")
214   - @ApiModelProperty(value = "21.人员归还钥匙")
215   - public ResponseResult<TakeKeyVo> turnKey(@Valid TakeKeyDTO dto, BindingResult bindingResult) {
  221 + @ApiOperation(value = "21.人员归还钥匙")
  222 + public ResponseResult<TakeKeyVo> turnKey(@Valid @RequestBody TakeKeyDTO dto, BindingResult bindingResult) {
216 223 if (bindingResult.hasErrors()) {
217 224 return ResponseResult.error(bindingResult.getFieldError().getDefaultMessage());
218 225 }
... ... @@ -226,6 +233,84 @@ public class KeyBoxController extends BaseController {
226 233 return new ResponseResult<>(responseResult.getCode(), responseResult.getMsg(), vo);
227 234 }
228 235  
  236 + @PostMapping(value = "/keybox/yarnCabinetState/page")
  237 + @ApiOperation(value = "24.场站钥匙柜实况信息")
  238 + public ResponseResult<YarnCabinetStatePageVO> yarnCabinetStatePage(@Valid @RequestBody YarnCabinetStatePageDTO dto, BindingResult bindingResult) {
  239 + if (bindingResult.hasErrors()) {
  240 + return ResponseResult.error(bindingResult.getFieldError().getDefaultMessage());
  241 + }
  242 +
  243 + Set<Integer> keyInfoIds = null;
  244 + List<KeyInfo> keyInfos = null;
  245 + LinggangKeyWorkLocation keyWorkLocation = new LinggangKeyWorkLocation();
  246 + if (StringUtils.isNotEmpty(dto.getDevice())) {
  247 + keyWorkLocation.setDevice(dto.getDevice());
  248 + }
  249 +
  250 + if (StringUtils.isNotEmpty(dto.getPlate())) {
  251 + KeyInfo keyInfo = new KeyInfo();
  252 + keyInfo.setPlateNum(dto.getPlate());
  253 + keyInfos = keyInfoService.list(keyInfo);
  254 + if (CollectionUtils.isNotEmpty(keyInfos)) {
  255 + keyInfoIds = keyInfos.stream().map(KeyInfo::getId).collect(Collectors.toSet());
  256 + }
  257 + }
  258 +
  259 + LinggangKeyWorkLocation location = new LinggangKeyWorkLocation();
  260 + location.setDevice(dto.getDevice());
  261 +
  262 + List<LinggangKeyWorkLocation> locations = linggangKeyWorkLocationService.listRecent(location, keyInfoIds, new Date());
  263 + if (CollectionUtils.isEmpty(locations)) {
  264 + return ResponseResult.success();
  265 + }
  266 +
  267 + location.setType(255);
  268 + location.setScheduleDate(locations.get(0).getScheduleDate());
  269 + int errorCount = linggangKeyWorkLocationService.countId(location);
  270 +
  271 + location.setType(0);
  272 + int depositCount = linggangKeyWorkLocationService.countId(location);
  273 +
  274 + Equipment equipment = queryEquipment(dto.getDevice());
  275 +
  276 + Equipment sourceEq = new Equipment();
  277 + sourceEq.setYardId(locations.get(0).getYardId());
  278 + List<Equipment> equipmentList = equipmentService.list(sourceEq);
  279 +
  280 + LinggangKeyWorkLocation locationEq = new LinggangKeyWorkLocation();
  281 + locationEq.setYardId(sourceEq.getYardId());
  282 + locationEq.setScheduleDate(locations.get(0).getScheduleDate());
  283 +
  284 + List<LinggangKeyWorkLocation> locationsOfEq = linggangKeyWorkLocationService.list(locationEq);
  285 +
  286 + locationEq = new LinggangKeyWorkLocation();
  287 + locationEq.setYardId(sourceEq.getYardId());
  288 + locationEq.setEndScheduleDate(locations.get(0).getScheduleDate());
  289 + IPage<LinggangKeyWorkLocation> page = linggangKeyWorkLocationService.pageList(new Page<>(dto.getPageNum(), dto.getPageSize()), locationEq, new OrderEntity());
  290 +
  291 + List<LinggangScheduling> schedulings = Collections.emptyList();
  292 + List<CarInfo> carInfos = Collections.emptyList();
  293 + List<NewDriver> drivers = Collections.emptyList();
  294 + List<Equipment> yarnCabinetStateEqus = Collections.emptyList();
  295 +
  296 + if (Objects.nonNull(page) && CollectionUtils.isNotEmpty(page.getRecords())) {
  297 + Set<Long> driverIds = page.getRecords().stream().map(LinggangKeyWorkLocation::getCreateBy).collect(Collectors.toSet());
  298 + drivers = newDriverService.listOfIdsLon(driverIds);
  299 +
  300 + Set<String> deviceCodes = page.getRecords().stream().map(LinggangKeyWorkLocation::getDevice).collect(Collectors.toSet());
  301 + yarnCabinetStateEqus = equipmentService.listNameAndIDBydeviceIds(deviceCodes);
  302 +
  303 + Set<Long> schedulingIds = page.getRecords().stream().map(LinggangKeyWorkLocation::getSchedulingId).collect(Collectors.toSet());
  304 + schedulings = schedulingService.listByIds(schedulingIds);
  305 + if (CollectionUtils.isNotEmpty(schedulings)) {
  306 + Set<String> nbbm = schedulings.stream().map(LinggangScheduling::getNbbm).collect(Collectors.toSet());
  307 + carInfos = carInfoService.list(nbbm);
  308 + }
  309 + }
  310 + YarnCabinetStatePageVO pageVO = conertYarnCabinetStatePageVO(locations, equipment, errorCount, depositCount, equipmentList, locationsOfEq, page, schedulings, dto, carInfos, drivers, yarnCabinetStateEqus);
  311 + return ResponseResult.success(pageVO);
  312 + }
  313 +
229 314 /***
230 315 * 查询排班
231 316 * @author liujun
... ... @@ -435,4 +520,108 @@ public class KeyBoxController extends BaseController {
435 520 vo.setResult(result.isSuccess() ? 0 : 1);
436 521 return vo;
437 522 }
  523 +
  524 + private YarnCabinetStatePageVO conertYarnCabinetStatePageVO(List<LinggangKeyWorkLocation> locations, Equipment equipment,
  525 + int errorCount, int depositCount, List<Equipment> equipmentList,
  526 + List<LinggangKeyWorkLocation> locationsOfEqs,
  527 + IPage<LinggangKeyWorkLocation> page, List<LinggangScheduling> schedulings,
  528 + YarnCabinetStatePageDTO dto, List<CarInfo> carInfos, List<NewDriver> drivers,
  529 + List<Equipment> yarnCabinetStateEqus) {
  530 + if (CollectionUtils.isEmpty(locations)) {
  531 + return null;
  532 + }
  533 + YarnCabinetStatePageVO vo = new YarnCabinetStatePageVO();
  534 + vo.setYarnId(locations.get(0).getYardId());
  535 + vo.setYarnName(locations.get(0).getYardName());
  536 + vo.setEx(errorCount);
  537 + vo.setIn(depositCount);
  538 +
  539 + if (Objects.nonNull(equipment)) {
  540 + int count = Objects.isNull(equipment.getLatticeNumber()) ? 0 : equipment.getLatticeNumber() - errorCount - depositCount;
  541 + count = count < 0 ? 0 : count;
  542 + vo.setFree(count);
  543 + }
  544 +
  545 +
  546 + if (CollectionUtils.isNotEmpty(equipmentList)) {
  547 + List<YarnCabinetStatePageCabinetsVO> cabinets = equipmentList.stream().map(eq -> {
  548 + YarnCabinetStatePageCabinetsVO cabinetsVO = new YarnCabinetStatePageCabinetsVO();
  549 + cabinetsVO.setDeviceId(eq.getDeviceId());
  550 + cabinetsVO.setDevice(eq.getIp());
  551 + cabinetsVO.setDeviceName(eq.getName());
  552 +
  553 + int count = Objects.isNull(eq.getLatticeNumber()) ? 0 : eq.getLatticeNumber();
  554 + List<YarnCabinetStatePageCabinetsKeysVO> keys = new ArrayList<>(count);
  555 + for (int i = 0; i < count; i++) {
  556 + YarnCabinetStatePageCabinetsKeysVO keysVO = new YarnCabinetStatePageCabinetsKeysVO();
  557 + keysVO.setCabinetNo(Convert.toStr(i + 1));
  558 + if (CollectionUtils.isEmpty(locationsOfEqs)) {
  559 + keysVO.setState(2);
  560 + } else {
  561 + Optional<LinggangKeyWorkLocation> optional = locationsOfEqs.stream().filter(l -> Objects.equals(l.getDevice(), eq.getDeviceId()) &&
  562 + Objects.equals(keysVO.getCabinetNo(), l.getCabinetNo())).findFirst();
  563 + if (optional.isPresent()) {
  564 + if (Objects.equals(255, optional.get().getType())) {
  565 + keysVO.setState(255);
  566 + } else if (Objects.equals(0, optional.get().getType())) {
  567 + keysVO.setState(1);
  568 + } else {
  569 + keysVO.setState(2);
  570 + }
  571 +
  572 + }
  573 + }
  574 + }
  575 +
  576 + cabinetsVO.setKeys(keys);
  577 + return cabinetsVO;
  578 +
  579 + }).collect(Collectors.toList());
  580 + vo.setCabinets(cabinets);
  581 + }
  582 +
  583 + if (Objects.nonNull(page)) {
  584 + YarnCabinetStatePageOutKeysVo keysVo = new YarnCabinetStatePageOutKeysVo();
  585 + keysVo.setCurrent(dto.getPageNum());
  586 + keysVo.setSize(dto.getPageSize());
  587 + keysVo.setTotal(page.getTotal());
  588 + keysVo.setPages(Convert.toInt(page.getPages()));
  589 + if (CollectionUtils.isNotEmpty(page.getRecords())) {
  590 + List<YarnCabinetStatePageOutKeysRecordsVo> recordsVos = page.getRecords().stream().map(l -> {
  591 + YarnCabinetStatePageOutKeysRecordsVo recordsVo = new YarnCabinetStatePageOutKeysRecordsVo();
  592 + if (CollectionUtils.isNotEmpty(schedulings)) {
  593 + Optional<LinggangScheduling> optional = schedulings.stream().filter(sc -> Objects.equals(l.getSchedulingId(), sc.getId())).findFirst();
  594 + if (optional.isPresent()) {
  595 + recordsVo.setRouteName(optional.get().getLineName());
  596 + if (CollectionUtils.isNotEmpty(carInfos)) {
  597 + Optional<CarInfo> optCar = carInfos.stream().filter(c -> Objects.equals(c.getNbbm(), optional.get().getNbbm())).findFirst();
  598 + if (optCar.isPresent()) {
  599 + recordsVo.setPlate(optCar.get().getPlateNum());
  600 + }
  601 + }
  602 + }
  603 + }
  604 +
  605 + if (CollectionUtils.isNotEmpty(drivers)) {
  606 + Optional<NewDriver> opt = drivers.stream().filter(d -> Objects.equals(Convert.toLong(d.getId()), l.getCreateBy())).findFirst();
  607 + if (opt.isPresent()) {
  608 + recordsVo.setStaffName(opt.get().getPersonnelName());
  609 + }
  610 + }
  611 + recordsVo.setTime(l.getCreateTime());
  612 +
  613 + if (CollectionUtils.isNotEmpty(yarnCabinetStateEqus)) {
  614 + Optional<Equipment> opt = yarnCabinetStateEqus.stream().filter(ya -> Objects.equals(ya.getDeviceId(), l.getDevice())).findFirst();
  615 + if (opt.isPresent()) {
  616 + recordsVo.setDeviceName(opt.get().getName());
  617 + }
  618 + }
  619 + return recordsVo;
  620 + }).collect(Collectors.toList());
  621 + keysVo.setRecords(recordsVos);
  622 + }
  623 + vo.setOutKeys(keysVo);
  624 + }
  625 + return vo;
  626 + }
438 627 }
... ...
Bsth-admin/src/main/java/com/ruoyi/controller/sign/in/resource/LinggangSignInResourceController.java 0 → 100644
  1 +package com.ruoyi.controller.sign.in.resource;
  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.sign.in.resource.LinggangSignInResource;
  9 +import com.ruoyi.domain.sign.in.resource.dto.LinggangSignInResourceAddDTO;
  10 +import com.ruoyi.domain.sign.in.resource.dto.LinggangSignInResourceQueryDTO;
  11 +import com.ruoyi.domain.sign.in.resource.dto.LinggangSignInResourceUpdateDTO;
  12 +import com.ruoyi.domain.sign.in.resource.vo.LinggangSignInResourceVO;
  13 +import com.ruoyi.service.sign.in.resource.LinggangSignInResourceService;
  14 +import io.swagger.annotations.Api;
  15 +import io.swagger.annotations.ApiOperation;
  16 +import org.springframework.beans.BeanUtils;
  17 +import org.springframework.beans.factory.annotation.Autowired;
  18 +import org.springframework.security.access.prepost.PreAuthorize;
  19 +import org.springframework.validation.BindingResult;
  20 +import org.springframework.web.bind.annotation.*;
  21 +
  22 +import javax.servlet.http.HttpServletResponse;
  23 +import javax.validation.Valid;
  24 +import java.util.Date;
  25 +import java.util.List;
  26 +
  27 +@RestController
  28 +@Api(tags = "打卡上传资源")
  29 +@RequestMapping("linggang/sign/in/resource")
  30 +public class LinggangSignInResourceController extends BaseController {
  31 + @Autowired
  32 + private LinggangSignInResourceService linggangSignInResourceService;
  33 +
  34 + @ApiOperation("分页查询")
  35 + @PreAuthorize("@ss.hasPermi('linggang:sign:in:resource:list:limit:page:limit')")
  36 + @PostMapping(value = "/list/limit/{page}/{pageLimit}")
  37 + public IPage<LinggangSignInResourceVO> listLimit(@ModelAttribute LinggangSignInResourceQueryDTO request, @ModelAttribute OrderEntity orderEntity, @PathVariable Integer page, @PathVariable Integer pageLimit, org.springframework.ui.Model model) {
  38 + LinggangSignInResource entity = convert(request);
  39 + IPage<LinggangSignInResource> response = linggangSignInResourceService.pageList(new Page<LinggangSignInResource>(page, pageLimit), entity, orderEntity);
  40 +
  41 + return convert(response);
  42 + }
  43 +
  44 + @ApiOperation("根据ID查询详情")
  45 + @GetMapping(value = "/view/{id}")
  46 + public com.ruoyi.common.core.domain.ResponseResult<LinggangSignInResourceVO> view(@PathVariable("id") Long id, org.springframework.ui.Model model) {
  47 + LinggangSignInResource source = linggangSignInResourceService.getById(id);
  48 +
  49 + return com.ruoyi.common.core.domain.ResponseResult.success(convert(source));
  50 + }
  51 +
  52 +
  53 + @PreAuthorize("@ss.hasPermi('linggang:sign:in:resource:export')")
  54 + @ApiOperation("导出")
  55 + @PostMapping("/export")
  56 + public void export(HttpServletResponse response, @RequestBody LinggangSignInResourceQueryDTO request) {
  57 + LinggangSignInResource entity = convert(request);
  58 + List<LinggangSignInResource> list = linggangSignInResourceService.list(entity);
  59 + ExcelUtil<LinggangSignInResource> util = new ExcelUtil<LinggangSignInResource>(LinggangSignInResource.class);
  60 + util.exportExcel(response, list, "LinggangSignInResource");
  61 + }
  62 +
  63 + @ApiOperation("添加")
  64 + @PreAuthorize("@ss.hasPermi('linggang:sign:in:resource:add')")
  65 + @PostMapping(value = "/add")
  66 + public com.ruoyi.common.core.domain.ResponseResult add(@Valid @ModelAttribute LinggangSignInResourceAddDTO request, BindingResult bindingResult) {
  67 + if (bindingResult.hasErrors()) {
  68 + return com.ruoyi.common.core.domain.ResponseResult.error(bindingResult.getFieldError().getDefaultMessage());
  69 + }
  70 + LinggangSignInResource entity = convert(request);
  71 + entity.setCreateBy(getUserId());
  72 + entity.setCreateTime(new Date());
  73 + int count = linggangSignInResourceService.insertSelective(entity);
  74 + return count > 0 ? com.ruoyi.common.core.domain.ResponseResult.success(Boolean.TRUE) : com.ruoyi.common.core.domain.ResponseResult.error("添加数据失败,请稍后再试");
  75 + }
  76 +
  77 + @ApiOperation("修改")
  78 + @PreAuthorize("@ss.hasPermi('linggang:sign:in:resource:update')")
  79 + @PostMapping(value = "/update")
  80 + public com.ruoyi.common.core.domain.ResponseResult update(@Valid @ModelAttribute LinggangSignInResourceUpdateDTO request, BindingResult bindingResult) {
  81 + if (bindingResult.hasErrors()) {
  82 + return com.ruoyi.common.core.domain.ResponseResult.error(bindingResult.getFieldError().getDefaultMessage());
  83 + }
  84 + LinggangSignInResource entity = convert(request);
  85 + entity.setUpdateBy(getUserId());
  86 + entity.setUpdateTime(new Date());
  87 + boolean flag = linggangSignInResourceService.updateByPrimaryKey(entity);
  88 + return flag ? com.ruoyi.common.core.domain.ResponseResult.success(Boolean.TRUE) : com.ruoyi.common.core.domain.ResponseResult.error("修改数据失败,请稍后再试");
  89 + }
  90 +
  91 + @PreAuthorize("@ss.hasPermi('linggang:sign:in:resource:del')")
  92 + @ApiOperation("删除数据")
  93 + @GetMapping(value = "/del/{id}")
  94 + public com.ruoyi.common.core.domain.ResponseResult delById(@PathVariable("id") Long id) {
  95 + boolean flag = linggangSignInResourceService.deleteById(id);
  96 + return flag ? com.ruoyi.common.core.domain.ResponseResult.success(Boolean.TRUE) : com.ruoyi.common.core.domain.ResponseResult.error("操作数据失败,请稍后再试");
  97 + }
  98 +
  99 + private LinggangSignInResource convert(LinggangSignInResourceQueryDTO source) {
  100 + return java.util.Optional.ofNullable(source).map(sc -> {
  101 + LinggangSignInResource target = new LinggangSignInResource();
  102 + BeanUtils.copyProperties(sc, target);
  103 + return target;
  104 + }).orElse(null);
  105 + }
  106 +
  107 + private LinggangSignInResource convert(LinggangSignInResourceUpdateDTO source) {
  108 + return java.util.Optional.ofNullable(source).map(sc -> {
  109 + LinggangSignInResource target = new LinggangSignInResource();
  110 + BeanUtils.copyProperties(sc, target);
  111 + return target;
  112 + }).orElse(null);
  113 + }
  114 +
  115 +
  116 + private LinggangSignInResource convert(LinggangSignInResourceAddDTO source) {
  117 + return java.util.Optional.ofNullable(source).map(sc -> {
  118 + LinggangSignInResource target = new LinggangSignInResource();
  119 + BeanUtils.copyProperties(sc, target);
  120 + return target;
  121 + }).orElseGet(null);
  122 + }
  123 +
  124 + private LinggangSignInResourceVO convert(LinggangSignInResource source) {
  125 + return java.util.Optional.ofNullable(source).map(sc -> {
  126 + LinggangSignInResourceVO target = new LinggangSignInResourceVO();
  127 + BeanUtils.copyProperties(source, target);
  128 + return target;
  129 + }).orElseGet(null);
  130 + }
  131 +
  132 + private List<LinggangSignInResourceVO> convert(List<LinggangSignInResource> sources) {
  133 + return java.util.Optional.ofNullable(sources).map(scs -> {
  134 + return scs.stream().map(source -> {
  135 + return convert(source);
  136 + }).collect(java.util.stream.Collectors.toList());
  137 + }).orElseGet(null);
  138 + }
  139 +
  140 + private IPage<LinggangSignInResourceVO> convert(IPage<LinggangSignInResource> sources) {
  141 + return java.util.Optional.ofNullable(sources).map(scs -> {
  142 + IPage<LinggangSignInResourceVO> target = new Page();
  143 + BeanUtils.copyProperties(scs, target);
  144 + List<LinggangSignInResourceVO> voNames = convert(scs.getRecords());
  145 + target.setRecords(voNames);
  146 +
  147 + return target;
  148 + }).orElseGet(null);
  149 + }
  150 +}
0 151 \ No newline at end of file
... ...
Bsth-admin/src/main/java/com/ruoyi/controller/venue/info/LinggangVenueInfoController.java 0 → 100644
  1 +package com.ruoyi.controller.venue.info;
  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.venue.info.LinggangVenueInfo;
  9 +import com.ruoyi.domain.venue.info.dto.LinggangVenueInfoAddDTO;
  10 +import com.ruoyi.domain.venue.info.dto.LinggangVenueInfoQueryDTO;
  11 +import com.ruoyi.domain.venue.info.dto.LinggangVenueInfoUpdateDTO;
  12 +import com.ruoyi.domain.venue.info.dto.LinggangVenueInfoUpdateStatusDTO;
  13 +import com.ruoyi.domain.venue.info.vo.LinggangVenueInfoVO;
  14 +import com.ruoyi.service.venue.info.LinggangVenueInfoService;
  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 = "场地Info")
  30 +@RequestMapping("linggang/venue/info")
  31 +public class LinggangVenueInfoController extends BaseController {
  32 + @Autowired
  33 + private LinggangVenueInfoService linggangVenueInfoService;
  34 +
  35 + @ApiOperation("分页查询")
  36 + @PreAuthorize("@ss.hasPermi('linggang:venue:info:list:limit:page:limit')")
  37 + @PostMapping(value = "/list/limit/{page}/{pageLimit}")
  38 + public IPage<LinggangVenueInfoVO> listLimit(@ModelAttribute LinggangVenueInfoQueryDTO request, @ModelAttribute OrderEntity orderEntity, @PathVariable Integer page, @PathVariable Integer pageLimit, org.springframework.ui.Model model) {
  39 + LinggangVenueInfo entity = convert(request);
  40 + IPage<LinggangVenueInfo> response = linggangVenueInfoService.pageList(new Page<LinggangVenueInfo>(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<LinggangVenueInfoVO> view(@PathVariable("id") Integer id, org.springframework.ui.Model model) {
  48 + LinggangVenueInfo source = linggangVenueInfoService.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<LinggangVenueInfoVO>> listSelect(@RequestBody LinggangVenueInfoQueryDTO request) {
  56 + LinggangVenueInfo entity = convert(request);
  57 + List<LinggangVenueInfo> selectList = linggangVenueInfoService.listOfSelect(entity);
  58 + return com.ruoyi.common.core.domain.ResponseResult.success(convert(selectList));
  59 + }
  60 +
  61 + @PreAuthorize("@ss.hasPermi('linggang:venue:info:export')")
  62 + @ApiOperation("导出")
  63 + @PostMapping("/export")
  64 + public void export(HttpServletResponse response, @RequestBody LinggangVenueInfoQueryDTO request) {
  65 + LinggangVenueInfo entity = convert(request);
  66 + List<LinggangVenueInfo> list = linggangVenueInfoService.list(entity);
  67 + ExcelUtil<LinggangVenueInfo> util = new ExcelUtil<LinggangVenueInfo>(LinggangVenueInfo.class);
  68 + util.exportExcel(response, list, "LinggangVenueInfo");
  69 + }
  70 +
  71 + @ApiOperation("添加")
  72 + @PreAuthorize("@ss.hasPermi('linggang:venue:info:add')")
  73 + @PostMapping(value = "/add")
  74 + public com.ruoyi.common.core.domain.ResponseResult add(@Valid @ModelAttribute LinggangVenueInfoAddDTO request, BindingResult bindingResult) {
  75 + if (bindingResult.hasErrors()) {
  76 + return com.ruoyi.common.core.domain.ResponseResult.error(bindingResult.getFieldError().getDefaultMessage());
  77 + }
  78 + LinggangVenueInfo entity = convert(request);
  79 + entity.setCreateBy(getUserId());
  80 + entity.setCrateTime(new Date());
  81 + int count = linggangVenueInfoService.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:venue:info:update')")
  87 + @PostMapping(value = "/update")
  88 + public com.ruoyi.common.core.domain.ResponseResult update(@Valid @ModelAttribute LinggangVenueInfoUpdateDTO request, BindingResult bindingResult) {
  89 + if (bindingResult.hasErrors()) {
  90 + return com.ruoyi.common.core.domain.ResponseResult.error(bindingResult.getFieldError().getDefaultMessage());
  91 + }
  92 + LinggangVenueInfo entity = convert(request);
  93 + entity.setUpdateBy(getUserId());
  94 + entity.setUpdateTime(new Date());
  95 + boolean flag = linggangVenueInfoService.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:venue:info:update:status')")
  101 + @PostMapping(value = "/update/status")
  102 + public com.ruoyi.common.core.domain.ResponseResult updateState(@ModelAttribute LinggangVenueInfoUpdateStatusDTO request) {
  103 + LinggangVenueInfo entity = convert(request);
  104 + boolean flag = linggangVenueInfoService.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 LinggangVenueInfo convert(LinggangVenueInfoQueryDTO source) {
  109 + return java.util.Optional.ofNullable(source).map(sc -> {
  110 + LinggangVenueInfo target = new LinggangVenueInfo();
  111 + BeanUtils.copyProperties(sc, target);
  112 + return target;
  113 + }).orElse(null);
  114 + }
  115 +
  116 + private LinggangVenueInfo convert(LinggangVenueInfoUpdateDTO source) {
  117 + return java.util.Optional.ofNullable(source).map(sc -> {
  118 + LinggangVenueInfo target = new LinggangVenueInfo();
  119 + BeanUtils.copyProperties(sc, target);
  120 + return target;
  121 + }).orElse(null);
  122 + }
  123 +
  124 + private LinggangVenueInfo convert(LinggangVenueInfoUpdateStatusDTO source) {
  125 + return java.util.Optional.ofNullable(source).map(sc -> {
  126 + LinggangVenueInfo target = new LinggangVenueInfo();
  127 + BeanUtils.copyProperties(sc, target);
  128 + return target;
  129 + }).orElse(null);
  130 + }
  131 +
  132 + private LinggangVenueInfo convert(LinggangVenueInfoAddDTO source) {
  133 + return java.util.Optional.ofNullable(source).map(sc -> {
  134 + LinggangVenueInfo target = new LinggangVenueInfo();
  135 + BeanUtils.copyProperties(sc, target);
  136 + return target;
  137 + }).orElseGet(null);
  138 + }
  139 +
  140 + private LinggangVenueInfoVO convert(LinggangVenueInfo source) {
  141 + return java.util.Optional.ofNullable(source).map(sc -> {
  142 + LinggangVenueInfoVO target = new LinggangVenueInfoVO();
  143 + BeanUtils.copyProperties(source, target);
  144 + return target;
  145 + }).orElseGet(null);
  146 + }
  147 +
  148 + private List<LinggangVenueInfoVO> convert(List<LinggangVenueInfo> 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<LinggangVenueInfoVO> convert(IPage<LinggangVenueInfo> sources) {
  157 + return java.util.Optional.ofNullable(sources).map(scs -> {
  158 + IPage<LinggangVenueInfoVO> target = new Page();
  159 + BeanUtils.copyProperties(scs, target);
  160 + List<LinggangVenueInfoVO> 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/driver/dss/syn/dto/DssDriveQueryDTO.java
1 1 package com.ruoyi.domain.driver.dss.syn.dto;
2 2  
  3 +import com.alibaba.fastjson2.JSON;
3 4 import io.swagger.annotations.ApiModel;
4 5 import io.swagger.annotations.ApiModelProperty;
5 6 import lombok.Data;
... ... @@ -23,4 +24,9 @@ public class DssDriveQueryDTO implements java.io.Serializable {
23 24 private String deviceId;
24 25 @ApiModelProperty(value = "终端人脸数据版本 null终端无记录")
25 26 private String versionNo;
  27 +
  28 + @Override
  29 + public String toString() {
  30 + return JSON.toJSONString(this);
  31 + }
26 32 }
... ...
Bsth-admin/src/main/java/com/ruoyi/domain/driver/dss/syn/login/dto/LoginDriverDTO.java
1 1 package com.ruoyi.domain.driver.dss.syn.login.dto;
2 2  
  3 +import com.alibaba.fastjson2.JSON;
3 4 import com.fasterxml.jackson.annotation.JsonFormat;
4 5 import io.swagger.annotations.ApiModel;
5 6 import io.swagger.annotations.ApiModelProperty;
... ... @@ -37,5 +38,10 @@ public class LoginDriverDTO implements java.io.Serializable {
37 38 @ApiModelProperty(value = "登录校验时间:yyyy-MM-dd HH:mm:ss")
38 39 private Date authTime;
39 40  
  41 + @Override
  42 + public String toString() {
  43 + return JSON.toJSONString(this);
  44 + }
  45 +
40 46  
41 47 }
... ...
Bsth-admin/src/main/java/com/ruoyi/domain/driver/dss/syn/login/vo/LoginDriverVo.java
1 1 package com.ruoyi.domain.driver.dss.syn.login.vo;
2 2  
  3 +import com.alibaba.fastjson2.JSON;
3 4 import com.fasterxml.jackson.annotation.JsonProperty;
4 5 import io.swagger.annotations.ApiModel;
5 6 import io.swagger.annotations.ApiModelProperty;
... ... @@ -61,4 +62,9 @@ public class LoginDriverVo {
61 62 @ApiModelProperty(value = "员工物理卡号")
62 63 private String csn;
63 64  
  65 + @Override
  66 + public String toString() {
  67 + return JSON.toJSONString(this);
  68 + }
  69 +
64 70 }
... ...
Bsth-admin/src/main/java/com/ruoyi/domain/driver/dss/syn/res/dto/FaceCheckDTO.java
1 1 package com.ruoyi.domain.driver.dss.syn.res.dto;
2 2  
  3 +import com.alibaba.fastjson2.JSON;
3 4 import com.fasterxml.jackson.annotation.JsonFormat;
4 5 import io.swagger.annotations.ApiModel;
5 6 import io.swagger.annotations.ApiModelProperty;
... ... @@ -39,4 +40,9 @@ public class FaceCheckDTO implements java.io.Serializable {
39 40 @NotEmpty(message = "人脸图片数据不能为空")
40 41 @ApiModelProperty(value = "人脸图片数据图片数据格式为BASE64", required = true)
41 42 private String faceValue;
  43 +
  44 + @Override
  45 + public String toString() {
  46 + return JSON.toJSONString(this);
  47 + }
42 48 }
... ...
Bsth-admin/src/main/java/com/ruoyi/domain/driver/dss/syn/res/dto/FaceRegisterDTO.java
1 1 package com.ruoyi.domain.driver.dss.syn.res.dto;
2 2  
  3 +import com.alibaba.fastjson2.JSON;
3 4 import com.fasterxml.jackson.annotation.JsonFormat;
4 5 import io.swagger.annotations.ApiModel;
5 6 import io.swagger.annotations.ApiModelProperty;
... ... @@ -38,4 +39,9 @@ public class FaceRegisterDTO implements java.io.Serializable {
38 39 @NotNull(message = "人脸图片数据 不能为空")
39 40 @ApiModelProperty(value = "人脸图片数据", required = true)
40 41 private String faceValue;
  42 +
  43 + @Override
  44 + public String toString() {
  45 + return JSON.toJSONString(this);
  46 + }
41 47 }
... ...
Bsth-admin/src/main/java/com/ruoyi/domain/driver/dss/syn/res/dto/ResDataDriveDTO.java
1 1 package com.ruoyi.domain.driver.dss.syn.res.dto;
2 2  
  3 +import com.alibaba.fastjson2.JSON;
3 4 import io.swagger.annotations.ApiModel;
4 5 import io.swagger.annotations.ApiModelProperty;
5 6 import lombok.AllArgsConstructor;
... ... @@ -66,4 +67,9 @@ public class ResDataDriveDTO implements java.io.Serializable {
66 67  
67 68 @ApiModelProperty(value = "角色类型列表")
68 69 private Set<Integer> staffTypeItem;
  70 +
  71 + @Override
  72 + public String toString() {
  73 + return JSON.toJSONString(this);
  74 + }
69 75 }
... ...
Bsth-admin/src/main/java/com/ruoyi/domain/driver/dss/syn/res/vo/FaceCheckVo.java
1 1 package com.ruoyi.domain.driver.dss.syn.res.vo;
2 2  
  3 +import com.alibaba.fastjson2.JSON;
3 4 import io.swagger.annotations.ApiModel;
4 5 import io.swagger.annotations.ApiModelProperty;
5 6 import lombok.AllArgsConstructor;
... ... @@ -23,4 +24,9 @@ public class FaceCheckVo implements java.io.Serializable {
23 24 private String driverCode;
24 25 @ApiModelProperty(value = "表情 0无情绪,1愤怒,2厌恶,3恐惧,4高兴,5伤心,6惊讶")
25 26 private Integer emotion;
  27 +
  28 + @Override
  29 + public String toString() {
  30 + return JSON.toJSONString(this);
  31 + }
26 32 }
... ...
Bsth-admin/src/main/java/com/ruoyi/domain/driver/dss/syn/vo/DssDriveVo.java
1 1 package com.ruoyi.domain.driver.dss.syn.vo;
2 2  
  3 +import com.alibaba.fastjson2.JSON;
3 4 import io.swagger.annotations.ApiModel;
4 5 import io.swagger.annotations.ApiModelProperty;
5 6 import lombok.AllArgsConstructor;
... ... @@ -42,4 +43,9 @@ public class DssDriveVo {
42 43 private String csn;
43 44 @ApiModelProperty("角色类型 1:员工 2:驾驶员 3管理员 4移车员")
44 45 private Set<Integer> staffTypeItem;
  46 +
  47 + @Override
  48 + public String toString() {
  49 + return JSON.toJSONString(this);
  50 + }
45 51 }
... ...
Bsth-admin/src/main/java/com/ruoyi/domain/dss/car/info/dto/GetPlatesDTO.java
1 1 package com.ruoyi.domain.dss.car.info.dto;
2 2  
  3 +import com.alibaba.fastjson2.JSON;
3 4 import io.swagger.annotations.ApiModel;
4 5 import io.swagger.annotations.ApiModelProperty;
5 6 import lombok.Data;
... ... @@ -28,4 +29,8 @@ public class GetPlatesDTO implements java.io.Serializable {
28 29 @ApiModelProperty(value = "设备上线号", required = true)
29 30 private String device;
30 31  
  32 + @Override
  33 + public String toString() {
  34 + return JSON.toJSONString(this);
  35 + }
31 36 }
... ...
Bsth-admin/src/main/java/com/ruoyi/domain/dss/driver/dto/GetBeforeWorkListDTO.java
1 1 package com.ruoyi.domain.dss.driver.dto;
2 2  
  3 +import com.alibaba.fastjson2.JSON;
3 4 import com.fasterxml.jackson.annotation.JsonFormat;
4 5 import io.swagger.annotations.ApiModel;
5 6 import io.swagger.annotations.ApiModelProperty;
... ... @@ -38,4 +39,9 @@ public class GetBeforeWorkListDTO implements java.io.Serializable {
38 39 private String driver;
39 40 @ApiModelProperty(value = "岗前检测结果 0通过,1不通过")
40 41 private Integer checkResult;
  42 +
  43 + @Override
  44 + public String toString() {
  45 + return JSON.toJSONString(this);
  46 + }
41 47 }
... ...
Bsth-admin/src/main/java/com/ruoyi/domain/dss/driver/dto/GetBusPlanListDTO.java
1 1 package com.ruoyi.domain.dss.driver.dto;
2 2  
  3 +import com.alibaba.fastjson2.JSON;
3 4 import io.swagger.annotations.ApiModel;
4 5 import io.swagger.annotations.ApiModelProperty;
5 6 import lombok.Data;
... ... @@ -39,4 +40,9 @@ public class GetBusPlanListDTO implements java.io.Serializable{
39 40 @NotEmpty(message = "每页条数为空")
40 41 @ApiModelProperty(value = "每页条数",required = true,example = "1")
41 42 private Integer pageRow;
  43 +
  44 + @Override
  45 + public String toString() {
  46 + return JSON.toJSONString(this);
  47 + }
42 48 }
... ...
Bsth-admin/src/main/java/com/ruoyi/domain/dss/driver/vo/GetBeforeWorkListVo.java
1 1 package com.ruoyi.domain.dss.driver.vo;
2 2  
  3 +import com.alibaba.fastjson2.JSON;
3 4 import com.fasterxml.jackson.annotation.JsonFormat;
4 5 import io.swagger.annotations.ApiModel;
5 6 import io.swagger.annotations.ApiModelProperty;
... ... @@ -60,4 +61,9 @@ public class GetBeforeWorkListVo {
60 61 private String oxygenValue;
61 62 @ApiModelProperty(value = "设备名称")
62 63 private String deviceName;
  64 +
  65 + @Override
  66 + public String toString() {
  67 + return JSON.toJSONString(this);
  68 + }
63 69 }
... ...
Bsth-admin/src/main/java/com/ruoyi/domain/dss/driver/vo/GetBusPlanListVo.java
1 1 package com.ruoyi.domain.dss.driver.vo;
2 2  
  3 +import com.alibaba.fastjson2.JSON;
3 4 import com.fasterxml.jackson.annotation.JsonFormat;
4 5 import io.swagger.annotations.ApiModel;
5 6 import io.swagger.annotations.ApiModelProperty;
... ... @@ -44,4 +45,9 @@ public class GetBusPlanListVo implements java.io.Serializable {
44 45 private Date fache;
45 46 @ApiModelProperty(value = "起点站名")
46 47 private String startStation;
  48 +
  49 + @Override
  50 + public String toString() {
  51 + return JSON.toJSONString(this);
  52 + }
47 53 }
... ...
Bsth-admin/src/main/java/com/ruoyi/domain/dss/equipment/dto/EquipmentAuthDTO.java
1 1 package com.ruoyi.domain.dss.equipment.dto;
2 2  
  3 +import com.alibaba.fastjson2.JSON;
3 4 import io.swagger.annotations.ApiModel;
4 5 import io.swagger.annotations.ApiModelProperty;
5 6 import lombok.Data;
... ... @@ -23,4 +24,9 @@ public class EquipmentAuthDTO {
23 24 private String device;
24 25 @ApiModelProperty(value = "获取token设备时间", required = true)
25 26 private Date authTime;
  27 +
  28 + @Override
  29 + public String toString() {
  30 + return JSON.toJSONString(this);
  31 + }
26 32 }
... ...
Bsth-admin/src/main/java/com/ruoyi/domain/dss/equipment/dto/EquipmentSelfcheckCamerasDto.java
1 1 package com.ruoyi.domain.dss.equipment.dto;
2 2  
  3 +import com.alibaba.fastjson2.JSON;
3 4 import io.swagger.annotations.ApiModel;
4 5 import io.swagger.annotations.ApiModelProperty;
5 6 import lombok.Data;
... ... @@ -27,4 +28,9 @@ public class EquipmentSelfcheckCamerasDto implements java.io.Serializable {
27 28 @NotNull(message = "摄像头状态不能为空")
28 29 @ApiModelProperty(value = "状态 0正常,1故障,2未检测到", required = true, example = "1")
29 30 private Integer status;
  31 +
  32 + @Override
  33 + public String toString() {
  34 + return JSON.toJSONString(this);
  35 + }
30 36 }
... ...
Bsth-admin/src/main/java/com/ruoyi/domain/dss/equipment/dto/EquipmentSelfcheckDto.java
1 1 package com.ruoyi.domain.dss.equipment.dto;
2 2  
  3 +import com.alibaba.fastjson2.JSON;
3 4 import com.fasterxml.jackson.annotation.JsonFormat;
4 5 import com.fasterxml.jackson.annotation.JsonProperty;
5 6 import io.swagger.annotations.ApiModel;
... ... @@ -62,5 +63,10 @@ public class EquipmentSelfcheckDto implements java.io.Serializable {
62 63 @ApiModelProperty(value = "是否拥有钥匙柜外设:null/0:否,1:是", example = "1")
63 64 private Integer isKeybox;
64 65  
  66 + @Override
  67 + public String toString() {
  68 + return JSON.toJSONString(this);
  69 + }
  70 +
65 71  
66 72 }
... ...
Bsth-admin/src/main/java/com/ruoyi/domain/dss/equipment/dto/ExKeysDTO.java
1 1 package com.ruoyi.domain.dss.equipment.dto;
2 2  
  3 +import com.alibaba.fastjson2.JSON;
3 4 import io.swagger.annotations.ApiModel;
4 5 import io.swagger.annotations.ApiModelProperty;
5 6 import lombok.Data;
... ... @@ -29,4 +30,9 @@ public class ExKeysDTO implements java.io.Serializable {
29 30 private String parkCode;
30 31 @ApiModelProperty(value = "车牌")
31 32 private String plate;
  33 +
  34 + @Override
  35 + public String toString() {
  36 + return JSON.toJSONString(this);
  37 + }
32 38 }
... ...
Bsth-admin/src/main/java/com/ruoyi/domain/dss/equipment/dto/HeartbeatDTO.java
1 1 package com.ruoyi.domain.dss.equipment.dto;
2 2  
  3 +import com.alibaba.fastjson2.JSON;
3 4 import com.fasterxml.jackson.annotation.JsonFormat;
4 5 import io.swagger.annotations.ApiModel;
5 6 import io.swagger.annotations.ApiModelProperty;
... ... @@ -40,4 +41,10 @@ public class HeartbeatDTO implements java.io.Serializable {
40 41 private List<ExKeysDTO> exKeys;
41 42  
42 43  
  44 + @Override
  45 + public String toString() {
  46 + return JSON.toJSONString(this);
  47 + }
  48 +
  49 +
43 50 }
... ...
Bsth-admin/src/main/java/com/ruoyi/domain/dss/equipment/vo/AuthVo.java
1 1 package com.ruoyi.domain.dss.equipment.vo;
2 2  
  3 +import com.alibaba.fastjson2.JSON;
3 4 import com.fasterxml.jackson.annotation.JsonProperty;
4 5 import io.swagger.annotations.ApiModel;
5 6 import lombok.AllArgsConstructor;
... ... @@ -21,4 +22,9 @@ import lombok.experimental.Accessors;
21 22 public class AuthVo {
22 23 @JsonProperty("access_token")
23 24 private String accessToken;
  25 +
  26 + @Override
  27 + public String toString() {
  28 + return JSON.toJSONString(this);
  29 + }
24 30 }
... ...
Bsth-admin/src/main/java/com/ruoyi/domain/dss/equipment/vo/EquimentAddressParamVo.java
1 1 package com.ruoyi.domain.dss.equipment.vo;
2 2  
  3 +import com.alibaba.fastjson2.JSON;
3 4 import io.swagger.annotations.ApiModel;
4 5 import io.swagger.annotations.ApiModelProperty;
5 6 import lombok.AllArgsConstructor;
... ... @@ -23,4 +24,9 @@ public class EquimentAddressParamVo {
23 24 private String upgradeAddress;
24 25 @ApiModelProperty(value = "端口", example = "1")
25 26 private Integer integer;
  27 +
  28 + @Override
  29 + public String toString() {
  30 + return JSON.toJSONString(this);
  31 + }
26 32 }
... ...
Bsth-admin/src/main/java/com/ruoyi/domain/dss/equipment/vo/EquimentVideoParamVo.java
1 1 package com.ruoyi.domain.dss.equipment.vo;
2 2  
  3 +import com.alibaba.fastjson2.JSON;
3 4 import io.swagger.annotations.ApiModel;
4 5 import io.swagger.annotations.ApiModelProperty;
5 6 import lombok.AllArgsConstructor;
... ... @@ -29,4 +30,9 @@ public class EquimentVideoParamVo {
29 30 private Integer saveday;
30 31 @ApiModelProperty(value = "上传时间段", example = "1")
31 32 private String videoTimeSlot;
  33 +
  34 + @Override
  35 + public String toString() {
  36 + return JSON.toJSONString(this);
  37 + }
32 38 }
... ...
Bsth-admin/src/main/java/com/ruoyi/domain/dss/equipment/vo/EquipmentConfigVo.java
1 1 package com.ruoyi.domain.dss.equipment.vo;
2 2  
  3 +import com.alibaba.fastjson2.JSON;
3 4 import io.swagger.annotations.ApiModel;
4 5 import io.swagger.annotations.ApiModelProperty;
5 6 import lombok.AllArgsConstructor;
... ... @@ -33,4 +34,9 @@ public class EquipmentConfigVo implements java.io.Serializable {
33 34 private EquimentVideoParamVo videoParam;
34 35 @ApiModelProperty(value = "升级设置")
35 36 private EquimentAddressParamVo addressParam;
  37 +
  38 + @Override
  39 + public String toString() {
  40 + return JSON.toJSONString(this);
  41 + }
36 42 }
... ...
Bsth-admin/src/main/java/com/ruoyi/domain/dss/key/box/dto/KeyBasicSyncDTO.java
1 1 package com.ruoyi.domain.dss.key.box.dto;
2 2  
  3 +import com.alibaba.fastjson2.JSON;
3 4 import com.fasterxml.jackson.annotation.JsonFormat;
4 5 import io.swagger.annotations.ApiModel;
5 6 import io.swagger.annotations.ApiModelProperty;
... ... @@ -45,4 +46,9 @@ public class KeyBasicSyncDTO {
45 46 @ApiModelProperty(value = "多日期排班计划列表版本号 null或与服务器版本号不同时 服务器则下发数据")
46 47 private String driverWorkVer;
47 48  
  49 + @Override
  50 + public String toString() {
  51 + return JSON.toJSONString(this);
  52 + }
  53 +
48 54 }
... ...
Bsth-admin/src/main/java/com/ruoyi/domain/dss/key/box/dto/SkipOperationDTO.java
1 1 package com.ruoyi.domain.dss.key.box.dto;
2 2  
  3 +import com.alibaba.fastjson2.JSON;
3 4 import com.fasterxml.jackson.annotation.JsonFormat;
4 5 import io.swagger.annotations.ApiModel;
5 6 import io.swagger.annotations.ApiModelProperty;
... ... @@ -43,4 +44,9 @@ public class SkipOperationDTO implements java.io.Serializable {
43 44 @NotNull(message = "操作类型 不能为空")
44 45 @ApiModelProperty(value = "操作类型 0:司机操作,16:管理员操作,17:紧急按键", required = true)
45 46 private Integer opeType;
  47 +
  48 + @Override
  49 + public String toString() {
  50 + return JSON.toJSONString(this);
  51 + }
46 52 }
... ...
Bsth-admin/src/main/java/com/ruoyi/domain/dss/key/box/dto/TakeKeyDTO.java
1 1 package com.ruoyi.domain.dss.key.box.dto;
2 2  
  3 +import com.alibaba.fastjson2.JSON;
3 4 import com.fasterxml.jackson.annotation.JsonFormat;
4 5 import io.swagger.annotations.ApiModel;
5 6 import io.swagger.annotations.ApiModelProperty;
... ... @@ -50,4 +51,9 @@ public class TakeKeyDTO implements java.io.Serializable {
50 51 private String checkPlate;
51 52 @ApiModelProperty(value = "领取钥匙信息集合")
52 53 private List<TakeKeyKeyItemDTO> keyItem;
  54 +
  55 + @Override
  56 + public String toString() {
  57 + return JSON.toJSONString(this);
  58 + }
53 59 }
... ...
Bsth-admin/src/main/java/com/ruoyi/domain/dss/key/box/dto/TakeKeyKeyItemDTO.java
1 1 package com.ruoyi.domain.dss.key.box.dto;
2 2  
  3 +import com.alibaba.fastjson2.JSON;
3 4 import io.swagger.annotations.ApiModel;
4 5 import io.swagger.annotations.ApiModelProperty;
5 6 import lombok.Data;
... ... @@ -45,4 +46,9 @@ public class TakeKeyKeyItemDTO implements java.io.Serializable {
45 46 @ApiModelProperty(value = "领取状态;0:取出,16:钥匙未归还,255:异常", required = true)
46 47 private Integer state;
47 48  
  49 + @Override
  50 + public String toString() {
  51 + return JSON.toJSONString(this);
  52 + }
  53 +
48 54 }
... ...
Bsth-admin/src/main/java/com/ruoyi/domain/dss/key/box/dto/YarnCabinetStatePageDTO.java 0 → 100644
  1 +package com.ruoyi.domain.dss.key.box.dto;
  2 +
  3 +import com.alibaba.fastjson2.JSON;
  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.NotEmpty;
  11 +
  12 +/**
  13 + * @author liujun
  14 + * @date 2024年07月25日 9:08
  15 + */
  16 +@Data
  17 +@Accessors(chain = true)
  18 +@ApiModel(value = "24.场站钥匙柜实况信息")
  19 +@EqualsAndHashCode(callSuper = false)
  20 +public class YarnCabinetStatePageDTO implements java.io.Serializable {
  21 +
  22 + private static final long serialVersionUID = -888568497451412073L;
  23 +
  24 + @NotEmpty(message = "设备上线号不能为空")
  25 + @ApiModelProperty(value = "设备上线号", required = true)
  26 + private String device;
  27 + @ApiModelProperty(value = "车牌号")
  28 + private String plate;
  29 +
  30 + @NotEmpty(message = "每页条数不能为空")
  31 + @ApiModelProperty(value = "钥匙领取记录,每页条数", required = true, example = "1")
  32 + private Integer pageSize;
  33 +
  34 + @NotEmpty(message = "第几页不能为空")
  35 + @ApiModelProperty(value = "钥匙领取记录,第几页", required = true, example = "1")
  36 + private Integer pageNum;
  37 +
  38 + @Override
  39 + public String toString() {
  40 + return JSON.toJSONString(this);
  41 + }
  42 +}
... ...
Bsth-admin/src/main/java/com/ruoyi/domain/dss/key/box/vo/BasicSyncDriverWorkDriverPlanTimePlateVo.java
1 1 package com.ruoyi.domain.dss.key.box.vo;
2 2  
  3 +import com.alibaba.fastjson2.JSON;
3 4 import com.fasterxml.jackson.annotation.JsonFormat;
4 5 import io.swagger.annotations.ApiModel;
5 6 import io.swagger.annotations.ApiModelProperty;
... ... @@ -28,4 +29,9 @@ public class BasicSyncDriverWorkDriverPlanTimePlateVo implements java.io.Seriali
28 29  
29 30 @ApiModelProperty(value = "车牌号")
30 31 private String value;
  32 +
  33 + @Override
  34 + public String toString() {
  35 + return JSON.toJSONString(this);
  36 + }
31 37 }
... ...
Bsth-admin/src/main/java/com/ruoyi/domain/dss/key/box/vo/BasicSyncDriverWorkDriverPlanVo.java
1 1 package com.ruoyi.domain.dss.key.box.vo;
2 2  
  3 +import com.alibaba.fastjson2.JSON;
3 4 import io.swagger.annotations.ApiModel;
4 5 import io.swagger.annotations.ApiModelProperty;
5 6 import lombok.AllArgsConstructor;
... ... @@ -26,4 +27,11 @@ public class BasicSyncDriverWorkDriverPlanVo implements java.io.Serializable {
26 27 private String staffCode;
27 28 @ApiModelProperty(value = "司机的计划时间与车牌")
28 29 private BasicSyncDriverWorkDriverPlanTimePlateVo timePlate;
  30 +
  31 + @Override
  32 + public String toString() {
  33 + return JSON.toJSONString(this);
  34 + }
29 35 }
  36 +
  37 +
... ...
Bsth-admin/src/main/java/com/ruoyi/domain/dss/key/box/vo/BasicSyncDriverWorkVo.java
1 1 package com.ruoyi.domain.dss.key.box.vo;
2 2  
  3 +import com.alibaba.fastjson2.JSON;
3 4 import com.fasterxml.jackson.annotation.JsonFormat;
4 5 import io.swagger.annotations.ApiModel;
5 6 import io.swagger.annotations.ApiModelProperty;
... ... @@ -31,4 +32,9 @@ public class BasicSyncDriverWorkVo implements java.io.Serializable {
31 32  
32 33 @ApiModelProperty(value = "排班计划列表")
33 34 private List<BasicSyncDriverWorkDriverPlanVo> driverPlan;
  35 +
  36 + @Override
  37 + public String toString() {
  38 + return JSON.toJSONString(this);
  39 + }
34 40 }
... ...
Bsth-admin/src/main/java/com/ruoyi/domain/dss/key/box/vo/BasicSyncKeyboxKeyItemVo.java
1 1 package com.ruoyi.domain.dss.key.box.vo;
2 2  
  3 +import com.alibaba.fastjson2.JSON;
3 4 import io.swagger.annotations.ApiModel;
4 5 import io.swagger.annotations.ApiModelProperty;
5 6 import lombok.AllArgsConstructor;
... ... @@ -23,4 +24,9 @@ public class BasicSyncKeyboxKeyItemVo {
23 24  
24 25 @ApiModelProperty(value = "绑定的场站车位编码")
25 26 private String parkCode;
  27 +
  28 + @Override
  29 + public String toString() {
  30 + return JSON.toJSONString(this);
  31 + }
26 32 }
... ...
Bsth-admin/src/main/java/com/ruoyi/domain/dss/key/box/vo/BasicSyncKeyboxVo.java
1 1 package com.ruoyi.domain.dss.key.box.vo;
2 2  
  3 +import com.alibaba.fastjson2.JSON;
3 4 import io.swagger.annotations.ApiModel;
4 5 import io.swagger.annotations.ApiModelProperty;
5 6 import lombok.AllArgsConstructor;
... ... @@ -29,4 +30,9 @@ public class BasicSyncKeyboxVo {
29 30  
30 31 @ApiModelProperty(value = "钥匙位信息列表")
31 32 private List<BasicSyncKeyboxKeyItemVo> keyItem;
  33 +
  34 + @Override
  35 + public String toString() {
  36 + return JSON.toJSONString(this);
  37 + }
32 38 }
... ...
Bsth-admin/src/main/java/com/ruoyi/domain/dss/key/box/vo/BasicSyncVo.java
1 1 package com.ruoyi.domain.dss.key.box.vo;
2 2  
  3 +import com.alibaba.fastjson2.JSON;
3 4 import com.fasterxml.jackson.annotation.JsonFormat;
4 5 import io.swagger.annotations.ApiModel;
5 6 import io.swagger.annotations.ApiModelProperty;
... ... @@ -54,4 +55,9 @@ public class BasicSyncVo implements java.io.Serializable {
54 55  
55 56 @ApiModelProperty(value = "多日期排班计划列表")
56 57 private List<BasicSyncDriverWorkVo> driverWork;
  58 +
  59 + @Override
  60 + public String toString() {
  61 + return JSON.toJSONString(this);
  62 + }
57 63 }
... ...
Bsth-admin/src/main/java/com/ruoyi/domain/dss/key/box/vo/BasicSyncYardVo.java
1 1 package com.ruoyi.domain.dss.key.box.vo;
2 2  
  3 +import com.alibaba.fastjson2.JSON;
3 4 import io.swagger.annotations.ApiModel;
4 5 import io.swagger.annotations.ApiModelProperty;
5 6 import lombok.AllArgsConstructor;
... ... @@ -27,4 +28,9 @@ public class BasicSyncYardVo implements java.io.Serializable{
27 28 @ApiModelProperty(value = "邻近的车位编号列表 用来紧急取出某车位附件车位的所有钥匙")
28 29 private List<String> conIndex;
29 30  
  31 + @Override
  32 + public String toString() {
  33 + return JSON.toJSONString(this);
  34 + }
  35 +
30 36 }
... ...
Bsth-admin/src/main/java/com/ruoyi/domain/dss/key/box/vo/SkipOperationVo.java
1 1 package com.ruoyi.domain.dss.key.box.vo;
2 2  
  3 +import com.alibaba.fastjson2.JSON;
3 4 import com.fasterxml.jackson.annotation.JsonFormat;
4 5 import io.swagger.annotations.ApiModel;
5 6 import io.swagger.annotations.ApiModelProperty;
... ... @@ -38,4 +39,9 @@ public class SkipOperationVo implements java.io.Serializable {
38 39 @ApiModelProperty(value = "处理结果 0成功,1失败")
39 40 private Integer result;
40 41  
  42 + @Override
  43 + public String toString() {
  44 + return JSON.toJSONString(this);
  45 + }
  46 +
41 47 }
... ...
Bsth-admin/src/main/java/com/ruoyi/domain/dss/key/box/vo/TakeKeyVo.java
1 1 package com.ruoyi.domain.dss.key.box.vo;
2 2  
  3 +import com.alibaba.fastjson2.JSON;
3 4 import com.fasterxml.jackson.annotation.JsonFormat;
4 5 import io.swagger.annotations.ApiModel;
5 6 import io.swagger.annotations.ApiModelProperty;
... ... @@ -39,4 +40,9 @@ public class TakeKeyVo implements java.io.Serializable {
39 40 @ApiModelProperty(value = "服务应答 0处理成功,1处理失败")
40 41 private Integer result;
41 42  
  43 + @Override
  44 + public String toString() {
  45 + return JSON.toJSONString(this);
  46 + }
  47 +
42 48 }
... ...
Bsth-admin/src/main/java/com/ruoyi/domain/dss/key/box/vo/YarnCabinetStatePageCabinetsKeysVO.java 0 → 100644
  1 +package com.ruoyi.domain.dss.key.box.vo;
  2 +
  3 +import com.alibaba.fastjson2.JSON;
  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 +/**
  12 + * @author liujun
  13 + * @date 2024年07月25日 9:19
  14 + */
  15 +@Data
  16 +@NoArgsConstructor
  17 +@AllArgsConstructor
  18 +@Accessors(chain = true)
  19 +@ApiModel(value = "场站钥匙柜实况信息-场站钥匙柜列表-钥匙控制器状态列表 VO")
  20 +public class YarnCabinetStatePageCabinetsKeysVO implements java.io.Serializable {
  21 +
  22 + private static final long serialVersionUID = -7131162155935875283L;
  23 + @ApiModelProperty(value = "钥匙控制器号")
  24 + private String cabinetNo;
  25 + @ApiModelProperty(value = "")
  26 + private String parkingNo;
  27 + @ApiModelProperty(value = "车位号")
  28 + private String plateNum;
  29 + @ApiModelProperty(value = "状态 1存在钥匙,2空闲, 255异常")
  30 + private Integer state;
  31 +
  32 + @Override
  33 + public String toString() {
  34 + return JSON.toJSONString(this);
  35 + }
  36 +}
... ...
Bsth-admin/src/main/java/com/ruoyi/domain/dss/key/box/vo/YarnCabinetStatePageCabinetsVO.java 0 → 100644
  1 +package com.ruoyi.domain.dss.key.box.vo;
  2 +
  3 +import com.alibaba.fastjson2.JSON;
  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.List;
  12 +
  13 +/**
  14 + * @author liujun
  15 + * @date 2024年07月25日 9:18
  16 + */
  17 +@Data
  18 +@NoArgsConstructor
  19 +@AllArgsConstructor
  20 +@Accessors(chain = true)
  21 +@ApiModel(value = "场站钥匙柜实况信息-场站钥匙柜列表 VO")
  22 +public class YarnCabinetStatePageCabinetsVO implements java.io.Serializable {
  23 +
  24 + private static final long serialVersionUID = -8511700348167941326L;
  25 +
  26 + @ApiModelProperty(value = "钥匙柜ID")
  27 + private String deviceId;
  28 + @ApiModelProperty(value = "上线号")
  29 + private String device;
  30 + @ApiModelProperty(value = "钥匙柜名称")
  31 + private String deviceName;
  32 + @ApiModelProperty(value = "钥匙控制器状态列表")
  33 + private List<YarnCabinetStatePageCabinetsKeysVO> keys;
  34 +
  35 + @Override
  36 + public String toString() {
  37 + return JSON.toJSONString(this);
  38 + }
  39 +}
... ...
Bsth-admin/src/main/java/com/ruoyi/domain/dss/key/box/vo/YarnCabinetStatePageOutKeysRecordsVo.java 0 → 100644
  1 +package com.ruoyi.domain.dss.key.box.vo;
  2 +
  3 +import com.alibaba.fastjson2.JSON;
  4 +import com.fasterxml.jackson.annotation.JsonFormat;
  5 +import io.swagger.annotations.ApiModel;
  6 +import io.swagger.annotations.ApiModelProperty;
  7 +import lombok.AllArgsConstructor;
  8 +import lombok.Data;
  9 +import lombok.NoArgsConstructor;
  10 +import lombok.experimental.Accessors;
  11 +
  12 +import java.util.Date;
  13 +
  14 +/**
  15 + * @author liujun
  16 + * @date 2024年07月25日 9:32
  17 + */
  18 +
  19 +@Data
  20 +@NoArgsConstructor
  21 +@AllArgsConstructor
  22 +@Accessors(chain = true)
  23 +@ApiModel(value = "场站钥匙柜实况信息-钥匙领取记录分页-钥匙最新领取记录列表 VO")
  24 +public class YarnCabinetStatePageOutKeysRecordsVo implements java.io.Serializable {
  25 +
  26 + private static final long serialVersionUID = -7846056516852561924L;
  27 +
  28 + @ApiModelProperty(value = "线路名称")
  29 + private String routeName;
  30 +
  31 + @ApiModelProperty(value = "车牌号")
  32 + private String plate;
  33 +
  34 + @ApiModelProperty(value = "车辆自编号")
  35 + private String selfCode;
  36 +
  37 + @ApiModelProperty(value = "领取人")
  38 + private String staffName;
  39 +
  40 + @JsonFormat(pattern = "yyyy-MM-dd hh:mmss")
  41 + @ApiModelProperty(value = "领取时间")
  42 + private Date time;
  43 +
  44 + @ApiModelProperty(value = "设备名称")
  45 + private String deviceName;
  46 +
  47 + @ApiModelProperty(value = "车位号")
  48 + private String parkingNo;
  49 +
  50 + @Override
  51 + public String toString() {
  52 + return JSON.toJSONString(this);
  53 + }
  54 +}
... ...
Bsth-admin/src/main/java/com/ruoyi/domain/dss/key/box/vo/YarnCabinetStatePageOutKeysVo.java 0 → 100644
  1 +package com.ruoyi.domain.dss.key.box.vo;
  2 +
  3 +import com.alibaba.fastjson2.JSON;
  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.List;
  12 +
  13 +/**
  14 + * @author liujun
  15 + * @date 2024年07月25日 9:31
  16 + */
  17 +
  18 +@Data
  19 +@NoArgsConstructor
  20 +@AllArgsConstructor
  21 +@Accessors(chain = true)
  22 +@ApiModel(value = "场站钥匙柜实况信息-钥匙领取记录分页 VO")
  23 +public class YarnCabinetStatePageOutKeysVo implements java.io.Serializable {
  24 +
  25 + private static final long serialVersionUID = -1926894568917850390L;
  26 +
  27 + @ApiModelProperty(value = "总记录数")
  28 + private Long total;
  29 +
  30 + @ApiModelProperty(value = "每页记录数")
  31 + private Integer size;
  32 +
  33 + @ApiModelProperty(value = "总页数")
  34 + private Integer pages;
  35 +
  36 + @ApiModelProperty(value = "当前页码")
  37 + private Integer current;
  38 +
  39 + @ApiModelProperty(value = "钥匙最新领取记录列表")
  40 + private List<YarnCabinetStatePageOutKeysRecordsVo> records;
  41 +
  42 + @Override
  43 + public String toString() {
  44 + return JSON.toJSONString(this);
  45 + }
  46 +}
... ...
Bsth-admin/src/main/java/com/ruoyi/domain/dss/key/box/vo/YarnCabinetStatePageVO.java 0 → 100644
  1 +package com.ruoyi.domain.dss.key.box.vo;
  2 +
  3 +import com.alibaba.fastjson2.JSON;
  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.List;
  12 +
  13 +/**
  14 + * @author liujun
  15 + * @date 2024年07月25日 9:15
  16 + */
  17 +@Data
  18 +@NoArgsConstructor
  19 +@AllArgsConstructor
  20 +@Accessors(chain = true)
  21 +@ApiModel(value = "场站钥匙柜实况信息 VO")
  22 +public class YarnCabinetStatePageVO implements java.io.Serializable {
  23 +
  24 + private static final long serialVersionUID = -1325787785491106232L;
  25 +
  26 + @ApiModelProperty(value = "场站ID")
  27 + private Integer yarnId;
  28 + @ApiModelProperty(value = "场站名称")
  29 + private String yarnName;
  30 + @ApiModelProperty(value = "异常钥匙孔数", example = "1")
  31 + private Integer ex;
  32 + @ApiModelProperty(value = "插入钥匙数")
  33 + private Integer in;
  34 + @ApiModelProperty(value = "空闲的控制器数")
  35 + private Integer free;
  36 + @ApiModelProperty(value = "场站钥匙柜列表")
  37 + private List<YarnCabinetStatePageCabinetsVO> cabinets;
  38 + @ApiModelProperty(value = "钥匙领取记录分页")
  39 + private YarnCabinetStatePageOutKeysVo outKeys;
  40 +
  41 + @Override
  42 + public String toString() {
  43 + return JSON.toJSONString(this);
  44 + }
  45 +}
... ...
Bsth-admin/src/main/java/com/ruoyi/domain/dss/key/location/dto/WorkPlateV2DTO.java
1 1 package com.ruoyi.domain.dss.key.location.dto;
2 2  
  3 +import com.alibaba.fastjson2.JSON;
3 4 import com.fasterxml.jackson.annotation.JsonFormat;
4 5 import io.swagger.annotations.ApiModel;
5 6 import io.swagger.annotations.ApiModelProperty;
... ... @@ -40,4 +41,9 @@ public class WorkPlateV2DTO {
40 41 @NotNull(message = "操作类型不能为空")
41 42 @ApiModelProperty(value = "操作类型:0签到获取司机工作计划的钥匙,1签退获取司机最后一次领取的钥匙信息", required = true)
42 43 private Integer eventType;
  44 +
  45 + @Override
  46 + public String toString() {
  47 + return JSON.toJSONString(this);
  48 + }
43 49 }
... ...
Bsth-admin/src/main/java/com/ruoyi/domain/dss/key/location/vo/WorkPlateV2Vo.java
1 1 package com.ruoyi.domain.dss.key.location.vo;
2 2  
  3 +import com.alibaba.fastjson2.JSON;
3 4 import io.swagger.annotations.ApiModel;
4 5 import io.swagger.annotations.ApiModelProperty;
5 6 import lombok.AllArgsConstructor;
... ... @@ -33,4 +34,9 @@ public class WorkPlateV2Vo implements java.io.Serializable {
33 34 private String parkingNo;
34 35 @ApiModelProperty(value = "车牌号")
35 36 private String plateNum;
  37 +
  38 + @Override
  39 + public String toString() {
  40 + return JSON.toJSONString(this);
  41 + }
36 42 }
... ...
Bsth-admin/src/main/java/com/ruoyi/domain/dss/sign/dto/DssGetWineRecordDTO.java
1 1 package com.ruoyi.domain.dss.sign.dto;
2 2  
  3 +import com.alibaba.fastjson2.JSON;
3 4 import io.swagger.annotations.ApiModel;
4 5 import io.swagger.annotations.ApiModelProperty;
5 6 import lombok.Data;
... ... @@ -27,4 +28,9 @@ public class DssGetWineRecordDTO implements java.io.Serializable {
27 28 @ApiModelProperty(value = "设备上线号", required = true)
28 29 private String device;
29 30  
  31 + @Override
  32 + public String toString() {
  33 + return JSON.toJSONString(this);
  34 + }
  35 +
30 36 }
... ...
Bsth-admin/src/main/java/com/ruoyi/domain/dss/sign/dto/DssSignDTO.java
1 1 package com.ruoyi.domain.dss.sign.dto;
2 2  
  3 +import com.alibaba.fastjson2.JSON;
3 4 import com.fasterxml.jackson.annotation.JsonFormat;
4 5 import io.swagger.annotations.ApiModel;
5 6 import io.swagger.annotations.ApiModelProperty;
... ... @@ -61,4 +62,9 @@ public class DssSignDTO {
61 62  
62 63 @ApiModelProperty(value = "答题记录")
63 64 private DssSignQuestionRecordDTO questionRecord;
  65 +
  66 + @Override
  67 + public String toString() {
  68 + return JSON.toJSONString(this);
  69 + }
64 70 }
... ...
Bsth-admin/src/main/java/com/ruoyi/domain/dss/sign/dto/DssSignHealthDataDTO.java
1 1 package com.ruoyi.domain.dss.sign.dto;
2 2  
  3 +import com.alibaba.fastjson2.JSON;
3 4 import io.swagger.annotations.ApiModel;
4 5 import io.swagger.annotations.ApiModelProperty;
5 6 import lombok.Data;
... ... @@ -26,4 +27,9 @@ public class DssSignHealthDataDTO {
26 27 @ApiModelProperty(value = "心率值")
27 28 private BigDecimal heartRate;
28 29  
  30 + @Override
  31 + public String toString() {
  32 + return JSON.toJSONString(this);
  33 + }
  34 +
29 35 }
... ...
Bsth-admin/src/main/java/com/ruoyi/domain/dss/sign/dto/DssSignOutDTO.java
1 1 package com.ruoyi.domain.dss.sign.dto;
2 2  
  3 +import com.alibaba.fastjson2.JSON;
3 4 import com.fasterxml.jackson.annotation.JsonFormat;
4 5 import io.swagger.annotations.ApiModel;
5 6 import io.swagger.annotations.ApiModelProperty;
... ... @@ -34,4 +35,9 @@ public class DssSignOutDTO implements java.io.Serializable {
34 35 @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
35 36 @ApiModelProperty(value = "设备时间,yyyy-MM-dd HH:mm:ss")
36 37 private Date logoutTime;
  38 +
  39 + @Override
  40 + public String toString() {
  41 + return JSON.toJSONString(this);
  42 + }
37 43 }
... ...
Bsth-admin/src/main/java/com/ruoyi/domain/dss/sign/dto/DssSignQuestionAnswerDTO.java
1 1 package com.ruoyi.domain.dss.sign.dto;
2 2  
  3 +import com.alibaba.fastjson2.JSON;
3 4 import io.swagger.annotations.ApiModel;
4 5 import io.swagger.annotations.ApiModelProperty;
5 6 import lombok.Data;
... ... @@ -33,4 +34,9 @@ public class DssSignQuestionAnswerDTO {
33 34 private String questionType;
34 35 @ApiModelProperty("调查记录ID")
35 36 private String recordId;
  37 +
  38 + @Override
  39 + public String toString() {
  40 + return JSON.toJSONString(this);
  41 + }
36 42 }
... ...
Bsth-admin/src/main/java/com/ruoyi/domain/dss/sign/dto/DssSignQuestionRecordDTO.java
1 1 package com.ruoyi.domain.dss.sign.dto;
2 2  
  3 +import com.alibaba.fastjson2.JSON;
3 4 import io.swagger.annotations.ApiModel;
4 5 import io.swagger.annotations.ApiModelProperty;
5 6 import lombok.Data;
... ... @@ -41,4 +42,9 @@ public class DssSignQuestionRecordDTO {
41 42 private String userName;
42 43 @ApiModelProperty(value = "问卷答案集合")
43 44 private List<DssSignQuestionAnswerDTO> questionAnswerList;
  45 +
  46 + @Override
  47 + public String toString() {
  48 + return JSON.toJSONString(this);
  49 + }
44 50 }
... ...
Bsth-admin/src/main/java/com/ruoyi/domain/dss/sign/resource/UpLoadPictureDTO.java 0 → 100644
  1 +package com.ruoyi.domain.dss.sign.resource;
  2 +
  3 +import com.alibaba.fastjson2.JSON;
  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.NotEmpty;
  11 +import javax.validation.constraints.NotNull;
  12 +import java.util.Date;
  13 +import java.util.List;
  14 +
  15 +/**
  16 + * @author liujun
  17 + * @date 2024年07月25日 13:59
  18 + */
  19 +@Data
  20 +@ApiModel(value = "酒测照片上传DTO")
  21 +@Accessors(chain = true)
  22 +@EqualsAndHashCode(callSuper = false)
  23 +public class UpLoadPictureDTO implements java.io.Serializable {
  24 +
  25 + private static final long serialVersionUID = 693316864098417788L;
  26 +
  27 + @NotEmpty(message = "设备上线号不能为空")
  28 + @ApiModelProperty(value = "设备上线号", required = true)
  29 + private String device;
  30 +
  31 + @NotEmpty(message = "IC卡号不能为空")
  32 + @ApiModelProperty(value = "IC卡号", required = true)
  33 + private String driverCode;
  34 +
  35 + @NotNull(message = "上传时间不能为空")
  36 + @ApiModelProperty(value = "时间;格式:yyyy-MM-dd HH:mm:ss", required = true)
  37 + private Date time;
  38 +
  39 + @NotNull(message = "酒测Id不能为空")
  40 + @ApiModelProperty(value = "酒测Id", required = true)
  41 + private Long testId;
  42 +
  43 + @NotNull(message = "照片数据列表不能为空")
  44 + @ApiModelProperty(value = "照片数据列表", required = true)
  45 + private List<UpLoadPicturePicDataDTO> picData;
  46 +
  47 +
  48 + @Override
  49 + public String toString() {
  50 + return JSON.toJSONString(this);
  51 + }
  52 +}
... ...
Bsth-admin/src/main/java/com/ruoyi/domain/dss/sign/resource/UpLoadPicturePicDataDTO.java 0 → 100644
  1 +package com.ruoyi.domain.dss.sign.resource;
  2 +
  3 +import com.alibaba.fastjson2.JSON;
  4 +import com.fasterxml.jackson.annotation.JsonFormat;
  5 +import io.swagger.annotations.ApiModel;
  6 +import io.swagger.annotations.ApiModelProperty;
  7 +import lombok.Data;
  8 +import lombok.EqualsAndHashCode;
  9 +import lombok.experimental.Accessors;
  10 +
  11 +import javax.validation.constraints.NotEmpty;
  12 +import javax.validation.constraints.NotNull;
  13 +import java.util.Date;
  14 +
  15 +/**
  16 + * @author liujun
  17 + * @date 2024年07月25日 14:00
  18 + */
  19 +@Data
  20 +@ApiModel(value = "酒测照片上传-照片数据列表DTO")
  21 +@Accessors(chain = true)
  22 +@EqualsAndHashCode(callSuper = false)
  23 +public class UpLoadPicturePicDataDTO implements java.io.Serializable {
  24 +
  25 + private static final long serialVersionUID = 1260486082339136995L;
  26 +
  27 + @NotNull(message = "照片序号不能为空")
  28 + @ApiModelProperty(value = "照片序号", required = true)
  29 + private Integer index;
  30 +
  31 + @NotNull(message = "时间不能为空")
  32 + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
  33 + @ApiModelProperty(value = "时间;格式为yyyy-MM-dd HH:mm:ss", required = true)
  34 + private Date time;
  35 +
  36 + @NotEmpty(message = "照片内容不能为空")
  37 + @ApiModelProperty(value = "照片;格式:BASE64", required = true)
  38 + private String pic;
  39 +
  40 + @Override
  41 + public String toString() {
  42 + String content = this.getPic();
  43 + this.setPic(null);
  44 + String json = JSON.toJSONString(this);
  45 + this.setPic(content);
  46 +
  47 + return json;
  48 + }
  49 +}
... ...
Bsth-admin/src/main/java/com/ruoyi/domain/dss/sign/resource/UpLoadVideoDTO.java 0 → 100644
  1 +package com.ruoyi.domain.dss.sign.resource;
  2 +
  3 +import com.alibaba.fastjson2.JSON;
  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.NotEmpty;
  11 +import javax.validation.constraints.NotNull;
  12 +import java.util.Date;
  13 +
  14 +/**
  15 + * @author liujun
  16 + * @date 2024年07月25日 15:37
  17 + */
  18 +@Data
  19 +@ApiModel(value = "酒测视频上传")
  20 +@Accessors(chain = true)
  21 +@EqualsAndHashCode(callSuper = false)
  22 +public class UpLoadVideoDTO implements java.io.Serializable {
  23 +
  24 +
  25 + private static final long serialVersionUID = 6032175603030905274L;
  26 +
  27 + @NotEmpty(message = "设备上线号不能为空")
  28 + @ApiModelProperty(value = "设备上线号", required = true)
  29 + private String device;
  30 +
  31 + @NotEmpty(message = "卡号不能为空")
  32 + @ApiModelProperty(value = "卡号", required = true)
  33 + private String driverCode;
  34 +
  35 + @NotNull(message = "时间不能为空")
  36 + @ApiModelProperty(value = "时间;格式为:yyyy-MM-dd HH:mm:ss", required = true)
  37 + private Date time;
  38 +
  39 + @NotNull(message = "酒测Id不能为空")
  40 + @ApiModelProperty(value = "酒测Id", required = true)
  41 + private Long testId;
  42 +
  43 + @NotEmpty(message = "视频数据不能为空")
  44 + @ApiModelProperty(value = "视频数据;格式:BASE64", required = true)
  45 + private String video;
  46 +
  47 + @Override
  48 + public String toString() {
  49 + String content = this.getVideo();
  50 + this.setVideo(null);
  51 + String json = JSON.toJSONString(this);
  52 + this.setVideo(content);
  53 +
  54 + return json;
  55 + }
  56 +}
... ...
Bsth-admin/src/main/java/com/ruoyi/domain/dss/sign/vo/DssSignHealthDataVo.java
1 1 package com.ruoyi.domain.dss.sign.vo;
2 2  
  3 +import com.alibaba.fastjson2.JSON;
3 4 import io.swagger.annotations.ApiModel;
4 5 import io.swagger.annotations.ApiModelProperty;
5 6 import lombok.AllArgsConstructor;
... ... @@ -28,4 +29,9 @@ public class DssSignHealthDataVo implements java.io.Serializable {
28 29 private Integer oxygenValue;
29 30 @ApiModelProperty(value = "心率 0:正常 1:低 2:高")
30 31 private Integer heartRate;
  32 +
  33 + @Override
  34 + public String toString() {
  35 + return JSON.toJSONString(this);
  36 + }
31 37 }
... ...
Bsth-admin/src/main/java/com/ruoyi/domain/dss/sign/vo/DssSignVo.java
1 1 package com.ruoyi.domain.dss.sign.vo;
2 2  
  3 +import com.alibaba.fastjson2.JSON;
3 4 import io.swagger.annotations.ApiModel;
4 5 import io.swagger.annotations.ApiModelProperty;
5 6 import lombok.AllArgsConstructor;
... ... @@ -32,4 +33,9 @@ public class DssSignVo implements java.io.Serializable {
32 33  
33 34 @ApiModelProperty(value = "健康检测结果")
34 35 private DssSignHealthDataVo healthData;
  36 +
  37 + @Override
  38 + public String toString() {
  39 + return JSON.toJSONString(this);
  40 + }
35 41 }
... ...
Bsth-admin/src/main/java/com/ruoyi/domain/dss/sign/vo/GetWineRecordVo.java
1 1 package com.ruoyi.domain.dss.sign.vo;
2 2  
  3 +import com.alibaba.fastjson2.JSON;
3 4 import com.fasterxml.jackson.annotation.JsonFormat;
4 5 import io.swagger.annotations.ApiModel;
5 6 import io.swagger.annotations.ApiModelProperty;
... ... @@ -29,4 +30,9 @@ public class GetWineRecordVo implements java.io.Serializable {
29 30  
30 31 @ApiModelProperty(value = "是否重新检测")
31 32 private Boolean check;
  33 +
  34 + @Override
  35 + public String toString() {
  36 + return JSON.toJSONString(this);
  37 + }
32 38 }
... ...
Bsth-admin/src/main/java/com/ruoyi/domain/dss/sign/vo/SignOutVo.java
1 1 package com.ruoyi.domain.dss.sign.vo;
2 2  
  3 +import com.alibaba.fastjson2.JSON;
3 4 import io.swagger.annotations.ApiModel;
4 5 import io.swagger.annotations.ApiModelProperty;
5 6 import lombok.AllArgsConstructor;
... ... @@ -26,4 +27,9 @@ public class SignOutVo {
26 27  
27 28 @ApiModelProperty(value = "设备时间,yyyy-MM-dd HH:mm:ss")
28 29 private Date logoutTime;
  30 +
  31 + @Override
  32 + public String toString() {
  33 + return JSON.toJSONString(this);
  34 + }
29 35 }
... ...
Bsth-admin/src/main/java/com/ruoyi/domain/key/info/box/dto/KeyBoxQueryDTO.java
1 1 package com.ruoyi.domain.key.info.box.dto;
2 2  
  3 +import com.alibaba.fastjson2.JSON;
3 4 import io.swagger.annotations.ApiModel;
4 5 import io.swagger.annotations.ApiModelProperty;
5 6 import lombok.Data;
... ... @@ -42,4 +43,9 @@ public class KeyBoxQueryDTO implements java.io.Serializable {
42 43 @NotNull(message = " 类型 不能为空")
43 44 @ApiModelProperty(value = "类型:0签到上报获取,1签退归还获取", required = true)
44 45 private String eventType;
  46 +
  47 + @Override
  48 + public String toString() {
  49 + return JSON.toJSONString(this);
  50 + }
45 51 }
... ...
Bsth-admin/src/main/java/com/ruoyi/domain/key/info/box/vo/KeyBoxVo.java
1 1 package com.ruoyi.domain.key.info.box.vo;
2 2  
  3 +import com.alibaba.fastjson2.JSON;
3 4 import io.swagger.annotations.ApiModel;
4 5 import io.swagger.annotations.ApiModelProperty;
5 6 import lombok.Data;
... ... @@ -31,4 +32,9 @@ public class KeyBoxVo implements java.io.Serializable {
31 32 private String parkingNo;
32 33 @ApiModelProperty(value = "车牌号")
33 34 private String plateNum;
  35 +
  36 + @Override
  37 + public String toString() {
  38 + return JSON.toJSONString(this);
  39 + }
34 40 }
... ...
Bsth-admin/src/main/java/com/ruoyi/domain/key/location/LinggangKeyWorkLocation.java
... ... @@ -13,6 +13,7 @@ import lombok.experimental.Accessors;
13 13 import lombok.extern.slf4j.Slf4j;
14 14  
15 15 import java.util.Arrays;
  16 +import java.util.Date;
16 17 import java.util.Objects;
17 18 import java.util.Optional;
18 19  
... ... @@ -103,6 +104,14 @@ public class LinggangKeyWorkLocation {
103 104 @Excel(name = "状态:1 是归还;0是借出")
104 105 private java.lang.Integer type;
105 106  
  107 + @TableField(exist = false)
  108 + private Long scheduleDateTimeDiff;
  109 +
  110 + @TableField(exist = false)
  111 + private Date startScheduleDate;
  112 + @TableField(exist = false)
  113 + private Date endScheduleDate;
  114 +
106 115  
107 116 public enum LinggangKeyWorkLocationEventTypeEnum {
108 117 TAKE_OUT(0, "取出"),
... ...
Bsth-admin/src/main/java/com/ruoyi/domain/sign/in/resource/LinggangSignInResource.java 0 → 100644
  1 +package com.ruoyi.domain.sign.in.resource;
  2 +
  3 +import com.baomidou.mybatisplus.annotation.IdType;
  4 +import com.baomidou.mybatisplus.annotation.TableField;
  5 +import com.baomidou.mybatisplus.annotation.TableId;
  6 +import com.baomidou.mybatisplus.annotation.TableName;
  7 +import com.ruoyi.common.annotation.Excel;
  8 +import lombok.AllArgsConstructor;
  9 +import lombok.Data;
  10 +import lombok.EqualsAndHashCode;
  11 +import lombok.NoArgsConstructor;
  12 +import lombok.experimental.Accessors;
  13 +import lombok.extern.slf4j.Slf4j;
  14 +
  15 +
  16 +@Data
  17 +@Slf4j
  18 +@NoArgsConstructor
  19 +@AllArgsConstructor
  20 +@Accessors(chain = true)
  21 +@EqualsAndHashCode(callSuper = false)
  22 +@TableName("Sign_in_Resource")
  23 +/**打卡上传资源 实体*/
  24 +public class LinggangSignInResource {
  25 + /***ID*/
  26 + @TableId(value = "id", type = IdType.AUTO)
  27 + @Excel(name = "ID")
  28 + private Long id;
  29 +
  30 +
  31 + /***打卡ID*/
  32 + @Excel(name = "打卡ID")
  33 + private Long signId;
  34 +
  35 +
  36 + /***顺序*/
  37 + @Excel(name = "顺序")
  38 + private Integer index;
  39 +
  40 +
  41 + /***资源类型:1是图片;2是视频*/
  42 + @Excel(name = "资源类型:1是图片;2是视频")
  43 + private Integer resourceType;
  44 +
  45 +
  46 + /***时间*/
  47 + @Excel(name = "时间")
  48 + private java.util.Date time;
  49 +
  50 +
  51 + /***创建人员*/
  52 + @Excel(name = "创建人员")
  53 + private Long createBy;
  54 +
  55 +
  56 + /***创建时间*/
  57 + @Excel(name = "创建时间")
  58 + private java.util.Date createTime;
  59 +
  60 +
  61 + /***修改人员*/
  62 + @Excel(name = "修改人员")
  63 + private Long updateBy;
  64 +
  65 +
  66 + /***修改时间*/
  67 + @Excel(name = "修改时间")
  68 + private java.util.Date updateTime;
  69 +
  70 + /***路径*/
  71 + @Excel(name = "路径")
  72 + private java.lang.String path;
  73 +
  74 + @TableField(exist = false)
  75 + private String device;
  76 + /**文件内容*/
  77 + @TableField(exist = false)
  78 + private String content;
  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/sign/in/resource/dto/LinggangSignInResourceAddDTO.java 0 → 100644
  1 +package com.ruoyi.domain.sign.in.resource.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 LinggangSignInResourceAddDTO implements java.io.Serializable {
  15 + private static final long serialVersionUID = 537778184L;
  16 +
  17 + /***ID*/
  18 + @ApiModelProperty(value = "ID", example = "1")
  19 + private Long id;
  20 + /***打卡ID*/
  21 + @ApiModelProperty(value = "打卡ID", example = "1")
  22 + private Long signId;
  23 + /***顺序*/
  24 + @ApiModelProperty(value = "顺序", example = "1")
  25 + private Integer index;
  26 + /***资源类型:1是图片;2是视频*/
  27 + @ApiModelProperty(value = "资源类型:1是图片;2是视频", example = "1")
  28 + private Integer resourceType;
  29 + /***时间*/
  30 + @ApiModelProperty(value = "时间")
  31 + private java.util.Date time;
  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 + /***操作人员*/
  45 + @ApiModelProperty(value = "操作人员")
  46 + private String operator;
  47 +
  48 + /***路径*/
  49 + @ApiModelProperty(value = "路径")
  50 + private java.lang.String path;
  51 +
  52 +
  53 + @Override
  54 + public String toString() {
  55 + return com.alibaba.fastjson2.JSON.toJSONString(this);
  56 + }
  57 +}
0 58 \ No newline at end of file
... ...
Bsth-admin/src/main/java/com/ruoyi/domain/sign/in/resource/dto/LinggangSignInResourceQueryDTO.java 0 → 100644
  1 +package com.ruoyi.domain.sign.in.resource.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 LinggangSignInResourceQueryDTO implements java.io.Serializable {
  15 + private static final long serialVersionUID = 367815784L;
  16 +
  17 + /***ID*/
  18 + @ApiModelProperty(value = "ID", example = "1")
  19 + private Long id;
  20 + /***打卡ID*/
  21 + @ApiModelProperty(value = "打卡ID", example = "1")
  22 + private Long signId;
  23 + /***顺序*/
  24 + @ApiModelProperty(value = "顺序", example = "1")
  25 + private Integer index;
  26 + /***资源类型:1是图片;2是视频*/
  27 + @ApiModelProperty(value = "资源类型:1是图片;2是视频", example = "1")
  28 + private Integer resourceType;
  29 + /***时间*/
  30 + @ApiModelProperty(value = "时间")
  31 + private java.util.Date time;
  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 +
  45 + /***路径*/
  46 + @ApiModelProperty(value = "路径")
  47 + private java.lang.String path;
  48 +
  49 +
  50 + @Override
  51 + public String toString() {
  52 + return com.alibaba.fastjson2.JSON.toJSONString(this);
  53 + }
  54 +}
0 55 \ No newline at end of file
... ...
Bsth-admin/src/main/java/com/ruoyi/domain/sign/in/resource/dto/LinggangSignInResourceUpdateDTO.java 0 → 100644
  1 +package com.ruoyi.domain.sign.in.resource.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 LinggangSignInResourceUpdateDTO implements java.io.Serializable {
  15 + private static final long serialVersionUID = 258398919L;
  16 +
  17 + /***ID*/
  18 + @ApiModelProperty(value = "ID", example = "1")
  19 + private Long id;
  20 + /***打卡ID*/
  21 + @ApiModelProperty(value = "打卡ID", example = "1")
  22 + private Long signId;
  23 + /***顺序*/
  24 + @ApiModelProperty(value = "顺序", example = "1")
  25 + private Integer index;
  26 + /***资源类型:1是图片;2是视频*/
  27 + @ApiModelProperty(value = "资源类型:1是图片;2是视频", example = "1")
  28 + private Integer resourceType;
  29 + /***时间*/
  30 + @ApiModelProperty(value = "时间")
  31 + private java.util.Date time;
  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 + /***操作人员*/
  45 + @ApiModelProperty(value = "操作人员")
  46 + private String operator;
  47 + /***路径*/
  48 + @ApiModelProperty(value = "路径")
  49 + private java.lang.String path;
  50 +
  51 +
  52 + @Override
  53 + public String toString() {
  54 + return com.alibaba.fastjson2.JSON.toJSONString(this);
  55 + }
  56 +}
0 57 \ No newline at end of file
... ...
Bsth-admin/src/main/java/com/ruoyi/domain/sign/in/resource/vo/LinggangSignInResourceVO.java 0 → 100644
  1 +package com.ruoyi.domain.sign.in.resource.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 LinggangSignInResourceVO implements java.io.Serializable {
  20 + private static final long serialVersionUID = 876699789L;
  21 +
  22 + /***ID*/
  23 + @ApiModelProperty(value = "ID", example = "1")
  24 + private Long id;
  25 + /***打卡ID*/
  26 + @ApiModelProperty(value = "打卡ID", example = "1")
  27 + private Long signId;
  28 + /***顺序*/
  29 + @ApiModelProperty(value = "顺序", example = "1")
  30 + private Integer index;
  31 + /***资源类型:1是图片;2是视频*/
  32 + @ApiModelProperty(value = "资源类型:1是图片;2是视频", example = "1")
  33 + private Integer resourceType;
  34 + /***时间*/
  35 + @ApiModelProperty(value = "时间")
  36 + private java.util.Date time;
  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 +
  50 + /***路径*/
  51 + @ApiModelProperty(value = "路径")
  52 + private java.lang.String path;
  53 +
  54 +
  55 + @Override
  56 + public String toString() {
  57 + return com.alibaba.fastjson2.JSON.toJSONString(this);
  58 + }
  59 +}
0 60 \ No newline at end of file
... ...
Bsth-admin/src/main/java/com/ruoyi/domain/venue/info/LinggangVenueInfo.java 0 → 100644
  1 +package com.ruoyi.domain.venue.info;
  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("venue_info")
  22 +/**场地Info 实体*/
  23 +public class LinggangVenueInfo {
  24 + /****/
  25 + @TableId(value = "ID", type = IdType.AUTO)
  26 + @Excel(name = "")
  27 + private Integer id;
  28 +
  29 +
  30 + /***场站编号*/
  31 + @Excel(name = "场站编号")
  32 + private String parkCode;
  33 +
  34 +
  35 + /***地址*/
  36 + @Excel(name = "地址")
  37 + private String parkAddr;
  38 +
  39 +
  40 + /***是否删除;0为不删除;1为删除*/
  41 + @Excel(name = "是否删除;0为不删除;1为删除")
  42 + private Boolean delFlag;
  43 +
  44 +
  45 + /***创建人员*/
  46 + @Excel(name = "创建人员")
  47 + private Long createBy;
  48 +
  49 +
  50 + /***创建时间*/
  51 + @Excel(name = "创建时间")
  52 + private java.util.Date crateTime;
  53 +
  54 +
  55 + /***修改人员*/
  56 + @Excel(name = "修改人员")
  57 + private Long updateBy;
  58 +
  59 +
  60 + /***修改时间*/
  61 + @Excel(name = "修改时间")
  62 + private java.util.Date updateTime;
  63 +
  64 +
  65 + /***场站名称*/
  66 + @Excel(name = "场站名称")
  67 + private String name;
  68 +
  69 +
  70 + @Override
  71 + public String toString() {
  72 + return com.alibaba.fastjson2.JSON.toJSONString(this);
  73 + }
  74 +}
0 75 \ No newline at end of file
... ...
Bsth-admin/src/main/java/com/ruoyi/domain/venue/info/dto/LinggangVenueInfoAddDTO.java 0 → 100644
  1 +package com.ruoyi.domain.venue.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 +@Data
  10 +@ApiModel(value = "场地Info的添加DTO")
  11 +@Accessors(chain = true)
  12 +@EqualsAndHashCode(callSuper = false)
  13 +/**场地Info DTO*/
  14 +public class LinggangVenueInfoAddDTO implements java.io.Serializable {
  15 + private static final long serialVersionUID = 240224244L;
  16 +
  17 + /****/
  18 + @ApiModelProperty(value = "", example = "1")
  19 + private Integer id;
  20 + /***场站编号*/
  21 + @ApiModelProperty(value = "场站编号")
  22 + private String parkCode;
  23 + /***地址*/
  24 + @ApiModelProperty(value = "地址")
  25 + private String parkAddr;
  26 + /***是否删除;0为不删除;1为删除*/
  27 + @ApiModelProperty(value = "是否删除;0为不删除;1为删除")
  28 + private Boolean delFlag;
  29 + /***创建人员*/
  30 + @ApiModelProperty(value = "创建人员")
  31 + private Long createBy;
  32 + /***创建时间*/
  33 + @ApiModelProperty(value = "创建时间")
  34 + private java.util.Date crateTime;
  35 + /***修改人员*/
  36 + @ApiModelProperty(value = "修改人员")
  37 + private Long updateBy;
  38 + /***修改时间*/
  39 + @ApiModelProperty(value = "修改时间")
  40 + private java.util.Date updateTime;
  41 + /***场站名称*/
  42 + @ApiModelProperty(value = "场站名称")
  43 + private String name;
  44 + /***操作人员*/
  45 + @ApiModelProperty(value = "操作人员")
  46 + private String operator;
  47 +
  48 +
  49 + @Override
  50 + public String toString() {
  51 + return com.alibaba.fastjson2.JSON.toJSONString(this);
  52 + }
  53 +}
0 54 \ No newline at end of file
... ...
Bsth-admin/src/main/java/com/ruoyi/domain/venue/info/dto/LinggangVenueInfoQueryDTO.java 0 → 100644
  1 +package com.ruoyi.domain.venue.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 +@Data
  10 +@ApiModel(value = "场地Info的查询DTO")
  11 +@Accessors(chain = true)
  12 +@EqualsAndHashCode(callSuper = false)
  13 +/**场地Info DTO*/
  14 +public class LinggangVenueInfoQueryDTO implements java.io.Serializable {
  15 + private static final long serialVersionUID = 742428594L;
  16 +
  17 + /****/
  18 + @ApiModelProperty(value = "", example = "1")
  19 + private Integer id;
  20 + /***场站编号*/
  21 + @ApiModelProperty(value = "场站编号")
  22 + private String parkCode;
  23 + /***地址*/
  24 + @ApiModelProperty(value = "地址")
  25 + private String parkAddr;
  26 + /***是否删除;0为不删除;1为删除*/
  27 + @ApiModelProperty(value = "是否删除;0为不删除;1为删除")
  28 + private Boolean delFlag;
  29 + /***创建人员*/
  30 + @ApiModelProperty(value = "创建人员")
  31 + private Long createBy;
  32 + /***创建时间*/
  33 + @ApiModelProperty(value = "创建时间")
  34 + private java.util.Date crateTime;
  35 + /***修改人员*/
  36 + @ApiModelProperty(value = "修改人员")
  37 + private Long updateBy;
  38 + /***修改时间*/
  39 + @ApiModelProperty(value = "修改时间")
  40 + private java.util.Date updateTime;
  41 + /***场站名称*/
  42 + @ApiModelProperty(value = "场站名称")
  43 + private String name;
  44 +
  45 +
  46 + @Override
  47 + public String toString() {
  48 + return com.alibaba.fastjson2.JSON.toJSONString(this);
  49 + }
  50 +}
0 51 \ No newline at end of file
... ...
Bsth-admin/src/main/java/com/ruoyi/domain/venue/info/dto/LinggangVenueInfoUpdateDTO.java 0 → 100644
  1 +package com.ruoyi.domain.venue.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 +@Data
  10 +@ApiModel(value = "场地Info的修改DTO")
  11 +@Accessors(chain = true)
  12 +@EqualsAndHashCode(callSuper = false)
  13 +/**场地Info DTO*/
  14 +public class LinggangVenueInfoUpdateDTO implements java.io.Serializable {
  15 + private static final long serialVersionUID = 144439709L;
  16 +
  17 + /****/
  18 + @ApiModelProperty(value = "", example = "1")
  19 + private Integer id;
  20 + /***场站编号*/
  21 + @ApiModelProperty(value = "场站编号")
  22 + private String parkCode;
  23 + /***地址*/
  24 + @ApiModelProperty(value = "地址")
  25 + private String parkAddr;
  26 + /***是否删除;0为不删除;1为删除*/
  27 + @ApiModelProperty(value = "是否删除;0为不删除;1为删除")
  28 + private Boolean delFlag;
  29 + /***创建人员*/
  30 + @ApiModelProperty(value = "创建人员")
  31 + private Long createBy;
  32 + /***创建时间*/
  33 + @ApiModelProperty(value = "创建时间")
  34 + private java.util.Date crateTime;
  35 + /***修改人员*/
  36 + @ApiModelProperty(value = "修改人员")
  37 + private Long updateBy;
  38 + /***修改时间*/
  39 + @ApiModelProperty(value = "修改时间")
  40 + private java.util.Date updateTime;
  41 + /***场站名称*/
  42 + @ApiModelProperty(value = "场站名称")
  43 + private String name;
  44 + /***操作人员*/
  45 + @ApiModelProperty(value = "操作人员")
  46 + private String operator;
  47 +
  48 +
  49 + @Override
  50 + public String toString() {
  51 + return com.alibaba.fastjson2.JSON.toJSONString(this);
  52 + }
  53 +}
0 54 \ No newline at end of file
... ...
Bsth-admin/src/main/java/com/ruoyi/domain/venue/info/dto/LinggangVenueInfoUpdateStatusDTO.java 0 → 100644
  1 +package com.ruoyi.domain.venue.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 +@Data
  10 +@ApiModel(value = "场地Info的修改状态DTO")
  11 +@Accessors(chain = true)
  12 +@EqualsAndHashCode(callSuper = false)
  13 +/**场地Info DTO*/ public class LinggangVenueInfoUpdateStatusDTO implements java.io.Serializable {
  14 + private static final long serialVersionUID = 907489383L;
  15 +
  16 + /****/
  17 + @ApiModelProperty(value = "", example = "1")
  18 + private Integer id;
  19 + /***场站编号*/
  20 + @ApiModelProperty(value = "场站编号")
  21 + private String parkCode;
  22 + /***地址*/
  23 + @ApiModelProperty(value = "地址")
  24 + private String parkAddr;
  25 + /***是否删除;0为不删除;1为删除*/
  26 + @ApiModelProperty(value = "是否删除;0为不删除;1为删除")
  27 + private Boolean delFlag;
  28 + /***创建人员*/
  29 + @ApiModelProperty(value = "创建人员")
  30 + private Long createBy;
  31 + /***创建时间*/
  32 + @ApiModelProperty(value = "创建时间")
  33 + private java.util.Date crateTime;
  34 + /***修改人员*/
  35 + @ApiModelProperty(value = "修改人员")
  36 + private Long updateBy;
  37 + /***修改时间*/
  38 + @ApiModelProperty(value = "修改时间")
  39 + private java.util.Date updateTime;
  40 + /***场站名称*/
  41 + @ApiModelProperty(value = "场站名称")
  42 + private String name;
  43 + /***操作人员*/
  44 + @ApiModelProperty(value = "操作人员")
  45 + private String operator;
  46 +
  47 +
  48 + @Override
  49 + public String toString() {
  50 + return com.alibaba.fastjson2.JSON.toJSONString(this);
  51 + }
  52 +}
0 53 \ No newline at end of file
... ...
Bsth-admin/src/main/java/com/ruoyi/domain/venue/info/vo/LinggangVenueInfoVO.java 0 → 100644
  1 +package com.ruoyi.domain.venue.info.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 = "场地Info的VO")
  16 +@Accessors(chain = true)
  17 +@EqualsAndHashCode(callSuper = false)
  18 +/**场地Info VO*/
  19 +public class LinggangVenueInfoVO implements java.io.Serializable {
  20 + private static final long serialVersionUID = 251922541L;
  21 +
  22 + /****/
  23 + @ApiModelProperty(value = "", example = "1")
  24 + private Integer id;
  25 + /***场站编号*/
  26 + @ApiModelProperty(value = "场站编号")
  27 + private String parkCode;
  28 + /***地址*/
  29 + @ApiModelProperty(value = "地址")
  30 + private String parkAddr;
  31 + /***是否删除;0为不删除;1为删除*/
  32 + @ApiModelProperty(value = "是否删除;0为不删除;1为删除")
  33 + private Boolean delFlag;
  34 + /***创建人员*/
  35 + @ApiModelProperty(value = "创建人员")
  36 + private Long createBy;
  37 + /***创建时间*/
  38 + @ApiModelProperty(value = "创建时间")
  39 + private java.util.Date crateTime;
  40 + /***修改人员*/
  41 + @ApiModelProperty(value = "修改人员")
  42 + private Long updateBy;
  43 + /***修改时间*/
  44 + @ApiModelProperty(value = "修改时间")
  45 + private java.util.Date updateTime;
  46 + /***场站名称*/
  47 + @ApiModelProperty(value = "场站名称")
  48 + private String name;
  49 +
  50 +
  51 + @Override
  52 + public String toString() {
  53 + return com.alibaba.fastjson2.JSON.toJSONString(this);
  54 + }
  55 +}
0 56 \ No newline at end of file
... ...
Bsth-admin/src/main/java/com/ruoyi/equipment/domain/Equipment.java
1 1 package com.ruoyi.equipment.domain;
2 2  
3   -import com.baomidou.mybatisplus.annotation.TableField;
  3 +import com.ruoyi.common.annotation.Excel;
  4 +import com.ruoyi.common.core.domain.BaseEntity;
4 5 import io.swagger.annotations.ApiModel;
5 6 import io.swagger.annotations.ApiModelProperty;
6   -import io.swagger.annotations.ApiOperation;
7 7 import lombok.Data;
8   -import org.apache.commons.lang3.builder.ToStringBuilder;
9   -import org.apache.commons.lang3.builder.ToStringStyle;
10   -import com.ruoyi.common.annotation.Excel;
11   -import com.ruoyi.common.core.domain.BaseEntity;
12 8  
13 9 import java.util.Date;
14 10  
... ... @@ -88,6 +84,15 @@ public class Equipment extends BaseEntity {
88 84 @Excel(name = "格子数")
89 85 private java.lang.Integer latticeNumber;
90 86  
  87 + /***钥匙柜名称*/
  88 + @Excel(name = "钥匙柜名称")
  89 + private java.lang.String name;
  90 +
  91 +
  92 + /***场站ID*/
  93 + @Excel(name = "场站ID")
  94 + private java.lang.Integer yardId;
  95 +
91 96  
92 97  
93 98 }
... ...
Bsth-admin/src/main/java/com/ruoyi/equipment/service/IEquipmentService.java
... ... @@ -50,6 +50,8 @@ public interface IEquipmentService extends IService&lt;Equipment&gt; {
50 50 */
51 51 List<Equipment> listOfSelect(Equipment equipment);
52 52  
  53 + List<Equipment> list(Equipment equipment);
  54 +
53 55 /***
54 56 *根据设备ID查询设备名称和ID
55 57 * @author liujun
... ...
Bsth-admin/src/main/java/com/ruoyi/equipment/service/impl/EquipmentServiceImpl.java
... ... @@ -67,11 +67,16 @@ public class EquipmentServiceImpl extends ServiceImpl&lt;EquipmentMapper, Equipment
67 67  
68 68 @Override
69 69 public List<Equipment> listOfSelect(Equipment equipment) {
70   -
71 70 return equipmentMapper.queryIdsiteNameBypromise(equipment.getPromise());
72 71 }
73 72  
74 73 @Override
  74 + public List<Equipment> list(Equipment equipment) {
  75 + LambdaQueryWrapper<Equipment> wrapper = new LambdaQueryWrapper<>(equipment);
  76 + return list(wrapper);
  77 + }
  78 +
  79 + @Override
75 80 public List<Equipment> listNameAndIDByIds(Collection<Integer> ids) {
76 81 if (CollectionUtils.isEmpty(ids)) {
77 82 return Collections.emptyList();
... ...
Bsth-admin/src/main/java/com/ruoyi/exception/InterruptException.java 0 → 100644
  1 +package com.ruoyi.exception;
  2 +
  3 +import lombok.Data;
  4 +
  5 +/**
  6 + * @author liujun
  7 + * @date 2024年07月25日 15:22
  8 + */
  9 +@Data
  10 +public class InterruptException extends RuntimeException {
  11 + private String code;
  12 + private String message;
  13 +
  14 + public InterruptException(String message) {
  15 + super(message);
  16 + this.message = message;
  17 + }
  18 +}
... ...
Bsth-admin/src/main/java/com/ruoyi/in/domain/SignIn.java
... ... @@ -99,5 +99,9 @@ public class SignIn extends BaseEntity {
99 99 /***排班信息ID*/
100 100 @Excel(name = "排班信息ID")
101 101 private java.lang.Long schedulingId;
  102 +
  103 + /***资源类型:1图片;2视频*/
  104 + @Excel(name = "资源类型:1图片;2视频")
  105 + private java.lang.Integer resourceType;
102 106 }
103 107  
... ...
Bsth-admin/src/main/java/com/ruoyi/mapper/sign/in/resource/LinggangSignInResourceMapper.java 0 → 100644
  1 +package com.ruoyi.mapper.sign.in.resource;
  2 +
  3 +import com.baomidou.mybatisplus.core.mapper.BaseMapper;
  4 +import com.ruoyi.domain.sign.in.resource.LinggangSignInResource;
  5 +import org.apache.ibatis.annotations.Mapper;
  6 +
  7 +
  8 +@Mapper
  9 +/**打卡上传资源 Mapper接口*/
  10 +public interface LinggangSignInResourceMapper extends BaseMapper<LinggangSignInResource> {
  11 + /**
  12 + * 插入有值的列
  13 + */
  14 + int insertSelective(LinggangSignInResource name);
  15 +}
0 16 \ No newline at end of file
... ...
Bsth-admin/src/main/java/com/ruoyi/mapper/venue/info/LinggangVenueInfoMapper.java 0 → 100644
  1 +package com.ruoyi.mapper.venue.info;
  2 +
  3 +import com.baomidou.mybatisplus.core.mapper.BaseMapper;
  4 +import com.ruoyi.domain.venue.info.LinggangVenueInfo;
  5 +import org.apache.ibatis.annotations.Mapper;
  6 +
  7 +
  8 +@Mapper
  9 +/**场地Info Mapper接口*/
  10 +public interface LinggangVenueInfoMapper extends BaseMapper<LinggangVenueInfo> {
  11 + /**
  12 + * 插入有值的列
  13 + */
  14 + int insertSelective(LinggangVenueInfo name);
  15 +}
0 16 \ No newline at end of file
... ...
Bsth-admin/src/main/java/com/ruoyi/service/driver/NewDriverService.java
... ... @@ -34,6 +34,10 @@ public interface NewDriverService extends IService&lt;NewDriver&gt; {
34 34  
35 35 List<NewDriver> listOfIds(java.util.Collection<java.lang.String> ids);
36 36  
  37 + List<NewDriver> listOfIdsInt(java.util.Collection<java.lang.Integer> ids);
  38 +
  39 + List<NewDriver> listOfIdsLon(java.util.Collection<java.lang.Long> ids);
  40 +
37 41 /***
38 42 *用于页面选择
39 43 */
... ...
Bsth-admin/src/main/java/com/ruoyi/service/impl/driver/NewDriverServiceImpl.java
... ... @@ -107,6 +107,26 @@ public class NewDriverServiceImpl extends ServiceImpl&lt;NewDriverMapper, NewDriver
107 107 }
108 108  
109 109 @Override
  110 + public List<NewDriver> listOfIdsInt(Collection<Integer> ids) {
  111 + if (CollectionUtils.isEmpty(ids)) {
  112 + return Collections.emptyList();
  113 + }
  114 + LambdaQueryWrapper<NewDriver> wrapper = new LambdaQueryWrapper<>();
  115 + wrapper.in(NewDriver::getId, ids);
  116 + return list(wrapper);
  117 + }
  118 +
  119 + @Override
  120 + public List<NewDriver> listOfIdsLon(Collection<Long> ids) {
  121 + if (CollectionUtils.isEmpty(ids)) {
  122 + return Collections.emptyList();
  123 + }
  124 + LambdaQueryWrapper<NewDriver> wrapper = new LambdaQueryWrapper<>();
  125 + wrapper.in(NewDriver::getId, ids);
  126 + return list(wrapper);
  127 + }
  128 +
  129 + @Override
110 130 public List<NewDriver> listOfSelect(NewDriver entity) {
111 131 LambdaQueryWrapper<NewDriver> wrapper = new LambdaQueryWrapper<>(entity);
112 132 wrapper.select(NewDriver::getId, NewDriver::getJobCode, NewDriver::getPersonnelName);
... ...
Bsth-admin/src/main/java/com/ruoyi/service/impl/key/location/LinggangKeyWorkLocationServiceImpl.java
... ... @@ -17,6 +17,7 @@ import com.ruoyi.service.key.info.KeyInfoService;
17 17 import com.ruoyi.service.key.location.LinggangKeyWorkLocationService;
18 18 import lombok.extern.slf4j.Slf4j;
19 19 import org.apache.commons.collections4.CollectionUtils;
  20 +import org.apache.commons.collections4.MapUtils;
20 21 import org.apache.commons.lang3.StringUtils;
21 22 import org.apache.commons.lang3.time.DateUtils;
22 23 import org.springframework.beans.factory.annotation.Autowired;
... ... @@ -46,12 +47,14 @@ public class LinggangKeyWorkLocationServiceImpl extends ServiceImpl&lt;LinggangKeyW
46 47 public IPage<LinggangKeyWorkLocation> pageList(Page<LinggangKeyWorkLocation> page, LinggangKeyWorkLocation entity, OrderEntity orderEntity) {
47 48 LambdaQueryWrapper<LinggangKeyWorkLocation> countWrapper = new LambdaQueryWrapper<>(entity);
48 49 countWrapper.select(LinggangKeyWorkLocation::getId);
  50 + switchTime(entity, countWrapper);
49 51 int count = count(countWrapper);
50 52  
51 53 List<LinggangKeyWorkLocation> lists = Collections.emptyList();
52 54 if (count > 0) {
53 55 PageHelper.startPage((int) page.getCurrent(), (int) page.getSize(), false);
54 56 LambdaQueryWrapper<LinggangKeyWorkLocation> selectWrapper = new LambdaQueryWrapper<>(entity);
  57 + switchTime(entity, selectWrapper);
55 58 orderColumn(selectWrapper, orderEntity);
56 59 lists = list(selectWrapper);
57 60 }
... ... @@ -66,10 +69,65 @@ public class LinggangKeyWorkLocationServiceImpl extends ServiceImpl&lt;LinggangKeyW
66 69 return returnPage;
67 70 }
68 71  
  72 + private static void switchTime( LinggangKeyWorkLocation entity, LambdaQueryWrapper<LinggangKeyWorkLocation> wrapper) {
  73 + if(Objects.nonNull(entity.getStartScheduleDate()) && Objects.nonNull(entity.getEndScheduleDate())){
  74 + wrapper.between(LinggangKeyWorkLocation::getScheduleDate, entity.getStartScheduleDate(), entity.getEndScheduleDate());
  75 + }else if(Objects.nonNull(entity.getStartScheduleDate())){
  76 + wrapper.ge(LinggangKeyWorkLocation::getScheduleDate, entity.getStartScheduleDate());
  77 + }else if(Objects.nonNull(entity.getEndScheduleDate())){
  78 + wrapper.le(LinggangKeyWorkLocation::getScheduleDate, entity.getEndScheduleDate());
  79 + }
  80 + }
  81 +
69 82 @Override
70 83 public List<LinggangKeyWorkLocation> list(LinggangKeyWorkLocation entity) {
71 84 return list(new LambdaQueryWrapper<>(entity));
72 85 }
  86 +
  87 + @Override
  88 + public List<LinggangKeyWorkLocation> listRecent(LinggangKeyWorkLocation entity, Date date) {
  89 + LambdaQueryWrapper<LinggangKeyWorkLocation> wrapper = new LambdaQueryWrapper<>(entity);
  90 + if (Objects.nonNull(date)) {
  91 + wrapper.lt(LinggangKeyWorkLocation::getScheduleDate, date);
  92 + }
  93 + return null;
  94 + }
  95 +
  96 + @Override
  97 + public List<LinggangKeyWorkLocation> listRecent(Collection<Integer> keyIds, Date date) {
  98 + LambdaQueryWrapper<LinggangKeyWorkLocation> wrapper = new LambdaQueryWrapper<>();
  99 + if (CollectionUtils.isNotEmpty(keyIds)) {
  100 + wrapper.in(LinggangKeyWorkLocation::getKeyInfoId, keyIds);
  101 + }
  102 + if (Objects.nonNull(date)) {
  103 + wrapper.lt(LinggangKeyWorkLocation::getScheduleDate, date);
  104 + }
  105 +
  106 + List<LinggangKeyWorkLocation> locations = list(wrapper);
  107 + return chooseRecent(locations, date);
  108 + }
  109 +
  110 + @Override
  111 + public List<LinggangKeyWorkLocation> listRecent(LinggangKeyWorkLocation entity, Collection<Integer> keyIds, Date date) {
  112 + LambdaQueryWrapper<LinggangKeyWorkLocation> wrapper = new LambdaQueryWrapper<>(entity);
  113 + if (Objects.nonNull(date)) {
  114 + wrapper.lt(LinggangKeyWorkLocation::getScheduleDate, date);
  115 + }
  116 +
  117 + if (CollectionUtils.isNotEmpty(keyIds)) {
  118 + wrapper.in(LinggangKeyWorkLocation::getKeyInfoId, keyIds);
  119 + }
  120 + List<LinggangKeyWorkLocation> locations = list(wrapper);
  121 + return chooseRecent(locations, date);
  122 + }
  123 +
  124 + @Override
  125 + public List<LinggangKeyWorkLocation> listOfLtEqScheduleDate(LinggangKeyWorkLocation entity, Date scheduleDate) {
  126 + LambdaQueryWrapper<LinggangKeyWorkLocation> wrapper = new LambdaQueryWrapper<>(entity);
  127 + wrapper.gt(LinggangKeyWorkLocation::getScheduleDate, scheduleDate);
  128 + return list(wrapper);
  129 + }
  130 +
73 131 // @Override
74 132 // public List<LinggangKeyWorkLocation> listOfSelect(LinggangKeyWorkLocation entity) {
75 133 // LambdaQueryWrapper<LinggangKeyWorkLocation> wrapper = new LambdaQueryWrapper<>(entity);
... ... @@ -139,7 +197,7 @@ public class LinggangKeyWorkLocationServiceImpl extends ServiceImpl&lt;LinggangKeyW
139 197 return ResponseResult.success();
140 198 }
141 199  
142   - ResponseResult<List<LinggangKeyWorkLocation>> responseResult = checkTaskKey(locations,typeEnum);
  200 + ResponseResult<List<LinggangKeyWorkLocation>> responseResult = checkTaskKey(locations, typeEnum);
143 201 if (!responseResult.isSuccess()) {
144 202 return ResponseResult.error(responseResult.getCode(), responseResult.getMsg());
145 203 }
... ... @@ -167,7 +225,7 @@ public class LinggangKeyWorkLocationServiceImpl extends ServiceImpl&lt;LinggangKeyW
167 225 if (StringUtils.isNotEmpty(msg)) {
168 226 resultStr.append(msg);
169 227 resultStr.append(";");
170   - return StringUtils.isEmpty(msg)?ResponseResult.success(resultStr.toString()):ResponseResult.error(resultStr.toString());
  228 + return StringUtils.isEmpty(msg) ? ResponseResult.success(resultStr.toString()) : ResponseResult.error(resultStr.toString());
171 229 }
172 230  
173 231  
... ... @@ -176,7 +234,7 @@ public class LinggangKeyWorkLocationServiceImpl extends ServiceImpl&lt;LinggangKeyW
176 234  
177 235 public boolean update(LinggangKeyWorkLocation location) {
178 236 LambdaUpdateWrapper<LinggangKeyWorkLocation> wrapper = new LambdaUpdateWrapper<>();
179   - wrapper.set(LinggangKeyWorkLocation::getEventType, location.getEventType()).set(LinggangKeyWorkLocation::getUpdateTime,new Date());
  237 + wrapper.set(LinggangKeyWorkLocation::getEventType, location.getEventType()).set(LinggangKeyWorkLocation::getUpdateTime, new Date());
180 238 wrapper.eq(LinggangKeyWorkLocation::getId, location.getId()).ne(LinggangKeyWorkLocation::getEventType, location.getEventType());
181 239  
182 240 return update(wrapper);
... ... @@ -405,4 +463,37 @@ public class LinggangKeyWorkLocationServiceImpl extends ServiceImpl&lt;LinggangKeyW
405 463 });
406 464 return builder.toString();
407 465 }
  466 +
  467 + private List<LinggangKeyWorkLocation> chooseRecent(List<LinggangKeyWorkLocation> locations, Date date) {
  468 + if (CollectionUtils.isEmpty(locations)) {
  469 + return Collections.emptyList();
  470 + }
  471 +
  472 + Map<Integer, LinggangKeyWorkLocation> linggangKeyWorkLocationMap = locations.stream().map(l -> {
  473 + Long value = null;
  474 + if (Objects.isNull(l.getScheduleDate())) {
  475 + value = -9999L;
  476 + } else if (Objects.isNull(date)) {
  477 + value = l.getScheduleDate().getTime();
  478 + } else {
  479 + value = date.getTime() - l.getScheduleDate().getTime();
  480 + }
  481 + l.setScheduleDateTimeDiff(value);
  482 +
  483 + return l;
  484 + }).filter(l -> Objects.nonNull(l.getScheduleDateTimeDiff()) && l.getScheduleDateTimeDiff() > 0)
  485 + .collect(Collectors.groupingBy(LinggangKeyWorkLocation::getKeyInfoId, Collectors.collectingAndThen(Collectors.reducing((l1, l2) ->
  486 + l1.getScheduleDateTimeDiff() < l2.getScheduleDateTimeDiff() ? l1 : l2), Optional::get)));
  487 +
  488 + if (MapUtils.isEmpty(linggangKeyWorkLocationMap)) {
  489 + return Collections.emptyList();
  490 + }
  491 +
  492 + List<LinggangKeyWorkLocation> source = new ArrayList<>(linggangKeyWorkLocationMap.size());
  493 + linggangKeyWorkLocationMap.forEach((key, value) -> {
  494 + source.add(value);
  495 + });
  496 +
  497 + return source;
  498 + }
408 499 }
409 500 \ No newline at end of file
... ...
Bsth-admin/src/main/java/com/ruoyi/service/impl/sign/in/resource/LinggangSignInResourceServiceImpl.java 0 → 100644
  1 +package com.ruoyi.service.impl.sign.in.resource;
  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.common.core.domain.ResponseResult;
  9 +import com.ruoyi.domain.OrderEntity;
  10 +import com.ruoyi.domain.sign.in.resource.LinggangSignInResource;
  11 +import com.ruoyi.exception.InterruptException;
  12 +import com.ruoyi.mapper.sign.in.resource.LinggangSignInResourceMapper;
  13 +import com.ruoyi.service.sign.in.resource.LinggangSignInResourceService;
  14 +import com.ruoyi.utils.UploadUtil;
  15 +import lombok.extern.slf4j.Slf4j;
  16 +import org.apache.commons.collections4.CollectionUtils;
  17 +import org.springframework.beans.factory.annotation.Autowired;
  18 +import org.springframework.stereotype.Service;
  19 +import org.springframework.transaction.annotation.Transactional;
  20 +
  21 +import java.io.File;
  22 +import java.util.Collections;
  23 +import java.util.List;
  24 +import java.util.Objects;
  25 +import java.util.UUID;
  26 +import java.util.stream.Collectors;
  27 +
  28 +@Slf4j
  29 +@Service
  30 +/**打卡上传资源 Service实现类*/
  31 +public class LinggangSignInResourceServiceImpl extends ServiceImpl<LinggangSignInResourceMapper, LinggangSignInResource> implements LinggangSignInResourceService {
  32 + @Autowired
  33 + private LinggangSignInResourceMapper linggangSignInResourceMapper;
  34 + @Autowired
  35 + private UploadUtil uploadUtil;
  36 +
  37 + /**
  38 + * 分页查询
  39 + */
  40 + @Override
  41 + public IPage<LinggangSignInResource> pageList(Page<LinggangSignInResource> page, LinggangSignInResource entity, OrderEntity orderEntity) {
  42 + LambdaQueryWrapper<LinggangSignInResource> countWrapper = new LambdaQueryWrapper<>(entity);
  43 + countWrapper.select(LinggangSignInResource::getId);
  44 + int count = count(countWrapper);
  45 +
  46 + List<LinggangSignInResource> lists = Collections.emptyList();
  47 + if (count > 0) {
  48 + PageHelper.startPage((int) page.getCurrent(), (int) page.getSize(), false);
  49 + LambdaQueryWrapper<LinggangSignInResource> selectWrapper = new LambdaQueryWrapper<>(entity);
  50 + orderColumn(selectWrapper, orderEntity);
  51 + lists = list(selectWrapper);
  52 + }
  53 +
  54 + IPage<LinggangSignInResource> returnPage = new Page<LinggangSignInResource>();
  55 + returnPage.setRecords(lists);
  56 + returnPage.setPages(count % page.getSize() == 0 ? count / page.getSize() : count / page.getSize() + 1);
  57 + returnPage.setCurrent(page.getCurrent());
  58 + returnPage.setSize(page.getSize());
  59 + returnPage.setTotal(count);
  60 +
  61 + return returnPage;
  62 + }
  63 +
  64 + @Override
  65 + public List<LinggangSignInResource> list(LinggangSignInResource entity) {
  66 + return list(new LambdaQueryWrapper<>(entity));
  67 + }
  68 + // @Override
  69 + // public List<LinggangSignInResource> listOfSelect(LinggangSignInResource entity) {
  70 + // LambdaQueryWrapper<LinggangSignInResource> wrapper = new LambdaQueryWrapper<>(entity);
  71 + // wrapper.select(LinggangSignInResource::, LinggangSignInResource::);
  72 + // return list(wrapper);
  73 + // }
  74 +
  75 + // @Override
  76 + // public List<LinggangSignInResource> listOfIds(java.util.Collection<java.lang.Long> ids) {
  77 + // if (org.springframework.util.CollectionUtils.isEmpty(ids)) {
  78 + // return java.util.Collections.emptyList();
  79 + // }
  80 + // LambdaQueryWrapper<LinggangSignInResource> wrapper = new LambdaQueryWrapper<>();
  81 + // wrapper.select(LinggangSignInResource::getId,LinggangSignInResource::);
  82 + // wrapper.in(LinggangSignInResource::getId, ids);
  83 + // return list(wrapper);
  84 + // }
  85 +
  86 + @Override
  87 + public LinggangSignInResource getOne(LinggangSignInResource entity) {
  88 + return getOne(new LambdaQueryWrapper<>(entity));
  89 + }
  90 +
  91 + @Override
  92 + public Integer countId(LinggangSignInResource entity) {
  93 + LambdaQueryWrapper<LinggangSignInResource> wrapper = new LambdaQueryWrapper<>(entity);
  94 + wrapper.select(LinggangSignInResource::getId);
  95 + return count(wrapper);
  96 + }
  97 +
  98 +
  99 + /**
  100 + * 插入有值的列
  101 + */
  102 + @Override
  103 + public int insertSelective(LinggangSignInResource entity) {
  104 + return linggangSignInResourceMapper.insertSelective(entity);
  105 + }
  106 +
  107 + /**
  108 + * 插入数据
  109 + */
  110 + @Override
  111 + public boolean insert(LinggangSignInResource entity) {
  112 + return save(entity);
  113 + }
  114 +
  115 + @Override
  116 + @Transactional(rollbackFor = Exception.class)
  117 + public boolean insertImage(List<LinggangSignInResource> entities) {
  118 + if (CollectionUtils.isEmpty(entities)) {
  119 + return Boolean.TRUE;
  120 + }
  121 +
  122 + entities = entities.stream().map(en -> {
  123 + StringBuilder builder = new StringBuilder();
  124 + builder.append("sign");
  125 + builder.append(File.separator);
  126 + builder.append("images");
  127 + builder.append(File.separator);
  128 + builder.append(en.getDevice());
  129 + builder.append(File.separator);
  130 + builder.append(en.getSignId());
  131 + builder.append(File.separator);
  132 + builder.append(UUID.randomUUID().toString().replace("-", ""));
  133 + builder.append(".jpg");
  134 +
  135 + en.setPath(builder.toString());
  136 + en.setResourceType(1);
  137 +
  138 + return en;
  139 + }).collect(Collectors.toList());
  140 +
  141 + boolean flag = saveBatch(entities);
  142 + if (flag) {
  143 + entities.stream().forEach(en -> {
  144 + ResponseResult<Boolean> result = uploadUtil.uploadImageOfBase64(en.getContent(), en.getPath(), "jpg");
  145 + if (!result.isSuccess() && Objects.equals(result.getData(), Boolean.FALSE)) {
  146 + throw new InterruptException("图片上传失败,请检查服务器");
  147 + }
  148 + });
  149 + }
  150 +
  151 +
  152 + return flag;
  153 + }
  154 +
  155 + @Override
  156 + public boolean insertVoide(LinggangSignInResource entity) {
  157 + StringBuilder builder = new StringBuilder();
  158 + builder.append("sign");
  159 + builder.append(File.separator);
  160 + builder.append("video");
  161 + builder.append(File.separator);
  162 + builder.append(entity.getDevice());
  163 + builder.append(File.separator);
  164 + builder.append(entity.getSignId());
  165 + builder.append(File.separator);
  166 + builder.append(UUID.randomUUID().toString().replace("-", ""));
  167 + builder.append(".mp4");
  168 +
  169 + boolean flag = save(entity);
  170 + if (flag) {
  171 + ResponseResult<Boolean> result = uploadUtil.uploadVideoOfBase64(entity.getContent(), entity.getPath());
  172 + if (!result.isSuccess() && Objects.equals(result.getData(), Boolean.FALSE)) {
  173 + throw new InterruptException("视频上传失败,请检查服务器");
  174 + }
  175 + }
  176 + return flag;
  177 + }
  178 +
  179 + /**
  180 + * 根据主键修改数据
  181 + */
  182 + @Override
  183 + public boolean updateByPrimaryKey(LinggangSignInResource entity) {
  184 + return updateById(entity);
  185 + }
  186 +
  187 + /***根据主键删除数据*/
  188 + @Override
  189 + public boolean deleteById(Long id) {
  190 + return removeById(id);
  191 + }
  192 +
  193 +
  194 + public static void orderColumn(LambdaQueryWrapper<LinggangSignInResource> wrapper, OrderEntity orderEntity) {
  195 + if (org.apache.commons.lang3.StringUtils.equals("ascending", orderEntity.getOrder())) {
  196 + if (org.apache.commons.lang3.StringUtils.equals(orderEntity.getProp(), "id")) {
  197 + wrapper.orderByAsc(LinggangSignInResource::getId);
  198 + }
  199 + if (org.apache.commons.lang3.StringUtils.equals(orderEntity.getProp(), "signId")) {
  200 + wrapper.orderByAsc(LinggangSignInResource::getSignId);
  201 + }
  202 + if (org.apache.commons.lang3.StringUtils.equals(orderEntity.getProp(), "index")) {
  203 + wrapper.orderByAsc(LinggangSignInResource::getIndex);
  204 + }
  205 + if (org.apache.commons.lang3.StringUtils.equals(orderEntity.getProp(), "resourceType")) {
  206 + wrapper.orderByAsc(LinggangSignInResource::getResourceType);
  207 + }
  208 + if (org.apache.commons.lang3.StringUtils.equals(orderEntity.getProp(), "time")) {
  209 + wrapper.orderByAsc(LinggangSignInResource::getTime);
  210 + }
  211 + if (org.apache.commons.lang3.StringUtils.equals(orderEntity.getProp(), "createBy")) {
  212 + wrapper.orderByAsc(LinggangSignInResource::getCreateBy);
  213 + }
  214 + if (org.apache.commons.lang3.StringUtils.equals(orderEntity.getProp(), "createTime")) {
  215 + wrapper.orderByAsc(LinggangSignInResource::getCreateTime);
  216 + }
  217 + if (org.apache.commons.lang3.StringUtils.equals(orderEntity.getProp(), "updateBy")) {
  218 + wrapper.orderByAsc(LinggangSignInResource::getUpdateBy);
  219 + }
  220 + if (org.apache.commons.lang3.StringUtils.equals(orderEntity.getProp(), "updateTime")) {
  221 + wrapper.orderByAsc(LinggangSignInResource::getUpdateTime);
  222 + }
  223 + } else if (org.apache.commons.lang3.StringUtils.equals("descending", orderEntity.getOrder())) {
  224 + if (org.apache.commons.lang3.StringUtils.equals(orderEntity.getProp(), "id")) {
  225 + wrapper.orderByDesc(LinggangSignInResource::getId);
  226 + }
  227 + if (org.apache.commons.lang3.StringUtils.equals(orderEntity.getProp(), "signId")) {
  228 + wrapper.orderByDesc(LinggangSignInResource::getSignId);
  229 + }
  230 + if (org.apache.commons.lang3.StringUtils.equals(orderEntity.getProp(), "index")) {
  231 + wrapper.orderByDesc(LinggangSignInResource::getIndex);
  232 + }
  233 + if (org.apache.commons.lang3.StringUtils.equals(orderEntity.getProp(), "resourceType")) {
  234 + wrapper.orderByDesc(LinggangSignInResource::getResourceType);
  235 + }
  236 + if (org.apache.commons.lang3.StringUtils.equals(orderEntity.getProp(), "time")) {
  237 + wrapper.orderByDesc(LinggangSignInResource::getTime);
  238 + }
  239 + if (org.apache.commons.lang3.StringUtils.equals(orderEntity.getProp(), "createBy")) {
  240 + wrapper.orderByDesc(LinggangSignInResource::getCreateBy);
  241 + }
  242 + if (org.apache.commons.lang3.StringUtils.equals(orderEntity.getProp(), "createTime")) {
  243 + wrapper.orderByDesc(LinggangSignInResource::getCreateTime);
  244 + }
  245 + if (org.apache.commons.lang3.StringUtils.equals(orderEntity.getProp(), "updateBy")) {
  246 + wrapper.orderByDesc(LinggangSignInResource::getUpdateBy);
  247 + }
  248 + if (org.apache.commons.lang3.StringUtils.equals(orderEntity.getProp(), "updateTime")) {
  249 + wrapper.orderByDesc(LinggangSignInResource::getUpdateTime);
  250 + }
  251 + } else {
  252 + wrapper.orderByDesc(LinggangSignInResource::getId);
  253 + }
  254 + }
  255 +}
0 256 \ No newline at end of file
... ...
Bsth-admin/src/main/java/com/ruoyi/service/impl/venue/info/LinggangVenueInfoServiceImpl.java 0 → 100644
  1 +package com.ruoyi.service.impl.venue.info;
  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.venue.info.LinggangVenueInfo;
  10 +import com.ruoyi.mapper.venue.info.LinggangVenueInfoMapper;
  11 +import com.ruoyi.service.venue.info.LinggangVenueInfoService;
  12 +import lombok.extern.slf4j.Slf4j;
  13 +import org.springframework.beans.factory.annotation.Autowired;
  14 +import org.springframework.stereotype.Service;
  15 +
  16 +import java.util.Collections;
  17 +import java.util.List;
  18 +
  19 +@Slf4j
  20 +@Service
  21 +/**场地Info Service实现类*/
  22 +public class LinggangVenueInfoServiceImpl extends ServiceImpl<LinggangVenueInfoMapper, LinggangVenueInfo> implements LinggangVenueInfoService {
  23 + @Autowired
  24 + private LinggangVenueInfoMapper linggangVenueInfoMapper;
  25 +
  26 + /**
  27 + * 分页查询
  28 + */
  29 + @Override
  30 + public IPage<LinggangVenueInfo> pageList(Page<LinggangVenueInfo> page, LinggangVenueInfo entity, OrderEntity orderEntity) {
  31 + LambdaQueryWrapper<LinggangVenueInfo> countWrapper = new LambdaQueryWrapper<>(entity);
  32 + countWrapper.select(LinggangVenueInfo::getId);
  33 + int count = count(countWrapper);
  34 +
  35 + List<LinggangVenueInfo> lists = Collections.emptyList();
  36 + if (count > 0) {
  37 + PageHelper.startPage((int) page.getCurrent(), (int) page.getSize(), false);
  38 + LambdaQueryWrapper<LinggangVenueInfo> selectWrapper = new LambdaQueryWrapper<>(entity);
  39 + orderColumn(selectWrapper, orderEntity);
  40 + lists = list(selectWrapper);
  41 + }
  42 +
  43 + IPage<LinggangVenueInfo> returnPage = new Page<LinggangVenueInfo>();
  44 + returnPage.setRecords(lists);
  45 + returnPage.setPages(count % page.getSize() == 0 ? count / page.getSize() : count / page.getSize() + 1);
  46 + returnPage.setCurrent(page.getCurrent());
  47 + returnPage.setSize(page.getSize());
  48 + returnPage.setTotal(count);
  49 +
  50 + return returnPage;
  51 + }
  52 +
  53 + @Override
  54 + public List<LinggangVenueInfo> list(LinggangVenueInfo entity) {
  55 + return list(new LambdaQueryWrapper<>(entity));
  56 + }
  57 +
  58 + @Override
  59 + public List<LinggangVenueInfo> listOfSelect(LinggangVenueInfo entity) {
  60 + LambdaQueryWrapper<LinggangVenueInfo> wrapper = new LambdaQueryWrapper<>(entity);
  61 + wrapper.select(LinggangVenueInfo::getId, LinggangVenueInfo::getName);
  62 + return list(wrapper);
  63 + }
  64 +
  65 + @Override
  66 + public List<LinggangVenueInfo> listOfIds(java.util.Collection<java.lang.Integer> ids) {
  67 + if (org.springframework.util.CollectionUtils.isEmpty(ids)) {
  68 + return java.util.Collections.emptyList();
  69 + }
  70 + LambdaQueryWrapper<LinggangVenueInfo> wrapper = new LambdaQueryWrapper<>();
  71 + wrapper.select(LinggangVenueInfo::getId, LinggangVenueInfo::getName);
  72 + wrapper.in(LinggangVenueInfo::getId, ids);
  73 + return list(wrapper);
  74 + }
  75 +
  76 + @Override
  77 + public LinggangVenueInfo getOne(LinggangVenueInfo entity) {
  78 + return getOne(new LambdaQueryWrapper<>(entity));
  79 + }
  80 +
  81 + @Override
  82 + public Integer countId(LinggangVenueInfo entity) {
  83 + LambdaQueryWrapper<LinggangVenueInfo> wrapper = new LambdaQueryWrapper<>(entity);
  84 + wrapper.select(LinggangVenueInfo::getId);
  85 + return count(wrapper);
  86 + }
  87 +
  88 +
  89 + /**
  90 + * 插入有值的列
  91 + */
  92 + @Override
  93 + public int insertSelective(LinggangVenueInfo entity) {
  94 + return linggangVenueInfoMapper.insertSelective(entity);
  95 + }
  96 +
  97 + /**
  98 + * 插入数据
  99 + */
  100 + @Override
  101 + public boolean insert(LinggangVenueInfo entity) {
  102 + return save(entity);
  103 + }
  104 +
  105 + /**
  106 + * 根据主键修改数据
  107 + */
  108 + @Override
  109 + public boolean updateByPrimaryKey(LinggangVenueInfo entity) {
  110 + return updateById(entity);
  111 + }
  112 +
  113 + /***根据主键删除数据*/
  114 + @Override
  115 + public boolean deleteById(Integer id) {
  116 + return removeById(id);
  117 + }
  118 +
  119 +
  120 + public static void orderColumn(LambdaQueryWrapper<LinggangVenueInfo> wrapper, OrderEntity orderEntity) {
  121 + if (org.apache.commons.lang3.StringUtils.equals("ascending", orderEntity.getOrder())) {
  122 + if (org.apache.commons.lang3.StringUtils.equals(orderEntity.getProp(), "id")) {
  123 + wrapper.orderByAsc(LinggangVenueInfo::getId);
  124 + }
  125 + if (org.apache.commons.lang3.StringUtils.equals(orderEntity.getProp(), "parkCode")) {
  126 + wrapper.orderByAsc(LinggangVenueInfo::getParkCode);
  127 + }
  128 + if (org.apache.commons.lang3.StringUtils.equals(orderEntity.getProp(), "parkAddr")) {
  129 + wrapper.orderByAsc(LinggangVenueInfo::getParkAddr);
  130 + }
  131 + if (org.apache.commons.lang3.StringUtils.equals(orderEntity.getProp(), "delFlag")) {
  132 + wrapper.orderByAsc(LinggangVenueInfo::getDelFlag);
  133 + }
  134 + if (org.apache.commons.lang3.StringUtils.equals(orderEntity.getProp(), "createBy")) {
  135 + wrapper.orderByAsc(LinggangVenueInfo::getCreateBy);
  136 + }
  137 + if (org.apache.commons.lang3.StringUtils.equals(orderEntity.getProp(), "crateTime")) {
  138 + wrapper.orderByAsc(LinggangVenueInfo::getCrateTime);
  139 + }
  140 + if (org.apache.commons.lang3.StringUtils.equals(orderEntity.getProp(), "updateBy")) {
  141 + wrapper.orderByAsc(LinggangVenueInfo::getUpdateBy);
  142 + }
  143 + if (org.apache.commons.lang3.StringUtils.equals(orderEntity.getProp(), "updateTime")) {
  144 + wrapper.orderByAsc(LinggangVenueInfo::getUpdateTime);
  145 + }
  146 + if (org.apache.commons.lang3.StringUtils.equals(orderEntity.getProp(), "name")) {
  147 + wrapper.orderByAsc(LinggangVenueInfo::getName);
  148 + }
  149 + } else if (org.apache.commons.lang3.StringUtils.equals("descending", orderEntity.getOrder())) {
  150 + if (org.apache.commons.lang3.StringUtils.equals(orderEntity.getProp(), "id")) {
  151 + wrapper.orderByDesc(LinggangVenueInfo::getId);
  152 + }
  153 + if (org.apache.commons.lang3.StringUtils.equals(orderEntity.getProp(), "parkCode")) {
  154 + wrapper.orderByDesc(LinggangVenueInfo::getParkCode);
  155 + }
  156 + if (org.apache.commons.lang3.StringUtils.equals(orderEntity.getProp(), "parkAddr")) {
  157 + wrapper.orderByDesc(LinggangVenueInfo::getParkAddr);
  158 + }
  159 + if (org.apache.commons.lang3.StringUtils.equals(orderEntity.getProp(), "delFlag")) {
  160 + wrapper.orderByDesc(LinggangVenueInfo::getDelFlag);
  161 + }
  162 + if (org.apache.commons.lang3.StringUtils.equals(orderEntity.getProp(), "createBy")) {
  163 + wrapper.orderByDesc(LinggangVenueInfo::getCreateBy);
  164 + }
  165 + if (org.apache.commons.lang3.StringUtils.equals(orderEntity.getProp(), "crateTime")) {
  166 + wrapper.orderByDesc(LinggangVenueInfo::getCrateTime);
  167 + }
  168 + if (org.apache.commons.lang3.StringUtils.equals(orderEntity.getProp(), "updateBy")) {
  169 + wrapper.orderByDesc(LinggangVenueInfo::getUpdateBy);
  170 + }
  171 + if (org.apache.commons.lang3.StringUtils.equals(orderEntity.getProp(), "updateTime")) {
  172 + wrapper.orderByDesc(LinggangVenueInfo::getUpdateTime);
  173 + }
  174 + if (org.apache.commons.lang3.StringUtils.equals(orderEntity.getProp(), "name")) {
  175 + wrapper.orderByDesc(LinggangVenueInfo::getName);
  176 + }
  177 + } else {
  178 + wrapper.orderByDesc(LinggangVenueInfo::getId);
  179 + }
  180 + }
  181 +}
0 182 \ No newline at end of file
... ...
Bsth-admin/src/main/java/com/ruoyi/service/key/location/LinggangKeyWorkLocationService.java
... ... @@ -6,6 +6,8 @@ import com.ruoyi.common.core.domain.ResponseResult;
6 6 import com.ruoyi.domain.OrderEntity;
7 7 import com.ruoyi.domain.key.location.LinggangKeyWorkLocation;
8 8  
  9 +import java.util.Collection;
  10 +import java.util.Date;
9 11 import java.util.List;
10 12  
11 13  
... ... @@ -23,6 +25,17 @@ public interface LinggangKeyWorkLocationService extends IService&lt;LinggangKeyWork
23 25 */
24 26 List<LinggangKeyWorkLocation> list(LinggangKeyWorkLocation entity);
25 27  
  28 + List<LinggangKeyWorkLocation> listRecent(LinggangKeyWorkLocation entity, Date date);
  29 +
  30 + List<LinggangKeyWorkLocation> listRecent(Collection<Integer> keyIds, Date date);
  31 +
  32 + List<LinggangKeyWorkLocation> listRecent(LinggangKeyWorkLocation entity,Collection<Integer> keyIds, Date date);
  33 +
  34 + /**
  35 + * 带条件查询
  36 + */
  37 + List<LinggangKeyWorkLocation> listOfLtEqScheduleDate(LinggangKeyWorkLocation entity,Date scheduleDate);
  38 +
26 39 // List<LinggangKeyWorkLocation> listOfIds(java.util.Collection<java.lang.Long> ids);
27 40 // /***
28 41 // *用于页面选择
... ...
Bsth-admin/src/main/java/com/ruoyi/service/sign/in/resource/LinggangSignInResourceService.java 0 → 100644
  1 +package com.ruoyi.service.sign.in.resource;
  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.sign.in.resource.LinggangSignInResource;
  7 +
  8 +import java.util.List;
  9 +
  10 +
  11 +/**
  12 + * 打卡上传资源 Service接口
  13 + */
  14 +public interface LinggangSignInResourceService extends IService<LinggangSignInResource> {
  15 + /**
  16 + * 分页查询
  17 + */
  18 + IPage<LinggangSignInResource> pageList(com.baomidou.mybatisplus.extension.plugins.pagination.Page<LinggangSignInResource> page, LinggangSignInResource entity, OrderEntity orderEntity);
  19 +
  20 + /**
  21 + * 带条件查询
  22 + */
  23 + List<LinggangSignInResource> list(LinggangSignInResource entity);
  24 +
  25 + // List<LinggangSignInResource> listOfIds(java.util.Collection<java.lang.Long> ids);
  26 + // /***
  27 + // *用于页面选择
  28 + // */
  29 + // List<LinggangSignInResource> listOfSelect(LinggangSignInResource entity);
  30 +
  31 + /**
  32 + * 条件查询只返回一条数据的方法
  33 + */
  34 + LinggangSignInResource getOne(LinggangSignInResource entity);
  35 +
  36 + Integer countId(LinggangSignInResource entity);
  37 +
  38 + /**
  39 + * 插入有值的列
  40 + */
  41 + int insertSelective(LinggangSignInResource entity);
  42 +
  43 + /***插入数据*/
  44 + boolean insert(LinggangSignInResource entity);
  45 +
  46 + boolean insertImage(List<LinggangSignInResource> entities);
  47 +
  48 + boolean insertVoide(LinggangSignInResource entity);
  49 +
  50 + /**
  51 + * 根据主键修改数据
  52 + */
  53 + boolean updateByPrimaryKey(LinggangSignInResource entity);
  54 +
  55 + boolean deleteById(Long id);
  56 +}
0 57 \ No newline at end of file
... ...
Bsth-admin/src/main/java/com/ruoyi/service/venue/info/LinggangVenueInfoService.java 0 → 100644
  1 +package com.ruoyi.service.venue.info;
  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.venue.info.LinggangVenueInfo;
  7 +
  8 +import java.util.List;
  9 +
  10 +/**
  11 + * 场地Info Service接口
  12 + */
  13 +public interface LinggangVenueInfoService extends IService<LinggangVenueInfo> {
  14 + /**
  15 + * 分页查询
  16 + */
  17 + IPage<LinggangVenueInfo> pageList(com.baomidou.mybatisplus.extension.plugins.pagination.Page<LinggangVenueInfo> page, LinggangVenueInfo entity, OrderEntity orderEntity);
  18 +
  19 + /**
  20 + * 带条件查询
  21 + */
  22 + List<LinggangVenueInfo> list(LinggangVenueInfo entity);
  23 +
  24 + List<LinggangVenueInfo> listOfIds(java.util.Collection<java.lang.Integer> ids);
  25 +
  26 + /***
  27 + *用于页面选择
  28 + */
  29 + List<LinggangVenueInfo> listOfSelect(LinggangVenueInfo entity);
  30 +
  31 + /**
  32 + * 条件查询只返回一条数据的方法
  33 + */
  34 + LinggangVenueInfo getOne(LinggangVenueInfo entity);
  35 +
  36 + Integer countId(LinggangVenueInfo entity);
  37 +
  38 + /**
  39 + * 插入有值的列
  40 + */
  41 + int insertSelective(LinggangVenueInfo entity);
  42 +
  43 + /***插入数据*/
  44 + boolean insert(LinggangVenueInfo entity);
  45 +
  46 + /**
  47 + * 根据主键修改数据
  48 + */
  49 + boolean updateByPrimaryKey(LinggangVenueInfo entity);
  50 +
  51 +
  52 + boolean deleteById(Integer id);
  53 +
  54 +}
0 55 \ No newline at end of file
... ...
Bsth-admin/src/main/java/com/ruoyi/utils/UploadUtil.java 0 → 100644
  1 +package com.ruoyi.utils;
  2 +
  3 +import cn.hutool.core.codec.Base64;
  4 +import com.ruoyi.common.core.domain.ResponseResult;
  5 +import com.ruoyi.common.utils.StringUtils;
  6 +import com.ruoyi.config.BsthSystemConfig;
  7 +import lombok.extern.slf4j.Slf4j;
  8 +import org.apache.commons.io.FileUtils;
  9 +import org.apache.commons.io.IOUtils;
  10 +import org.springframework.beans.factory.annotation.Autowired;
  11 +import org.springframework.stereotype.Component;
  12 +
  13 +import javax.imageio.ImageIO;
  14 +import java.awt.image.BufferedImage;
  15 +import java.io.ByteArrayInputStream;
  16 +import java.io.File;
  17 +import java.io.FileOutputStream;
  18 +import java.util.Objects;
  19 +
  20 +/**
  21 + * @author liujun
  22 + * @date 2024年07月25日 14:13
  23 + */
  24 +@Slf4j
  25 +@Component
  26 +public class UploadUtil {
  27 +
  28 + @Autowired
  29 + private BsthSystemConfig bsthSystemConfig;
  30 +
  31 + /**
  32 + * 上传图片接口
  33 + *
  34 + * @param content 图片内容
  35 + * @param path 图片路径(相对路径)
  36 + * @param type 图片类型
  37 + * @return com.ruoyi.common.core.domain.ResponseResult<java.lang.Boolean>
  38 + * @author liujun
  39 + * @date 2024/7/25 14:31
  40 + */
  41 + public ResponseResult<Boolean> uploadImageOfBase64(String content, String path, String type) {
  42 + if (StringUtils.isEmpty(content)) {
  43 + return ResponseResult.error("上传的图片内容为空");
  44 + }
  45 +
  46 + ByteArrayInputStream inputStream = null;
  47 + BufferedImage bufferedImage = null;
  48 + try {
  49 + byte[] bytes = Base64.decode(content);
  50 + inputStream = new ByteArrayInputStream(bytes);
  51 + bufferedImage = ImageIO.read(inputStream);
  52 + if (bufferedImage.getWidth() < 0 || bufferedImage.getHeight() < 0) {
  53 + return ResponseResult.error("请上传正确的图片");
  54 + }
  55 +
  56 + StringBuilder filePath = new StringBuilder();
  57 + filePath.append(bsthSystemConfig.getImageBasePath());
  58 + filePath.append(File.separator);
  59 + filePath.append(path);
  60 +
  61 + File file = new File(filePath.toString());
  62 + if(!file.exists() || !file.isDirectory()){
  63 + FileUtils.forceMkdirParent(file);
  64 + }
  65 +
  66 + ImageIO.write(bufferedImage, type, file);
  67 + bufferedImage.flush();
  68 +
  69 + return ResponseResult.success(Boolean.TRUE);
  70 + } catch (Exception e) {
  71 + log.error("上传图片异常:[{}]", path, e);
  72 + return ResponseResult.error("上传图片异常");
  73 + } finally {
  74 + if (Objects.nonNull(inputStream)) {
  75 + IOUtils.closeQuietly(inputStream);
  76 + }
  77 + }
  78 + }
  79 +
  80 + /**
  81 + * 上传视频文件
  82 + *
  83 + * @param content
  84 + * @param path
  85 + * @return com.ruoyi.common.core.domain.ResponseResult<java.lang.Boolean>
  86 + * @author liujun
  87 + * @date 2024/7/25 14:37
  88 + */
  89 + public ResponseResult<Boolean> uploadVideoOfBase64(String content, String path) {
  90 + if (StringUtils.isEmpty(content)) {
  91 + return ResponseResult.error("上传的视频内容为空");
  92 + }
  93 +
  94 + FileOutputStream outputStream = null;
  95 + try {
  96 + byte[] bytes = Base64.decode(content);
  97 +
  98 + StringBuilder filePath = new StringBuilder();
  99 + filePath.append(bsthSystemConfig.getImageBasePath());
  100 + filePath.append(File.separator);
  101 + filePath.append(path);
  102 +
  103 + File file = new File(filePath.toString());
  104 + if(!file.exists() || !file.isDirectory()){
  105 + FileUtils.forceMkdirParent(file);
  106 + }
  107 + outputStream = new FileOutputStream(file);
  108 + outputStream.write(bytes, 0, bytes.length);
  109 + outputStream.flush();
  110 +
  111 + return ResponseResult.success(Boolean.TRUE);
  112 + } catch (Exception e) {
  113 + log.error("上传视频异常:[{}]", path, e);
  114 + return ResponseResult.error("上传视频异常");
  115 + } finally {
  116 + if (Objects.nonNull(outputStream)) {
  117 + IOUtils.closeQuietly(outputStream);
  118 + }
  119 + }
  120 + }
  121 +}
... ...
Bsth-admin/src/main/resources/application-druid-dev.yml
... ... @@ -198,4 +198,6 @@ netty:
198 198 bsth:
199 199 upload:
200 200 image:
  201 + basePath: D:/temp/temp/bsth/upload
  202 + vide:
201 203 basePath: D:/temp/temp/bsth/upload
202 204 \ No newline at end of file
... ...
Bsth-admin/src/main/resources/mapper/equipment/EquipmentMapper.xml
... ... @@ -21,6 +21,8 @@ PUBLIC &quot;-//mybatis.org//DTD Mapper 3.0//EN&quot;
21 21 <result property="lastHeartRes" column="last_heart_res" />
22 22 <result property="onlineClient" column="online_client" />
23 23 <result column="lattice_number" jdbcType="INTEGER" property="latticeNumber" />
  24 + <result column="name" property="name" />
  25 + <result column="yard_Id" property="yardId" />
24 26 </resultMap>
25 27  
26 28 <sql id="selectEquipmentVo">
... ... @@ -38,6 +40,8 @@ PUBLIC &quot;-//mybatis.org//DTD Mapper 3.0//EN&quot;
38 40 <if test="image != null and image != ''"> and image = #{image}</if>
39 41 <if test="deviceId != null and deviceId != ''"> and device_id = #{deviceId}</if>
40 42 <if test="onlineClient != null and onlineClient != ''"> and online_client = #{onlineClient}</if>
  43 + <if test="null!=name">#{name}</if>
  44 + <if test="null!=yardId">#{yardId}</if>
41 45 </where>
42 46 order by id desc
43 47 </select>
... ... @@ -98,6 +102,8 @@ PUBLIC &quot;-//mybatis.org//DTD Mapper 3.0//EN&quot;
98 102 <if test="lastHeartRes != null">last_heart_res,</if>
99 103 <if test="onlineClient != null">online_client,</if>
100 104 <if test="null!=latticeNumber">lattice_number,</if>
  105 + <if test="null!=name">name,</if>
  106 + <if test="null!=yardId">yard_Id,</if>
101 107 </trim>
102 108 <trim prefix="values (" suffix=")" suffixOverrides=",">
103 109 <if test="siteName != null and siteName != ''">#{siteName},</if>
... ... @@ -115,6 +121,8 @@ PUBLIC &quot;-//mybatis.org//DTD Mapper 3.0//EN&quot;
115 121 <if test="lastHeartRes != null">#{lastHeartRes},</if>
116 122 <if test="onlineClient != null">#{online_client},</if>
117 123 <if test="null!=latticeNumber">#{latticeNumber,jdbcType=INTEGER},</if>
  124 + <if test="null!=name">#{name},</if>
  125 + <if test="null!=yardId">#{yardId},</if>
118 126 </trim>
119 127 </insert>
120 128 <insert id="insertEquipmentOffLineLog">
... ... @@ -148,7 +156,9 @@ PUBLIC &quot;-//mybatis.org//DTD Mapper 3.0//EN&quot;
148 156 <if test="remark != null">remark = #{remark},</if>
149 157 <if test="lastHeartRes != null">last_heart_res = #{lastHeartRes},</if>
150 158 <if test="onlineClient != null">online_client = #{onlineClient},</if>
151   - <if test="null!=latticeNumber"> lattice_number = #{latticeNumber,jdbcType=INTEGER},</if>
  159 + <if test="null!=latticeNumber"> lattice_number = #{latticeNumber},</if>
  160 + <if test="null!=name"> name = #{name},</if>
  161 + <if test="null!=yardId"> yard_Id = #{yardId},</if>
152 162 </trim>
153 163 where 1 = 1
154 164 <if test="id !=null">
... ... @@ -180,7 +190,9 @@ PUBLIC &quot;-//mybatis.org//DTD Mapper 3.0//EN&quot;
180 190 <if test="remark != null">remark = #{remark},</if>
181 191 <if test="lastHeartRes != null">last_heart_res = #{lastHeartRes},</if>
182 192 <if test="onlineClient != null">online_client = #{onlineClient},</if>
183   - <if test="null!=latticeNumber"> lattice_number = #{latticeNumber,jdbcType=INTEGER},</if>
  193 + <if test="null!=latticeNumber"> lattice_number = #{latticeNumber},</if>
  194 + <if test="null!=name"> name = #{name},</if>
  195 + <if test="null!=yardId"> yard_Id = #{yardId},</if>
184 196 </trim>
185 197 where device_id = #{deviceId}
186 198 </update>
... ...
Bsth-admin/src/main/resources/mapper/sign/in/resourc/LinggangSignInResourceMapper.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.sign.in.resource.LinggangSignInResourceMapper">
  4 + <resultMap id="BaseResultMap" type="com.ruoyi.domain.sign.in.resource.LinggangSignInResource">
  5 + <id column="id" jdbcType="BIGINT" property="id"/>
  6 + <result column="sign_id" jdbcType="BIGINT" property="signId"/>
  7 + <result column="index" jdbcType="INTEGER" property="index"/>
  8 + <result column="Resource_type" jdbcType="INTEGER" property="resourceType"/>
  9 + <result column="time" jdbcType="TIMESTAMP" property="time"/>
  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="path" jdbcType="VARCHAR" property="path"/>
  15 + </resultMap>
  16 +
  17 + <insert id="insertSelective" keyColumn="id" keyProperty="id" useGeneratedKeys="true"
  18 + parameterType="com.ruoyi.domain.sign.in.resource.LinggangSignInResource">
  19 + INSERT INTO Sign_in_Resource <include refid="insertSelectiveColumn"></include>
  20 + <include refid="insertSelectiveValue"></include>
  21 + </insert>
  22 +
  23 + <sql id="columns">
  24 + id
  25 + , sign_id , index , Resource_type , time , create_by , create_time , update_by , update_time , path
  26 + </sql>
  27 +
  28 + <sql id="insert_columns">
  29 + id
  30 + , sign_id , index , Resource_type , time , create_by , create_time , update_by , update_time , path
  31 + </sql>
  32 +
  33 + <sql id="insert_values">
  34 + #{id}
  35 + ,
  36 + #{signId},
  37 + #{index},
  38 + #{resourceType},
  39 + #{time},
  40 + #{createBy},
  41 + #{createTime},
  42 + #{updateBy},
  43 + #{updateTime},
  44 + #{path}
  45 + </sql>
  46 +
  47 + <sql id="insertSelectiveColumn">
  48 + <trim prefix="(" suffix=")" suffixOverrides=",">
  49 + <if test="null!=id">id,</if>
  50 + <if test="null!=signId">sign_id,</if>
  51 + <if test="null!=index">index,</if>
  52 + <if test="null!=resourceType">Resource_type,</if>
  53 + <if test="null!=time">time,</if>
  54 + <if test="null!=createBy">create_by,</if>
  55 + <if test="null!=createTime">create_time,</if>
  56 + <if test="null!=updateBy">update_by,</if>
  57 + <if test="null!=updateTime">update_time,</if>
  58 + <if test="null!=path">path,</if>
  59 + </trim>
  60 + </sql>
  61 +
  62 + <sql id="insertSelectiveValue">
  63 + <trim prefix="values (" suffix=")" suffixOverrides=",">
  64 + <if test="null!=id">#{id,jdbcType=BIGINT},</if>
  65 + <if test="null!=signId">#{signId,jdbcType=BIGINT},</if>
  66 + <if test="null!=index">#{index,jdbcType=INTEGER},</if>
  67 + <if test="null!=resourceType">#{resourceType,jdbcType=INTEGER},</if>
  68 + <if test="null!=time">#{time,jdbcType=TIMESTAMP},</if>
  69 + <if test="null!=createBy">#{createBy,jdbcType=BIGINT},</if>
  70 + <if test="null!=createTime">#{createTime,jdbcType=TIMESTAMP},</if>
  71 + <if test="null!=updateBy">#{updateBy,jdbcType=BIGINT},</if>
  72 + <if test="null!=updateTime">#{updateTime,jdbcType=TIMESTAMP},</if>
  73 + <if test="null!=path">#{path,jdbcType=VARCHAR},</if>
  74 + </trim>
  75 + </sql>
  76 +
  77 + <sql id="updateByPrimaryKeySelectiveSql">
  78 + <set>
  79 + <if test="null!=id">id = #{id,jdbcType=BIGINT},</if>
  80 + <if test="null!=signId">sign_id = #{signId,jdbcType=BIGINT},</if>
  81 + <if test="null!=index">index = #{index,jdbcType=INTEGER},</if>
  82 + <if test="null!=resourceType">Resource_type = #{resourceType,jdbcType=INTEGER},</if>
  83 + <if test="null!=time">time = #{time,jdbcType=TIMESTAMP},</if>
  84 + <if test="null!=createBy">create_by = #{createBy,jdbcType=BIGINT},</if>
  85 + <if test="null!=createTime">create_time = #{createTime,jdbcType=TIMESTAMP},</if>
  86 + <if test="null!=updateBy">update_by = #{updateBy,jdbcType=BIGINT},</if>
  87 + <if test="null!=updateTime">update_time = #{updateTime,jdbcType=TIMESTAMP},</if>
  88 + <if test="null!=path">path = #{path,jdbcType=VARCHAR},</if>
  89 + </set>
  90 + </sql>
  91 +
  92 + <sql id="where">
  93 + <if test="null!=id">AND id = #{id,jdbcType=BIGINT},</if>
  94 + <if test="null!=signId">AND sign_id = #{signId,jdbcType=BIGINT},</if>
  95 + <if test="null!=index">AND index = #{index,jdbcType=INTEGER},</if>
  96 + <if test="null!=resourceType">AND Resource_type = #{resourceType,jdbcType=INTEGER},</if>
  97 + <if test="null!=time">AND time = #{time,jdbcType=TIMESTAMP},</if>
  98 + <if test="null!=createBy">AND create_by = #{createBy,jdbcType=BIGINT},</if>
  99 + <if test="null!=createTime">AND create_time = #{createTime,jdbcType=TIMESTAMP},</if>
  100 + <if test="null!=updateBy">AND update_by = #{updateBy,jdbcType=BIGINT},</if>
  101 + <if test="null!=updateTime">AND update_time = #{updateTime,jdbcType=TIMESTAMP},</if>
  102 + <if test="null!=path">AND path = #{path,jdbcType=VARCHAR},</if>
  103 + </sql>
  104 +</mapper>
0 105 \ No newline at end of file
... ...
Bsth-admin/src/main/resources/mapper/venue/inf/LinggangVenueInfoMapper.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.venue.info.LinggangVenueInfoMapper">
  4 + <resultMap id="BaseResultMap" type="com.ruoyi.domain.venue.info.LinggangVenueInfo">
  5 + <id column="ID" jdbcType="INTEGER" property="id"/>
  6 + <result column="park_Code" jdbcType="VARCHAR" property="parkCode"/>
  7 + <result column="park_Addr" jdbcType="VARCHAR" property="parkAddr"/>
  8 + <result column="del_flag" jdbcType="BIT" property="delFlag"/>
  9 + <result column="create_by" jdbcType="VARCHAR" property="createBy"/>
  10 + <result column="crate_time" jdbcType="TIMESTAMP" property="crateTime"/>
  11 + <result column="update_by" jdbcType="VARCHAR" property="updateBy"/>
  12 + <result column="update_time" jdbcType="TIMESTAMP" property="updateTime"/>
  13 + <result column="name" jdbcType="VARCHAR" property="name"/>
  14 + </resultMap>
  15 +
  16 + <insert id="insertSelective" keyColumn="ID" keyProperty="id" useGeneratedKeys="true"
  17 + parameterType="com.ruoyi.domain.venue.info.LinggangVenueInfo">
  18 + INSERT INTO venue_info
  19 + <include refid="insertSelectiveColumn"></include>
  20 + <include refid="insertSelectiveValue"></include>
  21 + </insert>
  22 +
  23 + <sql id="columns">
  24 + ID
  25 + , park_Code , park_Addr , del_flag , create_by , crate_time , update_by , update_time , name
  26 + </sql>
  27 +
  28 + <sql id="insert_columns">
  29 + ID
  30 + , park_Code , park_Addr , del_flag , create_by , crate_time , update_by , update_time , name
  31 + </sql>
  32 +
  33 + <sql id="insert_values">
  34 + #{id}
  35 + ,
  36 + #{parkCode},
  37 + #{parkAddr},
  38 + #{delFlag},
  39 + #{createBy},
  40 + #{crateTime},
  41 + #{updateBy},
  42 + #{updateTime},
  43 + #{name}
  44 + </sql>
  45 +
  46 + <sql id="insertSelectiveColumn">
  47 + <trim prefix="(" suffix=")" suffixOverrides=",">
  48 + <if test="null!=id">ID,</if>
  49 + <if test="null!=parkCode">park_Code,</if>
  50 + <if test="null!=parkAddr">park_Addr,</if>
  51 + <if test="null!=delFlag">del_flag,</if>
  52 + <if test="null!=createBy">create_by,</if>
  53 + <if test="null!=crateTime">crate_time,</if>
  54 + <if test="null!=updateBy">update_by,</if>
  55 + <if test="null!=updateTime">update_time,</if>
  56 + <if test="null!=name">name,</if>
  57 + </trim>
  58 + </sql>
  59 +
  60 + <sql id="insertSelectiveValue">
  61 + <trim prefix="values (" suffix=")" suffixOverrides=",">
  62 + <if test="null!=id">#{id,jdbcType=INTEGER},</if>
  63 + <if test="null!=parkCode">#{parkCode,jdbcType=VARCHAR},</if>
  64 + <if test="null!=parkAddr">#{parkAddr,jdbcType=VARCHAR},</if>
  65 + <if test="null!=delFlag">#{delFlag,jdbcType=BIT},</if>
  66 + <if test="null!=createBy">#{createBy,jdbcType=VARCHAR},</if>
  67 + <if test="null!=crateTime">#{crateTime,jdbcType=TIMESTAMP},</if>
  68 + <if test="null!=updateBy">#{updateBy,jdbcType=VARCHAR},</if>
  69 + <if test="null!=updateTime">#{updateTime,jdbcType=TIMESTAMP},</if>
  70 + <if test="null!=name">#{name,jdbcType=VARCHAR},</if>
  71 + </trim>
  72 + </sql>
  73 +
  74 + <sql id="updateByPrimaryKeySelectiveSql">
  75 + <set>
  76 + <if test="null!=id">ID = #{id,jdbcType=INTEGER},</if>
  77 + <if test="null!=parkCode">park_Code = #{parkCode,jdbcType=VARCHAR},</if>
  78 + <if test="null!=parkAddr">park_Addr = #{parkAddr,jdbcType=VARCHAR},</if>
  79 + <if test="null!=delFlag">del_flag = #{delFlag,jdbcType=BIT},</if>
  80 + <if test="null!=createBy">create_by = #{createBy,jdbcType=VARCHAR},</if>
  81 + <if test="null!=crateTime">crate_time = #{crateTime,jdbcType=TIMESTAMP},</if>
  82 + <if test="null!=updateBy">update_by = #{updateBy,jdbcType=VARCHAR},</if>
  83 + <if test="null!=updateTime">update_time = #{updateTime,jdbcType=TIMESTAMP},</if>
  84 + <if test="null!=name">name = #{name,jdbcType=VARCHAR},</if>
  85 + </set>
  86 + </sql>
  87 +
  88 + <sql id="where">
  89 + <if test="null!=id">AND ID = #{id,jdbcType=INTEGER},</if>
  90 + <if test="null!=parkCode">AND park_Code = #{parkCode,jdbcType=VARCHAR},</if>
  91 + <if test="null!=parkAddr">AND park_Addr = #{parkAddr,jdbcType=VARCHAR},</if>
  92 + <if test="null!=delFlag">AND del_flag = #{delFlag,jdbcType=BIT},</if>
  93 + <if test="null!=createBy">AND create_by = #{createBy,jdbcType=VARCHAR},</if>
  94 + <if test="null!=crateTime">AND crate_time = #{crateTime,jdbcType=TIMESTAMP},</if>
  95 + <if test="null!=updateBy">AND update_by = #{updateBy,jdbcType=VARCHAR},</if>
  96 + <if test="null!=updateTime">AND update_time = #{updateTime,jdbcType=TIMESTAMP},</if>
  97 + <if test="null!=name">AND name = #{name,jdbcType=VARCHAR},</if>
  98 + </sql>
  99 +</mapper>
0 100 \ No newline at end of file
... ...