package com.hxhq.business.domain;

import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.hxhq.common.core.annotation.Compare;
import com.hxhq.common.core.domain.MpBaseEntity;

import java.util.Date;


/**
 * 试验对象 t_study
 *
 * @author hxhq
 * @date 2025-12-24
 */
@TableName("t_study")
public class Study extends MpBaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 类型1试验，5非试验表单，10麻精药表单 */
    private Integer type;

    /** 试验编号 */
    @Compare(name = "试验编号",nameEn = "Number")
    private String sn;

    /** 试验名称 */
    @Compare(name = "试验名称",nameEn = "Name")
    private String name;

    /** 负责人id */
    private Long leader;

    /** 负责人姓名 */
    private String leaderName;

    /** 负责人姓名-英文 */
    private String leaderNameEn;

    /** 试验状态1草稿，3试验中，5已锁定，7待归档，9归档，10待结档 */
    private Integer status;

    /** 借阅状态1未借阅，5待借阅，10借阅中 */
    private Integer borrowStatus;

    /** 借阅开始日期 */
    private String borrowStartDate;

    /** 借阅结束日期 */
    private String borrowEndDate;

    /** 所属部门：非试验需要 */
    private Long deptId;

    /** 所属部门名称：非试验需要 */
    private String deptName;

    /** 归档申请时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date gdApplyTime;

    @Compare(name = "试验简述",nameEn = "Description")
    private String remark;

    public Integer getType() {
        return type;
    }

    public void setType(Integer type) {
        this.type = type;
    }

    public void setSn(String sn)
    {
        this.sn = sn;
    }

    public String getSn()
    {
        return sn;
    }

    public void setName(String name)
    {
        this.name = name;
    }

    public String getName()
    {
        return name;
    }

    public void setLeader(Long leader)
    {
        this.leader = leader;
    }

    public Long getLeader()
    {
        return leader;
    }

    public String getLeaderName() {
        return leaderName;
    }

    public void setLeaderName(String leaderName) {
        this.leaderName = leaderName;
    }

    public String getLeaderNameEn() {
        return leaderNameEn;
    }

    public void setLeaderNameEn(String leaderNameEn) {
        this.leaderNameEn = leaderNameEn;
    }

    public void setStatus(Integer status)
    {
        this.status = status;
    }

    public Integer getStatus()
    {
        return status;
    }

    public void setBorrowStatus(Integer borrowStatus)
    {
        this.borrowStatus = borrowStatus;
    }

    public Integer getBorrowStatus()
    {
        return borrowStatus;
    }

    public String getBorrowStartDate() {
        return borrowStartDate;
    }

    public void setBorrowStartDate(String borrowStartDate) {
        this.borrowStartDate = borrowStartDate;
    }

    public String getBorrowEndDate() {
        return borrowEndDate;
    }

    public void setBorrowEndDate(String borrowEndDate) {
        this.borrowEndDate = borrowEndDate;
    }

    public Long getDeptId() {
        return deptId;
    }

    public void setDeptId(Long deptId) {
        this.deptId = deptId;
    }

    public String getDeptName() {
        return deptName;
    }

    public void setDeptName(String deptName) {
        this.deptName = deptName;
    }

    public Date getGdApplyTime() {
        return gdApplyTime;
    }

    public void setGdApplyTime(Date gdApplyTime) {
        this.gdApplyTime = gdApplyTime;
    }

    @Override
    public String getRemark() {
        return remark;
    }

    @Override
    public void setRemark(String remark) {
        this.remark = remark;
    }
}
