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 |  165 ++++++++++++++++++++++++++++++++++++++++++++++++------
 1 files changed, 146 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 11ac055..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,11 +5,12 @@
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.dynamic.datasource.annotation.DS;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
-import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
+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;
@@ -26,6 +27,7 @@
 
 import java.sql.Date;
 import java.util.*;
+import java.util.stream.Collectors;
 
 import static com.example.erp.service.sd.OrderService.getOrderProcessDetails;
 
@@ -84,6 +86,8 @@
                 flowCardMapper.deleteReportingWork(processId);
                 //鍒犻櫎鍒嗘灦鏄庣粏
                 flowCardMapper.deleteFlowCardMp(orderId, processId);
+                //鍒犻櫎鎺掑簭琛ㄦ暟鎹�
+                flowCardMapper.deleteflowCardSort(orderId, processId);
                 //鍒ゆ柇璇ヨ鍗曟祦绋嬪崱鏄惁鍏ㄩ儴鍒犻櫎
                 Integer flowNumber = flowCardMapper.selectFlowCardCount(orderId);
                 if (flowNumber == 0) {
@@ -404,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));
@@ -516,8 +541,8 @@
                 //娴佺▼鍗¤〃澶磋〃灏炬暟鎹�
                 //鏄惁浼犲叆鍚堝苟灞傛暟
                 if (printMerge.equals("")||printMerge.equals("null") ){
-                    itemmap.put("detail", flowCardMapper.getPrimaryListRefund(flowCard.getProcessId(), String.valueOf(flowCard.getTechnologyNumber()),flowCard.getOrderNumber(),flowCard.getReportingWorkId(),mergeTechnologyNumber));
-                    List<Map<String, Object>> detailList = flowCardMapper.getDetailListRefund(flowCard.getProcessId(), flowCard.getTechnologyNumber(),flowCard.getOrderNumber(),flowCard.getReportingWorkId());
+                    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 {
@@ -526,11 +551,11 @@
                     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());
+                        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));
+                        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);
@@ -604,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);
             }
         }
@@ -625,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{
@@ -642,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;
     }
@@ -670,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";
+                }
             }
+
 
         }
 
@@ -682,13 +739,20 @@
 
     }
 
-    public  List<FlowCard> getProcessCard() {
+    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("termination_status", 0)
-                        .orderByDesc("id")
+                new QueryWrapper<FlowCard>()
+                        .eq("process_id", processCardList[0])
+                        .eq("technology_number", processCardList[1])
         );
         for (FlowCard flowCard : flowCardList) {
-            flowCard.setProcessId(flowCard.getProcessId()+'/'+flowCard.getTechnologyNumber());
             flowCard.setOrderGlassDetail(
                     orderGlassDetailMapper.selectOne(
                             new QueryWrapper<OrderGlassDetail>()
@@ -706,11 +770,74 @@
         return flowCardList;
     }
 
-    public Boolean updateProcessCardState(Integer id) {
-        UpdateWrapper<FlowCard> updateWrapper = new UpdateWrapper<>();
-        updateWrapper.eq("id", id) // 鏍规嵁id鏇存柊
-                .set("termination_status", 1);
-        return flowCardMapper.update(null, updateWrapper) > 0;
+    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