package com.app.hxqh.spotrun;

import psdi.mbo.MboRemote;
import psdi.mbo.MboSetRemote;
import psdi.mbo.MboValue;
import psdi.server.MXServer;
import psdi.util.MXException;

import java.rmi.RemoteException;

public class FldOrgid extends psdi.app.site.FldOrganizationID{

    public FldOrgid(MboValue mbv) throws MXException {
        super(mbv);
    }

    public MboSetRemote getList() throws MXException, RemoteException {
        MboRemote mbo = getMboValue().getMbo();
        String userid=mbo.getThisMboSet().getUserInfo().getUserName();
        MboSetRemote pset= MXServer.getMXServer().getMboSet("person", mbo.getThisMboSet().getUserInfo());
        pset.setWhere("personid='"+userid+"'");
        if(!pset.isEmpty() && pset.count()>0){
            MboRemote per=pset.getMbo(0);
            //权限等级
            String aut=per.getString("UDAUTGRADE");
            String orgid=per.getString("LOCATIONORG");
            String siteid=per.getString("LOCATIONSITE");

            if("Level 1".equalsIgnoreCase(aut)){
                setListCriteria("1=1 AND ACTIVE='1' ");
            }else if("Level 2".equalsIgnoreCase(aut)){
                setListCriteria(" ORGID='"+orgid+"' AND ACTIVE='1' ");
            }else if("Level 3".equalsIgnoreCase(aut)){
                setListCriteria("ORGID in(SELECT ORGID FROM SITE WHERE SITEID='"+siteid+"' AND ACTIVE='1' ) AND ACTIVE='1' ");
            }else if("Level 4".equalsIgnoreCase(aut)){
                setListCriteria("ORGID in(SELECT ORGID FROM SITE WHERE SITEID='"+siteid+"' AND ACTIVE='1' ) AND ACTIVE='1' ");
            }else{
                //没有等级
                setListCriteria("1=2");
            }
        }
        return super.getList();
    }
}
