From 0b63cc4506602d0fd22bf8b0886d1785281f6169 Mon Sep 17 00:00:00 2001 From: zengwh <81383286@qq.com> Date: Thu, 25 Nov 2021 17:59:39 +0800 Subject: [PATCH] =?UTF-8?q?=E5=BC=80=E5=8F=91=E7=A6=81=E6=AD=A2=E9=87=8D?= =?UTF-8?q?=E5=A4=8D=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/emr/controller/ContantController.java | 33 ++++++++++ .../com/emr/controller/FormTokenFlagUtil.java | 31 +++++++++ .../controller/MedicalRecallController.java | 26 ++++---- .../controller/beHospitaledController.java | 63 +++++++++++-------- .../emr/controller/lastVerifyController.java | 22 ++++--- .../emr/controller/signListController.java | 8 +++ .../com/emr/controller/storageController.java | 9 ++- .../ipml/Archive_MasterServiceImpl.java | 5 ++ src/main/webapp/WEB-INF/jspf/comm.jspf | 3 +- .../views/beHospitaledDir/beHospList.jsp | 39 ++++++------ .../WEB-INF/views/commitDir/commitList.jsp | 15 +++-- .../views/lastVerifyDir/lastVerifyList.jsp | 12 ++-- .../medicalRecallDir/medicalRecallList.jsp | 13 ++-- .../MedicalRecordStorage.jsp | 14 +++-- .../WEB-INF/views/pdfDir/pdfLastDir.jsp | 15 +++-- .../WEB-INF/views/signListDir/signList.jsp | 10 ++- src/main/webapp/static/js/comm.js | 15 +++++ 17 files changed, 242 insertions(+), 91 deletions(-) create mode 100644 src/main/java/com/emr/controller/ContantController.java create mode 100644 src/main/java/com/emr/controller/FormTokenFlagUtil.java diff --git a/src/main/java/com/emr/controller/ContantController.java b/src/main/java/com/emr/controller/ContantController.java new file mode 100644 index 00000000..17c92174 --- /dev/null +++ b/src/main/java/com/emr/controller/ContantController.java @@ -0,0 +1,33 @@ +package com.emr.controller; + +import com.alibaba.fastjson.JSON; +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.UUID; + +/** + * @ProjectName: + * @Description: + * @Param 传输参数 + * @Return + * @Author: 曾文和 + * @CreateDate: 2019/9/17 14:59 + * @UpdateUser: 曾文和 + * @UpdateDate: 2019/9/17 14:59 + * @UpdateRemark: 更新说明 + * @Version: 1.0 + */ +@Controller +@RequestMapping("contant/") +public class ContantController { + @RequestMapping("getUuid") + @ResponseBody + public String getUuid(HttpServletRequest request){ + String formToken = UUID.randomUUID().toString(); + request.getSession().setAttribute("formToken",formToken); + return JSON.toJSONString(formToken); + } +} diff --git a/src/main/java/com/emr/controller/FormTokenFlagUtil.java b/src/main/java/com/emr/controller/FormTokenFlagUtil.java new file mode 100644 index 00000000..948611d9 --- /dev/null +++ b/src/main/java/com/emr/controller/FormTokenFlagUtil.java @@ -0,0 +1,31 @@ +package com.emr.controller; + +import org.apache.commons.lang3.StringUtils; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpSession; + +/** + * @ProjectName: + * @Description: + * @Param 传输参数 + * @Return + * @Author: 曾文和 + * @CreateDate: 2019/9/17 14:20 + * @UpdateUser: 曾文和 + * @UpdateDate: 2019/9/17 14:20 + * @UpdateRemark: 更新说明 + * @Version: 1.0 + */ +public class FormTokenFlagUtil { + public static boolean isFlag(HttpServletRequest request) { + HttpSession session = request.getSession(); + String sesionToken = (String) session.getAttribute("formToken"); + String token = request.getParameter("formToken"); + if (StringUtils.isNoneBlank(token) && !(token.equals(sesionToken))) { + return false; + } + session.removeAttribute("formToken"); + return true; + } +} diff --git a/src/main/java/com/emr/controller/MedicalRecallController.java b/src/main/java/com/emr/controller/MedicalRecallController.java index c55c160e..d0494540 100644 --- a/src/main/java/com/emr/controller/MedicalRecallController.java +++ b/src/main/java/com/emr/controller/MedicalRecallController.java @@ -102,10 +102,14 @@ public class MedicalRecallController { @OptionalLog(methods = "病案召回") @ResponseBody @RequestMapping(value = "/updateState") - public int updateState(HttpServletRequest request, HttpServletResponse response, Emr_Fault_Detail emrFaultDetail) throws UnsupportedEncodingException { + public String updateState(HttpServletRequest request, HttpServletResponse response, Emr_Fault_Detail emrFaultDetail) throws UnsupportedEncodingException { + boolean flag = FormTokenFlagUtil.isFlag(request); + if (!flag) { + return "请不要重复提交!"; + } String inpatientNo = emrFaultDetail.getContent(); if(StringUtils.isBlank(inpatientNo)){ - return 0; + return "0"; } response.setCharacterEncoding("utf-8"); Power_User user = (Power_User) request.getSession().getAttribute("CURRENT_USER"); @@ -139,21 +143,21 @@ public class MedicalRecallController { String lgFlag = inpatientNo.substring(0,2); if(!"LG".equals(lgFlag)) { //2021-01-30 初审成功日志 - Archive_Master_Following archive_master_following = new Archive_Master_Following(); - archive_master_following.setMasterId(emrFaultDetail.getArchiveDetailId()); + Archive_Master_Following archiveMasterFollowing = new Archive_Master_Following(); + archiveMasterFollowing.setMasterId(emrFaultDetail.getArchiveDetailId()); //following表中添加病案室审核操作记录 - archive_master_following.setFollowingType("10"); - archive_master_following.setFollowingContent("病案召回"); - archive_master_following.setHandleTime(nowTime); - archive_master_following.setHandleId(username); - archive_master_following.setHandleName(handleName); - archive_master_followingService.insertSelective(archive_master_following); + archiveMasterFollowing.setFollowingType("10"); + archiveMasterFollowing.setFollowingContent("病案召回"); + archiveMasterFollowing.setHandleTime(nowTime); + archiveMasterFollowing.setHandleId(username); + archiveMasterFollowing.setHandleName(handleName); + archive_master_followingService.insertSelective(archiveMasterFollowing); }else{ //留观号召回推送第三方 archiveMasterService.requestObservationRecord(inpatientNo,"RETURNED",emrFaultDetail.getRecallReason()); } } - return bol; + return bol + ""; } } diff --git a/src/main/java/com/emr/controller/beHospitaledController.java b/src/main/java/com/emr/controller/beHospitaledController.java index 5f11ea0a..0a4a2317 100644 --- a/src/main/java/com/emr/controller/beHospitaledController.java +++ b/src/main/java/com/emr/controller/beHospitaledController.java @@ -116,6 +116,10 @@ public class beHospitaledController { @ResponseBody @RequestMapping(value = "/updateStateByArchivId") public String updateStateByArchivId(HttpServletRequest request, HttpServletResponse response, Emr_Fault_Detail emrFaultDetail) { + boolean flag = FormTokenFlagUtil.isFlag(request); + if (!flag) { + return "请不要重复提交!"; + } response.setCharacterEncoding("utf-8"); // 从session获取用户名 Power_User user = (Power_User) request.getSession().getAttribute("CURRENT_USER"); @@ -204,6 +208,10 @@ public class beHospitaledController { @ResponseBody @RequestMapping(value = "/forceWZ") public String forceWZ(HttpServletRequest request, HttpServletResponse response, Emr_Fault_Detail emrFaultDetail) { + boolean flag = FormTokenFlagUtil.isFlag(request); + if (!flag) { + return "请不要重复提交!"; + } response.setCharacterEncoding("utf-8"); // 从session获取用户名 Power_User user = (Power_User) request.getSession().getAttribute("CURRENT_USER"); @@ -262,6 +270,10 @@ public class beHospitaledController { @ResponseBody @RequestMapping(value = "/cmtDoctorOrNurs") public String cmtDoctorOrNurs(HttpServletRequest request, HttpServletResponse response, Archive_Master_Vo archiveMasterVo) throws Exception { + boolean flag = FormTokenFlagUtil.isFlag(request); + if (!flag) { + return "请不要重复提交!"; + } response.setCharacterEncoding("utf-8"); // 从session获取用户名 Power_User user = (Power_User) request.getSession().getAttribute("CURRENT_USER"); @@ -445,13 +457,14 @@ public class beHospitaledController { @Transactional @ResponseBody @RequestMapping(value = "/withdrawDoctorOrNurs") - public String withdrawDoctorOrNurs(HttpServletRequest request, HttpServletResponse response,Archive_Master_Vo archiveMasterVo) { + public String withdrawDoctorOrNurs(HttpServletRequest request, HttpServletResponse response,Archive_Master_Vo archiveMasterVo,Integer backRole) { + boolean flag = FormTokenFlagUtil.isFlag(request); + if (!flag) { + return "请不要重复提交!"; + } response.setCharacterEncoding("utf-8"); Archive_Master archiveMaster=new Archive_Master(); archiveMaster.setId(archiveMasterVo.getId()); - archiveMaster.setCmtDoctor(archiveMasterVo.getCmtDoctor()); - archiveMaster.setCmtNurse(archiveMasterVo.getCmtNurse()); - Power_User user = (Power_User) request.getSession().getAttribute("CURRENT_USER"); String username = user.getUserName();//工号 String handleName = user.getUserPosition();//姓名 @@ -461,38 +474,38 @@ public class beHospitaledController { String result=""; int bol =0; //判断id 不为空 - if(!archiveMaster.getId().equals("") && !archiveMaster.getId().equals(null)) { + if(!"".equals(archiveMaster.getId()) && archiveMaster.getId() != null) { Archive_Master obj = archiveMasterService.selectById(archiveMaster.getId()); if (obj!=null){ - Archive_Master_Following archive_master_following = new Archive_Master_Following(); - archive_master_following.setMasterId(archiveMasterVo.getId()); - if (archiveMasterVo.getCmtDoctor()==0){ + Archive_Master_Following archiveMasterFollowing = new Archive_Master_Following(); + archiveMasterFollowing.setMasterId(archiveMasterVo.getId()); + //backRole=1医生撤销 + if (backRole == 1){ //医生撤回操作 archiveMaster.setCmtDoctorDate(""); archiveMaster.setDoctorName(""); - - + archiveMaster.setCmtDoctor(0); //following表中添加归档医生撤回操作记录 - archive_master_following.setFollowingType("2"); - archive_master_following.setFollowingContent("主管医生撤回提交"); - archive_master_following.setHandleTime(nowTime); - archive_master_following.setHandleId(username); - archive_master_following.setHandleName(handleName); - bol = archive_master_followingService.insertSelective(archive_master_following); + archiveMasterFollowing.setFollowingType("2"); + archiveMasterFollowing.setFollowingContent("主管医生撤回提交"); + archiveMasterFollowing.setHandleTime(nowTime); + archiveMasterFollowing.setHandleId(username); + archiveMasterFollowing.setHandleName(handleName); + bol = archive_master_followingService.insertSelective(archiveMasterFollowing); result="归档医生撤回成功!"; - } - if (archiveMasterVo.getCmtNurse()==0){ + }else if(backRole == 2){ + //backRole=2护士撤销 //护士撤回操作 archiveMaster.setCmtNurseDate(""); archiveMaster.setNurseName(""); - + archiveMaster.setCmtNurse(0); //following表中添加归档护士撤回操作记录 - archive_master_following.setFollowingType("4"); - archive_master_following.setFollowingContent("护士长撤回提交"); - archive_master_following.setHandleTime(nowTime); - archive_master_following.setHandleId(username); - archive_master_following.setHandleName(handleName); - bol = archive_master_followingService.insertSelective(archive_master_following); + archiveMasterFollowing.setFollowingType("4"); + archiveMasterFollowing.setFollowingContent("护士长撤回提交"); + archiveMasterFollowing.setHandleTime(nowTime); + archiveMasterFollowing.setHandleId(username); + archiveMasterFollowing.setHandleName(handleName); + bol = archive_master_followingService.insertSelective(archiveMasterFollowing); result="归档护士撤回成功!"; } archiveMaster.setIsscaned(archiveMasterVo.getIsscaned()); diff --git a/src/main/java/com/emr/controller/lastVerifyController.java b/src/main/java/com/emr/controller/lastVerifyController.java index c21c7d55..e280e093 100644 --- a/src/main/java/com/emr/controller/lastVerifyController.java +++ b/src/main/java/com/emr/controller/lastVerifyController.java @@ -12,16 +12,10 @@ import com.emr.util.ThreadExcelUtils; import com.emr.util.XMLUtil; import com.emr.webservice.MedicalRecordShowBackContent.MR_FILE_CALLBACK_RECORD; import com.emr.webservice.MedicalRecordShowBackContent.MR_FILE_INDEX_CALLBACK; -import lombok.extern.slf4j.Slf4j; import org.apache.axis.client.Call; import org.apache.axis.client.Service; import org.apache.axis.encoding.XMLType; import org.apache.commons.lang3.StringUtils; -import org.apache.cxf.endpoint.Client; -import org.apache.cxf.jaxws.endpoint.dynamic.JaxWsDynamicClientFactory; -import org.apache.shiro.SecurityUtils; -import org.apache.shiro.session.Session; -import org.apache.shiro.subject.Subject; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Controller; @@ -114,7 +108,11 @@ public class lastVerifyController { @Transactional @ResponseBody @RequestMapping(value = "/updateDetailByArchivId") - public int updateDetailByArchivId(HttpServletRequest request, HttpServletResponse response, Emr_Fault_Detail emrFaultDetail) throws UnsupportedEncodingException { + public String updateDetailByArchivId(HttpServletRequest request, HttpServletResponse response, Emr_Fault_Detail emrFaultDetail) throws UnsupportedEncodingException { + boolean flag = FormTokenFlagUtil.isFlag(request); + if (!flag) { + return "请不要重复提交!"; + } request.setCharacterEncoding("utf-8"); response.setCharacterEncoding("utf-8"); int bol=0; @@ -209,13 +207,17 @@ public class lastVerifyController { bol=2; } } - return bol; + return bol + ""; } @Transactional @ResponseBody @RequestMapping(value = "/updateStateByArchivId") - public int updateStateByArchivId(HttpServletRequest request, HttpServletResponse response, Emr_Fault_Detail emrFaultDetail) throws UnsupportedEncodingException { + public String updateStateByArchivId(HttpServletRequest request, HttpServletResponse response, Emr_Fault_Detail emrFaultDetail) throws UnsupportedEncodingException { + boolean flag = FormTokenFlagUtil.isFlag(request); + if (!flag) { + return "请不要重复提交!"; + } String inpatientNo = emrFaultDetail.getContent(); if(StringUtils.isBlank(inpatientNo)){ Archive_Master archiveMaster = archiveMasterService.selectById(emrFaultDetail.getArchiveDetailId()); @@ -274,7 +276,7 @@ public class lastVerifyController { archiveMasterService.requestObservationRecord(inpatientNo,"AUDITED",null); } } - return bol; + return bol + ""; } @ResponseBody diff --git a/src/main/java/com/emr/controller/signListController.java b/src/main/java/com/emr/controller/signListController.java index 46eaa6e3..244d2aca 100644 --- a/src/main/java/com/emr/controller/signListController.java +++ b/src/main/java/com/emr/controller/signListController.java @@ -105,6 +105,10 @@ public class signListController { @ResponseBody @RequestMapping(value = "/addSignList") public String addSignList(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 = ""; @@ -156,6 +160,10 @@ 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 = ""; diff --git a/src/main/java/com/emr/controller/storageController.java b/src/main/java/com/emr/controller/storageController.java index d8cf9c6e..51611a53 100644 --- a/src/main/java/com/emr/controller/storageController.java +++ b/src/main/java/com/emr/controller/storageController.java @@ -77,11 +77,14 @@ public class storageController { @OptionalLog(methods = "病案封存") @ResponseBody @RequestMapping(value = "/updateState") - public int updateState(HttpServletRequest request, HttpServletResponse response, Emr_Fault_Detail emrFaultDetail) throws UnsupportedEncodingException { + public String updateState(HttpServletRequest request, HttpServletResponse response, Emr_Fault_Detail emrFaultDetail) throws UnsupportedEncodingException { + boolean flag = FormTokenFlagUtil.isFlag(request); + if (!flag) { + return "请不要重复提交!"; + } response.setCharacterEncoding("utf-8"); request.setCharacterEncoding("utf-8"); Subject currentUser = SecurityUtils.getSubject(); - Session session = currentUser.getSession(); Power_User user = (Power_User) request.getSession().getAttribute("CURRENT_USER"); String handleName = user.getUserPosition();//姓名 String username = user.getUserName();//获取前面登录的用户名 @@ -118,7 +121,7 @@ public class storageController { bol = archiveMasterFollowingService.insertSelective(archiveMasterFollowing); } } - return bol; + return bol + ""; } 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 8d6efb35..1dec3b20 100644 --- a/src/main/java/com/emr/service/ipml/Archive_MasterServiceImpl.java +++ b/src/main/java/com/emr/service/ipml/Archive_MasterServiceImpl.java @@ -191,6 +191,8 @@ public class Archive_MasterServiceImpl implements Archive_MasterService { String doctorName = archiveMaster.getDoctorName(); //获取护士工号 String nurseName = archiveMaster.getNurseName(); + //获取初审人工号 + String firstInstance = archiveMaster.getFirstInstance(); //遍历匹配工号赋值姓名 for(Power_User_Dto powerUserDto : powerUserList){ String name = powerUserDto.getName(); @@ -200,6 +202,9 @@ public class Archive_MasterServiceImpl implements Archive_MasterService { if(StringUtils.isNotBlank(nurseName) && powerUserDto.getUserName().equals(nurseName)){ archiveMaster.setNurseName(name); } + if(StringUtils.isNotBlank(firstInstance) && powerUserDto.getUserName().equals(firstInstance)){ + archiveMaster.setFirstInstance(name); + } } } //是否打印条件不为空,直接赋值打印标识 diff --git a/src/main/webapp/WEB-INF/jspf/comm.jspf b/src/main/webapp/WEB-INF/jspf/comm.jspf index a51d4d6f..2e232b1e 100644 --- a/src/main/webapp/WEB-INF/jspf/comm.jspf +++ b/src/main/webapp/WEB-INF/jspf/comm.jspf @@ -43,4 +43,5 @@ <%----%> <%--pdf---%> - \ No newline at end of file + + \ No newline at end of file diff --git a/src/main/webapp/WEB-INF/views/beHospitaledDir/beHospList.jsp b/src/main/webapp/WEB-INF/views/beHospitaledDir/beHospList.jsp index fbc16882..145f16da 100644 --- a/src/main/webapp/WEB-INF/views/beHospitaledDir/beHospList.jsp +++ b/src/main/webapp/WEB-INF/views/beHospitaledDir/beHospList.jsp @@ -1287,7 +1287,7 @@