|
|
|
@ -2,19 +2,22 @@ package cn.estsh.i3plus.pojo.wms.sqlpack;
|
|
|
|
|
|
|
|
|
|
import cn.estsh.i3plus.pojo.base.bean.BaseBean;
|
|
|
|
|
import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil;
|
|
|
|
|
import cn.estsh.i3plus.pojo.base.enumutil.DataAuthEnumUtil;
|
|
|
|
|
import cn.estsh.i3plus.pojo.base.enumutil.WmsEnumUtil;
|
|
|
|
|
import cn.estsh.i3plus.pojo.base.tool.HqlPack;
|
|
|
|
|
import cn.estsh.i3plus.pojo.base.tool.SqlPack;
|
|
|
|
|
import cn.estsh.i3plus.pojo.wms.bean.*;
|
|
|
|
|
import com.alibaba.fastjson.JSONObject;
|
|
|
|
|
import com.google.common.base.Strings;
|
|
|
|
|
import com.sun.org.apache.xerces.internal.xs.datatypes.ObjectList;
|
|
|
|
|
import org.apache.commons.lang3.StringUtils;
|
|
|
|
|
|
|
|
|
|
import java.util.Date;
|
|
|
|
|
import java.util.List;
|
|
|
|
|
import java.util.Map;
|
|
|
|
|
import java.util.Set;
|
|
|
|
|
import java.util.stream.Collectors;
|
|
|
|
|
|
|
|
|
|
import static com.alibaba.fastjson.JSON.parseArray;
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* @Description : 仓库管理对象封装
|
|
|
|
|
* @Reference :
|
|
|
|
@ -1344,13 +1347,23 @@ public class WmsHqlPack {
|
|
|
|
|
public static String packHqlWmsDataAuth(List<String> roleIds) {
|
|
|
|
|
StringBuffer result = new StringBuffer();
|
|
|
|
|
String data = String.join(",", roleIds);
|
|
|
|
|
// 参数数组 [1,2,3] -> "1,2,3"
|
|
|
|
|
HqlPack.getInPack(data,"roleCode",result);
|
|
|
|
|
getStringBuilderPack(new WmsDataAuth(), result);
|
|
|
|
|
return result.toString();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 根据用户角色id列表查询数据权限信息
|
|
|
|
|
* @return
|
|
|
|
|
*/
|
|
|
|
|
public static String packHqlWmsDataAuth(WmsDataAuth dataAuth) {
|
|
|
|
|
StringBuffer result = new StringBuffer();
|
|
|
|
|
HqlPack.getStringEqualPack(dataAuth.getDataObj() ,"dataObj", result);
|
|
|
|
|
getStringBuilderPack(new WmsDataAuth(), result);
|
|
|
|
|
return result.toString();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 根据权限数据拼查询任务详情sql
|
|
|
|
|
* @param groupDataAuth
|
|
|
|
|
* @return
|
|
|
|
@ -1358,25 +1371,30 @@ public class WmsHqlPack {
|
|
|
|
|
public static String packHqlWmsTaskDetail(Map<String ,List<WmsDataAuth>> groupDataAuth) {
|
|
|
|
|
StringBuffer result = new StringBuffer();
|
|
|
|
|
Set<Map.Entry<String, List<WmsDataAuth>>> entries = groupDataAuth.entrySet();
|
|
|
|
|
String warehouse = DataAuthEnumUtil.DATA_OBJ_TYPE.WAREHOUSE.getValue();
|
|
|
|
|
String locate = DataAuthEnumUtil.DATA_OBJ_TYPE.LOCATE.getValue();
|
|
|
|
|
String zone = DataAuthEnumUtil.DATA_OBJ_TYPE.ZONE.getValue();
|
|
|
|
|
//拼sql
|
|
|
|
|
entries.stream().filter(o->!Strings.isNullOrEmpty(o.getKey())).forEach(o->{
|
|
|
|
|
List<WmsDataAuth> value = o.getValue();
|
|
|
|
|
List<String> vList = value.stream().map(x -> x.getDataObjValue()).collect(Collectors.toList());
|
|
|
|
|
String data = String.join(",", vList);
|
|
|
|
|
if(warehouse.equals(o.getKey())){
|
|
|
|
|
// 参数数组 [1,2,3] -> "1,2,3"
|
|
|
|
|
HqlPack.getInPack(data,"destWhNo",result);
|
|
|
|
|
}
|
|
|
|
|
if(locate.equals(o.getKey())){
|
|
|
|
|
// 参数数组 [1,2,3] -> "1,2,3"
|
|
|
|
|
HqlPack.getInPack(data,"destLocateNo",result);
|
|
|
|
|
}
|
|
|
|
|
if(zone.equals(o.getKey())){
|
|
|
|
|
// 参数数组 [1,2,3] -> "1,2,3"
|
|
|
|
|
HqlPack.getInPack(data,"destZoneNo",result);
|
|
|
|
|
if (StringUtils.isNotBlank(data)) {
|
|
|
|
|
List<Map> mapList = JSONObject.parseArray(data, Map.class);
|
|
|
|
|
if (StringUtils.equalsIgnoreCase(WmsEnumUtil.DATA_OBJ_TYPE.WAREHOUSE.getValue() + "", o.getKey())) {
|
|
|
|
|
for (Map whNoItem : mapList) {
|
|
|
|
|
HqlPack.getInOrPackString(whNoItem.get("WH_CODE").toString(), "destWhNo", result);
|
|
|
|
|
}
|
|
|
|
|
} else if (StringUtils.equalsIgnoreCase(WmsEnumUtil.DATA_OBJ_TYPE.LOCATE.getValue() + "", o.getKey())) {
|
|
|
|
|
for (Map locateNoItem : mapList) {
|
|
|
|
|
HqlPack.getInOrPackString(locateNoItem.get("LOCATE_NO").toString(), "destLocateNo", result);
|
|
|
|
|
}
|
|
|
|
|
} else if (StringUtils.equalsIgnoreCase(WmsEnumUtil.DATA_OBJ_TYPE.ZONE.getValue() + "", o.getKey())) {
|
|
|
|
|
for (Map zoneNoItem : mapList) {
|
|
|
|
|
HqlPack.getInOrPackString(zoneNoItem.get("ZONE_CODE").toString(), "destZoneNo", result);
|
|
|
|
|
}
|
|
|
|
|
} else if (StringUtils.equalsIgnoreCase(WmsEnumUtil.DATA_OBJ_TYPE.MATERIAL.getValue() + "", o.getKey())) {
|
|
|
|
|
for (Map zoneNoItem : mapList) {
|
|
|
|
|
HqlPack.getInOrPackString(zoneNoItem.get("PART_NO").toString(), "partNo", result);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
getStringBuilderPack(new WmsDataAuth(), result);
|
|
|
|
@ -1392,7 +1410,7 @@ public class WmsHqlPack {
|
|
|
|
|
public static String packHqlAndIn(BaseBean bean,String columnName,List<String> vals) {
|
|
|
|
|
StringBuffer result = new StringBuffer();
|
|
|
|
|
String data = String.join(",", vals);
|
|
|
|
|
HqlPack.getInPack(data,columnName,result);
|
|
|
|
|
HqlPack.getInPackString(data,columnName,result);
|
|
|
|
|
getStringBuilderPack(bean, result);
|
|
|
|
|
return result.toString();
|
|
|
|
|
}
|
|
|
|
|