From 26693e107f4f69066cf46ebe58c9c28bdfb2dde8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9F=AF=E8=A3=95?= Date: Thu, 16 May 2019 17:27:20 +0800 Subject: [PATCH 1/2] =?UTF-8?q?ANDON=E5=AE=9E=E4=BD=93=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../bean/AndonManageQueue.java | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/modules/i3plus-pojo-andon/src/main/java/cn.estsh.i3plus.pojo.andon/bean/AndonManageQueue.java b/modules/i3plus-pojo-andon/src/main/java/cn.estsh.i3plus.pojo.andon/bean/AndonManageQueue.java index 6be6a9e..1291f43 100644 --- a/modules/i3plus-pojo-andon/src/main/java/cn.estsh.i3plus.pojo.andon/bean/AndonManageQueue.java +++ b/modules/i3plus-pojo-andon/src/main/java/cn.estsh.i3plus.pojo.andon/bean/AndonManageQueue.java @@ -143,6 +143,10 @@ public class AndonManageQueue extends BaseBean { @ApiParam(value = "解决人") private String resetUser; + @Transient + @ApiParam(value = "异常时长") + private String resetUserName; + @Column(name = "IS_SHIFT_CALL") @ApiParam(value = "是否转呼", example = "1") private Integer isShiftCall; @@ -226,6 +230,22 @@ public class AndonManageQueue extends BaseBean { @ApiParam(value = "响应时长", example = "0") private Long signTime; + @Transient + @ApiParam(value = "ANDON次数(用于报表统计)", example = "0") + private Integer andonCount; + + @Transient + @ApiParam(value = "平均响应时长", example = "0") + private Long avgSignTime; + + @Transient + @ApiParam(value = "平均解决时长", example = "0") + private Long avgResolveTime; + + @Transient + @ApiParam(value = "比例", example = "0") + private Double proportion; + @Column(name = "SEND_FLAG") @ApiParam(value = "发送标志") private String sendFlag; From e79987d235acc472e5c9bacea344e613762ed449 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=AE=B8=E5=BF=83=E6=B4=81?= Date: Thu, 16 May 2019 18:00:36 +0800 Subject: [PATCH 2/2] =?UTF-8?q?MES=E6=B5=81=E7=A8=8B=E9=85=8D=E7=BD=AE?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3=EF=BC=88=E6=B5=81=E7=A8=8B=EF=BC=8C=E4=BA=A7?= =?UTF-8?q?=E5=93=81=E6=B5=81=E7=A8=8B=E9=85=8D=E7=BD=AE=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../i3plus/pojo/base/enumutil/MesEnumUtil.java | 35 +++++++++++++ .../i3plus/pojo/mes/bean/MesProdRouteOptParam.java | 14 ++++++ .../cn/estsh/i3plus/pojo/mes/bean/MesRoute.java | 4 ++ .../i3plus/pojo/mes/bean/MesRouteProcessStep.java | 22 ++++++-- .../estsh/i3plus/pojo/mes/bean/MesStepParam.java | 4 ++ .../estsh/i3plus/pojo/mes/sqlpack/MesHqlPack.java | 58 +++++++++++++++------- .../estsh/i3plus/pojo/model/mes/MesRouteModel.java | 30 +++++++++++ .../pojo/model/mes/MesRouteProcessModel.java | 30 +++++++++++ 8 files changed, 174 insertions(+), 23 deletions(-) create mode 100644 modules/i3plus-pojo-model/src/main/java/cn/estsh/i3plus/pojo/model/mes/MesRouteModel.java create mode 100644 modules/i3plus-pojo-model/src/main/java/cn/estsh/i3plus/pojo/model/mes/MesRouteProcessModel.java 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 437d602..8ffa732 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 @@ -608,5 +608,40 @@ public class MesEnumUtil { return tmp; } } + /** + * 工步参数类型 + */ + @JsonFormat(shape = JsonFormat.Shape.OBJECT) + public enum STEP_PARAM_TYPE{ + + QUALIFIED(10,"数字"), + DEFECTED(20,"字符串"), + SCRAPED(30,"可选值"); + + private int value; + private String description; + + STEP_PARAM_TYPE(int value, String description) { + this.value = value; + this.description = description; + } + + public int getValue() { + return value; + } + public String getDescription() { + return description; + } + + public static String valueOfDescription(int val) { + String tmp = null; + for (int i = 0; i < values().length; i++) { + if (values()[i].value == val ) { + tmp = values()[i].description; + } + } + return tmp; + } + } } diff --git a/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/bean/MesProdRouteOptParam.java b/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/bean/MesProdRouteOptParam.java index d3a8239..786c2eb 100644 --- a/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/bean/MesProdRouteOptParam.java +++ b/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/bean/MesProdRouteOptParam.java @@ -11,6 +11,7 @@ import org.hibernate.annotations.DynamicUpdate; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.Table; +import javax.persistence.Transient; /** * @Description :产品流程配置操作参数表 @@ -51,10 +52,19 @@ public class MesProdRouteOptParam extends BaseBean { @ApiParam("工步参数代码") private String paramCode; + @Column(name = "PARAM_TYPE") + @ApiParam("工步参数类型") + private Integer paramType; + @Column(name = "PARAM_VALUE") @ApiParam("工步参数值") private String paramValue; + @Transient + @Column(name = "PARAM_ATTRIBUTE") + @ApiParam("参数属性") + private String paramAttribute; + public long getProdRouteCfgIdVal() { return this.prodRouteCfgId == null ? 0l : this.prodRouteCfgId; } @@ -62,4 +72,8 @@ public class MesProdRouteOptParam extends BaseBean { public int getStepSeq() { return this.stepSeq == null ? 0 : this.stepSeq; } + + public int getParamTypeVal() { + return this.paramType == null ? 0 : this.paramType; + } } diff --git a/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/bean/MesRoute.java b/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/bean/MesRoute.java index fedd8d0..fadd550 100644 --- a/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/bean/MesRoute.java +++ b/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/bean/MesRoute.java @@ -34,4 +34,8 @@ public class MesRoute extends BaseBean { @Column(name = "ROUTE_NAME") @ApiParam("流程名称") private String routeName; + + @Column(name = "POSITION") + @ApiParam("GOJS位置") + private String position; } diff --git a/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/bean/MesRouteProcessStep.java b/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/bean/MesRouteProcessStep.java index 7b328f0..0c745c8 100644 --- a/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/bean/MesRouteProcessStep.java +++ b/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/bean/MesRouteProcessStep.java @@ -11,6 +11,7 @@ import org.hibernate.annotations.DynamicUpdate; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.Table; +import javax.persistence.Transient; /** * @Description :流程工序工步关系 @@ -39,19 +40,32 @@ public class MesRouteProcessStep extends BaseBean { @ApiParam("工步代码") private String stepCode; - @Column(name = "STEP_SEQ") - @ApiParam("工步顺序") - private Integer stepSeq; + @Column(name = "SEQ") + @ApiParam("顺序") + private Integer seq; @Column(name = "PARAM_CODE") @ApiParam("工步参数代码") private String paramCode; + @Column(name = "PARAM_TYPE") + @ApiParam("工步参数类型") + private Integer paramType; + @Column(name = "PARAM_VALUE") @ApiParam("工步参数值") private String paramValue; + @Transient + @Column(name = "PARAM_ATTRIBUTE") + @ApiParam("参数属性") + private String paramAttribute; + public int getStepSeqVal() { - return this.stepSeq == null ? 0 : this.stepSeq; + return this.seq == null ? 0 : this.seq; + } + + public int getParamTypeVal() { + return this.paramType == null ? 0 : this.paramType; } } diff --git a/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/bean/MesStepParam.java b/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/bean/MesStepParam.java index fae3126..fe7a3f8 100644 --- a/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/bean/MesStepParam.java +++ b/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/bean/MesStepParam.java @@ -31,6 +31,10 @@ public class MesStepParam extends BaseBean { @ApiParam("工步代码") private String stepCode; + @Column(name = "PARAM_TYPE") + @ApiParam("参数类型") + private Integer paramType; + @Column(name = "PARAM_CODE") @ApiParam("参数代码") private String paramCode; diff --git a/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/sqlpack/MesHqlPack.java b/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/sqlpack/MesHqlPack.java index a9f0602..830c466 100644 --- a/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/sqlpack/MesHqlPack.java +++ b/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/sqlpack/MesHqlPack.java @@ -19,6 +19,7 @@ public class MesHqlPack { /** * 通用查询条件 + * * @param organizeCode * @return */ @@ -32,6 +33,7 @@ public class MesHqlPack { /** * 生产计划查询条件封装 + * * @param mesPlanOrder * @return */ @@ -72,13 +74,14 @@ public class MesHqlPack { "createDatetime", packBean, true); // 排序 - DdlPreparedPack.getOrderDefault(mesPlanOrder); - DdlPreparedPack.getOrderByPack(new Object[]{"2"},new String[]{mesPlanOrder.getOrderByParam()} , packBean); + DdlPreparedPack.getOrderDefault(mesPlanOrder); + DdlPreparedPack.getOrderByPack(new Object[]{"2"}, new String[]{mesPlanOrder.getOrderByParam()}, packBean); return packBean; } /** * 物料信息查询条件封装 + * * @param mesPart * @return */ @@ -105,12 +108,13 @@ public class MesHqlPack { } DdlPreparedPack.getOrderDefault(mesPart); - DdlPreparedPack.getOrderByPack(new Object[]{"2"},new String[]{mesPart.getOrderByParam()} , packBean); + DdlPreparedPack.getOrderByPack(new Object[]{"2"}, new String[]{mesPart.getOrderByParam()}, packBean); return packBean; } /** * 生产工单查询条件封装 + * * @param mesWorkOrder * @return */ @@ -151,12 +155,13 @@ public class MesHqlPack { // mesWorkOrder.getEndTimeEnd(), // "endTime", packBean, true); DdlPreparedPack.getOrderDefault(mesWorkOrder); - DdlPreparedPack.getOrderByPack(new Object[]{"2"},new String[]{mesWorkOrder.getOrderByParam()} , packBean); + DdlPreparedPack.getOrderByPack(new Object[]{"2"}, new String[]{mesWorkOrder.getOrderByParam()}, packBean); return packBean; } /** * 生产队列查询条件封装 + * * @param mesQueueOrder * @return */ @@ -185,12 +190,13 @@ public class MesHqlPack { // DdlPreparedPack.getOrderDefault(mesQueueOrder); // 按照队列序列号倒序 - DdlPreparedPack.getOrderByPack(new Object[]{"2"},new String[]{"seq"} , packBean); + DdlPreparedPack.getOrderByPack(new Object[]{"2"}, new String[]{"seq"}, packBean); return packBean; } /** * 通用查询条件 + * * @param organizeCode * @return */ @@ -204,6 +210,7 @@ public class MesHqlPack { /** * MES区域信息查询条件封装 + * * @param mesArea * @return */ @@ -218,6 +225,7 @@ public class MesHqlPack { /** * MES工作中心信息查询条件封装 + * * @param mesWorkCenter * @return */ @@ -226,7 +234,7 @@ public class MesHqlPack { if (StringUtils.isNotEmpty(mesWorkCenter.getWorkCenterCode())) { DdlPreparedPack.getStringEqualPack(mesWorkCenter.getWorkCenterCode(), "workCenterCode", packBean); } - if (StringUtils.isNotEmpty(mesWorkCenter.getAreaCode())){ + if (StringUtils.isNotEmpty(mesWorkCenter.getAreaCode())) { DdlPreparedPack.getStringEqualPack(mesWorkCenter.getAreaCode(), "areaCode", packBean); } @@ -235,6 +243,7 @@ public class MesHqlPack { /** * MES工作单元信息查询条件封装 + * * @param mesWorkCell * @return */ @@ -243,10 +252,10 @@ public class MesHqlPack { if (StringUtils.isNotEmpty(mesWorkCell.getWorkCenterCode())) { DdlPreparedPack.getStringEqualPack(mesWorkCell.getWorkCenterCode(), "workCenterCode", packBean); } - if (StringUtils.isNotEmpty(mesWorkCell.getAreaCode())){ + if (StringUtils.isNotEmpty(mesWorkCell.getAreaCode())) { DdlPreparedPack.getStringEqualPack(mesWorkCell.getAreaCode(), "areaCode", packBean); } - if (StringUtils.isNotEmpty(mesWorkCell.getWorkCellCode())){ + if (StringUtils.isNotEmpty(mesWorkCell.getWorkCellCode())) { DdlPreparedPack.getStringEqualPack(mesWorkCell.getWorkCellCode(), "workCellCode", packBean); } @@ -254,19 +263,30 @@ public class MesHqlPack { } /** - * MES设备信息查询条件封装 - * @param mesEquipment + * 流程查询条件封装 + * + * @param mesRoute * @return */ - public static DdlPackBean getMesEquipment(MesEquipment mesEquipment, String organizeCode) { - DdlPackBean packBean = getAllBaseDataByNormalPro(mesEquipment, organizeCode); - if (StringUtils.isNotEmpty(mesEquipment.getWorkCellCode())){ - DdlPreparedPack.getStringEqualPack(mesEquipment.getWorkCellCode(), "workCellCode", packBean); - } - if (StringUtils.isNotEmpty(mesEquipment.getEquipmentCode())){ - DdlPreparedPack.getStringEqualPack(mesEquipment.getEquipmentCode(), "equipmentCode", packBean); - } - + public static DdlPackBean packHqlMesRoute(MesRoute mesRoute, String organizeCode) { + DdlPackBean packBean = getAllBaseDataByNormalPro(mesRoute, organizeCode); + DdlPreparedPack.getStringLikerPack(mesRoute.getRouteCode(), "routeCode", packBean); + DdlPreparedPack.getStringLikerPack(mesRoute.getRouteName(), "routeName", packBean); + packBean.setOrderByStr(mesRoute.orderBy()); + return packBean; + } + /** + * 产品流程配置查询条件封装 + * + * @param mesProdRouteCfg + * @param organizeCode + * @return + */ + public static DdlPackBean packHqlMesProdRouteCfg(MesProdRouteCfg mesProdRouteCfg, String organizeCode) { + DdlPackBean packBean = getAllBaseDataByNormalPro(mesProdRouteCfg, organizeCode); + DdlPreparedPack.getStringEqualPack(mesProdRouteCfg.getPartNo(), "partNo", packBean); + DdlPreparedPack.getStringEqualPack(mesProdRouteCfg.getWorkCenterCode(), "workCenterCode", packBean); + packBean.setOrderByStr(mesProdRouteCfg.orderBy()); return packBean; } } diff --git a/modules/i3plus-pojo-model/src/main/java/cn/estsh/i3plus/pojo/model/mes/MesRouteModel.java b/modules/i3plus-pojo-model/src/main/java/cn/estsh/i3plus/pojo/model/mes/MesRouteModel.java new file mode 100644 index 0000000..88bf83a --- /dev/null +++ b/modules/i3plus-pojo-model/src/main/java/cn/estsh/i3plus/pojo/model/mes/MesRouteModel.java @@ -0,0 +1,30 @@ +package cn.estsh.i3plus.pojo.model.mes; + +import cn.estsh.i3plus.pojo.mes.bean.MesRouteProcess; +import cn.estsh.i3plus.pojo.model.wms.WmsActionGroupDetailsModel; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiParam; +import lombok.Data; + +import java.io.Serializable; +import java.util.List; + +/** + * @Description : 流程Model + * @Reference : + * @Author : dragon.xu + * @CreateDate : 2019-05-15 13:27 + * @Modify: + **/ +@Data +@Api("流程Model") +public class MesRouteModel implements Serializable { + @ApiParam("流程代码") + public String routeCode; + @ApiParam("工厂代码") + public String organizeCode; + @ApiParam("GOJS位置") + public String position; + @ApiParam("流程明细Model集合") + public List mesRouteProcessModelList; +} diff --git a/modules/i3plus-pojo-model/src/main/java/cn/estsh/i3plus/pojo/model/mes/MesRouteProcessModel.java b/modules/i3plus-pojo-model/src/main/java/cn/estsh/i3plus/pojo/model/mes/MesRouteProcessModel.java new file mode 100644 index 0000000..6ad566d --- /dev/null +++ b/modules/i3plus-pojo-model/src/main/java/cn/estsh/i3plus/pojo/model/mes/MesRouteProcessModel.java @@ -0,0 +1,30 @@ +package cn.estsh.i3plus.pojo.model.mes; + +import cn.estsh.i3plus.pojo.mes.bean.MesProdRouteOptParam; +import cn.estsh.i3plus.pojo.mes.bean.MesRouteProcess; +import cn.estsh.i3plus.pojo.mes.bean.MesRouteProcessStep; +import cn.estsh.i3plus.pojo.wms.bean.*; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiParam; +import lombok.Data; + +import java.util.List; +import java.util.Map; + +/** + * @Description : 流程工序Model + * @Reference : + * @Author : dragon.xu + * @CreateDate : 2019-04-29 15:39 + * @Modify: + **/ +@Data +@Api("流程工序Model") +public class MesRouteProcessModel { + @ApiParam("流程工序") + public MesRouteProcess mesRouteProcess; + @ApiParam("流程工步参数配置表(根据Seq分组)") + public Map> mesRouteProcessStepMap; + @ApiParam("流程工步参数配置表(根据Seq分组)") + public Map> mesProdRouteOptParamMap; +}