wujianwei
2025-09-10 d68d7e5d1fe9659ea21868809dab69a814e07f04
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);
    }
}