|
|
|
@ -5,7 +5,6 @@ import com.manage.encrypt.Base64;
|
|
|
|
|
import com.manage.encrypt.MD5;
|
|
|
|
|
import com.manage.entity.Power_Dept;
|
|
|
|
|
import com.manage.entity.Power_Menu;
|
|
|
|
|
import com.manage.entity.Power_User;
|
|
|
|
|
import com.manage.service.Power_DeptService;
|
|
|
|
|
import com.manage.service.Power_MenuService;
|
|
|
|
|
import com.manage.service.Power_UserService;
|
|
|
|
@ -59,38 +58,42 @@ public class methodForEmrMedical {
|
|
|
|
|
@Value("${EMRMEDICALRECORD_PORT}")
|
|
|
|
|
private String port;
|
|
|
|
|
|
|
|
|
|
@Value("8081")
|
|
|
|
|
private String port2;
|
|
|
|
|
|
|
|
|
|
@Value("${TOKEN_EXPIRE_TIME}")
|
|
|
|
|
private long TOKEN_EXPIRE_TIME;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 2.1
|
|
|
|
|
* @ProjectName: getUserByUserName
|
|
|
|
|
* @Description: 获取用户
|
|
|
|
|
* @Param 无
|
|
|
|
|
* @Return getMenusByUserIdAndSysFlag
|
|
|
|
|
* @Author: xuhx
|
|
|
|
|
* @CreateDate: 20121/7/2 10:00
|
|
|
|
|
* @UpdateUser: 更新者
|
|
|
|
|
*
|
|
|
|
|
* @ProjectName: getUserByUserName
|
|
|
|
|
* @Description: 获取用户
|
|
|
|
|
* @Param 无
|
|
|
|
|
* @Return getMenusByUserIdAndSysFlag
|
|
|
|
|
* @Author: xuhx
|
|
|
|
|
* @CreateDate: 20121/7/2 10:00
|
|
|
|
|
* @UpdateUser: 更新者
|
|
|
|
|
* @UpdateDate:
|
|
|
|
|
*/
|
|
|
|
|
@RequestMapping(value = "getUserByUserName",method = RequestMethod.GET)
|
|
|
|
|
@RequestMapping(value = "getUserByUserName", method = RequestMethod.GET)
|
|
|
|
|
@ResponseBody
|
|
|
|
|
public Msg getUser(String userName){
|
|
|
|
|
public Msg getUser(String userName) {
|
|
|
|
|
Power_UserVo user = powerUserService.selectByUserName(userName);
|
|
|
|
|
if(user!=null){
|
|
|
|
|
return Msg.success().add("user",user);
|
|
|
|
|
}else{
|
|
|
|
|
if (user != null) {
|
|
|
|
|
return Msg.success().add("user", user);
|
|
|
|
|
} else {
|
|
|
|
|
return Msg.fail("没有此用户信息!!");
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
* 单点登录
|
|
|
|
|
* author xuhx
|
|
|
|
|
* */
|
|
|
|
|
@RequestMapping(value = "login",method = RequestMethod.GET,produces = "text/html;charset=utf-8")
|
|
|
|
|
@RequestMapping(value = "login", method = RequestMethod.GET, produces = "text/html;charset=utf-8")
|
|
|
|
|
@ResponseBody
|
|
|
|
|
public String login(String sessionID, HttpServletRequest request, HttpServletResponse response) throws Exception {
|
|
|
|
|
String result = "";
|
|
|
|
@ -111,8 +114,87 @@ public class methodForEmrMedical {
|
|
|
|
|
int start = returnMessage.indexOf("<USER_LOGIN_NAME>") + 17;
|
|
|
|
|
int end = returnMessage.indexOf("</USER_LOGIN_NAME>");
|
|
|
|
|
//传进来的id已失效,无法获取用户信息
|
|
|
|
|
if(start!=16&&end!=-1){
|
|
|
|
|
String userName = returnMessage.substring(start, end);
|
|
|
|
|
if (start != 16 && end != -1) {
|
|
|
|
|
String userName = returnMessage.substring(start, end);
|
|
|
|
|
//根据登录名获取用户(需要确保用户登录名唯一)
|
|
|
|
|
Power_UserVo user = powerUserService.selectByUserName(userName);
|
|
|
|
|
if (user != null) {
|
|
|
|
|
String password = MD5.JM(Base64.decode(user.getUserPwd()));
|
|
|
|
|
if (password != null && !"".equals(password)) {
|
|
|
|
|
String date = String.valueOf(DateUtils.getDate());
|
|
|
|
|
//加密(此部分代码来自FontController的getToken方法,用来获取token及相关操作)
|
|
|
|
|
String token = Base64.encode(MD5.KL(date));
|
|
|
|
|
List<Power_Menu> list = null;
|
|
|
|
|
List<User_Dept_Menu> menuList = new ArrayList<>();
|
|
|
|
|
Set<String> menus = new TreeSet<>();
|
|
|
|
|
if (user.getRoleId().equals(0) || user.getRoleId().equals(-100)) {
|
|
|
|
|
list = powerMenuService.queryAllPowerMenu(null, user.getRoleId());
|
|
|
|
|
} else {
|
|
|
|
|
list = powerMenuService.selectUserAndRoleMenuListPower(user.getUserId(), null);
|
|
|
|
|
}
|
|
|
|
|
if (null != list && !list.isEmpty()) {
|
|
|
|
|
for (Power_Menu power_menu : list) {
|
|
|
|
|
User_Dept_Menu deptMenu = new User_Dept_Menu();
|
|
|
|
|
String menuUrl = power_menu.getMenuUrl();
|
|
|
|
|
if (StringUtils.isNotBlank(menuUrl)) {
|
|
|
|
|
BeanUtils.copyProperties(power_menu, deptMenu);
|
|
|
|
|
deptMenu.setMethodParent(power_menu.getParentId());
|
|
|
|
|
menuList.add(deptMenu);
|
|
|
|
|
}
|
|
|
|
|
if (StringUtils.isNotBlank(power_menu.getMethod())) {
|
|
|
|
|
menus.add(power_menu.getMenuUrl());
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
user.setMenuList(menuList);
|
|
|
|
|
user.setMenus(menus);
|
|
|
|
|
|
|
|
|
|
//设置科室
|
|
|
|
|
StringBuilder power_depts = new StringBuilder();
|
|
|
|
|
List<Power_Dept> power_depts1 = power_deptService.selectByPrimaryKeys(user.getDeptId());
|
|
|
|
|
for (int j = 0; j < power_depts1.size(); j++) {
|
|
|
|
|
if (j < power_depts1.size() - 1) {
|
|
|
|
|
power_depts.append(power_depts1.get(j).getDeptName()).append(",");
|
|
|
|
|
} else {
|
|
|
|
|
power_depts.append(power_depts1.get(j).getDeptName());
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
user.setRemark(power_depts.toString());
|
|
|
|
|
//移除缓存
|
|
|
|
|
CacheManager.removeCacheByObject(user);
|
|
|
|
|
CacheManager.putCache(date, new Cache(date, user, TOKEN_EXPIRE_TIME));
|
|
|
|
|
if (!"".equals(token) && token != null) {
|
|
|
|
|
//返回跳转url
|
|
|
|
|
result = "http://" + ip + ":" + port + "/emr_medical_record/login?token=" + token + "&userName=" + userName;
|
|
|
|
|
response.sendRedirect(result);
|
|
|
|
|
} else {
|
|
|
|
|
result = "获取登录token失败,请检查数据!!";
|
|
|
|
|
}
|
|
|
|
|
} else {
|
|
|
|
|
result = "无法获取用户密码!!";
|
|
|
|
|
}
|
|
|
|
|
} else {
|
|
|
|
|
result = "登录用户不存在!!";
|
|
|
|
|
}
|
|
|
|
|
} else {
|
|
|
|
|
result = "sessionID已失效,请重新登录";
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
return result;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
* 单点登录,跳转病案归档系统
|
|
|
|
|
* author xm
|
|
|
|
|
* 需要传入userName,即工号
|
|
|
|
|
* */
|
|
|
|
|
@RequestMapping(value = "loginToEmrMedicalRecord", method = RequestMethod.GET, produces = "text/html;charset=utf-8")
|
|
|
|
|
@ResponseBody
|
|
|
|
|
public String loginToEmrMedicalRecord(String userName, HttpServletRequest request, HttpServletResponse response) throws Exception {
|
|
|
|
|
String result = "";
|
|
|
|
|
if (userName != null && !"".equals(userName)) {
|
|
|
|
|
//根据登录名获取用户(需要确保用户登录名唯一)
|
|
|
|
|
Power_UserVo user = powerUserService.selectByUserName(userName);
|
|
|
|
|
if (user != null) {
|
|
|
|
@ -125,11 +207,11 @@ public class methodForEmrMedical {
|
|
|
|
|
List<User_Dept_Menu> menuList = new ArrayList<>();
|
|
|
|
|
Set<String> menus = new TreeSet<>();
|
|
|
|
|
if (user.getRoleId().equals(0) || user.getRoleId().equals(-100)) {
|
|
|
|
|
list = powerMenuService.queryAllPowerMenu(null,user.getRoleId());
|
|
|
|
|
list = powerMenuService.queryAllPowerMenu(null, user.getRoleId());
|
|
|
|
|
} else {
|
|
|
|
|
list = powerMenuService.selectUserAndRoleMenuListPower(user.getUserId(),null);
|
|
|
|
|
list = powerMenuService.selectUserAndRoleMenuListPower(user.getUserId(), null);
|
|
|
|
|
}
|
|
|
|
|
if(null != list && !list.isEmpty()){
|
|
|
|
|
if (null != list && !list.isEmpty()) {
|
|
|
|
|
for (Power_Menu power_menu : list) {
|
|
|
|
|
User_Dept_Menu deptMenu = new User_Dept_Menu();
|
|
|
|
|
String menuUrl = power_menu.getMenuUrl();
|
|
|
|
@ -145,24 +227,23 @@ public class methodForEmrMedical {
|
|
|
|
|
}
|
|
|
|
|
user.setMenuList(menuList);
|
|
|
|
|
user.setMenus(menus);
|
|
|
|
|
|
|
|
|
|
//设置科室
|
|
|
|
|
StringBuilder power_depts = new StringBuilder();
|
|
|
|
|
List<Power_Dept> power_depts1 = power_deptService.selectByPrimaryKeys(user.getDeptId());
|
|
|
|
|
for(int j=0;j<power_depts1.size();j++){
|
|
|
|
|
if(j<power_depts1.size()-1){
|
|
|
|
|
for (int j = 0; j < power_depts1.size(); j++) {
|
|
|
|
|
if (j < power_depts1.size() - 1) {
|
|
|
|
|
power_depts.append(power_depts1.get(j).getDeptName()).append(",");
|
|
|
|
|
}else{
|
|
|
|
|
} else {
|
|
|
|
|
power_depts.append(power_depts1.get(j).getDeptName());
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
user.setRemark(power_depts.toString());
|
|
|
|
|
//移除缓存
|
|
|
|
|
CacheManager.removeCacheByObject(user);
|
|
|
|
|
CacheManager.putCache(date,new Cache(date,user,TOKEN_EXPIRE_TIME));
|
|
|
|
|
if (!"".equals(token)&&token!=null) {
|
|
|
|
|
CacheManager.putCache(date, new Cache(date, user, TOKEN_EXPIRE_TIME));
|
|
|
|
|
if (!"".equals(token) && token != null) {
|
|
|
|
|
//返回跳转url
|
|
|
|
|
result="http://"+ip+":"+port+"/emr_medical_record/login?token=" + token + "&userName=" + userName;
|
|
|
|
|
result = "http://" + ip + ":" + port + "/emr_medical_record/login?token=" + token + "&userName=" + userName;
|
|
|
|
|
response.sendRedirect(result);
|
|
|
|
|
} else {
|
|
|
|
|
result = "获取登录token失败,请检查数据!!";
|
|
|
|
@ -173,11 +254,84 @@ public class methodForEmrMedical {
|
|
|
|
|
} else {
|
|
|
|
|
result = "登录用户不存在!!";
|
|
|
|
|
}
|
|
|
|
|
}else{
|
|
|
|
|
result = "sessionID已失效,请重新登录";
|
|
|
|
|
}
|
|
|
|
|
} else {
|
|
|
|
|
result = "请传入工号!!";
|
|
|
|
|
}
|
|
|
|
|
return result;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
* 单点登录,跳转档案管理系统
|
|
|
|
|
* author xm
|
|
|
|
|
* 需要传入userName,即工号
|
|
|
|
|
* */
|
|
|
|
|
@RequestMapping(value = "loginToEmrRecord", method = RequestMethod.GET, produces = "text/html;charset=utf-8")
|
|
|
|
|
@ResponseBody
|
|
|
|
|
public String loginToEmrRecord(String userName, HttpServletRequest request, HttpServletResponse response) throws Exception {
|
|
|
|
|
String result = "";
|
|
|
|
|
if (userName != null && !"".equals(userName)) {
|
|
|
|
|
//根据登录名获取用户(需要确保用户登录名唯一)
|
|
|
|
|
Power_UserVo user = powerUserService.selectByUserName(userName);
|
|
|
|
|
if (user != null) {
|
|
|
|
|
String password = MD5.JM(Base64.decode(user.getUserPwd()));
|
|
|
|
|
if (password != null && !"".equals(password)) {
|
|
|
|
|
String date = String.valueOf(DateUtils.getDate());
|
|
|
|
|
//加密(此部分代码来自FontController的getToken方法,用来获取token及相关操作)
|
|
|
|
|
String token = Base64.encode(MD5.KL(date));
|
|
|
|
|
List<Power_Menu> list = null;
|
|
|
|
|
List<User_Dept_Menu> menuList = new ArrayList<>();
|
|
|
|
|
Set<String> menus = new TreeSet<>();
|
|
|
|
|
if (user.getRoleId().equals(0) || user.getRoleId().equals(-100)) {
|
|
|
|
|
list = powerMenuService.queryAllPowerMenu(null, user.getRoleId());
|
|
|
|
|
} else {
|
|
|
|
|
list = powerMenuService.selectUserAndRoleMenuListPower(user.getUserId(), null);
|
|
|
|
|
}
|
|
|
|
|
if (null != list && !list.isEmpty()) {
|
|
|
|
|
for (Power_Menu power_menu : list) {
|
|
|
|
|
User_Dept_Menu deptMenu = new User_Dept_Menu();
|
|
|
|
|
String menuUrl = power_menu.getMenuUrl();
|
|
|
|
|
if (StringUtils.isNotBlank(menuUrl)) {
|
|
|
|
|
BeanUtils.copyProperties(power_menu, deptMenu);
|
|
|
|
|
deptMenu.setMethodParent(power_menu.getParentId());
|
|
|
|
|
menuList.add(deptMenu);
|
|
|
|
|
}
|
|
|
|
|
if (StringUtils.isNotBlank(power_menu.getMethod())) {
|
|
|
|
|
menus.add(power_menu.getMenuUrl());
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
user.setMenuList(menuList);
|
|
|
|
|
user.setMenus(menus);
|
|
|
|
|
//设置科室
|
|
|
|
|
StringBuilder power_depts = new StringBuilder();
|
|
|
|
|
List<Power_Dept> power_depts1 = power_deptService.selectByPrimaryKeys(user.getDeptId());
|
|
|
|
|
for (int j = 0; j < power_depts1.size(); j++) {
|
|
|
|
|
if (j < power_depts1.size() - 1) {
|
|
|
|
|
power_depts.append(power_depts1.get(j).getDeptName()).append(",");
|
|
|
|
|
} else {
|
|
|
|
|
power_depts.append(power_depts1.get(j).getDeptName());
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
user.setRemark(power_depts.toString());
|
|
|
|
|
//移除缓存
|
|
|
|
|
CacheManager.removeCacheByObject(user);
|
|
|
|
|
CacheManager.putCache(date, new Cache(date, user, TOKEN_EXPIRE_TIME));
|
|
|
|
|
if (!"".equals(token) && token != null) {
|
|
|
|
|
//返回跳转url
|
|
|
|
|
result = "http://" + ip + ":" + port2 + "/emr_record/login?token=" + token + "&userName=" + userName;
|
|
|
|
|
response.sendRedirect(result);
|
|
|
|
|
} else {
|
|
|
|
|
result = "获取登录token失败,请检查数据!!";
|
|
|
|
|
}
|
|
|
|
|
} else {
|
|
|
|
|
result = "无法获取用户密码!!";
|
|
|
|
|
}
|
|
|
|
|
} else {
|
|
|
|
|
result = "登录用户不存在!!";
|
|
|
|
|
}
|
|
|
|
|
} else {
|
|
|
|
|
result = "请传入工号!!";
|
|
|
|
|
}
|
|
|
|
|
return result;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|