From c6e65402aeff4e87931a094a082d9659a39d0769 Mon Sep 17 00:00:00 2001 From: Godblessyou <824612544@qq.com> Date: Mon, 1 Sep 2025 10:37:18 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=962.0=E6=A0=87=E5=87=86?= =?UTF-8?q?=E7=89=88=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- doc/sql脚本.sql | 6 +- .../controller/FontShowRecordController.java | 15 +++-- src/main/java/com/emr/controller/a.java | 10 ++- .../TemplateSearchController.java | 65 ++++++++++++------- .../java/com/emr/service/CommomService.java | 1 + .../ScanPathForPatientListVo.java | 20 ++++++ .../com/emr/vo/commomSearch/ScanPathVo.java | 20 ++++++ src/main/resources/config/config.properties | 10 +-- src/main/resources/mapper/CommomMapper.xml | 2 +- .../mapper/commomSearch/ScanPathMapper.xml | 6 ++ .../commomSearch/commomListqf.jsp | 4 +- .../recordManage/commomSearch/commomListqf.js | 1 + .../templateSearch/searchCommomMethodqf.js | 3 +- src/main/webapp/static/pdfjs/web/viewer2.html | 17 ++--- 14 files changed, 125 insertions(+), 55 deletions(-) diff --git a/doc/sql脚本.sql b/doc/sql脚本.sql index b29a88b..8439003 100644 --- a/doc/sql脚本.sql +++ b/doc/sql脚本.sql @@ -26,7 +26,11 @@ ALTER TABLE commomtable document_type varchar(50) NULL,-- 文书类型(血透) born_date datetime NULL,-- 出生日期 periods varchar(50) NULL,-- 文书类型(血透) - data_source varchar(50) NULL -- 数据来源 1.生殖科 2.产前门诊 3.药学楼 + data_source varchar(50) NULL, -- 数据来源 1.生殖科 2.产前门诊 3.药学楼 + pro_content varchar(4000) NULL, -- 项目内容(药学楼) + application_no varchar(50) NULL, -- 申办号(药学楼) + acceptance_no varchar(50) NULL, -- 受理号(药学楼) + source varchar(30) NULL -- 联众数据来源 -- 增加常用查询 表格表头动态配置表 wj 2024-08-19 diff --git a/src/main/java/com/emr/controller/FontShowRecordController.java b/src/main/java/com/emr/controller/FontShowRecordController.java index 8d18c1a..7d609ce 100644 --- a/src/main/java/com/emr/controller/FontShowRecordController.java +++ b/src/main/java/com/emr/controller/FontShowRecordController.java @@ -52,6 +52,8 @@ import java.io.File; import java.io.FileInputStream; import java.io.IOException; import java.text.SimpleDateFormat; +import java.time.LocalDateTime; +import java.time.format.DateTimeFormatter; import java.util.*; import java.util.Base64; @@ -1144,7 +1146,7 @@ public class FontShowRecordController { try { //http://172.16.60.202:9083/HtMongoDBWebServiceInterface/services/Manage?wsdl - client = dcf.createClient("http://172.16.60.202:9083/HtMongoDBWebServiceInterface/services/Manage?wsdl"); + //client = dcf.createClient("http://172.16.60.202:9083/HtMongoDBWebServiceInterface/services/Manage?wsdl"); // 构造 XML 参数字符串 String xmlParam = "\n" + @@ -1158,18 +1160,19 @@ public class FontShowRecordController { " "+ patientId +"\n" + " "+ proNo +"\n" + " I\n" + - " " + new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()) + "\n" + - " "+ fileName + "(" + scanPage + ")\n" + + " " + LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyyMMddHHmmss")) + "\n" + + " "+ fileName + "-" + scanPage + "\n" + " "+ base64 +"\n" + " C\n" + " "+ total +"\n" + " "+ total +"\n" + - " " + new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()) + "\n" + - " " + new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()) + "\n" + + " " + LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyyMMddHHmmss")) + "\n" + + " " + LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyyMMddHHmmss")) + "\n" + ""+ reportOrdinal +"\n" + - "< relOutRecSn> relOutRecSn>\n" + + "< relOutRecSn>111 relOutRecSn>\n" + ""; + System.out.println("传递的参数为:" + xmlParam); // 调用 WebService 方法,并传递 XML 参数 Object[] response = client.invoke("reportFileManage", xmlParam); // 处理返回结果 diff --git a/src/main/java/com/emr/controller/a.java b/src/main/java/com/emr/controller/a.java index abb6818..aed0d89 100644 --- a/src/main/java/com/emr/controller/a.java +++ b/src/main/java/com/emr/controller/a.java @@ -1,15 +1,21 @@ package com.emr.controller; import java.io.File; +import java.text.SimpleDateFormat; +import java.time.LocalDateTime; +import java.time.format.DateTimeFormatter; +import java.util.Date; public class a { public static void main(String[] args) { // 定义需要遍历的根路径 - File rootDir = new File("E:\\assort_imagepdf"); + //File rootDir = new File("E:\\assort_imagepdf"); // 调用递归方法遍历目录 - traverseDirectories(rootDir); + //traverseDirectories(rootDir); + String timestamp = LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyyMMddHHmmss")); + System.out.println("时间戳:" + timestamp); } /** diff --git a/src/main/java/com/emr/controller/templateSearch/TemplateSearchController.java b/src/main/java/com/emr/controller/templateSearch/TemplateSearchController.java index 8529add..398b2c1 100644 --- a/src/main/java/com/emr/controller/templateSearch/TemplateSearchController.java +++ b/src/main/java/com/emr/controller/templateSearch/TemplateSearchController.java @@ -36,12 +36,11 @@ import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; import org.apache.commons.lang3.StringUtils; import org.apache.cxf.endpoint.Client; -import org.apache.http.client.HttpClient; -import org.apache.http.client.methods.HttpPost; -import org.apache.http.entity.StringEntity; -import org.apache.http.impl.client.DefaultHttpClient; import org.apache.shiro.authz.annotation.RequiresPermissions; -import org.apache.tools.zip.ZipEntry; + +import java.nio.charset.StandardCharsets; +import java.util.zip.ZipEntry; +import java.util.zip.ZipOutputStream; import org.dom4j.Document; import org.dom4j.DocumentHelper; import org.dom4j.Element; @@ -64,7 +63,6 @@ import java.text.SimpleDateFormat; import java.util.*; import java.util.stream.Collectors; -import org.apache.tools.zip.ZipOutputStream; /** * @ProjectName:TemplateSearchController @@ -1259,6 +1257,8 @@ public class TemplateSearchController { vo.setName(scanPathVo.getName()); vo.setInpatientNo(scanPathVo.getInpatientNo()); vo.setSubjectNo(scanPathVo.getSubjectNo()); + vo.setProName(scanPathVo.getProName()); + vo.setProContent(scanPathVo.getProContent()); String disDate = scanPathVo.getDisDate(); if (!ObjectUtils.isEmpty(disDate)) { try { @@ -1390,7 +1390,10 @@ public class TemplateSearchController { zipName = URLEncoder.encode(zipName, "UTF-8"); response.setHeader("Content-Disposition", "attachment;filename=" + zipName + "(" + new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()) + ").zip"); String filePdfName = ""; - try (ZipOutputStream zos = new ZipOutputStream(response.getOutputStream())) { + try (ZipOutputStream zos = new ZipOutputStream(response.getOutputStream(), StandardCharsets.UTF_8)) { + // 设置UTF-8编码 + zos.setMethod(ZipOutputStream.DEFLATED); + EmrPdfWaterSet emrPdfWaterSet = pdfWaterSetMapper.selectByPrimaryKey(1); SimpleDateFormat fmt = new SimpleDateFormat("yyyyMMdd"); for (ScanPathForPatientListVo vo : list) { @@ -1401,15 +1404,20 @@ public class TemplateSearchController { List scanPathList = vo.getScanPathList(); // 每个文件名 String inpatientNo = ObjectUtils.isEmpty(vo.getInpatientNo()) ? "无" : vo.getInpatientNo().trim(); + String proName = ObjectUtils.isEmpty(vo.getProName()) ? "无" : vo.getProName().trim(); + String proContent = ObjectUtils.isEmpty(vo.getProContent()) ? "无" : vo.getProContent().trim(); String name = ObjectUtils.isEmpty(vo.getName()) ? "无" : vo.getName().trim(); if ("3".equals(dataSource)) { // 药学楼 filePdfName = vo.getSubjectNo().trim() + "_" + name + "_" + fmt.format(new Date()); - } else { + } else if("6".equals(dataSource)){ + filePdfName = inpatientNo + "_" + proContent; + }else { filePdfName = inpatientNo + "_" + name + "_" + disDate.trim() + "_" + fmt.format(new Date()); } String fileName = hospitaInfo + "_" + filePdfName; - fileName = new String(fileName.getBytes(),"ISO-8859-1"); + + // 使用UTF-8编码处理文件名 ZipEntry zipEntry = new ZipEntry(fileName + ".pdf"); zos.putNextEntry(zipEntry); @@ -1553,7 +1561,7 @@ public class TemplateSearchController { @RequiresPermissions(value = {"/commom/downloadPdf"}) @RequestMapping(value = "downloadPdfBlood", produces = {"text/json;charset=UTF-8"}) @ResponseBody - public void downloadPdfBlood(HttpServletResponse response, String patientIds, String assortIds, Integer typeId, String flag) { + public void downloadPdfBlood(HttpServletResponse response, String patientIds, String assortIds, Integer typeId, String flag, String dataSource) { if (StringUtils.isNoneBlank(patientIds)) { List filePaths = new ArrayList<>(); try { @@ -1575,7 +1583,7 @@ public class TemplateSearchController { //批量添加下载记录 printOrDownLoadInfoService.SimpleInsert(scanPathVos, typeId, Short.valueOf("2")); //每个文件名 - String pdfName = exportFlieName(scanPathVos); + String pdfName = exportFlieName(scanPathVos, dataSource); //emrPdfWaterSet设置启用下载的状态 emrPdfWaterSet.setEffective(emrPdfWaterSet.getDownloadEffective()); emrPdfWaterSet.setIsImg(emrPdfWaterSet.getDownloadIsImg()); @@ -1607,25 +1615,32 @@ public class TemplateSearchController { } } - private String exportFlieName(List scanPathVos) throws ParseException { + private String exportFlieName(List scanPathVos, String dataSource) throws ParseException { StringBuffer sb = new StringBuffer(); sb.append(hospitaInfo); ScanPathVo scanPathVo = scanPathVos.get(0); JSONObject jsonObject= (JSONObject) JSONObject.toJSON(scanPathVo); String name = ObjectUtils.isEmpty(jsonObject.getString("name")) ? "无" : jsonObject.getString("name").trim(); - List patientInfoList = Arrays.asList(patientInfo.split(",")); - for (String list:patientInfoList){ - String contents = ObjectUtils.isEmpty(jsonObject.getString(list)) ? "无" : jsonObject.getString(list).trim(); - if ("disDate".equals(list) && !ObjectUtils.isEmpty(jsonObject.getString(list))){ - String dateString = jsonObject.getString(list); - SimpleDateFormat originalFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); - SimpleDateFormat targetFormat = new SimpleDateFormat("yyyyMMdd"); - Date date = originalFormat.parse(dateString); - String formattedDate = targetFormat.format(date); - sb.append("_"+formattedDate); - }else { - sb.append("_" + contents); - //sb.append("_" + contents + "_" + name); + if("6".equals(dataSource)){ + String inpatientNo = ObjectUtils.isEmpty(jsonObject.getString("inpatientNo")) ? "无" : jsonObject.getString("inpatientNo").trim(); + String proName = ObjectUtils.isEmpty(jsonObject.getString("proName")) ? "无" : jsonObject.getString("proName").trim(); + String proContent = ObjectUtils.isEmpty(jsonObject.getString("proContent")) ? "无" : jsonObject.getString("proContent").trim(); + sb.append("_" + inpatientNo + "_" + proContent); + }else{ + List patientInfoList = Arrays.asList(patientInfo.split(",")); + for (String list:patientInfoList){ + String contents = ObjectUtils.isEmpty(jsonObject.getString(list)) ? "无" : jsonObject.getString(list).trim(); + if ("disDate".equals(list) && !ObjectUtils.isEmpty(jsonObject.getString(list))){ + String dateString = jsonObject.getString(list); + SimpleDateFormat originalFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + SimpleDateFormat targetFormat = new SimpleDateFormat("yyyyMMdd"); + Date date = originalFormat.parse(dateString); + String formattedDate = targetFormat.format(date); + sb.append("_"+formattedDate); + }else { + sb.append("_" + contents); + //sb.append("_" + contents + "_" + name); + } } } return sb.toString(); diff --git a/src/main/java/com/emr/service/CommomService.java b/src/main/java/com/emr/service/CommomService.java index ce09085..48b9276 100644 --- a/src/main/java/com/emr/service/CommomService.java +++ b/src/main/java/com/emr/service/CommomService.java @@ -1312,6 +1312,7 @@ public class CommomService { //pdf转jpg图片生成到指定路徑 List picNameList = Pdf2ImgUtil.pdfToPic(saveFileName, pdfName, "jpg", commomVo.getFilePath()); + //Zd_Assort zd_assort = zd_assortMapper.getZdAssortByName(commomVo.getPatientId()); Zd_Assort zd_assort = zd_assortMapper.getZdAssortByName("费用"); if (picNameList != null && picNameList.size() > 0) { diff --git a/src/main/java/com/emr/vo/commomSearch/ScanPathForPatientListVo.java b/src/main/java/com/emr/vo/commomSearch/ScanPathForPatientListVo.java index 10d3806..edd80da 100644 --- a/src/main/java/com/emr/vo/commomSearch/ScanPathForPatientListVo.java +++ b/src/main/java/com/emr/vo/commomSearch/ScanPathForPatientListVo.java @@ -14,6 +14,26 @@ public class ScanPathForPatientListVo { private String subjectNo; + private String proName; + + private String proContent; + + public String getProName() { + return proName; + } + + public void setProName(String proName) { + this.proName = proName; + } + + public String getProContent() { + return proContent; + } + + public void setProContent(String proContent) { + this.proContent = proContent; + } + public String getSubjectNo() { return subjectNo; } diff --git a/src/main/java/com/emr/vo/commomSearch/ScanPathVo.java b/src/main/java/com/emr/vo/commomSearch/ScanPathVo.java index 1abdce1..e61662e 100644 --- a/src/main/java/com/emr/vo/commomSearch/ScanPathVo.java +++ b/src/main/java/com/emr/vo/commomSearch/ScanPathVo.java @@ -33,6 +33,26 @@ public class ScanPathVo { private String subjectNo; + private String proName; + + private String proContent; + + public String getProContent() { + return proContent; + } + + public void setProContent(String proContent) { + this.proContent = proContent; + } + + public String getProName() { + return proName; + } + + public void setProName(String proName) { + this.proName = proName; + } + public String getSubjectNo() { return subjectNo; } diff --git a/src/main/resources/config/config.properties b/src/main/resources/config/config.properties index f538142..9677366 100644 --- a/src/main/resources/config/config.properties +++ b/src/main/resources/config/config.properties @@ -1,12 +1,12 @@ #power\u6743\u9650\u7CFB\u7EDF\u7684\u670D\u52A1\u5668\u5730\u5740\u5934 -POWER_IP =10.1.1.146 -POWER_URLHEAD = http://10.1.1.146:8080/power +POWER_IP =localhost +POWER_URLHEAD = http://localhost:8080/power -POWER_JSPHEAD = 10.1.1.146 -POWER_JSP = http://10.1.1.146:8080/power +POWER_JSPHEAD = localhost +POWER_JSP = http://localhost:8080/power #\u672C\u8EAB\u7CFB\u7EDF\u7684\u670D\u52A1\u5668\u5730\u5740\u5934 -EMR_RECORD_JSP = http://10.1.1.146:8080/emr_record +EMR_RECORD_JSP = http://localhost:8081/emr_record #webSocket\u670D\u52A1\u5668\u5730\u5740 WEBSOCKET_URLHEAD = ${POWER_JSPHEAD}:8088 diff --git a/src/main/resources/mapper/CommomMapper.xml b/src/main/resources/mapper/CommomMapper.xml index 72ebdd5..b60fec0 100644 --- a/src/main/resources/mapper/CommomMapper.xml +++ b/src/main/resources/mapper/CommomMapper.xml @@ -1619,7 +1619,7 @@ a.file_path + '\' + b.scan_page file_path, a.file_type file_name, b.scan_page scan_page - from commomtable a join t_scan_assort b on a.patient_id = b.patient_id where a.patient_id = '1ee10f4084964bb7ba90461a92879c99' + from commomtable a join t_scan_assort b on a.patient_id = b.patient_id diff --git a/src/main/resources/mapper/commomSearch/ScanPathMapper.xml b/src/main/resources/mapper/commomSearch/ScanPathMapper.xml index 62f231d..6930393 100644 --- a/src/main/resources/mapper/commomSearch/ScanPathMapper.xml +++ b/src/main/resources/mapper/commomSearch/ScanPathMapper.xml @@ -10,6 +10,8 @@ + + @@ -42,6 +44,8 @@ commomtable.inpatient_no, commomtable.dis_date, commomtable.subject_no, + commomtable.pro_name, + commomtable.pro_content, dbo.t_scan_assort.assort_id, dbo.t_scan_assort.scan_page, case @@ -79,6 +83,8 @@ commomtable.name, commomtable.inpatient_no, commomtable.dis_date, + commomtable.pro_name, + commomtable.pro_content, dbo.t_scan_assort.assort_id, dbo.t_scan_assort.scan_page, dbo.zd_assort.assort_name, diff --git a/src/main/webapp/WEB-INF/views/recordManage/commomSearch/commomListqf.jsp b/src/main/webapp/WEB-INF/views/recordManage/commomSearch/commomListqf.jsp index 635dddd..50b088b 100644 --- a/src/main/webapp/WEB-INF/views/recordManage/commomSearch/commomListqf.jsp +++ b/src/main/webapp/WEB-INF/views/recordManage/commomSearch/commomListqf.jsp @@ -612,7 +612,7 @@ 病案备注: - + @@ -853,7 +853,7 @@ 身份证号码: - + diff --git a/src/main/webapp/static/js/recordManage/commomSearch/commomListqf.js b/src/main/webapp/static/js/recordManage/commomSearch/commomListqf.js index 6feb45f..c972f9c 100644 --- a/src/main/webapp/static/js/recordManage/commomSearch/commomListqf.js +++ b/src/main/webapp/static/js/recordManage/commomSearch/commomListqf.js @@ -121,6 +121,7 @@ function initQueryCondition(){ $("#memoDiv").css('display',''); $("#phDiv").css('display',''); $("#isOperDiv").css('display',''); + $("#idCardDiv").css('display',''); $("#inpatientNoEditDiv,#nameEditDiv,#admissTimesEditDiv,#admissDateEditDiv,#disDateEditDiv,#disDeptEditDiv,#disDiagEditDiv").css('display',''); } diff --git a/src/main/webapp/static/js/recordManage/templateSearch/searchCommomMethodqf.js b/src/main/webapp/static/js/recordManage/templateSearch/searchCommomMethodqf.js index 93307f1..f670b36 100644 --- a/src/main/webapp/static/js/recordManage/templateSearch/searchCommomMethodqf.js +++ b/src/main/webapp/static/js/recordManage/templateSearch/searchCommomMethodqf.js @@ -663,6 +663,7 @@ function downloadZip(typeId){ * @param patientId */ function downloadPdf(patientId){ + var dataSource = $("#dataSource").val(); //查询是否有图片 $.ajax({ type:'get', @@ -671,7 +672,7 @@ function downloadPdf(patientId){ success:function(data){ if(data == 1){ post(path + '/template/downloadPdfBlood', {"patientIds": patientId, - "flag":$("#flag").val()}); + "flag":$("#flag").val(), "dataSource": dataSource}); }else{ toastr.warning("找不到影像资料!"); } diff --git a/src/main/webapp/static/pdfjs/web/viewer2.html b/src/main/webapp/static/pdfjs/web/viewer2.html index 6644876..35f7316 100644 --- a/src/main/webapp/static/pdfjs/web/viewer2.html +++ b/src/main/webapp/static/pdfjs/web/viewer2.html @@ -97,16 +97,6 @@ http://sourceforge.net/adobe/cmap/wiki/License/ opacity: 1; } - .a4-image { - display: block; - width: 90vw; - height: auto; - max-height: 90vh; - object-fit: contain; - margin: 10px auto; - page-break-after: auto; - } - /* 设置打印时的样式 */ @media print { body { @@ -123,8 +113,11 @@ http://sourceforge.net/adobe/cmap/wiki/License/ } .a4-image { - width: 850px !important; - height: 1190px !important; + width: 210mm !important; + height: 297mm !important; + object-fit: contain !important; /* 保持比例,居中显示 */ + object-position: center; /* 居中对齐 */ + margin: 0 !important; page-break-after: always; } }