yun-zuoyi
汪云昊 6 years ago
commit f2c0c1206a

@ -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<>();
}

@ -1,5 +1,6 @@
package cn.estsh.i3plus.pojo.base.codemaker;
import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import sun.management.VMManagement;
@ -10,6 +11,7 @@ import java.lang.reflect.Field;
import java.lang.reflect.Method;
import java.net.InetAddress;
import java.net.NetworkInterface;
import java.util.concurrent.ConcurrentHashMap;
/**
* @Description : 使SnowFlakeID
@ -24,17 +26,28 @@ public class SnowflakeIdMaker {
public static final Logger LOGGER = LoggerFactory.getLogger(SnowflakeIdMaker.class);
private static final ConcurrentHashMap<String,SnowflakeIdMaker> RAM_CACHE_MAP = new ConcurrentHashMap();
private long workerId;
private long datacenterId;
private long sequence = 0L;
public SnowflakeIdMaker(){
/**
* ,ID
*/
@Deprecated
private SnowflakeIdMaker() {
this.workerId = getWorkerMacId();
this.datacenterId = getDatacenterPid();
this.sequence = 0L;
}
public SnowflakeIdMaker(long workerId, long datacenterId){
/**
* ID
* @param workerId ID
* @param datacenterId ID
*/
private SnowflakeIdMaker(long workerId, long datacenterId) {
if (workerId > maxWorkerId || workerId < 0) {
throw new IllegalArgumentException(String.format("worker Id can't be greater than %d or less than 0", maxWorkerId));
}
@ -46,6 +59,36 @@ public class SnowflakeIdMaker {
this.datacenterId = datacenterId;
}
/**
*
* @param workerId ID
* @param softType
* @return
*/
public static SnowflakeIdMaker getSnowflakeIdMaker(long workerId, CommonEnumUtil.SOFT_TYPE softType) {
if(softType == null){
throw new IllegalArgumentException(String.format("The data warehouse soft type in the data center cannot be empty"));
}
return getSnowflakeIdMaker(workerId, softType.getSnowflakeId());
}
/**
*
* @param workerId ID
* @param datacenterId ID
* @return
*/
public static SnowflakeIdMaker getSnowflakeIdMaker(long workerId, long datacenterId) {
String cacheKey = workerId + "_" + datacenterId;
SnowflakeIdMaker maker = RAM_CACHE_MAP.get(cacheKey);
if (maker == null) {
maker = new SnowflakeIdMaker(workerId, datacenterId);
RAM_CACHE_MAP.put(cacheKey, maker);
}
return maker;
}
private long twepoch = 1288834974657L;
private long workerIdBits = 5L;

@ -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", "库存");

@ -17,35 +17,54 @@ public class CommonEnumUtil {
*/
@JsonFormat(shape = JsonFormat.Shape.OBJECT)
public enum SOFT_TYPE {
IMPP(1, "impp-platform", "IMPP平台"),
CORE(2, "i3core", "i3业务平台"),
WMS(3, "i3wms", "仓库管理软件"),
MES(4, "i3mes", "生产管理软件"),
QMS(5, "i3qms", "质量管理软件"),
MES_PCN(6, "i3mes-pcn", "生产管理软件-节点中心"),
SWEB(7, "i3sweb", "供应商服务"),
FORM(20,"block-form","智能表单"),
REPORT(21,"block-report","智能报表"),
WORKFLOW(22,"block-workflow","智能工作流"),
JOBFLOW(23,"block-jobflow","智能作业流"),
SOFTSWITCH(24,"block-softswitch","软件适配器"),
HARDSWITCH(25,"block-hardswitch","硬件适配器"),
LAC(26,"lac","连接适配器"),
ANDON(27,"andon","安灯"),
APS(28,"APS","高级计划与排程"),
CENTER(99,"icloud-server","注册中心"),
SURFACE(98,"i3surface","对外服务"),
CLOUD(97,"i3cloud","微服务"),
GATEWAY(96,"impp-gateway","服务网关"),
CONSOLE(95,"impp-console","服务监控台");
IMPP(1, 0, 0, "impp-platform", "IMPP平台"),
CORE(2, 8100, 4, "i3core", "i3业务平台"),
WMS(3, 8200, 10, "i3wms", "仓库管理软件"),
MES(4, 8300, 11, "i3mes", "生产管理软件"),
QMS(5, 0, 0, "i3qms", "质量管理软件"),
MES_PCN(6, 8350, 12, "i3mes-pcn", "生产管理软件-节点中心"),
SWEB(7, 8800, 19, "i3sweb", "供应商服务"),
FORM(20, 8900, 16, "block-form", "智能表单"),
REPORT(21, 8910, 17, "block-report", "智能报表"),
WORKFLOW(22, 0, 0, "block-workflow", "智能工作流"),
JOBFLOW(23, 0, 0, "block-jobflow", "智能作业流"),
SOFTSWITCH(24, 8920, 18, "block-softswitch", "软件适配器"),
HARDSWITCH(25, 0, 0, "block-hardswitch", "硬件适配器"),
LAC(26, 8600, 13, "lac", "连接适配器"),
ANDON(27, 8500, 14, "andon", "安灯"),
APS(28, 8410, 15, "APS", "高级计划与排程"),
CENTER(99, 8000, 1, "icloud-server", "注册中心"),
SURFACE(98, 0, 0, "i3surface", "对外服务"),
CLOUD(97, 0, 0, "i3cloud", "微服务"),
GATEWAY(96, 9000, 3, "impp-gateway", "服务网关"),
CONSOLE(95, 8010, 2, "impp-console", "服务监控台");
/**
* ID
*/
private int value;
/**
*
*/
private int prot;
/**
* DataBaseId(0-31)32
*/
private int snowflakeId;
/**
*
*/
private String code;
/**
*
*/
private String description;
private SOFT_TYPE(int value, String code, String description) {
SOFT_TYPE(int value, int prot, int snowflakeId, String code, String description) {
this.value = value;
this.prot = prot;
this.snowflakeId = snowflakeId;
this.code = code;
this.description = description;
}
@ -62,6 +81,14 @@ public class CommonEnumUtil {
return description;
}
public int getProt() {
return prot;
}
public int getSnowflakeId() {
return snowflakeId;
}
public static String valueOfCode(int val) {
String tmp = null;
for (int i = 0; i < values().length; i++) {
@ -82,6 +109,15 @@ public class CommonEnumUtil {
return tmp;
}
public static SOFT_TYPE codeOf(String code) {
for (int i = 0; i < values().length; i++) {
if (values()[i].code.equals(code)) {
return values()[i];
}
}
return null;
}
public static String valueOfDescription(int val) {
String tmp = null;
for (int i = 0; i < values().length; i++) {

@ -629,6 +629,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;
}
}
/**
@ -1285,7 +1295,17 @@ public class MesEnumUtil {
MES_PCN_SYNC_CFG(50, "PCN同步配置"),
MES_PART(60, "物料表"),
MES_PRODUCE_CATEGORY(70, "产品类型"),
MES_PACK_SPEC(80, "包装规格");
MES_PACK_SPEC(80, "包装规格"),
MES_PROD_PACK(90, "产品包装关系"),
MES_PRODUCT_ENCODE_CFG(100, "产品编码配置"),
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;
@ -1531,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;
}
}
/**
@ -3134,9 +3164,8 @@ public class MesEnumUtil {
*/
@JsonFormat(shape = JsonFormat.Shape.OBJECT)
public enum CONFIG_TYPE {
FASTDFS_SAVE_PATH(10, "SAVE_PATH", ""),
NGINX_IP(20, "NGINX_HOST", ""),
NGINX_HOST(20, "NGINX_HOST", ""),
MES_STATION_SOCKET(30, "mes_station_socket", ""),
GATEWAY_IP(40, "GATEWAY_HOST", ""),
UPDATE_SYNC_TIME(50, "SYNC_DATA_URL", "UPDATE_SYNC_TIME"),
@ -3440,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;
}
}
}

@ -368,7 +368,7 @@ public class WmsEnumUtil {
*/
@JsonFormat(shape = JsonFormat.Shape.OBJECT)
public enum PRODUCT_INSTOCK_STATUS {
CREATE(10, "创建"), FINISH(20, "已处理"), FAIL(30, "处理出错");
CREATE(10, "创建"), FINISH(20, "已处理"), FAIL(30, "处理出错"),CREATE_DOCMOVE(40, "生成移库单"),PULL_FAIL(50, "拉动出错");
private int value;
private String description;
@ -950,6 +950,7 @@ public class WmsEnumUtil {
INSTOCKED(40, "入库"),
PICKED(50, "配料"),
OUT_STOCK(60, "出库"),
SCRAP(70, "报废"),
COMMING(80, "在途");
private int value;

@ -1,8 +1,12 @@
package cn.estsh.i3plus.pojo.base.util;
import org.apache.commons.beanutils.BeanUtils;
import org.springframework.cglib.beans.BeanGenerator;
import org.springframework.cglib.beans.BeanMap;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
public class BeanMapUtils {
@ -30,4 +34,31 @@ public class BeanMapUtils {
return bean;
}
/**
*
* @param mapList
* @return
*/
public static List<Object> generateObjectByField(List<Map<String, String>> mapList) {
try {
List<Object> resultList = new ArrayList<>();
for (Map<String, String> propertyMap : mapList) {
BeanGenerator generator = new BeanGenerator();
for (Map.Entry<String, String> entry : propertyMap.entrySet()) {
generator.addProperty(entry.getKey(), String.class);
}
// 构建对象
Object obj = generator.create();
// 赋值
for (Map.Entry<String, String> en : propertyMap.entrySet()) {
BeanUtils.setProperty(obj, en.getKey(), en.getValue());
}
resultList.add(obj);
}
return resultList;
} catch (Exception e) {
return null;
}
}
}

@ -350,4 +350,25 @@ public class MesHqlPack {
}
/**
* MES
*
* @param shiftGroup
* @param organizeCode
* @return
*/
public static DdlPackBean getMesShiftGroup(MesShiftGroup shiftGroup, String organizeCode) {
DdlPackBean packBean = getAllBaseDataByNormalPro(shiftGroup, organizeCode);
if (!StringUtils.isEmpty(shiftGroup.getGroupCode())) {
DdlPreparedPack.getStringLikerPack(shiftGroup.getGroupCode(), "groupCode", packBean);
}
if (!StringUtils.isEmpty(shiftGroup.getGroupName())) {
DdlPreparedPack.getStringLikerPack(shiftGroup.getGroupName(), "groupName", packBean);
}
if (!StringUtils.isEmpty(shiftGroup.getWorkCenterCode())) {
DdlPreparedPack.getStringLikerPack(shiftGroup.getWorkCenterCode(), "workCenterCode", packBean);
}
return packBean;
}
}

@ -26,7 +26,7 @@ import java.util.Date;
@DynamicUpdate
@EqualsAndHashCode(callSuper = true)
@Table(name = "MES_DEFECT_RECORD")
@Api("生产工单")
@Api("不良信息记录表")
public class MesDefectRecord extends BaseBean {
@Column(name="SERIAL_NUMBER")
@ApiParam("产品条码")
@ -36,10 +36,26 @@ public class MesDefectRecord extends BaseBean {
@ApiParam("物料号")
private String partNo;
@Column(name="PART_NAME")
@ApiParam("物料名称")
private String partName;
@Column(name="DEFECT_CODE")
@ApiParam("不良代码")
@ApiParam("缺陷代码")
private String defectCode;
@Column(name="DEFECT_NAME")
@ApiParam("缺陷名称")
private String defectName;
@Column(name="DEFECT_LOCATION")
@ApiParam("缺陷位置")
private String defectLocation;
@Column(name = "SIDE_LOCATION")
@ApiParam("面位")
private String sideLocation;
@Column(name="REPAIR_STATUS")
@ApiParam("维修状态")
private Integer repairStatus;

@ -0,0 +1,97 @@
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;
import javax.persistence.Transient;
import java.util.List;
/**
* @Description:
* @Reference:
* @Author: joke.wang
* @CreateDate: 2019\10\12 16:33
* @Modify:
**/
@Data
@Entity
@DynamicInsert
@DynamicUpdate
@EqualsAndHashCode(callSuper = true)
@Table(name = "MES_QC_CHECK_DATA")
@Api("质量过程检测数据")
public class MesQcCheckData extends BaseBean {
@Column(name = "CHECK_ID")
@ApiParam("检测id")
private String checkId;
@Column(name = "PART_NO")
@ApiParam("物料编码")
private String partNo;
@Column(name = "WORK_CENTER_CODE")
@ApiParam("工作中心代码")
private String workCenterCode;
@Column(name = "WORK_CELL_CODE")
@ApiParam("工作单元代码")
private String workCellCode;
@Column(name = "CHECK_TYPE")
@ApiParam("检测类型")
private Integer checkType;
@Column(name = "CHECK_ITEM")
@ApiParam("检测项")
private String checkItem;
@Column(name = "CHECK_STANDARD")
@ApiParam("检测标准")
private String checkStandard;
@Column(name = "CHECK_GUIDE")
@ApiParam("检测指导")
private String checkGuide;
@Column(name = "CHECK_FREQUENCY")
@ApiParam("频率")
private String checkFrequency;
@Column(name = "CHECK_VALUE")
@ApiParam("检测值")
private String checkValue;
@Column(name = "CHECK_RESULT")
@ApiParam("判定结果")
private String checkResult;
@Column(name = "SN")
@ApiParam("产品条码")
private String sn;
@Column(name = "QTY")
@ApiParam("产品数量")
private Integer qty;
@Column(name = "MEMO")
@ApiParam("备注")
private String memo;
@Column(name = "ORDER_NO")
@ApiParam("工单号")
private String orderNo;
@Column(name = "CUST_CODE")
@ApiParam("客户代码")
private String custCode;
}

@ -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.MesPartObject;
/**
* @Description:
* @Reference:
* @Author: joke.wang
* @CreateDate: 2019\11\25 15:07
* @Modify:
**/
public interface IMesPartObjectRepository extends BaseRepository<MesPartObject, Long> {
}

@ -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.MesQcCheckData;
/**
* @Description:
* @Reference:
* @Author: joke.wang
* @CreateDate: 2019\11\25 13:50
* @Modify:
**/
public interface MesQcCheckDataRepository extends BaseRepository<MesQcCheckData, Long> {
}

@ -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.MesRepairRecord;
/**
* @Description:
* @Reference:
* @Author: joke.wang
* @CreateDate: 2019\11\25 13:39
* @Modify:
**/
public interface MesRepairRecordRepository extends BaseRepository<MesRepairRecord, Long> {
}

@ -365,6 +365,9 @@ public class MesHqlPack {
if (!StringUtils.isEmpty(shiftGroup.getGroupName())) {
DdlPreparedPack.getStringLikerPack(shiftGroup.getGroupName(), "groupName", packBean);
}
if (!StringUtils.isEmpty(shiftGroup.getWorkCenterCode())) {
DdlPreparedPack.getStringLikerPack(shiftGroup.getWorkCenterCode(), "workCenterCode", packBean);
}
return packBean;
}
@ -1923,4 +1926,70 @@ public class MesHqlPack {
return packBean;
}
/**
*
* @param mesRepairRecord
* @param organizeCode
* @return
*/
public static DdlPackBean getMesRepairRecord(MesRepairRecord mesRepairRecord, String organizeCode) {
DdlPackBean packBean = getAllBaseDataByNormalPro(mesRepairRecord, organizeCode);
if (!StringUtils.isEmpty(mesRepairRecord.getPartNo())) {
DdlPreparedPack.getStringLikerPack(mesRepairRecord.getPartNo(), "partNo", packBean);
}
if (!StringUtils.isEmpty(mesRepairRecord.getSerialNumber())) {
DdlPreparedPack.getStringLikerPack(mesRepairRecord.getSerialNumber(), "serialNumber", packBean);
}
if (!StringUtils.isEmpty(mesRepairRecord.getWorkCenterCode())) {
DdlPreparedPack.getStringLikerPack(mesRepairRecord.getWorkCenterCode(), "workCenterCode", packBean);
}
if (!StringUtils.isEmpty(mesRepairRecord.getWorkCellCode())) {
DdlPreparedPack.getStringLikerPack(mesRepairRecord.getWorkCellCode(), "workCellCode", packBean);
}
if (!StringUtils.isEmpty(mesRepairRecord.getDefectCode())) {
DdlPreparedPack.getStringLikerPack(mesRepairRecord.getDefectCode(), "defectCode", packBean);
}
if (!StringUtils.isEmpty(mesRepairRecord.getRepairCode())) {
DdlPreparedPack.getStringLikerPack(mesRepairRecord.getRepairCode(), "repairCode", packBean);
}
if (!StringUtils.isEmpty(mesRepairRecord.getDcCode())) {
DdlPreparedPack.getStringLikerPack(mesRepairRecord.getDcCode(), "dcCode", packBean);
}
DdlPreparedPack.timeBuilder(
mesRepairRecord.getCreateDateTimeStart(),
mesRepairRecord.getCreateDateTimeEnd(),
"createDatetime", packBean, true);
return packBean;
}
/**
*
* @param mesQcCheckData
* @param organizeCode
* @return
*/
public static DdlPackBean getMesQcCheckData(MesQcCheckData mesQcCheckData, String organizeCode) {
DdlPackBean packBean = getAllBaseDataByNormalPro(mesQcCheckData, organizeCode);
if (!StringUtils.isEmpty(mesQcCheckData.getPartNo())) {
DdlPreparedPack.getStringLikerPack(mesQcCheckData.getPartNo(), "partNo", packBean);
}
if (!StringUtils.isEmpty(mesQcCheckData.getOrderNo())) {
DdlPreparedPack.getStringLikerPack(mesQcCheckData.getOrderNo(), "orderNo", packBean);
}
if (!StringUtils.isEmpty(mesQcCheckData.getSn())) {
DdlPreparedPack.getStringLikerPack(mesQcCheckData.getSn(), "sn", packBean);
}
if (!StringUtils.isEmpty(mesQcCheckData.getWorkCenterCode())) {
DdlPreparedPack.getStringLikerPack(mesQcCheckData.getWorkCenterCode(), "workCenterCode", packBean);
}
if (!StringUtils.isEmpty(mesQcCheckData.getWorkCellCode())) {
DdlPreparedPack.getStringLikerPack(mesQcCheckData.getWorkCellCode(), "workCellCode", packBean);
}
DdlPreparedPack.timeBuilder(
mesQcCheckData.getCreateDateTimeStart(),
mesQcCheckData.getCreateDateTimeEnd(),
"createDatetime", packBean, true);
return packBean;
}
}

@ -147,6 +147,9 @@ public class WmsDocMovementDetails extends BaseBean {
@ApiParam("目的库存地代码")
public String destAreaNo;
@Column(name = "LOT_NO")
@ApiParam("批次")
public String lotNo;
@Transient
@ApiParam("实际批次")
private String actualLot;

@ -175,6 +175,10 @@ public class WmsDocMovementMaster extends BaseBean {
@ApiParam("物料编号")
public String partNo;
@ApiParam(value = "标题")
@Transient
public String title;
public int getOrderStatusVal() {
return this.orderStatus == null ? 0 : this.orderStatus;
}

@ -42,6 +42,10 @@ public class WmsVendorPart extends BaseBean {
@ApiParam(value = "供应商物料号")
private String vendorPartNo;
@Column(name = "MAX_AMOUNT")
@ApiParam(value = "供应商月提供最大数量")
private Double maxAmount;
@Transient
@ApiParam("物料名称")
private String partName;

@ -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