潮州人医常用查询无法使用下载PDF

master
linjj 9 months ago
parent e54b90a930
commit 59fd24f97c

@ -1556,6 +1556,7 @@ public class TemplateSearchController {
@ResponseBody
public void downloadPdfBlood(HttpServletResponse response, String patientIds, String assortIds, Integer typeId, String flag) {
if (StringUtils.isNoneBlank(patientIds)) {
List<String> filePaths = new ArrayList<>();
try {
if (StringUtils.isNotBlank(assortIds)) {
String[] assortIdStr = assortIds.split(",");
@ -1581,6 +1582,19 @@ public class TemplateSearchController {
emrPdfWaterSet.setIsImg(emrPdfWaterSet.getDownloadIsImg());
EmrPdfWaterSet emrPdfWaterSet1 = commomService.getEmrPdfWaterSet(emrPdfWaterSet);
imgToPdfUtil.imageToPdf(response, scanPathVos, pdfName, emrPdfWaterSet,emrPdfWaterSet1);
}else {
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 fmt = new SimpleDateFormat("yyyyMMdd");
String filename = fmt.format(new Date());
Jpg2PdfUtil.mulFile2One3(response, filePaths, filename);
}
}
} catch (Exception e) {
ExceptionPrintUtil.printException(e);

@ -285,73 +285,72 @@ public class Jpg2PdfUtil {
}
}
public static void mulFile2One3(HttpServletResponse response, List<String> filePaths, String filename, EmrPdfWaterSet emrPdfWaterSet) {
String waterMarkName = "";
SimpleDateFormat fmt= new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
public static void mulFile2One3(HttpServletResponse response,List<String> filePaths,String filename) {
String waterMarkName="";
SimpleDateFormat fmt = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
//遍历删除,除去损坏,文件不存在,抛异常就是空白页
Iterator<String> iterator = filePaths.iterator();
while (iterator.hasNext()) {
String fileStr = iterator.next();
File file = new File(fileStr);
if (file.isFile()) {
if(file.isFile()){
boolean flag = check(fileStr);
if (!flag) {
if(!flag){
iterator.remove();
System.out.println(fmt.format(new Date()) + ":" + file + "文件损坏");
System.out.println(fmt.format(new Date())+":"+file+"文件损坏");
}
} else {
}else{
iterator.remove();
System.out.println(fmt.format(new Date()) + ":" + file + "文件不存在");
System.out.println(fmt.format(new Date())+":"+file+"文件不存在");
}
}
if (!filePaths.isEmpty()) {
if(!filePaths.isEmpty()){
// pdf合并工具类
Document document = null;
PdfCopy copy = null;
try {
filename = java.net.URLEncoder.encode(filename, "UTF-8");
response.reset();
response.setCharacterEncoding("utf-8");
response.setContentType("application/pdf");
response.setHeader("Content-Disposition", "attachment; filename=" + filename + ".pdf");
document = new Document(new PdfReader(filePaths.get(0)).getPageSize(1));
copy = new PdfCopy(document, response.getOutputStream());
copy = new PdfCopy(document,response.getOutputStream());
document.open();
for (String file : filePaths) {
PdfReader reader = new PdfReader(file);
ByteArrayOutputStream bos = new ByteArrayOutputStream();
PdfReader pdfReader = null;
//判断是否加水印
if (emrPdfWaterSet.getDownloadEffective() == 1) {
setWatermark(bos, reader, emrPdfWaterSet.getText(), null);
if (StringUtils.isNotBlank(waterMarkName)) {
setWatermark(bos, reader, waterMarkName, null);
pdfReader = new PdfReader(bos.toByteArray());
}
int n = reader.getNumberOfPages();
for (int j = 1; j <= n; j++) {
document.newPage();
PdfImportedPage page = null;
if (emrPdfWaterSet.getDownloadEffective() == 1) {
if (StringUtils.isNotBlank(waterMarkName)) {
page = copy.getImportedPage(pdfReader, j);
} else {
page = copy.getImportedPage(reader, j);
}
copy.addPage(page);
}
if (null != pdfReader) {
if(null != pdfReader){
pdfReader.close();
}
reader.close();
try {
bos.flush();
bos.close();
} catch (Exception e) {
}catch (Exception e){
//e.printStackTrace();
}
}
} catch (Exception e) {
}catch (Exception e){
//e.printStackTrace();
} finally {
if (null != document) {
}finally {
if(null != document){
document.close();
}
}

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

Loading…
Cancel
Save