From eb9e79ef1e9d8399bf49e88b800ac3513f88c262 Mon Sep 17 00:00:00 2001 From: luozukai Date: Thu, 21 Feb 2019 14:47:21 +0800 Subject: [PATCH] =?UTF-8?q?[=E9=A2=84=E8=B4=A6=E5=8D=95][=E6=B7=BB?= =?UTF-8?q?=E5=8A=A0][=E5=88=9B=E5=BB=BA=E5=90=88=E5=90=8C=E6=B7=BB?= =?UTF-8?q?=E5=8A=A0=E9=A2=84=E8=B4=A6=E5=8D=95]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../iformall/domain/po/WxRentContract.java | 1 + .../com/iformall/mapper/WxBillRentMapper.java | 2 + .../impl/WxRentContractServiceImpl.java | 50 +++++++++++-------- .../resources/mapper/WxBillRentMapper.xml | 3 ++ 4 files changed, 36 insertions(+), 20 deletions(-) diff --git a/mallinkService/src/main/java/com/iformall/domain/po/WxRentContract.java b/mallinkService/src/main/java/com/iformall/domain/po/WxRentContract.java index 94220b442..fcc3b00a7 100644 --- a/mallinkService/src/main/java/com/iformall/domain/po/WxRentContract.java +++ b/mallinkService/src/main/java/com/iformall/domain/po/WxRentContract.java @@ -207,6 +207,7 @@ public class WxRentContract implements Serializable { // 预账单列表 @Transient + @io.swagger.annotations.ApiModelProperty(value = "预账单列表", name = "previewBillRentList") private List previewBillRentList; public List getPreviewBillRentList() { diff --git a/mallinkService/src/main/java/com/iformall/mapper/WxBillRentMapper.java b/mallinkService/src/main/java/com/iformall/mapper/WxBillRentMapper.java index 57136a467..5361361e1 100644 --- a/mallinkService/src/main/java/com/iformall/mapper/WxBillRentMapper.java +++ b/mallinkService/src/main/java/com/iformall/mapper/WxBillRentMapper.java @@ -25,4 +25,6 @@ public interface WxBillRentMapper extends CommonMapper { void updateInvalidStatus(WxBillRent wxBillRent); void deletePreviewBill(WxRentContract wxRentContract); + + void update(WxBillRent record); } 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 7aa8c7458..4ca1ff8aa 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxRentContractServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxRentContractServiceImpl.java @@ -255,7 +255,29 @@ public class WxRentContractServiceImpl implements WxRentContractService { logger.error("启动审批流失败,e:" + e.getMessage()); throw new MallinkException(ErrorCode.FLOW_FAIL.getCode(), "FLOW FAILD " + e.getMessage()); } - return resultData; + WxRentContract wxRentContract = (WxRentContract)resultData.data; + + //删除预账单 + if(record.getReceivePeriod() != null && record.getLease()!=null && record.getRentalStartDate()!=null && record.getPrice()!= null){ + wxBillRentMapper.deletePreviewBill(record); + //重新生成 + WxMerchant wxMerchant = new WxMerchant(); + buildRent(wxMerchant,null); + int receivePeriod = record.getReceivePeriod().intValue(); + Integer lease = record.getLease(); + Date rentalStartDate = record.getRentalStartDate(); + Integer price = record.getPrice(); + //按月计租 + List resultList; + if (record.getAdjustPeriod().equals(EnumRentContractAdjustPeriod.ADJUST_PERIOD_MONTH.getCode())) { + resultList = buildRentMonth(wxMerchant, userId, record, receivePeriod, lease, rentalStartDate, price,EnumIsPreview.YES.getCode()); + } else { + //按日计租 + resultList = buildRent(lease, receivePeriod, price, rentalStartDate, Calendar.DAY_OF_MONTH, record, userId, wxMerchant, 0,EnumIsPreview.YES.getCode()); + } + wxRentContract.setPreviewBillRentList(resultList); + } + return new ResultData(wxRentContract); } public ResultData getResultDataForUpdate(WxRentContract record, Long userId) { @@ -312,25 +334,6 @@ public class WxRentContractServiceImpl implements WxRentContractService { logger.error("更新租赁合同信息失败,e:" + e.getMessage()); throw new MallinkException(ErrorCode.DB_FAIL.getCode(), "DB FAILD " + e.getMessage()); } - - //删除预账单 - wxBillRentMapper.deletePreviewBill(record); - //重新生成 - WxMerchant wxMerchant = new WxMerchant(); - buildRent(wxMerchant,null); - int receivePeriod = record.getReceivePeriod().intValue(); - Integer lease = record.getLease(); - Date rentalStartDate = record.getRentalStartDate(); - Integer price = record.getPrice(); - //按月计租 - List resultList; - if (record.getAdjustPeriod().equals(EnumRentContractAdjustPeriod.ADJUST_PERIOD_MONTH.getCode())) { - resultList = buildRentMonth(wxMerchant, userId, record, receivePeriod, lease, rentalStartDate, price,EnumIsPreview.YES.getCode()); - } else { - //按日计租 - resultList = buildRent(lease, receivePeriod, price, rentalStartDate, Calendar.DAY_OF_MONTH, record, userId, wxMerchant, 0,EnumIsPreview.YES.getCode()); - } - wxRentContract.setPreviewBillRentList(resultList); return new ResultData(Result.SUCCESS, "保存租赁合同信息成功", wxRentContract); } @@ -888,6 +891,13 @@ public class WxRentContractServiceImpl implements WxRentContractService { wxRentContractMapper.updateStatus(updateRentContract); logger.info("id:{},启动审批流成功,是否补录:{}",record.getId().toString(),record.getMerchantId() != null); } + + // 保存调整金额(预账单调整) + if(!CollectionUtils.isEmpty(record.getPreviewBillRentList())){ + for (WxBillRent wxBillRent:record.getPreviewBillRentList()) { + wxBillRentMapper.update(wxBillRent); + } + } } catch (Exception e) { logger.error("启动审批流失败,e:" + e.getMessage()); throw new MallinkException(ErrorCode.FLOW_FAIL.getCode(), "FLOW FAILD " + e.getMessage()); diff --git a/mallinkService/src/main/resources/mapper/WxBillRentMapper.xml b/mallinkService/src/main/resources/mapper/WxBillRentMapper.xml index b0127abc9..9aa7e9260 100644 --- a/mallinkService/src/main/resources/mapper/WxBillRentMapper.xml +++ b/mallinkService/src/main/resources/mapper/WxBillRentMapper.xml @@ -130,4 +130,7 @@ delete from wx_bill_rent where rent_contract_id = #{id} + + update wx_bill_rent set receive_pay = #{receivePay} where id = #{id} +