diff --git a/yudao-module-home/yudao-module-home-biz/src/main/java/cn/iocoder/yudao/module/home/controller/admin/clgl/ClglController.java b/yudao-module-home/yudao-module-home-biz/src/main/java/cn/iocoder/yudao/module/home/controller/admin/clgl/ClglController.java index eba3d52..453b493 100644 --- a/yudao-module-home/yudao-module-home-biz/src/main/java/cn/iocoder/yudao/module/home/controller/admin/clgl/ClglController.java +++ b/yudao-module-home/yudao-module-home-biz/src/main/java/cn/iocoder/yudao/module/home/controller/admin/clgl/ClglController.java @@ -94,4 +94,18 @@ public class ClglController { BeanUtils.toBean(list, ClglRespVO.class)); } + @PostMapping("/saveDraft") + @Operation(summary = "创建请假为草稿") + @PreAuthorize("@ss.hasPermission('home:clgl:create')") + public CommonResult saveDraft(@Valid @RequestBody ClglSaveReqVO createReqVO) { + return success(clglService.saveDraft(getLoginUserId(),createReqVO)); + } + @GetMapping("/draft") + @Operation(summary = "获得请假草稿分页") + @PreAuthorize("@ss.hasPermission('home:clgl:query')") + public CommonResult> getDraft(@Valid ClglPageReqVO pageReqVO) { + PageResult pageResult = clglService.getDraft(pageReqVO); + return success(BeanUtils.toBean(pageResult, ClglRespVO.class)); + } + } diff --git a/yudao-module-home/yudao-module-home-biz/src/main/java/cn/iocoder/yudao/module/home/dal/mysql/clgl/ClglMapper.java b/yudao-module-home/yudao-module-home-biz/src/main/java/cn/iocoder/yudao/module/home/dal/mysql/clgl/ClglMapper.java index 75bc6f1..2dc87c3 100644 --- a/yudao-module-home/yudao-module-home-biz/src/main/java/cn/iocoder/yudao/module/home/dal/mysql/clgl/ClglMapper.java +++ b/yudao-module-home/yudao-module-home-biz/src/main/java/cn/iocoder/yudao/module/home/dal/mysql/clgl/ClglMapper.java @@ -56,6 +56,28 @@ public interface ClglMapper extends BaseMapperX { .eqIfPresent(ClglDO::getCarStatus, reqVO.getCarStatus()) .eqIfPresent(ClglDO::getStatus, reqVO.getStatus()) .betweenIfPresent(ClglDO::getCreateTime, reqVO.getCreateTime()) + .ne(ClglDO::getStatus, 100) // 排除 status = 100 + .orderByDesc(ClglDO::getId)); + } + default PageResult selectPageDraft(ClglPageReqVO reqVO) { + return selectPage(reqVO, new LambdaQueryWrapperX() + .eqIfPresent(ClglDO::getId, reqVO.getId()) + .eqIfPresent(ClglDO::getCarUserId, reqVO.getCarUserId()) + .eqIfPresent(ClglDO::getCarUserName, reqVO.getCarUserName()) + .eqIfPresent(ClglDO::getTitle, reqVO.getTitle()) + .eqIfPresent(ClglDO::getDept, reqVO.getDept()) + .eqIfPresent(ClglDO::getDeptName, reqVO.getDeptName()) + .eqIfPresent(ClglDO::getCarType, reqVO.getCarType()) + .eqIfPresent(ClglDO::getCarDriver, reqVO.getCarDriver()) + .eqIfPresent(ClglDO::getCarStart, reqVO.getCarStart()) + .eqIfPresent(ClglDO::getCarEnd, reqVO.getCarEnd()) + .eqIfPresent(ClglDO::getCarAddress, reqVO.getCarAddress()) + .eqIfPresent(ClglDO::getCarDriverInfo, reqVO.getCarDriverInfo()) + .eqIfPresent(ClglDO::getCarMileage, reqVO.getCarMileage()) + .eqIfPresent(ClglDO::getCarStatus, reqVO.getCarStatus()) + .eqIfPresent(ClglDO::getStatus, reqVO.getStatus()) + .betweenIfPresent(ClglDO::getCreateTime, reqVO.getCreateTime()) + .eq(ClglDO::getStatus, 100) // 强制过滤 status = 100 .orderByDesc(ClglDO::getId)); } diff --git a/yudao-module-home/yudao-module-home-biz/src/main/java/cn/iocoder/yudao/module/home/service/clgl/ClglService.java b/yudao-module-home/yudao-module-home-biz/src/main/java/cn/iocoder/yudao/module/home/service/clgl/ClglService.java index a074ef2..1992d0a 100644 --- a/yudao-module-home/yudao-module-home-biz/src/main/java/cn/iocoder/yudao/module/home/service/clgl/ClglService.java +++ b/yudao-module-home/yudao-module-home-biz/src/main/java/cn/iocoder/yudao/module/home/service/clgl/ClglService.java @@ -61,4 +61,12 @@ public interface ClglService { */ void updateClglStatus(Long id, Integer status); + /** + * 草稿 + * @param userId + * @param createReqVO + * @return + */ + Long saveDraft(Long userId, ClglSaveReqVO createReqVO); + PageResult getDraft(ClglPageReqVO pageReqVO); } diff --git a/yudao-module-home/yudao-module-home-biz/src/main/java/cn/iocoder/yudao/module/home/service/clgl/ClglServiceImpl.java b/yudao-module-home/yudao-module-home-biz/src/main/java/cn/iocoder/yudao/module/home/service/clgl/ClglServiceImpl.java index 7853a71..c4a0ce8 100644 --- a/yudao-module-home/yudao-module-home-biz/src/main/java/cn/iocoder/yudao/module/home/service/clgl/ClglServiceImpl.java +++ b/yudao-module-home/yudao-module-home-biz/src/main/java/cn/iocoder/yudao/module/home/service/clgl/ClglServiceImpl.java @@ -49,7 +49,12 @@ public class ClglServiceImpl implements ClglService { // 插入 ClglDO clgl = BeanUtils.toBean(createReqVO, ClglDO.class) .setUserId(userId).setStatus(BpmTaskStatusEnum.RUNNING.getStatus()); - clglMapper.insert(clgl); + if (createReqVO.getCurfullpath().contains("?") ) { + clglMapper.updateById(clgl); + createReqVO.setCurfullpath( createReqVO.getCurfullpath().replaceAll("\\?id=\\d+", "")); + } else { + clglMapper.insert(clgl); + } // 发起 BPM 流程 Map processInstanceVariables = new HashMap<>(); @@ -119,4 +124,16 @@ public class ClglServiceImpl implements ClglService { clglMapper.updateById(new ClglDO().setId(id).setStatus(status)); } + @Override + public Long saveDraft(Long userId, ClglSaveReqVO createReqVO) { + ClglDO clgl = BeanUtils.toBean(createReqVO, ClglDO.class).setUserId(userId).setStatus(100); + clglMapper.insert(clgl); + return clgl.getId(); + } + + @Override + public PageResult getDraft(ClglPageReqVO pageReqVO) { + return clglMapper.selectPageDraft(pageReqVO); + } + }