|  |  | 
 |  |  | import org.apache.commons.lang3.StringUtils; | 
 |  |  | import org.checkerframework.checker.units.qual.C; | 
 |  |  | import org.springframework.beans.factory.annotation.Autowired; | 
 |  |  | import org.springframework.beans.factory.annotation.Value; | 
 |  |  | import org.springframework.stereotype.Service; | 
 |  |  | import org.springframework.util.CollectionUtils; | 
 |  |  |  | 
 |  |  | 
 |  |  |     private YwContractMapper ywContractMapper; | 
 |  |  |  | 
 |  |  |     @Autowired | 
 |  |  |     private YwAccountMapper ywAccountMapper; | 
 |  |  |  | 
 |  |  |     @Autowired | 
 |  |  |     private MemberMapper memberMapper; | 
 |  |  |  | 
 |  |  |     @Autowired | 
 |  |  |     private YwTempConfigMapper ywTempConfigMapper; | 
 |  |  |  | 
 |  |  |  | 
 |  |  |     @Value("${zip_file_path}") | 
 |  |  |     private String zipFilePath; | 
 |  |  |  | 
 |  |  |     @Override | 
 |  |  |     public Integer create(YwContractBill ywContractBill) { | 
 |  |  | 
 |  |  |             .leftJoin(YwContract.class,YwContract::getId,YwContractBill::getContractId) | 
 |  |  |             .leftJoin(YwCustomer.class,YwCustomer::getId,YwContract::getRenterId) | 
 |  |  |             .eq(YwContractBill::getIsdeleted,Constants.ZERO) | 
 |  |  |             .eq(YwContractBill::getStatus,Constants.ZERO) | 
 |  |  |             .in(YwContractBill::getPayStatus,Constants.ZERO,Constants.TWO,Constants.THREE,Constants.FOUR) | 
 |  |  |             .eq(YwContractBill::getContractId,contractId) | 
 |  |  |             .orderByDesc(YwContractBill::getId); | 
 |  |  | 
 |  |  |                     .selectAs(YwContractDetail::getType,YwContractBill::getDetailType) | 
 |  |  |                     .selectAs(YwContract::getZlPayType,YwContractBill::getZlPayType) | 
 |  |  |                     .selectAs(YwContract::getWyPayType,YwContractBill::getWyPayType) | 
 |  |  |                     .select(" ( select ifnull(sum(r.rent_area),0) from yw_room y left join yw_contract_room yr on y.id = yr.room_id where yr.contract_id = t.contract_id and y.IS_INVESTMENT = 0 and yr.type = 0 )  " , YwContractBill::getTotalArea) | 
 |  |  |                     .select(" ( select ifnull(sum(y.rent_area),0) from yw_room y left join yw_contract_room yr on y.id = yr.room_id where yr.contract_id = t.contract_id and y.IS_INVESTMENT = 0 and yr.type = 0 )  " , YwContractBill::getTotalArea) | 
 |  |  |                     .leftJoin(YwContract.class,YwContract::getId,YwContractBill::getContractId) | 
 |  |  |                     .leftJoin(YwCustomer.class,YwCustomer::getId,YwContract::getRenterId) | 
 |  |  |                     .leftJoin(YwContractDetail.class,YwContractDetail::getId,YwContractBill::getDetailId) | 
 |  |  |                     .in(YwContractBill::getId,billIds) | 
 |  |  |             ); | 
 |  |  |             this.dealRoomDetail(ywContractBillList); | 
 |  |  |             List<YwTempConfig> ywTempConfigList = ywTempConfigMapper.selectList(new QueryWrapper<YwTempConfig>().lambda().eq(YwTempConfig::getIsdeleted,Constants.ZERO)); | 
 |  |  |             if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isEmpty(ywTempConfigList)){ | 
 |  |  |                 throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"未查询到模板配置项,请联系管理员"); | 
 |  |  | 
 |  |  |             } | 
 |  |  |             List<File> fileList = new ArrayList<>(); | 
 |  |  |             for (YwContractBill ywContractBill:ywContractBillList) { | 
 |  |  |                 this.dealTempData(tempList,ywContractBill,loginUserInfo); | 
 |  |  |                 List<YwTempConfig> dealList = this.dealTempData(tempList,ywContractBill,loginUserInfo); | 
 |  |  |                 String fileName =  "催费通知单_" +ywContractBill.getCode() +"_" + System.currentTimeMillis()+".docx"; | 
 |  |  |                 YwTempConfig ywTempConfig = new YwTempConfig(); | 
 |  |  |                 if(Constants.equalsInteger(ywContractBill.getType(),Constants.ZERO)){ | 
 |  |  | 
 |  |  |                 if(Objects.isNull(ywTempConfig)){ | 
 |  |  |                     throw  new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"模板信息异常,请联系管理员"); | 
 |  |  |                 } | 
 |  |  |                 String path = ExcelReplaceCommon.modifyWordTemplate(ywTempConfig.getUrl(),tempList,fileName); | 
 |  |  |                 String path = ExcelReplaceCommon.modifyWordTemplate(ywTempConfig.getUrl(),dealList,fileName,zipFilePath); | 
 |  |  |                 File f = new File(path); | 
 |  |  |                 if(f !=null && f.isFile()){ | 
 |  |  |                     fileList.add(f); | 
 |  |  | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |  | 
 |  |  |     public void dealTempData(List<YwTempConfig> ywTempConfigList , YwContractBill ywContractBill, LoginUserInfo loginUserInfo){ | 
 |  |  |     public List<YwTempConfig> dealTempData(List<YwTempConfig> ywTempConfigList , YwContractBill ywContractBill, LoginUserInfo loginUserInfo){ | 
 |  |  |         //查询收支账号数据 | 
 |  |  |         YwAccount ywAccount = ywAccountMapper.selectOne(new QueryWrapper<YwAccount>().lambda().eq(YwAccount::getIsdeleted,Constants.ZERO).eq(YwAccount::getStatus,Constants.ZERO).eq(YwAccount::getCompanyId,ywContractBill.getCompanyId()) | 
 |  |  |                         .orderByDesc(YwAccount::getId) | 
 |  |  |                 .last(" limit 1 ")); | 
 |  |  |  | 
 |  |  |         List<YwTempConfig> dealList = new ArrayList<>(); | 
 |  |  |         for (YwTempConfig y:ywTempConfigList) { | 
 |  |  |             if(y.getTitle().equals("${费用名称}")&&Objects.nonNull(ywContractBill.getCostType())){ | 
 |  |  |                 //费用类型:0=租赁费;1=物业费;2=租赁押金;3=物业押金;4=水电费;5=杂项费;6=其他; 7=保证金 | 
 |  |  | 
 |  |  |                     y.setUrl("元每平米天"); | 
 |  |  |                 }else if(Constants.equalsInteger(ywContractBill.getCircleType(),Constants.ONE)){ | 
 |  |  |                     y.setUrl("元每平米月"); | 
 |  |  |                 }else if(Constants.equalsInteger(ywContractBill.getCircleType(),Constants.ONE)){ | 
 |  |  |                 }else if(Constants.equalsInteger(ywContractBill.getCircleType(),Constants.TWO)){ | 
 |  |  |                     y.setUrl("元每平米年"); | 
 |  |  |                 } else if(Constants.equalsInteger(ywContractBill.getCircleType(),Constants.ONE)){ | 
 |  |  |                 } else if(Constants.equalsInteger(ywContractBill.getCircleType(),Constants.THREE)){ | 
 |  |  |                     y.setUrl("元每天"); | 
 |  |  |                 } else if(Constants.equalsInteger(ywContractBill.getCircleType(),Constants.ONE)){ | 
 |  |  |                 } else if(Constants.equalsInteger(ywContractBill.getCircleType(),Constants.FOUR)){ | 
 |  |  |                     y.setUrl("元每月"); | 
 |  |  |                 } else if(Constants.equalsInteger(ywContractBill.getCircleType(),Constants.ONE)){ | 
 |  |  |                 } else if(Constants.equalsInteger(ywContractBill.getCircleType(),Constants.FIVE)){ | 
 |  |  |                     y.setUrl("元每年"); | 
 |  |  |                 } else if(Constants.equalsInteger(ywContractBill.getCircleType(),Constants.ONE)){ | 
 |  |  |                 } else if(Constants.equalsInteger(ywContractBill.getCircleType(),Constants.SIX)){ | 
 |  |  |                     y.setUrl("元每场"); | 
 |  |  |                 } | 
 |  |  |             }else if(y.getTitle().equals("${应收日期}")&&Objects.nonNull(ywContractBill.getPlanPayDate())){ | 
 |  |  | 
 |  |  |                 } | 
 |  |  |             }else if(y.getTitle().equals("${租客名称}")&&StringUtils.isNotBlank(ywContractBill.getCustomerName())){ | 
 |  |  |                 y.setUrl(ywContractBill.getCustomerName()); | 
 |  |  |             }else if(y.getTitle().equals("${楼宇/楼层/房源}")){ | 
 |  |  |             }else if(y.getTitle().equals("${房间信息}")){ | 
 |  |  |                 if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(ywContractBill.getYwContractRoomList())){ | 
 |  |  |                     StringBuilder roomPathName = new StringBuilder(); | 
 |  |  |                     for (YwContractRoom ywContractRoom:ywContractBill.getYwContractRoomList()) { | 
 |  |  | 
 |  |  |             }else if(y.getTitle().equals("${租赁面积}")&&Objects.nonNull(ywContractBill.getTotalArea())){ | 
 |  |  |                 y.setUrl(ywContractBill.getTotalArea().toString()); | 
 |  |  |             }else if(y.getTitle().equals("${所属公司账户名称}")){ | 
 |  |  |                 y.setUrl("所属公司账户名称"); | 
 |  |  |                 if(Objects.nonNull(ywAccount)&&StringUtils.isNotBlank(ywAccount.getName())){ | 
 |  |  |                     y.setUrl(ywAccount.getName()); | 
 |  |  |                 }else{ | 
 |  |  |                     y.setUrl("-"); | 
 |  |  |                 } | 
 |  |  |             }else if(y.getTitle().equals("${所属公司银行账号}")){ | 
 |  |  |                 y.setUrl("所属公司银行账号"); | 
 |  |  |                 if(Objects.nonNull(ywAccount)&&StringUtils.isNotBlank(ywAccount.getName())){ | 
 |  |  |                     y.setUrl(ywAccount.getName()); | 
 |  |  |                 }else{ | 
 |  |  |                     y.setUrl("-"); | 
 |  |  |                 } | 
 |  |  |             }else if(y.getTitle().equals("${所属公司开户银行}")){ | 
 |  |  |                 y.setUrl("所属公司开户银行"); | 
 |  |  |                 if(Objects.nonNull(ywAccount)&&StringUtils.isNotBlank(ywAccount.getBankNo())){ | 
 |  |  |                     y.setUrl(ywAccount.getBankNo()); | 
 |  |  |                 }else{ | 
 |  |  |                     y.setUrl("-"); | 
 |  |  |                 } | 
 |  |  |             }else if(y.getTitle().equals("${通知单生成日期}")){ | 
 |  |  |                 y.setUrl(DateUtil.formatDate(new Date(),"yyyy-MM-dd")); | 
 |  |  |             }else if(y.getTitle().equals("${当前用户姓名}")){ | 
 |  |  |             }else if(y.getTitle().equals("${制表人名称}")){ | 
 |  |  |                 y.setUrl(loginUserInfo.getRealname()); | 
 |  |  |             } | 
 |  |  |             dealList.add(y); | 
 |  |  |         } | 
 |  |  |         return dealList; | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |  | 
 |  |  |     public void sendSmsEmail(List<YwSmsEmailBillCallDTO> ywSmsEmailBillCallDTOList,LoginUserInfo loginUserInfo){ | 
 |  |  |     @Override | 
 |  |  |     public void sendSmsEmail(List<YwSmsEmailBillCallDTO> ywSmsEmailBillCallDTOList,SmsEmailServiceImpl smsEmailService,LoginUserInfo loginUserInfo){ | 
 |  |  |         if(CollectionUtils.isEmpty(ywSmsEmailBillCallDTOList)){ | 
 |  |  |             throw new BusinessException(ResponseStatus.BAD_REQUEST); | 
 |  |  |         } | 
 |  |  | 
 |  |  |         if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isEmpty(tempList)){ | 
 |  |  |             throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"未查询到模板配置项,请联系管理员"); | 
 |  |  |         } | 
 |  |  |         Optional<YwTempConfig> smsTempConfigOptional = ywTempConfigList.stream().filter(i->Constants.equalsInteger(i.getType(),Constants.ZERO)).findAny(); | 
 |  |  |         Optional<YwTempConfig> emailTempConfigOptional = ywTempConfigList.stream().filter(i->Constants.equalsInteger(i.getType(),Constants.ONE)).findAny(); | 
 |  |  |         for (YwSmsEmailBillCallDTO ywSmsEmailBillCallDTO:ywSmsEmailBillCallDTOList) { | 
 |  |  |             if(Objects.isNull(ywSmsEmailBillCallDTO) | 
 |  |  |             || Objects.isNull(ywSmsEmailBillCallDTO.getBillId()) | 
 |  |  |                     || Objects.isNull(ywSmsEmailBillCallDTO.getBillId()) | 
 |  |  |                     || Objects.isNull(ywSmsEmailBillCallDTO.getUserId()) | 
 |  |  |             ||Objects.isNull(ywSmsEmailBillCallDTO.getSendEmail()) | 
 |  |  |                     || Objects.isNull(ywSmsEmailBillCallDTO.getSendSms())){ | 
 |  |  |                     ||Objects.isNull(ywSmsEmailBillCallDTO.getSendEmail()) | 
 |  |  |                     || Objects.isNull(ywSmsEmailBillCallDTO.getSendSms()) | 
 |  |  |             ){ | 
 |  |  |                 throw new BusinessException(ResponseStatus.BAD_REQUEST); | 
 |  |  |             } | 
 |  |  |  | 
 |  |  | 
 |  |  |             if(Objects.isNull(member)){ | 
 |  |  |                 throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"存在未查询到的人员信息"); | 
 |  |  |             } | 
 |  |  |  | 
 |  |  |  | 
 |  |  |             if(Objects.nonNull(member)){ | 
 |  |  |                 if(Constants.equalsInteger(ywSmsEmailBillCallDTO.getSendSms(),Constants.ONE) && StringUtils.isNotBlank(member.getPhone()) | 
 |  |  |                  && smsTempConfigOptional.isPresent()){ | 
 |  |  |                     String content = this.dealTempSmsEmailData(smsTempConfigOptional.get().getTitle(),tempList,ywContractBill,loginUserInfo); | 
 |  |  |                     smsEmailService.sendBillSms(content,member.getPhone(),ywContractBill.getId()); | 
 |  |  |                 } | 
 |  |  |                 if(Constants.equalsInteger(ywSmsEmailBillCallDTO.getSendEmail(),Constants.ONE) && StringUtils.isNotBlank(member.getEmail()) | 
 |  |  |                         && emailTempConfigOptional.isPresent()){ | 
 |  |  |                     String content = this.dealTempSmsEmailData(emailTempConfigOptional.get().getTitle(),tempList,ywContractBill,loginUserInfo); | 
 |  |  |                     smsEmailService.sendEmail(content,member.getEmail(),ywContractBill.getId()); | 
 |  |  |                 } | 
 |  |  |             } | 
 |  |  |         } | 
 |  |  |           | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |  | 
 |  |  |         for (YwSmsEmailBillCallDTO ywSmsEmailBillCallDTO:ywSmsEmailBillCallDTOList) { | 
 |  |  |  | 
 |  |  |  | 
 |  |  |  | 
 |  |  |  | 
 |  |  |  | 
 |  |  |     public String  dealTempSmsEmailData(String tempStr,List<YwTempConfig> ywTempConfigList , YwContractBill ywContractBill, LoginUserInfo loginUserInfo){ | 
 |  |  |         //查询收支账号数据 | 
 |  |  |         YwAccount ywAccount = ywAccountMapper.selectOne(new QueryWrapper<YwAccount>().lambda().eq(YwAccount::getIsdeleted,Constants.ZERO).eq(YwAccount::getStatus,Constants.ZERO).eq(YwAccount::getCompanyId,ywContractBill.getCompanyId()) | 
 |  |  |                 .orderByDesc(YwAccount::getId) | 
 |  |  |                 .last(" limit 1 "));  | 
 |  |  |         for (YwTempConfig y:ywTempConfigList) { | 
 |  |  |             if(y.getTitle().equals("${费用名称}")&&Objects.nonNull(ywContractBill.getCostType())){ | 
 |  |  |                 //费用类型:0=租赁费;1=物业费;2=租赁押金;3=物业押金;4=水电费;5=杂项费;6=其他; 7=保证金 | 
 |  |  |                 if(Constants.equalsInteger(ywContractBill.getCostType(),Constants.ZERO)){  | 
 |  |  |                     tempStr.replace("${费用名称}","租赁费"); | 
 |  |  |                 }else if(Constants.equalsInteger(ywContractBill.getCostType(),Constants.ONE)){ | 
 |  |  |                     tempStr.replace("${费用名称}","物业费"); | 
 |  |  |                 }else if(Constants.equalsInteger(ywContractBill.getCostType(),Constants.TWO)){ | 
 |  |  |                     tempStr.replace("${费用名称}","租赁押金"); | 
 |  |  |                 }else if(Constants.equalsInteger(ywContractBill.getCostType(),Constants.THREE)){ | 
 |  |  |                     tempStr.replace("${费用名称}","物业押金"); | 
 |  |  |                 }else if(Constants.equalsInteger(ywContractBill.getCostType(),Constants.FOUR)){ | 
 |  |  |                     tempStr.replace("${费用名称}","水电费"); | 
 |  |  |                 }else if(Constants.equalsInteger(ywContractBill.getCostType(),Constants.FIVE)){ | 
 |  |  |                     tempStr.replace("${费用名称}","杂项费"); | 
 |  |  |                 }else if(Constants.equalsInteger(ywContractBill.getCostType(),Constants.SIX)){ | 
 |  |  |                     tempStr.replace("${费用名称}","其他"); | 
 |  |  |                 }else if(Constants.equalsInteger(ywContractBill.getCostType(),Constants.SEVEN)){ | 
 |  |  |                     tempStr.replace("${费用名称}","保证金"); | 
 |  |  |                 } | 
 |  |  |             }else if(y.getTitle().equals("${计费周期}")&&Objects.nonNull(ywContractBill.getDetailType())){ | 
 |  |  |                 if(Constants.equalsInteger(ywContractBill.getDetailType(),Constants.ZERO)){ | 
 |  |  |                     //租赁支付方式 0=一次性付款;1=每三个月一付;2=六个月一付;3=一年一付 | 
 |  |  |                     if(Objects.nonNull(ywContractBill.getZlPayType())){ | 
 |  |  |                         if(Constants.equalsInteger(ywContractBill.getZlPayType(),Constants.ZERO)){ | 
 |  |  |                             tempStr.replace("${计费周期}","一次性付款"); | 
 |  |  |                         }else if(Constants.equalsInteger(ywContractBill.getZlPayType(),Constants.ONE)){ | 
 |  |  |                             tempStr.replace("${计费周期}","每三个月一付"); | 
 |  |  |                         }else if(Constants.equalsInteger(ywContractBill.getZlPayType(),Constants.TWO)){ | 
 |  |  |                             tempStr.replace("${计费周期}","六个月一付"); | 
 |  |  |                         }else if(Constants.equalsInteger(ywContractBill.getZlPayType(),Constants.THREE)){ | 
 |  |  |                             tempStr.replace("${计费周期}","一年一付"); | 
 |  |  |                         } | 
 |  |  |                     } | 
 |  |  |                 }else{ | 
 |  |  |                     //物业支付方式 0=一次性付款;1=每三个月一付;2=六个月一付;3=一年一付 | 
 |  |  |                     if(Objects.nonNull(ywContractBill.getWyPayType())){ | 
 |  |  |                         if(Constants.equalsInteger(ywContractBill.getWyPayType(),Constants.ZERO)){ | 
 |  |  |                             tempStr.replace("${计费周期}","一次性付款"); | 
 |  |  |                         }else if(Constants.equalsInteger(ywContractBill.getWyPayType(),Constants.ONE)){ | 
 |  |  |                             tempStr.replace("${计费周期}","每三个月一付"); | 
 |  |  |                         }else if(Constants.equalsInteger(ywContractBill.getWyPayType(),Constants.TWO)){ | 
 |  |  |                             tempStr.replace("${计费周期}","六个月一付"); | 
 |  |  |                         }else if(Constants.equalsInteger(ywContractBill.getWyPayType(),Constants.THREE)){ | 
 |  |  |                             tempStr.replace("${计费周期}","一年一付"); | 
 |  |  |                         } | 
 |  |  |                     } | 
 |  |  |                 } | 
 |  |  |             }else if(y.getTitle().equals("${单价}")&&Objects.nonNull(ywContractBill.getPrice())){ | 
 |  |  |                 tempStr.replace("${单价}",ywContractBill.getPrice().toString()); | 
 |  |  |             }else if(y.getTitle().equals("${单位}")&&Objects.nonNull(ywContractBill.getCircleType())){ | 
 |  |  |                 //付款周期类型 0=元每平米天;1=元每平米月;2=元每平米年;3=元每天;4=元每月;5=元每年;6=元每场; | 
 |  |  |                 if(Constants.equalsInteger(ywContractBill.getCircleType(),Constants.ZERO)){ | 
 |  |  |                     tempStr.replace("${单位}","元每平米天"); | 
 |  |  |                 }else if(Constants.equalsInteger(ywContractBill.getCircleType(),Constants.ONE)){ | 
 |  |  |                     tempStr.replace("${单位}","元每平米月"); | 
 |  |  |                 }else if(Constants.equalsInteger(ywContractBill.getCircleType(),Constants.TWO)){ | 
 |  |  |                     tempStr.replace("${单位}","元每平米年"); | 
 |  |  |                 } else if(Constants.equalsInteger(ywContractBill.getCircleType(),Constants.THREE)){ | 
 |  |  |                     tempStr.replace("${单位}","元每天"); | 
 |  |  |                 } else if(Constants.equalsInteger(ywContractBill.getCircleType(),Constants.FOUR)){ | 
 |  |  |                     tempStr.replace("${单位}","元每月"); | 
 |  |  |                 } else if(Constants.equalsInteger(ywContractBill.getCircleType(),Constants.FIVE)){ | 
 |  |  |                     tempStr.replace("${单位}","元每年"); | 
 |  |  |                 } else if(Constants.equalsInteger(ywContractBill.getCircleType(),Constants.SIX)){ | 
 |  |  |                     tempStr.replace("${单位}","元每场"); | 
 |  |  |                 } | 
 |  |  |             }else if(y.getTitle().equals("${应收日期}")&&Objects.nonNull(ywContractBill.getPlanPayDate())){ | 
 |  |  |                 tempStr.replace("${应收日期}",DateUtil.formatDate(ywContractBill.getPlanPayDate(),"yyyy-MM-dd")); | 
 |  |  |             }else if(y.getTitle().equals("${应收金额}")&&Objects.nonNull(ywContractBill.getReceivableFee())){ | 
 |  |  |                 tempStr.replace("${应收金额}",ywContractBill.getReceivableFee().toString()); | 
 |  |  |             }else if(y.getTitle().equals("${账单备注}")){ | 
 |  |  |                 if(StringUtils.isNotBlank(ywContractBill.getRemark())){ | 
 |  |  |                     tempStr.replace("${账单备注}",ywContractBill.getRemark()); | 
 |  |  |                 }else{ | 
 |  |  |                     tempStr.replace("${账单备注}",""); | 
 |  |  |                 } | 
 |  |  |             }else if(y.getTitle().equals("${租客名称}")&&StringUtils.isNotBlank(ywContractBill.getCustomerName())){ | 
 |  |  |                 tempStr.replace("${租客名称}",ywContractBill.getCustomerName()); | 
 |  |  |             }else if(y.getTitle().equals("${房间信息}")){ | 
 |  |  |                 if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(ywContractBill.getYwContractRoomList())){ | 
 |  |  |                     StringBuilder roomPathName = new StringBuilder(); | 
 |  |  |                     for (YwContractRoom ywContractRoom:ywContractBill.getYwContractRoomList()) { | 
 |  |  |                         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(";"); | 
 |  |  |                         } | 
 |  |  |                     } | 
 |  |  |                     tempStr.replace("${房间信息}",roomPathName.toString()); | 
 |  |  |                 } | 
 |  |  |             }else if(y.getTitle().equals("${租赁面积}")&&Objects.nonNull(ywContractBill.getTotalArea())){ | 
 |  |  |                 tempStr.replace("${租赁面积}",ywContractBill.getTotalArea().toString()); | 
 |  |  |             }else if(y.getTitle().equals("${所属公司账户名称}")){ | 
 |  |  |                 if(Objects.nonNull(ywAccount)&&StringUtils.isNotBlank(ywAccount.getName())){ | 
 |  |  |                     tempStr.replace("${所属公司账户名称}",ywAccount.getName()); | 
 |  |  |                 }else{ | 
 |  |  |                     tempStr.replace("${所属公司账户名称}","-"); | 
 |  |  |                 } | 
 |  |  |             }else if(y.getTitle().equals("${所属公司银行账号}")){  | 
 |  |  |                 if(Objects.nonNull(ywAccount)&&StringUtils.isNotBlank(ywAccount.getName())){ | 
 |  |  |                     tempStr.replace("${所属公司银行账号}",ywAccount.getName()); | 
 |  |  |                 }else{ | 
 |  |  |                     tempStr.replace("${所属公司银行账号}","-"); | 
 |  |  |                 } | 
 |  |  |             }else if(y.getTitle().equals("${所属公司开户银行}")){ | 
 |  |  |                 if(Objects.nonNull(ywAccount)&&StringUtils.isNotBlank(ywAccount.getBankNo())){ | 
 |  |  |                     tempStr.replace("${所属公司开户银行}",ywAccount.getBankNo()); | 
 |  |  |                 }else{ | 
 |  |  |                     tempStr.replace("${所属公司开户银行}","-"); | 
 |  |  |                 } | 
 |  |  |             }else if(y.getTitle().equals("${通知单生成日期}")){ | 
 |  |  |                 tempStr.replace("${通知单生成日期}",DateUtil.formatDate(new Date(),"yyyy-MM-dd")); | 
 |  |  |             }else if(y.getTitle().equals("${制表人名称}")){ | 
 |  |  |                 tempStr.replace("${制表人名称}",loginUserInfo.getRealname()); | 
 |  |  |             }  | 
 |  |  |         } | 
 |  |  |  | 
 |  |  |  | 
 |  |  |  | 
 |  |  |  | 
 |  |  |  | 
 |  |  |  | 
 |  |  |  | 
 |  |  |  | 
 |  |  |  | 
 |  |  |  | 
 |  |  |          | 
 |  |  |         return tempStr; | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |  |