From 728621ba2f24bb9f41c7f2cd1c6cdc990247928c Mon Sep 17 00:00:00 2001
From: zhanghl <253316343@qq.com>
Date: 星期四, 15 五月 2025 16:58:36 +0800
Subject: [PATCH] 优化同步WorkOrder:先全部删除,再进行同步
---
aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsPlateProcessShopStatServiceImpl.java | 190 ++++++++++++++++++++++++++++++++++++++---------
1 files changed, 154 insertions(+), 36 deletions(-)
diff --git a/aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsPlateProcessShopStatServiceImpl.java b/aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsPlateProcessShopStatServiceImpl.java
index c627314..10103b4 100644
--- a/aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsPlateProcessShopStatServiceImpl.java
+++ b/aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsPlateProcessShopStatServiceImpl.java
@@ -1,5 +1,6 @@
package com.aps.core.service.impl;
+import java.text.SimpleDateFormat;
import java.util.*;
import java.util.stream.Collectors;
@@ -130,7 +131,7 @@
// 瀹氫箟璇ュ姛鑳戒娇鐢ㄦ暟鎹簮涓哄崡閫氱殑宸ュ巶
final String plant = "FORTUNA";
-
+ final String major="閽i噾";
// 鏌ヨ鐩稿叧鏁版嵁
ApsPlatePlan platePlan = new ApsPlatePlan();
platePlan.setPlant(plant);
@@ -144,6 +145,7 @@
ApsStandardProcess process = new ApsStandardProcess();
process.setPlant(plant);
+ process.setMajor(major);
List<ApsStandardProcess> shopProcesses = standardProcessMapper.selectApsStandardProcessList(process);
if (planList.isEmpty() || shopList.isEmpty() || shopProcesses.isEmpty()) {
log.warn("璁″垝鍒楄〃銆佽溅闂村垪琛ㄦ垨宸ュ簭鍒楄〃涓虹┖锛屾棤娉曠敓鎴愮粺璁′俊鎭�");
@@ -190,7 +192,8 @@
stat.setDelFlag("0");
stat.setCreateBy(SecurityUtils.getUsername());
stat.setCreateTime(DateUtils.getNowDate());
-
+ stat.setWorkCenter(plan.getWorkCenter());
+ stat.setProcessNumber(plan.getProcessNumber());
try {
@@ -316,7 +319,6 @@
List<ApsPlateProcessShopPlanStat> table= (List<ApsPlateProcessShopPlanStat>)stat.get("data");
SXSSFSheet sheet = wb.getSheetAt(0);
/*濉啓鏃ユ湡鍒� 鍜� 宸ユ椂鍒�*/
-
SXSSFRow rowTitle = sheet.createRow(0);
SXSSFCell mainPartNumberTitle = rowTitle.createCell(0);
mainPartNumberTitle.setCellValue("涓讳欢鏂欏彿");
@@ -338,90 +340,202 @@
documentStatusTitle.setCellValue("鍗曟嵁鐘舵��");
documentStatusTitle.setCellStyle(title);
- SXSSFCell workCenterTitle = rowTitle.createCell(5);
+ SXSSFCell approveDateTitle = rowTitle.createCell(5);
+ approveDateTitle.setCellValue("瀹℃牳鏃堕棿");
+ approveDateTitle.setCellStyle(title);
+
+ SXSSFCell workCenterTitle = rowTitle.createCell(6);
workCenterTitle.setCellValue("褰撳墠宸ュ簭");
workCenterTitle.setCellStyle(title);
- SXSSFCell itemNumberTitle = rowTitle.createCell(6);
+ SXSSFCell departmentTitle = rowTitle.createCell(7);
+ departmentTitle.setCellValue("褰撳墠宸ュ簭璐熻矗浜�");
+ departmentTitle.setCellStyle(title);
+
+ SXSSFCell crtPcsStsTitle = rowTitle.createCell(8);
+ crtPcsStsTitle.setCellValue("褰撳墠宸ュ簭鐘舵��");
+ crtPcsStsTitle.setCellStyle(title);
+
+ SXSSFCell nextProcessTitle = rowTitle.createCell(9);
+ nextProcessTitle.setCellValue("涓嬩竴宸ュ簭");
+ nextProcessTitle.setCellStyle(title);
+
+
+ SXSSFCell nextProcessDeparmentTitle = rowTitle.createCell(10);
+ nextProcessDeparmentTitle.setCellValue("涓嬩竴宸ュ簭璐熻矗浜�");
+ nextProcessDeparmentTitle.setCellStyle(title);
+
+ SXSSFCell itemNumberTitle = rowTitle.createCell(11);
itemNumberTitle.setCellValue("鏂欏彿");
itemNumberTitle.setCellStyle(title);
- SXSSFCell drawingNoTitle = rowTitle.createCell(7);
+ SXSSFCell drawingNoTitle = rowTitle.createCell(12);
drawingNoTitle.setCellValue("鍥惧彿");
drawingNoTitle.setCellStyle(title);
- SXSSFCell versionNumberTitle = rowTitle.createCell(8);
+ SXSSFCell versionNumberTitle = rowTitle.createCell(13);
versionNumberTitle.setCellValue("鐗堟湰鍙�");
versionNumberTitle.setCellStyle(title);
- SXSSFCell productionQuantityTitle = rowTitle.createCell(9);
+ SXSSFCell lowNumTitle = rowTitle.createCell(14);
+ lowNumTitle.setCellValue("浣庨樁鐮�");
+ lowNumTitle.setCellStyle(title);
+
+
+ SXSSFCell productionQuantityTitle = rowTitle.createCell(15);
productionQuantityTitle.setCellValue("鐢熶骇鏁伴噺");
productionQuantityTitle.setCellStyle(title);
- SXSSFCell planEndDayTitle = rowTitle.createCell(10);
- planEndDayTitle.setCellValue("璁″垝瀹屽伐鏃�");
+ SXSSFCell planSendDateTitle = rowTitle.createCell(16);
+ planSendDateTitle.setCellValue("宸ュ崟璁″垝涓嬪彂鏃堕棿");
+ planSendDateTitle.setCellStyle(title);
+
+
+
+ SXSSFCell planEndDayTitle = rowTitle.createCell(17);
+ planEndDayTitle.setCellValue("绯荤粺瀹屽伐鏃堕棿");
planEndDayTitle.setCellStyle(title);
- for (int i = 0; i < shopNames.size(); i++) {
+
+
+
+
+ String firstShopName = shopNames.get(0);
+ SXSSFCell firstShopBeginDateTitle = rowTitle.createCell(18);
+ firstShopBeginDateTitle.setCellValue(firstShopName+"寮�宸ユ椂闂�");
+ firstShopBeginDateTitle.setCellStyle(title);
+ SXSSFCell firstShopEndDateTitle = rowTitle.createCell(19);
+ firstShopEndDateTitle.setCellValue(firstShopName+"瀹屽伐鏃堕棿");
+ firstShopEndDateTitle.setCellStyle(title);
+
+ /*鐒婃帴浠堕綈濂�*/
+ SXSSFCell hanJieQiTaoTitle= rowTitle.createCell(20);
+ hanJieQiTaoTitle.setCellValue("鐒婃帴浠堕綈濂楀紑濮嬫椂闂�");
+ hanJieQiTaoTitle.setCellStyle(title);
+
+ int i1 = 19;
+
+ for (int i = 1; i < shopNames.size(); i++) {
String shopName = shopNames.get(i);
- SXSSFCell beginDateCell = rowTitle.createCell(i * 2 + 11);
- SXSSFCell endDateCell = rowTitle.createCell(i * 2 + 12);
+ SXSSFCell beginDateCell = rowTitle.createCell(i * 2 + i1);
+ SXSSFCell endDateCell = rowTitle.createCell(i * 2 + i1+1);
beginDateCell.setCellValue(shopName+"寮�宸ユ椂闂�");
endDateCell.setCellValue(shopName+"瀹屽伐鏃堕棿");
beginDateCell.setCellStyle(title);
endDateCell.setCellStyle(title);
}
-
-
+ SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
for (int i = 0; i < table.size(); i++) {
ApsPlateProcessShopPlanStat plan = table.get(i);
- /*鍒涘缓鏁版嵁琛�*/
+
SXSSFRow dataRow = sheet.createRow(i+1);
-
+ //涓讳欢鏂欏彿
SXSSFCell mainPartNumberCell = dataRow.createCell(0);
- mainPartNumberTitle.setCellValue(plan.getMainPartNumber());
- //mainPartNumberTitle.setCellStyle(title);
+ mainPartNumberCell.setCellValue(plan.getMainPartNumber());
+ //涓氬姟绫诲瀷;
SXSSFCell businessTypeCell= dataRow.createCell(1);
businessTypeCell.setCellValue(plan.getBusinessType());
- //businessTypeCell.setCellStyle(title);
+ //鍗曟嵁鍙�;
SXSSFCell documentNumberCell = dataRow.createCell(2);
documentNumberCell.setCellValue(plan.getDocumentNumber());
- // documentNumberCell.setCellStyle(title);
+ //闇�姹傚垎绫�;
SXSSFCell requirementTypeCell = dataRow.createCell(3);
requirementTypeCell.setCellValue(plan.getRequirementType());
- // requirementTypeCell.setCellStyle(title);
+ // 鍗曟嵁鐘舵��
SXSSFCell documentStatusCell = dataRow.createCell(4);
documentStatusCell.setCellValue(plan.getDocumentStatus());
- // documentStatusCell.setCellStyle(title);
- SXSSFCell workCenterCell = dataRow.createCell(5);
+
+ // 瀹℃牳鏃堕棿
+ SXSSFCell approveDateCell = dataRow.createCell(5);
+ approveDateCell.setCellValue("");
+
+ //褰撳墠宸ュ簭
+ SXSSFCell workCenterCell = dataRow.createCell(6);
workCenterCell.setCellValue(plan.getWorkCenter());
- // workCenterCell.setCellStyle(title);
- SXSSFCell itemNumberCell = dataRow.createCell(6);
+ //褰撳墠宸ュ簭璐熻矗浜�;
+ SXSSFCell departmentCell = dataRow.createCell(7);
+ departmentCell.setCellValue(plan.getDepartment());
+
+ /*褰撳墠宸ュ簭鐘舵��*/
+ SXSSFCell crtPcsStsCell = dataRow.createCell(8);
+ crtPcsStsCell.setCellValue(plan.getOpStatus());
+
+
+ //涓嬩竴宸ュ簭
+ SXSSFCell nextProcessCell = dataRow.createCell(9);
+ nextProcessCell.setCellValue(plan.getNextOpName());
+
+ //涓嬩竴宸ュ簭宸ュ簭璐熻矗浜�
+ SXSSFCell nextProcessDeparmentCell = dataRow.createCell(10);
+ nextProcessDeparmentCell.setCellValue(plan.getNextProcessDeparment());
+
+ //鏂欏彿
+ SXSSFCell itemNumberCell = dataRow.createCell(11);
itemNumberCell.setCellValue(plan.getItemNumber());
- // itemNumberCell.setCellStyle(title);
- SXSSFCell drawingNoCell = dataRow.createCell(7);
+ // 鍥惧彿
+ SXSSFCell drawingNoCell = dataRow.createCell(12);
drawingNoCell.setCellValue(plan.getDrawingNo());
- // drawingNoCell.setCellStyle(title);
- SXSSFCell versionNumberCell = dataRow.createCell(8);
+ //鐗堟湰鍙�
+ SXSSFCell versionNumberCell = dataRow.createCell(13);
versionNumberCell.setCellValue(plan.getVersionNumber());
- // versionNumberCell.setCellStyle(title);
- SXSSFCell productionQuantityCell = dataRow.createCell(9);
+ //浣庨樁鐮�
+ SXSSFCell lowNumCell = dataRow.createCell(14);
+ lowNumCell.setCellValue("");
+
+ //鐢熶骇鏁伴噺
+ SXSSFCell productionQuantityCell = dataRow.createCell(15);
productionQuantityCell.setCellValue(plan.getProductionQuantity().toString());
- // productionQuantityCell.setCellStyle(title);
- SXSSFCell planEndDayCell = dataRow.createCell(10);
- planEndDayCell.setCellValue(plan.getPlanEndDay());
- // planEndDayCell.setCellStyle(title);
+ //宸ュ崟璁″垝涓嬪彂鏃堕棿
+ SXSSFCell planSendDateCell = dataRow.createCell(16);
+ planSendDateCell.setCellValue("");
+
+ //绯荤粺瀹屽伐鏃堕棿
+ SXSSFCell planEndDayCell = dataRow.createCell(17);
+ planEndDayCell.setCellValue(dateFormat.format(plan.getPlanEndDay()));
+
+
+
+
+ SXSSFCell firstShopBeginDateCell = dataRow.createCell(18);
+ SXSSFCell firstShopEndDateCell = dataRow.createCell(19);
+
+ plan.getDeptPlans().stream().filter(x->x.getShopName().equals(firstShopName)).findFirst().ifPresent(x->{
+ firstShopBeginDateCell.setCellValue(x.getPlanStartDate());
+ firstShopEndDateCell.setCellValue(x.getPlanEndDate());
+ });
+ /*鐒婃帴浠堕綈濂�*/
+ SXSSFCell hanJieQiTaoCell = dataRow.createCell(20);
+ hanJieQiTaoCell.setCellValue("");
+
+
+ for (int j = 1; j< shopNames.size(); j++) {
+ String shopName = shopNames.get(j);
+ SXSSFCell beginDateCell = dataRow.createCell(j * 2 + i1);
+ SXSSFCell endDateCell = dataRow.createCell(j * 2 + i1+1);
+ plan.getDeptPlans().stream().filter(x->x.getShopName().equals(shopName)).findFirst().ifPresent(x->{
+ beginDateCell.setCellValue(x.getPlanStartDate());
+ endDateCell.setCellValue(x.getPlanEndDate());
+ });
+ }
+
+
}
+
+ for (int i = 0; i < rowTitle.getLastCellNum(); i++) {
+
+ sheet.setColumnWidth(i, 20 * 256);
+ }
+
wb.write(response.getOutputStream());
}
catch (Exception e)
@@ -447,6 +561,10 @@
style.setFont(titleFont);
DataFormat dataFormat = wb.createDataFormat();
style.setDataFormat(dataFormat.getFormat("@"));
+
+
+
+
styles.put("title", style);
return styles;
}
--
Gitblit v1.9.3