public void AddConsultation(OracleConnection con, FLOW_CONSULTATION_T flowConsultation, SubmitData submitData) { if (strIsFlowEngine.ToLower() == "true") { try { flowConsultation.FLOW_FLOWRECORDDETAIL_T.FLOW_FLOWRECORDMASTER_T = FlowBLL2.GetFLOW_FLOWRECORDMASTER_T(con, flowConsultation.FLOW_FLOWRECORDDETAIL_T.FLOW_FLOWRECORDMASTER_T.FLOWRECORDMASTERID); FlowEngineService.EngineWcfGlobalFunctionClient FlowEngine = new FlowEngineService.EngineWcfGlobalFunctionClient(); FlowEngineService.CustomUserMsg[] cs = new FlowEngineService.CustomUserMsg[1]; FlowEngineService.CustomUserMsg cu = new FlowEngineService.CustomUserMsg(); cu.FormID = flowConsultation.FLOW_FLOWRECORDDETAIL_T.FLOW_FLOWRECORDMASTER_T.FORMID; cu.UserID = flowConsultation.REPLYUSERID; cs[0] = cu; ModelInfo modelinfo = FlowBLL2.GetSysCodeByModelCode(con, submitData.ModelCode); MessageData tmpMessageData = new MessageData("Flow", modelinfo.SysCode, flowConsultation.FLOW_FLOWRECORDDETAIL_T.FLOW_FLOWRECORDMASTER_T.CREATECOMPANYID, submitData.ModelCode, modelinfo.ModelName, submitData.FormID, flowConsultation.FLOW_FLOWRECORDDETAIL_T.STATECODE, flowConsultation.FLOW_FLOWRECORDDETAIL_T.CHECKSTATE, "", "", "", ""); FlowBLL2 flowBLL = new FlowBLL2(); StringBuilder FlowResultXml = flowBLL.BuildMessageData(tmpMessageData); //FlowEngine = new FlowEngineService.EngineWcfGlobalFunctionClient(); //log = FlowEngine.SaveFlowTriggerData(FlowResultXml.ToString(), submitData.XML); if (!string.IsNullOrEmpty(flowConsultation.FLOW_FLOWRECORDDETAIL_T.FLOW_FLOWRECORDMASTER_T.BUSINESSOBJECT)) { submitData.XML = flowConsultation.FLOW_FLOWRECORDDETAIL_T.FLOW_FLOWRECORDMASTER_T.BUSINESSOBJECT; } bool b = FlowEngine.FlowConsultati(cs, "", FlowResultXml.ToString(), submitData.XML); if (!b) { Tracer.Debug("FlowEngineService-FlowConsultati:" + flowConsultation.FLOW_FLOWRECORDDETAIL_T.FLOW_FLOWRECORDMASTER_T.FORMID +"\nsubmitData:"+submitData.XML); } FlowBLL2 bll = new FlowBLL2(); bll.AddConsultation(con, flowConsultation); } catch (Exception ex) { LogHelper.WriteLog("AddConsultation异常信息 :" + ex.ToString()); //Tracer.Debug("AddConsultation: -" + flowConsultation.FLOW_FLOWRECORDDETAIL_T.FLOW_FLOWRECORDMASTER_T.FORMID + "-" + ex.InnerException + ex.Message); throw ex; } } }
public void ReplyConsultation(OracleConnection con, FLOW_CONSULTATION_T flowConsultation, SubmitData submitData) { if (strIsFlowEngine.ToLower() == "true") { try { FlowEngineService.EngineWcfGlobalFunctionClient FlowEngine = new FlowEngineService.EngineWcfGlobalFunctionClient(); //Byte[] Bo = System.Text.UTF8Encoding.UTF8.GetBytes(submitData.XML); //XElement xemeBoObject = XElement.Load(System.Xml.XmlReader.Create(new MemoryStream(Bo))); //string strSystemCode = (from item in xemeBoObject.Descendants("Name") select item).FirstOrDefault().Value; ModelInfo modelinfo = FlowBLL2.GetSysCodeByModelCode(con, submitData.ModelCode); FlowEngine.FlowConsultatiClose(modelinfo.SysCode, flowConsultation.FLOW_FLOWRECORDDETAIL_T.FLOW_FLOWRECORDMASTER_T.FORMID, flowConsultation.REPLYUSERID); FlowBLL2 bll = new FlowBLL2(); bll.ReplyConsultation(con, flowConsultation); } catch (Exception ex) { Tracer.Debug("ReplyConsultation: -" + flowConsultation.FLOW_FLOWRECORDDETAIL_T.FLOW_FLOWRECORDMASTER_T.FORMID + "-" + ex.InnerException + ex.Message); throw ex; } } }
public void AddConsultation(OracleConnection con, FLOW_CONSULTATION_T flowConsultation, SubmitData submitData) { if (strIsFlowEngine.ToLower() == "true") { try { #region 记录日志 FLOW_CONSULTATION_T entity = flowConsultation; StringBuilder sb = new StringBuilder(); sb.AppendLine("FLOW_CONSULTATION_T entity= new FLOW_CONSULTATION_T();");// sb.AppendLine("entity.CONSULTATIONID = \"" + entity.CONSULTATIONID + "\";");// sb.AppendLine("entity.FLOWRECORDDETAILID = \"" + (entity.FLOW_FLOWRECORDDETAIL_T == null ? "" : entity.FLOW_FLOWRECORDDETAIL_T.FLOWRECORDDETAILID) + "\";"); sb.AppendLine("entity.CONSULTATIONUSERID = \"" + entity.CONSULTATIONUSERID + "\";"); sb.AppendLine("entity.CONSULTATIONUSERNAME = \"" + entity.CONSULTATIONUSERNAME + "\";"); sb.AppendLine("entity.CONSULTATIONCONTENT =\"" + entity.CONSULTATIONCONTENT + "\";"); sb.AppendLine("entity.CONSULTATIONDATE = \"" + entity.CONSULTATIONDATE + "\";"); sb.AppendLine("entity.REPLYUSERID = \"" + entity.REPLYUSERID + "\";"); sb.AppendLine("entity.REPLYUSERNAME = \"" + entity.REPLYUSERNAME + "\";"); sb.AppendLine("entity.REPLYCONTENT = \"" + entity.REPLYCONTENT + "\";"); sb.AppendLine("entity.REPLYDATE = \"" + entity.REPLYDATE + "\";"); sb.AppendLine("entity.FLAG = \"" + entity.FLAG + "\";");//0未回复,1回复 sb.AppendLine("FLOW_FLOWRECORDDETAIL_T model=new FLOW_FLOWRECORDDETAIL_T();"); sb.AppendLine(" model.FLOWRECORDDETAILID=\"" + entity.FLOW_FLOWRECORDDETAIL_T.FLOWRECORDDETAILID + "\";"); //sb.AppendLine(" model.FLOWRECORDMASTERID=\""+entity.FLOW_FLOWRECORDDETAIL_T.FLOWRECORDMASTERID+"\";"); sb.AppendLine(" model.STATECODE=\"" + entity.FLOW_FLOWRECORDDETAIL_T.STATECODE + "\";"); sb.AppendLine(" model.PARENTSTATEID=\"" + entity.FLOW_FLOWRECORDDETAIL_T.PARENTSTATEID + "\";"); sb.AppendLine(" model.CONTENT=\"" + entity.FLOW_FLOWRECORDDETAIL_T.CONTENT + "\";"); sb.AppendLine(" model.CHECKSTATE=\"" + entity.FLOW_FLOWRECORDDETAIL_T.CHECKSTATE + "\";//同意:1,不同意:0 ,未处理:2,会签同意7,会签不同意8"); sb.AppendLine(" model.FLAG=\"" + entity.FLOW_FLOWRECORDDETAIL_T.FLAG + "\";//已审批:1,未审批:0"); sb.AppendLine(" model.CREATEUSERID=\"" + entity.FLOW_FLOWRECORDDETAIL_T.CREATEUSERID + "\";"); sb.AppendLine(" model.CREATEUSERNAME=\"" + entity.FLOW_FLOWRECORDDETAIL_T.CREATEUSERNAME + "\";"); sb.AppendLine(" model.CREATECOMPANYID=\"" + entity.FLOW_FLOWRECORDDETAIL_T.CREATECOMPANYID + "\";"); sb.AppendLine(" model.CREATEDEPARTMENTID=\"" + entity.FLOW_FLOWRECORDDETAIL_T.CREATEDEPARTMENTID + "\";"); sb.AppendLine(" model.CREATEPOSTID=\"" + entity.FLOW_FLOWRECORDDETAIL_T.CREATEPOSTID + "\";"); sb.AppendLine(" model.CREATEDATE=\"" + entity.FLOW_FLOWRECORDDETAIL_T.CREATEDATE + "\";"); sb.AppendLine(" model.EDITUSERID=\"" + entity.FLOW_FLOWRECORDDETAIL_T.EDITUSERID + "\";"); sb.AppendLine(" model.EDITUSERNAME=\"" + entity.FLOW_FLOWRECORDDETAIL_T.EDITUSERNAME + "\";"); sb.AppendLine(" model.EDITCOMPANYID=\"" + entity.FLOW_FLOWRECORDDETAIL_T.EDITCOMPANYID + "\";"); sb.AppendLine(" model.EDITDEPARTMENTID=\"" + entity.FLOW_FLOWRECORDDETAIL_T.EDITDEPARTMENTID + "\";"); sb.AppendLine(" model.EDITPOSTID=\"" + entity.FLOW_FLOWRECORDDETAIL_T.EDITPOSTID + "\";"); sb.AppendLine(" model.EDITDATE=\"" + entity.FLOW_FLOWRECORDDETAIL_T.EDITDATE + "\";"); sb.AppendLine(" model.AGENTUSERID=\"" + entity.FLOW_FLOWRECORDDETAIL_T.AGENTUSERID + "\";"); sb.AppendLine(" model.AGENTERNAME=\"" + entity.FLOW_FLOWRECORDDETAIL_T.AGENTERNAME + "\";"); sb.AppendLine(" model.AGENTEDITDATE=\"" + entity.FLOW_FLOWRECORDDETAIL_T.AGENTEDITDATE + "\";"); sb.AppendLine(" entity.FLOW_FLOWRECORDDETAIL_T = model;"); sb.AppendLine("FLOW_FLOWRECORDMASTER_T eentity=new FLOW_FLOWRECORDMASTER_T();"); sb.AppendLine(" eentity.FLOWRECORDMASTERID=\"" + entity.FLOW_FLOWRECORDDETAIL_T.FLOW_FLOWRECORDMASTER_T.FLOWRECORDMASTERID + "\";"); sb.AppendLine(" eentity.INSTANCEID=\"" + entity.FLOW_FLOWRECORDDETAIL_T.FLOW_FLOWRECORDMASTER_T.INSTANCEID + "\";"); sb.AppendLine(" eentity.FLOWSELECTTYPE=\"" + entity.FLOW_FLOWRECORDDETAIL_T.FLOW_FLOWRECORDMASTER_T.FLOWSELECTTYPE + "\";//0:固定流程,1:自选流程"); sb.AppendLine(" eentity.MODELCODE=\"" + entity.FLOW_FLOWRECORDDETAIL_T.FLOW_FLOWRECORDMASTER_T.MODELCODE + "\";"); sb.AppendLine(" eentity.FLOWCODE=\"" + entity.FLOW_FLOWRECORDDETAIL_T.FLOW_FLOWRECORDMASTER_T.FLOWCODE + "\";"); sb.AppendLine(" eentity.FORMID=\"" + entity.FLOW_FLOWRECORDDETAIL_T.FLOW_FLOWRECORDMASTER_T.FORMID + "\";"); sb.AppendLine(" eentity.FLOWTYPE=\"" + entity.FLOW_FLOWRECORDDETAIL_T.FLOW_FLOWRECORDMASTER_T.FLOWTYPE + "\";//0:审批流程,1:任务流程"); sb.AppendLine(" eentity.CHECKSTATE=\"" + entity.FLOW_FLOWRECORDDETAIL_T.FLOW_FLOWRECORDMASTER_T.CHECKSTATE + "\";//1:审批中,2:审批通过,3审批不通过,5撤销(为与字典保持一致)"); sb.AppendLine(" eentity.CREATEUSERID=\"" + entity.FLOW_FLOWRECORDDETAIL_T.FLOW_FLOWRECORDMASTER_T.CREATEUSERID + "\";"); sb.AppendLine(" eentity.CREATEUSERNAME=\"" + entity.FLOW_FLOWRECORDDETAIL_T.FLOW_FLOWRECORDMASTER_T.CREATEUSERNAME + "\";"); sb.AppendLine(" eentity.CREATECOMPANYID=\"" + entity.FLOW_FLOWRECORDDETAIL_T.FLOW_FLOWRECORDMASTER_T.CREATECOMPANYID + "\";"); sb.AppendLine(" eentity.CREATEDEPARTMENTID=\"" + entity.FLOW_FLOWRECORDDETAIL_T.FLOW_FLOWRECORDMASTER_T.CREATEDEPARTMENTID + "\";"); sb.AppendLine(" eentity.CREATEPOSTID=\"" + entity.FLOW_FLOWRECORDDETAIL_T.FLOW_FLOWRECORDMASTER_T.CREATEPOSTID + "\";"); sb.AppendLine(" eentity.CREATEDATE=\"" + entity.FLOW_FLOWRECORDDETAIL_T.FLOW_FLOWRECORDMASTER_T.CREATEDATE + "\";"); sb.AppendLine(" eentity.EDITUSERID=\"" + entity.FLOW_FLOWRECORDDETAIL_T.FLOW_FLOWRECORDMASTER_T.EDITUSERID + "\";"); sb.AppendLine(" eentity.EDITUSERNAME=\"" + entity.FLOW_FLOWRECORDDETAIL_T.FLOW_FLOWRECORDMASTER_T.EDITUSERNAME + "\";"); sb.AppendLine(" eentity.EDITDATE=\"" + entity.FLOW_FLOWRECORDDETAIL_T.FLOW_FLOWRECORDMASTER_T.EDITDATE + "\";"); sb.AppendLine(" eentity.ACTIVEROLE=\"" + entity.FLOW_FLOWRECORDDETAIL_T.FLOW_FLOWRECORDMASTER_T.ACTIVEROLE + "\";"); sb.AppendLine(" eentity.BUSINESSOBJECT=\"" + entity.FLOW_FLOWRECORDDETAIL_T.FLOW_FLOWRECORDMASTER_T.BUSINESSOBJECT + "\";"); sb.AppendLine(" eentity.KPITIMEXML=\"" + entity.FLOW_FLOWRECORDDETAIL_T.FLOW_FLOWRECORDMASTER_T.KPITIMEXML + "\";"); sb.AppendLine(" entity.FLOW_FLOWRECORDDETAIL_T.FLOW_FLOWRECORDMASTER_T = eentity;"); LogHelper.WriteLog("流程引擎的XML数据", "SubimtFlow入口处 进行咨询: FormID=" + submitData.FormID + ";ModelCode=" + submitData.ModelCode + " \r\n FLOW_CONSULTATION_T 实体:\r\n" + sb.ToString()); WriteSubmitDate(submitData); #endregion flowConsultation.FLOW_FLOWRECORDDETAIL_T.FLOW_FLOWRECORDMASTER_T = FlowBLL.GetFLOW_FLOWRECORDMASTER_T(con, flowConsultation.FLOW_FLOWRECORDDETAIL_T.FLOW_FLOWRECORDMASTER_T.FLOWRECORDMASTERID); FlowEngineService.EngineWcfGlobalFunctionClient FlowEngine = new FlowEngineService.EngineWcfGlobalFunctionClient(); //FlowEngineService.CustomUserMsg[] cs = new FlowEngineService.CustomUserMsg[1]; //FlowEngineService.CustomUserMsg cu = new FlowEngineService.CustomUserMsg(); //cu.FormID = flowConsultation.FLOW_FLOWRECORDDETAIL_T.FLOW_FLOWRECORDMASTER_T.FORMID; //cu.UserID = flowConsultation.REPLYUSERID; //cs[0] = cu; List<CustomUserMsg> UserAndForm = new List<CustomUserMsg>(); CustomUserMsg cu = new CustomUserMsg(); cu.FormID = flowConsultation.FLOW_FLOWRECORDDETAIL_T.FLOW_FLOWRECORDMASTER_T.FORMID; cu.UserID = flowConsultation.REPLYUSERID; UserAndForm.Add(cu); ModelInfo modelinfo = FlowBLL.GetSysCodeByModelCode(con, submitData.ModelCode); MessageData tmpMessageData = new MessageData("Flow", modelinfo.SysCode, flowConsultation.FLOW_FLOWRECORDDETAIL_T.FLOW_FLOWRECORDMASTER_T.CREATECOMPANYID, submitData.ModelCode, modelinfo.ModelName, submitData.FormID, flowConsultation.FLOW_FLOWRECORDDETAIL_T.STATECODE, flowConsultation.FLOW_FLOWRECORDDETAIL_T.CHECKSTATE, "", "", "", ""); FlowBLL flowBLL = new FlowBLL(); StringBuilder FlowResultXml = flowBLL.BuildMessageData(tmpMessageData); //FlowEngine = new FlowEngineService.EngineWcfGlobalFunctionClient(); //log = FlowEngine.SaveFlowTriggerData(FlowResultXml.ToString(), submitData.XML); if (!string.IsNullOrEmpty(flowConsultation.FLOW_FLOWRECORDDETAIL_T.FLOW_FLOWRECORDMASTER_T.BUSINESSOBJECT)) { submitData.XML = flowConsultation.FLOW_FLOWRECORDDETAIL_T.FLOW_FLOWRECORDMASTER_T.BUSINESSOBJECT; } //bool b = FlowEngine.FlowConsultati(cs, "", FlowResultXml.ToString(), submitData.XML); EnginFlowBLL efbll = new EnginFlowBLL(); bool b = efbll.FlowConsultati(con, UserAndForm, "", FlowResultXml.ToString(), submitData.XML); if (!b) { LogHelper.WriteLog("发送咨询失败:FormID" + flowConsultation.FLOW_FLOWRECORDDETAIL_T.FLOW_FLOWRECORDMASTER_T.FORMID + "\n\r submitData.XML:" + submitData.XML); } FlowBLL bll = new FlowBLL(); bll.AddConsultation(con, flowConsultation); } catch (Exception ex) { if (con.State == ConnectionState.Open) { con.Close(); } LogHelper.WriteLog("发送咨询出错: FORMID=" + flowConsultation.FLOW_FLOWRECORDDETAIL_T.FLOW_FLOWRECORDMASTER_T.FORMID + "异常信息:\r\n" + ex.InnerException + ex.Message); throw ex; } finally { if (con.State == ConnectionState.Open) { con.Close(); } } } }
/// <summary> /// 发送审批消息(调用引擎服务) /// </summary> /// <param name="submitData"></param> /// <param name="dataResult"></param> /// <param name="modelinfo"></param> /// <param name="CheckFlowResult"></param> /// <param name="Flowbill"></param> /// <param name="AppCompanyID">申请公司</param> /// <param name="MessageUserID">申请人ID</param> /// <param name="MessageUserName">申请人名</param> private void SubmitEngineService(OracleConnection con, SubmitData submitData, DataResult dataResult, ModelInfo modelinfo, CheckResult CheckFlowResult, FlowBLL2 Flowbill, string AppCompanyID, string MessageUserID, string MessageUserName, ref string ErroMessage) { bool bOK = true; #region 发送审批消息(调用引擎服务) try { if (dataResult.FlowResult == FlowResult.SUCCESS || dataResult.FlowResult == FlowResult.END) { #region 调用引擎服务(原有调用WCF服务) //EngineWcfGlobalFunctionService.EngineWcfGlobalFunctionClient engineClient = new EngineWcfGlobalFunctionService.EngineWcfGlobalFunctionClient();//旧引擎服务 FlowEngineService.EngineWcfGlobalFunctionClient FlowEngine = new FlowEngineService.EngineWcfGlobalFunctionClient(); string IsTask = dataResult.FlowResult == FlowResult.SUCCESS ? "1" : "0"; MessageData tmpMessageData = null; StringBuilder FlowResultXml = null; #region switch (submitData.SubmitFlag) { case SubmitFlag.New: #region 新增 if (dataResult.IsCountersign) { #region if (dataResult.FlowResult == FlowResult.SUCCESS) { List<string> listUserID = new List<string>(); List<string> listUserName = new List<string>(); if (dataResult.DictCounterUser != null && dataResult.DictCounterUser.Keys.Count > 0) { dataResult.DictCounterUser.Values.ToList().ForEach(users => { users.ForEach(user => { listUserID.Add(user.UserID); listUserName.Add(user.UserName); }); }); MessageUserID = string.Join("|", listUserID); MessageUserName = string.Join("|", listUserName); } } if (dataResult.DictAgentUserInfo != null && dataResult.DictAgentUserInfo.Count > 0) { dataResult.DictAgentUserInfo.Values.ToList().ForEach(user => { MessageUserID += "|" + user.UserID.Trim(); MessageUserName += "|" + user.UserName.Trim(); }); } #endregion } else { #region if (dataResult.FlowResult == FlowResult.SUCCESS) { MessageUserID = dataResult.UserInfo[0].UserID.Trim(); MessageUserName = dataResult.UserInfo[0].UserName.Trim(); } if (dataResult.AgentUserInfo != null) { MessageUserID += "|" + dataResult.AgentUserInfo.UserID.Trim(); MessageUserName += "|" + dataResult.AgentUserInfo.UserName.Trim(); } #endregion } tmpMessageData = new MessageData("Flow", modelinfo.SysCode, AppCompanyID, submitData.ModelCode, modelinfo.ModelName, submitData.FormID, dataResult.AppState, dataResult.CheckState, IsTask, MessageUserID, MessageUserName, dataResult.KPITime); FlowResultXml = Flowbill.BuildMessageData(tmpMessageData); DateTime s = DateTime.Now; LogHelper.WriteLog("开始新增FlowEngine.SaveFlowTriggerData FormID=" + submitData.FormID); bOK = FlowEngine.SaveFlowTriggerData(FlowResultXml.ToString(), submitData.XML); LogHelper.WriteLog("bOK=" + bOK.ToString() + ";结束新增FlowEngine.SaveFlowTriggerData FormID=" + submitData.FormID); //bOK = engineClient.SaveFlowTriggerData(FlowResultXml.ToString(), submitData.XML); if (!bOK) { LogHelper.WriteLog("bOK=" + bOK.ToString() + ";FlowEngineService:FormID=" + submitData.FormID + ";submitDataXML:" + submitData.XML); } #endregion break; case SubmitFlag.Cancel: #region 撤单 tmpMessageData = new MessageData("Flow", modelinfo.SysCode, AppCompanyID, submitData.ModelCode, modelinfo.ModelName, submitData.FormID, dataResult.AppState, dataResult.CheckState, IsTask, MessageUserID, MessageUserName, dataResult.KPITime); FlowResultXml = Flowbill.BuildMessageData(tmpMessageData); LogHelper.WriteLog("开始撤单FlowEngine.FlowCancel FormID=" + submitData.FormID); bool bCancel = FlowEngine.FlowCancel(FlowResultXml.ToString(), submitData.XML); LogHelper.WriteLog("bCancel=" + bCancel.ToString()); LogHelper.WriteLog("结束撤单FlowEngine.FlowCancel FormID=" + submitData.FormID); //bool bCancel = engineClient.FlowCancel(FlowResultXml.ToString(), submitData.XML); if (!bCancel) { Tracer.Debug("FlowEngineService:DateTime:" + DateTime.Now.ToString() + "\n" + "FlowCancel:submitData.XML" + "\n\nFlowResultXml" + FlowResultXml.ToString()); } #endregion break; case SubmitFlag.Approval: LogHelper.WriteLog("开始审核 FormID=" + submitData.FormID); #region 审核 if (dataResult.CurrentIsCountersign) { //LogHelper.WriteLog("第1次:TaskMsgClose"); FlowEngine.TaskMsgClose(modelinfo.SysCode, submitData.FormID, submitData.ApprovalUser.UserID); //engineClient.TaskMsgClose(modelinfo.SysCode, submitData.FormID, submitData.ApprovalUser.UserID); //einginBll.TaskMsgClose(con, modelinfo.SysCode, submitData.FormID, submitData.ApprovalUser.UserID); #region if (submitData.ApprovalResult == ApprovalResult.NoPass) { #region List<string> listMessageUserID = new List<string>(); CheckFlowResult.fd.Where(detail => detail.EDITUSERID != submitData.ApprovalUser.UserID).ToList().ForEach(item => { listMessageUserID.Add(item.EDITUSERID); if (!string.IsNullOrEmpty(item.AGENTUSERID)) { listMessageUserID.Add(item.AGENTUSERID); } }); if (listMessageUserID.Count > 0) { string messageUserID = string.Join(",", listMessageUserID); //LogHelper.WriteLog("第2次:TaskMsgClose"); FlowEngine.TaskMsgClose(modelinfo.SysCode, submitData.FormID, messageUserID); //engineClient.TaskMsgClose(modelinfo.SysCode, submitData.FormID, messageUserID); //einginBll.TaskMsgClose(con, modelinfo.SysCode, submitData.FormID, messageUserID); } tmpMessageData = new MessageData("Flow", modelinfo.SysCode, AppCompanyID, submitData.ModelCode, modelinfo.ModelName, submitData.FormID, dataResult.AppState, dataResult.CheckState, IsTask, MessageUserID, MessageUserName, dataResult.KPITime); FlowResultXml = Flowbill.BuildMessageData(tmpMessageData); DateTime s2 = DateTime.Now; LogHelper.WriteLog("开始审核FlowEngine.SaveFlowTriggerData\r\n FlowResultXml=" + FlowResultXml.ToString() + "\r\n"); bOK = FlowEngine.SaveFlowTriggerData(FlowResultXml.ToString(), submitData.XML); LogHelper.WriteLog("bOK=" + bOK.ToString()); LogHelper.WriteLog("结束审核FlowEngine.SaveFlowTriggerData FormID=" + submitData.FormID); if (!bOK) { LogHelper.WriteLog("FlowEngineService:FormID=" + submitData.FormID + ";submitDataXML:" + submitData.XML); } #endregion } else if (dataResult.IsGotoNextState) { #region List<string> listMessageUserID = new List<string>(); CheckFlowResult.fd.Where(detail => detail.EDITUSERID != submitData.ApprovalUser.UserID).ToList().ForEach(item => { listMessageUserID.Add(item.EDITUSERID); if (!string.IsNullOrEmpty(item.AGENTUSERID)) { listMessageUserID.Add(item.AGENTUSERID); } }); if (listMessageUserID.Count > 0) { string messageUserID = string.Join(",", listMessageUserID); LogHelper.WriteLog("第3次:TaskMsgClose"); FlowEngine.TaskMsgClose(modelinfo.SysCode, submitData.FormID, messageUserID); //engineClient.TaskMsgClose(modelinfo.SysCode, submitData.FormID, messageUserID); //einginBll.TaskMsgClose(con, modelinfo.SysCode, submitData.FormID, messageUserID); } if (dataResult.IsCountersign) { #region if (dataResult.FlowResult == FlowResult.SUCCESS) { List<string> listUserID = new List<string>(); List<string> listUserName = new List<string>(); if (dataResult.DictCounterUser != null && dataResult.DictCounterUser.Keys.Count > 0) { dataResult.DictCounterUser.Values.ToList().ForEach(users => { users.ForEach(user => { listUserID.Add(user.UserID); listUserName.Add(user.UserName); }); }); MessageUserID = string.Join("|", listUserID); MessageUserName = string.Join("|", listUserName); } } if (dataResult.DictAgentUserInfo != null && dataResult.DictAgentUserInfo.Count > 0) { dataResult.DictAgentUserInfo.Values.ToList().ForEach(user => { MessageUserID += "|" + user.UserID.Trim(); MessageUserName += "|" + user.UserName.Trim(); }); } #endregion } else { #region if (dataResult.FlowResult == FlowResult.SUCCESS) { MessageUserID = dataResult.UserInfo[0].UserID.Trim(); MessageUserName = dataResult.UserInfo[0].UserName.Trim(); } if (dataResult.AgentUserInfo != null) { MessageUserID += "|" + dataResult.AgentUserInfo.UserID.Trim(); MessageUserName += "|" + dataResult.AgentUserInfo.UserName.Trim(); } #endregion } tmpMessageData = new MessageData("Flow", modelinfo.SysCode, AppCompanyID, submitData.ModelCode, modelinfo.ModelName, submitData.FormID, dataResult.AppState, dataResult.CheckState, IsTask, MessageUserID, MessageUserName, dataResult.KPITime); FlowResultXml = Flowbill.BuildMessageData(tmpMessageData); LogHelper.WriteLog("开始新增FlowEngine.SaveFlowTriggerData\r\n FlowResultXml=" + FlowResultXml.ToString() + "\r\n"); bOK = FlowEngine.SaveFlowTriggerData(FlowResultXml.ToString(), submitData.XML); LogHelper.WriteLog("bOK=" + bOK.ToString()); LogHelper.WriteLog("结束新增FlowEngine.SaveFlowTriggerData"); if (!bOK) { Tracer.Debug("FlowEngineService:FormID-" + submitData.FormID + "--submitDataXML:" + submitData.XML); } #endregion } #endregion } else { #region if (dataResult.IsCountersign) { #region if (dataResult.FlowResult == FlowResult.SUCCESS) { List<string> listUserID = new List<string>(); List<string> listUserName = new List<string>(); if (dataResult.DictCounterUser != null && dataResult.DictCounterUser.Keys.Count > 0) { dataResult.DictCounterUser.Values.ToList().ForEach(users => { users.ForEach(user => { listUserID.Add(user.UserID); listUserName.Add(user.UserName); }); }); MessageUserID = string.Join("|", listUserID); MessageUserName = string.Join("|", listUserName); } } if (dataResult.DictAgentUserInfo != null && dataResult.DictAgentUserInfo.Count > 0) { dataResult.DictAgentUserInfo.Values.ToList().ForEach(user => { MessageUserID += "|" + user.UserID.Trim(); MessageUserName += "|" + user.UserName.Trim(); }); } #endregion } else { #region if (dataResult.FlowResult == FlowResult.SUCCESS) { MessageUserID = dataResult.UserInfo[0].UserID.Trim(); MessageUserName = dataResult.UserInfo[0].UserName.Trim(); } if (dataResult.AgentUserInfo != null) { MessageUserID += "|" + dataResult.AgentUserInfo.UserID.Trim(); MessageUserName += "|" + dataResult.AgentUserInfo.UserName.Trim(); } #endregion } tmpMessageData = new MessageData("Flow", modelinfo.SysCode, AppCompanyID, submitData.ModelCode, modelinfo.ModelName, submitData.FormID, dataResult.AppState, dataResult.CheckState, IsTask, MessageUserID, MessageUserName, dataResult.KPITime); FlowResultXml = Flowbill.BuildMessageData(tmpMessageData); DateTime s4 = DateTime.Now; LogHelper.WriteLog("开始FlowEngine.SaveFlowTriggerData"); bOK = FlowEngine.SaveFlowTriggerData(FlowResultXml.ToString(), submitData.XML); LogHelper.WriteLog("bOK=" + bOK.ToString()); LogHelper.WriteLog("结束FlowEngine.SaveFlowTriggerData"); //bOK = engineClient.SaveFlowTriggerData(FlowResultXml.ToString(), submitData.XML); //bOK = einginBll.SaveFlowTriggerData(con, FlowResultXml.ToString(), submitData.XML); DateTime e4 = DateTime.Now; string str4 = DateDiff(e4, s4); if (!bOK) { Tracer.Debug("FlowEngineService:FormID-" + submitData.FormID + "--submitDataXML:" + submitData.XML); } else { LogHelper.WriteLog("第4次:TaskMsgClose"); FlowEngine.TaskMsgClose(modelinfo.SysCode, submitData.FormID, submitData.ApprovalUser.UserID); //engineClient.TaskMsgClose(modelinfo.SysCode, submitData.FormID, submitData.ApprovalUser.UserID); //einginBll.TaskMsgClose(con, modelinfo.SysCode, submitData.FormID, submitData.ApprovalUser.UserID); } #endregion } #endregion LogHelper.WriteLog("结束审核 FormID=" + submitData.FormID); break; } #endregion #endregion 调用引擎服务(原有调用WCF服务) #region 调用引擎服务(调用本地服DLL) //string IsTask = dataResult.FlowResult == FlowResult.SUCCESS ? "1" : "0"; //MessageData tmpMessageData = null; //StringBuilder FlowResultXml = null; //#region //switch (submitData.SubmitFlag) //{ // case SubmitFlag.New: // #region 新增 // if (dataResult.IsCountersign) // { // #region // if (dataResult.FlowResult == FlowResult.SUCCESS) // { // List<string> listUserID = new List<string>(); // List<string> listUserName = new List<string>(); // if (dataResult.DictCounterUser != null && dataResult.DictCounterUser.Keys.Count > 0) // { // dataResult.DictCounterUser.Values.ToList().ForEach(users => // { // users.ForEach(user => // { // listUserID.Add(user.UserID); // listUserName.Add(user.UserName); // }); // }); // MessageUserID = string.Join("|", listUserID); // MessageUserName = string.Join("|", listUserName); // } // } // if (dataResult.DictAgentUserInfo != null && dataResult.DictAgentUserInfo.Count > 0) // { // dataResult.DictAgentUserInfo.Values.ToList().ForEach(user => // { // MessageUserID += "|" + user.UserID.Trim(); // MessageUserName += "|" + user.UserName.Trim(); // }); // } // #endregion // } // else // { // #region // if (dataResult.FlowResult == FlowResult.SUCCESS) // { // MessageUserID = dataResult.UserInfo[0].UserID.Trim(); // MessageUserName = dataResult.UserInfo[0].UserName.Trim(); // } // if (dataResult.AgentUserInfo != null) // { // MessageUserID += "|" + dataResult.AgentUserInfo.UserID.Trim(); // MessageUserName += "|" + dataResult.AgentUserInfo.UserName.Trim(); // } // #endregion // } // tmpMessageData = new MessageData("Flow", modelinfo.SysCode, AppCompanyID, submitData.ModelCode, modelinfo.ModelName, // submitData.FormID, dataResult.AppState, dataResult.CheckState, IsTask, MessageUserID, MessageUserName, dataResult.KPITime); // FlowResultXml = Flowbill.BuildMessageData(tmpMessageData); // //bOK = FlowEngine.SaveFlowTriggerData(FlowResultXml.ToString(), submitData.XML); // DateTime s = DateTime.Now; // bOK = einginBll.SaveFlowTriggerData(con, FlowResultXml.ToString(), submitData.XML,ref ErroMessage); // DateTime e = DateTime.Now; // string str = DateDiff(e, s); // if (!bOK) // { // Tracer.Debug("FlowEngineService:FormID-" + submitData.FormID + "--submitDataXML:" + submitData.XML); // } // #endregion // break; // case SubmitFlag.Cancel: // #region 撤单 // tmpMessageData = new MessageData("Flow", modelinfo.SysCode, AppCompanyID, submitData.ModelCode, modelinfo.ModelName, // submitData.FormID, dataResult.AppState, dataResult.CheckState, IsTask, MessageUserID, MessageUserName, dataResult.KPITime); // FlowResultXml = Flowbill.BuildMessageData(tmpMessageData); // //bool bCancel = FlowEngine.FlowCancel(FlowResultXml.ToString(), submitData.XML); // bool bCancel = einginBll.FlowCancel(con, FlowResultXml.ToString(), submitData.XML,ref ErroMessage); // if (!bCancel) // { // Tracer.Debug("FlowEngineService:DateTime:" + DateTime.Now.ToString() + "\n" + "FlowCancel:submitData.XML" + "\n\nFlowResultXml" + FlowResultXml.ToString()); // } // #endregion // break; // case SubmitFlag.Approval: // #region 审核 // //FlowEngine.TaskMsgClose(modelinfo.SysCode, submitData.FormID, submitData.ApprovalUser.UserID); // einginBll.TaskMsgClose(con, modelinfo.SysCode, submitData.FormID, submitData.ApprovalUser.UserID); // if (dataResult.CurrentIsCountersign) // { // #region // if (submitData.ApprovalResult == ApprovalResult.NoPass) // { // #region // List<string> listMessageUserID = new List<string>(); // CheckFlowResult.fd.Where(detail => detail.EDITUSERID != submitData.ApprovalUser.UserID).ToList().ForEach(item => // { // listMessageUserID.Add(item.EDITUSERID); // if (!string.IsNullOrEmpty(item.AGENTUSERID)) // { // listMessageUserID.Add(item.AGENTUSERID); // } // }); // if (listMessageUserID.Count > 0) // { // string messageUserID = string.Join(",", listMessageUserID); // //FlowEngine.TaskMsgClose(modelinfo.SysCode, submitData.FormID, messageUserID); // einginBll.TaskMsgClose(con, modelinfo.SysCode, submitData.FormID, messageUserID); // } // tmpMessageData = new MessageData("Flow", modelinfo.SysCode, AppCompanyID, submitData.ModelCode, modelinfo.ModelName, // submitData.FormID, dataResult.AppState, dataResult.CheckState, IsTask, MessageUserID, MessageUserName, dataResult.KPITime); // FlowResultXml = Flowbill.BuildMessageData(tmpMessageData); // //bOK = FlowEngine.SaveFlowTriggerData(FlowResultXml.ToString(), submitData.XML); // DateTime s2 = DateTime.Now; // bOK = einginBll.SaveFlowTriggerData(con, FlowResultXml.ToString(), submitData.XML, ref ErroMessage); // DateTime e2 = DateTime.Now; // string str2 = DateDiff(e2, s2); // if (!bOK) // { // Tracer.Debug("FlowEngineService:FormID-" + submitData.FormID + "--submitDataXML:" + submitData.XML); // } // #endregion // } // else if (dataResult.IsGotoNextState) // { // #region // List<string> listMessageUserID = new List<string>(); // CheckFlowResult.fd.Where(detail => detail.EDITUSERID != submitData.ApprovalUser.UserID).ToList().ForEach(item => // { // listMessageUserID.Add(item.EDITUSERID); // if (!string.IsNullOrEmpty(item.AGENTUSERID)) // { // listMessageUserID.Add(item.AGENTUSERID); // } // }); // if (listMessageUserID.Count > 0) // { // string messageUserID = string.Join(",", listMessageUserID); // // FlowEngine.TaskMsgClose(modelinfo.SysCode, submitData.FormID, messageUserID); // einginBll.TaskMsgClose(con, modelinfo.SysCode, submitData.FormID, messageUserID); // } // if (dataResult.IsCountersign) // { // #region // if (dataResult.FlowResult == FlowResult.SUCCESS) // { // List<string> listUserID = new List<string>(); // List<string> listUserName = new List<string>(); // if (dataResult.DictCounterUser != null && dataResult.DictCounterUser.Keys.Count > 0) // { // dataResult.DictCounterUser.Values.ToList().ForEach(users => // { // users.ForEach(user => // { // listUserID.Add(user.UserID); // listUserName.Add(user.UserName); // }); // }); // MessageUserID = string.Join("|", listUserID); // MessageUserName = string.Join("|", listUserName); // } // } // if (dataResult.DictAgentUserInfo != null && dataResult.DictAgentUserInfo.Count > 0) // { // dataResult.DictAgentUserInfo.Values.ToList().ForEach(user => // { // MessageUserID += "|" + user.UserID.Trim(); // MessageUserName += "|" + user.UserName.Trim(); // }); // } // #endregion // } // else // { // #region // if (dataResult.FlowResult == FlowResult.SUCCESS) // { // MessageUserID = dataResult.UserInfo[0].UserID.Trim(); // MessageUserName = dataResult.UserInfo[0].UserName.Trim(); // } // if (dataResult.AgentUserInfo != null) // { // MessageUserID += "|" + dataResult.AgentUserInfo.UserID.Trim(); // MessageUserName += "|" + dataResult.AgentUserInfo.UserName.Trim(); // } // #endregion // } // tmpMessageData = new MessageData("Flow", modelinfo.SysCode, AppCompanyID, submitData.ModelCode, modelinfo.ModelName, // submitData.FormID, dataResult.AppState, dataResult.CheckState, IsTask, MessageUserID, MessageUserName, dataResult.KPITime); // FlowResultXml = Flowbill.BuildMessageData(tmpMessageData); // //bOK = FlowEngine.SaveFlowTriggerData(FlowResultXml.ToString(), submitData.XML); // DateTime s3 = DateTime.Now; // bOK = einginBll.SaveFlowTriggerData(con, FlowResultXml.ToString(), submitData.XML, ref ErroMessage); // DateTime e3 = DateTime.Now; // string str3 = DateDiff(e3, s3); // if (!bOK) // { // Tracer.Debug("FlowEngineService:FormID-" + submitData.FormID + "--submitDataXML:" + submitData.XML); // } // #endregion // } // #endregion // } // else // { // #region // if (dataResult.IsCountersign) // { // #region // if (dataResult.FlowResult == FlowResult.SUCCESS) // { // List<string> listUserID = new List<string>(); // List<string> listUserName = new List<string>(); // if (dataResult.DictCounterUser != null && dataResult.DictCounterUser.Keys.Count > 0) // { // dataResult.DictCounterUser.Values.ToList().ForEach(users => // { // users.ForEach(user => // { // listUserID.Add(user.UserID); // listUserName.Add(user.UserName); // }); // }); // MessageUserID = string.Join("|", listUserID); // MessageUserName = string.Join("|", listUserName); // } // } // if (dataResult.DictAgentUserInfo != null && dataResult.DictAgentUserInfo.Count > 0) // { // dataResult.DictAgentUserInfo.Values.ToList().ForEach(user => // { // MessageUserID += "|" + user.UserID.Trim(); // MessageUserName += "|" + user.UserName.Trim(); // }); // } // #endregion // } // else // { // #region // if (dataResult.FlowResult == FlowResult.SUCCESS) // { // MessageUserID = dataResult.UserInfo[0].UserID.Trim(); // MessageUserName = dataResult.UserInfo[0].UserName.Trim(); // } // if (dataResult.AgentUserInfo != null) // { // MessageUserID += "|" + dataResult.AgentUserInfo.UserID.Trim(); // MessageUserName += "|" + dataResult.AgentUserInfo.UserName.Trim(); // } // #endregion // } // tmpMessageData = new MessageData("Flow", modelinfo.SysCode, AppCompanyID, submitData.ModelCode, modelinfo.ModelName, // submitData.FormID, dataResult.AppState, dataResult.CheckState, IsTask, MessageUserID, MessageUserName, dataResult.KPITime); // FlowResultXml = Flowbill.BuildMessageData(tmpMessageData); // // bOK = FlowEngine.SaveFlowTriggerData(FlowResultXml.ToString(), submitData.XML); // DateTime s4 = DateTime.Now; // bOK = einginBll.SaveFlowTriggerData(con, FlowResultXml.ToString(), submitData.XML, ref ErroMessage); // DateTime e4 = DateTime.Now; // string str4 = DateDiff(e4, s4); // if (!bOK) // { // Tracer.Debug("FlowEngineService:FormID-" + submitData.FormID + "--submitDataXML:" + submitData.XML); // } // #endregion // } // #endregion // break; //} //#endregion #endregion 调用引擎服务(调用本地服DLL) } } catch (Exception ex) { //Tracer.Debug("FlowEngineService: -" + "\n\nError:" + ex.InnerException + ex.Message); LogHelper.WriteLog(this, "异常信息SubmitEngineService", "", ex); throw new Exception(ex.Message); } #endregion }