package com.cpop.oam.business.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.experimental.Accessors;

import java.time.LocalDate;
import java.time.LocalDateTime;

/**
 * 需求分页对象
 * @author DB
 * @since 2023-11-30 16:01:47
 * @version 1.0.0
 */
@Data
@Accessors(chain = true)
@Schema(description = "需求管理")
public class TaskDemandPageVo {

    /**
     * 主键
     */
    @Schema(description ="主键")
    private String id;

    /**
     * 品牌/机构ID
     */
    @Schema(description ="品牌/机构ID")
    private String brandId;

    /**
     * 品牌/机构
     */
    @Schema(description ="品牌/机构")
    private String brandName;

    /**
     * 校区/店铺ID
     */
    @Schema(description ="校区/店铺ID")
    private String storeId;

    /**
     * 校区/店铺
     */
    @Schema(description ="校区/店铺")
    private String storeName;

    /**
     * 任务内容
     */
    @Schema(description ="任务内容")
    private String taskContent;

    /**
     * 附件地址
     */
    @Schema(description ="附件地址")
    private String attachmentUrl;

    /**
     * 记录员工Id
     */
    @Schema(description ="记录员工Id")
    private String recordStaffId;

    /**
     * 记录员工名
     */
    @Schema(description ="记录员工名")
    private String recordStaffName;

    /**
     * 创建时间
     */
    @Schema(description ="创建时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private LocalDateTime createTime;

    /**
     * 更新人
     */
    @Schema(description ="更新人")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private String updateUserId;

    /**
     * 更新人
     */
    @Schema(description ="更新人")
    private String updateStaffName;

    /**
    * 更新时间
    */
    @Schema(description ="更新时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private LocalDateTime updateTime;

    /**预期完成时间 */
    @Schema(description ="预期完成时间")
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private LocalDate expectedCompletionDate;

    /**
     * 是否加急
     */
    @Schema(description ="是否加急")
    private Integer isUrgent;

    /**任务评级(0:A;1:B;2:C;3:D;4:E) */
    @Schema(description ="任务评级(0:A;1:B;2:C;3:D;4:E)")
    private String taskRating;

    /**任务接收员工Id */
    @Schema(description ="领取人Id")
    private String responsibleStaffId;

    /**任务接收员工 */
    @Schema(description ="领取人")
    private String responsibleStaffName;

    /**任务领取时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @Schema(description ="任务领取时间")
    private LocalDateTime taskReceiptTime;

    /**完成日期 */
    @Schema(description ="完成日期")
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private LocalDate completionDate;

    /**测试转部署文件 */
    @Schema(description ="测试转部署文件")
    private String testToFinishUrl;

    /**
     * 备注
     */
    @Schema(description ="备注")
    private String remark;
}
