| | |
| | | @ApiOperation(value = "从本地存储模板到数据库") |
| | | public AjaxResult savePdf() { |
| | | //从文件地址读入PDF文件 仅存储一次 |
| | | String base64String = PDFBinaryUtil.getPDFBinary("D:\\Tjreport\\体检模板5.pdf"); |
| | | String base64String = PDFBinaryUtil.getPDFBinary(configService.selectConfigByKey("default_pdf5Template")); |
| | | TjReportTemplate tem = new TjReportTemplate(); |
| | | tem.setName("体检报告模板5"); |
| | | tem.setRemark("体检报告模板5"); |
| | |
| | | @ApiOperation(value = "打印体检报告为pdf") |
| | | @Transactional |
| | | public AjaxResult toPdf(@PathVariable("TjNumber") @ApiParam(value = "体检号") String tjNumber) { |
| | | AjaxResult error = null; |
| | | // AjaxResult error = null; |
| | | // 之前的代码 优化速度 |
| | | // System.out.println("----------------------------------oldFun开始-------------------------------------------------------"); |
| | | // error = oldFun(tjNumber); |
| | |
| | | if (num > 0) { |
| | | return AjaxResult.error("有延期项目暂不能生成报告!!!"); |
| | | } |
| | | //判断表中有没有该体检报告 不能重复生成 |
| | | LambdaQueryWrapper<TjReport> wqa = new LambdaQueryWrapper<>(); |
| | | wqa.eq(TjReport::getTjNumber, tjNumber); |
| | | wqa.eq(TjReport::getType, "体检报告"); |
| | | Integer count = tjReportService.getSelectCount(wqa); |
| | | if (count != 0) { |
| | | return AjaxResult.error("该客户报告已生成!不能重复生成!可直接预览或打印!"); |
| | | } |
| | | |
| | | // String configByKey = configService.selectConfigByKey("sfkqdyhis"); |
| | | String configByKey = "Y"; |
| | | LambdaQueryWrapper<TjOrder> queryWrapper = new LambdaQueryWrapper<>(); |
| | | queryWrapper.eq(TjOrder::getTjNumber, tjNumber); |
| | | TjOrder tjOrder = tjOrderService.getOne(queryWrapper); |
| | | if (null != tjOrder) { |
| | | LambdaQueryWrapper<TjReportTemplate> tjReportTemplateLambdaQueryWrapper = new LambdaQueryWrapper<>(); |
| | | TjReportTemplate reportTemplate = null; |
| | | if (tjOrder.getTjCategory() != null) { |
| | | //查询字典 |
| | | LambdaQueryWrapper<SysDictData> wqq = new LambdaQueryWrapper<>(); |
| | | wqq.eq(SysDictData::getDictType, "dict_tjtype"); |
| | | wqq.eq(SysDictData::getDictValue, tjOrder.getTjCategory()); |
| | | SysDictData one = dictDataService.getOne(wqq); |
| | | if (one != null) { |
| | | //查询字典 |
| | | LambdaQueryWrapper<SysDictData> wqq1 = new LambdaQueryWrapper<>(); |
| | | wqq1.eq(SysDictData::getDictType, "report_template_type"); |
| | | wqq1.eq(SysDictData::getDictLabel, one.getDictLabel()); |
| | | SysDictData one1 = dictDataService.getOne(wqq1); |
| | | if (one1 != null) { |
| | | tjReportTemplateLambdaQueryWrapper.eq(TjReportTemplate::getFlag, one1.getDictValue()); |
| | | } else { |
| | | tjReportTemplateLambdaQueryWrapper.eq(TjReportTemplate::getFlag, 1); |
| | | } |
| | | } else { |
| | | tjReportTemplateLambdaQueryWrapper.eq(TjReportTemplate::getFlag, 1); |
| | | } |
| | | tjReportTemplateLambdaQueryWrapper.eq(TjReportTemplate::getOpen, 0); |
| | | reportTemplate = reportTemplateService.getOne(tjReportTemplateLambdaQueryWrapper); |
| | | } else { |
| | | tjReportTemplateLambdaQueryWrapper.eq(TjReportTemplate::getOpen, 0); |
| | | reportTemplate = reportTemplateService.list(tjReportTemplateLambdaQueryWrapper).get(2); |
| | | |
| | | //判断表中有没有该体检报告 不能重复生成 |
| | | LambdaQueryWrapper<TjReport> wqa = new LambdaQueryWrapper<>(); |
| | | wqa.eq(TjReport::getTjNumber, tjNumber); |
| | | wqa.eq(TjReport::getType, "体检报告"); |
| | | Integer count = tjReportService.getSelectCount(wqa); |
| | | |
| | | if (tjOrder.getReportTime() !=null || count != 0 ) { |
| | | return AjaxResult.error("该客户报告已生成!不能重复生成!可直接预览或打印!"); |
| | | } |
| | | |
| | | LambdaQueryWrapper<TjReportTemplate> tjReportTemplateLambdaQueryWrapper = new LambdaQueryWrapper<>(); |
| | | tjReportTemplateLambdaQueryWrapper.eq(TjReportTemplate::getFlag, 1); |
| | | tjReportTemplateLambdaQueryWrapper.eq(TjReportTemplate::getOpen, 0); |
| | | TjReportTemplate reportTemplate = reportTemplateService.getOne(tjReportTemplateLambdaQueryWrapper); |
| | | // if (tjOrder.getTjCategory() != null) { |
| | | // //查询字典 |
| | | // LambdaQueryWrapper<SysDictData> wqq = new LambdaQueryWrapper<>(); |
| | | // wqq.eq(SysDictData::getDictType, "dict_tjtype"); |
| | | // wqq.eq(SysDictData::getDictValue, tjOrder.getTjCategory()); |
| | | // SysDictData one = dictDataService.getOne(wqq); |
| | | // if (one != null) { |
| | | // //查询字典 |
| | | // LambdaQueryWrapper<SysDictData> wqq1 = new LambdaQueryWrapper<>(); |
| | | // wqq1.eq(SysDictData::getDictType, "report_template_type"); |
| | | // wqq1.eq(SysDictData::getDictLabel, one.getDictLabel()); |
| | | // SysDictData one1 = dictDataService.getOne(wqq1); |
| | | // if (one1 != null) { |
| | | // tjReportTemplateLambdaQueryWrapper.eq(TjReportTemplate::getFlag, one1.getDictValue()); |
| | | // } else { |
| | | // tjReportTemplateLambdaQueryWrapper.eq(TjReportTemplate::getFlag, 1); |
| | | // } |
| | | // } else { |
| | | // tjReportTemplateLambdaQueryWrapper.eq(TjReportTemplate::getFlag, 1); |
| | | // } |
| | | // tjReportTemplateLambdaQueryWrapper.eq(TjReportTemplate::getOpen, 0); |
| | | // reportTemplate = reportTemplateService.getOne(tjReportTemplateLambdaQueryWrapper); |
| | | // } else { |
| | | // tjReportTemplateLambdaQueryWrapper.eq(TjReportTemplate::getOpen, 0); |
| | | // reportTemplate = reportTemplateService.list(tjReportTemplateLambdaQueryWrapper).get(2); |
| | | // } |
| | | Integer checkStatus = tjOrder.getCheckStatus(); |
| | | if (checkStatus == 1) { |
| | | if ("报表".equals(reportTemplate.getPrint())) { |
| | |
| | | wq1.eq(TjCustomer::getCusId, tjOrder.getUserId()); |
| | | TjCustomer tjCustomer = tjCustomerService.getOne(wq1); |
| | | try { |
| | | AjaxResult ajaxResult = hisPDFUtil.hisPDF(tjOrder, tjCustomer, reportTemplate); |
| | | if (!ajaxResult.get("code").toString().equals("200")) { |
| | | TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); |
| | | } else { |
| | | Long userId = tjCustomer.getCusId(); |
| | | String outputFileName1 = userId + tjNumber + tjCustomer.getCusName() + "_报告.pdf"; |
| | | TjReport tjReport = new TjReport(); |
| | | tjReport.setTjNumber(String.valueOf(tjNumber)); |
| | | tjReport.setPath(urlValue + outputFileName1); |
| | | String outputPath1 = value + "\\"; |
| | | String pdfBinary = getPDFBinary(outputPath1 + outputFileName1); |
| | | tjReport.setReport(pdfBinary); |
| | | tjReport.setType("体检报告"); |
| | | tjReport.setPrint("pdf"); |
| | | tjReportService.save(tjReport); |
| | | LambdaUpdateWrapper<TjOrder> updateWrapper = new LambdaUpdateWrapper<>(); |
| | | updateWrapper.eq(TjOrder::getTjNumber, tjNumber); |
| | | updateWrapper.set(TjOrder::getReportTime, new Date()); |
| | | updateWrapper.set(TjOrder::getPrintLastTime, new Date()); |
| | | updateWrapper.set(TjOrder::getDownloadLastTime, new Date()); |
| | | updateWrapper.set(TjOrder::getStatus, TjConstants.TJ_END); |
| | | tjOrderService.update(updateWrapper); |
| | | } |
| | | return ajaxResult; |
| | | return shengchengbgmoban(tjNumber, tjOrder, tjCustomer, reportTemplate); |
| | | } catch (Exception e) { |
| | | TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); |
| | | e.printStackTrace(); |
| | |
| | | return AjaxResult.error(); |
| | | } |
| | | |
| | | public AjaxResult shengchengbgmoban(String tjNumber, TjOrder tjOrder, TjCustomer tjCustomer, TjReportTemplate reportTemplate) throws Exception { |
| | | AjaxResult ajaxResult = hisPDFUtil.hisPDF(tjOrder, tjCustomer, reportTemplate); |
| | | if (!ajaxResult.get("code").toString().equals("200")) { |
| | | TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); |
| | | } else { |
| | | Long userId = tjCustomer.getCusId(); |
| | | String outputFileName1 = userId + tjNumber + tjCustomer.getCusName() + "_报告.pdf"; |
| | | TjReport tjReport = new TjReport(); |
| | | tjReport.setTjNumber(String.valueOf(tjNumber)); |
| | | tjReport.setPath(urlValue + outputFileName1); |
| | | String outputPath1 = value + "\\"; |
| | | String pdfBinary = getPDFBinary(outputPath1 + outputFileName1); |
| | | tjReport.setReport(pdfBinary); |
| | | tjReport.setType("体检报告"); |
| | | tjReport.setPrint("pdf"); |
| | | tjReportService.save(tjReport); |
| | | Date date = new Date(); |
| | | // LambdaUpdateWrapper<TjOrder> updateWrapper = new LambdaUpdateWrapper<>(); |
| | | // updateWrapper.eq(TjOrder::getTjNumber, tjNumber); |
| | | // updateWrapper.set(TjOrder::getReportTime, date); |
| | | // updateWrapper.set(TjOrder::getPrintLastTime, date); |
| | | // updateWrapper.set(TjOrder::getDownloadLastTime,date); |
| | | // updateWrapper.set(TjOrder::getStatus, TjConstants.TJ_END); |
| | | tjOrder.setStatus(TjConstants.TJ_END); |
| | | tjOrder.setReportTime(date); |
| | | tjOrder.setPrintLastTime(date); |
| | | tjOrder.setDownloadLastTime(date); |
| | | tjOrderService.updateById(tjOrder); |
| | | } |
| | | return ajaxResult; |
| | | } |
| | | |
| | | |
| | | /** |
| | |
| | | } |
| | | } |
| | | printReport.put(entry.getKey(), tjPdfVOS); |
| | | if (tjPdfVOS.size() == 0) { |
| | | if (tjPdfVOS.isEmpty()) { |
| | | toRemoveKeys.add(entry.getKey()); |
| | | } |
| | | } |
| | |
| | | LambdaQueryWrapper<TjStandard> wq6 = new LambdaQueryWrapper<>(); |
| | | wq6.eq(TjStandard::getProId, tjOrderDetail.getProId()); |
| | | List<TjStandard> list2 = tjStandardService.list(wq6); |
| | | if (list2.size() == 0) { |
| | | if (list2.isEmpty()) { |
| | | TjStandard s = new TjStandard(); |
| | | s.setCompany(" "); |
| | | s.setTjStandardLtValue(" "); |