From 005e11377f508e3a79b528572a386a2af43697ca Mon Sep 17 00:00:00 2001
From: yaowanxin <3588231647@qq.com>
Date: 星期五, 09 一月 2026 16:24:58 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/jtwy' into jtwy

---
 src/main/java/com/ruoyi/production/controller/ProductProcessRouteItemController.java |   26 ++++++++++++++++++++++++--
 1 files changed, 24 insertions(+), 2 deletions(-)

diff --git a/src/main/java/com/ruoyi/production/controller/ProductProcessRouteItemController.java b/src/main/java/com/ruoyi/production/controller/ProductProcessRouteItemController.java
index 7370a19..c69ab38 100644
--- a/src/main/java/com/ruoyi/production/controller/ProductProcessRouteItemController.java
+++ b/src/main/java/com/ruoyi/production/controller/ProductProcessRouteItemController.java
@@ -4,11 +4,17 @@
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.ruoyi.framework.web.domain.R;
 import com.ruoyi.production.dto.ProductProcessRouteItemDto;
+import com.ruoyi.production.mapper.ProductOrderMapper;
 import com.ruoyi.production.mapper.ProductWorkOrderMapper;
+import com.ruoyi.production.pojo.ProductOrder;
 import com.ruoyi.production.pojo.ProductProcessRouteItem;
 import com.ruoyi.production.pojo.ProductWorkOrder;
 import com.ruoyi.production.service.ProductProcessRouteItemService;
 import com.ruoyi.production.service.ProductWorkOrderService;
+import com.ruoyi.sales.mapper.SalesLedgerMapper;
+import com.ruoyi.sales.mapper.SalesLedgerProductMapper;
+import com.ruoyi.sales.pojo.SalesLedger;
+import com.ruoyi.sales.pojo.SalesLedgerProduct;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import lombok.AllArgsConstructor;
@@ -23,17 +29,20 @@
 import java.util.Map;
 import java.util.stream.Collectors;
 
-@RequestMapping("productProcessRoute")
+@RequestMapping("/productProcessRoute")
 @RestController
 @AllArgsConstructor
 @Api(tags = "鐢熶骇宸ヨ壓璺嚎")
 public class ProductProcessRouteItemController {
 
+    private final ProductOrderMapper productOrderMapper;
     private ProductProcessRouteItemService productProcessRouteItemService;
 
     private ProductWorkOrderService productWorkOrderService;
 
     private ProductWorkOrderMapper productWorkOrderMapper;
+
+    private SalesLedgerProductMapper salesLedgerProductMapper;
 
     @GetMapping("list")
     @ApiOperation("鏍规嵁Id鏌ヨ宸ヨ壓椤圭洰")
@@ -45,6 +54,18 @@
     @ApiOperation("鎵归噺鏂板淇敼")
     @Transactional(rollbackFor = Exception.class)
     public R addOrUpdate(@RequestBody ProductProcessRouteItemDto processRouteItemDto) {
+
+        ProductOrder productOrder = productOrderMapper.selectById(processRouteItemDto.getRouteId());
+        if (productOrder == null) {
+            return R.fail("鏈壘鍒癐D涓篬" + processRouteItemDto.getRouteId() + "]鐨勪骇鍝佽鍗�");
+        }
+        SalesLedgerProduct salesLedgerProduct = salesLedgerProductMapper.selectOne(new LambdaQueryWrapper<SalesLedgerProduct>()
+                .eq(SalesLedgerProduct::getSalesLedgerId, productOrder.getSalesLedgerId()));
+
+        if (salesLedgerProduct == null) {
+            return R.fail("鏈壘鍒伴攢鍞彴璐D涓篬" + productOrder.getSalesLedgerId() + "]鐨勫彴璐︿骇鍝�");
+        }
+
         List<ProductProcessRouteItem> items = processRouteItemDto.getProcessRouteItem();
         if (CollectionUtils.isEmpty(items)) {
             return R.ok();
@@ -71,7 +92,7 @@
 
                 List<Map<String, Object>> maxNoList = productWorkOrderMapper.selectMaps(queryWrapper);
                 String maxWorkOrderNo = null;
-                if (!maxNoList.isEmpty() && maxNoList.get(0).get("maxNo") != null) {
+                if (!maxNoList.isEmpty() && maxNoList.get(0) != null && maxNoList.get(0).get("maxNo") != null) {
                     maxWorkOrderNo = maxNoList.get(0).get("maxNo").toString();
                 }
                 int startSequence = 1;
@@ -92,6 +113,7 @@
                     workOrder.setProductProcessRouteItemId(item.getId());
                     workOrder.setProductOrderId(item.getRouteId());
                     workOrder.setWorkOrderNo(workOrderNoStr);
+                    workOrder.setPlanQuantity(salesLedgerProduct.getQuantity());
                     workOrder.setStatus(1);
                     workOrders.add(workOrder);
                 }

--
Gitblit v1.9.3