陈昶聿
2 天以前 d7a1bed2e072cc3e40746c0b9e541d0ccd14e2a3
【丽水】新增科室用户信息接口输入
已修改4个文件
已添加1个文件
195 ■■■■■ 文件已修改
ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/ServiceExternalController.java 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/RyTask.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
smartor/src/main/java/com/smartor/domain/ExternalUserDeptInfo.java 72 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
smartor/src/main/java/com/smartor/service/IServiceExternalService.java 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
smartor/src/main/java/com/smartor/service/impl/ServiceExternalServiceImpl.java 95 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/ServiceExternalController.java
@@ -150,6 +150,24 @@
    }
    /**
     * æ–°å¢žç§‘室信息
     */
    @ApiOperation("新增用户信息")
    @PostMapping("/addUserDeptInfo")
    public Map<String, Object> addUserDeptInfo(@RequestBody Map dataMap) {
        Boolean aBoolean = true;
        try {
            aBoolean = serviceExternalService.addUserDeptInfo(dataMap);
        } catch (Exception e) {
            e.printStackTrace();
            log.error("serviceExternal---addUserDeptInfo出异常了:{}", e.getMessage());
            aBoolean = false;
        }
        return returnParam(aBoolean, dataMap);
    }
    /**
     * æ–°å¢žæœºæž„信息
ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/RyTask.java
@@ -935,8 +935,9 @@
            // æ‰¾åˆ°ä¸‹ä¸€ä¸ªsort对应的preachform
            String nextPreachform = serviceSubtaskPreachforms.stream().filter(item -> nextSort.equals(item.getSort())).map(ServiceSubtaskPreachform::getPreachform).findFirst().orElse("-1");
            String orgid = serviceSubtask.getOrgid();
            //微信已发送、已领取跳过短信发送,进行人工 -丽水中医院
            if (active.equals("47231022633110211A2101")) {
            if (StringUtils.isNotEmpty(orgid) && orgid.equals("47231022633110211A2101")) {
                //获取当前发送方式
                ServiceSubtaskPreachform currentServiceSubtaskPreachform = serviceSubtaskPreachforms.stream().filter(item -> item.getSort().equals(currentSort.get())).findFirst().orElse(new ServiceSubtaskPreachform());
                //当前发送方式为微信的,且下一发送方式为短信的,微信发送状态为已发送、已领取的,跳过短信步骤
smartor/src/main/java/com/smartor/domain/ExternalUserDeptInfo.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,72 @@
package com.smartor.domain;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;
/**
 * @author æŽ¥æ”¶ç¬¬ä¸‰æ–¹ç§‘室用户信息
 * @date 2024-12-13
 */
