From d9006551fff47c172ea6a0672af7dd21df34f28f Mon Sep 17 00:00:00 2001 From: zhaowenxuan <chacca165@163.com> Date: 星期六, 15 二月 2025 15:05:45 +0800 Subject: [PATCH] 20250215 --- ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjReportController.java | 888 ++++------------------------------------------------------ 1 files changed, 69 insertions(+), 819 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 a360ec8..3243c0d 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 @@ -25,6 +25,7 @@ import com.ltkj.common.utils.PDFDocumentUtil; import com.ltkj.common.utils.SecurityUtils; import com.ltkj.common.utils.StringUtils; +import com.ltkj.db.DataSourceContextHolder; import com.ltkj.framework.config.MatchUtils; import com.ltkj.hosp.domain.*; import com.ltkj.hosp.service.*; @@ -39,6 +40,7 @@ import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiParam; +import jodd.util.StringUtil; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Value; import org.springframework.beans.factory.annotation.Autowired; @@ -114,18 +116,21 @@ public AjaxResult savePdf() { //浠庢枃浠跺湴鍧�璇诲叆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("淇濆瓨鎴愬姛"); + if(StringUtil.isNotBlank(base64String)){ + 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("淇濆瓨鎴愬姛"); + } } + return AjaxResult.success("淇濆瓨澶辫触"); // String base64String2 = PDFBinaryUtil.getPDFBinary("D:\\Tjreport\\蹇冪數鍥�1.pdf"); // TjReport tem2 = new TjReport(); @@ -310,18 +315,18 @@ TjOrder tjOrder = tjOrderService.getOrderByTjNum(tjNumber); if (null != tjOrder) { - String config = configService.selectConfigByKey("sfjcwjhyqxm"); - if(null != config && config.equalsIgnoreCase("Y")){ - int num = tjOrderRemarkService.getTjYqOrderRemarkByTjNum(tjNumber); - if (num > 0) { - tjOrder.setReportTime(null); - tjOrder.setCheckTime(null); - tjOrder.setCheckStatus(0); - tjOrder.setPrintLastTime(null); - tjOrderService.updateById(tjOrder); - return AjaxResult.error("瀛樺湪鏈鎴栧欢鏈熼」鐩殏涓嶈兘鐢熸垚鎶ュ憡!!!"); + String config = configService.selectConfigByKey("sfjcwjhyqxm"); + if(null != config && config.equalsIgnoreCase("Y")){ + int num = tjOrderRemarkService.getTjYqOrderRemarkByTjNum(tjNumber); + if (num > 0) { + tjOrder.setReportTime(null); + tjOrder.setCheckTime(null); + tjOrder.setCheckStatus(0); + tjOrder.setPrintLastTime(null); + tjOrderService.updateById(tjOrder); + return AjaxResult.error("瀛樺湪鏈鎴栧欢鏈熼」鐩殏涓嶈兘鐢熸垚鎶ュ憡!!!"); + } } - } //鍒ゆ柇琛ㄤ腑鏈夋病鏈夎浣撴鎶ュ憡 涓嶈兘閲嶅鐢熸垚 LambdaQueryWrapper<TjReport> wqa = new LambdaQueryWrapper<>(); wqa.eq(TjReport::getTjNumber, tjNumber); @@ -416,7 +421,7 @@ tjOrder.setPrintLastTime(null); tjOrderService.updateById(tjOrder); - logger.error("鐢熸垚鎶ュ憡寮傚父"); + logger.error(String.valueOf(e)); return AjaxResult.error("鐢熸垚鎶ュ憡澶辫触"); } } else { @@ -486,288 +491,6 @@ } //灏嗙姸鎬佹敼涓烘湭瀹℃牳 tjOrderService.updateById(one); - } - - private AjaxResult newFun(String tjNumber) { - long startTime = System.currentTimeMillis(); - int num = tjOrderRemarkService.getTjYqOrderRemarkByTjNum(tjNumber); - if (num > 0) { - return AjaxResult.error("鏈夊欢鏈熼」鐩殏涓嶈兘鐢熸垚鎶ュ憡!!!"); - } - 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); - } - //鍒ゆ柇琛ㄤ腑鏈夋病鏈夎浣撴鎶ュ憡 涓嶈兘閲嶅鐢熸垚 - 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("璇ュ鎴锋姤鍛婂凡鐢熸垚锛佷笉鑳介噸澶嶇敓鎴愶紒鍙洿鎺ラ瑙堟垨鎵撳嵃锛�"); - } - Integer checkStatus = tjOrder.getCheckStatus(); - if (checkStatus == 1) { - //鍒ゆ柇鎶ュ憡鐢熸垚 淇濆瓨绫诲瀷 2024/2/29 - if ("鎶ヨ〃".equals(reportTemplate.getPrint())) { - TjReport tjReport = new TjReport(); - tjReport.setTjNumber(String.valueOf(tjNumber)); - tjReport.setPath(reportTemplate.getUrl() + "?tjNum=" + tjNumber); - tjReport.setType("浣撴鎶ュ憡"); - tjReport.setPrint("鎶ヨ〃"); - tjReportService.save(tjReport); - //淇敼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); - return AjaxResult.success("宸茬敓鎴愭姤鍛婏紒鍙洿鎺ョ偣鍑婚瑙堬紒"); - } - String template = reportTemplate.getTemplate(); - String userId = SecurityUtils.getLoginUser().getUsername(); - if (template == null) { - return AjaxResult.error("娌℃湁璇ユā鏉�"); - } - // --------浠ヤ笂------- 鏍规嵁鏁版嵁搴撲腑鐨勬ā鏉夸簩杩涘埗鏂囦欢 杞琾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()); - //20230306鍒ゆ柇璇ラ」鐩槸鍚﹂��璐�/缂磋垂 - wq2.isNotNull(TjOrderDetail::getFlowingWaterId); - //20230323鍒ゆ柇璇ラ」鐩槸鍚﹀純妫�/鏈 -// wq2.eq(TjOrderDetail::getTjStatus,1); - 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("C:Windows\\Fonts\\simfang.ttf", BaseFont.IDENTITY_H, BaseFont.EMBEDDED); - 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()); - } - System.out.println("pdf濉厖琛ㄥ崟鏁版嵁鑰楁椂锛�" + (System.currentTimeMillis() - pdfMkStart)); - //璁剧疆涓烘棤娉曠紪杈� - 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); - } - } - } - long fujianEnd = System.currentTimeMillis(); - System.out.println("闄勪欢鏌ヨ鑰楁椂锛�" + (fujianEnd - fujianStart)); - System.out.println("鏂囦欢淇濆瓨鍓嶈�楁椂锛�" + (fujianEnd - pdfMkStart)); - // 淇濆瓨pdf鏂囦欢 - copy.close(); - 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)); - outputStream.write(finalOutPut.toByteArray()); - outputStream.flush(); - outputStream.close(); - document.close(); - finalOutPut.close(); - reader.close(); - // 淇濆瓨鏁版嵁 - TjReport tjReport = new TjReport(); - tjReport.setTjNumber(String.valueOf(tjNumber)); - tjReport.setPath(urlValue + outputFileName1); - String pdfBinary = getPDFBinary(outputPath1 + outputFileName1); - tjReport.setReport(pdfBinary); - tjReport.setType("浣撴鎶ュ憡"); - tjReport.setPrint("pdf"); - tjReportService.save(tjReport); - //淇敼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); - long entTime = System.currentTimeMillis(); - System.out.println("PDF寮�濮嬪垱寤哄埌缁撴潫鑰楁椂锛�" + (entTime - pdfMkStart)); - System.out.println("鎬昏�楁椂锛�" + (entTime - startTime) + "ms"); - return AjaxResult.success("宸茬敓鎴愭姤鍛婏紒鍙洿鎺ョ偣鍑婚瑙堬紒"); - } catch (Exception e) { - e.printStackTrace(); - return AjaxResult.success("PDF瀵煎嚭澶辫触"); - } - - } - } - return AjaxResult.success(); } private void setUserInfo(String tjNumber, TjOrder tjOrder, TjCustomer tjCustomer, DictComp dictComp, List<TjOrderDetail> list, Map<String, Object> data) { @@ -980,482 +703,6 @@ document.close(); pdfWriter.close(); return byteArrayOutputStream; - } - - 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("鏈夊欢鏈熼」鐩殏涓嶈兘鐢熸垚鎶ュ憡!!!"); - 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); - } - - - //鍒ゆ柇琛ㄤ腑鏈夋病鏈夎浣撴鎶ュ憡 涓嶈兘閲嶅鐢熸垚 - LambdaQueryWrapper<TjReport> wqa = new LambdaQueryWrapper<>(); - wqa.eq(TjReport::getTjNumber, tjNumber); - wqa.eq(TjReport::getType, "浣撴鎶ュ憡"); - List<TjReport> list2 = tjReportService.list(wqa); - if (list2.size() != 0) { - return AjaxResult.error("璇ュ鎴锋姤鍛婂凡鐢熸垚锛佷笉鑳介噸澶嶇敓鎴愶紒鍙洿鎺ラ瑙堟垨鎵撳嵃锛�"); - } - - - Integer checkStatus = tjOrder.getCheckStatus(); - if (checkStatus == 1) { - //鍒ゆ柇鎶ュ憡鐢熸垚 淇濆瓨绫诲瀷 2024/2/29 - if ("鎶ヨ〃".equals(reportTemplate.getPrint())) { - TjReport tjReport = new TjReport(); - tjReport.setTjNumber(String.valueOf(tjNumber)); - tjReport.setPath(reportTemplate.getUrl() + "?tjNum=" + tjNumber); - tjReport.setType("浣撴鎶ュ憡"); - tjReport.setPrint("鎶ヨ〃"); - tjReportService.save(tjReport); - //淇敼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); - return AjaxResult.success("宸茬敓鎴愭姤鍛婏紒鍙洿鎺ョ偣鍑婚瑙堬紒"); - } - - - String template = reportTemplate.getTemplate(); - String userId = SecurityUtils.getLoginUser().getUsername(); - if (template != null) { - PDFBinaryUtil.base64StringToPDF(template, FileUtil.mkdir(value).getPath() + File.separator + userId + "浣撴鎶ュ憡灏侀潰妯℃澘.pdf"); - } - // --------浠ヤ笂------- 鏍规嵁鏁版嵁搴撲腑鐨勬ā鏉夸簩杩涘埗鏂囦欢 杞琾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()); - //20230306鍒ゆ柇璇ラ」鐩槸鍚﹂��璐�/缂磋垂 - wq2.isNotNull(TjOrderDetail::getFlowingWaterId); - //20230323鍒ゆ柇璇ラ」鐩槸鍚﹀純妫�/鏈 -// wq2.eq(TjOrderDetail::getTjStatus,1); - List<TjOrderDetail> list = tjOrderDetailService.list(wq2); - for (TjOrderDetail tjOrderDetail : list) { - TjProject tjProject = projectService.selectTjProjectByProId(tjOrderDetail.getProId()); - tjOrderDetail.setProject(tjProject); - } - - String inputFileName = value + File.separator + userId + "浣撴鎶ュ憡灏侀潰妯℃澘.pdf"; - String outputFileName = value + File.separator + userId + "浣撴鎶ュ憡灏侀潰椤�.pdf"; - OutputStream os = null; - PdfStamper ps = null; - PdfReader reader = null; - File file = new File(outputFileName); - try { - os = Files.newOutputStream(file.toPath()); - // 璇诲叆pdf琛ㄥ崟 - reader = new PdfReader(inputFileName); - // 鏍规嵁琛ㄥ崟鐢熸垚涓�涓柊鐨刾df - ps = new PdfStamper(reader, os); - // 鑾峰彇pdf琛ㄥ崟 - AcroFields form = ps.getAcroFields(); - //璇ュ瓧浣撻�犳垚绫诲瀷涓嶅潎鍖�锛屼絾鏄痯df杞浘鐗囦笉涔辩爜 - //BaseFont bf = BaseFont.createFont("C:Windows\\Fonts\\simfang.ttf", BaseFont.IDENTITY_H, BaseFont.EMBEDDED); - BaseFont bf = BaseFont.createFont("STSong-Light", "UniGB-UCS2-H", BaseFont.NOT_EMBEDDED); - form.addSubstitutionFont(bf); - - // 濉厖鏁版嵁缁欒〃鏍� - Map<String, Object> data = new HashMap<>(); - - //濉厖鎬у埆锛氬垽鏂敺濂� - Long cusSex = tjCustomer.getCusSex(); - String sex; - String name1; - String tjtype; - if (cusSex == 0) { - sex = "鐢�"; - name1 = tjCustomer.getCusName() + "鍏堢敓"; - } else { - sex = "濂�"; - name1 = tjCustomer.getCusName() + "濂冲+"; - } - data.put("name", tjCustomer.getCusName()); - data.put("cusId", tjCustomer.getCusId()); - data.put("name1", name1); - if ("1".equals(tjOrder.getTjType())) { - tjtype = "鍥㈤槦"; - data.put("tjtype", tjtype); - } else { - tjtype = "涓汉"; - data.put("tjtype", tjtype); - } - data.put("dstype", "缁熶竴"); - data.put("sex", sex); - data.put("age", DateUtil.ageOfNow(tjCustomer.getCusBrithday())); - data.put("tjnumber", tjNumber); - data.put("tjdate", DateUtils.parseDateToStr("yyyy/MM/dd", tjOrder.getCreateTime())); - data.put("phone", tjCustomer.getCusPhone()); - data.put("idcard", MatchUtils.hideIdCardNum(tjCustomer.getCusIdcard())); - data.put("num1", list.size()); - data.put("num2", 0); - data.put("num3", 4); - if (dictComp == null) { - data.put("work", "鏃�"); - } else { - data.put("work", dictComp.getCnName()); - } - //灏侀潰椤典笅闈㈢殑鎬绘寤鸿鏄剧ず - 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) + "銆�" + list1.get(i).getProName() + ";\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) + "銆�" + projectService.getById(list.get(i).getProId()).getProName() + ";\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(); - os.close(); - reader.close(); - - //====================================浠ヤ笂灏侀潰椤碉紝浠ヤ笅璇︽儏椤� - //鏂囨。瀵硅薄 瀹炵幇A4绾搁〉闈� - Document document = new Document(PageSize.A4); - //document.setMarginMirroring(true); - //璁剧疆鏂囨。鐨勯〉杈硅窛灏辨槸璺濈椤甸潰杈逛笂鐨勮窛绂伙紝鍒嗗埆涓猴細宸﹁竟璺濓紝鍙宠竟璺濓紝涓婅竟璺濓紝涓嬭竟璺� - document.setMargins(70, 70, 40, 40); - //鐢熸垚pdf鐨勪綅缃互鍙婂悕绉� - String fileName = value + File.separator + userId + tjNumber + "浣撴鎶ュ憡椤圭洰璇︽儏椤�.pdf"; - OutputStream outputStream = Files.newOutputStream(Paths.get(fileName)); - PdfWriter pdfWriter = PdfWriter.getInstance(document, outputStream); - - //pdfWriter.setPageEvent(new MyHeaderFooter());// 椤电湁椤佃剼 - - document.open(); - - document.add(new Header("鍋ュ悍浣撴缁撴灉", "鍋ュ悍浣撴缁撴灉")); - - - Map<TjOrderRemark, List<TjPdfVO>> tjOrderRemarkObjectMap = addTable(tjNumber); - Map<TjOrderRemark, List<TjPdfVO>> tjOrderRemarkListMap = addHuaYanTable(tjNumber); - tjOrderRemarkObjectMap.putAll(tjOrderRemarkListMap); - for (Map.Entry<TjOrderRemark, List<TjPdfVO>> entry : tjOrderRemarkObjectMap.entrySet()) { - List<TjPdfVO> value = entry.getValue(); - LambdaQueryWrapper<TjProject> wqqq = new LambdaQueryWrapper<>(); - wqqq.eq(TjProject::getProId, entry.getKey().getProId()); - TjProject one11 = projectService.getOne(wqqq); - //鍒ゆ柇璇ラ」鐩槸鍚﹂渶瑕佹墦鍗版姤鍛� - if (null != one11 && "N".equals(one11.getNeedReport())) { - continue; - } - String titleName = null; - if (null != one11 && "1".equals(one11.getResultType())) { - titleName = one11.getProName(); - // 璁剧疆鏍囬瀛椾綋鏍峰紡 - Font titleFonts = PdfUtils.setFont(9); - Paragraph paragraph = PdfUtils.setParagraph(titleFonts, titleName); - - String[] titles = {"浣撴椤圭洰", "浣撴缁撴灉"}; - // 鑾峰彇鍒楄〃鏁版嵁 - //璁剧疆琛ㄥご瀛椾綋鏍峰紡 - Font headFont = PdfUtils.setFont(9); - // 璁剧疆姝f枃瀛椾綋鏍峰紡锛�12鍙� - Font textFont = PdfUtils.setFont(9); - //鍒涘缓琛ㄦ牸 灏嗚〃澶村瓧浣撳拰姝f枃瀛椾綋鏀捐繘鍘� - PdfPTable table = PdfUtils.setTable1(headFont, textFont, titles, value); - document.add(paragraph); - document.add(table); - - //鍒ゆ柇澶囨敞鏄惁涓虹┖ 绌轰笉鑳芥樉绀簄ull - if (entry.getKey().getRemark() == null) { - entry.getKey().setRemark(""); - } - - String remark = "澶囨敞锛�" + entry.getKey().getRemark(); - if (entry.getKey().getRemark().length() > 50) { - int j = 0; - for (int i = 0; i < remark.length() / 50; i++) { - String substring = remark.substring(j, j + 50); - Font remarkFonts = PdfUtils.setFont(9); - Paragraph pp = PdfUtils.setParagraph(remarkFonts, substring); - document.add(pp); - j = j + 50; - } - if (remark.length() % 50 != 0) { - String substring = remark.substring((remark.length() / 50) * 50, remark.length() - 1); - Font remarkFonts = PdfUtils.setFont(9); - Paragraph pp = PdfUtils.setParagraph(remarkFonts, substring); - document.add(pp); - } - } else { - Font remarkFonts = PdfUtils.setFont(9); - Paragraph pp = PdfUtils.setParagraph(remarkFonts, remark); - document.add(pp); - } - - //鍒ゆ柇涓绘鍖诲笀鏄惁涓虹┖ 绌轰笉鑳芥樉绀簄ull - if (null != entry.getKey().getDoctorName() && null != userService.getById(entry.getKey().getDoctorName())) { - //涓绘鍖诲笀 - String doctorName = "涓绘鍖诲笀锛�" + userService.getById(entry.getKey().getDoctorName()).getNickName(); - Font doctorFonts = PdfUtils.setFont(9); - Paragraph df = PdfUtils.setParagraph(doctorFonts, doctorName); - df.setAlignment(Element.ALIGN_RIGHT); - document.add(df); - } else { - String doctorName = "涓绘鍖诲笀锛�" + "鏃�"; - Font doctorFonts = PdfUtils.setFont(9); - Paragraph df = PdfUtils.setParagraph(doctorFonts, doctorName); - df.setAlignment(Element.ALIGN_RIGHT); - document.add(df); - - } - - //鍒嗗壊绾� - LineSeparator objectName = new LineSeparator(); - document.add(objectName); - } else { - if (null != one11) { - titleName = one11.getProName(); - } else { - titleName = entry.getKey().getProName(); - } - - // 璁剧疆鏍囬瀛椾綋鏍峰紡 - Font titleFonts = PdfUtils.setFont(9); - Paragraph paragraph = PdfUtils.setParagraph(titleFonts, titleName); - - String[] titles = {"浣撴椤圭洰", "浣撴缁撴灉", "鍗曚綅", "鍙傝�冭寖鍥�"}; - // 鑾峰彇鍒楄〃鏁版嵁 - //璁剧疆琛ㄥご瀛椾綋鏍峰紡 - Font headFont = PdfUtils.setFont(9); - // 璁剧疆姝f枃瀛椾綋鏍峰紡锛�12鍙� - Font textFont = PdfUtils.setFont(9); - //鍒涘缓琛ㄦ牸 灏嗚〃澶村瓧浣撳拰姝f枃瀛椾綋鏀捐繘鍘� - PdfPTable table = PdfUtils.setTable(headFont, textFont, titles, value,dictHosp.equals("婢勫悎鐭垮姟灞�涓績鍖婚櫌")); - document.add(paragraph); - document.add(table); - - //鍒ゆ柇澶囨敞鏄惁涓虹┖ 绌轰笉鑳芥樉绀簄ull - if (entry.getKey().getRemark() == null) { - entry.getKey().setRemark(""); - } - - String remark = "澶囨敞锛�" + entry.getKey().getRemark(); - if (entry.getKey().getRemark().length() > 50) { - int j = 0; - for (int i = 0; i < remark.length() / 50; i++) { - String substring = remark.substring(j, j + 50); - Font remarkFonts = PdfUtils.setFont(9); - Paragraph pp = PdfUtils.setParagraph(remarkFonts, substring); - document.add(pp); - j = j + 50; - } - if (remark.length() % 50 != 0) { - String substring = remark.substring((remark.length() / 50) * 50, remark.length() - 1); - Font remarkFonts = PdfUtils.setFont(9); - Paragraph pp = PdfUtils.setParagraph(remarkFonts, substring); - document.add(pp); - } - } else { - Font remarkFonts = PdfUtils.setFont(9); - Paragraph pp = PdfUtils.setParagraph(remarkFonts, remark); - document.add(pp); - } - - //鍒ゆ柇涓绘鍖诲笀鏄惁涓虹┖ 绌轰笉鑳芥樉绀簄ull - if (null != entry.getKey().getDoctorName() && null != userService.getById(entry.getKey().getDoctorName())) { - //涓绘鍖诲笀 - String doctorName = "涓绘鍖诲笀锛�" + userService.getById(entry.getKey().getDoctorName()).getNickName(); - Font doctorFonts = PdfUtils.setFont(9); - Paragraph df = PdfUtils.setParagraph(doctorFonts, doctorName); - df.setAlignment(Element.ALIGN_RIGHT); - document.add(df); - } else { - String doctorName = "涓绘鍖诲笀锛�" + "鏃�"; - Font doctorFonts = PdfUtils.setFont(9); - Paragraph df = PdfUtils.setParagraph(doctorFonts, doctorName); - df.setAlignment(Element.ALIGN_RIGHT); - document.add(df); - } - //鍒嗗壊绾� - LineSeparator objectName = new LineSeparator(); - document.add(objectName); - } - } - document.close(); - pdfWriter.close(); - outputStream.close(); - -// LambdaQueryWrapper<TjReport> rtwq1 = new LambdaQueryWrapper<>(); -// rtwq1.eq(TjReport::getType, "鍖诲鍚嶈瘝"); -//// rtwq1.eq(TjReport::getTjNumber, tjNumber); -// TjReport one11111 = tjReportService.getOne(rtwq1); -// if(null !=one11111){ -// String report1 = one11111.getReport(); -// PDFBinaryUtil.base64StringToPDF(report1, FileUtil.mkdir(value).getPath() + File.separator + userId + "鍖诲鍚嶈瘝.pdf"); -// } - - LambdaQueryWrapper<TjReport> rtwq = new LambdaQueryWrapper<>(); - rtwq.eq(TjReport::getType, "蹇冪數鍥�"); - rtwq.eq(TjReport::getTjNumber, tjNumber); - TjReport one1111 = tjReportService.getOne(rtwq); - if (null != one1111) { - String report = one1111.getReport(); - PDFBinaryUtil.base64StringToPDF(report, FileUtil.mkdir(value).getPath() + File.separator + tjNumber + userId + "蹇冪數鍥�.pdf"); - } - - LambdaQueryWrapper<TjReport> rtwq12 = new LambdaQueryWrapper<>(); - rtwq12.eq(TjReport::getType, "闄勪欢"); - rtwq12.eq(TjReport::getTjNumber, tjNumber); - TjReport one111112 = tjReportService.getOne(rtwq12); - if (null != one111112) { - String report12 = one111112.getReport(); - 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 + 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 + File.separator + userId + "浣撴鎶ュ憡灏侀潰椤�.pdf", value + File.separator + userId + tjNumber + "浣撴鎶ュ憡椤圭洰璇︽儏椤�.pdf", value + File.separator + tjNumber + userId + "蹇冪數鍥�.pdf"}; - } - } else { - if (one111112 != null) { - 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 + File.separator + userId + "浣撴鎶ュ憡灏侀潰椤�.pdf", value + File.separator + userId + tjNumber + "浣撴鎶ュ憡椤圭洰璇︽儏椤�.pdf"}; - } - } - //鍚堝苟 -// 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); - List<File> f = new ArrayList<>(); - for (String s : files1) { - f.add(new File(s)); - } - MergePdf.mergeFileToPDF(f, file1); - - TjReport tjReport = new TjReport(); - tjReport.setTjNumber(String.valueOf(tjNumber)); - tjReport.setPath(urlValue + outputFileName1); - String pdfBinary = getPDFBinary(outputPath1 + outputFileName1); - tjReport.setReport(pdfBinary); - tjReport.setType("浣撴鎶ュ憡"); - tjReport.setPrint("pdf"); - tjReportService.save(tjReport); - - //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琛ㄤ腑鐨勬墦鍗版姤鍛婃椂闂翠负褰撳墠鏃堕棿 - 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); - long entTime = System.currentTimeMillis(); - System.out.println(entTime - startTime + "ms"); - return AjaxResult.success("宸茬敓鎴愭姤鍛婏紒鍙洿鎺ョ偣鍑婚瑙堬紒"); - - } catch (Exception e) { - e.printStackTrace(); - return AjaxResult.success("PDF瀵煎嚭澶辫触"); - } finally { -// transitionService.deletedTbTransitionListByCusIdAndTjNum(tjCustomer.getCusIdcard(), tjOrder.getCardId()); - } - } - } - return null; } @@ -1711,7 +958,7 @@ we.eq(TjReport::getType, "浣撴鎶ュ憡"); TjReport one = tjReportService.getOne(we); if (one == null) { - return AjaxResult.error("鏆傛棤浣撴鎶ュ憡"); + return AjaxResult.error("鏆傛棤浣撴鎶ュ憡,璇锋挙鍥炲埌鎬绘鏈鏍搁〉闈�,闇�鎬绘鍖荤敓閲嶆柊瀹℃牳骞剁敓鎴愭姤鍛�!"); } if ("pdf".equals(one.getPrint())) { res.put("flag", "0"); @@ -1721,7 +968,7 @@ res.put("url", one.getPath()); return AjaxResult.success(res); } else { - return AjaxResult.error("鏆傛棤浣撴鎶ュ憡"); + return AjaxResult.error("鏆傛棤浣撴鎶ュ憡,璇锋挙鍥炲埌鎬绘鏈鏍搁〉闈�,闇�鎬绘鍖荤敓閲嶆柊瀹℃牳骞剁敓鎴愭姤鍛�!"); } } @@ -1732,21 +979,20 @@ public void preview(HttpServletResponse response, @PathVariable("flag") boolean flag, @PathVariable("TjNumber") String tjNumber) { TjOrder tjOrder = tjOrderService.getOrderByTjNum(tjNumber); TjCustomer tjCustomer = tjCustomerService.getById( tjOrder.getUserId()); - LambdaQueryWrapper<TjReport> we = new LambdaQueryWrapper<>(); - we.eq(TjReport::getTjNumber, tjNumber); - we.eq(TjReport::getType, "浣撴鎶ュ憡"); - TjReport one = tjReportService.getOne(we); - if (one == null) { - return; - } - String userId = SecurityUtils.getLoginUser().getUsername(); - PDFBinaryUtil.base64StringToPDF(one.getReport(), FileUtil.mkdir(value).getPath() + File.separator + userId + tjNumber + tjCustomer.getCusName() + "_浣撴鎶ュ憡.pdf"); - String filePath = value + File.separator + userId + tjNumber + tjCustomer.getCusName() + "_浣撴鎶ュ憡.pdf"; +// LambdaQueryWrapper<TjReport> we = new LambdaQueryWrapper<>(); +// we.eq(TjReport::getTjNumber, tjNumber); +// we.eq(TjReport::getType, "浣撴鎶ュ憡"); +// TjReport one = tjReportService.getOne(we); +// if (one == null) { +// return; +// } + String key = DataSourceContextHolder.getDataSourceKey(); + key = key.replace("ltkjpeis10_",""); +// String userId = SecurityUtils.getLoginUser().getUsername(); +// PDFBinaryUtil.base64StringToPDF(one.getReport(), FileUtil.mkdir(value).getPath() + File.separator + key + File.separator + userId + tjNumber + tjCustomer.getCusName() + "_浣撴鎶ュ憡.pdf"); + String filePath = value + File.separator + key + File.separator + tjCustomer.getCusId() + tjNumber + tjCustomer.getCusName() + "_鎶ュ憡.pdf"; + log.info("棰勮鎶ュ憡 ->{}",filePath); File f = new File(filePath); - if (filePath.isEmpty()) { - System.out.println("鏂囦欢涓嶅瓨鍦紒"); - return; - } BufferedInputStream br = null; OutputStream out = null; FileInputStream fileInputStream = null; @@ -1763,13 +1009,13 @@ String contentType = u.openConnection().getContentType(); response.setContentType(contentType); response.setHeader("Content-Disposition", "inline;filename=" - + userId + tjNumber + ".pdf"); + + tjCustomer.getCusId() + tjNumber + ".pdf"); } else { // 绾笅杞芥柟寮� response.setContentType("application/x-msdownload"); response.setContentType("application/pdf;charset=utf-8"); response.setHeader("Content-Disposition", "attachment;filename=" - + userId + tjNumber + ".pdf"); + + tjCustomer.getCusId() + tjNumber + ".pdf"); } out = response.getOutputStream(); while ((len = br.read(bs)) > 0) { @@ -1823,10 +1069,12 @@ if (one == null) { return; } + String key = DataSourceContextHolder.getDataSourceKey(); + key = key.replace("ltkjpeis10_",""); - String userId = SecurityUtils.getLoginUser().getUsername(); - PDFBinaryUtil.base64StringToPDF(one.getReport(), FileUtil.mkdir(value).getPath() + File.separator + userId + tjNumber + tjCustomer.getCusName() + "_浣撴鎶ュ憡.pdf"); - String filePath = value + File.separator + userId + tjNumber + tjCustomer.getCusName() + "_浣撴鎶ュ憡.pdf"; +// 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"; File f = new File(filePath); if (filePath.isEmpty()) { System.out.println("鏂囦欢涓嶅瓨鍦紒"); @@ -1848,13 +1096,13 @@ String contentType = u.openConnection().getContentType(); response.setContentType(contentType); response.setHeader("Content-Disposition", "inline;filename=" - + userId + tjNumber + ".pdf"); + + tjCustomer.getCusId() + tjNumber + ".pdf"); } else { // 绾笅杞芥柟寮� response.setContentType("application/x-msdownload"); response.setContentType("application/pdf;charset=utf-8"); response.setHeader("Content-Disposition", "attachment;filename=" - + userId + tjNumber + ".pdf"); + + tjCustomer.getCusId() + tjNumber + ".pdf"); } out = response.getOutputStream(); while ((len = br.read(bs)) > 0) { @@ -2135,20 +1383,8 @@ @GetMapping("/revocationReport/{TjNumber}") @ApiOperation(value = "鎾ら攢鐢熸垚浣撴鎶ュ憡") + @Transactional public AjaxResult revocationReport(@PathVariable("TjNumber") String tjNumber) { - //閫昏緫鍒犻櫎鏁版嵁搴撻噷鐨勬姤鍛� - QueryWrapper<TjReport> wq1 = new QueryWrapper<>(); - wq1.select("re_id"); - wq1.eq("tj_number", tjNumber); - wq1.eq("type", "浣撴鎶ュ憡"); - TjReport tjReport = tjReportService.getOne(wq1); - if (null != tjReport) { - // 涓嶅湪浣跨敤閫昏緫鍒犻櫎 閫昏緫鍒犻櫎瀵艰嚧鎵撳嵃鎶ュ憡鐢熸垚 鏌ヨsql缂撴參 - int i = tjReportService.deleteTjReportByReId(tjReport.getReId()); - if (i == 0) { - return AjaxResult.error("鎾ゅ洖澶辫触锛�"); - } - } TjOrder one = tjOrderService.getOrderByTjNum(tjNumber); if(null !=one){ @@ -2169,11 +1405,25 @@ one.setPrintLastTime(null); one.setDownloadLastTime(null); if (tjOrderService.updateById(one)) { -// ycxmService.delOrderYcXmJyByTjh(tjNumber); + + //閫昏緫鍒犻櫎鏁版嵁搴撻噷鐨勬姤鍛� + QueryWrapper<TjReport> wq1 = new QueryWrapper<>(); + wq1.select("re_id"); + wq1.eq("tj_number", tjNumber); + wq1.eq("type", "浣撴鎶ュ憡"); + TjReport tjReport = tjReportService.getOne(wq1); + if (null != tjReport) { + // 涓嶅湪浣跨敤閫昏緫鍒犻櫎 閫昏緫鍒犻櫎瀵艰嚧鎵撳嵃鎶ュ憡鐢熸垚 鏌ヨsql缂撴參 + int i = tjReportService.deleteTjReportByReId(tjReport.getReId()); + if (i == 0) { + return AjaxResult.error("鏆傛棤浣撴鎶ュ憡,璇锋挙鍥炲埌鎬绘鏈鏍搁〉闈�,闇�鎬绘鍖荤敓閲嶆柊瀹℃牳骞剁敓鎴愭姤鍛�!"); + } + } + return AjaxResult.success("鎾ゅ洖鎴愬姛锛�"); } } - return AjaxResult.error("鎾ゅ洖澶辫触锛�"); + return AjaxResult.error("璇ヤ汉鍛樹綋妫�璁板綍涓嶅瓨鍦�,璇锋牳瀹炰汉鍛樹俊鎭�!"); } -- Gitblit v1.8.0