Merge remote-tracking branch 'origin/master'

master
Godblessyou 9 months ago
commit 51b49d5410

@ -5,10 +5,7 @@ import com.alibaba.fastjson.JSONObject;
import com.emr.annotation.OptionalLog; import com.emr.annotation.OptionalLog;
import com.emr.controller.FormTokenFlagUtil; import com.emr.controller.FormTokenFlagUtil;
import com.emr.controller.JAXDynamicClientFactory; import com.emr.controller.JAXDynamicClientFactory;
import com.emr.dao.Archive_DetailMapper; import com.emr.dao.*;
import com.emr.dao.CommomMapper;
import com.emr.dao.EmrComomSetMapper;
import com.emr.dao.Emr_DictionaryMapper;
import com.emr.dao.approve.Emr_Apply_ApproveMapper; import com.emr.dao.approve.Emr_Apply_ApproveMapper;
import com.emr.dao.commomSearch.ScanPathMapper; import com.emr.dao.commomSearch.ScanPathMapper;
import com.emr.dao.emrPdfWaterSet.EmrPdfWaterSetMapper; import com.emr.dao.emrPdfWaterSet.EmrPdfWaterSetMapper;
@ -121,6 +118,8 @@ public class TemplateSearchController {
private CommomService commomService; private CommomService commomService;
@Autowired @Autowired
private Archive_DetailMapper archiveDetailMapper; private Archive_DetailMapper archiveDetailMapper;
@Autowired
private Archive_MasterMapper archiveMasterMapper;
@Value("${export_pdf_hospital_info}") @Value("${export_pdf_hospital_info}")
private String hospitaInfo; private String hospitaInfo;
@ -1556,6 +1555,7 @@ public class TemplateSearchController {
@ResponseBody @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) {
if (StringUtils.isNoneBlank(patientIds)) { if (StringUtils.isNoneBlank(patientIds)) {
List<String> filePaths = new ArrayList<>();
try { try {
if (StringUtils.isNotBlank(assortIds)) { if (StringUtils.isNotBlank(assortIds)) {
String[] assortIdStr = assortIds.split(","); String[] assortIdStr = assortIds.split(",");
@ -1581,6 +1581,24 @@ public class TemplateSearchController {
emrPdfWaterSet.setIsImg(emrPdfWaterSet.getDownloadIsImg()); emrPdfWaterSet.setIsImg(emrPdfWaterSet.getDownloadIsImg());
EmrPdfWaterSet emrPdfWaterSet1 = commomService.getEmrPdfWaterSet(emrPdfWaterSet); EmrPdfWaterSet emrPdfWaterSet1 = commomService.getEmrPdfWaterSet(emrPdfWaterSet);
imgToPdfUtil.imageToPdf(response, scanPathVos, pdfName, emrPdfWaterSet,emrPdfWaterSet1); imgToPdfUtil.imageToPdf(response, scanPathVos, pdfName, emrPdfWaterSet,emrPdfWaterSet1);
}else {
//查询患者信息
List<ScanPathVo> merInfo = scanPathMapper.selectFilaname(patientIds);
List<Archive_Detail> archiveDetails = archiveDetailMapper.selectPdfPathByPatient(patientIds, assortIds);
if (null != archiveDetails && !archiveDetails.isEmpty()) {
for (Archive_Detail detail : archiveDetails) {
String pdfPath = detail.getPdfPath();
if (StringUtils.isNotBlank(pdfPath)) {
filePaths.add(pdfPath);
}
}
SimpleDateFormat originalFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
SimpleDateFormat targetFormat = new SimpleDateFormat("yyyyMMdd");
Date date = originalFormat.parse(merInfo.get(0).getDisDate());
String formattedDate = targetFormat.format(date);
String filename = hospitaInfo+ "_" +merInfo.get(0).getInpatientNo().trim()+ "_" + formattedDate.format(formattedDate);
Jpg2PdfUtil.mulFile2One3(response, filePaths, filename);
}
} }
} catch (Exception e) { } catch (Exception e) {
ExceptionPrintUtil.printException(e); ExceptionPrintUtil.printException(e);

@ -14,6 +14,7 @@ import javax.servlet.http.HttpServletResponse;
import java.awt.*; import java.awt.*;
import java.io.*; import java.io.*;
import java.net.URL; import java.net.URL;
import java.net.URLEncoder;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.util.Date; import java.util.Date;
import java.util.Iterator; import java.util.Iterator;
@ -285,7 +286,7 @@ public class Jpg2PdfUtil {
} }
} }
public static void mulFile2One3(HttpServletResponse response, List<String> filePaths, String filename, EmrPdfWaterSet emrPdfWaterSet) { public static void mulFile2One3(HttpServletResponse response,List<String> filePaths,String filename) {
String waterMarkName=""; String waterMarkName="";
SimpleDateFormat fmt = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); SimpleDateFormat fmt = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
//遍历删除,除去损坏,文件不存在,抛异常就是空白页 //遍历删除,除去损坏,文件不存在,抛异常就是空白页
@ -309,7 +310,7 @@ public class Jpg2PdfUtil {
Document document = null; Document document = null;
PdfCopy copy = null; PdfCopy copy = null;
try { try {
filename = java.net.URLEncoder.encode(filename, "UTF-8"); filename = URLEncoder.encode(filename, "UTF-8");
response.reset(); response.reset();
response.setCharacterEncoding("utf-8"); response.setCharacterEncoding("utf-8");
response.setContentType("application/pdf"); response.setContentType("application/pdf");
@ -322,15 +323,15 @@ public class Jpg2PdfUtil {
ByteArrayOutputStream bos = new ByteArrayOutputStream(); ByteArrayOutputStream bos = new ByteArrayOutputStream();
PdfReader pdfReader = null; PdfReader pdfReader = null;
//判断是否加水印 //判断是否加水印
if (emrPdfWaterSet.getDownloadEffective() == 1) { if (StringUtils.isNotBlank(waterMarkName)) {
setWatermark(bos, reader, emrPdfWaterSet.getText(), null); setWatermark(bos, reader, waterMarkName, null);
pdfReader = new PdfReader(bos.toByteArray()); pdfReader = new PdfReader(bos.toByteArray());
} }
int n = reader.getNumberOfPages(); int n = reader.getNumberOfPages();
for (int j = 1; j <= n; j++) { for (int j = 1; j <= n; j++) {
document.newPage(); document.newPage();
PdfImportedPage page = null; PdfImportedPage page = null;
if (emrPdfWaterSet.getDownloadEffective() == 1) { if (StringUtils.isNotBlank(waterMarkName)) {
page = copy.getImportedPage(pdfReader, j); page = copy.getImportedPage(pdfReader, j);
} else { } else {
page = copy.getImportedPage(reader, j); page = copy.getImportedPage(reader, j);

@ -100,9 +100,7 @@
LEFT JOIN zd_assort LEFT JOIN zd_assort
ON archive_detail.AssortID = zd_assort.assort_id ON archive_detail.AssortID = zd_assort.assort_id
WHERE WHERE
MasterID = ${patientId} and flag != 1 MasterID = #{patientId}
AND
AssortID in (${assortIds})
ORDER BY zd_assort.assort_sort,UpLoadDateTime ORDER BY zd_assort.assort_sort,UpLoadDateTime
</select> </select>

Loading…
Cancel
Save