From deb890911f16f28d0caf0edd7b96e8082bdd306d Mon Sep 17 00:00:00 2001
From: wujianwei <wjw@11.com>
Date: 星期二, 09 九月 2025 11:35:46 +0800
Subject: [PATCH] 新增前后端

---
 service/src/main/java/com/ruoyi/cwgl/service/impl/PendingSettlementBusinessServiceImpl.java |   38 +++++++++++++++++++++-----------------
 1 files changed, 21 insertions(+), 17 deletions(-)

diff --git a/service/src/main/java/com/ruoyi/cwgl/service/impl/PendingSettlementBusinessServiceImpl.java b/service/src/main/java/com/ruoyi/cwgl/service/impl/PendingSettlementBusinessServiceImpl.java
index 5aeaa3e..66a884e 100644
--- a/service/src/main/java/com/ruoyi/cwgl/service/impl/PendingSettlementBusinessServiceImpl.java
+++ b/service/src/main/java/com/ruoyi/cwgl/service/impl/PendingSettlementBusinessServiceImpl.java
@@ -1,5 +1,6 @@
 package com.ruoyi.cwgl.service.impl;
 
+import java.math.BigDecimal;
 import java.text.SimpleDateFormat;
 import java.util.Arrays;
 import java.util.Date;
@@ -211,12 +212,6 @@
     @Override
     public List<PendingSettlementBusiness> selectPendingSettlement2Cw() {
         List<PendingSettlementBusiness> pendingSettlementBusinesses = pendingSettlementBusinessMapper.selectPendingSettlement2Cw();
-        //鏇存柊鍚屾鐘舵�佺敤
-       /*     Integer[] ids = pendingSettlementBusinesses.stream().map(PendingSettlementBusiness::getServiceId).toArray(Integer[]::new);
-            int i = pendingSettlementBusinessMapper.updeteCwData(ids);
-            if (i>0){
-                logger.info("鍚屾鐘舵�佹洿鏂版垚鍔�");
-            }*/
         return pendingSettlementBusinesses;
     }
 
@@ -248,7 +243,7 @@
         String customerName = pendingSettlementBusinesses.get(0).getCustomerName();
         createBillVo.setCustomerName(customerName);
         createBillVo.setCount(pendingSettlementBusinesses.size());
-        long priceTotal = 0L;
+        BigDecimal priceTotal = BigDecimal.ZERO;
         for (PendingSettlementBusiness pendingSettlementBusiness : pendingSettlementBusinesses) {
             if (pendingSettlementBusiness.getIsCreate().equals(1)){
                 throw new ServiceException(pendingSettlementBusiness.getDispatchNo()+"宸插叆璐�");
@@ -258,7 +253,7 @@
                     throw new ServiceException("鍙兘閫夋嫨鐩稿悓瀹㈡埛鍚嶇О鐨勬暟鎹�");
 
                 }
-                priceTotal += pendingSettlementBusiness.getEstimatedTotalIncome()==null?0L:pendingSettlementBusiness.getEstimatedTotalIncome();
+                priceTotal =priceTotal.add( pendingSettlementBusiness.getEstimatedTotalIncome()==null?BigDecimal.ZERO:pendingSettlementBusiness.getEstimatedTotalIncome());
         }
         createBillVo.setPrice(priceTotal);
         return createBillVo;
@@ -272,9 +267,9 @@
         }
         pendingSettlementBusiness.setIsCreate(0);
         List<PendingSettlementBusiness> pendingSettlementBusinesses = pendingSettlementBusinessMapper.selectPendingSettlementBusinessList(pendingSettlementBusiness);
