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);