From fd2ec4214c6f8456b957c3545e7d67bcdbbb9985 Mon Sep 17 00:00:00 2001
From: 廖井涛 <2265517004@qq.com>
Date: 星期二, 02 十二月 2025 15:26:33 +0800
Subject: [PATCH] Merge branch 'master' of http://10.153.19.25:10105/r/ERP_override

---
 north-glass-erp/src/main/java/com/example/erp/service/pp/FlowCardService.java |  103 +++++++++++++++++++++++++++++++++++++++------------
 1 files changed, 79 insertions(+), 24 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 e6c7a55..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
@@ -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;
@@ -31,7 +33,6 @@
 import java.io.IOException;
 
 
-import java.sql.Date;
 import java.util.*;
 import java.util.stream.Collectors;
 import java.util.stream.IntStream;
@@ -417,7 +418,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 +435,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 +465,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 +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(
@@ -1272,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>>();//鏈�缁堢粨鏋�
@@ -1281,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()));
+
 
                 }
                 //闈炲伐绋嬫墦鍗�
@@ -1344,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;
 
@@ -1728,9 +1739,53 @@
     }
 
 
+    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)
+        );
 
+    }
 
+    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