platformx-business-finance-biz/src/main/java/com/by4cloud/platformx/business/service/impl/ContractServiceImpl.java
@@ -179,6 +179,19 @@
            subjectMatter.setDeliveredQuantity(new BigDecimal("0"));
            subjectMatter.setDeliveryStatus(0);
            contractSubjectMatterMapper.insert(subjectMatter);
            //水电类必须有初次表号
            if (StrUtil.isNotEmpty(contractSubjectMatterAddDTO.getMeterReadCode()) &&
                  ObjUtil.isNotNull(contractSubjectMatterAddDTO.getMeterReadNum())) {
               meterReadRecordMapper.delete(Wrappers.<MeterReadRecord>lambdaQuery().eq(MeterReadRecord::getContractId, contract.getId()));
               MeterReadRecord record = BeanUtil.copyProperties(contractSubjectMatterAddDTO, MeterReadRecord.class,"id");
               record.setContractId(contract.getId());
               record.setMatterId(subjectMatter.getId());
               record.setContractName(contract.getContractName());
               record.setBusGuestId(contract.getPartyAId());
               record.setBusGuestName(contract.getPartyA());
               record.setMeterReadTime(new Date());
               meterReadRecordMapper.insert(record);
            }
         });
      }
@@ -506,7 +519,6 @@
            PaymentConfirm oiverdueConfirm = paymentConfirmMapper.selectOne(Wrappers.<PaymentConfirm>lambdaQuery().eq(PaymentConfirm::getScheduleId, contractPaymentSchedule.getId())
                  .eq(PaymentConfirm::getBusinessType, "应收超期"));
            if (ObjUtil.isNull(oiverdueConfirm) && overdueConfirm.getTransationAmount().compareTo(new BigDecimal("0")) > 0) {
               overdueConfirm.setCompId(contractPaymentSchedule.getCompId());
               paymentConfirmMapper.insert(overdueConfirm);
            }
            //当前逾期
@@ -525,7 +537,6 @@
            CurrentOverdue overdue = currentOverdueMapper.selectOne(Wrappers.<CurrentOverdue>lambdaQuery().eq(CurrentOverdue::getContractId, currentOverdue.getContractId())
                  .eq(CurrentOverdue::getScheduleId, currentOverdue.getScheduleId()).last("limit 1"));
            if (ObjUtil.isNull(overdue)) {
               currentOverdue.setCompId(contractPaymentSchedule.getCompId());
               if (currentOverdue.getReceivableAmount().compareTo(new BigDecimal("0")) > 0) {
                  currentOverdueMapper.insert(currentOverdue);
               }
@@ -607,11 +618,11 @@
         Map<String, Object> item = new HashMap<>();
         item.put("no", no);
         item.put("materialName", contractSubjectMatter.getMaterialName());
         item.put("guige", "");
         item.put("unit", "");
         item.put("guige", contractSubjectMatter.getSpecification());
         item.put("unit", contractSubjectMatter.getUnit());
         item.put("quantity", contractSubjectMatter.getQuantity());
         item.put("danzhong", "");
         item.put("zongzhong", "");
         item.put("danzhong", contractSubjectMatter.getSingleWight());
         item.put("zongzhong", contractSubjectMatter.getTotalWight());
         item.put("unitPrice", contractSubjectMatter.getUnitPrice());
         item.put("price", contractSubjectMatter.getTotalAmount());
         items.add(item);
@@ -689,6 +700,25 @@
               record.setBusGuestName(contract.getPartyA());
               meterReadRecordMapper.insert(record);
            }else {
               //创建收款节点
               //查询上次收款节点
               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(subjectMatter.getQuantity()));
               schedule.setEffectiveEndDate(contractExecDate.getExecDate());
               schedule.setStageOrder(1);
               if (ObjUtil.isNotNull(lastSchedule)){
                  schedule.setStageOrder(lastSchedule.getStageOrder()+1);
               }
               schedule.setPaymentStatus(0);
               schedule.setActualAmount(new BigDecimal("0"));
               schedule.setCompId(contract.getCompId());
               contractPaymentScheduleMapper.insert(schedule);
               //房屋租赁生成应收
               PaymentConfirm confirm = new PaymentConfirm();
               confirm.setBusinessType("房屋租赁应收");
@@ -697,6 +727,8 @@
               confirm.setContractId(contract.getId());
               confirm.setContractName(contract.getContractName());
               confirm.setContractNo(contract.getContractNo());
               confirm.setScheduleId(schedule.getId());
               confirm.setScheduleName(schedule.getStageName());
               confirm.setConfirmTime(contractExecDate.getExecDate());
               confirm.setTransationAmount(subjectMatter.getUnitPrice().multiply(subjectMatter.getQuantity()));
               confirm.setTotalAmount(confirm.getTransationAmount().multiply(new BigDecimal("-1")));