From 24888c4b2ca2ffc49c4d94aefd6aea32d515b6dd Mon Sep 17 00:00:00 2001
From: chenlu <1320612696@qq.com>
Date: 星期日, 20 四月 2025 14:17:24 +0800
Subject: [PATCH] 分架明细报表修改查询问题

---
 north-glass-erp/src/main/java/com/example/erp/service/pp/FlowCardService.java |   50 ++++++++++++++++++++++++++++++++++++--------------
 1 files changed, 36 insertions(+), 14 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 f7aa975..d8aef81 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
@@ -19,6 +19,7 @@
 import com.fasterxml.jackson.databind.ObjectMapper;
 import org.springframework.stereotype.Service;
 
+import java.time.LocalDate;
 import java.util.List;
 import java.util.Map;
 
@@ -53,11 +54,25 @@
     }
 
     //娴佺▼鍗$鐞嗘煡璇�
-    public Map<String, Object> selectProcessCard(Integer pageNum, Integer pageSize, Date selectTime1, Date selectTime2, FlowCard flowCard) {
+    public Map<String, Object> selectProcessCard(Integer pageNum, Integer pageSize,List<String> selectDate, FlowCard flowCard) {
         Integer offset = (pageNum - 1) * pageSize;
+        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.selectFlowCard(offset, pageSize, selectTime1, selectTime2, flowCard));
-        map.put("total", flowCardMapper.getPageTotal(offset, pageSize, selectTime1, selectTime2, flowCard));
+        map.put("data", flowCardMapper.selectFlowCard(offset, pageSize, startDate, endDate, flowCard));
+        map.put("total", flowCardMapper.getPageTotal(offset, pageSize, startDate, endDate, flowCard));
+        List<String> list = new ArrayList<>();
+        list.add(startDate);
+        list.add(endDate);
+        map.put("selectDate",list);
         return map;
     }
 
@@ -217,6 +232,7 @@
     public Object flowCardDetailSv(String processId, FlowCard flowCard) {
         Map<String, Object> map = new HashMap<>();
         map.put("data", flowCardMapper.flowCardDetailMp(processId, flowCard));
+        map.put("merge", flowCardMapper.flowCardDetailMergeMp(processId));
         return map;
     }
 
@@ -864,23 +880,27 @@
 
     }
 
-    public String mergeFlowCard(Map<String, Object> object) {
+    public String mergeFlowCard(Map<String, Object> object, Integer merge) {
         String returns = "false";
         List<FlowCard> flowCardList = JSONArray.parseArray(JSONObject.toJSONString(object.get("flowCard")), FlowCard.class);
         if (!flowCardList.isEmpty()) {
             List<Map<String, Object>> flowCardList1 = flowCardMapper.selectFlowCardMerge(flowCardList.get(0).getProcessId());
-            int index = 1;
-            for (int i = 0; i < flowCardList1.size(); i++) {
-                if (Integer.valueOf(flowCardList1.get(i).get("count2").toString()) > 1) {
-                    List<Integer> technologyNumber = Arrays.stream(flowCardList1.get(i).get("count1").toString().split(","))
-                            .map(Integer::parseInt)
-                            .collect(Collectors.toList());
-                    flowCardMapper.updateFlowCardMerge(flowCardList.get(0).getProcessId(), technologyNumber, index);
-                    index += 1;
-                    returns = "true";
+            if (merge == 0){
+                int index = 1;
+                for (int i = 0; i < flowCardList1.size(); i++) {
+                    if (Integer.valueOf(flowCardList1.get(i).get("count2").toString()) > 1) {
+                        List<Integer> technologyNumber = Arrays.stream(flowCardList1.get(i).get("count1").toString().split(","))
+                                .map(Integer::parseInt)
+                                .collect(Collectors.toList());
+                        flowCardMapper.updateFlowCardMerge(flowCardList.get(0).getProcessId(), technologyNumber, index);
+                        index += 1;
+                        returns = "true";
+                    }
                 }
+            }else {//鍙栨秷鍚堝苟
+                flowCardMapper.updateFlowCardIsMerge(flowCardList.get(0).getProcessId());
+                returns = "true";
             }
-
 
         }
 
@@ -1174,6 +1194,7 @@
                     newOrderDetail.setLandingSequence(flowCardNo);
                     orderDetailList.add(newOrderDetail);
                     orderDetail.setQuantity(orderDetail.getQuantity() - shelfQuantity);
+                    orderDetail.setBaiscQuantity(String.valueOf(Integer.valueOf(orderDetail.getBaiscQuantity())-shelfQuantity));
                     flowCardNo += 1;
                     shelfQuantity = shelfQuantity - shelfQuantity;
                 } else {
@@ -1184,6 +1205,7 @@
                     newOrderDetail.setOrderNumber(orderDetail.getOrderNumber());
                     newOrderDetail.setShape(orderDetail.getShape());
                     newOrderDetail.setLandingSequence(flowCardNo);
+                    newOrderDetail.setBaiscQuantity(String.valueOf(orderDetail.getBaiscQuantity()));
                     orderDetailList.add(newOrderDetail);
                     //褰撳墠鏋跺瓙鍓╀綑鏁伴噺
                     shelfQuantity = shelfQuantity - Math.toIntExact(orderDetail.getQuantity());

--
Gitblit v1.8.0