From b83df5a43c563bac919dee41d3a8b794f22f1030 Mon Sep 17 00:00:00 2001 From: zjh <1084500556@qq.com> Date: 星期五, 13 十二月 2024 19:20:45 +0800 Subject: [PATCH] zjh202412013 --- ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjReportController.java | 132 ++++++++++++++++++++++++++++--------------- 1 files changed, 85 insertions(+), 47 deletions(-) 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 d5e1209..5214c0e 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 @@ -39,6 +39,7 @@ import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiParam; +import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Value; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.transaction.annotation.Propagation; @@ -56,9 +57,10 @@ * @author ltkj * @date 2022-12-06 */ +@Slf4j @RestController @RequestMapping("/system/report") -@Api(tags = "浣撴鎶ュ憡") +@Api(tags = "AAAA_浣撴鎶ュ憡") @Transactional public class TjReportController extends BaseController { @Resource @@ -100,18 +102,24 @@ private ITjBigPositiveService tjBigPositiveService; @Autowired private HisPDFUtil hisPDFUtil; + @Autowired + private IDictHospService dictHospService; + @Autowired + private ITjReportPrintService printService; @GetMapping("/savePdf") @ApiOperation(value = "浠庢湰鍦板瓨鍌ㄦā鏉垮埌鏁版嵁搴�") public AjaxResult savePdf() { //浠庢枃浠跺湴鍧�璇诲叆PDF鏂囦欢 浠呭瓨鍌ㄤ竴娆� - String base64String = PDFBinaryUtil.getPDFBinary("D:\\Tjreport\\浣撴妯℃澘5.pdf"); + String base64String = PDFBinaryUtil.getPDFBinary(configService.selectConfigByKey("default_pdf5Template")); + reportTemplateService.remove(new LambdaQueryWrapper<TjReportTemplate>().eq(TjReportTemplate::getName,"浣撴鎶ュ憡妯℃澘5")); TjReportTemplate tem = new TjReportTemplate(); tem.setName("浣撴鎶ュ憡妯℃澘5"); tem.setRemark("浣撴鎶ュ憡妯℃澘5"); tem.setTemplate(base64String); tem.setFlag("1"); tem.setOpen("0"); + tem.setCreateTime(DateUtil.date()); final boolean save = reportTemplateService.save(tem); if (save) { return AjaxResult.success("淇濆瓨鎴愬姛"); @@ -297,9 +305,10 @@ // return error; // } // return AjaxResult.success("璇ョ敤鎴蜂綋妫�鏈畬鎴愶紝涓嶈兘鎵撳嵃鎶ュ憡锛侊紒锛�"); - int num = tjOrderRemarkService.getTjYqOrderRemarkByTjNum(tjNumber); - if (num > 0) { - return AjaxResult.error("鏈夊欢鏈熼」鐩殏涓嶈兘鐢熸垚鎶ュ憡!!!"); + String config = configService.selectConfigByKey("sfjcwjhyqxm"); + if(null != config && config.equalsIgnoreCase("Y")){ + int num = tjOrderRemarkService.getTjYqOrderRemarkByTjNum(tjNumber); + if (num > 0) return AjaxResult.error("瀛樺湪鏈鎴栧欢鏈熼」鐩殏涓嶈兘鐢熸垚鎶ュ憡!!!"); } // String configByKey = configService.selectConfigByKey("sfkqdyhis"); @@ -385,11 +394,15 @@ LambdaQueryWrapper<TjCustomer> wq1 = new LambdaQueryWrapper<>(); wq1.eq(TjCustomer::getCusId, tjOrder.getUserId()); TjCustomer tjCustomer = tjCustomerService.getOne(wq1); + LambdaQueryWrapper<TjReportTemplate> wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(TjReportTemplate::getFlag,"4"); + wrapper.eq(TjReportTemplate::getOpen,"1"); + TjReportTemplate zongJianYiShiQianMing = reportTemplateService.getOne(wrapper); try { - return shengchengbgmoban(tjNumber, tjOrder, tjCustomer, reportTemplate); + return shengchengbgmoban(tjNumber, tjOrder, tjCustomer, reportTemplate,zongJianYiShiQianMing); } catch (Exception e) { TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); - e.printStackTrace(); + log.error(String.valueOf(e)); // 璋冪敤鎾ら攢 // tjReportController.backOnlyCheckType(tjNumber); logger.error("鐢熸垚鎶ュ憡寮傚父"); @@ -402,8 +415,17 @@ return AjaxResult.error(); } - public AjaxResult shengchengbgmoban(String tjNumber, TjOrder tjOrder, TjCustomer tjCustomer, TjReportTemplate reportTemplate) throws Exception { - AjaxResult ajaxResult = hisPDFUtil.hisPDF(tjOrder, tjCustomer, reportTemplate); + public AjaxResult shengchengbgmoban(String tjNumber, TjOrder tjOrder, TjCustomer tjCustomer, TjReportTemplate reportTemplate,TjReportTemplate zongJianYiShiQianMing) { + AjaxResult ajaxResult = null; + try { +// ajaxResult = hisPDFUtil.hisPDF(tjOrder, tjCustomer, reportTemplate); +// ajaxResult = hisPDFUtil.hisPDFNew(tjOrder, tjCustomer, reportTemplate); + + ajaxResult = hisPDFUtil.hisPDFNew2(tjOrder, tjCustomer, reportTemplate,zongJianYiShiQianMing); + } catch (Exception e) { + e.printStackTrace(); + log.error(String.valueOf(e)); + } if (!ajaxResult.get("code").toString().equals("200")) { TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); } else { @@ -412,7 +434,7 @@ TjReport tjReport = new TjReport(); tjReport.setTjNumber(String.valueOf(tjNumber)); tjReport.setPath(urlValue + outputFileName1); - String outputPath1 = value + "\\"; + String outputPath1 = value + File.separator; String pdfBinary = getPDFBinary(outputPath1 + outputFileName1); tjReport.setReport(pdfBinary); tjReport.setType("浣撴鎶ュ憡"); @@ -696,7 +718,7 @@ System.out.println("鏂囦欢淇濆瓨鍓嶈�楁椂锛�" + (fujianEnd - pdfMkStart)); // 淇濆瓨pdf鏂囦欢 copy.close(); - String outputPath1 = value + "\\"; + String outputPath1 = value + File.separator; String outputFileName1 = userId + tjNumber + tjCustomer.getCusName() + "new_浣撴鎶ュ憡.pdf"; File file = new File(outputPath1 + outputFileName1); BufferedOutputStream outputStream = new BufferedOutputStream(new FileOutputStream(file)); @@ -895,7 +917,8 @@ // 璁剧疆姝f枃瀛椾綋鏍峰紡锛�12鍙� Font textFont = PdfUtils.setFont(9); //鍒涘缓琛ㄦ牸 灏嗚〃澶村瓧浣撳拰姝f枃瀛椾綋鏀捐繘鍘� - PdfPTable table = PdfUtils.setTable(headFont, textFont, titles, value); + DictHosp dictHosp = dictHospService.list().get(0); + PdfPTable table = PdfUtils.setTable(headFont, textFont, titles, value,dictHosp.equals("婢勫悎鐭垮姟灞�涓績鍖婚櫌")); document.add(paragraph); document.add(table); //鍒ゆ柇澶囨敞鏄惁涓虹┖ 绌轰笉鑳芥樉绀簄ull @@ -949,6 +972,7 @@ } private AjaxResult oldFun(String tjNumber) { + DictHosp dictHosp = dictHospService.list().get(0); long startTime = System.currentTimeMillis(); int num = tjOrderRemarkService.getTjYqOrderRemarkByTjNum(tjNumber); if (num > 0) return AjaxResult.error("鏈夊欢鏈熼」鐩殏涓嶈兘鐢熸垚鎶ュ憡!!!"); @@ -1022,7 +1046,7 @@ String template = reportTemplate.getTemplate(); String userId = SecurityUtils.getLoginUser().getUsername(); if (template != null) { - PDFBinaryUtil.base64StringToPDF(template, FileUtil.mkdir(value).getPath() + "\\" + userId + "浣撴鎶ュ憡灏侀潰妯℃澘.pdf"); + PDFBinaryUtil.base64StringToPDF(template, FileUtil.mkdir(value).getPath() + File.separator + userId + "浣撴鎶ュ憡灏侀潰妯℃澘.pdf"); } // --------浠ヤ笂------- 鏍规嵁鏁版嵁搴撲腑鐨勬ā鏉夸簩杩涘埗鏂囦欢 杞琾df 鍒涘缓鏂囦欢澶� 灏唒df鏀捐繘鏈湴鏂囦欢澶� @@ -1045,8 +1069,8 @@ tjOrderDetail.setProject(tjProject); } - String inputFileName = value + "\\" + userId + "浣撴鎶ュ憡灏侀潰妯℃澘.pdf"; - String outputFileName = value + "\\" + userId + "浣撴鎶ュ憡灏侀潰椤�.pdf"; + String inputFileName = value + File.separator + userId + "浣撴鎶ュ憡灏侀潰妯℃澘.pdf"; + String outputFileName = value + File.separator + userId + "浣撴鎶ュ憡灏侀潰椤�.pdf"; OutputStream os = null; PdfStamper ps = null; PdfReader reader = null; @@ -1169,7 +1193,7 @@ //璁剧疆鏂囨。鐨勯〉杈硅窛灏辨槸璺濈椤甸潰杈逛笂鐨勮窛绂伙紝鍒嗗埆涓猴細宸﹁竟璺濓紝鍙宠竟璺濓紝涓婅竟璺濓紝涓嬭竟璺� document.setMargins(70, 70, 40, 40); //鐢熸垚pdf鐨勪綅缃互鍙婂悕绉� - String fileName = value + "\\" + userId + tjNumber + "浣撴鎶ュ憡椤圭洰璇︽儏椤�.pdf"; + String fileName = value + File.separator + userId + tjNumber + "浣撴鎶ュ憡椤圭洰璇︽儏椤�.pdf"; OutputStream outputStream = Files.newOutputStream(Paths.get(fileName)); PdfWriter pdfWriter = PdfWriter.getInstance(document, outputStream); @@ -1275,7 +1299,7 @@ // 璁剧疆姝f枃瀛椾綋鏍峰紡锛�12鍙� Font textFont = PdfUtils.setFont(9); //鍒涘缓琛ㄦ牸 灏嗚〃澶村瓧浣撳拰姝f枃瀛椾綋鏀捐繘鍘� - PdfPTable table = PdfUtils.setTable(headFont, textFont, titles, value); + PdfPTable table = PdfUtils.setTable(headFont, textFont, titles, value,dictHosp.equals("婢勫悎鐭垮姟灞�涓績鍖婚櫌")); document.add(paragraph); document.add(table); @@ -1336,7 +1360,7 @@ // TjReport one11111 = tjReportService.getOne(rtwq1); // if(null !=one11111){ // String report1 = one11111.getReport(); -// PDFBinaryUtil.base64StringToPDF(report1, FileUtil.mkdir(value).getPath() + "\\" + userId + "鍖诲鍚嶈瘝.pdf"); +// PDFBinaryUtil.base64StringToPDF(report1, FileUtil.mkdir(value).getPath() + File.separator + userId + "鍖诲鍚嶈瘝.pdf"); // } LambdaQueryWrapper<TjReport> rtwq = new LambdaQueryWrapper<>(); @@ -1345,7 +1369,7 @@ TjReport one1111 = tjReportService.getOne(rtwq); if (null != one1111) { String report = one1111.getReport(); - PDFBinaryUtil.base64StringToPDF(report, FileUtil.mkdir(value).getPath() + "\\" + tjNumber + userId + "蹇冪數鍥�.pdf"); + PDFBinaryUtil.base64StringToPDF(report, FileUtil.mkdir(value).getPath() + File.separator + tjNumber + userId + "蹇冪數鍥�.pdf"); } LambdaQueryWrapper<TjReport> rtwq12 = new LambdaQueryWrapper<>(); @@ -1354,27 +1378,27 @@ TjReport one111112 = tjReportService.getOne(rtwq12); if (null != one111112) { String report12 = one111112.getReport(); - PDFBinaryUtil.base64StringToPDF(report12, FileUtil.mkdir(value).getPath() + "\\" + tjNumber + userId + "闄勪欢.pdf"); + PDFBinaryUtil.base64StringToPDF(report12, FileUtil.mkdir(value).getPath() + File.separator + tjNumber + userId + "闄勪欢.pdf"); } //鍚堝苟 String[] files1 = null; if (one1111 != null) { if (one111112 != null) { - files1 = new String[]{value + "\\" + userId + "浣撴鎶ュ憡灏侀潰椤�.pdf", value + "\\" + userId + tjNumber + "浣撴鎶ュ憡椤圭洰璇︽儏椤�.pdf", value + "\\" + tjNumber + userId + "闄勪欢.pdf", value + "\\" + tjNumber + userId + "蹇冪數鍥�.pdf"}; + files1 = new String[]{value + File.separator + userId + "浣撴鎶ュ憡灏侀潰椤�.pdf", value + File.separator + userId + tjNumber + "浣撴鎶ュ憡椤圭洰璇︽儏椤�.pdf", value + File.separator + tjNumber + userId + "闄勪欢.pdf", value + File.separator + tjNumber + userId + "蹇冪數鍥�.pdf"}; } else { - files1 = new String[]{value + "\\" + userId + "浣撴鎶ュ憡灏侀潰椤�.pdf", value + "\\" + userId + tjNumber + "浣撴鎶ュ憡椤圭洰璇︽儏椤�.pdf", value + "\\" + tjNumber + userId + "蹇冪數鍥�.pdf"}; + files1 = new String[]{value + File.separator + userId + "浣撴鎶ュ憡灏侀潰椤�.pdf", value + File.separator + userId + tjNumber + "浣撴鎶ュ憡椤圭洰璇︽儏椤�.pdf", value + File.separator + tjNumber + userId + "蹇冪數鍥�.pdf"}; } } else { if (one111112 != null) { - files1 = new String[]{value + "\\" + userId + "浣撴鎶ュ憡灏侀潰椤�.pdf", value + "\\" + userId + tjNumber + "浣撴鎶ュ憡椤圭洰璇︽儏椤�.pdf", value + "\\" + tjNumber + userId + "闄勪欢.pdf"}; + files1 = new String[]{value + File.separator + userId + "浣撴鎶ュ憡灏侀潰椤�.pdf", value + File.separator + userId + tjNumber + "浣撴鎶ュ憡椤圭洰璇︽儏椤�.pdf", value + File.separator + tjNumber + userId + "闄勪欢.pdf"}; } else { - files1 = new String[]{value + "\\" + userId + "浣撴鎶ュ憡灏侀潰椤�.pdf", value + "\\" + userId + tjNumber + "浣撴鎶ュ憡椤圭洰璇︽儏椤�.pdf"}; + files1 = new String[]{value + File.separator + userId + "浣撴鎶ュ憡灏侀潰椤�.pdf", value + File.separator + userId + tjNumber + "浣撴鎶ュ憡椤圭洰璇︽儏椤�.pdf"}; } } //鍚堝苟 -// String[] files1 = {value + "\\" + userId + "浣撴鎶ュ憡灏侀潰椤�.pdf", value + "\\" + userId + tjNumber+"浣撴鎶ュ憡椤圭洰璇︽儏椤�.pdf", value + "\\" +tjNumber+ userId + "闄勪欢.pdf", value + "\\" + tjNumber + userId + "蹇冪數鍥�.pdf"}; - String outputPath1 = value + "\\"; +// String[] files1 = {value + File.separator + userId + "浣撴鎶ュ憡灏侀潰椤�.pdf", value + File.separator + userId + tjNumber+"浣撴鎶ュ憡椤圭洰璇︽儏椤�.pdf", value + File.separator +tjNumber+ userId + "闄勪欢.pdf", value + File.separator + tjNumber + userId + "蹇冪數鍥�.pdf"}; + String outputPath1 = value + File.separator; String outputFileName1 = userId + tjNumber + tjCustomer.getCusName() + "_浣撴鎶ュ憡.pdf"; File file1 = new File(outputPath1 + outputFileName1); @@ -1393,11 +1417,11 @@ tjReport.setPrint("pdf"); tjReportService.save(tjReport); - //FileUtil.del(value + "\\" + tjNumber + "浣撴鎶ュ憡.pdf"); - //FileUtil.del(value + "\\" + userId + "浣撴鎶ュ憡灏侀潰妯℃澘.pdf"); - //FileUtil.del(value + "\\" + userId +tjNumber+ "浣撴鎶ュ憡椤圭洰璇︽儏椤�.pdf"); - //FileUtil.del(value + "\\" + userId + "浣撴鎶ュ憡灏侀潰椤�.pdf"); - //FileUtil.del(value + "\\" + userId + "蹇冪數鍥�.pdf"); + //FileUtil.del(value + File.separator + tjNumber + "浣撴鎶ュ憡.pdf"); + //FileUtil.del(value + File.separator + userId + "浣撴鎶ュ憡灏侀潰妯℃澘.pdf"); + //FileUtil.del(value + File.separator + userId +tjNumber+ "浣撴鎶ュ憡椤圭洰璇︽儏椤�.pdf"); + //FileUtil.del(value + File.separator + userId + "浣撴鎶ュ憡灏侀潰椤�.pdf"); + //FileUtil.del(value + File.separator + userId + "蹇冪數鍥�.pdf"); //淇敼order琛ㄤ腑鐨勬墦鍗版姤鍛婃椂闂翠负褰撳墠鏃堕棿 @@ -1696,22 +1720,23 @@ @ApiOperation(value = "涓嬭浇浣撴鎶ュ憡") public void preview(HttpServletResponse response, @PathVariable("flag") boolean flag, @PathVariable("TjNumber") String tjNumber) { //淇敼order琛ㄤ腑鐨勪笅杞芥姤鍛婃椂闂翠负褰撳墠鏃堕棿 - 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); +// 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); + + Date date = new Date(); +// LambdaQueryWrapper<TjOrder> wq1 = new LambdaQueryWrapper<>(); +// wq1.eq(TjOrder::getTjNumber, tjNumber); +// TjOrder tjOrder = tjOrderService.getOne(wq1); + TjOrder tjOrder = tjOrderService.getOrderByTjNum(tjNumber); - LambdaQueryWrapper<TjOrder> wq1 = new LambdaQueryWrapper<>(); - wq1.eq(TjOrder::getTjNumber, tjNumber); - TjOrder tjOrder = tjOrderService.getOne(wq1); - - - LambdaQueryWrapper<TjCustomer> wq2 = new LambdaQueryWrapper<>(); - wq2.eq(TjCustomer::getCusId, tjOrder.getUserId()); - TjCustomer tjCustomer = tjCustomerService.getOne(wq2); +// LambdaQueryWrapper<TjCustomer> wq2 = new LambdaQueryWrapper<>(); +// wq2.eq(TjCustomer::getCusId, tjOrder.getUserId()); + TjCustomer tjCustomer = tjCustomerService.getById( tjOrder.getUserId()); LambdaQueryWrapper<TjReport> we = new LambdaQueryWrapper<>(); @@ -1723,9 +1748,9 @@ } String userId = SecurityUtils.getLoginUser().getUsername(); - PDFBinaryUtil.base64StringToPDF(one.getReport(), FileUtil.mkdir(value).getPath() + "\\" + userId + tjNumber + tjCustomer.getCusName() + "_浣撴鎶ュ憡.pdf"); + PDFBinaryUtil.base64StringToPDF(one.getReport(), FileUtil.mkdir(value).getPath() + File.separator + userId + tjNumber + tjCustomer.getCusName() + "_浣撴鎶ュ憡.pdf"); //String filePath = one.getPath(); - String filePath = value + "\\" + userId + tjNumber + tjCustomer.getCusName() + "_浣撴鎶ュ憡.pdf"; + String filePath = value + File.separator + userId + tjNumber + tjCustomer.getCusName() + "_浣撴鎶ュ憡.pdf"; File f = new File(filePath); if (filePath.isEmpty()) { System.out.println("鏂囦欢涓嶅瓨鍦紒"); @@ -1758,6 +1783,17 @@ out = response.getOutputStream(); 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(); @@ -2049,6 +2085,8 @@ } else { one.setStatus(TjConstants.TJ_CONFIRM); } + one.setReportTime(null); + one.setCheckTime(null); //灏嗙姸鎬佹敼涓烘湭瀹℃牳 // UpdateWrapper updateWrapper=new UpdateWrapper(); // updateWrapper.eq("tj_number",tjNumber); -- Gitblit v1.8.0