From 99cc2c135bb97943ef25f31d4d85c24b683b725b Mon Sep 17 00:00:00 2001
From: maven <2163098428@qq.com>
Date: 星期三, 24 十二月 2025 11:31:50 +0800
Subject: [PATCH] yys  成品入库修改入库时间

---
 src/main/java/com/ruoyi/production/service/impl/SalesLedgerSchedulingServiceImpl.java |   22 +++++++++-------------
 1 files changed, 9 insertions(+), 13 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 11cfafa..3c1193e 100644
--- a/src/main/java/com/ruoyi/production/service/impl/SalesLedgerSchedulingServiceImpl.java
+++ b/src/main/java/com/ruoyi/production/service/impl/SalesLedgerSchedulingServiceImpl.java
@@ -58,7 +58,7 @@
     @Override
     public IPage<SalesLedgerSchedulingDto> listPage(Page page, SalesLedgerSchedulingDto salesLedgerSchedulingDto) {
         IPage<SalesLedgerSchedulingDto> list = salesLedgerSchedulingMapper.listPage(page, salesLedgerSchedulingDto);
-        if(list.getTotal() == 0){
+        if(CollectionUtils.isEmpty(list.getRecords())){
             return list;
         }
         Set<Long> collect = list.getRecords().stream().map(SalesLedgerSchedulingDto::getSalesLedgerProductId).collect(Collectors.toSet());
@@ -66,7 +66,6 @@
         salesLedgerWorkLambdaQueryWrapper.in(SalesLedgerWork::getSalesLedgerProductId, collect)
                 .ne(SalesLedgerWork::getStatus, 1);
         List<SalesLedgerWork> salesLedgerWorks = salesLedgerWorkMapper.selectList(salesLedgerWorkLambdaQueryWrapper);
-        List<SalesLedgerSchedulingDto> list1 = new ArrayList<>();
         list.getRecords().forEach(i -> {
             // 鑾峰彇瀹屾垚鏁伴噺
             i.setSuccessNum(salesLedgerWorks
@@ -85,13 +84,15 @@
             }
 
             // 鐘舵�� = 鏁伴噺鍜屽畬宸ユ暟閲忔瘮杈�
-            if(i.getSchedulingNum().compareTo(new BigDecimal(0)) == 0){
-                i.setStatus("鏈畬鎴�");
-            } else if(i.getQuantity().compareTo(i.getSchedulingNum()) <= 0){
+            if(i.getSuccessNum().compareTo(new BigDecimal(0)) == 0){
+                i.setStatus("鏈紑濮�");
+            } else if(i.getQuantity().compareTo(i.getSuccessNum()) <= 0){
                 i.setStatus("宸插畬鎴�");
             }else{
                 i.setStatus("鐢熶骇涓�");
             }
+            // 杩涘害淇濈暀涓や綅灏忔暟
+            i.setProgress(i.getSchedulingNum().divide(i.getQuantity(),4,RoundingMode.CEILING).multiply(new BigDecimal(100)));
 
         });
         return list;
@@ -258,8 +259,9 @@
         // 闇�瑕� / 鎹熻�楃巼
         Loss loss = lossMapper.selectOne(new LambdaQueryWrapper<Loss>().last("limit 1"));
         BigDecimal lossNum = loss == null ? new BigDecimal(6) : loss.getRate(); //娌℃湁鎹熻�楃巼鍒欓粯璁や负6
-
-        return new BigDecimal(totalNum.get()).multiply(new BigDecimal(100)).divide(lossNum, 2,RoundingMode.HALF_UP);
+        lossNum = new BigDecimal(100).subtract(lossNum);  // 100 - 鎹熻�楃巼
+        lossNum = lossNum.divide(new BigDecimal(100), 2,RoundingMode.DOWN);
+        return new BigDecimal(totalNum.get()).multiply(lossNum);
     }
 
     private final LossMapper lossMapper;
@@ -301,12 +303,6 @@
     @Override
     public IPage<SalesLedgerSchedulingProcessDto> listPageProcess(Page page, SalesLedgerSchedulingProcessDto salesLedgerSchedulingDto) {
         IPage<SalesLedgerSchedulingProcessDto> list = salesLedgerSchedulingMapper.listPageProcess(page, salesLedgerSchedulingDto);
-//        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 -> {
             // 璁$畻鐢熶骇鎬婚噺 = 瑙勬牸 * 鏁伴噺 / 1000
             String[] split = i.getSpecificationModel().split("\\*");

--
Gitblit v1.9.3