diff --git a/src/main/java/com/emr/controller/DictionaryController.java b/src/main/java/com/emr/controller/DictionaryController.java
index 30d0197..b6d99b4 100644
--- a/src/main/java/com/emr/controller/DictionaryController.java
+++ b/src/main/java/com/emr/controller/DictionaryController.java
@@ -7,6 +7,7 @@
package com.emr.controller;
import com.emr.entity.Emr_Dictionary;
+import com.emr.entity.Power_User;
import com.emr.service.Emr_DictionaryService;
import com.emr.util.ExceptionPrintUtil;
import org.apache.shiro.SecurityUtils;
@@ -17,6 +18,7 @@ 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.text.SimpleDateFormat;
import java.util.Date;
import java.util.List;
@@ -62,22 +64,19 @@ public class DictionaryController {
@ResponseBody
@RequestMapping(value = "/saveInfo")
- public String saveInfo(Emr_Dictionary emrDictionary) {
+ public String saveInfo(Emr_Dictionary emrDictionary, HttpServletRequest request) {
String result="";
int bol=0;
Emr_Dictionary dic2 = new Emr_Dictionary();
// 从session获取用户名
- Subject currentUser = SecurityUtils.getSubject();
- Session session = currentUser.getSession();
- String username = (String) session.getAttribute("userSession");//获取前面登录的用户名
-
+ Power_User powerUser = (Power_User)request.getSession().getAttribute("CURRENT_USER");
SimpleDateFormat format1 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String nowTime = format1.format(new Date());
try{
if(emrDictionary.getId()!=null){
//判断类别代码或代码是否已经存在
//存在修改
- emrDictionary.setUpdater(username);
+ emrDictionary.setUpdater(powerUser.getUserName());
emrDictionary.setUpdateTime(nowTime);
bol=emrDictionaryService.updateCloById(emrDictionary);
if (bol == 1) {
@@ -86,10 +85,10 @@ public class DictionaryController {
result = "修改失败!";
}
}else{
- emrDictionary.setCreater(username);
+ emrDictionary.setCreater(powerUser.getUserName());
emrDictionary.setCreateTime(nowTime);
//判断类别代码或代码是否已经存在
- if(emrDictionary.getCode()!=null && emrDictionary.getCode()!=""){
+ if(emrDictionary.getCode()!=null && !"".equals(emrDictionary.getCode())){
dic2.setCode(emrDictionary.getCode());
dic2.setParentId(emrDictionary.getParentId());
//根据代码查询该父类下是否存在是否已经存在
diff --git a/src/main/java/com/emr/controller/LoginController.java b/src/main/java/com/emr/controller/LoginController.java
index c3c168e..03318da 100644
--- a/src/main/java/com/emr/controller/LoginController.java
+++ b/src/main/java/com/emr/controller/LoginController.java
@@ -2,6 +2,7 @@ package com.emr.controller;
import com.alibaba.fastjson.JSONObject;
import com.emr.entity.Power_User;
+import com.emr.util.ActionScopeUtils;
import com.emr.util.HttpClientUtils;
import com.fasterxml.jackson.databind.ObjectMapper;
import org.apache.commons.lang3.StringUtils;
@@ -22,18 +23,22 @@ import javax.servlet.http.HttpServletRequest;
*/
@Controller
public class LoginController {
-
+ @Value("${TOKEN_EXPIRE_TIME}")
+ private long TOKEN_EXPIRE_TIME;
+ @Value("${STR_SPLIT}")
+ private String STR_SPLIT;
@Value("${POWER_URLHEAD}")
private String POWER_URLHEAD;
-
@Value("${POWER_JSP}")
private String POWER_JSP;
+ @Value("${WEBSOCKET_URLHEAD}")
+ private String WEBSOCKET_URLHEAD;
@Value("${powerUrl}")
private String powerUrl;
@RequestMapping(value = "/toLogin")
- public String toLogin(Model model) {
+ public String toLogin() {
return "redirect:/login.jsp";
}
@@ -70,16 +75,20 @@ public class LoginController {
}
ObjectMapper mapper = new ObjectMapper();
Power_User powerUser = mapper.readValue(objects[0].toString(), Power_User.class);
- //设置进session
- request.getSession().setAttribute("CURRENT_USER", powerUser);
if (null == powerUser.getUserId()) {
return "redirect:/error.jsp";
}
UsernamePasswordToken userToken = new UsernamePasswordToken(userName, "123456");
Subject subject = SecurityUtils.getSubject();
subject.login(userToken);
- model.addAttribute("POWER_URLHEAD", POWER_JSP);
- request.getSession().setAttribute("token", token);
+ model.addAttribute("POWER_URLHEAD", POWER_URLHEAD);
+ model.addAttribute("POWER_JSP", POWER_JSP);
+ //传递通知需要的数据
+ model.addAttribute("WEBSOCKET_URLHEAD", WEBSOCKET_URLHEAD);
+ model.addAttribute("STR_SPLIT", STR_SPLIT);
+ //设置进session
+ ActionScopeUtils.setSessionAttribute("token",token,Integer.valueOf(String.valueOf(TOKEN_EXPIRE_TIME)));
+ ActionScopeUtils.setSessionAttribute("CURRENT_USER",powerUser,Integer.valueOf(String.valueOf(TOKEN_EXPIRE_TIME)));
}else{
return "redirect:"+POWER_URLHEAD+"/login";
}
diff --git a/src/main/java/com/emr/controller/WebServiceLoad.java b/src/main/java/com/emr/controller/WebServiceLoad.java
index e91d3fb..6c33d35 100644
--- a/src/main/java/com/emr/controller/WebServiceLoad.java
+++ b/src/main/java/com/emr/controller/WebServiceLoad.java
@@ -2,6 +2,7 @@ package com.emr.controller;
import com.emr.util.PropertiesUtils;
import org.apache.cxf.endpoint.Client;
+import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;
import javax.annotation.PostConstruct;
@@ -24,11 +25,13 @@ public class WebServiceLoad {
public void contextInitialized() {
new Thread(() -> {
String token = "ORsaVDUBE1RFRFRETE5BR05ERVQ3JyBURkRGRA==";
- String POWER_URLHEAD = PropertiesUtils.getProperty("POWER_JSP");
+ String POWER_IP = PropertiesUtils.getProperty("POWER_IP");
+ String POWER_PORT = PropertiesUtils.getProperty("POWER_PORT");
//创建连接工厂
JAXDynamicClientFactory dcf = JAXDynamicClientFactory.newInstance();
//创建客户端
- Client client = dcf.createClient(POWER_URLHEAD + "/WebService/PowerWebService?wsdl");
+ String url = "http://"+POWER_IP+":"+POWER_PORT+ "/power/WebService/PowerWebService?wsdl";
+ Client client = dcf.createClient(url);
try {
//动态调用getInfosByUserId方法
client.invoke("getInfosByUserId", token, "emr_medical_record");
diff --git a/src/main/java/com/emr/controller/inHospitalController.java b/src/main/java/com/emr/controller/inHospitalController.java
index 9e6cd25..e0ad196 100644
--- a/src/main/java/com/emr/controller/inHospitalController.java
+++ b/src/main/java/com/emr/controller/inHospitalController.java
@@ -482,10 +482,7 @@ public class inHospitalController {
if (StringUtils.isNotBlank(masterId)) {
path2 += masterId + "\\";
}
- // 从session获取用户名
- Subject currentUser = SecurityUtils.getSubject();
- Session session = currentUser.getSession();
- String username = (String) session.getAttribute("userSession");//获取前面登录的用户名
+ Power_User powerUser = (Power_User)request.getSession().getAttribute("CURRENT_USER");
//类循环
if (fileObj != null && fileObj.size() > 0) {
for (int x = 0; x < fileObj.size(); x++) {
@@ -509,7 +506,7 @@ public class inHospitalController {
entity.setRelationId(masterId);
entity.setAssortId(obj.get("selectVal").toString());
entity.setUpdateTime(nowTime);
- entity.setUpdater(username);
+ entity.setUpdater(powerUser.getUserName());
int bol = 0;
String id= obj.get("id").toString();
try {
@@ -576,7 +573,7 @@ public class inHospitalController {
//上传图片
imgs[t].transferTo(new File( pictureUrl+path2 + pathType + trueFileName));
entity.setId(idTime);
- entity.setCreater(username);
+ entity.setCreater(powerUser.getUserName());
entity.setCreateTime(nowTime);
entity.setEffective(1);
entity.setMaxPicture(picSrc + path2 + pathType + trueFileName);
@@ -600,7 +597,7 @@ public class inHospitalController {
//新的图片地址
entity.setMaxPicture(picSrc + path2 + pathType + trueFileName);
entity.setId(idTime);
- entity.setCreater(username);
+ entity.setCreater(powerUser.getUserName());
entity.setCreateTime(nowTime);
entity.setEffective(1);
//插入记录
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 fb73726..106ca3f 100644
--- a/src/main/java/com/emr/service/ipml/Archive_MasterServiceImpl.java
+++ b/src/main/java/com/emr/service/ipml/Archive_MasterServiceImpl.java
@@ -431,7 +431,7 @@ public class Archive_MasterServiceImpl implements Archive_MasterService {
if (headNurseCheckFlag) {
if (headNurseCheckPower == 1 && headNurseCheckEffective == 1) {
targetCode = EnumVerify.DocState.HeadNurseCheck.getCode();
- btns += "";
+ btns += "";
}
} else {
@@ -439,41 +439,41 @@ public class Archive_MasterServiceImpl implements Archive_MasterService {
if (!EnumVerify.DocState.HasCurrentState(status, EnumVerify.DocState.DortorSubmit)) {
if (doctorSumbitPower == 1 && doctorSubmitEffective == 1) {
targetCode = EnumVerify.DocState.DortorSubmit.getCode();
- btns += "";
+ btns += "";
}
}
//没有医生质控员提交
if (!EnumVerify.DocState.HasCurrentState(status, EnumVerify.DocState.DortorCheck) && EnumVerify.DocState.HasCurrentState(status, EnumVerify.DocState.DortorSubmit) || doctorSubmitEffective == 0) {
if (doctorCheckSumbitPower == 1 && dortorCheckEffective == 1) {
targetCode = EnumVerify.DocState.DortorCheck.getCode();
- btns += "";
+ btns += "";
}
}
//没有科主任审核
if (!EnumVerify.DocState.HasCurrentState(status, EnumVerify.DocState.DirectorCheck) && EnumVerify.DocState.HasCurrentState(status, EnumVerify.DocState.DortorCheck) || (dortorCheckEffective == 0 && doctorSubmitEffective == 0) || (dortorCheckEffective == 0 && EnumVerify.DocState.HasCurrentState(status, EnumVerify.DocState.DortorSubmit))) {
if (directorCheckSumbitPower == 1 && directorCheckEffective == 1) {
targetCode = EnumVerify.DocState.DirectorCheck.getCode();
- btns += "";
+ btns += "";
}
}
//没有护士提交
if (!EnumVerify.DocState.HasCurrentState(status, EnumVerify.DocState.NurseSubmit)) {
if (nurseSumbitPower == 1 && nurseSubmitEffective == 1) {
targetCode = EnumVerify.DocState.NurseSubmit.getCode();
- btns += "";
+ btns += "";
}
//没有护士质控员提交
}
if (!EnumVerify.DocState.HasCurrentState(status, EnumVerify.DocState.NurseCheck) && EnumVerify.DocState.HasCurrentState(status, EnumVerify.DocState.NurseSubmit) || nurseSubmitEffective == 0) {
if (nurseCheckSumbitPower == 1 && nurseCheckEffective == 1) {
targetCode = EnumVerify.DocState.NurseCheck.getCode();
- btns += "";
+ btns += "";
}
}
}
//退回按钮
if(StringUtils.isNotBlank(btns) && backPower == 1){
- btns += "";
+ btns += "";
}
}
}
diff --git a/src/main/java/com/emr/shiro/MyRealm.java b/src/main/java/com/emr/shiro/MyRealm.java
index 95c73fd..917eb3d 100644
--- a/src/main/java/com/emr/shiro/MyRealm.java
+++ b/src/main/java/com/emr/shiro/MyRealm.java
@@ -2,7 +2,6 @@ package com.emr.shiro;
import com.alibaba.fastjson.JSONObject;
import com.emr.util.HttpClientUtils;
-import org.apache.poi.ss.formula.functions.T;
import org.apache.shiro.SecurityUtils;
import org.apache.shiro.authc.*;
import org.apache.shiro.authz.AuthorizationInfo;
@@ -10,12 +9,8 @@ import org.apache.shiro.authz.SimpleAuthorizationInfo;
import org.apache.shiro.realm.AuthorizingRealm;
import org.apache.shiro.session.Session;
import org.apache.shiro.subject.PrincipalCollection;
-import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
-import java.util.List;
-import java.util.Set;
-
/**
* @author HJL
* @create 2019/4/29
diff --git a/src/main/java/com/emr/util/ActionScopeUtils.java b/src/main/java/com/emr/util/ActionScopeUtils.java
new file mode 100644
index 0000000..53f359b
--- /dev/null
+++ b/src/main/java/com/emr/util/ActionScopeUtils.java
@@ -0,0 +1,43 @@
+package com.emr.util;
+
+
+import org.springframework.web.context.request.RequestContextHolder;
+import org.springframework.web.context.request.ServletRequestAttributes;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpSession;
+
+/**
+ * 关于作用域的操作
+ * @Author: ljx
+ * @Date: 2019/4/23 18:24
+ * @Version 1.0
+ */
+public class ActionScopeUtils {
+
+ public static HttpSession getSession(HttpServletRequest request){
+ return request.getSession();
+ }
+
+ public static HttpServletRequest getRequest(){
+ return ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();
+ }
+
+ public static void setSessionAttribute(String key,Object value,int expireTime){
+ getSession(getRequest()).setAttribute(key,value);
+ getSession(getRequest()).setMaxInactiveInterval(expireTime);
+ }
+
+ public static Object getSessionAttribute(String key){
+ return getSession(getRequest()).getAttribute(key);
+ }
+
+ public static void setRequestAttribute(String key,Object value){
+ getRequest().setAttribute(key,value);
+ }
+
+ public static Object getRequestAttribute(String key){
+ return getRequest().getAttribute(key);
+ }
+
+}
diff --git a/src/main/java/com/emr/util/PropertiesUtils.java b/src/main/java/com/emr/util/PropertiesUtils.java
index b23d53b..e88964f 100644
--- a/src/main/java/com/emr/util/PropertiesUtils.java
+++ b/src/main/java/com/emr/util/PropertiesUtils.java
@@ -5,7 +5,7 @@ import java.io.*;
import java.util.Properties;
public class PropertiesUtils {
- private static String fileName = "\\config\\jdbc.properties";
+ private static String fileName = "\\config\\config.properties";
private static Properties props;
synchronized static private void loadProps(){
diff --git a/src/main/resources/config/applicationContext.xml b/src/main/resources/config/applicationContext.xml
index ad5ea29..04d9749 100644
--- a/src/main/resources/config/applicationContext.xml
+++ b/src/main/resources/config/applicationContext.xml
@@ -30,7 +30,7 @@
-
+
@@ -46,6 +46,7 @@
+
diff --git a/src/main/resources/config/config.properties b/src/main/resources/config/config.properties
index 60181b0..9a983f8 100644
--- a/src/main/resources/config/config.properties
+++ b/src/main/resources/config/config.properties
@@ -1,3 +1,36 @@
+#power\u6743\u9650\u7CFB\u7EDFIP\u548C\u7AEF\u53E3
+POWER_IP = 192.168.1.3
+POWER_PORT = 8080
+
+#power\u6743\u9650\u7CFB\u7EDF\u7684\u670D\u52A1\u5668\u5730\u5740\u5934
+POWER_URLHEAD = http://${POWER_IP}:${POWER_PORT}/power
+
+#jsp\u9875\u9762\u524D\u7AEF\u8DF3\u8F6Cpower\u6743\u9650\u7CFB\u7EDFIP\u548C\u7AEF\u53E3
+POWER_JSPHEAD = ${POWER_IP}
+POWER_JSP = ${POWER_URLHEAD}
+
+#power\u6743\u9650\u7CFB\u7EDF\u7684\u670D\u52A1\u5668\u5730\u5740\u5934\u5982\uFF1Ahttp://192.168.1.3:8081/power
+powerUrl=${POWER_URLHEAD}/font/getMenusByUserIdAndSysFlag
+
+#\u6821\u9A8C\u5B8C\u6574\u6027webService\u670D\u52A1\u63A5\u53E3
+#\u6821\u9A8C\u5B8C\u6574\u6027IP
+CHECKSUCCESS_IP = ${POWER_IP}
+#\u6821\u9A8C\u5B8C\u6574\u6027\u7AEF\u53E3
+CHECKSUCCESS_PORT = 8888
+HomepageDictionary=http://${CHECKSUCCESS_IP}:${CHECKSUCCESS_PORT}/filing/services/HomepageDictionary?wsdl
+HomepageMethod=CheckData
+
+#webSocket\u670D\u52A1\u5668\u5730\u5740
+WEBSOCKET_URLHEAD = ${POWER_IP}:8088
+
+#session\u8FC7\u671F\u65F6\u95F4,\u5355\u4F4D\u79D2
+TOKEN_EXPIRE_TIME = 7200
+
+#\u901A\u77E5\u5B57\u7B26\u4E32\u95F4\u9694\u7B26
+STR_SPLIT = *^:|,.
+
+recallReason=\u533B\u9662\u9700\u8981\u8FD9\u4EFD\u6587\u6863
+
#pdf\u6C34\u5370
pdfWater = \u4F5B\u5C71\u5E02\u9AD8\u660E\u4EBA\u6C11\u533B\u9662
diff --git a/src/main/resources/config/jdbc.properties b/src/main/resources/config/jdbc.properties
index 61a4651..1078a69 100644
--- a/src/main/resources/config/jdbc.properties
+++ b/src/main/resources/config/jdbc.properties
@@ -5,31 +5,7 @@ jdbc.password=docus702
filters=stat
maxWait=60000
-#Oracle
-oracle.driver=oracle.jdbc.driver.OracleDriver
-oracle.url=jdbc:oracle:thin:@192.168.10.6:1521/orc1
-oracle.username=pacs
-oracle.password=pacs
-#hibernate config
-hibernate.dialect=org.hibernate.dialect.SQLServerDialect
-hibernate.show_sql=true
-hibernate.format_sql=true
-hibernate.hbm2ddl.auto=update
-#hibernate.current_session_context_class=org.springframework.orm.hibernate5.SpringSessionContext
-hibernate.current_session_context_class=thread
-hibernate.jdbc.batch_size=50
-hibernate.enable_lazy_load_no_trans=true
-
-#\u83DC\u5355\u63A5\u53E3http://120.27.212.36:8888/power/font/getMenusByUserIdAndSysFlag
-#powerUrl=http://120.27.212.36:8888/power/font/getMenusByUserIdAndSysFlag
-#POWER_URLHEAD=http://120.27.212.36:8888/power
-#power\u6743\u9650\u7CFB\u7EDF\u7684\u670D\u52A1\u5668\u5730\u5740\u5934\u5982\uFF1Ahttp://192.168.1.3:8081/power
-powerUrl=http://192.168.1.3:8080/power/font/getMenusByUserIdAndSysFlag
-POWER_URLHEAD=http://192.168.1.3:8080/power
-POWER_JSP=http://192.168.1.3:8080/power
-recallReason=\u533B\u9662\u9700\u8981\u8FD9\u4EFD\u6587\u6863
-HomepageDictionary=http://200.100.104.40:8081/filing/services/HomepageDictionary?wsdl
-HomepageMethod=CheckData
+
diff --git a/src/main/webapp/WEB-INF/jspf/webSocket.jspf b/src/main/webapp/WEB-INF/jspf/webSocket.jspf
new file mode 100644
index 0000000..97e337c
--- /dev/null
+++ b/src/main/webapp/WEB-INF/jspf/webSocket.jspf
@@ -0,0 +1,86 @@
+<%@ page contentType="text/html;charset=UTF-8" language="java" %>
+
+
+
+
diff --git a/src/main/webapp/WEB-INF/views/beHospitaledDir/beHospList.jsp b/src/main/webapp/WEB-INF/views/beHospitaledDir/beHospList.jsp
index 349d5ee..16f6a75 100644
--- a/src/main/webapp/WEB-INF/views/beHospitaledDir/beHospList.jsp
+++ b/src/main/webapp/WEB-INF/views/beHospitaledDir/beHospList.jsp
@@ -671,7 +671,7 @@