From b2cefd84dfd1aa051ae4ab342874fbafef74ab3b Mon Sep 17 00:00:00 2001
From: 廖井涛 <2265517004@qq.com>
Date: 星期二, 09 九月 2025 13:19:59 +0800
Subject: [PATCH] 修改补片打印筛选

---
 north-glass-erp/src/main/java/com/example/erp/service/pp/FlowCardService.java |  125 ++++++++++++++++++++++++++++++++++-------
 1 files changed, 104 insertions(+), 21 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 3a9b0c4..942c48b 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
@@ -11,12 +11,12 @@
 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.pp.ReportingWorkMapper;
 import com.example.erp.mapper.sd.*;
 import com.example.erp.service.userInfo.LogService;
 import com.fasterxml.jackson.databind.ObjectMapper;
 import org.springframework.stereotype.Service;
 
-import java.awt.*;
 import java.time.LocalDate;
 import java.util.List;
 import java.util.Map;
@@ -48,8 +48,12 @@
 
     private final OrderDetailMapper orderDetailMapper;
     private final OrderMapper orderMapper;
+    private final ReportingWorkMapper reportingWorkMapper;
 
-    public FlowCardService(FlowCardMapper flowCardMapper, OrderGlassDetailMapper orderGlassDetailMapper, OrderProcessDetailMapper orderProcessDetailMapper, LogService logService, ProductMapper productMapper, ProductDetailMapper productDetailMapper, OrderDetailMapper orderDetailMapper, OrderMapper orderMapper) {
+    public FlowCardService(FlowCardMapper flowCardMapper, OrderGlassDetailMapper orderGlassDetailMapper,
+                           OrderProcessDetailMapper orderProcessDetailMapper, LogService logService,
+                           ProductMapper productMapper, ProductDetailMapper productDetailMapper,
+                           OrderDetailMapper orderDetailMapper, OrderMapper orderMapper,ReportingWorkMapper reportingWorkMapper) {
         this.flowCardMapper = flowCardMapper;
         this.orderGlassDetailMapper = orderGlassDetailMapper;
         this.orderProcessDetailMapper = orderProcessDetailMapper;
@@ -58,6 +62,7 @@
         this.productDetailMapper = productDetailMapper;
         this.orderDetailMapper = orderDetailMapper;
         this.orderMapper = orderMapper;
+        this.reportingWorkMapper = reportingWorkMapper;
     }
 
     //娴佺▼鍗$鐞嗘煡璇�
@@ -84,9 +89,23 @@
     }
 
     //鍒嗘灦鏌ヨ
-    public Map<String, Object> selectAddProcess(Date selectTime1, Date selectTime2, FlowCard flowCard) {
+    public Map<String, Object> selectAddProcess(List<String> selectDate, FlowCard flowCard) {
+        String endDate = LocalDate.now().toString();
+        String startDate = LocalDate.now().minusDays(15).toString();
+        if(selectDate !=null && selectDate.size()==2){
+            if(!selectDate.get(0).isEmpty()){
+                startDate = selectDate.get(0);
+            }
+            if(!selectDate.get(1).isEmpty()){
+                endDate = selectDate.get(1);
+            }
+        }
         Map<String, Object> map = new HashMap<>();
-        map.put("data", flowCardMapper.selectFlowCardMp(selectTime1, selectTime2, flowCard));
+        map.put("data", flowCardMapper.selectFlowCardMp( startDate, endDate, flowCard));
+        List<String> list = new ArrayList<>();
+        list.add(startDate);
+        list.add(endDate);
+        map.put("selectDate",list);
         return map;
     }
 
@@ -243,23 +262,51 @@
         return map;
     }
 
-    public Object selectPrintFlowCardSv(Date selectTime1, Date selectTime2, String orderId, String project, String userId, Integer state, FlowCard flowCard) {
+    public Object selectPrintFlowCardSv(List<String> selectDate, String orderId, String project, String userId, Integer state, FlowCard flowCard) {
         if ("null".equals(orderId)) {
             orderId = "";
         }
         if ("null".equals(project)) {
             project = "";
         }
+        String endDate = LocalDate.now().toString();
+        String startDate = LocalDate.now().minusDays(15).toString();
+        if(selectDate !=null && selectDate.size()==2){
+            if(!selectDate.get(0).isEmpty()){
+                startDate = selectDate.get(0);
+            }
+            if(!selectDate.get(1).isEmpty()){
+                endDate = selectDate.get(1);
+            }
+        }
         Map<String, Object> map = new HashMap<>();
-        map.put("data", flowCardMapper.selectPrintFlowCardMp(selectTime1, selectTime2, orderId, project,state, flowCard));
+        map.put("data", flowCardMapper.selectPrintFlowCardMp(startDate, endDate, orderId, project,state, flowCard));
         String roleId = flowCardMapper.selectUserMp(userId);
         map.put("user", roleId);
+        List<String> list = new ArrayList<>();
+        list.add(startDate);
+        list.add(endDate);
+        map.put("selectDate",list);
         return map;
     }
 
-    public Object selectPrintFlowCard(Date selectTime1, Date selectTime2) {
+    public Object selectPrintFlowCard(List<String> selectDate) {
+        String endDate = LocalDate.now().toString();
+        String startDate = LocalDate.now().minusDays(15).toString();
+        if(selectDate !=null && selectDate.size()==2){
+            if(!selectDate.get(0).isEmpty()){
+                startDate = selectDate.get(0);
+            }
+            if(!selectDate.get(1).isEmpty()){
+                endDate = selectDate.get(1);
+            }
+        }
         Map<String, Object> map = new HashMap<>();
-        map.put("data", flowCardMapper.selectPrintFlowCard(selectTime1, selectTime2));
+        map.put("data", flowCardMapper.selectPrintFlowCard(startDate, endDate));
+        List<String> list = new ArrayList<>();
+        list.add(startDate);
+        list.add(endDate);
+        map.put("selectDate",list);
         return map;
     }
 
@@ -325,6 +372,7 @@
                     String processSub = flowCard.getProcess().split("->")[0];
                     //鑾峰彇宸ュ簭瀵瑰簲鐨勫埆绉�
                     String processName = flowCardMapper.getProcessName(processSub);
+                    //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)
@@ -684,14 +732,14 @@
                                 flowCard.getProcessId(),
                                 flowCard.getTechnologyNumber(),
                                 flowCard.getProcess(),
-                                flowCard.getOrderNumber()
+                                flowCard.getOrderNumber(), flowCard.getPrintQuantity()
                         ));
                     } else {
-
+                            //鐢ㄤ簬澶╂触鐜板満娴佺▼鍗℃墦鍗扮晫闈㈢殑灏忕墖鏍囩鎵撳嵃
                         itemmap.put("data", flowCardMapper.getPrintCustomDataSemiTj(
                                 flowCard.getProcessId(),
                                 flowCard.getTechnologyNumber(),
-                                flowCard.getProcess()
+                                flowCard.getProcess(), flowCard.getPrintQuantity()
                         ));
                     }
                     list.add(itemmap);
