package com.yunhai.flowcenter.entity; import lombok.Getter; import lombok.Setter; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.Index; import javax.persistence.Table; import javax.persistence.UniqueConstraint; /** * 科室(2026-10-10 四议题·科室管理):"组+成员"模型取代单用户映射行(flw_assignee_map)。 * deptKey = 本表自增主键 id 的字符串形态(拍板 D1:本地自增,不做存量迁移——旧映射的 * deptKey=UserBase 组 id,切源后解析失败属拍板接受的预期,需在科室管理重建后重新配置流程)。 * source_group_id 存 UserBase 组 id 防重复拉取重复建组(uk 对 NULL 不生效,手工建组天然多行)。 */ @Getter @Setter @Entity @Table(name = "flw_dept", uniqueConstraints = @UniqueConstraint(name = "uk_flw_dept_sch_srcgroup", columnNames = {"sch_id", "source_group_id"}), indexes = @Index(name = "idx_flw_dept_sch_status", columnList = "sch_id, status")) public class FlwDept extends BaseEntity { /** 租户键 */ @Column(name = "sch_id", nullable = false) private Long schId; /** 科室名 */ @Column(name = "dept_name", nullable = false, length = 128) private String deptName; /** 0=启用 / 1=停用(沿用 flw_assignee_map 的 status 语义;停用科室解析不出办理人) */ @Column(name = "status", nullable = false) private Integer status = 0; /** * 来源 UserBase 组 id(一键拉取时落,防重复建组);手工建组为 NULL(uk 对 NULL 不生效, * MySQL 允许多 NULL——手工多科室天然支持) */ @Column(name = "source_group_id") private Integer sourceGroupId; }