From 16328050c8786cbf79eeb247e01b4c1a3d050251 Mon Sep 17 00:00:00 2001 From: Joshi <3040996759@qq.com> Date: Tue, 10 Feb 2026 11:24:24 +0800 Subject: [PATCH] =?UTF-8?q?feat(hrm):=20=E4=BF=AE=E6=94=B9=E8=AF=B7?= =?UTF-8?q?=E5=81=87=E3=80=81=E6=8A=A5=E9=94=80=E3=80=81=E7=94=A8=E5=8D=B0?= =?UTF-8?q?=E3=80=81=E5=87=BA=E5=B7=AE=E7=94=B3=E8=AF=B7=E7=9A=84=E6=96=B0?= =?UTF-8?q?=E5=A2=9E=E6=8E=A5=E5=8F=A3=E8=BF=94=E5=9B=9E=E5=80=BC=E7=B1=BB?= =?UTF-8?q?=E5=9E=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 将 Controller 中的新增方法返回类型从 R 修改为 R 等对应的 VO 类型 - 修改 Service 层 insertByBo 方法返回类型从 Boolean 为对应的 VO 对象,并在其中包含流程实例 ID - 在各个 VO 类中添加 instId 字段用于存储流程实例 ID - 完善流程实例启动后将实例 ID 设置到返回对象中的逻辑 - 统一各业务类型的新增接口返回值处理方式,提供更完整的数据回传功能 --- .../com/ruoyi/hrm/controller/HrmLeaveReqController.java | 5 +++-- .../ruoyi/hrm/controller/HrmReimburseReqController.java | 4 ++-- .../com/ruoyi/hrm/controller/HrmSealReqController.java | 4 ++-- .../com/ruoyi/hrm/controller/HrmTravelReqController.java | 4 ++-- .../main/java/com/ruoyi/hrm/domain/vo/HrmLeaveReqVo.java | 2 ++ .../java/com/ruoyi/hrm/domain/vo/HrmReimburseReqVo.java | 2 ++ .../main/java/com/ruoyi/hrm/domain/vo/HrmSealReqVo.java | 3 +++ .../java/com/ruoyi/hrm/domain/vo/HrmTravelReqVo.java | 2 ++ .../java/com/ruoyi/hrm/service/IHrmLeaveReqService.java | 3 ++- .../com/ruoyi/hrm/service/IHrmReimburseReqService.java | 2 +- .../java/com/ruoyi/hrm/service/IHrmSealReqService.java | 2 +- .../java/com/ruoyi/hrm/service/IHrmTravelReqService.java | 2 +- .../ruoyi/hrm/service/impl/HrmLeaveReqServiceImpl.java | 8 +++++--- .../hrm/service/impl/HrmReimburseReqServiceImpl.java | 8 +++++--- .../ruoyi/hrm/service/impl/HrmSealReqServiceImpl.java | 9 ++++++--- .../ruoyi/hrm/service/impl/HrmTravelReqServiceImpl.java | 8 +++++--- 16 files changed, 44 insertions(+), 24 deletions(-) diff --git a/fad-hrm/src/main/java/com/ruoyi/hrm/controller/HrmLeaveReqController.java b/fad-hrm/src/main/java/com/ruoyi/hrm/controller/HrmLeaveReqController.java index 2de2597..895d52e 100644 --- a/fad-hrm/src/main/java/com/ruoyi/hrm/controller/HrmLeaveReqController.java +++ b/fad-hrm/src/main/java/com/ruoyi/hrm/controller/HrmLeaveReqController.java @@ -6,6 +6,7 @@ import com.ruoyi.common.core.domain.PageQuery; import com.ruoyi.common.core.domain.R; import com.ruoyi.common.core.page.TableDataInfo; import com.ruoyi.common.enums.BusinessType; +import com.ruoyi.hrm.domain.HrmLeaveReq; import com.ruoyi.hrm.domain.bo.HrmLeaveReqBo; import com.ruoyi.hrm.domain.vo.HrmLeaveReqVo; import com.ruoyi.hrm.service.IHrmLeaveReqService; @@ -38,8 +39,8 @@ public class HrmLeaveReqController extends BaseController { @Log(title = "请假单", businessType = BusinessType.INSERT) @PostMapping - public R add(@Validated @RequestBody HrmLeaveReqBo bo) { - return toAjax(service.insertByBo(bo)); + public R add(@Validated @RequestBody HrmLeaveReqBo bo) { + return R.ok(service.insertByBo(bo)); } @Log(title = "请假单", businessType = BusinessType.UPDATE) diff --git a/fad-hrm/src/main/java/com/ruoyi/hrm/controller/HrmReimburseReqController.java b/fad-hrm/src/main/java/com/ruoyi/hrm/controller/HrmReimburseReqController.java index e80b3a0..fc82ea8 100644 --- a/fad-hrm/src/main/java/com/ruoyi/hrm/controller/HrmReimburseReqController.java +++ b/fad-hrm/src/main/java/com/ruoyi/hrm/controller/HrmReimburseReqController.java @@ -41,8 +41,8 @@ public class HrmReimburseReqController extends BaseController { @Log(title = "日常报销单", businessType = BusinessType.INSERT) @PostMapping - public R add(@Validated @RequestBody HrmReimburseReqBo bo) { - return toAjax(service.insertByBo(bo)); + public R add(@Validated @RequestBody HrmReimburseReqBo bo) { + return R.ok(service.insertByBo(bo)); } @Log(title = "日常报销单", businessType = BusinessType.UPDATE) diff --git a/fad-hrm/src/main/java/com/ruoyi/hrm/controller/HrmSealReqController.java b/fad-hrm/src/main/java/com/ruoyi/hrm/controller/HrmSealReqController.java index f0e1602..2031cd2 100644 --- a/fad-hrm/src/main/java/com/ruoyi/hrm/controller/HrmSealReqController.java +++ b/fad-hrm/src/main/java/com/ruoyi/hrm/controller/HrmSealReqController.java @@ -42,8 +42,8 @@ public class HrmSealReqController extends BaseController { @Log(title = "用印申请", businessType = BusinessType.INSERT) @PostMapping - public R add(@Validated @RequestBody HrmSealReqBo bo) { - return toAjax(service.insertByBo(bo)); + public R add(@Validated @RequestBody HrmSealReqBo bo) { + return R.ok(service.insertByBo(bo)); } @Log(title = "用印申请", businessType = BusinessType.UPDATE) diff --git a/fad-hrm/src/main/java/com/ruoyi/hrm/controller/HrmTravelReqController.java b/fad-hrm/src/main/java/com/ruoyi/hrm/controller/HrmTravelReqController.java index 1ab130b..90abdfa 100644 --- a/fad-hrm/src/main/java/com/ruoyi/hrm/controller/HrmTravelReqController.java +++ b/fad-hrm/src/main/java/com/ruoyi/hrm/controller/HrmTravelReqController.java @@ -41,8 +41,8 @@ public class HrmTravelReqController extends BaseController { @Log(title = "出差单", businessType = BusinessType.INSERT) @PostMapping - public R add(@Validated @RequestBody HrmTravelReqBo bo) { - return toAjax(service.insertByBo(bo)); + public R add(@Validated @RequestBody HrmTravelReqBo bo) { + return R.ok(service.insertByBo(bo)); } @Log(title = "出差单", businessType = BusinessType.UPDATE) diff --git a/fad-hrm/src/main/java/com/ruoyi/hrm/domain/vo/HrmLeaveReqVo.java b/fad-hrm/src/main/java/com/ruoyi/hrm/domain/vo/HrmLeaveReqVo.java index 9d38776..f78ee4d 100644 --- a/fad-hrm/src/main/java/com/ruoyi/hrm/domain/vo/HrmLeaveReqVo.java +++ b/fad-hrm/src/main/java/com/ruoyi/hrm/domain/vo/HrmLeaveReqVo.java @@ -71,4 +71,6 @@ public class HrmLeaveReqVo implements Serializable { private Date createTime; private String updateBy; private Date updateTime; + + private Long instId; } diff --git a/fad-hrm/src/main/java/com/ruoyi/hrm/domain/vo/HrmReimburseReqVo.java b/fad-hrm/src/main/java/com/ruoyi/hrm/domain/vo/HrmReimburseReqVo.java index 1abe722..cb42a66 100644 --- a/fad-hrm/src/main/java/com/ruoyi/hrm/domain/vo/HrmReimburseReqVo.java +++ b/fad-hrm/src/main/java/com/ruoyi/hrm/domain/vo/HrmReimburseReqVo.java @@ -93,5 +93,7 @@ public class HrmReimburseReqVo implements Serializable { private Date createTime; private String updateBy; private Date updateTime; + + private Long instId; } diff --git a/fad-hrm/src/main/java/com/ruoyi/hrm/domain/vo/HrmSealReqVo.java b/fad-hrm/src/main/java/com/ruoyi/hrm/domain/vo/HrmSealReqVo.java index 36c09ca..9caa557 100644 --- a/fad-hrm/src/main/java/com/ruoyi/hrm/domain/vo/HrmSealReqVo.java +++ b/fad-hrm/src/main/java/com/ruoyi/hrm/domain/vo/HrmSealReqVo.java @@ -98,4 +98,7 @@ public class HrmSealReqVo implements Serializable { private Date createTime; private String updateBy; private Date updateTime; + + + private Long instId; } diff --git a/fad-hrm/src/main/java/com/ruoyi/hrm/domain/vo/HrmTravelReqVo.java b/fad-hrm/src/main/java/com/ruoyi/hrm/domain/vo/HrmTravelReqVo.java index 0d86ebf..aa337af 100644 --- a/fad-hrm/src/main/java/com/ruoyi/hrm/domain/vo/HrmTravelReqVo.java +++ b/fad-hrm/src/main/java/com/ruoyi/hrm/domain/vo/HrmTravelReqVo.java @@ -78,4 +78,6 @@ public class HrmTravelReqVo implements Serializable { private Date createTime; private String updateBy; private Date updateTime; + + private Long instId; } diff --git a/fad-hrm/src/main/java/com/ruoyi/hrm/service/IHrmLeaveReqService.java b/fad-hrm/src/main/java/com/ruoyi/hrm/service/IHrmLeaveReqService.java index 9ce4081..e7e8373 100644 --- a/fad-hrm/src/main/java/com/ruoyi/hrm/service/IHrmLeaveReqService.java +++ b/fad-hrm/src/main/java/com/ruoyi/hrm/service/IHrmLeaveReqService.java @@ -2,6 +2,7 @@ package com.ruoyi.hrm.service; import com.ruoyi.common.core.domain.PageQuery; import com.ruoyi.common.core.page.TableDataInfo; +import com.ruoyi.hrm.domain.HrmLeaveReq; import com.ruoyi.hrm.domain.bo.HrmLeaveReqBo; import com.ruoyi.hrm.domain.vo.HrmLeaveReqVo; @@ -18,7 +19,7 @@ public interface IHrmLeaveReqService { List queryListWithProject(HrmLeaveReqBo bo); - Boolean insertByBo(HrmLeaveReqBo bo); + HrmLeaveReqVo insertByBo(HrmLeaveReqBo bo); Boolean updateByBo(HrmLeaveReqBo bo); diff --git a/fad-hrm/src/main/java/com/ruoyi/hrm/service/IHrmReimburseReqService.java b/fad-hrm/src/main/java/com/ruoyi/hrm/service/IHrmReimburseReqService.java index 29d8bc2..a17d64e 100644 --- a/fad-hrm/src/main/java/com/ruoyi/hrm/service/IHrmReimburseReqService.java +++ b/fad-hrm/src/main/java/com/ruoyi/hrm/service/IHrmReimburseReqService.java @@ -18,7 +18,7 @@ public interface IHrmReimburseReqService { List queryListWithProject(HrmReimburseReqBo bo); - Boolean insertByBo(HrmReimburseReqBo bo); + HrmReimburseReqVo insertByBo(HrmReimburseReqBo bo); Boolean updateByBo(HrmReimburseReqBo bo); diff --git a/fad-hrm/src/main/java/com/ruoyi/hrm/service/IHrmSealReqService.java b/fad-hrm/src/main/java/com/ruoyi/hrm/service/IHrmSealReqService.java index 9964cf6..f05b6a3 100644 --- a/fad-hrm/src/main/java/com/ruoyi/hrm/service/IHrmSealReqService.java +++ b/fad-hrm/src/main/java/com/ruoyi/hrm/service/IHrmSealReqService.java @@ -19,7 +19,7 @@ public interface IHrmSealReqService { List queryListWithProject(HrmSealReqBo bo); - Boolean insertByBo(HrmSealReqBo bo); + HrmSealReqVo insertByBo(HrmSealReqBo bo); Boolean updateByBo(HrmSealReqBo bo); diff --git a/fad-hrm/src/main/java/com/ruoyi/hrm/service/IHrmTravelReqService.java b/fad-hrm/src/main/java/com/ruoyi/hrm/service/IHrmTravelReqService.java index d3e24a5..ea97340 100644 --- a/fad-hrm/src/main/java/com/ruoyi/hrm/service/IHrmTravelReqService.java +++ b/fad-hrm/src/main/java/com/ruoyi/hrm/service/IHrmTravelReqService.java @@ -18,7 +18,7 @@ public interface IHrmTravelReqService { List queryListWithProject(HrmTravelReqBo bo); - Boolean insertByBo(HrmTravelReqBo bo); + HrmTravelReqVo insertByBo(HrmTravelReqBo bo); Boolean updateByBo(HrmTravelReqBo bo); diff --git a/fad-hrm/src/main/java/com/ruoyi/hrm/service/impl/HrmLeaveReqServiceImpl.java b/fad-hrm/src/main/java/com/ruoyi/hrm/service/impl/HrmLeaveReqServiceImpl.java index 168a110..bbd68db 100644 --- a/fad-hrm/src/main/java/com/ruoyi/hrm/service/impl/HrmLeaveReqServiceImpl.java +++ b/fad-hrm/src/main/java/com/ruoyi/hrm/service/impl/HrmLeaveReqServiceImpl.java @@ -56,11 +56,12 @@ public class HrmLeaveReqServiceImpl implements IHrmLeaveReqService { @Override @Transactional(rollbackFor = Exception.class) - public Boolean insertByBo(HrmLeaveReqBo bo) { + public HrmLeaveReqVo insertByBo(HrmLeaveReqBo bo) { HrmLeaveReq add = BeanUtil.toBean(bo, HrmLeaveReq.class); add.setStatus(defaultStatus(add.getStatus())); boolean ok = baseMapper.insert(add) > 0; + HrmLeaveReqVo bean = BeanUtil.toBean(add, HrmLeaveReqVo.class); // 当提交为 pending 时,自动启动流程实例(hrm_flow_instance/hrm_flow_task) if (ok && "pending".equalsIgnoreCase(add.getStatus())) { @@ -97,10 +98,11 @@ public class HrmLeaveReqServiceImpl implements IHrmLeaveReqService { start.setBizId(add.getBizId()); start.setStartUserId(startUserId); - flowInstanceService.startInstance(start); + Long instId = flowInstanceService.startInstance(start); + bean.setInstId(instId); } - return ok; + return bean; } @Override diff --git a/fad-hrm/src/main/java/com/ruoyi/hrm/service/impl/HrmReimburseReqServiceImpl.java b/fad-hrm/src/main/java/com/ruoyi/hrm/service/impl/HrmReimburseReqServiceImpl.java index b240ec4..48718bc 100644 --- a/fad-hrm/src/main/java/com/ruoyi/hrm/service/impl/HrmReimburseReqServiceImpl.java +++ b/fad-hrm/src/main/java/com/ruoyi/hrm/service/impl/HrmReimburseReqServiceImpl.java @@ -55,11 +55,12 @@ public class HrmReimburseReqServiceImpl implements IHrmReimburseReqService { @Override @Transactional(rollbackFor = Exception.class) - public Boolean insertByBo(HrmReimburseReqBo bo) { + public HrmReimburseReqVo insertByBo(HrmReimburseReqBo bo) { HrmReimburseReq add = BeanUtil.toBean(bo, HrmReimburseReq.class); add.setStatus(defaultStatus(add.getStatus())); boolean ok = baseMapper.insert(add) > 0; + HrmReimburseReqVo bean = BeanUtil.toBean(add, HrmReimburseReqVo.class); if (ok && "pending".equalsIgnoreCase(add.getStatus())) { // 选择启用的最高版本模板(允许无模板:走自选审批人一次性审批) HrmFlowTemplate tpl = flowTemplateMapper.selectOne(Wrappers.lambdaQuery() @@ -77,10 +78,11 @@ public class HrmReimburseReqServiceImpl implements IHrmReimburseReqService { start.setBizType("reimburse"); start.setBizId(add.getBizId()); start.setStartUserId(startUserId); - flowInstanceService.startInstance(start); + Long instId = flowInstanceService.startInstance(start); + bean.setInstId(instId); } - return ok; + return bean; } @Override diff --git a/fad-hrm/src/main/java/com/ruoyi/hrm/service/impl/HrmSealReqServiceImpl.java b/fad-hrm/src/main/java/com/ruoyi/hrm/service/impl/HrmSealReqServiceImpl.java index ed8570c..55e7137 100644 --- a/fad-hrm/src/main/java/com/ruoyi/hrm/service/impl/HrmSealReqServiceImpl.java +++ b/fad-hrm/src/main/java/com/ruoyi/hrm/service/impl/HrmSealReqServiceImpl.java @@ -28,6 +28,7 @@ import org.apache.pdfbox.pdmodel.PDPage; import org.apache.pdfbox.pdmodel.PDPageContentStream; import org.apache.pdfbox.pdmodel.common.PDRectangle; import org.apache.pdfbox.pdmodel.graphics.image.PDImageXObject; +import org.springframework.context.annotation.Bean; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -72,7 +73,7 @@ public class HrmSealReqServiceImpl implements IHrmSealReqService { @Override @Transactional(rollbackFor = Exception.class) - public Boolean insertByBo(HrmSealReqBo bo) { + public HrmSealReqVo insertByBo(HrmSealReqBo bo) { HrmSealReq add = BeanUtil.toBean(bo, HrmSealReq.class); add.setStatus(defaultStatus(add.getStatus())); validEntityBeforeSave(add); @@ -82,6 +83,7 @@ public class HrmSealReqServiceImpl implements IHrmSealReqService { Long tplId = bo.getTplId() != null ? bo.getTplId() : bo.getFlowTplId(); boolean shouldStartFlow = tplId != null || bo.getManualAssigneeUserId() != null; + HrmSealReqVo bean = BeanUtil.toBean(add, HrmSealReqVo.class); if (ok && shouldStartFlow) { HrmFlowStartBo start = new HrmFlowStartBo(); start.setTplId(tplId); @@ -91,11 +93,12 @@ public class HrmSealReqServiceImpl implements IHrmSealReqService { start.setStartUserId(LoginHelper.getUserId()); start.setContentJson(bo.getContentJson()); - flowInstanceService.startInstance(start); + Long instId = flowInstanceService.startInstance(start); // 更新状态为流转中 updateStatus(add.getBizId(), "running"); + bean.setInstId(instId); } - return ok; + return bean; } @Override diff --git a/fad-hrm/src/main/java/com/ruoyi/hrm/service/impl/HrmTravelReqServiceImpl.java b/fad-hrm/src/main/java/com/ruoyi/hrm/service/impl/HrmTravelReqServiceImpl.java index 00b3908..5f71899 100644 --- a/fad-hrm/src/main/java/com/ruoyi/hrm/service/impl/HrmTravelReqServiceImpl.java +++ b/fad-hrm/src/main/java/com/ruoyi/hrm/service/impl/HrmTravelReqServiceImpl.java @@ -55,11 +55,12 @@ public class HrmTravelReqServiceImpl implements IHrmTravelReqService { @Override @Transactional(rollbackFor = Exception.class) - public Boolean insertByBo(HrmTravelReqBo bo) { + public HrmTravelReqVo insertByBo(HrmTravelReqBo bo) { HrmTravelReq add = BeanUtil.toBean(bo, HrmTravelReq.class); add.setStatus(defaultStatus(add.getStatus())); boolean ok = baseMapper.insert(add) > 0; + HrmTravelReqVo bean = BeanUtil.toBean(add, HrmTravelReqVo.class); // 业务表状态规范:pending/approved/rejected // 当提交为 pending 时,自动启动流程实例(hrm_flow_instance/hrm_flow_task) if (ok && "pending".equalsIgnoreCase(add.getStatus())) { @@ -81,10 +82,11 @@ public class HrmTravelReqServiceImpl implements IHrmTravelReqService { start.setBizId(add.getBizId()); start.setStartUserId(startUserId); // 暂不保存 contentJson - flowInstanceService.startInstance(start); + Long instId = flowInstanceService.startInstance(start); + bean.setInstId(instId); } - return ok; + return bean; } @Override