platformx-business-finance-biz/src/main/java/com/by4cloud/platformx/business/service/impl/MeterReadRecordServiceImpl.java
@@ -4,14 +4,8 @@
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.by4cloud.platformx.business.dto.MeterReadRecordUpdateDTO;
import com.by4cloud.platformx.business.entity.Contract;
import com.by4cloud.platformx.business.entity.ContractSubjectMatter;
import com.by4cloud.platformx.business.entity.MeterReadRecord;
import com.by4cloud.platformx.business.entity.PaymentConfirm;
import com.by4cloud.platformx.business.mapper.ContractMapper;
import com.by4cloud.platformx.business.mapper.ContractSubjectMatterMapper;
import com.by4cloud.platformx.business.mapper.MeterReadRecordMapper;
import com.by4cloud.platformx.business.mapper.PaymentConfirmMapper;
import com.by4cloud.platformx.business.entity.*;
import com.by4cloud.platformx.business.mapper.*;
import com.by4cloud.platformx.business.service.MeterReadRecordService;
import com.by4cloud.platformx.common.core.util.R;
import lombok.RequiredArgsConstructor;
@@ -31,6 +25,7 @@
   private final ContractMapper contractMapper;
   private final ContractSubjectMatterMapper contractSubjectMatterMapper;
   private final ContractPaymentScheduleMapper contractPaymentScheduleMapper;
   private final PaymentConfirmMapper paymentConfirmMapper;
   @Override
@@ -56,6 +51,25 @@
      if(ObjUtil.isNull(lastRecord)){
         R.failed("无合同信息,请联系技术人员");
      }
      //创建收款节点
      //查询上次收款节点
      ContractPaymentSchedule lastSchedule = contractPaymentScheduleMapper.selectOne(Wrappers.<ContractPaymentSchedule>lambdaQuery()
            .eq(ContractPaymentSchedule::getContractId,contract.getId())
            .orderByDesc(ContractPaymentSchedule::getCreateTime).last("limit 1"));
      ContractPaymentSchedule schedule = new ContractPaymentSchedule();
      schedule.setStageName("水电代缴");
      schedule.setContractId(contract.getId());
      schedule.setContractName(contract.getContractName());
      schedule.setPlannedAmount(subjectMatter.getUnitPrice().multiply(updateDTO.getMeterReadNum().subtract(lastRecord.getMeterReadNum())));
      schedule.setEffectiveEndDate(updateDTO.getMeterReadTime());
      schedule.setStageOrder(1);
      if (ObjUtil.isNotNull(lastSchedule)){
         schedule.setStageOrder(lastSchedule.getStageOrder()+1);
      }
      schedule.setPaymentStatus(0);
      schedule.setActualAmount(new BigDecimal("0"));
      contractPaymentScheduleMapper.insert(schedule);
      //房屋租赁生成应收
      PaymentConfirm confirm = new PaymentConfirm();
      confirm.setBusinessType(subjectMatter.getMaterialInternalName()+"应收");
      confirm.setBusGuestId(contract.getPartyAId());