From 5f1d1c462bbf49bc6a22b9e17b49733bcc1e0bc6 Mon Sep 17 00:00:00 2001 From: zjh <1084500556@qq.com> Date: 星期五, 20 六月 2025 19:01:13 +0800 Subject: [PATCH] zjh20250620 --- ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjReportController.java | 1368 +++++++++++++++++++++++++++++++++-------------------------- 1 files changed, 765 insertions(+), 603 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 7874ca1..3150cf6 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 jodd.util.StringUtil; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Value; import org.springframework.beans.factory.annotation.Autowired; @@ -81,8 +82,8 @@ private IDictCompService dictCompService; @Resource private ITjReportTemplateService reportTemplateService; - @Value("${path.filePath}") - private String value; +// @Value("${path.filePath}") +// private String value; @Value("${path.reportServer}") private String urlValue; @Resource @@ -102,24 +103,33 @@ private ITjBigPositiveService tjBigPositiveService; @Autowired private HisPDFUtil hisPDFUtil; + @Autowired + private IDictHospService dictHospService; + @Autowired + private ITjReportPrintService printService; + @Autowired + private TjOrderYcxmService ycxmService; @GetMapping("/savePdf") @ApiOperation(value = "浠庢湰鍦板瓨鍌ㄦā鏉垮埌鏁版嵁搴�") 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(); @@ -273,7 +283,7 @@ @GetMapping("/toPdf/{TjNumber}") @ApiOperation(value = "鎵撳嵃浣撴鎶ュ憡涓簆df") - @Transactional +// @Transactional public AjaxResult toPdf(@PathVariable("TjNumber") @ApiParam(value = "浣撴鍙�") String tjNumber) { // AjaxResult error = null; // 涔嬪墠鐨勪唬鐮� 浼樺寲閫熷害 @@ -301,26 +311,32 @@ // return error; // } // return AjaxResult.success("璇ョ敤鎴蜂綋妫�鏈畬鎴愶紝涓嶈兘鎵撳嵃鎶ュ憡锛侊紒锛�"); + + 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) return AjaxResult.error("瀛樺湪鏈鎴栧欢鏈熼」鐩殏涓嶈兘鐢熸垚鎶ュ憡!!!"); + if (num > 0) { + tjOrder.setReportTime(null); + tjOrder.setCheckTime(null); + tjOrder.setCheckStatus(0); + tjOrder.setPrintLastTime(null); + tjOrderService.updateById(tjOrder); + 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<TjReport> wqa = new LambdaQueryWrapper<>(); wqa.eq(TjReport::getTjNumber, tjNumber); wqa.eq(TjReport::getType, "浣撴鎶ュ憡"); Integer count = tjReportService.getSelectCount(wqa); - if (tjOrder.getReportTime() !=null || count != 0 ) { +// tjOrder.setReportTime(null); +// tjOrder.setCheckTime(null); +// tjOrder.setCheckStatus(0); +// tjOrder.setPrintLastTime(null); +// tjOrderService.updateById(tjOrder); return AjaxResult.error("璇ュ鎴锋姤鍛婂凡鐢熸垚锛佷笉鑳介噸澶嶇敓鎴愶紒鍙洿鎺ラ瑙堟垨鎵撳嵃锛�"); } @@ -367,37 +383,44 @@ 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::getPrintLastTime, new Date()); +// updateWrapper.set(TjOrder::getDownloadLastTime, new Date()); updateWrapper.set(TjOrder::getStatus, TjConstants.TJ_END); tjOrderService.update(updateWrapper); return AjaxResult.success("宸茬敓鎴愭姤鍛婏紒鍙洿鎺ョ偣鍑婚瑙堬紒"); } - String hisRegistrationId = tjOrder.getCardId(); - Date createTime = tjOrder.getCreateTime(); - Date finishTime = tjOrder.getFinishTime(); - SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); - String ksrq = dateFormat.format(createTime); - String jsrq = dateFormat.format(new Date()); - HashMap<String, Object> params = new HashMap<>(); - params.put("his_registration_id", hisRegistrationId); - params.put("ksbm", ""); - params.put("pationid", ""); - params.put("ksrq", ksrq); - params.put("jsrq", jsrq); - params.put("pagecount", 100); - params.put("page", 1); +// String hisRegistrationId = tjOrder.getCardId(); +// Date createTime = tjOrder.getCreateTime(); +// SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); +// String ksrq = dateFormat.format(createTime); +// String jsrq = dateFormat.format(new Date()); +// HashMap<String, Object> params = new HashMap<>(); +// params.put("his_registration_id", hisRegistrationId); +// params.put("ksbm", ""); +// params.put("pationid", ""); +// params.put("ksrq", ksrq); +// params.put("jsrq", jsrq); +// params.put("pagecount", 100); +// params.put("page", 1); 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(); - log.error(String.valueOf(e)); - // 璋冪敤鎾ら攢 -// tjReportController.backOnlyCheckType(tjNumber); - logger.error("鐢熸垚鎶ュ憡寮傚父"); +// TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); + log.error("鐢熸垚鎶ュ憡澶辫触锛�"+e.getMessage(),String.valueOf(e)); + tjOrder.setReportTime(null); + tjOrder.setCheckTime(null); + tjOrder.setCheckStatus(0); + tjOrder.setPrintLastTime(null); + tjOrderService.updateById(tjOrder); + +// logger.error(String.valueOf(e)); return AjaxResult.error("鐢熸垚鎶ュ憡澶辫触"); } } else { @@ -407,16 +430,22 @@ return AjaxResult.error(); } - public AjaxResult shengchengbgmoban(String tjNumber, TjOrder tjOrder, TjCustomer tjCustomer, TjReportTemplate reportTemplate) { + public AjaxResult shengchengbgmoban(String tjNumber, TjOrder tjOrder, TjCustomer tjCustomer, TjReportTemplate reportTemplate,TjReportTemplate zongJianYiShiQianMing) throws Exception { AjaxResult ajaxResult = null; + String value = configService.selectConfigByKey("path_filePath"); try { - ajaxResult = hisPDFUtil.hisPDF(tjOrder, tjCustomer, reportTemplate); +// 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)); + throw new Exception(e); } if (!ajaxResult.get("code").toString().equals("200")) { - TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); +// TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); + return AjaxResult.error("鐢熸垚鎶ュ憡澶辫触"); } else { Long userId = tjCustomer.getCusId(); String outputFileName1 = userId + tjNumber + tjCustomer.getCusName() + "_鎶ュ憡.pdf"; @@ -424,8 +453,8 @@ tjReport.setTjNumber(String.valueOf(tjNumber)); tjReport.setPath(urlValue + outputFileName1); String outputPath1 = value + File.separator; - String pdfBinary = getPDFBinary(outputPath1 + outputFileName1); - tjReport.setReport(pdfBinary); +// String pdfBinary = getPDFBinary(outputPath1 + outputFileName1); +// tjReport.setReport(pdfBinary); tjReport.setType("浣撴鎶ュ憡"); tjReport.setPrint("pdf"); tjReportService.save(tjReport); @@ -438,8 +467,8 @@ // updateWrapper.set(TjOrder::getStatus, TjConstants.TJ_END); tjOrder.setStatus(TjConstants.TJ_END); tjOrder.setReportTime(date); - tjOrder.setPrintLastTime(date); - tjOrder.setDownloadLastTime(date); +// tjOrder.setPrintLastTime(date); +// tjOrder.setDownloadLastTime(date); tjOrderService.updateById(tjOrder); } return ajaxResult; @@ -467,6 +496,7 @@ } private AjaxResult newFun(String tjNumber) { + String value = configService.selectConfigByKey("path_filePath"); long startTime = System.currentTimeMillis(); int num = tjOrderRemarkService.getTjYqOrderRemarkByTjNum(tjNumber); if (num > 0) { @@ -906,7 +936,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 @@ -959,480 +990,482 @@ return byteArrayOutputStream; } - private AjaxResult oldFun(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, "浣撴鎶ュ憡"); - 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); - 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"); +// private AjaxResult oldFun(String tjNumber) { +// String value = configService.selectConfigByKey("path_filePath"); +// 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); // } - - 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; - } +// } 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; +// } //闈炲寲楠岄」鐩姤鍛� @@ -1687,7 +1720,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"); @@ -1697,7 +1730,7 @@ res.put("url", one.getPath()); return AjaxResult.success(res); } else { - return AjaxResult.error("鏆傛棤浣撴鎶ュ憡"); + return AjaxResult.error("鏆傛棤浣撴鎶ュ憡,璇锋挙鍥炲埌鎬绘鏈鏍搁〉闈�,闇�鎬绘鍖荤敓閲嶆柊瀹℃牳骞剁敓鎴愭姤鍛�!"); } } @@ -1706,37 +1739,129 @@ @GetMapping("/preview/{flag}/{TjNumber}") @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); + 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 value = configService.selectConfigByKey("path_filePath"); + String filePath = value + File.separator + tjCustomer.getCusId() + tjNumber + tjCustomer.getCusName() + "_鎶ュ憡.pdf"; + File f = new File(filePath); + BufferedInputStream br = null; + OutputStream out = null; + FileInputStream fileInputStream = null; + try { + fileInputStream = new FileInputStream(f); + br = new BufferedInputStream(fileInputStream); + byte[] bs = new byte[1024]; + int len = 0; + response.reset(); // 闈炲父閲嶈 + 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=" + + tjCustomer.getCusId() + tjNumber + ".pdf"); + } else { + // 绾笅杞芥柟寮� + response.setContentType("application/x-msdownload"); + response.setContentType("application/pdf;charset=utf-8"); + response.setHeader("Content-Disposition", "attachment;filename=" + + tjCustomer.getCusId() + tjNumber + ".pdf"); + } + 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(); + br.close(); + fileInputStream.close(); + } catch (IOException e) { + e.printStackTrace(); + //System.out.println("pdf澶勭悊鏂囦欢寮傚父" + e); + } finally { + if (out != null) { + try { + out.close(); + br.close(); + fileInputStream.close(); - - 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<TjReport> we = new LambdaQueryWrapper<>(); - we.eq(TjReport::getTjNumber, tjNumber); - we.eq(TjReport::getType, "浣撴鎶ュ憡"); - TjReport one = tjReportService.getOne(we); - if (one == null) { - return; + } catch (IOException e) { + e.printStackTrace(); + } + } } + } - String userId = SecurityUtils.getLoginUser().getUsername(); - PDFBinaryUtil.base64StringToPDF(one.getReport(), FileUtil.mkdir(value).getPath() + File.separator + userId + tjNumber + tjCustomer.getCusName() + "_浣撴鎶ュ憡.pdf"); - //String filePath = one.getPath(); - String filePath = value + File.separator + userId + tjNumber + tjCustomer.getCusName() + "_浣撴鎶ュ憡.pdf"; + +// @GetMapping("/previewBase64/{flag}/{TjNumber}") +// @ApiOperation(value = "涓嬭浇浣撴鎶ュ憡Base64") + public String previewBase64( @PathVariable("TjNumber") String tjNumber) { + try { + TjOrder tjOrder = tjOrderService.getOrderByTjNum(tjNumber); + TjCustomer tjCustomer = tjCustomerService.getById( tjOrder.getUserId()); + String value = configService.selectConfigByKey("path_filePath"); + String filePath = value + File.separator + tjCustomer.getCusId() + tjNumber + tjCustomer.getCusName() + "_鎶ュ憡.pdf"; + File f = new File(filePath); + // System.out.println("Base64: " + base64); + return fileToBase64(f); + } catch (IOException e) { + log.error(e.toString()); + throw new RuntimeException(e); + } + } + + public static String fileToBase64(File file) throws IOException { + try (FileInputStream fileInputStream = new FileInputStream(file)) { + byte[] fileBytes = new byte[(int) file.length()]; + fileInputStream.read(fileBytes); + return Base64.getEncoder().encodeToString(fileBytes); + } + } + + + @GetMapping("/previewprint/{flag}/{TjNumber}/{sfdy}") + @ApiOperation(value = "涓嬭浇浣撴鎶ュ憡") + public void previewprint(HttpServletResponse response, @PathVariable("flag") boolean flag, @PathVariable("TjNumber") String tjNumber,@PathVariable("sfdy") String sfdy) { + + Date date = new Date(); + 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"; + String value = configService.selectConfigByKey("path_filePath"); + String filePath = value + File.separator + tjCustomer.getCusId() + tjNumber + tjCustomer.getCusName() + "_鎶ュ憡.pdf"; File f = new File(filePath); if (filePath.isEmpty()) { System.out.println("鏂囦欢涓嶅瓨鍦紒"); @@ -1758,17 +1883,29 @@ 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) { out.write(bs, 0, len); + } + if(null !=sfdy && sfdy.equals("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); + tjOrder.setStatus(TjConstants.TJ_END); + tjOrderService.updateById(tjOrder); + } } out.flush(); out.close(); @@ -1797,11 +1934,35 @@ public AjaxResult preview(@RequestBody String data) { String is_batch_report_use_sql = configService.selectConfigByKey("is_batch_report_use_sql"); List<String> tjNumbers = Arrays.stream(data.split(",")).collect(Collectors.toList()); + String value = configService.selectConfigByKey("path_filePath"); if ("true".equals(is_batch_report_use_sql)) { - return tjReportService.makeBatchReport(tjNumbers); + return tjReportService.makeBatchReport(tjNumbers,value); } else { return makeReport(tjNumbers); } + } + + + @GetMapping("/xiugaidayinzhuangtai") + @ApiOperation(value = "淇敼鎵撳嵃鐘舵�佹帴鍙�") + @Transactional + public AjaxResult xiugaidayinzhuangtai(@RequestParam String tjNumber) { + TjOrder order = tjOrderService.getOrderByTjNum(tjNumber); + if(null !=order){ + Date date=new Date(); + TjReportPrint print=new TjReportPrint(); + print.setTjNumber(tjNumber); + print.setPrintBy(SecurityUtils.getLoginUser().getUser().getNickName()); + print.setPrintTime(date); + print.setPrintStatus("宸叉墦鍗�"); + if (printService.save(print)) { + order.setPrintLastTime(date); + order.setStatus(TjConstants.TJ_END); + tjOrderService.updateById(order); + } + return AjaxResult.success(); + } + return AjaxResult.error(); } /** @@ -2033,44 +2194,47 @@ @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) { -// if (!tjReportService.remove(wq1)) { -// return AjaxResult.error("鎾ゅ洖澶辫触锛�"); -// } - // 涓嶅湪浣跨敤閫昏緫鍒犻櫎 閫昏緫鍒犻櫎瀵艰嚧鎵撳嵃鎶ュ憡鐢熸垚 鏌ヨsql缂撴參 - int i = tjReportService.deleteTjReportByReId(tjReport.getReId()); - if (i == 0) { - return AjaxResult.error("鎾ゅ洖澶辫触锛�"); + + TjOrder one = tjOrderService.getOrderByTjNum(tjNumber); + if(null !=one){ + if(null !=one.getHeshouTime() && one.getHeshouStatus()==1)return AjaxResult.error("鎶ュ憡宸叉牳鏀朵笉鍙挙鍥�!!!"); + one.setCheckStatus(0); + String config = configService.selectConfigByKey("tj_confirm"); + if ("Y".equals(config)) { + one.setStatus(TjConstants.TJ_CHECK); + } else { + one.setStatus(TjConstants.TJ_CONFIRM); + } + one.setReportTime(null); + one.setCheckTime(null); + one.setCheckDoctor(null); + one.setHeshouStatus(0); + one.setHeshouTime(null); + one.setHeshouDoctor(null); + one.setPrintLastTime(null); + one.setDownloadLastTime(null); + if (tjOrderService.updateById(one)) { + + //閫昏緫鍒犻櫎鏁版嵁搴撻噷鐨勬姤鍛� + 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("鎾ゅ洖鎴愬姛锛�"); } } - QueryWrapper<TjOrder> wq2 = new QueryWrapper<>(); - wq2.eq("tj_number", tjNumber); - TjOrder one = tjOrderService.getOne(wq2); - one.setCheckStatus(0); - String config = configService.selectConfigByKey("tj_confirm"); - if ("Y".equals(config)) { - one.setStatus(TjConstants.TJ_CHECK); - } else { - one.setStatus(TjConstants.TJ_CONFIRM); - } - one.setReportTime(null); - //灏嗙姸鎬佹敼涓烘湭瀹℃牳 -// UpdateWrapper updateWrapper=new UpdateWrapper(); -// updateWrapper.eq("tj_number",tjNumber); -// updateWrapper.set("check_status",0); - boolean update = tjOrderService.updateById(one); - - if (update) { - return AjaxResult.success("鎾ゅ洖鎴愬姛锛�"); - } - return AjaxResult.error("鎾ゅ洖澶辫触锛�"); + return AjaxResult.error("璇ヤ汉鍛樹綋妫�璁板綍涓嶅瓨鍦�,璇锋牳瀹炰汉鍛樹俊鎭�!"); } @@ -2120,8 +2284,8 @@ LambdaQueryWrapper<TjOrder> wq2 = new LambdaQueryWrapper<>(); wq2.eq(TjOrder::getFirmId, firmId); wq2.eq(TjOrder::getFirmDeptId, firmDeptId); - wq2.eq(TjOrder::getTjType, "1"); - wq2.in(TjOrder::getStatus, 401, 402); + wq2.ne(TjOrder::getTjType, "2"); +// wq2.in(TjOrder::getStatus, 401, 402); final List<TjOrder> list = tjOrderService.list(wq2); for (TjOrder tjOrder : list) { @@ -2480,16 +2644,14 @@ @GetMapping("/tuanDuiYiChangBySex") @ApiOperation(value = "鐢熸垚鍥㈤槦浣撴鎶ュ憡鈥斺�旂敺濂冲紓甯哥粨鏋滅粺璁�") - public Map<String, List<Map<String, Object>>> tuanDuiYiChangBySex(@ApiParam(value = "鍗曚綅") @RequestParam String firmId, - @ApiParam(value = "閮ㄩ棬") @RequestParam String firmDeptId) { + public Map<String, List<Map<String, Object>>> tuanDuiYiChangBySex(@ApiParam(value = "鍗曚綅") @RequestParam String dwname) { Map<String, List<Map<String, Object>>> all = new HashMap<>(); LambdaQueryWrapper<TjOrder> wq2 = new LambdaQueryWrapper<>(); - wq2.eq(TjOrder::getFirmId, firmId); - wq2.eq(TjOrder::getFirmDeptId, firmDeptId); - wq2.eq(TjOrder::getTjType, "1"); - wq2.in(TjOrder::getStatus, 401, 402); + wq2.eq(TjOrder::getFirmName,dwname); + wq2.ne(TjOrder::getTjType, "2"); +// wq2.in(TjOrder::getStatus, 401, 402); final List<TjOrder> list = tjOrderService.list(wq2); List<String> tjNumberList = list.stream().map(TjOrder::getTjNumber).collect(Collectors.toList()); -- Gitblit v1.8.0