From 9c4ef5ba486d8ea877d8de48b202c196ebde1090 Mon Sep 17 00:00:00 2001 From: XaoLi717 <144221124+XaoLi717@users.noreply.github.com> Date: Tue, 24 Dec 2024 15:01:59 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=9A=E8=AE=AE=E7=AE=A1=E7=90=86=E8=8D=89?= =?UTF-8?q?=E7=A8=BF=E5=86=85=E5=AE=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/admin/hygl/HyglController.java | 14 +++++++++ .../home/dal/mysql/hygl/HyglMapper.java | 31 +++++++++++++++++++ .../module/home/service/hygl/HyglService.java | 8 +++++ .../home/service/hygl/HyglServiceImpl.java | 17 +++++++++- 4 files changed, 69 insertions(+), 1 deletion(-) diff --git a/yudao-module-home/yudao-module-home-biz/src/main/java/cn/iocoder/yudao/module/home/controller/admin/hygl/HyglController.java b/yudao-module-home/yudao-module-home-biz/src/main/java/cn/iocoder/yudao/module/home/controller/admin/hygl/HyglController.java index f419a6a..cd336bb 100644 --- a/yudao-module-home/yudao-module-home-biz/src/main/java/cn/iocoder/yudao/module/home/controller/admin/hygl/HyglController.java +++ b/yudao-module-home/yudao-module-home-biz/src/main/java/cn/iocoder/yudao/module/home/controller/admin/hygl/HyglController.java @@ -94,4 +94,18 @@ public class HyglController { BeanUtils.toBean(list, HyglRespVO.class)); } + @PostMapping("/saveDraft") + @Operation(summary = "创建请假为草稿") + @PreAuthorize("@ss.hasPermission('home:hygl:create')") + public CommonResult saveDraft(@Valid @RequestBody HyglSaveReqVO createReqVO) { + return success(hyglService.saveDraft(getLoginUserId(),createReqVO)); + } + @GetMapping("/draft") + @Operation(summary = "获得请假草稿分页") + @PreAuthorize("@ss.hasPermission('home:hygl:query')") + public CommonResult> getDraft(@Valid HyglPageReqVO pageReqVO) { + PageResult pageResult = hyglService.getDraft(pageReqVO); + return success(BeanUtils.toBean(pageResult, HyglRespVO.class)); + } + } diff --git a/yudao-module-home/yudao-module-home-biz/src/main/java/cn/iocoder/yudao/module/home/dal/mysql/hygl/HyglMapper.java b/yudao-module-home/yudao-module-home-biz/src/main/java/cn/iocoder/yudao/module/home/dal/mysql/hygl/HyglMapper.java index 557dec2..885b73b 100644 --- a/yudao-module-home/yudao-module-home-biz/src/main/java/cn/iocoder/yudao/module/home/dal/mysql/hygl/HyglMapper.java +++ b/yudao-module-home/yudao-module-home-biz/src/main/java/cn/iocoder/yudao/module/home/dal/mysql/hygl/HyglMapper.java @@ -44,6 +44,37 @@ public interface HyglMapper extends BaseMapperX { .eqIfPresent(HyglDO::getStatus, reqVO.getStatus()) .eqIfPresent(HyglDO::getProcessInstanceId, reqVO.getProcessInstanceId()) .betweenIfPresent(HyglDO::getCreateTime, reqVO.getCreateTime()) + .ne(HyglDO::getStatus, 100) // 排除 status = 100 + .orderByDesc(HyglDO::getId)); + } + default PageResult selectPageDraft(HyglPageReqVO reqVO) { + return selectPage(reqVO, new LambdaQueryWrapperX() + .eqIfPresent(HyglDO::getTitle, reqVO.getTitle()) + .likeIfPresent(HyglDO::getUserName, reqVO.getUserName()) + .eqIfPresent(HyglDO::getUserId, reqVO.getUserId()) + .likeIfPresent(HyglDO::getDeptName, reqVO.getDeptName()) + .eqIfPresent(HyglDO::getDeptId, reqVO.getDeptId()) + .betweenIfPresent(HyglDO::getTime, reqVO.getTime()) + .eqIfPresent(HyglDO::getDepict, reqVO.getDepict()) + .eqIfPresent(HyglDO::getType, reqVO.getType()) + .eqIfPresent(HyglDO::getTheme, reqVO.getTheme()) + .eqIfPresent(HyglDO::getTarget, reqVO.getTarget()) + .betweenIfPresent(HyglDO::getStartDate, reqVO.getStartDate()) + .betweenIfPresent(HyglDO::getEndDate, reqVO.getEndDate()) + .eqIfPresent(HyglDO::getDuration, reqVO.getDuration()) + .eqIfPresent(HyglDO::getRoomId, reqVO.getRoomId()) + .likeIfPresent(HyglDO::getRoomName, reqVO.getRoomName()) + .eqIfPresent(HyglDO::getRoomAddress, reqVO.getRoomAddress()) + .eqIfPresent(HyglDO::getOrganizer, reqVO.getOrganizer()) + .eqIfPresent(HyglDO::getSpeaker, reqVO.getSpeaker()) + .eqIfPresent(HyglDO::getMeetingTaker, reqVO.getMeetingTaker()) + .eqIfPresent(HyglDO::getNumber, reqVO.getNumber()) + .eqIfPresent(HyglDO::getEquipmentList, reqVO.getEquipmentList()) + .eqIfPresent(HyglDO::getNetwork, reqVO.getNetwork()) + .eqIfPresent(HyglDO::getStatus, reqVO.getStatus()) + .eqIfPresent(HyglDO::getProcessInstanceId, reqVO.getProcessInstanceId()) + .betweenIfPresent(HyglDO::getCreateTime, reqVO.getCreateTime()) + .eq(HyglDO::getStatus, 100) // 强制过滤 status = 100 .orderByDesc(HyglDO::getId)); } diff --git a/yudao-module-home/yudao-module-home-biz/src/main/java/cn/iocoder/yudao/module/home/service/hygl/HyglService.java b/yudao-module-home/yudao-module-home-biz/src/main/java/cn/iocoder/yudao/module/home/service/hygl/HyglService.java index 8f31d57..7cb7dd3 100644 --- a/yudao-module-home/yudao-module-home-biz/src/main/java/cn/iocoder/yudao/module/home/service/hygl/HyglService.java +++ b/yudao-module-home/yudao-module-home-biz/src/main/java/cn/iocoder/yudao/module/home/service/hygl/HyglService.java @@ -56,4 +56,12 @@ public interface HyglService { void updateHyglStatus(Long id, Integer status); + /** + * 草稿 + * @param userId + * @param createReqVO + * @return + */ + Long saveDraft(Long userId, HyglSaveReqVO createReqVO); + PageResult getDraft(HyglPageReqVO pageReqVO); } diff --git a/yudao-module-home/yudao-module-home-biz/src/main/java/cn/iocoder/yudao/module/home/service/hygl/HyglServiceImpl.java b/yudao-module-home/yudao-module-home-biz/src/main/java/cn/iocoder/yudao/module/home/service/hygl/HyglServiceImpl.java index dbd2d4b..5f8b3fb 100644 --- a/yudao-module-home/yudao-module-home-biz/src/main/java/cn/iocoder/yudao/module/home/service/hygl/HyglServiceImpl.java +++ b/yudao-module-home/yudao-module-home-biz/src/main/java/cn/iocoder/yudao/module/home/service/hygl/HyglServiceImpl.java @@ -55,7 +55,12 @@ public class HyglServiceImpl implements HyglService { // 插入 HyglDO hygl = BeanUtils.toBean(createReqVO, HyglDO.class) .setUserId(userId).setStatus(BpmTaskStatusEnum.RUNNING.getStatus()); - hyglMapper.insert(hygl); + if (createReqVO.getCurfullpath().contains("?") ) { + hyglMapper.updateById(hygl); + createReqVO.setCurfullpath( createReqVO.getCurfullpath().replaceAll("\\?id=\\d+", "")); + } else { + hyglMapper.insert(hygl); + } // 发起 BPM 流程 Map processInstanceVariables = new HashMap<>(); @@ -125,5 +130,15 @@ public class HyglServiceImpl implements HyglService { } } + @Override + public Long saveDraft(Long userId, HyglSaveReqVO createReqVO) { + HyglDO hygl = BeanUtils.toBean(createReqVO, HyglDO.class).setUserId(userId).setStatus(100); + hyglMapper.insert(hygl); + return hygl.getId(); + } + @Override + public PageResult getDraft(HyglPageReqVO pageReqVO) { + return hyglMapper.selectPageDraft(pageReqVO); + } }