From 6edb8b29c0b4ab9dd81f824eb5f24fa17cf6fe13 Mon Sep 17 00:00:00 2001
From: chenlu <1320612696@qq.com>
Date: 星期三, 02 七月 2025 14:07:18 +0800
Subject: [PATCH] 可编辑标签打印添加订单总数字段

---
 north-glass-erp/src/main/java/com/example/erp/service/pp/ReportService.java |   81 +++++++++++++++++++++++++++++++++++-----
 1 files changed, 70 insertions(+), 11 deletions(-)

diff --git a/north-glass-erp/src/main/java/com/example/erp/service/pp/ReportService.java b/north-glass-erp/src/main/java/com/example/erp/service/pp/ReportService.java
index 91cd256..62599e4 100644
--- a/north-glass-erp/src/main/java/com/example/erp/service/pp/ReportService.java
+++ b/north-glass-erp/src/main/java/com/example/erp/service/pp/ReportService.java
@@ -9,11 +9,18 @@
 import com.example.erp.mapper.pp.ProductionSchedulingMapper;
 import com.example.erp.mapper.pp.ReportMapper;
 import com.example.erp.mapper.sd.OrderProcessDetailMapper;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.context.annotation.Bean;
+import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor;
 import org.springframework.stereotype.Service;
+import org.springframework.util.StringUtils;
 
 import java.sql.Date;
 import java.time.LocalDate;
 import java.util.*;
+import java.util.concurrent.Executor;
+import java.util.function.Function;
+import java.util.stream.Collectors;
 
 @Service
 @DS("pp")
@@ -22,6 +29,34 @@
 
     private final OrderProcessDetailMapper orderProcessDetailMapper;
     private final ProductionSchedulingMapper productionSchedulingMapper;
+
+
+    private void mergeTeamsGroupsName(
+            List<WorkInProgressDTO> dataList1,
+            List<WorkInProgressDTO> dataList2
+    ) {
+        Function<WorkInProgressDTO, String> keyFn = dto ->
+                dto.getProcessId() + "|" +
+                        dto.getOrderNumber() + "|" +
+                        dto.getTechnologyNumber();
+
+        Map<String, WorkInProgressDTO> map2 = dataList2.stream()
+                .collect(Collectors.toMap(
+                        keyFn,
+                        Function.identity(),
+                        (existing, replacement) -> existing
+                ));
+
+        for (WorkInProgressDTO dto1 : dataList1) {
+            WorkInProgressDTO dto2 = map2.get(keyFn.apply(dto1));
+            if (dto2 != null) {
+                String tgn = dto2.getTeamsGroupsName();
+                if (StringUtils.hasText(tgn)) {
+                    dto1.setTeamsGroupsName(tgn);
+                }
+            }
+        }
+    }
 
 
     public ReportService(ReportMapper reportMapper, OrderProcessDetailMapper orderProcessDetailMapper, ProductionSchedulingMapper productionSchedulingMapper) {
@@ -140,21 +175,35 @@
         }
 
         Map<String, Object> map = new HashMap<>();
