| | |
| | | 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.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 |
| | |
| | | * @author ruoyi |
| | | */ |
| | | @Data |
| | | @Component |
| | | @ApiModel(value = "SysUser", description = "用户对象") |
| | | public class SysUser extends BaseEntity { |
| | | private static final long serialVersionUID = 1L; |
| | | // |
| | | // @Value("${isAdmin}") |
| | | // private List<Long> isAdmin; |
| | | |
| | | /** |
| | | * 用户ID |
| | |
| | | */ |
| | | @ApiModelProperty(value = "his用户ID") |
| | | private String hisUserId; |
| | | |
| | | /** |
| | | * his用户ID |
| | | */ |
| | | @ApiModelProperty(value = "his用户ID") |
| | | private String userCode; |
| | | |
| | | /** |
| | | * 部门ID |
| | |
| | | @ApiModelProperty(value = "职位") |
| | | @Excel(name = "职位") |
| | | private String title; |
| | | |
| | | /** |
| | | * 部门编码 |
| | | */ |
| | | @ApiModelProperty(value = "部门编码") |
| | | @Excel(name = "部门编码") |
| | | private String deptCode; |
| | | |
| | | /** |
| | | * 部门名称 |
| | | */ |
| | | @ApiModelProperty(value = "部门名称") |
| | | @Excel(name = "部门名称") |
| | | private String deptName; |
| | | |
| | | /** |
| | | * 用户邮箱 |
| | |
| | | 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; |
| | | |
| | | /** |
| | | * 部门对象 |
| | |
| | | @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() { |
| | |
| | | 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; |
| | | } |
| | |
| | | this.userId = userId; |
| | | } |
| | | |
| | | public boolean isAdmin() { |
| | | return isAdmin(this.userId); |
| | | } |
| | | |
| | | public static boolean isAdmin(Long userId) { |
| | | return userId != null && 1L == userId; |
| | | } |
| | | // public boolean isAdmin() { |
| | | // return isAdmin(this.userId); |
| | | // } |
| | | // |
| | | // public boolean isAdmin(Long userId) { |
| | | // return isAdmin.contains(userId); |
| | | // } |
| | | |
| | | public Long getDeptId() { |
| | | return this.deptId; |