From f8e05a22f4dde3c3bf9c94a1780a0fc21e7290a4 Mon Sep 17 00:00:00 2001 From: XaoLi717 <144221124+XaoLi717@users.noreply.github.com> Date: Tue, 24 Dec 2024 16:23:35 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8A=9E=E5=85=AC=E7=94=A8=E5=93=81=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/bgyp/BgypController.java | 14 ++++++++++++++ .../home/dal/mysql/bgyp/BgypMapper.java | 19 +++++++++++++++++++ .../module/home/service/bgyp/BgypService.java | 8 ++++++++ .../home/service/bgyp/BgypServiceImpl.java | 17 ++++++++++++++++- 4 files changed, 57 insertions(+), 1 deletion(-) diff --git a/yudao-module-home/yudao-module-home-biz/src/main/java/cn/iocoder/yudao/module/home/controller/admin/bgyp/BgypController.java b/yudao-module-home/yudao-module-home-biz/src/main/java/cn/iocoder/yudao/module/home/controller/admin/bgyp/BgypController.java index 31a4b9e..afad5b6 100644 --- a/yudao-module-home/yudao-module-home-biz/src/main/java/cn/iocoder/yudao/module/home/controller/admin/bgyp/BgypController.java +++ b/yudao-module-home/yudao-module-home-biz/src/main/java/cn/iocoder/yudao/module/home/controller/admin/bgyp/BgypController.java @@ -94,4 +94,18 @@ public class BgypController { BeanUtils.toBean(list, BgypRespVO.class)); } + @PostMapping("/saveDraft") + @Operation(summary = "创建请假为草稿") + @PreAuthorize("@ss.hasPermission('home:bgyp:create')") + public CommonResult saveDraft(@Valid @RequestBody BgypSaveReqVO createReqVO) { + return success(bgypService.saveDraft(getLoginUserId(),createReqVO)); + } + @GetMapping("/draft") + @Operation(summary = "获得请假草稿分页") + @PreAuthorize("@ss.hasPermission('home:bgyp:query')") + public CommonResult> getDraft(@Valid BgypPageReqVO pageReqVO) { + PageResult pageResult = bgypService.getDraft(pageReqVO); + return success(BeanUtils.toBean(pageResult, BgypRespVO.class)); + } + } diff --git a/yudao-module-home/yudao-module-home-biz/src/main/java/cn/iocoder/yudao/module/home/dal/mysql/bgyp/BgypMapper.java b/yudao-module-home/yudao-module-home-biz/src/main/java/cn/iocoder/yudao/module/home/dal/mysql/bgyp/BgypMapper.java index ccdc64a..76bfcca 100644 --- a/yudao-module-home/yudao-module-home-biz/src/main/java/cn/iocoder/yudao/module/home/dal/mysql/bgyp/BgypMapper.java +++ b/yudao-module-home/yudao-module-home-biz/src/main/java/cn/iocoder/yudao/module/home/dal/mysql/bgyp/BgypMapper.java @@ -49,6 +49,25 @@ public interface BgypMapper extends BaseMapperX { .eqIfPresent(BgypDO::getStatus, reqVO.getStatus()) .eqIfPresent(BgypDO::getUserId, reqVO.getUserId()) .betweenIfPresent(BgypDO::getCreateTime, reqVO.getCreateTime()) + .ne(BgypDO::getStatus, 100) // 排除 status = 100 + .orderByDesc(BgypDO::getId)); + } + default PageResult selectPageDraft(BgypPageReqVO reqVO) { + return selectPage(reqVO, new LambdaQueryWrapperX() + .eqIfPresent(BgypDO::getTitle, reqVO.getTitle()) + .likeIfPresent(BgypDO::getUserName, reqVO.getUserName()) + .likeIfPresent(BgypDO::getDeptName, reqVO.getDeptName()) + .eqIfPresent(BgypDO::getDeptId, reqVO.getDeptId()) + .likeIfPresent(BgypDO::getUsageName, reqVO.getUsageName()) + .eqIfPresent(BgypDO::getUsageId, reqVO.getUsageId()) + .eqIfPresent(BgypDO::getUsageQuantity, reqVO.getUsageQuantity()) + .eqIfPresent(BgypDO::getUnit, reqVO.getUnit()) + .eqIfPresent(BgypDO::getUsagePurpose, reqVO.getUsagePurpose()) + .betweenIfPresent(BgypDO::getUsageDate, reqVO.getUsageDate()) + .eqIfPresent(BgypDO::getStatus, reqVO.getStatus()) + .eqIfPresent(BgypDO::getUserId, reqVO.getUserId()) + .betweenIfPresent(BgypDO::getCreateTime, reqVO.getCreateTime()) + .eq(BgypDO::getStatus, 100) // 强制过滤 status = 100 .orderByDesc(BgypDO::getId)); } diff --git a/yudao-module-home/yudao-module-home-biz/src/main/java/cn/iocoder/yudao/module/home/service/bgyp/BgypService.java b/yudao-module-home/yudao-module-home-biz/src/main/java/cn/iocoder/yudao/module/home/service/bgyp/BgypService.java index 78681f0..541046e 100644 --- a/yudao-module-home/yudao-module-home-biz/src/main/java/cn/iocoder/yudao/module/home/service/bgyp/BgypService.java +++ b/yudao-module-home/yudao-module-home-biz/src/main/java/cn/iocoder/yudao/module/home/service/bgyp/BgypService.java @@ -61,5 +61,13 @@ public interface BgypService { * @param status 结果 */ void updateBgypStatus(Long id, Integer status); + /** + * 草稿 + * @param userId + * @param createReqVO + * @return + */ + Long saveDraft(Long userId, BgypSaveReqVO createReqVO); + PageResult getDraft(BgypPageReqVO pageReqVO); } diff --git a/yudao-module-home/yudao-module-home-biz/src/main/java/cn/iocoder/yudao/module/home/service/bgyp/BgypServiceImpl.java b/yudao-module-home/yudao-module-home-biz/src/main/java/cn/iocoder/yudao/module/home/service/bgyp/BgypServiceImpl.java index 3534b4d..abbbc5e 100644 --- a/yudao-module-home/yudao-module-home-biz/src/main/java/cn/iocoder/yudao/module/home/service/bgyp/BgypServiceImpl.java +++ b/yudao-module-home/yudao-module-home-biz/src/main/java/cn/iocoder/yudao/module/home/service/bgyp/BgypServiceImpl.java @@ -58,7 +58,12 @@ public class BgypServiceImpl implements BgypService { // 插入 BgypDO bgyp = BeanUtils.toBean(createReqVO, BgypDO.class) .setUserId(userId).setStatus(BpmTaskStatusEnum.RUNNING.getStatus()); - bgypMapper.insert(bgyp); + if (createReqVO.getCurfullpath().contains("?") ) { + bgypMapper.updateById(bgyp); + createReqVO.setCurfullpath( createReqVO.getCurfullpath().replaceAll("\\?id=\\d+", "")); + } else { + bgypMapper.insert(bgyp); + } // 发起 BPM 流程 Map processInstanceVariables = new HashMap<>(); processInstanceId = processInstanceApi.createProcessInstance(userId, @@ -126,5 +131,15 @@ public class BgypServiceImpl implements BgypService { throw exception(KNOWLEDGE_NOT_EXISTS); } } + @Override + public Long saveDraft(Long userId, BgypSaveReqVO createReqVO) { + BgypDO bgyp = BeanUtils.toBean(createReqVO, BgypDO.class).setUserId(userId).setStatus(100); + bgypMapper.insert(bgyp); + return bgyp.getId(); + } + @Override + public PageResult getDraft(BgypPageReqVO pageReqVO) { + return bgypMapper.selectPageDraft(pageReqVO); + } }