package org.jeecg.modules.fbsAbnormalWorkingHours.entity;

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

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.springframework.format.annotation.DateTimeFormat;
import org.jeecgframework.poi.excel.annotation.Excel;

/**
 * @Description: 生产异常信息统计单
 * @author： jeecg-boot
 * @date：   2020-10-13
 * @version： V1.0
 */
@Data
@TableName("fbs_abnormal_working_hours")
public class FbsAbnormalWorkingHours implements Serializable {
    private static final long serialVersionUID = 1L;
    
	/**异常工时统计表主键*/
	@TableId(type = IdType.UUID)
	private String id;
	/**姓名*/
	@Excel(name = "姓名", width = 15)
	private String name;
	/**u8人员id*/
	@Excel(name = "u8人员id", width = 15)
	private String personnelIdU8;
	/**u8人员名称*/
	@Excel(name = "u8人员名称", width = 15)
	private String personnelNameU8;
	/**日期*/
	@Excel(name = "日期", width = 20, format = "yyyy-MM-dd HH:mm:ss")
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
	private Date date;
	/**加班工时*/
	@Excel(name = "加班工时", width = 15)
	private String overtimeHours;
	/**加班原因*/
	@Excel(name = "加班原因", width = 15)
	private String overtimeReason;
	/**培训*/
	@Excel(name = "培训", width = 15)
	private String train;
	/**会议*/
	@Excel(name = "会议", width = 15)
	private String meeting;
	/**5s*/
	@Excel(name = "5s", width = 15)
	private String fiveS;
	/**研发*/
	@Excel(name = "研发", width = 15)
	private String researchAndDevelopment;
	/**质量*/
	@Excel(name = "质量", width = 15)
	private String quality;
	/**设计*/
	@Excel(name = "设计", width = 15)
	private String design;
	/**返工*/
	@Excel(name = "返工", width = 15)
	private String rework;
	/**物料*/
	@Excel(name = "物料", width = 15)
	private String materiel;
	/**能源*/
	@Excel(name = "能源", width = 15)
	private String energy;
	/**其他*/
	@Excel(name = "其他", width = 15)
	private String other;
	/**设备*/
	@Excel(name = "设备", width = 15)
	private String equipment;
	/**计划*/
	@Excel(name = "计划", width = 15)
	private String plan;
	/**异常原因描述*/
	@Excel(name = "异常原因描述", width = 15)
	private String descriptionAbnormalCause;
	/**异常类别id*/
	@Excel(name = "异常类别id", width = 15)
	private String exceptionCategoryId;
	/**异常类被名称*/
	@Excel(name = "异常类被名称", width = 15)
	private String exceptionCategoryName;
	/**改善措施*/
	@Excel(name = "改善措施", width = 15)
	private String improvementMeasures;
	/**备注*/
	@Excel(name = "备注", width = 15)
	private String memo;
	/**删除标记0正常1删除*/
	@Excel(name = "删除标记0正常1删除", width = 15)
	private String delFlag;
	/**创建人*/
	@Excel(name = "创建人", width = 15)
	private String createBy;
	/**创建时间*/
	@Excel(name = "创建时间", width = 20, format = "yyyy-MM-dd HH:mm:ss")
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
	private Date createTime;
	/**最后修改人*/
	@Excel(name = "最后修改人", width = 15)
	private String updateBy;
	/**最后修改时间*/
	@Excel(name = "最后修改时间", width = 20, format = "yyyy-MM-dd HH:mm:ss")
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
	private Date updateTime;
	/**自定义字段1*/
	@Excel(name = "自定义字段1", width = 15)
	private String def1;
	/**自定义字段2*/
	@Excel(name = "自定义字段2", width = 15)
	private String def2;
	/**自定义字段3*/
	@Excel(name = "自定义字段3", width = 15)
	private String def3;
	/**自定义字段4*/
	@Excel(name = "自定义字段4", width = 15)
	private String def4;
	/**自定义字段5*/
	@Excel(name = "自定义字段5", width = 15)
	private String def5;
	/**排序*/
	@Excel(name = "排序", width = 15)
	private Integer sort;
	/**生产线名称*/
	@Excel(name = "生产线名称", width = 15)
	private String productionLineName;

	/**生产线id*/
	@Excel(name = "生产线id", width = 15)
	private String productionLineId;
	/**应到人数*/
	private Integer numberOfPeopleToArrive;
	/**实到人数*/
	private Integer actualNumberOfPeople;
	/**出勤工时*/
	private Integer attendanceHours;

	//异常工时描述集合
	@TableField(exist = false)
	private List<FbsAbnormalWorkingHoursDescribe> fbsAbnormalWorkingHoursDescribeList;

	//异常类别
	@TableField(exist = false)
	private List<FbsAbnormalWorkingHoursType> fbsAbnormalWorkingHoursTypeList;

	@TableField(exist = false)
	private List<FbsAbnormalWorkingHours> fbsAbnormalWorkingHoursList;

	/**产品*/
	@Excel(name = "产品", width = 15)
	private String product;/**产品id*/
	@Excel(name = "产品id", width = 15)
	private String productId;
	@Excel(name = "派工单id", width = 15)
	private String workshopDispatchListId;
	@Excel(name = "不良品数量", width = 15)
	private String rejectsNumber;
	//类型id
	private String typeId;
	//类型名称
	private String typeName;
	//配料
	private String mixedIngredients;
	//入库
	private String warehousing;
	//打包
	private String pack;
	//仓库其他
	private String warehouseOthers;

	//不良品总数
	@TableField(exist = false)
	private String rejectsNumberTotal;
	//计划数量
	@TableField(exist = false)
	private BigDecimal plannedQuantity;
	//月份
	@TableField(exist = false)
	private String months;
	//开始时间
	@TableField(exist = false)
	private String start;
	//结束时间
	@TableField(exist = false)
	private String end;
}
