From f2c7c2aca847fda1b96387938a9dcd511daf1461 Mon Sep 17 00:00:00 2001
From: liyong <18434998025@163.com>
Date: 星期二, 28 四月 2026 14:18:27 +0800
Subject: [PATCH] feat(production): 新增生产上机记录功能并优化报工流程
---
src/main/java/com/ruoyi/production/service/impl/ProductionProductMainServiceImpl.java | 25 ++++++++++++++++---------
1 files changed, 16 insertions(+), 9 deletions(-)
diff --git a/src/main/java/com/ruoyi/production/service/impl/ProductionProductMainServiceImpl.java b/src/main/java/com/ruoyi/production/service/impl/ProductionProductMainServiceImpl.java
index 442ad9d..252a409 100644
--- a/src/main/java/com/ruoyi/production/service/impl/ProductionProductMainServiceImpl.java
+++ b/src/main/java/com/ruoyi/production/service/impl/ProductionProductMainServiceImpl.java
@@ -31,6 +31,7 @@
import com.ruoyi.quality.mapper.*;
import com.ruoyi.quality.pojo.*;
import com.ruoyi.quality.service.IQualityInspectService;
+import com.ruoyi.sales.mapper.SalesLedgerMapper;
import lombok.AllArgsConstructor;
import org.springframework.aop.framework.AopContext;
import org.springframework.stereotype.Service;
@@ -52,6 +53,7 @@
@Transactional(rollbackFor = Exception.class)
public class ProductionProductMainServiceImpl extends ServiceImpl<ProductionProductMainMapper, ProductionProductMain> implements ProductionProductMainService {
+ private final SalesLedgerMapper salesLedgerMapper;
private IQualityInspectService qualityInspectService;
private ProductionProductMainMapper productionProductMainMapper;
@@ -102,7 +104,6 @@
LocalDateTime now = LocalDateTime.now();
ProductWorkOrder productWorkOrder = productWorkOrderMapper.selectById(dto.getWorkOrderId());
- SysUser user = userMapper.selectUserById(dto.getUserId());
ProductionProductMain productionProductMain = new ProductionProductMain();
//褰撳墠宸ヨ壓璺嚎瀵瑰簲鐨勫伐搴忚鎯�
ProductProcessRouteItem productProcessRouteItem = productProcessRouteItemMapper.selectById(dto.getProductProcessRouteItemId());
@@ -150,8 +151,9 @@
productionProductMain.setTeamIds(dto.getTeamList().stream().map(ProductionProductMainDto.Team::getUserId).map(String::valueOf).collect(Collectors.joining(",")));
productionProductMain.setTeamNames(dto.getTeamList().stream().map(ProductionProductMainDto.Team::getUserName).collect(Collectors.joining(",")));
- productionProductMain.setUserId(dto.getTeamList().get(0).getUserId());
- productionProductMain.setUserName(dto.getTeamList().get(0).getUserName());
+ //鎶ュ伐浜� 鏄� 璋佹姤宸ュ氨鏄槸璋�
+ productionProductMain.setUserId(SecurityUtils.getUserId());
+ productionProductMain.setUserName(SecurityUtils.getLoginUser().getNickName());
@@ -160,10 +162,15 @@
productionProductMain.setAuditUserId(dto.getAuditUserId());
productionProductMain.setAuditUserName(dto.getAuditUserName());
productionProductMain.setStatus(0);
- productionProductMain.setStartTime(productWorkOrder.getStartProductTime());
- productionProductMain.setEndTime(now);
- productionProductMain.setDeviceId(productProcess.getDeviceId());
- productionProductMain.setDeviceName(productProcess.getDeviceName());
+ if (ObjectUtils.isNotEmpty(dto.getStartTime())&&ObjectUtils.isNotEmpty(dto.getEndTime())) {
+ productionProductMain.setStartTime(dto.getStartTime());
+ productionProductMain.setEndTime(dto.getEndTime());
+ }else {
+ productionProductMain.setStartTime(productWorkOrder.getStartProductTime());
+ productionProductMain.setEndTime(now);
+ }
+ productionProductMain.setDeviceId(dto.getDeviceId());
+ productionProductMain.setDeviceName(dto.getDeviceName());
productionProductMainMapper.insert(productionProductMain);
/*鏂板鎶ュ伐鎶曞叆琛�*/
List<ProductStructureDto> productStructureDtos = productStructureMapper.listBybomAndProcess(productProcessRoute.getBomId(), productProcess.getId());
@@ -365,8 +372,8 @@
SalesLedgerProductionAccounting salesLedgerProductionAccounting = SalesLedgerProductionAccounting.builder()
.productMainId(productionProductMain.getId())
- .schedulingUserId(user.getUserId())
- .schedulingUserName(user.getNickName())
+ .schedulingUserId(productionProductMain.getUserId())
+ .schedulingUserName(userMapper.selectUserById(productionProductMain.getUserId()).getNickName())
.finishedNum(productQty)
.workHours(workHours)
.process(productProcess.getName())
--
Gitblit v1.9.3