From 5177b16eb9450f98fa79e702cc5c1bcfe302e15f Mon Sep 17 00:00:00 2001
From: sinake <sinake1@qq.com>
Date: 星期二, 16 九月 2025 14:00:05 +0800
Subject: [PATCH] HIS同步服务

---
 ruoyi-quartz/src/main/resources/mapper/quartz/CollectHISMapper.xml                  |    4 +-
 ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/RyTask.java                        |   10 +++++
 ruoyi-quartz/src/main/java/com/ruoyi/quartz/service/impl/CollectHISServiceImpl.java |   32 +++++++--------
 smartor/src/main/resources/mapper/smartor/SysUserDeptMapper.xml                     |    6 +++
 smartor/src/main/java/com/smartor/domain/smsVO.java                                 |    8 ++++
 smartor/src/main/resources/mapper/smartor/SysUserMapper.xml                         |    4 +-
 6 files changed, 43 insertions(+), 21 deletions(-)

diff --git a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/service/impl/CollectHISServiceImpl.java b/ruoyi-quartz/src/main/java/com/ruoyi/quartz/service/impl/CollectHISServiceImpl.java
index d5101e7..4710195 100644
--- a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/service/impl/CollectHISServiceImpl.java
+++ b/ruoyi-quartz/src/main/java/com/ruoyi/quartz/service/impl/CollectHISServiceImpl.java
@@ -3,10 +3,8 @@
 import com.ruoyi.common.core.domain.entity.SysDept;
 import com.ruoyi.common.core.domain.entity.SysUser;
 import com.ruoyi.common.core.domain.entity.SysUserDept;
-import com.ruoyi.common.core.domain.entity.SysUserRole;
 import com.ruoyi.common.utils.StringUtils;
 import com.ruoyi.quartz.mapper.CollectHISMapper;
-import com.ruoyi.quartz.mapper.UtilsMapper;
 import com.ruoyi.quartz.service.ICollectHISService;
 import com.smartor.domain.*;
 import com.smartor.mapper.*;
@@ -22,6 +20,7 @@
 import java.time.ZoneId;
 import java.util.*;
 import java.util.stream.Collectors;
+import java.util.stream.Stream;
 
 @Slf4j
 @Service
@@ -408,40 +407,39 @@
     @Override
     public Integer selectUserList(SysUser sysUser) {
         List<SysUser> sysUserList = chMapper.selectUserList(sysUser);
+        SysUser suerTemp=new SysUser();
+        List<SysUserDept> sysUserDeptAll = chMapper.yhyksxx(suerTemp);
         log.info("sysUserList鐨勯噰闆嗗埌鐨勬暟閲忎负锛歿}", sysUserList.size());
         int i =0;// sysUser2Mapper.batchUser(sysUserList);
         for (SysUser sysUser1 : sysUserList) {
 //            log.info("sysUser1鐨処D涓猴細{}", sysUser1.getUserId());
 //            log.info("sysUser1鐨凥ISUSERID涓猴細{}", sysUser1.getHisUserId());
-//            //鏂板鐢ㄦ埛涓庤鑹�
-//            SysUserRole yhyjsxx = chMapper.yhyjsxx(sysUser1);
-//            if (yhyjsxx != null&&yhyjsxx.getUserId()!=null) {
-//                yhyjsxx.setUserId(sysUser1.getUserId());
-//                List<SysUserRole> userRoleList = new ArrayList<>();
-//                userRoleList.add(yhyjsxx);
-//                sysUserRoleMapper.batchUserRole(userRoleList);
-//            }
             if (StringUtils.isEmpty(sysUser1.getHisUserId())) continue;
             SysUser suTemp=new SysUser();
             suTemp.setHisUserId(sysUser1.getHisUserId());
             List<SysUser> usersTemp= sysUser2Mapper.selectUserList(suTemp);
             if (usersTemp.size()>0) {
                 sysUser1.setUserId(usersTemp.get(0).getUserId());
+                sysUser1.setUserName(sysUser1.getHisUserId());
                 sysUser2Mapper.updateUser(sysUser1);
             }else{
+                sysUser1.setUserName(sysUser1.getHisUserId());
                 sysUser2Mapper.insertUser(sysUser1);
                 usersTemp= sysUser2Mapper.selectUserList(suTemp);
             }
 
             //鏂板鐢ㄦ埛涓庨儴闂�
-            List<SysUserDept> sysUserDept = chMapper.yhyksxx(sysUser1);
-            for(SysUserDept sud :sysUserDept) {
-                if (usersTemp.size()>0) {
-                    sud.setUserId(usersTemp.get(0).getUserId());
-                    sysUserDeptMapper.insertSysUserDept(sud);
-                }
+            //List<SysUserDept> sysUserDept = chMapper.yhyksxx(sysUser1);
+            List<SysUserDept> sysUserDept=sysUserDeptAll.stream()
+                    .filter((SysUserDept b) -> b.getUserCode().equals(sysUser1.getHisUserId()))
+                    .collect(Collectors.toList());
 
-            }
+                for (SysUserDept sud : sysUserDept) {
+                    if (usersTemp.size() > 0) {
+                        sud.setUserId(usersTemp.get(0).getUserId());
+                        sysUserDeptMapper.insertSysUserDept(sud);
+                    }
+                }
         }
 
         return i;
diff --git a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/RyTask.java b/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/RyTask.java
index e8d87d5..a21a826 100644
--- a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/RyTask.java
+++ b/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/RyTask.java
@@ -14,6 +14,7 @@
 import com.ruoyi.common.utils.RSAPublicKeyExample;
 import com.ruoyi.common.utils.StringUtils;
 import com.ruoyi.common.utils.http.HttpUtils;
+import com.ruoyi.common.utils.sms.smsUtils;
 import com.ruoyi.quartz.service.ICollectHISService;
 import com.smartor.common.LSHospTokenUtil;
 import com.smartor.domain.*;
@@ -95,6 +96,12 @@
 
     @Value("${xhsmsPath}")
     private String xhsmsPath;
+
+    @Value("${xhsmsAccount}")
+    private String xhsmsAccount;
+
+    @Value("${xhsmsPwd}")
+    private String xhsmsPwd;
 
     @Value("${pub_key}")
     private String pub_key;
@@ -549,6 +556,9 @@
                                     if (code.equals("0")) {
                                         isSuccess = "true";
                                     }
+                                }else if (visitHosp == 3) {//甯備竴鍖婚櫌
+                                    String content=sendMagParam.getContent().replace("銆愭柊鍗庡尰闄€��","");
+                                    smsUtils.sendSms(xhsmsPath,xhsmsAccount,xhsmsPwd,sendMagParam.getPhone(),content);
                                 }
                                 //浠诲姟鍙戦�佽褰�
                                 ServiceSubtaskRecord serviceSubtaskRecord = new ServiceSubtaskRecord();
