package com.ruoyi.models.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 模块对象 biz_module
 * 
 * @author ruoyi
 * @date 2025-08-28
 */
public class BizModule extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** $column.columnComment */
    private Long moduleId;

    /** 项目id */
    @Excel(name = "项目id")
    private Long projectId;

    /** 模块名称 */
    @Excel(name = "模块名称")
    private String moduleName;

    /** 0待接取 1进行中 2已完成 */
    @Excel(name = "0待接取 1进行中 2已完成")
    private String status;

    /** 接取人 */
    @Excel(name = "接取人")
    private String assignee;

    /** 接取时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "接取时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date assignTime;

    /** 完成时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "完成时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date finishTime;

    /** 删除标志0=正常,2=软删除 */
    private String delFlag;
    
    /** 指派给用户的ID */
    private Long designatedUser;
    
    /** 指派用户名称 */
    private String designatedUserName;
    
    /** 项目名称 */
    private String projectName;

    public void setModuleId(Long moduleId) 
    {
        this.moduleId = moduleId;
    }

    public Long getModuleId() 
    {
        return moduleId;
    }

    public void setProjectId(Long projectId) 
    {
        this.projectId = projectId;
    }

    public Long getProjectId() 
    {
        return projectId;
    }

    public void setModuleName(String moduleName) 
    {
        this.moduleName = moduleName;
    }

    public String getModuleName() 
    {
        return moduleName;
    }

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

    public String getStatus() 
    {
        return status;
    }

    public void setAssignee(String assignee) 
    {
        this.assignee = assignee;
    }

    public String getAssignee() 
    {
        return assignee;
    }

    public void setAssignTime(Date assignTime) 
    {
        this.assignTime = assignTime;
    }

    public Date getAssignTime() 
    {
        return assignTime;
    }

    public void setFinishTime(Date finishTime) 
    {
        this.finishTime = finishTime;
    }

    public Date getFinishTime() 
    {
        return finishTime;
    }

    public void setDelFlag(String delFlag) 
    {
        this.delFlag = delFlag;
    }

    public String getDelFlag() 
    {
        return delFlag;
    }

    public void setDesignatedUser(Long designatedUser) 
    {
        this.designatedUser = designatedUser;
    }

    public Long getDesignatedUser() 
    {
        return designatedUser;
    }

    public void setDesignatedUserName(String designatedUserName) 
    {
        this.designatedUserName = designatedUserName;
    }

    public String getDesignatedUserName() 
    {
        return designatedUserName;
    }

    public void setProjectName(String projectName) 
    {
        this.projectName = projectName;
    }

    public String getProjectName() 
    {
        return projectName;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("moduleId", getModuleId())
            .append("projectId", getProjectId())
            .append("projectName", getProjectName())
            .append("moduleName", getModuleName())
            .append("status", getStatus())
            .append("assignee", getAssignee())
            .append("assignTime", getAssignTime())
            .append("finishTime", getFinishTime())
            .append("designatedUser", getDesignatedUser())
            .append("designatedUserName", getDesignatedUserName())
            .append("delFlag", getDelFlag())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .toString();
    }
}
