From c3ff60a581ee6e82e656578e59e8affaa0f5d1bf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=BA=8E=E5=AD=A6=E6=9D=B0?= Date: Tue, 18 Jun 2019 13:18:21 +0800 Subject: [PATCH 1/2] =?UTF-8?q?1.=20=E8=A7=A3=E5=86=B3=20WMS=20=E6=95=B0?= =?UTF-8?q?=E6=8D=AE=E6=9D=83=E9=99=90=E6=9F=A5=E8=AF=A2=E6=97=B6=E5=A4=9A?= =?UTF-8?q?=E4=B8=AA=E5=80=BC=E8=A6=86=E7=9B=96=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../estsh/i3plus/pojo/wms/sqlpack/WmsHqlPack.java | 49 +++++++++++++++------- 1 file changed, 33 insertions(+), 16 deletions(-) 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 cba3169..01280f0 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 @@ -1402,32 +1402,31 @@ public class WmsHqlPack { entries.stream().filter(o -> !Strings.isNullOrEmpty(o.getKey())); for (Map.Entry> map : entries) { + String key = map.getKey(); List valueList = map.getValue(); List vList = valueList.stream().map(x -> x.getDataObjValue()).collect(Collectors.toList()); String data = String.join(",", vList); + if (StringUtils.isNotBlank(data)) { + List mapList = JSONObject.parseArray(data, Map.class); + if (StringUtils.equalsIgnoreCase(WmsEnumUtil.DATA_OBJ_TYPE.WAREHOUSE.getValue() + "", key)) { - for (Map whNoItem : mapList) { - // 拼接仓库查询sql - DdlPreparedPack.getStringEqualPackOr(whNoItem.get("WH_CODE").toString(), "destWhNo", result); - } + + packMutilConditionHql(mapList, "WH_CODE", "destWhNo", result); + } else if (StringUtils.equalsIgnoreCase(WmsEnumUtil.DATA_OBJ_TYPE.LOCATE.getValue() + "", key)) { - for (Map locateNoItem : mapList) { - // 拼接库位查询sql - DdlPreparedPack.getStringEqualPackOr(locateNoItem.get("LOCATE_NO").toString(), "destLocateNo", result); - } + + packMutilConditionHql(mapList, "LOCATE_NO", "destLocateNo", result); + } else if (StringUtils.equalsIgnoreCase(WmsEnumUtil.DATA_OBJ_TYPE.ZONE.getValue() + "", key)) { - for (Map zoneNoItem : mapList) { - // 拼接存储区查询sql - DdlPreparedPack.getStringEqualPackOr(zoneNoItem.get("ZONE_CODE").toString(), "destZoneNo", result); - } + + packMutilConditionHql(mapList, "ZONE_CODE", "destZoneNo", result); + } else if (StringUtils.equalsIgnoreCase(WmsEnumUtil.DATA_OBJ_TYPE.MATERIAL.getValue() + "", key)) { - for (Map partNoItem : mapList) { - // 拼接物料查询sql - DdlPreparedPack.getStringEqualPackOr(partNoItem.get("PART_NO").toString(), "partNo", result); - } + + packMutilConditionHql(mapList, "PART_NO", "partNo", result); } } } @@ -1443,6 +1442,24 @@ public class WmsHqlPack { } /** + * 把 List 中的一组查询条件封装成 HQL + * @param mapList + * @param keyName + * @param columnName + * @param packBean + */ + private static void packMutilConditionHql(List mapList, String keyName, + String columnName, DdlPackBean packBean) { + Integer index = 1; + + for (Map item : mapList) { + packBean.addColumnQuery(columnName," or model." + + columnName + " = :m_" + columnName + (index++).toString(), + item.get(keyName).toString()); + } + } + + /** * 给定字段动态in sql * * @param columnName From ca625dbfcc32f70fa129653c05a6fbee4a51ad53 Mon Sep 17 00:00:00 2001 From: "jimmy.zeng" Date: Tue, 18 Jun 2019 17:51:06 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E5=BC=80=E5=8F=91=20=E4=BA=A4=E5=8F=89?= =?UTF-8?q?=E7=9B=98=E7=82=B9=E4=B8=9A=E5=8A=A1=EF=BC=8C=E6=96=B0=E5=BB=BA?= =?UTF-8?q?=E7=9B=98=E7=82=B9=E8=8C=83=E5=9B=B4=E8=A1=A8=EF=BC=8C=E7=9B=98?= =?UTF-8?q?=E7=82=B9=E8=B0=83=E5=B7=AE=E8=8C=83=E5=9B=B4=E8=A1=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../i3plus/pojo/wms/bean/WmsCSAdjustRange.java | 42 ++++++++++++++ .../i3plus/pojo/wms/bean/WmsCSOrderMaster.java | 4 ++ .../cn/estsh/i3plus/pojo/wms/bean/WmsCSRange.java | 67 ++++++++++++++++++++++ .../cn/estsh/i3plus/pojo/wms/bean/WmsZones.java | 2 +- .../wms/repository/WmsCSAdjustRangeRepository.java | 14 +++++ .../pojo/wms/repository/WmsCSRangeRepository.java | 14 +++++ .../estsh/i3plus/pojo/wms/sqlpack/WmsHqlPack.java | 19 ++++++ 7 files changed, 161 insertions(+), 1 deletion(-) create mode 100644 modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/bean/WmsCSAdjustRange.java create mode 100644 modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/bean/WmsCSRange.java create mode 100644 modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/repository/WmsCSAdjustRangeRepository.java create mode 100644 modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/repository/WmsCSRangeRepository.java diff --git a/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/bean/WmsCSAdjustRange.java b/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/bean/WmsCSAdjustRange.java new file mode 100644 index 0000000..dfa6a4b --- /dev/null +++ b/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/bean/WmsCSAdjustRange.java @@ -0,0 +1,42 @@ +package cn.estsh.i3plus.pojo.wms.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 : jimmy.zeng + * @CreateDate : 2019-06-17 12:01 + * @Modify: + **/ +@Data +@Entity +@DynamicInsert +@DynamicUpdate +@EqualsAndHashCode(callSuper = true) +@Table(name="WMS_CS_ADJUST_RANGE") +@Api("盘点调差范围信息") +public class WmsCSAdjustRange extends BaseBean { + + @Column(name="ORDER_NO") + @ApiParam("单号") + public String orderNo; + + @Column(name = "ITEM") + @ApiParam("行号") + public Integer item; + + @Column(name="IS_ADJUST") + @ApiParam(value = "调整标识", example = "1") + public Integer isAdjust; +} diff --git a/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/bean/WmsCSOrderMaster.java b/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/bean/WmsCSOrderMaster.java index f670744..de7eb41 100644 --- a/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/bean/WmsCSOrderMaster.java +++ b/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/bean/WmsCSOrderMaster.java @@ -82,6 +82,10 @@ public class WmsCSOrderMaster extends BaseBean { @ApiParam(value = "是否散件") private Integer isPart; + @Column(name = "YEAR") + @ApiParam("年度") + public String year; + public Integer getIsInventoryVal() { return this.isInventory == null ? 0 :this.isInventory.intValue(); } diff --git a/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/bean/WmsCSRange.java b/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/bean/WmsCSRange.java new file mode 100644 index 0000000..0f24114 --- /dev/null +++ b/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/bean/WmsCSRange.java @@ -0,0 +1,67 @@ +package cn.estsh.i3plus.pojo.wms.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 : jimmy.zeng + * @CreateDate : 2019-06-17 11:57 + * @Modify: + **/ +@Data +@Entity +@DynamicInsert +@DynamicUpdate +@EqualsAndHashCode(callSuper = true) +@Table(name="WMS_CS_RANGE") +@Api("盘点范围信息") +public class WmsCSRange extends BaseBean { + + @Column(name="ORDER_NO") + @ApiParam("单号") + public String orderNo; + + @Column(name = "ITEM") + @ApiParam("行号") + public Integer item; + + @Column(name = "PART_NO") + @ApiParam("物料编码") + public String partNo; + + @Column(name="PART_NAME_RDD") + @ApiParam("物料名称") + public String partNameRdd; + + @Column(name = "ZONE_NO") + @ApiParam("存储区编号") + public String zoneNo; + + @Column(name = "LOCATE_NO") + @ApiParam("库位编号") + public String locateNo; + + @Column(name = "UNIT") + @ApiParam("单位") + public String unit; + + public WmsCSRange(){} + + public WmsCSRange(String zoneNo,String partNo,String partNameRdd){ + this.zoneNo = zoneNo; + this.partNo = partNo; + this.partNameRdd = partNameRdd; + } + +} diff --git a/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/bean/WmsZones.java b/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/bean/WmsZones.java index a7f3b48..6481548 100644 --- a/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/bean/WmsZones.java +++ b/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/bean/WmsZones.java @@ -47,7 +47,7 @@ public class WmsZones extends BaseBean { private String zoneName; @Column(name = "PARENT_ZONE_NO") - @ApiParam(value = "父级存储区", example ="1") + @ApiParam(value = "父级存储区", example ="-1") private String parentZoneNo; @Column(name = "IS_SON_NODE") diff --git a/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/repository/WmsCSAdjustRangeRepository.java b/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/repository/WmsCSAdjustRangeRepository.java new file mode 100644 index 0000000..a1d242d --- /dev/null +++ b/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/repository/WmsCSAdjustRangeRepository.java @@ -0,0 +1,14 @@ +package cn.estsh.i3plus.pojo.wms.repository; + +import cn.estsh.i3plus.pojo.base.jpa.dao.BaseRepository; +import cn.estsh.i3plus.pojo.wms.bean.WmsCSAdjustRange; + +/** + * @Description : 对象持久层仓用方法控制(盘点调差范围信息) + * @Reference : + * @Author : jimmy.zeng + * @CreateDate : 2019-06-17 15:13 + * @Modify: + **/ +public interface WmsCSAdjustRangeRepository extends BaseRepository { +} diff --git a/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/repository/WmsCSRangeRepository.java b/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/repository/WmsCSRangeRepository.java new file mode 100644 index 0000000..e4396c8 --- /dev/null +++ b/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/repository/WmsCSRangeRepository.java @@ -0,0 +1,14 @@ +package cn.estsh.i3plus.pojo.wms.repository; + +import cn.estsh.i3plus.pojo.base.jpa.dao.BaseRepository; +import cn.estsh.i3plus.pojo.wms.bean.WmsCSRange; + +/** + * @Description : 对象持久层仓用方法控制(盘点范围信息) + * @Reference : + * @Author : jimmy.zeng + * @CreateDate : 2019-06-17 15:12 + * @Modify: + **/ +public interface WmsCSRangeRepository 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 eeb9fba..b1127aa 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 @@ -1688,5 +1688,24 @@ public class WmsHqlPack { return result; } + /** + * 盘点范围 条件封装 + * + * @param wmsCSRange + * @return + */ + public static DdlPackBean packHqlWmsCSRange(WmsCSRange wmsCSRange) { + DdlPackBean result = new DdlPackBean(); + + DdlPreparedPack.getStringEqualPack(wmsCSRange.getOrderNo(), "orderNo", result); + DdlPreparedPack.getStringEqualPack(wmsCSRange.getPartNo(), "partNo", result); + DdlPreparedPack.getNumEqualPack(wmsCSRange.getLocateNo(), "locateNo", result); + DdlPreparedPack.getStringLikerPack(wmsCSRange.getZoneNo(), "zoneNo", result); + + getStringBuilderPack(wmsCSRange, result); + + return result; + } + }