package psdi.workflow.woreq;
import java.rmi.RemoteException;
import psdi.common.role.CustomRoleAdapter;
import psdi.common.role.CustomRoleInterface;
import psdi.common.role.MaxRole;
import psdi.mbo.MboRemote;
import psdi.mbo.MboSetRemote;
import psdi.util.MXException;

public class GroupDirRole extends CustomRoleAdapter
        implements CustomRoleInterface {
    public MboRemote evaluateCustomRole(MaxRole roleMbo, MboRemote mbo)
            throws MXException, RemoteException {
        String loggedPerson = roleMbo.getUserInfo().getPersonId();//登录人员唯一 ID
        //MboRemote personMbo = roleMbo.getPerson(loggedPerson).getMbo(0);//人员信息 mbo
        //String deptnum = personMbo.getString("DEPARTMENT");
        String mboname = mbo.getName();
        //if(mboname.equalsIgnoreCase("WORKORDER")){
            //工单主记录表
            //获得当前Mbo 下的班组
            String sdeptnum = mbo.getString("wopm2");
            sdeptnum =(sdeptnum == null)?"":sdeptnum.trim();
            MboSetRemote depts = roleMbo.getMboSet("$dept", "dept");
            depts.setWhere("deptnum ='" + sdeptnum + "'");
            depts.reset();
            MboRemote deptmbo = depts.getMbo(0);
            String personID = deptmbo.getString("DIRECTOR");//班组负责人
            psdi.mbo.MboSetRemote targetSet = roleMbo.getPerson(personID);
            if (targetSet.isEmpty())
                return roleMbo.getPerson(loggedPerson).getMbo(0);
            return roleMbo.getPerson(personID).getMbo(0);//返回一个 人员信息 mbo
        //}
    }
}
