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 |  504 +++++++++++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 485 insertions(+), 19 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 6dbc32a..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
@@ -5,12 +5,16 @@
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.dynamic.datasource.annotation.DS;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.example.erp.common.Constants;
 import com.example.erp.entity.pp.FlowCard;
 import com.example.erp.entity.sd.OrderGlassDetail;
 import com.example.erp.entity.sd.OrderProcessDetail;
+import com.example.erp.entity.userInfo.Log;
+import com.example.erp.exception.ServiceException;
 import com.example.erp.mapper.pp.FlowCardMapper;
 import com.example.erp.mapper.sd.OrderGlassDetailMapper;
 import com.example.erp.mapper.sd.OrderProcessDetailMapper;
+import com.example.erp.service.userInfo.LogService;
 import com.fasterxml.jackson.databind.ObjectMapper;
 import org.springframework.stereotype.Service;
 
@@ -23,6 +27,7 @@
 
 import java.sql.Date;
 import java.util.*;
+import java.util.stream.Collectors;
 
 import static com.example.erp.service.sd.OrderService.getOrderProcessDetails;
 
@@ -35,11 +40,14 @@
     OrderGlassDetailMapper orderGlassDetailMapper;
     final
     OrderProcessDetailMapper orderProcessDetailMapper;
+    final
+    LogService logService;
 
-    public FlowCardService(FlowCardMapper flowCardMapper, OrderGlassDetailMapper orderGlassDetailMapper, OrderProcessDetailMapper orderProcessDetailMapper) {
+    public FlowCardService(FlowCardMapper flowCardMapper, OrderGlassDetailMapper orderGlassDetailMapper, OrderProcessDetailMapper orderProcessDetailMapper,LogService logService) {
         this.flowCardMapper = flowCardMapper;
         this.orderGlassDetailMapper = orderGlassDetailMapper;
         this.orderProcessDetailMapper = orderProcessDetailMapper;
+        this.logService= logService;
     }
 
     //娴佺▼鍗$鐞嗘煡璇�
@@ -66,7 +74,7 @@
     }
 
     //鍒犻櫎娴佺▼鍗�
-    public Boolean deleteFlowCardSv(String orderId, String processId) {
+    public Boolean deleteFlowCardSv(String orderId, String processId, String userId, String userName) {
         if (!orderId.isEmpty() && !processId.isEmpty()) {
             //鍒ゆ柇璇ユ祦绋嬪崱鏄惁鎶ュ伐
             Integer count = flowCardMapper.reportingWorkCount(processId);
@@ -78,6 +86,8 @@
                 flowCardMapper.deleteReportingWork(processId);
                 //鍒犻櫎鍒嗘灦鏄庣粏
                 flowCardMapper.deleteFlowCardMp(orderId, processId);
+                //鍒犻櫎鎺掑簭琛ㄦ暟鎹�
+                flowCardMapper.deleteflowCardSort(orderId, processId);
                 //鍒ゆ柇璇ヨ鍗曟祦绋嬪崱鏄惁鍏ㄩ儴鍒犻櫎
                 Integer flowNumber = flowCardMapper.selectFlowCardCount(orderId);
                 if (flowNumber == 0) {
@@ -87,6 +97,14 @@
                     //淇敼璁㈠崟琛ㄥ垎鏋剁姸鎬佷负1,鍒犻櫎閮ㄥ垎
                     flowCardMapper.updateProcessingCard(orderId, 1);
                 }
+
+                //淇濆瓨鏃ュ織
+                Log log = new Log();
+                log.setContent(orderId+processId);
+                log.setFunction("deleteFlowCardSv娴佺▼鍗″垹闄�");
+                log.setOperatorId(userId);
+                log.setOperator(userName);
+                logService.saveLog(log);
                 return true;
             } else {
                 return false;
@@ -101,6 +119,8 @@
     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("maxFlowCard", flowCardMapper.selectMaxFlowCard(orderId, productionId));
+        map.put("orderOtherMoney", flowCardMapper.selectorderOtherMoney());
         return map;
     }
 
@@ -165,7 +185,13 @@
                 //璧嬪�艰鍗曞伐鑹鸿〃
                 orderProcessDetailMapper.insertOrderProcessDetail(orderProcessDetailList);
             }
-
+            //淇濆瓨鏃ュ織
+            Log log = new Log();
+            log.setContent(object.toString());
+            log.setFunction("addFlowCardSv娴佺▼鍗℃柊澧�");
+            log.setOperatorId((String) object.get("userId"));
+            log.setOperator((String) object.get("userName"));
+            logService.saveLog(log);
             return true;
         } else {
             return false;
@@ -199,7 +225,7 @@
         return map;
     }
 