diff --git a/ruoyi-quartz/src/main/resources/mapper/quartz/CollectHISMapper.xml b/ruoyi-quartz/src/main/resources/mapper/quartz/CollectHISMapper.xml
index 358f030..ad372ef 100644
--- a/ruoyi-quartz/src/main/resources/mapper/quartz/CollectHISMapper.xml
+++ b/ruoyi-quartz/src/main/resources/mapper/quartz/CollectHISMapper.xml
@@ -7,7 +7,7 @@
     <resultMap type="com.ruoyi.common.core.domain.entity.SysUserDept" id="SysUserDeptResult">
         <result property="id" column="id"/>
         <result property="orgid" column="orgid"/>
-        <result property="userId" column="user_id"/>
+        <result property="userCode" column="user_code"/>
         <result property="deptId" column="dept_id"/>
         <result property="delFlag" column="del_flag"/>
         <result property="deptCode" column="dept_code"/>
@@ -372,7 +372,7 @@
     </select>
 
     <select id="yhyksxx" parameterType="com.ruoyi.common.core.domain.entity.SysUser" resultMap="SysUserDeptResult">
-        select user_id, user_code, dept_type,dept_code as dept_id,dept_code,dept_name,deptparent,del_flag,orgid
+        select user_id , user_code , dept_type ,dept_code,dept_name,deptparent,del_flag,orgid
         FROM healthy_user_dept
         <where>
             user_id != 'admin'
diff --git a/smartor/src/main/java/com/smartor/domain/smsVO.java b/smartor/src/main/java/com/smartor/domain/smsVO.java
index 6295e46..2ea7f1e 100644
--- a/smartor/src/main/java/com/smartor/domain/smsVO.java
+++ b/smartor/src/main/java/com/smartor/domain/smsVO.java
@@ -13,5 +13,13 @@
     @ApiModelProperty(value = "鐭俊鍐呭")
     private String content;
 
+    @ApiModelProperty(value = "闂嵎ID")
+    private String taskId;
+
+    @ApiModelProperty(value = "闂嵎鍚嶇О")
+    private String taskName;
+
+    @ApiModelProperty(value = "鎮h�匢D")
+    private String patId;
 
 }
diff --git a/smartor/src/main/resources/mapper/smartor/SysUserDeptMapper.xml b/smartor/src/main/resources/mapper/smartor/SysUserDeptMapper.xml
index a9dbac8..0608f36 100644
--- a/smartor/src/main/resources/mapper/smartor/SysUserDeptMapper.xml
+++ b/smartor/src/main/resources/mapper/smartor/SysUserDeptMapper.xml
@@ -106,6 +106,9 @@
             <if test="orgid != null ">
                 orgid,
             </if>
+            <if test="userCode != null ">
+                user_code,
+            </if>
         </trim>
         <trim prefix="values (" suffix=")" suffixOverrides=",">
             <if test="userId != null">#{userId},
@@ -133,6 +136,9 @@
             <if test="orgid != null ">
                 #{orgid},
             </if>
+            <if test="userCode != null ">
+                #{userCode},
+            </if>
         </trim>
     </insert>
 
diff --git a/smartor/src/main/resources/mapper/smartor/SysUserMapper.xml b/smartor/src/main/resources/mapper/smartor/SysUserMapper.xml
index 6de8bc6..61c5238 100644
--- a/smartor/src/main/resources/mapper/smartor/SysUserMapper.xml
+++ b/smartor/src/main/resources/mapper/smartor/SysUserMapper.xml
@@ -136,8 +136,8 @@
         <if test="title != null and title != ''">
             AND u.title = #{title}
         </if>
-        <if test="job_phone != null and job_phone != ''">
-            AND u.job_phone = #{job_phone}
+        <if test="jobPhone != null and jobPhone != ''">
+            AND u.job_phone = #{jobPhone}
         </if>
         <if test="birthday != null and birthday != ''">
             AND u.birthday = #{birthday}

--
Gitblit v1.9.3