From 255d39d428e5867306a8c379f8cef4f20920da03 Mon Sep 17 00:00:00 2001
From: buhuazhen <hua100783@gmail.com>
Date: 星期三, 22 四月 2026 16:51:31 +0800
Subject: [PATCH] feat(production): 新增开始报工功能及生产时间字段
---
src/main/java/com/ruoyi/production/service/impl/ProductOrderServiceImpl.java | 31 +++++++++++++++++++++++++++----
1 files changed, 27 insertions(+), 4 deletions(-)
diff --git a/src/main/java/com/ruoyi/production/service/impl/ProductOrderServiceImpl.java b/src/main/java/com/ruoyi/production/service/impl/ProductOrderServiceImpl.java
index 81ac09e..343f790 100644
--- a/src/main/java/com/ruoyi/production/service/impl/ProductOrderServiceImpl.java
+++ b/src/main/java/com/ruoyi/production/service/impl/ProductOrderServiceImpl.java
@@ -1,5 +1,7 @@
package com.ruoyi.production.service.impl;
+import cn.hutool.core.collection.CollUtil;
+import cn.hutool.core.lang.Assert;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
@@ -22,7 +24,9 @@
import java.math.BigDecimal;
import java.time.LocalDate;
+import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
+import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
@@ -75,11 +79,14 @@
productProcessRouteMapper.insert(productProcessRoute);
//鏂板鐢熶骇璁㈠崟涓嬬殑宸ヨ壓璺嚎瀛愯〃
List<ProcessRouteItem> processRouteItems = processRouteItemMapper.selectList(new QueryWrapper<ProcessRouteItem>().lambda().eq(ProcessRouteItem::getRouteId, processRoute.getId()));
- Map<Long, ProductProcess> productProcessMap = productProcessService
- .list(new LambdaQueryWrapper<ProductProcess>().in(ProductProcess::getId, processRouteItems.stream().map(ProcessRouteItem::getProcessId).collect(Collectors.toList())))
- .stream()
- .collect(Collectors.toMap(ProductProcess::getId, productProcess -> productProcess));
+ Map<Long, ProductProcess> productProcessMap = new HashMap<>();
+ if(CollUtil.isNotEmpty(processRouteItems)){
+ productProcessMap = productProcessService
+ .list(new LambdaQueryWrapper<ProductProcess>().in(ProductProcess::getId, processRouteItems.stream().map(ProcessRouteItem::getProcessId).collect(Collectors.toList())))
+ .stream()
+ .collect(Collectors.toMap(ProductProcess::getId, productProcess -> productProcess));
+ }
// 鐢熸垚褰撳墠鏃ユ湡鐨勫墠缂�锛氬勾鏈堟棩
for (ProcessRouteItem processRouteItem : processRouteItems) {
ProductProcessRouteItem productProcessRouteItem = new ProductProcessRouteItem();
@@ -152,6 +159,22 @@
return true;
}
+ @Override
+ public ProductWorkOrder startProduction(Long id) {
+ LocalDateTime now = LocalDateTime.now();
+ ProductWorkOrder productWorkOrder = productWorkOrderMapper.selectById(id);
+ productWorkOrder.setStartProductTime(now);
+ Assert.notNull(productWorkOrder, "宸ュ崟涓嶅瓨鍦�");
+
+
+ ProductWorkOrder needUpdate = new ProductWorkOrder();
+ needUpdate.setId(id);
+ needUpdate.setStartProductTime(now);
+ productWorkOrderMapper.updateById(needUpdate);
+
+ return productWorkOrder;
+ }
+
//鑾峰彇褰撳墠鐢熶骇璁㈠崟鍙�
public String getMaxOrderNoByDate(String datePrefix) {
QueryWrapper<ProductOrder> queryWrapper = new QueryWrapper<>();
--
Gitblit v1.9.3