From f4d7e303bf5290bf0709066acf6082c96703581c Mon Sep 17 00:00:00 2001
From: chenlu <1320612696@qq.com>
Date: 星期四, 01 八月 2024 12:09:36 +0800
Subject: [PATCH] 流程卡打印查询修改

---
 north-glass-erp/src/main/java/com/example/erp/service/pp/FlowCardService.java |  281 +++++++++++++++++++++++++++++++++++++++++++++++++------
 1 files changed, 249 insertions(+), 32 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 a5afc74..029605e 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
@@ -6,27 +6,22 @@
 import com.baomidou.dynamic.datasource.annotation.DS;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.example.erp.entity.pp.FlowCard;
-import com.example.erp.entity.pp.ProductionScheduling;
 import com.example.erp.entity.sd.OrderGlassDetail;
 import com.example.erp.entity.sd.OrderProcessDetail;
 import com.example.erp.mapper.pp.FlowCardMapper;
 import com.example.erp.mapper.sd.OrderGlassDetailMapper;
 import com.example.erp.mapper.sd.OrderProcessDetailMapper;
-import com.fasterxml.jackson.databind.JsonNode;
 import com.fasterxml.jackson.databind.ObjectMapper;
-import jdk.nashorn.internal.parser.JSONParser;
 import org.springframework.stereotype.Service;
 
 import java.util.List;
 import java.util.Map;
-import com.fasterxml.jackson.databind.ObjectMapper;
+
 import com.fasterxml.jackson.core.type.TypeReference;
 import java.io.IOException;
 
 
-import java.io.StringReader;
 import java.sql.Date;
-import java.time.LocalDate;
 import java.util.*;
 
 import static com.example.erp.service.sd.OrderService.getOrderProcessDetails;
@@ -106,6 +101,7 @@
     public Map<String, Object> selectNoCardSv(String orderId, String productionId, FlowCard flowCard) {
         Map<String, Object> map = new HashMap<>();
         map.put("data", flowCardMapper.selectNoCardMp(orderId, productionId, flowCard));
+        map.put("orderOtherMoney", flowCardMapper.selectorderOtherMoney());
         return map;
     }
 
@@ -222,9 +218,24 @@
         return map;
     }
 
-    public Object selectPrintSv(String orderId, FlowCard flowCard) {
+    public Object selectPrintSv(Map<String, Object> object, String inquiryMode) {
         Map<String, Object> map = new HashMap<>();
-        map.put("data", flowCardMapper.selectPrintMp(orderId, flowCard));
+        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<>();
+                if ("1".equals(inquiryMode)){
+                    itemmap.put("detail", flowCardMapper.selectPrintMp(flowCard.getOrderId()));
+                }
+                else {
+                    itemmap.put("detail", flowCardMapper.selectPrintNotMp(flowCard.getOrderId()));
+                }
+
+                list.add(itemmap);
+            }
+        }
+        map.put("data", list);
         map.put("type", flowCardMapper.selectType());
         return map;
     }
@@ -238,7 +249,13 @@
             return null;
         }
     }
