From 7ddb2145a037b4d55b03d8ab52eafc0ef0d565c4 Mon Sep 17 00:00:00 2001 From: linjj <850658129@qq.com> Date: Wed, 27 Dec 2023 10:13:15 +0800 Subject: [PATCH] =?UTF-8?q?=E5=BD=92=E6=A1=A3=E4=B8=8D=E7=8E=B0=E5=AE=9E?= =?UTF-8?q?=E7=AD=BE=E7=AB=A0=E5=86=85=E5=AE=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/emr/controller/LoginController.java | 3 +- .../emr/controller/lastVerifyController.java | 28 +++- .../emr/controller/signListController.java | 40 ++++-- .../com/emr/service/Sign_ListService.java | 2 +- .../ipml/Archive_MasterServiceImpl.java | 121 ++++++++-------- .../service/ipml/Sign_ListServiceImpl.java | 3 +- src/main/resources/config/caSign.properties | 24 ++-- src/main/resources/config/jdbc.properties | 17 ++- .../mapper/ArchiveFinalSignMapper.xml | 2 +- .../resources/mapper/Archive_MasterMapper.xml | 2 +- .../views/lastVerifyDir/lastVerifyList.jsp | 112 +-------------- .../WEB-INF/views/pdfDir/pdfLastDir.jsp | 133 ++++++++++++++++++ .../WEB-INF/views/signListDir/signList.jsp | 25 ++-- 13 files changed, 300 insertions(+), 212 deletions(-) diff --git a/src/main/java/com/emr/controller/LoginController.java b/src/main/java/com/emr/controller/LoginController.java index 186b4e5f..3595f1f9 100644 --- a/src/main/java/com/emr/controller/LoginController.java +++ b/src/main/java/com/emr/controller/LoginController.java @@ -4,6 +4,7 @@ import com.alibaba.fastjson.JSONObject; import com.emr.entity.Power_User; import com.emr.util.HttpClientUtils; import com.fasterxml.jackson.databind.ObjectMapper; +import org.apache.commons.lang3.StringUtils; import org.apache.cxf.endpoint.Client; import org.apache.shiro.SecurityUtils; import org.apache.shiro.authc.UsernamePasswordToken; @@ -76,7 +77,7 @@ public class LoginController { request.getSession().setAttribute("userSession", powerUser.getUserPosition()); String url = powerUrl + "?sysFlag=emr_medical_record&userName=" + userName; JSONObject obj = HttpClientUtils.httpGet(url); - if(obj!=null) { + if (StringUtils.isNotBlank((obj.getString("code")))) { if ((obj.getString("code")).equals("100")) { //当验证都通过后,把用户信息放在 session 里 Session session = SecurityUtils.getSubject().getSession(); diff --git a/src/main/java/com/emr/controller/lastVerifyController.java b/src/main/java/com/emr/controller/lastVerifyController.java index 51b51cbe..3571f428 100644 --- a/src/main/java/com/emr/controller/lastVerifyController.java +++ b/src/main/java/com/emr/controller/lastVerifyController.java @@ -9,9 +9,7 @@ package com.emr.controller; import com.emr.entity.*; import com.emr.service.*; import com.emr.service.ipml.CaSignServiceImpl; -import com.emr.util.Msg; -import com.emr.util.ThreadExcelUtils; -import com.emr.util.XMLUtil; +import com.emr.util.*; import com.emr.webservice.MedicalRecordShowBackContent.MR_FILE_CALLBACK_RECORD; import com.emr.webservice.MedicalRecordShowBackContent.MR_FILE_INDEX_CALLBACK; import org.apache.axis.client.Call; @@ -40,6 +38,7 @@ import java.rmi.RemoteException; import java.text.SimpleDateFormat; import java.util.Date; import java.util.List; +import java.util.Map; @Controller @RequestMapping("lastVerify") @@ -61,6 +60,8 @@ public class lastVerifyController { private Archive_Master_FollowingService archive_master_followingService; @Resource private CaSignServiceImpl caSignService; + @Autowired + private Emr_DictionaryService emrDictionaryService; @RequestMapping(value = "/lastVerifys") public String faults(Model model) { @@ -604,6 +605,27 @@ public class lastVerifyController { Power_User user = (Power_User) request.getSession().getAttribute("CURRENT_USER"); return user; } + + + + @ResponseBody + @RequestMapping(value = "/getPatientInfn") + public Archive_Master getPatientInfn(String id){ + Archive_Master archiveMaster = archiveMasterService.selectById(id); + Emr_Dictionary dic = new Emr_Dictionary(); + dic.setEffective(1); + dic.setTypecode("dept_code"); + List dicList = emrDictionaryService.dicByTypeCode(dic); + //转换科室 + Map codeMap = ListUtil.toMap(dicList, Emr_Dictionary::getCode); + String deptCode = archiveMaster.getDeptName(); + if(StringUtils.isNotBlank(deptCode) && codeMap.containsKey(deptCode)){ + String deptName = codeMap.get(deptCode).getName(); + archiveMaster.setDeptNameCode(deptName); + } + + return archiveMaster; + } } diff --git a/src/main/java/com/emr/controller/signListController.java b/src/main/java/com/emr/controller/signListController.java index bcaed02a..0b079615 100644 --- a/src/main/java/com/emr/controller/signListController.java +++ b/src/main/java/com/emr/controller/signListController.java @@ -127,8 +127,8 @@ public class signListController { @Transactional @ResponseBody @RequestMapping(value = "/delotherId") - public String delotherId(HttpServletRequest request, HttpServletResponse response, String id) { - signListService.deleteSignListById(id); + public String delotherId(String id,String masterId) { + signListService.deleteSignListById(id,masterId); return "取消签收成功!"; } @@ -211,21 +211,21 @@ public class signListController { String result = ""; SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); if ((StringUtils.isNotBlank(archiveMasterVo.getInpNo()) && StringUtils.isNotBlank(archiveMasterVo.getVisitId())) || (StringUtils.isNotBlank(archiveMasterVo.getPatientId()) && StringUtils.isNotBlank(archiveMasterVo.getVisitId()))) { - List master = archiveMasterService.selectByCol(archiveMasterVo); + List master = archiveMasterService.selectByInpAndVisitId(archiveMasterVo); Sign_List signList = new Sign_List(); signList.setOtherInfo("强制签收"); //判断master表里纸质病历已经提交,且有医生提交记录,则取医生数据作为提交人,否则护士为提交人 signList.setC2("".equals(master.get(0).getDoctorName()) && master.get(0).getDoctorName() != null ? master.get(0).getDoctorName() : master.get(0).getNurseName()); - //送纸质病历者所在科室 - JSONArray powerUsers = powerUserService.getPowerUserList("1"); - List powerUserList = JSONArray.parseArray(powerUsers.toJSONString(), JSONObject.class); - ln: - for (JSONObject jsonObjectNew : powerUserList) { - if (jsonObjectNew.getString("userName").equals(signList.getC2())) { - signList.setC3(jsonObjectNew.getString("deptId")); - break ln; - } - } +// //送纸质病历者所在科室 +// JSONArray powerUsers = powerUserService.getPowerUserList("1"); +// List powerUserList = JSONArray.parseArray(powerUsers.toJSONString(), JSONObject.class); +// ln: +// for (JSONObject jsonObjectNew : powerUserList) { +// if (jsonObjectNew.getString("userName").equals(signList.getC2())) { +// signList.setC3(jsonObjectNew.getString("deptId")); +// break ln; +// } +// } signList.setSysFlag(1); signList.setMasterID(master.get(0).getId()); signList.setPid(master.get(0).getPatientId()); @@ -241,6 +241,20 @@ public class signListController { archiveMaster.setIsSign(1); int bol = archiveMasterService.updateByClo(archiveMaster); signListService.insertSignList(signList); + //增加最后签收记录 + ArchiveFinalSignVo archiveFinalSignVo=new ArchiveFinalSignVo(); + archiveFinalSignVo.setMasterId(master.get(0).getId()); + archiveFinalSignVo.setInpNo(master.get(0).getInpNo()); + archiveFinalSignVo.setVisitId(master.get(0).getVisitId()); + archiveFinalSignVo.setName(master.get(0).getName()); + archiveFinalSignVo.setDeptName(master.get(0).getDeptName()); + archiveFinalSignVo.setDischargeDateTime(master.get(0).getDischargeDateTime()); + archiveFinalSignVo.setSignStatic("1"); + archiveFinalSignVo.setIsscaned("1"); + archiveFinalSignVo.setOperateName(archiveMasterVo.getOperateName()); + archiveFinalSignVo.setDTime(sdf.format(new Date())); + archiveFinalSignVo.setSignName(username); + signListService.addArchiveFinalSign(archiveFinalSignVo); result = "签收成功"; } else { result = "缺少患者住院号及住院次数"; diff --git a/src/main/java/com/emr/service/Sign_ListService.java b/src/main/java/com/emr/service/Sign_ListService.java index c58ab4cc..0af6b628 100644 --- a/src/main/java/com/emr/service/Sign_ListService.java +++ b/src/main/java/com/emr/service/Sign_ListService.java @@ -56,7 +56,7 @@ public interface Sign_ListService { * @param * @return */ - int deleteSignListById(String id); + int deleteSignListById(String id,String masterId); /** * 删除 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 c4a905b2..056ec5c7 100644 --- a/src/main/java/com/emr/service/ipml/Archive_MasterServiceImpl.java +++ b/src/main/java/com/emr/service/ipml/Archive_MasterServiceImpl.java @@ -203,35 +203,40 @@ public class Archive_MasterServiceImpl implements Archive_MasterService { }); //masterIds集合 List masterIds = ListUtil.distinctSelect(list, Archive_Master_Vo::getId); - //转成逗号拼接 - String ids = String.join(",", masterIds); - //获取医生缺陷数量 - List doctorDefectNum = archiveMasterMapper.getDoctorDefectNum(ids); - //医生是否有缺陷 - Map doctorMap = ListUtil.toMap(doctorDefectNum, Archive_Master_Vo::getArchiveDetailId); - Setters.instance().list(list).cycleSetProperties(p -> { - String doctorId = p.getId(); - if (doctorMap.containsKey(doctorId)){ - String faultDoctorNum = doctorMap.get(doctorId).getFaultDoctorNum(); - p.setFaultDoctorNum(faultDoctorNum); - p.setNumb(1); - } - }); - //获取护士缺陷数量 - List nurseDefectNum = archiveMasterMapper.getNurseDefectNum(ids); - //护士是否有缺陷 - Map nurseMap = ListUtil.toMap(nurseDefectNum, Archive_Master_Vo::getArchiveDetailId); - //判断是否有缺陷就填入 - Setters.instance().list(list).cycleSetProperties(p -> { - String nurseId = p.getId(); - if (nurseMap.containsKey(nurseId)){ - String faultNurseNum = nurseMap.get(nurseId).getFaultNurseNum(); - p.setFaultNurseNum(faultNurseNum); - p.setNumb(1); - } - }); - //是否有退回 - setFollowingTypeNew(ids,list); + //分批次 + List> newList = ListUtils.partition(masterIds, 1000); + for (List messageList : newList) { + //转成逗号拼接 + String ids = String.join(",", messageList); + //获取医生缺陷数量 + List doctorDefectNum = archiveMasterMapper.getDoctorDefectNum(ids); + //医生是否有缺陷 + Map doctorMap = ListUtil.toMap(doctorDefectNum, Archive_Master_Vo::getArchiveDetailId); + Setters.instance().list(list).cycleSetProperties(p -> { + String doctorId = p.getId(); + if (doctorMap.containsKey(doctorId)){ + String faultDoctorNum = doctorMap.get(doctorId).getFaultDoctorNum(); + p.setFaultDoctorNum(faultDoctorNum); + p.setNumb(1); + } + }); + //获取护士缺陷数量 + List nurseDefectNum = archiveMasterMapper.getNurseDefectNum(ids); + //护士是否有缺陷 + Map nurseMap = ListUtil.toMap(nurseDefectNum, Archive_Master_Vo::getArchiveDetailId); + //判断是否有缺陷就填入 + Setters.instance().list(list).cycleSetProperties(p -> { + String nurseId = p.getId(); + if (nurseMap.containsKey(nurseId)){ + String faultNurseNum = nurseMap.get(nurseId).getFaultNurseNum(); + p.setFaultNurseNum(faultNurseNum); + p.setNumb(1); + } + }); + //是否有退回 + setFollowingTypeNew(ids,list); + } + } return list; } @@ -642,33 +647,37 @@ public class Archive_MasterServiceImpl implements Archive_MasterService { }); //masterIds集合 List masterIds = ListUtil.distinctSelect(list, Archive_Master_Vo::getId); - //转成逗号拼接 - String ids = String.join(",", masterIds); - //获取医生缺陷数量 - List doctorDefectNum = archiveMasterMapper.getDoctorDefectNum(ids); - //医生是否有缺陷 - Map doctorMap = ListUtil.toMap(doctorDefectNum, Archive_Master_Vo::getArchiveDetailId); - Setters.instance().list(list).cycleSetProperties(p -> { - String doctorId = p.getId(); - if (doctorMap.containsKey(doctorId)){ - String faultDoctorNum = doctorMap.get(doctorId).getFaultDoctorNum(); - p.setFaultDoctorNum(faultDoctorNum); - p.setNumb(1); - } - }); - //获取护士缺陷数量 - List nurseDefectNum = archiveMasterMapper.getNurseDefectNum(ids); - //护士是否有缺陷 - Map nurseMap = ListUtil.toMap(nurseDefectNum, Archive_Master_Vo::getArchiveDetailId); - //判断是否有缺陷就填入 - Setters.instance().list(list).cycleSetProperties(p -> { - String nurseId = p.getId(); - if (nurseMap.containsKey(nurseId)){ - String faultNurseNum = nurseMap.get(nurseId).getFaultNurseNum(); - p.setFaultNurseNum(faultNurseNum); - p.setNumb(1); - } - }); + //分批次 + List> newList = ListUtils.partition(masterIds, 1000); + for (List messageList : newList) { + //转成逗号拼接 + String ids = String.join(",", messageList); + //获取医生缺陷数量 + List doctorDefectNum = archiveMasterMapper.getDoctorDefectNum(ids); + //医生是否有缺陷 + Map doctorMap = ListUtil.toMap(doctorDefectNum, Archive_Master_Vo::getArchiveDetailId); + Setters.instance().list(list).cycleSetProperties(p -> { + String doctorId = p.getId(); + if (doctorMap.containsKey(doctorId)){ + String faultDoctorNum = doctorMap.get(doctorId).getFaultDoctorNum(); + p.setFaultDoctorNum(faultDoctorNum); + p.setNumb(1); + } + }); + //获取护士缺陷数 + List nurseDefectNum = archiveMasterMapper.getNurseDefectNum(ids); + //护士是否有缺陷 + Map nurseMap = ListUtil.toMap(nurseDefectNum, Archive_Master_Vo::getArchiveDetailId); + //判断是否有缺陷就填入 + Setters.instance().list(list).cycleSetProperties(p -> { + String nurseId = p.getId(); + if (nurseMap.containsKey(nurseId)){ + String faultNurseNum = nurseMap.get(nurseId).getFaultNurseNum(); + p.setFaultNurseNum(faultNurseNum); + p.setNumb(1); + } + }); + } //设置医生、护士名称和打印标识、科室、是否退回医生、是否退回护士 setNameAndPrintFlagNew(archiveMasterVo, list); if(list!=null && list.size()>0) { 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 02e34a19..01221b9c 100644 --- a/src/main/java/com/emr/service/ipml/Sign_ListServiceImpl.java +++ b/src/main/java/com/emr/service/ipml/Sign_ListServiceImpl.java @@ -153,7 +153,8 @@ public class Sign_ListServiceImpl implements Sign_ListService { } @Override - public int deleteSignListById(String id) { + public int deleteSignListById(String id,String masterId) { + int idNum = archiveFinalSignMapper.getIdNum(id); return signListMapper.deleteSignListById(id); } diff --git a/src/main/resources/config/caSign.properties b/src/main/resources/config/caSign.properties index 943b1b95..b01358b1 100644 --- a/src/main/resources/config/caSign.properties +++ b/src/main/resources/config/caSign.properties @@ -1,23 +1,21 @@ #\u662F\u5426\u5F00\u542F\u63A5\u53E3 1:\u5F00\u542F\uFF1B0:\u5173\u95ED 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 - - -newPdfPath=G:/caPdfs \ No newline at end of file +newPdfPath=z:/caPdfs \ No newline at end of file diff --git a/src/main/resources/config/jdbc.properties b/src/main/resources/config/jdbc.properties index 3bdb43e7..b39c224c 100644 --- a/src/main/resources/config/jdbc.properties +++ b/src/main/resources/config/jdbc.properties @@ -1,9 +1,18 @@ +#POWER_IP=localhost +#jdbc.username=sa +#jdbc.password=admin123 +#dataBaseName=zj_record_new +#POWER_PORT=8082 +#jdbc.url=jdbc\:sqlserver\://${POWER_IP}:1433;databaseName=${dataBaseName} + + +# POWER_IP=localhost jdbc.username=sa -jdbc.password=admin123 -dataBaseName=zj_record_new -POWER_PORT=8082 -jdbc.url=jdbc\:sqlserver\://${POWER_IP}:1433;databaseName=${dataBaseName} +jdbc.password=docus@702 +dataBaseName=DB_PrivilegeManagement_GYFY +POWER_PORT=9001 +jdbc.url=jdbc\:sqlserver\://10.6.1.127:1433;databaseName=${dataBaseName} jdbc.driver=com.microsoft.sqlserver.jdbc.SQLServerDriver #hibernate config diff --git a/src/main/resources/mapper/ArchiveFinalSignMapper.xml b/src/main/resources/mapper/ArchiveFinalSignMapper.xml index d896e6c5..ff6df589 100644 --- a/src/main/resources/mapper/ArchiveFinalSignMapper.xml +++ b/src/main/resources/mapper/ArchiveFinalSignMapper.xml @@ -3,7 +3,7 @@ - insert into zd_assort + insert into Archive_Final_Sign master_id, diff --git a/src/main/resources/mapper/Archive_MasterMapper.xml b/src/main/resources/mapper/Archive_MasterMapper.xml index 452f02bb..841551d2 100644 --- a/src/main/resources/mapper/Archive_MasterMapper.xml +++ b/src/main/resources/mapper/Archive_MasterMapper.xml @@ -2465,7 +2465,7 @@ select * from archive_master where id =#{id}