1. 工单表增加时间字段,已确定更新时间点。

This commit is contained in:
梁州 2025-12-15 11:00:51 +08:00
parent feaa3f6377
commit 45da059027
5 changed files with 35 additions and 6 deletions

View File

@ -253,7 +253,7 @@ public class ExcelController {
}
uploadFileHashStringList.add(fileVo.getHash());
// 获取之前工单表的内容
Map<String, KateOrders> kateOrdersMap = kateOrdersService.list().stream().collect(Collectors.toMap(kateOrders -> kateOrders.getWorkOrder() + kateOrders.getGoodsId() + kateOrders.getSupplyArea(), kateOrders -> kateOrders));
Map<String, KateOrders> 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();
// 添加导入记录

View File

@ -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;
}

View File

@ -65,6 +65,7 @@ public class WorkServiceImplements implements IWorkService {
//获取配置文件的是否添加了需求时间
@Value("${reqmtsDate}")
private boolean isAddReqmtsDate;
private List<String> orderIds;
/**
* 找到下一个工作日
@ -388,7 +389,7 @@ public class WorkServiceImplements implements IWorkService {
// 查询出当前所有的出库任务拣选
List<Task> outTaskList = taskService.list(new LambdaQueryWrapper<Task>()
.eq(Task::getTaskType, TaskType.OUT.getCode())
.eq(Task::getTaskPriority, 1)
.eq(Task::getTaskPriority, 1)
.eq(Task::getIsPicking, 1));
// 分出在库的物料
List<Stock> 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<KateOrders>()
.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<String> orderIds = finalWorkFlows.stream().map(WorkFlow::getOrderId).toList();
List<String> orderIds = finalWorkFlows.stream().map(WorkFlow::getOrderId).distinct().toList();
if (!orderIds.isEmpty()) {
kateOrdersService.update(new LambdaUpdateWrapper<KateOrders>()
.set(KateOrders::getOrderStatus, 1)
.set(KateOrders::getLastUpdateTime, LocalDateTime.now())
.set(KateOrders::getLastUpdateReason, "创建工作流")
.in(KateOrders::getOrderId, orderIds)
.eq(KateOrders::getOrderStatus, 0));
}

View File

@ -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<KateOrdersExcelVo>
if(kateOrdersExcelVo.getPlanStartDate() != null){
cachedDataList.add(kateOrdersExcelVo);
}
}else {
} else {
// 符合条件
cachedDataList.add(kateOrdersExcelVo);
}
@ -103,7 +104,7 @@ public class UploadKateOrdersListener implements ReadListener<KateOrdersExcelVo>
*/
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<KateOrdersExcelVo>
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());

View File

@ -59,6 +59,8 @@ mybatis-plus:
logging:
config: classpath:logback.xml
reqmtsDate: false
# file:
# encoding: UTF-8