| @@ -157,7 +157,7 @@ public class WxRentContractController extends WxContractBaseController { | |||
| if(wxRentContract.getRentStartType()!=null &&wxRentContract.getRentStartType().equals(EnumRentStartType.STARTTIME.getCode())){ | |||
| 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())){ | |||
| 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") | |||
| @@ -228,7 +228,7 @@ public class WxRentContractController extends WxContractBaseController { | |||
| } | |||
| ResultData update = null; | |||
| 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) { | |||
| return new ResultData(update.code,update.message); | |||
| } | |||
| @@ -523,8 +523,14 @@ public class WxRentContractController extends WxContractBaseController { | |||
| logger.debug("[" + getIpAddr() + "] WxRentContractController::getRentContractList"); | |||
| if (null == wxRentContract) wxRentContract = new WxRentContract(); | |||
| wxRentContract.updateTenantInfo(getTenantInfo()); | |||
| //正常状态 | |||
| if (1 == validStatus) { | |||
| 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); | |||
| return new ResultData(wxRentContractService.getRentContractList(wxRentContract, pageNum, pageSize)); | |||
| @@ -642,7 +648,7 @@ public class WxRentContractController extends WxContractBaseController { | |||
| rentContract.updateTenantInfo(user); | |||
| rentContract.setAdjustPeriodHandle(); | |||
| 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") | |||
| @@ -37,7 +37,7 @@ public class ContractSchedule { | |||
| /** | |||
| * 凌晨5分 | |||
| */ | |||
| @Scheduled(cron = "0 0/5 * * * ?") | |||
| @Scheduled(cron = "0 5 0 * * ?") | |||
| public void updateContractStatus() { | |||
| //更新合同状态,正常到期 | |||
| @@ -16,6 +16,7 @@ public enum EnumRentContractStatus { | |||
| TERMINATE(6,"提前终止"), | |||
| INVALID(7,"作废"), | |||
| PERFORMANCE(10,"履约中(审批中)"), | |||
| UNWRITE(11,"未完成草稿内容") | |||
| @@ -46,7 +46,7 @@ public interface WxRentContractService { | |||
| */ | |||
| 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删除实体 | |||
| @@ -66,7 +66,7 @@ public interface WxRentContractService { | |||
| //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); | |||
| @@ -460,7 +460,27 @@ public class WxMerchantServiceImpl implements WxMerchantService { | |||
| Date date = new Date(); | |||
| wxMerchant.setUpdateDate(date); | |||
| 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(); | |||
| for (Long sid: shopIds) { | |||
| WxMerchantShop mcs = new WxMerchantShop(); | |||
| @@ -488,7 +488,7 @@ public class WxRentContractServiceImpl implements WxRentContractService { | |||
| try { | |||
| record.setApplyStatus(EnumRentContractAppStatus.DEFAULT.getCode()); | |||
| record.setStatus(EnumRentContractStatus.DRAFT.getCode()); | |||
| record.setStatus(EnumRentContractStatus.UNWRITE.getCode()); | |||
| Date tempDate = record.getRentalStartDate(); | |||
| record.setRentalStartDate(oldRentStartDate); | |||
| record.setShopName(shopName); | |||
| @@ -542,7 +542,7 @@ public class WxRentContractServiceImpl implements WxRentContractService { | |||
| @Transactional(rollbackFor = {Exception.class}) | |||
| @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.setRentContractId(record.getId()); | |||
| @@ -551,7 +551,7 @@ public class WxRentContractServiceImpl implements WxRentContractService { | |||
| 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) { | |||
| return resultData; | |||
| } | |||
| @@ -619,7 +619,7 @@ public class WxRentContractServiceImpl implements WxRentContractService { | |||
| 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()); | |||
| if (wxRentContract == null) { | |||
| @@ -729,7 +729,11 @@ public class WxRentContractServiceImpl implements WxRentContractService { | |||
| Date tempDate = record.getRentalStartDate(); | |||
| record.setRentalStartDate(oldRentStartDate); | |||
| record.setShopName(shopName); | |||
| record.setStatus(wxRentContract.getStatus()); | |||
| if (writeFinal) { | |||
| record.setStatus(EnumRentContractStatus.DRAFT.getCode()); | |||
| }else { | |||
| record.setStatus(wxRentContract.getStatus()); | |||
| } | |||
| record.setApplyStatus(wxRentContract.getApplyStatus()); | |||
| wxRentContractMapper.updateById(record); | |||
| record.setRentalStartDate(tempDate); | |||
| @@ -1618,12 +1622,12 @@ public class WxRentContractServiceImpl implements WxRentContractService { | |||
| @Override | |||
| @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())){ | |||
| savePreviewBill(record); | |||
| } | |||
| ResultData resultData = getResultDataForUpdate(record, userId,0,oldRentStartDate); | |||
| ResultData resultData = getResultDataForUpdate(record, userId,0,oldRentStartDate,writeComplate); | |||
| // if (resultData.code != Result.SUCCESS) { | |||
| // return resultData; | |||
| // } | |||