diff --git a/modules/i3plus-pojo-andon/src/main/java/cn/estsh/i3plus/pojo/andon/model/AndonBoardModel.java b/modules/i3plus-pojo-andon/src/main/java/cn/estsh/i3plus/pojo/andon/model/AndonBoardModel.java index 819fdd7..6c8ff91 100644 --- a/modules/i3plus-pojo-andon/src/main/java/cn/estsh/i3plus/pojo/andon/model/AndonBoardModel.java +++ b/modules/i3plus-pojo-andon/src/main/java/cn/estsh/i3plus/pojo/andon/model/AndonBoardModel.java @@ -21,6 +21,12 @@ public class AndonBoardModel { @ApiParam("工作单元名称") private String workCellName; + @ApiParam("生产线代码") + private String workCenterCode; + + @ApiParam("生产线名称") + private String workCenterName; + @ApiParam("安灯任务编号") private String andonOrderNo; @@ -36,9 +42,12 @@ public class AndonBoardModel { @ApiParam("响应时长 单位:分钟") private Long responseTimeCount = 0L; - @ApiParam("解决时长 单位:分钟") + @ApiParam("响应时长 单位:分钟") private Long resetTimeCount = 0L; + @ApiParam("响应时长/响应时长(通用) 单位:分钟") + private Long commonTimeCount = 0L; + @ApiParam("安灯正常处理的次数") private Integer inTime = 0; @@ -60,6 +69,8 @@ public class AndonBoardModel { @ApiParam("工位运行状态") private String cellStatus; + @ApiParam("图表类型颜色") + private String color; public int getTotalTimeVal() { return totalTime == null ? 0 : totalTime; @@ -85,6 +96,8 @@ public class AndonBoardModel { return resetTimeCount == null ? 0 : resetTimeCount; } - + public double getCommonTimeCountVal() { + return commonTimeCount == null ? 0 : commonTimeCount; + } } diff --git a/modules/i3plus-pojo-andon/src/main/java/cn/estsh/i3plus/pojo/andon/model/AndonMenuInterfaceModel.java b/modules/i3plus-pojo-andon/src/main/java/cn/estsh/i3plus/pojo/andon/model/AndonMenuInterfaceModel.java index cad9398..79813f6 100644 --- a/modules/i3plus-pojo-andon/src/main/java/cn/estsh/i3plus/pojo/andon/model/AndonMenuInterfaceModel.java +++ b/modules/i3plus-pojo-andon/src/main/java/cn/estsh/i3plus/pojo/andon/model/AndonMenuInterfaceModel.java @@ -1,6 +1,8 @@ package cn.estsh.i3plus.pojo.andon.model; import cn.estsh.i3plus.pojo.andon.bean.AndonManageQueue; +import cn.estsh.i3plus.pojo.andon.bean.MesWorkCenter; +import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiParam; import lombok.Data; @@ -40,27 +42,54 @@ public class AndonMenuInterfaceModel{ @ApiParam("当前安灯类型故障比例") private Double proportion = 0D; - @ApiParam("当前工厂的产线故障统计") - private List andonWorkcenterList; + @ApiParam("图表类型颜色") + private String color; - @ApiParam("当前产线的所有故障统计") - private List alarmBrokenInfoList; + @ApiParam("安灯状态") + private Integer actionCode; - @ApiParam("当前产线的未解决故障统计") - private List pendingSolveBrokenInfoList; + @ApiParam("安灯状态名称") + private String actionName; + + @ApiParam("mes微服调用-故障次数占比") + private List mesBrokenRatioList; - @ApiParam("当前产线的响应时长top10") - private List responseInfoList; + @ApiParam("故障时长类型占比 / 故障次数占比 / 工厂故障信息-产线故障时长-产线时长集合") + private List brokenRatioList; - @ApiParam("当前产线的解决时长top10") - private List solveInfoList; + @ApiParam("工厂故障信息-产线故障时长-安灯类型集合") + private List workcenterBrokenTimeList; - @ApiParam("当前产线的异常时长top10") - private List exceptionInfoList; + @ApiParam("工厂故障信息-产线故障时长-产线集合") + private List workCenterList; - @ApiParam("当前产线的站点状态统计") + @ApiParam("产线整体状态") + private List andonWorkcenterList; + + @ApiParam("产品运行状态示意图") private List andonCellGroupStatusList; + @ApiParam("事件设备时长TOP10") + private List equTimeList; + + @ApiParam("事件设备时长TOP10-次数") + private List equInTimeList; + + @ApiParam("事件质量时长TOP10") + private List qualityTimeList; + + @ApiParam("事件质量时长TOP10-次数") + private List qualityInTimeList; + + @ApiParam("事件物料时长TOP10") + private List partTimeList; + + @ApiParam("事件物料时长TOP10-次数") + private List partInTimeList; + + @ApiParam("当前产线的未解决故障统计") + private List pendingSolveBrokenInfoList; + public double getExceptionTimeVal() { return exceptionTime == null ? 0 : exceptionTime; } diff --git a/modules/i3plus-pojo-andon/src/main/java/cn/estsh/i3plus/pojo/andon/sqlpack/AndonHqlPack.java b/modules/i3plus-pojo-andon/src/main/java/cn/estsh/i3plus/pojo/andon/sqlpack/AndonHqlPack.java index 1dfe741..74e3e2b 100644 --- a/modules/i3plus-pojo-andon/src/main/java/cn/estsh/i3plus/pojo/andon/sqlpack/AndonHqlPack.java +++ b/modules/i3plus-pojo-andon/src/main/java/cn/estsh/i3plus/pojo/andon/sqlpack/AndonHqlPack.java @@ -867,4 +867,13 @@ public class AndonHqlPack { return result; } + + public static DdlPackBean packHqlAndonMenu(String organizeCode, String workCenterCode, String startDateTime, String endDateTime) { + DdlPackBean result = DdlPackBean.getDdlPackBean(organizeCode); + if (!StringUtils.isEmpty(workCenterCode)) { + DdlPreparedPack.getStringEqualPack(workCenterCode, "workCenterCode", result); + } + DdlPreparedPack.timeBuilder(startDateTime, endDateTime, "createDatetime", result, true); + return result; + } } diff --git a/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/enumutil/AndonEnumUtil.java b/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/enumutil/AndonEnumUtil.java index b8293b6..b05d85c 100644 --- a/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/enumutil/AndonEnumUtil.java +++ b/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/enumutil/AndonEnumUtil.java @@ -947,24 +947,27 @@ public class AndonEnumUtil { */ @JsonFormat(shape = JsonFormat.Shape.OBJECT) public enum ALARM_TYPE { - PART("PART_ALARM", 110060104, "物料"), - QUALITY("QUALITY_ALARM", 110060105, "质量"), - EQUIP("EQUMENT_ALARM", 110060106, "设备"), - PROCESS("ROUTING_ALARM", 110060107, "工艺"), - CHECK("OTHER_ALARM", 110060108, "自处理"), - FIX_ERROR("FIX_ERROR", 110060109, "自动报警"); + //下面的顺序不要更改,packBrokenTimeTypeRatioList方法有用到此枚举的顺序 + EQUIP("EQUMENT_ALARM", 110060106, "设备", "#D06D6A"), + QUALITY("QUALITY_ALARM", 110060105, "质量", "#9084FF"), + PART("PART_ALARM", 110060104, "物料", "#24BDBA"), + PROCESS("ROUTING_ALARM", 110060107, "工艺", "#2B97F9"), + CHECK("OTHER_ALARM", 110060108, "自处理", "#EAA510"), + FIX_ERROR("FIX_ERROR", 110060109, "自动报警", "#797B7F"); private String value; private Integer code; private String description; + private String colour; - ALARM_TYPE(String value, Integer code, String description) { + ALARM_TYPE(String value, Integer code, String description, String colour) { this.value = value; this.code = code; this.description = description; + this.colour = colour; } - public String getValue() { + public String getValue() { return value; } @@ -976,6 +979,10 @@ public class AndonEnumUtil { return description; } + public String getColour() { + return colour; + } + public static String valueOfDescription(String val) { String tmp = null; for (int i = 0; i < values().length; i++) { @@ -995,6 +1002,16 @@ public class AndonEnumUtil { } return tmp; } + + public static String colourOfValue(String val) { + String tmp = null; + for (int i = 0; i < values().length; i++) { + if (StringUtils.equalsIgnoreCase(values()[i].value, val)) { + tmp = values()[i].colour; + } + } + return tmp; + } } /** diff --git a/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/enumutil/MesEnumUtil.java b/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/enumutil/MesEnumUtil.java index 96d78a8..91d933f 100644 --- a/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/enumutil/MesEnumUtil.java +++ b/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/enumutil/MesEnumUtil.java @@ -1871,7 +1871,7 @@ public class MesEnumUtil { } /** - * pcn 动作类型 + * MesProdBindRecord 动作类型 */ @JsonFormat(shape = JsonFormat.Shape.OBJECT) public enum MES_ACTION_TYPE { @@ -3161,6 +3161,7 @@ public class MesEnumUtil { return tmp; } } + /** * 质量标准配置 */ @@ -3168,7 +3169,8 @@ public class MesEnumUtil { public enum QUALITY_STANDARD_TYPE { NG_RATE(10, "不良率"), - PPM(20, "PPM"); + INNER_PPM(20, "PPM"), + ONLINE_PPM(30, "线上PPM"); private int value; private String description; @@ -3233,6 +3235,7 @@ public class MesEnumUtil { return tmp; } } + /** * MesProduceSn实体对应的qcStatus值 条码表条码质量状态 */ diff --git a/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/util/StringUtil.java b/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/util/StringUtil.java index d1cc236..46af027 100644 --- a/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/util/StringUtil.java +++ b/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/util/StringUtil.java @@ -16,8 +16,6 @@ public class StringUtil { return false; } - - /** * 获取对象所有属性名 * @param clazz @@ -47,14 +45,6 @@ public class StringUtil { for(int i = 0;i < superFields.length; i++){ fieldNames.add(superFields[i].getName()); } -// fieldNames.add("id"); -// fieldNames.add("organizeCode"); -// fieldNames.add("isValid"); -// fieldNames.add("isDeleted"); -// fieldNames.add("createUser"); -// fieldNames.add("createDatetime"); -// fieldNames.add("modifyUser"); -// fieldNames.add("modifyDatetime"); return fieldNames; } @@ -75,18 +65,4 @@ public class StringUtil { return null; } } - - /** - * 拼接对象所有属性名 - * @return - */ - public static String getFieldNames(String[] fieldNames) { - StringBuffer stringBuffer = new StringBuffer(); - for (String fieldName : fieldNames) { - stringBuffer.append(fieldName).append(","); - } - int stringBufferLength = stringBuffer.length(); - stringBuffer.delete(stringBufferLength - 1, stringBufferLength); - return stringBuffer.toString(); - } } diff --git a/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/bean/IfWmsPpm.java b/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/bean/IfWmsPpm.java new file mode 100644 index 0000000..f66ba69 --- /dev/null +++ b/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/bean/IfWmsPpm.java @@ -0,0 +1,57 @@ +package cn.estsh.i3plus.pojo.mes.bean; + + +import cn.estsh.i3plus.pojo.base.bean.BaseBean; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiParam; +import lombok.Data; +import lombok.EqualsAndHashCode; +import org.hibernate.annotations.DynamicInsert; +import org.hibernate.annotations.DynamicUpdate; + +import javax.persistence.Column; +import javax.persistence.Entity; +import javax.persistence.Table; + +/** + * @Author: Wynne.Lu + * @CreateDate: 2019/12/12 4:00 下午 + * @Description: + **/ +@Data +@Entity +@DynamicInsert +@DynamicUpdate +@EqualsAndHashCode(callSuper = true) +@Table(name = "IF_WMS_PPM") +@Api("WMS PPM 接口表") +public class IfWmsPpm extends BaseBean { + + @Column(name = "YEAR") + @ApiParam("年") + private String year; + + @Column(name = "MONTH") + @ApiParam("月") + private String month; + + @Column(name = "PPM_VALUE") + @ApiParam("PPM值") + private String ppmValue; + + @Column(name = "SYNC_STATUS") + @ApiParam("同步状态") + private Integer syncStatus; + + @Column(name = "ERROR_MESSAGE") + @ApiParam("异常消息") + private String errorMessage; + + @Column(name = "ACTION_CODE") + @ApiParam("动作代码") + private String actionCode; + + @Column(name = "IF_CODE") + @ApiParam("接口代码") + private String ifCode; +} diff --git a/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/bean/MesProduceSn.java b/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/bean/MesProduceSn.java index 4a0664a..91b8786 100644 --- a/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/bean/MesProduceSn.java +++ b/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/bean/MesProduceSn.java @@ -138,6 +138,23 @@ public class MesProduceSn extends BaseBean { @ApiParam("下线结束时间") private String outWorkCenterTimeEnd; + @Transient + @ApiParam("操作类型名称") + private String operateTypeName; + + @Transient + @ApiParam("条码状态名称") + private String snStatusName; + + @Transient + @ApiParam("质量状态名称") + private String qcStatusName; + + @Transient + @ApiParam("条码类型名称") + private String snTypeName; + + public double getQtyVal() { return this.qty == null ? 0.0d : this.qty; } diff --git a/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/bean/MesProduceSnTravel.java b/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/bean/MesProduceSnTravel.java index 2ffdb60..ab88546 100644 --- a/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/bean/MesProduceSnTravel.java +++ b/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/bean/MesProduceSnTravel.java @@ -138,6 +138,22 @@ public class MesProduceSnTravel extends BaseBean { @ApiParam("下线结束时间") private String outWorkCenterTimeEnd; + @Transient + @ApiParam("操作类型名称") + private String operateTypeName; + + @Transient + @ApiParam("条码状态名称") + private String snStatusName; + + @Transient + @ApiParam("质量状态名称") + private String qcStatusName; + + @Transient + @ApiParam("条码类型名称") + private String snTypeName; + public double getQtyVal() { return this.qty == null ? 0.0d : this.qty; } diff --git a/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/model/ProdBindRecordModel.java b/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/model/ProdBindRecordModel.java index cc2e482..4c09523 100644 --- a/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/model/ProdBindRecordModel.java +++ b/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/model/ProdBindRecordModel.java @@ -74,6 +74,12 @@ public class ProdBindRecordModel implements Serializable { @ApiParam(value = "动作类型") private String actionType; + @ApiParam(value = "是否绑定关键件名称") + private String isBindKeyName; + + @ApiParam(value = "动作类型名称") + private String actionTypeName; + public ProdBindRecordModel() { } diff --git a/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/model/ProductBiModel.java b/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/model/ProductBiModel.java index c5a3c6e..ed73333 100644 --- a/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/model/ProductBiModel.java +++ b/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/model/ProductBiModel.java @@ -66,6 +66,9 @@ public class ProductBiModel { @ApiParam("x坐标内容") private List xAxis; + @ApiParam("一些携带值 eg:异常类型,异常次数") + private Map carryMap; + @ApiParam("图表显示的数据") private List series; diff --git a/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/model/QcCheckDataModel.java b/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/model/QcCheckDataModel.java index 885043f..1d8e6e8 100644 --- a/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/model/QcCheckDataModel.java +++ b/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/model/QcCheckDataModel.java @@ -82,11 +82,17 @@ public class QcCheckDataModel { @ApiParam("物料名称") private String partName; + @ApiParam(value = "修改人") + private String modifyUser; + + @ApiParam(value = "修改日期") + private String modifyDatetime; + public QcCheckDataModel() { } - public QcCheckDataModel(Long id, String organizeCode, String createUser, String createDatetime, String checkId, String partNo, String workCenterCode, String workCellCode, Integer checkType, String checkItem, String checkStandard, String checkGuide, String checkFrequency, String checkValue, String checkResult, String sn, Integer qty, String memo, String orderNo, String custCode, String shiftCode, String shiftGroupName, String squadLeader, String workCellName, String partName) { + public QcCheckDataModel(Long id, String organizeCode, String createUser, String createDatetime, String checkId, String partNo, String workCenterCode, String workCellCode, Integer checkType, String checkItem, String checkStandard, String checkGuide, String checkFrequency, String checkValue, String checkResult, String sn, Integer qty, String memo, String orderNo, String custCode, String shiftCode, String shiftGroupName, String squadLeader, String workCellName, String partName, String modifyUser, String modifyDatetime) { this.id = id; this.organizeCode = organizeCode; this.createUser = createUser; @@ -112,5 +118,7 @@ public class QcCheckDataModel { this.squadLeader = squadLeader; this.workCellName = workCellName; this.partName = partName; + this.modifyUser = modifyUser; + this.modifyDatetime = modifyDatetime; } } diff --git a/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/repository/IfWmsPpmRepository.java b/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/repository/IfWmsPpmRepository.java new file mode 100644 index 0000000..4c96fa6 --- /dev/null +++ b/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/repository/IfWmsPpmRepository.java @@ -0,0 +1,14 @@ +package cn.estsh.i3plus.pojo.mes.repository; + +import cn.estsh.i3plus.pojo.base.jpa.dao.BaseRepository; +import cn.estsh.i3plus.pojo.mes.bean.IfWmsPpm; + +/** + * @Description: + * @Reference: + * @Author: joke.wang + * @CreateDate: 2019\11\18 10:34 + * @Modify: + **/ +public interface IfWmsPpmRepository extends BaseRepository { +}