From 20d3e1da6517ed5e55ae3613ccbbb01f1b9eda2e Mon Sep 17 00:00:00 2001
From: liyong <18434998025@163.com>
Date: 星期六, 25 四月 2026 11:53:11 +0800
Subject: [PATCH] fix(approve): 修复审批流程中的数据类型和业务逻辑问题

---
 src/main/java/com/ruoyi/sales/service/impl/SalesLedgerProductServiceImpl.java |   26 ++++++++++++++++++++++----
 1 files changed, 22 insertions(+), 4 deletions(-)

diff --git a/src/main/java/com/ruoyi/sales/service/impl/SalesLedgerProductServiceImpl.java b/src/main/java/com/ruoyi/sales/service/impl/SalesLedgerProductServiceImpl.java
index 8b84e12..e597a9e 100644
--- a/src/main/java/com/ruoyi/sales/service/impl/SalesLedgerProductServiceImpl.java
+++ b/src/main/java/com/ruoyi/sales/service/impl/SalesLedgerProductServiceImpl.java
@@ -1,11 +1,14 @@
 package com.ruoyi.sales.service.impl;
 
+import cn.hutool.core.collection.CollUtil;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ruoyi.basic.dto.ProductModelAnticlockwiseDto;
+import com.ruoyi.basic.service.IProductModelService;
 import com.ruoyi.common.enums.StockInUnQualifiedRecordTypeEnum;
 import com.ruoyi.common.enums.StockOutQualifiedRecordTypeEnum;
 import com.ruoyi.framework.web.domain.R;
@@ -84,6 +87,8 @@
     private StockInventoryMapper stockInventoryMapper;
     @Autowired
     private ProductOrderServiceImpl productOrderServiceImpl;
+    @Autowired
+    private IProductModelService productModelService;
 
     @Override
     public SalesLedgerProduct selectSalesLedgerProductById(Long id) {
@@ -194,6 +199,16 @@
     @Override
     @Transactional(rollbackFor = Exception.class)
     public int addOrUpdateSalesLedgerProduct(SalesLedgerProduct salesLedgerProduct) {
+        //鍏堟煡璇㈠熀纭�琛ㄦ湁娌℃湁
+        ProductModelAnticlockwiseDto productModelAnticlockwiseDto = new ProductModelAnticlockwiseDto();
+        productModelAnticlockwiseDto.setProductName(salesLedgerProduct.getProductCategory());
+        productModelAnticlockwiseDto.setModel(salesLedgerProduct.getSpecificationModel());
+        productModelAnticlockwiseDto.setUnit(salesLedgerProduct.getUnit());
+        productModelAnticlockwiseDto.setSubUnit(salesLedgerProduct.getUnit());
+        productModelAnticlockwiseDto.setId(salesLedgerProduct.getId());
+        Long l = productModelService.productModelAnticlockwise(productModelAnticlockwiseDto);
+        salesLedgerProduct.setProductModelId(l);
+
         // 寰呭洖娆撅紝浠樻
         if (salesLedgerProduct.getType().equals(1)) {
             salesLedgerProduct.setPendingInvoiceTotal(salesLedgerProduct.getTaxInclusiveTotalPrice().subtract(salesLedgerProduct.getInvoiceTotal()));
@@ -286,11 +301,14 @@
             //鏂板鐢熶骇璁㈠崟宸ヨ壓璺嚎瀛愯〃
             List<ProcessRouteItem> processRouteItems = processRouteItemMapper.selectList(new QueryWrapper<ProcessRouteItem>().lambda().eq(ProcessRouteItem::getRouteId, processRoute.getId()));
 
-            Map<Long, ProductProcess> productProcessMap = productProcessService
-                    .list(new LambdaQueryWrapper<ProductProcess>().in(ProductProcess::getId, processRouteItems.stream().map(ProcessRouteItem::getProcessId).collect(Collectors.toList())))
-                    .stream()
-                    .collect(Collectors.toMap(ProductProcess::getId, productProcess -> productProcess));
+            Map<Long, ProductProcess> productProcessMap = new HashMap<>();
+            if(CollUtil.isNotEmpty(processRouteItems)){
+                productProcessMap = productProcessService
+                        .list(new LambdaQueryWrapper<ProductProcess>().in(ProductProcess::getId, processRouteItems.stream().map(ProcessRouteItem::getProcessId).collect(Collectors.toList())))
+                        .stream()
+                        .collect(Collectors.toMap(ProductProcess::getId, productProcess -> productProcess));
 
+            }
             for (ProcessRouteItem processRouteItem : processRouteItems) {
                 ProductProcessRouteItem productProcessRouteItem = new ProductProcessRouteItem();
                 productProcessRouteItem.setProductModelId(processRouteItem.getProductModelId());

--
Gitblit v1.9.3