开发校验权限和获取个人任务列表公用方法

yun-zuoyi
Silliter 6 years ago
parent 6835593401
commit 8ac4046a7d

@ -1,45 +0,0 @@
package cn.estsh.i3plus.pojo.base.enumutil;
import com.fasterxml.jackson.annotation.JsonFormat;
/**
* @Description : wms
* @Reference :
* @Author : jack.lv
* @CreateDate : 2019-3-8 15:53
* @Modify:
**/
public class DataAuthEnumUtil {
/**
*
*/
@JsonFormat(shape = JsonFormat.Shape.OBJECT)
public enum DATA_OBJ_TYPE {
WAREHOUSE("10", "WAREHOUSE", "仓库对象"),
ZONE("20", "ZONE", "存储区对象"),
LOCATE("30", "LOCATE", "库位对象");
private String code;
private String description;
String value;
DATA_OBJ_TYPE(String value, String code, String description) {
this.value = value;
this.code = code;
this.description = description;
}
public String getValue() {
return value;
}
public String getCode() {
return code;
}
public String getDescription() {
return description;
}
}
}

@ -1819,18 +1819,53 @@ public class WmsEnumUtil {
}
/**
*
*
*/
@JsonFormat(shape = JsonFormat.Shape.OBJECT)
public enum DATA_OBJ_TYPE {
WAREHOUSE(10, "WAREHOUSE", "仓库对象"),
ZONE(20, "ZONE", "存储区对象"),
LOCATE(30, "LOCATE", "库位对象"),
MATERIAL(40, "MATERIAL", "物料对象");
private String code;
private String description;
int value;
DATA_OBJ_TYPE(int value, String code, String description) {
this.value = value;
this.code = code;
this.description = description;
}
public int getValue() {
return value;
}
public String getCode() {
return code;
}
public String getDescription() {
return description;
}
}
/**
*
*/
@JsonFormat(shape = JsonFormat.Shape.OBJECT)
public enum DATA_ROLE_TYPE {
WAREHOUSE(1, "WAREHOUSE", "仓库"),
STOCK(2, "STOCK", "库存");
public enum DATA_OBJ_OP_TYPE {
ADD(10, "ADD", "新增"),
DEL(20, "DEL", "删除"),
UPD(30, "UPD", "修改"),
QUERY(40, "QUERY", "查询");
private String code;
private String description;
int value;
DATA_ROLE_TYPE(int value, String code, String description) {
DATA_OBJ_OP_TYPE(int value, String code, String description) {
this.value = value;
this.code = code;
this.description = description;

@ -451,6 +451,32 @@ public class HqlPack {
* @param columnName
* @param result
*/
public static void getInOrPackString(String data,String columnName, StringBuffer result){
if (data != null && data.trim().length()>0) {
data = getSafeParam(data);
//判断最后一位是不是逗号
if(data.lastIndexOf(",") != (data.length()-1)){
data += ",";
}
String[] dataArray = data.substring(0, data.length()-1).split(",");
data = "";
for (int i = 0 ; i < dataArray.length ;i++) {
if(i == dataArray.length -1){
data += "'" + dataArray[i] + "'";
}else{
data += "'" + dataArray[i] + "',";
}
}
result.append(" or model."+columnName+" in ( "+ data+ " )");
}
}
/**
* in String
* @param data
* @param columnName
* @param result
*/
public static void getNotInPackString(String data,String columnName, StringBuffer result){
if (data != null && data.trim().length()>0) {
data = getSafeParam(data);

@ -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();
}

Loading…
Cancel
Save