package com.mortals.xhx.module.window.model;
import java.util.List;
import java.util.Date;
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.WindowWorkmanPerformVo;
import com.mortals.xhx.module.window.model.WindowWorkmanPerformDetailEntity;
import lombok.Data;
/**
 * 窗口人员考核汇总登记实体对象
 *
 * @author zxfei
 * @date 2024-01-27
 */
@Data
public class WindowWorkmanPerformEntity extends WindowWorkmanPerformVo {
    private static final long serialVersionUID = 1L;

    /**
     * 考核年度
     */
    private Integer year;
    /**
     * 考核月份
     */
    private Integer month;
    /**
     * 窗口ID
     */
    private Long windowId;
    /**
     * 窗口名称
     */
    private String windowName;
    /**
     * 窗口负责人id
     */
    private Long ownerId;
    /**
     * 窗口负责人名称
     */
    private String ownerName;
    /**
     * 所属部门id
     */
    private Long deptId;
    /**
     * 所属部门名称
     */
    private String deptName;
    /**
     * 所属大厅
     */
    private Long salaId;
    /**
     * 所属大厅名称
     */
    private String salaName;
    /**
     * 备注
     */
    private String remark;
    /**
     * 附件名称
     */
    private String annex;
    /**
     * 附件地址
     */
    private String annexUrl;
    /**
     * 填报时间
     */
    private Date fillDate;
    /**
     * 填报状态0暂存1提交
     */
    private Integer fillStatus;
    /**
     * 窗口编号
     */
    private String windowCode;
    /**
     * 窗口人员考核汇总明细信息
     */
    private List<WindowWorkmanPerformDetailEntity> windowWorkmanPerformDetailList=new ArrayList<>();;
    public List<WindowWorkmanPerformDetailEntity> getWindowWorkmanPerformDetailList(){
        return windowWorkmanPerformDetailList;
    }

    public void setWindowWorkmanPerformDetailList(List<WindowWorkmanPerformDetailEntity> windowWorkmanPerformDetailList){
        this.windowWorkmanPerformDetailList = windowWorkmanPerformDetailList;
    }
    @Override
    public int hashCode() {
        return this.getId().hashCode();
    }
    @Override
    public boolean equals(Object obj) {
        if (obj == null) return false;
        if (obj instanceof WindowWorkmanPerformEntity) {
            WindowWorkmanPerformEntity tmp = (WindowWorkmanPerformEntity) obj;
            if (this.getId() == tmp.getId()) {
                return true;
            }
        }
        return false;
    }

    public void initAttrValue(){
        this.year = DateUtil.year(new Date());
        this.month = DateUtil.month(new Date())+1;
        this.windowId = null;
        this.windowName = "";
        this.ownerId = null;
        this.ownerName = "";
        this.deptId = null;
        this.deptName = "";
        this.salaId = null;
        this.salaName = "";
        this.remark = "";
        this.annex = "";
        this.annexUrl = "";
        this.fillDate = new Date();
        this.fillStatus = 0;
        this.windowCode = "";
    }
}