Beispiel #1
0
    public void CreateFreeStep(M_OA_Document oaMod, M_MisProcedure proceMod, OAStepParam param)
    {
        M_MisProLevel freeMod = null;

        if (param.IsFirst)
        {
            freeMod = freeBll.SelByDocID(oaMod.ID);
        }
        else if (param.StepID > 0)//修改步骤
        {
            freeMod = freeBll.SelReturnModel(param.StepID);
        }
        bool isUpdate = true;

        if (freeMod == null)//非修改则新建
        {
            isUpdate = false;
            freeMod  = new M_MisProLevel();
        }
        freeMod.ProID               = proceMod.ID;
        freeMod.stepNum             = param.StepNum;
        freeMod.stepName            = proceMod.ProcedureName + "第" + param.StepNum + "步";
        freeMod.SendMan             = buser.GetLogin().UserID.ToString();
        freeMod.ReferUser           = param.ReferUser.Trim(',');
        freeMod.ReferGroup          = "";
        freeMod.CCUser              = param.CCUser.Trim(',');
        freeMod.CCGroup             = "";
        freeMod.HQoption            = 1;
        freeMod.Qzzjoption          = 0;
        freeMod.HToption            = 2;
        freeMod.EmailAlert          = "";
        freeMod.EmailGroup          = "";
        freeMod.SmsAlert            = "";
        freeMod.SmsGroup            = "";
        freeMod.BackOption          = oaMod.ID;
        freeMod.PublicAttachOption  = 1;
        freeMod.PrivateAttachOption = 1;
        freeMod.DocAuth             = "refer";
        freeMod.Status              = 1;
        freeMod.CreateTime          = DateTime.Now;
        freeMod.Remind              = oaMod.Title + "的流程";
        if (isUpdate)
        {
            freeBll.UpdateByID(freeMod);
        }
        else
        {
            freeBll.Insert(freeMod);
            if (!param.IsFirst)//非起始步骤修改,则更新状态
            {
                oaMod.Status = 0;
                oaBll.UpdateByID(oaMod);
            }
        }
    }
Beispiel #2
0
    //后期可扩展为单步步骤,自由
    public void CreateAdminFreeStep(M_OA_Document oaMod, M_MisProcedure proceMod, OAStepParam param)
    {
        //从proceMod中拷贝流程信息,但主办人可自指定
        M_MisProLevel freeMod = null;
        M_MisProLevel stepMod = stepBll.SelByProIDAndStepNum(proceMod.ID, param.StepNum);

        if (stepMod == null)
        {
            function.WriteErrMsg("错误:" + proceMod.ProcedureName + "下步骤不完整");
        }
        if (param.IsFirst)
        {
            freeMod = freeBll.SelByDocID(oaMod.ID);
        }
        else if (param.StepID > 0)
        {
            freeMod = freeBll.SelReturnModel(param.StepID);
        }
        bool isUpdate = true;//需处理

        if (freeMod == null)
        {
            isUpdate   = false;
            stepMod.ID = 0;
            freeMod    = stepMod;
        }
        freeMod.SendMan    = buser.GetLogin().UserID.ToString();
        freeMod.ReferUser  = param.ReferUser.Trim(',');
        freeMod.ReferGroup = "";
        freeMod.CCUser     = param.CCUser.Trim(',');
        //freeMod.CCGroup = "";
        freeMod.BackOption = oaMod.ID;
        freeMod.CreateTime = DateTime.Now;
        freeMod.Remind     = oaMod.Title + "的流程";
        if (isUpdate)
        {
            freeBll.UpdateByID(freeMod);
        }
        else
        {
            freeBll.Insert(freeMod);
            if (!param.IsFirst)
            {
                oaMod.Status = 0;
                oaBll.UpdateByID(oaMod);
            }
        }
    }
Beispiel #3
0
    //---------------------流程块
    public void CreateStep(M_OA_Document oaMod, M_MisProcedure proceMod, OAStepParam param)
    {
        switch (proceMod.MyProType)
        {
        case M_MisProcedure.ProTypes.Admin:
        ////不需处理
        //break;
        case M_MisProcedure.ProTypes.AdminFree:
            CreateAdminFreeStep(oaMod, proceMod, param);
            break;

        case M_MisProcedure.ProTypes.Free:
            CreateFreeStep(oaMod, proceMod, param);
            break;
        }
    }