-    public Map<String, Object> getSelectPrintingSv(Map<String, Object> object) {
+    public Map<String, Object> getSelectPrintingSv(Map<String, Object> object, String printMerge, String printLike) {
+        if (printMerge == null){
+            printMerge= "";
+        }
+        if (printLike == null){
+            printLike= "";
+        }
         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);
@@ -246,21 +263,67 @@
             for (FlowCard flowCard : flowCardList) {
                 Map<String, Object> itemmap = new HashMap<>();
                 //娴佺▼鍗¤〃澶磋〃灏炬暟鎹�
-                itemmap.put("detail", flowCardMapper.getPrimaryList(flowCard.getProcessId(), flowCard.getTechnologyNumber()));
-                itemmap.put("numberList", flowCardMapper.getGlassNumber(flowCard.getTechnologyNumber(),flowCard.getProcessId()));
+                //鏄惁浼犲叆鍚堝苟灞傛暟
+                if (printMerge.equals("")||printMerge.equals("null") ){
+                    itemmap.put("detail", flowCardMapper.getPrimaryList(flowCard.getProcessId(), String.valueOf(flowCard.getTechnologyNumber()),flowCard.getGlassChild(),flowCard.getProcess()));
+                    //鏄惁鍖呭惈鍒囧壊
+                    boolean containsCutting = flowCard.getProcess().contains("鍒囧壊");
+                    if(String.valueOf(flowCard.getTechnologyNumber()).length()>1 && containsCutting){
+                        List<Map<String, Object>> detailList = flowCardMapper.getDetailListLike(flowCard.getProcessId(), String.valueOf(flowCard.getTechnologyNumber()));
+                        itemmap.put("detailList", detailList);
+                    }
+                    else {
+                        List<Map<String, Object>> detailList = flowCardMapper.getDetailList(flowCard.getProcessId(), flowCard.getTechnologyNumber());
+                        itemmap.put("detailList", detailList);
+                    }
 
-                //娴佺▼鍗℃槑缁嗘暟鎹�
-                List<Map<String, Object>> detailList = flowCardMapper.getDetailList(flowCard.getProcessId(), flowCard.getTechnologyNumber());
-                List<Map<String, Object>> glassList = flowCardMapper.getGlassNumber(flowCard.getTechnologyNumber(),flowCard.getProcessId());
+                }
+                else {
+
+                    //娴佺▼鍗℃槑缁嗘暟鎹�
+                    if (printLike.equals("")||printLike.equals("null") ){
+                        itemmap.put("detail", flowCardMapper.getPrimaryListMerge(flowCard.getProcessId(), printMerge));
+
+                        List<Map<String, Object>> detailList = flowCardMapper.getDetailList(flowCard.getProcessId(), flowCard.getTechnologyNumber());
+                        itemmap.put("detailList", detailList);
+                    }
+                    else {
+                        itemmap.put("detail", flowCardMapper.getPrimaryList(flowCard.getProcessId(), String.valueOf(flowCard.getTechnologyNumber()), flowCard.getGlassChild(), flowCard.getProcess()));
+
+                        List<Map<String, Object>> detailList = flowCardMapper.getDetailListLike(flowCard.getProcessId(), printMerge);
+                        itemmap.put("detailList", detailList);
+                    }
+                }
+
                 //宸ヨ壓娴佺▼
-                List<Map<String, Object>> processList = flowCardMapper.getProcessList(flowCard.getProcessId(), flowCard.getTechnologyNumber());
-                itemmap.put("detailList", detailList);
+                //List<Map<String, Object>> processList = flowCardMapper.getProcessList(flowCard.getProcessId(), flowCard.getTechnologyNumber());
+                String input = flowCard.getProcess();
+                String delimiter = "->";
+
+                // 鍒嗗壊瀛楃涓�
+                String[] parts = input.split(delimiter);
+
+                // 鍒涘缓 List<Map<String, Object>>
+                List<Map<String, Object>> processList = new ArrayList<>();
+
+                // 閬嶅巻鍒嗗壊鍚庣殑閮ㄥ垎骞跺皢鍏跺瓨鍏� List<Map<String, Object>>
+                for (int i = 0; i < parts.length; i++) {
+                    Map<String, Object> maps = new HashMap<>();
+                    maps.put("id", i); // 娣诲姞涓�涓储寮曞瓧娈�
+                    maps.put("process", parts[i]); // 娣诲姞瀹為檯鐨勫��
+
+                    processList.add(maps);
+                }
+
                 itemmap.put("processList", processList);
+              //  itemmap.put("numberList", numberList);
                 list.add(itemmap);
 
             }
         }
         map.put("data", list);
+        //鍒濆鍖栧��
+        printLike=null;
         return map;
     }
 
@@ -282,23 +345,27 @@
         Map<String, Object> map = new HashMap<>();
         map.put("data", flowCardMapper.getPrintLabel(projectNo));
         return map;
-       /* 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.getPrintLabel(flowCard.getProcessId(), flowCard.getTechnologyNumber()));
+    }
+
+    public Map<String, Object> getSelectPrintLabelSv1(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.getPrintLabel1(flowCard.getProcessId(), flowCard.getTechnologyNumber()));
                     list.add(itemmap);
-                //}
+                    //}
 
+                }
             }
-        }
+            map.put("data", list);
 
-        map.put("data", list);
-        return map;*/
+        return map;
     }
 
     public Map<String, Object> printFlowCardDetailsSv(String processId, String technologyNumber, FlowCard flowCard) {
@@ -318,18 +385,35 @@
     }
 
 
