From c08a569ac59bb5aee3271b954d6cd4f4ed6ca363 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=99=88=E6=80=9D=E6=B4=81?= Date: Wed, 19 Jun 2019 17:46:26 +0800 Subject: [PATCH] =?UTF-8?q?sql=E4=BC=98=E5=8C=96=20=E6=95=B0=E6=8D=AE?= =?UTF-8?q?=E6=9D=83=E9=99=90=E5=AE=9E=E4=BD=93=E5=A2=9E=E5=8A=A0=E5=AD=97?= =?UTF-8?q?=E6=AE=B5=20=E6=9E=9A=E4=B8=BE=E5=A2=9E=E5=8A=A0=E6=95=B0?= =?UTF-8?q?=E6=8D=AE=E6=9D=83=E9=99=90=E7=9A=84=E4=BA=A4=E6=98=93=E5=AF=B9?= =?UTF-8?q?=E8=B1=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../i3plus/pojo/base/enumutil/WmsEnumUtil.java | 3 +- .../pojo/wms/modelbean/WmsDataAuthModel.java | 3 ++ .../estsh/i3plus/pojo/wms/sqlpack/WmsHqlPack.java | 33 ++++++++++++++++++++-- 3 files changed, 35 insertions(+), 4 deletions(-) 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 f04b9e2..9df3d38 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 @@ -1724,7 +1724,8 @@ public class WmsEnumUtil { WAREHOUSE(10, "WAREHOUSE", "仓库对象"), ZONE(20, "ZONE", "存储区对象"), LOCATE(30, "LOCATE", "库位对象"), - MATERIAL(40, "MATERIAL", "物料对象"); + MATERIAL(40, "MATERIAL", "物料对象"), + TRANS_TYPE(50,"TRANS_TYPE","交易代码对象"); private String code; private String description; diff --git a/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/modelbean/WmsDataAuthModel.java b/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/modelbean/WmsDataAuthModel.java index 41ce948..cb2c596 100644 --- a/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/modelbean/WmsDataAuthModel.java +++ b/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/modelbean/WmsDataAuthModel.java @@ -40,6 +40,9 @@ public class WmsDataAuthModel extends BaseBean { @ApiParam("存储区列表") private List zoneList; + @ApiParam("交易代码列表") + private List transTypeList; + @ApiParam( value = "新增操作", example = "0" 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 30d28bc..9617727 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 @@ -1503,9 +1503,10 @@ public class WmsHqlPack { Integer index = 1; for (Map item : mapList) { - packBean.addColumnQuery(columnName," or model." + - columnName + " = :m_" + columnName + (index++).toString(), + packBean.addColumnQuery(columnName + index.toString()," or model." + + columnName + " = :m_" + columnName + index.toString(), item.get(keyName).toString()); + index++; } } @@ -1516,8 +1517,34 @@ public class WmsHqlPack { * @param orderList * @return */ - public static DdlPackBean packHqlAndIn(WmsTaskInfo bean, String columnName, List orderList) { + public static DdlPackBean packHqlAndIn(WmsTaskInfo bean, String columnName, List orderList,Map> groupDataAuth) { DdlPackBean packBean = new DdlPackBean(); + + Set>> entries = groupDataAuth.entrySet(); + //拼sql + 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.TRANS_TYPE.getValue() + "", key)) { + + packMutilConditionHql(mapList, "TRANS_TYPE_CODE", "transTypeCode", packBean); + break; + } + } + } + + String hqlString = " and ( 1=1 " + packBean.getPackedHql() + ") "; + + packBean.setWhereAppend(hqlString); + DdlPreparedPack.getInPackList(orderList, columnName, packBean); DdlPreparedPack.getStringRightLikerPack(bean.getOrderNo(), "orderNo", packBean); DdlPreparedPack.getNumNOEqualPack(bean.getTaskStatus(), "taskStatus", packBean);