package cn.iocoder.yudao.module.pms.controller.admin.iotprojectdailyreport.vo;

import cn.iocoder.yudao.module.pms.dal.dataobject.iotprojecttaskattrs.IotTaskAttrModelProperty;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.time.LocalDateTime;
import java.util.List;

@Schema(description = "管理后台 - 项目日报 Response VO")
@Data
@ExcelIgnoreUnannotated
public class IotProjectDailyReportRespVO {

    @Schema(description = "主键id", requiredMode = Schema.RequiredMode.REQUIRED, example = "16328")
    @ExcelProperty("主键id")
    private Long id;

    @Schema(description = "施工队伍id", example = "27980")
    @ExcelProperty("施工队伍id")
    private Long deptId;

    @Schema(description = "项目id", example = "12710")
    @ExcelProperty("项目id")
    private Long projectId;

    @Schema(description = "任务id", example = "4714")
    @ExcelProperty("任务id")
    private Long taskId;

    @Schema(description = "项目类别(钻井 修井 注氮 酸化压裂... )")
    @ExcelProperty("项目类别(钻井 修井 注氮 酸化压裂... )")
    private String projectClassification;

    @Schema(description = "施工开始日期")
    @ExcelProperty("施工开始日期")
    private LocalDateTime constructionStartDate;

    @Schema(description = "施工结束日期")
    @ExcelProperty("施工结束日期")
    private LocalDateTime constructionEndDate;

    @Schema(description = "下步工作计划")
    @ExcelProperty("下步工作计划")
    private String nextPlan;

    @Schema(description = "当日生产情况生产动态", example = "2")
    @ExcelProperty("当日生产情况生产动态")
    private String productionStatus;

    @Schema(description = "施工状态(数据字典)", example = "2")
    @ExcelProperty("施工状态(数据字典)")
    private Integer constructionStatus;

    @Schema(description = "人员情况")
    @ExcelProperty("人员情况")
    private String personnel;

    @Schema(description = "不同专业公司的扩展属性值")
    @ExcelProperty("不同专业公司的扩展属性值")
    private List<IotTaskAttrModelProperty> extProperty;

    @Schema(description = "排序值")
    @ExcelProperty("排序值")
    private Integer sort;

    @Schema(description = "备注", example = "随便")
    @ExcelProperty("备注")
    private String remark;

    @Schema(description = "状态(0启用 1禁用)", example = "1")
    @ExcelProperty("状态(0启用 1禁用)")
    private Integer status;

    @Schema(description = "流程实例id", example = "10815")
    @ExcelProperty("流程实例id")
    private String processInstanceId;

    @Schema(description = "审批状态 未提交、审批中、审批通过、审批不通过、已取消", example = "2")
    @ExcelProperty("审批状态 未提交、审批中、审批通过、审批不通过、已取消")
    private Integer auditStatus;

    @Schema(description = "创建时间")
    @ExcelProperty("创建时间")
    private LocalDateTime createTime;

}