From b159f7795dd800fd599589f36c2d6349e5cf15e7 Mon Sep 17 00:00:00 2001
From: chenlu <1320612696@qq.com>
Date: 星期二, 02 十二月 2025 14:23:47 +0800
Subject: [PATCH] 流程卡明细界面修改工艺添加限制

---
 north-glass-erp/src/main/java/com/example/erp/service/pp/FlowCardService.java |   68 +++++++++++++++++++++++++++++----
 1 files changed, 59 insertions(+), 9 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 938c2d0..1a0998f 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
@@ -17,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;
@@ -32,7 +33,6 @@
 import java.io.IOException;
 
 
-import java.sql.Date;
 import java.util.*;
 import java.util.stream.Collectors;
 import java.util.stream.IntStream;
@@ -761,12 +761,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(
@@ -1260,6 +1267,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>>();//鏈�缁堢粨鏋�
@@ -1269,7 +1289,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()));
+
 
                 }
                 //闈炲伐绋嬫墦鍗�
@@ -1332,11 +1353,13 @@
             }
             //灏嗗師鏉ュ凡鎶ュ伐鐨勬暟鎹洿鏂�
             if (resultList != null && !resultList.isEmpty()) {
-                for (OrderProcessDetail d : resultList) {
-                    flowCardMapper.updateOrderProcessDetail(d.getProcessId(),d.getOrderNumber(),d.getTechnologyNumber(),
-                            d.getReportingWorkNumCount(),d.getReportingWorkNum(),d.getBrokenNum(),d.getProcess());
-
+                for (String number : numberList) {
+                    for (OrderProcessDetail d : resultList) {
+                        flowCardMapper.updateOrderProcessDetail(d.getProcessId(),number,d.getTechnologyNumber(),
+                                d.getReportingWorkNumCount(),d.getReportingWorkNum(),d.getBrokenNum(),d.getProcess());
+                    }
                 }
+
             }
             return true;
 
@@ -1736,6 +1759,33 @@
 
     }
 
+    public boolean getNewProcessSv(String processId, String orderNumber, String technologyNumber, List<String> orderProcess) {
+
+        // 鑾峰彇鏈�鏂版姤宸ュ伐搴�
+        List<Map<String, Object>> newProcess = flowCardMapper.getNewProcessMp(processId, orderNumber, technologyNumber);
+
+        if (newProcess == null || newProcess.isEmpty()) {
+            return false; // 鎵句笉鍒版爣鍑嗗��
+        }
+
+        // 鏈�鏂板伐搴忔帓搴忓彿
+        int standardSort = Integer.parseInt(newProcess.get(0).get("sort").toString());
+
+        // 寰幆 orderProcess 鐨勬瘡涓�涓伐搴忥紝鏌ヨ瀹冧滑鐨� sort
+        for (String processName : orderProcess) {
+            Map<String, Object> data = flowCardMapper.getProcessInfo(processName);
+
+            if (data == null) {
+                return false; // 宸ュ簭鏌ヤ笉鍒�
+            }
+            int orderSort = Integer.parseInt(data.get("sort").toString());
+            // orderSort 蹇呴』 > standardSort
+            if (orderSort <= standardSort) {
+                return false;
+            }
+        }
+        return true;
+    }
 }
 
 

--
Gitblit v1.8.0