|
|
|
@@ -246,58 +246,56 @@ public class WxRentContractServiceImpl implements WxRentContractService { |
|
|
|
@Transactional(rollbackFor = {Exception.class}) |
|
|
|
@Override |
|
|
|
public ResultData update(WxRentContract record, Long userId,String userName) { |
|
|
|
//删除预账单 |
|
|
|
List<WxBillRent> resultList = new ArrayList<>(); |
|
|
|
if(record.getReceivePeriod() != null && record.getLease()!=null && record.getPrice()!= null){ |
|
|
|
//对比上一次,是否有更改,有,重新生成预账单 |
|
|
|
WxRentContract dbRent = wxRentContractMapper.selectByPrimaryKey(record.getId()); |
|
|
|
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()) |
|
|
|
//对比上一次,是否有更改,有,重新生成预账单 |
|
|
|
WxRentContract dbRent = wxRentContractMapper.selectByPrimaryKey(record.getId()); |
|
|
|
boolean change = false; |
|
|
|
if(record.getReceivePeriod() != null && record.getLease()!=null && record.getPrice()!= null) { |
|
|
|
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()) |
|
|
|
} 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()) |
|
|
|
} 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()); |
|
|
|
}else{ |
|
|
|
//查询预账单用于展示 |
|
|
|
WxBillRent wxBillRent = new WxBillRent(); |
|
|
|
wxBillRent.setRentContractId(record.getId()); |
|
|
|
wxBillRent.setSortColumns(WxBillRent.Field.Period_ASC); |
|
|
|
wxBillRent.setIsPreview(EnumIsPreview.YES.getCode()); |
|
|
|
resultList = wxBillRentMapper.findList(wxBillRent); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
// 更新 |
|
|
|
ResultData resultData = getResultDataForUpdate(record, userId); |
|
|
|
|
|
|
|
//有改变,删除预账单,重新生成 |
|
|
|
List<WxBillRent> resultList; |
|
|
|
if(change) { |
|
|
|
wxBillRentMapper.deletePreviewBill(record); |
|
|
|
resultList = buildRent(new WxMerchant(), null, record, EnumIsPreview.YES.getCode()); |
|
|
|
}else{ |
|
|
|
//查询预账单用于展示 |
|
|
|
WxBillRent wxBillRent = new WxBillRent(); |
|
|
|
wxBillRent.setRentContractId(record.getId()); |
|
|
|
wxBillRent.setSortColumns(WxBillRent.Field.Period_ASC); |
|
|
|
wxBillRent.setIsPreview(EnumIsPreview.YES.getCode()); |
|
|
|
resultList = wxBillRentMapper.findList(wxBillRent); |
|
|
|
} |
|
|
|
|
|
|
|
//启动审批流 |
|
|
|
if(record.getFlowParams() != null){ |
|
|
|
record.getFlowParams().put("businessId",record.getId().toString()); |
|
|
|
@@ -314,6 +312,7 @@ public class WxRentContractServiceImpl implements WxRentContractService { |
|
|
|
logger.info("id:{},启动审批流成功 ,是否补录:{}",record.getId().toString(),record.getMerchantId() != null); |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
WxRentContract wxRentContract = (WxRentContract)resultData.data; |
|
|
|
wxRentContract.setPreviewBillRentList(resultList); |
|
|
|
return new ResultData(wxRentContract); |
|
|
|
@@ -524,7 +523,10 @@ public class WxRentContractServiceImpl implements WxRentContractService { |
|
|
|
wxBillRent.setId(idWorker.nextId()); |
|
|
|
wxBillRent.setRentContractId(wxRentContract.getId()); |
|
|
|
wxBillRent.setPay(0); |
|
|
|
System.out.println("-----------price:"+price+",receivePeriod:"+receivePeriod); |
|
|
|
int needpay = price * receivePeriod; |
|
|
|
System.out.println("--------needpay:"+needpay); |
|
|
|
|
|
|
|
|
|
|
|
Date date = new Date(); |
|
|
|
Calendar instance = Calendar.getInstance(); |
|
|
|
|