From 24654c7b1c3f23266177582e07399a50b5775e0b Mon Sep 17 00:00:00 2001 From: zhaowenxuan <chacca165@163.com> Date: 星期四, 30 五月 2024 09:43:38 +0800 Subject: [PATCH] 通过配置决定使用sql查报告或重新生成报告 --- ltkj-hosp/src/main/java/com/ltkj/hosp/service/impl/TjReportServiceImpl.java | 243 ------------------------------------------------ 1 files changed, 1 insertions(+), 242 deletions(-) diff --git a/ltkj-hosp/src/main/java/com/ltkj/hosp/service/impl/TjReportServiceImpl.java b/ltkj-hosp/src/main/java/com/ltkj/hosp/service/impl/TjReportServiceImpl.java index efa15f4..bd9c607 100644 --- a/ltkj-hosp/src/main/java/com/ltkj/hosp/service/impl/TjReportServiceImpl.java +++ b/ltkj-hosp/src/main/java/com/ltkj/hosp/service/impl/TjReportServiceImpl.java @@ -517,9 +517,9 @@ @Override - @Transactional public AjaxResult makeBatchReport(List<String> tjNumbers) { return sqlGetReportToMake(tjNumbers); + } /** @@ -564,245 +564,4 @@ return AjaxResult.error("鎵归噺鐢熸垚澶辫触"); } } - - /** - * 閫氳繃sql 閲嶆暣鏁版嵁妯℃澘 鍏ㄩ儴閲嶆柊鐢熸垚 - * @param tjNumbers - * @return - */ -// private AjaxResult makeReport(List<String > tjNumbers) { -// ArrayList<String> base64Pdfs = new ArrayList<>(); -// for (String tjNumber : tjNumbers) { -// LambdaQueryWrapper<TjOrder> wq = new LambdaQueryWrapper<>(); -// wq.eq(TjOrder::getTjNumber, tjNumber); -// TjOrder tjOrder = tjOrderService.getOne(wq); -// 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); -// } -// -// String template = reportTemplate.getTemplate(); -// String userId = null; -// if (template == null) { -// // 娌℃湁璇ユā鏉� -// continue; -// } -// // --------浠ヤ笂------- 鏍规嵁鏁版嵁搴撲腑鐨勬ā鏉夸簩杩涘埗鏂囦欢 杞琾df 鍒涘缓鏂囦欢澶� 灏唒df鏀捐繘鏈湴鏂囦欢澶� -// LambdaQueryWrapper<TjCustomer> wq1 = new LambdaQueryWrapper<>(); -// wq1.eq(TjCustomer::getCusId, tjOrder.getUserId()); -// TjCustomer tjCustomer = tjCustomerService.getOne(wq1); -// LambdaQueryWrapper<DictComp> wq111 = new LambdaQueryWrapper<>(); -// wq111.eq(DictComp::getDrugManufacturerId, tjOrder.getFirmId()); -// DictComp dictComp = dictCompService.getOne(wq111); -// LambdaQueryWrapper<TjOrderDetail> wq2 = new LambdaQueryWrapper<>(); -// wq2.eq(TjOrderDetail::getOrderId, tjOrder.getOrderId()); -// wq2.isNotNull(TjOrderDetail::getFlowingWaterId); -// List<TjOrderDetail> list = tjOrderDetailService.list(wq2); -// for (TjOrderDetail tjOrderDetail : list) { -// TjProject tjProject = projectService.selectTjProjectByProId(tjOrderDetail.getProId()); -// tjOrderDetail.setProject(tjProject); -// } -// // 鍏辫鑰楁椂5695姣 浠ヤ笅浠g爜鑰楁椂3528 -// // TODO PDF鍒涘缓浼樺寲 -// long pdfMkStart = System.currentTimeMillis(); -// ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream(); -// PdfStamper ps = null; -// PdfReader reader = null; -// try { -// // 璇诲叆pdf琛ㄥ崟 -// reader = new PdfReader(new ByteArrayInputStream(Base64.getDecoder().decode(template))); -// // 鏍规嵁琛ㄥ崟鐢熸垚涓�涓柊鐨刾df -// ps = new PdfStamper(reader, byteArrayOutputStream); -// // 鑾峰彇pdf琛ㄥ崟 -// AcroFields form = ps.getAcroFields(); -// //璇ュ瓧浣撻�犳垚绫诲瀷涓嶅潎鍖�锛屼絾鏄痯df杞浘鐗囦笉涔辩爜 -// BaseFont bf = BaseFont.createFont("STSong-Light", "UniGB-UCS2-H", BaseFont.NOT_EMBEDDED); -// form.addSubstitutionFont(bf); -// // 濉厖鏁版嵁缁欒〃鏍� -// Map<String, Object> data = new HashMap<>(); -// // 璁剧疆鐢ㄦ埛淇℃伅 -// setUserInfo(tjNumber, tjOrder, tjCustomer, dictComp, list, data); -// //灏侀潰椤典笅闈㈢殑鎬绘寤鸿鏄剧ず -// if (tjOrder.getCheckAdvice() == null) { -// data.put("remark", "鏃�"); -// } else { -// data.put("remark", tjOrder.getCheckAdvice()); -// } -// //灏侀潰椤典笅闈㈢殑鎬绘寤鸿鏄剧ず -// if (tjOrder.getCheckDoctor() == null) { -// data.put("docname", "鏃�"); -// } else { -// data.put("docname", tjOrder.getCheckDoctor()); -// } -// //寮傚父椤圭洰 -//// data.put("yichang", "銆�1銆戝眻鍏変笉姝n" + -//// "銆�2銆戞墎妗冧綋鑲モ激\n" + -//// "銆�3銆戜綋閲嶆寚鏁板饩糪n" + -//// "銆�4銆戔編鑴傚紓甯革紙鎬昏儐鍥洪唶澧炩炯锛涒舰娌逛笁閰饩硷級\n" + -//// "銆�5銆懳�-饩曟皑閰拌浆绉婚叾澧炩炯锛涘ぉ饣斿啲姘ㄩ吀姘ㄥ熀杞Щ閰跺饩硷紱涓欐皑閰告皑鍩鸿浆绉婚叾澧炩炯\n" + -//// "銆�6銆戣交饩勪腑搴﹁剛鑲倽"); -// -// //鎷兼帴閲嶅ぇ闃虫�х粨鏋� -// StringBuffer str = new StringBuffer(); -// str.append("銆愰噸澶ч槼鎬ч」鐩�慭n"); -// LambdaQueryWrapper<TjBigPositive> bigPositiveLambdaQueryWrapper = new LambdaQueryWrapper<>(); -// bigPositiveLambdaQueryWrapper.eq(TjBigPositive::getTjNumber, tjNumber); -// final List<TjBigPositive> list1 = tjBigPositiveService.list(bigPositiveLambdaQueryWrapper); -// if (list1 != null && list1.size() > 0) { -// for (int i = 0; i < list1.size(); i++) { -// str.append(i + 1).append("銆�").append(list1.get(i).getProName()).append(";\n"); -// } -// } else { -// str.append(" 鏃狅紱\n"); -// } -// //鎷兼帴寮傚父椤圭洰 -// str.append("銆愬紓甯告儏鍐甸」鐩�慭n"); -// if (list.size() > 0) { -//// for (int i = 0; i < list.size(); i++) { -//// if (list.get(i).getExceptionDesc() == 1) { -//// str.append(i + 1).append("銆�").append(projectService.getById(list.get(i).getProId()).getProName()).append(";\n"); -//// } -//// } -// int[] index = {0}; -// List<TjOrderDetail> collect = list.stream() -// .filter(item -> item.getExceptionDesc() == 1).collect(Collectors.toList()); -// if (collect.isEmpty()) { -// str.append(" 鏃狅紱\n"); -// } else { -// collect.forEach(item -> str.append(index[0]++ + 1).append("銆�").append(projectService.getById(item.getProId()).getProName()).append(";\n")); -// } -// } else { -// str.append(" 鏃狅紱\n"); -// } -// //寮傚父椤圭洰 -// data.put("yichang", str.toString()); -// // 閬嶅巻data 缁檖df琛ㄥ崟琛ㄦ牸璧嬪�� -// for (String key : data.keySet()) { -// form.setField(key, data.get(key).toString()); -// } -// //璁剧疆涓烘棤娉曠紪杈� -// ps.setFormFlattening(true); -// ps.close(); -// reader.close(); -// // 灏嗕慨鏀瑰悗鐨凱DF鍐呭鍐欏叆 -// byte[] bytes = byteArrayOutputStream.toByteArray(); -// // 鍒涘缓鏂扮殑PDF鏂囨。 -// Document document = new Document(PageSize.A4); -// ByteArrayOutputStream finalOutPut = new ByteArrayOutputStream(); -// PdfCopy copy = new PdfCopy(document, finalOutPut); -// document.open(); -// reader = new PdfReader(bytes); -// int numberOfPages = reader.getNumberOfPages(); -// for (int i = 1; i <= numberOfPages; i++) { -// PdfImportedPage page = copy.getImportedPage(reader, i); -// copy.addPage(page); -// } -// // 娣诲姞璇︽儏椤� -// document.newPage(); -// reader.close(); -// ByteArrayOutputStream infoByteArrayOutputStream = setInfoPage(userId, tjNumber); -// reader = new PdfReader(infoByteArrayOutputStream.toByteArray()); -// int numberOfPages1 = reader.getNumberOfPages(); -// for (int i = 1; i <= numberOfPages1; i++) { -// PdfImportedPage page = copy.getImportedPage(reader, i); -// copy.addPage(page); -// } -// infoByteArrayOutputStream.close(); -// // 蹇冪數鍥句互鍙婇檮浠� -// // 鍥犳暟鎹簱琛ㄥ瓨鏀綽ase64瀵艰嚧鏌ヨ缂撴參 杩欓噷鎵ц缂撴參 -// // 鍦ㄨ繖閲屽鍔犱竴鏉℃煡璇ount 瀵逛簬娌℃湁杩藉姞闄勪欢鐨� 鎻愬崌閫熷害 -// long fujianStart = System.currentTimeMillis(); -// LambdaQueryWrapper<TjReport> queryWrapper = new LambdaQueryWrapper<>(); -// queryWrapper.eq(TjReport::getTjNumber, tjNumber) -// .and(item -> item.eq(TjReport::getType, "闄勪欢").or().eq(TjReport::getType, "蹇冪數鍥�")); -// Integer selectCount = tjReportService.getSelectCount(queryWrapper); -// if (selectCount > 0) { -// String base64XinDianTu = null; -// String base64FuJian = null; -// List<TjReport> reportList = tjReportService.list(queryWrapper); -// TjReport xinDianTu = null; -// TjReport fuJian = null; -// if (!reportList.isEmpty()) { -// for (TjReport tjReport : reportList) { -// if ("闄勪欢".equals(tjReport.getType())) { -// fuJian = tjReport; -// base64FuJian = fuJian.getReport(); -// } else { -// xinDianTu = tjReport; -// base64XinDianTu = xinDianTu.getReport(); -// } -// } -// } -// if (xinDianTu != null) { -// if (fuJian != null) { -// addPageByPDFBase64(copy, base64FuJian); -// document.newPage(); -// addPageByPDFBase64(copy, base64XinDianTu); -// } else { -// addPageByPDFBase64(copy, base64XinDianTu); -// } -// } else { -// if (fuJian != null) { -// addPageByPDFBase64(copy, base64FuJian); -// } -// } -// } -// copy.close(); -// base64Pdfs.add(Base64.getEncoder().encodeToString(finalOutPut.toByteArray())); -// document.close(); -// finalOutPut.close(); -// reader.close(); -// //淇敼order琛ㄤ腑鐨勬墦鍗版姤鍛婃椂闂翠负褰撳墠鏃堕棿 -// 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); -// } catch (Exception e) { -// TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); -// e.printStackTrace(); -// } -// } -// } -// try { -// byte[] mergePDFs = PDFDocumentUtil.mergePDFs(base64Pdfs); -// // 鏈湴鐢熸垚娴嬭瘯 -// String PDF_FILE = "d:\\Users\\w\\Desktop\\test.pdf"; -// BufferedOutputStream outputStream = new BufferedOutputStream(new FileOutputStream(PDF_FILE)); -// outputStream.write(mergePDFs); -// outputStream.flush(); -// outputStream.close(); -// } catch (DocumentException | IOException e) { -// e.printStackTrace(); -// return AjaxResult.error("鎵归噺鐢熸垚澶辫触"); -// } -// return AjaxResult.success(); -// } } -- Gitblit v1.8.0