From a3ad909e75ddb7a6271d95704dc002cc70337fd5 Mon Sep 17 00:00:00 2001
From: 廖井涛 <2265517004@qq.com>
Date: 星期一, 27 十月 2025 11:07:45 +0800
Subject: [PATCH] Merge branch 'master' of http://10.153.19.25:10105/r/ERP_override

---
 north-glass-erp/src/main/java/com/example/erp/service/pp/ReportService.java |  400 +++++++++++++++++++++++++++++++++++++++++++++++---------
 1 files changed, 334 insertions(+), 66 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 c579340..e02228a 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
@@ -4,6 +4,8 @@
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.TypeReference;
 import com.baomidou.dynamic.datasource.annotation.DS;
+import com.example.erp.common.AsyncQueryExecutor;
+import com.example.erp.tools.AreaComputed.*;
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
@@ -20,16 +22,20 @@
 import org.springframework.stereotype.Service;
 import org.springframework.util.StringUtils;
 
+import javax.annotation.PreDestroy;
+import javax.annotation.Resource;
 import java.lang.reflect.Field;
 import java.math.BigDecimal;
 import java.sql.Date;
 import java.sql.SQLOutput;
 import java.time.LocalDate;
 import java.util.*;
+import java.util.concurrent.*;
 import java.util.function.Function;
 import java.util.stream.Collectors;
 
 import static cn.hutool.core.convert.Convert.toDouble;
+import static com.example.erp.tools.AreaComputed.computeArea;
 
 @Service
 @DS("pp")
@@ -47,6 +53,9 @@
 
     FlowCardMapper flowCardMapper;
     private ReportingWorkMapper reportingWorkMapper;
+
+    @Resource
+    private AsyncQueryExecutor asyncExecutor;
 
 
     //涓婂伐搴忔姤宸ョ彮缁�
@@ -301,10 +310,37 @@
         return map;
     }
 
-    public Map<String, Object> crossProcessBreakingSv(Integer pageNum, Integer pageSize, List<String> selectDate, CrossProcessBreakingDTO crossProcessBreakingDTO) {
+//    public Map<String, Object> crossProcessBreakingSv(Integer pageNum, Integer pageSize, List<String> selectDate, CrossProcessBreakingDTO crossProcessBreakingDTO) {
+//        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", reportMapper.getProcessBreaking(offset, pageSize, startDate, endDate, crossProcessBreakingDTO));
+//        map.put("total", reportMapper.getProcessBreakingTotal(offset, pageSize, startDate, endDate, crossProcessBreakingDTO));
+//        List<String> list = new ArrayList<>();
+//        list.add(startDate);
+//        list.add(endDate);
+//        map.put("selectDate", list);
+//        return map;
+//    }
+
+    public Map<String, Object> crossProcessBreakingSv(Integer pageNum, Integer pageSize,
+                                                      List<String> selectDate,
+                                                      CrossProcessBreakingDTO crossProcessBreakingDTO) {
         Integer offset = (pageNum - 1) * pageSize;
+
+        // 榛樿鏃堕棿鑼冨洿锛氳繃鍘� 15 澶�
         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);
@@ -313,65 +349,171 @@
                 endDate = selectDate.get(1);
             }
         }
-        Map<String, Object> map = new HashMap<>();
-        map.put("data", reportMapper.getProcessBreaking(offset, pageSize, startDate, endDate, crossProcessBreakingDTO));
-        map.put("total", reportMapper.getProcessBreakingTotal(offset, pageSize, startDate, endDate, crossProcessBreakingDTO));
+
+        Map<String, Object> result = new HashMap<>();
+
+        // 浣跨敤寮傛绾跨▼姹�
+        String finalEndDate = endDate;
+        String finalStartDate = startDate;
+        CompletableFuture<List<CrossProcessBreakingDTO>> dataFuture = asyncExecutor.runAsync(() ->
+                reportMapper.getProcessBreaking(offset, pageSize, finalStartDate, finalEndDate, crossProcessBreakingDTO));
+
+        CompletableFuture<Map<String, Integer>> totalFuture = asyncExecutor.runAsync(() ->
+                reportMapper.getProcessBreakingTotal(offset, pageSize, finalStartDate, finalEndDate, crossProcessBreakingDTO));
+
+        // 绛夊緟涓や釜浠诲姟鎵ц瀹屾瘯
+        CompletableFuture.allOf(dataFuture, totalFuture).join();
+
+        try {
+            result.put("data", dataFuture.get());
+            result.put("total", totalFuture.get());
+        } catch (Exception e) {
+            e.printStackTrace();
+            throw new RuntimeException("骞惰鏌ヨ寮傚父锛�" + e.getMessage(), e);
+        }
+
         List<String> list = new ArrayList<>();
         list.add(startDate);
         list.add(endDate);
