|
|
|
@@ -344,7 +344,7 @@ public class WxRentContractServiceImpl implements WxRentContractService { |
|
|
|
|| !record.getType().equals(dbRent.getType()) |
|
|
|
|| !record.getPrice().equals(dbRent.getPrice()) |
|
|
|
|| !record.getAdjustRatio().replaceAll("\\s*", "").equals(dbRent.getAdjustRatio().replaceAll("\\s*", "")) |
|
|
|
|| !DateUtils.date2String(record.getStartDate(),"yyyy-MM-dd").equals(DateUtils.date2String(dbRent.getStartDate(),"yyyy-MM-dd")) |
|
|
|
|| !DateUtils.date2String(record.getRentalStartDate(),"yyyy-MM-dd").equals(DateUtils.date2String(dbRent.getRentalStartDate(),"yyyy-MM-dd")) |
|
|
|
) { |
|
|
|
change = true; |
|
|
|
} |
|
|
|
@@ -354,7 +354,7 @@ public class WxRentContractServiceImpl implements WxRentContractService { |
|
|
|
|| !record.getType().equals(dbRent.getType()) |
|
|
|
|| !record.getRevenue().equals(dbRent.getRevenue()) |
|
|
|
|| !record.getPayRatio().equals(dbRent.getPayRatio()) |
|
|
|
|| !DateUtils.date2String(record.getStartDate(),"yyyy-MM-dd").equals(DateUtils.date2String(dbRent.getStartDate(),"yyyy-MM-dd")) |
|
|
|
|| !DateUtils.date2String(record.getRentalStartDate(),"yyyy-MM-dd").equals(DateUtils.date2String(dbRent.getRentalStartDate(),"yyyy-MM-dd")) |
|
|
|
) { |
|
|
|
change = true; |
|
|
|
} |
|
|
|
@@ -364,7 +364,7 @@ public class WxRentContractServiceImpl implements WxRentContractService { |
|
|
|
|| !record.getType().equals(dbRent.getType()) |
|
|
|
|| !record.getPrice().equals(dbRent.getPrice()) |
|
|
|
|| !record.getPayRatio().equals(dbRent.getPayRatio()) |
|
|
|
|| !DateUtils.date2String(record.getStartDate(),"yyyy-MM-dd").equals(DateUtils.date2String(dbRent.getStartDate(),"yyyy-MM-dd")) |
|
|
|
|| !DateUtils.date2String(record.getRentalStartDate(),"yyyy-MM-dd").equals(DateUtils.date2String(dbRent.getRentalStartDate(),"yyyy-MM-dd")) |
|
|
|
) { |
|
|
|
change = true; |
|
|
|
} |
|
|
|
@@ -787,25 +787,25 @@ public class WxRentContractServiceImpl implements WxRentContractService { |
|
|
|
//自然月,开始日期、缴款日,结束日期 |
|
|
|
if(wxRentContract.getAdjustPeriod().equals(EnumRentContractAdjustPeriod.ADJUST_PERIOD_NAR_MONTH.getCode())){ |
|
|
|
if(i == 0){//第一周期 |
|
|
|
wxBillRent.setReceiveDate(wxRentContract.getStartDate()); |
|
|
|
wxBillRent.setStarttime(wxRentContract.getStartDate()); |
|
|
|
double oneDayProce = (double) price / DateUtils.getMonthDayCount(wxRentContract.getStartDate()); |
|
|
|
int startDateInt = Integer.parseInt(new SimpleDateFormat("d").format(wxRentContract.getStartDate())); |
|
|
|
wxBillRent.setReceiveDate(wxRentContract.getRentalStartDate()); |
|
|
|
wxBillRent.setStarttime(wxRentContract.getRentalStartDate()); |
|
|
|
double oneDayProce = (double) price / DateUtils.getMonthDayCount(wxRentContract.getRentalStartDate()); |
|
|
|
int startDateInt = Integer.parseInt(new SimpleDateFormat("d").format(wxRentContract.getRentalStartDate())); |
|
|
|
double needPayDouble; |
|
|
|
|
|
|
|
if(receivePeriod <= 1) {//周期为一个月 |
|
|
|
wxBillRent.setEndtime(DateUtils.getLastDayForMonth(wxRentContract.getStartDate())); |
|
|
|
needPayDouble = oneDayProce * (DateUtils.getMonthDayCount(wxRentContract.getStartDate())-startDateInt+1); |
|
|
|
wxBillRent.setEndtime(DateUtils.getLastDayForMonth(wxRentContract.getRentalStartDate())); |
|
|
|
needPayDouble = oneDayProce * (DateUtils.getMonthDayCount(wxRentContract.getRentalStartDate())-startDateInt+1); |
|
|
|
}else{ //周期大于一个月 |
|
|
|
wxBillRent.setEndtime(DateUtils.getLastDayForMonth(wxRentContract.getStartDate(),receivePeriod - 1)); |
|
|
|
wxBillRent.setEndtime(DateUtils.getLastDayForMonth(wxRentContract.getRentalStartDate(),receivePeriod - 1)); |
|
|
|
// [A/31 *(31-12+1)]+A+A |
|
|
|
needPayDouble = oneDayProce * (DateUtils.getMonthDayCount(wxRentContract.getStartDate())-startDateInt+1); |
|
|
|
needPayDouble = oneDayProce * (DateUtils.getMonthDayCount(wxRentContract.getRentalStartDate())-startDateInt+1); |
|
|
|
needPayDouble += price * (receivePeriod - 1); |
|
|
|
} |
|
|
|
DecimalFormat format = new DecimalFormat("0"); |
|
|
|
needpay = Integer.parseInt(format.format(needPayDouble)); //分做四舍五入 |
|
|
|
}else if(i < paycount - 1){//中间周期 |
|
|
|
Date receiveDate = DateUtils.getFirstDayOfNextMonth(wxRentContract.getStartDate(),receivePeriod * i); |
|
|
|
Date receiveDate = DateUtils.getFirstDayOfNextMonth(wxRentContract.getRentalStartDate(),receivePeriod * i); |
|
|
|
wxBillRent.setReceiveDate(receiveDate); |
|
|
|
wxBillRent.setStarttime(receiveDate); |
|
|
|
wxBillRent.setEndtime(DateUtils.getLastDayForMonth(receiveDate,receivePeriod * i)); |
|
|
|
@@ -816,14 +816,14 @@ public class WxRentContractServiceImpl implements WxRentContractService { |
|
|
|
instance.add(Calendar.DAY_OF_MONTH, -1); |
|
|
|
wxBillRent.setEndtime(instance.getTime()); |
|
|
|
}else if(i == paycount - 1) {//最后周期 |
|
|
|
Date receiveDate = DateUtils.getFirstDayOfNextMonth(wxRentContract.getStartDate(),receivePeriod * i); |
|
|
|
Date receiveDate = DateUtils.getFirstDayOfNextMonth(wxRentContract.getRentalStartDate(),receivePeriod * i); |
|
|
|
wxBillRent.setReceiveDate(receiveDate); |
|
|
|
wxBillRent.setStarttime(receiveDate); |
|
|
|
instance.clear(); |
|
|
|
instance.setTime(receiveDate); |
|
|
|
instance.add(dayType, extracount>0?extralease:receivePeriod);//最后一期不足,一个完整周期 |
|
|
|
instance.add(Calendar.DAY_OF_MONTH, -1); |
|
|
|
int endDateInt = Integer.parseInt(new SimpleDateFormat("d").format(wxRentContract.getEndDate())); |
|
|
|
int endDateInt = Integer.parseInt(new SimpleDateFormat("d").format(wxRentContract.getRentalEndDate())); |
|
|
|
String endDateStr = DateUtils.date2String(instance.getTime(),"yyyy-MM")+ "-" +endDateInt; |
|
|
|
wxBillRent.setEndtime(DateUtils.stringToDate(endDateStr,"yyyy-MM-dd")); |
|
|
|
|
|
|
|
|