From bc8cd378fd72f43e66120c540f57f630580aa093 Mon Sep 17 00:00:00 2001 From: lyh <925863403@qq.com> Date: 星期四, 11 九月 2025 10:57:13 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- lxzn-module-eam/src/main/java/org/jeecg/modules/eam/request/EamEquipmentLeanOutRequest.java | 10 +++++ lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/entity/EamEquipmentLeanOut.java | 8 ++++ lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/listener/FileListener.java | 2 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamEquipmentLeanOutServiceImpl.java | 80 +++++++++++++++++++++++++--------------- 4 files changed, 69 insertions(+), 31 deletions(-) diff --git a/lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/listener/FileListener.java b/lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/listener/FileListener.java index c89c13a..5b8b097 100644 --- a/lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/listener/FileListener.java +++ b/lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/listener/FileListener.java @@ -26,7 +26,7 @@ @Override public void onStart(FileAlterationObserver observer) { - log.info("寮�濮嬬洃鍚洰褰�: {}", observer.getDirectory().getAbsolutePath()); +// log.info("寮�濮嬬洃鍚洰褰�: {}", observer.getDirectory().getAbsolutePath()); } @Override diff --git a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/entity/EamEquipmentLeanOut.java b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/entity/EamEquipmentLeanOut.java index e99c3ba..c4bdb77 100644 --- a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/entity/EamEquipmentLeanOut.java +++ b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/entity/EamEquipmentLeanOut.java @@ -126,6 +126,10 @@ @ApiModelProperty(value = "浣跨敤杞﹂棿纭浜�") @Dict(dicCode = "sys_user, realname, username") private String useConfirmUser; + /**浣跨敤杞﹂棿纭瀹℃壒绫诲瀷*/ + @ApiModelProperty(value = "浣跨敤杞﹂棿纭瀹℃壒绫诲瀷") + @Dict(dicCode = "approved_rejected") + private String useConfirmDealType; /**纭鎰忚*/ @Excel(name = "浣跨敤杞﹂棿纭鎰忚", width = 15) @ApiModelProperty(value = "浣跨敤杞﹂棿纭鎰忚") @@ -140,6 +144,10 @@ @ApiModelProperty(value = "鍊熺敤杞﹂棿纭浜�") @Dict(dicCode = "sys_user, realname, username") private String leanOutConfirmUser; + /**鍊熺敤杞﹂棿纭瀹℃壒绫诲瀷*/ + @ApiModelProperty(value = "鍊熺敤杞﹂棿纭瀹℃壒绫诲瀷") + @Dict(dicCode = "approved_rejected") + private String leanOutConfirmDealType; /**鍊熺敤杞﹂棿纭鎰忚*/ @Excel(name = "鍊熺敤杞﹂棿纭鎰忚", width = 15) @ApiModelProperty(value = "鍊熺敤杞﹂棿纭鎰忚") diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/request/EamEquipmentLeanOutRequest.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/request/EamEquipmentLeanOutRequest.java index 06f4dd7..e13429b 100644 --- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/request/EamEquipmentLeanOutRequest.java +++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/request/EamEquipmentLeanOutRequest.java @@ -159,6 +159,11 @@ @ApiModelProperty(value = "浣跨敤杞﹂棿纭浜�") private String useConfirmUser; /** + * 浣跨敤杞﹂棿纭瀹℃壒绫诲瀷 + */ + @ApiModelProperty(value = "浣跨敤杞﹂棿纭瀹℃壒绫诲瀷") + private String useConfirmDealType; + /** * 纭鎰忚 */ @ApiModelProperty(value = "浣跨敤杞﹂棿纭鎰忚") @@ -176,6 +181,11 @@ @ApiModelProperty(value = "鍊熺敤杞﹂棿纭浜�") private String leanOutConfirmUser; /** + * 鍊熺敤杞﹂棿纭瀹℃壒绫诲瀷 + */ + @ApiModelProperty(value = "鍊熺敤杞﹂棿纭瀹℃壒绫诲瀷") + private String leanOutConfirmDealType; + /** * 鍊熺敤杞﹂棿纭鎰忚 */ @ApiModelProperty(value = "鍊熺敤杞﹂棿纭鎰忚") diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamEquipmentLeanOutServiceImpl.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamEquipmentLeanOutServiceImpl.java index cf33510..36890f0 100644 --- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamEquipmentLeanOutServiceImpl.java +++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamEquipmentLeanOutServiceImpl.java @@ -86,8 +86,6 @@ //娌℃湁閫夋嫨璁惧锛屾牴鎹溅闂磋繃婊よ澶� queryWrapper.exists("select 1 from mdc_user_production t where t.user_id={0} and t.pro_id=e.org_id ", sysUser.getId()); } - //鎺у埗寰呮彁浜ょ姸鎬佺殑鏁版嵁鍙兘鏈汉鏌ョ湅 - queryWrapper.and(i -> i.ne("wmo.lean_status", EquipmentLeanOutStatusEnum.WAIT_SUBMIT).or().eq("wmo.lean_person", sysUser.getUsername())); //鏌ヨ鏉′欢杩囨护 if (query != null) { if (StringUtils.isNotBlank(query.getEquipmentId())) { @@ -194,7 +192,7 @@ throw new JeecgBootException("瑕佹彁浜ょ殑鏁版嵁涓嶅瓨鍦紝璇峰埛鏂伴噸璇曪紒"); } if (!EquipmentLeanOutStatusEnum.WAIT_SUBMIT.name().equals(entity.getLeanStatus())) { - throw new JeecgBootException("褰撳墠鏁版嵁鐘舵�佷笉鍏佽缂栬緫锛�"); + throw new JeecgBootException("璇ュ伐鍗曞凡杩涜杩囨彁浜わ紒"); } //妫�鏌ヨ澶� EamEquipment equipment = eamEquipmentService.getById(entity.getEquipmentId()); @@ -204,9 +202,15 @@ if (!AssetStatusEnum.NORMAL.name().equals(equipment.getAssetStatus())) { throw new JeecgBootException("姝よ澶囧綋鍓嶈祫浜х姸鎬佷笉鍏佽鍊熷嚭锛�"); } + // 鍒嗛厤缁欎娇鐢ㄥ崟浣嶉瀵� + List<UserSelector> userSelectors = sysUserService.selectOperatorList(equipment.getEquipmentCode(), equipment.getOrgId(), BusinessCodeConst.PCR0008); + if (CollectionUtil.isEmpty(userSelectors)) { + throw new JeecgBootException("璁惧鏈垎閰嶇粰鍗曚綅棰嗗锛屾棤娉曡繘鍏ヤ笅绾у鎵癸紒"); + } + List<String> usernames = userSelectors.stream().map(UserSelector::getUsername).collect(Collectors.toList()); LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); - if (sysUser == null) { - throw new JeecgBootException("褰撳墠鐢ㄦ埛鏃犳硶缂栬緫鍊熺敤璁板綍锛�"); + if (sysUser == null || !BusinessCodeConst.PCR0004.equals(sysUser.getPost())) { + throw new JeecgBootException("涓嶆槸璁惧绠$悊鍛橈紝鏃犳硶鎻愪氦姝ゅ伐鍗曪紒"); } UpdateWrapper<EamEquipmentLeanOut> updateWrapper = new UpdateWrapper<>(); updateWrapper.set("lean_status", EquipmentLeanOutStatusEnum.WAIT_APPROVAL_OUT.name()); @@ -230,8 +234,6 @@ variables.put("comment", entity.getLeanReason()); } variables.put("proofreading", true); - List<String> usernames = new ArrayList<>(); - usernames.add(equipment.getEquipmentManager()); variables.put("NextAssignee", usernames); Result result = flowDefinitionService.startProcessInstanceByKey("equipment_lean_out", variables); if (result != null) { @@ -259,9 +261,14 @@ if (equipment == null) { throw new JeecgBootException("璁惧涓嶅瓨鍦紒"); } + // 鍒嗛厤缁欏�熺敤鍗曚綅棰嗗 + List<UserSelector> userSelectors = sysUserService.selectOperatorList(entity.getLeanDepartId(), BusinessCodeConst.PCR0008); + if (CollectionUtil.isEmpty(userSelectors)) { + throw new JeecgBootException("璁惧鏈垎閰嶇粰鍗曚綅棰嗗锛屾棤娉曡繘鍏ヤ笅绾у鎵癸紒"); + } LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); - if (sysUser == null) { - throw new JeecgBootException("褰撳墠鐢ㄦ埛鏃犳硶缂栬緫灏佸瓨璁板綍锛�"); + if (sysUser == null || !BusinessCodeConst.PCR0004.equals(sysUser.getPost())) { + throw new JeecgBootException("涓嶆槸璁惧绠$悊鍛橈紝鏃犳硶鎻愪氦姝ゅ伐鍗曪紒"); } //鍚姩瀹℃壒娴佺▼ flowCommonService.initActBusiness("宸ュ崟鍙�:" + entity.getCode() + ";璁惧缂栧彿: " + equipment.getEquipmentCode() + ";杩涜璁惧褰掕繕", @@ -271,11 +278,7 @@ variables.put("organization", "鏂板褰掕繕榛樿褰掕繕娴佺▼"); variables.put("comment", "鏂板褰掕繕榛樿褰掕繕娴佺▼"); variables.put("proofreading", true); - // 鍒嗛厤缁欒澶囩鐞嗗憳 - List<UserSelector> userSelectors = sysUserService.selectOperatorList(equipment.getEquipmentCode(), equipment.getOrgId(), BusinessCodeConst.PCR0004); - if (CollectionUtil.isEmpty(userSelectors)) { - throw new JeecgBootException("璁惧鏈垎閰嶇粰璁惧绠$悊鍛橈紝鏃犳硶杩涘叆涓嬬骇瀹℃壒锛�"); - } + List<String> usernames = userSelectors.stream().map(UserSelector::getUsername).collect(Collectors.toList()); variables.put("NextAssignee", usernames); Result result = flowDefinitionService.startProcessInstanceByKey("equipment_return", variables); @@ -361,10 +364,9 @@ entity.setLeanStatus(EquipmentLeanOutStatusEnum.WAIT_APPROVAL_IN.name()); } else { entity.setLeanStatus(EquipmentLeanOutStatusEnum.REJECT.name()); - equipment.setAssetStatus(AssetStatusEnum.LEAN_OUT.name()); + equipment.setAssetStatus(AssetStatusEnum.NORMAL.name()); eamEquipmentService.updateById(equipment); } - request.setComment("浣跨敤鍗曚綅鍑哄巶瀹℃壒缁撴潫"); break; case WAIT_APPROVAL_IN: entity.setLeanOutApprovalUser(user.getUsername()); @@ -375,26 +377,33 @@ entity.setLeanStatus(EquipmentLeanOutStatusEnum.WAIT_RETURN.name()); } else { entity.setLeanStatus(EquipmentLeanOutStatusEnum.REJECT.name()); - equipment.setAssetStatus(AssetStatusEnum.LEAN_OUT.name()); + equipment.setAssetStatus(AssetStatusEnum.NORMAL.name()); eamEquipmentService.updateById(equipment); } - request.setComment("鍊熺敤鍗曚綅鍏ュ巶瀹℃壒缁撴潫"); break; case WAIT_CONFIRM_RETURN: entity.setLeanOutConfirmUser(user.getUsername()); entity.setLeanOutConfirmComment(request.getLeanOutConfirmComment()); entity.setLeanOutConfirmTime(new Date()); - entity.setLeanStatus(EquipmentLeanOutStatusEnum.WAIT_CONFIRM_BORROW.name()); - request.setComment("鍊熺敤鍗曚綅褰掕繕瀹℃壒缁撴潫"); + entity.setLeanOutConfirmDealType(request.getLeanOutConfirmDealType()); + if (CommonConstant.APPROVED.equals(request.getLeanOutConfirmDealType())) { + entity.setLeanStatus(EquipmentLeanOutStatusEnum.WAIT_CONFIRM_BORROW.name()); + } else { + entity.setLeanStatus(EquipmentLeanOutStatusEnum.WAIT_RETURN.name()); + } break; case WAIT_CONFIRM_BORROW: entity.setUseConfirmUser(user.getUsername()); entity.setUseConfirmComment(request.getUseConfirmComment()); entity.setUseConfirmTime(new Date()); - entity.setLeanStatus(EquipmentLeanOutStatusEnum.COMPLETE.name()); - equipment.setAssetStatus(AssetStatusEnum.NORMAL.name()); - eamEquipmentService.updateById(equipment); - request.setComment("浣跨敤鍗曚綅褰掕繕纭缁撴潫"); + entity.setUseConfirmDealType(request.getUseConfirmDealType()); + if (CommonConstant.APPROVED.equals(request.getUseConfirmDealType())) { + entity.setLeanStatus(EquipmentLeanOutStatusEnum.COMPLETE.name()); + equipment.setAssetStatus(AssetStatusEnum.NORMAL.name()); + eamEquipmentService.updateById(equipment); + } else { + entity.setLeanStatus(EquipmentLeanOutStatusEnum.WAIT_RETURN.name()); + } break; } } @@ -433,31 +442,42 @@ // 椹冲洖 values.put("approvalDealType", request.getUseApprovalDealType()); } + request.setComment("浣跨敤鍗曚綅鍑哄巶瀹℃壒瀹屾垚"); break; case WAIT_APPROVAL_IN: // 鍊熺敤鍗曚綅鍏ュ巶瀹℃壒瀹屾垚 values.put("dataId", entity.getId()); values.put("organization", request.getLeanOutApprovalComment()); values.put("comment", request.getLeanOutApprovalComment()); + request.setComment("鍊熺敤鍗曚綅鍏ュ巶瀹℃壒瀹屾垚"); break; case WAIT_CONFIRM_RETURN: // 褰掕繕鍗曚綅纭瀹屾垚 values.put("dataId", entity.getId()); values.put("organization", request.getLeanOutConfirmComment()); values.put("comment", request.getLeanOutConfirmComment()); - // 鑾峰彇涓嬩竴姝ュ鎵逛汉 - userSelectors = sysUserService.selectOperatorList(equipment.getOrgId(), BusinessCodeConst.PCR0008); - if (CollectionUtil.isEmpty(userSelectors)) { - throw new JeecgBootException("鏈垎閰嶄娇鐢ㄨ溅闂村崟浣嶉瀵硷紝鏃犳硶杩涘叆涓嬬骇瀹℃壒锛�"); + if (CommonConstant.APPROVED.equals(request.getLeanOutConfirmDealType())) { + // 閫氳繃 + values.put("approvalDealType", request.getLeanOutConfirmDealType()); + // 鑾峰彇涓嬩竴姝ュ鎵逛汉 + userSelectors = sysUserService.selectOperatorList(equipment.getOrgId(), BusinessCodeConst.PCR0008); + if (CollectionUtil.isEmpty(userSelectors)) { + throw new JeecgBootException("鏈垎閰嶄娇鐢ㄨ溅闂村崟浣嶉瀵硷紝鏃犳硶杩涘叆涓嬬骇瀹℃壒锛�"); + } + userApprovalList = userSelectors.stream().map(UserSelector::getUsername).collect(Collectors.toList()); + values.put("NextAssignee", userApprovalList); + } else { + // 椹冲洖 + values.put("approvalDealType", request.getLeanOutConfirmDealType()); } - userApprovalList = userSelectors.stream().map(UserSelector::getUsername).collect(Collectors.toList()); - values.put("NextAssignee", userApprovalList); + request.setComment("鍊熺敤鍗曚綅棰嗗纭瀹屾垚"); break; case WAIT_CONFIRM_BORROW: // 鍊熷嚭鏂圭‘璁ゅ畬鎴� values.put("dataId", entity.getId()); values.put("organization", request.getUseConfirmComment()); values.put("comment", request.getUseConfirmComment()); + request.setComment("浣跨敤鍗曚綅棰嗗纭瀹屾垚"); break; } request.setValues(values); -- Gitblit v1.9.3