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/basic/controller/ProductController.java | 29 ++++++++++++++++++++++++-----
1 files changed, 24 insertions(+), 5 deletions(-)
diff --git a/src/main/java/com/ruoyi/basic/controller/ProductController.java b/src/main/java/com/ruoyi/basic/controller/ProductController.java
index 252ab4d..7ed56c2 100644
--- a/src/main/java/com/ruoyi/basic/controller/ProductController.java
+++ b/src/main/java/com/ruoyi/basic/controller/ProductController.java
@@ -3,6 +3,7 @@
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.google.common.collect.Lists;
import com.ruoyi.basic.dto.ProductDto;
import com.ruoyi.basic.dto.ProductModelDto;
import com.ruoyi.basic.dto.ProductModelExportDto;
@@ -18,6 +19,8 @@
import com.ruoyi.sales.pojo.SalesLedgerProduct;
import com.ruoyi.sales.service.ISalesLedgerProductService;
import com.ruoyi.sales.service.ISalesLedgerService;
+import com.ruoyi.stock.pojo.StockInventory;
+import com.ruoyi.stock.service.StockInventoryService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.AllArgsConstructor;
@@ -27,6 +30,7 @@
import javax.servlet.http.HttpServletResponse;
import java.util.List;
+import java.util.stream.Collectors;
@RestController
@AllArgsConstructor
@@ -38,6 +42,9 @@
private IProductModelService productModelService;
@Autowired
private ISalesLedgerProductService salesLedgerProductService;
+ @Autowired
+ private StockInventoryService stockInventoryService;
+
/**
* 鏌ヨ浜у搧
*/
@@ -81,13 +88,25 @@
if (ids == null || ids.length == 0) {
return AjaxResult.error("璇蜂紶鍏ヨ鍒犻櫎鐨処D");
}
+ List<ProductModel> productModels = productModelService.selectModelListByProductIds(Lists.newArrayList(ids));
// 妫�鏌ユ槸鍚︽湁閿�鍞晢鍝佽褰曞叧鑱旇浜у搧
- LambdaQueryWrapper<SalesLedgerProduct> queryWrapper = new LambdaQueryWrapper<>();
- queryWrapper.in(SalesLedgerProduct::getProductId, ids);
- List<SalesLedgerProduct> salesLedgerProductList = salesLedgerProductService.list(queryWrapper);
- if (salesLedgerProductList.size() > 0) {
- return AjaxResult.error("璇ヤ骇鍝佸瓨鍦ㄩ攢鍞�/閲囪喘璁板綍锛屼笉鑳藉垹闄�");
+ if (!productModels.isEmpty()) {
+ LambdaQueryWrapper<SalesLedgerProduct> queryWrapper = new LambdaQueryWrapper<>();
+ queryWrapper.in(SalesLedgerProduct::getProductModelId, productModels.stream().map(ProductModel::getId).collect(Collectors.toList()));
+ List<SalesLedgerProduct> salesLedgerProductList = salesLedgerProductService.list(queryWrapper);
+ if (!salesLedgerProductList.isEmpty()) {
+ return AjaxResult.error("璇ヤ骇鍝佸瓨鍦ㄩ攢鍞�/閲囪喘璁板綍锛屼笉鑳藉垹闄�");
+ }
+ LambdaQueryWrapper<StockInventory> inventoryLambdaQueryWrapper = new LambdaQueryWrapper<>();
+ inventoryLambdaQueryWrapper.in(StockInventory::getProductModelId, productModels.stream().map(ProductModel::getId).collect(Collectors.toList()));
+
+ List<StockInventory> list = stockInventoryService.list(inventoryLambdaQueryWrapper);
+ if (!list.isEmpty()) {
+ return AjaxResult.error("璇ヤ骇鍝佸瓨鍦ㄥ簱瀛樿褰曪紝涓嶈兘鍒犻櫎");
+ }
+ productModelService.removeBatchByIds(productModels);
}
+
return toAjax(productService.delProductByIds(ids));
}
--
Gitblit v1.9.3