产品权限过滤

This commit is contained in:
amarsoft 2018-10-24 10:43:05 +08:00
parent b17bfef973
commit a4935fe463
2 changed files with 29 additions and 1 deletions

View File

@ -1,5 +1,6 @@
<%@page import="com.amarsoft.app.base.businessobject.BusinessObject"%>
<%@page import="com.amarsoft.app.base.businessobject.BusinessObjectManager"%>
<%@page import="com.amarsoft.app.base.util.ObjectWindowHelper"%>
<%@ page contentType="text/html; charset=GBK"%><%@
include file="/IncludeBegin.jsp"%><%
String sDefaultNode = CurPage.getParameter("DefaultNode"); //默认打开节点
@ -8,13 +9,15 @@
if(productType1 == null) productType1 = "";
String isInUse = CurPage.getParameter("IsInUse"); //默认打开节点
if(isInUse == null) isInUse = "";
String userid=CurUser.getUserID();
String condition =ObjectWindowHelper.getProductList(userid);
//定义Treeview
OHTMLTreeView tviTemp = new OHTMLTreeView(CurPage, "基础产品","right");
int i=0;
BusinessObjectManager bomanager = BusinessObjectManager.createBusinessObjectManager();
List<BusinessObject> catalogList = bomanager.loadBusinessObjects("jbo.prd.BUSINESS_TYPE", "Attribute10='Catalog' and isInUse='1'");
List<BusinessObject> catalogList = bomanager.loadBusinessObjects("jbo.prd.BUSINESS_TYPE", "Attribute10='Catalog' and isInUse='1' "+condition);
for(BusinessObject catalog : catalogList){
String p = tviTemp.insertPage("root",catalog.getString("TypeName"),catalog.getString("TypeNo"),"OpenComp(\"ProductFrame\",\"/ProductManage/ProductConfig/ProductCatalogList.jsp\",\"SortNo="+catalog.getString("SortNo")+"\",\"frameright\");",i++);
List<BusinessObject> libraryList = bomanager.loadBusinessObjects("jbo.prd.BUSINESS_TYPE", "SortNo like :SortNo and isInUse='1' and (Attribute10 is null or Attribute10 = '')", "SortNo", catalog.getString("SortNo")+"%");

View File

@ -11,11 +11,16 @@ import java.util.Vector;
import javax.servlet.http.HttpServletRequest;
import jbo.awe.USER_ROLE;
import com.amarsoft.app.base.businessobject.BusinessObject;
import com.amarsoft.app.base.businessobject.BusinessObjectManager;
import com.amarsoft.are.jbo.BizObject;
import com.amarsoft.are.jbo.BizObjectClass;
import com.amarsoft.are.jbo.BizObjectManager;
import com.amarsoft.are.jbo.JBOException;
import com.amarsoft.are.jbo.JBOFactory;
import com.amarsoft.are.jbo.JBOTransaction;
import com.amarsoft.are.jbo.ql.DefaultParser;
import com.amarsoft.are.jbo.ql.Element;
import com.amarsoft.are.jbo.ql.JBOClass;
@ -34,6 +39,7 @@ import com.amarsoft.awe.dw.ASObjectModel;
import com.amarsoft.awe.dw.ASObjectWindow;
import com.amarsoft.awe.dw.datamodel.CatalogModel;
import com.amarsoft.awe.util.ObjectConverts;
import com.amarsoft.awe.util.Transaction;
import com.amarsoft.dict.als.cache.AWEDataWindowCache;
public class ObjectWindowHelper {
@ -734,4 +740,23 @@ public class ObjectWindowHelper {
return businessObject;
}
public static String getProductList(String userid) throws Exception {
StringBuffer condition=new StringBuffer("");
JBOTransaction tx= JBOFactory.createJBOTransaction();
BizObjectManager bm=JBOFactory.getBizObjectManager(USER_ROLE.CLASS_NAME, tx);
List<BizObject> bolist=bm.createQuery("userid='"+userid+"'").getResultList(false);
tx.commit();
if(bolist.size()>0){
condition.append(" and attribute25 in (");
for(int i=0;i<bolist.size();i++){
String roleid=bolist.get(i).getAttribute("roleid")==null?"":bolist.get(i).getAttribute("roleid").toString();
if(i==bolist.size()-1){
condition.append(" '"+roleid+"')");
}else{
condition.append(" '"+roleid+"' ,");
}
}
}
return condition.toString();
}
}