-        map.put("selectDate", list);
-        return map;
+        result.put("selectDate", list);
+
+        return result;
     }
 
-    public Map<String, Object> workInProgressSv(Integer pageNum, Integer pageSize, String orderId, String inputProject, String selectProcesses, String optionVal, WorkInProgressDTO workInProgressDTO) {
+//    public Map<String, Object> workInProgressSv(Integer pageNum, Integer pageSize, String orderId, String inputProject, String selectProcesses, String optionVal, WorkInProgressDTO workInProgressDTO) {
+//        Integer offset = (pageNum - 1) * pageSize;
+//        if ("null".equals(orderId)) {
+//            orderId = "";
+//        }
+//        if ("null".equals(inputProject)) {
+//            inputProject = "";
+//        }
+//        if ("null".equals(optionVal)) {
+//            optionVal = ("");
+//        }
+//        if (selectProcesses.equals("all")){
+//            selectProcesses="";
+//        }
+//        String laminating = reportMapper.getLaminating(selectProcesses);
+//        Map<String, Object> map = new HashMap<>();
+//        List<WorkInProgressDTO> dataList2  =reportMapper.workInProgressMpdataList2(offset, pageSize, orderId, inputProject, selectProcesses, workInProgressDTO);
+//        if (optionVal.equals("1")){
+//            /* 鏍规嵁閿�鍞崟鍙锋眹鎬�*/
+//            List<WorkInProgressDTO> dataList1  =reportMapper.workInProgressOrderMpList1(offset, pageSize, orderId, inputProject, selectProcesses, workInProgressDTO);
+//            mergeTeamsGroupsName(dataList1, dataList2);
+//            map.put("data",dataList1);
+//            map.put("total" ,reportMapper.workInProgressOrderFootSum(offset, pageSize,orderId, inputProject, selectProcesses, workInProgressDTO));
+//        }else if(optionVal.equals("2")){
+//            /* 鏍规嵁娴佺▼鍗″彿姹囨��*/
+//            List<WorkInProgressDTO> dataList1  =reportMapper.workInProgressProcessMpList1(offset, pageSize, orderId, inputProject, selectProcesses, workInProgressDTO);
+//            mergeTeamsGroupsName(dataList1, dataList2);
+//            map.put("data",dataList1);
+//            map.put("total" ,reportMapper.workInProgressOrderFootSum(offset, pageSize,orderId, inputProject, selectProcesses, workInProgressDTO));
+//
+//        } else if (optionVal.equals("3")) {
+//
+//        } else {
+//            //娌℃湁閫夋嫨鍒嗙粍
+//            List<WorkInProgressDTO> dataList1  =reportMapper.workInProgressMpdataList1(offset, pageSize, orderId, inputProject, selectProcesses,laminating, workInProgressDTO);
+//            mergeTeamsGroupsName(dataList1, dataList2);
+//            map.put("data",dataList1);
+//            map.put("total" ,reportMapper.workInProgressOrderFootSum(offset, pageSize,orderId, inputProject, selectProcesses, workInProgressDTO));
+//
+//        }
+//        map.put("process", productionSchedulingMapper.selectProcess());
+//        return map;
+//    }
+
+    public Map<String, Object> workInProgressSv(
+            Integer pageNum, Integer pageSize,
+            String orderId, String inputProject, String selectProcesses,
+            String optionVal, WorkInProgressDTO workInProgressDTO) {
+
         Integer offset = (pageNum - 1) * pageSize;
-        if ("null".equals(orderId)) {
-            orderId = "";
-        }
-        if ("null".equals(inputProject)) {
-            inputProject = "";
-        }
-        if ("null".equals(optionVal)) {
-            optionVal = ("");
-        }
-        if (selectProcesses.equals("鍏ㄩ儴")){
-            selectProcesses="";
-        }
+
+        if ("null".equals(orderId)) orderId = "";
+        if ("null".equals(inputProject)) inputProject = "";
+        if ("null".equals(optionVal)) optionVal = "";
+        if ("all".equals(selectProcesses)) selectProcesses = "";
+
         String laminating = reportMapper.getLaminating(selectProcesses);
-        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));
-            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));
-            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));
+        Map<String, Object> result = new HashMap<>();
 
