package cn.iocoder.yudao.module.mes.controller.admin.task.vo;

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;

@Schema(description = "管理后台 - 生产任务单明细 Response VO")
@Data
@ExcelIgnoreUnannotated
public class TaskDetailRespVO {

    @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "2696")
    @ExcelProperty("ID")
    private Long id;

    @Schema(description = "产品ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "4041")
    @ExcelProperty("产品ID")
    private Long productId;
    @Schema(description = "产品", requiredMode = Schema.RequiredMode.REQUIRED, example = "4041")
    @ExcelProperty("产品")
    private String productName;

    @Schema(description = "单位ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "13695")
    @ExcelProperty("单位ID")
    private Long unitId;
    @Schema(description = "单位", requiredMode = Schema.RequiredMode.REQUIRED, example = "13695")
    @ExcelProperty("单位")
    private String unitName;

    @Schema(description = "task ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "12825")
    @ExcelProperty("task ID")
    private Long taskId;

    @Schema(description = "数量", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("数量")
    private Long number;

    @Schema(description = "已计划", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("已计划数量")
    private Long planNumber;

    @Schema(description = "打包要求(每包/个)", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("打包要求(每包/个)")
    private Long packageSize;

    @Schema(description = "项目名称", example = "赵六")
    @ExcelProperty("项目名称")
    private String projectName;

    @Schema(description = "技术要求")
    @ExcelProperty("技术要求")
    private String techRequirements;

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

    @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("创建时间")
    private LocalDateTime createTime;

    /**
     * 打包数量/包
     */
    @Schema(description = "打包数量", example = "赵六")
    @ExcelProperty("打包数量")
    private Long packageNumber;
    /**
     * 条码
     */
    @Schema(description = "条码", example = "你猜")
    @ExcelProperty("条码")
    private String barCode;
    /**
     * 附件
     */
    @Schema(description = "附件", example = "你猜")
    @ExcelProperty("附件")
    private String attachment;
    /**
     * 工厂完成
     */
    @Schema(description = "工厂完成", example = "赵六")
    @ExcelProperty("工厂完成")
    private LocalDateTime finishDate;
    /**
     * 装柜时间
     */
    @Schema(description = "装柜时间", example = "赵六")
    @ExcelProperty("装柜时间")
    private LocalDateTime boxingDate;
    /**
     * 达到时间
     */
    @Schema(description = "达到时间", example = "赵六")
    @ExcelProperty("达到时间")
    private LocalDateTime arriveDate;
    /**
     * 订单单号
     */
    @Schema(description = "订单单号", example = "你猜")
    @ExcelProperty("订单单号")
    private String saleOrderCode;
}