From a62b7e8c7a17a1f98b6caecd2912ad55baa2a6cd Mon Sep 17 00:00:00 2001
From: huminmin <mac@MacBook-Pro.local>
Date: 星期一, 22 十二月 2025 16:31:51 +0800
Subject: [PATCH] 修改数据库

---
 src/main/java/com/ruoyi/production/service/impl/SalesLedgerSchedulingServiceImpl.java |   45 ++++++++++++++++++++++++++++++---------------
 1 files changed, 30 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 5070319..81fd76f 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());
@@ -73,14 +73,7 @@
                     .filter(j -> j.getSalesLedgerProductId().equals(i.getSalesLedgerProductId()))
                     .map(SalesLedgerWork::getFinishedNum)
                     .reduce(BigDecimal.ZERO, BigDecimal::add));
-            // 鐘舵�� = 鏁伴噺鍜屽畬宸ユ暟閲忔瘮杈�
-            if(i.getSchedulingNum().compareTo(new BigDecimal(0)) == 0){
-                i.setStatus("鏈畬鎴�");
-            } else if(i.getSchedulingNum().compareTo(i.getSuccessNum()) == 0){
-                i.setStatus("宸插畬鎴�");
-            }else{
-                i.setStatus("鐢熶骇涓�");
-            }
+
             // 璁$畻鐢熶骇鎬婚噺 = 瑙勬牸 * 鏁伴噺 / 1000
             String[] split = i.getSpecificationModel().split("\\*");
             if(split.length == 2 && isNumeric(split[0]) && isNumeric(split[1])){
@@ -89,6 +82,17 @@
                                 .multiply(i.getQuantity()).divide(new BigDecimal(1000),2, RoundingMode.CEILING));
                 i.setTotalProduction(multiply);
             }
+
+            // 鐘舵�� = 鏁伴噺鍜屽畬宸ユ暟閲忔瘮杈�
+            if(i.getSchedulingNum().compareTo(new BigDecimal(0)) == 0){
+                i.setStatus("鏈紑濮�");
+            } else if(i.getQuantity().compareTo(i.getSchedulingNum()) <= 0){
+                i.setStatus("宸插畬鎴�");
+            }else{
+                i.setStatus("鐢熶骇涓�");
+            }
+            // 杩涘害淇濈暀涓や綅灏忔暟
+            i.setProgress(i.getSchedulingNum().divide(i.getQuantity(),4,RoundingMode.CEILING).multiply(new BigDecimal(100)));
 
         });
         return list;
@@ -187,10 +191,26 @@
                 i++;
                 continue;
             }
+            String productionLine = "";
+            switch (name.get()){
+                    case "鐐掓満1":
+                    productionLine = "浜х嚎1";
+                    break;
+                    case "鐐掓満2":
+                    productionLine = "浜х嚎2";
+                    break;
+                    case "鐐掓満3":
+                    productionLine = "浜х嚎3";
+                    break;
+                    case "鐐掓満4":
+                    productionLine = "浜х嚎4";
+                    break;
+            }
             SalesLedgerScheduling salesLedgerScheduling = SalesLedgerScheduling.builder()
                     .salesLedgerId(productionDispatchAddDto.getSalesLedgerId())
                     .salesLedgerProductId(productionDispatchAddDto.getSalesLedgerProductId())
                     .speculativeTradingName(name.get())
+                    .productionLine(productionLine)
                     .schedulingUserId(sysUser.getUserId())
                     .schedulingUserName(sysUser.getNickName())
                     .schedulingNum(productionDispatchAddDto.getSchedulingNum())
@@ -282,12 +302,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("\\*");
@@ -339,6 +353,7 @@
                     .salesLedgerSchedulingId(salesLedgerScheduling.getId())
                     .salesLedgerId(salesLedgerScheduling.getSalesLedgerId())
                     .remark(processSchedulingDto.getRemark())
+                    .productionLine(processSchedulingDto.getProductionLine())
                     .type(processSchedulingDto.getType())
                     .loss(processSchedulingDto.getLoss())
                     .receive(processSchedulingDto.getReceive())

--
Gitblit v1.9.3