| | |
| | | package com.doumee.service.business.impl; |
| | | |
| | | import com.doumee.biz.system.SystemDictDataBiz; |
| | | import com.doumee.core.constants.ResponseStatus; |
| | | import com.doumee.core.exception.BusinessException; |
| | | import com.doumee.core.model.LoginUserInfo; |
| | |
| | | @Autowired |
| | | private SystemUserMapper systemUserMapper; |
| | | |
| | | @Autowired |
| | | private SystemDictDataBiz systemDictDataBiz; |
| | | |
| | | |
| | | |
| | | @Override |
| | | @Transactional(rollbackFor = {Exception.class,BusinessException.class}) |
| | |
| | | ywContractRevenue.setContractId(ywContractBill.getContractId()); |
| | | //根据收支情况 更新账单数据 |
| | | //查询当前账单下 已支付的费用 |
| | | List<YwContractRevenue> ywContractRevenueList = ywContractRevenueMapper.selectList(new QueryWrapper<YwContractRevenue>().lambda().eq(YwContractRevenue::getIsdeleted,Constants.ZERO) |
| | | List<YwContractRevenue> ywContractRevenueList = ywContractRevenueMapper.selectList(new QueryWrapper<YwContractRevenue>() |
| | | .lambda().eq(YwContractRevenue::getIsdeleted,Constants.ZERO) |
| | | .eq(YwContractRevenue::getStatus,Constants.ZERO) |
| | | .eq(YwContractRevenue::getBillId,ywContractRevenue.getBillId()) |
| | | ); |
| | | //已支付金额 |
| | | BigDecimal payTotal = BigDecimal.ZERO; |
| | |
| | | //待支付的流水 如果为收入 则比对 金额值 如果是支出 则获取绝对值 进行对比 |
| | | if(Constants.equalsInteger(ywContractRevenue.getRevenueType(),Constants.ZERO)){ |
| | | //如果支付金额 大于 待支付金额 则提示异常 如果支付金额小于 待支付金额 则状态不变化 其他状态 异常 |
| | | if(waitPayTotal.compareTo(ywContractRevenue.getActReceivableFee())>Constants.ZERO){ |
| | | if(waitPayTotal.compareTo(ywContractRevenue.getActReceivableFee())<Constants.ZERO){ |
| | | throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"请输入正确的金额!"); |
| | | }else if(waitPayTotal.compareTo(ywContractRevenue.getActReceivableFee())==Constants.ZERO){ |
| | | ywContractBill.setPayStatus(Constants.ONE); |
| | | } |
| | | }else{ |
| | | waitPayTotal = waitPayTotal.abs(); |
| | | if(waitPayTotal.compareTo(ywContractRevenue.getActReceivableFee())>Constants.ZERO){ |
| | | if(waitPayTotal.compareTo(ywContractRevenue.getActReceivableFee())<Constants.ZERO){ |
| | | throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"请输入正确的金额!"); |
| | | }else if(waitPayTotal.compareTo(ywContractRevenue.getActReceivableFee())==Constants.ZERO){ |
| | | ywContractBill.setPayStatus(Constants.ONE); |
| | |
| | | .selectAs(YwContract::getCode,YwContractRevenue::getContractCode) |
| | | .selectAs(YwCustomer::getName,YwContractRevenue::getCustomerName) |
| | | .selectAs(SystemUser::getRealname,YwContractRevenue::getRealname) |
| | | .selectAs(YwAccount::getTitle,YwContractRevenue::getAccountTitle) |
| | | .leftJoin(YwContractBill.class,YwContractBill::getId,YwContractRevenue::getBillId) |
| | | .leftJoin(YwContract.class,YwContract::getId,YwContractBill::getContractId) |
| | | .leftJoin(YwCustomer.class,YwCustomer::getId,YwContract::getRenterId) |
| | | .leftJoin(SystemUser.class,SystemUser::getId,YwContractRevenue::getCreator) |
| | | .leftJoin(YwAccount.class,YwAccount::getId,YwContractRevenue::getAccountId) |
| | | .eq(YwContractRevenue::getId,id) |
| | | ); |
| | | |
| | | this.getRecordData(ywContractRevenue); |
| | | |
| | | //附件数据 |
| | | List<Multifile> multifileList = multifileMapper.selectJoinList(Multifile.class,new MPJLambdaWrapper<Multifile>() |
| | | .selectAll(Multifile.class) |
| | | .selectAs(SystemUser::getRealname,Multifile::getUserName) |
| | | .leftJoin(SystemUser.class,SystemUser::getId,Multifile::getCreator) |
| | | .eq(Multifile::getObjId,id) |
| | | .eq(Multifile::getIsdeleted,Constants.ZERO) |
| | | .eq(Multifile::getObjType,Constants.MultiFile.FN_CONTRACT_REVENUE_FILE.getKey())); |
| | | if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(multifileList)){ |
| | | String path = systemDictDataBiz.queryByCode(Constants.FTP,Constants.FTP_RESOURCE_PATH).getCode() |
| | | +systemDictDataBiz.queryByCode(Constants.FTP,Constants.YW_CONTRACT_BILL).getCode(); |
| | | for (Multifile multifile:multifileList) { |
| | | if(StringUtils.isNotBlank(multifile.getFileurl())){ |
| | | multifile.setFileurlFull(path + multifile.getFileurl()); |
| | | } |
| | | } |
| | | ywContractRevenue.setMultifileList(multifileList); |
| | | } |
| | | |
| | | |
| | | return ywContractRevenue; |
| | | } |
| | |
| | | if(Objects.isNull(ywContract)){ |
| | | throw new BusinessException(ResponseStatus.DATA_EMPTY); |
| | | } |
| | | if(Constants.equalsInteger(ywContract.getStatus(),Constants.THREE)){ |
| | | if(Constants.equalsInteger(ywContract.getStatus(),Constants.FOUR)){ |
| | | throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"合同状态已流转,无法操作"); |
| | | } |
| | | if(Constants.equalsInteger(ywContractBill.getPayStatus(),Constants.ONE) |
| | | || Constants.equalsInteger(ywContractBill.getPayStatus(),Constants.TWO)){ |
| | | || Constants.equalsInteger(ywContractBill.getPayStatus(),Constants.FIVE)){ |
| | | throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"账单状态已流转,无法操作"); |
| | | } |
| | | //查询账单下 所有的账单 |
| | |
| | | public List<YwContractRevenue> findList(YwContractRevenue ywContractRevenue) { |
| | | List<YwContractRevenue> ywContractRevenueList = ywContractRevenueMapper.selectJoinList(YwContractRevenue.class,new MPJLambdaWrapper<YwContractRevenue>() |
| | | .selectAll(YwContractRevenue.class) |
| | | .selectAs(YwCustomer::getName,YwContractRevenue::getCustomerNme) |
| | | .selectAs(YwCustomer::getName,YwContractRevenue::getCustomerName) |
| | | .leftJoin(YwContract.class,YwContract::getId,YwContractRevenue::getContractId) |
| | | .leftJoin(YwCustomer.class,YwCustomer::getId,YwContract::getRenterId) |
| | | .eq(YwContractRevenue::getStatus,Constants.ZERO) |
| | |
| | | .leftJoin(YwCustomer.class,YwCustomer::getId,YwContract::getRenterId) |
| | | .leftJoin(SystemUser.class,SystemUser::getId,YwContractRevenue::getCreator) |
| | | .eq(YwContractRevenue::getIsdeleted,Constants.ZERO) |
| | | .like(Objects.nonNull(model)&&StringUtils.isNotBlank(model.getCustomerNme()), |
| | | YwCustomer::getName,model.getCustomerNme()) |
| | | .like(Objects.nonNull(model)&&StringUtils.isNotBlank(model.getCustomerName()), |
| | | YwCustomer::getName,model.getCustomerName()) |
| | | .eq(Objects.nonNull(model)&&Objects.nonNull(model.getPayType()), |
| | | YwContractRevenue::getPayType,model.getPayType()) |
| | | .eq(Objects.nonNull(model)&&Objects.nonNull(model.getRevenueType()), |
| | |
| | | for (YwContractRevenue ywContractRevenue:iPage.getRecords()) { |
| | | //楼宇名称 |
| | | List<YwContractRoom> ywContractRoomList = ywContractRevenue.getYwContractRoomList(); |
| | | StringBuilder roomPathName = new StringBuilder(); |
| | | for (YwContractRoom ywContractRoom:ywContractRoomList) { |
| | | if(StringUtils.isNotBlank(ywContractRoom.getProjectName())){ |
| | | roomPathName.append(ywContractRoom.getProjectName()+"/"); |
| | | if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(ywContractRoomList)){ |
| | | StringBuilder roomPathName = new StringBuilder(); |
| | | for (YwContractRoom ywContractRoom:ywContractRoomList) { |
| | | if(StringUtils.isNotBlank(ywContractRoom.getProjectName())){ |
| | | roomPathName.append(ywContractRoom.getProjectName()+"/"); |
| | | } |
| | | if(StringUtils.isNotBlank(ywContractRoom.getBuildingName())){ |
| | | roomPathName.append(ywContractRoom.getBuildingName()+"/"); |
| | | } |
| | | if(StringUtils.isNotBlank(ywContractRoom.getFloorName())){ |
| | | roomPathName.append(ywContractRoom.getFloorName()+"/"); |
| | | } |
| | | if(StringUtils.isNotBlank(ywContractRoom.getRoomName())){ |
| | | roomPathName.append(ywContractRoom.getRoomName()); |
| | | } |
| | | if(StringUtils.isNotBlank(roomPathName)){ |
| | | roomPathName.append(";"); |
| | | } |
| | | } |
| | | if(StringUtils.isNotBlank(ywContractRoom.getBuildingName())){ |
| | | roomPathName.append(ywContractRoom.getBuildingName()+"/"); |
| | | } |
| | | if(StringUtils.isNotBlank(ywContractRoom.getFloorName())){ |
| | | roomPathName.append(ywContractRoom.getFloorName()+"/"); |
| | | } |
| | | if(StringUtils.isNotBlank(ywContractRoom.getRoomName())){ |
| | | roomPathName.append(ywContractRoom.getRoomName()); |
| | | } |
| | | if(StringUtils.isNotBlank(roomPathName)){ |
| | | roomPathName.append(";"); |
| | | } |
| | | ywContractRevenue.setRoomPathName(roomPathName.toString()); |
| | | } |
| | | ywContractRevenue.setRoomPathName(roomPathName.toString()); |
| | | |
| | | } |
| | | return PageData.from(iPage); |
| | | } |