| @@ -80,16 +80,6 @@ public class WxPropertyContractController extends BaseController { | |||||
| return wxPropertyContractService.getById(id); | return wxPropertyContractService.getById(id); | ||||
| } | } | ||||
| /** | |||||
| * 生成预览账单 | |||||
| */ | |||||
| @ApiOperation("生成预览账单") | |||||
| @GetMapping(value = "/buildBill") | |||||
| public ResultData buildBill(@ModelAttribute WxPropertyContract wxPropertyContract) { | |||||
| logger.debug("[" + getIpAddr() + "] WxPropertyContractController::buildBill"); | |||||
| return new ResultData(wxPropertyContractService.buildBill(wxPropertyContract)); | |||||
| } | |||||
| @RequestMapping("/download") | @RequestMapping("/download") | ||||
| public void download(HttpServletRequest request, HttpServletResponse response){ | public void download(HttpServletRequest request, HttpServletResponse response){ | ||||
| logger.debug("[" + getIpAddr() + "] WxPropertyContractController::download"); | logger.debug("[" + getIpAddr() + "] WxPropertyContractController::download"); | ||||
| @@ -166,9 +166,9 @@ public class WxPropertyContract implements Serializable { | |||||
| @io.swagger.annotations.ApiModelProperty(value = "审批流参数", name = "flowParams") | @io.swagger.annotations.ApiModelProperty(value = "审批流参数", name = "flowParams") | ||||
| private Map<String, Object> flowParams; | private Map<String, Object> flowParams; | ||||
| // 预账单列表 | |||||
| // 物业预账单列表 | |||||
| @Transient | @Transient | ||||
| @io.swagger.annotations.ApiModelProperty(value = "预账单列表", name = "previewBillRentList") | |||||
| @io.swagger.annotations.ApiModelProperty(value = "物业预账单列表", name = "previewBillRentList") | |||||
| private List<WxBillProperty> previewBillRentList; | private List<WxBillProperty> previewBillRentList; | ||||
| public List<WxBillProperty> getPreviewBillRentList() { | public List<WxBillProperty> getPreviewBillRentList() { | ||||
| @@ -63,6 +63,4 @@ public interface WxPropertyContractService { | |||||
| ResultData hasRentContract(Long rentContractId); | ResultData hasRentContract(Long rentContractId); | ||||
| ResultData updatePropertyContractStatus(Long id); | ResultData updatePropertyContractStatus(Long id); | ||||
| List<WxBillProperty> buildBill(WxPropertyContract wxPropertyContract); | |||||
| } | } | ||||
| @@ -223,6 +223,13 @@ public class WxPropertyContractServiceImpl implements WxPropertyContractService | |||||
| logger.error("保存物业合同信息失败,e:" + e.getMessage()); | logger.error("保存物业合同信息失败,e:" + e.getMessage()); | ||||
| throw new MallinkException(ErrorCode.DB_FAIL.getCode(), "DB FAILD " + e.getMessage()); | throw new MallinkException(ErrorCode.DB_FAIL.getCode(), "DB FAILD " + e.getMessage()); | ||||
| } | } | ||||
| //生成预览账单 | |||||
| wxBillPropertyMapper.deletePreviewBill(record); | |||||
| //重新生成 | |||||
| List<WxBillProperty> billList = buildProperty(new WxMerchant(),record,EnumIsPreview.YES.getCode()); | |||||
| propertyContract.setPreviewBillRentList(billList); | |||||
| message = "保存物业合同信息成功"; | message = "保存物业合同信息成功"; | ||||
| } else {//更新物业合同信息 | } else {//更新物业合同信息 | ||||
| WxPropertyContract wxPropertyContract = wxPropertyContractMapper.selectByPrimaryKey(record.getId()); | WxPropertyContract wxPropertyContract = wxPropertyContractMapper.selectByPrimaryKey(record.getId()); | ||||
| @@ -253,6 +260,20 @@ public class WxPropertyContractServiceImpl implements WxPropertyContractService | |||||
| logger.error("更新物业合同信息失败,e:" + e.getMessage()); | logger.error("更新物业合同信息失败,e:" + e.getMessage()); | ||||
| throw new MallinkException(ErrorCode.DB_FAIL.getCode(), "DB FAILD " + e.getMessage()); | throw new MallinkException(ErrorCode.DB_FAIL.getCode(), "DB FAILD " + e.getMessage()); | ||||
| } | } | ||||
| //生成预览账单 | |||||
| if(!wxPropertyContract.getReceivePeriod().equals(record.getReceivePeriod()) | |||||
| ||!wxPropertyContract.getPrice().equals(record.getPrice()) | |||||
| ||!wxPropertyContract.getDeposit().equals(record.getDeposit())){ | |||||
| wxBillPropertyMapper.deletePreviewBill(record); | |||||
| //重新生成 | |||||
| wxPropertyContract.setPrice(record.getPrice()); | |||||
| wxPropertyContract.setDeposit(record.getDeposit()); | |||||
| wxPropertyContract.setReceivePeriod(record.getReceivePeriod()); | |||||
| wxPropertyContract.setPayAccount(record.getPayAccount()); | |||||
| List<WxBillProperty> billList = buildProperty(new WxMerchant(),wxPropertyContract,EnumIsPreview.YES.getCode()); | |||||
| record.setPreviewBillRentList(billList); | |||||
| } | |||||
| message = "更新物业合同信息成功"; | message = "更新物业合同信息成功"; | ||||
| } | } | ||||
| @@ -734,25 +755,4 @@ public class WxPropertyContractServiceImpl implements WxPropertyContractService | |||||
| } | } | ||||
| } | } | ||||
| @Override | |||||
| public List<WxBillProperty> buildBill(WxPropertyContract wxPropertyContract) { | |||||
| //生成预览账单 | |||||
| //根据租赁合同找到对应的物业合同,生成物业账单 | |||||
| WxPropertyContract propertyContract = wxPropertyContractMapper.selectByPrimaryKey(wxPropertyContract.getId()); | |||||
| if(propertyContract != null) { | |||||
| if(!wxPropertyContract.getReceivePeriod().equals(propertyContract.getReceivePeriod()) | |||||
| ||!wxPropertyContract.getPrice().equals(propertyContract.getPrice()) | |||||
| ||!wxPropertyContract.getDeposit().equals(propertyContract.getDeposit())){ | |||||
| wxBillPropertyMapper.deletePreviewBill(propertyContract); | |||||
| //重新生成 | |||||
| propertyContract.setPrice(wxPropertyContract.getPrice()); | |||||
| propertyContract.setDeposit(wxPropertyContract.getDeposit()); | |||||
| propertyContract.setReceivePeriod(wxPropertyContract.getReceivePeriod()); | |||||
| propertyContract.setPayAccount(wxPropertyContract.getPayAccount()); | |||||
| List<WxBillProperty> billList = buildProperty(new WxMerchant(),propertyContract,EnumIsPreview.YES.getCode()); | |||||
| return billList; | |||||
| } | |||||
| } | |||||
| return new ArrayList<>(); | |||||
| } | |||||
| } | } | ||||
| @@ -238,6 +238,11 @@ public class WxRentContractServiceImpl implements WxRentContractService { | |||||
| throw new MallinkException(ErrorCode.FLOW_FAIL.getCode(), "FLOW FAILD " + e.getMessage()); | throw new MallinkException(ErrorCode.FLOW_FAIL.getCode(), "FLOW FAILD " + e.getMessage()); | ||||
| } | } | ||||
| //生成预览账单(补录第二步,第三步走编辑) | |||||
| wxBillRentMapper.deletePreviewBill(record); | |||||
| //重新生成 | |||||
| List<WxBillRent> resultList = buildRent(new WxMerchant(), null, record, EnumIsPreview.YES.getCode()); | |||||
| record.setPreviewBillRentList(resultList); | |||||
| return new ResultData(Result.SUCCESS, "保存租赁合同信息成功", record); | return new ResultData(Result.SUCCESS, "保存租赁合同信息成功", record); | ||||
| } | } | ||||
| @@ -141,7 +141,7 @@ | |||||
| update wx_bill_property set receive_pay = #{receivePay} where id = #{id} | update wx_bill_property set receive_pay = #{receivePay} where id = #{id} | ||||
| </update> | </update> | ||||
| <update id="updatePreviewStatus" parameterType="com.iformall.domain.po.WxBillRent"> | |||||
| update wx_bill_rent set is_preview = #{isPreview} where rent_contract_id = #{rentContractId} | |||||
| <update id="updatePreviewStatus" parameterType="com.iformall.domain.po.WxBillProperty"> | |||||
| update wx_bill_property set is_preview = #{isPreview} where property_contract_id = #{propertyContractId} | |||||
| </update> | </update> | ||||
| </mapper> | </mapper> | ||||