|
|
|
@ -338,7 +338,7 @@ public class ProductionPlanServiceImpl implements ProductionPlanService { |
|
|
|
for (ProductionPlanOrderRowData row : rows) { |
|
|
|
List<ProductionPlanOrderNodeData> rowNodeList = nodeMap.getOrDefault(row.getOrderNo(), Collections.emptyList()); |
|
|
|
row.setNodeList(rowNodeList); |
|
|
|
fillNodeProgress(row); |
|
|
|
fillNodeProgress(row, rowNodeList); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
@ -347,22 +347,29 @@ public class ProductionPlanServiceImpl implements ProductionPlanService { |
|
|
|
return; |
|
|
|
} |
|
|
|
List<String> orderNoList = rows.stream().map(ProductionPlanOrderRowData::getOrderNo).collect(Collectors.toList()); |
|
|
|
List<ProductionPlanOrderNodeData> nodeList = productionPlanMapper.queryWorkReportNodeList(orderNoList, userId); |
|
|
|
Map<String, List<ProductionPlanOrderNodeData>> nodeMap = new LinkedHashMap<>(); |
|
|
|
if (nodeList != null && !nodeList.isEmpty()) { |
|
|
|
nodeMap = nodeList.stream().collect(Collectors.groupingBy(ProductionPlanOrderNodeData::getOrderNo, LinkedHashMap::new, Collectors.toList())); |
|
|
|
List<ProductionPlanOrderNodeData> visibleNodeList = productionPlanMapper.queryWorkReportNodeList(orderNoList, userId); |
|
|
|
List<ProductionPlanOrderNodeData> fullNodeList = productionPlanMapper.queryOrderNodeList(orderNoList); |
|
|
|
Map<String, List<ProductionPlanOrderNodeData>> visibleNodeMap = new LinkedHashMap<>(); |
|
|
|
if (visibleNodeList != null && !visibleNodeList.isEmpty()) { |
|
|
|
visibleNodeMap = visibleNodeList.stream().collect(Collectors.groupingBy(ProductionPlanOrderNodeData::getOrderNo, LinkedHashMap::new, Collectors.toList())); |
|
|
|
} |
|
|
|
Map<String, List<ProductionPlanOrderNodeData>> fullNodeMap = new LinkedHashMap<>(); |
|
|
|
if (fullNodeList != null && !fullNodeList.isEmpty()) { |
|
|
|
fullNodeMap = fullNodeList.stream().collect(Collectors.groupingBy(ProductionPlanOrderNodeData::getOrderNo, LinkedHashMap::new, Collectors.toList())); |
|
|
|
} |
|
|
|
for (ProductionPlanOrderRowData row : rows) { |
|
|
|
List<ProductionPlanOrderNodeData> rowNodeList = nodeMap.getOrDefault(row.getOrderNo(), Collections.emptyList()); |
|
|
|
row.setNodeList(rowNodeList); |
|
|
|
fillNodeProgress(row); |
|
|
|
List<ProductionPlanOrderNodeData> rowVisibleNodeList = visibleNodeMap.getOrDefault(row.getOrderNo(), Collections.emptyList()); |
|
|
|
List<ProductionPlanOrderNodeData> rowFullNodeList = fullNodeMap.getOrDefault(row.getOrderNo(), rowVisibleNodeList); |
|
|
|
row.setNodeList(rowVisibleNodeList); |
|
|
|
fillNodeProgress(row, rowFullNodeList); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
private void fillNodeProgress(ProductionPlanOrderRowData row) { |
|
|
|
List<ProductionPlanOrderNodeData> nodeList = row.getNodeList() == null ? Collections.emptyList() : row.getNodeList(); |
|
|
|
private void fillNodeProgress(ProductionPlanOrderRowData row, List<ProductionPlanOrderNodeData> progressNodeList) { |
|
|
|
List<ProductionPlanOrderNodeData> nodeList = progressNodeList == null ? Collections.emptyList() : progressNodeList; |
|
|
|
int doneCount = 0; |
|
|
|
String currentNode = "全部完成"; |
|
|
|
String currentNodeCode = ""; |
|
|
|
for (ProductionPlanOrderNodeData node : nodeList) { |
|
|
|
if (STATUS_DONE.equals(node.getStatus())) { |
|
|
|
doneCount++; |
|
|
|
@ -370,11 +377,13 @@ public class ProductionPlanServiceImpl implements ProductionPlanService { |
|
|
|
} |
|
|
|
if ("全部完成".equals(currentNode)) { |
|
|
|
currentNode = node.getNodeName(); |
|
|
|
currentNodeCode = node.getNodeCode(); |
|
|
|
} |
|
|
|
} |
|
|
|
row.setNodeDoneCount(doneCount); |
|
|
|
row.setNodeTotalCount(nodeList.size()); |
|
|
|
row.setCurrentNode(nodeList.isEmpty() ? "-" : currentNode); |
|
|
|
row.setCurrentNodeCode(nodeList.isEmpty() ? "" : currentNodeCode); |
|
|
|
} |
|
|
|
|
|
|
|
private void saveOrder(ProductionPlanOrderSaveData data, String orderType) { |
|
|
|
|