修改原有webservice接口增加传递参数deptcode用于子系统判定当前登录用户科室,增加查询用于查询子系统病案信息(该功能尚未调通,只做了代码部分)

master
xm 4 years ago
parent 48be227812
commit a6b6bcc995

@ -1,6 +1,9 @@
package com.manage.controller;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.manage.dao.Power_UserMapper;
import com.manage.encrypt.Base64;
import com.manage.encrypt.MD5;
import com.manage.entity.*;
@ -10,6 +13,7 @@ import com.manage.service.cache.CacheManager;
import com.manage.util.*;
import com.manage.vo.*;
import org.apache.commons.lang3.StringUtils;
import org.apache.cxf.endpoint.Client;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
@ -28,6 +32,8 @@ import java.util.*;
public class LoginController {
@Value("${TOKEN_EXPIRE_TIME}")
private long TOKEN_EXPIRE_TIME;
@Value("${EMRRECORD_URLHEAD}")
private String EMRRECOD_URLHEAD;
@Autowired
private Power_UserService powerUserService;
@Autowired
@ -39,6 +45,10 @@ public class LoginController {
@Autowired
LoginService loginService;
@Autowired
private Power_UserMapper power_userMapper;
@RequestMapping(value = "login",method = RequestMethod.GET)
public String toLogin(Model model ,HttpServletRequest request){
CacheManager.addExcCount("noExc");
@ -48,6 +58,37 @@ public class LoginController {
return "loginDir/login";
}
public List<EmrApplyApprove> getAllRecordUserId() throws Exception {
//创建连接工厂
JAXDynamicClientFactory dcf = JAXDynamicClientFactory.newInstance();
//创建客户端
Client client = dcf.createClient(EMRRECOD_URLHEAD + "/WebService/EMRRecordWebService?wsdl");
//动态调用getInfosByUserId方法
Object[] objects = client.invoke("getAllRecordUserId");
client.destroy();
ObjectMapper mapper = new ObjectMapper();
//返回用户对象数组
List<EmrApplyApprove> emrApplyApprovelist = new ArrayList<EmrApplyApprove>(JSONArray.parseArray(objects[0].toString(), EmrApplyApprove.class));
List<EmrApplyApprove> allRecordUserId = this.getAllRecordUserId();
List<Power_User> power_users = new ArrayList<>();
String s =null;
for (int i = 0; i < allRecordUserId.size(); i++) {
//传回的deptcode
String deptCode = allRecordUserId.get(i).getDeptCode();
//通过deptcode查询科室表连接查询user表user表筛选出rold id25effective = 1
power_users = power_userMapper.selectAllChief(deptCode);
for (int j = 0; j < power_users.size(); j++) {
Power_User power_user = power_users.get(j);
//科室主任名字,用来作为展示
String name = power_user.getName();
//科室主任userName用来作为识别发送消息
String userName = power_user.getUserName();
}
}
return emrApplyApprovelist;
}
@RequestMapping(value = "login",method = RequestMethod.POST)
public String login(Power_User powerUser,HttpServletResponse response, HttpServletRequest request,Model model){
//同一浏览器打开login直接触发注销登录session

@ -9,8 +9,9 @@ import javax.jws.WebService;
public interface PowerWebService {
@WebMethod()
String getInfosByUserId(@WebParam(name = "token") String token,String sysId);
String getInfosByUserId(@WebParam(name = "token") String token, String sysId);
@WebMethod
String tempTest();
}

@ -1,16 +1,18 @@
package com.manage.interfaces.webservice.impl;
import com.alibaba.fastjson.JSON;
import com.manage.dao.Power_DeptMapper;
import com.manage.dao.Power_MenuMapper;
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.interfaces.webservice.PowerWebService;
import com.manage.service.Power_UserService;
import com.manage.service.User_Dept_MenuService;
import com.manage.service.cache.Cache;
import com.manage.service.cache.CacheManager;
import com.manage.interfaces.webservice.PowerWebService;
import com.manage.service.User_Dept_MenuService;
import com.manage.util.Constant;
import com.manage.vo.Power_UserVo;
import com.manage.vo.Power_UserWebServiceVo;
@ -21,7 +23,10 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import javax.jws.WebService;
import java.util.*;
import java.util.ArrayList;
import java.util.List;
import java.util.Set;
import java.util.TreeSet;
@Component
@WebService(serviceName = "PowerWebService",
@ -37,6 +42,10 @@ public class PowerWebServiceImpl implements PowerWebService {
@Autowired
Power_UserService powerUserService;
@Autowired
Power_DeptMapper power_deptMapper;
@Override
public String getInfosByUserId(String token,String sysFlag) {
@ -46,8 +55,22 @@ public class PowerWebServiceImpl implements PowerWebService {
Cache cache = CacheManager.getCacheInfo(token);
if(cache != null){
Power_UserVo user = (Power_UserVo) cache.getValue();
//获取用户id、查询出deptid分割后作为结果查询deptcode
String [] temp;
String delimeter = ",";
Power_User power_user = powerUserService.selectByUserNameByTrue(user.getUserName());
List userDeptCodeList = new ArrayList();
temp = power_user.getDeptId().split(delimeter);
for (int i = 0; i <temp.length ; i++) {
//查询表获得deptcode
if(power_deptMapper!=null&&temp[i]!=null){
Power_Dept power_dept = power_deptMapper.selectByPrimaryKeyDeptId(Integer.valueOf(temp[i]));
userDeptCodeList.add(power_dept.getDeptCode());
}
}
//设置名字
user.setUserPosition(user.getName());
List<User_Dept_Menu> menuList = user.getMenuList();
Set<String> menus = new TreeSet();
try {
@ -60,6 +83,7 @@ public class PowerWebServiceImpl implements PowerWebService {
e.printStackTrace();
}
BeanUtils.copyProperties(user,userWebServiceVo);
userWebServiceVo.setDeptCode(userDeptCodeList);
userWebServiceVo.setMenus(menus);
}
}

@ -38,4 +38,7 @@ public interface Power_DeptMapper {
List<Power_DeptVo> selectDeptByDictId(@Param("dictId") Integer dictId,@Param("sysFlag")String sysFlag);
int SimpleInsert(List<Power_Dept> list);
Power_Dept selectByPrimaryKeyDeptId(Integer deptId);
}

@ -66,4 +66,12 @@ public interface Power_UserMapper {
* id
* */
List<Power_User> selectUserIdsWithApprove(@Param("menuUrl")String menuUrl);
//修改为正确入参类型
Power_User selectByUserNameByTrue(String userName);
//根据deptcode科室id查询符合的科主任信息
List<Power_User> selectAllChief (String deptCode);
}

@ -1,6 +1,7 @@
package com.manage.entity;
import java.util.List;
public class Power_User{
private Integer userId;
@ -37,6 +38,38 @@ public class Power_User{
private String remark;
//使用deptId
private List<Power_Dept> powerDept;
public List<Power_Dept> getPowerDept() {
return powerDept;
}
public void setPowerDept(List<Power_Dept> powerDept) {
this.powerDept = powerDept;
}
public String getRealName() {
return realName;
}
public void setRealName(String realName) {
this.realName = realName;
}
private String realName;
private String DeptCode;
public String getDeptCode() {
return DeptCode;
}
public void setDeptCode(String deptCode) {
DeptCode = deptCode;
}
public Integer getUserId() {
return userId;
}

@ -213,4 +213,5 @@ public class Power_UserVo extends Power_User {
public void setMenuList(List<User_Dept_Menu> menuList) {
this.menuList = menuList;
}
}

@ -1,5 +1,6 @@
package com.manage.vo;
import java.util.List;
import java.util.Set;
public class Power_UserWebServiceVo {
@ -18,6 +19,24 @@ public class Power_UserWebServiceVo {
private String updater;
private String remark;
private Set<String> menus;
private String deptId;
private List DeptCode;
public List getDeptCode() {
return DeptCode;
}
public void setDeptCode(List deptCode) {
DeptCode = deptCode;
}
public String getDeptId() {
return deptId;
}
public void setDeptId(String deptId) {
this.deptId = deptId;
}
public Integer getUserId() {
return userId;

@ -49,6 +49,7 @@ public class User_Dept_Menu {
private Integer methodSort;
public String getDeptCode() {
return deptCode;
}

@ -324,4 +324,9 @@
)
</foreach >
</insert>
<select id="selectByPrimaryKeyDeptId" resultType="com.manage.entity.Power_Dept">
select *
from power_dept
where power_dept.dept_id = #{deptId}
</select>
</mapper>

@ -698,4 +698,20 @@
role_id = 0
OR role_id = - 100
</select>
<select id="selectByUserNameByTrue" parameterType="java.lang.String" resultMap="BaseResultMap">
select
<include refid="Base_Column_List" />
from power_user
where user_name = #{userName}
</select>
<select id="selectAllChief" resultType="com.manage.entity.Power_User">
SELECT *
from power_user
where dept_id like concat( '%',(select dept_id
from power_dept
where dept_code = #{deptCode},'%')
and effective = 1
and role_id = 25
</select>
</mapper>

@ -93,4 +93,6 @@ public interface Power_UserService {
* @Description
* */
public Power_UserVo findPowerUserByUserNameAndRemark(Power_User powerUser);
Power_User selectByUserNameByTrue(String userName);
}

@ -270,4 +270,10 @@ public class Power_UserServiceImpl implements Power_UserService {
return powerUserMapper.findPowerUserByUserNameAndRemark(powerUser);
}
@Override
public Power_User selectByUserNameByTrue(String userName) {
Power_User power_user = powerUserMapper.selectByUserNameByTrue(userName);
return power_user;
}
}

Loading…
Cancel
Save