-    public Object selectPrintFlowCardSv(Date selectTime1, Date selectTime2, String orderId, String project, FlowCard flowCard) {
+    public Object selectPrintFlowCardSv(Date selectTime1, Date selectTime2, String orderId, String project,String userId, FlowCard flowCard) {
         if ("null".equals(orderId)) {
             orderId = "";
         }
@@ -208,6 +234,8 @@
         }
         Map<String, Object> map = new HashMap<>();
         map.put("data", flowCardMapper.selectPrintFlowCardMp(selectTime1, selectTime2, orderId, project, flowCard));
+        String roleId=flowCardMapper.selectUserMp(userId);
+        map.put("user",roleId );
         return map;
     }
 
@@ -217,9 +245,25 @@
         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 if ("3".equals(inquiryMode)) {
+                    itemmap.put("detail", flowCardMapper.selectPrintAllMp(flowCard.getOrderId()));
+                } else {
+                    itemmap.put("detail", flowCardMapper.selectPrintNotMp(flowCard.getOrderId()));
+                }
+
+                list.add(itemmap);
+            }
+        }
+        map.put("data", list);
         map.put("type", flowCardMapper.selectType());
         return map;
     }
@@ -233,7 +277,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);
@@ -241,22 +291,74 @@
             for (FlowCard flowCard : flowCardList) {
                 Map<String, Object> itemmap = new HashMap<>();
                 //娴佺▼鍗¤〃澶磋〃灏炬暟鎹�
-                itemmap.put("detail", flowCardMapper.getPrimaryList(flowCard.getProcessId(), flowCard.getTechnologyNumber()));
+                //鏄惁浼犲叆鍚堝苟灞傛暟
+                if (printMerge.equals("")||printMerge.equals("null") ){
+                    //鏄惁鍖呭惈鍒囧壊
+                    //boolean containsCutting = flowCard.getProcess().contains("鍒囧壊");
+                    String processSub=flowCard.getProcess().substring(0, 2);
+                    if(processSub.equals("澶硅兌") || processSub.equals("涓┖")){
+                        itemmap.put("detail", flowCardMapper.getPrimaryListLimt(flowCard.getProcessId(), String.valueOf(flowCard.getTechnologyNumber()),flowCard.getGlassChild(),flowCard.getProcess()));
 
+                        List<Map<String, Object>> detailList = flowCardMapper.getDetailList(flowCard.getProcessId(), flowCard.getTechnologyNumber(),flowCard.getProcess());
+                        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.getDetailList(flowCard.getProcessId(), flowCard.getTechnologyNumber());
-               // List<Map<String, Object>> numberList = flowCardMapper.getGlassNumber(flowCard.getTechnologyNumber(),flowCard.getProcessId());
+                        List<Map<String, Object>> detailList = flowCardMapper.getDetailListLike(flowCard.getProcessId(), String.valueOf(flowCard.getTechnologyNumber()),flowCard.getProcess());
+                        itemmap.put("detailList", detailList);
+                    }
+
+                }
+                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(), flowCard.getProcess());
+                        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, flowCard.getProcess());
+                        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);
+                itemmap.put("count", flowCardMapper.countFlowCard(flowCard.getOrderId()));
+                itemmap.put("remarkList", flowCardMapper.remakList(flowCard.getProcessId()));
                 list.add(itemmap);
 
             }
         }
+
         map.put("data", list);
+        //鍒濆鍖栧��
+        printLike=null;
         return map;
     }
 
@@ -274,9 +376,14 @@
         }
     }
 
-    public Map<String, Object> getSelectPrintLabelSv(String projectNo) {
+    public Map<String, Object> getSelectPrintLabelSv(String projectNo,String type) {
         Map<String, Object> map = new HashMap<>();
-        map.put("data", flowCardMapper.getPrintLabel(projectNo));
+        if(Objects.equals(type, "1")){
+            map.put("data", flowCardMapper.getPrintLabel(projectNo));
+        } else if (Objects.equals(type, "2")) {
+            map.put("data", flowCardMapper.getPrintLabel2(projectNo));
+        }
+
         return map;
     }
 
@@ -301,9 +408,30 @@
         return map;
     }
 
