package cn.iocoder.yudao.module.mes.controller.admin.pro.task.vo; import cn.idev.excel.annotation.ExcelIgnoreUnannotated; import cn.idev.excel.annotation.ExcelProperty; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import java.math.BigDecimal; import java.time.LocalDateTime; import java.util.List; @Schema(description = "管理后台 - MES 生产任务 Response VO") @Data @ExcelIgnoreUnannotated public class MesProTaskRespVO { @Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") private Long id; @Schema(description = "任务编码", example = "PT202503150001") @ExcelProperty("任务编码") private String code; @Schema(description = "任务名称", example = "注塑任务") @ExcelProperty("任务名称") private String name; @Schema(description = "生产工单编号", example = "1") private Long workOrderId; @Schema(description = "工单编码", example = "WO-001") @ExcelProperty("生产工单编号") private String workOrderCode; @Schema(description = "工单名称", example = "生产工单-A") @ExcelProperty("生产工单名称") private String workOrderName; @Schema(description = "工作站编号", example = "1") private Long workstationId; @Schema(description = "工作站编码", example = "WS-001") @ExcelProperty("工作站编码") private String workstationCode; @Schema(description = "工作站名称", example = "注塑工作站") @ExcelProperty("工作站") private String workstationName; @Schema(description = "工艺路线编号", example = "1") private Long routeId; @Schema(description = "工序编号", example = "1") private Long processId; @Schema(description = "工序名称", example = "注塑") @ExcelProperty("工序") private String processName; @Schema(description = "班组编号", example = "1") private Long teamId; @Schema(description = "班组名称", example = "运维一班") @ExcelProperty("班组") private String teamName; @Schema(description = "报工人用户编号列表,为空表示不限制", example = "[1, 2]") private List assigneeUserIds; @Schema(description = "报工人姓名,多个用顿号分隔", example = "张三、李四") @ExcelProperty("报工人") private String assigneeUserNames; @Schema(description = "产品物料编号", example = "100") private Long itemId; @Schema(description = "产品编码", example = "P-001") @ExcelProperty("物料编码") private String itemCode; @Schema(description = "产品名称", example = "电路板") @ExcelProperty("物料名称") private String itemName; @Schema(description = "规格型号", example = "100x200mm") @ExcelProperty("规格型号") private String itemSpecification; @Schema(description = "计量单位名称", example = "个") @ExcelProperty("单位") private String unitMeasureName; @Schema(description = "排产数量", example = "100.00") @ExcelProperty("计划数量") private BigDecimal quantity; @Schema(description = "已生产数量", example = "50.00") @ExcelProperty("已生产数量") private BigDecimal producedQuantity; @Schema(description = "合格品数量", example = "48.00") @ExcelProperty("合格数量") private BigDecimal qualifyQuantity; @Schema(description = "不良品数量", example = "2.00") @ExcelProperty("不合格数量") private BigDecimal unqualifyQuantity; @Schema(description = "待报工数量", example = "50.00") @ExcelProperty("待生产数量") private BigDecimal pendingQuantity; @Schema(description = "在途报工数量", example = "20.00") @ExcelProperty("在途报工数量") private BigDecimal inTransitQuantity; @Schema(description = "可报工数量", example = "30.00") @ExcelProperty("可报工数量") private BigDecimal reportableQuantity; @Schema(description = "报工完成率(%)", example = "50.00") @ExcelProperty("报工完成率(%)") private BigDecimal feedbackRate; @Schema(description = "调整数量", example = "0") private BigDecimal changedQuantity; @Schema(description = "客户编号", example = "300") private Long clientId; @Schema(description = "客户名称", example = "客户A") @ExcelProperty("客户") private String clientName; @Schema(description = "开始生产时间") @ExcelProperty("开始生产时间") private LocalDateTime startTime; @Schema(description = "生产时长(工作日)", example = "3") @ExcelProperty("生产时长(工作日)") private Integer duration; @Schema(description = "结束生产时间") @ExcelProperty("结束生产时间") private LocalDateTime endTime; @Schema(description = "甘特图显示颜色", example = "#00AEF3") private String colorCode; @Schema(description = "需求日期") @ExcelProperty("需求日期") private LocalDateTime requestDate; @Schema(description = "完成日期") @ExcelProperty("完成日期") private LocalDateTime finishDate; @Schema(description = "取消日期") @ExcelProperty("取消日期") private LocalDateTime cancelDate; @Schema(description = "任务状态", example = "0") @ExcelProperty("任务状态") private Integer status; @Schema(description = "是否质检(派生自工艺路线工序 checkFlag)", example = "true") @ExcelProperty("是否质检") private Boolean checkFlag; @Schema(description = "是否倒冲(派生自工艺路线工序 backflushFlag)", example = "true") @ExcelProperty("是否倒冲") private Boolean backflushFlag; @Schema(description = "备注", example = "备注") @ExcelProperty("备注") private String remark; @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) @ExcelProperty("创建时间") private LocalDateTime createTime; @Schema(description = "停工历史记录") private List pauseRecords; }