From e0aefa053755e080de82c93980f21a5cfad4f12c Mon Sep 17 00:00:00 2001 From: xiaohanzi Date: Wed, 19 Aug 2020 23:08:31 +0800 Subject: [PATCH] fix contract --- .../contract/WxContractBaseController.java | 6 ++++- .../WxPropertyContractController.java | 12 ++++++--- .../contract/WxRentContractController.java | 27 ++++++++++++------- .../WxRentPropertyContractController.java | 19 ++++++------- .../iformall/domain/po/WxRentContract.java | 4 +++ .../domain/vo/WxRentPropertyContractVo.java | 3 +++ .../WxRentPropertyContractService.java | 4 +-- .../service/impl/WxFlowServiceImpl.java | 5 ++-- .../WxRentPropertyContractServiceImpl.java | 22 ++++++++------- .../mapper/WxPropertyContractMapper.xml | 2 +- .../resources/mapper/WxRentContractMapper.xml | 11 ++++++-- 11 files changed, 75 insertions(+), 40 deletions(-) diff --git a/mallinkAdmin/src/main/java/com/iformall/controller/contract/WxContractBaseController.java b/mallinkAdmin/src/main/java/com/iformall/controller/contract/WxContractBaseController.java index 464e57b7a..51c3a7b0a 100644 --- a/mallinkAdmin/src/main/java/com/iformall/controller/contract/WxContractBaseController.java +++ b/mallinkAdmin/src/main/java/com/iformall/controller/contract/WxContractBaseController.java @@ -23,11 +23,15 @@ public class WxContractBaseController extends BaseController{ @Autowired private WxFlowService wxFlowService; - protected Map generateFlowParams(EnumFlowKey flowType,EnumFlowContractType contractType,String remark,Long contractId) { + protected Map generateFlowParams(EnumFlowKey flowType,EnumFlowContractType contractType,String remark,Long contractId,Long wholeProperyId) { Map map = new HashMap(); map.put("businessType", flowType.getCode()); map.put("remark", remark); map.put("businessId", String.valueOf(contractId)); + //租金+物业合同时用到 + if (null != wholeProperyId) { + map.put("wholeProperyId", String.valueOf(wholeProperyId)); + } List variablesList = new ArrayList(); Map contractTypeMap = new HashMap(); contractTypeMap.put("key","contractType"); 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 e9aa3e5fa..34b29ae38 100644 --- a/mallinkAdmin/src/main/java/com/iformall/controller/contract/WxPropertyContractController.java +++ b/mallinkAdmin/src/main/java/com/iformall/controller/contract/WxPropertyContractController.java @@ -152,6 +152,10 @@ public class WxPropertyContractController extends WxContractBaseController { contract.setUpdatetime(new Date()); try { wxPropertyContractService.updatePropertyContract(contract); + if (contract.getOperationType().intValue() == EnumContractOperationType.WHOLE.getCode().intValue()) { + + } + return new ResultData(contract); }catch(Exception e) { logger.error(" WxPropertyContract unvalid error.",e); @@ -212,15 +216,15 @@ public class WxPropertyContractController extends WxContractBaseController { } if(contract.getOperationType().intValue() == EnumContractOperationType.PART.getCode().intValue()) { if (contract.getRentShopType().intValue() == EnumRentShopType.SHOP.getCode().intValue()) { - contract.setFlowParams(generateFlowParams(EnumFlowKey.NEW_PRO_CONTRACT, EnumFlowContractType.PROPERTY, contract.getRemark(), contract.getId())); + contract.setFlowParams(generateFlowParams(EnumFlowKey.NEW_PRO_CONTRACT, EnumFlowContractType.PROPERTY, contract.getRemark(), contract.getId(),null)); }else if (contract.getRentShopType().intValue() == EnumRentShopType.POINT.getCode().intValue()) { - contract.setFlowParams(generateFlowParams(EnumFlowKey.NEW_PRO_POINT_CONTRACT, EnumFlowContractType.PROPERTY_POINT, contract.getRemark(), contract.getId())); + contract.setFlowParams(generateFlowParams(EnumFlowKey.NEW_PRO_POINT_CONTRACT, EnumFlowContractType.PROPERTY_POINT, contract.getRemark(), contract.getId(),null)); } }else { if (contract.getRentShopType().intValue() == EnumRentShopType.SHOP.getCode().intValue()) { - contract.setFlowParams(generateFlowParams(EnumFlowKey.NEW_PRO_CONTRACT, EnumFlowContractType.WHOLE_SHOP, contract.getRemark(), contract.getId())); + contract.setFlowParams(generateFlowParams(EnumFlowKey.NEW_PRO_CONTRACT, EnumFlowContractType.WHOLE_SHOP, contract.getRemark(), contract.getId(),null)); }else if (contract.getRentShopType().intValue() == EnumRentShopType.POINT.getCode().intValue()) { - contract.setFlowParams(generateFlowParams(EnumFlowKey.NEW_PRO_POINT_CONTRACT, EnumFlowContractType.WHOLE_POINT, contract.getRemark(), contract.getId())); + contract.setFlowParams(generateFlowParams(EnumFlowKey.NEW_PRO_POINT_CONTRACT, EnumFlowContractType.WHOLE_POINT, contract.getRemark(), contract.getId(),null)); } } return wxPropertyContractService.apply(contract,user); 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 55f2c476e..ca5545cef 100644 --- a/mallinkAdmin/src/main/java/com/iformall/controller/contract/WxRentContractController.java +++ b/mallinkAdmin/src/main/java/com/iformall/controller/contract/WxRentContractController.java @@ -1,5 +1,6 @@ package com.iformall.controller.contract; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.github.pagehelper.PageInfo; import com.iformall.annotation.SystemControllerLog; import com.iformall.annotation.UserDataRuleAnnotation; @@ -9,6 +10,7 @@ import com.iformall.common.ResultData; import com.iformall.controller.base.BaseController; import com.iformall.domain.po.*; import com.iformall.domain.po.base.BaseEntity; +import com.iformall.enums.EnumContractOperationType; import com.iformall.enums.EnumContractType; import com.iformall.enums.EnumFlowContractType; import com.iformall.enums.EnumFlowKey; @@ -60,18 +62,16 @@ public class WxRentContractController extends WxContractBaseController { private WxMerchantService wxMerchantService; @Autowired private WxRentContractMapper wxRentContractMapper; - - @Autowired WxBillRentMapper wxBillRentMapper; @Autowired WxBillPropertyMapper wxBillPropertyMapper; - @Autowired private WxRentPropertyContractService wxRentPropertyContractService; - @Autowired private WxShopService wxShopService; + @Autowired + WxPropertyContractService wxPropertyContractService; @UserDataRuleAnnotation("rent_contract_list") @GetMapping("/list") @@ -421,11 +421,20 @@ public class WxRentContractController extends WxContractBaseController { if(rentContractHasWorkFlow(rentContract)) { return new ResultData(ErrorCode.FLOW_FAIL.getCode(),"租赁合同存在工作流,不允许直接生效。"); } - if (rentContract.getRentShopType().intValue() == EnumRentShopType.SHOP.getCode().intValue()) { - rentContract.setFlowParams(generateFlowParams(EnumFlowKey.NEW_RENT_CONTRACT, EnumFlowContractType.RENT, wxRentContract.getRemark(), wxRentContract.getId())); - }else if (rentContract.getRentShopType().intValue() == EnumRentShopType.POINT.getCode().intValue()) { - rentContract.setFlowParams(generateFlowParams(EnumFlowKey.NEW_SHOP_CONTRACT, EnumFlowContractType.RENT_POINT, wxRentContract.getRemark(), wxRentContract.getId())); - } + + if(rentContract.getOperationType().intValue() == EnumContractOperationType.PART.getCode().intValue()) { + if (rentContract.getRentShopType().intValue() == EnumRentShopType.SHOP.getCode().intValue()) { + rentContract.setFlowParams(generateFlowParams(EnumFlowKey.NEW_RENT_CONTRACT, EnumFlowContractType.RENT, wxRentContract.getRemark(), wxRentContract.getId(),null)); + }else if (rentContract.getRentShopType().intValue() == EnumRentShopType.POINT.getCode().intValue()) { + rentContract.setFlowParams(generateFlowParams(EnumFlowKey.NEW_SHOP_CONTRACT, EnumFlowContractType.RENT_POINT, wxRentContract.getRemark(), wxRentContract.getId(),null)); + } + }else { + if (rentContract.getRentShopType().intValue() == EnumRentShopType.SHOP.getCode().intValue()) { + rentContract.setFlowParams(generateFlowParams(EnumFlowKey.NEW_RENT_CONTRACT, EnumFlowContractType.WHOLE_SHOP, wxRentContract.getRemark(), wxRentContract.getId(),wxRentContract.getPropertyId())); + }else if (rentContract.getRentShopType().intValue() == EnumRentShopType.POINT.getCode().intValue()) { + rentContract.setFlowParams(generateFlowParams(EnumFlowKey.NEW_SHOP_CONTRACT, EnumFlowContractType.WHOLE_POINT, wxRentContract.getRemark(), wxRentContract.getId(),wxRentContract.getPropertyId())); + } + } return wxRentContractService.apply(rentContract,user); } diff --git a/mallinkAdmin/src/main/java/com/iformall/controller/contract/WxRentPropertyContractController.java b/mallinkAdmin/src/main/java/com/iformall/controller/contract/WxRentPropertyContractController.java index 7f51d7602..bbcebeea6 100644 --- a/mallinkAdmin/src/main/java/com/iformall/controller/contract/WxRentPropertyContractController.java +++ b/mallinkAdmin/src/main/java/com/iformall/controller/contract/WxRentPropertyContractController.java @@ -33,7 +33,6 @@ public class WxRentPropertyContractController extends WxContractBaseController { @ApiImplicitParams({ @ApiImplicitParam(name = "pageNum", value = "页数", dataType = "int", paramType = "query", required = true), @ApiImplicitParam(name = "pageSize", value = "每页条数", dataType = "int", paramType = "query", required = true)}) - @SystemControllerLog(description = "租赁物业合同-列表") public ResultData list(@ModelAttribute WxRentPropertyContractVo wxRentPropertyContractVo, Integer pageNum, Integer pageSize) { logger.debug("[" + getIpAddr() + "] wxRentPropertyContract::list"); if (null == wxRentPropertyContractVo) { @@ -46,20 +45,22 @@ public class WxRentPropertyContractController extends WxContractBaseController { @ApiOperation("根据id查询接口") @GetMapping("/findById") - @ApiImplicitParam(name = "id", value = "id", dataType = "Long", paramType = "query", required = true) - @SystemControllerLog(description = "租赁物业合同-根据id查询接口") - public ResultData findById(Long id) { + @ApiImplicitParams({ + @ApiImplicitParam(name = "rentId", value = "租金合同编号", dataType = "Long", paramType = "query", required = true), + @ApiImplicitParam(name = "propertyId", value = "物业合同编号", dataType = "Long", paramType = "query", required = true)}) + public ResultData findById(Long rentId,Long propertyId) { logger.debug("[" + getIpAddr() + "] wxRentPropertyContract::findById"); - return wxRentPropertyContractService.getContractInfo(id); + return wxRentPropertyContractService.getContractInfo(rentId,propertyId); } @ApiOperation("合同审批详情") @GetMapping("/getContractApplyInfo") - @ApiImplicitParam(name = "id", value = "id", dataType = "Long", paramType = "query", required = true) - @SystemControllerLog(description = "租赁物业合同-合同审批详情") - public ResultData getContractApplyInfo(Long id) { + @ApiImplicitParams({ + @ApiImplicitParam(name = "rentId", value = "租金合同编号", dataType = "Long", paramType = "query", required = true), + @ApiImplicitParam(name = "propertyId", value = "物业合同编号", dataType = "Long", paramType = "query", required = true)}) + public ResultData getContractApplyInfo(Long rentId,Long propertyId) { logger.debug("[" + getIpAddr() + "] wxRentPropertyContract::getContractApplyInfo"); - return wxRentPropertyContractService.getContractApplyInfo(id); + return wxRentPropertyContractService.getContractApplyInfo(rentId,propertyId); } @PostMapping("insertRentForCreate") 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 8a25948b2..6b08dae2b 100644 --- a/mallinkService/src/main/java/com/iformall/domain/po/WxRentContract.java +++ b/mallinkService/src/main/java/com/iformall/domain/po/WxRentContract.java @@ -203,6 +203,10 @@ public class WxRentContract extends TenantEntity { @TableField(exist = false) @io.swagger.annotations.ApiModelProperty(value = "审批说明", name = "remark") private String remark; + + @TableField(exist = false) + @io.swagger.annotations.ApiModelProperty(value = "审批时带的物业合同编号,租金+物业时用", name = "propertyId") + private Long propertyId; @io.swagger.annotations.ApiModelProperty(value = "租金信息", name = "rentInfo") private String rentInfo; diff --git a/mallinkService/src/main/java/com/iformall/domain/vo/WxRentPropertyContractVo.java b/mallinkService/src/main/java/com/iformall/domain/vo/WxRentPropertyContractVo.java index 785738838..ddccc227a 100644 --- a/mallinkService/src/main/java/com/iformall/domain/vo/WxRentPropertyContractVo.java +++ b/mallinkService/src/main/java/com/iformall/domain/vo/WxRentPropertyContractVo.java @@ -17,6 +17,9 @@ public class WxRentPropertyContractVo extends TenantEntity { protected Long id; + private Long rentId; + private Long propertyId; + @io.swagger.annotations.ApiModelProperty(value = "合同编号", name = "contractNumber") private String contractNumber; diff --git a/mallinkService/src/main/java/com/iformall/service/WxRentPropertyContractService.java b/mallinkService/src/main/java/com/iformall/service/WxRentPropertyContractService.java index 2cb1f12c5..a64150aeb 100644 --- a/mallinkService/src/main/java/com/iformall/service/WxRentPropertyContractService.java +++ b/mallinkService/src/main/java/com/iformall/service/WxRentPropertyContractService.java @@ -12,9 +12,9 @@ public interface WxRentPropertyContractService { PageInfo listContractVo(WxRentPropertyContractVo wxRentPropertyContractVo, Integer pageNum, Integer pageSize); - ResultData getContractInfo(Long id); + ResultData getContractInfo(Long rentId,Long propertyId); - ResultData getContractApplyInfo(Long id); + ResultData getContractApplyInfo(Long rentId,Long propertyId); ResultData insertRentForCreate(WxRentContract wxRentContract); diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxFlowServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxFlowServiceImpl.java index 5b1719237..164c1d522 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxFlowServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxFlowServiceImpl.java @@ -193,7 +193,7 @@ public class WxFlowServiceImpl implements WxFlowService { if(record.getOperationType().equals(EnumContractOperationType.WHOLE.getCode())){ isrentproperty = true; } - + String wholeProperyId = (String)mapInfo.get("wholeProperyId"); //如果是提交审批 , 审批驳回状态不变 if (EnumRentContractAppStatus.APPLYING.getCode().intValue() == applyStatus.intValue()) { //如果合同的状态非正常,则不处理 @@ -208,12 +208,13 @@ public class WxFlowServiceImpl implements WxFlowService { }else if (EnumRentContractAppStatus.FINISH.getCode().intValue() == applyStatus.intValue()) { wxRentContractService.updateRentContractStatus(businessId); if (isrentproperty) { - wxPropertyContractService.updatePropertyContractStatus(businessId); + wxPropertyContractService.updatePropertyContractStatus(Long.parseLong(wholeProperyId)); } } wxRentContractService.updateApplyStatus(rent); if (isrentproperty) { WxPropertyContract wxPropertyContract = new WxPropertyContract(); + wxPropertyContract.setId(Long.parseLong(wholeProperyId)); wxPropertyContract.setRentContractId(record.getId()); wxPropertyContract.setStatus(propertyStatus); wxPropertyContract.setApplyStatus(applyStatus); diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxRentPropertyContractServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxRentPropertyContractServiceImpl.java index 87e18b897..3ebdd3eb8 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxRentPropertyContractServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxRentPropertyContractServiceImpl.java @@ -52,13 +52,14 @@ public class WxRentPropertyContractServiceImpl implements WxRentPropertyContract } @Override - public ResultData getContractInfo(Long id) { + public ResultData getContractInfo(Long rentId,Long propertyId) { Map data = new HashMap<>(2); - Map rent = wxRentContractService.getById(id); + Map rent = wxRentContractService.getById(rentId); data.put("rent", rent); - WxPropertyContract wxPropertyContractQuery = new WxPropertyContract(); - wxPropertyContractQuery.setRentContractId(id); - WxPropertyContract propertyContract = wxPropertyContractMapper.selectOne(new QueryWrapper(wxPropertyContractQuery)); + //WxPropertyContract wxPropertyContractQuery = new WxPropertyContract(); + //wxPropertyContractQuery.setRentContractId(rentId); + //WxPropertyContract propertyContract = wxPropertyContractMapper.selectOne(new QueryWrapper(wxPropertyContractQuery)); + WxPropertyContract propertyContract = wxPropertyContractMapper.selectById(propertyId); if (propertyContract != null) { List wxBillPropertyPreview = wxPropertyContractService.getWxBillPropertyPreview(propertyContract.getId()); propertyContract.setPreviewBillRentList(wxBillPropertyPreview); @@ -69,13 +70,14 @@ public class WxRentPropertyContractServiceImpl implements WxRentPropertyContract @Override - public ResultData getContractApplyInfo(Long id) { + public ResultData getContractApplyInfo(Long rentId,Long propertyId) { Map data = new HashMap<>(2); - Map rent = wxRentContractService.getById(id); + Map rent = wxRentContractService.getById(rentId); data.put("rent", rent); - WxPropertyContract wxPropertyContractQuery = new WxPropertyContract(); - wxPropertyContractQuery.setRentContractId(id); - WxPropertyContract propertyContract = wxPropertyContractMapper.selectOne(new QueryWrapper(wxPropertyContractQuery)); +// WxPropertyContract wxPropertyContractQuery = new WxPropertyContract(); +// wxPropertyContractQuery.setRentContractId(id); +// WxPropertyContract propertyContract = wxPropertyContractMapper.selectOne(new QueryWrapper(wxPropertyContractQuery)); + WxPropertyContract propertyContract = wxPropertyContractMapper.selectById(propertyId); if (propertyContract != null) { try { Map property = wxPropertyContractService.getById(propertyContract.getId()); diff --git a/mallinkService/src/main/resources/mapper/WxPropertyContractMapper.xml b/mallinkService/src/main/resources/mapper/WxPropertyContractMapper.xml index c67ed9ea9..bcf4fa9db 100644 --- a/mallinkService/src/main/resources/mapper/WxPropertyContractMapper.xml +++ b/mallinkService/src/main/resources/mapper/WxPropertyContractMapper.xml @@ -356,7 +356,7 @@ update wx_property_contract set apply_status=#{applyStatus} ,business_type=#{businessType} ,status=#{status} - where rent_contract_id=#{rentContractId} + where rent_contract_id=#{rentContractId} and id = #{id} diff --git a/mallinkService/src/main/resources/mapper/WxRentContractMapper.xml b/mallinkService/src/main/resources/mapper/WxRentContractMapper.xml index f427b54a6..835b2233b 100644 --- a/mallinkService/src/main/resources/mapper/WxRentContractMapper.xml +++ b/mallinkService/src/main/resources/mapper/WxRentContractMapper.xml @@ -516,7 +516,8 @@ - + + @@ -539,7 +540,7 @@