3b16fd1b9c5f6a25141fdee61132f881bea35e40..6e23736b916ba71e7d3b27baf20f5be7ed3fb1d9
4 天以前 陈昶聿
【景宁】更新用户增加删除原有关系
6e2373 对比 | 目录
4 天以前 陈昶聿
【景宁】预出院同步死亡
ac044a 对比 | 目录
4 天以前 陈昶聿
【景宁】用户-关系删除原有关系
26f417 对比 | 目录
已修改4个文件
113 ■■■■■ 文件已修改
ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysUserDeptMapper.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/resources/mapper/system/SysUserDeptMapper.xml 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
smartor/src/main/java/com/smartor/service/impl/ServiceExternalServiceImpl.java 75 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysUserDeptMapper.java
@@ -74,5 +74,7 @@
    public int deleteSysUserDeptByCode(SysUserDept sysUserDept);
    public int deleteSysUserDeptByUserId(SysUserDept sysUserDept);
    public int updateSysUserDeptForSync(SysUserDept sysUserDept);
}
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java
@@ -709,6 +709,12 @@
//                sysUserDeptMapper.insertSysUserDept(sysUserDep);
//            }
//        }
        //删除原有关系
        SysUserDept delSysUserDept = new SysUserDept();
        delSysUserDept.setUserId(user.getUserId());
        delSysUserDept.setOrgid(user.getOrgid());
        sysUserDeptMapper.deleteSysUserDeptByUserId(delSysUserDept);
        if (!CollectionUtils.isEmpty(user.getDeptCodes())) {
            for (String deptCode : user.getDeptCodes()) {
                SysDept sysDept = sysDeptMapper.selectDeptByCode("1", user.getOrgid(), deptCode);
@@ -721,20 +727,15 @@
                sysUserDept.setOrgid(user.getOrgid());
                sysUserDept.setDeptCode(deptCode);
                sysUserDept.setDeptId(sysDept.getDeptId());
                List<SysUserDept> sysUserDepts = sysUserDeptMapper.selectSysUserDeptList(sysUserDept);
                sysUserDept.setDelFlag(0L);
                sysUserDept.setDeptType("1");
                sysUserDept.setDeptName(sysDept.getDeptName());
                sysUserDept.setUpdateTime(new Date());
                if (!CollectionUtils.isEmpty(sysUserDepts)) {
                    sysUserDept.setId(sysUserDepts.get(0).getId());
                    sysUserDeptMapper.updateSysUserDept(sysUserDept);
                    continue;
                }
                sysUserDept.setCreateTime(new Date());
                sysUserDeptMapper.insertSysUserDept(sysUserDept);
            }
        }
        if (!CollectionUtils.isEmpty(user.getWardCodes())) {
            for (String wardCode : user.getWardCodes()) {
                SysDept sysDept = sysDeptMapper.selectDeptByCode("2", user.getOrgid(), wardCode);
@@ -746,16 +747,11 @@
                sysUserDept.setDeptCode(wardCode);
                sysUserDept.setDeptId(sysDept.getDeptId());
                sysUserDept.setOrgid(user.getOrgid());
                List<SysUserDept> sysUserDepts = sysUserDeptMapper.selectSysUserDeptList(sysUserDept);
                sysUserDept.setDelFlag(0L);
                sysUserDept.setDeptType("2");
                sysUserDept.setOrgid(user.getOrgid());
                sysUserDept.setDeptName(sysDept.getDeptName());
                sysUserDept.setUpdateTime(new Date());
                if (!CollectionUtils.isEmpty(sysUserDepts)) {
                    sysUserDeptMapper.updateSysUserDept(sysUserDept);
                    continue;
                }
                sysUserDept.setCreateTime(new Date());
                sysUserDeptMapper.insertSysUserDept(sysUserDept);
            }
ruoyi-system/src/main/resources/mapper/system/SysUserDeptMapper.xml
@@ -237,6 +237,24 @@
        where user_id =#{userId} and dept_code=#{deptCode}
    </update>
    <update id="deleteSysUserDeptByUserId" parameterType="String">
        update sys_user_dept
        <trim prefix="SET" suffixOverrides=",">
            del_flag =1,
            update_time = sysdate()
        </trim>
        where del_flag = 0
        <if test="userId != null">
            and user_id =#{userId}
        </if>
        <if test="orgid != null ">
            and orgid = #{orgid}
        </if>
        <if test="deptType != null ">
            and dept_type = #{deptType}
        </if>
    </update>
    <update id="updateSysUserDeptForSync" parameterType="com.ruoyi.common.core.domain.entity.SysUserDept">
        update sys_user_dept
        <trim prefix="SET" suffixOverrides=",">
smartor/src/main/java/com/smartor/service/impl/ServiceExternalServiceImpl.java
@@ -1050,6 +1050,13 @@
            int i = patMedInhospMapper.insertPatMedInhosp(patMedInhosp1);
            if (i != 1) return false;
        }
        //离院方式代码 1-医瞩离院 2-医嘱转院 3-医嘱转社区卫生服务机构/乡镇卫生院
        // 4-非医嘱离院 5-死亡 9-其他 10-介入室 20-手术室
        String liYuanQxdm = ObjectUtils.isNotEmpty(JiuZhenXX.get("LiYuanQXDM")) ? JiuZhenXX.get("LiYuanQXDM").toString() : null;
        if (ObjectUtils.isNotEmpty(liYuanQxdm) && ("5").equals(liYuanQxdm)) {
            deathPatProcess(liYuanQxdm,patMedInhosp1);
        }
        return true;
    }