-    public Map<String, Object> printFlowCardDetailsSv(String processId, String technologyNumber, FlowCard flowCard) {
+    public Map<String, Object> getSelectPrintLabelDetails(Map<String, Object> object) {
         Map<String, Object> map = new HashMap<>();
-        map.put("data", flowCardMapper.printFlowCardDetailsMp(processId, technologyNumber, 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) {
+                // 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));
         return map;
     }
 
@@ -311,7 +439,14 @@
         List<FlowCard> FlowCardList = JSONArray.parseArray(JSONObject.toJSONString(object.get("flowCard")), FlowCard.class);
         if (!FlowCardList.isEmpty()) {
             for (FlowCard flowCard : FlowCardList) {
-                flowCardMapper.printSortMp(flowCard.getProcessId(),flowCard.getOrderNumber(),flowCard.getTechnologyNumber(),flowCard.getSort());
+               // flowCardMapper.printSortMp(flowCard.getProcessId(),flowCard.getOrderNumber(),flowCard.getTechnologyNumber(),flowCard.getSort());
+                //鍒ゆ柇淇濆瓨鐨勬暟鎹槸鍚﹀凡瀛樺湪
+                Integer count = flowCardMapper.printAddSortCountMp(flowCard.getProcessId(),flowCard.getOrderNumber(),flowCard.getTechnologyNumber(),flowCard.getSort(),flowCard.getProcess());
+                if (count >0){
+                    flowCardMapper.printUpdateSortMp(flowCard.getProcessId(),flowCard.getOrderNumber(),flowCard.getTechnologyNumber(),flowCard.getSort(),flowCard.getProcess());
+                }else {
+                    flowCardMapper.printAddSortMp(flowCard.getProcessId(),flowCard.getOrderNumber(),flowCard.getTechnologyNumber(),flowCard.getSort(),flowCard.getProcess());
+                }
             }
         }
         return true;
@@ -344,7 +479,7 @@
             else{
                 for (FlowCard flowCard : flowCardList) {
                     Map<String, Object> itemmap = new HashMap<>();
-                    itemmap.put("data", flowCardMapper.getPrintCustomData(flowCard.getProcessId(),flowCard.getTechnologyNumber()));
+                    itemmap.put("data", flowCardMapper.getPrintCustomDataSemi(flowCard.getProcessId(),flowCard.getTechnologyNumber(),flowCard.getProcess()));
                     list.add(itemmap);
                 }
             }
@@ -373,6 +508,337 @@
         }
 
     }
+
+    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, String mergeTechnologyNumber) {
+        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(),mergeTechnologyNumber,flowCard.getPatchReason()));
+                    List<Map<String, Object>> detailList = flowCardMapper.getDetailListRefund(flowCard.getProcessId(), flowCard.getTechnologyNumber(),flowCard.getOrderNumber(),flowCard.getReportingWorkId(),flowCard.getPatchReason());
+                    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(), flowCard.getPatchReason());
+                        itemmap.put("detailList", detailList);
+                    }
+                    else {
+                        itemmap.put("detail", flowCardMapper.getPrimaryListRefund(flowCard.getProcessId(), String.valueOf(flowCard.getTechnologyNumber()),flowCard.getOrderNumber(), flowCard.getReportingWorkId(), mergeTechnologyNumber, flowCard.getPatchReason()));
+
+                        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(),flowCard.getReportingWorkId()));
+                    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(), flowCard.getReportingWorkId()));
+
+                        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;
+    }
+
+    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<>();
+                    if(type==1){
+                        itemmap.put("detail", flowCardMapper.selectPrintDetailsMp(flowCard.getOrderId()));
+                    }else if(type==2){
+                        itemmap.put("detail", flowCardMapper.selectPrintDetailsMp1(flowCard.getOrderId()));
+                    }
+
+                list.add(itemmap);
+            }
+        }
+        map.put("data", list);
+        map.put("type", flowCardMapper.selectType());
+        return map;
+    }
+
+    public Map<String, Object> getSelectPrintCustomLabelDetailsSv(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()) {
+            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{
+                for (FlowCard flowCard : flowCardList) {
+                    Map<String, Object> itemmap = new HashMap<>();
+                    itemmap.put("data", flowCardMapper.getPrintCustomDataSemi(flowCard.getProcessId(),flowCard.getTechnologyNumber(),flowCard.getProcess()));
+                    list.add(itemmap);
+                }
+            }
+        }
+        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;
+    }
+
+    public Object selectSortTableSv(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) {
+                Map<String, Object> itemmap = new HashMap<>();
+                itemmap.put("data", flowCardMapper.selectSortTableMp(flowCard.getOrderId()));
+                list.add(itemmap);
+
+            }
+        }
+        map.put("data", list);
+
+        return map;
+
+
+    }
+
+    public String mergeFlowCard(Map<String, Object> object) {
+        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";
+                }
+            }
+
+
+        }
+
+        return returns;
+
+
+    }
+
+    public  List<FlowCard> getProcessCard(Map<String, String> processCards) {
+        String processCard = processCards.get("processCard");
+        if(!processCard.contains("/")){
+            throw new ServiceException(Constants.Code_600, "閿欒鐨勬祦绋嬪崱鍙凤紝璇锋鏌�!");
+        }
+
+        String[] processCardList = processCard.split("/");
+
+        List<FlowCard> flowCardList = flowCardMapper.selectList(
+                new QueryWrapper<FlowCard>()
+                        .eq("process_id", processCardList[0])
+                        .eq("technology_number", processCardList[1])
+        );
+        for (FlowCard flowCard : flowCardList) {
+            flowCard.setOrderGlassDetail(
+                    orderGlassDetailMapper.selectOne(
+                            new QueryWrapper<OrderGlassDetail>()
+                                    .eq("order_id", flowCard.getOrderId())
+                                    .eq("order_number", flowCard.getOrderNumber())
+                                    .eq("technology_number", flowCard.getTechnologyNumber())
+                    )
+            );
+            String str = flowCard.getOrderGlassDetail().getGlassChild();
+            String delimiter = "mm";
+            int index = str.indexOf(delimiter);
+            Integer subString = Integer.valueOf(str.substring(0, index).trim());
+            flowCard.getOrderGlassDetail().setThickness(subString);
+        }
+        return flowCardList;
+    }
+
+    public Boolean checkboxDeleteSv(Map<String, Object> object) {
+        String userName = "";
+        if (object.get("userName") != null) {
+            userName = object.get("userName").toString();
+        }
+        String userId = "";
+        if (object.get("userId") != null) {
+            userId = object.get("userId").toString();
+        }
+        List<FlowCard> flowCardList = JSONArray.parseArray(JSONObject.toJSONString(object.get("composing")), FlowCard.class);
+            for (FlowCard flowCard : flowCardList) {
+                Integer count = flowCardMapper.reportingWorkCount(flowCard.getProcessId());
+                if (count == 0) {
+                    //淇敼鍒嗘灦鐘舵��
+                    flowCardMapper.updateDeleteState(flowCard.getOrderId(), flowCard.getProcessId());
+                    //鍒犻櫎鎶ュ伐娴佺▼鏄庣粏琛ㄦ暟鎹�
+                    flowCardMapper.deleteReportingWork(flowCard.getProcessId());
+                    //鍒犻櫎鍒嗘灦鏄庣粏
+                    flowCardMapper.deleteFlowCardMp(flowCard.getOrderId(), flowCard.getProcessId());
+                    //鍒犻櫎鎺掑簭琛ㄦ暟鎹�
+                    flowCardMapper.deleteflowCardSort(flowCard.getOrderId(), flowCard.getProcessId());
+                    //鍒ゆ柇璇ヨ鍗曟祦绋嬪崱鏄惁鍏ㄩ儴鍒犻櫎
+                    Integer flowNumber = flowCardMapper.selectFlowCardCount(flowCard.getOrderId());
+                    if (flowNumber == 0) {
+                        //淇敼璁㈠崟琛ㄥ垎鏋剁姸鎬佷负0,鍏ㄩ儴鍒犻櫎
+                        flowCardMapper.updateProcessingCard(flowCard.getOrderId(), 0);
+                    } else {
+                        //淇敼璁㈠崟琛ㄥ垎鏋剁姸鎬佷负1,鍒犻櫎閮ㄥ垎
+                        flowCardMapper.updateProcessingCard(flowCard.getOrderId(), 1);
+                    }
+
+                    //淇濆瓨鏃ュ織
+                    Log log = new Log();
+                    log.setContent(flowCard.getOrderId()+flowCard.getProcessId());
+                    log.setFunction("checkboxDeleteSv娴佺▼鍗″垹闄�");
+                    log.setOperatorId(userId);
+                    log.setOperator(userName);
+                    logService.saveLog(log);
+                } else {
+                    return false;
+                }
+            }
+            return true;
+
+
+    }
+
+    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