From bdfa5fbd836301fe3f705fee65697be4f4f6da9e Mon Sep 17 00:00:00 2001
From: 廖井涛 <2265517004@qq.com>
Date: 星期一, 03 三月 2025 10:01:05 +0800
Subject: [PATCH] 订单退回判断是否优化

---
 north-glass-erp/src/main/java/com/example/erp/service/pp/FlowCardService.java |   70 ++++++++++++++++++++++++++---------
 1 files changed, 52 insertions(+), 18 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 93140dc..057678f 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
@@ -219,7 +219,7 @@
         return map;
     }
 
-    public Object selectPrintFlowCardSv(Date selectTime1, Date selectTime2, String orderId, String project, String userId, FlowCard flowCard) {
+    public Object selectPrintFlowCardSv(Date selectTime1, Date selectTime2, String orderId, String project, String userId, Integer state, FlowCard flowCard) {
         if ("null".equals(orderId)) {
             orderId = "";
         }
@@ -227,7 +227,7 @@
             project = "";
         }
         Map<String, Object> map = new HashMap<>();
-        map.put("data", flowCardMapper.selectPrintFlowCardMp(selectTime1, selectTime2, orderId, project, flowCard));
+        map.put("data", flowCardMapper.selectPrintFlowCardMp(selectTime1, selectTime2, orderId, project,state, flowCard));
         String roleId = flowCardMapper.selectUserMp(userId);
         map.put("user", roleId);
         return map;
@@ -776,10 +776,12 @@
         if (!flowCardList.isEmpty()) {
             for (FlowCard flowCard : flowCardList) {
                 Map<String, Object> itemmap = new HashMap<>();
-                if (type == 1) {
+                if (type == 1) {//鏄庣粏鎵撳嵃
                     itemmap.put("detail", flowCardMapper.selectPrintDetailsMp(flowCard.getOrderId()));
-                } else if (type == 2) {
+                } else if (type == 2) {//鏄庣粏鍒嗘灦鎵撳嵃
                     itemmap.put("detail", flowCardMapper.selectPrintDetailsMp1(flowCard.getOrderId()));
+                }else if (type == 3) {//璁㈠崟鎵撳嵃
+                    itemmap.put("detail", flowCardMapper.selectPrintDetailsMp2(flowCard.getOrderId()));
                 }
 
                 list.add(itemmap);
@@ -799,20 +801,28 @@
 
             if (lableType != 2) {//鎴愬搧鏍囩
                 for (FlowCard flowCard : flowCardList) {
+                    String orderId = flowCard.getOrderId();
                     String processId = flowCard.getProcessId();
                     String orderNumber = flowCard.getOrderNumber().toString();
+                       if (processId!=null){
+                           // 妫�鏌ユ槸鍚﹀凡缁忓鐞嗚繃璇� processId锛屽鏋滃鐞嗚繃鍒欒烦杩�
+                           if (processedProcessIds.contains(processId) && processedProcessIds.contains(orderNumber)) {
+                               continue;
+                           }
+                           Map<String, Object> itemmap = new HashMap<>();
+                           itemmap.put("data", flowCardMapper.getPrintCustomDataDetails(flowCard.getProcessId(), flowCard.getOrderNumber(), flowCard.getPrintQuantity()));
+                           list.add(itemmap);
 
-                    // 妫�鏌ユ槸鍚﹀凡缁忓鐞嗚繃璇� processId锛屽鏋滃鐞嗚繃鍒欒烦杩�
-                    if (processedProcessIds.contains(processId) && processedProcessIds.contains(orderNumber)) {
-                        continue;
-                    }
-                    Map<String, Object> itemmap = new HashMap<>();
-                    itemmap.put("data", flowCardMapper.getPrintCustomDataDetails(flowCard.getProcessId(), flowCard.getOrderNumber(), flowCard.getPrintQuantity()));
-                    list.add(itemmap);
+                           // 灏嗚 processId 鍔犲叆宸插鐞嗛泦鍚�
+                           processedProcessIds.add(processId);
+                           processedProcessIds.add(orderNumber);
+                       } else{
 
-                    // 灏嗚 processId 鍔犲叆宸插鐞嗛泦鍚�
-                    processedProcessIds.add(processId);
-                    processedProcessIds.add(orderNumber);
+                           Map<String, Object> itemmap = new HashMap<>();
+                           itemmap.put("data", flowCardMapper.getPrintOrderDataDetails(flowCard.getOrderId(), flowCard.getOrderNumber(), flowCard.getPrintQuantity()));
+                           list.add(itemmap);
+                       }
+
                 }
             } else {//灏忕墖鏍囩
                 for (FlowCard flowCard : flowCardList) {
@@ -1061,14 +1071,16 @@
         Float shelfThickness =  Float.parseFloat(object.get("shelfThickness").toString())*1000;
         Float spacerThickness =  Float.parseFloat(object.get("spacerThickness").toString());
         */
-        Integer inMaxQuantity = 30;
+        //Integer inMaxQuantity = 1;
         Float inWeight = 100.0f;
         Float shelfThickness = 2000.0f;
         /*鍨墖鍘氬害*/
         Float spacerThickness = 0.0f;
         Map<String, Object> thickness = flowCardMapper.getGlassThicknessByProdutionId(orderId, productionId);
 
+        //鎴愬搧鐜荤拑鎬诲帤搴�
         Float glassTotalThickness = Float.parseFloat(thickness.get("totalThickness").toString());
+        //鎴愬搧鐜荤拑鍘氬害
         Float glassThickness = Float.parseFloat(thickness.get("thickness").toString());
 
         //鑾峰彇姝ゅ伐绋嬪彿璁㈠崟鏄庣粏淇℃伅
@@ -1095,12 +1107,12 @@
             //褰撳墠璁㈠崟鏄庣粏鍓╀綑鏁伴噺
             if (shelfQuantity == 0) {
                 shelfQuantity = shelfQuantityByWeight;
-            }else if(shelfQuantity>0){
+            }else if(shelfQuantity>0){//鏋跺瓙鍓╀綑鏁伴噺澶т簬0鏃讹紝鍒ゆ柇褰撳墠鏋跺瓙鍓╀綑閲嶉噺锛屾槸鍚︽敮鎸佹渶鏂板簭鍙风殑鐨勬垚鍝侀噸閲�
                 String FlowCardId = orderDetailList.get(orderDetailList.size() - 1).getFlowCardId();
                 double flowCardWeight = 0.0;
                 for (OrderDetail orderDetail1 : orderDetailList) {
                     if (orderDetail1.getFlowCardId().equals(FlowCardId)) {
-                        flowCardWeight = orderDetail1.getHeight()*orderDetail1.getQuantity()* orderDetail1.getWidth()* glassThickness* 2.5 / 1000000;
+                        flowCardWeight += orderDetail1.getHeight()*orderDetail1.getQuantity()* orderDetail1.getWidth()* glassThickness* 2.5 / 1000000;
                     }
                 }
                 if(flowCardWeight>0){
@@ -1112,6 +1124,7 @@
                                     * 2.5 / 1000000));
                     if (shelfQuantity == 0) {
                         shelfQuantity = shelfQuantityByWeight;
+                        flowCardNo += 1;
                     }
                 }
 
@@ -1126,7 +1139,9 @@
                 }
                 String processId = productionId + String.format("%05d", flowCardNo);
                 //鍙栨渶灏忓��
-                maxQuantity = Math.min(shelfQuantity, Math.min(inMaxQuantity, shelfMaxQuantityByThickness));
+               // maxQuantity = Math.min(shelfQuantity, Math.min(inMaxQuantity, shelfMaxQuantityByThickness));
+                maxQuantity = Math.min(shelfQuantity,  shelfMaxQuantityByThickness);
+
                 /*System.out.println(shelfQuantity + "," + inMaxQuantity + "," + shelfMaxQuantityByThickness);
                 System.out.println(flowCardNo + "," + maxQuantity);
                 System.out.println("------");*/
@@ -1161,6 +1176,25 @@
     }
 
 
+    public Boolean revokeComposingSv(Map<String, Object> object) {
+        List<FlowCard> flowCardList = JSONArray.parseArray(JSONObject.toJSONString(object.get("composing")), FlowCard.class);
+        if (!flowCardList.isEmpty()) {
+            for (FlowCard flowCard : flowCardList) {
+                //鑾峰彇娌℃湁宸ョ▼鍙风殑鏉℃暟锛屽凡鐢熸垚宸ョ▼鍙蜂笉鑳芥挙鍥�
+              Integer count =  flowCardMapper.selectProjectNo(flowCard.getProcessId());
+              if (count == 0){
+                  flowCardMapper.revokeComposing(flowCard.getProcessId());
+              } else {
+                  return false;
+              }
+
+            }
+            return true;
+        } else {
+            return false;
+
+        }
+    }
 }
 
 

--
Gitblit v1.8.0