From 5e4d1aa4b27cfbcf1c4c8beb2ac05f3c7a0cf1bb Mon Sep 17 00:00:00 2001 From: zjh <1084500556@qq.com> Date: 星期二, 18 二月 2025 16:55:45 +0800 Subject: [PATCH] zjh20250218 --- ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjReportController.java | 20 ------ ltkj-admin/src/test/java/zjhTest.java | 7 +- ltkj-admin/src/main/java/com/ltkj/web/controller/service/TjSysAsyncServiceImpl.java | 6 + ltkj-admin/src/main/java/com/ltkj/web/controller/his/HisPDFUtil.java | 8 +- ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjCheckController.java | 8 ++ ltkj-hosp/src/main/java/com/ltkj/hosp/service/impl/TjReportServiceImpl.java | 90 +++++++++++++++++++---------- 6 files changed, 79 insertions(+), 60 deletions(-) diff --git a/ltkj-admin/src/main/java/com/ltkj/web/controller/his/HisPDFUtil.java b/ltkj-admin/src/main/java/com/ltkj/web/controller/his/HisPDFUtil.java index ea284e3..2284879 100644 --- a/ltkj-admin/src/main/java/com/ltkj/web/controller/his/HisPDFUtil.java +++ b/ltkj-admin/src/main/java/com/ltkj/web/controller/his/HisPDFUtil.java @@ -1476,9 +1476,11 @@ paragraph.setAlignment(Element.ALIGN_LEFT); document2.add(paragraph); String str = " "; - List<Map<String, Object>> maps = tjRulesService.getyichangxiangmujianyiguize(i.get(5), "", - i.get(2), tjOrder.getTjNumber(), i.get(0).replaceAll("[锛�(][^锛�)]*[锛�)]", "") - .replaceAll("[ 娴嬪畾妫�娴媇", ""), i.get(1)); + List<Map<String, Object>> maps = tjRulesService.getyichangxiangmujianyiguize(i.get(5), i.get(0).replaceAll("[锛�(][^锛�)]*[锛�)]", "") + .replaceAll("[ 娴嬪畾妫�娴媇", "").replaceAll("\\[.*?\\]", ""), + i.get(2), tjOrder.getTjNumber(), i.get(0).replaceAll("[锛�(][^锛�)]*[\u4e00-\u9fa5]+[^锛�)]*[锛�)]", "") + .replaceAll("[ 娴嬪畾妫�娴媇", "").replaceAll("\\[.*?\\]", ""), i.get(1)); + if (!maps.isEmpty()) { for (Map<String, Object> objectMap : maps) { Object bt = objectMap.get("bt"); diff --git a/ltkj-admin/src/main/java/com/ltkj/web/controller/service/TjSysAsyncServiceImpl.java b/ltkj-admin/src/main/java/com/ltkj/web/controller/service/TjSysAsyncServiceImpl.java index 6b65b14..4ac8e85 100644 --- a/ltkj-admin/src/main/java/com/ltkj/web/controller/service/TjSysAsyncServiceImpl.java +++ b/ltkj-admin/src/main/java/com/ltkj/web/controller/service/TjSysAsyncServiceImpl.java @@ -618,11 +618,13 @@ if(null !=ycxm){ ycxm.setJcjg(detail.getProResult()); List<Map<String,Object>> maps= rulesService.getyichangxiangmujianyiguize(detail.getProId().toString() - ,"","",order.getTjNumber() ,detail.getProName().replaceAll("[锛�(][^锛�)]*[锛�)]", "") - .replaceAll("[ 娴嬪畾妫�娴媇","") + .replaceAll("[ 娴嬪畾妫�娴媇","").replaceAll("\\[.*?\\]", ""),"",order.getTjNumber() + ,detail.getProName().replaceAll("[锛�(][^锛�)]*[\u4e00-\u9fa5]+[^锛�)]*[锛�)]", "") + .replaceAll("[ 娴嬪畾妫�娴媇","").replaceAll("\\[.*?\\]", "") ,detail.getProResult()); + String[] split = detail.getProResult().split("銆倈,|锛�"); List<Map<String,Object>> mapList=new ArrayList<>(); for (String s : split) { diff --git a/ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjCheckController.java b/ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjCheckController.java index d1aa066..4d502e0 100644 --- a/ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjCheckController.java +++ b/ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjCheckController.java @@ -1748,13 +1748,17 @@ if(null !=tjOrderDetail.getProId()&& null !=tjOrderDetail.getYcbz()){ if(!tjOrderDetail.getDeptId().equals("2")){ List<Map<String,Object>> maps= rulesService.getyichangxiangmujianyiguize(tjOrderDetail.getProId().toString() - ,"",tjOrderDetail.getYcbz().replaceAll(" ", ""),tjNumber ,tjOrderDetail.getProName().replaceAll("[锛�(][^锛�)]*[锛�)]", "") - .replaceAll("[ 娴嬪畾妫�娴媇","") + .replaceAll("[ 娴嬪畾妫�娴媇","").replaceAll("\\[.*?\\]", ""),tjOrderDetail.getYcbz().replaceAll(" ", ""),tjNumber + ,tjOrderDetail.getProName().replaceAll("[锛�(][^锛�)]*[\u4e00-\u9fa5]+[^锛�)]*[锛�)]", "") + .replaceAll("[ 娴嬪畾妫�娴媇","").replaceAll("\\[.*?\\]", "") ,tjOrderDetail.getProResult()); + + if(null !=maps && !maps.isEmpty()){ tjOrderDetail.setAdvices(maps); } + }else { String[] split = tjOrderDetail.getProResult().split("銆倈,|锛�"); List<Map<String,Object>> mapList=new ArrayList<>(); diff --git a/ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjReportController.java b/ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjReportController.java index 3243c0d..a40d34a 100644 --- a/ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjReportController.java +++ b/ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjReportController.java @@ -1005,7 +1005,6 @@ if (flag) { // 鍦ㄧ嚎鎵撳紑鏂瑰紡 URL u = new URL("file:///" + filePath); - //System.out.println(u); String contentType = u.openConnection().getContentType(); response.setContentType(contentType); response.setHeader("Content-Disposition", "inline;filename=" @@ -1021,17 +1020,6 @@ while ((len = br.read(bs)) > 0) { out.write(bs, 0, len); } -// if(null !=tjOrder.getHeshouTime() && tjOrder.getHeshouStatus()==1){ -// TjReportPrint print=new TjReportPrint(); -// print.setTjNumber(tjNumber); -// print.setPrintBy(SecurityUtils.getLoginUser().getUser().getNickName()); -// print.setPrintTime(date); -// print.setPrintStatus("宸叉墦鍗�"); -// if (printService.save(print)) { -// tjOrder.setPrintLastTime(date); -// tjOrderService.updateById(tjOrder); -// } -// } out.flush(); out.close(); br.close(); @@ -1073,13 +1061,9 @@ key = key.replace("ltkjpeis10_",""); // String userId = SecurityUtils.getLoginUser().getUsername(); - PDFBinaryUtil.base64StringToPDF(one.getReport(), FileUtil.mkdir(value).getPath() + File.separator + key + File.separator + tjCustomer.getCusId() + tjNumber + tjCustomer.getCusName() + "_浣撴鎶ュ憡.pdf"); - String filePath = value + File.separator + key + File.separator + tjCustomer.getCusId() + tjNumber + tjCustomer.getCusName() + "_浣撴鎶ュ憡.pdf"; +// PDFBinaryUtil.base64StringToPDF(one.getReport(), FileUtil.mkdir(value).getPath() + File.separator + key + File.separator + tjCustomer.getCusId() + tjNumber + tjCustomer.getCusName() + "_浣撴鎶ュ憡.pdf"); + String filePath = value + File.separator + key + File.separator + tjCustomer.getCusId() + tjNumber + tjCustomer.getCusName() + "_鎶ュ憡.pdf"; File f = new File(filePath); - if (filePath.isEmpty()) { - System.out.println("鏂囦欢涓嶅瓨鍦紒"); - return; - } BufferedInputStream br = null; OutputStream out = null; FileInputStream fileInputStream = null; diff --git a/ltkj-admin/src/test/java/zjhTest.java b/ltkj-admin/src/test/java/zjhTest.java index 54c1c95..da7386c 100644 --- a/ltkj-admin/src/test/java/zjhTest.java +++ b/ltkj-admin/src/test/java/zjhTest.java @@ -129,9 +129,10 @@ // BigDecimal multiply = ordPrice.multiply((new BigDecimal("6.5").divide(BigDecimal.valueOf(10)))); // System.out.println(multiply); - String a="鎶楃敳鐘惰吅鐞冭泲鐧芥姉浣擄紙TGAb锛夋娴�,1111锛�2222銆�33333锛�555555:666666"; - String[] split = a.split(",|锛寍銆倈锛殀:"); - System.out.println(split); + String a="鐧界粏鑳�(闄旽R)(WBC)"; + String s = a.replaceAll("[锛�(][^锛�)]*[\u4e00-\u9fa5]+[^锛�)]*[锛�)]", "") + .replaceAll("[ 娴嬪畾妫�娴媇", ""); + System.out.println(s); } 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 c77c09b..337ad2d 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 @@ -2,6 +2,7 @@ import java.io.*; import java.nio.file.Files; +import java.nio.file.Path; import java.nio.file.Paths; import java.util.*; import java.util.List; @@ -26,6 +27,7 @@ import com.ltkj.common.utils.pdfutils.MyHeaderFooter; import com.ltkj.common.utils.pdfutils.PDFBinaryUtil; import com.ltkj.common.utils.pdfutils.PdfUtils; +import com.ltkj.db.DataSourceContextHolder; import com.ltkj.hosp.domain.*; import com.ltkj.hosp.service.*; import com.ltkj.mall.mallOrderUtils.TjConstants; @@ -75,7 +77,8 @@ private ITjOrderRemarkService tjOrderRemarkService; @Resource private ITjStandardService tjStandardService; - + @Autowired + private ITjReportPrintService printService; /** * 鏌ヨ浣撴鎶ュ憡瀛樺偍 * @@ -529,39 +532,62 @@ * @return */ private AjaxResult sqlGetReportToMake(List<String> tjNumbers) { - LambdaQueryWrapper<TjReport> tjReportLambdaQueryWrapper = new LambdaQueryWrapper<>(); - tjReportLambdaQueryWrapper.in(TjReport::getTjNumber, tjNumbers); - List<TjReport> list = tjReportService.list(tjReportLambdaQueryWrapper); +// LambdaQueryWrapper<TjReport> tjReportLambdaQueryWrapper = new LambdaQueryWrapper<>(); +// tjReportLambdaQueryWrapper.in(TjReport::getTjNumber, tjNumbers); +// List<TjReport> list = tjReportService.list(tjReportLambdaQueryWrapper); ArrayList<String> base64Pdfs = new ArrayList<>(); - for (TjReport report : list) { - if (report == null || report.getReport() == null) { - // 娌℃湁璇ユ姤鍛� 鐩存帴璺宠繃 - continue; +// for (TjReport report : list) { +// if (report == null || report.getReport() == null) { +// // 娌℃湁璇ユ姤鍛� 鐩存帴璺宠繃 +// continue; +// } +// base64Pdfs.add(report.getReport()); +// } + String key = DataSourceContextHolder.getDataSourceKey(); + key = key.replace("ltkjpeis10_",""); + + if(null !=tjNumbers && !tjNumbers.isEmpty()){ + for (String number : tjNumbers) { + TjOrder order = tjOrderService.getOrderByTjNum(number); + TjCustomer tjCustomer = tjCustomerService.getById( order.getUserId()); + String filePath = value + File.separator + key + File.separator + tjCustomer.getCusId() + order.getTjNumber() + tjCustomer.getCusName() + "_鎶ュ憡.pdf"; + try { + // 璇诲彇鏂囦欢涓哄瓧鑺傛暟缁� + Path path = Paths.get(filePath); + byte[] fileBytes = Files.readAllBytes(path); + + // 灏嗗瓧鑺傛暟缁勮浆鎹负 Base64 瀛楃涓� + String base64String = Base64.getEncoder().encodeToString(fileBytes); + base64Pdfs.add(base64String); + // 杈撳嚭 Base64 缂栫爜鐨勫瓧绗︿覆 +// System.out.println(base64String); + + TjReportPrint print=new TjReportPrint(); + print.setTjNumber(order.getTjNumber()); + print.setPrintBy(SecurityUtils.getLoginUser().getUser().getNickName()); + print.setPrintTime(new Date()); + print.setPrintStatus("宸叉墦鍗�"); + if (printService.save(print)) { + order.setPrintLastTime(new Date()); + order.setStatus(TjConstants.TJ_END); + tjOrderService.updateById(order); + } + + } catch (IOException e) { + e.printStackTrace(); + log.error(String.valueOf(e)); + } } - base64Pdfs.add(report.getReport()); + try { + byte[] mergePDF = PDFDocumentUtil.mergePDFs(base64Pdfs); + String s = Base64.getEncoder().encodeToString(mergePDF); + return AjaxResult.success().put("file",s); + } catch (DocumentException | IOException e) { + e.printStackTrace(); + TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); + return AjaxResult.error("鎵归噺鐢熸垚澶辫触"); + } } - tjNumbers.forEach(tjNumber ->{ - LambdaUpdateWrapper<TjOrder> updateWrapper = new LambdaUpdateWrapper<>(); - updateWrapper.eq(TjOrder::getTjNumber, tjNumber); - updateWrapper.set(TjOrder::getPrintLastTime, new Date()); - updateWrapper.set(TjOrder::getDownloadLastTime, new Date()); - updateWrapper.set(TjOrder::getStatus, TjConstants.TJ_END); - tjOrderService.update(updateWrapper); - }); - try { - byte[] mergePDF = PDFDocumentUtil.mergePDFs(base64Pdfs); - String s = Base64.getEncoder().encodeToString(mergePDF); - return AjaxResult.success().put("file",s); - // 鏈湴鐢熸垚娴嬭瘯 -// String PDF_FILE = "d:\\Users\\w\\Desktop\\test.pdf"; -// BufferedOutputStream outputStream = new BufferedOutputStream(new FileOutputStream(PDF_FILE)); -// outputStream.write(mergePDF); -// outputStream.flush(); -// outputStream.close(); - } catch (DocumentException | IOException e) { - e.printStackTrace(); - TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); - return AjaxResult.error("鎵归噺鐢熸垚澶辫触"); - } + return AjaxResult.error("鎵归噺鐢熸垚澶辫触"); } } -- Gitblit v1.8.0