sql优化

数据权限实体增加字段
枚举增加数据权限的交易对象
yun-zuoyi
陈思洁 6 years ago
parent 8409025253
commit c08a569ac5

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

@ -40,6 +40,9 @@ public class WmsDataAuthModel extends BaseBean {
@ApiParam("存储区列表")
private List<String> zoneList;
@ApiParam("交易代码列表")
private List<String> transTypeList;
@ApiParam(
value = "新增操作",
example = "0"

@ -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<String> orderList) {
public static DdlPackBean packHqlAndIn(WmsTaskInfo bean, String columnName, List<String> orderList,Map<String, List<WmsDataAuth>> groupDataAuth) {
DdlPackBean packBean = new DdlPackBean();
Set<Map.Entry<String, List<WmsDataAuth>>> entries = groupDataAuth.entrySet();
//拼sql
entries.stream().filter(o -> !Strings.isNullOrEmpty(o.getKey()));
for (Map.Entry<String, List<WmsDataAuth>> map : entries) {
String key = map.getKey();
List<WmsDataAuth> valueList = map.getValue();
List<String> vList = valueList.stream().map(x -> x.getDataObjValue()).collect(Collectors.toList());
String data = String.join(",", vList);
if (StringUtils.isNotBlank(data)) {
List<Map> 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);

Loading…
Cancel
Save