diff --git a/modules/i3plus-pojo-andon/src/main/java/cn.estsh.i3plus.pojo.andon/bean/AndonConfig.java b/modules/i3plus-pojo-andon/src/main/java/cn.estsh.i3plus.pojo.andon/bean/AndonConfig.java new file mode 100644 index 0000000..0f39a62 --- /dev/null +++ b/modules/i3plus-pojo-andon/src/main/java/cn.estsh.i3plus.pojo.andon/bean/AndonConfig.java @@ -0,0 +1,61 @@ +package cn.estsh.i3plus.pojo.andon.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; + +/** + * @Description : 系统参数配置 + * @Reference : + * @Author : siliter + * @CreateDate : 2019-03-07 09:58 + * @Modify: + **/ +@Data +@Entity +@DynamicInsert +@DynamicUpdate +@EqualsAndHashCode(callSuper = true) +@Table(name="ANDON_CONFIG") +@Api(value="系统配置") +public class AndonConfig extends BaseBean { + + @Column(name="NAME") + @ApiParam(value ="名称") + private String name; + + @Column(name="CONFIG_TYPE") + @ApiParam(value ="参数类型ID(枚举:1.系统配置...)" , example ="-1") + private Integer configType; + + @Column(name="CONFIG_CODE") + @ApiParam(value ="参数代码") + private String configCode; + + // 枚举 ImppEnumUtil.SYS_CONFIG_GROUP + @Column(name="CONFIG_GROUP") + @ApiParam(value ="参数组") + private Integer configGroup; + + // 枚举 ImppEnumUtil.SYS_VALUE_TYPE + @Column(name="CONFIG_VALUE_TYPE") + @ApiParam(value ="参数值类型") + private String configValueType; + + @Column(name="CONFIG_VALUE") + @ApiParam(value ="参数值") + private String configValue; + + @Column(name="CONFIG_DESCRIPTION") + @ApiParam(value ="参数描述") + private String configDescription; + +} 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 7928693..6be6a9e 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 @@ -88,12 +88,23 @@ public class AndonManageQueue extends BaseBean { private Integer priorityLevel; @Column(name="CALL_TIME",updatable = false) + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") @ApiParam(value = "呼叫时间") @AnnoOutputColumn(hidden = true) public String callTime; @Transient @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + @ApiParam(value="呼叫时间,查询开始时间") + public String callTimeStart; + + @Transient + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + @ApiParam(value="呼叫时间,查询结束时间") + public String callTimeEnd; + + @Transient + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") @ApiParam(value="呼叫时间",example = "2018-01-01 01:00:00") @AnnoOutputColumn(hidden = true) public String callTimeStr; @@ -153,7 +164,7 @@ public class AndonManageQueue extends BaseBean { @Column(name = "SC_RESPONSE_CODE") @ApiParam(value = "转呼响应方式") - private String scObjectCode; + private String scResponseCode; @Column(name = "SC_RP_LEVEL") @ApiParam(value = "转呼通知等级") @@ -207,6 +218,18 @@ public class AndonManageQueue extends BaseBean { @ApiParam(value = "停机具体原因") private String haltDesc; + @Transient + @ApiParam(value = "异常时长", example = "0") + private Long execptionTime; + + @Transient + @ApiParam(value = "响应时长", example = "0") + private Long signTime; + + @Column(name = "SEND_FLAG") + @ApiParam(value = "发送标志") + private String sendFlag; + // 是否转呼 public Integer getIsShiftCall() { return this.isShiftCall == null ? 0 : this.isShiftCall; diff --git a/modules/i3plus-pojo-andon/src/main/java/cn.estsh.i3plus.pojo.andon/bean/AndonManageRecord.java b/modules/i3plus-pojo-andon/src/main/java/cn.estsh.i3plus.pojo.andon/bean/AndonManageRecord.java index bdc2403..fcc6d64 100644 --- a/modules/i3plus-pojo-andon/src/main/java/cn.estsh.i3plus.pojo.andon/bean/AndonManageRecord.java +++ b/modules/i3plus-pojo-andon/src/main/java/cn.estsh.i3plus.pojo.andon/bean/AndonManageRecord.java @@ -153,7 +153,7 @@ public class AndonManageRecord extends BaseBean { @Column(name = "SC_RESPONSE_CODE") @ApiParam(value = "转呼响应方式") - private String scObjectCode; + private String scResponseCode; @Column(name = "SC_RP_LEVEL") @ApiParam(value = "转呼通知等级") @@ -216,4 +216,11 @@ public class AndonManageRecord extends BaseBean { public Integer getPriorityLevel() { return this.priorityLevel == null ? 0 : this.priorityLevel; } + + public AndonManageRecord() { + } + + public AndonManageRecord(String andonOrderNo) { + this.andonOrderNo = andonOrderNo; + } } diff --git a/modules/i3plus-pojo-andon/src/main/java/cn.estsh.i3plus.pojo.andon/model/ProdOrgModel.java b/modules/i3plus-pojo-andon/src/main/java/cn.estsh.i3plus.pojo.andon/model/ProdOrgModel.java new file mode 100644 index 0000000..5df7d8d --- /dev/null +++ b/modules/i3plus-pojo-andon/src/main/java/cn.estsh.i3plus.pojo.andon/model/ProdOrgModel.java @@ -0,0 +1,63 @@ +package cn.estsh.i3plus.pojo.andon.model; + +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.Entity; + +/** + * @Description: + * @Reference: + * @Author: yiming.gu + * @CreateDate:2019-04-18-14:16 + * @Modify: + **/ +@Data +@Entity +@DynamicInsert +@DynamicUpdate +@EqualsAndHashCode(callSuper = true) +@Api("组织模型") +public class ProdOrgModel extends BaseBean { + + @ApiParam("区域名称") + private String areaName; + + @ApiParam("区域代码") + private String areaCode; + + @ApiParam("工作中心代码") + private String workCenterCode; + + @ApiParam("工作中心名称") + private String workCenterName; + + @ApiParam("ERP工作中心") + private String erpWorkCenter; + + @ApiParam("工作版本") + private String workVer; + + @ApiParam("工作单元代码") + private String workCellCode; + + @ApiParam("工作单元名称") + private String workCellName; + + @ApiParam("设备代码") + private String equipmentCode; + + @ApiParam("设备名称") + private String equipmentName; + + @ApiParam("设备状态") + private String status; + + @ApiParam("当前级") + private Integer level; +} diff --git a/modules/i3plus-pojo-andon/src/main/java/cn.estsh.i3plus.pojo.andon/repository/IAndonConfigRepository.java b/modules/i3plus-pojo-andon/src/main/java/cn.estsh.i3plus.pojo.andon/repository/IAndonConfigRepository.java new file mode 100644 index 0000000..ab8dad8 --- /dev/null +++ b/modules/i3plus-pojo-andon/src/main/java/cn.estsh.i3plus.pojo.andon/repository/IAndonConfigRepository.java @@ -0,0 +1,16 @@ +package cn.estsh.i3plus.pojo.andon.repository; + +import cn.estsh.i3plus.pojo.andon.bean.AndonConfig; +import cn.estsh.i3plus.pojo.base.jpa.dao.BaseRepository; +import org.springframework.stereotype.Repository; + +/** + * @Description : 对象持久层仓用方法控制(ANDON系统配置文件) + * @Reference : + * @Author : hansen.ke + * @CreateDate : 2019-05-13 11:05 + * @Modify: + **/ +@Repository +public interface IAndonConfigRepository extends BaseRepository { +} 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 60667d8..f8b6377 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 @@ -1,16 +1,9 @@ package cn.estsh.i3plus.pojo.andon.sqlpack; -import cn.estsh.i3plus.pojo.andon.bean.AndonPLC; -import cn.estsh.i3plus.pojo.base.bean.BaseBean; -import cn.estsh.i3plus.pojo.base.bean.DdlPackBean; -import cn.estsh.i3plus.pojo.base.enumutil.AndonEnumUtil; -import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil; -import cn.estsh.i3plus.pojo.base.tool.DdlPreparedPack; -import org.apache.commons.lang3.StringUtils; - import cn.estsh.i3plus.pojo.andon.bean.*; import cn.estsh.i3plus.pojo.base.bean.BaseBean; import cn.estsh.i3plus.pojo.base.bean.DdlPackBean; +import cn.estsh.i3plus.pojo.base.enumutil.AndonEnumUtil; import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil; import cn.estsh.i3plus.pojo.base.tool.DdlPreparedPack; import org.apache.commons.lang3.StringUtils; @@ -178,10 +171,158 @@ public class AndonHqlPack { DdlPreparedPack.getStringEqualPack(andonManageQueue.getWorkCenterCode(), "workCenterCode", result); DdlPreparedPack.getStringEqualPack(andonManageQueue.getEquipmentCode(), "equipmentCode", result); DdlPreparedPack.getStringEqualPack(andonManageQueue.getAlarmCode(), "alarmCode", result); + DdlPreparedPack.getStringEqualPack(andonManageQueue.getActionCode(), "actionCode", result); DdlPreparedPack.getInPackArray(obj, "statusCode", result); getStringBuilderPack(andonManageQueue, result); + if(andonManageQueue.getCallTimeStart() != null || andonManageQueue.getCallTimeEnd() != null){ + DdlPreparedPack.timeBuilder(andonManageQueue.getCallTimeStart(), andonManageQueue.getCallTimeEnd(), "callTime", result, true); + } + + // 根据优先级倒序,序号升序排序 + DdlPreparedPack.getOrderByPack(new Object[]{2, 1}, + new String[]{"priorityLevel", "seq"}, result); + + return result; + } + + /** + * 按条件查询按灯记录信息 + * @param andonManageRecord + * @return + */ + public static DdlPackBean packHqlAndonManageRecord(AndonManageRecord andonManageRecord, Object[] obj){ + DdlPackBean result = new DdlPackBean(); + + DdlPreparedPack.getStringEqualPack(andonManageRecord.getAndonOrderNo(), "andonOrderNo", result); + DdlPreparedPack.getStringEqualPack(andonManageRecord.getWorkCellCode(), "workCellCode", result); + DdlPreparedPack.getStringEqualPack(andonManageRecord.getWorkCenterCode(), "workCenterCode", result); + DdlPreparedPack.getStringEqualPack(andonManageRecord.getEquipmentCode(), "equipmentCode", result); + DdlPreparedPack.getStringEqualPack(andonManageRecord.getAlarmCode(), "alarmCode", result); + DdlPreparedPack.getStringEqualPack(andonManageRecord.getActionCode(), "actionCode", result); + DdlPreparedPack.getInPackArray(obj, "statusCode", result); + + getStringBuilderPack(andonManageRecord, result); + + // 根据优先级倒序,序号升序排序 + DdlPreparedPack.getOrderByPack(new Object[]{2, 1}, + new String[]{"priorityLevel", "seq"}, result); + + return result; + } + + /** + * 按条件查询按灯系统配置信息 + * @param andonConfig + * @return + */ + public static DdlPackBean packHqlAndonConfig(AndonConfig andonConfig){ + DdlPackBean result = new DdlPackBean(); + + DdlPreparedPack.getStringEqualPack(andonConfig.getConfigCode(), "configCode", result); + + getStringBuilderPack(andonConfig, result); + + return result; + } + + /** + * 通用查询条件 + * @param organizeCode + * @return + */ + public static DdlPackBean getAllBaseDataByNormalPro(BaseBean baseBean, String organizeCode) { + DdlPackBean packBean = new DdlPackBean(); + DdlPreparedPack.getStringEqualPack(organizeCode, "organizeCode", packBean); + DdlPreparedPack.getNumEqualPack(baseBean.getIsValid(), "isValid", packBean); + DdlPreparedPack.getNumEqualPack(CommonEnumUtil.IS_DEAL.NO.getValue(), "isDeleted", packBean); + return packBean; + } + + /** + * MES区域信息查询条件封装 + * @param mesArea + * @return + */ + public static DdlPackBean getMesArea(MesArea mesArea, String organizeCode) { + DdlPackBean packBean = getAllBaseDataByNormalPro(mesArea, organizeCode); + if (StringUtils.isNotEmpty(mesArea.getAreaCode())) { + DdlPreparedPack.getStringEqualPack(mesArea.getAreaCode(), "areaCode", packBean); + } + + return packBean; + } + + /** + * MES工作中心信息查询条件封装 + * @param mesWorkCenter + * @return + */ + public static DdlPackBean getMesWorkCenter(MesWorkCenter mesWorkCenter, String organizeCode) { + DdlPackBean packBean = getAllBaseDataByNormalPro(mesWorkCenter, organizeCode); + if (StringUtils.isNotEmpty(mesWorkCenter.getWorkCenterCode())) { + DdlPreparedPack.getStringEqualPack(mesWorkCenter.getWorkCenterCode(), "workCenterCode", packBean); + } + if (StringUtils.isNotEmpty(mesWorkCenter.getAreaCode())){ + DdlPreparedPack.getStringEqualPack(mesWorkCenter.getAreaCode(), "areaCode", packBean); + } + + return packBean; + } + + /** + * MES工作单元信息查询条件封装 + * @param mesWorkCell + * @return + */ + public static DdlPackBean getMesWorkCell(MesWorkCell mesWorkCell, String organizeCode) { + DdlPackBean packBean = getAllBaseDataByNormalPro(mesWorkCell, organizeCode); + if (StringUtils.isNotEmpty(mesWorkCell.getWorkCenterCode())) { + DdlPreparedPack.getStringEqualPack(mesWorkCell.getWorkCenterCode(), "workCenterCode", packBean); + } + if (StringUtils.isNotEmpty(mesWorkCell.getAreaCode())){ + DdlPreparedPack.getStringEqualPack(mesWorkCell.getAreaCode(), "areaCode", packBean); + } + if (StringUtils.isNotEmpty(mesWorkCell.getWorkCellCode())){ + DdlPreparedPack.getStringEqualPack(mesWorkCell.getWorkCellCode(), "workCellCode", packBean); + } + + return packBean; + } + + /** + * MES设备信息查询条件封装 + * @param mesEquipment + * @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); + } + + return packBean; + } + + /** + * 通知配置信息封装 + * @param responseCfg + * @return + */ + public static DdlPackBean packAndonAlarmResponseCfg(AndonAlarmResponseCfg responseCfg) { + DdlPackBean result = new DdlPackBean(); + + DdlPreparedPack.getStringEqualPack(responseCfg.getAlarmCode(), "alarmCode", result); + DdlPreparedPack.getStringEqualPack(responseCfg.getAndonStatus(), "andonStatus", result); + DdlPreparedPack.getNumNOEqualPack(String.valueOf(AndonEnumUtil.ALARM_PRIORITY.FIRST.getValue()), + "rpLevel", result); + + getStringBuilderPack(responseCfg, result); + 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 a80a65a..3ceadb1 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 @@ -214,4 +214,42 @@ public class AndonEnumUtil { return description; } } + + /** + * 组织模型树形菜单level + */ + @JsonFormat(shape = JsonFormat.Shape.OBJECT) + public enum PROD_ORG_LEVEL{ + + LEVEL_ONE(1,"一级目录"), + LEVEL_TWO(2,"二级目录"), + LEVEL_THREE(3,"三级目录"), + LEVEL_FOUR(4,"四级目录"); + + private int value; + private String description; + + PROD_ORG_LEVEL(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/enumutil/WmsEnumUtil.java b/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/enumutil/WmsEnumUtil.java index e8a6b83..a11ca7c 100644 --- a/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/enumutil/WmsEnumUtil.java +++ b/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/enumutil/WmsEnumUtil.java @@ -2331,4 +2331,38 @@ public class WmsEnumUtil { return tmp; } } + + /** + * 是否条码管控(用于物料) + */ + @JsonFormat(shape = JsonFormat.Shape.OBJECT) + public enum IS_SN_CONTROL { + SN_CONTROL(1, "条码管控"), NOT_SN_CONTROL(2, "非条码管控"); + + private int value; + private String description; + + IS_SN_CONTROL(int value, String description) { + this.value = value; + this.description = description; + } + + public int getValue() { + return value; + } + + public String getDescription() { + return description; + } + + public static String valueOf(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/jpa/daoimpl/BaseRepositoryImpl.java b/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/jpa/daoimpl/BaseRepositoryImpl.java index 5a28202..ae2aecf 100644 --- a/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/jpa/daoimpl/BaseRepositoryImpl.java +++ b/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/jpa/daoimpl/BaseRepositoryImpl.java @@ -5,6 +5,7 @@ import cn.estsh.i3plus.pojo.base.common.Pager; import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil; import cn.estsh.i3plus.pojo.base.jpa.dao.BaseRepository; import cn.estsh.i3plus.pojo.base.codemaker.SnowflakeIdMaker; +import org.apache.commons.lang3.StringUtils; import org.hibernate.NonUniqueResultException; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -1399,7 +1400,9 @@ public class BaseRepositoryImpl extends SimpleJpaRep if ((paramName != null) && (paramName.length > 0) && (paramValue != null) && (paramValue.length > 0)) { StringBuffer sb = new StringBuffer("select max(model." + sumPropertyName + ") from " + persistentClass.getName() + " model where 1=1 "); appendQL(sb, paramName, paramValue); - sb.append(" group by model." + groupByName); + if(!StringUtils.isEmpty(groupByName)){ + sb.append(" group by model." + groupByName); + } Query query = entityManager.createQuery(sb.toString()); setParameter(query,paramName,paramValue); diff --git a/modules/i3plus-pojo-mes-pcn/src/main/java/cn/estsh/i3plus/pojo/mes/pcn/bean/MesKpsnRule.java b/modules/i3plus-pojo-mes-pcn/src/main/java/cn/estsh/i3plus/pojo/mes/pcn/bean/MesKpsnRule.java new file mode 100644 index 0000000..4b2ad82 --- /dev/null +++ b/modules/i3plus-pojo-mes-pcn/src/main/java/cn/estsh/i3plus/pojo/mes/pcn/bean/MesKpsnRule.java @@ -0,0 +1,93 @@ +package cn.estsh.i3plus.pojo.mes.pcn.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; + +/** + * @Description: + * @Reference: + * @Author: Crish + * @CreateDate:2019-04-16-17:36 + * @Modify: + **/ +@Data +@Entity +@DynamicInsert +@DynamicUpdate +@EqualsAndHashCode(callSuper = true) +@Table(name="MES_KPSN_RULE") +@Api("关键件条码校验规则") +public class MesKpsnRule extends BaseBean { + @Column(name="PART_NO") + @ApiParam("物料号") + private String partNo; + + @Column(name="LENGTH") + @ApiParam("长度") + private Integer length; + + @Column(name="FROM1") + @ApiParam("起始1") + private Integer from1; + + @Column(name="TO1") + @ApiParam("至1") + private Integer to1; + + @Column(name="FIX1") + @ApiParam("内容1") + private String fix1; + + @Column(name="FROM2") + @ApiParam("起始2") + private Integer from2; + + @Column(name="TO2") + @ApiParam("至2") + private Integer to2; + + @Column(name="FIX2") + @ApiParam("内容2") + private String fix2; + + @Column(name="TYPE") + @ApiParam("类型") + private String type; + + @Column(name="BIND_RULE") + @ApiParam("绑定规则") + private Integer bandRule; + + @Column(name="SUPPLIER_CODE") + @ApiParam("供应商代码") + private String supplierCode; + + public int getLengthVal() { + return this.length == null ? 0 : this.length; + } + + public int getFrom1Val() { + return this.from1 == null ? 0 : this.from1; + } + + public int getTo1Val() { + return this.to1 == null ? 0 : this.to1; + } + + public int getFrom2Val() { + return this.from2 == null ? 0 : this.from2; + } + + public int getTo2Val() { + return this.to2 == null ? 0 : this.to2; + } +} diff --git a/modules/i3plus-pojo-mes-pcn/src/main/java/cn/estsh/i3plus/pojo/mes/pcn/bean/MesProcessBom.java b/modules/i3plus-pojo-mes-pcn/src/main/java/cn/estsh/i3plus/pojo/mes/pcn/bean/MesProcessBom.java new file mode 100644 index 0000000..2b521a7 --- /dev/null +++ b/modules/i3plus-pojo-mes-pcn/src/main/java/cn/estsh/i3plus/pojo/mes/pcn/bean/MesProcessBom.java @@ -0,0 +1,68 @@ +package cn.estsh.i3plus.pojo.mes.pcn.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.ColumnDefault; +import org.hibernate.annotations.DynamicInsert; +import org.hibernate.annotations.DynamicUpdate; + +import javax.persistence.Column; +import javax.persistence.Entity; +import javax.persistence.Table; + +/** + * @Description :工序物料清单 + * @Reference : + * @Author : jack.jia + * @CreateDate : 2019-04-02 + * @Modify: + **/ +@Data +@Entity +@DynamicInsert +@DynamicUpdate +@EqualsAndHashCode(callSuper = true) +@Table(name="MES_PROCESS_BOM") +@Api("工序物料清单") +public class MesProcessBom extends BaseBean { + @Column(name="PART_NO") + @ApiParam("零件号") + private String partNo; + + @Column(name="PROCESS_CODE") + @ApiParam("工序代码") + private String processCode; + + @Column(name="ITEM_PART_NO") + @ApiParam("子零件") + private String itemPartNo; + + @Column(name = "QTY") + @ColumnDefault("0") + @ApiParam(value = "子零件数量", example = "0") + private Double qty; + + @Column(name = "IS_REPEAT") + @ApiParam(value = "是否可重复") + private Integer isRepeat; + + @Column(name = "IS_CHECK") + @ApiParam(value = "是否检查") + private Integer isCheck; + + public double getQtyVal() { + return this.qty == null ? 0.0d : this.qty; + } + + public int getIsRepeatVal() { + return this.isRepeat == null ? 0 : this.isRepeat; + } + + public int getIsCheckVal() { + return this.isCheck == null ? 0 : this.isCheck; + } +} diff --git a/modules/i3plus-pojo-mes-pcn/src/main/java/cn/estsh/i3plus/pojo/mes/pcn/bean/MesStep.java b/modules/i3plus-pojo-mes-pcn/src/main/java/cn/estsh/i3plus/pojo/mes/pcn/bean/MesStep.java index d9bd177..20365c1 100644 --- a/modules/i3plus-pojo-mes-pcn/src/main/java/cn/estsh/i3plus/pojo/mes/pcn/bean/MesStep.java +++ b/modules/i3plus-pojo-mes-pcn/src/main/java/cn/estsh/i3plus/pojo/mes/pcn/bean/MesStep.java @@ -48,12 +48,50 @@ public class MesStep extends BaseBean { @ApiParam("工步对象") private String stepObject; + /** + * 工位扫描业务所需使用字段 + */ + @Transient + @ApiParam("流程代码") + private String routeCode; + + /** + * 工位扫描业务所需使用字段 + */ + @Transient + @ApiParam("工序代码") + private String processCode; + + /** + * 工位扫描业务所需使用字段 + */ + @Transient + @ApiParam("工步顺序") + private Integer stepSeq; + + /** + * 工位扫描业务所需使用字段 + */ @Transient @ApiParam("工步执行完毕") private boolean isComplete; + /** + * 工位扫描业务所需使用字段 + */ @Transient @ApiParam("工步是否跳过") private boolean isJump; +// public MesStep(String stepCode,String stepName,String stepText,String stepType,String stepObject, +// String routeCode,String processCode,Integer stepSeq){ +// this.stepCode = stepCode; +// this.stepName = stepName; +// this.stepText = stepText; +// this.stepType = stepType; +// this.stepObject = stepObject; +// this.routeCode = routeCode; +// this.processCode = processCode; +// this.stepSeq = stepSeq; +// } } diff --git a/modules/i3plus-pojo-mes-pcn/src/main/java/cn/estsh/i3plus/pojo/mes/pcn/model/ButtonBean.java b/modules/i3plus-pojo-mes-pcn/src/main/java/cn/estsh/i3plus/pojo/mes/pcn/model/ButtonBean.java index 57aeff5..95e07f3 100644 --- a/modules/i3plus-pojo-mes-pcn/src/main/java/cn/estsh/i3plus/pojo/mes/pcn/model/ButtonBean.java +++ b/modules/i3plus-pojo-mes-pcn/src/main/java/cn/estsh/i3plus/pojo/mes/pcn/model/ButtonBean.java @@ -8,6 +8,9 @@ import java.io.Serializable; @Data public class ButtonBean implements Serializable { @ApiParam(value = "按钮名称") + private String buttonCode; + + @ApiParam(value = "按钮名称") private String buttonName; // 执行类方法,sql,或者标记 diff --git a/modules/i3plus-pojo-mes-pcn/src/main/java/cn/estsh/i3plus/pojo/mes/pcn/model/StationRequestBean.java b/modules/i3plus-pojo-mes-pcn/src/main/java/cn/estsh/i3plus/pojo/mes/pcn/model/StationRequestBean.java index 1431f93..03ac201 100644 --- a/modules/i3plus-pojo-mes-pcn/src/main/java/cn/estsh/i3plus/pojo/mes/pcn/model/StationRequestBean.java +++ b/modules/i3plus-pojo-mes-pcn/src/main/java/cn/estsh/i3plus/pojo/mes/pcn/model/StationRequestBean.java @@ -46,6 +46,9 @@ public class StationRequestBean implements Serializable { @ApiParam("用户信息") private String userInfo; + @ApiParam("按钮编号") + private String buttonCode; + /** * doScan-扫描,doModule-处理组件,initModule-初始化组件 */ diff --git a/modules/i3plus-pojo-mes-pcn/src/main/java/cn/estsh/i3plus/pojo/mes/pcn/model/StationResultBean.java b/modules/i3plus-pojo-mes-pcn/src/main/java/cn/estsh/i3plus/pojo/mes/pcn/model/StationResultBean.java index d6e6b55..d54e52c 100644 --- a/modules/i3plus-pojo-mes-pcn/src/main/java/cn/estsh/i3plus/pojo/mes/pcn/model/StationResultBean.java +++ b/modules/i3plus-pojo-mes-pcn/src/main/java/cn/estsh/i3plus/pojo/mes/pcn/model/StationResultBean.java @@ -1,6 +1,5 @@ package cn.estsh.i3plus.pojo.mes.pcn.model; -import cn.estsh.i3plus.pojo.mes.pcn.bean.MesStep; import io.swagger.annotations.ApiParam; import lombok.Data; diff --git a/modules/i3plus-pojo-mes-pcn/src/main/java/cn/estsh/i3plus/pojo/mes/pcn/repository/MesKpsnRuleRepository.java b/modules/i3plus-pojo-mes-pcn/src/main/java/cn/estsh/i3plus/pojo/mes/pcn/repository/MesKpsnRuleRepository.java new file mode 100644 index 0000000..373ab6d --- /dev/null +++ b/modules/i3plus-pojo-mes-pcn/src/main/java/cn/estsh/i3plus/pojo/mes/pcn/repository/MesKpsnRuleRepository.java @@ -0,0 +1,16 @@ +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.MesKpsnRule; +import org.springframework.stereotype.Repository; + +/** + * @Description : + * @Reference : + * @Author : jack.jia + * @CreateDate : 2019-04-02 + * @Modify: + **/ +@Repository +public interface MesKpsnRuleRepository extends BaseRepository { +} diff --git a/modules/i3plus-pojo-mes-pcn/src/main/java/cn/estsh/i3plus/pojo/mes/pcn/repository/MesProcessBomRepository.java b/modules/i3plus-pojo-mes-pcn/src/main/java/cn/estsh/i3plus/pojo/mes/pcn/repository/MesProcessBomRepository.java new file mode 100644 index 0000000..ac3d741 --- /dev/null +++ b/modules/i3plus-pojo-mes-pcn/src/main/java/cn/estsh/i3plus/pojo/mes/pcn/repository/MesProcessBomRepository.java @@ -0,0 +1,16 @@ +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.MesProcessBom; +import org.springframework.stereotype.Repository; + +/** + * @Description : + * @Reference : + * @Author : jack.jia + * @CreateDate : 2019-04-02 + * @Modify: + **/ +@Repository +public interface MesProcessBomRepository extends BaseRepository { +} diff --git a/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/bean/MesShift.java b/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/bean/MesShift.java index ccb818d..9c4f50a 100644 --- a/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/bean/MesShift.java +++ b/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/bean/MesShift.java @@ -28,6 +28,10 @@ import javax.persistence.Table; @Table(name="MES_SHIFT") @Api("班次信息") public class MesShift extends BaseBean { + @Column(name="WORK_CENTER_CODE") + @ApiParam("工作中心代码") + private String workCenterCode; + @Column(name="SHIFT_CODE") @ApiParam("班次代码") private String shiftCode; @@ -42,5 +46,5 @@ public class MesShift extends BaseBean { @Column(name="WORK_TIMES") @ApiParam("作业时长") - private String workTimes; + private Double workTimes; } diff --git a/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/model/ProdOrgModel.java b/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/model/ProdOrgModel.java index 56d40ff..b4a23a6 100644 --- a/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/model/ProdOrgModel.java +++ b/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/model/ProdOrgModel.java @@ -22,7 +22,7 @@ import javax.persistence.Entity; @DynamicInsert @DynamicUpdate @EqualsAndHashCode(callSuper = true) -@Api("生产区域") +@Api("组织模型") public class ProdOrgModel extends BaseBean { @ApiParam("区域名称") 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..4fb3075 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 @@ -269,4 +269,78 @@ public class MesHqlPack { return packBean; } + + /** + * MES班次信息查询条件封装 + * @param shift + * @return + */ + public static DdlPackBean getMesShift(MesShift shift, String organizeCode) { + DdlPackBean packBean = getAllBaseDataByNormalPro(shift, organizeCode); + if (StringUtils.isNotEmpty(shift.getShiftCode())){ + DdlPreparedPack.getStringEqualPack(shift.getShiftCode(), "shiftCode", packBean); + } + if (StringUtils.isNotEmpty(shift.getShiftName())){ + DdlPreparedPack.getStringLikerPack(shift.getShiftName(), "shiftName", packBean); + } + if (StringUtils.isNotEmpty(shift.getWorkCenterCode())){ + DdlPreparedPack.getStringEqualPack(shift.getWorkCenterCode(), "workCenterCode", packBean); + } + + return packBean; + } + + /** + * MES工序信息查询条件封装 + * @param process + * @return + */ + public static DdlPackBean getMesProcess(MesProcess process, String organizeCode) { + DdlPackBean packBean = getAllBaseDataByNormalPro(process, organizeCode); + if (StringUtils.isNotEmpty(process.getProcessCode())){ + DdlPreparedPack.getStringEqualPack(process.getProcessCode(), "processCode", packBean); + } + if (StringUtils.isNotEmpty(process.getProcessName())){ + DdlPreparedPack.getStringLikerPack(process.getProcessName(), "processName", packBean); + } + + return packBean; + } + + /** + * MES工步信息查询条件封装 + * @param step + * @return + */ + public static DdlPackBean getMesStep(MesStep step, String organizeCode) { + DdlPackBean packBean = getAllBaseDataByNormalPro(step, organizeCode); + if (StringUtils.isNotEmpty(step.getStepCode())){ + DdlPreparedPack.getStringEqualPack(step.getStepCode(), "stepCode", packBean); + } + if (StringUtils.isNotEmpty(step.getStepName())){ + DdlPreparedPack.getStringLikerPack(step.getStepName(), "stepName", packBean); + } + + return packBean; + } + + /** + * MES工步参数信息查询条件封装 + * @param stepParam + * @return + */ + public static DdlPackBean getMesStepParam(MesStepParam stepParam, String organizeCode) { + DdlPackBean packBean = getAllBaseDataByNormalPro(stepParam, organizeCode); + if (StringUtils.isNotEmpty(stepParam.getStepCode())){ + DdlPreparedPack.getStringEqualPack(stepParam.getStepCode(), "stepCode", packBean); + } + if (StringUtils.isNotEmpty(stepParam.getParamCode())){ + DdlPreparedPack.getStringEqualPack(stepParam.getParamCode(), "paramCode", packBean); + } + if (StringUtils.isNotEmpty(stepParam.getParamName())){ + DdlPreparedPack.getStringLikerPack(stepParam.getParamName(), "paramName", packBean); + } + + return packBean; + } } diff --git a/modules/i3plus-pojo-model/pom.xml b/modules/i3plus-pojo-model/pom.xml index de91a3e..613ecda 100644 --- a/modules/i3plus-pojo-model/pom.xml +++ b/modules/i3plus-pojo-model/pom.xml @@ -46,6 +46,10 @@ i3plus.pojo i3plus-pojo-mes + + i3plus.pojo + i3plus-pojo-andon + diff --git a/modules/i3plus-pojo-model/src/main/java/cn/estsh/i3plus/pojo/model/andon/SysOrganizeModel.java b/modules/i3plus-pojo-model/src/main/java/cn/estsh/i3plus/pojo/model/andon/SysOrganizeModel.java new file mode 100644 index 0000000..7a9f6e0 --- /dev/null +++ b/modules/i3plus-pojo-model/src/main/java/cn/estsh/i3plus/pojo/model/andon/SysOrganizeModel.java @@ -0,0 +1,23 @@ +package cn.estsh.i3plus.pojo.model.andon; + +import cn.estsh.i3plus.pojo.andon.bean.MesArea; +import cn.estsh.i3plus.pojo.platform.bean.SysOrganize; +import io.swagger.annotations.ApiParam; + +import javax.persistence.Transient; +import java.util.List; + +public class SysOrganizeModel extends SysOrganize{ + + @Transient + @ApiParam(value ="子集列表") + private List childTreeList; + + public List getChildTreeList() { + return childTreeList; + } + + public void setChildTreeList(List childTreeList) { + this.childTreeList = childTreeList; + } +} diff --git a/modules/i3plus-pojo-model/src/main/java/cn/estsh/i3plus/pojo/model/wms/WmsActionGroupModel.java b/modules/i3plus-pojo-model/src/main/java/cn/estsh/i3plus/pojo/model/wms/WmsActionGroupModel.java index 048379c..c9abef2 100644 --- a/modules/i3plus-pojo-model/src/main/java/cn/estsh/i3plus/pojo/model/wms/WmsActionGroupModel.java +++ b/modules/i3plus-pojo-model/src/main/java/cn/estsh/i3plus/pojo/model/wms/WmsActionGroupModel.java @@ -7,22 +7,26 @@ import io.swagger.annotations.Api; import io.swagger.annotations.ApiParam; import lombok.Data; +import javax.persistence.Transient; import java.io.Serializable; import java.util.List; /** -* @Description : 作业流程Model -* @Reference : -* @Author : dragon.xu -* @CreateDate : 2019-04-29 15:39 -* @Modify: -**/ + * @Description : 作业流程Model + * @Reference : + * @Author : dragon.xu + * @CreateDate : 2019-04-29 15:39 + * @Modify: + **/ @Data @Api("作业流程Model") public class WmsActionGroupModel implements Serializable { @ApiParam("流程") - public WmsActionGroup wmsActionGroup; - + public String agId; + @ApiParam("工厂代码") + public String organizeCode; + @ApiParam("GOJS位置") + public String position; @ApiParam("流程明细Model集合") public List wmsActionGroupDetailsModelList; } diff --git a/modules/i3plus-pojo-platform/src/main/java/cn/estsh/i3plus/pojo/platform/bean/SysLocaleResource.java b/modules/i3plus-pojo-platform/src/main/java/cn/estsh/i3plus/pojo/platform/bean/SysLocaleResource.java index ff23075..81adc82 100644 --- a/modules/i3plus-pojo-platform/src/main/java/cn/estsh/i3plus/pojo/platform/bean/SysLocaleResource.java +++ b/modules/i3plus-pojo-platform/src/main/java/cn/estsh/i3plus/pojo/platform/bean/SysLocaleResource.java @@ -55,7 +55,7 @@ public class SysLocaleResource extends BaseBean { @ApiParam(value = "资源KEY",example = "格式A.B,全部大写,参考命名规范开发文档") private String resourceKey; - @Column(name="resource_value") + @Column(name="resource_value",columnDefinition="TEXT") @ApiParam(value = "资源Value",example = "通过resourceType,languageId和key获取") private String resourceValue; diff --git a/modules/i3plus-pojo-sweb/src/main/java/cn/estsh/i3plus/pojo/sweb/bean/SwebPurchaseOrder.java b/modules/i3plus-pojo-sweb/src/main/java/cn/estsh/i3plus/pojo/sweb/bean/SwebPurchaseOrder.java index add54ef..fe4aff9 100644 --- a/modules/i3plus-pojo-sweb/src/main/java/cn/estsh/i3plus/pojo/sweb/bean/SwebPurchaseOrder.java +++ b/modules/i3plus-pojo-sweb/src/main/java/cn/estsh/i3plus/pojo/sweb/bean/SwebPurchaseOrder.java @@ -50,10 +50,6 @@ public class SwebPurchaseOrder extends BaseBean { @Column(name = "ORDER_TYPE") private Integer orderType; - @ApiParam(value = "订单状态", example = "1") - @Column(name = "ORDER_STATUS") - private Integer orderStatus; - @Column(name = "PARENT_PACKAGE_NO") @ApiParam("上级包装编号") private String parentPackageNo; diff --git a/modules/i3plus-pojo-sweb/src/main/java/cn/estsh/i3plus/pojo/sweb/sqlpack/SwebHqlPack.java b/modules/i3plus-pojo-sweb/src/main/java/cn/estsh/i3plus/pojo/sweb/sqlpack/SwebHqlPack.java index 80c33a0..7b4026d 100644 --- a/modules/i3plus-pojo-sweb/src/main/java/cn/estsh/i3plus/pojo/sweb/sqlpack/SwebHqlPack.java +++ b/modules/i3plus-pojo-sweb/src/main/java/cn/estsh/i3plus/pojo/sweb/sqlpack/SwebHqlPack.java @@ -3,6 +3,7 @@ package cn.estsh.i3plus.pojo.sweb.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.SwebEnumUtil; import cn.estsh.i3plus.pojo.base.tool.DdlPreparedPack; import cn.estsh.i3plus.pojo.sweb.bean.*; import cn.estsh.i3plus.pojo.sweb.modelbean.SwebPOForPubListEnterModel; @@ -46,7 +47,6 @@ public class SwebHqlPack { DdlPackBean result = new DdlPackBean(); DdlPreparedPack.getStringEqualPack(purchaseOrder.getOrderNo(), "orderNo", result); DdlPreparedPack.getStringEqualPack(purchaseOrder.getVendorCode(), "vendorCode", result); - DdlPreparedPack.getNumEqualPack(purchaseOrder.getOrderStatus(), "orderStatus", result); DdlPreparedPack.timeBuilder(purchaseOrder.getExpectedTimeStart(), purchaseOrder.getExpectedTimeEnd(), "expectedTime", result, false); DdlPreparedPack.getNumEqualPack(purchaseOrder.getOrderType(), "orderType", result); @@ -77,7 +77,6 @@ public class SwebHqlPack { DdlPreparedPack.getStringEqualPack(model.getVendorCode(), "vendorCode", result); DdlPreparedPack.getNumEqualPack(model.getOrderType(), "orderType", result); DdlPreparedPack.getStringEqualPack(model.getPartNo(), "partNo", result); - DdlPreparedPack.timeBuilder(model.getExpectedTimeStart(), model.getExpectedTimeEnd(), "expectedTime", result, false); // 封装有效状态和删除状态 DdlPreparedPack.getNumEqualPack(CommonEnumUtil.IS_VAILD.VAILD.getValue(), "isValid", result); DdlPreparedPack.getNumEqualPack(CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue(), "isDeleted", result); @@ -126,4 +125,29 @@ public class SwebHqlPack { DdlPreparedPack.getNumEqualPack(details.getOrderType(), "orderType", result); return buildHql(details, result); } + + /** + * 将该供应商下该单号状态全部改为已发布状态 where sql + * @param details + * @return + */ + public static DdlPackBean getPODetailsPublishListUpdatePublishStatusWhereHql(SwebPurchaseOrderDetails details) { + DdlPackBean result = new DdlPackBean(); + DdlPreparedPack.getStringEqualPack(details.getOrderNo(), "orderNo", result); + DdlPreparedPack.getStringEqualPack(details.getVendorCode(), "vendorCode", result); + DdlPreparedPack.getNumEqualPack(details.getOrderType(), "orderType", result); + return buildHql(details, result); + } + + /** + * 判断订单详情表是否有非新建状态的订单 where sql + * @param details + * @return + */ + public static DdlPackBean getPODetailsNotCreateStatusWhereHql(SwebPurchaseOrderDetails details) { + DdlPackBean result = new DdlPackBean(); + DdlPreparedPack.getStringEqualPack(details.getOrderNo(), "orderNo", result); + DdlPreparedPack.getNumNOEqualPack(SwebEnumUtil.ORDER_DETAILS_STATUS.CREATE.getValue(), "itemStatus", result); + return buildHql(details, result); + } } diff --git a/pom.xml b/pom.xml index 33e3f06..4cd2e03 100644 --- a/pom.xml +++ b/pom.xml @@ -122,6 +122,12 @@ ${project.version} + + i3plus.pojo + i3plus-pojo-andon + ${project.version} + + com.fasterxml.jackson.core