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

import cn.iocoder.yudao.module.pms.controller.admin.iotrddailyreportdetail.vo.IotRdDailyReportDetailRespVO;
import cn.iocoder.yudao.module.pms.dal.dataobject.iotattachment.IotAttachmentDO;
import cn.iocoder.yudao.module.pms.dal.dataobject.iotprojecttaskattrs.IotTaskAttrModelProperty;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.math.BigDecimal;
import java.util.List;
import java.util.Set;

@Schema(description = "管理后台 - 项目任务 平台井 Response VO")
@Data
@ExcelIgnoreUnannotated
public class IotProjectTaskPlatformVO {

    @Schema(description = "主键id", example = "284")
    private Long id;

    @Schema(description = "井号", example = "#2988")
    private String wellName;

    @Schema(description = "设计工作量", example = "123")
    private String workloadDesign;

    @Schema(description = "日报id", example = "314")
    private Long reportId;

    @Schema(description = "当前平台关联井已经选择的扩展属性值")
    private List<IotTaskAttrModelProperty> extProperty;

    @Schema(description = "当前平台关联井已经选择的施工工艺")
    private Set<Long> techniqueIds;

    @Schema(description = "当前平台关联井已经选择的施工工艺 数据字典label值")
    private String techniqueNames;

    @Schema(description = "任务状态", example = "sg")
    private String rdStatus;

    @Schema(description = "任务状态 数据字典label值", example = "施工")
    private String rdStatusLabel;

    @Schema(description = "关联井当日油耗", example = "12.3")
    private BigDecimal dailyFuel;

    @Schema(description = "当日生产情况生产动态", example = "正常施工")
    private String productionStatus;;

    @Schema(description = "当日施工简报", example = "正常施工")
    private String constructionBrief;;

    @Schema(description = "下步工作计划", example = "继续施工")
    private String nextPlan;

    @Schema(description = "外租情况")
    private String externalRental;

    @Schema(description = "故障情况")
    private String malfunction;

    @Schema(description = "故障误工h")
    private BigDecimal faultDowntime;

    @Schema(description = "附件列表")
    private List<IotAttachmentDO> attachments;

    @Schema(description = "生产动态明细")
    private List<IotRdDailyReportDetailRespVO> reportDetails;

    /**
     * 非生产时间
     */
    @Schema(description = "事故非生产时间(H)")
    private BigDecimal accidentTime;

    @Schema(description = "修理非生产时间(H)")
    private BigDecimal repairTime;

    @Schema(description = "自停非生产时间(H)")
    private BigDecimal selfStopTime;

    @Schema(description = "复杂非生产时间(H)")
    private BigDecimal complexityTime;

    @Schema(description = "搬迁非生产时间(H)")
    private BigDecimal relocationTime;

    @Schema(description = "整改非生产时间(H)")
    private BigDecimal rectificationTime;

    @Schema(description = "等停非生产时间(H)")
    private BigDecimal waitingStopTime;

    @Schema(description = "冬休非生产时间")
    private BigDecimal winterBreakTime;

    @Schema(description = "甲方设计-非生产时间")
    private BigDecimal partyaDesign;

    @Schema(description = "甲方准备-非生产时间")
    private BigDecimal partyaPrepare;

    @Schema(description = "甲方资源-非生产时间")
    private BigDecimal partyaResource;

    @Schema(description = "其它非生产时间")
    private BigDecimal otherNptTime;

    @Schema(description = "非生产时效")
    private BigDecimal nptRate;

    @Schema(description = "其它非生产时间原因")
    private String otherNptReason;
}