package psdi.app.workorder;

import java.rmi.RemoteException;

import psdi.common.role.MaxRole;
import psdi.mbo.MboRemote;
import psdi.mbo.MboSetRemote;
import psdi.util.MXApplicationException;
import psdi.util.MXException;
import psdi.workflow.*;

public class IsGroupPlanDefect extends CustomCondition
        implements CustomConditionInterface {
    /**
     * @deprecated
     */
    public boolean evaluateCustomCondition(MaxRole roleMbo, MboRemote currentMbo) throws MXException, RemoteException {
        String mboname = currentMbo.getName();
        boolean fors = true;
        //System.out.println("typmbonamee="+mboname);
        if (mboname.equalsIgnoreCase("WORKORDER")) {
            //先判断是否班组负责人接单还是设备部接单  Begin
            String loggedPerson = roleMbo.getUserInfo().getPersonId();//登录人员唯一 ID
            loggedPerson =(loggedPerson == null)?"":loggedPerson.trim();
            MboRemote personMbo = roleMbo.getPerson(loggedPerson).getMbo(0);//人员信息 mbo
            String deptnum = personMbo.getString("DEPARTMENT");
            deptnum =(deptnum == null)?"":deptnum.trim();
            MboSetRemote depts = roleMbo.getMboSet("$dept", "dept");
            depts.setWhere("deptnum ='" + deptnum + "'");
            depts.reset();
            MboRemote deptmbo = depts.getMbo(0);
            String depttype = deptmbo.getString("DEPTTYPE");//车间代码
            depttype = (depttype == null) ? "" : depttype.trim();
            if (depttype.equalsIgnoreCase("E")) fors = false;
            currentMbo.setValue("ISGROUPPLAN",fors,11L);
            currentMbo.setValue("ISORDERS",true,11L);
            currentMbo.setValue("ORDERBY",loggedPerson,11L);
            currentMbo.setValue("ORDERDEPT",deptnum,11L);
            currentMbo.getThisMboSet().save();
            //先判断是否班组负责人接单还是设备部接单 End
        }
        return fors;
    }
}