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 a3a62fd00..0e1417803 100644 --- a/mallinkAdmin/src/main/java/com/iformall/controller/contract/WxRentContractController.java +++ b/mallinkAdmin/src/main/java/com/iformall/controller/contract/WxRentContractController.java @@ -556,15 +556,18 @@ public class WxRentContractController extends WxContractBaseController { if (rentContract.getStatus().intValue() == EnumRentContractStatus.UNWRITE.getCode().intValue()) { return new ResultData(Result.ERROR,"租金合同未完善,请先完善。"); } - + WxPropertyContract property = null; 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,"未创建物业合同,请先完善。"); - } + + WxPropertyContract pq = new WxPropertyContract(); + pq.updateTenantInfo(rentContract); + pq.setOperationType(EnumContractOperationType.WHOLE.getCode()); + pq.setRentContractId(wxRentContract.getId()); + List pclist = wxPropertyContractService.findList(pq); + if (null == pclist || pclist.size() <= 0 ) { + return new ResultData(Result.ERROR,"未创建物业合同,请先完善。"); + } + property = pclist.get(0); if (property.getStatus().intValue() == EnumRentContractStatus.UNWRITE.getCode().intValue()) { return new ResultData(Result.ERROR,"物业合同未完善,请先完善。"); } @@ -587,7 +590,7 @@ public class WxRentContractController extends WxContractBaseController { } try { - wxRentContractService.renewal(rentContract,user); + wxRentContractService.renewal(rentContract,property,user); }catch(Exception e) { logger.error("renewal error.",e); return new ResultData(Result.ERROR,e.getMessage()); diff --git a/mallinkService/src/main/java/com/iformall/service/WxRentContractService.java b/mallinkService/src/main/java/com/iformall/service/WxRentContractService.java index b3870d1b7..4720d74c4 100644 --- a/mallinkService/src/main/java/com/iformall/service/WxRentContractService.java +++ b/mallinkService/src/main/java/com/iformall/service/WxRentContractService.java @@ -5,6 +5,7 @@ import com.iformall.common.ResultData; import com.iformall.domain.po.MallUserInfo; import com.iformall.domain.po.WxAllBill; import com.iformall.domain.po.WxMall; +import com.iformall.domain.po.WxPropertyContract; import com.iformall.domain.po.WxRentContract; import com.iformall.domain.po.WxRentContractFreePeriod; import com.iformall.domain.po.WxRentContractRevenueJump; @@ -121,7 +122,7 @@ public interface WxRentContractService { ResultData apply(WxRentContract wxRentContract,MallUserInfo user); - void renewal(WxRentContract wxRentContract,MallUserInfo user); + void renewal(WxRentContract wxRentContract,WxPropertyContract property,MallUserInfo user); void transfer(WxRentContract wxRentContract,MallUserInfo user); 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 d162fb153..4772c7af2 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxRentContractServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxRentContractServiceImpl.java @@ -2015,7 +2015,7 @@ public class WxRentContractServiceImpl implements WxRentContractService { @Override @Transactional(rollbackFor = {Exception.class}) - public void renewal(WxRentContract rentContract,MallUserInfo user) { + public void renewal(WxRentContract rentContract,WxPropertyContract propertyContract,MallUserInfo user) { final IdWorker idWorker = IdWorker.get(); Long newContractId = idWorker.nextId(); //拷贝 @@ -2074,14 +2074,7 @@ public class WxRentContractServiceImpl implements WxRentContractService { //rentContract.set wxRentContractMapper.insert(rentContract); - if (rentContract.getOperationType().intValue() == EnumContractOperationType.WHOLE.getCode().intValue()) { - WxPropertyContract pq = new WxPropertyContract(); - pq.updateTenantInfo(rentContract); - pq.setOperationType(EnumContractOperationType.WHOLE.getCode()); - pq.setRentContractId(oldId); - List pclist = wxPropertyContractService.findList(pq); - if (null != pclist && pclist.size() > 0 ) { - WxPropertyContract propertyContract = pclist.get(0); + if (rentContract.getOperationType().intValue() == EnumContractOperationType.WHOLE.getCode().intValue() && null != propertyContract) { propertyContract.setRentalStartDate(rentContract.getRentalStartDate()); propertyContract.setRentalEndDate(rentContract.getRentalEndDate()); propertyContract.setSignDate(rentContract.getSignDate()); @@ -2089,9 +2082,7 @@ public class WxRentContractServiceImpl implements WxRentContractService { propertyContract.setEndDate(rentContract.getStartDate()); propertyContract.setRentContractId(newContractId); wxPropertyContractService.renewal(propertyContract, user,true); - } - - } + } } @Transactional(rollbackFor = {Exception.class})