From 57945f688fd21076e36ab5332028c8b4a6dcf59c Mon Sep 17 00:00:00 2001 From: Lius <Lius2225@163.com> Date: 星期四, 04 九月 2025 16:37:31 +0800 Subject: [PATCH] 同步密网设备管理代码 --- lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamEquipmentLeanOutServiceImpl.java | 58 ++++++++++++++++++++++++++++++++++++++++++++++++++++++---- 1 files changed, 54 insertions(+), 4 deletions(-) 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 5ee5fac..96b741d 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 @@ -1,5 +1,6 @@ package org.jeecg.modules.eam.service.impl; +import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.util.StrUtil; import com.alibaba.fastjson.JSON; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; @@ -18,11 +19,10 @@ import org.jeecg.common.system.vo.LoginUser; import org.jeecg.common.util.oConvertUtils; import org.jeecg.modules.eam.aspect.annotation.EquipmentHistoryLog; -import org.jeecg.modules.eam.constant.AssetStatusEnum; -import org.jeecg.modules.eam.constant.EquipmentLeanOutStatusEnum; -import org.jeecg.modules.eam.constant.EquipmentOperationTagEnum; +import org.jeecg.modules.eam.constant.*; import org.jeecg.modules.eam.entity.EamEquipment; import org.jeecg.modules.eam.entity.EamEquipmentLeanOut; +import org.jeecg.modules.eam.entity.EamEquipmentSealUp; import org.jeecg.modules.eam.mapper.EamEquipmentLeanOutMapper; import org.jeecg.modules.eam.request.EamEquipmentLeanOutQuery; import org.jeecg.modules.eam.request.EamEquipmentLeanOutRequest; @@ -35,12 +35,14 @@ import org.jeecg.modules.flowable.service.IFlowDefinitionService; import org.jeecg.modules.flowable.service.IFlowTaskService; import org.jeecg.modules.system.service.ISysUserService; +import org.jeecg.modules.system.vo.UserSelector; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; import java.util.*; +import java.util.stream.Collectors; /** * @Description: 璁惧鍊熷嚭褰掕繕 @@ -245,6 +247,51 @@ @Override @Transactional(rollbackFor = Exception.class) + public boolean equipmentReturn(String id) { + EamEquipmentLeanOut entity = equipmentLeanOutMapper.selectById(id); + if (entity == null) { + throw new JeecgBootException("瑕佹彁浜ょ殑鏁版嵁涓嶅瓨鍦紝璇峰埛鏂伴噸璇曪紒"); + } + if (!EquipmentLeanOutStatusEnum.WAIT_RETURN.name().equals(entity.getLeanStatus())) { + throw new JeecgBootException("褰撳墠鏁版嵁鐘舵�佷笉鍏佽缂栬緫锛�"); + } + //妫�鏌ヨ澶� + EamEquipment equipment = eamEquipmentService.getById(entity.getEquipmentId()); + if (equipment == null) { + throw new JeecgBootException("璁惧涓嶅瓨鍦紒"); + } + LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); + if (sysUser == null) { + throw new JeecgBootException("褰撳墠鐢ㄦ埛鏃犳硶缂栬緫灏佸瓨璁板綍锛�"); + } + //鍚姩瀹℃壒娴佺▼ + flowCommonService.initActBusiness("宸ュ崟鍙�:" + entity.getCode() + ";璁惧缂栧彿: " + equipment.getEquipmentCode() + ";杩涜璁惧褰掕繕", + entity.getId(), "IEamEquipmentLeanOutService", "equipment_return", null); + Map<String, Object> variables = new HashMap<>(); + variables.put("dataId", entity.getId()); + 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); + if (result != null) { + entity.setLeanEndTime(new Date()); + entity.setLeanStatus(EquipmentLeanOutStatusEnum.WAIT_CONFIRM.name()); + //淇濆瓨宸ュ崟 + equipmentLeanOutMapper.updateById(entity); + return result.isSuccess(); + } + return true; + } + + @Override + @Transactional(rollbackFor = Exception.class) @EquipmentHistoryLog(operationTag = EquipmentOperationTagEnum.LEAN_OUT, businessTable = "eam_equipment_lean_out") public EamEquipmentLeanOut approval(EamEquipmentLeanOutRequest request) { EamEquipmentLeanOut entity = equipmentLeanOutMapper.selectById(request.getId()); @@ -321,6 +368,7 @@ values.put("organization", request.getReturnComment()); values.put("comment", request.getReturnComment()); values.put("NextAssignee", userApprovalList); + values.put("approvalDealType", "1"); request.setComment(request.getReturnComment()); entity.setLeanEndTime(new Date()); //褰掕繕鏃堕棿 //璁剧疆entity @@ -331,16 +379,18 @@ break; // 褰掕繕纭 case WAIT_CONFIRM: + values.put("approvalDealType", "1"); values.put("dataId", entity.getId()); values.put("organization", request.getConfirmComment()); values.put("comment", request.getConfirmComment()); request.setComment(request.getConfirmComment()); //璁剧疆entity + entity.setApprovalUser(user.getUsername());// 瀹℃牳浜� entity.setLeanStatus(EquipmentLeanOutStatusEnum.COMPLETE.name()); entity.setConfirmUser(user.getUsername()); entity.setConfirmComment(request.getConfirmComment()); entity.setConfirmTime(new Date()); - // 淇敼璁惧鐘舵�� + // 淇敼璁惧鐘舵��0 equipment.setAssetStatus(AssetStatusEnum.NORMAL.name()); eamEquipmentService.updateById(equipment); break; -- Gitblit v1.9.3