From ac79dfd8d661dbe166553ff80fbdbfee64e8134e Mon Sep 17 00:00:00 2001
From: liyong <18434998025@163.com>
Date: 星期二, 28 四月 2026 16:02:20 +0800
Subject: [PATCH] feat(production): 添加工序ID字段支持

---
 src/main/java/com/ruoyi/home/service/impl/HomeServiceImpl.java |   37 ++++++++++++++++++++++---------------
 1 files changed, 22 insertions(+), 15 deletions(-)

diff --git a/src/main/java/com/ruoyi/home/service/impl/HomeServiceImpl.java b/src/main/java/com/ruoyi/home/service/impl/HomeServiceImpl.java
index f09323d..188f70e 100644
--- a/src/main/java/com/ruoyi/home/service/impl/HomeServiceImpl.java
+++ b/src/main/java/com/ruoyi/home/service/impl/HomeServiceImpl.java
@@ -178,43 +178,46 @@
             BigDecimal noInvoiceAmountTotal = salesLedgerProducts.stream().map(SalesLedgerProduct::getNoInvoiceAmount)
                     .filter(Objects::nonNull)
                     .reduce(BigDecimal.ZERO, BigDecimal::add);
-            homeBusinessDto.setMonthSaleMoney(contractAmount.setScale(2, RoundingMode.HALF_UP).toString());
-            homeBusinessDto.setMonthSaleHaveMoney(noInvoiceAmountTotal.setScale(2, RoundingMode.HALF_UP).toString());
+            homeBusinessDto.setMonthSaleMoney(contractAmount.setScale(3, RoundingMode.HALF_UP).toString());
+            homeBusinessDto.setMonthSaleHaveMoney(noInvoiceAmountTotal.setScale(3, RoundingMode.HALF_UP).toString());
         }
         // 鍒涘缓LambdaQueryWrapper
         LambdaQueryWrapper<PurchaseLedger> queryWrapper = new LambdaQueryWrapper<>();
         queryWrapper.ge(PurchaseLedger::getEntryDate, currentMonth.atDay(1).atStartOfDay()) // 澶т簬绛変簬鏈湀绗竴澶�
                 .lt(PurchaseLedger::getEntryDate, currentMonth.plusMonths(1).atDay(1).atStartOfDay()); // 灏忎簬涓嬫湀绗竴澶�
-        // 鎵ц鏌ヨ骞惰绠楁�诲拰
+
         List<PurchaseLedger> purchaseLedgers = purchaseLedgerMapper.selectList(queryWrapper);
         if (!CollectionUtils.isEmpty(purchaseLedgers)) {
-            LambdaQueryWrapper<SalesLedgerProduct> salesLedgerProductMapperLambdaQueryWrapperCopy = new LambdaQueryWrapper<SalesLedgerProduct>();
-            salesLedgerProductMapperLambdaQueryWrapperCopy.eq(SalesLedgerProduct::getType, 2)
+            LambdaQueryWrapper<SalesLedgerProduct> salesLedgerProductMapperLambdaQueryWrapperCopy = new LambdaQueryWrapper<>();
+            salesLedgerProductMapperLambdaQueryWrapperCopy.eq(SalesLedgerProduct::getType, 2) // 閲囪喘绫诲瀷
                     .in(SalesLedgerProduct::getSalesLedgerId,
                             purchaseLedgers.stream().map(PurchaseLedger::getId).collect(Collectors.toList()));
+
             List<SalesLedgerProduct> salesLedgerProductsCopy = salesLedgerProductMapper
                     .selectList(salesLedgerProductMapperLambdaQueryWrapperCopy);
-            // 鍚堣鍚堝悓閲戦
+
+            // 鍚堣鍚堝悓鎬婚噾棰�
             BigDecimal receiveAmount = purchaseLedgers.stream()
                     .map(PurchaseLedger::getContractAmount)
                     .filter(Objects::nonNull)
                     .reduce(BigDecimal.ZERO, BigDecimal::add);
-            // 鏈紑绁ㄩ噾棰�
+
+            //  寰呬粯娆炬�婚噾棰�
             BigDecimal unReceiptPaymentAmount = salesLedgerProductsCopy.stream()
-                    .map(SalesLedgerProduct::getNoInvoiceAmount)
+                    .map(SalesLedgerProduct::getPendingTicketsTotal)
                     .filter(Objects::nonNull)
                     .reduce(BigDecimal.ZERO, BigDecimal::add);
-            homeBusinessDto.setMonthPurchaseMoney(receiveAmount.setScale(2, RoundingMode.HALF_UP).toString());
-            homeBusinessDto
-                    .setMonthPurchaseHaveMoney(unReceiptPaymentAmount.setScale(2, RoundingMode.HALF_UP).toString());
+
+            homeBusinessDto.setMonthPurchaseMoney(receiveAmount.setScale(3, RoundingMode.HALF_UP).toString());
+            homeBusinessDto.setMonthPurchaseHaveMoney(unReceiptPaymentAmount.setScale(3, RoundingMode.HALF_UP).toString());
         }
         // 缁熻搴撳瓨
         BigDecimal stockQuantityTotal = stockInventoryMapper.selectTotal();
-        homeBusinessDto.setInventoryNum(stockQuantityTotal.setScale(2, RoundingMode.HALF_UP).toString());
+        homeBusinessDto.setInventoryNum(stockQuantityTotal.setScale(3, RoundingMode.HALF_UP).toString());
 
         // 鑾峰彇褰撳ぉ鍏ュ簱鏁伴噺
         BigDecimal bigDecimal = stockInventoryMapper.selectTotalByDate(LocalDate.now());
-        homeBusinessDto.setTodayInventoryNum(bigDecimal.setScale(2, RoundingMode.HALF_UP).toString());
+        homeBusinessDto.setTodayInventoryNum(bigDecimal.setScale(3, RoundingMode.HALF_UP).toString());
         return homeBusinessDto;
     }
 
@@ -295,8 +298,12 @@
         analysisCustomerContractAmountsDto.setChain(chain);
 
         Map<String, BigDecimal> collect = salesLedgers.stream()
-                .collect(Collectors.groupingBy(SalesLedger::getCustomerName, Collectors.reducing(BigDecimal.ZERO,
-                        SalesLedger::getContractAmount, BigDecimal::add)));
+                .collect(Collectors.groupingBy(
+                        salesLedger -> StringUtils.isBlank(salesLedger.getCustomerName()) ? "鏈垎閰嶅鎴�" : salesLedger.getCustomerName(),
+                        Collectors.reducing(BigDecimal.ZERO,
+                                salesLedger -> Objects.nonNull(salesLedger.getContractAmount())
+                                        ? salesLedger.getContractAmount() : BigDecimal.ZERO,
+                                BigDecimal::add)));
         List<MapDto> mapDtos = new ArrayList<>();
         collect.forEach((k, v) -> {
             MapDto mapDto = new MapDto();

--
Gitblit v1.9.3