+        List<WorkInProgressDTO> dataList2  =reportMapper.workInProgressMpdataList2(offset, pageSize, orderId, inputProject, selectProcesses, workInProgressDTO);
+
         if (optionVal.equals("1")){
             /* 鏍规嵁閿�鍞崟鍙锋眹鎬�*/
-            map.put("data", reportMapper.workInProgressOrderMp(offset, pageSize, orderId, inputProject, selectProcesses, workInProgressDTO));
-            map.put("total", reportMapper.workInProgressOrderTotal(offset, pageSize, orderId, inputProject, selectProcesses, workInProgressDTO));
-
+            //map.put("data", reportMapper.workInProgressOrderMp(offset, pageSize, orderId, inputProject, selectProcesses, workInProgressDTO));
+            List<WorkInProgressDTO> dataList1  =reportMapper.workInProgressOrderMpList1(offset, pageSize, orderId, inputProject, selectProcesses, workInProgressDTO);
+            mergeTeamsGroupsName(dataList1, dataList2);
+            map.put("data",dataList1);
+            // map.put("total", reportMapper.workInProgressOrderTotal(offset, pageSize, orderId, inputProject, selectProcesses, workInProgressDTO));
+            map.put("total" ,reportMapper.workInProgressOrderFootSum(offset, pageSize,orderId, inputProject, selectProcesses, workInProgressDTO));
         }else if(optionVal.equals("2")){
-            /* 鏍规祦绋嬪崱鍙锋眹鎬�*/
-            map.put("data", reportMapper.workInProgressProcessMp(offset, pageSize, orderId, inputProject, selectProcesses, workInProgressDTO));
-            map.put("total", reportMapper.workInProgressProcessTotal(offset, pageSize, orderId, inputProject, selectProcesses, workInProgressDTO));
+            /* 鏍规嵁娴佺▼鍗″彿姹囨��*/
+            //map.put("data", reportMapper.workInProgressProcessMp(offset, pageSize, orderId, inputProject, selectProcesses, workInProgressDTO));
+            List<WorkInProgressDTO> dataList1  =reportMapper.workInProgressProcessMpList1(offset, pageSize, orderId, inputProject, selectProcesses, workInProgressDTO);
+            mergeTeamsGroupsName(dataList1, dataList2);
+            map.put("data",dataList1);
+            // map.put("total", reportMapper.workInProgressProcessTotal(offset, pageSize, orderId, inputProject, selectProcesses, workInProgressDTO));
+            map.put("total" ,reportMapper.workInProgressOrderFootSum(offset, pageSize,orderId, inputProject, selectProcesses, workInProgressDTO));
+
         } else if (optionVal.equals("3")) {
 
         } else {
             //娌℃湁閫夋嫨鍒嗙粍
-            map.put("data", reportMapper.workInProgressMp(offset, pageSize, orderId, inputProject, selectProcesses, workInProgressDTO));
-            map.put("total", reportMapper.workInProgressTotal(offset, pageSize, orderId, inputProject, selectProcesses, workInProgressDTO));
+            //map.put("data", reportMapper.workInProgressMp(offset, pageSize, orderId, inputProject, selectProcesses, workInProgressDTO));
+            List<WorkInProgressDTO> dataList1  =reportMapper.workInProgressMpdataList1(offset, pageSize, orderId, inputProject, selectProcesses, workInProgressDTO);
+            mergeTeamsGroupsName(dataList1, dataList2);
+            map.put("data",dataList1);
+            //map.put("total", reportMapper.workInProgressTotal(offset, pageSize, orderId, inputProject, selectProcesses, workInProgressDTO));
+            map.put("total" ,reportMapper.workInProgressOrderFootSum(offset, pageSize,orderId, inputProject, selectProcesses, workInProgressDTO));
 
         }
         map.put("process", productionSchedulingMapper.selectProcess());
@@ -171,6 +220,8 @@
         Map<String, Object> map = new HashMap<>();
         map.put("data", reportMapper.processToBeCompletedMp(selectTime1, selectTime2, orderId, inputProject, selectProcesses, report));
         map.put("process", productionSchedulingMapper.selectProcess());
+        map.put("footSum" ,reportMapper.processToBeCompletedFootSum(selectTime1, selectTime2, orderId, inputProject, selectProcesses, report));
+
         return map;
     }
 
@@ -179,6 +230,7 @@
         Map<String, Object> map = new HashMap<>();
         map.put("data", reportMapper.selectDamageReportMp(offset, pageSize, selectTime1, selectTime2, damageReportDTO));
         map.put("total", reportMapper.getDamageReportPageTotal(offset, pageSize, selectTime1, selectTime2, damageReportDTO));
+        map.put("footSum" ,reportMapper.damageReportFootSum(selectTime1, selectTime2, damageReportDTO));
         return map;
     }
 
@@ -362,6 +414,10 @@
     }
 
     public List exportDamageReportSv(List<LocalDate> dates) {
+        if (dates != null && dates.size() > 1) {
+            dates.set(1, dates.get(1).plusDays(1)); // 灏嗙浜屼釜鏃ユ湡鍔犱竴澶�
+        }
+        System.out.println(dates);
         return reportMapper.exportDamageReportMp(dates);
     }
 
@@ -420,9 +476,11 @@
         }
         Integer offset = (pageNum - 1) * pageSize;
         Map<String, Object> map = new HashMap<>();
-        map.put("data", reportMapper.teamOutputMp(offset, pageSize, selectTime1, selectTime2,selectProcesses, teamOutputDTO));
+        String laminating = reportMapper.getLaminating(selectProcesses);
+        map.put("data", reportMapper.teamOutputMp(offset, pageSize, selectTime1, selectTime2,selectProcesses,laminating, teamOutputDTO));
         map.put("process", productionSchedulingMapper.selectProcess());
-        map.put("total", reportMapper.teamOutputPageTotal(offset, pageSize, selectTime1, selectTime2,selectProcesses, teamOutputDTO));
+        map.put("total", reportMapper.teamOutputPageTotal(offset, pageSize, selectTime1, selectTime2,selectProcesses,laminating, teamOutputDTO));
+        map.put("footSum" ,reportMapper.teamOutputFootSum(selectTime1, selectTime2,selectProcesses,laminating, teamOutputDTO));
         return map;
     }
 
@@ -447,6 +505,7 @@
         if (process.equals("鍏ㄩ儴")){
             process="";
         }
-        return reportMapper.exportTeamOutputMp(date,process);
+        String laminating = reportMapper.getLaminating(process);
+        return reportMapper.exportTeamOutputMp(date,process,laminating);
     }
 }

--
Gitblit v1.8.0