package com.yeechart.dotMatrix.signage.bean;


import lombok.Data;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.Set;


@Data
/**
 * 报表-人数/工时
 */
public class SheetCheckVo implements Serializable {

    /**
     * 时间节点-开始
     */
    private String timeStart;

    /**
     * 时间节点-结束
     */
    private String timeEnd;

    /**
     * 展示时间
     */
    private String time;


    /**
     * 人数-首页用，累计打卡数，不区分用户
     */
    private Integer peopleNum = 0;

    /**
     * 工时
     */
    private Integer work = 0;

    /**
     * 0生产人数-首页用
     */
    private Integer peoplep = 0;

    /**
     * 1维修人数-首页用
     */
    private Integer peoplew = 0;

    /**
     * 2巡检人数-首页用
     */
    private Integer peoplei = 0;

    /**
     * 3保养人数-首页用
     */
    private Integer peopleu = 0;
    private String _id;
    private Long tId;
    private Long wSId;


    /**
     * 0生产
     */
    private Integer peoplepWork = 0;

    /**
     * 1维修人数
     */
    private Integer peoplewWork = 0;

    /**
     * 2巡检人数
     */
    private Integer peopleiWork = 0;

    /**
     * 3保养人数
     */
    private Integer peopleuWork = 0;

    //打卡人
    private List<Long> uIds = new ArrayList<>();


    /**
     * 人数-概览用，累计打卡数，区分用户，签出不变
     */
    private Integer peopleNumo = 0;

    /**
     * 0生产人数-概览用，累计打卡数，区分用户，签出不变
     */
    private Integer peoplepo = 0;

    /**
     * 1维修人数-概览用，累计打卡数，区分用户，签出不变
     */
    private Integer peoplewo = 0;

    /**
     * 2巡检人数-概览用，累计打卡数，区分用户，签出不变
     */
    private Integer peopleio = 0;

    /**
     * 3保养人数-概览用，累计打卡数，区分用户，签出不变
     */
    private Integer peopleuo = 0;


    /**
     * 0生产人数-详情用，累计打卡数，同类型区分用户，签出不变
     */
    private Integer peoplepx = 0;

    /**
     * 1维修人数-详情用，累计打卡数，同类型区分用户，签出不变
     */
    private Integer peoplewx = 0;

    /**
     * 2巡检人数-详情用，累计打卡数，同类型区分用户，签出不变
     */
    private Integer peopleix = 0;

    /**
     * 3保养人数-详情用，累计打卡数，同类型区分用户，签出不变
     */
    private Integer peopleux = 0;

    //累计打卡人

    /**
     * 0生产人数打卡人
     */
    private List<Long> uIdsp = new ArrayList<>();

    /**
     * 1维修打卡人
     */
    private List<Long> uIdsw = new ArrayList<>();

    /**
     * 2巡检打卡人
     */
    private List<Long> uIdsi = new ArrayList<>();

    /**
     * 3保养打卡人
     */
    private List<Long> uIdsu = new ArrayList<>();

    //签入未签出的打卡人数，主要用于计算哪些需要延伸
    //统计工站报表签入未签出的打卡人数
    private Set<Long> uIdsoIn = new HashSet<>();


    /**
     * 0生产人数打卡人
     */
    private Set<Long> uIdspIn = new HashSet<>();

    /**
     * 1维修打卡人
     */
    private Set<Long> uIdswIn = new HashSet<>();

    /**
     * 2巡检打卡人
     */
    private Set<Long> uIdsiIn = new HashSet<>();

    /**
     * 3保养打卡人
     */
    private Set<Long> uIdsuIn = new HashSet<>();


    /**
     * 未签出工站详情报表工时
     */
    private Integer oWorkIn = 0;

    /**
     * 未签出0生产工时
     */
    private Integer pWorkIn = 0;

    /**
     * 未签出1维修工时
     */
    private Integer wWorkIn = 0;

    /**
     * 未签出2巡检工时
     */
    private Integer iWorkIn = 0;

    /**
     * 未签出3保养工时
     */
    private Integer uWorkIn = 0;


}
