From 7052bc04f7ab46d0065eac7cbdf1087eb85702cd Mon Sep 17 00:00:00 2001 From: fengyuan_yang <1976974459@qq.com> Date: Tue, 7 Jul 2026 10:00:30 +0800 Subject: [PATCH] =?UTF-8?q?2026-07-07=20RoHS=E5=A2=9E=E5=8A=A0=E6=9D=90?= =?UTF-8?q?=E6=96=99=E6=8F=8F=E8=BF=B0=E3=80=90=E7=BC=96=E8=BE=91=E3=80=91?= =?UTF-8?q?=E6=8C=89=E9=92=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../rohs/controller/RohsController.java | 23 +++++++++++++++++++ .../rohs/service/impl/RohsServiceImpl.java | 16 ++----------- 2 files changed, 25 insertions(+), 14 deletions(-) diff --git a/src/main/java/com/spring/modules/rohs/controller/RohsController.java b/src/main/java/com/spring/modules/rohs/controller/RohsController.java index 7d8196f3..a21c73d1 100644 --- a/src/main/java/com/spring/modules/rohs/controller/RohsController.java +++ b/src/main/java/com/spring/modules/rohs/controller/RohsController.java @@ -207,6 +207,29 @@ public class RohsController { return R.ok(); } + /** + * 仅更新材料描述(不受流程节点和状态限制) + */ + @PostMapping("/updateMaterialDesc") + @Transactional + public R updateMaterialDesc(@RequestBody RohsEntity rohs) { + if (StringUtils.isBlank(rohs.getSite()) || StringUtils.isBlank(rohs.getReferenceNo())) { + return R.error("工厂(site)和序列号(referenceNo)不能为空"); + } + RohsEntity exists = rohsService.getDetail(rohs.getSite(), rohs.getReferenceNo()); + if (exists == null) { + return R.error("未找到对应RoHs单据"); + } + RohsEntity updateEntity = new RohsEntity(); + updateEntity.setMaterialDesc(StringUtils.defaultString(rohs.getMaterialDesc())); + updateEntity.setUpdateDate(new Date()); + updateEntity.setUpdateBy(getCurrentUserName()); + QueryWrapper updateWrapper = new QueryWrapper<>(); + updateWrapper.eq("site", rohs.getSite()).eq("reference_no", rohs.getReferenceNo()); + rohsService.update(updateEntity, updateWrapper); + return R.ok(); + } + /** * 仅更新材料明细(用于编辑页签即时保存) */ diff --git a/src/main/java/com/spring/modules/rohs/service/impl/RohsServiceImpl.java b/src/main/java/com/spring/modules/rohs/service/impl/RohsServiceImpl.java index c2aa6490..352f7c2c 100644 --- a/src/main/java/com/spring/modules/rohs/service/impl/RohsServiceImpl.java +++ b/src/main/java/com/spring/modules/rohs/service/impl/RohsServiceImpl.java @@ -186,20 +186,8 @@ public class RohsServiceImpl extends ServiceImpl impleme Object valueObj = getPropertyValue(rohs, nodeDetail.getPlmField()); fieldValue = convertFieldValue(valueObj); if (StringUtils.isNotBlank(fieldValue) && "A".equals(nodeDetail.getFieldType())) { - // 人员字段:PLM用户 -> 域控账号 -> OA人员ID - SysUserEntity sysUser = sysUserDao.selectOne(new QueryWrapper().eq("username", fieldValue)); - if (sysUser == null) { - throw new RuntimeException("未找到PLM用户信息,用户编码: " + fieldValue); - } - String account = sysUser.getDomainControlAccount(); - if (StringUtils.isBlank(account)) { - throw new RuntimeException("未获取到PLM人员域控账号,用户编码: " + fieldValue); - } - List oaIds = sysUserDao.selectOaIdByAccount(account); - if (oaIds == null || oaIds.isEmpty()) { - throw new RuntimeException("未获取到域控账号对应的OA人员,域控账号: " + account); - } - fieldValue = oaIds.get(0).getId(); + // 人员字段(支持多选):按 ; / , 分割后转换为OA人员ID,结果使用逗号拼接 + fieldValue = convertUserFieldToOaIds(fieldValue); } }