| @@ -413,7 +413,7 @@ public class WxAgileContractController extends WxContractBaseController { | |||||
| WxRentContract rentContract = wxRentContractMapper.selectById(wxRentContract.getId()); | WxRentContract rentContract = wxRentContractMapper.selectById(wxRentContract.getId()); | ||||
| if (null == rentContract) { | if (null == rentContract) { | ||||
| return new ResultData(Result.ERROR, "编号["+wxRentContract.getId()+"]未找到租金合同"); | |||||
| return new ResultData(Result.ERROR, "未找到租金合同"); | |||||
| } | } | ||||
| if (!(rentContract.getRentalEndDate().before(wxRentContract.getRentalStartDate()))) { | if (!(rentContract.getRentalEndDate().before(wxRentContract.getRentalStartDate()))) { | ||||
| @@ -478,11 +478,11 @@ public class WxPropertyContractController extends WxContractBaseController { | |||||
| WxPropertyContract contract = wxPropertyContractService.getSimpleDetail(proertyContract.getId()); | WxPropertyContract contract = wxPropertyContractService.getSimpleDetail(proertyContract.getId()); | ||||
| if (null == contract) { | if (null == contract) { | ||||
| return new ResultData(Result.ERROR, "编号["+contract.getContractNumber()+"]未找到租金合同"); | |||||
| return new ResultData(Result.ERROR, "未找到物业合同"); | |||||
| } | } | ||||
| if (contract.getOperationType().intValue() == EnumContractOperationType.WHOLE.getCode().intValue()) { | if (contract.getOperationType().intValue() == EnumContractOperationType.WHOLE.getCode().intValue()) { | ||||
| return new ResultData(Result.ERROR, "编号["+contract.getContractNumber()+"]未找到租金合同"); | |||||
| return new ResultData(Result.ERROR, "不能操作租金+物业合同"); | |||||
| } | } | ||||
| if (!(contract.getRentalEndDate().before(proertyContract.getRentalStartDate()))) { | if (!(contract.getRentalEndDate().before(proertyContract.getRentalStartDate()))) { | ||||
| @@ -517,9 +517,37 @@ public class WxPropertyContractController extends WxContractBaseController { | |||||
| } | } | ||||
| @PostMapping("transfer") | |||||
| public ResultData transfer(@RequestBody WxPropertyContract proertyContract) { | |||||
| MallUserInfo user = getUser(); | |||||
| if (null == proertyContract.getId() || null == proertyContract.getCustomerType() || | |||||
| StringUtils.isBlank(proertyContract.getCustomerName()) || StringUtils.isBlank(proertyContract.getCustomerPhone())){ | |||||
| return new ResultData(Result.ERROR, "缺少参数"); | |||||
| } | |||||
| WxPropertyContract contract = wxPropertyContractService.getSimpleDetail(proertyContract.getId()); | |||||
| if (null == contract) { | |||||
| return new ResultData(Result.ERROR, "未找到物业合同"); | |||||
| } | |||||
| if (contract.getOperationType().intValue() == EnumContractOperationType.WHOLE.getCode().intValue()) { | |||||
| return new ResultData(Result.ERROR, "不能操作租金+物业合同"); | |||||
| } | |||||
| try { | |||||
| wxPropertyContractService.transfer(contract,user); | |||||
| }catch(Exception e) { | |||||
| logger.error("transfer error.",e); | |||||
| return new ResultData(Result.ERROR,e.getMessage()); | |||||
| } | |||||
| return new ResultData(contract); | |||||
| } | |||||
| @GetMapping("/del") | @GetMapping("/del") | ||||
| @ApiImplicitParam(name = "id", value = "id", dataType = "Long", paramType = "query", required = true) | @ApiImplicitParam(name = "id", value = "id", dataType = "Long", paramType = "query", required = true) | ||||
| @SystemControllerLog(description = "物业合同-删除") | |||||
| public ResultData delete(Long id) { | public ResultData delete(Long id) { | ||||
| logger.debug("[" + getIpAddr() + "] WxPropertyContractController::delete"); | logger.debug("[" + getIpAddr() + "] WxPropertyContractController::delete"); | ||||
| wxPropertyContractService.deleteById(id); | wxPropertyContractService.deleteById(id); | ||||
| @@ -546,7 +546,7 @@ public class WxRentContractController extends WxContractBaseController { | |||||
| WxRentContract rentContract = wxRentContractMapper.selectById(wxRentContract.getId()); | WxRentContract rentContract = wxRentContractMapper.selectById(wxRentContract.getId()); | ||||
| if (null == rentContract) { | if (null == rentContract) { | ||||
| return new ResultData(Result.ERROR, "编号["+wxRentContract.getId()+"]未找到租金合同"); | |||||
| return new ResultData(Result.ERROR, "未找到租金合同"); | |||||
| } | } | ||||
| if (!(rentContract.getRentalEndDate().before(wxRentContract.getRentalStartDate()))) { | if (!(rentContract.getRentalEndDate().before(wxRentContract.getRentalStartDate()))) { | ||||
| @@ -609,43 +609,16 @@ public class WxRentContractController extends WxContractBaseController { | |||||
| return new ResultData(Result.ERROR, "编号["+wxRentContract.getId()+"]未找到租金合同"); | return new ResultData(Result.ERROR, "编号["+wxRentContract.getId()+"]未找到租金合同"); | ||||
| } | } | ||||
| 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(); | 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 { | try { | ||||
| wxRentContractService.renewal(rentContract,user); | |||||
| wxRentContractService.transfer(rentContract,user); | |||||
| }catch(Exception e) { | }catch(Exception e) { | ||||
| logger.error("renewal error.",e); | |||||
| logger.error("transfer error.",e); | |||||
| return new ResultData(Result.ERROR,e.getMessage()); | return new ResultData(Result.ERROR,e.getMessage()); | ||||
| } | } | ||||
| return new ResultData(); | |||||
| return new ResultData(rentContract); | |||||
| } | } | ||||
| @@ -74,6 +74,8 @@ public interface WxPropertyContractService { | |||||
| void renewal(WxPropertyContract wxPropertyContract,MallUserInfo user,boolean aliasRentContract); | void renewal(WxPropertyContract wxPropertyContract,MallUserInfo user,boolean aliasRentContract); | ||||
| void transfer(WxPropertyContract wxPropertyContract,MallUserInfo user); | |||||
| void outDateContract(WxMall wxMall); | void outDateContract(WxMall wxMall); | ||||
| void readyToNomal(WxMall wxMall); | void readyToNomal(WxMall wxMall); | ||||
| @@ -123,6 +123,8 @@ public interface WxRentContractService { | |||||
| void renewal(WxRentContract wxRentContract,MallUserInfo user); | void renewal(WxRentContract wxRentContract,MallUserInfo user); | ||||
| void transfer(WxRentContract wxRentContract,MallUserInfo user); | |||||
| /** | /** | ||||
| * 合同正常到期 | * 合同正常到期 | ||||
| * @param | * @param | ||||
| @@ -1494,6 +1494,16 @@ public class WxPropertyContractServiceImpl implements WxPropertyContractService | |||||
| } | } | ||||
| wxPropertyContractMapper.insert(record); | wxPropertyContractMapper.insert(record); | ||||
| } | } | ||||
| @Override | |||||
| @Transactional(rollbackFor = {Exception.class}) | |||||
| public void transfer(WxPropertyContract record, MallUserInfo user) { | |||||
| this.setCustomers(record); | |||||
| record.setUpdatetime(new Date()); | |||||
| record.setUpdateBy(user.getId()); | |||||
| record.setUpdateByName(user.getName()); | |||||
| wxPropertyContractMapper.updateById(record); | |||||
| } | |||||
| @Override | @Override | ||||
| public void outDateContract(WxMall wxMall) { | public void outDateContract(WxMall wxMall) { | ||||
| @@ -2094,6 +2094,28 @@ public class WxRentContractServiceImpl implements WxRentContractService { | |||||
| } | } | ||||
| } | } | ||||
| @Transactional(rollbackFor = {Exception.class}) | |||||
| @Override | |||||
| public void transfer(WxRentContract rentContract,MallUserInfo user) { | |||||
| this.setCustomers(rentContract); | |||||
| rentContract.setUpdatetime(new Date()); | |||||
| rentContract.setUpdateBy(user.getId()); | |||||
| rentContract.setUpdateByName(user.getName()); | |||||
| wxRentContractMapper.updateById(rentContract); | |||||
| if (rentContract.getOperationType().intValue() == EnumContractOperationType.WHOLE.getCode().intValue()) { | |||||
| WxPropertyContract pq = new WxPropertyContract(); | |||||
| pq.updateTenantInfo(rentContract); | |||||
| pq.setOperationType(EnumContractOperationType.WHOLE.getCode()); | |||||
| pq.setRentContractId(rentContract.getId()); | |||||
| List<WxPropertyContract> pclist = wxPropertyContractService.findList(pq); | |||||
| if (null != pclist && pclist.size() > 0 ) { | |||||
| WxPropertyContract propertyContract = pclist.get(0); | |||||
| wxPropertyContractService.transfer(propertyContract, user); | |||||
| } | |||||
| } | |||||
| } | |||||
| @Override | @Override | ||||
| public void outDateContract(WxMall wxMall) { | public void outDateContract(WxMall wxMall) { | ||||
| try { | try { | ||||