| | |
| | | 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; |
| | |
| | | |
| | | private final ContractMapper contractMapper; |
| | | private final ContractSubjectMatterMapper contractSubjectMatterMapper; |
| | | private final ContractPaymentScheduleMapper contractPaymentScheduleMapper; |
| | | private final PaymentConfirmMapper paymentConfirmMapper; |
| | | |
| | | @Override |
| | |
| | | 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()); |