package com.kingdee.eas.custom.facade.leave;

import javax.ejb.*;
import java.rmi.RemoteException;
import com.kingdee.bos.*;
import com.kingdee.bos.util.BOSObjectType;
import com.kingdee.bos.metadata.IMetaDataPK;
import com.kingdee.bos.metadata.rule.RuleExecutor;
import com.kingdee.bos.metadata.MetaDataPK;
//import com.kingdee.bos.metadata.entity.EntityViewInfo;
import com.kingdee.bos.framework.ejb.AbstractEntityControllerBean;
import com.kingdee.bos.framework.ejb.AbstractBizControllerBean;
//import com.kingdee.bos.dao.IObjectPK;
import com.kingdee.bos.dao.IObjectValue;
import com.kingdee.bos.dao.IObjectCollection;
import com.kingdee.bos.service.ServiceContext;
import com.kingdee.bos.service.IServiceContext;
import com.kingdee.eas.framework.Result;
import com.kingdee.eas.framework.LineResult;
import com.kingdee.eas.framework.exception.EASMultiException;
import com.kingdee.bos.dao.ormapping.ObjectUuidPK;

import com.kingdee.eas.common.EASBizException;
import java.lang.String;



public abstract class AbstractLeaveAllowanceFacadeControllerBean extends AbstractBizControllerBean implements LeaveAllowanceFacadeController
{
    protected AbstractLeaveAllowanceFacadeControllerBean()
    {
    }

    protected BOSObjectType getBOSType()
    {
        return new BOSObjectType("1FBBCAEE");
    }

    public void createAnnualLeave(Context ctx, int year, String personNum) throws BOSException
    {
        try {
            ServiceContext svcCtx = createServiceContext(new MetaDataPK("35c5aa3b-7229-435a-9362-8e541a7d0b9a"), new Object[]{ctx, new Integer(year), personNum});
            invokeServiceBefore(svcCtx);
              if(!svcCtx.invokeBreak()) {
            _createAnnualLeave(ctx, year, personNum);
            }
            invokeServiceAfter(svcCtx);
        } catch (BOSException ex) {
            throw ex;
        } finally {
            super.cleanUpServiceState();
        }
    }
    protected void _createAnnualLeave(Context ctx, int year, String personNum) throws BOSException
    {    	
        return;
    }

    public void creareNursingLeave(Context ctx, int year, String personNum) throws BOSException
    {
        try {
            ServiceContext svcCtx = createServiceContext(new MetaDataPK("b1f957e5-8312-48b4-b8e8-ffd910101d5d"), new Object[]{ctx, new Integer(year), personNum});
            invokeServiceBefore(svcCtx);
              if(!svcCtx.invokeBreak()) {
            _creareNursingLeave(ctx, year, personNum);
            }
            invokeServiceAfter(svcCtx);
        } catch (BOSException ex) {
            throw ex;
        } finally {
            super.cleanUpServiceState();
        }
    }
    protected void _creareNursingLeave(Context ctx, int year, String personNum) throws BOSException
    {    	
        return;
    }

    public void creareParentalLeave(Context ctx, int year, String personNum) throws BOSException
    {
        try {
            ServiceContext svcCtx = createServiceContext(new MetaDataPK("359aa746-c31f-48f4-8bf0-05cbcf83f838"), new Object[]{ctx, new Integer(year), personNum});
            invokeServiceBefore(svcCtx);
              if(!svcCtx.invokeBreak()) {
            _creareParentalLeave(ctx, year, personNum);
            }
            invokeServiceAfter(svcCtx);
        } catch (BOSException ex) {
            throw ex;
        } finally {
            super.cleanUpServiceState();
        }
    }
    protected void _creareParentalLeave(Context ctx, int year, String personNum) throws BOSException
    {    	
        return;
    }

    public void carryForwardLeave(Context ctx, int year, boolean isExecute, String personNum) throws BOSException, EASBizException
    {
        try {
            ServiceContext svcCtx = createServiceContext(new MetaDataPK("cf246335-8d83-4f66-9ba0-fe3340b031a5"), new Object[]{ctx, new Integer(year), new Boolean(isExecute), personNum});
            invokeServiceBefore(svcCtx);
              if(!svcCtx.invokeBreak()) {
            _carryForwardLeave(ctx, year, isExecute, personNum);
            }
            invokeServiceAfter(svcCtx);
        } catch (BOSException ex) {
            throw ex;
        } catch (EASBizException ex0) {
            throw ex0;
        } finally {
            super.cleanUpServiceState();
        }
    }
    protected void _carryForwardLeave(Context ctx, int year, boolean isExecute, String personNum) throws BOSException, EASBizException
    {    	
        return;
    }

    public void setSeniority(Context ctx) throws BOSException, EASBizException
    {
        try {
            ServiceContext svcCtx = createServiceContext(new MetaDataPK("741d13ae-4d75-40fa-84f2-58fee9a5c938"), new Object[]{ctx});
            invokeServiceBefore(svcCtx);
              if(!svcCtx.invokeBreak()) {
            _setSeniority(ctx);
            }
            invokeServiceAfter(svcCtx);
        } catch (BOSException ex) {
            throw ex;
        } catch (EASBizException ex0) {
            throw ex0;
        } finally {
            super.cleanUpServiceState();
        }
    }
    protected void _setSeniority(Context ctx) throws BOSException, EASBizException
    {    	
        return;
    }

}