czt
2025-11-27 fdcb3d4255a5897972aae4c31cf0cbaa81aef431
fzzy-igdss-core/src/main/java/com/fzzy/igds/utils/ContextUtil.java
@@ -22,6 +22,9 @@
    private static final AtomicLong sequence = new AtomicLong(0);
    private static String lastTimestamp = "";
    //全局用户实时坐在部门
    public static Map<String, String> contextUserDept = new HashMap<>();
    /**
     * 生成顺序ID:年月日时分秒毫秒(17位) + 序列号(4位) = 21位
     *
@@ -60,6 +63,36 @@
    }
    public static String getLoginUserName() {
      return  ShiroUtils.getUserName() ;
        SysUser user = ShiroUtils.getSysUser();
        return null == user ? "系统" : user.getUserName();
    }
    public static SysUser getLoginUser() {
        return ShiroUtils.getSysUser();
    }
    public static String subDeptId(SysUser user) {
        if (null == user) {
            user = getLoginUser();
        }
        if (null == user) {
            return getCompanyId() + "001";
        }
        //从全局获取,如果有则取全局的默认,如果没有则取自己所属
        if (null != contextUserDept.get(user.getLoginName())) {
            return contextUserDept.get(user.getLoginName());
        }
        if (null == user.getDeptId()) {
            return user.getCompanyId();
        }
        return user.getDeptId().toString();
    }
    public static void updateSubDept(String userId, String deptId) {
        if (null == deptId) return;
        contextUserDept.put(userId, deptId);
    }
}