diff --git a/pom.xml b/pom.xml
index aa023c96..facd0b69 100644
--- a/pom.xml
+++ b/pom.xml
@@ -115,6 +115,11 @@
jackson-databind
${jackson.version}
+
+ org.apache.commons
+ commons-collections4
+ 4.4
+
org.apache.httpcomponents
diff --git a/src/main/java/com/emr/controller/inHospitalController.java b/src/main/java/com/emr/controller/inHospitalController.java
index 51c7fe2b..ac066326 100644
--- a/src/main/java/com/emr/controller/inHospitalController.java
+++ b/src/main/java/com/emr/controller/inHospitalController.java
@@ -7,6 +7,8 @@
package com.emr.controller;
import com.emr.annotation.OptionalLog;
+import com.emr.dao.ArchiveDetailCaCopyMapper;
+import com.emr.dao.CaSignatureMapper;
import com.emr.entity.*;
import com.emr.service.*;
import com.emr.util.*;
@@ -60,8 +62,14 @@ public class inHospitalController {
@Autowired
private Archive_Detail_PictureService archiveDetailPictureService;
+ @Autowired
+ private ArchiveDetailCaCopyServer archiveDetailCaCopyServer;
+
- @Resource
+ @Autowired
+ private CaSignatureMapper caSignatureMapper;
+ @Autowired
+ private ArchiveDetailCaCopyMapper archiveDetailCaCopyMapper;
private LogService logService;
@Value("${pictureUrl}")
@@ -96,14 +104,14 @@ public class inHospitalController {
@RequestMapping(value = "/exportExcel")
public void exportExcel(HttpServletResponse response, Archive_Master_Vo archiveMasterVo) throws Exception {
response.setContentType("application/vnd.ms-excel;charset=UTF-8");
- String[] header = {"病历清单id","住院号","住院次数","名字","性别","身份证","入院科室","入院日期","主管医生","状态"};
- String[] fileNames = {"id","inpNo","visitId","name","sex","idNo","deptAdmissionTo","admissionDateTime","doctorInCharge","archivestate"};
+ String[] header = {"病历清单id", "住院号", "住院次数", "名字", "性别", "身份证", "入院科室", "入院日期", "主管医生", "状态"};
+ String[] fileNames = {"id", "inpNo", "visitId", "name", "sex", "idNo", "deptAdmissionTo", "admissionDateTime", "doctorInCharge", "archivestate"};
//文件名
String fileName = "在院浏览" + new SimpleDateFormat("yyyyMMddHHmmss").format(new Date()) + ".xls";
//构造excel的数据
List list = archiveMasterService.selectByCol(archiveMasterVo);
ThreadExcelUtils utils = new ThreadExcelUtils(fileName, "", header, fileNames);
- String result=utils.exportExcelToFilePath(response,utils.listConvert(list));
+ String result = utils.exportExcelToFilePath(response, utils.listConvert(list));
}
@ResponseBody
@@ -118,17 +126,35 @@ public class inHospitalController {
@ResponseBody
@RequestMapping(value = "/getAssort")
public List getAssort(HttpServletResponse response, Archive_Detail_Vo archiveDetailVo) throws Exception {
+ //查询是否签章
+ int caMasterIdNum = caSignatureMapper.getCaMasterId(archiveDetailVo.getPatientId(), 1);
+ //如果存在记录查询新的签章文件表
+ if (caMasterIdNum > 0) {
+ List list = archiveDetailCaCopyMapper.selectByClo(archiveDetailVo);
+ //查询新生儿数据并存入list
+ Integer page = archiveDetailService.selectChildByClo(archiveDetailVo);
+ if (page != 0) {
+ Archive_Detail_Vo archiveDetailVoNew = new Archive_Detail_Vo();
+ archiveDetailVoNew.setAssortId("1000");
+ archiveDetailVoNew.setAssortName("新生儿病历");
+ archiveDetailVoNew.setPrintFlag("0");
+ archiveDetailVoNew.setPageNum(page);
+ archiveDetailVoNew.setAssortSort((short) 1000);
+ list.add(archiveDetailVoNew);
+ }
+ return list;
+ }
//分段列表
- List newList=archiveDetailService.selectByClo(archiveDetailVo);
+ List newList = archiveDetailService.selectByClo(archiveDetailVo);
//查询新生儿数据并存入list
- Integer page=archiveDetailService.selectChildByClo(archiveDetailVo);
- if(page!=0){
- Archive_Detail_Vo archiveDetailVoNew=new Archive_Detail_Vo();
+ Integer page = archiveDetailService.selectChildByClo(archiveDetailVo);
+ if (page != 0) {
+ Archive_Detail_Vo archiveDetailVoNew = new Archive_Detail_Vo();
archiveDetailVoNew.setAssortId("1000");
archiveDetailVoNew.setAssortName("新生儿病历");
archiveDetailVoNew.setPrintFlag("0");
archiveDetailVoNew.setPageNum(page);
- archiveDetailVoNew.setAssortSort((short)1000);
+ archiveDetailVoNew.setAssortSort((short) 1000);
newList.add(archiveDetailVoNew);
}
return newList;
@@ -139,31 +165,32 @@ public class inHospitalController {
@RequestMapping(value = "/getAssortdetail")
public OffsetLimitPage getAssortdetail(HttpServletResponse response, Archive_Detail_Vo archiveDetailVo, Integer offset, Integer limit) throws Exception {
//分段详情列表分页
- OffsetLimitPage result =null;
+ OffsetLimitPage result = null;
//判断是否是新生儿数据 assortId=1000
- if("1000".equals(archiveDetailVo.getAssortId())){
+ if ("1000".equals(archiveDetailVo.getAssortId())) {
result = archiveDetailService.selectChild(archiveDetailVo, offset, limit);
- }else {
- result = archiveDetailService.detailByClo(archiveDetailVo, offset, limit);
+ } else {
+ result = archiveDetailService.detailByClo(archiveDetailVo, offset, limit);
}
return result;
}
- /**
+
+ /**
* @description: 查询病历清单详情回显参数
* @params:
- * @return:
+ * @return:
* @author linjj
* @date: 2023/6/28 15:38
*/
@ResponseBody
@RequestMapping(value = "/getDetailInfo")
- public Archive_Detail_Vo getDetailInfo(String detailId,HttpServletRequest request){
+ public Archive_Detail_Vo getDetailInfo(String detailId, HttpServletRequest request) {
Archive_Detail_Vo detailInfo = archiveDetailService.getDetailInfo(detailId);
List list = new ArrayList<>();
list.add(detailInfo.getPdfPath());
- SessionContant.setPdfUrl(null,detailId,list,request);
+ SessionContant.setPdfUrl(null, detailId, list, request);
return detailInfo;
}
@@ -200,7 +227,7 @@ public class inHospitalController {
if (file2.exists() && file2.isFile()) {
file2.delete();
}
- if(detail.getRecoverPdfPath()!=null &&detail.getRecoverPdfPath()!="") {
+ if (detail.getRecoverPdfPath() != null && detail.getRecoverPdfPath() != "") {
File file3 = new File(detail.getRecoverPdfPath());
if (file3.exists() && file3.isFile()) {
file3.delete();
@@ -295,11 +322,11 @@ public class inHospitalController {
Archive_Detail archiveDetail = new Archive_Detail();
archiveDetail.setFlag(flag);
archiveDetail.setMasterid(masterId.trim());
- List arList =new ArrayList<>();
+ List arList = new ArrayList<>();
//如果是新生儿,则不加分段id的筛选条件,
- if("1000".equals(assortID)){
- arList =archiveDetailService.selectChildList(archiveDetail);
- }else{
+ if ("1000".equals(assortID)) {
+ arList = archiveDetailService.selectChildList(archiveDetail);
+ } else {
archiveDetail.setTitle(assortID);
arList = archiveDetailService.selectByCol(archiveDetail);
}
@@ -359,11 +386,26 @@ public class inHospitalController {
@ResponseBody
@RequestMapping(value = "/getPdfToPdf")
public String getPdfToPdf(HttpServletResponse response, HttpServletRequest request, String imgStr, String masterId, String flag) throws Exception {
+ //查询是否签章
+ int caMasterIdNum = caSignatureMapper.getCaMasterId(masterId, 1);
+ //如果存在记录查询新的签章文件表
+ if (caMasterIdNum > 0) {
+ //组织分类id集合
+ if (StringUtils.isNotBlank(imgStr)) {
+ String[] assortIds = StringUtils.split(imgStr, ",");
+ List srcFileList = archiveDetailCaCopyServer.getPdfUrlByMasterOrId(assortIds, masterId, flag, null);
+ if (!CollectionUtils.isEmpty(srcFileList)) {
+ //设置进缓存
+ String key = SessionContant.setPdfUrl(masterId, imgStr, srcFileList, request);
+ return key;
+ }
+ }
+ }
//组织分类id集合
- if(StringUtils.isNotBlank(imgStr)){
+ if (StringUtils.isNotBlank(imgStr)) {
String[] assortIds = StringUtils.split(imgStr, ",");
- List srcFileList = archiveDetailService.getPdfUrlByMasterOrId(assortIds,masterId,flag,null);
- if(!CollectionUtils.isEmpty(srcFileList)){
+ List srcFileList = archiveDetailService.getPdfUrlByMasterOrId(assortIds, masterId, flag, null);
+ if (!CollectionUtils.isEmpty(srcFileList)) {
//设置进缓存
String key = SessionContant.setPdfUrl(masterId, imgStr, srcFileList, request);
return key;
@@ -507,17 +549,27 @@ public class inHospitalController {
@RequestMapping(value = "/getPdfById")
public String getPdfById(HttpServletResponse response, HttpServletRequest request, @Param("id") String idStr) throws Exception {
//组织分类id集合
- if(StringUtils.isNotBlank(idStr)){
+ if (StringUtils.isNotBlank(idStr)) {
List srcFileList = null;
- try {
- srcFileList = archiveDetailService.getPdfUrlByMasterOrId(null,null,null,idStr);
- } catch (Exception e) {
- e.printStackTrace();
- }
- if(!CollectionUtils.isEmpty(srcFileList)){
- //设置进缓存
- String key = SessionContant.setPdfUrl(idStr, idStr, srcFileList, request);
- return key;
+ List list = archiveDetailCaCopyServer.getPdfUrlByMasterOrId(null, null, null, idStr);
+ //如果存在记录查询新的签章文件表
+ if (list.size() > 0) {
+ if (!CollectionUtils.isEmpty(list)) {
+ //设置进缓存
+ String key = SessionContant.setPdfUrl(idStr, idStr, list, request);
+ return key;
+ }
+ } else {
+ try {
+ srcFileList = archiveDetailService.getPdfUrlByMasterOrId(null, null, null, idStr);
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ if (!CollectionUtils.isEmpty(srcFileList)) {
+ //设置进缓存
+ String key = SessionContant.setPdfUrl(idStr, idStr, srcFileList, request);
+ return key;
+ }
}
}
return null;
@@ -931,7 +983,7 @@ public class inHospitalController {
detail.setFlag("0");//显示
detail.setSource("后台");
detail.setSys("emr_medical_record");
- detail.setTitle("自动生成"+obj.get("selectName")+"PDF");
+ detail.setTitle("自动生成" + obj.get("selectName") + "PDF");
detail.setUploaddatetime(nowTime);
detail.setPdfPath(realPath + masterID + "\\" + pathType + pdfFile);
//类名
@@ -946,17 +998,17 @@ public class inHospitalController {
}
//读取指定路径下的文件名和目录名
- String pdfPathFile=realPath + path2+pathType.replace("\\", "")+"\\"+pathType.replace("\\", "")+".pdf";
- //获取图片的绝对路径,根据路径合成一份pdf文件
+ String pdfPathFile = realPath + path2 + pathType.replace("\\", "") + "\\" + pathType.replace("\\", "") + ".pdf";
+ //获取图片的绝对路径,根据路径合成一份pdf文件
entity = new Emr_Picture();
entity.setRelationId(masterID);
entity.setAssortId(obj.get("selectVal").toString());
- List imgsList=emrPictureService.selectByClo(entity);
- result=PrintToPdfUtil.imgsListTopdf(pdfPathFile,imgsList);
- if(result.equals("合成pdf成功")){
+ List imgsList = emrPictureService.selectByClo(entity);
+ result = PrintToPdfUtil.imgsListTopdf(pdfPathFile, imgsList);
+ if (result.equals("合成pdf成功")) {
result = "批量上传成功!";
- }else{
- result=result;
+ } else {
+ result = result;
}
/* 根据文件夹合成图片
List dirList = new ArrayList();
@@ -1356,23 +1408,43 @@ public class inHospitalController {
*/
@RequestMapping(value = "/pdfStreamHandeler")
- public void pdfStreamHandeler(HttpServletRequest request, HttpServletResponse response,String url)throws Exception {
+ public void pdfStreamHandeler(HttpServletRequest request, HttpServletResponse response, String url) throws Exception {
String filePath = request.getParameter("url");
- String[] list=filePath.split("titleName=");
- String key =list[0].substring(0,list[0].length()-1);
+ int caMasterIdNum = 0;
+ int archiveDetailNum = 0;
+ String[] list = filePath.split("titleName=");
+ String key = list[0].substring(0, list[0].length() - 1);
//titleName为前端页面title显示的患者姓名,这里要去掉
List filePaths = SessionContant.getPdfUrl(key, request);
- if(CollectionUtils.isEmpty(filePaths) && StringUtils.isNotBlank(key)){
+ if (CollectionUtils.isEmpty(filePaths) && StringUtils.isNotBlank(key)) {
//终审页面没有缓存,key为Mid_文件id逗号隔开
String[] keyArr = StringUtils.split(key, "_");
String[] assortIds = StringUtils.split(keyArr[1], ",");
String masterId = keyArr[0];
- if(masterId.substring(0,masterId.length()-1).equals(keyArr[1])){
+ //查询是否签章
+ if (masterId.substring(0, masterId.length() - 1).equals(keyArr[1])) {
//按文件id集合,masterId.substring(0,masterId.length()-1)去掉最后面的逗号
- filePaths = archiveDetailService.getPdfUrlByMasterOrId(null,null,"0",masterId);
- }else{
- //按文件分类id集合
- filePaths = archiveDetailService.getPdfUrlByMasterOrId(assortIds,masterId,"0",null);
+ archiveDetailNum = archiveDetailCaCopyMapper.getArchiveDetailNum(masterId);
+ } else {
+ caMasterIdNum = caSignatureMapper.getCaMasterId(masterId, 1);
+ }
+ //如果存在记录查询新的签章文件表
+ if (caMasterIdNum > 0 || archiveDetailNum > 0) {
+ if (masterId.substring(0, masterId.length() - 1).equals(keyArr[1])) {
+ //按文件id集合,masterId.substring(0,masterId.length()-1)去掉最后面的逗号
+ filePaths = archiveDetailCaCopyServer.getPdfUrlByMasterOrId(null, null, "0", masterId);
+ } else {
+ //按文件分类id集合
+ filePaths = archiveDetailCaCopyServer.getPdfUrlByMasterOrId(assortIds, masterId, "0", null);
+ }
+ } else {
+ if (masterId.substring(0, masterId.length() - 1).equals(keyArr[1])) {
+ //按文件id集合,masterId.substring(0,masterId.length()-1)去掉最后面的逗号
+ filePaths = archiveDetailService.getPdfUrlByMasterOrId(null, null, "0", masterId);
+ } else {
+ //按文件分类id集合
+ filePaths = archiveDetailService.getPdfUrlByMasterOrId(assortIds, masterId, "0", null);
+ }
}
}
if (null != filePaths && !filePaths.isEmpty()) {
@@ -1509,7 +1581,7 @@ public class inHospitalController {
//判断是否有备份如果没有则备份pdf文件
Archive_Detail archiveDetail2 = archiveDetailService.selectByid(archiveDetail.getId());
if (archiveDetail2 != null) {
- if (archiveDetail2.getRecoverPdfPath() == null|| archiveDetail2.getRecoverPdfPath() == "") {
+ if (archiveDetail2.getRecoverPdfPath() == null || archiveDetail2.getRecoverPdfPath() == "") {
//备份pdf文件复印并将记录保存
String recoverPdfPath = archiveDetail2.getPdfPath().replace(file.getName(), "") + nowTime + ".pdf";
archiveDetail2.setRecoverPdfPath(recoverPdfPath);
@@ -1656,17 +1728,17 @@ public class inHospitalController {
// 页数
int pageNum = archiveDetailPicture.getPictureNumber();
File file = new File(templatePath);
- if(file.exists()) {
+ if (file.exists()) {
//备份pdf文件
//判断是否有备份如果没有则备份pdf文件
- Archive_Detail archiveDetail =archiveDetailService.selectByid(archiveDetailPicture.getParentId());
- if(archiveDetail!=null){
+ 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";
+ String recoverPdfPath = archiveDetail.getPdfPath().replace(file.getName(), "") + nowTime2 + ".pdf";
archiveDetail.setRecoverPdfPath(recoverPdfPath);
archiveDetailService.updateCloById(archiveDetail);
//复印pdf备份
@@ -1687,7 +1759,7 @@ public class inHospitalController {
//删除记录
bol = archiveDetailPictureService.deleteByCol(archiveDetailPicture);
if (bol == 1) {
- // file.delete();
+ // file.delete();
//将之前文件删除
File file1 = new File(imagePath);
if (file1.exists() && file1.isFile()) {
@@ -1705,25 +1777,25 @@ public class inHospitalController {
} else {
result = "pdf文件无内容!";
}
- }else{
+ } else {
result = "pdf文件不存在!";
}
return result;
}
- //@OptionalLog(methods = "PDF文件还原最初")
+ //@OptionalLog(methods = "PDF文件还原最初")
@ResponseBody
@RequestMapping(value = "/returnPdfFile")
public String returnPdfFile(HttpServletRequest request, HttpServletResponse response, Archive_Detail archiveDetail) throws Exception {
request.setCharacterEncoding("utf-8");
response.setCharacterEncoding("utf-8");
- String result="";
+ 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()) {
+ 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.getRecoverPdfPath(), archiveDetail.getPdfPath());
//并删除图片记录
Archive_Detail_Picture archiveDetailPicture = new Archive_Detail_Picture();
@@ -1740,11 +1812,11 @@ public class inHospitalController {
File file = new File(realPath + pdfDelPicUrl + fileDirName + "\\");
PrintToPdfUtil.delete(file);
}
- }else{
- result="pdf文件不存在,所以不可备份!";
+ } else {
+ result = "pdf文件不存在,所以不可备份!";
}
- }else{
- result="暂无备份pdf文件!";
+ } else {
+ result = "暂无备份pdf文件!";
}
}
return result;
@@ -1756,13 +1828,13 @@ public class inHospitalController {
public String bfPdfFile(HttpServletRequest request, HttpServletResponse response, Archive_Detail archiveDetail) throws Exception {
request.setCharacterEncoding("utf-8");
response.setCharacterEncoding("utf-8");
- String result="";
+ 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()) {
+ 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();
@@ -1780,11 +1852,11 @@ public class inHospitalController {
PrintToPdfUtil.delete(file);
}
result = "重新备份pdf文件成功!";
- }else{
- result="pdf文件不存在,所以不可备份!";
+ } else {
+ result = "pdf文件不存在,所以不可备份!";
}
- }else{
- result="暂无备份pdf文件!";
+ } else {
+ result = "暂无备份pdf文件!";
}
}
return result;
@@ -1818,20 +1890,20 @@ public class inHospitalController {
String realPath = request.getSession().getServletContext().getRealPath("/");
// 设置存放删除页图片路径
String path2 = "static\\img\\delPicImg\\";
- String result="";
- int bol=0;
+ String result = "";
+ int bol = 0;
if (parentId != null && parentId != "") {
//判断是否有备份如果没有则备份pdf文件
Archive_Detail archiveDetail = archiveDetailService.selectByid(parentId);
- if(archiveDetail!=null) {
+ if (archiveDetail != null) {
File file = new File(archiveDetail.getPdfPath());
- if(file.exists()) {
+ 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";
+ String recoverPdfPath = archiveDetail.getPdfPath().replace(file.getName(), "") + nowTime2 + ".pdf";
archiveDetail.setRecoverPdfPath(recoverPdfPath);
archiveDetailService.updateCloById(archiveDetail);
//复印pdf备份
@@ -1857,7 +1929,7 @@ public class inHospitalController {
oldName = imgs[t].getOriginalFilename();// 如apple1.jpg
lasName = oldName.substring(oldName.lastIndexOf(".") + 1);
// 自定义的文件名称String.valueOf(System.currentTimeMillis())
- trueFileName = nowTime2+System.currentTimeMillis() + oldName;
+ 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()) {
@@ -1880,14 +1952,14 @@ public class inHospitalController {
} else {
result = "上传图片不为空!";
}
- }else{
+ } else {
result = "pdf文件不存在或破损!";
}
} else {
result = "记录不存在!";
}
- }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 d94f00bf..51b51cbe 100644
--- a/src/main/java/com/emr/controller/lastVerifyController.java
+++ b/src/main/java/com/emr/controller/lastVerifyController.java
@@ -598,6 +598,12 @@ public class lastVerifyController {
}
return result;
}
+ @ResponseBody
+ @RequestMapping(value = "/getUserInfn")
+ public Power_User getUserInfn(HttpServletRequest request){
+ Power_User user = (Power_User) request.getSession().getAttribute("CURRENT_USER");
+ return user;
+ }
}
diff --git a/src/main/java/com/emr/controller/medicalOverdueController.java b/src/main/java/com/emr/controller/medicalOverdueController.java
index 295285cf..90b7dd5d 100644
--- a/src/main/java/com/emr/controller/medicalOverdueController.java
+++ b/src/main/java/com/emr/controller/medicalOverdueController.java
@@ -53,13 +53,6 @@ public class medicalOverdueController {
return result;
}
- /*@ResponseBody
- @RequestMapping(value = "/test")
- public String test(Archive_Master_Vo archiveMasterVo) {
- List list = archiveMasterService.selectOverdue(archiveMasterVo);
- System.out.println(list.toString());
- return list.toString();
- }*/
@ResponseBody
@RequestMapping(value = "/exportExcel")
@@ -82,8 +75,9 @@ public class medicalOverdueController {
//文件名
String fileName = "初次提交归档列表" + new SimpleDateFormat("yyyyMMddHHmmss").format(new Date()) + ".xls";
//构造excel的数据overdueDays
- List list = archiveMasterService.selectOverdue(archiveMasterVo);
+ List list = archiveMasterService.selectOverdueE(archiveMasterVo);
for (int a = 0; a < list.size(); a++) {
+
String overTime1 = list.get(a).getOverTime1();
String handleTime = list.get(a).getHandleTime();
try {
@@ -111,56 +105,6 @@ public class medicalOverdueController {
list.get(a).setDeathFlag("否");
}
}
- List medicalRecordHomepageCacheList = null;
- if(archiveMasterVo.getOverdueDays()!=null && archiveMasterVo.getOverdueDays()!="") {
- if (list != null && list.size() > 0) {
- for (int i = 0; i < list.size(); i++) {
- if (list.get(i).getOverdue() != null && !list.get(i).getOverdue().equals("")) {
- int score = Integer.parseInt(list.get(i).getOverdue()) - Integer.parseInt(archiveMasterVo.getOverdueDays());
- list.get(i).setScore("" + score);
- }
-// if (list.get(i).getDeathFlag() != null && !list.get(i).getDeathFlag().equals("")){
-// if (list.get(i).getDeathFlag().equals("0")){
-// list.get(i).setDeathFlag("否");
-// }else {
-// list.get(i).setDeathFlag("是");
-// }
-// }
- //2021-09-17
- String doctorInChargeInHomePage = "";
- String directorDoctorInHomePage = "";
-
- //根据masterId查出该条首页缓存表中content内容
- MedicalRecordHomepageCacheExample medicalRecordHomepageCacheExample = new MedicalRecordHomepageCacheExample();
- MedicalRecordHomepageCacheExample.Criteria criteria = medicalRecordHomepageCacheExample.createCriteria();
- if (!StringUtils.isEmpty(list.get(i).getId())){
- criteria.andMasterIdEqualTo(list.get(i).getId());
- }
- medicalRecordHomepageCacheList = medicalRecordHomepageCacheMapper.selectByExample(medicalRecordHomepageCacheExample);
-
- if (medicalRecordHomepageCacheList.size()>0){
- //查出content
- String content = medicalRecordHomepageCacheList.get(0).getContent();
- //根据content内容获取首页中主治医生name、主任(副主任)医生name
- doctorInChargeInHomePage = JSONObject.parseObject(content).getJSONObject("commonTable").getString("yZY054");
- directorDoctorInHomePage = JSONObject.parseObject(content).getJSONObject("commonTable1").getString("yZY052");
- }
-// //重新赋值主管医生、主任(副主任)医生
-// if (doctorInChargeInHomePage != null && !doctorInChargeInHomePage.equals("")){
-// list.get(i).setDoctorInCharge(doctorInChargeInHomePage);
-// }else {
-// list.get(i).setDoctorInCharge("首页尚未填写主治医生!");
-// }
-
- if (directorDoctorInHomePage != null && !directorDoctorInHomePage.equals("")){
- list.get(i).setFirstInstance(directorDoctorInHomePage);
- }else {
- list.get(i).setFirstInstance("首页尚未填写主任(副主任)医生!");
- }
- //2021-09-17
- }
- }
- }
ThreadExcelUtils utils = new ThreadExcelUtils(fileName, "", header, fileNames);
String result=utils.exportExcelToFilePath(response,utils.listConvert(list));
}
diff --git a/src/main/java/com/emr/controller/taskController.java b/src/main/java/com/emr/controller/taskController.java
index 785f71cd..71710720 100644
--- a/src/main/java/com/emr/controller/taskController.java
+++ b/src/main/java/com/emr/controller/taskController.java
@@ -76,48 +76,48 @@ public class taskController {
}
- @Scheduled(cron="0 0 1 * * ?")//每天4点触发cron="0 0 4 * * ?"
- public void taskPDF() throws IOException {
- Date date1 = new Date();
- Calendar calendar = Calendar.getInstance(); //得到日历
- calendar.setTime(date1);//把当前时间赋给日历
- calendar.add(calendar.DATE, -15); //设置为前15天
- Date date2 = calendar.getTime();//获取15天前的时间
- DateFormat format = new SimpleDateFormat("yyyy-MM-dd");
- Date date;
- //转换成时间戳
- long t1 = date2.getTime();
- try {
- File f = new File("D:\\docus\\caCopy");
- File[] files = f.listFiles();
- for (int i = 0; i < files.length; i++) {
- //获取文件路径
- String filePath = files[i].getCanonicalPath();
- //获取文件名,文件名为yyyy--mm--dd格式时间
- String lastTime = files[i].getName();
- //将lastTime时间转为long类型
- try {
- date = format.parse(lastTime);
- } catch (ParseException e) {
- throw new RuntimeException(e);
- }
- Long timestamp = date.getTime();
- if (timestamp < t1) {
- //删除
- FileSystemUtils.deleteRecursively(new File(filePath));
- }
- }
- } catch (IOException e) {
- e.printStackTrace();
- }
- File file = new File(waterTifToJpgPath);
- if (file.isDirectory()) {
- for (File f : file.listFiles()) {
- f.delete();
- }
- }
-
- }
+// @Scheduled(cron="0 0 1 * * ?")//每天4点触发cron="0 0 4 * * ?"
+// public void taskPDF() throws IOException {
+// Date date1 = new Date();
+// Calendar calendar = Calendar.getInstance(); //得到日历
+// calendar.setTime(date1);//把当前时间赋给日历
+// calendar.add(calendar.DATE, -15); //设置为前15天
+// Date date2 = calendar.getTime();//获取15天前的时间
+// DateFormat format = new SimpleDateFormat("yyyy-MM-dd");
+// Date date;
+// //转换成时间戳
+// long t1 = date2.getTime();
+// try {
+// File f = new File("D:\\docus\\caCopy");
+// File[] files = f.listFiles();
+// for (int i = 0; i < files.length; i++) {
+// //获取文件路径
+// String filePath = files[i].getCanonicalPath();
+// //获取文件名,文件名为yyyy--mm--dd格式时间
+// String lastTime = files[i].getName();
+// //将lastTime时间转为long类型
+// try {
+// date = format.parse(lastTime);
+// } catch (ParseException e) {
+// throw new RuntimeException(e);
+// }
+// Long timestamp = date.getTime();
+// if (timestamp < t1) {
+// //删除
+// FileSystemUtils.deleteRecursively(new File(filePath));
+// }
+// }
+// } catch (IOException e) {
+// e.printStackTrace();
+// }
+// File file = new File(waterTifToJpgPath);
+// if (file.isDirectory()) {
+// for (File f : file.listFiles()) {
+// f.delete();
+// }
+// }
+//
+// }
//@Scheduled(cron="0 0 3 * * ?")//每天3点触发0 0 3 * * ?
diff --git a/src/main/java/com/emr/dao/ArchiveDetailCaCopyMapper.java b/src/main/java/com/emr/dao/ArchiveDetailCaCopyMapper.java
new file mode 100644
index 00000000..de959934
--- /dev/null
+++ b/src/main/java/com/emr/dao/ArchiveDetailCaCopyMapper.java
@@ -0,0 +1,40 @@
+package com.emr.dao;
+
+import com.emr.dto.Archive_DetailPdfPathDto;
+import com.emr.entity.Archive_Detail_Vo;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+/**
+ * @InterfaceName ArchiveDetailCACOPY
+ * @Description 签章后文件保存记录表
+ * @Author linjj
+ * @Date 2023/10/27 11:12
+ * @Version 1.0
+ */
+public interface ArchiveDetailCaCopyMapper {
+
+ int addArchiveDetailCaCopyMapper(@Param("list") List list);
+
+ /**
+ * 根据可选字段查询记录
+ * @param record
+ * @return
+ */
+ List selectByClo(Archive_Detail_Vo record);
+
+ /**
+ * 根据可选字段查询记录详情
+ * @param record
+ * @return
+ */
+ List detailByClo(Archive_Detail_Vo record);
+
+ List getChildPdfUrlByMasterIds(@Param("masterIds")String masterIds);
+
+ List getPdfUrlByMasterOrId(@Param("assortIds") String[] assortIds, @Param("masterId")String masterId, @Param("flag")String flag, @Param("fileIds")String fileIds);
+
+ int getArchiveDetailNum(@Param("fileIds")String fileIds);
+}
+
diff --git a/src/main/java/com/emr/dao/Archive_MasterMapper.java b/src/main/java/com/emr/dao/Archive_MasterMapper.java
index 1eb79c09..25cc48dc 100644
--- a/src/main/java/com/emr/dao/Archive_MasterMapper.java
+++ b/src/main/java/com/emr/dao/Archive_MasterMapper.java
@@ -163,6 +163,8 @@ public interface Archive_MasterMapper {
* @return
*/
List selectOverdue(Archive_Master_Vo record);
+
+ List selectOverdueE(Archive_Master_Vo record);
//获取初次审核信息
ListgetFollowingInfo(@Param("ids")String ids);
diff --git a/src/main/java/com/emr/dao/CaSignatureMapper.java b/src/main/java/com/emr/dao/CaSignatureMapper.java
new file mode 100644
index 00000000..2bb46ae6
--- /dev/null
+++ b/src/main/java/com/emr/dao/CaSignatureMapper.java
@@ -0,0 +1,18 @@
+package com.emr.dao;
+
+import org.apache.ibatis.annotations.Param;
+
+/**
+ * @InterfaceName CaSignatureMapper
+ * @Description 签章记录状态
+ * @Author linjj
+ * @Date 2023/10/26 16:31
+ * @Version 1.0
+ */
+public interface CaSignatureMapper {
+
+ int addCaSignature(@Param("masterId") String masterId,@Param("signatureStatic") int signatureStatic);
+
+ int getCaMasterId(@Param("masterId") String masterId,@Param("signatureStatic") int signatureStatic);
+
+}
diff --git a/src/main/java/com/emr/dto/Archive_DetailPdfPathDto.java b/src/main/java/com/emr/dto/Archive_DetailPdfPathDto.java
index 3394ce26..0ac4f114 100644
--- a/src/main/java/com/emr/dto/Archive_DetailPdfPathDto.java
+++ b/src/main/java/com/emr/dto/Archive_DetailPdfPathDto.java
@@ -12,4 +12,32 @@ public class Archive_DetailPdfPathDto {
private String id;
private String pdfPath;
+
+ private String masterID;
+
+ private String upLoadDateTime;
+
+ private String assortID;
+ private String source;
+ private String subAssort;
+ private String title;
+ private String flag;
+ private String Sys;
+ private String applyId;
+
+ private Integer pageNumber;
+
+ private String checkReportId;
+
+
+ private String recoverPdfPath;
+
+ private String fileCode;
+ private Integer cType;
+
+ private String fileContext;
+
+ private Integer pageCount;
+
+
}
diff --git a/src/main/java/com/emr/entity/Archive_Detail_caSign.java b/src/main/java/com/emr/entity/Archive_Detail_caSign.java
index 30e26146..f1a47e24 100644
--- a/src/main/java/com/emr/entity/Archive_Detail_caSign.java
+++ b/src/main/java/com/emr/entity/Archive_Detail_caSign.java
@@ -14,4 +14,6 @@ public class Archive_Detail_caSign {
private String archiveDetailId;
private String masterId;
private Date signTime;
+
+ private Integer caStatic;
}
diff --git a/src/main/java/com/emr/entity/Archive_Master_Vo.java b/src/main/java/com/emr/entity/Archive_Master_Vo.java
index e52e6c79..5146a7c1 100644
--- a/src/main/java/com/emr/entity/Archive_Master_Vo.java
+++ b/src/main/java/com/emr/entity/Archive_Master_Vo.java
@@ -25,6 +25,8 @@ public class Archive_Master_Vo {
private String visitId;
+ private String deptNameCode;
+
private String name;
private String sex;
diff --git a/src/main/java/com/emr/entity/Power_User.java b/src/main/java/com/emr/entity/Power_User.java
index 8b35f740..f7b6f983 100644
--- a/src/main/java/com/emr/entity/Power_User.java
+++ b/src/main/java/com/emr/entity/Power_User.java
@@ -33,6 +33,17 @@ public class Power_User {
private String deptIdQuality;
private String deptId;
+
+ private String deptCode;
+
+ public String getDeptCode() {
+ return deptCode;
+ }
+
+ public void setDeptCode(String deptCode) {
+ this.deptCode = deptCode;
+ }
+
/**
* 用户名
*/
diff --git a/src/main/java/com/emr/service/ArchiveDetailCaCopyServer.java b/src/main/java/com/emr/service/ArchiveDetailCaCopyServer.java
new file mode 100644
index 00000000..9eb7accb
--- /dev/null
+++ b/src/main/java/com/emr/service/ArchiveDetailCaCopyServer.java
@@ -0,0 +1,15 @@
+package com.emr.service;
+
+import java.util.List;
+
+/**
+ * @InterfaceName ArchiveDetailCaCopyServer
+ * @Description
+ * @Author linjj
+ * @Date 2023/10/31 13:58
+ * @Version 1.0
+ */
+public interface ArchiveDetailCaCopyServer {
+
+ List getPdfUrlByMasterOrId(String[] assortIds, String masterId, String flag, String fileIds);
+}
diff --git a/src/main/java/com/emr/service/Archive_MasterService.java b/src/main/java/com/emr/service/Archive_MasterService.java
index 40012410..d10bb83d 100644
--- a/src/main/java/com/emr/service/Archive_MasterService.java
+++ b/src/main/java/com/emr/service/Archive_MasterService.java
@@ -218,6 +218,17 @@ public interface Archive_MasterService {
*/
List selectOverdue(Archive_Master_Vo archiveMasterVo);
+
+
+
+ /**
+ * 根据条件查找超期天数列表(初次提交归档)
+ *
+ * @param archiveMasterVo
+ * @return
+ */
+ List selectOverdueE(Archive_Master_Vo archiveMasterVo);
+
/**
* 根据条件查找超期天数列表(初次提交归档)
*
diff --git a/src/main/java/com/emr/service/ipml/ArchiveDetailCaCopyServerImpl.java b/src/main/java/com/emr/service/ipml/ArchiveDetailCaCopyServerImpl.java
new file mode 100644
index 00000000..d26fac31
--- /dev/null
+++ b/src/main/java/com/emr/service/ipml/ArchiveDetailCaCopyServerImpl.java
@@ -0,0 +1,87 @@
+package com.emr.service.ipml;
+
+import com.emr.dao.ArchiveDetailCaCopyMapper;
+import com.emr.dao.Archive_MasterMapper;
+import com.emr.dto.Archive_MasterDto;
+import com.emr.entity.Archive_Master;
+import com.emr.service.ArchiveDetailCaCopyServer;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.lang3.StringUtils;
+import org.apache.shiro.util.CollectionUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * @ClassName ArchiveDetailCaCopyServerImpl
+ * @Description
+ * @Author linjj
+ * @Date 2023/10/31 13:58
+ * @Version 1.0
+ */
+@Slf4j
+@Service
+public class ArchiveDetailCaCopyServerImpl implements ArchiveDetailCaCopyServer {
+
+ @Autowired
+ private Archive_MasterMapper archiveMasterMapper;
+ @Autowired
+ private ArchiveDetailCaCopyMapper archiveDetailCaCopyMapper;
+
+
+ @Override
+ public List getPdfUrlByMasterOrId(String[] assortIds, String masterId, String flag, String fileIds) {
+ List resultList = new ArrayList<>();
+ //查询本病历
+ List pdfUrlByMasterOrId = archiveDetailCaCopyMapper.getPdfUrlByMasterOrId(assortIds, masterId, flag, fileIds);
+ if(!CollectionUtils.isEmpty(pdfUrlByMasterOrId)){
+ resultList.addAll(pdfUrlByMasterOrId);
+ }
+ //判断是否存在查询新生儿
+ if(null != assortIds){
+ boolean childFlag = false;
+ for (String assortId:assortIds){
+ if(StringUtils.isNotBlank(assortId) && assortId.equals("1000")){
+ childFlag = true;
+ break;
+ }
+ }
+ if(childFlag){
+ String childMidsByMasterId = getChildMidsByMasterId(masterId);
+ List childPdfUrlByMasterIds = archiveDetailCaCopyMapper.getChildPdfUrlByMasterIds(childMidsByMasterId);
+ if(!CollectionUtils.isEmpty(childPdfUrlByMasterIds)){
+ resultList.addAll(childPdfUrlByMasterIds);
+ }
+ }
+ }
+ return resultList;
+ }
+
+
+ /**
+ * 根据masterId查询新生儿masterId逗号隔开的字符串
+ * @param masterId
+ * @return
+ */
+ private String getChildMidsByMasterId(String masterId) {
+ //查询该主键的病案号和住院时间
+ Archive_Master archiveMaster = archiveMasterMapper.selectById(masterId);
+ //查询该住院时间的数据集合
+ List list = archiveMasterMapper.selectChildMasterId(archiveMaster.getAdmissionDateTime());
+ //定义是该患者的婴儿的masterId集合
+ StringBuilder mIdStr = new StringBuilder();
+ if(!CollectionUtils.isEmpty(list)){
+ for (Archive_MasterDto dto : list){
+ if(!dto.getId().equals(archiveMaster.getId()) && (dto.getInpNo().contains(archiveMaster.getInpNo() + "B") || dto.getInpNo().contains(archiveMaster.getInpNo() + "_B"))){
+ if(StringUtils.isNotBlank(mIdStr)){
+ mIdStr.append(",");
+ }
+ mIdStr.append("'").append(dto.getId()).append("'");
+ }
+ }
+ }
+ return mIdStr.toString();
+ }
+}
diff --git a/src/main/java/com/emr/service/ipml/Archive_MasterServiceImpl.java b/src/main/java/com/emr/service/ipml/Archive_MasterServiceImpl.java
index b7950b32..c4a905b2 100644
--- a/src/main/java/com/emr/service/ipml/Archive_MasterServiceImpl.java
+++ b/src/main/java/com/emr/service/ipml/Archive_MasterServiceImpl.java
@@ -20,6 +20,7 @@ import com.github.pagehelper.Page;
import com.github.pagehelper.PageHelper;
import com.google.common.base.Function;
import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.collections4.ListUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
@@ -33,7 +34,6 @@ import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.*;
-import java.util.stream.Collectors;
@Slf4j
@Service
@@ -193,7 +193,7 @@ public class Archive_MasterServiceImpl implements Archive_MasterService {
setNameAndPrintFlagNew(archiveMasterVo, list);
List dicList = emrDictionaryService.dicByTypeCode(dic);
//转换科室
- Map codeMap = ListUtils.toMap(dicList, Emr_Dictionary::getCode);
+ Map codeMap = ListUtil.toMap(dicList, Emr_Dictionary::getCode);
Setters.instance().list(list).cycleSetProperties(p -> {
String deptCode = p.getDeptName();
if(StringUtils.isNotBlank(deptCode) && codeMap.containsKey(deptCode)){
@@ -202,13 +202,13 @@ public class Archive_MasterServiceImpl implements Archive_MasterService {
}
});
//masterIds集合
- List masterIds = ListUtils.distinctSelect(list, Archive_Master_Vo::getId);
+ List masterIds = ListUtil.distinctSelect(list, Archive_Master_Vo::getId);
//转成逗号拼接
String ids = String.join(",", masterIds);
//获取医生缺陷数量
List doctorDefectNum = archiveMasterMapper.getDoctorDefectNum(ids);
//医生是否有缺陷
- Map doctorMap = ListUtils.toMap(doctorDefectNum, Archive_Master_Vo::getArchiveDetailId);
+ Map doctorMap = ListUtil.toMap(doctorDefectNum, Archive_Master_Vo::getArchiveDetailId);
Setters.instance().list(list).cycleSetProperties(p -> {
String doctorId = p.getId();
if (doctorMap.containsKey(doctorId)){
@@ -220,7 +220,7 @@ public class Archive_MasterServiceImpl implements Archive_MasterService {
//获取护士缺陷数量
List nurseDefectNum = archiveMasterMapper.getNurseDefectNum(ids);
//护士是否有缺陷
- Map nurseMap = ListUtils.toMap(nurseDefectNum, Archive_Master_Vo::getArchiveDetailId);
+ Map nurseMap = ListUtil.toMap(nurseDefectNum, Archive_Master_Vo::getArchiveDetailId);
//判断是否有缺陷就填入
Setters.instance().list(list).cycleSetProperties(p -> {
String nurseId = p.getId();
@@ -279,7 +279,7 @@ public class Archive_MasterServiceImpl implements Archive_MasterService {
dic.setTypecode("dept_code");
List dicList = emrDictionaryService.dicByTypeCode(dic);
//转换科室
- Map codeMap = ListUtils.toMap(dicList, Emr_Dictionary::getCode);
+ Map codeMap = ListUtil.toMap(dicList, Emr_Dictionary::getCode);
Setters.instance().list(list).cycleSetProperties(p -> {
String deptCode = p.getDeptName();
String deptAdmissionCode = p.getDeptAdmissionTo();
@@ -293,13 +293,13 @@ public class Archive_MasterServiceImpl implements Archive_MasterService {
}
});
//masterIds集合
- List masterIds = ListUtils.distinctSelect(list, Archive_Master_Vo::getId);
+ List masterIds = ListUtil.distinctSelect(list, Archive_Master_Vo::getId);
//转成逗号拼接
String ids = String.join(",", masterIds);
//获取医生缺陷数量
List doctorDefectNum = archiveMasterMapper.getDoctorDefectNum(ids);
//医生是否有缺陷
- Map doctorMap = ListUtils.toMap(doctorDefectNum, Archive_Master_Vo::getArchiveDetailId);
+ Map doctorMap = ListUtil.toMap(doctorDefectNum, Archive_Master_Vo::getArchiveDetailId);
Setters.instance().list(list).cycleSetProperties(p -> {
String doctorId = p.getId();
if (doctorMap.containsKey(doctorId)){
@@ -311,7 +311,7 @@ public class Archive_MasterServiceImpl implements Archive_MasterService {
//获取护士缺陷数量
List nurseDefectNum = archiveMasterMapper.getNurseDefectNum(ids);
//护士是否有缺陷
- Map nurseMap = ListUtils.toMap(nurseDefectNum, Archive_Master_Vo::getArchiveDetailId);
+ Map nurseMap = ListUtil.toMap(nurseDefectNum, Archive_Master_Vo::getArchiveDetailId);
//判断是否有缺陷就填入
Setters.instance().list(list).cycleSetProperties(p -> {
String nurseId = p.getId();
@@ -627,7 +627,7 @@ public class Archive_MasterServiceImpl implements Archive_MasterService {
dic.setTypecode("dept_code");
List dicList = emrDictionaryService.dicByTypeCode(dic);
//转换科室
- Map codeMap = ListUtils.toMap(dicList, Emr_Dictionary::getCode);
+ Map codeMap = ListUtil.toMap(dicList, Emr_Dictionary::getCode);
Setters.instance().list(list).cycleSetProperties(p -> {
String deptCode = p.getDeptName();
String deptAdmissionCode = p.getDeptAdmissionTo();
@@ -641,13 +641,13 @@ public class Archive_MasterServiceImpl implements Archive_MasterService {
}
});
//masterIds集合
- List masterIds = ListUtils.distinctSelect(list, Archive_Master_Vo::getId);
+ List masterIds = ListUtil.distinctSelect(list, Archive_Master_Vo::getId);
//转成逗号拼接
String ids = String.join(",", masterIds);
//获取医生缺陷数量
List doctorDefectNum = archiveMasterMapper.getDoctorDefectNum(ids);
//医生是否有缺陷
- Map doctorMap = ListUtils.toMap(doctorDefectNum, Archive_Master_Vo::getArchiveDetailId);
+ Map doctorMap = ListUtil.toMap(doctorDefectNum, Archive_Master_Vo::getArchiveDetailId);
Setters.instance().list(list).cycleSetProperties(p -> {
String doctorId = p.getId();
if (doctorMap.containsKey(doctorId)){
@@ -659,7 +659,7 @@ public class Archive_MasterServiceImpl implements Archive_MasterService {
//获取护士缺陷数量
List nurseDefectNum = archiveMasterMapper.getNurseDefectNum(ids);
//护士是否有缺陷
- Map nurseMap = ListUtils.toMap(nurseDefectNum, Archive_Master_Vo::getArchiveDetailId);
+ Map nurseMap = ListUtil.toMap(nurseDefectNum, Archive_Master_Vo::getArchiveDetailId);
//判断是否有缺陷就填入
Setters.instance().list(list).cycleSetProperties(p -> {
String nurseId = p.getId();
@@ -858,6 +858,41 @@ public class Archive_MasterServiceImpl implements Archive_MasterService {
List dicList = emrDictionaryService.dicByTypeCode(dic);
List list = archiveMasterMapper.selectOverdue(archiveMasterVo);
if(list!=null && list.size()>0) {
+ //转换科室
+ Map codeMap = ListUtil.toMap(dicList, Emr_Dictionary::getCode);
+ Setters.instance().list(list).cycleSetProperties(p -> {
+ String deptCode = p.getDeptName();
+ String deptAdmissionCode = p.getDeptAdmissionTo();
+ if(StringUtils.isNotBlank(deptCode) && codeMap.containsKey(deptCode)){
+ String deptName = codeMap.get(deptCode).getName();
+ p.setDeptName(deptName);
+ }
+ if(StringUtils.isNotBlank(deptAdmissionCode) && codeMap.containsKey(deptAdmissionCode)){
+ String deptAdmissionTo = codeMap.get(deptAdmissionCode).getName();
+ p.setDeptAdmissionTo(deptAdmissionTo);
+ }
+ });
+ //masterIds集合
+ List masterIds = ListUtil.distinctSelect(list, Archive_Master_Vo::getMasterId);
+ //分批次
+ List> newList = ListUtils.partition(masterIds, 1000);
+ for (List messageList : newList) {
+ //转成逗号拼接
+ String ids = String.join(",", messageList);
+ //根据分页的masterId获取签收信息
+ List followingInfo = archiveMasterMapper.getFollowingInfo(ids);
+ //医生是否有缺陷
+ Map followingMap = ListUtil.toMap(followingInfo, Archive_Master_Vo::getMasterId);
+ Setters.instance().list(list).cycleSetProperties(p -> {
+ String masterId = p.getMasterId();
+ if (followingMap.containsKey(masterId)){
+ String handleTime = followingMap.get(masterId).getHandleTime();
+ String handleName = followingMap.get(masterId).getHandleName();
+ p.setHandleTime(handleTime);
+ p.setHandleName(handleName);
+ }
+ });
+ }
//查询用户集合
JSONArray powerUsers = powerUserService.getPowerUserList("1");
List powerUserList = null;
@@ -885,10 +920,16 @@ public class Archive_MasterServiceImpl implements Archive_MasterService {
}
Calendar ca1 = Calendar.getInstance();
Calendar ca2 = Calendar.getInstance();
+ Calendar ca3 = Calendar.getInstance();
ca1.setTime(date1);
ca2.setTime(date2);
+ ca3.setTime(date3);
long distanceMin =( ca2.getTimeInMillis()- ca1.getTimeInMillis())/(1000*60*60*24);
+ long distanceMin2 =( ca2.getTimeInMillis()- ca3.getTimeInMillis())/(1000*60*60*24);
int i= (int)distanceMin;
+ int i2= (int)distanceMin2;
+ archiveMaster.setDiffDay(String.valueOf(i2));
+ archiveMasterVo.setDischargeDateTime1(date3);
if (i>0){
archiveMaster.setOverTime(i);
}else {
@@ -903,25 +944,92 @@ public class Archive_MasterServiceImpl implements Archive_MasterService {
archiveMaster.setFirstInstance(name);
}
}
- //转换科室
- for (int k = 0; k < dicList.size(); k++) {
- if (StringUtils.isNotBlank(archiveMaster.getDeptName())){
- String deptName = archiveMaster.getDeptName();
- if (deptName.equals(dicList.get(k).getCode())) {
- //出院科室
- deptName = deptName.replace(deptName, dicList.get(k).getName());
- archiveMaster.setDeptName(deptName);
- }
+ }
+ }
+ }
+ return list;
+ }
+
+
+
+
+ @Override
+ public List selectOverdueE(Archive_Master_Vo archiveMasterVo) {
+ DateFormat format = new SimpleDateFormat("yyyy-MM-dd");
+ Date date1=null;
+ Date date2=null;
+ Date date3=null;
+ Emr_Dictionary dic = new Emr_Dictionary();
+ dic.setEffective(1);
+ dic.setTypecode("dept_code");
+ //科室列表
+ List dicList = emrDictionaryService.dicByTypeCode(dic);
+ List list = archiveMasterMapper.selectOverdueE(archiveMasterVo);
+ if(list!=null && list.size()>0) {
+ //转换科室
+ Map codeMap = ListUtil.toMap(dicList, Emr_Dictionary::getCode);
+ Setters.instance().list(list).cycleSetProperties(p -> {
+ String deptCode = p.getDeptName();
+ String deptAdmissionCode = p.getDeptAdmissionTo();
+ if(StringUtils.isNotBlank(deptCode) && codeMap.containsKey(deptCode)){
+ String deptName = codeMap.get(deptCode).getName();
+ p.setDeptName(deptName);
+ }
+ if(StringUtils.isNotBlank(deptAdmissionCode) && codeMap.containsKey(deptAdmissionCode)){
+ String deptAdmissionTo = codeMap.get(deptAdmissionCode).getName();
+ p.setDeptAdmissionTo(deptAdmissionTo);
+ }
+ });
+ //查询用户集合
+ JSONArray powerUsers = powerUserService.getPowerUserList("1");
+ List powerUserList = null;
+ if (!CollectionUtils.isEmpty(powerUsers)) {
+ //转换对象
+ powerUserList = JSONArray.parseArray(powerUsers.toJSONString(), Power_User_Dto.class);
+ }
+ //遍历赋值
+ for (Archive_Master_Vo archiveMaster : list) {
+ if (null != powerUserList) {
+ //获取主管医生
+ String doctorInCharge = archiveMaster.getDoctorInCharge();
+ //获取 初审人
+ String firstInstance = archiveMaster.getFirstInstance();
+ //遍历匹配工号赋值姓名
+ String overTime1 = archiveMaster.getOverTime1();
+ String handleTime = archiveMaster.getHandleTime();
+ String dischargeDateTime = archiveMaster.getDischargeDateTime();
+ try {
+ date1=format.parse(overTime1);
+ date2=format.parse(handleTime);
+ date3=format.parse(dischargeDateTime);
+ } catch (ParseException e) {
+ e.printStackTrace();
+ }
+ Calendar ca1 = Calendar.getInstance();
+ Calendar ca2 = Calendar.getInstance();
+ Calendar ca3 = Calendar.getInstance();
+ ca1.setTime(date1);
+ ca2.setTime(date2);
+ ca3.setTime(date3);
+ long distanceMin =( ca2.getTimeInMillis()- ca1.getTimeInMillis())/(1000*60*60*24);
+ long distanceMin2 =( ca2.getTimeInMillis()- ca3.getTimeInMillis())/(1000*60*60*24);
+ int i= (int)distanceMin;
+ int i2= (int)distanceMin2;
+ archiveMaster.setDiffDay(String.valueOf(i2));
+ archiveMasterVo.setDischargeDateTime1(date3);
+ if (i>0){
+ archiveMaster.setOverTime(i);
+ }else {
+ archiveMaster.setOverTime(0);
+ }
+ for (Power_User_Dto powerUserDto : powerUserList) {
+ String name = powerUserDto.getName();
+ if (StringUtils.isNotBlank(doctorInCharge) && powerUserDto.getUserName().equals(doctorInCharge)) {
+ archiveMaster.setDoctorInCharge(name);
}
- if (StringUtils.isNotBlank(archiveMaster.getDeptAdmissionTo())){
- String dept2 = archiveMaster.getDeptAdmissionTo();
- if(dept2 != null && dept2.equals(dicList.get(k).getCode())) {
- //入院科室dept_admission_to
- dept2 = dept2.replace(dept2, dicList.get(k).getName());
- archiveMaster.setDeptAdmissionTo(dept2);
- }
+ if (StringUtils.isNotBlank(firstInstance) && powerUserDto.getUserName().equals(firstInstance)) {
+ archiveMaster.setFirstInstance(name);
}
-
}
}
}
@@ -949,13 +1057,13 @@ public class Archive_MasterServiceImpl implements Archive_MasterService {
if(list!=null && list.size()>0) {
//赋值签收信息
//masterIds集合
- List masterIds = ListUtils.distinctSelect(list, Archive_Master_Vo::getMasterId);
+ List masterIds = ListUtil.distinctSelect(list, Archive_Master_Vo::getMasterId);
//转成逗号拼接
String ids = String.join(",", masterIds);
//根据分页的masterId获取签收信息
List followingInfo = archiveMasterMapper.getFollowingInfo(ids);
//医生是否有缺陷
- Map followingMap = ListUtils.toMap(followingInfo, Archive_Master_Vo::getMasterId);
+ Map followingMap = ListUtil.toMap(followingInfo, Archive_Master_Vo::getMasterId);
Setters.instance().list(list).cycleSetProperties(p -> {
String masterId = p.getMasterId();
if (followingMap.containsKey(masterId)){
@@ -965,6 +1073,11 @@ public class Archive_MasterServiceImpl implements Archive_MasterService {
p.setHandleName(handleName);
}
});
+ Emr_Dictionary dic = new Emr_Dictionary();
+ dic.setEffective(1);
+ dic.setTypecode("dept_code");
+ //科室列表
+ List dicList = emrDictionaryService.dicByTypeCode(dic);
//查询用户集合
JSONArray powerUsers = powerUserService.getPowerUserList("1");
List powerUserList = null;
@@ -1019,11 +1132,7 @@ public class Archive_MasterServiceImpl implements Archive_MasterService {
archiveMaster.setFirstInstance(name);
}
}
- Emr_Dictionary dic = new Emr_Dictionary();
- dic.setEffective(1);
- dic.setTypecode("dept_code");
- //科室列表
- List dicList = emrDictionaryService.dicByTypeCode(dic);
+
//转换科室
for (int k = 0; k < dicList.size(); k++) {
if (StringUtils.isNotBlank(archiveMaster.getDeptName())){
@@ -1053,6 +1162,11 @@ public class Archive_MasterServiceImpl implements Archive_MasterService {
@Override
public List selectOverdueXls2(Archive_Master_Vo archiveMasterVo) {
+ Emr_Dictionary dic = new Emr_Dictionary();
+ dic.setEffective(1);
+ dic.setTypecode("dept_code");
+ //科室列表
+ List dicList = emrDictionaryService.dicByTypeCode(dic);
List list = archiveMasterMapper.selectOverdue2(archiveMasterVo);
if(list!=null && list.size()>0) {
//查询用户集合
@@ -1079,6 +1193,27 @@ public class Archive_MasterServiceImpl implements Archive_MasterService {
archiveMaster.setFirstInstance(name);
}
}
+ //转换科室
+ for (int k = 0; k < dicList.size(); k++) {
+ if (StringUtils.isNotBlank(archiveMaster.getDeptName())){
+ String deptName = archiveMaster.getDeptName();
+
+ if (deptName.equals(dicList.get(k).getCode())) {
+ //出院科室
+ deptName = deptName.replace(deptName, dicList.get(k).getName());
+ archiveMaster.setDeptName(deptName);
+ }
+ }
+ if (StringUtils.isNotBlank(archiveMaster.getDeptAdmissionTo())){
+ String dept2 = archiveMaster.getDeptAdmissionTo();
+ if(dept2 != null && dept2.equals(dicList.get(k).getCode())) {
+ //入院科室dept_admission_to
+ dept2 = dept2.replace(dept2, dicList.get(k).getName());
+ archiveMaster.setDeptAdmissionTo(dept2);
+ }
+ }
+
+ }
}
}
}
@@ -1180,6 +1315,32 @@ public class Archive_MasterServiceImpl implements Archive_MasterService {
}
//遍历赋值
for (Archive_Master_Vo archiveMaster : list) {
+ Emr_Dictionary dic = new Emr_Dictionary();
+ dic.setEffective(1);
+ dic.setTypecode("dept_code");
+ //科室列表
+ List dicList = emrDictionaryService.dicByTypeCode(dic);
+ //转换科室
+ for (int k = 0; k < dicList.size(); k++) {
+ if (StringUtils.isNotBlank(archiveMaster.getDeptName())){
+ String deptName = archiveMaster.getDeptName();
+
+ if (deptName.equals(dicList.get(k).getCode())) {
+ //出院科室
+ deptName = deptName.replace(deptName, dicList.get(k).getName());
+ archiveMaster.setDeptName(deptName);
+ }
+ }
+ if (StringUtils.isNotBlank(archiveMaster.getDeptAdmissionTo())){
+ String dept2 = archiveMaster.getDeptAdmissionTo();
+ if(dept2 != null && dept2.equals(dicList.get(k).getCode())) {
+ //入院科室dept_admission_to
+ dept2 = dept2.replace(dept2, dicList.get(k).getName());
+ archiveMaster.setDeptAdmissionTo(dept2);
+ }
+ }
+
+ }
String overTime1 = archiveMaster.getOverTime1();
String handleTime = archiveMaster.getAgainTime();
try {
@@ -1339,12 +1500,12 @@ public class Archive_MasterServiceImpl implements Archive_MasterService {
List dicList = emrDictionaryService.dicByTypeCode(dic);
//添加封存类型
//masterIds集合
- List masterIds = ListUtils.distinctSelect(list, Archive_Master_Vo::getMasterId);
+ List masterIds = ListUtil.distinctSelect(list, Archive_Master_Vo::getMasterId);
//转成逗号拼接
String ids = String.join(",", masterIds);
//查询封存记录
List archiveMasterVos = archiveMasterMapper.selectFollowing(ids);
- Map masterIdMap = ListUtils.toMap(archiveMasterVos, Archive_Master_Vo::getMasterId);
+ Map masterIdMap = ListUtil.toMap(archiveMasterVos, Archive_Master_Vo::getMasterId);
Setters.instance().list(list).cycleSetProperties(p -> {
String masterId = p.getMasterId();
if (masterIdMap.containsKey(masterId)){
@@ -1352,7 +1513,7 @@ public class Archive_MasterServiceImpl implements Archive_MasterService {
}
});
//转换科室
- Map codeMap = ListUtils.toMap(dicList, Emr_Dictionary::getCode);
+ Map codeMap = ListUtil.toMap(dicList, Emr_Dictionary::getCode);
Setters.instance().list(list).cycleSetProperties(p -> {
String afekeepingCode = p.getSafekeepingName();
if(StringUtils.isNotBlank(afekeepingCode) && codeMap.containsKey(afekeepingCode)){
@@ -1423,13 +1584,13 @@ public class Archive_MasterServiceImpl implements Archive_MasterService {
//转换科室
List list = archiveMasterMapper.selectByCmtCol(archiveMasterVo);
//masterIds集合
- List masterIds = ListUtils.distinctSelect(list, Archive_Master_Vo::getId);
+ List masterIds = ListUtil.distinctSelect(list, Archive_Master_Vo::getId);
//转成逗号拼接
String ids = String.join(",", masterIds);
//获取医生缺陷数量
List doctorDefectNum = archiveMasterMapper.getDoctorDefectNum(ids);
//医生是否有缺陷
- Map doctorMap = ListUtils.toMap(doctorDefectNum, Archive_Master_Vo::getArchiveDetailId);
+ Map doctorMap = ListUtil.toMap(doctorDefectNum, Archive_Master_Vo::getArchiveDetailId);
Setters.instance().list(list).cycleSetProperties(p -> {
String doctorId = p.getId();
if (doctorMap.containsKey(doctorId)){
@@ -1441,7 +1602,7 @@ public class Archive_MasterServiceImpl implements Archive_MasterService {
//获取护士缺陷数量
List nurseDefectNum = archiveMasterMapper.getNurseDefectNum(ids);
//护士是否有缺陷
- Map nurseMap = ListUtils.toMap(nurseDefectNum, Archive_Master_Vo::getArchiveDetailId);
+ Map nurseMap = ListUtil.toMap(nurseDefectNum, Archive_Master_Vo::getArchiveDetailId);
//判断是否有缺陷就填入
Setters.instance().list(list).cycleSetProperties(p -> {
String nurseId = p.getId();
@@ -1457,7 +1618,7 @@ public class Archive_MasterServiceImpl implements Archive_MasterService {
dic.setTypecode("dept_code");
List dicList = emrDictionaryService.dicByTypeCode(dic);
//转换科室
- Map codeMap = ListUtils.toMap(dicList, Emr_Dictionary::getCode);
+ Map codeMap = ListUtil.toMap(dicList, Emr_Dictionary::getCode);
Setters.instance().list(list).cycleSetProperties(p -> {
String deptCode = p.getDeptName();
String deptAdmissionCode = p.getDeptAdmissionTo();
diff --git a/src/main/java/com/emr/service/ipml/CaSignServiceImpl.java b/src/main/java/com/emr/service/ipml/CaSignServiceImpl.java
index 582cdd51..72d1824f 100644
--- a/src/main/java/com/emr/service/ipml/CaSignServiceImpl.java
+++ b/src/main/java/com/emr/service/ipml/CaSignServiceImpl.java
@@ -5,7 +5,9 @@ import cn.org.bjca.seal.esspdf.client.message.ChannelMessage;
import cn.org.bjca.seal.esspdf.client.message.RectangleBean;
import cn.org.bjca.seal.esspdf.client.tools.AnySignClientTool;
import cn.org.bjca.seal.esspdf.client.utils.ClientUtil;
+import com.emr.dao.ArchiveDetailCaCopyMapper;
import com.emr.dao.Archive_Detail_ca_reqParamMapper;
+import com.emr.dao.CaSignatureMapper;
import com.emr.dto.Archive_DetailPdfPathDto;
import com.emr.entity.Archive_Detail_caSign;
import com.emr.entity.Archive_Detail_ca_reqParam;
@@ -47,12 +49,19 @@ public class CaSignServiceImpl {
private int isCaOpen;
@Value("${caCopyPath}")
private String caCopyPath;
+ @Value("${newPdfPath}")
+ private String newPdfPath;
@Resource
private Archive_DetailService archiveDetailService;
@Resource
private Archive_Detai_CaSignServiceImpl archiveDetaiCaSignService;
@Resource
private Archive_Detail_ca_reqParamMapper archiveDetailCaReqParamMapper;
+ @Resource
+ private CaSignatureMapper caSignatureMapper;
+ @Resource
+ private ArchiveDetailCaCopyMapper archiveDetailCaCopyMapper;
+
/**
* @Description: caSignByMasterId方法是根据masterId查询所有文件进行ca签章
* @param: [masterId]
@@ -69,30 +78,49 @@ public class CaSignServiceImpl {
try {
List pdfPathList = archiveDetailService.getPdfPathByMasterId(masterId);
if (!CollectionUtils.isEmpty(pdfPathList)) {
+ //保存文件表数据list
+ List list=new ArrayList<>();
+ //签章后保存目录
+ String newPath = newPdfPath + File.separator + masterId;
+ //没有目录创建目录
+ if (!new File(newPath).isDirectory()) {
+ new File(newPath).mkdirs();
+ }
//查询签章位置比例
Archive_Detail_ca_reqParam caReqParam = archiveDetailCaReqParamMapper.selectAll();
//定义此次需要签章的文件id集合
List idList = new ArrayList<>();
- SimpleDateFormat fmt = new SimpleDateFormat("yyyy-MM-dd");
- //获取今天日期
- String todayDate = fmt.format(new Date());
+ //签章失败文件id集合
+ List failIdList = new ArrayList<>();
//遍历文件集合
for (Archive_DetailPdfPathDto dto : pdfPathList) {
//获取文件路径
String pdfPath = dto.getPdfPath();
File file = new File(pdfPath);
if (file.isFile()) {
- //备份源文件
- caCopyFile(pdfPath, todayDate, masterId);
+ SimpleDateFormat fmt = new SimpleDateFormat("yyyyMMddHHmmssSSS");
+ //获取今天日期
+ String todayDate = fmt.format(new Date());
+ //签章后地址
+ String newpdfPath = newPath + File.separator + todayDate+".pdf";
//进行签章
- boolean isSign = caSign(pdfPath,caReqParam);
+ boolean isSign = caSign(pdfPath, newpdfPath, caReqParam);
if (isSign) {
idList.add(dto.getId());
+ dto.setPdfPath(newpdfPath);
+ } else {
+ failIdList.add(dto.getId());
+ dto.setPdfPath(newpdfPath);
}
}
+ list.add(dto);
}
//添加签章记录
- updateCaFileState(idList,masterId);
+ updateCaFileState(idList, failIdList, masterId);
+ //签章完后保存新的文件表
+ archiveDetailCaCopyMapper.addArchiveDetailCaCopyMapper(list);
+ //签章完成后保存状态
+ caSignatureMapper.addCaSignature(masterId, 1);
}
} catch (Exception e) {
e.printStackTrace();
@@ -106,20 +134,31 @@ public class CaSignServiceImpl {
* @author 曾文和
* @createTime 2023/7/25 16:19
*/
- private void updateCaFileState(List idList, String masterId) {
- if(!CollectionUtils.isEmpty(idList)) {
+ private void updateCaFileState(List idList, List failIdList, String masterId) {
+ if (!CollectionUtils.isEmpty(idList)) {
//先删除原有签章记录
archiveDetaiCaSignService.deletesFromMasterId(masterId);
//后新增
List list = new ArrayList<>();
Date date = new Date();
- for(String id : idList){
+ for (String id : idList) {
Archive_Detail_caSign obj = new Archive_Detail_caSign();
obj.setArchiveDetailId(id);
obj.setMasterId(masterId);
obj.setSignTime(date);
+ obj.setCaStatic(1);
list.add(obj);
}
+ if (!CollectionUtils.isEmpty(failIdList)) {
+ for (String id : failIdList) {
+ Archive_Detail_caSign obj = new Archive_Detail_caSign();
+ obj.setArchiveDetailId(id);
+ obj.setMasterId(masterId);
+ obj.setSignTime(date);
+ obj.setCaStatic(2);
+ list.add(obj);
+ }
+ }
//批量新增
archiveDetaiCaSignService.insertBatchCaSign(list);
}
@@ -132,9 +171,9 @@ public class CaSignServiceImpl {
* @author 曾文和
* @createTime 2023/7/25 15:51
*/
- private void caCopyFile(String pdfPath, String todayDate,String masterId) {
- String newPath = caCopyPath + File.separator + todayDate + File.separator + masterId ;
- if(!new File(newPath).isDirectory()){
+ private void caCopyFile(String pdfPath, String todayDate, String masterId) {
+ String newPath = caCopyPath + File.separator + todayDate + File.separator + masterId;
+ if (!new File(newPath).isDirectory()) {
new File(newPath).mkdirs();
}
String newSrc = newPath + File.separator + new File(pdfPath).getName();
@@ -160,8 +199,8 @@ public class CaSignServiceImpl {
*
* z:docus/caTemp/masterId/病案首页
*/
- private boolean caSign(String fileSrc,Archive_Detail_ca_reqParam caReqParam) throws Exception {
- System.out.println("fileSrc:"+fileSrc);
+ private boolean caSign(String fileSrc, String newpdfPath, Archive_Detail_ca_reqParam caReqParam) throws Exception {
+ System.out.println("fileSrc:" + fileSrc);
//定义是否成功
boolean flag = false;
PdfReader pdfReader = null;
@@ -177,7 +216,7 @@ public class CaSignServiceImpl {
byte[] pdfBty = ClientUtil.readFileToByteArray(file);
//pdf验章
ChannelMessage messageExist = anySignClientTool.pdfVerify(pdfBty);
- if(!StringUtils.isEmpty(messageExist.getStatusInfo()) && "pdf文档未签章".equals(messageExist.getStatusInfo())) {
+ if (!StringUtils.isEmpty(messageExist.getStatusInfo()) && "pdf文档未签章".equals(messageExist.getStatusInfo())) {
RectangleBean bean = new RectangleBean();
int numberOfPages = pdfReader.getNumberOfPages();
for (int i = 0; i < numberOfPages; i++) {
@@ -187,19 +226,19 @@ public class CaSignServiceImpl {
bean.setPageNo(i + 1);
ChannelMessage message = null;
//获取pdf的高宽
- Rectangle pageSize = pdfReader.getPageSizeWithRotation(i+1);
+ Rectangle pageSize = pdfReader.getPageSizeWithRotation(i + 1);
// 获取页面的宽度和高度
float width = pageSize.getWidth();
float height = pageSize.getHeight();
- System.out.println("pdf尺寸:width:"+width+",height:"+height);
+ System.out.println("pdf尺寸:width:" + width + ",height:" + height);
bean.setLeft(Float.valueOf(width - caReqParam.getSignLeft()));
bean.setTop(Float.valueOf(caReqParam.getSignTop()));
bean.setRight(Float.valueOf(width));
bean.setBottom(Float.valueOf(caReqParam.getSignBottom()));
- System.out.println("左:"+bean.getLeft()+",上:"+bean.getTop()+",右:"+bean.getRight()+",下:"+bean.getBottom());
+ System.out.println("左:" + bean.getLeft() + ",上:" + bean.getTop() + ",右:" + bean.getRight() + ",下:" + bean.getBottom());
message = anySignClientTool.pdfSignByParam(pdfBty, signNo, bean);
if ("200".equals(message.getStatusCode())) {//成功
- ClientUtil.writeByteArrayToFile(new File(fileSrc), message.getBody());
+ ClientUtil.writeByteArrayToFile(new File(newpdfPath), message.getBody());
System.out.println("签章成功");
} else {
String statusCode = message.getStatusCode();
@@ -209,11 +248,11 @@ public class CaSignServiceImpl {
}
}
flag = true;
- }catch (Exception e){
+ } catch (Exception e) {
e.printStackTrace();
}
} else {
- log.error("进行签章pdf:"+fileSrc+"不存在或损坏");
+ log.error("进行签章pdf:" + fileSrc + "不存在或损坏");
}
System.out.println("完成");
return flag;
diff --git a/src/main/java/com/emr/service/ipml/Emr_Fault_DetailServiceImpl.java b/src/main/java/com/emr/service/ipml/Emr_Fault_DetailServiceImpl.java
index 4582ab74..319e1186 100644
--- a/src/main/java/com/emr/service/ipml/Emr_Fault_DetailServiceImpl.java
+++ b/src/main/java/com/emr/service/ipml/Emr_Fault_DetailServiceImpl.java
@@ -15,7 +15,7 @@ import com.emr.service.Emr_DictionaryService;
import com.emr.service.Emr_Fault_DetailService;
import com.emr.service.Emr_Fault_TypeService;
import com.emr.service.PowerUserService;
-import com.emr.util.ListUtils;
+import com.emr.util.ListUtil;
import com.emr.util.Setters;
import com.emr.vo.Power_User_Dto;
import com.github.pagehelper.Page;
@@ -366,7 +366,7 @@ public class Emr_Fault_DetailServiceImpl implements Emr_Fault_DetailService {
dic.setTypecode("dept_code");
List dicList = emrDictionaryService.dicByTypeCode(dic);
//转换科室
- Map codeMap = ListUtils.toMap(dicList, Emr_Dictionary::getCode);
+ Map codeMap = ListUtil.toMap(dicList, Emr_Dictionary::getCode);
Setters.instance().list(list).cycleSetProperties(p -> {
String deptCode = p.getDeptName();
if(StringUtils.isNotBlank(deptCode) && codeMap.containsKey(deptCode)){
diff --git a/src/main/java/com/emr/service/ipml/Sign_ListServiceImpl.java b/src/main/java/com/emr/service/ipml/Sign_ListServiceImpl.java
index 73060222..d8eac789 100644
--- a/src/main/java/com/emr/service/ipml/Sign_ListServiceImpl.java
+++ b/src/main/java/com/emr/service/ipml/Sign_ListServiceImpl.java
@@ -7,28 +7,22 @@
package com.emr.service.ipml;
import com.alibaba.fastjson.JSONArray;
-import com.alibaba.fastjson.JSONObject;
-import com.emr.dao.Archive_MasterMapper;
import com.emr.dao.Sign_ListMapper;
import com.emr.entity.*;
-import com.emr.service.Archive_MasterService;
import com.emr.service.Emr_DictionaryService;
import com.emr.service.PowerUserService;
import com.emr.service.Sign_ListService;
-import com.emr.util.ListUtils;
+import com.emr.util.ListUtil;
import com.emr.util.Setters;
import com.emr.vo.Power_User_Dto;
import com.github.pagehelper.Page;
import com.github.pagehelper.PageHelper;
-import com.google.common.base.Function;
-import com.google.common.collect.Maps;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
import java.util.*;
-import java.util.stream.Collectors;
@Service
public class Sign_ListServiceImpl implements Sign_ListService {
@@ -53,7 +47,7 @@ public class Sign_ListServiceImpl implements Sign_ListService {
dic.setTypecode("dept_code");
List dicList = emrDictionaryService.dicByTypeCode(dic);
//转换科室
- Map codeMap = ListUtils.toMap(dicList, Emr_Dictionary::getCode);
+ Map codeMap = ListUtil.toMap(dicList, Emr_Dictionary::getCode);
Setters.instance().list(list).cycleSetProperties(p -> {
String deptCode = p.getDeptName();
String deptAdmissionCode = p.getDeptAdmissionTo();
@@ -90,12 +84,12 @@ public class Sign_ListServiceImpl implements Sign_ListService {
}
//查询签收次数
//masterIds集合
- List masterIds = ListUtils.distinctSelect(list, Sign_List_Vo::getMasterID);
+ List masterIds = ListUtil.distinctSelect(list, Sign_List_Vo::getMasterID);
//转成逗号拼接
String ids = String.join(",", masterIds);
List signNum = signListMapper.getSignNum(ids);
//遍历签收次数
- Map signNumMap = ListUtils.toMap(signNum, Sign_List_Vo::getMasterID);
+ Map signNumMap = ListUtil.toMap(signNum, Sign_List_Vo::getMasterID);
Setters.instance().list(list).cycleSetProperties(p -> {
String masterID = p.getMasterID();
if (signNumMap.containsKey(masterID)){
diff --git a/src/main/java/com/emr/util/ListUtils.java b/src/main/java/com/emr/util/ListUtil.java
similarity index 98%
rename from src/main/java/com/emr/util/ListUtils.java
rename to src/main/java/com/emr/util/ListUtil.java
index c950aa0a..524041d1 100644
--- a/src/main/java/com/emr/util/ListUtils.java
+++ b/src/main/java/com/emr/util/ListUtil.java
@@ -10,7 +10,7 @@ import java.util.List;
import java.util.Map;
import java.util.Set;
-public final class ListUtils {
+public final class ListUtil {
public static Map toMap(List list, FieldSelector selector) {
if (CollectionUtils.isEmpty(list)) return Collections.emptyMap();
Map map = new HashMap<>(list.size());
diff --git a/src/main/resources/config/caSign.properties b/src/main/resources/config/caSign.properties
index b7e2c1cc..943b1b95 100644
--- a/src/main/resources/config/caSign.properties
+++ b/src/main/resources/config/caSign.properties
@@ -1,20 +1,23 @@
#\u662F\u5426\u5F00\u542F\u63A5\u53E3 1:\u5F00\u542F\uFF1B0:\u5173\u95ED
-isCaOpen=0
+isCaOpen=1
#ca\u63A5\u53E3ip
-caServerIp=10.6.0.88
-#ca\u63A5\u53E3\u7AEF\u53E3
-caServerPort=8002
-\u7B7E\u7AE0\u7F16\u53F7
-signNo=3012E4D7D234DC58
+#caServerIp=10.6.0.88
+##ca\u63A5\u53E3\u7AEF\u53E3
+#caServerPort=8002
+#\u7B7E\u7AE0\u7F16\u53F7
+#signNo=3012E4D7D234DC58
#\u7B7E\u7AE0\u7BA1\u7406\u540E\u53F0\u8D26\u53F7\uFF1Aoperator \u5BC6\u7801\uFF1A111111
#\u5916\u7F51\u6D4B\u8BD5
#ca\u63A5\u53E3ip
-#caServerIp=223.70.139.221
-##ca\u63A5\u53E3\u7AEF\u53E3
-#caServerPort=18002
-###\u7B7E\u7AE0\u7F16\u53F7
-#signNo=59BC18FE5DEB0F15
+caServerIp=223.70.139.221
+#ca\u63A5\u53E3\u7AEF\u53E3
+caServerPort=18002
+##\u7B7E\u7AE0\u7F16\u53F7
+signNo=59BC18FE5DEB0F15
#\u5907\u4EFD\u539F\u6587\u4EF6\u8DEF\u5F84
-caCopyPath=d:docus/caCopy
\ No newline at end of file
+caCopyPath=d:docus/caCopy
+
+
+newPdfPath=G:/caPdfs
\ No newline at end of file
diff --git a/src/main/resources/config/jdbc.properties b/src/main/resources/config/jdbc.properties
index 8fbdb9e8..3bdb43e7 100644
--- a/src/main/resources/config/jdbc.properties
+++ b/src/main/resources/config/jdbc.properties
@@ -1,4 +1,4 @@
-POWER_IP=127.0.0.1
+POWER_IP=localhost
jdbc.username=sa
jdbc.password=admin123
dataBaseName=zj_record_new
@@ -18,7 +18,7 @@ hibernate.enable_lazy_load_no_trans=true
WEBSOCKET_URLHEAD=${POWER_JSPHEAD}:8088
#\u901A\u77E5\u5B57\u7B26\u4E32\u95F4\u9694\u7B26
STR_SPLIT=*^:|,.
-POWER_JSPHEAD=127.0.0.1
+POWER_JSPHEAD=localhost
##\u56FE\u7247\u5730\u5740
pictureUrl=Z:\\test\\uploadImage
diff --git a/src/main/resources/log4j.properties b/src/main/resources/log4j.properties
index 5f3fdc62..8faf9046 100644
--- a/src/main/resources/log4j.properties
+++ b/src/main/resources/log4j.properties
@@ -3,7 +3,7 @@ log4j.appender.myLog=org.apache.log4j.DailyRollingFileAppender
log4j.appender.myLog.File=D:\\logs\\emr_medical_record\\info\\info_log
log4j.appender.myLog.DatePattern=-yyyy-MM-dd'.log'
log4j.appender.myLog.Append = true
-log4j.appender.myLog.Threshold = debug
+log4j.appender.myLog.Threshold = info
log4j.appender.myLog.layout=org.apache.log4j.PatternLayout
log4j.appender.myLog.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss}:%m%n
@@ -12,7 +12,7 @@ log4j.appender.errorMsg=org.apache.log4j.DailyRollingFileAppender
log4j.appender.errorMsg.File=D:\\logs\\emr_medical_record\\error\\error_log
log4j.appender.errorMsg.DatePattern=-yyyy-MM-dd'.log'
log4j.appender.errorMsg.Append = true
-log4j.appender.errorMsg.Threshold = debug
+log4j.appender.errorMsg.Threshold = info
log4j.appender.errorMsg.layout=org.apache.log4j.PatternLayout
log4j.appender.errorMsg.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss}:%m%n
@@ -22,6 +22,6 @@ log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
log4j.appender.CONSOLE.layout.ConversionPattern =%d %-5p [%c{5}] - %m%n
-log4j.logger.com.emr=debug
-log4j.logger.com.alibaba=debug
-log4j.logger.org=debug
+log4j.logger.com.emr=info
+log4j.logger.com.alibaba=info
+log4j.logger.org=info
diff --git a/src/main/resources/mapper/ArchiveDetailCaCopyMapper.xml b/src/main/resources/mapper/ArchiveDetailCaCopyMapper.xml
new file mode 100644
index 00000000..27c026dd
--- /dev/null
+++ b/src/main/resources/mapper/ArchiveDetailCaCopyMapper.xml
@@ -0,0 +1,154 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ insert into Archive_Detail_CA_COPY(ID,PDF_PATH,MasterID,UpLoadDateTime,AssortID,Source,SubAssort,Title,flag,Sys,apply_id,
+ page_number,check_report_Id,recover_pdf_path,FileCode,CType,FileContext,pageCount)
+ values
+
+ (#{item.id},#{item.pdfPath},#{item.masterID},#{item.upLoadDateTime},#{item.assortID},#{item.source},#{item.subAssort},#{item.title},#{item.flag}
+ ,#{item.Sys},#{item.applyId},#{item.pageNumber},#{item.checkReportId},#{item.crecoverPdfPath},#{item.fileCode},#{item.cType},#{item.fileContext}
+ ,#{item.pageCount})
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/main/resources/mapper/Archive_DetailMapper.xml b/src/main/resources/mapper/Archive_DetailMapper.xml
index a50cdd00..5e92ab2e 100644
--- a/src/main/resources/mapper/Archive_DetailMapper.xml
+++ b/src/main/resources/mapper/Archive_DetailMapper.xml
@@ -768,6 +768,6 @@
select Title,page_number,Source,flag,PDF_PATH from Archive_Detail where ID=#{detailId}
\ No newline at end of file
diff --git a/src/main/resources/mapper/Archive_Detail_caSignMapper.xml b/src/main/resources/mapper/Archive_Detail_caSignMapper.xml
index 77dee51d..f262dde5 100644
--- a/src/main/resources/mapper/Archive_Detail_caSignMapper.xml
+++ b/src/main/resources/mapper/Archive_Detail_caSignMapper.xml
@@ -1,11 +1,15 @@
+
+
+
+
- insert into Archive_Detail_caSign(archive_detail_id,master_id,sign_time)
+ insert into Archive_Detail_caSign(archive_detail_id,master_id,sign_time,ca_static)
values
- (#{item.archiveDetailId},#{item.masterId},#{item.signTime})
+ (#{item.archiveDetailId},#{item.masterId},#{item.signTime},#{item.caStatic})
diff --git a/src/main/resources/mapper/Archive_MasterMapper.xml b/src/main/resources/mapper/Archive_MasterMapper.xml
index 9767786c..452f02bb 100644
--- a/src/main/resources/mapper/Archive_MasterMapper.xml
+++ b/src/main/resources/mapper/Archive_MasterMapper.xml
@@ -49,6 +49,7 @@
+
@@ -382,10 +383,10 @@
+
+
+
+
+
+
+
+
+