public static WF_WorkFlowInstanceInfo GetWorkFlowInstanceByWfId(string wfid) { SqlParameter[] parameters = { new SqlParameter("@WfId", SqlDbType.NVarChar, 100) }; parameters[0].Value = wfid; WF_WorkFlowInstanceInfo model = new WF_WorkFlowInstanceInfo(); DataTable dt = DBHelper.ExecutedProcedure("wf_usp_WorkFlowInstance_GetByWfId", parameters); if (dt.Rows.Count > 0) { return(DataRowToModel(dt.Rows[0])); } else { return(null); } }
public override Pkurg.PWorldBPM.FinallyDisposeServices.ExecuteResultInfo DoServiceEvent(int k2_workflowId, Pkurg.PWorldBPM.FinallyDisposeServices.SerializableDictionary <string, string> dataFields) { Logger.logger.DebugFormat("OA_InstructionOfEToG_Params:{0},{1}", k2_workflowId, dataFields["IsReport"] == "1" ? "上报" : "不上报"); Pkurg.PWorldBPM.FinallyDisposeServices.ExecuteResultInfo info = new Pkurg.PWorldBPM.FinallyDisposeServices.ExecuteResultInfo(); try { if (dataFields["IsReport"] == "1") { Pkurg.PWorldBPM.Business.BIZ.InstructionOfEToGInfo companyInfo = new Pkurg.PWorldBPM.Business.BIZ.InstructionOfEToG().GetInfoByWfId(k2_workflowId.ToString()); Pkurg.PWorldBPM.Business.Controls.WF_WorkFlowInstanceInfo instanceInfo = Pkurg.PWorldBPM.Business.Controls.WF_WorkFlowInstances.GetWorkFlowInstanceByWfId(k2_workflowId.ToString()); Pkurg.PWorldBPM.Business.Controls.WF_Approval_RecordInfo flowManagerInfo = Pkurg.PWorldBPM.Business.Controls.WF_WorkFlowInstances.GetApproval_RecordByIdAndName(instanceInfo.InstanceID, "流程审核员审核"); if (companyInfo != null) { ///增加表单 string formId = Pkurg.PWorldBPM.Business.Controls.WF_WorkFlowInstances.GetSerialNumber("OA_QS_"); new Pkurg.PWorldBPM.Business.BIZ.InstructionOfGroup().Insert(new Pkurg.PWorldBPM.Business.BIZ.InstructionOfGroupInfo() { Content = companyInfo.Content, Title = companyInfo.Title, SecurityLevel = companyInfo.SecurityLevel, UrgenLevel = companyInfo.UrgenLevel, Mobile = companyInfo.Mobile, //UserName = companyInfo.UserName, UserName = flowManagerInfo.ApproveByUserName, DeptCode = companyInfo.DeptCode, DeptName = companyInfo.DeptName, FormID = formId, RelatedFormID = companyInfo.FormID //relation }); ///增加实例 string instanceId = Guid.NewGuid().ToString(); Pkurg.PWorldBPM.Business.Controls.WF_WorkFlowInstances.AddWorkFlowInstance(new Pkurg.PWorldBPM.Business.Controls.WF_WorkFlowInstanceInfo() { AppID = "3003", InstanceID = instanceId, FormID = formId, FormTitle = instanceInfo.FormTitle, WFStatus = "0", CreateAtTime = DateTime.Now, CreateByUserCode = flowManagerInfo.ApproveByUserCode, CreateByUserName = flowManagerInfo.ApproveByUserName, UpdateAtTime = DateTime.Now, UpdateByUserCode = flowManagerInfo.ApproveByUserCode, UpdateByUserName = flowManagerInfo.ApproveByUserName, CreateDeptCode = instanceInfo.CreateDeptCode, CreateDeptName = instanceInfo.CreateDeptName, WFInstanceId = "0" }); ///关联流程 Pkurg.PWorldBPM.Business.Controls.WF_Relation.AddRelatedFlowInfo(instanceId, instanceInfo.InstanceID, flowManagerInfo.ApproveByUserName); Logger.logger.Debug("上报成功"); } } else { info.ExecException = "无需上报"; } info.IsSuccess = true; } catch (Exception ex) { info.ExecException = ex.Message + "\r\n" + ex.StackTrace; Logger.logger.DebugFormat("上报失败:{0}\r\n{1}", ex.Message, ex.StackTrace); } return(info); }
public override Pkurg.PWorldBPM.FinallyDisposeServices.ExecuteResultInfo DoServiceEvent(int k2_workflowId, Pkurg.PWorldBPM.FinallyDisposeServices.SerializableDictionary <string, string> dataFields) { Logger.logger.DebugFormat("OA_ContractAuditOfEToG_Params:{0},{1}", k2_workflowId, dataFields["IsReport"] == "1" ? "上报" : "不上报"); Pkurg.PWorldBPM.FinallyDisposeServices.ExecuteResultInfo info = new Pkurg.PWorldBPM.FinallyDisposeServices.ExecuteResultInfo(); try { if (dataFields["IsReport"] == "1") { Pkurg.PWorldBPM.Business.BIZ.OA.ContractAuditOfEToGInfo companyInfo = new Pkurg.PWorldBPM.Business.BIZ.OA.ContractAuditOfEToG().GetInfoByWfId(k2_workflowId.ToString()); Pkurg.PWorldBPM.Business.Controls.WF_WorkFlowInstanceInfo instanceInfo = Pkurg.PWorldBPM.Business.Controls.WF_WorkFlowInstances.GetWorkFlowInstanceByWfId(k2_workflowId.ToString()); Pkurg.PWorldBPM.Business.Controls.WF_Approval_RecordInfo flowManagerInfo = Pkurg.PWorldBPM.Business.Controls.WF_WorkFlowInstances.GetApproval_RecordByIdAndName(instanceInfo.InstanceID, "流程审核员审核"); if (companyInfo != null) { ///增加表单 string formId = Pkurg.PWorldBPM.Business.Controls.WF_WorkFlowInstances.GetSerialNumber("OA_HT_"); new Pkurg.PWorldBPM.Business.BIZ.OA.ContractAuditOfGroup().Insert(new Pkurg.PWorldBPM.Business.BIZ.OA.ContractAuditOfGroupInfo() { FormID = formId, SecurityLevel = companyInfo.SecurityLevel, UrgenLevel = companyInfo.UrgenLevel, DeptName = companyInfo.DeptName, DeptCode = companyInfo.DeptCode, UserName = flowManagerInfo.ApproveByUserName, Mobile = companyInfo.Mobile, DateTime = companyInfo.DateTime, ContractSum = companyInfo.ContractSum, IsSupplementProtocol = companyInfo.IsSupplementProtocol, IsSupplementProtocolText = companyInfo.IsSupplementProtocolText, IsFormatContract = companyInfo.IsFormatContract, IsNormText = companyInfo.IsNormText, IsBidding = companyInfo.IsBidding, IsEstateProject = companyInfo.IsEstateProject, EstateProjectName = companyInfo.EstateProjectName, EstateProjectNameText = companyInfo.EstateProjectNameText, EstateProjectNum = companyInfo.EstateProjectNum, EstateProjectNumText = companyInfo.EstateProjectNumText, ContractTitle = companyInfo.ContractTitle, ContractContent = companyInfo.ContractContent, LeadersSelected = "", IsReport = "", IsApproval = "", ContractType1 = companyInfo.ContractType1, ContractTypeName1 = companyInfo.ContractTypeName1, ContractType2 = companyInfo.ContractType2, ContractTypeName2 = companyInfo.ContractTypeName2, ContractType3 = companyInfo.ContractType3, ContractTypeName3 = companyInfo.ContractTypeName3, ContractSubject = companyInfo.ContractSubject, ContractSubjectName = companyInfo.ContractSubjectName, ContractSubjectName2 = companyInfo.ContractSubjectName2, ContractSubjectName3 = companyInfo.ContractSubjectName3, ContractSubjectName4 = companyInfo.ContractSubjectName4, RelatedFormID = companyInfo.FormID }); ///增加实例 string instanceId = Guid.NewGuid().ToString(); Pkurg.PWorldBPM.Business.Controls.WF_WorkFlowInstances.AddWorkFlowInstance(new Pkurg.PWorldBPM.Business.Controls.WF_WorkFlowInstanceInfo() { AppID = "3007", InstanceID = instanceId, FormID = formId, FormTitle = instanceInfo.FormTitle, WFStatus = "0", CreateAtTime = DateTime.Now, CreateByUserCode = flowManagerInfo.ApproveByUserCode, CreateByUserName = flowManagerInfo.ApproveByUserName, UpdateAtTime = DateTime.Now, UpdateByUserCode = flowManagerInfo.ApproveByUserCode, UpdateByUserName = flowManagerInfo.ApproveByUserName, CreateDeptCode = instanceInfo.CreateDeptCode, CreateDeptName = instanceInfo.CreateDeptName, WFInstanceId = "0" }); ///关联流程 Pkurg.PWorldBPM.Business.Controls.WF_Relation.AddRelatedFlowInfo(instanceId, instanceInfo.InstanceID, flowManagerInfo.ApproveByUserName); Logger.logger.Debug("上报成功"); } } else { info.ExecException = "无需上报"; } info.IsSuccess = true; } catch (Exception ex) { info.ExecException = ex.Message + "\r\n" + ex.StackTrace; Logger.logger.DebugFormat("上报失败:{0}\r\n{1}", ex.Message, ex.StackTrace); } return(info); }
public static bool AddWorkFlowInstance(WF_WorkFlowInstanceInfo model) { try { SqlParameter[] parameters = { new SqlParameter("@InstanceID", SqlDbType.NVarChar, 100), new SqlParameter("@AppID", SqlDbType.NVarChar, 100), new SqlParameter("@FormID", SqlDbType.NVarChar, 200), new SqlParameter("@WFInstanceId", SqlDbType.NVarChar, 100), //new SqlParameter("@OrderNo", SqlDbType.Int,4), //new SqlParameter("@IsDel", SqlDbType.Int,4), new SqlParameter("@CreateByUserCode", SqlDbType.NVarChar, 50), new SqlParameter("@CreateByUserName", SqlDbType.NVarChar, 50), new SqlParameter("@CreateAtTime", SqlDbType.DateTime), new SqlParameter("@UpdateByUserCode", SqlDbType.NVarChar, 50), new SqlParameter("@UpdateByUserName", SqlDbType.NVarChar, 50), new SqlParameter("@UpdateAtTime", SqlDbType.DateTime), new SqlParameter("@CreateDeptCode", SqlDbType.NVarChar, 50), new SqlParameter("@CreateDeptName", SqlDbType.NVarChar, 50), //new SqlParameter("@WorkItemCode", SqlDbType.NVarChar,100), //new SqlParameter("@WorkItemName", SqlDbType.NVarChar,200), //new SqlParameter("@WFTaskID", SqlDbType.Int,4), //new SqlParameter("@FinishedTime", SqlDbType.DateTime), //new SqlParameter("@Remark", SqlDbType.NVarChar,500), new SqlParameter("@FormTitle", SqlDbType.NVarChar, 300), new SqlParameter("@WFStatus", SqlDbType.NVarChar, 10) //,new SqlParameter("@SumitTime", SqlDbType.DateTime), //new SqlParameter("@FormData", SqlDbType.Xml) //,new SqlParameter("@ProcessName", SqlDbType.NVarChar,200) }; parameters[0].Value = model.InstanceID; parameters[1].Value = model.AppID; parameters[2].Value = model.FormID; parameters[3].Value = model.WFInstanceId; //parameters[4].Value = model.OrderNo; //parameters[5].Value = model.IsDel; parameters[4].Value = model.CreateByUserCode; parameters[5].Value = model.CreateByUserName; parameters[6].Value = DateTime.Now; parameters[7].Value = model.UpdateByUserCode; parameters[8].Value = model.UpdateByUserName; parameters[9].Value = DateTime.Now; parameters[10].Value = model.CreateDeptCode; parameters[11].Value = model.CreateDeptName; //parameters[14].Value = model.WorkItemCode; //parameters[15].Value = model.WorkItemName; //parameters[16].Value = model.WFTaskID; //parameters[17].Value = model.FinishedTime; //parameters[18].Value = model.Remark; parameters[12].Value = model.FormTitle; parameters[13].Value = model.WFStatus; //parameters[21].Value = model.SumitTime; //parameters[22].Value = model.FormData; // parameters[23].Value = model.ProcessName; DBHelper.ExecutedProcedure("wf_usp_WorkFlowInstance_ADD", parameters); return(true); } catch (Exception) { return(false); } }
public static WF_WorkFlowInstanceInfo DataRowToModel(DataRow row) { WF_WorkFlowInstanceInfo model = new WF_WorkFlowInstanceInfo(); if (row != null) { if (row["InstanceID"] != null) { model.InstanceID = row["InstanceID"].ToString(); } if (row["AppID"] != null) { model.AppID = row["AppID"].ToString(); } if (row["FormID"] != null) { model.FormID = row["FormID"].ToString(); } if (row["WFInstanceId"] != null) { model.WFInstanceId = row["WFInstanceId"].ToString(); } if (row["OrderNo"] != null && row["OrderNo"].ToString() != "") { model.OrderNo = int.Parse(row["OrderNo"].ToString()); } if (row["IsDel"] != null && row["IsDel"].ToString() != "") { model.IsDel = int.Parse(row["IsDel"].ToString()); } if (row["CreateByUserCode"] != null) { model.CreateByUserCode = row["CreateByUserCode"].ToString(); } if (row["CreateByUserName"] != null) { model.CreateByUserName = row["CreateByUserName"].ToString(); } if (row["CreateAtTime"] != null && row["CreateAtTime"].ToString() != "") { model.CreateAtTime = DateTime.Parse(row["CreateAtTime"].ToString()); } if (row["UpdateByUserCode"] != null) { model.UpdateByUserCode = row["UpdateByUserCode"].ToString(); } if (row["UpdateByUserName"] != null) { model.UpdateByUserName = row["UpdateByUserName"].ToString(); } if (row["UpdateAtTime"] != null && row["UpdateAtTime"].ToString() != "") { model.UpdateAtTime = DateTime.Parse(row["UpdateAtTime"].ToString()); } if (row["CreateDeptCode"] != null) { model.CreateDeptCode = row["CreateDeptCode"].ToString(); } if (row["CreateDeptName"] != null) { model.CreateDeptName = row["CreateDeptName"].ToString(); } if (row["WorkItemCode"] != null) { model.WorkItemCode = row["WorkItemCode"].ToString(); } if (row["WorkItemName"] != null) { model.WorkItemName = row["WorkItemName"].ToString(); } if (row["WFTaskID"] != null && row["WFTaskID"].ToString() != "") { model.WFTaskID = int.Parse(row["WFTaskID"].ToString()); } if (row["FinishedTime"] != null && row["FinishedTime"].ToString() != "") { model.FinishedTime = DateTime.Parse(row["FinishedTime"].ToString()); } if (row["Remark"] != null) { model.Remark = row["Remark"].ToString(); } if (row["FormTitle"] != null) { model.FormTitle = row["FormTitle"].ToString(); } if (row["WFStatus"] != null) { model.WFStatus = row["WFStatus"].ToString(); } if (row["SumitTime"] != null && row["SumitTime"].ToString() != "") { model.SumitTime = DateTime.Parse(row["SumitTime"].ToString()); } //model.FormData=row["FormData"].ToString(); if (row["ProcessName"] != null) { model.ProcessName = row["ProcessName"].ToString(); } } return(model); }