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 6b3501e90..f9ef8fc94 100644 --- a/mallinkAdmin/src/main/java/com/iformall/controller/contract/WxRentContractController.java +++ b/mallinkAdmin/src/main/java/com/iformall/controller/contract/WxRentContractController.java @@ -215,16 +215,9 @@ public class WxRentContractController extends WxContractBaseController { //切换生成账单方式 @PostMapping("updateRentStartTime") public ResultData updateRentStartTime(@RequestBody WxRentContract wxRentContract) { - WxRentContract rentContract = wxRentContractMapper.selectById(wxRentContract.getId()); - Date oldDate = rentContract.getRentalStartDate(); - if(wxRentContract.getRentStartType()!=null && wxRentContract.getRentStartType().equals(EnumRentStartType.STARTTIME.getCode())){ - rentContract.setRentalStartDate(rentContract.getStartDate()); - } MallUserInfo user = getUser(); - rentContract.updateTenantInfo(user); - rentContract.setAdjustPeriodHandle(); - rentContract.setRentStartType(wxRentContract.getRentStartType()); - return wxRentContractService.update(rentContract, user,user.getName(), EnumFromType.SWITCH.getCode(),oldDate,false,false); + wxRentContract.updateTenantInfo(user); + return wxRentContractService.updateRentStartTime(wxRentContract, user); } /** diff --git a/mallinkService/src/main/java/com/iformall/service/WxRentContractService.java b/mallinkService/src/main/java/com/iformall/service/WxRentContractService.java index 298d9758d..84f1c935b 100644 --- a/mallinkService/src/main/java/com/iformall/service/WxRentContractService.java +++ b/mallinkService/src/main/java/com/iformall/service/WxRentContractService.java @@ -59,6 +59,8 @@ public interface WxRentContractService { ResultData update(WxRentContract record, MallUserInfo user,String userName,int from,Date oldRentStartDate,boolean writeComplate,boolean setRevenJumps); ResultData updateOneStep(WxRentContract record, MallUserInfo user,String userName,int from,Date oldRentStartDate,boolean writeComplate); + + ResultData updateRentStartTime(WxRentContract record, MallUserInfo user); /** * 根据Id删除实体 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 50e50e7e3..6332a7519 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxRentContractServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxRentContractServiceImpl.java @@ -583,6 +583,46 @@ public class WxRentContractServiceImpl implements WxRentContractService { wxRentContract.setRevenueJumps(wxRentContractRevenueJumpMapper.findList(jq)); return new ResultData(wxRentContract); } + + @Override + public ResultData updateRentStartTime(WxRentContract record, MallUserInfo user) { + //查询预账单用于展示 + WxAllBill wxBillRent = new WxAllBill(); + wxBillRent.setRentContractId(record.getId()); + wxBillRent.setIsPreview(EnumIsPreview.YES.getCode()); + wxBillRent.updateTenantInfo(record); + List resultList = wxAllBillMapper.findList(wxBillRent); + + //更新 + WxRentContract contractUpdate = new WxRentContract(); + contractUpdate.setId(record.getId()); + contractUpdate.updateTenantInfo(record); + contractUpdate.setRentStartType(record.getRentStartType()); + contractUpdate.setUpdatetime(new Date()); + contractUpdate.setUpdateBy(user.getId()); + contractUpdate.setUpdateByName(user.getName()); + wxRentContractMapper.updateById(record); + + + WxRentContract rentContract = wxRentContractMapper.selectById(record.getId()); + Date oldDate = record.getRentalStartDate(); + rentContract.setAdjustPeriodHandle(); + if(rentContract.getRentStartType()!=null && rentContract.getRentStartType().equals(EnumRentStartType.STARTTIME.getCode())){ + rentContract.setRentalStartDate(rentContract.getStartDate()); + } + + deletePrewBill(record); + resultList = buildRent(user, record, EnumIsPreview.YES.getCode(),true); + savePreviewBill(record,user); + //保存商业管理费账单 + savePreviewManageFeeBill(record,user,EnumRentContractManageFeeType.RENT_BUSSINESS_MANAGE_FEE); + //保存营业管理费账单 + savePreviewManageFeeBill(record,user,EnumRentContractManageFeeType.RENT_OPERATING_MANAGE_FEE); + + rentContract.setPreviewBillRentList(resultList); + rentContract.setRentalStartDate(oldDate); + return new ResultData(rentContract); + } /** * 重新生成账单(预账单调整)