package com.njcn.rdms.module.project.controller.admin.project.execution.vo.execution;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.time.LocalDate;

@Schema(description = "管理后台 - 我负责的执行（跨项目）Response VO")
@Data
public class MyProjectExecutionRespVO {

    @Schema(description = "执行编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "5001")
    private Long id;
    @Schema(description = "执行名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "后端接口联调")
    private String executionName;
    @Schema(description = "所属项目编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "2001")
    private Long projectId;
    @Schema(description = "所属项目名称", example = "商城 V2 升级")
    private String projectName;
    @Schema(description = "执行状态编码", requiredMode = Schema.RequiredMode.REQUIRED, example = "active")
    private String statusCode;
    @Schema(description = "执行状态名称", example = "进行中")
    private String statusName;
    @Schema(description = "优先级编码（字典 rdms_req_priority），0=P0(最高) ~ 3=P3(最低)", example = "0")
    private String priority;
    @Schema(description = "计划开始日期")
    private LocalDate plannedStartDate;
    @Schema(description = "计划结束日期")
    private LocalDate plannedEndDate;
    @Schema(description = "实际开始日期")
    private LocalDate actualStartDate;
    @Schema(description = "实际结束日期")
    private LocalDate actualEndDate;
    @Schema(description = "执行进度百分比 0-100", example = "68")
    private Integer progressRate;
    @Schema(description = "关联项目需求编号")
    private Long projectRequirementId;
    @Schema(description = "关联项目需求名称", example = "订单履约后端拆分（一期）")
    private String projectRequirementName;

}
