package com.mortals.xhx.module.staff.model;
import java.math.BigDecimal;
import java.util.List;
import java.util.ArrayList;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.mortals.framework.annotation.Excel;
import com.mortals.framework.model.BaseEntityLong;
import com.mortals.xhx.module.staff.model.vo.StaffPerformStatVo;
import lombok.Data;
/**
* 员工绩效统计实体对象
*
* @author zxfei
* @date 2023-07-14
*/
@Data
public class StaffPerformStatEntity extends StaffPerformStatVo {
    private static final long serialVersionUID = 1L;

    /**
    * 部门id号
    */
    private Long staffId;
    /**
    * 部门名称
    */
    private String staffName;
    /**
    * 员工绩效总分数
    */
    @Excel(name = "员工绩效总分数")
    private BigDecimal totalScore;
    /**
    * 员工绩效加分总分数汇总
    */
    @Excel(name = "员工绩效加分总分数汇总")
    private BigDecimal totalAddScore;
    /**
    * 员工绩效减分总分数汇总
    */
    @Excel(name = "员工绩效减分总分数汇总")
    private BigDecimal totalSubScore;
    /**
    * 考勤绩效指标增加分数
    */
    private BigDecimal attendScoreAdd;
    /**
    * 考勤绩效指标扣减分数
    */
    private BigDecimal attendScoreSub;
    /**
    * 评价绩效指标增加分数
    */
    private BigDecimal reviewScoreAdd;
    /**
    * 评价绩效指标扣减分数
    */
    private BigDecimal reviewScoreSub;
    /**
    * 投诉绩效指标增加分数
    */
    private BigDecimal complainScoreAdd;
    /**
    * 投诉绩效指标扣减分数
    */
    private BigDecimal complainScoreSub;
    /**
    * 办件绩效指标增加分数
    */
    private BigDecimal goworkScoreAdd;
    /**
    * 办件绩效指标扣减分数
    */
    private BigDecimal goworkScoreSub;
    /**
    * 效能绩效指标增加分数
    */
    private BigDecimal effectScoreAdd;
    /**
    * 效能绩效指标扣减分数
    */
    private BigDecimal effectScoreSub;
    /**
    * 其它绩效指标增加分数
    */
    private BigDecimal otherScoreAdd;
    /**
    * 其它绩效指标扣减分数
    */
    private BigDecimal otherScoreSub;
    /**
    * 备注
    */
    private String remark;
    /**
    * 年
    */
    private Integer year;
    /**
    * 月
    */
    private Integer month;
    /**
    * 日
    */
    private Integer day;
    @Override
    public int hashCode() {
         return this.getId().hashCode();
    }
    @Override
    public boolean equals(Object obj) {
        if (obj == null) return false;
        if (obj instanceof StaffPerformStatEntity) {
            StaffPerformStatEntity tmp = (StaffPerformStatEntity) obj;
            if (this.getId() == tmp.getId()) {
                 return true;
            }
        }
        return false;
    }

    public void initAttrValue(){

            this.staffId = 0L;

            this.staffName = "";

            this.totalScore = new BigDecimal(0);

            this.totalAddScore = new BigDecimal(0);

            this.totalSubScore = new BigDecimal(0);

            this.attendScoreAdd = new BigDecimal(0);

            this.attendScoreSub = new BigDecimal(0);

            this.reviewScoreAdd = new BigDecimal(0);

            this.reviewScoreSub = new BigDecimal(0);

            this.complainScoreAdd = new BigDecimal(0);

            this.complainScoreSub = new BigDecimal(0);

            this.goworkScoreAdd = new BigDecimal(0);

            this.goworkScoreSub = new BigDecimal(0);

            this.effectScoreAdd = new BigDecimal(0);

            this.effectScoreSub = new BigDecimal(0);

            this.otherScoreAdd = new BigDecimal(0);

            this.otherScoreSub = new BigDecimal(0);

            this.remark = "";

            this.year = -1;

            this.month = -1;

            this.day = -1;
    }
}