陈昶聿
12 小时以前 2d3b575ed96eee7ccd5b324baa3135d2236934ac
ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysUser.java
@@ -1,25 +1,24 @@
package com.ruoyi.common.core.domain.entity;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Map;
import javax.validation.constraints.*;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.beans.factory.annotation.Value;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.annotation.Excel.ColumnType;
import com.ruoyi.common.annotation.Excel.Type;
import com.ruoyi.common.annotation.Excels;
import com.ruoyi.common.core.domain.BaseEntity;
import com.ruoyi.common.xss.Xss;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import org.springframework.stereotype.Component;
import javax.validation.constraints.Email;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.Size;
import java.util.*;
/**
 * 用户对象 sys_user
@@ -47,6 +46,12 @@
     */
    @ApiModelProperty(value = "his用户ID")
    private String hisUserId;
    /**
     * his用户ID
     */
    @ApiModelProperty(value = "his用户ID")
    private String userCode;
    /**
     * 部门ID
@@ -172,15 +177,27 @@
    private Date loginDate;
    /**
     * 院区信息
     */
    @ApiModelProperty(value = "院区信息")
    private String hospInfo;
    /**
     * 科室信息
     */
    @ApiModelProperty(value = "科室信息")
    private String hospInfo;
    /**
     * 病区信息
     */
    @ApiModelProperty(value = "病区信息")
    private String deptInfo;
    /**
     * 科室信息(按完整 Code 匹配)
     */
    @ApiModelProperty(value = "科室信息(按完整 Code 匹配)")
    private String hospInfoCode;
    /**
     * 病区信息(按完整 Code 匹配)
     */
    @ApiModelProperty(value = "病区信息(按完整 Code 匹配)")
    private String deptInfoCode;
    /**
     * 部门对象
@@ -248,9 +265,35 @@
    @ApiModelProperty("科室集合")
    private List<Map<String, Object>> belongDepts = new ArrayList();
    /**
     * 满意度分类
     */
    @ApiModelProperty("满意度分类(问卷/语音)")
    private Map<String, Object> satisfactionCategories = new HashMap<>();
    /**
     * HIS增量同步开始时间(对应 healthy_user.last_Update_Time)
     */
    @ApiModelProperty("同步开始时间,格式:yyyy-MM-dd HH:mm:ss")
    private String lastStartTime;
    /**
     * HIS增量同步结束时间(对应 healthy_user.last_Update_Time)
     */
    @ApiModelProperty("同步结束时间,格式:yyyy-MM-dd HH:mm:ss")
    private String lastEndTime;
    public SysUser() {
    }
    public Map<String, Object> getSatisfactionCategories() {
        return satisfactionCategories;
    }
    public void setSatisfactionCategories(Map<String, Object> satisfactionCategories) {
        this.satisfactionCategories = satisfactionCategories;
    }
    public List<Map<String, Object>> getBelongWards() {
@@ -309,6 +352,53 @@
        this.deptInfo = deptInfo;
    }
    public String getHospInfoCode() {
        return this.hospInfoCode;
    }
    public void setHospInfoCode(String hospInfoCode) {
        this.hospInfoCode = hospInfoCode;
    }
    public String getDeptInfoCode() {
        return this.deptInfoCode;
    }
    public void setDeptInfoCode(String deptInfoCode) {
        this.deptInfoCode = deptInfoCode;
    }
    /**
     * 科室 Code 列表,支持 hospInfoCode=D001,D003 这种逗号分隔的多 Code 传参
     */
    @JsonIgnore
    public List<String> getHospInfoCodeList() {
        return splitCodes(this.hospInfoCode);
    }
    /**
     * 病区 Code 列表,支持 deptInfoCode=W001,W003 这种逗号分隔的多 Code 传参
     */
    @JsonIgnore
    public List<String> getDeptInfoCodeList() {
        return splitCodes(this.deptInfoCode);
    }
    private static List<String> splitCodes(String codes) {
        if (codes == null || codes.trim().isEmpty()) {
            // 不要返回 Collections.emptyList():JDK 17+ 强封装下,MyBatis OGNL
            // 反射调用 Collections$EmptyList.size() 会抛 InaccessibleObjectException。
            return new ArrayList<>();
        }
        List<String> codeList = new ArrayList<>();
        for (String code : codes.split(",")) {
            if (code != null && !code.trim().isEmpty()) {
                codeList.add(code.trim());
            }
        }
        return codeList;
    }
    public SysUser(Long userId) {
        this.userId = userId;
    }