jiangping
2024-11-27 47bbfee7bbfa6eb9a25d80df3d3a686a760a296f
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwContractServiceImpl.java
@@ -670,7 +670,7 @@
            list.add(DateUtil.addMonthToDate(startDate,i*6));
        }
        if(restMonth>0 || monthDays>0){
            list.add(DateUtil.addMonthToDate(startDate,monthSix));
            list.add(DateUtil.addMonthToDate(startDate,monthSix*6));
        }
        return list;
    }
@@ -685,7 +685,7 @@
            list.add(DateUtil.addMonthToDate(startDate,i*3));
        }
        if(restMonth>0 || monthDays>0){
            list.add(DateUtil.addMonthToDate(startDate,monthThree));
            list.add(DateUtil.addMonthToDate(startDate,monthThree*3));
        }
        return list;
    }
@@ -712,10 +712,11 @@
    private void dealCircleDateBillBiz(  List<Date> dateList ,YwContract model, YwContractDetail d, Date freeStart, Date freeEnd, List<YwContractBill> list ) {
        int temp = 0;
        for(Date start : dateList){
            Date end = model.getEndDate();
            Date end = d.getEndDate();
            if(temp+1 < dateList.size()){
                end =DateUtil.addDaysToDate(dateList.get(temp+1),-1);
            }
            temp++;
            YwContractBill bill = initCreateBillModel(model,d );
            bill.setStartDate(start);//账单开始
            bill.setEndDate(end);//账单结束
@@ -726,7 +727,7 @@
            bill.setReceivableFee(totalFee);
            bill.setBillType(Constants.ZERO);
            temp++;
            bill.setCompanyId(model.getCompanyId());
            list.add(bill);
        }
@@ -735,10 +736,10 @@
    private BigDecimal getTotalFeeByStartEnd(YwContract model, YwContractDetail d, YwContractBill bill,Date freeStart,Date freeEnd) {
        BigDecimal totalFee = new BigDecimal(0);
        DateCompare dateCompare =   DateCompare.dayCompare(bill.getStartDate(),bill.getEndDate(),freeStart,freeEnd);
        DateCompare dateCompare =   DateCompare.dayCompare(bill.getStartDate(),DateUtil.addDaysToDate(bill.getEndDate(),1),freeStart,DateUtil.addDaysToDate(freeEnd,1));
        if(Constants.equalsInteger(d.getCircleType(),Constants.ZERO)){
            //0=元每平米天
            int days = dateCompare.getDay();
            int days = dateCompare.getDay() ;
            BigDecimal areas = getAreasNumBYRooms(model.getRoomList());
            totalFee = new BigDecimal(days).multiply(areas).multiply(Constants.formatBigdecimal(d.getPrice()));//总价格
        }else  if(Constants.equalsInteger(d.getCircleType(),Constants.ONE)){
@@ -753,7 +754,7 @@
            totalFee = year.multiply(areas).multiply(Constants.formatBigdecimal(d.getPrice()));//总价格
        }else  if(Constants.equalsInteger(d.getCircleType(),Constants.THREE)){
            //3=元每天
            int days = dateCompare.getDay();
            int days = dateCompare.getDay() ;
            totalFee = new BigDecimal(days).multiply(Constants.formatBigdecimal(d.getPrice()));//总价格
        }else  if(Constants.equalsInteger(d.getCircleType(),Constants.FOUR)){
            //4=元每月