diff --git a/power-admin/src/main/java/com/manage/interfaces/webservice/PowerWebService.java b/power-admin/src/main/java/com/manage/interfaces/webservice/PowerWebService.java
index c2de6fa..6160e65 100644
--- a/power-admin/src/main/java/com/manage/interfaces/webservice/PowerWebService.java
+++ b/power-admin/src/main/java/com/manage/interfaces/webservice/PowerWebService.java
@@ -13,4 +13,7 @@ public interface PowerWebService {
@WebMethod
String tempTest();
+
+ @WebMethod
+ String HIPMessageServer(String code,String xml);
}
diff --git a/power-admin/src/main/java/com/manage/interfaces/webservice/impl/PowerWebServiceImpl.java b/power-admin/src/main/java/com/manage/interfaces/webservice/impl/PowerWebServiceImpl.java
index 05fb048..a1f1150 100644
--- a/power-admin/src/main/java/com/manage/interfaces/webservice/impl/PowerWebServiceImpl.java
+++ b/power-admin/src/main/java/com/manage/interfaces/webservice/impl/PowerWebServiceImpl.java
@@ -1,9 +1,13 @@
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.dao.Power_UserMapper;
import com.manage.encrypt.Base64;
import com.manage.encrypt.MD5;
+import com.manage.entity.PowerUser;
+import com.manage.entity.Power_Dept;
import com.manage.entity.Power_Menu;
import com.manage.entity.Power_User;
import com.manage.service.cache.Cache;
@@ -11,16 +15,25 @@ 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.util.FileUtils;
+import com.manage.util.XmlUtils;
import com.manage.vo.Power_UserVo;
import com.manage.vo.Power_UserWebServiceVo;
import com.manage.vo.User_Dept_Menu;
import org.apache.commons.lang3.StringUtils;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
import org.springframework.beans.BeanUtils;
+import org.springframework.beans.BeansException;
import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;
+import org.springframework.util.CollectionUtils;
import javax.jws.WebService;
+import java.text.SimpleDateFormat;
import java.util.*;
+import java.util.logging.SimpleFormatter;
@Component
@WebService(serviceName = "PowerWebService",
@@ -28,11 +41,27 @@ import java.util.*;
endpointInterface = "com.manage.interfaces.webservice.PowerWebService"
)
public class PowerWebServiceImpl implements PowerWebService {
+ private final Logger logger = LoggerFactory.getLogger(getClass());
+ @Value("${newUserName}")
+ private String newUserName;
+ @Value("${name}")
+ private String name;
+ @Value("${deptCode}")
+ private String deptCode;
+ @Value("${synchronizationSwitch}")
+ private String synchronizationSwitch;
+ @Value("${deptCTDCode}")
+ private String deptCTDCode;
+ @Value("${deptCTDDesc}")
+ private String deptCTDDesc;
@Autowired
Power_MenuMapper powerMenuMapper;
@Autowired
User_Dept_MenuService userDeptMenuService;
-
+ @Autowired
+ Power_UserMapper powerUserMapper;
+ @Autowired
+ Power_DeptMapper powerDeptMapper;
@Override
public String getInfosByUserId(String token,String sysFlag) {
Power_UserWebServiceVo userWebServiceVo = new Power_UserWebServiceVo();
@@ -72,6 +101,394 @@ public class PowerWebServiceImpl implements PowerWebService {
return "aaaa~~~~~~~~~~~~~~~~~~~~~~~";
}
+ @Override
+ public String HIPMessageServer(String code, String xml) {
+ if (StringUtils.isNotBlank(synchronizationSwitch) && "1".equals(synchronizationSwitch)) {
+ //科室字典信息方法
+ if (StringUtils.isNotBlank(code) && "MES0067".equals(code)) {
+ departmentInfo(code,xml);
+ }
+ //医护人员字典信息
+ else if (StringUtils.isNotBlank(code) && "MES0072".equals(code)){
+ userInfo(code,xml);
+ }
+ else {
+ return "无效的服务编码";
+ }
+ }
+ return "\n" +
+ " \n" +
+ " \n" +
+ " \n" +
+ " \n" +
+ " \n" +
+ " 0\n" +
+ " 成功\n" +
+ " \n" +
+ "";
+ }
+ //科室字典信息方法
+ private String departmentInfo(String code, String xml){
+ if (StringUtils.isBlank(xml)) {
+ return "xml不能为空";
+ }
+ /**
+ *
+ *
+ *
+ *
+ *
+ * 00001
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ * HHZK
+ * CT_CareProv
+ *
+ *
+ *
+ *
+ *
+ * H222100
+ *
+ * H黄子楷
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ * NFYKDXNFYY
+ *
+ *
+ *
+ *
+ *
+ * HHZK
+ *
+ *
+ * H黄子楷
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ * HHZK
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ * 护士
+ * 2019-05-08
+ * 1
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ * 无
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ */
+ try {
+ SimpleDateFormat fmt = new SimpleDateFormat("yyyy-MM-dd");
+ Map map = new HashMap();
+ logger.info("接收到xml数据:" + xml);
+ //xml转map
+ map = XmlUtils.parseXml2Map(xml, map);
+ //获取在xml中节点key
+ String cTDCode = deptCTDCode;
+ String cTDDesc = deptCTDDesc;
+ //获取所要的值
+ String deptCode = (String) map.get(cTDCode);
+ String deptDesc = (String) map.get(cTDDesc);
+ logger.info("解析xml数据:deptCode = " + deptCode + "; deptDesc = " + deptDesc);
+ if (StringUtils.isBlank(deptCode)) {
+ return "科室编号不能为空";
+ }
+ Power_Dept dept = new Power_Dept();
+ dept.setDeptName(deptDesc);
+ dept.setDeptCode(deptCode);
+ //查询是否存在
+ List powerDepts = powerDeptMapper.checkDeptCode(deptCode);
+ dept.setUpdater("admin");
+ dept.setUpdateDate(fmt.format(new Date()));
+ if (!CollectionUtils.isEmpty(powerDepts)) {
+ //修改
+ Power_Dept powerDept = powerDepts.get(0);
+ Integer deptId = powerDept.getDeptId();
+ BeanUtils.copyProperties(dept, powerDept);
+ powerDept.setDeptId(deptId);
+ powerDeptMapper.updateByPrimaryKeySelective(powerDept);
+ logger.info("deptDesc = " + deptDesc + "修改成功!");
+ } else {
+ //新增
+ //设置初始值
+ dept.setEffective(1);
+ dept.setCreateDate(fmt.format(new Date()));
+ dept.setCreater("zwh");
+ dept.setDictId(1);
+ Power_Dept newPowerDapt =new Power_Dept();
+ BeanUtils.copyProperties(dept, newPowerDapt);
+ powerDeptMapper.insert(newPowerDapt);
+ logger.info("deptDesc = " + deptDesc + "插入成功!");
+ }
+ } catch (BeansException e) {
+ e.printStackTrace();
+ return e.getMessage();
+ }
+ //科室编码转科室id
+ return "\n" +
+ " \n" +
+ " \n" +
+ " \n" +
+ " \n" +
+ " \n" +
+ " 0\n" +
+ " 成功\n" +
+ " \n" +
+ "";
+ }
+
+
+ //HIS 用户字典信息方法
+ private String userInfo(String code, String xml){
+ if (StringUtils.isBlank(xml)) {
+ return "xml不能为空";
+ }
+ /**
+ *
+ *
+ *
+ *
+ *
+ * 00001
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ * HHZK
+ * CT_CareProv
+ *
+ *
+ *
+ *
+ *
+ * H222100
+ *
+ * H黄子楷
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ * NFYKDXNFYY
+ *
+ *
+ *
+ *
+ *
+ * HHZK
+ *
+ *
+ * H黄子楷
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ * HHZK
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ * 护士
+ * 2019-05-08
+ * 1
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ * 无
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ */
+ try {
+ SimpleDateFormat fmt = new SimpleDateFormat("yyyy-MM-dd");
+ Map map = new HashMap();
+ logger.info("接收到xml数据:" + xml);
+ //xml转map
+ map = XmlUtils.parseXml2Map(xml, map);
+ //获取在xml中节点key
+ String userNameKey = newUserName;
+ String nameKey = name;
+ String deptCodeKey = deptCode;
+ //获取所要的值
+ String userName = (String) map.get(userNameKey);
+ String name = (String) map.get(nameKey);
+ String deptCode = (String) map.get(deptCodeKey);
+ logger.info("解析xml数据:userName = " + userName + "; name= " + name + "; deptCode = " + deptCode);
+ if (StringUtils.isBlank(userName)) {
+ return "工号不能为空";
+ }
+ PowerUser user = new PowerUser();
+ user.setName(name);
+ user.setUserName(userName);
+ user.setDeptCode(deptCode);
+ user.setDeptId("");
+ //设置科室id
+ setDeptIdForUser(user);
+ //查询是否存在
+ List powerUsers = powerUserMapper.checkUserName(userName);
+ user.setUpdater("zwh");
+ user.setUpdateDate(fmt.format(new Date()));
+ if (!CollectionUtils.isEmpty(powerUsers)) {
+ //修改
+ Power_User powerUser = powerUsers.get(0);
+ Integer userId = powerUser.getUserId();
+ BeanUtils.copyProperties(user, powerUser);
+ powerUser.setUserId(userId);
+ powerUserMapper.updateByPrimaryKeySelective(powerUser);
+ logger.info("userName = " + userName + "修改成功!");
+ } else {
+ //新增
+ //设置初始值
+ user.setEffective(1);
+ user.setCreateDate(fmt.format(new Date()));
+ user.setCreater("zwh");
+ user.setRoleId(1);
+ user.setUserPwd("RUZHQEFC");
+ Power_User userNew = new Power_User();
+ BeanUtils.copyProperties(user, userNew);
+ powerUserMapper.insert(userNew);
+ logger.info("userName = " + userName + "插入成功!");
+ }
+ } catch (BeansException e) {
+ e.printStackTrace();
+ return e.getMessage();
+ }
+ //科室编码转科室id
+ return "\n" +
+ " \n" +
+ " \n" +
+ " \n" +
+ " \n" +
+ " \n" +
+ " 0\n" +
+ " 成功\n" +
+ " \n" +
+ "";
+ }
+
+
+
+ //科室编号转科室id
+ private void setDeptIdForUser(PowerUser user) {
+ if(StringUtils.isBlank(user.getDeptCode())){
+ return;
+ }
+ //根据科室编码查科室id
+ List deptIds = powerUserMapper.selectDeptIdByDeptCode(user.getDeptCode());
+ if(CollectionUtils.isEmpty(deptIds)){
+ return;
+ }
+ user.setDeptId(deptIds.get(0).toString());
+ }
private List getPowerMenuMethods(Power_User powerUser, String sysId){
// 根据用户ID以及系统Id查出所有的用户菜单
List powerUserMenus = powerMenuMapper.selectUserMenuByUserIdAndDictId(powerUser.getUserId(), Integer.parseInt(sysId));
diff --git a/power-admin/src/main/resources/config/json.properties b/power-admin/src/main/resources/config/json.properties
new file mode 100644
index 0000000..b775acf
--- /dev/null
+++ b/power-admin/src/main/resources/config/json.properties
@@ -0,0 +1,8 @@
+//--------ϷҽԺwebService------------
+newUserName=Body.CT_CareProvList.CT_CareProv.CTCP_JobNumber
+name=Body.CT_CareProvList.CT_CareProv.CTCP_Name
+deptCode=Body.CT_CareProvList.CT_CareProv.CTCP_DeptCode
+
+
+deptCTDCode=Body.CT_DeptList.CT_Dept.CTD_Code
+deptCTDDesc=Body.CT_DeptList.CT_Dept.CTD_Desc
\ No newline at end of file
diff --git a/power-dao/src/main/java/com/manage/dao/Power_DeptMapper.java b/power-dao/src/main/java/com/manage/dao/Power_DeptMapper.java
index eeb4e83..f939917 100644
--- a/power-dao/src/main/java/com/manage/dao/Power_DeptMapper.java
+++ b/power-dao/src/main/java/com/manage/dao/Power_DeptMapper.java
@@ -1,6 +1,7 @@
package com.manage.dao;
import com.manage.entity.Power_Dept;
+import com.manage.entity.Power_User;
import com.manage.vo.Power_DeptVo;
import org.apache.ibatis.annotations.Param;
@@ -38,4 +39,7 @@ public interface Power_DeptMapper {
List selectDeptByDictId(@Param("dictId") Integer dictId,@Param("sysFlag")String sysFlag);
int SimpleInsert(List list);
+
+ public List checkDeptCode(String deptCode);
+
}
\ No newline at end of file
diff --git a/power-dao/src/main/java/com/manage/dao/Power_UserMapper.java b/power-dao/src/main/java/com/manage/dao/Power_UserMapper.java
index 530afbf..ac006ec 100644
--- a/power-dao/src/main/java/com/manage/dao/Power_UserMapper.java
+++ b/power-dao/src/main/java/com/manage/dao/Power_UserMapper.java
@@ -28,8 +28,8 @@ public interface Power_UserMapper {
int getTotal(Power_UserVo powerUser);
- List selectList();
-
+ /*List selectList();*/
+ List selectDeptIdByDeptCode(String deptCode);
List selectAllByDeptId(@Param("deptId") Integer deptId,@Param("userName")String userName);
List selectAllBySysRole(@Param("dictId") Integer dictId);
List selectAllByRoleIdAndDictId(@Param("roleId") Integer roleId,@Param("dictId") Integer dictId);
diff --git a/power-dao/src/main/java/com/manage/entity/PowerUser.java b/power-dao/src/main/java/com/manage/entity/PowerUser.java
new file mode 100644
index 0000000..54e5b25
--- /dev/null
+++ b/power-dao/src/main/java/com/manage/entity/PowerUser.java
@@ -0,0 +1,185 @@
+package com.manage.entity;
+
+
+
+public class PowerUser {
+ private Integer userId;
+
+ private String userName;
+
+ private String name;
+
+ private String userPwd;
+
+ private Integer userSex;
+
+ private Integer userAge;
+
+ private String userTel;
+
+ private String userEmail;
+
+ private String userPosition;
+
+ private Integer roleId;
+
+ private String deptId;
+
+ private Integer effective;
+
+ private String createDate;
+
+ private String creater;
+
+ private String updateDate;
+
+ private String updater;
+
+ private String remark;
+
+ private String deptCode;
+
+ public String getDeptCode() {
+ return deptCode;
+ }
+
+ public void setDeptCode(String deptCode) {
+ this.deptCode = deptCode;
+ }
+
+ public Integer getUserId() {
+ return userId;
+ }
+
+ public void setUserId(Integer userId) {
+ this.userId = userId;
+ }
+
+ public String getUserName() {
+ return userName;
+ }
+
+ public void setUserName(String userName) {
+ this.userName = userName;
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public String getUserPwd() {
+ return userPwd;
+ }
+
+ public void setUserPwd(String userPwd) {
+ this.userPwd = userPwd;
+ }
+
+ public Integer getUserSex() {
+ return userSex;
+ }
+
+ public void setUserSex(Integer userSex) {
+ this.userSex = userSex;
+ }
+
+ public Integer getUserAge() {
+ return userAge;
+ }
+
+ public void setUserAge(Integer userAge) {
+ this.userAge = userAge;
+ }
+
+ public String getUserTel() {
+ return userTel;
+ }
+
+ public void setUserTel(String userTel) {
+ this.userTel = userTel;
+ }
+
+ public String getUserEmail() {
+ return userEmail;
+ }
+
+ public void setUserEmail(String userEmail) {
+ this.userEmail = userEmail;
+ }
+
+ public String getUserPosition() {
+ return userPosition;
+ }
+
+ public void setUserPosition(String userPosition) {
+ this.userPosition = userPosition;
+ }
+
+ public Integer getRoleId() {
+ return roleId;
+ }
+
+ public void setRoleId(Integer roleId) {
+ this.roleId = roleId;
+ }
+
+ public String getDeptId() {
+ return deptId;
+ }
+
+ public void setDeptId(String deptId) {
+ this.deptId = deptId;
+ }
+
+ public Integer getEffective() {
+ return effective;
+ }
+
+ public void setEffective(Integer effective) {
+ this.effective = effective;
+ }
+
+ public String getCreateDate() {
+ return createDate;
+ }
+
+ public void setCreateDate(String createDate) {
+ this.createDate = createDate;
+ }
+
+ public String getCreater() {
+ return creater;
+ }
+
+ public void setCreater(String creater) {
+ this.creater = creater;
+ }
+
+ public String getUpdateDate() {
+ return updateDate;
+ }
+
+ public void setUpdateDate(String updateDate) {
+ this.updateDate = updateDate;
+ }
+
+ public String getUpdater() {
+ return updater;
+ }
+
+ public void setUpdater(String updater) {
+ this.updater = updater;
+ }
+
+ public String getRemark() {
+ return remark;
+ }
+
+ public void setRemark(String remark) {
+ this.remark = remark;
+ }
+}
\ No newline at end of file
diff --git a/power-dao/src/main/resources/mapper/Power_DeptMapper.xml b/power-dao/src/main/resources/mapper/Power_DeptMapper.xml
index 9bf5dd1..5a7adea 100644
--- a/power-dao/src/main/resources/mapper/Power_DeptMapper.xml
+++ b/power-dao/src/main/resources/mapper/Power_DeptMapper.xml
@@ -293,6 +293,15 @@
power_dept.dict_id = #{dictId}
+
@@ -324,4 +333,6 @@
)
+
+
\ No newline at end of file
diff --git a/power-dao/src/main/resources/mapper/Power_UserMapper.xml b/power-dao/src/main/resources/mapper/Power_UserMapper.xml
index 5d44b89..c2661fb 100644
--- a/power-dao/src/main/resources/mapper/Power_UserMapper.xml
+++ b/power-dao/src/main/resources/mapper/Power_UserMapper.xml
@@ -716,4 +716,8 @@
+
+
\ No newline at end of file
diff --git a/power-foundaton/dataConfig/homeQualitySet.json b/power-foundaton/dataConfig/homeQualitySet.json
new file mode 100644
index 0000000..387cee2
--- /dev/null
+++ b/power-foundaton/dataConfig/homeQualitySet.json
@@ -0,0 +1,8 @@
+{
+
+
+ //--------广州南方医院接收webService部分------------
+ "userName": "Body.CT_CareProvList.CT_CareProv.CTCP_JobNumber",
+ "name": "Body.CT_CareProvList.CT_CareProv.CTCP_Name",
+ "deptCode": "Body.CT_CareProvList.CT_CareProv.CTCP_DeptCode"
+}
\ No newline at end of file
diff --git a/power-foundaton/pom.xml b/power-foundaton/pom.xml
index b5cffd7..287227c 100644
--- a/power-foundaton/pom.xml
+++ b/power-foundaton/pom.xml
@@ -57,6 +57,10 @@
org.apache.logging.log4j
log4j-slf4j-impl
+
+ com.alibaba
+ fastjson
+