From 8d230ea993c35ab7a2794bbdca39c819796543b0 Mon Sep 17 00:00:00 2001
From: liyong <18434998025@163.com>
Date: 星期一, 02 二月 2026 09:02:47 +0800
Subject: [PATCH] refactor(production): 优化产品主表删除逻辑并添加完成状态标识
---
src/main/java/com/ruoyi/production/service/impl/ProductProcessRouteItemServiceImpl.java | 31 ++++++++++++++++++-------------
1 files changed, 18 insertions(+), 13 deletions(-)
diff --git a/src/main/java/com/ruoyi/production/service/impl/ProductProcessRouteItemServiceImpl.java b/src/main/java/com/ruoyi/production/service/impl/ProductProcessRouteItemServiceImpl.java
index 4db1c0c..7f73d6b 100644
--- a/src/main/java/com/ruoyi/production/service/impl/ProductProcessRouteItemServiceImpl.java
+++ b/src/main/java/com/ruoyi/production/service/impl/ProductProcessRouteItemServiceImpl.java
@@ -6,9 +6,11 @@
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.framework.web.domain.R;
import com.ruoyi.production.dto.ProductProcessRouteItemDto;
+import com.ruoyi.production.dto.ProductionProductMainDto;
import com.ruoyi.production.mapper.*;
import com.ruoyi.production.pojo.*;
import com.ruoyi.production.service.ProductProcessRouteItemService;
+import com.ruoyi.production.service.ProductionProductMainService;
import com.ruoyi.quality.mapper.QualityInspectMapper;
import com.ruoyi.quality.pojo.QualityInspect;
import com.ruoyi.sales.mapper.SalesLedgerProductMapper;
@@ -20,6 +22,7 @@
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils;
+import java.math.BigDecimal;
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
import java.util.ArrayList;
@@ -34,6 +37,7 @@
public class ProductProcessRouteItemServiceImpl extends ServiceImpl<ProductProcessRouteItemMapper, ProductProcessRouteItem> implements ProductProcessRouteItemService {
+ private ProductionProductMainService productionProductMainService;
private ProductProcessRouteItemMapper productProcessRouteItemMapper;
private ProductionProductMainMapper productionProductMainMapper;
@@ -73,6 +77,9 @@
if (productWorkOrder == null) {
throw new RuntimeException("鍒犻櫎澶辫触锛氭湭鎵惧埌鍏宠仈鐨勭敓浜у伐鍗�");
}
+ if (BigDecimal.ZERO.compareTo(productWorkOrder.getCompleteQuantity()) < 0) {
+ throw new RuntimeException("鍒犻櫎澶辫触锛氳宸ュ崟宸插紑濮嬬敓浜э紝璇峰厛鍒犻櫎鐢熶骇鎶ュ伐");
+ }
Long workOrderId = productWorkOrder.getId();
Long productOrderId = productWorkOrder.getProductOrderId();
// 鏌ヨ鐢熶骇涓昏〃
@@ -83,21 +90,19 @@
if (!productionProductMains.isEmpty()) {
// 鎵归噺鍒犻櫎瀛愯〃
for (ProductionProductMain main : productionProductMains) {
- Long mainId = main.getId();
- // 鍒犻櫎鎶曞叆
- productionProductInputMapper.delete(new LambdaQueryWrapper<ProductionProductInput>()
- .eq(ProductionProductInput::getProductMainId, mainId));
- // 鍒犻櫎浜у嚭
- productionProductOutputMapper.delete(new LambdaQueryWrapper<ProductionProductOutput>()
- .eq(ProductionProductOutput::getProductMainId, mainId));
- // 鍒犻櫎璐ㄦ
- qualityInspectMapper.delete(new LambdaQueryWrapper<QualityInspect>()
- .eq(QualityInspect::getProductMainId, mainId));
+ productionProductMainService.removeProductMain(main.getId());
+// Long mainId = main.getId();
+// // 鍒犻櫎鎶曞叆
+// productionProductInputMapper.delete(new LambdaQueryWrapper<ProductionProductInput>()
+// .eq(ProductionProductInput::getProductMainId, mainId));
+// // 鍒犻櫎浜у嚭
+// productionProductOutputMapper.delete(new LambdaQueryWrapper<ProductionProductOutput>()
+// .eq(ProductionProductOutput::getProductMainId, mainId));
+// // 鍒犻櫎璐ㄦ
+// qualityInspectMapper.delete(new LambdaQueryWrapper<QualityInspect>()
+// .eq(QualityInspect::getProductMainId, mainId));
}
}
- // 鍒犻櫎鎶ュ伐锛堢敓浜т富琛級
- productionProductMainMapper.delete(new LambdaQueryWrapper<ProductionProductMain>()
- .eq(ProductionProductMain::getWorkOrderId, workOrderId));
// 鏌ヨ璁㈠崟 + 鍒犻櫎鏍哥畻
ProductOrder productOrder = productOrderMapper.selectById(productOrderId);
if (productOrder != null && productOrder.getSalesLedgerId() != null) {
--
Gitblit v1.9.3