From 82a5de6d2ec80b45660149c84be28734032562f6 Mon Sep 17 00:00:00 2001
From: chenlu <1320612696@qq.com>
Date: 星期五, 11 十月 2024 15:21:53 +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 |   87 +++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 82 insertions(+), 5 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 bbb6624..740eb49 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
@@ -27,6 +27,7 @@
 
 import java.sql.Date;
 import java.util.*;
+import java.util.stream.Collectors;
 
 import static com.example.erp.service.sd.OrderService.getOrderProcessDetails;
 
@@ -407,6 +408,27 @@
         return map;
     }
 
+    public Map<String, Object> getSelectPrintLabelDetails(Map<String, Object> object) {
+        Map<String, Object> map = new HashMap<>();
+
+        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()) {
+            for (FlowCard flowCard : flowCardList) {
+                // Integer count=flowCardMapper.getPrintLabelCount(flowCard.getProcessId(), flowCard.getTechnologyNumber());
+                Map<String, Object> itemmap = new HashMap<>();
+                // for (int i = 0; i < count; i++) {
+                itemmap.put("data", flowCardMapper.getPrintLabelDetail(flowCard));
+                list.add(itemmap);
+                //}
+
+            }
+        }
+        map.put("data", list);
+
+        return map;
+    }
+
     public Map<String, Object> printFlowCardDetailsSv(String processId, String technologyNumber, String process, FlowCard flowCard) {
         Map<String, Object> map = new HashMap<>();
         map.put("data", flowCardMapper.printFlowCardDetailsMp(processId, technologyNumber,process, flowCard));
@@ -607,14 +629,19 @@
         return map;
     }
 
-    public Object selectPrintDetailsSv(Map<String, Object> object, String inquiryMode) {
+    public Object selectPrintDetailsSv(Map<String, Object> object, String inquiryMode,Integer type) {
         Map<String, Object> map = new HashMap<>();
         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()) {
             for (FlowCard flowCard : flowCardList) {
                 Map<String, Object> itemmap = new HashMap<>();
-                    itemmap.put("detail", flowCardMapper.selectPrintDetailsMp(flowCard.getOrderId()));
+                    if(type==1){
+                        itemmap.put("detail", flowCardMapper.selectPrintDetailsMp(flowCard.getOrderId()));
+                    }else if(type==2){
+                        itemmap.put("detail", flowCardMapper.selectPrintDetailsMp1(flowCard.getOrderId()));
+                    }
+
                 list.add(itemmap);
             }
         }
@@ -628,12 +655,24 @@
         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
 
             if (lableType != 2){
                 for (FlowCard flowCard : flowCardList) {
+                    String processId = flowCard.getProcessId();
+                    String orderNumber = flowCard.getOrderNumber().toString();
+
+                    // 妫�鏌ユ槸鍚﹀凡缁忓鐞嗚繃璇� processId锛屽鏋滃鐞嗚繃鍒欒烦杩�
+                    if (processedProcessIds.contains(processId)&&processedProcessIds.contains(orderNumber)) {
+                        continue;
+                    }
                     Map<String, Object> itemmap = new HashMap<>();
                     itemmap.put("data", flowCardMapper.getPrintCustomDataDetails(flowCard.getProcessId(),flowCard.getOrderNumber()));
                     list.add(itemmap);
+
+                    // 灏嗚 processId 鍔犲叆宸插鐞嗛泦鍚�
+                    processedProcessIds.add(processId);
+                    processedProcessIds.add(orderNumber);
                 }
             }
             else{
@@ -645,6 +684,13 @@
             }
         }
         map.put("data", list);
+        map.put("title", flowCardMapper.getPrintTitle(type));
+        return map;
+    }
+
+    public Map<String, Object> getPrintCustomDataProjectNo(String type, String projectNo) {
+        Map<String, Object> map = new HashMap<>();
+        map.put("data", flowCardMapper.getPrintCustomDataProjectNo(projectNo));
         map.put("title", flowCardMapper.getPrintTitle(type));
         return map;
     }
@@ -673,10 +719,18 @@
         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());
-            if(flowCardList1.size()==1){
-                flowCardMapper.updateFlowCardMerge(flowCardList.get(0).getProcessId());
-                returns="true";
+            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";
+                }
             }
+
 
         }
 
@@ -762,6 +816,29 @@
 
 
     }
+
+    public Map<String, Object> getPrintProjectDetails(String projectNo) {
+        Map<String, Object> map = new HashMap<>();
+        map.put("data", flowCardMapper.getPrintProjectDetailsMp(projectNo));
+        return map;
+    }
+
+    public Map<String, Object> getPrintCustomDataProjectNoDetailSv(String type, Map<String, Object> object) {
+        Map<String, Object> map = new HashMap<>();
+        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<>();
+                    itemmap.put("data", flowCardMapper.getPrintCustomDataProjectDetail(flowCard.getProjectNo(),flowCard.getStockId()));
+                    list.add(itemmap);
+                }
+        }
+        map.put("data", list);
+        map.put("title", flowCardMapper.getPrintTitle(type));
+        return map;
+    }
 }
 
 

--
Gitblit v1.8.0