diff --git a/mallinkAdmin/src/main/java/com/iformall/controller/contract/WxPropertyContractController.java b/mallinkAdmin/src/main/java/com/iformall/controller/contract/WxPropertyContractController.java index 8f9fe1935..3e9f6a5df 100644 --- a/mallinkAdmin/src/main/java/com/iformall/controller/contract/WxPropertyContractController.java +++ b/mallinkAdmin/src/main/java/com/iformall/controller/contract/WxPropertyContractController.java @@ -191,6 +191,9 @@ public class WxPropertyContractController extends BaseController { logger.debug("[" + getIpAddr() + "] WxRentContractController::buildBillPriceList"); WxPropertyContract dbRent = wxPropertyContractMapper.selectByPrimaryKey(wxPropertyContract.getId()); dbRent.setPreviewBillRentList(wxPropertyContract.getPreviewBillRentList()); + if(dbRent.getRentStartType()!=null && dbRent.getRentStartType().equals(EnumRentStartType.STARTTIME.getCode())){ + dbRent.setRentalStartDate(dbRent.getStartDate()); + } List result = wxPropertyContractService.buildProperty(new WxMerchant(),getUserId(),dbRent, EnumIsPreview.YES.getCode(), false); return new ResultData(result); } diff --git a/mallinkAdmin/src/main/java/com/iformall/controller/contract/WxRentContractController.java b/mallinkAdmin/src/main/java/com/iformall/controller/contract/WxRentContractController.java index 6be4e6f0c..be88a5490 100644 --- a/mallinkAdmin/src/main/java/com/iformall/controller/contract/WxRentContractController.java +++ b/mallinkAdmin/src/main/java/com/iformall/controller/contract/WxRentContractController.java @@ -114,6 +114,10 @@ public class WxRentContractController extends BaseController { logger.debug("[" + getIpAddr() + "] WxRentContractController::buildBillPriceList"); WxRentContract dbRent = wxRentContractMapper.selectByPrimaryKey(wxRentContract.getId()); dbRent.setPreviewBillRentList(wxRentContract.getPreviewBillRentList()); + + if(dbRent.getRentStartType()!=null && dbRent.getRentStartType().equals(EnumRentStartType.STARTTIME.getCode())){ + dbRent.setRentalStartDate(dbRent.getStartDate()); + } List result = wxRentContractService.buildRent(new WxMerchant(),getUserId(),dbRent, EnumIsPreview.YES.getCode(), false); return new ResultData(result); } diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxBillRentServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxBillRentServiceImpl.java index 10669c5de..1def3bd93 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxBillRentServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxBillRentServiceImpl.java @@ -210,7 +210,6 @@ public class WxBillRentServiceImpl implements WxBillRentService { record.setRentContractId(id); record.setTenantId(tenantId); record.setSortColumns(BaseEntity.SortField.Id_ASC); - updateBillStatus(record); PageHelper.startPage(pageIndex, pageSize); List billRentList = wxBillRentMapper.queryBillRentList(record); PageInfo pageInfo = new PageInfo<>(billRentList); diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxRentContractServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxRentContractServiceImpl.java index d23313a3c..e35652aca 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxRentContractServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxRentContractServiceImpl.java @@ -1138,12 +1138,19 @@ public class WxRentContractServiceImpl implements WxRentContractService { SimpleDateFormat sdMR = new SimpleDateFormat("MM-dd"); SimpleDateFormat sdM = new SimpleDateFormat("yyyy-MM"); + SimpleDateFormat sdD = new SimpleDateFormat("d"); + SimpleDateFormat sd = new SimpleDateFormat("yyyy-MM-dd"); +// System.out.println(sd.format(startDate)); +// System.out.println(sd.format(endDate)); + if(i == billTimeVoListSize - 1){//最后 - if(sdMR.format(startDate).equals(sdMR.format(wxRentContract.getRentalStartDate())) && sdMR.format(endDate).equals(sdMR.format(wxRentContract.getRentalEndDate())) ){ - int months = getMonths(sdM.format(startDate)+"-01",sdM.format(endDate)+"-01"); - months++; + //判断是否满足整月 + int startInt = Integer.parseInt(sdD.format(startDate)); + int endInt = Integer.parseInt(sdD.format(DateUtils.getDaySet(endDate,Calendar.DATE,1))); + if(startInt == endInt){ + int months = getMonths(sdM.format(startDate)+"-01",sdM.format(DateUtils.getDaySet(endDate,Calendar.DATE,1))+"-01"); needpay = new Double(months * priceD).longValue(); - }else { + }else{ needpay = new Double(getMonthNeedPay(priceD, startDate, endDate)).longValue(); } }else if(i == 0){//第一期 diff --git a/mallinkService/src/main/resources/mapper/WxBillPropertyMapper.xml b/mallinkService/src/main/resources/mapper/WxBillPropertyMapper.xml index c38034b86..6faabd352 100644 --- a/mallinkService/src/main/resources/mapper/WxBillPropertyMapper.xml +++ b/mallinkService/src/main/resources/mapper/WxBillPropertyMapper.xml @@ -139,9 +139,9 @@ update wx_bill_property b set b.status=#{notPaid},b.expired_day= - DATEDIFF(now(), date_add(b.receive_date,interval(select late_pay_day from wx_property_contract where id = b.`property_contract_id`) day)) + DATEDIFF(now(), b.receive_date) where b.tenant_id=#{tenantId} and b.status!=#{paid} and b.status!=6 and - DATEDIFF(now(), date_add(b.receive_date,interval(select late_pay_day from wx_property_contract where id = b.`property_contract_id`) day)) >0 + DATEDIFF(now(), b.receive_date) >0 diff --git a/mallinkService/src/main/resources/mapper/WxBillRentMapper.xml b/mallinkService/src/main/resources/mapper/WxBillRentMapper.xml index 39a6e6190..3948b1c75 100644 --- a/mallinkService/src/main/resources/mapper/WxBillRentMapper.xml +++ b/mallinkService/src/main/resources/mapper/WxBillRentMapper.xml @@ -147,9 +147,9 @@ update wx_bill_rent b set b.status=#{notPaid},b.expired_day= - DATEDIFF(now(), date_add(b.receive_date,interval(select late_pay_day from wx_rent_contract where id = b.`rent_contract_id`) day)) + DATEDIFF(now(), b.receive_date) where b.tenant_id=#{tenantId} and b.status!=#{paid} and b.status!=6 and - DATEDIFF(now(), date_add(b.receive_date,interval(select late_pay_day from wx_rent_contract where id = b.`rent_contract_id`) day)) >0 + DATEDIFF(now(), b.receive_date) >0