添加OEE内容
This commit is contained in:
68
klp-da/src/main/java/com/klp/da/domain/bo/OeeQueryBo.java
Normal file
68
klp-da/src/main/java/com/klp/da/domain/bo/OeeQueryBo.java
Normal file
@@ -0,0 +1,68 @@
|
||||
package com.klp.da.domain.bo;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import lombok.Data;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
|
||||
import java.time.LocalDate;
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* OEE 查询条件 Bo
|
||||
*
|
||||
* 主要用于两条产线(酸轧线、镀锌一线)的聚合查询。
|
||||
* 具体字段与 docs/oee-report-design.md 中“接口设计”保持一致。
|
||||
*/
|
||||
@Data
|
||||
public class OeeQueryBo {
|
||||
|
||||
/**
|
||||
* 开始日期(yyyy-MM-dd)
|
||||
*/
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd")
|
||||
@JsonFormat(pattern = "yyyy-MM-dd")
|
||||
private LocalDate startDate;
|
||||
|
||||
/**
|
||||
* 结束日期(yyyy-MM-dd)
|
||||
*/
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd")
|
||||
@JsonFormat(pattern = "yyyy-MM-dd")
|
||||
private LocalDate endDate;
|
||||
|
||||
/**
|
||||
* 产线 ID 列表,例如 ["SY", "DX1"]
|
||||
*/
|
||||
private List<String> lineIds;
|
||||
|
||||
/**
|
||||
* 事件查询:开始时间
|
||||
*/
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
private LocalDateTime startTime;
|
||||
|
||||
/**
|
||||
* 事件查询:结束时间
|
||||
*/
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
private LocalDateTime endTime;
|
||||
|
||||
/**
|
||||
* 7 大损失类别编码(可选)
|
||||
*/
|
||||
private String lossCategoryCode;
|
||||
|
||||
/**
|
||||
* 关键字(事件明细筛选,匹配原因/备注等)
|
||||
*/
|
||||
private String keyword;
|
||||
|
||||
/**
|
||||
* TopN 设置(7 大损失 TOP 原因等,可选)
|
||||
*/
|
||||
private Integer topN;
|
||||
}
|
||||
|
||||
39
klp-da/src/main/java/com/klp/da/domain/vo/OeeEventVo.java
Normal file
39
klp-da/src/main/java/com/klp/da/domain/vo/OeeEventVo.java
Normal file
@@ -0,0 +1,39 @@
|
||||
package com.klp.da.domain.vo;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import lombok.Data;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
/**
|
||||
* OEE 事件(停机/损失)明细 VO
|
||||
*/
|
||||
@Data
|
||||
public class OeeEventVo {
|
||||
|
||||
private String lineId;
|
||||
|
||||
private String lineName;
|
||||
|
||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
private LocalDateTime eventStartTime;
|
||||
|
||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
private LocalDateTime eventEndTime;
|
||||
|
||||
/**
|
||||
* 时长(分钟)
|
||||
*/
|
||||
private Integer durationMin;
|
||||
|
||||
private String rawReasonCode;
|
||||
|
||||
private String rawReasonName;
|
||||
|
||||
private String lossCategoryCode;
|
||||
|
||||
private String lossCategoryName;
|
||||
|
||||
private String remark;
|
||||
}
|
||||
|
||||
@@ -0,0 +1,71 @@
|
||||
package com.klp.da.domain.vo;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import lombok.Data;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.time.LocalDate;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 产线 OEE 汇总 + 日趋势 VO
|
||||
*
|
||||
* 对应设计文档 7.1 返回结构中的一条 line 记录。
|
||||
*/
|
||||
@Data
|
||||
public class OeeLineSummaryVo {
|
||||
|
||||
/**
|
||||
* 产线 ID
|
||||
*/
|
||||
private String lineId;
|
||||
|
||||
/**
|
||||
* 产线名称
|
||||
*/
|
||||
private String lineName;
|
||||
|
||||
/**
|
||||
* 区间汇总
|
||||
*/
|
||||
private Summary total;
|
||||
|
||||
/**
|
||||
* 日粒度数据(用于趋势图)
|
||||
*/
|
||||
private List<Daily> daily;
|
||||
|
||||
@Data
|
||||
public static class Summary {
|
||||
private Integer loadingTimeMin;
|
||||
private Integer downtimeMin;
|
||||
private Integer runTimeMin;
|
||||
private BigDecimal totalOutput;
|
||||
private BigDecimal goodOutput;
|
||||
private BigDecimal defectOutput;
|
||||
|
||||
private BigDecimal availability;
|
||||
private BigDecimal performance;
|
||||
private BigDecimal quality;
|
||||
private BigDecimal oee;
|
||||
}
|
||||
|
||||
@Data
|
||||
public static class Daily {
|
||||
@JsonFormat(pattern = "yyyy-MM-dd")
|
||||
private LocalDate statDate;
|
||||
|
||||
private Integer loadingTimeMin;
|
||||
private Integer downtimeMin;
|
||||
private Integer runTimeMin;
|
||||
private BigDecimal totalOutput;
|
||||
private BigDecimal goodOutput;
|
||||
private BigDecimal defectOutput;
|
||||
|
||||
private BigDecimal availability;
|
||||
private BigDecimal performance;
|
||||
private BigDecimal quality;
|
||||
private BigDecimal oee;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,38 @@
|
||||
package com.klp.da.domain.vo;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
|
||||
/**
|
||||
* 7 大损失分类汇总 VO
|
||||
*/
|
||||
@Data
|
||||
public class OeeLossCategorySummaryVo {
|
||||
|
||||
/**
|
||||
* 损失类别编码(1~7 或枚举)
|
||||
*/
|
||||
private String lossCategoryCode;
|
||||
|
||||
/**
|
||||
* 损失类别名称
|
||||
*/
|
||||
private String lossCategoryName;
|
||||
|
||||
/**
|
||||
* 损失时间(分钟)
|
||||
*/
|
||||
private Integer lossTimeMin;
|
||||
|
||||
/**
|
||||
* 损失占比(0~1 或 0~100,随整体口径配置)
|
||||
*/
|
||||
private BigDecimal lossTimeRate;
|
||||
|
||||
/**
|
||||
* 事件次数(可选)
|
||||
*/
|
||||
private Integer count;
|
||||
}
|
||||
|
||||
@@ -0,0 +1,40 @@
|
||||
package com.klp.da.domain.vo;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
|
||||
/**
|
||||
* 损失原因 TopN VO
|
||||
*/
|
||||
@Data
|
||||
public class OeeLossReasonVo {
|
||||
|
||||
private String lineId;
|
||||
|
||||
/**
|
||||
* 原因编码
|
||||
*/
|
||||
private String reasonCode;
|
||||
|
||||
/**
|
||||
* 原因名称
|
||||
*/
|
||||
private String reasonName;
|
||||
|
||||
/**
|
||||
* 所属损失类别编码
|
||||
*/
|
||||
private String lossCategoryCode;
|
||||
|
||||
/**
|
||||
* 损失时间(分钟)
|
||||
*/
|
||||
private Integer lossTimeMin;
|
||||
|
||||
/**
|
||||
* 时间占比
|
||||
*/
|
||||
private BigDecimal lossTimeRate;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user