From 548de3053898bc6571c90d014a40050c39a7d195 Mon Sep 17 00:00:00 2001 From: lyh <925863403@qq.com> Date: 星期六, 02 八月 2025 15:33:07 +0800 Subject: [PATCH] 二保添加流转节点 --- lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamSecondMaintenanceOrderServiceImpl.java | 147 ++++++++++++++++++++++++++++++++++++++++--------- 1 files changed, 120 insertions(+), 27 deletions(-) diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamSecondMaintenanceOrderServiceImpl.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamSecondMaintenanceOrderServiceImpl.java index 75ab1fa..97aaf33 100644 --- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamSecondMaintenanceOrderServiceImpl.java +++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamSecondMaintenanceOrderServiceImpl.java @@ -80,8 +80,6 @@ @Autowired private IEamEquipmentService eamEquipmentService; @Autowired - private IEamReportRepairService eamReportRepairService; - @Autowired private IEamEquipmentExtendService eamEquipmentExtendService; @Autowired private IEamBaseHFCodeService hfCodeService; @@ -114,6 +112,9 @@ } //鏌ヨ鏉′欢杩囨护 if (query != null) { + if (StringUtils.isNotBlank(query.getId())){ + queryWrapper.eq("wmo.id", query.getId()); + } if (StringUtils.isNotBlank(query.getEquipmentId())) { queryWrapper.eq("wmo.equipment_id", query.getEquipmentId()); } @@ -180,6 +181,7 @@ eamMaintenanceStandardDetailList.forEach(item -> { EamSecondMaintenanceOrderDetail detail = new EamSecondMaintenanceOrderDetail(); BeanUtils.copyProperties(item, detail); + detail.setId(null); detail.setOrderId(order.getId()); requestTableDetailList.add(detail); }); @@ -259,13 +261,16 @@ throw new JeecgBootException("涓嶆槸鎿嶄綔宸ワ紝鏃犳硶棰嗗彇姝ゅ伐鍗曪紒"); } } + List<String> usernames = new ArrayList<>(); if (sysUser != null) { - entity.setOperator(sysUser.getUsername()); - } - if (BusinessCodeConst.PCR0001.equals(sysUser.getPost())) { - entity.setOperator(sysUser.getUsername()); - }else if (BusinessCodeConst.PCR0002.equals(sysUser.getPost())) { - entity.setRepairman(sysUser.getUsername()); + if (BusinessCodeConst.PCR0001.equals(sysUser.getPost())) { + entity.setOperator(sysUser.getUsername()); + usernames.add(entity.getOperator()); + } + if (BusinessCodeConst.PCR0002.equals(sysUser.getPost())) { + entity.setRepairman(sysUser.getUsername()); + usernames.add(entity.getRepairman()); + } } entity.setMaintenanceStatus(SecondMaintenanceStatusEnum.UNDER_MAINTENANCE.name()); entity.setActualStartTime(new Date()); @@ -283,8 +288,6 @@ variables.put("comment", entity.getRemark()); } variables.put("proofreading", true); - List<String> usernames = new ArrayList<>(); - usernames.add(entity.getOperator()); if (sysUser != null) { if (BusinessCodeConst.PCR0001.equals(sysUser.getPost())) { variables.put("operator_task", usernames); @@ -371,42 +374,107 @@ } if (BusinessCodeConst.PCR0001.equals(user.getPost())) { entity.setOperator(user.getUsername()); + values.put("organization", "浜屼繚鎿嶄綔宸ユ墽琛岀粨鏉�"); + values.put("comment", "浜屼繚鎿嶄綔宸ユ墽琛岀粨鏉�"); + request.setComment("浜屼繚鎿嶄綔宸ユ墽琛岀粨鏉�"); //澶勭悊瀵瑰簲璇︽儏 + if (CollectionUtils.isNotEmpty(request.getTableDetailList())){ + //鍒犻櫎鍘熸湁鏁版嵁 + List<EamSecondMaintenanceOrderDetail> addList = new ArrayList<>(); + //鍏堝垹闄ゅ師鏈� + LambdaQueryWrapper<EamSecondMaintenanceOrderDetail> queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(EamSecondMaintenanceOrderDetail::getOrderId, entity.getId()); + queryWrapper.eq(EamSecondMaintenanceOrderDetail::getItemCategory,EamMaintenanceStandardDetailCategory.OPERATOR_MAINTENANCE.name()); + secondMaintenanceOrderDetailService.remove(queryWrapper); + request.getTableDetailList().forEach(tableDetail -> { + EamSecondMaintenanceOrderDetail eamMaintenanceStandardDetail=new EamSecondMaintenanceOrderDetail(); + BeanUtils.copyProperties(tableDetail, eamMaintenanceStandardDetail); + eamMaintenanceStandardDetail.setOrderId(entity.getId()); + eamMaintenanceStandardDetail.setCreateBy(user.getUsername()); + addList.add(eamMaintenanceStandardDetail); + }); + secondMaintenanceOrderDetailService.saveBatch(addList); + } }else if (BusinessCodeConst.PCR0002.equals(user.getPost())) { entity.setRepairman(user.getUsername()); + values.put("organization", "浜屼繚缁翠慨宸ユ墽琛岀粨鏉�"); + values.put("comment", "浜屼繚缁翠慨宸ユ墽琛岀粨鏉�"); + request.setComment("浜屼繚缁翠慨宸ユ墽琛岀粨鏉�"); //澶勭悊瀵瑰簲璇︽儏 + if (CollectionUtils.isNotEmpty(request.getTableDetailList())){ + //鍒犻櫎鍘熸湁鏁版嵁 + List<EamSecondMaintenanceOrderDetail> addList = new ArrayList<>(); + //鍏堝垹闄ゅ師鏈� + LambdaQueryWrapper<EamSecondMaintenanceOrderDetail> queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(EamSecondMaintenanceOrderDetail::getOrderId, entity.getId()); + queryWrapper.eq(EamSecondMaintenanceOrderDetail::getItemCategory,EamMaintenanceStandardDetailCategory.REPAIRER_MAINTENANCE.name()); + secondMaintenanceOrderDetailService.remove(queryWrapper); + request.getTableDetailList().forEach(tableDetail -> { + EamSecondMaintenanceOrderDetail eamMaintenanceStandardDetail=new EamSecondMaintenanceOrderDetail(); + BeanUtils.copyProperties(tableDetail, eamMaintenanceStandardDetail); + eamMaintenanceStandardDetail.setOrderId(entity.getId()); + eamMaintenanceStandardDetail.setCreateBy(user.getUsername()); + addList.add(eamMaintenanceStandardDetail); + }); + secondMaintenanceOrderDetailService.saveBatch(addList); + } } values.put("dataId", entity.getId()); - values.put("organization", "涓変繚鎵ц缁撴潫"); - values.put("comment", "涓変繚鎵ц缁撴潫"); break; case WAIT_ADMIN_CONFIRM: //绠$悊鍛樼‘璁� - userSelectors = sysUserService.selectOperatorList(equipment.getEquipmentCode(), equipment.getFactoryOrgCode(), BusinessCodeConst.PCR0003); + userSelectors = sysUserService.selectOperatorList(equipment.getEquipmentCode(), equipment.getFactoryOrgCode(), BusinessCodeConst.PCR0006); if (CollectionUtil.isEmpty(userSelectors)) { throw new JeecgBootException("璁惧鏈瓨鍦ㄦ鏌ヤ汉锛屾棤娉曡繘鍏ヤ笅绾у鎵癸紒"); }else{ userApprovalList= userSelectors.stream().map(UserSelector::getUsername).collect(Collectors.toList()); - values.put("NextAssignee", userApprovalList); values.put("dataId", entity.getId()); - values.put("organization",request.getComment()); - values.put("comment", request.getComment()); - entity.setMaintenanceStatus(SecondMaintenanceStatusEnum.WAIT_INSPECTOR_CONFIRM.name()); - entity.setManageUser(user.getUsername()); - entity.setProblemDescription(request.getProblemDescription()); - entity.setDealDescription(request.getComment()); - entity.setConfirmTime(new Date()); + if (StrUtil.isEmpty(request.getManageUserResult())){ + request.setManageUserResult(""); + } + values.put("organization",request.getDealDescription()); + values.put("comment", request.getManageUserResult()); + values.put("manageUserResult",request.getManageUserResult()); + request.setComment(request.getDealDescription()); + if (request.getManageUserResult().equals("2")){ + entity.setMaintenanceStatus(SecondMaintenanceStatusEnum.UNDER_MAINTENANCE.name()); + }else { + values.put("NextAssignee", userApprovalList); + entity.setMaintenanceStatus(SecondMaintenanceStatusEnum.WAIT_INSPECTOR_CONFIRM.name()); + entity.setConfirmTime(new Date()); + entity.setManageUser(user.getUsername()); + entity.setProblemDescription(request.getProblemDescription()); + entity.setManageUserResult(request.getManageUserResult()); + entity.setDealDescription(request.getDealDescription()); + } } break; case WAIT_INSPECTOR_CONFIRM: //妫�鏌ヤ汉纭 + if (StrUtil.isEmpty(request.getInspectConfirmComment())){ + request.setInspectConfirmComment(""); + } values.put("dataId", entity.getId()); - values.put("organization",request.getComment()); - values.put("comment", request.getComment()); - entity.setMaintenanceStatus(SecondMaintenanceStatusEnum.COMPLETE.name()); - entity.setInspector(user.getUsername()); - entity.setInspectConfirmComment(request.getInspectConfirmComment()); - entity.setInspectConfirmTime(new Date()); + values.put("organization",request.getInspectConfirmComment()); + values.put("comment", request.getInspectConfirmComment()); + values.put("inspectorResult",request.getInspectorResult()); + request.setComment(request.getInspectConfirmComment()); + if (request.getInspectorResult().equals("2")){ + entity.setMaintenanceStatus(SecondMaintenanceStatusEnum.WAIT_ADMIN_CONFIRM.name()); + userSelectors = sysUserService.selectOperatorList(equipment.getEquipmentCode(), equipment.getFactoryOrgCode(), BusinessCodeConst.PCR0004); + if (CollectionUtil.isEmpty(userSelectors)) { + throw new JeecgBootException("璁惧鏈瓨鍦ㄧ鐞嗗憳锛屾棤娉曡繘鍏ヤ笅绾у鎵癸紒"); + }else{ + userApprovalList = userSelectors.stream().map(UserSelector::getUsername).collect(Collectors.toList()); + values.put("NextAssignee", userApprovalList); + } + }else { + entity.setMaintenanceStatus(SecondMaintenanceStatusEnum.COMPLETE.name()); + entity.setInspector(user.getUsername()); + entity.setInspectorResult(request.getInspectorResult()); + entity.setInspectConfirmComment(request.getInspectConfirmComment()); + entity.setInspectConfirmTime(new Date()); + } break; default: throw new JeecgBootException("瀹℃壒澶辫触"); @@ -417,6 +485,31 @@ if (!result.isSuccess()) { throw new JeecgBootException("瀹℃壒澶辫触锛岃鍒锋柊鏌ョ湅锛�"); } + if (user.getPost().equals(BusinessCodeConst.PCR0004)&&request.getManageUserResult().equals("2")){ + //绠$悊鍛樻嫆缁濓紝浼氱鑺傜偣淇敼瀵瑰簲鍏崇郴 + List<FlowMyBusiness> list = flowMyBusinessService.list(new LambdaQueryWrapper<FlowMyBusiness>().eq(FlowMyBusiness::getProcessInstanceId, request.getInstanceId())); + if (CollectionUtils.isNotEmpty(list)) { + list.forEach(item -> { + if (item.getTaskNameId().equals("maintenance_task")) { + //鑾峰彇缁翠慨宸ュ矖浣嶇敤鎴� + List<UserSelector> userSelectorList = sysUserService.selectOperatorList(equipment.getEquipmentCode(), equipment.getFactoryOrgCode(), BusinessCodeConst.PCR0002); + if (!CollectionUtils.isEmpty(userSelectorList)) { + List<String> usernameList = userSelectorList.stream().map(UserSelector::getUsername).collect(Collectors.toList()); + item.setTodoUsers(JSON.toJSONString(usernameList)); + } + } + if (item.getTaskNameId().equals("operator_task")) { + //鑾峰彇鎿嶄綔浜哄矖浣嶇敤鎴� + List<UserSelector> userSelectorList = sysUserService.selectOperatorList(equipment.getEquipmentCode(), equipment.getFactoryOrgCode(), BusinessCodeConst.PCR0001); + if (!CollectionUtils.isEmpty(userSelectorList)) { + List<String> usernameList = userSelectorList.stream().map(UserSelector::getUsername).collect(Collectors.toList()); + item.setTodoUsers(JSON.toJSONString(usernameList)); + } + } + }); + flowMyBusinessService.updateBatchById(list); + } + } //淇濆瓨宸ュ崟 eamSecondMaintenanceOrderMapper.updateById(entity); return entity; -- Gitblit v1.9.3