shiyunteng
2026-08-24 9c49ede494a10d7e7a322eb2e793afa412ea07e1
platformx-business-finance-biz/src/main/java/com/by4cloud/platformx/business/service/impl/MeterReadRecordServiceImpl.java
@@ -16,6 +16,8 @@
import java.math.BigDecimal;
import java.util.List;
;
/**
 * 水电抄表
 *
@@ -98,6 +100,7 @@
      schedule.setPaymentStatus(0);
      schedule.setActualAmount(new BigDecimal("0"));
      schedule.setInvoiceFlag("0");
      schedule.setInvoiceNum(record.getUsageNum());
      contractPaymentScheduleMapper.insert(schedule);
      //房屋租赁生成应收
      PaymentConfirm confirm = new PaymentConfirm();
@@ -131,13 +134,16 @@
         confirm.setCompId(contract.getCompId());
         paymentConfirmMapper.insert(confirm);
      }
      contract.setBillingStatus("2");
      contract.setAmount(contract.getAmount().add(confirm.getTransationAmount()));
      contractMapper.updateById(contract);
      //判断 循环是否完成
      List<ContractExecDate> execDateList = contractExecDateMapper.selectList(Wrappers.<ContractExecDate>lambdaQuery().eq(ContractExecDate::getContractId,contract.getId())
            .eq(ContractExecDate::getGenFlag,"0"));
      List<MeterReadRecord> recordList = baseMapper.selectList(Wrappers.<MeterReadRecord>lambdaQuery()
            .eq(MeterReadRecord::getContractId,contract.getId())
            .isNull(MeterReadRecord::getMeterReadNum));
      if (ArrayUtil.isEmpty(execDateList.toArray())&&ArrayUtil.isEmpty(recordList.toArray())){
      if (ArrayUtil.isEmpty(execDateList)&&ArrayUtil.isEmpty(recordList)){
         List<PaymentConfirm> confirmList = paymentConfirmMapper.selectList(Wrappers.<PaymentConfirm>lambdaQuery()
               .eq(PaymentConfirm::getContractId, contract.getId())
               .and(wrapper -> wrapper
@@ -147,7 +153,7 @@
                     .or()
                     .eq(PaymentConfirm::getBusinessType, "不征税自来水应收")
               ));
         if (ArrayUtil.isNotEmpty(confirmList.toArray())){
         if (ArrayUtil.isNotEmpty(confirmList)){
            BigDecimal total = confirmList.stream().map(PaymentConfirm::getTransationAmount).filter(amount -> amount != null).reduce(BigDecimal.ZERO, BigDecimal::add);
            contract.setAmount(total);
            contractMapper.updateById(contract);