@@ -1093,36 +1100,11 @@
                }
            }
            //死亡标记
            Boolean deathFlag = false;
            //离院方式代码 1-医瞩离院 2-医嘱转院 3-医嘱转社区卫生服务机构/乡镇卫生院
            // 4-非医嘱离院 5-死亡 9-其他 10-介入室 20-手术室
            String liYuanQxdm = ObjectUtils.isNotEmpty(JiuZhenXX.get("LiYuanQXDM")) ? JiuZhenXX.get("LiYuanQXDM").toString() : null;
            //判断病人是否死亡
            if (ObjectUtils.isNotEmpty(liYuanQxdm) && ("5").equals(liYuanQxdm)) {
                deathFlag = true;
            }
            PatArchive patArchive = patArchiveMapper.selectPatArchiveByPatid(patMedInhosp1.getPatid());
            if(ObjectUtils.isNotEmpty(patArchive)){
                patMedInhosp1.setInhospstate("1");
                if (deathFlag) {
                    //病人死亡无须随访
                    patMedInhosp1.setFuflag("0");
                    //更新病人 notrequiredFlag
                    patArchive.setNotrequiredFlag("1");
                    patArchive.setNotrequiredreason("患者已离世");
                    patArchiveMapper.updatePatArchive(patArchive);
                    //对已经生成的随访任务进行处理
                    ServiceSubtaskEntity serviceSubtaskVO = new ServiceSubtaskEntity();
                    serviceSubtaskVO.setPatid(patArchive.getId());
                    serviceSubtaskVO.setSendstate(2L);
                    List<ServiceSubtask> serviceSubtaskList = serviceSubtaskMapper.selectServiceSubtaskList(serviceSubtaskVO);
                    for (ServiceSubtask serviceSubtask : serviceSubtaskList) {
                        serviceSubtask.setSendstate(4L);
                        serviceSubtask.setRemark(serviceSubtask.getRemark() + ";患者已离世,不随访");
                        serviceSubtaskMapper.updateServiceSubtask(serviceSubtask);
                    }
                }
                deathPatProcess(liYuanQxdm,patMedInhosp1);
            }
            return true;
        } else {
@@ -2118,4 +2100,45 @@
        return requestParams;
    }
    /**
     * 死亡患者处理
     * @param liYuanQxdm
     * @param patMedInhosp
     * @return
     */
    private int deathPatProcess(String liYuanQxdm, PatMedInhosp patMedInhosp){
        //死亡标记
        Boolean deathFlag = false;
        //判断病人是否死亡
        if (ObjectUtils.isNotEmpty(liYuanQxdm) && ("5").equals(liYuanQxdm)) {
            deathFlag = true;
        }
        PatArchive patArchive = patArchiveMapper.selectPatArchiveByPatid(patMedInhosp.getPatid());
        if(ObjectUtils.isNotEmpty(patArchive)) {
            patMedInhosp.setInhospstate("1");
            if (deathFlag) {
                //病人死亡无须随访
                patMedInhosp.setFuflag("0");
                //更新病人 notrequiredFlag
                patArchive.setNotrequiredFlag("1");
                patArchive.setNotrequiredreason("患者已离世");
                patArchiveMapper.updatePatArchive(patArchive);
                //对已经生成的随访任务进行处理
                ServiceSubtaskEntity serviceSubtaskVO = new ServiceSubtaskEntity();
                serviceSubtaskVO.setPatid(patArchive.getId());
                serviceSubtaskVO.setSendstate(2L);
                List<ServiceSubtask> serviceSubtaskList = serviceSubtaskMapper.selectServiceSubtaskList(serviceSubtaskVO);
                for (ServiceSubtask serviceSubtask : serviceSubtaskList) {
                    serviceSubtask.setSendstate(4L);
                    serviceSubtask.setRemark(serviceSubtask.getRemark() + ";患者已离世,不随访");
                    serviceSubtaskMapper.updateServiceSubtask(serviceSubtask);
                }
            } else {
                return 0;
            }
        }else {
            return -1;
        }
        return 1;
    }
}