package com.casic.missiles.dto.business.siteExecutive;

import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.write.style.ColumnWidth;
import com.alibaba.excel.annotation.write.style.ContentRowHeight;
import com.alibaba.excel.annotation.write.style.ContentStyle;
import com.alibaba.excel.annotation.write.style.HeadRowHeight;
import com.alibaba.excel.enums.poi.BorderStyleEnum;
import com.baomidou.mybatisplus.annotation.TableField;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

/**
 * <p>
 * 现场检测表
 * </p>
 *
 * @author wangpeng
 * @since 2023-03-25
 */
@ColumnWidth(30)
@HeadRowHeight(15)
@ContentRowHeight(20)
@ContentStyle(borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN)
@ExcelIgnoreUnannotated
@ApiModel
@Data
public class SiteExecutiveApprovalListResponse {
    @ApiModelProperty(value = "主键id（列表、更新、详情接口参数）", dataType = "Long")
    private Long id;

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

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

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

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

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

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

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

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

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

    @ApiModelProperty(value = "委托方名字", dataType = "String")
    private String customerName;

    @ApiModelProperty(value = "委托方地址", dataType = "String")
    private String customerAddress;

    @ApiModelProperty(value = "委托方联系人", dataType = "String")
    private String deliverer;

    @ApiModelProperty(value = "委托方电话", dataType = "String")
    private String customerPhone;

    @ApiModelProperty(value = "送检人电话", dataType = "String")
    private String delivererTel;

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

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

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

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

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

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

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

    @ApiModelProperty(value = "备注", dataType = "String")
    private String remark;

    @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;

    @ApiModelProperty(value = "审批状态类型-字典code", dataType = "String")
    private String approvalStatus;

    @ApiModelProperty(value = "审批状态类型-字典value", dataType = "String")
    private String approvalStatusName;

    @ApiModelProperty(value = "流程实例id", dataType = "String")
    private String processId;

    @ApiModelProperty(value = "任务id（同意、驳回等操作使用）", dataType = "String")
    private String taskId;

    @ApiModelProperty(value = "可选决策项（1同意驳回拒绝 2同意驳回 3同意拒绝，用于待审批列表同意/驳回/拒绝按钮展示）", dataType = "Integer")
    private Integer decisionItem;
}
