| | |
| | | int currentIndex = index.getAndIncrement(); |
| | | ContractPaymentSchedule schedule = BeanUtil.copyProperties(contractPaymentScheduleAddDTO, ContractPaymentSchedule.class); |
| | | if (contractPaymentScheduleAddDTO.getStageName().equals("合同签订")){ |
| | | schedule.setEffectiveDate(DateUtil.offsetDay(contract.getSignDate(),contractPaymentScheduleAddDTO.getAgreedDays())); |
| | | schedule.setEffectiveEndDate(DateUtil.offsetDay(contract.getSignDate(), contractPaymentScheduleAddDTO.getAgreedDays())); |
| | | } |
| | | if (ObjUtil.isNotNull(schedule.getEffectiveDate())) { |
| | | if (schedule.getEffectiveDate().before(DateUtil.date())) { |
| | |
| | | schedule.setFulfillmentStatus(0); |
| | | } |
| | | } |
| | | if (contractPaymentScheduleAddDTO.getPaymentRatio().compareTo(new BigDecimal("0")) > 0) { |
| | | schedule.setPaymentStatus(0); |
| | | }else { |
| | | schedule.setPaymentStatus(3); |
| | | } |
| | | schedule.setContractId(contract.getId()); |
| | | schedule.setContractName(contract.getContractName()); |
| | | schedule.setPlannedAmount(contract.getAmount().multiply(schedule.getPaymentRatio().divide(new BigDecimal("100")))); |
| | |
| | | }); |
| | | |
| | | } |
| | | |
| | | |
| | | |
| | | return R.ok(); |
| | |
| | | schedule.setContractName(contract.getContractName()); |
| | | schedule.setPlannedAmount(contract.getAmount().multiply(schedule.getPaymentRatio().divide(new BigDecimal("100")))); |
| | | schedule.setStageOrder(currentIndex); |
| | | if (contractPaymentScheduleAddDTO.getPaymentRatio().compareTo(new BigDecimal("0")) > 0) { |
| | | schedule.setPaymentStatus(0); |
| | | }else { |
| | | schedule.setPaymentStatus(3); |
| | | } |
| | | contractPaymentScheduleMapper.insert(schedule); |
| | | if (contractPaymentScheduleAddDTO.getStageName().equals("货到签收")){ |
| | | contract.setArrivalScheduleId(schedule.getId()); |
| | |
| | | //最后阶段生效时间 |
| | | ContractPaymentSchedule endSchedule = afterSchedule.get(0); |
| | | if (StrUtil.equals(endSchedule.getStageName(),"质保金")){ |
| | | endSchedule.setEffectiveDate(DateUtil.offsetDay(new Date(),endSchedule.getAgreedDays())); |
| | | endSchedule.setEffectiveEndDate(contract.getExpirationDate()); |
| | | contractPaymentScheduleMapper.updateById(endSchedule); |
| | | //第一阶段生效时间 |
| | | fitstSchedule.setEffectiveDate(DateUtil.offsetDay(contract.getSignDate(),fitstSchedule.getAgreedDays())); |
| | | fitstSchedule.setEffectiveEndDate(endSchedule.getEffectiveDate()); |
| | | contractPaymentScheduleMapper.updateById(fitstSchedule); |
| | | |
| | | // endSchedule.setEffectiveEndDate(DateUtil.offsetDay(new Date(),endSchedule.getAgreedDays())); |
| | | // contractPaymentScheduleMapper.updateById(endSchedule); |
| | | //最后阶段应收 |
| | | PaymentConfirm newConfim = new PaymentConfirm(); |
| | | newConfim.setBusinessType(endSchedule.getStageName()+"应收"); |
| | |
| | | } |
| | | if(ArrayUtil.isNotEmpty(afterSchedule.toArray())&&afterSchedule.size()>1){ |
| | | //第一阶段生效时间 |
| | | fitstSchedule.setEffectiveDate(DateUtil.offsetDay(contract.getSignDate(),fitstSchedule.getAgreedDays())); |
| | | contractPaymentScheduleMapper.updateById(fitstSchedule); |
| | | // fitstSchedule.setEffectiveEndDate(DateUtil.offsetDay(contract.getSignDate(),fitstSchedule.getAgreedDays())); |
| | | // contractPaymentScheduleMapper.updateById(fitstSchedule); |
| | | //更新合同下个阶段 |
| | | contract.setNextScheduleName(afterSchedule.get(0).getStageName()); |
| | | baseMapper.updateById(contract); |
| | | } |
| | | //只有当前合同签字阶段 |
| | | if(ArrayUtil.isEmpty(afterSchedule.toArray())){ |
| | | fitstSchedule.setEffectiveDate(DateUtil.offsetDay(contract.getSignDate(),fitstSchedule.getAgreedDays())); |
| | | fitstSchedule.setEffectiveEndDate(contract.getExpirationDate()); |
| | | contractPaymentScheduleMapper.updateById(fitstSchedule); |
| | | } |
| | | // if(ArrayUtil.isEmpty(afterSchedule.toArray())){ |
| | | // fitstSchedule.setEffectiveEndDate(DateUtil.offsetDay(contract.getSignDate(),fitstSchedule.getAgreedDays())); |
| | | // contractPaymentScheduleMapper.updateById(fitstSchedule); |
| | | // } |
| | | } |
| | | |
| | | private void savePaymentConfirm(Contract contract, ContractPaymentSchedule schedule) { |
| | |
| | | public R genCurrentOverdue() { |
| | | List<ContractPaymentSchedule> scheduleList = contractPaymentScheduleMapper.selectList(Wrappers.<ContractPaymentSchedule>lambdaQuery() |
| | | .lt(ContractPaymentSchedule::getEffectiveEndDate, DateUtil.today()) |
| | | .ne(ContractPaymentSchedule::getPaymentStatus,"2")); |
| | | .ne(ContractPaymentSchedule::getPaymentStatus, "2") |
| | | .ne(ContractPaymentSchedule::getPaymentStatus,3)); |
| | | if (ArrayUtil.isNotEmpty(scheduleList.toArray())){ |
| | | scheduleList.stream().forEach(contractPaymentSchedule -> { |
| | | Contract contract = baseMapper.selectById(contractPaymentSchedule.getContractId()); |