|
|
|
@@ -134,7 +134,7 @@ public class WxRentContractServiceImpl implements WxRentContractService { |
|
|
|
wxRentContract.setAdjustPeriod(2); |
|
|
|
wxRentContract.setMonthHandleType(2); |
|
|
|
}else if(wxRentContract.getAdjustPeriod().intValue() == 3){ |
|
|
|
wxRentContract.setAdjustPeriod(null); |
|
|
|
wxRentContract.setAdjustPeriod(2); |
|
|
|
wxRentContract.setMonthHandleType(3); |
|
|
|
} |
|
|
|
result.put("wxRentContract", wxRentContract); |
|
|
|
@@ -970,51 +970,43 @@ public class WxRentContractServiceImpl implements WxRentContractService { |
|
|
|
wxBillRent.setStarttime(receiveDate); |
|
|
|
wxBillRent.setEndtime(DateUtils.getLastDayForMonth(wxBillRent.getStarttime(),receivePeriod * i)); |
|
|
|
|
|
|
|
// instance.clear(); |
|
|
|
// instance.setTime(receiveDate); |
|
|
|
// instance.add(dayType, receivePeriod); |
|
|
|
// instance.add(Calendar.DAY_OF_MONTH, -1); |
|
|
|
// wxBillRent.setEndtime(instance.getTime()); |
|
|
|
instance.clear(); |
|
|
|
instance.setTime(receiveDate); |
|
|
|
instance.add(dayType, receivePeriod); |
|
|
|
instance.add(Calendar.DAY_OF_MONTH, -1); |
|
|
|
wxBillRent.setEndtime(instance.getTime()); |
|
|
|
}else if(i == paycount - 1) {//最后周期 |
|
|
|
//receivePeriod * i 得到开始日期 |
|
|
|
Date receiveDate = DateUtils.getFirstDayOfNextMonth(startdate,receivePeriod * i); |
|
|
|
wxBillRent.setReceiveDate(receiveDate); |
|
|
|
wxBillRent.setStarttime(receiveDate); |
|
|
|
|
|
|
|
//得到开始日期第一天 |
|
|
|
Date firstDay = DateUtils.getFirstDayForCurrMonth(wxBillRent.getStarttime()); |
|
|
|
instance.clear(); |
|
|
|
instance.setTime(firstDay); |
|
|
|
|
|
|
|
if(new SimpleDateFormat("yyyy-MM-dd").format(wxBillRent.getEndtime()).equals("2020-02-29")){ |
|
|
|
System.out.println( "-----------"+receivePeriod * i); |
|
|
|
System.out.println("-----------"+new SimpleDateFormat("yyyy-MM-dd").format(wxBillRent.getReceiveDate())); |
|
|
|
System.out.println("-----------"+new SimpleDateFormat("yyyy-MM-dd").format(wxBillRent.getEndtime())); |
|
|
|
System.out.println(); |
|
|
|
} |
|
|
|
|
|
|
|
//最后一期有余,加上残月,(不整除时,最后一个月有余,否则为0) |
|
|
|
if(isFirstDay(wxRentContract.getRentalStartDate())){ |
|
|
|
if(receivePeriod > 1) { |
|
|
|
if(isLastYesr && extralease > 0) { |
|
|
|
//若最后一期有余,带上残月,(不整除时,最后一个月有余,否则extralease=0) |
|
|
|
if(isFirstDay(wxRentContract.getRentalStartDate())){ //月第一天起租 |
|
|
|
if(receivePeriod > 1){ |
|
|
|
if(isLastYesr && extralease > 0){ |
|
|
|
instance.add(dayType, extralease); |
|
|
|
}else{ |
|
|
|
instance.add(dayType, receivePeriod); |
|
|
|
} |
|
|
|
}else { |
|
|
|
}else{ |
|
|
|
instance.add(dayType, receivePeriod); |
|
|
|
} |
|
|
|
}else{ |
|
|
|
if(receivePeriod > 1) { |
|
|
|
if(isLastYesr) { |
|
|
|
instance.add(dayType, extralease); |
|
|
|
}else{ |
|
|
|
instance.add(dayType, receivePeriod); |
|
|
|
} |
|
|
|
} |
|
|
|
if(isLastYesr) { |
|
|
|
instance.add(dayType, extralease); |
|
|
|
instance.add(Calendar.DAY_OF_MONTH, rentStartDateInt - 1); |
|
|
|
}else{ |
|
|
|
instance.add(dayType, receivePeriod); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
//先减一个月 后加上残月 |
|
|
|
instance.add(Calendar.DAY_OF_MONTH, -1); |
|
|
|
wxBillRent.setEndtime(instance.getTime()); |
|
|
|
|
|
|
|
@@ -1032,15 +1024,11 @@ public class WxRentContractServiceImpl implements WxRentContractService { |
|
|
|
needPayDouble += price * receivePeriod; |
|
|
|
} |
|
|
|
}else{ |
|
|
|
if(receivePeriod > 1) { |
|
|
|
if(isLastYesr) { |
|
|
|
needPayDouble += price * extralease; |
|
|
|
}else{ |
|
|
|
needPayDouble += price * receivePeriod; |
|
|
|
} |
|
|
|
} |
|
|
|
if(isLastYesr) { |
|
|
|
needPayDouble += price * extralease; |
|
|
|
needPayDouble += oneDayProce * endDateInt; |
|
|
|
}else{ |
|
|
|
needPayDouble += price * receivePeriod; |
|
|
|
} |
|
|
|
} |
|
|
|
DecimalFormat format = new DecimalFormat("0"); |
|
|
|
@@ -2038,3 +2026,4 @@ public class WxRentContractServiceImpl implements WxRentContractService { |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|