From 5cd9288f8ff95696ebbb88fa9c5a7f0322aeb699 Mon Sep 17 00:00:00 2001
From: 廖井涛 <2265517004@qq.com>
Date: 星期二, 28 十月 2025 13:42:31 +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 | 100 ++++++++++++++++++++++++++++++++++++++++++--------
1 files changed, 84 insertions(+), 16 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..c5241eb 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;
}
//鍒犻櫎鎶ュ伐
@@ -1492,13 +1560,13 @@
public List<BasicDataProduce> selectEquipmentByProcessSv(String process) {
return reportingWorkMapper.SelectWorkBasicDeviceMp(process);
- }
+ }
public String saveWorkStorage(Map<String, Object> object) {
//List<Map<String, Object>> flowCard = reportingWorkMapper.getStorageData();
//finishedGoodsInventoryService.addSelectWarehousing(object);
return null;
- }
+ }
public Map<String, Object> mesBasicDataSv() {
Map<String, Object> map = new HashMap<>();
--
Gitblit v1.8.0