diff --git a/src/main/java/com/zhgd/xmgl/modules/baotou/security/service/impl/XzSecurityQualityInspectionRecordServiceImpl.java b/src/main/java/com/zhgd/xmgl/modules/baotou/security/service/impl/XzSecurityQualityInspectionRecordServiceImpl.java index 24cd095b8..d0da9ba76 100644 --- a/src/main/java/com/zhgd/xmgl/modules/baotou/security/service/impl/XzSecurityQualityInspectionRecordServiceImpl.java +++ b/src/main/java/com/zhgd/xmgl/modules/baotou/security/service/impl/XzSecurityQualityInspectionRecordServiceImpl.java @@ -972,12 +972,17 @@ public class XzSecurityQualityInspectionRecordServiceImpl extends ServiceImpl formData = processService.getInstanceProgress(null, instanceId).getFormData(); formData.putAll(map); - ProcessProgressVo.ProgressNode node = flowSeviceUtil.getNextTodoApproval(instanceId, FlowUtil.getString(map, "dfNodeId")); - WorkerInfo info = null; - if (node != null) { - OrgUser user = node.getUser(); - SystemUser user1 = systemUserService.getById(user.getId()); - info = workerInfoService.getById(user1.getWorkerId()); + XzSecurityQualityInspectionRecord record = new XzSecurityQualityInspectionRecord(); + if (Objects.equals(MapUtils.getInteger(map, "status"), 2)) { + ProcessProgressVo.ProgressNode node = flowSeviceUtil.getNextTodoApproval(instanceId, FlowUtil.getString(map, "dfNodeId")); + record.setNodeId(node != null ? node.getNodeId() : null); + WorkerInfo info = null; + if (node != null) { + OrgUser user = node.getUser(); + SystemUser user1 = systemUserService.getById(user.getId()); + info = workerInfoService.getById(user1.getWorkerId()); + } + record.setEnterpriseId(Optional.ofNullable(info).map(WorkerInfo::getEnterpriseId).orElse(null)); } Long creatorId = FlowUtil.getPullDownLong(formData, "creatorId"); Long changeId = FlowUtil.getPullDownLong(formData, "changeId"); @@ -1013,13 +1018,11 @@ public class XzSecurityQualityInspectionRecordServiceImpl extends ServiceImpl classifys = StrUtil.split(FlowUtil.getString(formData, "field9069961325117"), "-"); Long itemId = Long.valueOf(classifys.get(2)); - XzSecurityQualityInspectionRecord record = new XzSecurityQualityInspectionRecord(); record.setInstanceId(instanceId); record.setRegionName(regionName); record.setRemark(remark); record.setDangerDesc(dangerDesc); record.setDangerItemId(itemId); - record.setEnterpriseId(Optional.ofNullable(info).map(WorkerInfo::getEnterpriseId).orElse(null)); XzSecurityDangerItemRecord dangerItemRecord = dangerItemRecordMapper.selectById(itemId); XzSecurityDangerTypeRecord t2 = dangerTypeRecordMapper.selectById(classifys.get(1)); XzSecurityDangerTypeRecord t1 = dangerTypeRecordMapper.selectById(classifys.get(0)); @@ -1055,7 +1058,6 @@ public class XzSecurityQualityInspectionRecordServiceImpl extends ServiceImpl formData = processService.getInstanceProgress(null, instanceId).getFormData(); ProcessProgressVo.ProgressNode node = flowSeviceUtil.getNextTodoApproval(instanceId,FlowUtil.getString(map, "dfNodeId")); OrgUser user = node.getUser(); + SystemUser user1 = systemUserService.getById(user.getId()); + WorkerInfo info = workerInfoService.getById(user1.getWorkerId()); + QualityProblem record = new QualityProblem(); + record.setEnterpriseId(Optional.ofNullable(info).map(WorkerInfo::getEnterpriseId).orElse(null)); String projectSn = processInstance.getTenantId(); Long deviceId = FlowUtil.getPullDownLong(formData, "field4601922872642"); Long projectGroupId = FlowUtil.getPullDownLong(formData, "field2588022909627"); @@ -217,8 +223,6 @@ public class QualityProblemServiceImpl extends ServiceImpl users = processTaskService.getApprovalUsers(instance.getId(), nextValue.getId(), props, modelHistory.getTenantId()); Map userMaps = userDeptOrLeaderService.getUserMapByIds(users); @@ -190,17 +190,26 @@ public class FlowSeviceUtil { } /** - * 获取下一个节点 + * 获取下一个审批节点 * * @param map * @param key * @return */ - public ProcessNode getNextValue(Map> map, String key) { - List>> entries = new ArrayList<>(map.entrySet()); - for (int i = 0; i < entries.size(); i++) { - if (entries.get(i).getKey().equals(key) && i < entries.size() - 1) { - return entries.get(i + 1).getValue(); + public ProcessNode getNextApprovalValue(Map> map, String key) { + Iterator> iterator = map.values().iterator(); + // 先找到目标key的位置 + while (iterator.hasNext()) { + if (iterator.next() == map.get(key)) { + break; + } + } + + // 继续查找下一个审批节点 + while (iterator.hasNext()) { + ProcessNode node = iterator.next(); + if (node.getType() == NodeTypeEnum.APPROVAL) { + return node; } } return null; diff --git a/src/main/resources/logback-spring.xml b/src/main/resources/logback-spring.xml index f5b3e331a..a4f468552 100644 --- a/src/main/resources/logback-spring.xml +++ b/src/main/resources/logback-spring.xml @@ -1,7 +1,6 @@ - - +