-    public Map<String, Object> getSelectPrintCustomLabelSv(String type, Map<String, Object> object) {
+    public Map<String, Object> getSelectPrintCustomLabelSv(String type, Integer lableType, 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) {
+            Set<String> processedProcessIds = new HashSet<>();  // 鐢ㄦ潵瀛樻斁宸插鐞嗚繃鐨� processId
 
+            if (lableType != 2){
+                for (FlowCard flowCard : flowCardList) {
+                    String processId = flowCard.getProcessId();
+
+                    // 妫�鏌ユ槸鍚﹀凡缁忓鐞嗚繃璇� processId锛屽鏋滃鐞嗚繃鍒欒烦杩�
+                    if (processedProcessIds.contains(processId)) {
+                        continue;
+                    }
                     Map<String, Object> itemmap = new HashMap<>();
                     itemmap.put("data", flowCardMapper.getPrintCustomData(flowCard.getProcessId(),flowCard.getTechnologyNumber()));
                     list.add(itemmap);
 
-
+                    // 灏嗚 processId 鍔犲叆宸插鐞嗛泦鍚�
+                    processedProcessIds.add(processId);
+                }
+            }
+            else{
+                for (FlowCard flowCard : flowCardList) {
+                    Map<String, Object> itemmap = new HashMap<>();
+                    itemmap.put("data", flowCardMapper.getPrintCustomDataSemi(flowCard.getProcessId(),flowCard.getTechnologyNumber()));
+                    list.add(itemmap);
+                }
             }
         }
         map.put("data", list);
@@ -343,6 +427,139 @@
         return map;
     }
 
