From 88d47c385a43e8c02adbd82c9ec04d4d7983e4b4 Mon Sep 17 00:00:00 2001
From: liyong <18434998025@163.com>
Date: 星期四, 23 四月 2026 16:18:16 +0800
Subject: [PATCH] feat(process): 添加工艺路线单位数量默认值设置
---
src/main/java/com/ruoyi/production/service/impl/ProcessRouteServiceImpl.java | 62 +++++++++++++++---------------
1 files changed, 31 insertions(+), 31 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 fe2b037..5daf864 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;
@@ -82,19 +83,20 @@
}
-
/**
- * 宸ヨ壓璺嚎鍙嶅悜鏂板 鍙柊澧炰簡bom bom瀛愯〃 宸ヨ壓璺嚎 宸ヨ壓璺嚎瀛愯〃
- * @param processRouteAnticlockwiseDtos 宸ヨ壓瀛愯〃
- * @param productModelId 鎴愬搧瑙勬牸鍨嬪彿id
- * @param productOrderId 鐢熶骇璁㈠崟id
+ * 宸ヨ壓璺嚎鍙嶅悜鏂板 鏂板浜哹om bom瀛愯〃 宸ヨ壓璺嚎 宸ヨ壓璺嚎瀛愯〃 鐢熶骇宸ヨ壓璺嚎涓昏〃 鐢熶骇宸ヨ壓璺嚎瀛愯〃 宸ュ崟琛�
+ *
+ * @param processRouteAnticlockwiseDtos 宸ヨ壓瀛愯〃
+ * @param productModelId 鎴愬搧瑙勬牸鍨嬪彿id
+ * @param productOrderId 鐢熶骇璁㈠崟id
* @return
*/
@Transactional(rollbackFor = Exception.class)
- public Long processRouteAnticlockwise(List<ProcessRouteAnticlockwiseDto> processRouteAnticlockwiseDtos, Long productModelId, Long productOrderId) {
+ @Override
+ public Long processRouteAnticlockwise(List<ProcessRouteAnticlockwiseDto> processRouteAnticlockwiseDtos, Long productModelId, Long productOrderId,String uuid) {
ProductOrder byId = productOrderService.getById(productOrderId);
// 1. 鏂板BOM
- ProductBom productBom = createProductBom(productModelId);
+ ProductBom productBom = createProductBom(productModelId,uuid);
// 2. 鏂板BOM瀛愯〃
List<ProductStructure> productStructures = buildProductStructures(processRouteAnticlockwiseDtos, productBom.getId());
@@ -107,34 +109,22 @@
List<ProcessRouteItem> processRouteItems = buildProcessRouteItems(processRouteAnticlockwiseDtos, processRoute.getId(), productModelId);
processRouteItemService.saveBatch(processRouteItems);
-// // 5. 鏂板鐢熶骇宸ヨ壓璺嚎
-// ProductProcessRoute productProcessRoute = createProductProcessRoute(productModelId, productOrderId, productBom.getId(), processRoute.getProcessRouteCode());
-//
-// // 6. 鏂板鐢熶骇宸ヨ壓璺嚎瀛愯〃
-// List<ProductProcessRouteItem> productProcessRouteItems = buildProductProcessRouteItems(processRouteAnticlockwiseDtos, productProcessRoute.getId(), productModelId);
-// productProcessRouteItemService.saveBatch(productProcessRouteItems);
-// for (ProductProcessRouteItem item : productProcessRouteItems) {
-// 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.setWorkOrderNo(productWorkOrderService.generateProductWorkOrder(null, productProcess.getName(), byId.getNpsNo()));
-// productWorkOrder.setStatus(1);
-// productWorkOrderService.save(productWorkOrder);
-// }
+ // 5. 鏂板鐢熶骇宸ヨ壓璺嚎
+ ProductProcessRoute productProcessRoute = createProductProcessRoute(productModelId, productOrderId, productBom.getId(), processRoute.getProcessRouteCode());
+ // 6. 鏂板鐢熶骇宸ヨ壓璺嚎瀛愯〃
+ buildProductProcessRouteItems(processRouteAnticlockwiseDtos, productProcessRoute.getId(), productModelId,productOrderId);
return processRoute.getId();
}
/**
* 鍒涘缓浜у搧BOM
*/
- private ProductBom createProductBom(Long productModelId) {
+ private ProductBom createProductBom(Long productModelId,String uuid) {
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()));
@@ -152,6 +142,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());
@@ -216,8 +207,8 @@
/**
* 鏋勫缓鐢熶骇宸ヨ壓璺嚎瀛愰」鍒楄〃
*/
- private List<ProductProcessRouteItem> buildProductProcessRouteItems(List<ProcessRouteAnticlockwiseDto> dtos, Long productRouteId, Long productModelId) {
- List<ProductProcessRouteItem> items = new ArrayList<>(dtos.size());
+ private void buildProductProcessRouteItems(List<ProcessRouteAnticlockwiseDto> dtos, Long productRouteId, Long productModelId,Long productOrderId) {
+ ProductOrder byId = productOrderService.getById(productOrderId);
for (ProcessRouteAnticlockwiseDto dto : dtos) {
ProductProcessRouteItem item = new ProductProcessRouteItem();
item.setProductRouteId(productRouteId);
@@ -228,10 +219,19 @@
item.setProcessRouteNum(dto.getProcessRouteNum());
item.setProcessRouteAddNum(dto.getProcessRouteAddNum());
item.setProcessRouteRequire(dto.getProcessRouteRequire());
- items.add(item);
-
-
+ 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.setDeviceId(dto.getDeviceId());
+ productWorkOrder.setUserIds(dto.getUserIds());
+ productWorkOrder.setWorkOrderNo(productWorkOrderService.generateProductWorkOrder(null, productProcess.getName(), byId.getNpsNo()));
+ productWorkOrder.setStatus(1);
+ productWorkOrderService.save(productWorkOrder);
}
- return items;
}
}
--
Gitblit v1.9.3