From 7104751e2f26872d4891d01d42ee88cf19715d01 Mon Sep 17 00:00:00 2001
From: guoyujie <guoyujie@ng.com>
Date: 星期二, 08 七月 2025 17:46:01 +0800
Subject: [PATCH] Merge branch 'master' of http://bore.pub:10439/r/ERP_override
---
north-glass-erp/src/main/java/com/example/erp/service/pp/ReportService.java | 132 +++++++++++++++++++++++++++++++++++---------
1 files changed, 105 insertions(+), 27 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 15535be..55e4d39 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
@@ -3,20 +3,25 @@
import com.baomidou.dynamic.datasource.annotation.DS;
-import com.example.erp.dto.pp.DamageReportDTO;
-import com.example.erp.dto.pp.ScheduleProductionScheduleDTO;
-import com.example.erp.dto.pp.TeamOutputDTO;
-import com.example.erp.dto.pp.WorkInProgressDTO;
+import com.example.erp.dto.pp.*;
import com.example.erp.entity.pp.DamageDetails;
import com.example.erp.entity.pp.Report;
+import com.example.erp.mapper.pp.FlowCardMapper;
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")
@@ -26,11 +31,42 @@
private final OrderProcessDetailMapper orderProcessDetailMapper;
private final ProductionSchedulingMapper productionSchedulingMapper;
+ FlowCardMapper flowCardMapper;
- public ReportService(ReportMapper reportMapper, OrderProcessDetailMapper orderProcessDetailMapper, 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,FlowCardMapper flowCardMapper) {
this.reportMapper = reportMapper;
this.orderProcessDetailMapper = orderProcessDetailMapper;
this.productionSchedulingMapper = productionSchedulingMapper;
+ this.flowCardMapper = flowCardMapper;
}
//娴佺▼鍗¤繘搴︽柟娉�
@@ -89,7 +125,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);
@@ -103,7 +144,7 @@
return map;
}
- public Map<String, Object> crossProcessBreakingSv(Integer pageNum, Integer pageSize, List<String> selectDate, DamageDetails damageDetails) {
+ 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();
@@ -116,13 +157,12 @@
}
}
Map<String, Object> map = new HashMap<>();
- map.put("data", reportMapper.getProcessBreaking(offset, pageSize, startDate, endDate, damageDetails));
- map.put("total", reportMapper.getProcessBreakingTotal(offset, pageSize, startDate, endDate, damageDetails));
+ 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);
-// map.put("total",orderMapper.getPageTotal(offset, pageSize, startDate, endDate, orderDetail));
return map;
}
@@ -137,23 +177,38 @@
if ("null".equals(optionVal)) {
optionVal = ("");
}
-
+ if (selectProcesses.equals("鍏ㄩ儴")){
+ 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));
- 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());
@@ -170,6 +225,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;
}
@@ -178,12 +235,14 @@
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> splittingDetailsOutsideSv(String orderId, Report report) {
Map<String, Object> map = new HashMap<>();
map.put("data", reportMapper.splittingDetailsOutsideMp(orderId, report));
+ map.put("orderOtherMoney", flowCardMapper.selectorderOtherMoney());
return map;
}
@@ -344,6 +403,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));
@@ -355,7 +420,9 @@
}
public List exportDamageReportSv(List<LocalDate> dates) {
-
+ if (dates != null && dates.size() > 1) {
+ dates.set(1, dates.get(1).plusDays(1)); // 灏嗙浜屼釜鏃ユ湡鍔犱竴澶�
+ }
return reportMapper.exportDamageReportMp(dates);
}
@@ -378,8 +445,10 @@
}
public List exportWorkInProgressSv(Map<String, Object> dates) {
- List<LocalDate> date= (List<LocalDate>) dates.get("date");
String process= (String) dates.get("processes");
+ if (process.equals("鍏ㄩ儴")){
+ process="";
+ }
String inputVal= (String) dates.get("inputVal");
String project= (String) dates.get("project");
if ("null".equals(inputVal)) {
@@ -388,7 +457,11 @@
if ("null".equals(project)) {
project = "";
}
- return reportMapper.exportWorkInProgressMp(date,process,inputVal,project);
+ List<WorkInProgressDTO> dataList1 =reportMapper.exportWorkInProgressMp(process,inputVal,project);
+ List<WorkInProgressDTO> dataList2 =reportMapper.exportWorkInProgressMpdataList2(process);
+
+ mergeTeamsGroupsName(dataList1, dataList2);
+ return dataList1;
}
public List exportTaskCompletionStatusSv(Map<String, Object> dates) {
@@ -415,9 +488,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,7 +514,10 @@
public List exportTeamOutputSv(Map<String, Object> dates) {
List<LocalDate> date= (List<LocalDate>) dates.get("date");
String process= (String) dates.get("processes");
-
- return reportMapper.exportTeamOutputMp(date,process);
+ if (process.equals("鍏ㄩ儴")){
+ process="";
+ }
+ String laminating = reportMapper.getLaminating(process);
+ return reportMapper.exportTeamOutputMp(date,process,laminating);
}
}
--
Gitblit v1.8.0