コード例 #1
0
        private void getUserIDByIdentifier(string PositionTypeCode, int OrganizationUnitID, ref string userid, ref string email)
        {
            try {
                string Pid = string.Empty;//职位
                APWorkFlowTableAdapters.StuffUserTableAdapter TAUser = new APWorkFlowTableAdapters.StuffUserTableAdapter();
                APWorkFlow.StuffUserDataTable dt = TAUser.GetDataByNode(PositionTypeCode, OrganizationUnitID);
                if (dt.Rows.Count < 1)
                {
                    userid = "none";//此处给出找不到人时的标识
                    email  = "";
                }
                else
                {
                    foreach (APWorkFlow.StuffUserRow dataRow in dt.Rows)
                    {
                        //人员
                        if (!string.IsNullOrEmpty(dataRow.StuffUserId.ToString()))
                        {
                            userid += "P" + dataRow.StuffUserId + "P";
                        }

                        //职位
                        if (!string.IsNullOrEmpty(dataRow.PositionId.ToString()))
                        {
                            Pid += "P" + dataRow.PositionId + "P";
                        }
                        //email
                        if (!string.IsNullOrEmpty(dataRow.EMail))
                        {
                            email += dataRow.EMail + ";";
                        }
                    }

                    userid = userid + "$" + Pid;
                }
            } catch (Exception) {
                throw;
            }
        }
コード例 #2
0
 //得到用户邮箱
 public string getUserEmailByID(int userid)
 {
     APWorkFlowTableAdapters.StuffUserTableAdapter TAUser = new APWorkFlowTableAdapters.StuffUserTableAdapter();
     APWorkFlow.StuffUserDataTable dt = TAUser.GetDataByID(userid);
     return(dt[0].EMail);
 }
コード例 #3
0
ファイル: APHelper.cs プロジェクト: hijoy/VSL_ERS
 //得到用户邮箱
 public string getUserEmailByID(int userid)
 {
     APWorkFlowTableAdapters.StuffUserTableAdapter TAUser = new APWorkFlowTableAdapters.StuffUserTableAdapter();
     APWorkFlow.StuffUserDataTable dt = TAUser.GetDataByID(userid);
     return dt[0].EMail;
 }
コード例 #4
0
ファイル: APHelper.cs プロジェクト: hijoy/VSL_ERS
        private void getUserIDByIdentifier(string PositionTypeCode, int OrganizationUnitID, ref string userid, ref string email)
        {
            try {
                string Pid = string.Empty;//职位
                APWorkFlowTableAdapters.StuffUserTableAdapter TAUser = new APWorkFlowTableAdapters.StuffUserTableAdapter();
                APWorkFlow.StuffUserDataTable dt = TAUser.GetDataByNode(PositionTypeCode, OrganizationUnitID);
                if (dt.Rows.Count < 1) {
                    userid = "none";//此处给出找不到人时的标识
                    email = "";
                } else {
                    foreach (APWorkFlow.StuffUserRow dataRow in dt.Rows) {
                        //人员
                        if (!string.IsNullOrEmpty(dataRow.StuffUserId.ToString())) {
                            userid += "P" + dataRow.StuffUserId + "P";
                        }

                        //职位
                        if (!string.IsNullOrEmpty(dataRow.PositionId.ToString())) {
                            Pid += "P" + dataRow.PositionId + "P";
                        }
                        //email
                        if (!string.IsNullOrEmpty(dataRow.EMail)) {
                            email += dataRow.EMail + ";";
                        }

                    }

                    userid = userid + "$" + Pid;

                }
            } catch (Exception) {

                throw;
            }
        }
コード例 #5
0
ファイル: APHelper.cs プロジェクト: hijoy/CPL_ERS
        //如是最后一个节点 则创建一个任务
        public bool LastCreateWorkItem(string processInstanceID, int positionID, ref string approve)
        {
            try {
                string admin = (String)ConfigurationManager.AppSettings["APAdmin"];
                APWorkFlowTableAdapters.StuffUserTableAdapter TAStuffUser = new APWorkFlowTableAdapters.StuffUserTableAdapter();
                APWorkFlowTableAdapters.StuffUserAndPositionTableAdapter TAUserAndPosition = new APWorkFlowTableAdapters.StuffUserAndPositionTableAdapter();
                APWorkFlowTableAdapters.ProcessLastNameTableAdapter TAProcessLastName = new APWorkFlowTableAdapters.ProcessLastNameTableAdapter();
                APWorkFlow.StuffUserAndPositionDataTable dtStuffUserAndPosition = TAUserAndPosition.GetDataByPositionId(positionID);
                if (dtStuffUserAndPosition.Rows.Count == 0) {
                    return false;
                }
                string lastName = "";
                WFBaseProcessInstance pi = api.GetProcInst(processInstanceID);
                WFManualWorkItem wi = getNextNode(processInstanceID);
                WFBaseActivityInstance ai = api.GetActivityInst(wi.ActivityInstID);
                APWorkFlow.ProcessLastNameDataTable dtProcessLastName = TAProcessLastName.GetDataByTName(pi.DefName);
                if (dtProcessLastName.Rows.Count > 0) {
                    lastName = dtProcessLastName[0].lastName;
                    if (ai.DisplayName == lastName) {
                        WFTimeDuration td = new WFTimeDuration();
                        td.BusinessTime = false;
                        td.Length = "7";
                        td.Unit = WFTimeUnit.DAY;
                        foreach (APWorkFlow.StuffUserAndPositionRow drStuffUserAndPosition in dtStuffUserAndPosition.Rows) {
                            //获取审批人
                            approve += "P" + drStuffUserAndPosition.StuffUserId + "P";
                            //APWorkFlow.StuffUserDataTable dtUser=TAStuffUser.GetDataByID(drStuffUserAndPosition.StuffUserId);
                        }
                        WFEvent evt = api.CreateLinkedWorkItem(wi.WorkItemID, wi.Name, approve, td, wi.ClientData);
                        evt = getFullEvent(evt);
                        APWorkFlow.NodeStatusDataTable dt = new APWorkFlow.NodeStatusDataTable();
                        APWorkFlow.NodeStatusRow dr = dt.NewNodeStatusRow();

                        dr.STATUS = FlowNodeStatus.ASSIGNED;
                        dr.PARTICIPANT = approve;
                        //dr.AcceptChanges();
                        dt.AddNodeStatusRow(dr);
                        dt.AcceptChanges();
                        StringWriter sw = new StringWriter();
                        dt.WriteXml(sw);
                        string clientData = sw.ToString();

                        System.Collections.ArrayList attrList = new System.Collections.ArrayList();
                        attrList.Add(new NameValue("UserID", dr.PARTICIPANT));//更新该步骤的userid
                        attrList.Add(new NameValue("CLIENT_DATA", clientData));
                        NameValue[] attributes = (NameValue[])attrList.ToArray(typeof(NameValue));
                        api.UpdateWorkItem(evt.WorkItemID, attributes);
                        api.GetWorkItem(evt.WorkItemID).DisplayName = "总经理审批";
                        if (string.IsNullOrEmpty(evt.Error))
                            return true;
                        return false;
                    }
                }
                return false;
            } catch {
                return false;
            }
        }