From 6690f4754d433b9cde475868034b6d1a3c11d396 Mon Sep 17 00:00:00 2001
From: buhuazhen <hua100783@gmail.com>
Date: 星期三, 27 五月 2026 14:12:44 +0800
Subject: [PATCH] feat(ProductionPrintOrder) 工序添加是否质检
---
src/main/java/com/ruoyi/production/service/impl/ProcessRouteServiceImpl.java | 33 ++++++++++++++++++++++-----------
1 files changed, 22 insertions(+), 11 deletions(-)
diff --git a/src/main/java/com/ruoyi/production/service/impl/ProcessRouteServiceImpl.java b/src/main/java/com/ruoyi/production/service/impl/ProcessRouteServiceImpl.java
index b2f3dac..4f54bdf 100644
--- a/src/main/java/com/ruoyi/production/service/impl/ProcessRouteServiceImpl.java
+++ b/src/main/java/com/ruoyi/production/service/impl/ProcessRouteServiceImpl.java
@@ -17,6 +17,7 @@
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
+import java.math.BigDecimal;
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
import java.util.ArrayList;
@@ -92,10 +93,10 @@
*/
@Transactional(rollbackFor = Exception.class)
@Override
- public Long processRouteAnticlockwise(List<ProcessRouteAnticlockwiseDto> processRouteAnticlockwiseDtos, Long productModelId, Long productOrderId,String uuid) {
+ public Long processRouteAnticlockwise(List<ProcessRouteAnticlockwiseDto> processRouteAnticlockwiseDtos, Long productModelId, Long productOrderId) {
ProductOrder byId = productOrderService.getById(productOrderId);
// 1. 鏂板BOM
- ProductBom productBom = createProductBom(productModelId,uuid);
+ ProductBom productBom = createProductBom(productModelId);
// 2. 鏂板BOM瀛愯〃
List<ProductStructure> productStructures = buildProductStructures(processRouteAnticlockwiseDtos, productBom.getId());
@@ -112,18 +113,17 @@
ProductProcessRoute productProcessRoute = createProductProcessRoute(productModelId, productOrderId, productBom.getId(), processRoute.getProcessRouteCode());
// 6. 鏂板鐢熶骇宸ヨ壓璺嚎瀛愯〃
- buildProductProcessRouteItems(processRouteAnticlockwiseDtos, productProcessRoute.getId(), productModelId,productOrderId);
+ buildProductProcessRouteItems(processRouteAnticlockwiseDtos, productProcessRoute.getId(), productModelId, productOrderId);
return processRoute.getId();
}
/**
* 鍒涘缓浜у搧BOM
*/
- private ProductBom createProductBom(Long productModelId,String uuid) {
+ private ProductBom createProductBom(Long productModelId) {
ProductBom productBom = new ProductBom();
productBom.setProductModelId(productModelId);
productBom.setVersion("1.0.0");
- productBom.setUuid(uuid);
productBomService.save(productBom);
productBom.setBomNo("BM." + String.format("%05d", productBom.getId()));
@@ -141,6 +141,7 @@
ProductStructure structure = new ProductStructure();
structure.setProductModelId(dto.getProductModelId());
structure.setProcessId(dto.getProcessId());
+ structure.setUnitQuantity(new BigDecimal(1));
structure.setProcessRouteOpenNum(dto.getProcessRouteOpenNum());
structure.setProcessRouteNum(dto.getProcessRouteNum());
structure.setProcessRouteAddNum(dto.getProcessRouteAddNum());
@@ -173,16 +174,18 @@
*/
private List<ProcessRouteItem> buildProcessRouteItems(List<ProcessRouteAnticlockwiseDto> dtos, Long routeId, Long productModelId) {
List<ProcessRouteItem> items = new ArrayList<>(dtos.size());
+ Integer num = 0;
for (ProcessRouteAnticlockwiseDto dto : dtos) {
ProcessRouteItem item = new ProcessRouteItem();
item.setRouteId(routeId);
item.setProcessId(dto.getProcessId());
- item.setProductModelId(dto.getProductModelId());
+ item.setProductModelId(productModelId);
item.setProcessRouteName(dto.getProcessRouteName());
item.setProcessRouteOpenNum(dto.getProcessRouteOpenNum());
item.setProcessRouteNum(dto.getProcessRouteNum());
item.setProcessRouteAddNum(dto.getProcessRouteAddNum());
item.setProcessRouteRequire(dto.getProcessRouteRequire());
+ item.setDragSort(num++);
items.add(item);
}
return items;
@@ -205,29 +208,37 @@
/**
* 鏋勫缓鐢熶骇宸ヨ壓璺嚎瀛愰」鍒楄〃
*/
- private void buildProductProcessRouteItems(List<ProcessRouteAnticlockwiseDto> dtos, Long productRouteId, Long productModelId,Long productOrderId) {
+ private void buildProductProcessRouteItems(List<ProcessRouteAnticlockwiseDto> dtos, Long productRouteId, Long productModelId, Long productOrderId) {
ProductOrder byId = productOrderService.getById(productOrderId);
+ Integer num = 0;
for (ProcessRouteAnticlockwiseDto dto : dtos) {
ProductProcessRouteItem item = new ProductProcessRouteItem();
item.setProductRouteId(productRouteId);
item.setProcessId(dto.getProcessId());
- item.setProductModelId(dto.getProductModelId());
+ if (num >= dtos.size() - 1) {
+ item.setProductModelId(productModelId);
+ } else {
+ item.setProductModelId(dto.getProductModelId());
+ }
item.setProcessRouteName(dto.getProcessRouteName());
item.setProcessRouteOpenNum(dto.getProcessRouteOpenNum());
item.setProcessRouteNum(dto.getProcessRouteNum());
item.setProcessRouteAddNum(dto.getProcessRouteAddNum());
item.setProcessRouteRequire(dto.getProcessRouteRequire());
+ item.setDragSort(num++);
+ item.setIsQuality(dto.getProductProcess().getIsQuality() != null && dto.getProductProcess().getIsQuality());
+ item.setUuid(dto.getUuid());
productProcessRouteItemService.save(item);
ProductProcess productProcess = productProcessService.getById(item.getProcessId());
//鍚屾鏂板鐢熶骇宸ュ崟
ProductWorkOrder productWorkOrder = new ProductWorkOrder();
productWorkOrder.setProductProcessRouteItemId(item.getId());
productWorkOrder.setProductOrderId(productOrderId);
- ProductOrder order = productOrderMapper.selectById(productOrderId);
- productWorkOrder.setPlanQuantity(order.getQuantity());
+ productWorkOrder.setPlanQuantity(new BigDecimal(dto.getProcessRouteNum()));
productWorkOrder.setDeviceId(dto.getDeviceId());
productWorkOrder.setUserIds(dto.getUserIds());
- productWorkOrder.setWorkOrderNo(productWorkOrderService.generateProductWorkOrder(null, productProcess.getName(), byId.getNpsNo()));
+ productWorkOrder.setUserNames(dto.getUserNames());
+ productWorkOrder.setWorkOrderNo(productWorkOrderService.generateProductWorkOrder(productProcess.getName(), byId.getNpsNo()));
productWorkOrder.setStatus(1);
productWorkOrderService.save(productWorkOrder);
}
--
Gitblit v1.9.3