From 4735aadfc8bd76c8fc55ddb12f39e5a3b4cf681c Mon Sep 17 00:00:00 2001 From: XaoLi717 <144221124+XaoLi717@users.noreply.github.com> Date: Tue, 24 Dec 2024 10:21:04 +0800 Subject: [PATCH] =?UTF-8?q?=E8=80=83=E5=8B=A4=E8=8D=89=E7=A8=BF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/admin/kqgl/KqglController.java | 15 +++++++++++++++ .../module/home/dal/mysql/kqgl/KqglMapper.java | 15 +++++++++++++++ .../module/home/service/kqgl/KqglService.java | 9 +++++++++ .../home/service/kqgl/KqglServiceImpl.java | 17 ++++++++++++++++- 4 files changed, 55 insertions(+), 1 deletion(-) diff --git a/yudao-module-home/yudao-module-home-biz/src/main/java/cn/iocoder/yudao/module/home/controller/admin/kqgl/KqglController.java b/yudao-module-home/yudao-module-home-biz/src/main/java/cn/iocoder/yudao/module/home/controller/admin/kqgl/KqglController.java index 56e2db5..666a874 100644 --- a/yudao-module-home/yudao-module-home-biz/src/main/java/cn/iocoder/yudao/module/home/controller/admin/kqgl/KqglController.java +++ b/yudao-module-home/yudao-module-home-biz/src/main/java/cn/iocoder/yudao/module/home/controller/admin/kqgl/KqglController.java @@ -94,4 +94,19 @@ public class KqglController { BeanUtils.toBean(list, KqglRespVO.class)); } + @PostMapping("/saveDraft") + @Operation(summary = "创建请假为草稿") + @PreAuthorize("@ss.hasPermission('home:kqgl:create')") + public CommonResult saveDraft(@Valid @RequestBody KqglSaveReqVO createReqVO) { + return success(kqglService.saveDraft(getLoginUserId(),createReqVO)); + } + + @GetMapping("/draft") + @Operation(summary = "获得请假草稿分页") + @PreAuthorize("@ss.hasPermission('home:kqgl:query')") + public CommonResult> getDraft(@Valid KqglPageReqVO pageReqVO) { + PageResult pageResult = kqglService.getDraft(pageReqVO); + return success(BeanUtils.toBean(pageResult, KqglRespVO.class)); + } + } diff --git a/yudao-module-home/yudao-module-home-biz/src/main/java/cn/iocoder/yudao/module/home/dal/mysql/kqgl/KqglMapper.java b/yudao-module-home/yudao-module-home-biz/src/main/java/cn/iocoder/yudao/module/home/dal/mysql/kqgl/KqglMapper.java index e119368..fc20bae 100644 --- a/yudao-module-home/yudao-module-home-biz/src/main/java/cn/iocoder/yudao/module/home/dal/mysql/kqgl/KqglMapper.java +++ b/yudao-module-home/yudao-module-home-biz/src/main/java/cn/iocoder/yudao/module/home/dal/mysql/kqgl/KqglMapper.java @@ -27,6 +27,7 @@ public interface KqglMapper extends BaseMapperX { .likeIfPresent(KqglDO::getDeptName, reqVO.getDeptName()) .betweenIfPresent(KqglDO::getDate, reqVO.getDate()) .betweenIfPresent(KqglDO::getCreateTime, reqVO.getCreateTime()) + .ne(KqglDO::getStatus, 100) // 排除 status = 100 .orderByDesc(KqglDO::getId)); } default PageResult selectPage(Long userId, KqglPageReqVO reqVO) { @@ -42,4 +43,18 @@ public interface KqglMapper extends BaseMapperX { .orderByDesc(KqglDO::getId)); } + default PageResult selectPageDraft(KqglPageReqVO reqVO) { + return selectPage(reqVO, new LambdaQueryWrapperX() + .eqIfPresent(KqglDO::getId, reqVO.getId()) + .eqIfPresent(KqglDO::getTitle, reqVO.getTitle()) + .eqIfPresent(KqglDO::getUserId, reqVO.getUserId()) + .likeIfPresent(KqglDO::getUserName, reqVO.getUserName()) + .eqIfPresent(KqglDO::getDeptId, reqVO.getDeptId()) + .likeIfPresent(KqglDO::getDeptName, reqVO.getDeptName()) + .betweenIfPresent(KqglDO::getDate, reqVO.getDate()) + .betweenIfPresent(KqglDO::getCreateTime, reqVO.getCreateTime()) + .eq(KqglDO::getStatus, 100) // 强制过滤 status = 100 + .orderByDesc(KqglDO::getId)); + } + } diff --git a/yudao-module-home/yudao-module-home-biz/src/main/java/cn/iocoder/yudao/module/home/service/kqgl/KqglService.java b/yudao-module-home/yudao-module-home-biz/src/main/java/cn/iocoder/yudao/module/home/service/kqgl/KqglService.java index b5bde76..c97ef9e 100644 --- a/yudao-module-home/yudao-module-home-biz/src/main/java/cn/iocoder/yudao/module/home/service/kqgl/KqglService.java +++ b/yudao-module-home/yudao-module-home-biz/src/main/java/cn/iocoder/yudao/module/home/service/kqgl/KqglService.java @@ -62,4 +62,13 @@ public interface KqglService { */ void updateClglStatus(Long id, Integer status); + /** + * 草稿 + * @param userId + * @param createReqVO + * @return + */ + Long saveDraft(Long userId, KqglSaveReqVO createReqVO); + PageResult getDraft(KqglPageReqVO pageReqVO); + } diff --git a/yudao-module-home/yudao-module-home-biz/src/main/java/cn/iocoder/yudao/module/home/service/kqgl/KqglServiceImpl.java b/yudao-module-home/yudao-module-home-biz/src/main/java/cn/iocoder/yudao/module/home/service/kqgl/KqglServiceImpl.java index 8798233..2d7c189 100644 --- a/yudao-module-home/yudao-module-home-biz/src/main/java/cn/iocoder/yudao/module/home/service/kqgl/KqglServiceImpl.java +++ b/yudao-module-home/yudao-module-home-biz/src/main/java/cn/iocoder/yudao/module/home/service/kqgl/KqglServiceImpl.java @@ -47,7 +47,11 @@ public class KqglServiceImpl implements KqglService { // 插入 KqglDO kqgl = BeanUtils.toBean(createReqVO, KqglDO.class) .setUserId(userId).setStatus(BpmTaskStatusEnum.RUNNING.getStatus()); - kqglMapper.insert(kqgl); + if (createReqVO.getCurfullpath().contains("?") ) { + kqglMapper.updateById(kqgl); + } else { + kqglMapper.insert(kqgl); + } Map processInstanceVariables = new HashMap<>(); processInstanceId = processInstanceApi.createProcessInstance(userId, new BpmProcessInstanceCreateReqDTO().setProcessDefinitionKey(PROCESS_KEY) @@ -123,5 +127,16 @@ public class KqglServiceImpl implements KqglService { throw exception(KNOWLEDGE_NOT_EXISTS); } } + @Override + public Long saveDraft(Long userId, KqglSaveReqVO createReqVO) { + KqglDO kqgl = BeanUtils.toBean(createReqVO, KqglDO.class).setUserId(userId).setStatus(100); + kqglMapper.insert(kqgl); + return kqgl.getId(); + } + @Override + public PageResult getDraft(KqglPageReqVO pageReqVO) { + return kqglMapper.selectPageDraft(pageReqVO); + } + }