From b56837a320a40e98645375443b1ba26cb866c5c4 Mon Sep 17 00:00:00 2001 From: hujl <123@qq.com> Date: Fri, 16 Apr 2021 14:24:56 +0800 Subject: [PATCH] =?UTF-8?q?=E5=BD=92=E6=A1=A3=E6=9B=B4=E6=96=B0=E7=89=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../emr/controller/inHospitalController.java | 255 ++++++++++-- .../emr/controller/lastVerifyController.java | 1 - .../views/beHospitaledDir/beHospList.jsp | 390 +++++++++++++++--- .../WEB-INF/views/commitDir/commitList.jsp | 223 +++++++++- .../views/inHospitalDir/inHositalList.jsp | 247 ++++++++++- .../views/lastVerifyDir/lastVerifyList.jsp | 220 +++++++++- .../webapp/WEB-INF/views/pdfDir/pdfDir.jsp | 57 ++- .../WEB-INF/views/pdfDir/pdfLastDir.jsp | 8 +- .../unfileMedicalDir/unfileMedicalList.jsp | 230 ++++++++++- 9 files changed, 1487 insertions(+), 144 deletions(-) diff --git a/src/main/java/com/emr/controller/inHospitalController.java b/src/main/java/com/emr/controller/inHospitalController.java index 6d5678b9..80e373c1 100644 --- a/src/main/java/com/emr/controller/inHospitalController.java +++ b/src/main/java/com/emr/controller/inHospitalController.java @@ -320,21 +320,17 @@ public class inHospitalController { realPath = pictureUrl + "\\static\\img\\"; //pdf名称 String pdfFileName = String.valueOf(System.currentTimeMillis()); - //病案号文件夹 if (masterId == "" && masterId == null) { result = ""; return result; } - //判断文件夹是否存在 File fileDic = new File(realPath + masterId + "\\"); if (!fileDic.exists() && !fileDic.isDirectory()) { fileDic.mkdirs(); } - List zds = zd_assortService.selectByColm(new Zd_Assort()); //from db - //from args //病案号/类别/id文件夹(图片路径下的子文件夹名称) //生成pdf(图片路径,pdf生成路径,图片路径文件夹列表) @@ -353,11 +349,9 @@ public class inHospitalController { if (imgList.indexOf(a) == -1) { zds.remove(i); } - } ArrayList fileList = new ArrayList<>(); - for (int i = 0; i < zds.size(); i++) { String asordID = zds.get(i).getAssortId(); String pdfA = GeneratePDFFileByAssortID(masterId, asordID, realPath, flag); @@ -638,7 +632,6 @@ public class inHospitalController { } } } - // } } } @@ -957,7 +950,6 @@ public class inHospitalController { } else { result = "没有找到相对应的文件!"; } - } } } @@ -1575,6 +1567,8 @@ public class inHospitalController { @ResponseBody @RequestMapping(value = "/returnPage") public String returnPage(HttpServletRequest request, HttpServletResponse response, Archive_Detail_Picture archiveDetailPicture) throws Exception { + SimpleDateFormat format2 = new SimpleDateFormat("yyyyMMddHHmmss"); + String nowTime2 = format2.format(new Date()); String result = ""; int bol = 0; // 模板文件路径 @@ -1587,35 +1581,62 @@ public class inHospitalController { // 页数 int pageNum = archiveDetailPicture.getPictureNumber(); File file = new File(templatePath); - PdfReader pdfReader = new PdfReader(new FileInputStream(file)); - int pages = pdfReader.getNumberOfPages(); - if (pages >= 1) { - if ((pages) >= pageNum) { - if (file.exists() && file.isFile()) { - result = AddImgToPdf.addImgToPdf(templatePath, targetPath, imagePath, pageNum); - if (result != "文件不存在") { - archiveDetailPicture.setMaxPicture(null); - archiveDetailPicture.setMinPicture(null); - archiveDetailPicture.setPictureNumber(null); - //删除记录 - bol = archiveDetailPictureService.deleteByCol(archiveDetailPicture); - if (bol == 1) { - file.delete(); + if(file.exists()) { + + //备份pdf文件 + //判断是否有备份如果没有则备份pdf文件 + Archive_Detail archiveDetail =archiveDetailService.selectByid(archiveDetailPicture.getParentId()); + if(archiveDetail!=null){ + String fileDirName = archiveDetail.getPdfPath(); + fileDirName = fileDirName.substring(fileDirName.lastIndexOf("\\") + 1).replace(".pdf", ""); + if (archiveDetail.getRecoverPdfPath() == null || archiveDetail.getRecoverPdfPath() == "") { + //备份pdf文件复印并将记录保存 + String recoverPdfPath = archiveDetail.getPdfPath().replace(file.getName(), "") + nowTime2 + ".pdf"; + archiveDetail.setRecoverPdfPath(recoverPdfPath); + archiveDetailService.updateCloById(archiveDetail); + //复印pdf备份 + PrintToPdfUtil.copyFile2(archiveDetail.getPdfPath(), recoverPdfPath); + } + } + + PdfReader pdfReader = new PdfReader(new FileInputStream(file)); + int pages = pdfReader.getNumberOfPages(); + if (pages >= 1) { + if ((pages) >= pageNum) { + if (file.exists() && file.isFile()) { + result = AddImgToPdf.addImgToPdf(templatePath, targetPath, imagePath, pageNum); + if (result != "文件不存在") { + archiveDetailPicture.setMaxPicture(null); + archiveDetailPicture.setMinPicture(null); + archiveDetailPicture.setPictureNumber(null); + //删除记录 + bol = archiveDetailPictureService.deleteByCol(archiveDetailPicture); + if (bol == 1) { + // file.delete(); + //将之前文件删除 + File file1 = new File(imagePath); + if (file1.exists() && file1.isFile()) { + file1.delete(); + } + } + result = "图片还原到" + pageNum + "页成功!"; + } else { + result = "图片还原失败!"; } - result = "图片还原到" + pageNum + "页成功!"; - } else { - result = "图片还原失败!"; } + } else { + result = "图片还原" + pageNum + "要小于等于" + pages + "!"; } } else { - result = "图片还原" + pageNum + "要小于等于" + pages + "!"; + result = "pdf文件无内容!"; } - } else { - result = "pdf文件无内容!"; + }else{ + result = "pdf文件不存在!"; } return result; } + //@OptionalLog(methods = "PDF文件还原最初") @ResponseBody @RequestMapping(value = "/returnPdfFile") public String returnPdfFile(HttpServletRequest request, HttpServletResponse response, Archive_Detail archiveDetail) throws Exception { @@ -1624,21 +1645,26 @@ public class inHospitalController { archiveDetail = archiveDetailService.selectByid(archiveDetail.getId()); if(archiveDetail!=null){ if(archiveDetail.getPdfPath()!="" && archiveDetail.getPdfPath()!=null && archiveDetail.getRecoverPdfPath()!="" && archiveDetail.getRecoverPdfPath()!=null){ - PrintToPdfUtil.copyFile2(archiveDetail.getRecoverPdfPath(), archiveDetail.getPdfPath()); - //并删除图片记录 - Archive_Detail_Picture archiveDetailPicture=new Archive_Detail_Picture(); - archiveDetailPicture.setParentId(archiveDetail.getId()); - String fileDirName=archiveDetail.getPdfPath(); - fileDirName = fileDirName.substring(fileDirName.lastIndexOf("\\")+1).replace(".pdf",""); - int bol = archiveDetailPictureService.deleteByCol(archiveDetailPicture); - if (bol == 1) { - // 项目在容器中实际发布运行的根路径 - String realPath = request.getSession().getServletContext().getRealPath("/"); - // 设置存放图片文件的路径 - String pdfDelPicUrl = "static\\img\\delPicImg\\"; - //将之前文件目录下图片删除 - File file = new File(realPath + pdfDelPicUrl + fileDirName + "\\"); - PrintToPdfUtil.delete(file); + File file2=new File(archiveDetail.getPdfPath()); + if(file2.exists()) { + PrintToPdfUtil.copyFile2(archiveDetail.getRecoverPdfPath(), archiveDetail.getPdfPath()); + //并删除图片记录 + Archive_Detail_Picture archiveDetailPicture = new Archive_Detail_Picture(); + archiveDetailPicture.setParentId(archiveDetail.getId()); + String fileDirName = archiveDetail.getPdfPath(); + fileDirName = fileDirName.substring(fileDirName.lastIndexOf("\\") + 1).replace(".pdf", ""); + int bol = archiveDetailPictureService.deleteByCol(archiveDetailPicture); + if (bol == 1) { + // 项目在容器中实际发布运行的根路径 + String realPath = request.getSession().getServletContext().getRealPath("/"); + // 设置存放图片文件的路径 + String pdfDelPicUrl = "static\\img\\delPicImg\\"; + //将之前文件目录下图片删除 + File file = new File(realPath + pdfDelPicUrl + fileDirName + "\\"); + PrintToPdfUtil.delete(file); + } + }else{ + result="pdf文件不存在,所以不可备份!"; } }else{ result="暂无备份pdf文件!"; @@ -1646,6 +1672,149 @@ public class inHospitalController { } return result; } + + //@OptionalLog(methods = "PDF文件重新备份") + @ResponseBody + @RequestMapping(value = "/bfPdfFile") + public String bfPdfFile(HttpServletRequest request, HttpServletResponse response, Archive_Detail archiveDetail) throws Exception { + String result=""; + //判断是否有备份如果没有则备份pdf文件 + archiveDetail = archiveDetailService.selectByid(archiveDetail.getId()); + if(archiveDetail!=null){ + if(archiveDetail.getPdfPath()!="" && archiveDetail.getPdfPath()!=null && archiveDetail.getRecoverPdfPath()!="" && archiveDetail.getRecoverPdfPath()!=null){ + File file2=new File(archiveDetail.getPdfPath()); + if(file2.exists()) { + PrintToPdfUtil.copyFile2(archiveDetail.getPdfPath(), archiveDetail.getRecoverPdfPath()); + //并删除图片记录 + Archive_Detail_Picture archiveDetailPicture = new Archive_Detail_Picture(); + archiveDetailPicture.setParentId(archiveDetail.getId()); + String fileDirName = archiveDetail.getPdfPath(); + fileDirName = fileDirName.substring(fileDirName.lastIndexOf("\\") + 1).replace(".pdf", ""); + int bol = archiveDetailPictureService.deleteByCol(archiveDetailPicture); + if (bol == 1) { + // 项目在容器中实际发布运行的根路径 + String realPath = request.getSession().getServletContext().getRealPath("/"); + // 设置存放图片文件的路径 + String pdfDelPicUrl = "static\\img\\delPicImg\\"; + //将之前文件目录下图片删除 + File file = new File(realPath + pdfDelPicUrl + fileDirName + "\\"); + PrintToPdfUtil.delete(file); + } + result = "重新备份pdf文件成功!"; + }else{ + result="pdf文件不存在,所以不可备份!"; + } + }else{ + result="暂无备份pdf文件!"; + } + } + return result; + } + + /** + * 删除页批量图片上传 + * + * @param resp + * @param request + * @param + * @return + * @throws IOException + */ + @Transactional + @ResponseBody + @RequestMapping(value = "/uploadDelPageImgS", method = RequestMethod.POST) + public String uploadDelPageImgS(HttpServletResponse resp, HttpServletRequest request, @RequestParam MultipartFile[] imgs) throws Exception { + resp.setContentType("text/json"); + resp.setCharacterEncoding("utf-8"); + request.setCharacterEncoding("utf-8"); + // 从session获取用户名 + Subject currentUser = SecurityUtils.getSubject(); + Session session = currentUser.getSession(); + String username = (String) session.getAttribute("userSession");//获取前面登录的用户名 + String parentId = request.getParameter("parentId"); + SimpleDateFormat format1 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + SimpleDateFormat format2 = new SimpleDateFormat("yyyyMMddHHmmss"); + String nowTime = format1.format(new Date()); + String nowTime2 = format2.format(new Date()); + // 项目在容器中实际发布运行的根路径 + String realPath = request.getSession().getServletContext().getRealPath("/"); + // 设置存放删除页图片路径 + String path2 = "static\\img\\delPicImg\\"; + String result=""; + int bol=0; + + if (parentId != null && parentId != "") { + //判断是否有备份如果没有则备份pdf文件 + Archive_Detail archiveDetail = archiveDetailService.selectByid(parentId); + if(archiveDetail!=null) { + File file = new File(archiveDetail.getPdfPath()); + if(file.exists()) { + String fileDirName = archiveDetail.getPdfPath(); + fileDirName = fileDirName.substring(fileDirName.lastIndexOf("\\") + 1).replace(".pdf", ""); + if (archiveDetail.getRecoverPdfPath() == null || archiveDetail.getRecoverPdfPath() == "") { + //备份pdf文件复印并将记录保存 + String recoverPdfPath = archiveDetail.getPdfPath().replace(file.getName(), "") + nowTime2 + ".pdf"; + archiveDetail.setRecoverPdfPath(recoverPdfPath); + archiveDetailService.updateCloById(archiveDetail); + //复印pdf备份 + PrintToPdfUtil.copyFile2(archiveDetail.getPdfPath(), recoverPdfPath); + } + //类循环 + if (imgs != null && imgs.length > 0) { + Archive_Detail_Picture archiveDetailPicture = new Archive_Detail_Picture(); + archiveDetailPicture.setParentId(parentId); + archiveDetailPicture.setPictureNumber(1); + archiveDetailPicture.setEffective(1); + archiveDetailPicture.setCreater(username); + archiveDetailPicture.setCreateTime(nowTime); + archiveDetailPicture.setUpdater(username); + archiveDetailPicture.setUpdateTime(nowTime); + archiveDetailPicture.setRemark("额外上传的图片"); + String oldName = "";// 如apple1.jpg + String lasName = ""; + String trueFileName = ""; + String imgPath = ""; + for (int t = 0; t < imgs.length; t++) { + //得到图片名 + oldName = imgs[t].getOriginalFilename();// 如apple1.jpg + lasName = oldName.substring(oldName.lastIndexOf(".") + 1); + // 自定义的文件名称String.valueOf(System.currentTimeMillis()) + trueFileName = nowTime2+System.currentTimeMillis() + oldName; + if ("GIF".equals(lasName.toUpperCase()) || "JPEG".equals(lasName.toUpperCase()) || "PNG".equals(lasName.toUpperCase()) || "JPG".equals(lasName.toUpperCase())) { + File fileDir = new File(realPath + path2 + fileDirName + "\\"); + if (!fileDir.exists() && !fileDir.isDirectory()) { + fileDir.mkdirs(); + } + imgPath = path2 + fileDirName + "\\" + trueFileName; + //上传图片 + imgs[t].transferTo(new File(realPath + imgPath)); + archiveDetailPicture.setMaxPicture(imgPath); + //插入记录 + bol = archiveDetailPictureService.insertSelective(archiveDetailPicture); + if (bol == 1) { + result = "上传图片成功!"; + } else { + result = "上传图片失败!"; + } + } + } + + } else { + result = "上传图片不为空!"; + } + }else{ + result = "pdf文件不存在或破损!"; + } + } else { + result = "记录不存在!"; + } + }else{ + result="记录不存在!"; + } + + return result; + } + } diff --git a/src/main/java/com/emr/controller/lastVerifyController.java b/src/main/java/com/emr/controller/lastVerifyController.java index 5ca9cb1c..8ffb7869 100644 --- a/src/main/java/com/emr/controller/lastVerifyController.java +++ b/src/main/java/com/emr/controller/lastVerifyController.java @@ -140,7 +140,6 @@ public class lastVerifyController { } bol = archiveMasterService.updateByClo(archiveMaster); - //修改复审内容 if (bol == 1) { // 从session获取用户名 diff --git a/src/main/webapp/WEB-INF/views/beHospitaledDir/beHospList.jsp b/src/main/webapp/WEB-INF/views/beHospitaledDir/beHospList.jsp index af30ed88..afdf67b5 100644 --- a/src/main/webapp/WEB-INF/views/beHospitaledDir/beHospList.jsp +++ b/src/main/webapp/WEB-INF/views/beHospitaledDir/beHospList.jsp @@ -168,7 +168,7 @@ !important; } - .fixed-table-toolbar .bs-bars .pull-right{ + .fixed-table-toolbar .bs-bars .pull-right { height: 20px; !important; } @@ -246,12 +246,18 @@ width: 80%; } - #WZModal2.modal-content { - margin-left: 50%; + #returnCmtModal .modal-content { + margin-left: 65%; margin-top: 10%; width: 80%; } + #WZModal2 .modal-content { + margin-left: 50%; + margin-top: 10%; + width: 120%; + } + .panel-primary > .panel-heading { background-color: #3c8dbc; border-color: #3c8dbc; @@ -372,12 +378,17 @@ } #addDelDiv { - width: 81%; + width: 85%; background-color: #0b93d5; text-align: center; color: red; } + #upLoadImgBtn{ + width:35%; + text-align: left; + } + #delAllImgBtn { width: 35%; } @@ -401,6 +412,15 @@ margin-top: 20%; } + #imgDelPageModal .modal-content { + margin-left: 5%; + width: calc(200%); /*margin-left:-15%;*/ + height: calc(100vh - 100px); + overflow-x: hidden; + overflow-y:auto; + !important; + } + #wzContent { margin-left: 30px; @@ -441,7 +461,7 @@ <%----%> <%----%> <%----%> -
+
<%--
-
+
                -                 -                 + +                 + +                
@@ -618,7 +640,8 @@
- +
@@ -1224,8 +1247,10 @@
<%--归档病历是否已全部无纸化无扫描件--%> 是否有纸质病历送病案室 - 有 - 无 + 有 +
@@ -1279,7 +1304,7 @@