Merge branch 'dev' into test

yun-zuoyi
王杰 6 years ago
commit 6da48220a5

@ -7,6 +7,7 @@ import io.swagger.annotations.Api;
import io.swagger.annotations.ApiParam;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.hibernate.Interceptor;
import org.hibernate.annotations.DynamicInsert;
import org.hibernate.annotations.DynamicUpdate;
@ -41,7 +42,6 @@ public class AndonCellGroupCfg extends BaseBean {
@ApiParam(value = "工作单元组")
private String cellGroup;
@Column(name = "GROUP_CODE")
@ApiParam(value = "分组代码")
private String groupCode;
@ -49,4 +49,20 @@ public class AndonCellGroupCfg extends BaseBean {
@Column(name = "GROUP_NAME")
@ApiParam(value = "分组名称")
private String groupName;
@Column(name = "HORIZONTAL_AXIS")
@ApiParam(value = "横坐标")
private Float horizontalAxis ;
@Column(name = "VERTICAL_AXIS")
@ApiParam(value = "纵坐标")
private Float verticalAxis;
@Column(name = "ABNORMAL_SRC")
@ApiParam(value = "异常图片")
private String abnormalSrc;
@Column(name = "NORMAL_SRC")
@ApiParam(value = "正常图片")
private String normalSrc;
}

@ -111,6 +111,10 @@ public class AndonManageQueue extends BaseManageQueue {
private Double avgSignTime;
@Transient
@ApiParam(value = "解决时长", example = "0")
private Long resolveTime;
@Transient
@ApiParam(value = "平均解决时长", example = "0")
private Double avgResolveTime;

@ -15,20 +15,51 @@ import java.io.Serializable;
@Data
public class AndonBoardModel {
@ApiParam("工作单元代码")
private String workCellCode;
@ApiParam("工作单元名称")
private String workCellName;
@ApiParam("安灯任务编号")
private String andonOrderNo;
@ApiParam("安灯类型")
private String alarmCode;
@ApiParam("安灯类型名称")
private String alarmName;
@ApiParam("故障时长 单位:分钟")
private Long exceptionTimeCount = 0L;
@ApiParam("响应时长 单位:分钟")
private Long responseTimeCount = 0L;
@ApiParam("解决时长 单位:分钟")
private Long resetTimeCount = 0L;
@ApiParam("安灯正常处理的次数")
private Integer inTime;
private Integer inTime = 0;
@ApiParam("安灯超时次数")
private Integer overTime;
private Integer overTime = 0;
@ApiParam("安灯总次数")
private Integer totalTime;
private Integer totalTime = 0;
@ApiParam("安灯类型百分比")
private float propagation = 0;
@ApiParam("事件描述代码")
private String acCode;
@ApiParam("事件描述详情")
private String acDesc;
@ApiParam("工位运行状态")
private String cellStatus;
public int getTotalTimeVal() {
return totalTime == null ? 0 : totalTime;
@ -42,5 +73,18 @@ public class AndonBoardModel {
return inTime == null ? 0 : inTime;
}
public double getExceptionCountVal() {
return exceptionTimeCount == null ? 0 : exceptionTimeCount;
}
public double getResponseTimeCountVal() {
return responseTimeCount == null ? 0 : responseTimeCount;
}
public double getResetTimeCountVal() {
return resetTimeCount == null ? 0 : resetTimeCount;
}
}

@ -0,0 +1,89 @@
package cn.estsh.i3plus.pojo.andon.model;
import cn.estsh.i3plus.pojo.andon.bean.AndonManageQueue;
import io.swagger.annotations.ApiParam;
import lombok.Data;
import java.util.List;
/**
* @Description: Model
* @Reference:
* @Author: Crish
* @CreateDate:2019-11-22-13:44
* @Modify:
**/
@Data
public class AndonMenuInterfaceModel{
@ApiParam("工作中心代码")
private String workCenterCode;
@ApiParam("工作中心名称")
private String workCenterName;
@ApiParam("产线运行状态")
private String workCenterStatus;
@ApiParam("安灯类型")
private String alarmCode;
@ApiParam("安灯类型名称")
private String alarmName;
@ApiParam("故障总时长 单位:分钟")
private Long exceptionTime = 0L;
@ApiParam("当前安灯类型故障时长 单位:分钟")
private Long currentExceptionTime = 0L;
@ApiParam("当前安灯类型故障比例")
private Double proportion = 0D;
@ApiParam("当前工厂的产线故障统计")
private List<AndonMenuInterfaceModel> andonWorkcenterList;
@ApiParam("当前产线的所有故障统计")
private List<AndonBoardModel> alarmBrokenInfoList;
@ApiParam("当前产线的未解决故障统计")
private List<AndonBoardModel> pendingSolveBrokenInfoList;
@ApiParam("当前产线的响应时长top10")
private List<AndonBoardModel> responseInfoList;
@ApiParam("当前产线的解决时长top10")
private List<AndonBoardModel> solveInfoList;
@ApiParam("当前产线的异常时长top10")
private List<AndonBoardModel> exceptionInfoList;
@ApiParam("当前产线的站点状态统计")
private List<CellGroupStatusModel> andonCellGroupStatusList;
public double getExceptionTimeVal() {
return exceptionTime == null ? 0 : exceptionTime;
}
public double getCurrentExceptionTimeVal() {
return currentExceptionTime == null ? 0 : currentExceptionTime;
}
public double getProportionVal() {
return proportion == null ? 0 : proportion;
}
@Override
public String toString() {
return "AndonMenuInterfaceModel{" +
"workCenterCode='" + workCenterCode + '\'' +
", workCenterName='" + workCenterName + '\'' +
", workCenterStatus='" + workCenterStatus + '\'' +
", alarmCode='" + alarmCode + '\'' +
", alarmName='" + alarmName + '\'' +
", exceptionTime=" + exceptionTime +
", currentExceptionTime=" + currentExceptionTime +
", proportion=" + proportion +
'}';
}
}

@ -0,0 +1,55 @@
package cn.estsh.i3plus.pojo.andon.model;
/**
* @Description: model
* @Reference:
* @Author: Crish
* @CreateDate:2019-11-22-16:02
* @Modify:
**/
import io.swagger.annotations.ApiParam;
import lombok.Data;
import javax.persistence.Column;
import java.util.List;
/**
* model
*/
@Data
public class CellGroupStatusModel{
@ApiParam("工作中心代码")
private String workCenterCode;
@ApiParam("安灯类型")
private String groupCode;
@ApiParam("安灯类型名称")
private String groupName;
@ApiParam("安灯类型名称")
private String workCellCode;
@ApiParam("安灯类型名称")
private String workCellName;
@ApiParam("站点运行状态")
private String cellGroupStatus;
@ApiParam(value = "横坐标")
private Float horizontalAxis = 0f;
@ApiParam(value = "纵坐标")
private Float verticalAxis = 0f;
@ApiParam(value = "异常图片")
private String abnormalSrc;
@ApiParam(value = "正常图片")
private String normalSrc;
@ApiParam("当前站点下的工位故障统计")
private List<AndonBoardModel> andonBoardModelList;
}

@ -1,7 +1,10 @@
package cn.estsh.i3plus.pojo.aps.model;
import cn.estsh.i3plus.pojo.base.common.Pager;
import cn.estsh.i3plus.pojo.aps.converter.CustomDateDeserializer;
import cn.estsh.i3plus.pojo.aps.converter.CustomDateSerializer;
import cn.estsh.i3plus.pojo.base.enumutil.ApsEnumUtil;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import io.swagger.annotations.Api;
import lombok.Data;
@ -16,9 +19,12 @@ import java.util.Date;
**/
@Data
@Api("报表分页查询参数")
public class ReportPager extends Pager {
private String filter; // 物料筛选条件
public class ReportPager extends APSPager {
@JsonSerialize(using = CustomDateSerializer.class)
@JsonDeserialize(using = CustomDateDeserializer.class)
private Date begin; // 统计开始时间
@JsonSerialize(using = CustomDateSerializer.class)
@JsonDeserialize(using = CustomDateDeserializer.class)
private Date end; // 统计结束时间
private ApsEnumUtil.MATERIAL_REPORT_TYPE type;
private ApsEnumUtil.REPORT_TIME_SPAN span; // 统计时间间隔

@ -0,0 +1,13 @@
package cn.estsh.i3plus.pojo.aps.model;
import lombok.Data;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
@Data
public class StatisticReportReponse {
private List<String> headers = new ArrayList<>();
private List<Map<String, String>> datas = new ArrayList<>();
}

@ -13,6 +13,52 @@ import org.apache.commons.lang3.StringUtils;
public class AndonEnumUtil {
/**
* 线
* = 10 = 20
*/
@JsonFormat(shape = JsonFormat.Shape.OBJECT)
public enum RUNNING_STATUS{
RUNNING("10","正常"),
STOP("20","故障");
private String value;
private String description;
RUNNING_STATUS(String value, String description) {
this.value = value;
this.description = description;
}
public String getValue() {
return value;
}
public String getDescription() {
return description;
}
public static String valueOfDescription(String val) {
String tmp = null;
for (int i = 0; i < values().length; i++) {
if (StringUtils.equalsIgnoreCase(values()[i].value,val)) {
tmp = values()[i].description;
}
}
return tmp;
}
public static String descriptionOfValue(String val) {
String tmp = null;
for (int i = 0; i < values().length; i++) {
if (StringUtils.equalsIgnoreCase(values()[i].description, val)) {
tmp = values()[i].value;
}
}
return tmp;
}
}
/**
*
* 10-20-
*/

@ -84,7 +84,6 @@ public class ApsEnumUtil {
*/
@JsonFormat(shape = JsonFormat.Shape.OBJECT)
public enum MATERIAL_REPORT_TYPE {
PRODUCE("PRODUCE", "生产"),
PURCHASE("PURCHASE", "采购"),
INVENTORY("INVENTORY", "库存");

@ -1298,7 +1298,14 @@ public class MesEnumUtil {
MES_PACK_SPEC(80, "包装规格"),
MES_PROD_PACK(90, "产品包装关系"),
MES_PRODUCT_ENCODE_CFG(100, "产品编码配置"),
MES_BOM(110, "物料清单");
MES_BOM(110, "物料清单"),
MES_PROD_CFG_TYPE(120, "产品配置类型"),
MES_CUSTOMER(130, "客户表"),
MES_CUSTOMER_PART(140, "客户零件关系表"),
MES_WORK_CENTER(150, "生产线"),
MES_WORK_CELL(160, "工位"),
MES_WC_EQUIPMENT(170, "工位设备关系表"),
MES_SHIFT(180, "班次");
private int value;
private String description;
@ -1544,6 +1551,16 @@ public class MesEnumUtil {
return tmp;
}
public static Integer descriptionOfValue(String description) {
Integer tmp = null;
for (int i = 0; i < values().length; i++) {
if (values()[i].description.equals(description)) {
tmp = values()[i].value;
}
}
return tmp;
}
}
/**
@ -3452,6 +3469,16 @@ public class MesEnumUtil {
}
return tmp;
}
public static String descriptionOfValue(String description) {
String tmp = null;
for (int i = 0; i < values().length; i++) {
if (values()[i].description.equals(description)) {
tmp = values()[i].value;
}
}
return tmp;
}
}
}

@ -228,6 +228,7 @@ public class WmsHqlPack {
DdlPreparedPack.getStringEqualPack(wmsPOMaster.getVendorNo(), "vendorNo", result);
DdlPreparedPack.getStringEqualPack(wmsPOMaster.getSrc(), "src", result);
DdlPreparedPack.getStringEqualPack(wmsPOMaster.getIsAsn(), "isAsn", result);
DdlPreparedPack.getStringEqualPack(wmsPOMaster.getContainerNo(), "containerNo", result);
if (wmsPOMaster.getPriorRC()!=null&&wmsPOMaster.getPriorRC()==WmsEnumUtil.TRUE_OR_FALSE.FALSE.getValue()){
ArrayList<Integer> numList = new ArrayList<>();
numList.add(0);

Loading…
Cancel
Save