From e94e4ad189ebd62c29373540429342847802c2ff Mon Sep 17 00:00:00 2001 From: "jimmy.zeng" Date: Sun, 21 Jun 2020 17:26:32 +0800 Subject: [PATCH] =?UTF-8?q?=E3=80=902180=2006=201.2.3.8=E6=B3=B0=E5=9B=BDW?= =?UTF-8?q?MS=EF=BC=8D=E7=94=9F=E4=BA=A7=E6=8A=A5=E5=B7=A5=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3=E3=80=91=20=E3=80=902181=2006=201.2.3.8=20=E6=B3=B0?= =?UTF-8?q?=E5=9B=BDWMS-=E5=AE=B9=E5=99=A8=E5=8C=85=E8=A3=85=E5=85=B3?= =?UTF-8?q?=E7=B3=BB=E6=8E=A5=E5=8F=A3=E3=80=91=20=E3=80=902180=2006=201.2?= =?UTF-8?q?.3.8=E6=B3=B0=E5=9B=BDWMS=EF=BC=8D=E7=94=9F=E4=BA=A7=E6=8A=A5?= =?UTF-8?q?=E5=B7=A5=E6=8E=A5=E5=8F=A3=E3=80=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../i3plus/pojo/base/enumutil/WmsEnumUtil.java | 82 +++++++++++++++++++++ .../i3plus/pojo/model/wms/WmsJobParamModel.java | 1 + .../pojo/wms/bean/WmsAutoStrategyDetail.java | 86 ++++++++++++++++++++++ .../pojo/wms/bean/WmsAutoStrategyMethod.java | 51 +++++++++++++ .../estsh/i3plus/pojo/wms/bean/WmsDocFgDetail.java | 12 +++ .../cn/estsh/i3plus/pojo/wms/bean/WmsSerialSn.java | 5 ++ .../WmsAutoStrategyDetailRepository.java | 16 ++++ .../WmsAutoStrategyMasterRepository.java | 16 ++++ .../WmsAutoStrategyMethodRepository.java | 16 ++++ .../estsh/i3plus/pojo/wms/sqlpack/WmsHqlPack.java | 60 +++++++++++++++ 10 files changed, 345 insertions(+) create mode 100644 modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/bean/WmsAutoStrategyDetail.java create mode 100644 modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/bean/WmsAutoStrategyMethod.java create mode 100644 modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/repository/WmsAutoStrategyDetailRepository.java create mode 100644 modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/repository/WmsAutoStrategyMasterRepository.java create mode 100644 modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/repository/WmsAutoStrategyMethodRepository.java 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 482019c..98df4b4 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 @@ -8115,4 +8115,86 @@ public class WmsEnumUtil { return description; } } + + /** + * 动作类型 + * 10-锁定库存,20-解锁库存、30-锁定库位、40-解锁库位、50-锁定料车、60-解锁料车、70-生成任务、 + * 80-取消任务、90-递进交换 + */ + @JsonFormat(shape = JsonFormat.Shape.OBJECT) + public enum STRATEGY_ACTION_TYPE { + LOCKING_IN_STOCK(10, "LOCKING_IN_STOCK", "锁定库存"), + UNLOCK_IN_STOCK(20, "UNLOCK_IN_STOCK", "解锁库存"), + LOCKING_LOCATE(30, "LOCKING_LOCATE", "锁定库位"), + UNLOCK_LOCATE(40, "UNLOCK_LOCATE", "解锁库位"), + LOCKING_FEED_CAR(50, "LOCKING_FEED_CAR", "锁定料车"), + UNLOCK_FEED_CAR(60, "UNLOCK_FEED_CAR", "解锁料车"), + GENERATE_TASK(70, "GENERATE_TASK", "生成任务"), + CANCEL_TASK(80, "CANCEL_TASK", "取消任务"), + PROGRESSIVE_EXCHANGE(90, "PROGRESSIVE_EXCHANGE", "递进交换"); + + private int value; + private String code; + private String description; + + STRATEGY_ACTION_TYPE(int value, String code, String description) { + this.value = value; + this.code = code; + this.description = description; + } + + public int getValue() { + return value; + } + + public String getDescription() { + return description; + } + + public String getCode() { + return code; + } + + 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; + } + + public static String valueOfDescription(int val) { + return valueOf(val); + } + + public static int descriptionOfValue(String desc) { + return descOf(desc); + } + + + public static int descOf(String desc) { + int tmp = 1; + for (int i = 0; i < values().length; i++) { + if (values()[i].description.equals(desc)) { + tmp = values()[i].value; + } + } + return tmp; + } + + public static STRATEGY_ACTION_TYPE codeOf(Integer value) { + if (value == null) { + return null; + } else { + for (int i = 0; i < values().length; i++) { + if (values()[i].value == value) { + return values()[i]; + } + } + } + return null; + } + } } diff --git a/modules/i3plus-pojo-model/src/main/java/cn/estsh/i3plus/pojo/model/wms/WmsJobParamModel.java b/modules/i3plus-pojo-model/src/main/java/cn/estsh/i3plus/pojo/model/wms/WmsJobParamModel.java index 6bfdd58..2c30912 100644 --- a/modules/i3plus-pojo-model/src/main/java/cn/estsh/i3plus/pojo/model/wms/WmsJobParamModel.java +++ b/modules/i3plus-pojo-model/src/main/java/cn/estsh/i3plus/pojo/model/wms/WmsJobParamModel.java @@ -17,6 +17,7 @@ public class WmsJobParamModel implements Serializable { private static final long serialVersionUID = 5784492509251527816L; private String organizeCode;//工厂代码 private List zonesNoList;//存储区编号 + private String src;//单据来源枚举 private Integer snType;//条码类型(虚拟,实物) private String devOpsEmail;//运维人员邮箱 private Integer minuteDiff;//处理周期(分钟) diff --git a/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/bean/WmsAutoStrategyDetail.java b/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/bean/WmsAutoStrategyDetail.java new file mode 100644 index 0000000..e5fb349 --- /dev/null +++ b/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/bean/WmsAutoStrategyDetail.java @@ -0,0 +1,86 @@ +package cn.estsh.i3plus.pojo.wms.bean; + +import cn.estsh.i3plus.pojo.base.annotation.AnnoOutputColumn; +import cn.estsh.i3plus.pojo.base.annotation.DynamicField; +import cn.estsh.i3plus.pojo.base.bean.BaseBean; +import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil; +import cn.estsh.i3plus.pojo.base.enumutil.WmsEnumUtil; +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.Index; +import javax.persistence.Table; + +/** + * @Description : 自动化策略明细表 + * @Reference : + * @Author : jimmy.zeng + * @CreateDate : 2020-06-20 16:51 + * @Modify: + **/ +@Data +@Entity +@DynamicInsert +@DynamicUpdate +@EqualsAndHashCode(callSuper = true) +@Table(name = "WMS_AUTO_STRATEGY_DETAIL", indexes = { + @Index(columnList = "AUTO_STRATEGY_NO"), + @Index(columnList = "STRATEGY_ITEM_NO") +}) +@Api("自动化策略明细表") +public class WmsAutoStrategyDetail extends BaseBean { + private static final long serialVersionUID = 6855278572650548519L; + + @Column(name = "AUTO_STRATEGY_NO") + @ApiParam(value = "自动化策略编码") + @DynamicField(webFieldType = CommonEnumUtil.FIELD_TYPE.TEXT) + private String autoStrategyNo; + + @Column(name = "STRATEGY_ITEM_NO") + @ApiParam(value = "策略项编码") + @DynamicField(webFieldType = CommonEnumUtil.FIELD_TYPE.TEXT) + private String strategyItemNo; + + @Column(name = "STRATEGY_ITEM_NAME") + @ApiParam(value = "策略项名称") + @DynamicField(webFieldType = CommonEnumUtil.FIELD_TYPE.TEXT) + private String strategyItemName; + + @Column(name = "STRATEGY_ITEM_SPEC") + @ApiParam(value = "策略项描述") + @DynamicField(webFieldType = CommonEnumUtil.FIELD_TYPE.TEXT) + private String strategyItemSpec; + + @Column(name = "FILTER_CONDITION") + @ApiParam(value = "过滤条件") + @DynamicField(webFieldType = CommonEnumUtil.FIELD_TYPE.TEXT) + private String filterCondition; + + @Column(name = "SORT_CONDITION") + @ApiParam(value = "排序条件") + @DynamicField(webFieldType = CommonEnumUtil.FIELD_TYPE.TEXT) + private String sortCondition; + + @Column(name = "STRATEGY_ACTION") + @ApiParam(value = "动作") + @DynamicField(webFieldType = CommonEnumUtil.FIELD_TYPE.TEXT) + @AnnoOutputColumn(refClass = WmsEnumUtil.STRATEGY_ACTION_TYPE.class, refForeignKey = "value", value = "description", hidden = true) + private Integer strategyAction; + + @Column(name = "STRATEGY_METHOD") + @ApiParam(value = "方法") + @DynamicField(webFieldType = CommonEnumUtil.FIELD_TYPE.TEXT) + private String strategyMethod; + + @Column(name = "SCRIPT_NO") + @ApiParam(value = "脚本编号") + @DynamicField(webFieldType = CommonEnumUtil.FIELD_TYPE.TEXT) + private String scriptNo; + +} diff --git a/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/bean/WmsAutoStrategyMethod.java b/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/bean/WmsAutoStrategyMethod.java new file mode 100644 index 0000000..31f0174 --- /dev/null +++ b/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/bean/WmsAutoStrategyMethod.java @@ -0,0 +1,51 @@ +package cn.estsh.i3plus.pojo.wms.bean; + +import cn.estsh.i3plus.pojo.base.annotation.DynamicField; +import cn.estsh.i3plus.pojo.base.bean.BaseBean; +import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil; +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.Index; +import javax.persistence.Table; + +/** + * @Description : 自动化策略方法 + * @Reference : + * @Author : jimmy.zeng + * @CreateDate : 2020-06-21 11:47 + * @Modify: + **/ +@Data +@Entity +@DynamicInsert +@DynamicUpdate +@EqualsAndHashCode(callSuper = true) +@Table(name = "WMS_AUTO_STRATEGY_METHOD", indexes = { + @Index(columnList = "STRATEGY_ACTION") +}) +@Api("自动化策略方法") +public class WmsAutoStrategyMethod extends BaseBean { + private static final long serialVersionUID = -4424882984978962477L; + + @Column(name = "STRATEGY_ACTION") + @ApiParam(value = "动作") + @DynamicField(webFieldType = CommonEnumUtil.FIELD_TYPE.TEXT) + private Integer strategyAction; + + @Column(name = "STRATEGY_METHOD") + @ApiParam(value = "策略方法") + @DynamicField(webFieldType = CommonEnumUtil.FIELD_TYPE.TEXT) + private String strategyMethod; + + @Column(name = "STRATEGY_SPEC") + @ApiParam(value = "策略描述") + @DynamicField(webFieldType = CommonEnumUtil.FIELD_TYPE.TEXT) + private String strategySpec; +} diff --git a/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/bean/WmsDocFgDetail.java b/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/bean/WmsDocFgDetail.java index 08e50e1..48fcef0 100644 --- a/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/bean/WmsDocFgDetail.java +++ b/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/bean/WmsDocFgDetail.java @@ -1,6 +1,8 @@ package cn.estsh.i3plus.pojo.wms.bean; +import cn.estsh.i3plus.pojo.base.annotation.DynamicField; import cn.estsh.i3plus.pojo.base.bean.BaseBean; +import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil; import com.fasterxml.jackson.annotation.JsonFormat; import io.swagger.annotations.Api; import io.swagger.annotations.ApiParam; @@ -153,4 +155,14 @@ public class WmsDocFgDetail extends BaseBean { @Column(name = "BOM_VERSION") @ApiParam(value = "BOM版本号") private String bomVersion; + + @Column(name = "PACKAGE_NO") + @ApiParam(value = "包装编号") + @DynamicField(webFieldType = CommonEnumUtil.FIELD_TYPE.TEXT) + private String packageNo; + + @Column(name = "FIX_LOT_NO", nullable = false) + @ApiParam(value = "特殊批次") + @DynamicField(webFieldType = CommonEnumUtil.FIELD_TYPE.TEXT) + private String fixLotNo = ""; } diff --git a/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/bean/WmsSerialSn.java b/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/bean/WmsSerialSn.java index 8ee1297..117d091 100644 --- a/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/bean/WmsSerialSn.java +++ b/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/bean/WmsSerialSn.java @@ -89,6 +89,11 @@ public class WmsSerialSn extends BaseBean { @DynamicField(webFieldType = CommonEnumUtil.FIELD_TYPE.NUMBER, isRequire = 2) private Double qty; + @Column(name = "PACKAGE_NO") + @ApiParam(value = "包装编号") + @DynamicField(webFieldType = CommonEnumUtil.FIELD_TYPE.TEXT) + private String packageNo; + public WmsSerialSn() { } diff --git a/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/repository/WmsAutoStrategyDetailRepository.java b/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/repository/WmsAutoStrategyDetailRepository.java new file mode 100644 index 0000000..4806018 --- /dev/null +++ b/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/repository/WmsAutoStrategyDetailRepository.java @@ -0,0 +1,16 @@ +package cn.estsh.i3plus.pojo.wms.repository; + +import cn.estsh.i3plus.pojo.base.jpa.dao.BaseRepository; +import cn.estsh.i3plus.pojo.wms.bean.WmsAutoStrategyDetail; +import org.springframework.stereotype.Repository; + +/** + * @Description : 自动化策略明细表 + * @Reference : + * @Author : jimmy.zeng + * @CreateDate : 2020-06-21 11:34 + * @Modify: + **/ +@Repository +public interface WmsAutoStrategyDetailRepository extends BaseRepository { +} diff --git a/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/repository/WmsAutoStrategyMasterRepository.java b/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/repository/WmsAutoStrategyMasterRepository.java new file mode 100644 index 0000000..d6200d8 --- /dev/null +++ b/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/repository/WmsAutoStrategyMasterRepository.java @@ -0,0 +1,16 @@ +package cn.estsh.i3plus.pojo.wms.repository; + +import cn.estsh.i3plus.pojo.base.jpa.dao.BaseRepository; +import cn.estsh.i3plus.pojo.wms.bean.WmsAutoStrategyMaster; +import org.springframework.stereotype.Repository; + +/** + * @Description : 自动化策略主表 + * @Reference : + * @Author : jimmy.zeng + * @CreateDate : 2020-06-21 11:34 + * @Modify: + **/ +@Repository +public interface WmsAutoStrategyMasterRepository extends BaseRepository { +} diff --git a/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/repository/WmsAutoStrategyMethodRepository.java b/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/repository/WmsAutoStrategyMethodRepository.java new file mode 100644 index 0000000..fba9918 --- /dev/null +++ b/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/repository/WmsAutoStrategyMethodRepository.java @@ -0,0 +1,16 @@ +package cn.estsh.i3plus.pojo.wms.repository; + +import cn.estsh.i3plus.pojo.base.jpa.dao.BaseRepository; +import cn.estsh.i3plus.pojo.wms.bean.WmsAutoStrategyMethod; +import org.springframework.stereotype.Repository; + +/** + * @Description : + * @Reference : + * @Author : jimmy.zeng + * @CreateDate : 2020-06-21 11:51 + * @Modify: + **/ +@Repository +public interface WmsAutoStrategyMethodRepository extends BaseRepository { +} diff --git a/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/sqlpack/WmsHqlPack.java b/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/sqlpack/WmsHqlPack.java index 667156b..d88c8fd 100644 --- a/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/sqlpack/WmsHqlPack.java +++ b/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/sqlpack/WmsHqlPack.java @@ -3407,4 +3407,64 @@ public class WmsHqlPack { getStringBuilderPack(wmsSerialSnTrans, packBean);*/ return packBean; } + + /** + * 自动化策略主表 分页查询 + * + * @param wmsAutoStrategyMaster + * @return + */ + public static DdlPackBean packHqlWmsAutoStrategyMaster(WmsAutoStrategyMaster wmsAutoStrategyMaster) { + DdlPackBean result = new DdlPackBean(); + + //查询参数封装 + DdlPreparedPack.getStringLikerPack(wmsAutoStrategyMaster.getStrategyNo(), "strategyNo", result); + DdlPreparedPack.getStringLikerPack(wmsAutoStrategyMaster.getStrategyName(), "strategyName", result); + DdlPreparedPack.getNumEqualPack(wmsAutoStrategyMaster.getStrategyType(), "strategyType", result); + DdlPreparedPack.getStringEqualPack(wmsAutoStrategyMaster.getRoutingCode(), "routingCode", result); + if (StringUtils.isNotBlank(wmsAutoStrategyMaster.getStartEffectDate()) && StringUtils.isNotBlank(wmsAutoStrategyMaster.getEndEffectDate())) { + result.setWhereAppend(result.getWhereAppend() + " and (startEffectDate >= '"+wmsAutoStrategyMaster.getStartEffectDate()+"' and endEffectDate <= '"+wmsAutoStrategyMaster.getEndEffectDate()+"' )"); + } + + getStringBuilderPack(wmsAutoStrategyMaster, result); + + return result; + } + + /** + * 自动化策略明细表 分页查询 + * + * @param wmsAutoStrategyDetail + * @return + */ + public static DdlPackBean packHqlWmsAutoStrategyDetail(WmsAutoStrategyDetail wmsAutoStrategyDetail) { + DdlPackBean result = new DdlPackBean(); + + //查询参数封装 + DdlPreparedPack.getStringLikerPack(wmsAutoStrategyDetail.getAutoStrategyNo(), "autoStrategyNo", result); + DdlPreparedPack.getStringLikerPack(wmsAutoStrategyDetail.getStrategyItemNo(), "strategyItemNo", result); + + getStringBuilderPack(wmsAutoStrategyDetail, result); + + return result; + } + + /** + * 自动化策略方法 分页查询 + * + * @param WmsAutoStrategyMethod + * @return + */ + public static DdlPackBean packHqlWmsAutoStrategyMethod(WmsAutoStrategyMethod WmsAutoStrategyMethod) { + DdlPackBean result = new DdlPackBean(); + + //查询参数封装 + DdlPreparedPack.getNumEqualPack(WmsAutoStrategyMethod.getStrategyAction(), "strategyAction", result); + DdlPreparedPack.getStringLikerPack(WmsAutoStrategyMethod.getStrategyMethod(), "strategyMethod", result); + DdlPreparedPack.getStringLikerPack(WmsAutoStrategyMethod.getStrategySpec(), "strategySpec", result); + + getStringBuilderPack(WmsAutoStrategyMethod, result); + + return result; + } }