diff --git a/mallinkAdmin/src/main/java/com/iformall/controller/contract/WxAgileContractController.java b/mallinkAdmin/src/main/java/com/iformall/controller/contract/WxAgileContractController.java index c4636fe17..311f8c673 100644 --- a/mallinkAdmin/src/main/java/com/iformall/controller/contract/WxAgileContractController.java +++ b/mallinkAdmin/src/main/java/com/iformall/controller/contract/WxAgileContractController.java @@ -443,7 +443,7 @@ public class WxAgileContractController extends WxContractBaseController { return new ResultData(Result.ERROR,e.getMessage()); } - return new ResultData(); + return new ResultData(rentContract); } 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 298328a04..90454e4e1 100644 --- a/mallinkAdmin/src/main/java/com/iformall/controller/contract/WxPropertyContractController.java +++ b/mallinkAdmin/src/main/java/com/iformall/controller/contract/WxPropertyContractController.java @@ -513,7 +513,7 @@ public class WxPropertyContractController extends WxContractBaseController { return new ResultData(Result.ERROR,e.getMessage()); } - return new ResultData(); + return new ResultData(contract); } 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 00553692e..f70964424 100644 --- a/mallinkAdmin/src/main/java/com/iformall/controller/contract/WxRentContractController.java +++ b/mallinkAdmin/src/main/java/com/iformall/controller/contract/WxRentContractController.java @@ -593,6 +593,77 @@ public class WxRentContractController extends WxContractBaseController { return new ResultData(Result.ERROR,e.getMessage()); } + return new ResultData(rentContract); + } + + //转签 + @PostMapping("transfer") + public ResultData transfer(@RequestBody WxRentContract wxRentContract) { + if (null == wxRentContract.getCustomerType() || StringUtils.isBlank(wxRentContract.getCustomerName()) || StringUtils.isBlank(wxRentContract.getCustomerPhone())){ + return new ResultData(Result.ERROR, "缺少参数"); + } + + if (null == wxRentContract.getRentalStartDate() || null == wxRentContract.getRentalEndDate()){ + return new ResultData(Result.ERROR, "请选择租赁开始日期和截止日期"); + } + + if (null == wxRentContract.getStartDate()){ + return new ResultData(Result.ERROR, "请选择计租日期"); + } + + if (null == wxRentContract.getSignDate()){ + return new ResultData(Result.ERROR, "请选择签约日期"); + } + + WxRentContract rentContract = wxRentContractMapper.selectById(wxRentContract.getId()); + if (null == rentContract) { + return new ResultData(Result.ERROR, "编号["+wxRentContract.getId()+"]未找到租金合同"); + } + + if (!(rentContract.getRentalEndDate().before(wxRentContract.getRentalStartDate()))) { + return new ResultData(Result.ERROR, "续租合同开始日期要大于原合同截止日期"); + } + + if (rentContract.getStatus().intValue() == EnumRentContractStatus.UNWRITE.getCode().intValue()) { + return new ResultData(Result.ERROR,"租金合同未完善,请先完善。"); + } + + if (rentContract.getOperationType().intValue() == EnumContractOperationType.WHOLE.getCode().intValue()) { + if (null == wxRentContract.getPropertyId()) { + return new ResultData(Result.ERROR,"未创建物业合同,请先完善。"); + } + WxPropertyContract property = wxPropertyContractService.getSimpleDetail(wxRentContract.getPropertyId()); + if (null == property) { + return new ResultData(Result.ERROR,"未创建物业合同,请先完善。"); + } + if (property.getStatus().intValue() == EnumRentContractStatus.UNWRITE.getCode().intValue()) { + return new ResultData(Result.ERROR,"物业合同未完善,请先完善。"); + } + } + + MallUserInfo user = getUser(); + + rentContract.setRentalStartDate(wxRentContract.getRentalStartDate()); + rentContract.setRentalEndDate(wxRentContract.getRentalEndDate()); + rentContract.setSignDate(wxRentContract.getSignDate()); + rentContract.setStartDate(wxRentContract.getStartDate()); + rentContract.setEndDate(wxRentContract.getStartDate()); + rentContract.setFixStartDate(wxRentContract.getFixStartDate()); + rentContract.setFixEndDate(wxRentContract.getFixEndDate()); + + try { + rentContractValidShop(rentContract); + } catch (Exception e) { + return new ResultData(Result.ERROR,e.getMessage()); + } + + try { + wxRentContractService.renewal(rentContract,user); + }catch(Exception e) { + logger.error("renewal error.",e); + return new ResultData(Result.ERROR,e.getMessage()); + } + return new ResultData(); }