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/ReportingWorkService.java | 96 +++++++++++++++++++++++++++++++++++++++++-------
1 files changed, 82 insertions(+), 14 deletions(-)
diff --git a/north-glass-erp/src/main/java/com/example/erp/service/pp/ReportingWorkService.java b/north-glass-erp/src/main/java/com/example/erp/service/pp/ReportingWorkService.java
index 93eae91..2df6623 100644
--- a/north-glass-erp/src/main/java/com/example/erp/service/pp/ReportingWorkService.java
+++ b/north-glass-erp/src/main/java/com/example/erp/service/pp/ReportingWorkService.java
@@ -7,6 +7,7 @@
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
+import com.example.erp.common.AsyncQueryExecutor;
import com.example.erp.common.Constants;
import com.example.erp.dto.pp.OrderNumberTransferDTO;
import com.example.erp.entity.pp.*;
@@ -34,12 +35,16 @@
import org.springframework.transaction.interceptor.TransactionAspectSupport;
import org.springframework.web.client.RestTemplate;
+
+import javax.annotation.PreDestroy;
+import javax.annotation.Resource;
import java.text.SimpleDateFormat;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.LocalTime;
import java.time.format.DateTimeFormatter;
import java.util.*;
+import java.util.concurrent.CompletableFuture;
@Service
@DS("pp")
@@ -70,7 +75,8 @@
private final BasicDataMapper basicDataMapper;
private final FinishedGoodsInventoryService finishedGoodsInventoryService;
-
+ @Resource
+ private AsyncQueryExecutor asyncExecutor;
/*public ReportingWorkService(ReportingWorkMapper reportingWorkMapper, BasicDateProduceMapper basicDateProduceMapper, DamageDetailsMapper damageDetailsMapper, ReportingWorkDetailMapper reportingWorkDetailMapper, OrderProcessDetailMapper orderProcessDetailMapper, OrderProcessDetailService orderProcessDetailService, OrderMapper orderMapper, FlowCardMapper flowCardMapper, LogService logService, LogMapper logMapper, OrderGlassDetailMapper orderGlassDetailMapper, SysErrorService sysErrorService, OrderDetailMapper orderDetailMapper, FinishedOperateLogMapper finishedOperateLogMapper, ReportingWorkTransferMapper reportingWorkTransferMapper) {
this.reportingWorkMapper = reportingWorkMapper;
this.basicDateProduceMapper = basicDateProduceMapper;
@@ -811,30 +817,92 @@
}
//鎶ュ伐绠$悊鏌ヨ
- public Map<String, Object> selectReportingWorkSv(Integer pageNum, Integer pageSize, List<String> selectDate, String orderId, ReportingWork reportingWork) {
+// public Map<String, Object> selectReportingWorkSv(Integer pageNum, Integer pageSize, List<String> selectDate, String orderId, ReportingWork reportingWork) {
+// Integer offset = (pageNum - 1) * pageSize;
+// if ("null".equals(orderId)) {
+// orderId = "";
+// }
+// String endDate = LocalDate.now().toString();
+// String startDate = LocalDate.now().minusDays(3).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", reportingWorkMapper.selectReportingWorkMp(offset, pageSize, startDate, endDate, orderId, reportingWork));
+// map.put("total" ,reportingWorkMapper.getFootSum(offset, pageSize, startDate, endDate, orderId, reportingWork));
+// List<String> list = new ArrayList<>();
+// list.add(startDate);
+// list.add(endDate);
+// map.put("selectDate",list);
+// return map;
+// }
+
+
+ public Map<String, Object> selectReportingWorkSv(
+ Integer pageNum, Integer pageSize,
+ List<String> selectDate, String orderId,
+ ReportingWork reportingWork) {
+
Integer offset = (pageNum - 1) * pageSize;
+
if ("null".equals(orderId)) {
orderId = "";
}
+
+ // 榛樿鏃堕棿锛氭渶杩� 3 澶�
String endDate = LocalDate.now().toString();
String startDate = LocalDate.now().minusDays(3).toString();
- if(selectDate !=null && selectDate.size()==2){
- if(!selectDate.get(0).isEmpty()){
+
+ // 濡傛灉浼犲叆鑷畾涔夋棩鏈�
+ if (selectDate != null && selectDate.size() == 2) {
+ if (!selectDate.get(0).isEmpty()) {
startDate = selectDate.get(0);
}
- if(!selectDate.get(1).isEmpty()){
+ if (!selectDate.get(1).isEmpty()) {
endDate = selectDate.get(1);
}
}
- Map<String, Object> map = new HashMap<>();
- map.put("data", reportingWorkMapper.selectReportingWorkMp(offset, pageSize, startDate, endDate, orderId, reportingWork));
- // map.put("total", reportingWorkMapper.getPageTotal(offset, pageSize, selectTime1, selectTime2, orderId, reportingWork));
- map.put("total" ,reportingWorkMapper.getFootSum(offset, pageSize, startDate, endDate, orderId, reportingWork));
- List<String> list = new ArrayList<>();
- list.add(startDate);
- list.add(endDate);
- map.put("selectDate",list);
- return map;
+
+ Map<String, Object> result = new HashMap<>();
+
+ try {
+ // 骞惰鎵ц涓ゆ潯 SQL 鏌ヨ
+ String finalStartDate = startDate;
+ String finalEndDate = endDate;
+ String finalOrderId = orderId;
+ CompletableFuture<List<ReportingWork>> dataFuture =
+ asyncExecutor.runAsync(() ->
+ reportingWorkMapper.selectReportingWorkMp(
+ offset, pageSize, finalStartDate, finalEndDate, finalOrderId, reportingWork));
+
+ CompletableFuture<Map<String, Float>> totalFuture =
+ asyncExecutor.runAsync(() ->
+ reportingWorkMapper.getFootSum(
+ offset, pageSize, finalStartDate, finalEndDate, finalOrderId, reportingWork));
+
+ // 绛夊緟鍏ㄩ儴瀹屾垚
+ CompletableFuture.allOf(dataFuture, totalFuture).join();
+
+ result.put("data", dataFuture.get());
+ result.put("total", totalFuture.get());
+
+ // 鏃ユ湡鑼冨洿
+ List<String> list = new ArrayList<>();
+ list.add(startDate);
+ list.add(endDate);
+ result.put("selectDate", list);
+
+ } catch (Exception e) {
+ e.printStackTrace();
+ throw new RuntimeException("骞惰鏌ヨ鎶ュ伐璁板綍寮傚父锛�" + e.getMessage(), e);
+ }
+
+ return result;
}
//鍒犻櫎鎶ュ伐
--
Gitblit v1.8.0