package com.webclient.beans.udperson;

import psdi.app.iface.mdm.Mdm2EamHandler;
import psdi.app.iface.spms.Eam2SpmsService;
import psdi.mbo.MboRemote;
import psdi.mbo.MboSetRemote;
import psdi.server.MXServer;
import psdi.util.MXException;
import psdi.webclient.beans.common.StatefulAppBean;
import psdi.webclient.system.beans.AppBean;
import psdi.webclient.system.beans.ResultsBean;

import java.io.IOException;
import java.rmi.RemoteException;

/**
 * com.webclient.beans.udperson.UdPersonBean
 * 人员--从MDM定时获取人员信息，更新EAM中的人员
 */
public class UdPersonBean extends StatefulAppBean {
    //增量拉取
    public void MDMLQ() throws Exception {
        System.out.println("--------start---------");
        Mdm2EamHandler mdm2EamHandler = new Mdm2EamHandler();
        mdm2EamHandler.Z_MDM_COMMON_EMP("1");//0是全量、1是增量
    }
    //全量拉取
    public void MDMQLLQ() throws Exception {
        System.out.println("--------start---------");
        Mdm2EamHandler mdm2EamHandler = new Mdm2EamHandler();
        mdm2EamHandler.Z_MDM_QUERY_POST_ORG_LIST("3");//类型（1：部门，2：岗位，3：员工）
    }

    public void initializeApp() throws MXException, RemoteException {
        super.initializeApp();
        ResultsBean resultsbean = app.getResultsBean();
        MboSetRemote set=resultsbean.getMboSet();
        String userid=set.getUserInfo().getPersonId();
        MboSetRemote pset= MXServer.getMXServer().getMboSet("person", set.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)){
                set.setWhere(" 1=1 ");
            }else if("Level 2".equalsIgnoreCase(aut)){
                set.setWhere(" LOCATIONORG='"+orgid+"' ");
            }else if("Level 3".equalsIgnoreCase(aut)){
                set.setWhere(" LOCATIONSITE='"+siteid+"' ");
            }else if("Level 4".equalsIgnoreCase(aut)){
                set.setWhere(" PERSONID='"+userid+"'");
            }else{
                //没有等级
                set.setWhere("1=2");
            }
        }
        pset.close();

    }


}
