From 613e4e92157dd697629dbad17fd091ae37637bc7 Mon Sep 17 00:00:00 2001
From: guoyujie <guoyujie@ng.com>
Date: 星期一, 17 十一月 2025 08:50:44 +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 |   85 ++++++++++++++++++++++++++++++++----------
 1 files changed, 65 insertions(+), 20 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 61eb90d..738d9e2 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,6 +6,7 @@
 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.common.Result;
 import com.example.erp.entity.pp.FlowCard;
 import com.example.erp.entity.sd.*;
 import com.example.erp.entity.userInfo.Log;
@@ -16,6 +17,7 @@
 import com.example.erp.mapper.sd.*;
 import com.example.erp.service.userInfo.LogService;
 import com.example.erp.service.userInfo.SysErrorService;
+import com.fasterxml.jackson.core.JsonProcessingException;
 import com.fasterxml.jackson.databind.ObjectMapper;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -417,7 +419,7 @@
                     //鑾峰彇宸ュ簭瀵瑰簲鐨勫埆绉�
                     String processName = flowCardMapper.getProcessName(processSub);
                     //processName.equals("stepC") || processName.equals("stepD")
-                    if (processName.equals("stepC") || processName.equals("stepD")) {//宸ヨ壓鏄惁鍖呭惈澶硅兌涓┖
+                    if (processName.equals("stepC") || processName.equals("stepD")) {//宸ヨ壓鏄惁鍖呭惈澶硅兌涓┖锛屾祦绋嬪崱鏌ヨ鍚堝苟
                         itemmap.put("detail", flowCardMapper.getPrimaryListLimt(flowCard.getProcessId(),
                                 String.valueOf("null".equals(compound)
                                         ? flowCard.getTechnologyNumber()//姝e父灞�
@@ -434,7 +436,7 @@
                             itemmap.put("detailList", detailList);
                         }
                     } else {
-                        if (merge.equals("1") && flowCard.getMerge().equals(1)) {//鍚�
+                        if (merge.equals("1") && flowCard.getMerge().equals(1)) {//鏈惎鐢�,閰嶇疆鏂囦欢flowCardMerge鍊间负1
                             // 妫�鏌ユ槸鍚﹀凡缁忓鐞嗚繃璇� processId锛屽鏋滃鐞嗚繃鍒欒烦杩�
                             if (processedKeys.contains(uniqueKey)) {
                                 continue;
@@ -464,19 +466,6 @@
 
                     }
 
-                } else {//鍚�
-                    //娴佺▼鍗℃槑缁嗘暟鎹�
-                    if (printLike.equals("") || printLike.equals("null")) {
-                        itemmap.put("detail", flowCardMapper.getPrimaryListMerge(flowCard.getProcessId(), printMerge, flowCard.getOrderId()));
-
-                        List<Map<String, Object>> detailList = flowCardMapper.getDetailList(flowCard.getProcessId(), flowCard.getTechnologyNumber(), flowCard.getProcess(), flashback, landingSequence);
-                        itemmap.put("detailList", detailList);
-                    } else {
-                        itemmap.put("detail", flowCardMapper.getPrimaryList(flowCard.getProcessId(), String.valueOf(flowCard.getTechnologyNumber()), flowCard.getGlassChild(), flowCard.getProcess(), flowCard.getOrderId()));
-
-                        List<Map<String, Object>> detailList = flowCardMapper.getDetailListLike(flowCard.getProcessId(), printMerge, flowCard.getProcess(), flashback, landingSequence);
-                        itemmap.put("detailList", detailList);
-                    }
                 }
 
                 //宸ヨ壓娴佺▼
@@ -773,12 +762,19 @@
                     // 鍒ゆ柇鏄惁涓洪潪绌哄瓧绗︿覆
                     if (orderNumber != null && !orderNumber.trim().isEmpty()) {
 
-                        itemmap.put("data", flowCardMapper.getPrintCustomDataSemi(
+                        List<Map<String, Object>> customDataSemi =flowCardMapper.getPrintCustomDataSemi(
                                 flowCard.getProcessId(),
                                 flowCard.getTechnologyNumber(),
                                 flowCard.getProcess(),
-                                flowCard.getOrderNumber(), flowCard.getPrintQuantity()
-                        ));
+                                flowCard.getOrderNumber(), flowCard.getPrintQuantity());
+                        for (Map<String, Object> dataMap : customDataSemi) {
+                            dataMap.put("newList", flowCardMapper.getgetPrintCustomDataSemiSp(
+                                    flowCard.getProcessId(),
+                                    dataMap.get("technologyNumber").toString(),
+                                    flowCard.getOrderNumber()
+                            ));
+                        }
+                        itemmap.put("data", customDataSemi);
                     } else {
                             //鐢ㄤ簬澶╂触鐜板満娴佺▼鍗℃墦鍗扮晫闈㈢殑灏忕墖鏍囩鎵撳嵃
                         itemmap.put("data", flowCardMapper.getPrintCustomDataSemiTj(
@@ -1272,6 +1268,19 @@
         return map;
     }
 
+    public Map<String, Object> selectPrintProjectDetailSmallPiece(Map<String, Object> object) throws JsonProcessingException {
+        Map<String, Object> map = new HashMap<>();
+        String projectNo=object.get("projectNo").toString();
+        String stockIdsStr=object.get("stockId").toString();
+        ObjectMapper objectMapper = new ObjectMapper();
+        if (stockIdsStr != null && !stockIdsStr.isEmpty()) {
+            List<Integer> list = objectMapper.readValue(stockIdsStr, new TypeReference<List<Integer>>() {});
+            map.put("data", flowCardMapper.getPrintProjectDetailsMpSp(projectNo,list));
+        }
+
+        return map;
+    }
+
     public Map<String, Object> getPrintCustomDataProjectNoDetailSv(String type, Integer detailType, Map<String, Object> object) {
         Map<String, Object> map = new HashMap<>();
         List<Map<String, Object>> list = new ArrayList<Map<String, Object>>();//鏈�缁堢粨鏋�
@@ -1281,7 +1290,8 @@
                 Map<String, Object> itemmap = new HashMap<>();
                 //鏄惁鏄伐绋嬫槑缁嗘墦鍗�
                 if (detailType == 0) {//宸ョ▼鎵撳嵃鏄庣粏
-                    itemmap.put("data", flowCardMapper.getPrintCustomDataProjectDetail(flowCard.getProjectNo(), flowCard.getStockId()));
+                        itemmap.put("data", flowCardMapper.getPrintCustomDataProjectDetail(flowCard.getProjectNo(), flowCard.getStockId(),flowCard.getPolysId()));
+
 
                 }
                 //闈炲伐绋嬫墦鍗�
@@ -1567,12 +1577,30 @@
 
     public Boolean updateTerminationSv(String processId, Integer orderNumber, Integer value) {
         if (processId!=""){
+
             flowCardMapper.updateTerminationMp(processId,orderNumber,value);
+            //鑾峰彇缁堟鏁伴噺涓庢祦绋嬪崱鏁伴噺姣旇緝
+            Map<String, Object> data = flowCardMapper.getTerminationQuantity(processId,orderNumber);
+            Integer terminationNum = (Integer) data.get("termination_quantity");
+            Integer totalNum = (Integer) data.get("quantity");
+            if (terminationNum==totalNum){
+                flowCardMapper.updateTerminationStatus(processId,orderNumber);
+            }
             return true;
         }else {
             return false;
         }
 
+    }
+
+    public Boolean updateTerminationNoSv(String processId, Integer orderNumber) {
+        if (processId!=""){
+            flowCardMapper.updateTerminationNoMp(processId,orderNumber);
+
+            return true;
+        }else {
+            return false;
+        }
     }
 
     public Map<String, Object> selectCompletedSv(String processId, Integer orderNumber, String process) {
@@ -1710,8 +1738,25 @@
     }
 
 
+    public Result selectProcessCardProgressSv(Map<String, String> object) {
+        String orderId = object.get("orderId");
+        String processId = object.get("processId");
+        String orderNumber = object.get("orderNumber");
+        String technologyNumber = object.get("technologyNumber");
+        String process = object.get("process");
+        Result result = new Result();
+        //褰撴祦绋嬪崱鍜岃鍗曞彿閮戒负绌烘椂锛岃繑鍥炴彁绀轰俊鎭�
+        if (orderId == null &&processId == null){
+            result.setCode(Constants.Code_600);
+            result.setMsg("Please enter at least one parameter for the order number and the process card.");
+            return result;
+        }
+        return result.success(
+                orderProcessDetailMapper
+                        .selectProcessCardProgressSv( orderId, processId, orderNumber, technologyNumber, process)
+        );
 
-
+    }
 
 }
 

--
Gitblit v1.8.0