package com.infoepoch.pms.agent.domain.itworkbench.model.department;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

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

/**
 * 部门工作进度
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
public class DepartmentWorkProgress {

    /**
     * 年月
     */
    private String yearMonth;
    //下月工作计划
    private String lastMonthTarget;
    // 重点工作级别
    private String workLevel;
    // 是否领导级别月工作
    private Boolean leaderLevelFlag;
    // 更新时间
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date submitTime;
    //审核人
    private String submitPerson;
    private Boolean canEdit;
    private String file;
    /**
     * 主键
     */
    private String id;
    /**
     * 单据头ID
     */
    private String parentId;
    /**
     * 录入时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date recordTime;
    /**
     * 年份
     */
    private String year;
    /**
     * 月份
     */
    private String month;
    /**
     * 内容
     */
    private String content;
    /**
     * 目标值
     */
    private String target;
    /**
     * 实际值
     */
    private String actual;
    /**
     * 遗留值
     */
    private String remain;
    /**
     * 是否完成
     */
    private Boolean isFinish;

    /**
     * 负责人id
     */
    private String managerId;

    /**
     * 负责人姓名
     */
    private String managerName;

    /**
     * 管理员审核结果
     */
    private Boolean approveResult;

    /**
     * 管理员审批意见
     */
    private String approveReason;

    /**
     * 计划完成时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date planCompletionTime;

    /**
     * 截至目前完成进度
     */
    private BigDecimal proportionJobs;
    /**
     * 计划进度
     */
    private BigDecimal planProgress;

    /**
     * 未完成工作
     */
    private String unfinishedWork;
    // 提交审核标识
    private Boolean submitFlag;

    private Integer lastReFillFlag;

    public List<ManagerMonthRecord> managerMonthRecordList;
}
