package com.mortals.xhx.module.window.model;
import java.math.BigDecimal;
import java.util.List;
import java.util.ArrayList;
import java.math.BigDecimal;
import cn.hutool.core.date.DateUtil;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.mortals.framework.annotation.Excel;
import com.mortals.framework.model.BaseEntityLong;
import com.mortals.xhx.module.window.model.vo.WindowWorkmanPerformDetailVo;
import lombok.Data;
/**
 * 窗口人员考核汇总明细实体对象
 *
 * @author zxfei
 * @date 2024-01-30
 */
@Data
public class WindowWorkmanPerformDetailEntity extends WindowWorkmanPerformDetailVo {
    private static final long serialVersionUID = 1L;

    /**
     * 人员考核汇总表主键
     */
    private Long performId;
    /**
     * 工作人员id
     */
    private Long staffId;
    /**
     * 工作人员名称
     */
    @Excel(name = "工作人员名称",sort = 1)
    private String staffName;
    /**
     * 工作纪律得分
     */
    @Excel(name = "工作纪律得分",sort = 6)
    private BigDecimal discipline;
    /**
     * 服务规范得分
     */
    @Excel(name = "服务规范得分",sort = 7)
    private BigDecimal specification;
    /**
     * 综合管理得分
     */
    @Excel(name = "综合管理得分",sort = 8)
    private BigDecimal management;
    /**
     * 群众评议得分
     */
    @Excel(name = "群众评议得分",sort = 9)
    private BigDecimal evaluation;
    /**
     * 工作效能得分
     */
    @Excel(name = "工作效能得分",sort = 10)
    private BigDecimal efficiency;
    /**
     * 加分
     */
    @Excel(name = "加分",sort = 11)
    private BigDecimal bonusScore;
    /**
     * 合计得分
     */
    @Excel(name = "合计得分",sort = 12)
    private BigDecimal sumScore;
    /**
     * 考核等级1好2较好3一般4较差
     */
    private Integer examineLevel;
    /**
     * 备注
     */
    private String remark;
    /**
     * 所属部门id
     */
    private Long deptId;
    /**
     * 所属部门名称
     */
    @Excel(name = "所属部门",sort = 4)
    private String deptName;
    /**
     * 所属大厅
     */
    private Long salaId;
    /**
     * 所属大厅名称
     */
    @Excel(name = "所属大厅",sort = 5)
    private String salaName;
    @Override
    public int hashCode() {
        return this.getId().hashCode();
    }
    @Override
    public boolean equals(Object obj) {
        if (obj == null) return false;
        if (obj instanceof WindowWorkmanPerformDetailEntity) {
            WindowWorkmanPerformDetailEntity tmp = (WindowWorkmanPerformDetailEntity) obj;
            if (this.getId() == tmp.getId()) {
                return true;
            }
        }
        return false;
    }

    public void initAttrValue(){
        this.performId = null;
        this.staffId = null;
        this.staffName = "";
        this.discipline = BigDecimal.ZERO;
        this.specification = BigDecimal.ZERO;
        this.management = BigDecimal.ZERO;
        this.evaluation = BigDecimal.ZERO;
        this.efficiency = BigDecimal.ZERO;
        this.bonusScore = BigDecimal.ZERO;
        this.sumScore = BigDecimal.ZERO;
        this.examineLevel = 0;
        this.remark = "";
        this.deptId = null;
        this.deptName = "";
        this.salaId = null;
        this.salaName = "";
    }
}