b28126cc4331998f4debc0e27081a44f81009b3c..529ff531c27c117b0ff80294557c6964da4d0b04
5 天以前 liusheng
门诊回诊,取消该患者住院随访功能删除
529ff5 对比 | 目录
5 天以前 sinake
HIS同步服务
5177b1 对比 | 目录
5 天以前 sinake
HIS同步数据
363592 对比 | 目录
已添加4个文件
已修改8个文件
已重命名2个文件
已复制1个文件
276 ■■■■ 文件已修改
ruoyi-admin/src/main/java/com/ruoyi/web/controller/common/SmsController.java 32 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/ServiceTelInfoController.java 42 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-quartz/src/main/java/com/ruoyi/quartz/mapper/UtilsSyncMapper.java 28 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-quartz/src/main/java/com/ruoyi/quartz/service/impl/CollectHISServiceImpl.java 32 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/RyTask.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-quartz/src/main/resources/mapper/quartz/CollectHISMapper.xml 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-quartz/src/main/resources/mapper/quartz/UtilsSyncMapper.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
smartor/src/main/java/com/smartor/domain/smsVO.java 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
smartor/src/main/java/com/smartor/mapper/UtilsMapper.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
smartor/src/main/java/com/smartor/service/IServiceTelInfoService.java 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
smartor/src/main/java/com/smartor/service/impl/ServiceExternalServiceImpl.java 32 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
smartor/src/main/java/com/smartor/service/impl/ServiceTelInfoServiceImpl.java 41 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
smartor/src/main/resources/mapper/smartor/SysUserDeptMapper.xml 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
smartor/src/main/resources/mapper/smartor/SysUserMapper.xml 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
smartor/src/main/resources/mapper/smartor/UtilsMapper.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-admin/src/main/java/com/ruoyi/web/controller/common/SmsController.java
@@ -2,6 +2,7 @@
import com.ruoyi.common.config.RuoYiConfig;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.utils.RSAPublicKeyExample;
import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.common.utils.file.FileUtils;
import com.ruoyi.common.utils.sms.smsUtils;
@@ -17,6 +18,9 @@
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.UnsupportedEncodingException;
import java.net.URLEncoder;
import java.nio.charset.StandardCharsets;
@RestController
@Api(description = "知信接口")
@@ -31,6 +35,16 @@
    @Value("${xhsmsPwd}")
    private String xhsmsPwd;
    @Value("${localIP}")
    private String ip;
    @Value("${req_path}")
    private String req_path;
    @Value("${pub_key}")
    private String pub_key;
    /**
     * @param
     * @return
@@ -41,6 +55,24 @@
        String sendMsg=smsUtils.sendSms(xhsmsPath,xhsmsAccount,xhsmsPwd,vo.getPhone(),vo.getContent());
        return AjaxResult.success(sendMsg);
    }
    /**
     * @param
     * @return
     */
    @ApiOperation("短信发送")
    @PostMapping("/sendAsk")
    public AjaxResult sendAsk(@RequestBody smsVO vo) throws UnsupportedEncodingException {
//        String format = String.format("%03X", vo.getId());
//        String url=ip + ":" + req_path + "/wt?p=" + format;
        RSAPublicKeyExample rsaPublicKeyExample = new RSAPublicKeyExample();
        String taskId = rsaPublicKeyExample.encryptedData(vo.getTaskId().toString(), pub_key);
        String patid = rsaPublicKeyExample.encryptedData(vo.getPatId().toString(), pub_key);
        String url = null;
        url = ip + ":" + req_path + "/outsideChainwt?param1=" + taskId + "&param2=" + patid + "&param3=" + URLEncoder.encode(vo.getTaskName(), StandardCharsets.UTF_8.toString()) + "&param5=false";
        String content="您好,邀请您填写出院调查表,请点击" + url + "填写。感谢您配合!";
        String sendMsg=smsUtils.sendSms(xhsmsPath,xhsmsAccount,xhsmsPwd,vo.getPhone(),content);
        return AjaxResult.success(sendMsg);
    }
}
ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/ServiceTelInfoController.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,42 @@
package com.ruoyi.web.controller.smartor;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.utils.sms.smsUtils;
import com.smartor.domain.smsVO;
import com.smartor.service.IServiceTaskoperService;
import com.smartor.service.IServiceTelInfoService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
@RestController
@Api(description = "知信接口")
@RequestMapping("/smartor/ServiceTelInfo")
public class ServiceTelInfoController {
    @Autowired
    private IServiceTelInfoService telService;
    /**
     * @param
     * @return
     */
    @ApiOperation("随访电话详情列表")
    @GetMapping("/getList")
    public AjaxResult getList() {
        return AjaxResult.success(telService.getList());
    }
    /**
     * @param
     * @return
     */
    @ApiOperation("随访电话详情设置状态0正常1占线")
    @GetMapping("/setState")
    public AjaxResult setState(Integer id,Integer state) {
        String sendMsg= "";
        return AjaxResult.success(telService.setState(id,state));
    }
}
ruoyi-quartz/src/main/java/com/ruoyi/quartz/mapper/UtilsSyncMapper.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,28 @@
package com.ruoyi.quartz.mapper;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import org.apache.ibatis.annotations.Update;
import java.util.List;
import java.util.Map;
@Mapper
public interface UtilsSyncMapper {
//    /**
//     * æŸ¥è¯¢sql
//     * @param sql
//     * @return
//     */
//    @Select({"${sql}"})
//    List<Map<String, Object>> getList(@Param("sql") String sql);
//
//    /**
//     * æ›´æ–°sql
//     * @param sql
//     */
//    @Update({"${sql}"})
//    Integer updateSql(@Param("sql") String sql);
}
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的ID为:{}", sysUser1.getUserId());
//            log.info("sysUser1的HISUSERID为:{}", 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;
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();
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'
ruoyi-quartz/src/main/resources/mapper/quartz/UtilsSyncMapper.xml
copy from ruoyi-quartz/src/main/resources/mapper/quartz/UtilsMapper.xml copy to ruoyi-quartz/src/main/resources/mapper/quartz/UtilsSyncMapper.xml
Îļþ´Ó ruoyi-quartz/src/main/resources/mapper/quartz/UtilsMapper.xml ¸´ÖÆ
@@ -2,6 +2,6 @@
<!DOCTYPE mapper
        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.ruoyi.quartz.mapper.UtilsMapper">
