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 8f531a8b6..0c2db6484 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxRentContractServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxRentContractServiceImpl.java @@ -249,12 +249,38 @@ public class WxRentContractServiceImpl implements WxRentContractService { if(record.getReceivePeriod() != null && record.getLease()!=null && record.getPrice()!= null){ //对比上一次,是否有更改,有,重新生成预账单 WxRentContract dbRent = wxRentContractMapper.selectByPrimaryKey(record.getId()); - if(!record.getReceivePeriod().equals(dbRent.getReceivePeriod()) - ||!record.getLease().equals(dbRent.getLease()) - ||!record.getType().equals(dbRent.getType()) - ||!record.getPrice().equals(dbRent.getPrice()) - ||!record.getAdjustRatio().equals(dbRent.getAdjustRatio()) - ) { + boolean change = false; + + if(record.getType().equals(EnumRentContractType.RENT_BY_AREA.getCode())){ + if(!record.getReceivePeriod().equals(dbRent.getReceivePeriod()) + ||!record.getLease().equals(dbRent.getLease()) + ||!record.getType().equals(dbRent.getType()) + ||!record.getPrice().equals(dbRent.getPrice()) + ||!record.getAdjustRatio().equals(dbRent.getAdjustRatio()) + ) { + change = true; + } + }else if(record.getType().equals(EnumRentContractType.RENT_BY_JOINT.getCode())){ + if(!record.getReceivePeriod().equals(dbRent.getReceivePeriod()) + ||!record.getLease().equals(dbRent.getLease()) + ||!record.getType().equals(dbRent.getType()) + ||!record.getRevenue().equals(dbRent.getRevenue()) + ||!record.getPayRatio().equals(dbRent.getPayRatio()) + ) { + change = true; + } + }else if(record.getType().equals(EnumRentContractType.RENT_BY_AREA_AND_JOINT.getCode())){ + if(!record.getReceivePeriod().equals(dbRent.getReceivePeriod()) + ||!record.getLease().equals(dbRent.getLease()) + ||!record.getType().equals(dbRent.getType()) + ||!record.getPrice().equals(dbRent.getPrice()) + ||!record.getPayRatio().equals(dbRent.getPayRatio()) + ) { + change = true; + } + } + + if(change) { wxBillRentMapper.deletePreviewBill(record); //重新生成 resultList = buildRent(new WxMerchant(), null, record, EnumIsPreview.YES.getCode());