Beispiel #1
0
    /// <summary>
    /// 流程成功启动后操作
    /// </summary>
    protected override bool AfterWorkflowStart(int wfInstanceId)
    {
        string stepId = Guid.NewGuid().ToString();

        BizContext.OA_ITSupport_Step.InsertOnSubmit(new OA_ITSupport_Step()
        {
            Id             = stepId,
            FormID         = FormId,
            InstanceId     = _BPMContext.ProcID,
            StartTime      = DateTime.Now,
            StartType      = (int)ITSupportStatus.待领取,
            OrderId        = 1,
            ProcessGroupId = BizContext.V_ITSupport_Catalog.FirstOrDefault(x => x.Id.ToString() == ddlTypes.SelectedValue).GroupId.Value.ToString()
        });
        foreach (var item in ITSupportCommon.GetUserListByType(ddlTypes.SelectedValue))
        {
            BizContext.OA_ITSupport_Step_Users.InsertOnSubmit(new OA_ITSupport_Step_Users()
            {
                StepId    = stepId,
                UserCode  = item.EmployeeCode,
                LoginName = item.LoginName
            });
            NotifyToUser(item.LoginName);
        }
        var formInfo = BizContext.OA_ITSupport_Form.FirstOrDefault(x => x.FormID == FormId);

        if (formInfo != null)
        {
            formInfo.CurrentStepId  = stepId;
            formInfo.ProcessGroupId = BizContext.V_ITSupport_Catalog.FirstOrDefault(x => x.Id.ToString() == ddlTypes.SelectedValue).GroupId.Value.ToString();
        }

        BizContext.SubmitChanges();
        return(true);
    }
Beispiel #2
0
    private void ShowGroupUsers()
    {
        StringBuilder displayUsers = new StringBuilder();
        var           userList     = ITSupportCommon.GetUserListByGroupId(int.Parse(ddlGroups.SelectedItem.Value));

        foreach (var item in userList)
        {
            displayUsers.AppendFormat("{0},", item.EmployeeName);
        }
        Div_groupUsers.InnerHtml = "组内成员:" + displayUsers.ToString().TrimEnd(',');
    }
Beispiel #3
0
    /// <summary>
    /// 设置用户DataField
    /// </summary>
    /// <returns></returns>
    protected override List <K2_DataFieldInfo> LoadUserDataField()
    {
        List <K2_DataFieldInfo> dfInfos = new List <K2_DataFieldInfo>();

        dfInfos.Add(new K2_DataFieldInfo()
        {
            Result = ITSupportCommon.GetK2DataFieldByType(ddlTypes.SelectedValue),
            Name   = "GroupUsers"
        });
        return(dfInfos);
    }
Beispiel #4
0
    protected void btnQuery_Click(object sender, EventArgs e)
    {
        NameValueCollection kvs = new NameValueCollection();

        kvs.Add("GroupUsers", ITSupportCommon.GetK2DataFieldByGroupId(int.Parse(ddlGroups.SelectedItem.Value)));
        WorkflowHelper.UpdateDataFields(_BPMContext.Sn, kvs);
        string Opinion = Request["optionTxt"];
        var    appInfo = AppflowFactory.GetAppflow(_BPMContext.ProcID);

        appInfo.IsFromPC = true;
        string groupId = BizContext.V_ITSupport_Catalog.FirstOrDefault(x => x.Id.ToString() == ddlGroups.SelectedValue).GroupId.Value.ToString();

        appInfo.AssistObject = groupId;
        bool isSuccess = appInfo.StartApproval(_BPMContext.Sn, _BPMContext.ProcID, Opinion, "转出");

        if (isSuccess)
        {
            var formInfo = BizContext.OA_ITSupport_Form.FirstOrDefault(x => x.FormID == _BPMContext.ProcInst.FormId);
            formInfo.ProcessGroupId = groupId;

            BizContext.SubmitChanges();
        }
        DisplayMessage.ExecuteJs(string.Format("window.returnValue = {0};window.close();", isSuccess ? "1" : "0"));
    }
Beispiel #5
0
        protected override bool AfterApproval(string instanceId, string option, string action)
        {
            ///对于加签
            if (IsAddSign())
            {
                return(true);
            }
            var context    = DBContext.GetSysContext();
            var bizContext = DBContext.GetBizContext();
            ///更新当前步骤审批人处理记录
            ///
            var bizInfo = bizContext.OA_ITSupport_Form.FirstOrDefault(x => x.FormID == _BPMContext.ProcInst.FormId);

            var currentStep = bizContext.OA_ITSupport_Step.FirstOrDefault(x => x.Id == bizInfo.CurrentStepId);

            currentStep.FinishTime = DateTime.Now;
            currentStep.StartType  = (int)ITSupportStatus.已转出;

            ITSupportStatus nextStatus = ITSupportStatus.结束;

            switch (action)
            {
            case "转出":
                nextStatus = ITSupportStatus.待领取;
                break;

            case "领取":
                nextStatus = ITSupportStatus.处理;
                break;

            default:
                break;
            }
            if (nextStatus != ITSupportStatus.结束)
            {
                string stepId = Guid.NewGuid().ToString();
                if (nextStatus == ITSupportStatus.待领取)
                {
                    bizInfo.ProcessGroupId = AssistObject.ToString();//更换组
                }

                bizContext.OA_ITSupport_Step.InsertOnSubmit(new Pkurg.PWorldBPM.Business.BIZ.OA_ITSupport_Step()
                {
                    Id             = stepId,
                    FormID         = _BPMContext.ProcInst.FormId,
                    InstanceId     = _BPMContext.ProcID,
                    StartTime      = DateTime.Now,
                    OrderId        = currentStep.OrderId.Value + 1,
                    StartType      = (int)nextStatus,
                    ProcessGroupId = bizInfo.ProcessGroupId
                });

                List <Pkurg.PWorldBPM.Business.Sys.V_Pworld_UserInfo> stepUsers = new List <Pkurg.PWorldBPM.Business.Sys.V_Pworld_UserInfo>();
                if (nextStatus == ITSupportStatus.待领取)
                {
                    stepUsers = ITSupportCommon.GetUserListByGroupId(int.Parse(AssistObject.ToString()));
                    NotifyUsers(stepUsers);
                }
                else if (nextStatus == ITSupportStatus.处理)
                {
                    stepUsers.Add(new Pkurg.PWorldBPM.Business.Sys.V_Pworld_UserInfo()
                    {
                        LoginName    = _BPMContext.CurrentUser.LoginId,
                        EmployeeCode = _BPMContext.CurrentPWordUser.EmployeeCode
                    });
                }

                foreach (var item in stepUsers)
                {
                    bizContext.OA_ITSupport_Step_Users.InsertOnSubmit(new OA_ITSupport_Step_Users()
                    {
                        StepId    = stepId,
                        UserCode  = item.EmployeeCode,
                        LoginName = item.LoginName
                    });
                }

                bizInfo.CurrentStepId = stepId;//更换步骤
            }
            else//处理或驳回
            {
                bizInfo.CurrentStepId = "-1";
                if (action == "处理")
                {
                    bizInfo.ProcessResult = 1;
                }
                if (action == "驳回")
                {
                    bizInfo.ProcessResult = 2;
                }
            }

            bizContext.SubmitChanges();

            return(true);
        }