<mapper namespace="com.ruoyi.quartz.mapper.UtilsSyncMapper">
</mapper>
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 = "患者ID")
    private String patId;
}
smartor/src/main/java/com/smartor/mapper/UtilsMapper.java
ÎļþÃû´Ó ruoyi-quartz/src/main/java/com/ruoyi/quartz/mapper/UtilsMapper.java ÐÞ¸Ä
@@ -1,4 +1,4 @@
package com.ruoyi.quartz.mapper;
package com.smartor.mapper;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
@@ -25,4 +25,12 @@
     */
    @Update({"${sql}"})
    Integer updateSql(@Param("sql") String sql);
    /**
     * æŸ¥è¯¢è¿”回strign sql
     * @param sql
     * @return
     */
    @Select({"${sql}"})
    String getSqlString(@Param("sql") String sql);
}
smartor/src/main/java/com/smartor/service/IServiceTelInfoService.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,23 @@
package com.smartor.service;
import java.util.List;
import java.util.Map;
public interface IServiceTelInfoService {
    /**
     * è®¾ç½®ç”µè¯çŠ¶æ€
     *
     * @return ç»“æžœ
     */
    public List<Map<String,Object>> getList();
    /**
     * è®¾ç½®ç”µè¯çŠ¶æ€
     *
     * @param id ä¸»é”®
     * @param state 0正常1占线
     * @return ç»“æžœ
     */
    public int setState(Integer id,Integer state);
}
smartor/src/main/java/com/smartor/service/impl/ServiceExternalServiceImpl.java
@@ -956,22 +956,22 @@
            i = patMedOuthospMapper.insertPatMedOuthosp(patMedOuthosp);
        }
        //先通过身份证和科室查询该患者是否有需要随访的(景宁提出来的)
        if (patMedOuthosp.getOrgid().equals("47255004333112711A1001") && StringUtils.isNotEmpty(patMedOuthosp.getIdcardno()) && StringUtils.isNotEmpty(patMedOuthosp.getDeptcode())) {
            ServiceSubtaskVO serviceSubtaskVO = new ServiceSubtaskVO();
            serviceSubtaskVO.setSfzh(patMedOuthosp.getIdcardno());
            serviceSubtaskVO.setDeptcode(patMedOuthosp.getDeptcode());
            serviceSubtaskVO.setSendstate(2L);
            List<ServiceSubtask> serviceSubtaskList = serviceSubtaskMapper.selectServiceSubtaskList(serviceSubtaskVO);
            if (CollectionUtils.isNotEmpty(serviceSubtaskList)) {
                for (ServiceSubtask serviceSubtask : serviceSubtaskList) {
                    serviceSubtask.setSendstate(6L);
                    serviceSubtask.setRemark("患者已经回来复诊");
                    serviceSubtask.setUpdateTime(new Date());
                    serviceSubtaskMapper.updateServiceSubtask(serviceSubtask);
                }
            }
        }
