package com.casic.missiles.model.business;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.casic.missiles.model.equipment.EquipmentFixedAssets;
import com.casic.missiles.model.meter.MeterStaff;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.util.List;

/**
 * <p>
 * 现场检测表
 * </p>
 *
 * @author wangpeng
 * @since 2023-03-23
 */
@Data
@TableName("business_site_executive_info")
public class BusinessSiteExecutiveInfo implements Serializable {

    private static final long serialVersionUID = 1L;

    @TableId("id")
    private Long id;

    @ApiModelProperty(value = "现场检测编号", dataType = "String")
    @TableField("site_executive_no")
    private String siteExecutiveNo;

    @ApiModelProperty(value = "现场检测名字", dataType = "String")
    @TableField("site_executive_name")
    private String siteExecutiveName;

    @ApiModelProperty(value = "负责人id", dataType = "Long")
    @TableField("director_id")
    private Long directorId;

    @ApiModelProperty(value = "负责人名字", dataType = "String")
    @TableField("director_name")
    private String directorName;

    @ApiModelProperty(value = "申请时间", dataType = "String")
    @TableField("apply_time")
    private String applyTime;

    @ApiModelProperty(value = "任务来源-字典code", dataType = "String")
    @TableField("task_source")
    private String taskSource;

    @ApiModelProperty(value = "任务来源-字典value", dataType = "String")
    @TableField(exist = false)
    private String taskSourceName;

    @ApiModelProperty(value = "委托书id", dataType = "String")
    @TableField("order_id")
    private Long orderId;

    @ApiModelProperty(value = "委托方id", dataType = "String")
    @TableField("customer_id")
    private Long customerId;

    @ApiModelProperty(value = "预计计量费用", dataType = "String")
    @TableField("pre_cost")
    private String preCost;

    @ApiModelProperty(value = "预计开始时间", dataType = "String")
    @TableField("pre_start_time")
    private String preStartTime;

    @ApiModelProperty(value = "预计结束时间", dataType = "String")
    @TableField("pre_end_time")
    private String preEndTime;

    @ApiModelProperty(value = "检测地址", dataType = "String")
    @TableField("executive_address")
    private String executiveAddress;

    @ApiModelProperty(value = "现场环境条件", dataType = "String")
    @TableField("executive_environment")
    private String executiveEnvironment;

    @ApiModelProperty(value = "主要危害源及预防措施", dataType = "String")
    @TableField("hazard_source_and_prevention_method")
    private String hazardSourceAndPreventionMethod;

    @ApiModelProperty(value = "现场测试、校准或检定项目", dataType = "String")
    @TableField("executive_item")
    private String executiveItem;

    @ApiModelProperty(value = "审批状态", dataType = "String")
    @TableField("approval_status")
    private String approvalStatus;

    @ApiModelProperty(value = "流程实例id（未通过现场检测编辑接口必传参数）", dataType = "String")
    @TableField("process_id")
    private String processId;

    @TableField("remark")
    private String remark;


    @TableField("print_file_name")
    private String printFileName;

    @ApiModelProperty(hidden = true)
    @TableField("create_user")
    private Long createUser;

    @ApiModelProperty(hidden = true)
    @TableField("is_del")
    private Integer isDel;

    @ApiModelProperty(value = "创建时间", dataType = "String")
    @TableField("create_time")
    private String createTime;

    @ApiModelProperty(hidden = true)
    @TableField("update_time")
    private String updateTime;

    @TableField(exist = false)
    @ApiModelProperty(value = "携带仪器设备", dataType = "List")
    private List<EquipmentFixedAssets> equipmentInfoList;

    @TableField(exist = false)
    @ApiModelProperty(value = "现场测试、校准或检定人员", dataType = "List")
    private List<MeterStaff> meterStaffList;
}