-        long priceTotal = pendingSettlementBusinesses.stream()
-                .mapToLong(b -> Optional.ofNullable(b.getEstimatedTotalIncome()).orElse(0L))
-                .sum();
+        BigDecimal priceTotal =  pendingSettlementBusinesses.stream()
+                .map(b -> Optional.ofNullable(b.getEstimatedTotalIncome()).orElse(BigDecimal.ZERO))
+                .reduce(BigDecimal.ZERO, BigDecimal::add);
         CreateBillVo createBillVo = new CreateBillVo();
         createBillVo.setCustomerName(customerName);
         createBillVo.setCount(pendingSettlementBusinesses.size());
@@ -313,11 +308,13 @@
         estimatedReceivableBill.setCustomerName(createBillVo.getCustomerName());
         estimatedReceivableBill.setDispatchCount(createBillVo.getCount());
         estimatedReceivableBill.setTotalAmount(createBillVo.getPrice());
-        estimatedReceivableBill.setSettledAmount(0L);
+        estimatedReceivableBill.setSettledAmount(BigDecimal.ZERO);
         estimatedReceivableBill.setInvoiceStatus(0);
         estimatedReceivableBill.setStatus(0);
         estimatedReceivableBill.setCreateBy(username);
         estimatedReceivableBillMapper.insertEstimatedReceivableBill(estimatedReceivableBill);
+        //淇敼鍏ヨ处
+        estimatedReceivableMapper.updateEstimatedReceivableBillStatus(collect,1,createBillVo.getBillName());
 
         //淇敼璋冨害鍗曚负宸插垱寤鸿处鍗�
         return  pendingSettlementBusinessMapper.updatePendingSettlementBusinessIsCreate(collect,estimatedReceivableBill.getId(),createBillVo.getBillName());
@@ -345,9 +342,9 @@
         Date date = new Date();
         String datePart = dateFormat.format(date);
 
-        long priceTotal = pendingSettlementBusinesses.stream()
-                .mapToLong(b -> Optional.ofNullable(b.getEstimatedTotalIncome()).orElse(0L))
-                .sum();
+        BigDecimal priceTotal = pendingSettlementBusinesses.stream()
+                .map(b -> Optional.ofNullable(b.getEstimatedTotalIncome()).orElse(BigDecimal.ZERO))
+                .reduce(BigDecimal.ZERO, BigDecimal::add);
         //璋冨害鍗曢泦鍚�
         List<String> collect = pendingSettlementBusinesses.stream().map(PendingSettlementBusiness::getDispatchNo).collect(Collectors.toList());
         EstimatedReceivableBill estimatedReceivableBill = new EstimatedReceivableBill();
@@ -357,12 +354,13 @@
         estimatedReceivableBill.setCustomerName(customerName);
         estimatedReceivableBill.setDispatchCount(pendingSettlementBusinesses.size());
         estimatedReceivableBill.setTotalAmount(priceTotal);
-        estimatedReceivableBill.setSettledAmount(0L);
+        estimatedReceivableBill.setSettledAmount(BigDecimal.ZERO);
         estimatedReceivableBill.setInvoiceStatus(0);
         estimatedReceivableBill.setStatus(0);
         estimatedReceivableBill.setCreateBy(username);
         estimatedReceivableBillMapper.insertEstimatedReceivableBill(estimatedReceivableBill);
-
+        //淇敼搴旀敹绠$悊琛ㄥ凡鍏ヨ处
+        estimatedReceivableMapper.updateEstimatedReceivableBillStatus(collect,1,billName);
         //淇敼璋冨害鍗曚负宸插垱寤鸿处鍗�
         return  pendingSettlementBusinessMapper.updatePendingSettlementBusinessIsCreate(collect,estimatedReceivableBill.getId(),billName);
     }
@@ -371,4 +369,10 @@
     public List<String> selectCustomName() {
         return pendingSettlementBusinessMapper.selectCustomName();
     }
+
+    @Override
+    @DataSource(DataSourceType.CWSJ)
+    public int updeteCwData(Integer[] ids) {
+        return pendingSettlementBusinessMapper.updeteCwData(ids);
+    }
 }

--
Gitblit v1.8.0