jiangping
2024-11-27 fd47e55d771e181678573d1f35f2440e581c40b1
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwContractServiceImpl.java
@@ -612,12 +612,7 @@
        bill.setEndDate(model.getEndDate());
        bill.setType(Constants.ZERO);
        bill.setCostType(type);
        YwContractDetail d = details.get(Constants.ZERO);
        if(Objects.isNull(d)){
            throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"条款数据异常");
        }
        Date planPayDate = DateUtil.addDaysToDate(d.getStartDate(),Constants.formatIntegerNum(d.getAdvanceDays()) * -1);
        bill.setPlanPayDate(planPayDate.getTime()>System.currentTimeMillis()?planPayDate:new Date());
        bill.setPlanPayDate(bill.getStartDate());
        bill.setTotleFee(type==Constants.THREE?model.getZlDeposit():model.getWyDeposit());//押金费用
        bill.setReceivableFee(bill.getTotleFee());
        bill.setBillType(Constants.ZERO);
@@ -724,7 +719,7 @@
            YwContractBill bill = initCreateBillModel(model,d );
            bill.setStartDate(start);//账单开始
            bill.setEndDate(end);//账单结束
            Date planPayDate = DateUtil.addDaysToDate(d.getStartDate(),Constants.formatIntegerNum(d.getAdvanceDays()) * -1);
            Date planPayDate = DateUtil.addDaysToDate(bill.getStartDate(),Constants.formatIntegerNum(d.getAdvanceDays()) * -1);
            bill.setPlanPayDate(planPayDate.getTime()>System.currentTimeMillis()?planPayDate:new Date());
            BigDecimal totalFee =getTotalFeeByStartEnd(model,d,freeStart,freeEnd);
            bill.setTotleFee(totalFee);
@@ -809,7 +804,7 @@
            YwContractBill bill = initCreateBillModel(model,d);
            bill.setStartDate(d.getStartDate());//账单开始
            bill.setEndDate(d.getEndDate());//账单结束
            bill.setPlanPayDate(DateUtil.addDaysToDate(d.getStartDate(),Constants.formatIntegerNum(d.getAdvanceDays()) * -1));
            bill.setPlanPayDate(DateUtil.addDaysToDate(bill.getStartDate(),Constants.formatIntegerNum(d.getAdvanceDays()) * -1));
            bill.setTotleFee(getTotalFeeByStartEnd(model,d,freeStart,freeEnd));
            bill.setReceivableFee(bill.getTotleFee());
            bill.setBillType(Constants.ZERO);
@@ -918,7 +913,6 @@
            throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"对不起,合同有效期结束时间不得早于开始时间!");
        }
        if(Constants.equalsInteger(model.getType(),Constants.ZERO )
                || Constants.equalsInteger(model.getType(),Constants.TWO)){
            if(  model.getZlDeposit() == null
@@ -929,12 +923,18 @@
                    ||model.getZlDetailList().size() ==0){
                throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"对不起,请按页面要求填写租赁条款信息");
            }
            if(!(model.getZlFreeEndDate()==null &&  model.getZlFreeStartDate()==null) && (
                        (model.getZlFreeEndDate()!=null &&  model.getZlFreeStartDate()==null)
                        ||(model.getZlFreeEndDate()==null &&  model.getZlFreeStartDate()!=null)
                        ||model.getZlFreeEndDate().getTime()<= model.getZlFreeStartDate().getTime())
                  ){
                throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"对不起,请选择正确的租赁条款免租期信息!");
            }
            if((model.getZlFreeStartDate()!=null && model.getZlFreeEndDate()!=null)
                    && (model.getZlFreeEndDate().getTime()>model.getEndDate().getTime()
                    || model.getZlFreeStartDate().getTime()<model.getStartDate().getTime())){
                throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"对不起,免租期开始日期和结束日期限制在合同时间范围内!");
            }
            for(YwContractDetail d :model.getZlDetailList()){
                if(  d.getStartDate() == null
@@ -948,6 +948,9 @@
                }
                if(d.getEndDate().getTime()<= d.getStartDate().getTime()){
                    throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"对不起,租赁条款有效期结束时间不得早于开始时间!");
                }
                if(d.getEndDate().getTime()>model.getEndDate().getTime() ||d.getStartDate().getTime()<model.getStartDate().getTime()){
                    throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"对不起,条款开始日期和结束日期限制在合同时间范围内!");
                }
                if(!Constants.equalsInteger(model.getWyPayType(),Constants.ZERO) &&
                        Constants.equalsInteger(d.getCircleType(),Constants.SIX)){
@@ -970,11 +973,17 @@
            ){
                throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"对不起,请按页面要求填写物业条款信息");
            }
            if(!(model.getWyFreeEndDate()==null &&  model.getWyFreeStartDate()==null) && (
                    (model.getWyFreeEndDate()!=null &&  model.getWyFreeStartDate()==null)
                            ||(model.getWyFreeEndDate()==null &&  model.getWyFreeStartDate()!=null)
                            ||model.getWyFreeEndDate().getTime()<= model.getWyFreeStartDate().getTime())){
                throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"对不起,请选择正确的物业条款免租期信息!");
            }
            if((model.getWyFreeStartDate()!=null && model.getWyFreeEndDate()!=null)
                    && (model.getWyFreeEndDate().getTime()>model.getEndDate().getTime()
                    || model.getWyFreeStartDate().getTime()<model.getStartDate().getTime())){
                throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"对不起,免租期开始日期和结束日期限制在合同时间范围内!");
            }
            for(YwContractDetail d :model.getWyDetailList()){
                if(  d.getStartDate() == null
@@ -989,6 +998,9 @@
                if(d.getEndDate().getTime()<= d.getStartDate().getTime()){
                    throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"对不起,物业条款有效期结束时间不得早于开始时间!");
                }
                if(d.getEndDate().getTime()>model.getEndDate().getTime() ||d.getStartDate().getTime()<model.getStartDate().getTime()){
                    throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"对不起,条款开始日期和结束日期限制在合同时间范围内!");
                }
                if(!Constants.equalsInteger(model.getWyPayType(),Constants.ZERO) &&
                        Constants.equalsInteger(d.getCircleType(),Constants.SIX)){
                    throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"对不起,物业条款只有选择一次性付款时,才能选择该按每场收费;");