From 0a68d1ae4a7e797342cf039a757fae4fc357faef Mon Sep 17 00:00:00 2001
From: zjh <1084500556@qq.com>
Date: 星期四, 07 八月 2025 08:46:07 +0800
Subject: [PATCH] zjh202500807
---
ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjReportController.java | 928 ++-------------------------------------------------------
1 files changed, 41 insertions(+), 887 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 0e3e053..fae36ba 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.*;
@@ -82,8 +83,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
@@ -283,35 +284,8 @@
@GetMapping("/toPdf/{TjNumber}")
@ApiOperation(value = "鎵撳嵃浣撴鎶ュ憡涓簆df")
- @Transactional
+// @Transactional
public AjaxResult toPdf(@PathVariable("TjNumber") @ApiParam(value = "浣撴鍙�") String tjNumber) {
- // AjaxResult error = null;
- // 涔嬪墠鐨勪唬鐮� 浼樺寲閫熷害
-// System.out.println("----------------------------------oldFun寮�濮�-------------------------------------------------------");
-// error = oldFun(tjNumber);
-// System.out.println("--------------------------------------缁撴潫---------------------------------------------------");
- // 鎾ら攢鎿嶄綔
-// revocationReport(tjNumber);
-// 鏍规嵁鏌愪汉tj鍙蜂互鍙奝roId杩涜鎵撳嵃鍓嶇殑璇锋眰
-// tjCheckController.getTjdetailList(tjNumber,null,1);
-// List<UpdateOrderRemarkVo> updateOrderRemarkVos = new ArrayList<>();
-// UpdateOrderRemarkVo remarkVo = new UpdateOrderRemarkVo();
-// remarkVo.setRemarks("鏈寮傚父");
-// remarkVo.setTjNumber("02132240308102232");
-// remarkVo.setProId("1633660948860522555");
-// updateOrderRemarkVos.add(remarkVo);
-// tjCheckController.checkUpdateOrderRemark(updateOrderRemarkVos);
-// System.out.println("---------------------------------------newFun寮�濮�--------------------------------------------------");
- // 浠ュ墠娴嬭瘯pdf鏂规硶
-// error = newFun(tjNumber);
-// System.out.println("-------------------------------------------缁撴潫----------------------------------------------");
- // 鎾ら攢
-// revocationReport(tjNumber);
-// if (error != null) {
-// return error;
-// }
-// return AjaxResult.success("璇ョ敤鎴蜂綋妫�鏈畬鎴愶紝涓嶈兘鎵撳嵃鎶ュ憡锛侊紒锛�");
-
TjOrder tjOrder = tjOrderService.getOrderByTjNum(tjNumber);
if (null != tjOrder) {
String config = configService.selectConfigByKey("sfjcwjhyqxm");
@@ -332,11 +306,6 @@
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("璇ュ鎴锋姤鍛婂凡鐢熸垚锛佷笉鑳介噸澶嶇敓鎴愶紒鍙洿鎺ラ瑙堟垨鎵撳嵃锛�");
}
@@ -344,32 +313,6 @@
tjReportTemplateLambdaQueryWrapper.eq(TjReportTemplate::getFlag, 1);
tjReportTemplateLambdaQueryWrapper.eq(TjReportTemplate::getOpen, 0);
TjReportTemplate reportTemplate = reportTemplateService.getOne(tjReportTemplateLambdaQueryWrapper);
-// 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);
-// }
Integer checkStatus = tjOrder.getCheckStatus();
if (checkStatus == 1) {
if ("鎶ヨ〃".equals(reportTemplate.getPrint())) {
@@ -383,25 +326,10 @@
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 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);
@@ -412,15 +340,14 @@
try {
return shengchengbgmoban(tjNumber, tjOrder, tjCustomer, reportTemplate,zongJianYiShiQianMing);
} catch (Exception e) {
- TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
- log.error(String.valueOf(e));
+// throw new Exception(e);
+ log.error("鐢熸垚鎶ュ憡澶辫触锛�"+e.getMessage(),String.valueOf(e));
+ e.printStackTrace();
tjOrder.setReportTime(null);
tjOrder.setCheckTime(null);
tjOrder.setCheckStatus(0);
tjOrder.setPrintLastTime(null);
tjOrderService.updateById(tjOrder);
-
- logger.error(String.valueOf(e));
return AjaxResult.error("鐢熸垚鎶ュ憡澶辫触");
}
} else {
@@ -430,19 +357,16 @@
return AjaxResult.error();
}
- public AjaxResult shengchengbgmoban(String tjNumber, TjOrder tjOrder, TjCustomer tjCustomer, TjReportTemplate reportTemplate,TjReportTemplate zongJianYiShiQianMing) {
+ public AjaxResult shengchengbgmoban(String tjNumber, TjOrder tjOrder, TjCustomer tjCustomer, TjReportTemplate reportTemplate,TjReportTemplate zongJianYiShiQianMing) throws Exception {
+ String value = configService.selectConfigByKey("path_filePath");
AjaxResult ajaxResult = null;
try {
-// ajaxResult = hisPDFUtil.hisPDF(tjOrder, tjCustomer, reportTemplate);
-// ajaxResult = hisPDFUtil.hisPDFNew(tjOrder, tjCustomer, reportTemplate);
-
ajaxResult = hisPDFUtil.hisPDFNew2(tjOrder, tjCustomer, reportTemplate,zongJianYiShiQianMing);
} catch (Exception e) {
- e.printStackTrace();
- log.error(String.valueOf(e));
+ throw new Exception(e);
}
if (!ajaxResult.get("code").toString().equals("200")) {
- TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+ return AjaxResult.error("鐢熸垚鎶ュ憡澶辫触");
} else {
Long userId = tjCustomer.getCusId();
String outputFileName1 = userId + tjNumber + tjCustomer.getCusName() + "_鎶ュ憡.pdf";
@@ -450,8 +374,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);
@@ -490,288 +414,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) {
@@ -984,482 +626,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;
}
@@ -1733,24 +899,24 @@
@GetMapping("/preview/{flag}/{TjNumber}")
@ApiOperation(value = "涓嬭浇浣撴鎶ュ憡")
- public void preview(HttpServletResponse response, @PathVariable("flag") boolean flag, @PathVariable("TjNumber") String tjNumber) {
+ public void preview(HttpServletResponse response, @PathVariable("flag") boolean flag, @PathVariable("TjNumber") String tjNumber) throws IOException {
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 value = configService.selectConfigByKey("path_filePath");
+ 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,33 +929,21 @@
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="
- + 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 !=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();
@@ -1797,6 +951,7 @@
} catch (IOException e) {
e.printStackTrace();
//System.out.println("pdf澶勭悊鏂囦欢寮傚父" + e);
+// response.sendError(HttpServletResponse.SC_NOT_FOUND);
} finally {
if (out != null) {
try {
@@ -1827,15 +982,13 @@
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 key = DataSourceContextHolder.getDataSourceKey();
+ key = key.replace("ltkjpeis10_","");
+ String value = configService.selectConfigByKey("path_filePath");
+// 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("鏂囦欢涓嶅瓨鍦紒");
- return;
- }
BufferedInputStream br = null;
OutputStream out = null;
FileInputStream fileInputStream = null;
@@ -1852,13 +1005,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) {
@@ -1903,8 +1056,9 @@
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);
}
--
Gitblit v1.8.0