From ec37ee18e2467fbde0eeb1539dcdb846f48ad59f Mon Sep 17 00:00:00 2001
From: 廖井涛 <2265517004@qq.com>
Date: 星期四, 03 七月 2025 09:14:37 +0800
Subject: [PATCH] Merge branch 'master' of http://10.153.19.25:10101/r/ERP_override

---
 north-glass-erp/src/main/java/com/example/erp/service/pp/ReportService.java |   99 +++++++++++++++++++++++++++++++++++++++++--------
 1 files changed, 83 insertions(+), 16 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 2e5958a..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) {
@@ -86,7 +121,12 @@
             getRowCount.forEach(row -> {
                 Map<String, Integer> getRow = new HashMap<>();
                 // { row: 0, col: 1, rowspan: 3, colspan: 0},
-                getRow.put("row", row.get("RowNum"));
+                Object rowNumObj = row.get("RowNum");
+                if (rowNumObj instanceof Double) {
+                    getRow.put("row", ((Double) rowNumObj).intValue());
+                } else if (rowNumObj instanceof Integer) {
+                    getRow.put("row", (Integer) rowNumObj);
+                }
                 getRow.put("col", col);
                 getRow.put("rowspan", row.get("rowCount"));
                 getRow.put("colspan", 0);
@@ -119,7 +159,6 @@
         list.add(startDate);
         list.add(endDate);
         map.put("selectDate", list);
-//        map.put("total",orderMapper.getPageTotal(offset, pageSize, startDate, endDate, orderDetail));
         return map;
     }
 
@@ -136,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());
@@ -167,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;
     }
 
@@ -175,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;
     }
 
@@ -341,6 +397,12 @@
         return map;
     }
 
+    public Map<String, Object> orderReportingWorks(Date selectTime1, Date selectTime2, Report report) {
+        Map<String, Object> map = new HashMap<>();
+        map.put("data", reportMapper.orderReportingWorks(selectTime1, selectTime2, report));
+        return map;
+    }
+
     public Map<String, Object> rawMaterialRequisitionSv(Date selectTime1, Date selectTime2, Report report) {
         Map<String, Object> map = new HashMap<>();
         map.put("data", reportMapper.rawMaterialRequisitionMp(selectTime1, selectTime2, report));
@@ -352,7 +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);
     }
 
@@ -375,7 +440,6 @@
     }
 
     public List exportWorkInProgressSv(Map<String, Object> dates) {
-        //List<LocalDate> date= (List<LocalDate>) dates.get("date");
         String process= (String) dates.get("processes");
         String inputVal= (String) dates.get("inputVal");
         String project= (String) dates.get("project");
@@ -412,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;
     }
 
@@ -439,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