From 9b0c5de954e17eb61ccfa731bca5a45fbd233a52 Mon Sep 17 00:00:00 2001 From: WYnneaoapc Date: Fri, 20 Sep 2019 08:57:10 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../i3plus/pojo/base/enumutil/MesPcnEnumUtil.java | 141 +++++++++++++++++++-- .../i3plus/pojo/base/tool/DdlPreparedPack.java | 34 +++++ .../i3plus/pojo/mes/pcn/bean/MesPcnSyncCfg.java | 4 + .../mes/pcn/repository/MesCellFeedRepository.java | 14 ++ .../mes/pcn/repository/MesRawPartSnRepository.java | 15 +++ .../i3plus/pojo/mes/pcn/sqlpack/MesHqlPack.java | 38 +++++- .../estsh/i3plus/pojo/mes/bean/MesPcnSyncCfg.java | 7 +- .../estsh/i3plus/pojo/mes/sqlpack/MesHqlPack.java | 10 +- 8 files changed, 238 insertions(+), 25 deletions(-) create mode 100644 modules/i3plus-pojo-mes-pcn/src/main/java/cn/estsh/i3plus/pojo/mes/pcn/repository/MesCellFeedRepository.java create mode 100644 modules/i3plus-pojo-mes-pcn/src/main/java/cn/estsh/i3plus/pojo/mes/pcn/repository/MesRawPartSnRepository.java diff --git a/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/enumutil/MesPcnEnumUtil.java b/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/enumutil/MesPcnEnumUtil.java index 4643e50..ba4e524 100644 --- a/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/enumutil/MesPcnEnumUtil.java +++ b/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/enumutil/MesPcnEnumUtil.java @@ -13,13 +13,12 @@ public class MesPcnEnumUtil { /** * mes-pcn定时任务状态 - * */ @JsonFormat(shape = JsonFormat.Shape.OBJECT) - public enum MES_PCN_TASK_STATUS{ + public enum MES_PCN_TASK_STATUS { - OPEN(1,"OPEN"), - CLOSE(2,"CLOSE"); + OPEN(1, "OPEN"), + CLOSE(2, "CLOSE"); private int value; private String description; @@ -50,13 +49,12 @@ public class MesPcnEnumUtil { /** * mes-pcn定时任务同步结果状态 - * */ @JsonFormat(shape = JsonFormat.Shape.OBJECT) - public enum MES_PCN_TASK_SYNC_STATUS{ + public enum MES_PCN_TASK_SYNC_STATUS { - SUCCESS(1,"mes主服务定时任务工作清单同步成功"), - ERROR(2,"mes主服务定时任务工作清单同步失败"); + SUCCESS(1, "mes主服务定时任务工作清单同步成功"), + ERROR(2, "mes主服务定时任务工作清单同步失败"); private int value; private String description; @@ -90,10 +88,10 @@ public class MesPcnEnumUtil { * 10. */ @JsonFormat(shape = JsonFormat.Shape.OBJECT) - public enum SYNC_PATTERN{ + public enum SYNC_PATTERN { - UPDATE(1,"修改或新增"), - INSERT(2,"新增"); + UPDATE(1, "修改或新增"), + INSERT(2, "新增"); private int value; private String description; @@ -127,10 +125,10 @@ public class MesPcnEnumUtil { * 10. */ @JsonFormat(shape = JsonFormat.Shape.OBJECT) - public enum SYNC_TYPE{ + public enum SYNC_TYPE { - GET_MES_DATA(1,"pcn获取mes数据"), - DATA_TO_MES(2,"pcn推送数据至mes"); + GET_MES_DATA(1, "pcn获取mes数据"), + DATA_TO_MES(2, "pcn推送数据至mes"); private int value; private String description; @@ -232,4 +230,119 @@ public class MesPcnEnumUtil { } } + /** + * RAW_PART_TYPE 原材料类型 + */ + @JsonFormat(shape = JsonFormat.Shape.OBJECT) + public enum RAW_PART_TYPE { + + RAW(10, "lotNo", "原材料"), + SEMIFINISHED(20, "fixLotNo", "半成品"); + + private int value; + private String code; + private String description; + + RAW_PART_TYPE(int value, String code, String description) { + this.value = value; + this.code = code; + this.description = description; + } + + public int getValue() { + return value; + } + + public String getCode() { + return code; + } + + 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; + } + } + + /** + * RAW_PART_STATUS 原材料状态 + */ + @JsonFormat(shape = JsonFormat.Shape.OBJECT) + public enum RAW_PART_STATUS { + + READY(10, "待投料"), + ALREADY(20, "已投料"); + + private int value; + private String description; + + RAW_PART_STATUS(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; + } + } + + /** + * PROCESS_BOM_ISFEED 是否投料 + */ + @JsonFormat(shape = JsonFormat.Shape.OBJECT) + public enum PROCESS_BOM_ISFEED { + + FEED(1, "投料"), + NOT_FEED(2, "不投料"); + + private int value; + private String description; + + PROCESS_BOM_ISFEED(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-base/src/main/java/cn/estsh/i3plus/pojo/base/tool/DdlPreparedPack.java b/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/tool/DdlPreparedPack.java index 55c08ca..edb8348 100644 --- a/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/tool/DdlPreparedPack.java +++ b/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/tool/DdlPreparedPack.java @@ -395,6 +395,18 @@ public class DdlPreparedPack { } /** + * 封装String对象成小于不等于语句 + * + * @param columnName 列名 + * @param packBean + */ + public static void getStringSmallerNotEqualPack(Object data, String columnName, DdlPackBean packBean) { + if (data != null && !StringUtils.isEmpty(String.valueOf(data))) { + packBean.addColumnQuery("s_"+columnName," and model." + columnName + " < :m_s_" + columnName, data); + } + } + + /** * 封装double对象成大于语句 * * @param columnName 列名 @@ -405,6 +417,17 @@ public class DdlPreparedPack { packBean.addColumnQuery(columnName," and model." + columnName + " > :m_" + columnName, data); } } + /** + * 封装double对象成大于等于语句 + * + * @param columnName 列名 + * @param packBean + */ + public static void getNumberBiggerEqualPack(Object data, String columnName, DdlPackBean packBean) { + if (data != null && Double.parseDouble(data.toString()) > 0) { + packBean.addColumnQuery(columnName," and model." + columnName + " >= :m_" + columnName, data); + } + } /** * 封装double对象成小于语句 @@ -417,6 +440,17 @@ public class DdlPreparedPack { packBean.addColumnQuery(columnName," and model." + columnName + " < :m_" + columnName, data); } } + /** + * 封装double对象成小于等于语句 + * + * @param columnName 列名 + * @param packBean + */ + public static void getNumberSmallerEqualPack(Object data, String columnName, DdlPackBean packBean) { + if (data != null && Double.parseDouble(data.toString()) > 0) { + packBean.addColumnQuery(columnName," and model." + columnName + " <= :m_" + columnName, data); + } + } /** * 封装long或者int的整数对象成equal语句(不等于) diff --git a/modules/i3plus-pojo-mes-pcn/src/main/java/cn/estsh/i3plus/pojo/mes/pcn/bean/MesPcnSyncCfg.java b/modules/i3plus-pojo-mes-pcn/src/main/java/cn/estsh/i3plus/pojo/mes/pcn/bean/MesPcnSyncCfg.java index f1cae75..3758a35 100644 --- a/modules/i3plus-pojo-mes-pcn/src/main/java/cn/estsh/i3plus/pojo/mes/pcn/bean/MesPcnSyncCfg.java +++ b/modules/i3plus-pojo-mes-pcn/src/main/java/cn/estsh/i3plus/pojo/mes/pcn/bean/MesPcnSyncCfg.java @@ -70,6 +70,10 @@ public class MesPcnSyncCfg extends BaseBean { @ApiParam(value="从数据库抽取的最大值 目前为分钟为限制") private Integer extractGap; + @Column(name="EXTRACT_CONDITION") + @ApiParam(value="从数据库抽取的条件限制") + private String extractCondition; + public int getSyncFrequencyVal() { return this.syncFrequency == null ? 0 : this.syncFrequency; } diff --git a/modules/i3plus-pojo-mes-pcn/src/main/java/cn/estsh/i3plus/pojo/mes/pcn/repository/MesCellFeedRepository.java b/modules/i3plus-pojo-mes-pcn/src/main/java/cn/estsh/i3plus/pojo/mes/pcn/repository/MesCellFeedRepository.java new file mode 100644 index 0000000..462dff4 --- /dev/null +++ b/modules/i3plus-pojo-mes-pcn/src/main/java/cn/estsh/i3plus/pojo/mes/pcn/repository/MesCellFeedRepository.java @@ -0,0 +1,14 @@ +package cn.estsh.i3plus.pojo.mes.pcn.repository; + +import cn.estsh.i3plus.pojo.base.jpa.dao.BaseRepository; +import cn.estsh.i3plus.pojo.mes.pcn.bean.MesCellFeed; +import org.springframework.stereotype.Repository; + +/** + * @Author: Wynne.Lu + * @CreateDate: 2019/9/18 10:05 AM + * @Description: + **/ +@Repository +public interface MesCellFeedRepository extends BaseRepository { +} diff --git a/modules/i3plus-pojo-mes-pcn/src/main/java/cn/estsh/i3plus/pojo/mes/pcn/repository/MesRawPartSnRepository.java b/modules/i3plus-pojo-mes-pcn/src/main/java/cn/estsh/i3plus/pojo/mes/pcn/repository/MesRawPartSnRepository.java new file mode 100644 index 0000000..1f048c1 --- /dev/null +++ b/modules/i3plus-pojo-mes-pcn/src/main/java/cn/estsh/i3plus/pojo/mes/pcn/repository/MesRawPartSnRepository.java @@ -0,0 +1,15 @@ +package cn.estsh.i3plus.pojo.mes.pcn.repository; + +import cn.estsh.i3plus.pojo.base.jpa.dao.BaseRepository; +import cn.estsh.i3plus.pojo.mes.pcn.bean.MesCellFeed; +import cn.estsh.i3plus.pojo.mes.pcn.bean.MesRawPartSn; +import org.springframework.stereotype.Repository; + +/** + * @Author: Wynne.Lu + * @CreateDate: 2019/9/18 10:05 AM + * @Description: + **/ +@Repository +public interface MesRawPartSnRepository extends BaseRepository { +} diff --git a/modules/i3plus-pojo-mes-pcn/src/main/java/cn/estsh/i3plus/pojo/mes/pcn/sqlpack/MesHqlPack.java b/modules/i3plus-pojo-mes-pcn/src/main/java/cn/estsh/i3plus/pojo/mes/pcn/sqlpack/MesHqlPack.java index 2ae42f4..84b0dff 100644 --- a/modules/i3plus-pojo-mes-pcn/src/main/java/cn/estsh/i3plus/pojo/mes/pcn/sqlpack/MesHqlPack.java +++ b/modules/i3plus-pojo-mes-pcn/src/main/java/cn/estsh/i3plus/pojo/mes/pcn/sqlpack/MesHqlPack.java @@ -1,10 +1,11 @@ package cn.estsh.i3plus.pojo.mes.pcn.sqlpack; +import cn.estsh.i3plus.pojo.base.bean.BaseBean; import cn.estsh.i3plus.pojo.base.bean.DdlPackBean; import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil; +import cn.estsh.i3plus.pojo.base.enumutil.MesPcnEnumUtil; import cn.estsh.i3plus.pojo.base.tool.DdlPreparedPack; -import cn.estsh.i3plus.pojo.mes.pcn.bean.MesConfig; -import cn.estsh.i3plus.pojo.mes.pcn.bean.MesLabelTemplate; +import cn.estsh.i3plus.pojo.mes.pcn.bean.*; import org.apache.commons.lang3.StringUtils; /** @@ -16,6 +17,7 @@ import org.apache.commons.lang3.StringUtils; **/ public class MesHqlPack { + /** * 通用查询条件 * @@ -52,6 +54,7 @@ public class MesHqlPack { /** * 根据打印模板的模板代码查询模板信息 + * * @param organizeCode * @param mesLabelTemplate * @return @@ -63,4 +66,35 @@ public class MesHqlPack { return packBean; } + /** + * 获取工作中心下所有的投料数据 + * @param mesCellFeed + * @param org + * @return + */ + public static DdlPackBean getMesCellFeed(MesCellFeed mesCellFeed, String org) { + DdlPackBean packBean = getAllBaseData(org); + DdlPreparedPack.getStringEqualPack(mesCellFeed.getWorkCenterCode(), "workCenterCode", packBean); + DdlPreparedPack.getNumberBiggerPack(0, "rawQty", packBean); + return packBean; + } + + + /** + * 获取原材料扫描信息的对应工序BOM + * @param mesProcessBom + * @param mesRawPartSn + * @return + */ + public static DdlPackBean getMesProcessBomRawPartSn(MesProcessBom mesProcessBom, MesRawPartSn mesRawPartSn) { + DdlPackBean packBean = getAllBaseData(mesProcessBom.getOrganizeCode()); + DdlPreparedPack.getStringEqualPack(mesProcessBom.getWorkCenterCode(), "workCenterCode", packBean); + DdlPreparedPack.getStringEqualPack(mesProcessBom.getWorkCellCode(), "workCellCode", packBean); + DdlPreparedPack.getStringEqualPack(mesProcessBom.getPartNo(), "partNo", packBean); + DdlPreparedPack.getNumEqualPack(MesPcnEnumUtil.PROCESS_BOM_ISFEED.FEED.getValue(),"isFeed",packBean); + DdlPreparedPack.getStringEqualPack(mesRawPartSn.getPartNo(), "itemPartNo", packBean); + return packBean; + } + + } diff --git a/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/bean/MesPcnSyncCfg.java b/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/bean/MesPcnSyncCfg.java index 5a2d40c..046faba 100644 --- a/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/bean/MesPcnSyncCfg.java +++ b/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/bean/MesPcnSyncCfg.java @@ -57,7 +57,7 @@ public class MesPcnSyncCfg extends BaseBean { @ApiParam("同步方式") private Integer syncPattern; - @Column(name="SYNC_TYPE")//1\pcn获取mes数据 2、pcn推送数据至mes + @Column(name="SYNC_TYPE")//1.pcn获取mes数据 2.pcn推送数据至mes @ApiParam("同步类型") private Integer syncType; @@ -66,11 +66,14 @@ public class MesPcnSyncCfg extends BaseBean { @ApiParam(value ="上一同步时间") private String lastSyncTime; - @Column(name="EXTRACT_GAP") @ApiParam(value="从数据库抽取的最大值 目前为分钟为限制") private Integer extractGap; + @Column(name="EXTRACT_CONDITION") + @ApiParam(value="从数据库抽取的条件限制") + private String extractCondition; + public int getSyncFrequencyVal() { return this.syncFrequency == null ? 0 : this.syncFrequency; } 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 19d1974..2286752 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 @@ -730,6 +730,7 @@ public class MesHqlPack { DdlPreparedPack.getStringEqualPack(mesProcessBom.getItemPartNo(), "itemPartNo", packBean); DdlPreparedPack.getStringEqualPack(mesProcessBom.getWorkCenterCode(), "workCenterCode", packBean); DdlPreparedPack.getStringEqualPack(mesProcessBom.getWorkCellCode(), "workCellCode", packBean); + DdlPreparedPack.getNumEqualPack(mesProcessBom.getIsFeed(), "isFeed", packBean); DdlPreparedPack.getNumNOEqualPack(mesProcessBom.getId(), "id", packBean); return packBean; } @@ -799,13 +800,8 @@ public class MesHqlPack { */ public static DdlPackBean getMesKeyData(MesKeyData keyData, String organizeCode) { DdlPackBean packBean = getAllBaseDataByNormalPro(keyData, organizeCode); - if (StringUtils.isNotEmpty(keyData.getKeyDataCode())) { - DdlPreparedPack.getStringLikerPack(keyData.getKeyDataCode(), "keyDataCode", packBean); - } - if (StringUtils.isNotEmpty(keyData.getKeyDataName())) { - DdlPreparedPack.getStringLikerPack(keyData.getKeyDataName(), "keyDataName", packBean); - } - + DdlPreparedPack.getStringLikerPack(keyData.getKeyDataCode(), "keyDataCode", packBean); + DdlPreparedPack.getStringLikerPack(keyData.getKeyDataName(), "keyDataName", packBean); return packBean; }