a9a4fbbc8a071869ef298c7b9adf457ef3c88b37..bd0bd32474c31b88062308eeb04862e5b20aee5c
10 天以前 liusheng
SSO代码提交
bd0bd3 对比 | 目录
10 天以前 liusheng
SSO代码提交
611b0f 对比 | 目录
10 天以前 liusheng
SSO代码提交
bacd11 对比 | 目录
10 天以前 liusheng
SSO代码提交
0cdfa8 对比 | 目录
10 天以前 liusheng
Merge remote-tracking branch 'origin/master'
694f1b 对比 | 目录
10 天以前 liusheng
SSO代码提交
a3ff2c 对比 | 目录
10 天以前 zhs
0814 zhs
fadbf5 对比 | 目录
10 天以前 liusheng
SSO代码提交
d45ec4 对比 | 目录
已修改15个文件
226 ■■■■ 文件已修改
ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/BaseTagController.java 9 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/PatMedInhospController.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/PatMedPhysicalController.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysLoginController.java 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysNoticeController.java 24 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-admin/src/main/resources/application-sltd.yml 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-common/src/main/java/com/ruoyi/common/core/domain/model/LoginBody.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/SysLoginService.java 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysUserMapper.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/service/ISysUserService.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysNoticeServiceImpl.java 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java 108 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/resources/mapper/system/SysNoticeMapper.xml 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/resources/mapper/system/SysUserMapper.xml 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
smartor/src/main/resources/mapper/smartor/PatMedInhospMapper.xml 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/BaseTagController.java
@@ -5,6 +5,7 @@
import javax.servlet.http.HttpServletResponse;
import com.ruoyi.common.core.domain.entity.SysUser;
import com.ruoyi.common.core.domain.model.LoginUser;
import com.ruoyi.common.utils.PageUtils;
import com.smartor.domain.BaseTag;
import com.smartor.service.IBaseTagService;
@@ -49,8 +50,14 @@
    @PostMapping("/list")
    public TableDataInfo list(@RequestBody BaseTag baseTag) {
        PageUtils.startPageByPost(baseTag.getPageNum(), baseTag.getPageSize());
        List<BaseTag> list = null;
        if (baseTag.getTagcategoryid() == null || baseTag.getTagcategoryid() == 0) baseTag.setTagcategoryid(null);
        List<BaseTag> list = baseTagService.selectBaseTagList(baseTag);
        {
            LoginUser loginUser = getLoginUser();
            SysUser user = loginUser.getUser();
            baseTag.setOrgid(user.getOrgid());
            list = baseTagService.selectBaseTagList(baseTag);
        }
        return getDataTable(list);
    }
ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/PatMedInhospController.java
@@ -5,6 +5,7 @@
import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.core.domain.entity.SysUser;
import com.ruoyi.common.core.domain.model.LoginUser;
import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.common.utils.PageUtils;
@@ -53,6 +54,8 @@
    @PostMapping("/selectPatMedInhospList")
    public TableDataInfo selectPatMedInhosplist(@RequestBody PatMedInhosp patMedInhosp) {
        PageUtils.startPageByPost(patMedInhosp.getPageNum(), patMedInhosp.getPageSize());
        SysUser user = getLoginUser().getUser();
        patMedInhosp.setOrgid(user.getOrgid());
        List<PatMedInhosp> list = patMedInhospService.selectPatMedInhospList(patMedInhosp);
        long count = PageUtils.count(new ISelect() {
            @Override
ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/PatMedPhysicalController.java
@@ -3,6 +3,7 @@
import java.util.List;
import javax.servlet.http.HttpServletResponse;
import com.ruoyi.common.core.domain.entity.SysUser;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.security.access.prepost.PreAuthorize;
@@ -47,6 +48,8 @@
    public TableDataInfo selectPatMedPhysicallist(@RequestBody  PatMedPhysical patMedPhysical)
    {
        startPage();
        SysUser user = getLoginUser().getUser();
        patMedPhysical.setOrgid(user.getOrgid());
        List<PatMedPhysical> list = patMedPhysicalService.selectPatMedPhysicalList(patMedPhysical);
        return getDataTable(list);
    }
ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysLoginController.java
@@ -6,6 +6,7 @@
import com.ruoyi.common.core.domain.entity.SysUser;
import com.ruoyi.common.core.domain.model.LoginBody;
import com.ruoyi.common.utils.SecurityUtils;
import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.framework.web.service.SysLoginService;
import com.ruoyi.framework.web.service.SysPermissionService;
import com.ruoyi.system.service.ISysMenuService;
@@ -54,6 +55,25 @@
        return ajax;
    }
    /**
     * 单点登录方法
     *
     * @param loginBody 单点登录信息
     * @return 结果
     */
    @PostMapping("/SSOLogin")
    public AjaxResult SSOLogin(@RequestBody LoginBody loginBody) {
        AjaxResult ajax = AjaxResult.success();
        // 生成令牌
        if (StringUtils.isEmpty(loginBody.getUsername()) || StringUtils.isEmpty(loginBody.getOrgid()) || StringUtils.isEmpty(loginBody.getDeptId())) {
            return AjaxResult.error("用户名或组织机构或部门不能为空");
        }
        String token = loginService.loginByUserName(loginBody.getUsername() + "&" + loginBody.getOrgid() + "&" + loginBody.getDeptId());
        ajax.put(Constants.TOKEN, token);
        return ajax;
    }
    @GetMapping("/getToken")
    public void getToken(HttpServletResponse response) throws IOException {
        // 生成或获取token
ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysNoticeController.java
@@ -1,6 +1,9 @@
package com.ruoyi.web.controller.system;
import java.util.List;
import com.ruoyi.common.core.domain.entity.SysUser;
import com.ruoyi.common.core.domain.model.LoginUser;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.validation.annotation.Validated;
@@ -27,8 +30,7 @@
 */
@RestController
@RequestMapping("/system/notice")
public class SysNoticeController extends BaseController
{
public class SysNoticeController extends BaseController {
    @Autowired
    private ISysNoticeService noticeService;
@@ -37,9 +39,11 @@
     */
    //@PreAuthorize("@ss.hasPermi('system:notice:list')")
    @GetMapping("/list")
    public TableDataInfo list(SysNotice notice)
    {
    public TableDataInfo list(SysNotice notice) {
        startPage();
        LoginUser loginUser = getLoginUser();
        SysUser user = loginUser.getUser();
        notice.setOrgid(user.getOrgid());
        List<SysNotice> list = noticeService.selectNoticeList(notice);
        return getDataTable(list);
    }
@@ -49,8 +53,7 @@
     */
    //@PreAuthorize("@ss.hasPermi('system:notice:query')")
    @GetMapping(value = "/{noticeId}")
    public AjaxResult getInfo(@PathVariable Long noticeId)
    {
    public AjaxResult getInfo(@PathVariable Long noticeId) {
        return success(noticeService.selectNoticeById(noticeId));
    }
@@ -60,8 +63,7 @@
    //@PreAuthorize("@ss.hasPermi('system:notice:add')")
    @Log(title = "通知公告", businessType = BusinessType.INSERT)
    @PostMapping("/add")
    public AjaxResult add(@Validated @RequestBody SysNotice notice)
    {
    public AjaxResult add(@Validated @RequestBody SysNotice notice) {
        notice.setCreateBy(getUsername());
        return toAjax(noticeService.insertNotice(notice));
    }
@@ -72,8 +74,7 @@
    //@PreAuthorize("@ss.hasPermi('system:notice:edit')")
    @Log(title = "通知公告", businessType = BusinessType.UPDATE)
    @PostMapping("/edit")
    public AjaxResult edit(@Validated @RequestBody SysNotice notice)
    {
    public AjaxResult edit(@Validated @RequestBody SysNotice notice) {
        notice.setUpdateBy(getUsername());
        return toAjax(noticeService.updateNotice(notice));
    }
@@ -84,8 +85,7 @@
    //@PreAuthorize("@ss.hasPermi('system:notice:remove')")
    @Log(title = "通知公告", businessType = BusinessType.DELETE)
    @GetMapping("/remove/{noticeIds}")
    public AjaxResult remove(@PathVariable Long[] noticeIds)
    {
    public AjaxResult remove(@PathVariable Long[] noticeIds) {
        return toAjax(noticeService.deleteNoticeByIds(noticeIds));
    }
}
ruoyi-admin/src/main/resources/application-sltd.yml
@@ -7,9 +7,9 @@
      # 主库数据源
      master:
        #        省立同德
        url: jdbc:mysql://192.88.117.238:3306/smartor_sltd?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
        url: jdbc:mysql://192.88.117.237:3306/smartor_sltd?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
        username: root
        password: 123456
        password: Smartor.2023
        driverClassName: com.mysql.cj.jdbc.Driver
      #        # 高斯数据库配置
@@ -62,8 +62,8 @@
        allow:
        url-pattern: /druid/*
        # 控制台管理用户名和密码
        #login-username: lihu
        #login-password: Lihu@1363419#$
        login-username: lihu
        login-password: Lihu@1363419#$
      filter:
        stat:
          enabled: true
ruoyi-common/src/main/java/com/ruoyi/common/core/domain/model/LoginBody.java
@@ -34,4 +34,9 @@
     */
    private String orgid;
    /**
     * 部门ID
     */
    private String deptId;
}
ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/SysLoginService.java
@@ -3,6 +3,7 @@
import javax.annotation.Resource;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.ObjectUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.authentication.AuthenticationManager;
import org.springframework.security.authentication.BadCredentialsException;
@@ -92,6 +93,22 @@
        return tokenService.createToken(loginUser);
    }
    public String loginByUserName(String userName) {
        SysUser sysUser = userService.selectUserByUserNameAndDeptId(userName);
        if (ObjectUtils.isNotEmpty(sysUser)) {
            // 构建登录用户对象
            LoginUser loginUser = new LoginUser();
            loginUser.setUser(sysUser);
            loginUser.setUserId(sysUser.getUserId());
            // 创建 token
            String token = tokenService.createToken(loginUser);
            // 生成token
            return token;
        }
        return null;
    }
    /**
     * 校验验证码
     *
ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysUserMapper.java
@@ -50,7 +50,7 @@
     * @param userName 用户名
     * @return 用户对象信息
     */
    public SysUser selectUserByUserNameByCondition(@Param("userName") String userName, @Param("orgid") String orgid);
    public SysUser selectUserByUserNameByCondition(@Param("userName") String userName, @Param("orgid") String orgid, @Param("deptId") String deptId);
    /**
     * 通过用户ID查询用户
ruoyi-system/src/main/java/com/ruoyi/system/service/ISysUserService.java
@@ -49,6 +49,8 @@
     */
    public SysUser selectUserByUserName2(String userName);
    public SysUser selectUserByUserNameAndDeptId(String userName);
    /**
     * 通过用户ID查询用户
     *
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysNoticeServiceImpl.java
@@ -1,6 +1,8 @@
package com.ruoyi.system.service.impl;
import java.util.List;
import com.ruoyi.common.core.domain.model.LoginUser;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.ruoyi.system.domain.SysNotice;
@@ -9,7 +11,7 @@
/**
 * 公告 服务层实现
 *
 *
 * @author ruoyi
 */
@Service
@@ -20,7 +22,7 @@
    /**
     * 查询公告信息
     *
     *
     * @param noticeId 公告ID
     * @return 公告信息
     */
@@ -32,7 +34,7 @@
    /**
     * 查询公告列表
     *
     *
     * @param notice 公告信息
     * @return 公告集合
     */
@@ -44,7 +46,7 @@
    /**
     * 新增公告
     *
     *
     * @param notice 公告信息
     * @return 结果
     */
@@ -56,7 +58,7 @@
    /**
     * 修改公告
     *
     *
     * @param notice 公告信息
     * @return 结果
     */
@@ -68,7 +70,7 @@
    /**
     * 删除公告对象
     *
     *
     * @param noticeId 公告ID
     * @return 结果
     */
@@ -80,7 +82,7 @@
    /**
     * 批量删除公告信息
     *
     *
     * @param noticeIds 需要删除的公告ID
     * @return 结果
     */
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java
@@ -167,7 +167,7 @@
    @Override
    public SysUser selectUserByUserName2(String userName) {
        String[] split = userName.split("&");
        SysUser sysUser = userMapper.selectUserByUserNameByCondition(split[0], split[1]);
        SysUser sysUser = userMapper.selectUserByUserNameByCondition(split[0], split[1], null);
        if (Objects.isNull(sysUser)) return sysUser;
        List<SysDept> sysDepts = null;
        if (StringUtils.isNotEmpty(split[0]) && split[0].equals("admin")) {
@@ -269,6 +269,112 @@
        return sysUser;
    }
    @Override
    public SysUser selectUserByUserNameAndDeptId(String userName) {
        String[] split = userName.split("&");
        SysUser sysUser = userMapper.selectUserByUserNameByCondition(split[0], split[1], split[2]);
        if (Objects.isNull(sysUser)) return sysUser;
        List<SysDept> sysDepts = null;
        if (StringUtils.isNotEmpty(split[0]) && split[0].equals("admin")) {
            SysDept dept = new SysDept();
            dept.setOrgid(split[1]);
            sysDepts = sysDeptMapper.selectDeptList(dept);
        } else {
            sysDepts = sysUserDeptMapper.selectDeptListByUserId(sysUser.getUserId());
        }
        List<Long> deptIds = new ArrayList<>();
        for (SysDept sysDept : sysDepts) {
            deptIds.add(sysDept.getDeptId());
        }
        SysUserDept sysUserDept = new SysUserDept();
        sysUserDept.setUserId(sysUser.getUserId());
        sysUserDept.setDeptType(sysUser.getSearchscope());
        sysUserDept.setOrgid(split[1]);
        List<SysUserDept> sysUserDeptKSs = null;
        List<SysUserDept> sysUserDeptBQs = null;
        if (StringUtils.isNotEmpty(sysUser.getSearchscope()) && sysUser.getSearchscope().equals("0")) {
            if (StringUtils.isNotEmpty(split[0]) && split[0].equals("admin")) {
                sysUserDept.setUserId(null);
            }
            sysUserDept.setDeptType("1");
            sysUserDeptKSs = sysUserDeptMapper.selectSysUserDeptList(sysUserDept);
            sysUserDept.setDeptType("2");
            sysUserDeptBQs = sysUserDeptMapper.selectSysUserDeptList(sysUserDept);
            //如果是admin,需要对sysUserDeptBQs,sysUserDeptBQs去重
            if (StringUtils.isNotEmpty(split[0]) && split[0].equals("admin")) {
                //如果是admin,只能去sys_dept去取数据
                SysDept dept = new SysDept();
                dept.setOrgid(split[1]);
                dept.setDeptType("1");
                sysDepts = sysDeptMapper.selectDeptList(dept);
                sysUserDeptKSs = DtoConversionUtils.sourceToTarget(sysDepts, SysUserDept.class);
                dept.setDeptType("2");
                sysDepts = sysDeptMapper.selectDeptList(dept);
                sysUserDeptBQs = DtoConversionUtils.sourceToTarget(sysDepts, SysUserDept.class);
                List<SysUserDept> distinctUserDepts = new ArrayList<>();
                Set<String> uniqueDeptCodes = new HashSet<>();
                for (SysUserDept userDept : sysUserDeptKSs) {
                    String deptCode = userDept.getDeptCode();
                    if (StringUtils.isNotEmpty(deptCode) && !uniqueDeptCodes.contains(deptCode)) {
                        distinctUserDepts.add(userDept);
                        uniqueDeptCodes.add(deptCode);
                    }
                }
                List<SysUserDept> distinctUserBQs = new ArrayList<>();
                Set<String> uniqueBQCodes = new HashSet<>();
                for (SysUserDept userDept : sysUserDeptBQs) {
                    String deptCode = userDept.getDeptCode();
                    if (StringUtils.isNotEmpty(deptCode) && !uniqueBQCodes.contains(deptCode)) {
                        distinctUserBQs.add(userDept);
                        uniqueBQCodes.add(deptCode);
                    }
                }
                sysUserDeptKSs = distinctUserDepts;
                sysUserDeptBQs = distinctUserBQs;
            }
        } else if (StringUtils.isNotEmpty(sysUser.getSearchscope()) && sysUser.getSearchscope().equals("1")) {
            sysUserDept.setDeptType("1");
            sysUserDeptKSs = sysUserDeptMapper.selectSysUserDeptList(sysUserDept);
        } else if (StringUtils.isNotEmpty(sysUser.getSearchscope()) && sysUser.getSearchscope().equals("2")) {
            sysUserDept.setDeptType("2");
            sysUserDeptBQs = sysUserDeptMapper.selectSysUserDeptList(sysUserDept);
        }
        sysUser.setDepts(deptIds);
        if (!CollectionUtils.isEmpty(sysUserDeptBQs)) {
            List<Map<String, Object>> list = new ArrayList<>();
            for (SysUserDept sud : sysUserDeptBQs) {
                Map<String, Object> map = new HashMap<>();
                map.put("districtCode", "");
                if (StringUtils.isNotEmpty(sud.getDeptCode())) map.put("districtCode", sud.getDeptCode());
                else continue;
                map.put("districtName", "");
                if (StringUtils.isNotEmpty(sud.getDeptName())) map.put("districtName", sud.getDeptName());
                list.add(map);
            }
            sysUser.setBelongWards(list);
        }
        if (!CollectionUtils.isEmpty(sysUserDeptKSs)) {
            List<Map<String, Object>> list = new ArrayList<>();
            for (SysUserDept sud : sysUserDeptKSs) {
                Map<String, Object> map = new HashMap<>();
                map.put("deptCode", "");
                if (StringUtils.isNotEmpty(sud.getDeptCode())) map.put("deptCode", sud.getDeptCode());
                else continue;
                map.put("deptName", "");
                if (StringUtils.isNotEmpty(sud.getDeptName())) map.put("deptName", sud.getDeptName());
                list.add(map);
            }
            sysUser.setBelongDepts(list);
        }
        return sysUser;
    }
    /**
     * 通过用户ID查询用户
     *
ruoyi-system/src/main/resources/mapper/system/SysNoticeMapper.xml
@@ -52,6 +52,9 @@
            <if test="createBy != null and createBy != ''">
                AND create_by like concat('%', #{createBy}, '%')
            </if>
                   <if test="orgid != null and orgid != ''">
                AND orgid = #{orgid}
            </if>
        </where>
    </select>
ruoyi-system/src/main/resources/mapper/system/SysUserMapper.xml
@@ -235,6 +235,9 @@
            <if test="orgid != null and orgid != ''">
                AND u.orgid = #{orgid}
            </if>
            <if test="deptId != null and deptId != ''">
                AND u.dept_id = #{deptId}
            </if>
        </where>
    </select>
smartor/src/main/resources/mapper/smartor/PatMedInhospMapper.xml
@@ -210,7 +210,7 @@
        JOIN
        pat_archive a ON a.id = b.patid
        LEFT JOIN
        pat_archivetag c ON c.patid = a.id AND (C.del_flag = 0 OR C.del_flag IS NULL)
        pat_archivetag c ON c.patid = a.id AND (c.del_flag = 0 OR c.del_flag IS NULL)
        <where>
            a.del_flag = 0
            AND b.del_flag = 0
@@ -239,6 +239,7 @@
            <if test="managementDoctorCode != null ">and b.management_doctor_code = #{managementDoctorCode}</if>
            <if test="inhospno != null ">and b.inhospno = #{inhospno}</if>
            <if test="fuflag != null ">and b.fuflag = #{fuflag}</if>
            <if test="orgid != null ">and b.orgid = #{orgid}</if>
            <if test="serialnum != null ">and b.serialnum = #{serialnum}</if>
            <if test="endtime != null ">and b.endtime = #{endtime}</if>
            <if test="patno != null ">and b.patno = #{patno}</if>