package com.ygtx.gxt.domain;

import com.ygtx.common.annotation.Excel;
import com.ygtx.common.core.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.math.BigDecimal;
import java.util.Date;

/**
 * 用户月度评分统计表对象 gxt_user_score
 * 
 * @author ruoyi
 * @date 2025-11-03
 */
public class GxtUserScore extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键ID */
    private Long id;

    /** 用户名 */
    @Excel(name = "用户名")
    private String userName;

    /** 统计月份(YYYY-MM) */
    @Excel(name = "统计月份", readConverterExp = "Y=YYY-MM")
    private String monthPeriod;

    /** 月度统计表ID */
    @Excel(name = "月度统计表ID")
    private Long monthScoreId;

    /** 维保工单总分 */
    @Excel(name = "维保工单总分")
    private BigDecimal maintenanceTotalScore;

    /** 维修工单总分 */
    @Excel(name = "维修工单总分")
    private BigDecimal repairTotalScore;

    /** 最终评分 */
    @Excel(name = "最终评分")
    private BigDecimal finalScore;

    /** 一级校核状态 */
    @Excel(name = "一级校核状态")
    private String firstCheckStatus;

    /** 一级校核人 */
    @Excel(name = "一级校核人")
    private Long firstChecker;

    /** 一级校核时间 */
    @Excel(name = "一级校核时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date firstCheckTime;

    /** 二级校核状态 */
    @Excel(name = "二级校核状态")
    private String secondCheckStatus;

    /** 二级校核人 */
    @Excel(name = "二级校核人")
    private Long secondChecker;

    /** 二级校核时间 */
    @Excel(name = "二级校核时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date secondCheckTime;

    /** 状态 */
    @Excel(name = "状态")
    private Integer status;
    
    /** 用户ID（用于查询条件） */
    private Long userId;
    
    /** 部门ID（用于查询条件） */
    private Long deptId;

    private String deptName;

    private String permission;

    private String nickName;

    private Long centerId;

    private String center;

    private String companyName;

    private String rankPermission;

    private Date dateFrom;

    private Date dateTo;

    public String getRankPermission() {
        return rankPermission;
    }

    public void setRankPermission(String rankPermission) {
        this.rankPermission = rankPermission;
    }

    public String getNickName() {
        return nickName;
    }

    public void setNickName(String nickName) {
        this.nickName = nickName;
    }

    public String getPermission() {
        return permission;
    }

    public void setPermission(String permission) {
        this.permission = permission;
    }

    public void setId(Long id)
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }
    public void setUserName(String userName) 
    {
        this.userName = userName;
    }

    public String getUserName() 
    {
        return userName;
    }
    public void setMonthPeriod(String monthPeriod) 
    {
        this.monthPeriod = monthPeriod;
    }

    public String getMonthPeriod() 
    {
        return monthPeriod;
    }

    public Long getMonthScoreId() {
        return monthScoreId;
    }

    public void setMonthScoreId(Long monthScoreId) {
        this.monthScoreId = monthScoreId;
    }

    public void setMaintenanceTotalScore(BigDecimal maintenanceTotalScore) 
    {
        this.maintenanceTotalScore = maintenanceTotalScore;
    }

    public BigDecimal getMaintenanceTotalScore() 
    {
        return maintenanceTotalScore;
    }
    public void setRepairTotalScore(BigDecimal repairTotalScore) 
    {
        this.repairTotalScore = repairTotalScore;
    }

    public BigDecimal getRepairTotalScore() 
    {
        return repairTotalScore;
    }
    public void setFinalScore(BigDecimal finalScore) 
    {
        this.finalScore = finalScore;
    }

    public BigDecimal getFinalScore() 
    {
        return finalScore;
    }
    public void setFirstCheckStatus(String firstCheckStatus) 
    {
        this.firstCheckStatus = firstCheckStatus;
    }

    public String getFirstCheckStatus() 
    {
        return firstCheckStatus;
    }
    public void setFirstChecker(Long firstChecker) 
    {
        this.firstChecker = firstChecker;
    }

    public Long getFirstChecker() 
    {
        return firstChecker;
    }
    public void setFirstCheckTime(Date firstCheckTime) 
    {
        this.firstCheckTime = firstCheckTime;
    }

    public Date getFirstCheckTime() 
    {
        return firstCheckTime;
    }
    public void setSecondCheckStatus(String secondCheckStatus) 
    {
        this.secondCheckStatus = secondCheckStatus;
    }

    public String getSecondCheckStatus() 
    {
        return secondCheckStatus;
    }
    public void setSecondChecker(Long secondChecker) 
    {
        this.secondChecker = secondChecker;
    }

    public Long getSecondChecker() 
    {
        return secondChecker;
    }
    public void setSecondCheckTime(Date secondCheckTime) 
    {
        this.secondCheckTime = secondCheckTime;
    }

    public Date getSecondCheckTime() 
    {
        return secondCheckTime;
    }
    public void setStatus(Integer status) 
    {
        this.status = status;
    }

    public Integer getStatus() 
    {
        return status;
    }
    
    public Long getUserId() {
        return userId;
    }

    public void setUserId(Long userId) {
        this.userId = userId;
    }

    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 Long getCenterId() {
        return centerId;
    }

    public void setCenterId(Long centerId) {
        this.centerId = centerId;
    }

    public String getCenter() {
        return center;
    }

    public void setCenter(String center) {
        this.center = center;
    }

    public String getCompanyName() {
        return companyName;
    }

    public void setCompanyName(String companyName) {
        this.companyName = companyName;
    }

    public Date getDateFrom() {
        return dateFrom;
    }

    public void setDateFrom(Date dateFrom) {
        this.dateFrom = dateFrom;
    }

    public Date getDateTo() {
        return dateTo;
    }

    public void setDateTo(Date dateTo) {
        this.dateTo = dateTo;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("userName", getUserName())
            .append("monthPeriod", getMonthPeriod())
            .append("monthScoreId", getMonthScoreId())
            .append("maintenanceTotalScore", getMaintenanceTotalScore())
            .append("repairTotalScore", getRepairTotalScore())
            .append("finalScore", getFinalScore())
            .append("firstCheckStatus", getFirstCheckStatus())
            .append("firstChecker", getFirstChecker())
            .append("firstCheckTime", getFirstCheckTime())
            .append("secondCheckStatus", getSecondCheckStatus())
            .append("secondChecker", getSecondChecker())
            .append("secondCheckTime", getSecondCheckTime())
            .append("status", getStatus())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .append("remark", getRemark())
            .toString();
    }
}