From 248dc64a6b481fdba68818ba6bc2e2b98975f73e Mon Sep 17 00:00:00 2001 From: yangk Date: Tue, 16 Jun 2026 10:28:06 +0800 Subject: [PATCH] =?UTF-8?q?feat(asset):=20=E4=BC=98=E5=8C=96=E8=B5=84?= =?UTF-8?q?=E4=BA=A7=E9=A2=86=E7=94=A8=E6=B5=81=E7=A8=8B=E5=A2=9E=E5=8A=A0?= =?UTF-8?q?=E4=BB=93=E4=BD=8D=E6=B8=85=E7=A9=BA=E5=92=8C=E7=94=B3=E8=AF=B7?= =?UTF-8?q?=E4=BA=BA=E4=BF=A1=E6=81=AF=E5=B1=95=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 确认领用时清空资产当前仓位并更新使用归属 - 新增当前登录用户申请人和申请部门信息展示功能 - 优化代码注释明确业务意图和操作流程 - 在新增页面默认填充当前用户部门和人员ID信息 - 更新资产流转履历生成逻辑以反映仓位变化 --- .../controller/AmsReceiveOrderController.java | 18 +++++++++++++++++- .../asset/service/IAmsReceiveOrderService.java | 2 +- .../impl/AmsReceiveOrderServiceImpl.java | 2 +- 3 files changed, 19 insertions(+), 3 deletions(-) diff --git a/ruoyi-asset/src/main/java/com/ruoyi/asset/controller/AmsReceiveOrderController.java b/ruoyi-asset/src/main/java/com/ruoyi/asset/controller/AmsReceiveOrderController.java index a632c1a..ebfd96c 100644 --- a/ruoyi-asset/src/main/java/com/ruoyi/asset/controller/AmsReceiveOrderController.java +++ b/ruoyi-asset/src/main/java/com/ruoyi/asset/controller/AmsReceiveOrderController.java @@ -135,6 +135,7 @@ public class AmsReceiveOrderController extends BaseController public String add(ModelMap mmap) { putReceiveOptions(mmap); + putCurrentApplicant(mmap); return prefix + "/add"; } @@ -195,7 +196,7 @@ public class AmsReceiveOrderController extends BaseController /** * 确认领用申请。 - * 业务意图:将单据状态置为 COMPLETED (已完成)。锁定各资产明细、执行状态转移(变为在用并更新使用人和部门)、生成资产流转履历。 + * 业务意图:将单据状态置为 COMPLETED (已完成)。锁定各资产明细、执行状态转移(变为在用、清空仓位并更新使用归属)、生成资产流转履历。 */ @RequiresPermissions("asset:receive:confirm") @Log(title = "领用管理", businessType = BusinessType.UPDATE) @@ -243,6 +244,21 @@ public class AmsReceiveOrderController extends BaseController SysUser user = new SysUser(); user.setStatus(UserConstants.NORMAL); mmap.put("userList", sysUserService.selectUserList(user)); + SysUser currentUser = getSysUser(); + mmap.put("defaultReceiveDeptId", currentUser.getDeptId()); + mmap.put("defaultReceiveUserId", currentUser.getUserId()); + } + + /** + * 新增领用单时展示当前登录用户的申请人和申请部门快照。 + * 实际保存仍由新增接口从当前会话强制获取,不信任页面提交值。 + */ + private void putCurrentApplicant(ModelMap mmap) + { + SysUser currentUser = getSysUser(); + mmap.put("applicantName", currentUser.getUserName()); + SysDept currentDept = sysDeptService.selectDeptById(currentUser.getDeptId()); + mmap.put("applyDeptName", currentDept == null ? "" : currentDept.getDeptName()); } /** diff --git a/ruoyi-asset/src/main/java/com/ruoyi/asset/service/IAmsReceiveOrderService.java b/ruoyi-asset/src/main/java/com/ruoyi/asset/service/IAmsReceiveOrderService.java index 749a1e9..29e269f 100644 --- a/ruoyi-asset/src/main/java/com/ruoyi/asset/service/IAmsReceiveOrderService.java +++ b/ruoyi-asset/src/main/java/com/ruoyi/asset/service/IAmsReceiveOrderService.java @@ -55,7 +55,7 @@ public interface IAmsReceiveOrderService /** * 确认资产领用。 * 业务意图:将单据状态置为 COMPLETED (已完成)。 - * 在加锁保护下,逐一调用底层 `assetStatusTransitionService` 将资产状态转移为在用,更新最新使用人/部门,并生成资产履历。 + * 在加锁保护下,逐一调用底层 `assetStatusTransitionService` 将资产状态转移为在用,清空当前仓位、更新使用归属,并生成资产履历。 */ public int confirmReceive(Long orderId, Long operateUserId, String operateUserName, String operateLoginName); diff --git a/ruoyi-asset/src/main/java/com/ruoyi/asset/service/impl/AmsReceiveOrderServiceImpl.java b/ruoyi-asset/src/main/java/com/ruoyi/asset/service/impl/AmsReceiveOrderServiceImpl.java index c1e0e3f..eac40c7 100644 --- a/ruoyi-asset/src/main/java/com/ruoyi/asset/service/impl/AmsReceiveOrderServiceImpl.java +++ b/ruoyi-asset/src/main/java/com/ruoyi/asset/service/impl/AmsReceiveOrderServiceImpl.java @@ -261,7 +261,7 @@ public class AmsReceiveOrderServiceImpl implements IAmsReceiveOrderService context.setChangeSummary("确认资产领用"); context.setRemark(order.getRemark()); - // 调用底层公共状态转移模块。内部会将资产状态更改为 IN_USE 并更新最新使用人/部门,级联生成历史履历项 + // 领用确认后实物离开仓库,公共流转服务会清空当前仓位、更新使用归属并生成履历。 assetStatusTransitionService.confirmReceive(item.getAssetId(), item.getReceiveDeptId(), item.getReceiveUserId(), context); }