From ccb4e9b8011d26b77dc6b9888ad21f7c8e921654 Mon Sep 17 00:00:00 2001
From: maven <2163098428@qq.com>
Date: 星期五, 01 八月 2025 10:43:51 +0800
Subject: [PATCH] yys  修改生产模块bug

---
 src/main/java/com/ruoyi/production/service/impl/SalesLedgerSchedulingServiceImpl.java |   37 ++++++++++++++++++++++---------------
 src/main/resources/mapper/production/SalesLedgerSchedulingMapper.xml                  |    1 +
 src/main/resources/mapper/approve/ApproveProcessMapper.xml                            |    3 +++
 3 files changed, 26 insertions(+), 15 deletions(-)

diff --git a/src/main/java/com/ruoyi/production/service/impl/SalesLedgerSchedulingServiceImpl.java b/src/main/java/com/ruoyi/production/service/impl/SalesLedgerSchedulingServiceImpl.java
index d3550ea..103d809 100644
--- a/src/main/java/com/ruoyi/production/service/impl/SalesLedgerSchedulingServiceImpl.java
+++ b/src/main/java/com/ruoyi/production/service/impl/SalesLedgerSchedulingServiceImpl.java
@@ -109,20 +109,20 @@
     @Override
     public IPage<SalesLedgerSchedulingProcessDto> listPageProcess(Page page, SalesLedgerSchedulingProcessDto salesLedgerSchedulingDto) {
         IPage<SalesLedgerSchedulingProcessDto> list = salesLedgerSchedulingMapper.listPageProcess(page, salesLedgerSchedulingDto);
-        Set<Long> collect = list.getRecords().stream().map(SalesLedgerSchedulingProcessDto::getSalesLedgerProductId).collect(Collectors.toSet());
-        if(CollectionUtils.isEmpty(collect)) return list;
-        LambdaQueryWrapper<SalesLedgerWork> salesLedgerWorkLambdaQueryWrapper = new LambdaQueryWrapper<>();
-        salesLedgerWorkLambdaQueryWrapper.in(SalesLedgerWork::getSalesLedgerProductId, collect)
-                .ne(SalesLedgerWork::getStatus, 1);
-        List<SalesLedgerWork> salesLedgerWorks = salesLedgerWorkMapper.selectList(salesLedgerWorkLambdaQueryWrapper);
-        list.getRecords().forEach(i -> {
-            // 鑾峰彇瀹屾垚鏁伴噺
-            i.setSuccessNum(salesLedgerWorks
-                    .stream()
-                    .filter(j -> j.getSalesLedgerProductId().equals(i.getSalesLedgerProductId()))
-                    .map(SalesLedgerWork::getFinishedNum)
-                    .reduce(BigDecimal.ZERO, BigDecimal::add));
-        });
+//        Set<Long> collect = list.getRecords().stream().map(SalesLedgerSchedulingProcessDto::getId).collect(Collectors.toSet());
+//        if(CollectionUtils.isEmpty(collect)) return list;
+//        LambdaQueryWrapper<SalesLedgerWork> salesLedgerWorkLambdaQueryWrapper = new LambdaQueryWrapper<>();
+//        salesLedgerWorkLambdaQueryWrapper.in(SalesLedgerWork::getSalesLedgerSchedulingId, collect)
+//                .ne(SalesLedgerWork::getStatus, 1);
+//        List<SalesLedgerWork> salesLedgerWorks = salesLedgerWorkMapper.selectList(salesLedgerWorkLambdaQueryWrapper);
+//        list.getRecords().forEach(i -> {
+//            // 鑾峰彇瀹屾垚鏁伴噺
+//            i.setSuccessNum(salesLedgerWorks
+//                    .stream()
+//                    .filter(j -> j.getSalesLedgerSchedulingId().equals(i.getId()))
+//                    .map(SalesLedgerWork::getFinishedNum)
+//                    .reduce(BigDecimal.ZERO, BigDecimal::add));
+//        });
         return list;
     }
 
@@ -147,7 +147,14 @@
             SysUser sysUser = sysUserMapper.selectUserById(processSchedulingDto.getSchedulingUserId());
             if(sysUser == null) throw new RuntimeException("鎺掍骇浜轰笉瀛樺湪");
             salesLedgerScheduling.setFinishedNum(salesLedgerScheduling.getFinishedNum().add(processSchedulingDto.getSchedulingNum()));
-            if(salesLedgerScheduling.getSchedulingNum().compareTo(salesLedgerScheduling.getFinishedNum()) <= 0){
+            LambdaQueryWrapper<SalesLedgerWork> salesLedgerWorkLambdaQueryWrapper = new LambdaQueryWrapper<>();
+            salesLedgerWorkLambdaQueryWrapper.eq(SalesLedgerWork::getSalesLedgerSchedulingId, salesLedgerScheduling.getId())
+                    .ne(SalesLedgerWork::getStatus, 1);
+            List<SalesLedgerWork> salesLedgerWorks = salesLedgerWorkMapper.selectList(salesLedgerWorkLambdaQueryWrapper);
+            if(salesLedgerScheduling.getSchedulingNum().compareTo(salesLedgerScheduling.getFinishedNum()) < 0){
+                throw new RuntimeException("褰撳墠鎺掍骇鏁伴噺澶т簬寰呮帓浜ф暟閲忥紝璇蜂粩缁嗘牳瀵癸紒");
+            }
+            if(salesLedgerScheduling.getSchedulingNum().compareTo(salesLedgerScheduling.getFinishedNum()) == 0){
                 salesLedgerScheduling.setStatus(3);
             }else{
                 salesLedgerScheduling.setStatus(2);
diff --git a/src/main/resources/mapper/approve/ApproveProcessMapper.xml b/src/main/resources/mapper/approve/ApproveProcessMapper.xml
index 3104940..995ae0c 100644
--- a/src/main/resources/mapper/approve/ApproveProcessMapper.xml
+++ b/src/main/resources/mapper/approve/ApproveProcessMapper.xml
@@ -32,5 +32,8 @@
         <if test="req.approveId != null and req.approveId != ''">
             and approve_id like concat('%',#{req.approveId},'%')
         </if>
+        <if test="req.approveStatus != null and req.approveStatus != ''">
+            and approve_status = #{req.approveStatus}
+        </if>
     </select>
 </mapper>
diff --git a/src/main/resources/mapper/production/SalesLedgerSchedulingMapper.xml b/src/main/resources/mapper/production/SalesLedgerSchedulingMapper.xml
index 27c0fe7..e7e882c 100644
--- a/src/main/resources/mapper/production/SalesLedgerSchedulingMapper.xml
+++ b/src/main/resources/mapper/production/SalesLedgerSchedulingMapper.xml
@@ -73,6 +73,7 @@
         T2.scheduling_user_name,
         T2.scheduling_date,
         ifNull(T2.scheduling_num,0) AS schedulingNum,
+        ifNull(T2.finished_num,0) AS successNum,
         T1.sales_contract_no,
         T1.customer_contract_no,
         T1.project_name,

--
Gitblit v1.9.3