| @@ -157,7 +157,7 @@ public class WxRentContractController extends WxContractBaseController { | |||||
| if(wxRentContract.getRentStartType()!=null &&wxRentContract.getRentStartType().equals(EnumRentStartType.STARTTIME.getCode())){ | if(wxRentContract.getRentStartType()!=null &&wxRentContract.getRentStartType().equals(EnumRentStartType.STARTTIME.getCode())){ | ||||
| wxRentContract.setRentalStartDate(wxRentContract.getStartDate()); | wxRentContract.setRentalStartDate(wxRentContract.getStartDate()); | ||||
| } | } | ||||
| return wxRentContractService.update(wxRentContract, user.getId(),user.getName(),EnumFromType.OTHER.getCode(),oldDate); | |||||
| return wxRentContractService.update(wxRentContract, user.getId(),user.getName(),EnumFromType.OTHER.getCode(),oldDate,false); | |||||
| } | } | ||||
| /** | /** | ||||
| @@ -180,7 +180,7 @@ public class WxRentContractController extends WxContractBaseController { | |||||
| if(wxRentContract.getRentStartType()!=null && wxRentContract.getRentStartType().equals(EnumRentStartType.STARTTIME.getCode())){ | if(wxRentContract.getRentStartType()!=null && wxRentContract.getRentStartType().equals(EnumRentStartType.STARTTIME.getCode())){ | ||||
| wxRentContract.setRentalStartDate(wxRentContract.getStartDate()); | wxRentContract.setRentalStartDate(wxRentContract.getStartDate()); | ||||
| } | } | ||||
| return wxRentContractService.updateFile(wxRentContract, user.getId(),user.getName(),oldDate); | |||||
| return wxRentContractService.updateFile(wxRentContract, user.getId(),user.getName(),oldDate,true); | |||||
| } | } | ||||
| @GetMapping("/findById") | @GetMapping("/findById") | ||||
| @@ -228,7 +228,7 @@ public class WxRentContractController extends WxContractBaseController { | |||||
| } | } | ||||
| ResultData update = null; | ResultData update = null; | ||||
| try { | try { | ||||
| update = wxRentContractService.update(rentContract, user.getId(), user.getName(), EnumFromType.OTHER.getCode(), oldDate); | |||||
| update = wxRentContractService.update(rentContract, user.getId(), user.getName(), EnumFromType.OTHER.getCode(), oldDate,false); | |||||
| } catch (MallinkException e) { | } catch (MallinkException e) { | ||||
| return new ResultData(update.code,update.message); | return new ResultData(update.code,update.message); | ||||
| } | } | ||||
| @@ -523,8 +523,14 @@ public class WxRentContractController extends WxContractBaseController { | |||||
| logger.debug("[" + getIpAddr() + "] WxRentContractController::getRentContractList"); | logger.debug("[" + getIpAddr() + "] WxRentContractController::getRentContractList"); | ||||
| if (null == wxRentContract) wxRentContract = new WxRentContract(); | if (null == wxRentContract) wxRentContract = new WxRentContract(); | ||||
| wxRentContract.updateTenantInfo(getTenantInfo()); | wxRentContract.updateTenantInfo(getTenantInfo()); | ||||
| //正常状态 | |||||
| if (1 == validStatus) { | if (1 == validStatus) { | ||||
| wxRentContract.setStatuss(EnumRentContractStatus.getValidStatus()); | wxRentContract.setStatuss(EnumRentContractStatus.getValidStatus()); | ||||
| //续签的合同,包括正常到期 | |||||
| }else if (2== validStatus) { | |||||
| List<Integer> statuss = EnumRentContractStatus.getValidStatus(); | |||||
| statuss.add(EnumRentContractStatus.OUT_DATE.getCode()); | |||||
| wxRentContract.setStatuss(statuss); | |||||
| } | } | ||||
| wxRentContract.setSortColumns(SortField.Createtime_DESC); | wxRentContract.setSortColumns(SortField.Createtime_DESC); | ||||
| return new ResultData(wxRentContractService.getRentContractList(wxRentContract, pageNum, pageSize)); | return new ResultData(wxRentContractService.getRentContractList(wxRentContract, pageNum, pageSize)); | ||||
| @@ -642,7 +648,7 @@ public class WxRentContractController extends WxContractBaseController { | |||||
| rentContract.updateTenantInfo(user); | rentContract.updateTenantInfo(user); | ||||
| rentContract.setAdjustPeriodHandle(); | rentContract.setAdjustPeriodHandle(); | ||||
| rentContract.setRentStartType(wxRentContract.getRentStartType()); | rentContract.setRentStartType(wxRentContract.getRentStartType()); | ||||
| return wxRentContractService.update(rentContract, user.getId(),user.getName(), EnumFromType.SWITCH.getCode(),oldDate); | |||||
| return wxRentContractService.update(rentContract, user.getId(),user.getName(), EnumFromType.SWITCH.getCode(),oldDate,false); | |||||
| } | } | ||||
| // @GetMapping("exportContract") | // @GetMapping("exportContract") | ||||
| @@ -37,7 +37,7 @@ public class ContractSchedule { | |||||
| /** | /** | ||||
| * 凌晨5分 | * 凌晨5分 | ||||
| */ | */ | ||||
| @Scheduled(cron = "0 0/5 * * * ?") | |||||
| @Scheduled(cron = "0 5 0 * * ?") | |||||
| public void updateContractStatus() { | public void updateContractStatus() { | ||||
| //更新合同状态,正常到期 | //更新合同状态,正常到期 | ||||
| @@ -16,6 +16,7 @@ public enum EnumRentContractStatus { | |||||
| TERMINATE(6,"提前终止"), | TERMINATE(6,"提前终止"), | ||||
| INVALID(7,"作废"), | INVALID(7,"作废"), | ||||
| PERFORMANCE(10,"履约中(审批中)"), | PERFORMANCE(10,"履约中(审批中)"), | ||||
| UNWRITE(11,"未完成草稿内容") | |||||
| @@ -46,7 +46,7 @@ public interface WxRentContractService { | |||||
| */ | */ | ||||
| ResultData save(WxRentContract record,Long userId,String userName,Date oldRentStartDate); | ResultData save(WxRentContract record,Long userId,String userName,Date oldRentStartDate); | ||||
| ResultData update(WxRentContract record, Long userId,String userName,int from,Date oldRentStartDate); | |||||
| ResultData update(WxRentContract record, Long userId,String userName,int from,Date oldRentStartDate,boolean writeComplate); | |||||
| /** | /** | ||||
| * 根据Id删除实体 | * 根据Id删除实体 | ||||
| @@ -66,7 +66,7 @@ public interface WxRentContractService { | |||||
| //void exportContract(HttpServletRequest request, HttpServletResponse response, Long id); | //void exportContract(HttpServletRequest request, HttpServletResponse response, Long id); | ||||
| ResultData updateFile(WxRentContract wxRentContract, Long userId,String userName,Date oldRentStartDate); | |||||
| ResultData updateFile(WxRentContract wxRentContract, Long userId,String userName,Date oldRentStartDate,boolean writeComplate); | |||||
| ResultData updateRentContractStatus(Long id); | ResultData updateRentContractStatus(Long id); | ||||
| @@ -460,7 +460,27 @@ public class WxMerchantServiceImpl implements WxMerchantService { | |||||
| Date date = new Date(); | Date date = new Date(); | ||||
| wxMerchant.setUpdateDate(date); | wxMerchant.setUpdateDate(date); | ||||
| wxMerchantMapper.updateById(wxMerchant); | wxMerchantMapper.updateById(wxMerchant); | ||||
| wxMerchantShopMapper.realDelByMerchantId(wxMerchant.getId()); | |||||
| //如果原来店铺在商户里面有有效的合同,则不能操作 | |||||
| List<Long> oldShopIds = wxMerchantShopMapper.findShopIds(wxMerchant.getId()); | |||||
| if (null != oldShopIds) { | |||||
| for (Long osid : oldShopIds) { | |||||
| WxRentContract wrc = new WxRentContract(); | |||||
| wrc.setMerchantId(wxMerchant.getId()); | |||||
| wrc.setQueryShopId(osid); | |||||
| wrc.setStatuss(EnumRentContractStatus.getValidStatus()); | |||||
| wrc.updateTenantInfo(wxMerchant); | |||||
| List<WxRentContract> clist = wxRentContractService.findList(wrc); | |||||
| if (null != clist && clist.size() > 0 ) { | |||||
| return new ResultData(ErrorCode.MERCHANT_HASRENTCONTRACT.getCode(),"店铺["+osid+"]存在有效的合同,不能解除绑定."); | |||||
| } | |||||
| } | |||||
| } | |||||
| //都验证过了之后,先把之前的商铺释放,删除关系 | |||||
| if (null != oldShopIds) { | |||||
| wxShopMapper.updateUnRentByIds(oldShopIds); | |||||
| wxMerchantShopMapper.realDelByMerchantId(wxMerchant.getId()); | |||||
| } | |||||
| List<Long> shopIds = wxMerchant.getShopids(); | List<Long> shopIds = wxMerchant.getShopids(); | ||||
| for (Long sid: shopIds) { | for (Long sid: shopIds) { | ||||
| WxMerchantShop mcs = new WxMerchantShop(); | WxMerchantShop mcs = new WxMerchantShop(); | ||||
| @@ -488,7 +488,7 @@ public class WxRentContractServiceImpl implements WxRentContractService { | |||||
| try { | try { | ||||
| record.setApplyStatus(EnumRentContractAppStatus.DEFAULT.getCode()); | record.setApplyStatus(EnumRentContractAppStatus.DEFAULT.getCode()); | ||||
| record.setStatus(EnumRentContractStatus.DRAFT.getCode()); | |||||
| record.setStatus(EnumRentContractStatus.UNWRITE.getCode()); | |||||
| Date tempDate = record.getRentalStartDate(); | Date tempDate = record.getRentalStartDate(); | ||||
| record.setRentalStartDate(oldRentStartDate); | record.setRentalStartDate(oldRentStartDate); | ||||
| record.setShopName(shopName); | record.setShopName(shopName); | ||||
| @@ -542,7 +542,7 @@ public class WxRentContractServiceImpl implements WxRentContractService { | |||||
| @Transactional(rollbackFor = {Exception.class}) | @Transactional(rollbackFor = {Exception.class}) | ||||
| @Override | @Override | ||||
| public ResultData update(WxRentContract record, Long userId,String userName,int from,Date oldRentStartDate) { | |||||
| public ResultData update(WxRentContract record, Long userId,String userName,int from,Date oldRentStartDate,boolean writeComplate) { | |||||
| //查询预账单用于展示 | //查询预账单用于展示 | ||||
| WxBillRent wxBillRent = new WxBillRent(); | WxBillRent wxBillRent = new WxBillRent(); | ||||
| wxBillRent.setRentContractId(record.getId()); | wxBillRent.setRentContractId(record.getId()); | ||||
| @@ -551,7 +551,7 @@ public class WxRentContractServiceImpl implements WxRentContractService { | |||||
| List<WxBillRent> resultList = wxBillRentMapper.findList(wxBillRent); | List<WxBillRent> resultList = wxBillRentMapper.findList(wxBillRent); | ||||
| //更新 | //更新 | ||||
| ResultData resultData = getResultDataForUpdate(record, userId,from,oldRentStartDate); | |||||
| ResultData resultData = getResultDataForUpdate(record, userId,from,oldRentStartDate,writeComplate); | |||||
| if (resultData.code != Result.SUCCESS) { | if (resultData.code != Result.SUCCESS) { | ||||
| return resultData; | return resultData; | ||||
| } | } | ||||
| @@ -619,7 +619,7 @@ public class WxRentContractServiceImpl implements WxRentContractService { | |||||
| wxBillRentMapper.insertBills(record.getPreviewBillRentList()); | wxBillRentMapper.insertBills(record.getPreviewBillRentList()); | ||||
| } | } | ||||
| public ResultData getResultDataForUpdate(WxRentContract record, Long userId,int from,Date oldRentStartDate) { | |||||
| public ResultData getResultDataForUpdate(WxRentContract record, Long userId,int from,Date oldRentStartDate,boolean writeFinal) { | |||||
| //更新租赁合同信息 | //更新租赁合同信息 | ||||
| WxRentContract wxRentContract = wxRentContractMapper.selectById(record.getId()); | WxRentContract wxRentContract = wxRentContractMapper.selectById(record.getId()); | ||||
| if (wxRentContract == null) { | if (wxRentContract == null) { | ||||
| @@ -729,7 +729,11 @@ public class WxRentContractServiceImpl implements WxRentContractService { | |||||
| Date tempDate = record.getRentalStartDate(); | Date tempDate = record.getRentalStartDate(); | ||||
| record.setRentalStartDate(oldRentStartDate); | record.setRentalStartDate(oldRentStartDate); | ||||
| record.setShopName(shopName); | record.setShopName(shopName); | ||||
| record.setStatus(wxRentContract.getStatus()); | |||||
| if (writeFinal) { | |||||
| record.setStatus(EnumRentContractStatus.DRAFT.getCode()); | |||||
| }else { | |||||
| record.setStatus(wxRentContract.getStatus()); | |||||
| } | |||||
| record.setApplyStatus(wxRentContract.getApplyStatus()); | record.setApplyStatus(wxRentContract.getApplyStatus()); | ||||
| wxRentContractMapper.updateById(record); | wxRentContractMapper.updateById(record); | ||||
| record.setRentalStartDate(tempDate); | record.setRentalStartDate(tempDate); | ||||
| @@ -1618,12 +1622,12 @@ public class WxRentContractServiceImpl implements WxRentContractService { | |||||
| @Override | @Override | ||||
| @Transactional(rollbackFor = {Exception.class}) | @Transactional(rollbackFor = {Exception.class}) | ||||
| public ResultData updateFile(WxRentContract record, Long userId,String userName,Date oldRentStartDate) { | |||||
| public ResultData updateFile(WxRentContract record, Long userId,String userName,Date oldRentStartDate,boolean writeComplate) { | |||||
| // 保存调整金额(预账单调整) | // 保存调整金额(预账单调整) | ||||
| if(!CollectionUtils.isEmpty(record.getPreviewBillRentList())){ | if(!CollectionUtils.isEmpty(record.getPreviewBillRentList())){ | ||||
| savePreviewBill(record); | savePreviewBill(record); | ||||
| } | } | ||||
| ResultData resultData = getResultDataForUpdate(record, userId,0,oldRentStartDate); | |||||
| ResultData resultData = getResultDataForUpdate(record, userId,0,oldRentStartDate,writeComplate); | |||||
| // if (resultData.code != Result.SUCCESS) { | // if (resultData.code != Result.SUCCESS) { | ||||
| // return resultData; | // return resultData; | ||||
| // } | // } | ||||