package cn.iocoder.yudao.module.mes.controller.admin.pro.feedback.vo;
|
|
import io.swagger.v3.oas.annotations.media.Schema;
|
import lombok.Data;
|
import java.math.BigDecimal;
|
import java.time.LocalDateTime;
|
import java.util.List;
|
import java.util.Map;
|
|
/**
|
* 管理后台 - 生产任务执行反馈分析 Response VO
|
*
|
* <p>把计划、实际报工、设备采集、物料消耗、交期偏差汇总到一处,
|
* 供车间与计划员定位延期原因。所有数据均来自现有表,不做推断性补数。
|
*/
|
@Schema(description = "管理后台 - 生产任务执行反馈分析 Response VO")
|
@Data
|
public class MesProTaskExecutionRespVO {
|
|
@Schema(description = "任务编号")
|
private Long taskId;
|
@Schema(description = "任务编码")
|
private String taskCode;
|
@Schema(description = "任务名称")
|
private String taskName;
|
@Schema(description = "生产工单编号")
|
private Long workOrderId;
|
@Schema(description = "任务状态")
|
private Integer status;
|
|
@Schema(description = "计划数量")
|
private BigDecimal plannedQuantity;
|
@Schema(description = "实际报工数量")
|
private BigDecimal producedQuantity;
|
@Schema(description = "合格数量")
|
private BigDecimal qualifyQuantity;
|
@Schema(description = "报废数量")
|
private BigDecimal unqualifyQuantity;
|
@Schema(description = "完成率(%)")
|
private BigDecimal completionRate;
|
|
@Schema(description = "计划开始时间")
|
private LocalDateTime startTime;
|
@Schema(description = "实际首次报工时间")
|
private LocalDateTime firstFeedbackTime;
|
@Schema(description = "实际最后报工时间")
|
private LocalDateTime lastFeedbackTime;
|
@Schema(description = "计划完成时间")
|
private LocalDateTime finishDate;
|
@Schema(description = "计划工时(分钟)")
|
private Integer plannedDuration;
|
@Schema(description = "实际耗时(分钟,首次到末次报工)")
|
private Long actualDuration;
|
|
@Schema(description = "是否延期")
|
private Boolean delayed;
|
@Schema(description = "延期天数(正数表示超期)")
|
private Long delayDays;
|
@Schema(description = "延期原因(按可观测信号给出的候选,需人工确认)")
|
private List<String> delayCauses;
|
|
@Schema(description = "设备运行数据(按设备汇总)")
|
private List<DeviceRun> deviceRuns;
|
@Schema(description = "物料消耗(按物料汇总)")
|
private List<MaterialConsumption> materialConsumptions;
|
|
@Schema(description = "设备运行汇总项")
|
@Data
|
public static class DeviceRun {
|
@Schema(description = "设备台账编号")
|
private Long machineryId;
|
@Schema(description = "设备编码")
|
private String deviceCode;
|
@Schema(description = "采集次数")
|
private Long sampleCount;
|
@Schema(description = "累计运行时长")
|
private BigDecimal totalRunTime;
|
@Schema(description = "最近采集时间")
|
private LocalDateTime lastCollectTime;
|
@Schema(description = "最近运行状态")
|
private Integer lastRunStatus;
|
@Schema(description = "告警数")
|
private Long alarmCount;
|
}
|
|
@Schema(description = "物料消耗项")
|
@Data
|
public static class MaterialConsumption {
|
@Schema(description = "物料编号")
|
private Long itemId;
|
@Schema(description = "物料编码")
|
private String itemCode;
|
@Schema(description = "物料名称")
|
private String itemName;
|
@Schema(description = "消耗数量")
|
private BigDecimal quantity;
|
@Schema(description = "单位")
|
private String unit;
|
}
|
}
|