-        } else if (optionVal.equals("3")) {
+        try {
+            // dataList2 鏄墍鏈夊垎缁勪笅鐨勫熀纭�鏁版嵁锛岀嫭绔嬫墽琛�
+            String finalOrderId = orderId;
+            String finalInputProject = inputProject;
+            String finalSelectProcesses = selectProcesses;
+            CompletableFuture<List<WorkInProgressDTO>> dataList2Future =
+                    asyncExecutor.runAsync(() ->
+                            reportMapper.workInProgressMpdataList2(
+                                    offset, pageSize, finalOrderId, finalInputProject, finalSelectProcesses, workInProgressDTO));
 
-        } else {
-            //娌℃湁閫夋嫨鍒嗙粍
-            //map.put("data", reportMapper.workInProgressMp(offset, pageSize, orderId, inputProject, selectProcesses, workInProgressDTO));
-            List<WorkInProgressDTO> dataList1  =reportMapper.workInProgressMpdataList1(offset, pageSize, orderId, inputProject, selectProcesses,laminating, workInProgressDTO);
+            CompletableFuture<List<WorkInProgressDTO>> dataList1Future;
+            CompletableFuture<Map<String, Float>> totalFuture;
+
+            // 鏍规嵁 optionVal 鍐冲畾鏌ヨ绫诲瀷
+            if ("1".equals(optionVal)) {
+                // 閿�鍞崟鍙锋眹鎬�
+                dataList1Future = asyncExecutor.runAsync(() ->
+                        reportMapper.workInProgressOrderMpList1(
+                                offset, pageSize, finalOrderId, finalInputProject, finalSelectProcesses, workInProgressDTO));
+
+                totalFuture = asyncExecutor.runAsync(() ->
+                        reportMapper.workInProgressOrderFootSum(
+                                offset, pageSize, finalOrderId, finalInputProject, finalSelectProcesses, workInProgressDTO));
+
+            } else if ("2".equals(optionVal)) {
+                // 娴佺▼鍗″彿姹囨��
+                dataList1Future = asyncExecutor.runAsync(() ->
+                        reportMapper.workInProgressProcessMpList1(
+                                offset, pageSize, finalOrderId, finalInputProject, finalSelectProcesses, workInProgressDTO));
+
+                totalFuture = asyncExecutor.runAsync(() ->
+                        reportMapper.workInProgressOrderFootSum(
+                                offset, pageSize, finalOrderId, finalInputProject, finalSelectProcesses, workInProgressDTO));
+
+            } else if ("3".equals(optionVal)) {
+                dataList1Future = asyncExecutor.runAsync(() ->
+                        reportMapper.workInProgressMpdataList1(
+                                offset, pageSize, finalOrderId, finalInputProject, finalSelectProcesses, laminating, workInProgressDTO));
+                totalFuture = asyncExecutor.runAsync(() ->
+                        reportMapper.workInProgressOrderFootSum(
+                                offset, pageSize, finalOrderId, finalInputProject, finalSelectProcesses, workInProgressDTO));
+
+            } else {
+                // 涓嶅垎缁�
+                dataList1Future = asyncExecutor.runAsync(() ->
+                        reportMapper.workInProgressMpdataList1(
+                                offset, pageSize, finalOrderId, finalInputProject, finalSelectProcesses, laminating, workInProgressDTO));
+
+                totalFuture = asyncExecutor.runAsync(() ->
+                        reportMapper.workInProgressOrderFootSum(
+                                offset, pageSize, finalOrderId, finalInputProject, finalSelectProcesses, workInProgressDTO));
+            }
+
+            // 绛夊緟鍏ㄩ儴浠诲姟瀹屾垚
+            CompletableFuture.allOf(dataList1Future, dataList2Future, totalFuture).join();
+
+            List<WorkInProgressDTO> dataList1 = dataList1Future.get();
+            List<WorkInProgressDTO> dataList2 = dataList2Future.get();
             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));
 
+            result.put("data", dataList1);
+            result.put("total", totalFuture.get());
+
+            // 骞惰鏌ヨ宸ュ簭淇℃伅
+            List<Map<String, String>> process = productionSchedulingMapper.selectProcess();
+            result.put("process", process);
+
+        } catch (Exception e) {
+            e.printStackTrace();
+            throw new RuntimeException("骞惰鏌ヨ鍦ㄥ埗鍝佷俊鎭紓甯革細" + e.getMessage(), e);
         }
-        map.put("process", productionSchedulingMapper.selectProcess());
-        return map;
+
+        return result;
     }
