package com.galaxis.manatee.entity.chuanyun.data.object;

import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springframework.format.annotation.DateTimeFormat;

import javax.persistence.Entity;
import javax.persistence.Transient;
import java.time.LocalDateTime;
import java.util.List;

/**
 * @author zcj
 * @version 0.1
 */
@EqualsAndHashCode(callSuper = true)
@Entity(name = "CHUANYUN_PROJECT_LOG")
@Data
public class ProjectLogDO extends BasicDO {

    /**
     * 表单编码
     */
    public static final String SCHEMA_CODE ="mgo6ka70vm0m8yau0qvaj6h93";

    /**
     * 人员类型，关联人员类型表单
     */
    @JsonProperty("F0000016")
    private String colleagueRole;
    /**
     * 日志日期
     */
    @DateTimeFormat(pattern = "yyyy/MM/dd HH:mm:ss")
    @JsonProperty("F0000004")
    private LocalDateTime logDate;
    /**
     * 项目1的Id
     */
    @JsonProperty("F0000005")
    private String projectOneId;
    /**
     * 项目1工时
     */
    @JsonProperty("F0000010")
    private Integer projectOneWorkHours;
    /**
     * 项目负责人
     */
    @JsonProperty("F0000027")
    private String projectOnePersonInCharge;
    /**
     * 项目1状态
     */
    @JsonProperty("F0000023")
    private String projectOneStatus;
    /**
     * 项目1当天日志内容
     */
    @JsonProperty("F0000008")
    private String projectOneLogContent;
    /**
     * 项目2
     */
    @JsonProperty("F0000020")
    private String projectTwo;
    /**
     * 项目2工时
     */
    @JsonProperty("F0000021")
    private String projectTwoWorkHour;
    /**
     * 项目2状态
     */
    @JsonProperty("F0000024")
    private String projectTwoStatus;
    /**
     * 项目2当天日志内容
     */
    @JsonProperty("F0000022")
    private String projectTwoLogContent;
    /**
     * 抄送人员列表
     */
    @JsonProperty("F0000019")
    @Transient
    private List<String> carbonCopyList;
    /**
     * 现场照片列表
     */
    @JsonProperty("F0000018")
    @Transient
    private List<String> pictureList;
    /**
     * 明日计划
     */
    @JsonProperty("F0000007")
    private String tomorrowPlan;
    /**
     * 明日需要协调的资源
     */
    @JsonProperty("F0000017")
    private String tomorrowAssociation;
    /**
     * 明日安全隐患
     */
    @JsonProperty("F0000011")
    private String tomorrowSafetyHazard;
    /**
     * 明日电气工程师人数
     */
    @JsonProperty("F0000012")
    private Integer electricalEngineerAmount;
    /**
     * 明日软件工程师人数
     */
    @JsonProperty("F0000013")
    private Integer softwareEngineerAmount;
    /**
     * 明日设备工程师人数
     */
    @JsonProperty("F0000014")
    private Integer equipmentEngineerAmount;
    /**
     * 外包人员数量
     */
    @JsonProperty("F0000015")
    private String outsourceAmount;
    /**
     * 拥有者姓名
     */
    @JsonProperty("OwnerId")
    private String ownerId;
    /**
     * 创建人姓名
     */
    @JsonProperty("CreatedBy")
    private String createdBy;
    /**
     * 拥有者所在部门
     */
    @JsonProperty("OwnerDeptIdObject")
    @Transient
    private RelationObject ownerDepartmentIdObject;
    /**
     * 项目1负责人对象
     */
    @JsonProperty("F0000027Object")
    @Transient
    private RelationObject projectOnePersonInChargeObject;
    /**
     * 抄送人员对象列表
     */
    @JsonProperty("F0000019Object")
    @Transient
    private List<RelationObject> carbonCopyObjectList;
    /**
     * 拥有者对象
     */
    @JsonProperty("OwnerIdObject")
    @Transient
    private RelationObject ownerIdObject;
    /**
     * 创建人对象
     */
    @JsonProperty("CreatedByObject")
    @Transient
    private RelationObject createdByObject;
}