//        //先通过身份证和科室查询该患者是否有需要随访的(景宁提出来的)
//        if (patMedOuthosp.getOrgid().equals("47255004333112711A1001") && StringUtils.isNotEmpty(patMedOuthosp.getIdcardno()) && StringUtils.isNotEmpty(patMedOuthosp.getDeptcode())) {
//            ServiceSubtaskVO serviceSubtaskVO = new ServiceSubtaskVO();
//            serviceSubtaskVO.setSfzh(patMedOuthosp.getIdcardno());
//            serviceSubtaskVO.setDeptcode(patMedOuthosp.getDeptcode());
//            serviceSubtaskVO.setSendstate(2L);
//            List<ServiceSubtask> serviceSubtaskList = serviceSubtaskMapper.selectServiceSubtaskList(serviceSubtaskVO);
//            if (CollectionUtils.isNotEmpty(serviceSubtaskList)) {
//                for (ServiceSubtask serviceSubtask : serviceSubtaskList) {
//                    serviceSubtask.setSendstate(6L);
//                    serviceSubtask.setRemark("患者已经回来复诊");
//                    serviceSubtask.setUpdateTime(new Date());
//                    serviceSubtaskMapper.updateServiceSubtask(serviceSubtask);
//                }
//            }
//        }
        if (i > 0) {
            return true;
smartor/src/main/java/com/smartor/service/impl/ServiceTelInfoServiceImpl.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,41 @@
package com.smartor.service.impl;
import com.smartor.mapper.UtilsMapper;
import com.smartor.service.IServiceTelInfoService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
import java.util.Map;
@Slf4j
@Service
public class ServiceTelInfoServiceImpl implements IServiceTelInfoService {
    @Autowired
    private UtilsMapper utilsMapper;
    /**
     * è®¾ç½®ç”µè¯çŠ¶æ€
     *
     * @return ç»“æžœ
     */
    @Override
    public List<Map<String,Object>> getList() {
       List<Map<String,Object>> lists= utilsMapper.getList("select * from service_telinfo where state=0 ");
        return lists;
    }
    /**
     * è®¾ç½®ç”µè¯çŠ¶æ€
     *
     * @param id ä¸»é”®
     * @param state 0正常1占线
     * @return ç»“æžœ
     */
    @Override
    public int setState(Integer id, Integer state) {
        Integer result= utilsMapper.updateSql("update service_telinfo set state= "+state+" where id="+id+" ");
        return result;
    }
}
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>
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}
smartor/src/main/resources/mapper/smartor/UtilsMapper.xml
ÎļþÃû´Ó ruoyi-quartz/src/main/resources/mapper/quartz/UtilsMapper.xml ÐÞ¸Ä
@@ -2,6 +2,6 @@
<!DOCTYPE mapper
        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.ruoyi.quartz.mapper.UtilsMapper">
<mapper namespace="com.smartor.mapper.UtilsMapper">
</mapper>