public UserInfo GetCurrentUser() { string loginName = HttpContext.Current.User.Identity.Name; if (string.IsNullOrEmpty(loginName)) { //error ExceptionHander.GoToErrorPage(); } BFEmployee employee = new BFEmployee(); loginName = loginName.ToLower().Replace(@"founder\", ""); EmployeeAdditional userInfo = employee.GetEmployeeAdditionalByLoginName(loginName); //"xupc" Employee em = employee.GetEmployeeByEmployeeCode(userInfo.EmployeeCode); //get user info return(new UserInfo() { Id = em.EmployeeCode, LoginId = loginName, Name = em.EmployeeName, MainDeptId = em.DepartCode, DepIds = new List <string>() { em.DepartCode }, PWordUser = em }); }
protected void Page_Load(object sender, EventArgs e) { string methodName = "Page_Load"; Logger.Write(this.GetType(), EnumLogLevel.Info, className + ":" + methodName + ":" + Pkurg.PWorldBPM.Common.Log.MessageType.IN); if (!IsPostBack) { string currentUser = new IdentityUser().GetEmployee().LoginId; UploadAttachments1._BPMContext.LoginId = currentUser; ViewState["IsSubmit"] = false; ViewState["loginName"] = currentUser.ToLower().Replace(@"k2:founder\", "").Replace(@"founder\", ""); WorkflowHelper.CurrentUser = ViewState["loginName"].ToString(); BFEmployee bfEmployee = new BFEmployee(); EmployeeAdditional employeeaddInfo = bfEmployee.GetEmployeeAdditionalByLoginName(ViewState["loginName"].ToString()); currentEmployee = bfEmployee.GetEmployeeByEmployeeCode(employeeaddInfo.EmployeeCode); Session["CurrentEmployee"] = currentEmployee; if (!string.IsNullOrEmpty(Request.QueryString["sn"])) { sn.Value = Request.QueryString["sn"]; WorklistItem listItem = WorkflowHelper.GetWorklistItemWithSN(sn.Value); taskID.Value = listItem.ID.ToString(); nodeID.Value = listItem.ActivityInstanceDestination.ActID.ToString(); nodeName.Value = listItem.ActivityInstanceDestination.Name; InitApproveOpinion(nodeName.Value); } if (!string.IsNullOrEmpty(Request.QueryString["id"])) { WorkFlowInstance info = new WF_WorkFlowInstance().GetWorkFlowInstanceById(Request.QueryString["id"]); ViewState["FormID"] = info.FormId; InintData(); } else { ContractID = BPMHelp.GetSerialNumber("SQ_");; tbNumber.Text = ContractID; ViewState["FormID"] = ContractID; } //tbPerson.Text = CurrentEmployee.EmployeeName; } Countersign1.SimulateUser = ViewState["loginName"].ToString(); FlowRelated1.SimulateUser = ViewState["loginName"].ToString(); Logger.Write(this.GetType(), EnumLogLevel.Info, className + ":" + methodName + ":" + Pkurg.PWorldBPM.Common.Log.MessageType.OUT); ShowButton(); }
protected void Page_Load(object sender, EventArgs e) { //if (!IsPostBack) //{ // //get worklists // Worklist li = WorkflowHelper.GetWorklistItem(Page.User.Identity.Name); // foreach (WorklistItem lit in li) // { // //显示的单号 // //lit.ProcessInstance.Folio // } //} string methodName = "Page_Load"; string currentUser = new IdentityUser().GetEmployee().LoginId; ViewState["loginName"] = currentUser; Logger.Write(this.GetType(), EnumLogLevel.Info, className + ":" + methodName + ":" + Pkurg.PWorldBPM.Common.Log.MessageType.IN); if (!IsPostBack) { UploadAttachments1._BPMContext.LoginId = currentUser; BFEmployee bfEmployee = new BFEmployee(); EmployeeAdditional employeeaddInfo = bfEmployee.GetEmployeeAdditionalByLoginName(currentUser); currentEmployee = bfEmployee.GetEmployeeByEmployeeCode(employeeaddInfo.EmployeeCode); WorkflowHelper.CurrentUser = currentUser; Session["CurrentEmployee"] = currentEmployee; if (!string.IsNullOrEmpty(Request.QueryString["id"])) { WorkFlowInstance info = new WF_WorkFlowInstance().GetWorkFlowInstanceById(Request.QueryString["id"]); ViewState["FormID"] = info.FormId; InintData(); } else { ContractID = BPMHelp.GetSerialNumber("SQ_"); tbNumber.Text = ContractID; ViewState["FormID"] = ContractID; tbPerson.Text = CurrentEmployee.EmployeeName; tbDepartName.Text = CurrentEmployee.DepartName; UpdatedTextBox.Value = DateTime.Now.ToShortDateString(); Countersign1.CounterSignDeptId = CurrentEmployee.DepartCode; } InintLeader(); } //Countersign1.SimulateUser = ViewState["loginName"].ToString(); //FlowRelated1.SimulateUser = ViewState["loginName"].ToString(); Logger.Write(this.GetType(), EnumLogLevel.Info, className + ":" + methodName + ":" + Pkurg.PWorldBPM.Common.Log.MessageType.OUT); }
public PWorld.Entities.Employee GetCurrentPWordUser() { string loginName = HttpContext.Current.User.Identity.Name; if (string.IsNullOrEmpty(loginName)) { //error } BFEmployee employee = new BFEmployee(); EmployeeAdditional userInfo = employee.GetEmployeeAdditionalByLoginName(loginName.ToLower().Replace(@"founder\", "")); Employee em = employee.GetEmployeeByEmployeeCode(userInfo.EmployeeCode);//get user info return(em); }
protected void InitLeader() { #region 工作流参数 //get users by role BFEmployee employee = new BFEmployee(); string currentUser = Page.User.Identity.Name.ToLower().Replace(@"founder\", ""); EmployeeAdditional employeeadd = employee.GetEmployeeAdditionalByLoginName(currentUser); Employee em = employee.GetEmployeeByEmployeeCode(employeeadd.EmployeeCode);//get user info //get activity destination users BFPmsUserRoleDepartment bfurd = new BFPmsUserRoleDepartment(); DataTable dtDept = bfurd.GetSelectRoleUser(em.DepartCode, "部门负责人"); DataTable dtCheck = bfurd.GetSelectRoleUser(em.CompanyCode, "流程审核人"); DataTable dtlead = bfurd.GetSelectRoleUser(em.DepartCode, "主管领导"); DataTable dtCEO = bfurd.GetSelectRoleUser(em.CompanyCode, "CEO"); #endregion }
public static IList <ProcessTypeInfo> GetDeptListByEmployeeCode(string loginName) { List <ProcessTypeInfo> ptiList = new List <ProcessTypeInfo>(); BFEmployee bfemployee = new BFEmployee(); EmployeeAdditional userInfo = bfemployee.GetEmployeeAdditionalByLoginName(loginName); ProcessTypeBLL bll = new ProcessTypeBLL(); IList <ProcessTypeInfo> processTypeInfoList = bll.GetProcessType(); foreach (var item in processTypeInfoList) { if (BFFunctionPermissions.IsDepartmentRightByEmployeeCode(userInfo.EmployeeCode, item.ID.Trim(), "公司流程筛选", "BPM", "无代码平台")) { ptiList.Add(item); } } return(ptiList); }
protected string SaveSelectedSignLeader() { XmlDocument xmldoc = new XmlDocument(); XmlElement xmleLeaders = xmldoc.CreateElement("Leaders"); xmldoc.AppendChild(xmleLeaders); //从“相关部门分管领导”到“集团董事长审批”中的步骤的所有参与审判的用户列表 List <string> ApproverList = new List <string>(); string LeaderTemp = string.Empty; string FinalLeaderTemp = string.Empty; BFEmployee employee = new BFEmployee(); string currentUser = Page.User.Identity.Name.ToLower().Replace(@"founder\", ""); EmployeeAdditional employeeadd = employee.GetEmployeeAdditionalByLoginName(currentUser); Employee em = employee.GetEmployeeByEmployeeCode(employeeadd.EmployeeCode);//get user info //get activity destination users BFPmsUserRoleDepartment bfurd = new BFPmsUserRoleDepartment(); DataTable dtDept = bfurd.GetSelectRoleUser(em.DepartCode, "部门负责人"); //部门负责人 if (chkDeptManager.Checked) { XmlElement xmleDeptManager = xmldoc.CreateElement("DeptManager"); xmleLeaders.AppendChild(xmleDeptManager); LeaderTemp = dtDept.Rows[0]["LoginName"].ToString(); if (LeaderTemp.Length > 0) { foreach (string L in LeaderTemp.Split(',')) { if (L != "") { ApproverList.Add(L); } } } xmleDeptManager.SetAttribute("ID", LeaderTemp); } return(xmleLeaders.OuterXml); }
protected string SaveSelectedSignLeader() { XmlDocument xmldoc = new XmlDocument(); XmlElement xmleLeaders = xmldoc.CreateElement("Leaders"); xmldoc.AppendChild(xmleLeaders); //从“相关部门分管领导”到“集团董事长审批”中的步骤的所有参与审批的用户列表 List <string> ApproverList = new List <string>(); string LeaderTemp = string.Empty; string FinalLeaderTemp = string.Empty; BFEmployee employee = new BFEmployee(); string currentUser = Page.User.Identity.Name.ToLower().Replace(@"founder\", ""); EmployeeAdditional employeeadd = employee.GetEmployeeAdditionalByLoginName(currentUser); Employee em = employee.GetEmployeeByEmployeeCode(employeeadd.EmployeeCode);//get user info //get activity destination users BFPmsUserRoleDepartment bfurd = new BFPmsUserRoleDepartment(); DataTable dtDept = bfurd.GetSelectRoleUser(em.DepartCode, "部门负责人"); return(xmleLeaders.OuterXml); }
public UserInfo GetUserInfo(string loginName) { if (string.IsNullOrEmpty(loginName)) { //error ExceptionHander.GoToErrorPage("域用户名为空", null); } BFEmployee employee = new BFEmployee(); loginName = loginName.ToLower().Replace(@"k2:founder\", ""); loginName = loginName.ToLower().Replace(@"founder\", ""); EmployeeAdditional userInfo = employee.GetEmployeeAdditionalByLoginName(loginName); Employee em = employee.GetEmployeeByEmployeeCode(userInfo.EmployeeCode);//get user info if (em != null) { return(new UserInfo() { Id = em.EmployeeCode, LoginId = loginName, FounderLoginId = "founder\\" + loginName, Name = em.EmployeeName, MainDeptId = em.DepartCode, DepIds = new List <string>() { em.DepartCode }, PWordUser = em }); } else { return(null); } }
public bool CreateNewFormByInstanceIDAndEmployeeCodeWithStoredProcedure(string InstanceID, string EmployeeCode, string sp) { DataProvider dataProvider = new DataProvider(); dataProvider.ConnectionString = System.Configuration.ConfigurationManager.ConnectionStrings["BPMConnectionString"].ConnectionString; BFEmployee bfEmployee = new BFEmployee(); Employee employeeInfo = new Employee(); WF_WorkFlowInstance wFlowInst = new WF_WorkFlowInstance(); BFApprovalRecord bFApprovalRecord = new BFApprovalRecord(); EmployeeAdditional employeeAddition = bfEmployee.GetEmployeeAdditionalById(EmployeeCode); employeeInfo = bfEmployee.GetEmployeeByEmployeeCode(EmployeeCode); string EmployeeName = bfEmployee.GetEmployeeNameByEmployeeCode(EmployeeCode); WorkFlowInstance wFlowInstanceBefore = new WorkFlowInstance(); wFlowInstanceBefore = wFlowInst.GetWorkFlowInstanceById(InstanceID); WorkFlowInstance newWorkFlowInstance = new WorkFlowInstance(); { newWorkFlowInstance.InstanceId = Guid.NewGuid().ToString(); newWorkFlowInstance.AppId = wFlowInstanceBefore.AppId; newWorkFlowInstance.FormId = BPMHelp.GetSerialNumber("SQ_"); newWorkFlowInstance.WfInstanceId = wFlowInstanceBefore.WfInstanceId; newWorkFlowInstance.OrderNo = wFlowInstanceBefore.OrderNo; newWorkFlowInstance.IsDel = 0; newWorkFlowInstance.CreateByUserCode = EmployeeCode; newWorkFlowInstance.CreateByUserName = EmployeeName; newWorkFlowInstance.CreateAtTime = System.DateTime.Now; newWorkFlowInstance.UpdateByUserCode = EmployeeCode; newWorkFlowInstance.UpdateByUserName = EmployeeName; newWorkFlowInstance.UpdateAtTime = wFlowInstanceBefore.UpdateAtTime; newWorkFlowInstance.CreateDeptCode = employeeInfo.DepartCode; newWorkFlowInstance.CreateDeptName = employeeInfo.DepartName; newWorkFlowInstance.WorkItemCode = wFlowInstanceBefore.WorkItemCode; newWorkFlowInstance.WorkItemName = wFlowInstanceBefore.WorkItemName; newWorkFlowInstance.WfTaskId = wFlowInstanceBefore.WfTaskId; newWorkFlowInstance.FinishedTime = null; newWorkFlowInstance.Remark = wFlowInstanceBefore.Remark; newWorkFlowInstance.FormTitle = wFlowInstanceBefore.FormTitle; newWorkFlowInstance.WfStatus = "0"; newWorkFlowInstance.SumitTime = null; newWorkFlowInstance.FormData = wFlowInstanceBefore.FormData; } var newApprovalRecord = new Pkurg.PWorldBPM.Business.Sys.WF_Approval_Record(); newApprovalRecord.ApprovalID = Guid.NewGuid().ToString(); newApprovalRecord.FormID = newWorkFlowInstance.FormId; newApprovalRecord.InstanceID = newWorkFlowInstance.InstanceId; newApprovalRecord.CreateByUserCode = employeeInfo.EmployeeCode; newApprovalRecord.CreateByUserName = employeeInfo.EmployeeName; newApprovalRecord.CreateAtTime = System.DateTime.Now; newApprovalRecord.ApproveByUserCode = employeeInfo.EmployeeCode; newApprovalRecord.ApproveByUserName = employeeInfo.EmployeeName; newApprovalRecord.UpdateByUserCode = employeeInfo.EmployeeCode; newApprovalRecord.UpdateByUserName = employeeInfo.EmployeeName; newApprovalRecord.UpdateAtTime = wFlowInstanceBefore.UpdateAtTime; newApprovalRecord.CurrentActiveName = "拟稿"; Pkurg.BPM.Entities.FlowRelated relationInfo = new FlowRelated() { FlowId = newWorkFlowInstance.InstanceId, CreatorName = employeeInfo.EmployeeName, CreateTime = System.DateTime.Now, CreatorId = employeeInfo.EmployeeCode, RelatedFlowId = wFlowInstanceBefore.InstanceId, RelatedFlowCreator = wFlowInstanceBefore.CreateByUserName, RelatedFlowEndTime = wFlowInstanceBefore.FinishedTime, RelatedFlowName = wFlowInstanceBefore.FormTitle, }; WF_Relation.AddRelatedFlowInfo(relationInfo); SqlParameter[] parameters = new SqlParameter[] { new SqlParameter("@FormID_Before", System.Data.SqlDbType.NVarChar, 100), new SqlParameter("@FormID_New", System.Data.SqlDbType.NVarChar, 100) }; parameters[0].Value = wFlowInstanceBefore.FormId; parameters[1].Value = newWorkFlowInstance.FormId; dataProvider.ExecutedProcedure(sp, parameters); bool isSuccessForInstance = wFlowInst.AddWorkFlowInstance(newWorkFlowInstance); bool isSuccessForApprovalRecord = bFApprovalRecord.AddApprovalRecord(newApprovalRecord); if (isSuccessForInstance && isSuccessForApprovalRecord) { return(true); } else { return(false); } }
protected void Submit_Click(object sender, EventArgs e) { #region 工作流参数 //get users by role BFEmployee employee = new BFEmployee(); EmployeeAdditional employeeadd = employee.GetEmployeeAdditionalByLoginName("xupc"); Employee em = employee.GetEmployeeByEmployeeCode(employeeadd.EmployeeCode);//get user info //get activity destination users BFPmsUserRoleDepartment bfurd = new BFPmsUserRoleDepartment(); DataTable dtDept = bfurd.GetSelectRoleUser(em.DepartCode, "部门负责人"); DataTable dtCheck = bfurd.GetSelectRoleUser(em.CompanyCode, "流程审核人"); //BFCountersignRoleDepartment CountersignRole= new BFCountersignRoleDepartment(); //DataTable dtContri = CountersignRole.GetSelectCountersignDepartment(em.CompanyCode); DataTable dtlead = bfurd.GetSelectRoleUser(em.DepartCode, "主管总裁"); DataTable dtCEO = bfurd.GetSelectRoleUser(em.CompanyCode, "CEO"); //add datafields NameValueCollection dataFields = new NameValueCollection(); //部门负责人 if (chkDeptManager.Checked) { dataFields.Add("DeptManager", "K2:Founder\\" + dtDept.Rows[0]["LoginName"].ToString()); } else { dataFields.Add("DeptManager", "noapprovers"); } //流程审核人 dataFields.Add("WFM", "K2:Founder\\" + dtCheck.Rows[0]["LoginName"].ToString()); //会签 //dataFields.Add("CounterSignUsers", "K2:Founder\\" + dtContri.Rows[0]["LoginName"].ToString()); //部门主管领导 dataFields.Add("leaders", "K2:Founder\\" + dtlead.Rows[0]["LoginName"].ToString()); //CEO dataFields.Add("CEO", "K2:Founder\\" + dtCEO.Rows[0]["LoginName"].ToString()); //触发新流程 if (cbIsReport.Checked) { dataFields.Add("NewFlow_SP", "wf_usp_CreateNewForm"); } #endregion int wfInstanceId = 0; //process instance id string id = ViewState["FormID"].ToString(); Countersign1.SaveData();//会签数据保存 InstructionOfPkurg instructionOfPkurg = SaveInstructionOfPkurg(id, "02"); if (instructionOfPkurg != null) { UploadAttachments1.SaveAttachment(id); Countersign1.SaveAndSubmit();//会签数据保存 WorkflowHelper.StartProcess(@"K2Workflow\InstructionOfPKURG", id, dataFields, ref wfInstanceId); if (wfInstanceId > 0) { if (SaveWorkFlowInstance(instructionOfPkurg, "1", DateTime.Now, wfInstanceId.ToString())) { if (wf_Instruction.UpdateStatus(id, "02", wfInstanceId.ToString())) { string Opinion = ""; string ApproveResult = "同意"; string OpinionType = ""; string IsSign = "0"; string DelegateUserName = ""; string DelegateUserCode = ""; WorkFlowInstance workFlowInstance = wf_WorkFlowInstance.GetWorkFlowInstanceByFormId(instructionOfPkurg.FormId); var appRecord = new Pkurg.PWorldBPM.Business.Sys.WF_Approval_Record() { ApprovalID = Guid.NewGuid().ToString(), FormID = id, InstanceID = workFlowInstance.InstanceId, Opinion = Opinion, ApproveAtTime = DateTime.Now, ApproveByUserCode = CurrentEmployee.EmployeeCode, ApproveByUserName = CurrentEmployee.EmployeeName, ApproveResult = ApproveResult, OpinionType = OpinionType, CurrentActiveName = "拟稿", ISSign = IsSign, DelegateUserName = DelegateUserName, DelegateUserCode = DelegateUserCode, CreateAtTime = DateTime.Now, CreateByUserCode = CurrentEmployee.EmployeeCode, CreateByUserName = CurrentEmployee.EmployeeName, UpdateAtTime = DateTime.Now, UpdateByUserCode = CurrentEmployee.EmployeeCode, UpdateByUserName = CurrentEmployee.EmployeeName, FinishedTime = DateTime.Now }; BFApprovalRecord bfApproval = new BFApprovalRecord(); bfApproval.AddApprovalRecord(appRecord); //WebCommon.Show(this, Resources.Message.SubmitSucess); //Response.Redirect("~/Workflow/ToDoWorkList.aspx", false); } } } } ScriptManager.RegisterClientScriptBlock(this, typeof(string), "1", "alert('提交成功'); window.close();", true); //WorkflowHelper.ApproveProcess //insert data to business object }