+
 
     public Map<String, Object> selectProcessToBeCompletedSv(Date selectTime1, Date selectTime2, String orderId, String inputProject, String selectProcesses, Report report) {
         if ("null".equals(orderId)) {
@@ -388,13 +530,45 @@
         return map;
     }
 
-    public Map<String, Object> selectDamageReportSv(Integer pageNum, Integer pageSize, String selectTime1, String selectTime2, DamageReportDTO damageReportDTO) {
+//    public Map<String, Object> selectDamageReportSv(Integer pageNum, Integer pageSize, String selectTime1, String selectTime2, DamageReportDTO damageReportDTO) {
+//        Integer offset = (pageNum - 1) * pageSize;
+//        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;
+//    }
+
+    public Map<String, Object> selectDamageReportSv(Integer pageNum, Integer pageSize,
+                                                    String selectTime1, String selectTime2,
+                                                    DamageReportDTO damageReportDTO) {
         Integer offset = (pageNum - 1) * pageSize;
-        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;
+        Map<String, Object> result = new HashMap<>();
+
+        // 寮傛浠诲姟瀹氫箟
+
+        CompletableFuture<List<DamageReportDTO>> dataFuture = asyncExecutor.runAsync(() ->
+                reportMapper.selectDamageReportMp(offset, pageSize, selectTime1, selectTime2, damageReportDTO));
+
+        CompletableFuture<Map<String, Integer>> totalFuture = asyncExecutor.runAsync(() ->
+                reportMapper.getDamageReportPageTotal(offset, pageSize, selectTime1, selectTime2, damageReportDTO));
+
+        CompletableFuture<Map<String, Float>> footSumFuture = asyncExecutor.runAsync(() ->
+                reportMapper.damageReportFootSum(selectTime1, selectTime2, damageReportDTO));
+
+        //绛夊緟鍏ㄩ儴浠诲姟瀹屾垚
+        CompletableFuture.allOf(dataFuture, totalFuture, footSumFuture).join();
+
+        try {
+            result.put("data", dataFuture.get());
+            result.put("total", totalFuture.get());
+            result.put("footSum", footSumFuture.get());
+        } catch (Exception e) {
+            e.printStackTrace();
+            throw new RuntimeException("骞惰鏌ヨ寮傚父锛�" + e.getMessage(), e);
+        }
+
+        return result;
     }
 
     public Map<String, Object> splittingDetailsOutsideSv(String orderId, Report report) {
@@ -616,7 +790,7 @@
 
     public List exportWorkInProgressSv(Map<String, Object> dates) {
         String process= (String) dates.get("processes");
-        if (process.equals("鍏ㄩ儴")){
+        if (process.equals("all")){
             process="";
         }
         String inputVal= (String) dates.get("inputVal");
@@ -652,18 +826,61 @@
         return reportMapper.exportYieldMp(date,process);
     }
 
-    public Map<String, Object> teamOutputSv(Integer pageNum, Integer pageSize, String selectTime1, String selectTime2, String selectProcesses, TeamOutputDTO teamOutputDTO) {
-        if (selectProcesses.equals("鍏ㄩ儴")){
-            selectProcesses="";
+//    public Map<String, Object> teamOutputSv(Integer pageNum, Integer pageSize, String selectTime1, String selectTime2, String selectProcesses, TeamOutputDTO teamOutputDTO) {
+//        if (selectProcesses.equals("all")){
+//            selectProcesses="";
+//        }
+//        Integer offset = (pageNum - 1) * pageSize;
+//        Map<String, Object> map = new HashMap<>();
+//        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,laminating, teamOutputDTO));
+//        map.put("footSum" ,reportMapper.teamOutputFootSum(selectTime1, selectTime2,selectProcesses,laminating, teamOutputDTO));
+//        return map;
+//    }
+
+    public Map<String, Object> teamOutputSv(Integer pageNum, Integer pageSize,
+                                            String selectTime1, String selectTime2,
+                                            String selectProcesses, TeamOutputDTO teamOutputDTO) {
+        if ("all".equals(selectProcesses)) {
+            selectProcesses = "";
         }
+
         Integer offset = (pageNum - 1) * pageSize;
-        Map<String, Object> map = new HashMap<>();
+        Map<String, Object> result = new HashMap<>();
+
         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,laminating, teamOutputDTO));
-        map.put("footSum" ,reportMapper.teamOutputFootSum(selectTime1, selectTime2,selectProcesses,laminating, teamOutputDTO));
-        return map;
+
+        String finalSelectProcesses = selectProcesses;
+        CompletableFuture<List<TeamOutputDTO>> dataFuture = asyncExecutor.runAsync(() ->
+                reportMapper.teamOutputMp(offset, pageSize, selectTime1, selectTime2, finalSelectProcesses, laminating, teamOutputDTO));
+
+        CompletableFuture<List<Map<String, String>>> processFuture = asyncExecutor.runAsync(() ->
+                productionSchedulingMapper.selectProcess());
+
+        CompletableFuture<Map<String, Integer>> totalFuture = asyncExecutor.runAsync(() ->
+                reportMapper.teamOutputPageTotal(offset, pageSize, selectTime1, selectTime2, finalSelectProcesses, laminating, teamOutputDTO));
+
+
+        CompletableFuture<Map<String, Float>> footSumFuture = asyncExecutor.runAsync(() ->
+                reportMapper.teamOutputFootSum(selectTime1, selectTime2, finalSelectProcesses, laminating, teamOutputDTO));
+
+        // 绛夊緟鎵�鏈変换鍔″畬鎴�
+        CompletableFuture.allOf(dataFuture, processFuture, totalFuture, footSumFuture).join();
+
+        try {
+            result.put("data", dataFuture.get());
+            result.put("process", processFuture.get());
+            result.put("total", totalFuture.get());
+            result.put("footSum", footSumFuture.get());
+        } catch (Exception e) {
+            e.printStackTrace();
+            throw new RuntimeException("骞惰鏌ヨ寮傚父锛�" + e.getMessage(), e);
+        }
+
+        return result;
     }
 
     public Map<String, Object> scheduleProductionScheduleSv(Integer pageNum, Integer pageSize, Date selectTime1, Date selectTime2, String processes, ScheduleProductionScheduleDTO scheduleProductionScheduleDTO) {
@@ -684,7 +901,7 @@
     public List exportTeamOutputSv(Map<String, Object> dates) {
         List<LocalDate> date= (List<LocalDate>) dates.get("date");
         String process= (String) dates.get("processes");
-        if (process.equals("鍏ㄩ儴")){
+        if (process.equals("all")){
             process="";
         }
         String laminating = reportMapper.getLaminating(process);
@@ -709,6 +926,41 @@
         return list;
     }
 
+    public Map<String, Object> workInProgressCombinationProcessSv(
+            Integer pageNum, Integer pageSize,
+            String orderId, String inputProject, String selectProcesses,
+            String optionVal, WorkInProgressDTO workInProgressDTO) {
+
+        Integer offset = (pageNum - 1) * pageSize;
+
+        if ("null".equals(orderId)) {
+            orderId = "";
+        }
+        if ("null".equals(inputProject)) {
+            inputProject = "";
+        }
+        if ("null".equals(optionVal)) {
+            optionVal = "";
+        }
+        if ("all".equals(selectProcesses)) {
+            selectProcesses = "";
+        }
+
+        String laminating = "";
+        Map<String, Object> map = new HashMap<>();
+        Map<String, Double> totalSumMap = new HashMap<>();
+
+        double totalStockNum = 0;
+        double totalStockArea = 0;
+
+
+
+
+        map.put("process", productionSchedulingMapper.selectProcess());
+
+        return map;
+    }
+
     public Map<String, Object> workInProgressCombinationSv(
             Integer pageNum, Integer pageSize,
             String orderId, String inputProject, String selectProcesses,
@@ -725,7 +977,7 @@
         if ("null".equals(optionVal)) {
             optionVal = "";
         }
-        if ("鍏ㄩ儴".equals(selectProcesses)) {
+        if ("all".equals(selectProcesses)) {
             selectProcesses = "";
         }
 
@@ -803,7 +1055,7 @@
 
     public List exportWorkInProgressCombinationSv(Map<String, Object> dates) {
         String process= (String) dates.get("processes");
-        if (process.equals("鍏ㄩ儴")){
+        if (process.equals("all")){
             process="";
         }
         String inputVal= (String) dates.get("inputVal");
@@ -1180,4 +1432,20 @@
         map.put("process", productionSchedulingMapper.selectProcess());
         return map;
     }
+
+    public Map<String, Object> selectProcessCompletedSv(Date selectTime1, Date selectTime2, String orderId, String inputProject, String selectProcesses, Report report) {
+        if ("null".equals(orderId)) {
+            orderId = "";
+        }
+        if ("null".equals(inputProject)) {
+            inputProject = "";
+        }
+        Map<String, Object> map = new HashMap<>();
+        String laminating = reportMapper.getLaminating(selectProcesses);
+        map.put("data", reportMapper.selectProcessCompletedMp(selectTime1, selectTime2, orderId, inputProject, selectProcesses,laminating, report));
+        map.put("process", productionSchedulingMapper.selectProcess());
+        map.put("footSum" ,reportMapper.processToBeCompletedFootSum(selectTime1, selectTime2, orderId, inputProject, selectProcesses, report));
+
+        return map;
+    }
 }

--
Gitblit v1.8.0