diff --git a/pom.xml b/pom.xml index 41b15d62..6b1cc04f 100644 --- a/pom.xml +++ b/pom.xml @@ -587,6 +587,11 @@ ${lombok.version} provided + + javax.servlet + javax.servlet-api + 4.0.1 + diff --git a/src/main/java/com/emr/controller/FontController.java b/src/main/java/com/emr/controller/FontController.java index 48145131..c4dbb30e 100644 --- a/src/main/java/com/emr/controller/FontController.java +++ b/src/main/java/com/emr/controller/FontController.java @@ -9,6 +9,7 @@ import com.emr.service.OverdueRemindService; import com.emr.service.Zd_AssortService; import com.emr.service.ipml.TBasicBrowseHistoryService; import com.emr.util.ExceptionPrintUtil; +import com.emr.util.HttpClientUtils; import com.emr.util.Msg; import com.emr.vo.OverdueRemindVO; import org.apache.commons.lang3.StringUtils; @@ -43,6 +44,8 @@ public class FontController { private String allAddortIds; @Value("${POWER_URLHEAD}") private String powerUrlHead; + @Value("${POWER_URLHEAD}") + private String POWER_URLHEAD; @Autowired private Archive_DetailService archiveDetailService; @Autowired @@ -417,10 +420,9 @@ public class FontController { */ @ResponseBody @RequestMapping(value = "sendMessageWith") - public void sendMessageWith(HttpServletRequest request, String title, String content) { + public void sendMessageWith(HttpServletRequest request, String title, String content,String typeFlag) { try { Power_User user = (Power_User) request.getSession().getAttribute("CURRENT_USER"); - title="超期的病案通知"; OverdueRemindVO overdueRemindVO= new OverdueRemindVO(); DateFormat format = new SimpleDateFormat("yyyy-MM-dd"); String date2="2021-01-01"; @@ -442,19 +444,25 @@ public class FontController { if (i ==0) { //查询该主治医生有多少超期的病案未归档 String overdueNum = overdueRemindService.selectoverdueNumAndDoctorId(overdueRemindVO); - System.out.println("overdueNum:::" + overdueNum); - //调用接口 - // 创建uri +// System.out.println("overdueNum:::" + overdueNum); +// //调用接口 +// // 创建uri content = "尊敬的医生!您有'" + overdueNum + "'条超期的病案未归档"; - String url = powerUrlHead + "/font/sendMessage?" - + "userId=" + userId - + "&sysFlag=emr_medical_record" - + "&title=" + title - + "&content=" + content.replace(" ", ""); - // 执行请求 - System.out.println("content:::" + content); - System.out.println("url:::" + url); - HttpClients.createDefault().execute(new HttpGet(url)); +// String url = powerUrlHead + "/font/sendMessage?" +// + "userId=" + userId +// + "&sysFlag=emr_medical_record" +// + "&title=" + title +// + "&content=" + content.replace(" ", ""); +// // 执行请求 +// System.out.println("content:::" + content); +// System.out.println("url:::" + url); + Map map = new HashMap<>(); + map.put("title", "超期的病案通知"); + map.put("content", content); + map.put("sysFlag", "emr_medical_record"); + map.put("userId", userId + ""); + map.put("typeFlag", typeFlag); + HttpClientUtils.doGet(POWER_URLHEAD + "/font/sendMessage", map); //保存到提醒日志 overdueRemindVO.setDOCTOR_IN_CHARGE(s); System.out.println("s:::" + s); diff --git a/src/main/java/com/emr/controller/PowerUserController.java b/src/main/java/com/emr/controller/PowerUserController.java index e6c7d027..e62a7b50 100644 --- a/src/main/java/com/emr/controller/PowerUserController.java +++ b/src/main/java/com/emr/controller/PowerUserController.java @@ -1,10 +1,16 @@ package com.emr.controller; +import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; +import com.emr.entity.Archive_Master_Following; +import com.emr.entity.Archive_Master_Vo; import com.emr.entity.Power_User; +import javax.servlet.http.HttpServletRequest; +import com.emr.service.Archive_Master_FollowingService; import com.emr.service.PowerUserService; import org.springframework.beans.factory.annotation.Autowired; @@ -12,7 +18,10 @@ import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody; -import javax.servlet.http.HttpServletRequest; +import java.util.List; +import java.util.Map; +import java.util.Objects; +import java.util.stream.Collectors; @Controller @@ -20,18 +29,59 @@ public class PowerUserController { @Autowired private PowerUserService powerUserService; + @Autowired + private Archive_Master_FollowingService archiveMasterFollowingService; @RequestMapping("getPowerUserList") @ResponseBody - public Object getPowerUserList(HttpServletRequest request, String type){ + public Object getPowerUserList(HttpServletRequest request, String type) { Power_User user = (Power_User) request.getSession().getAttribute("CURRENT_USER"); String handleName = user.getUserPosition();//姓名 - request.setAttribute("handleName",handleName); + request.setAttribute("handleName", handleName); JSONArray powerUserList = powerUserService.getPowerUserList(type); - if(powerUserList == null){ + if (powerUserList == null) { return "ERROR"; - }else{ + } else { return powerUserList; } } -} + + + @RequestMapping("getPowerUserList2") + @ResponseBody + public Object getPowerUserList2(HttpServletRequest request, String type) { + Power_User user = (Power_User) request.getSession().getAttribute("CURRENT_USER"); + String handleName = user.getUserPosition();//姓名 + request.setAttribute("handleName", handleName); + StringBuffer sb = new StringBuffer(); + StringBuffer sb1 = new StringBuffer(); + JSONArray powerUserList = powerUserService.getPowerUserList(type); + for (int i = 0; powerUserList.size() > i; i++) { + JSONObject jsonObject = powerUserList.getJSONObject(i); + String roleName = jsonObject.getString("name"); + if (sb.length() != 0) { + sb.append(","); + } + if (!roleName.equals("") && !roleName.equals(null)) { + sb.append("'" + roleName + "'"); + } + String userName = jsonObject.getString("userName"); + if (sb1.length() != 0) { + sb1.append(","); + } + if (!roleName.equals("")&& !roleName.equals(null)) { + sb1.append("'" + userName + "'"); + } + } + String roleName = sb.toString() ; + String userName = sb1.toString() ; + List nameList = archiveMasterFollowingService.getHandleName(roleName,userName); + if (nameList == null) { + return "ERROR"; + } else { + return nameList; + } + + + } +} \ No newline at end of file diff --git a/src/main/java/com/emr/controller/lastVerifyController.java b/src/main/java/com/emr/controller/lastVerifyController.java index 1ee151b6..33d37f97 100644 --- a/src/main/java/com/emr/controller/lastVerifyController.java +++ b/src/main/java/com/emr/controller/lastVerifyController.java @@ -212,6 +212,7 @@ public class lastVerifyController { archive_master_following.setHandleId(username); archive_master_following.setHandleName(handleName); archive_master_followingService.insertSelective(archive_master_following); + archiveMasterService.updateByClo2(archiveMaster); } if("LG".equals(lgFlag)) { //留观号审核推送第三方 diff --git a/src/main/java/com/emr/controller/signListController.java b/src/main/java/com/emr/controller/signListController.java index aa8a8b63..bfe89868 100644 --- a/src/main/java/com/emr/controller/signListController.java +++ b/src/main/java/com/emr/controller/signListController.java @@ -183,10 +183,6 @@ public class signListController { @ResponseBody @RequestMapping(value = "/addSignListForce") public String addSignListForce(HttpServletRequest request, HttpServletResponse response, Archive_Master_Vo archiveMasterVo) throws Exception { - boolean flag = FormTokenFlagUtil.isFlag(request); - if (!flag) { - return "请不要重复提交!"; - } response.setCharacterEncoding("utf-8"); request.setCharacterEncoding("utf-8"); String result = ""; @@ -345,6 +341,7 @@ public class signListController { archive_master_following.setHandleId(username); archive_master_following.setHandleName(handleName); archive_master_followingService.insertSelective(archive_master_following); + archiveMasterService.updateByClo2(archiveMaster); } } else { bol = 2; diff --git a/src/main/java/com/emr/dao/Archive_MasterMapper.java b/src/main/java/com/emr/dao/Archive_MasterMapper.java index 09c9d801..0e43f619 100644 --- a/src/main/java/com/emr/dao/Archive_MasterMapper.java +++ b/src/main/java/com/emr/dao/Archive_MasterMapper.java @@ -1,6 +1,7 @@ package com.emr.dao; import com.emr.entity.Archive_Master; +import com.emr.entity.Archive_Master_Following; import com.emr.entity.Archive_Master_Vo; import org.apache.ibatis.annotations.Param; @@ -113,6 +114,15 @@ public interface Archive_MasterMapper { */ int updateByClo(Archive_Master record); + + + /** + * 根据条件查询记录 + * @param record + * @return + */ + int updateByClo2(Archive_Master record); + /** * 根据id修改记录 * @param record @@ -155,6 +165,7 @@ public interface Archive_MasterMapper { * */ List selectByObject(@Param(value = "patientId") String patientId,@Param(value = "visitId")String visitId); + /** * 查询留观病历列表 * @param master diff --git a/src/main/java/com/emr/dao/Archive_Master_FollowingMapper.java b/src/main/java/com/emr/dao/Archive_Master_FollowingMapper.java index 2b44e9fd..f58ad4bf 100644 --- a/src/main/java/com/emr/dao/Archive_Master_FollowingMapper.java +++ b/src/main/java/com/emr/dao/Archive_Master_FollowingMapper.java @@ -72,4 +72,5 @@ public interface Archive_Master_FollowingMapper { List selectFollowingByFollowingType(@Param("followingType")String followingType,@Param("masterIds")String masterIds); + List getHandleName(@Param(value = "roleName") String roleName,@Param(value = "userName") String userName); } \ No newline at end of file diff --git a/src/main/java/com/emr/dao/Zd_AssortMapper.java b/src/main/java/com/emr/dao/Zd_AssortMapper.java index 6dde7d13..19f0c0a3 100644 --- a/src/main/java/com/emr/dao/Zd_AssortMapper.java +++ b/src/main/java/com/emr/dao/Zd_AssortMapper.java @@ -2,6 +2,7 @@ package com.emr.dao; import com.alibaba.fastjson.JSONArray; import com.emr.entity.Archive_Master_Following; +import com.emr.entity.Archive_Master_Vo; import com.emr.entity.Zd_Assort; import org.apache.ibatis.annotations.Param; @@ -38,6 +39,6 @@ public interface Zd_AssortMapper { - ListgetHandleName(String patientIds); + } \ No newline at end of file diff --git a/src/main/java/com/emr/service/Archive_MasterService.java b/src/main/java/com/emr/service/Archive_MasterService.java index f9ec1b7f..9feba923 100644 --- a/src/main/java/com/emr/service/Archive_MasterService.java +++ b/src/main/java/com/emr/service/Archive_MasterService.java @@ -119,6 +119,14 @@ public interface Archive_MasterService { */ int updateByClo(Archive_Master record); + + /** + * 根据条件查询记录 + * @param record + * @return + */ + int updateByClo2(Archive_Master record); + /** * 根据id修改记录 * @param record diff --git a/src/main/java/com/emr/service/Archive_Master_FollowingService.java b/src/main/java/com/emr/service/Archive_Master_FollowingService.java index a6ff2522..90bbc434 100644 --- a/src/main/java/com/emr/service/Archive_Master_FollowingService.java +++ b/src/main/java/com/emr/service/Archive_Master_FollowingService.java @@ -23,4 +23,6 @@ public interface Archive_Master_FollowingService { * @return */ List selLastByType(Archive_Master_Following archiveMasterFollowing); + + List getHandleName(String roleName,String userName); } 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 25804b2f..2b520b23 100644 --- a/src/main/java/com/emr/service/ipml/Archive_MasterServiceImpl.java +++ b/src/main/java/com/emr/service/ipml/Archive_MasterServiceImpl.java @@ -418,6 +418,12 @@ public class Archive_MasterServiceImpl implements Archive_MasterService { return archiveMasterMapper.updateByClo(record); } + + @Override + public int updateByClo2(Archive_Master record) { + return archiveMasterMapper.updateByClo2(record); + } + @Override public int updateById(Archive_Master record) { return archiveMasterMapper.updateById(record); diff --git a/src/main/java/com/emr/service/ipml/Archive_Master_FollowingServiceImpl.java b/src/main/java/com/emr/service/ipml/Archive_Master_FollowingServiceImpl.java index 1fa0dbbe..7fade158 100644 --- a/src/main/java/com/emr/service/ipml/Archive_Master_FollowingServiceImpl.java +++ b/src/main/java/com/emr/service/ipml/Archive_Master_FollowingServiceImpl.java @@ -43,4 +43,9 @@ public class Archive_Master_FollowingServiceImpl implements Archive_Master_Follo } + @Override + public List getHandleName(String roleName,String userName) { + return archive_master_followingMapper.getHandleName(roleName,userName); + } + } diff --git a/src/main/java/com/emr/service/ipml/PowerUserServiceImpl.java b/src/main/java/com/emr/service/ipml/PowerUserServiceImpl.java index 9b24294f..6852b8f5 100644 --- a/src/main/java/com/emr/service/ipml/PowerUserServiceImpl.java +++ b/src/main/java/com/emr/service/ipml/PowerUserServiceImpl.java @@ -4,6 +4,7 @@ import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.emr.dao.Zd_AssortMapper; import com.emr.entity.Archive_Master_Following; +import com.emr.entity.Archive_Master_Vo; import com.emr.util.HttpClientUtils; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; @@ -45,8 +46,7 @@ public class PowerUserServiceImpl implements PowerUserService { return null; } - @Override - public List getHandleName(String patientIds) { - return zd_assortMapper.getHandleName(patientIds); - } + + + } diff --git a/src/main/resources/mapper/Archive_MasterMapper.xml b/src/main/resources/mapper/Archive_MasterMapper.xml index da5d1499..98885e82 100644 --- a/src/main/resources/mapper/Archive_MasterMapper.xml +++ b/src/main/resources/mapper/Archive_MasterMapper.xml @@ -1367,6 +1367,9 @@ bed_number=#{bedNumber,jdbcType=NVARCHAR} where id = #{id,jdbcType=NVARCHAR} + + update archive_master set send_time=null where id = #{id} + SELECT m.id ,m.patient_id diff --git a/src/main/resources/mapper/Archive_Master_FollowingMapper.xml b/src/main/resources/mapper/Archive_Master_FollowingMapper.xml index b694873f..49ef54d0 100644 --- a/src/main/resources/mapper/Archive_Master_FollowingMapper.xml +++ b/src/main/resources/mapper/Archive_Master_FollowingMapper.xml @@ -207,4 +207,12 @@ select distinct master_id,following_type from Archive_Master_Following where following_type= #{followingType} and master_id in (${masterIds}) + + + + + + select distinct handle_name,handle_id from Archive_Master_Following where handle_name in (${roleName}) and handle_id in (${userName}) + and following_content in ('病案室审核(已归档)','病案室退回科主任') AND handle_name IS NOT NULL + \ No newline at end of file diff --git a/src/main/resources/mapper/Emr_Fault_DetailMapper.xml b/src/main/resources/mapper/Emr_Fault_DetailMapper.xml index 1ca686aa..1e124b36 100644 --- a/src/main/resources/mapper/Emr_Fault_DetailMapper.xml +++ b/src/main/resources/mapper/Emr_Fault_DetailMapper.xml @@ -92,7 +92,9 @@ where 1=1 and back_flag in(5,6) and assort_id is not null and assort_id!='' )a on a.archive_detail_id=m.id - 1=1 and ArchiveState not in('作废','已封存') and assort_id is not null and assort_id!='' + LEFT JOIN Archive_Master_Following q + on m.id=q.master_id + 1=1 and ArchiveState not in('作废','已封存') and assort_id is not null and assort_id!='' and q.following_type=9 and f.archive_detail_id = #{archiveDetailId,jdbcType=NVARCHAR} @@ -789,7 +791,9 @@ on a.master_id=m.id LEFT JOIN (select code,name from emr_dictionary where parent_id=(select id from emr_dictionary where typeCode='dept_code' )) d on m.dept_name=d.code - 1=1 and m.ArchiveState not in('作废','已封存','') and m.ArchiveState is not null and m.Is_Valid!=1 and total_back_num>0 + LEFT JOIN Archive_Master_Following f + on m.id=f.master_id + 1=1 and m.ArchiveState not in('作废','已封存','') and m.ArchiveState is not null and m.Is_Valid!=1 and total_back_num>0 and f.following_type=9 and m.inp_no like '%'+#{inpNo,jdbcType=NCHAR}+'%' @@ -856,7 +860,9 @@ from Archive_Master m where 1=1 and ArchiveState not in('作废','已封存','') and ArchiveState is not null and Is_Valid!=1 )m on a.archive_detail_id=m.id - 1=1 and ArchiveState not in('作废','已封存','','取消入院') and ArchiveState is not null + LEFT JOIN Archive_Master_Following q + on m.id=q.master_id + 1=1 and ArchiveState not in('作废','已封存','','取消入院') and ArchiveState is not null and q.following_type=9 and a.archive_detail_id=#{archiveDetailId,jdbcType=NCHAR} diff --git a/src/main/resources/mapper/Zd_AssortMapper.xml b/src/main/resources/mapper/Zd_AssortMapper.xml index c45a92a8..d7ae8939 100644 --- a/src/main/resources/mapper/Zd_AssortMapper.xml +++ b/src/main/resources/mapper/Zd_AssortMapper.xml @@ -38,9 +38,8 @@ ORDER BY assort_sort - - select * from Archive_Master_Following where handle_name IN (${patientIds}) + + select distinct * from Archive_Master_Following where handle_name IN (${roleName}) diff --git a/src/main/webapp/WEB-INF/jspf/webSocket.jspf b/src/main/webapp/WEB-INF/jspf/webSocket.jspf index 69219b3a..29f9616b 100644 --- a/src/main/webapp/WEB-INF/jspf/webSocket.jspf +++ b/src/main/webapp/WEB-INF/jspf/webSocket.jspf @@ -37,6 +37,7 @@ }; ws.onclose = function () { + console.log("连接关闭"); }; diff --git a/src/main/webapp/WEB-INF/views/index.jsp b/src/main/webapp/WEB-INF/views/index.jsp index dd7feaaf..8fba3d69 100644 --- a/src/main/webapp/WEB-INF/views/index.jsp +++ b/src/main/webapp/WEB-INF/views/index.jsp @@ -43,25 +43,8 @@ type:"post", data:{"userId":val}, success:function (data) { - } }) - // $.ajaxSetup({ - // contentType: "application/x-www-form-urlencoded;charset=utf-8", - // complete: function (XMLHttpRequest, textStatus) { - // }, - // statusCode: { - // 404: function () { - // toastr.warning('数据获取/输入失败,没有此服务。404'); - // }, - // 504: function () { - // toastr.warning('数据获取/输入失败,服务器没有响应。504'); - // }, - // 500: function () { - // toastr.warning('服务器有误。500'); - // } - // } - // }); if (${menuList == null}) { // setTimeout(function () { diff --git a/src/main/webapp/WEB-INF/views/medicalHandlerDir/medicalHandlerList.jsp b/src/main/webapp/WEB-INF/views/medicalHandlerDir/medicalHandlerList.jsp index 61210c4f..50f8d48d 100644 --- a/src/main/webapp/WEB-INF/views/medicalHandlerDir/medicalHandlerList.jsp +++ b/src/main/webapp/WEB-INF/views/medicalHandlerDir/medicalHandlerList.jsp @@ -1830,13 +1830,13 @@ function getUserList() { //获取role为病案室、病案室管理的用户 $.ajax({ - url:"${path}/getPowerUserList", + url:"${path}/getPowerUserList2", type:"GET", data:{"type":0}, success:function (data) { if (data != null) { for (var i = 0; i < data.length; i++) { - $("#handleName").append("" + data[i].name + ""); + $("#handleName").append("" + data[i].handleName + ""); } } $(".selectpicker").selectpicker('refresh'); diff --git a/src/main/webapp/WEB-INF/views/signListDir/signList.jsp b/src/main/webapp/WEB-INF/views/signListDir/signList.jsp index 2a08c9a0..08ee506e 100644 --- a/src/main/webapp/WEB-INF/views/signListDir/signList.jsp +++ b/src/main/webapp/WEB-INF/views/signListDir/signList.jsp @@ -457,8 +457,8 @@ <%----%> <%----%> - 经管员姓名: - + 送达人姓名: + 患者姓名: @@ -1354,7 +1354,7 @@