From d5bb894f9be2e0a3b62d475b60b44f2ab138528c Mon Sep 17 00:00:00 2001 From: guoyujie <guoyujie@ng.com> Date: 星期四, 12 六月 2025 16:48:35 +0800 Subject: [PATCH] Merge branch 'master' of http://10.153.19.25:10101/r/ERP_override --- north-glass-erp/src/main/java/com/example/erp/service/pp/FlowCardService.java | 86 ++++++++++++++++++++++++++----------------- 1 files changed, 52 insertions(+), 34 deletions(-) diff --git a/north-glass-erp/src/main/java/com/example/erp/service/pp/FlowCardService.java b/north-glass-erp/src/main/java/com/example/erp/service/pp/FlowCardService.java index 6958c49..7872e80 100644 --- a/north-glass-erp/src/main/java/com/example/erp/service/pp/FlowCardService.java +++ b/north-glass-erp/src/main/java/com/example/erp/service/pp/FlowCardService.java @@ -232,6 +232,7 @@ public Object flowCardDetailSv(String processId, FlowCard flowCard) { Map<String, Object> map = new HashMap<>(); map.put("data", flowCardMapper.flowCardDetailMp(processId, flowCard)); + map.put("merge", flowCardMapper.flowCardDetailMergeMp(processId)); return map; } @@ -303,8 +304,11 @@ List<Map<String, Object>> list = new ArrayList<Map<String, Object>>();//鏈�缁堢粨鏋� List<FlowCard> flowCardList = JSONArray.parseArray(JSONObject.toJSONString(object.get("printList")), FlowCard.class); if (!flowCardList.isEmpty()) { - Set<String> processedProcessIds = new HashSet<>(); // 鐢ㄦ潵瀛樻斁宸插鐞嗚繃鐨� processId + Set<String> processedKeys = new HashSet<>(); for (FlowCard flowCard : flowCardList) { + String processId = flowCard.getProcessId(); + Integer orderNumber = flowCard.getOrderNumber(); + String uniqueKey = processId + "|" + orderNumber; // 鐢ㄧ壒娈婂瓧绗﹁繛鎺ラ槻姝㈠啿绐� Map<String, Object> itemmap = new HashMap<>(); //娴佺▼鍗¤〃澶磋〃灏炬暟鎹� //鏄惁浼犲叆鍚堝苟灞傛暟 @@ -312,7 +316,9 @@ //鏄惁鍖呭惈鍒囧壊 //boolean containsCutting = flowCard.getProcess().contains("鍒囧壊"); String processSub = flowCard.getProcess().substring(0, 2); - if (processSub.equals("澶硅兌") || processSub.equals("涓┖")) {//宸ヨ壓鏄惁鍖呭惈澶硅兌涓┖ + //鑾峰彇宸ュ簭瀵瑰簲鐨勫埆绉� + String processName = flowCardMapper.getProcessName(processSub); + if (processName.equals("stepC") || processName.equals("stepD")) {//宸ヨ壓鏄惁鍖呭惈澶硅兌涓┖ itemmap.put("detail", flowCardMapper.getPrimaryListLimt(flowCard.getProcessId(), String.valueOf(flowCard.getTechnologyNumber()), flowCard.getGlassChild(), flowCard.getProcess(), flowCard.getOrderId())); List<Map<String, Object>> detailList = flowCardMapper.getDetailList(flowCard.getProcessId(), flowCard.getTechnologyNumber(), flowCard.getProcess()); @@ -320,11 +326,11 @@ } else { if (merge.equals("1") && flowCard.getMerge().equals(1)) { // 妫�鏌ユ槸鍚﹀凡缁忓鐞嗚繃璇� processId锛屽鏋滃鐞嗚繃鍒欒烦杩� - if (processedProcessIds.contains(flowCard.getProcessId())) { + if (processedKeys.contains(uniqueKey)) { continue; } // 灏嗚 processId 鍔犲叆宸插鐞嗛泦鍚� - processedProcessIds.add(flowCard.getProcessId()); + processedKeys.add(uniqueKey); itemmap.put("detail", flowCardMapper.getPrimaryList(flowCard.getProcessId(), String.valueOf(flowCard.getTechnologyNumber()), flowCard.getGlassChild(), flowCard.getProcess(), flowCard.getOrderId())); List<Map<String, Object>> detailList = flowCardMapper.getDetailListMerge(flowCard.getProcessId(), flowCard.getProcess()); @@ -397,15 +403,20 @@ } List<FlowCard> flowCardList = flowCardMapper.getFlowCardListPrintProject(printProject); if (!flowCardList.isEmpty()) { - Set<String> processedProcessIds = new HashSet<>(); // 鐢ㄦ潵瀛樻斁宸插鐞嗚繃鐨� processId + Set<String> processedKeys = new HashSet<>(); + for (FlowCard flowCard : flowCardList) { Map<String, Object> itemmap = new HashMap<>(); - + String processId = flowCard.getProcessId(); + Integer orderNumber = flowCard.getOrderNumber(); + String uniqueKey = processId + "|" + orderNumber; // 鐢ㄧ壒娈婂瓧绗﹁繛鎺ラ槻姝㈠啿绐� //鏄惁鍖呭惈鍒囧壊 //boolean containsCutting = flowCard.getProcess().contains("鍒囧壊"); String processSub = flowCard.getProcess().substring(0, 2); - if (processSub.equals("澶硅兌") || processSub.equals("涓┖")) { + //鑾峰彇宸ュ簭瀵瑰簲鐨勫埆绉� + String processName = flowCardMapper.getProcessName(processSub); + if (processName.equals("stepC") || processName.equals("stepD")) {//宸ヨ壓鏄惁鍖呭惈澶硅兌涓┖ itemmap.put("detail", flowCardMapper.getPrimaryListLimt(flowCard.getProcessId(), String.valueOf(flowCard.getTechnologyNumber()), flowCard.getGlassChild(), flowCard.getProcess(), flowCard.getOrderId())); if (flowCard.getPatchState().equals(0)) { List<Map<String, Object>> detailList = flowCardMapper.getDetailList(flowCard.getProcessId(), flowCard.getTechnologyNumber(), flowCard.getProcess()); @@ -420,11 +431,11 @@ if (flowCard.getPatchState().equals(0)) { if (merge.equals("1") && flowCard.getMerge().equals(1)) { // 妫�鏌ユ槸鍚﹀凡缁忓鐞嗚繃璇� processId锛屽鏋滃鐞嗚繃鍒欒烦杩� - if (processedProcessIds.contains(flowCard.getProcessId())) { + if (processedKeys.contains(uniqueKey)) { continue; } // 灏嗚 processId 鍔犲叆宸插鐞嗛泦鍚� - processedProcessIds.add(flowCard.getProcessId()); + processedKeys.add(uniqueKey); itemmap.put("detail", flowCardMapper.getPrimaryList(flowCard.getProcessId(), String.valueOf(flowCard.getTechnologyNumber()), flowCard.getGlassChild(), flowCard.getProcess(), flowCard.getOrderId())); List<Map<String, Object>> detailList = flowCardMapper.getDetailListMerge(flowCard.getProcessId(), flowCard.getProcess()); @@ -584,14 +595,15 @@ List<Map<String, Object>> list = new ArrayList<Map<String, Object>>();//鏈�缁堢粨鏋� List<FlowCard> flowCardList = JSONArray.parseArray(JSONObject.toJSONString(object.get("printList")), FlowCard.class); if (!flowCardList.isEmpty()) { - Set<String> processedProcessIds = new HashSet<>(); // 鐢ㄦ潵瀛樻斁宸插鐞嗚繃鐨� processId + Set<String> processedKeys = new HashSet<>(); if (lableType != 2) {//鎴愬搧鏍囩 for (FlowCard flowCard : flowCardList) { String processId = flowCard.getProcessId(); - + Integer orderNumber = flowCard.getOrderNumber(); + String uniqueKey = processId + "|" + orderNumber; // 鐢ㄧ壒娈婂瓧绗﹁繛鎺ラ槻姝㈠啿绐� // 妫�鏌ユ槸鍚﹀凡缁忓鐞嗚繃璇� processId锛屽鏋滃鐞嗚繃鍒欒烦杩� - if (processedProcessIds.contains(processId)) { + if (processedKeys.contains(uniqueKey)) { continue; } Map<String, Object> itemmap = new HashMap<>(); @@ -599,7 +611,7 @@ list.add(itemmap); // 灏嗚 processId 鍔犲叆宸插鐞嗛泦鍚� - processedProcessIds.add(processId); + processedKeys.add(uniqueKey); } } else {//灏忕墖鏍囩 for (FlowCard flowCard : flowCardList) { @@ -619,14 +631,15 @@ List<Map<String, Object>> list = new ArrayList<Map<String, Object>>();//鏈�缁堢粨鏋� List<FlowCard> flowCardList = JSONArray.parseArray(JSONObject.toJSONString(object.get("printList")), FlowCard.class); if (!flowCardList.isEmpty()) { - Set<String> processedProcessIds = new HashSet<>(); // 鐢ㄦ潵瀛樻斁宸插鐞嗚繃鐨� processId - + Set<String> processedKeys = new HashSet<>(); if (lableType != 2) {//鎴愬搧鏍囩 for (FlowCard flowCard : flowCardList) { String processId = flowCard.getProcessId(); + Integer orderNumber = flowCard.getOrderNumber(); + String uniqueKey = processId + "|" + orderNumber; // 鐢ㄧ壒娈婂瓧绗﹁繛鎺ラ槻姝㈠啿绐� // 妫�鏌ユ槸鍚﹀凡缁忓鐞嗚繃璇� processId锛屽鏋滃鐞嗚繃鍒欒烦杩� - if (processedProcessIds.contains(processId)) { + if (processedKeys.contains(uniqueKey)) { continue; } Map<String, Object> itemmap = new HashMap<>(); @@ -634,7 +647,7 @@ list.add(itemmap); // 灏嗚 processId 鍔犲叆宸插鐞嗛泦鍚� - processedProcessIds.add(processId); + processedKeys.add(uniqueKey); } } else {//灏忕墖鏍囩 for (FlowCard flowCard : flowCardList) { @@ -722,8 +735,10 @@ //宸ヨ壓娴佺▼ List<Map<String, Object>> processList = flowCardMapper.getProcessList(flowCard.getProcessId(), flowCard.getTechnologyNumber()); - + //宸ュ簭鍒楄〃 + List<Map<String, Object>> processNameList = flowCardMapper.getProcessNameList(); itemmap.put("processList", processList); + itemmap.put("processNameList", processNameList); // itemmap.put("numberList", numberList); list.add(itemmap); @@ -813,16 +828,17 @@ List<Map<String, Object>> list = new ArrayList<Map<String, Object>>();//鏈�缁堢粨鏋� List<FlowCard> flowCardList = JSONArray.parseArray(JSONObject.toJSONString(object.get("printList")), FlowCard.class); if (!flowCardList.isEmpty()) { - Set<String> processedProcessIds = new HashSet<>(); // 鐢ㄦ潵瀛樻斁宸插鐞嗚繃鐨� processId + Set<String> processedKeys = new HashSet<>(); if (lableType != 2) {//鎴愬搧鏍囩 for (FlowCard flowCard : flowCardList) { String orderId = flowCard.getOrderId(); String processId = flowCard.getProcessId(); String orderNumber = flowCard.getOrderNumber().toString(); + String uniqueKey = processId + "|" + orderNumber; // 鐢ㄧ壒娈婂瓧绗﹁繛鎺ラ槻姝㈠啿绐� if (processId!=null){ // 妫�鏌ユ槸鍚﹀凡缁忓鐞嗚繃璇� processId锛屽鏋滃鐞嗚繃鍒欒烦杩� - if (processedProcessIds.contains(processId) && processedProcessIds.contains(orderNumber)) { + if (processedKeys.contains(uniqueKey)) { continue; } Map<String, Object> itemmap = new HashMap<>(); @@ -830,8 +846,7 @@ list.add(itemmap); // 灏嗚 processId 鍔犲叆宸插鐞嗛泦鍚� - processedProcessIds.add(processId); - processedProcessIds.add(orderNumber); + processedKeys.add(uniqueKey); } else{ Map<String, Object> itemmap = new HashMap<>(); @@ -879,23 +894,27 @@ } - public String mergeFlowCard(Map<String, Object> object) { + public String mergeFlowCard(Map<String, Object> object, Integer merge) { String returns = "false"; List<FlowCard> flowCardList = JSONArray.parseArray(JSONObject.toJSONString(object.get("flowCard")), FlowCard.class); if (!flowCardList.isEmpty()) { List<Map<String, Object>> flowCardList1 = flowCardMapper.selectFlowCardMerge(flowCardList.get(0).getProcessId()); - int index = 1; - for (int i = 0; i < flowCardList1.size(); i++) { - if (Integer.valueOf(flowCardList1.get(i).get("count2").toString()) > 1) { - List<Integer> technologyNumber = Arrays.stream(flowCardList1.get(i).get("count1").toString().split(",")) - .map(Integer::parseInt) - .collect(Collectors.toList()); - flowCardMapper.updateFlowCardMerge(flowCardList.get(0).getProcessId(), technologyNumber, index); - index += 1; - returns = "true"; + if (merge == 0){ + int index = 1; + for (int i = 0; i < flowCardList1.size(); i++) { + if (Integer.valueOf(flowCardList1.get(i).get("count2").toString()) > 1) { + List<Integer> technologyNumber = Arrays.stream(flowCardList1.get(i).get("count1").toString().split(",")) + .map(Integer::parseInt) + .collect(Collectors.toList()); + flowCardMapper.updateFlowCardMerge(flowCardList.get(0).getProcessId(), technologyNumber, index); + index += 1; + returns = "true"; + } } + }else {//鍙栨秷鍚堝苟 + flowCardMapper.updateFlowCardIsMerge(flowCardList.get(0).getProcessId()); + returns = "true"; } - } @@ -997,7 +1016,6 @@ List<Map<String, Object>> list = new ArrayList<Map<String, Object>>();//鏈�缁堢粨鏋� List<FlowCard> flowCardList = JSONArray.parseArray(JSONObject.toJSONString(object.get("printList")), FlowCard.class); if (!flowCardList.isEmpty()) { - Set<String> processedProcessIds = new HashSet<>(); // 鐢ㄦ潵瀛樻斁宸插鐞嗚繃鐨� processId for (FlowCard flowCard : flowCardList) { Map<String, Object> itemmap = new HashMap<>(); //鏄惁鏄伐绋嬫槑缁嗘墦鍗� -- Gitblit v1.8.0