@@ -729,7 +777,7 @@
             } else {//灏忕墖鏍囩
                 for (FlowCard flowCard : flowCardList) {
                     Map<String, Object> itemmap = new HashMap<>();
-                    itemmap.put("data", flowCardMapper.getPrintCustomDataSemi(flowCard.getProcessId(), flowCard.getTechnologyNumber(), flowCard.getProcess(), flowCard.getOrderNumber()));
+                    itemmap.put("data", flowCardMapper.getPrintCustomDataSemi(flowCard.getProcessId(), flowCard.getTechnologyNumber(), flowCard.getProcess(), flowCard.getOrderNumber(), flowCard.getPrintQuantity()));
                     list.add(itemmap);
                 }
             }
@@ -946,7 +994,7 @@
             } else {//灏忕墖鏍囩
                 for (FlowCard flowCard : flowCardList) {
                     Map<String, Object> itemmap = new HashMap<>();
-                    itemmap.put("data", flowCardMapper.getPrintCustomDataSemi(flowCard.getProcessId(), flowCard.getTechnologyNumber(), flowCard.getProcess(), flowCard.getOrderNumber()));
+                    itemmap.put("data", flowCardMapper.getPrintCustomDataSemi(flowCard.getProcessId(), flowCard.getTechnologyNumber(), flowCard.getProcess(), flowCard.getOrderNumber(), flowCard.getPrintQuantity()));
                     list.add(itemmap);
                 }
             }
@@ -1207,11 +1255,33 @@
         return map;
     }
 
-    public Boolean updateProcessSv(String processId, String technologyNumber, String orderId, String Orderprocess, Map<String, Object> object) {
+    public Boolean updateProcessSv(String processId,String orderNumber, String technologyNumber, String orderId, String Orderprocess, Map<String, Object> object) {
+        List<OrderProcessDetail> resultList = new ArrayList<>();
+        //鑾峰彇宸叉姤宸ュ伐鑹烘祦绋�
+        String processOk = flowCardMapper.getProcessOk(processId,orderNumber,technologyNumber);
+        if (processOk != null && !processOk.isEmpty()){
+            List<String> okList = Arrays.asList(processOk.split("->"));
+            List<String> orderList = Arrays.asList(Orderprocess.split("->"));
 
-        //鍒ゆ柇璇ユ祦绋嬪崱鏄惁鎶ュ伐
-        Integer count = flowCardMapper.reportingWorkCount(processId);
-        if (count == 0) {
+            // 鍒ゆ柇 processOk 鐨勬瘡涓伐搴忔槸鍚﹂兘鍖呭惈鍦� orderProcess 涓�
+            for (String p : okList) {
+                if (!orderList.contains(p)) {
+                    return false;
+                }
+            }
+
+
+
+            for (String process : okList) {
+                List<OrderProcessDetail> details =
+                        flowCardMapper.getProcessDetail(processId,orderNumber, technologyNumber, process);
+
+                if (details != null && !details.isEmpty()) {
+                    resultList.addAll(details);
+                }
+            }
+        }
+
             //鍒犻櫎灏忕墖宸ヨ壓琛ㄥ搴旂殑鏁版嵁
             flowCardMapper.deleteProcessMp(processId, technologyNumber);
             //閲嶆柊鎻掑叆淇敼濂藉伐鑹烘祦绋嬪崱鐨勬暟鎹�
@@ -1227,12 +1297,15 @@
                     }
                 }
             }
+            //灏嗗師鏉ュ凡鎶ュ伐鐨勬暟鎹洿鏂�
+            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());
 
+                }
+            }
             return true;
-        } else {
-            return false;
-        }
-
 
     }
 
@@ -1449,6 +1522,16 @@
         }
 
     }
+
+    public Map<String, Object> selectCompletedSv(String processId, Integer orderNumber, String process) {
+        Map<String, Object> map = new HashMap<>();
+        String[] processList = process.split("->");
+        //鑾峰彇宸ヨ壓娴佺▼绗竴涓伐搴�
+        String interceptProcess = processList[0];
+        map.put("data", flowCardMapper.selectCompletedMp(processId, orderNumber,interceptProcess));
+
+        return map;
+    }
 }
 
 

--
Gitblit v1.8.0