From 45da05902793c6cc3661a4e88b4d14c440d88c4e Mon Sep 17 00:00:00 2001 From: liangzhou <594755172@qq.com> Date: Mon, 15 Dec 2025 11:00:51 +0800 Subject: [PATCH] =?UTF-8?q?1.=20=E5=B7=A5=E5=8D=95=E8=A1=A8=E5=A2=9E?= =?UTF-8?q?=E5=8A=A0=E6=97=B6=E9=97=B4=E5=AD=97=E6=AE=B5=EF=BC=8C=E5=B7=B2?= =?UTF-8?q?=E7=A1=AE=E5=AE=9A=E6=9B=B4=E6=96=B0=E6=97=B6=E9=97=B4=E7=82=B9?= =?UTF-8?q?=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/wms/controller/ExcelController.java | 2 +- .../java/com/wms/entity/table/KateOrders.java | 15 +++++++++++++++ .../serviceImplements/WorkServiceImplements.java | 14 +++++++++++--- .../excel/listener/UploadKateOrdersListener.java | 8 ++++++-- src/main/resources/application.yml | 2 ++ 5 files changed, 35 insertions(+), 6 deletions(-) diff --git a/src/main/java/com/wms/controller/ExcelController.java b/src/main/java/com/wms/controller/ExcelController.java index febb319..fdd254f 100644 --- a/src/main/java/com/wms/controller/ExcelController.java +++ b/src/main/java/com/wms/controller/ExcelController.java @@ -253,7 +253,7 @@ public class ExcelController { } uploadFileHashStringList.add(fileVo.getHash()); // 获取之前工单表的内容 - Map kateOrdersMap = kateOrdersService.list().stream().collect(Collectors.toMap(kateOrders -> kateOrders.getWorkOrder() + kateOrders.getGoodsId() + kateOrders.getSupplyArea(), kateOrders -> kateOrders)); + Map kateOrdersMap = kateOrdersService.list().stream().collect(Collectors.toMap(kateOrders -> kateOrders.getWorkOrder() + "_" + kateOrders.getGoodsId() + "_" + kateOrders.getSupplyArea(), kateOrders -> kateOrders)); // 导入excel EasyExcel.read(file.getInputStream(), KateOrdersExcelVo.class, new UploadKateOrdersListener(kateOrdersService, kateOrdersMap, fileVo.getUserName(),reqmtsDate)).sheet().doRead(); // 添加导入记录 diff --git a/src/main/java/com/wms/entity/table/KateOrders.java b/src/main/java/com/wms/entity/table/KateOrders.java index bb977fc..7a1afb7 100644 --- a/src/main/java/com/wms/entity/table/KateOrders.java +++ b/src/main/java/com/wms/entity/table/KateOrders.java @@ -110,4 +110,19 @@ public class KateOrders { */ @TableField("plan_start_date") private LocalDate planStartDate; + /** + * 创建时间 + */ + @TableField("create_time") + private LocalDateTime createTime; + /** + * 最后更新时间 + */ + @TableField("last_update_time") + private LocalDateTime lastUpdateTime; + /** + * 最后更新原因 + */ + @TableField("last_update_reason") + private String lastUpdateReason; } diff --git a/src/main/java/com/wms/service/business/serviceImplements/WorkServiceImplements.java b/src/main/java/com/wms/service/business/serviceImplements/WorkServiceImplements.java index 3152a41..f5576d6 100644 --- a/src/main/java/com/wms/service/business/serviceImplements/WorkServiceImplements.java +++ b/src/main/java/com/wms/service/business/serviceImplements/WorkServiceImplements.java @@ -65,6 +65,7 @@ public class WorkServiceImplements implements IWorkService { //获取配置文件的是否添加了需求时间 @Value("${reqmtsDate}") private boolean isAddReqmtsDate; + private List orderIds; /** * 找到下一个工作日 @@ -388,7 +389,7 @@ public class WorkServiceImplements implements IWorkService { // 查询出当前所有的出库任务(拣选) List outTaskList = taskService.list(new LambdaQueryWrapper() .eq(Task::getTaskType, TaskType.OUT.getCode()) - .eq(Task::getTaskPriority, 1) + .eq(Task::getTaskPriority, 1) .eq(Task::getIsPicking, 1)); // 分出在库的物料 List onStockStockList = allStockList.stream().filter(stock -> Objects.equals(stock.getStockStatus(), StockStatus.OK.getCode())).sorted(Comparator.comparing(Stock::getCreateTime)).toList(); @@ -638,6 +639,8 @@ public class WorkServiceImplements implements IWorkService { if (!needUpdateOrderIds.isEmpty()) { kateOrdersService.update(new LambdaUpdateWrapper() .set(KateOrders::getOrderStatus, 2) + .set(KateOrders::getLastUpdateTime, LocalDateTime.now()) + .set(KateOrders::getLastUpdateReason, "执行工作") .in(KateOrders::getOrderId, needUpdateOrderIds)); } } @@ -703,7 +706,7 @@ public class WorkServiceImplements implements IWorkService { if (StringUtils.isEmpty(workFlow.getOpUser())) { workFlow.setOpUser("缺料系统自动完成。"); } else { - workFlow.setOpUser(workFlow.getOpUser() + ";缺料系统自动完成。"); + workFlow.setOpUser(workFlow.getOpUser() + ";缺料系统自动完成。"); } needUpdateWorkFlowList.add(workFlow); continue; @@ -728,6 +731,7 @@ public class WorkServiceImplements implements IWorkService { /** * 根据库位号获得设备号 + * * @param locationId 库位号 * @return 设备号/堆垛机号 */ @@ -811,6 +815,8 @@ public class WorkServiceImplements implements IWorkService { // 更新工单表 KateOrders tempKateOrder = new KateOrders(); tempKateOrder.setOrderId(workFlow.getOrderId()); + tempKateOrder.setLastUpdateTime(LocalDateTime.now()); + tempKateOrder.setLastUpdateReason("完成工作"); tempKateOrder.setFinishTime(LocalDateTime.now()); tempKateOrder.setPickedQuantity(workFlow.getPickedNum()); tempKateOrder.setLackQuantity(workFlow.getNeedNum().subtract(workFlow.getPickedNum())); @@ -1124,10 +1130,12 @@ public class WorkServiceImplements implements IWorkService { // 存储数据 workFlowService.saveBatch(finalWorkFlows); // 更新工单状态 - List orderIds = finalWorkFlows.stream().map(WorkFlow::getOrderId).toList(); + List orderIds = finalWorkFlows.stream().map(WorkFlow::getOrderId).distinct().toList(); if (!orderIds.isEmpty()) { kateOrdersService.update(new LambdaUpdateWrapper() .set(KateOrders::getOrderStatus, 1) + .set(KateOrders::getLastUpdateTime, LocalDateTime.now()) + .set(KateOrders::getLastUpdateReason, "创建工作流") .in(KateOrders::getOrderId, orderIds) .eq(KateOrders::getOrderStatus, 0)); } diff --git a/src/main/java/com/wms/utils/excel/listener/UploadKateOrdersListener.java b/src/main/java/com/wms/utils/excel/listener/UploadKateOrdersListener.java index 09899cc..4010085 100644 --- a/src/main/java/com/wms/utils/excel/listener/UploadKateOrdersListener.java +++ b/src/main/java/com/wms/utils/excel/listener/UploadKateOrdersListener.java @@ -12,6 +12,7 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import java.math.BigDecimal; +import java.time.LocalDateTime; import java.util.*; import static com.wms.config.InitLocalConfig.configMap; @@ -71,7 +72,7 @@ public class UploadKateOrdersListener implements ReadListener if(kateOrdersExcelVo.getPlanStartDate() != null){ cachedDataList.add(kateOrdersExcelVo); } - }else { + } else { // 符合条件 cachedDataList.add(kateOrdersExcelVo); } @@ -103,7 +104,7 @@ public class UploadKateOrdersListener implements ReadListener */ private void saveData() { for (KateOrdersExcelVo kateOrdersExcelVo : cachedDataList) { - String key = kateOrdersExcelVo.getWorkOrder() + kateOrdersExcelVo.getGoodsId() + kateOrdersExcelVo.getSupplyArea(); + String key = kateOrdersExcelVo.getWorkOrder() + "_" + kateOrdersExcelVo.getGoodsId() + "_" + kateOrdersExcelVo.getSupplyArea(); if (newKateOrdersMap.containsKey(key)) { KateOrders currentOrder = newKateOrdersMap.get(key); // 设定数量 @@ -132,6 +133,9 @@ public class UploadKateOrdersListener implements ReadListener newKateOrders.setLackQuantity(kateOrdersExcelVo.getRequirementQuantity()); newKateOrders.setPickedQuantity(BigDecimal.ZERO); newKateOrders.setUserName(uploadUser); + newKateOrders.setCreateTime(LocalDateTime.now()); + newKateOrders.setLastUpdateTime(LocalDateTime.now()); + newKateOrders.setLastUpdateReason("导入工单"); //计划开工时间,这个替换后面的dbs的计划开始时间 if(isAddReqmtDate) { newKateOrders.setPlanStartDate(kateOrdersExcelVo.getPlanStartDate()); diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml index f53d8a7..434adff 100644 --- a/src/main/resources/application.yml +++ b/src/main/resources/application.yml @@ -59,6 +59,8 @@ mybatis-plus: logging: config: classpath:logback.xml + +reqmtsDate: false # file: # encoding: UTF-8