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 ++++++++++++++++++++++---------------
 1 files changed, 22 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);

--
Gitblit v1.9.3