+    public Boolean updatePrintStateSv(Integer printState, Map<String, Object> object) {
+        List<FlowCard> flowCardList = JSONArray.parseArray(JSONObject.toJSONString(object.get("printList")), FlowCard.class);
+        if (!flowCardList.isEmpty()) {
+            for (FlowCard flowCard : flowCardList) {
+                // 鏇存柊鎵撳嵃鐘舵��
+                flowCardMapper.updatePrintStateMp(printState,flowCard.getProcessId(),flowCard.getTechnologyNumber());
+            }
+            return true;
+        } else {
+            return false;
+        }
+
+    }
+
+    public Map<String, Object> printFlowCardOrderSortSv(String orderId, FlowCard flowCard) {
+        Map<String, Object> map = new HashMap<>();
+        map.put("data", flowCardMapper.printFlowCardOrderSortMp(orderId, flowCard));
+        return map;
+    }
+
+    public Boolean printOrderSort(Map<String, Object> object) {
+        List<FlowCard> FlowCardList = JSONArray.parseArray(JSONObject.toJSONString(object.get("flowCard")), FlowCard.class);
+        if (!FlowCardList.isEmpty()) {
+            for (FlowCard flowCard : FlowCardList) {
+                flowCardMapper.printOrderSortMp(flowCard.getProcessId(),flowCard.getOrderNumber(),flowCard.getTechnologyNumber(),flowCard.getSort());
+            }
+        }
+        return true;
+    }
+
+    public Map<String, Object> getSelectPrintingRefundSv(Map<String, Object> object, String printMerge, String printLike) {
+        if (printMerge == null){
+            printMerge= "";
+        }
+        if (printLike == null){
+            printLike= "";
+        }
+        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<>();
+                //娴佺▼鍗¤〃澶磋〃灏炬暟鎹�
+                //鏄惁浼犲叆鍚堝苟灞傛暟
+                if (printMerge.equals("")||printMerge.equals("null") ){
+                    itemmap.put("detail", flowCardMapper.getPrimaryListRefund(flowCard.getProcessId(), String.valueOf(flowCard.getTechnologyNumber()),flowCard.getOrderNumber(),flowCard.getReportingWorkId()));
+                    List<Map<String, Object>> detailList = flowCardMapper.getDetailListRefund(flowCard.getProcessId(), flowCard.getTechnologyNumber(),flowCard.getOrderNumber(),flowCard.getReportingWorkId());
+                    itemmap.put("detailList", detailList);
+                }
+                else {
+
+                    //娴佺▼鍗℃槑缁嗘暟鎹�
+                    if (printLike.equals("")||printLike.equals("null") ){
+                        itemmap.put("detail", flowCardMapper.getPrimaryListMergeRefund(flowCard.getProcessId(), printMerge,flowCard.getOrderNumber()));
+
+                        List<Map<String, Object>> detailList = flowCardMapper.getDetailListRefund(flowCard.getProcessId(), flowCard.getTechnologyNumber(),flowCard.getOrderNumber(), flowCard.getReportingWorkId());
+                        itemmap.put("detailList", detailList);
+                    }
+                    else {
+                        itemmap.put("detail", flowCardMapper.getPrimaryListRefund(flowCard.getProcessId(), String.valueOf(flowCard.getTechnologyNumber()),flowCard.getOrderNumber(), flowCard.getReportingWorkId()));
+
+                        List<Map<String, Object>> detailList = flowCardMapper.getDetailListLikeRefund(flowCard.getProcessId(), printMerge,flowCard.getOrderNumber(),flowCard.getReportingWorkId());
+                        itemmap.put("detailList", detailList);
+                    }
+                }
+
+                //宸ヨ壓娴佺▼
+                List<Map<String, Object>> processList = flowCardMapper.getProcessList(flowCard.getProcessId(), flowCard.getTechnologyNumber());
+
+                itemmap.put("processList", processList);
+                //  itemmap.put("numberList", numberList);
+                list.add(itemmap);
+
+            }
+        }
+        map.put("data", list);
+        //鍒濆鍖栧��
+        printLike=null;
+        return map;
+    }
+
+    public Map<String, Object> getSelectPrinReworkSv(Map<String, Object> object, String printMerge, String printLike) {
+        if (printMerge == null){
+            printMerge= "";
+        }
+        if (printLike == null){
+            printLike= "";
+        }
+        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<>();
+                //娴佺▼鍗¤〃澶磋〃灏炬暟鎹�
+                //鏄惁浼犲叆鍚堝苟灞傛暟
+                if (printMerge.equals("")||printMerge.equals("null") ){
+                    itemmap.put("detail", flowCardMapper.getPrimaryListRework(flowCard.getProcessId(), String.valueOf(flowCard.getTechnologyNumber()),flowCard.getOrderNumber()));
+                    List<Map<String, Object>> detailList = flowCardMapper.getDetailListRework(flowCard.getProcessId(), flowCard.getTechnologyNumber(),flowCard.getOrderNumber(),flowCard.getReportingWorkId());
+                    itemmap.put("detailList", detailList);
+                }
+                else {
+
+                    //娴佺▼鍗℃槑缁嗘暟鎹�
+                    if (printLike.equals("")||printLike.equals("null") ){
+                        itemmap.put("detail", flowCardMapper.getPrimaryListMergeRework(flowCard.getProcessId(), printMerge,flowCard.getOrderNumber()));
+
+                        List<Map<String, Object>> detailList = flowCardMapper.getDetailListRework(flowCard.getProcessId(), flowCard.getTechnologyNumber(),flowCard.getOrderNumber(), flowCard.getReportingWorkId());
+                        itemmap.put("detailList", detailList);
+                    }
+                    else {
+                        itemmap.put("detail", flowCardMapper.getPrimaryListRework(flowCard.getProcessId(), String.valueOf(flowCard.getTechnologyNumber()),flowCard.getOrderNumber()));
+
+                        List<Map<String, Object>> detailList = flowCardMapper.getDetailListLikeRework(flowCard.getProcessId(), printMerge,flowCard.getOrderNumber(),flowCard.getReportingWorkId());
+                        itemmap.put("detailList", detailList);
+                    }
+                }
+
+                //宸ヨ壓娴佺▼
+                List<Map<String, Object>> processList = flowCardMapper.getProcessList(flowCard.getProcessId(), flowCard.getTechnologyNumber());
+
+                itemmap.put("processList", processList);
+                //  itemmap.put("numberList", numberList);
+                list.add(itemmap);
+
+            }
+        }
+        map.put("data", list);
+        //鍒濆鍖栧��
+        printLike=null;
+        return map;
+    }
 }
 
 

--
Gitblit v1.8.0