@Data
@ApiModel(value = "ExternalUserDeptInfo", description = "接收第三方科室用户信息")
public class ExternalUserDeptInfo extends BaseEntity {
    private static final long serialVersionUID = 1L;
    @ApiModelProperty(value = "组织机构 ID")
    private String ZuZhiJGID;
    @ApiModelProperty(value = "组织机构名称")
    private String ZuZhiJGMC;
    @ApiModelProperty(value = "科室用户 ID")
    private String KeShiYHDZID;
    @ApiModelProperty(value = "事件代码 1-新增;2-修改;3-作废")
    private String ShiJianDM;
    @ApiModelProperty(value = "事件名称 1-新增;2-修改;3-作废")
    private String ShiJianMC;
    @ApiModelProperty(value = "用户 ID")
    private String YongHuID;
    @ApiModelProperty(value = "用户姓名")
    private String YongHuXM;
    @ApiModelProperty(value = "科室 ID")
    private String KeShiID;
    @ApiModelProperty(value = "科室名称")
    private String KeShiMC;
    @ApiModelProperty(value = "创建人 ID")
    private String ChuangJianRID;
    @ApiModelProperty(value = "创建人姓名")
    private String ChuangJianRXM;
    @ApiModelProperty(value = "创建时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date ChuangJianSJ;
    @ApiModelProperty(value = "修改人 ID")
    private String XiuGaiRID;
    @ApiModelProperty(value = "修改人姓名")
    private String XiuGaiRXM;
    @ApiModelProperty(value = "修改时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date XiuGaiSJ;
    @ApiModelProperty(value = "职工 ID")
    private String ZhiGongID;
    @ApiModelProperty(value = "用户登录码")
    private String YongHuDLM;
}
smartor/src/main/java/com/smartor/service/IServiceExternalService.java
@@ -32,11 +32,14 @@
    public Boolean generalInterface(@RequestBody Map dataMap);
    /**
     * æ–°å¢žç§‘室信息
     * æ–°å¢žç”¨æˆ·ä¿¡æ¯
     */
    public Boolean addUserInfo(@RequestBody Map dataMap);
    /**
     * æ–°å¢žç§‘室用户信息
     */
    public Boolean addUserDeptInfo(@RequestBody Map dataMap);
    /**
     * æ–°å¢žç§‘室信息
     */
smartor/src/main/java/com/smartor/service/impl/ServiceExternalServiceImpl.java
@@ -3,6 +3,7 @@
import cn.hutool.core.bean.BeanUtil;
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.redis.RedisCache;
import com.ruoyi.common.exception.base.BaseException;
import com.ruoyi.common.utils.StringUtils;
@@ -40,6 +41,8 @@
    private SysDept2Mapper sysDeptMapper;
    @Autowired
    private SysUser2Mapper sysUserMapper;
    @Autowired
    private SysUserDeptMapper sysUserDeptMapper;
    @Autowired
    private BaseOrganizationMapper baseOrganizationMapper;
    @Autowired
@@ -132,6 +135,7 @@
        log.info("ServiceExternalServiceImpl---addUserInfo的新增的值为:{}", dataMap);
        Map yeWuXX = (Map) dataMap.get("YeWuXX");
        Map<String, Object> yongHuXX = (Map<String, Object>) yeWuXX.get("YongHuXX");
        ExternalUserInfo externalUserInfo = BeanUtil.mapToBean(yongHuXX, ExternalUserInfo.class, true);
        if (ObjectUtils.isEmpty(externalUserInfo)) {
            throw new BaseException("externalUserInfo是空的,没有数据!!!");
@@ -180,6 +184,94 @@
        return true;
    }
    @Override
    public Boolean addUserDeptInfo(Map dataMap) {
        log.info("ServiceExternalServiceImpl---addUserDeptInfo的新增的值为:{}", dataMap);
        Map yeWuXX = (Map) dataMap.get("YeWuXX");
        Map<String, Object> keShiYH = (Map<String, Object>) yeWuXX.get("KeShiYH");
        ExternalUserDeptInfo externalUserDeptInfo = BeanUtil.mapToBean(keShiYH, ExternalUserDeptInfo.class, true);
        if (ObjectUtils.isEmpty(externalUserDeptInfo)) {
            throw new BaseException("externalUserDeptInfo是空的,没有数据!!!");
        }
        //获取当前用户Name对应的user信息
        SysUser sysUser = null;
        SysUser sysUserVo = new SysUser();
        sysUserVo.setUserName(externalUserDeptInfo.getYongHuDLM());
        sysUserVo.setOrgid(externalUserDeptInfo.getZuZhiJGID());
        //丽水无院区,默认值是 1
        sysUserVo.setCampusid("1");
        //根据userName判断一下,是不是之前有新增
        List<SysUser> sysUserList = sysUserMapper.selectUserList(sysUserVo);
        if (CollectionUtils.isNotEmpty(sysUserList)) {
            sysUser = sysUserList.get(0);
        }
        //获取当前科室hisDeptId对应的dept信息
        SysDept sysDept = null;
        SysDept sysDeptVo = new SysDept();
        sysDeptVo.setOrgid(externalUserDeptInfo.getZuZhiJGID());
        //丽水无院区,默认值是 1
        sysDeptVo.setCampusid("1");
        sysDeptVo.setHisDeptId(externalUserDeptInfo.getKeShiID());
        List<SysDept> sysDepts = sysDeptMapper.selectDeptList(sysDeptVo);
        if (CollectionUtils.isNotEmpty(sysDepts)) {
            sysDept = sysDepts.get(0);
        }
        if(ObjectUtils.isEmpty(sysUser)){
            log.error("ServiceExternalServiceImpl---addUserDeptInfo æ‰¾ä¸åˆ°å¯¹åº”的用户 username: {}", externalUserDeptInfo.getYongHuDLM());
            return false;
        }else if(ObjectUtils.isEmpty(sysDept)){
            log.error("ServiceExternalServiceImpl---addUserDeptInfo æ‰¾ä¸åˆ°å¯¹åº”的科室 hisDeptId: {}", externalUserDeptInfo.getKeShiID());
            return false;
        }else {
            SysUserDept sysUserDept = new SysUserDept();
            sysUserDept.setDelFlag(0L);
            sysUserDept.setUserId(sysUser.getUserId());
            sysUserDept.setUserCode(sysUser.getUserCode());
            sysUserDept.setDeptType("2");
            sysUserDept.setGuid(externalUserDeptInfo.getZuZhiJGID());
            sysUserDept.setDeptId(sysDept.getDeptId());
            sysUserDept.setDeptCode(sysDept.getDeptCode());
            sysUserDept.setDeptName(sysDept.getDeptName());
            sysUserDept.setCreateBy(externalUserDeptInfo.getChuangJianRXM());
            sysUserDept.setCreateTime(externalUserDeptInfo.getChuangJianSJ());
            sysUserDept.setUpdateTime(externalUserDeptInfo.getXiuGaiSJ());
            sysUserDept.setUpdateBy(externalUserDeptInfo.getXiuGaiRXM());
            if (StringUtils.isNotEmpty(externalUserDeptInfo.getShiJianDM()) && externalUserDeptInfo.getShiJianDM().equals("3")) {
                sysUserDept.setDelFlag(1L);
            }
            SysUserDept sysUserDeptVo = new SysUserDept();
            sysUserDeptVo.setUserId(sysUser.getUserId());
            sysUserDeptVo.setDeptId(sysDept.getDeptId());
            sysUserDeptVo.setOrgid(externalUserDeptInfo.getZuZhiJGID());
            //丽水无院区,默认值是 1
            sysUserDeptVo.setCampusid("1");
            //根据userName判断一下,是不是之前有新增
            SysUserDept sysUserDeptOld = null;
            List<SysUserDept> SysUserDeptList = sysUserDeptMapper.selectSysUserDeptList(sysUserDeptVo);
            if (CollectionUtils.isNotEmpty(SysUserDeptList)) {
                sysUserDeptOld = SysUserDeptList.get(0);
            }
            if (ObjectUtils.isEmpty(sysUserDeptOld)) {
                int i = sysUserDeptMapper.insertSysUserDept(sysUserDept);
                log.info("ServiceExternalServiceImpl---addUserDeptInfo是否新增成功:{}", i);
            } else {
                sysUserDept.setUserId(sysUserDeptOld.getUserId());
                int i = sysUserDeptMapper.updateSysUserDept(sysUserDept);
                log.info("ServiceExternalServiceImpl---addUserDeptInfo是否修改成功03:{}", i);
            }
            //更新sys-user deptId
            if(StringUtils.isNotEmpty(externalUserDeptInfo.getKeShiID())){
                sysUser.setDeptId(Long.valueOf(externalUserDeptInfo.getKeShiID()));
                sysUserMapper.updateUser(sysUser);
            }
        }
        return true;
    }
    private SysUser getUser(List<SysUser> sysUserList) {
        SysUser sysUser = null;
@@ -1781,6 +1873,9 @@
            case "JG_YH_JiBenXX":
                log.info("用户信息入参类型为:{}", type);
                return addUserInfo(dataMap);
            case "JG_YH_KeShiYH":
                log.info("科室用户信息入参类型为:{}", type);
                return addUserDeptInfo(dataMap);
            case "fu_task":
                log.info("fu_task服务入参类型为:{}", type);
                return addTaskInfo(dataMap);