public override FlowPageShowData getMobileCommonData(string BusinessID, string processCode, WorkflowContext wfc) { string _BusinessID = BusinessID.Split(',')[0]; // 参数1 string ProType = BusinessID.Split(',')[1]; // 参数2 FlowPageShowData flowdata = new FlowPageShowData(); flowdata.groups = new List <Groups>(); if (wfc != null) { // var Targetplan = B_TargetplanOperator.Instance.GetTargetplan(_BusinessID.ToGuid()); var Sys = StaticResource.Instance[Targetplan.SystemID, Targetplan.ModifyTime]; if (Sys.Category == 3) { //基本信息 var baseInfo = InitBaseInfo(Sys, Targetplan); flowdata.groups.Add(baseInfo); //月度报表 var monthRptInfo = InitMonthRpt_Group(_BusinessID); flowdata.groups.Add(monthRptInfo); } else { //基本信息 var baseInfo = InitBaseInfo(Sys, Targetplan); flowdata.groups.Add(baseInfo); //月度报表 var monthRptInfo = InitMonthRpt(_BusinessID); flowdata.groups.Add(monthRptInfo); } //附件信息(直接添加的) var attachmenInfo = InitAttachment(_BusinessID); flowdata.groups.Add(attachmenInfo); #region 工作流信息 flowdata.mainTitle = wfc.ProcessInstance.ProcessTitle; flowdata.requestId = BusinessID; flowdata.processCode = processCode; flowdata.status = ConstantWS.success; flowdata.message = ConstantWS.successText; flowdata.remarkisshow = "0"; Groups workflowApprove = new Groups() { type = ConstantWS.flowData_group_workFlow , approvesubTitle = "审批流程" , logsubTitle = "审批历史" , AppCode = wfc.AppCode , AppID = wfc.AppID , BusinessID = wfc.BusinessID , CurrentUser = wfc.CurrentUser , WFToken = wfc.WFToken , ProcessInstance = wfc.ProcessInstance , NodeInstanceList = wfc.NodeInstanceList , CcNodeInstanceList = wfc.CcNodeInstanceList , CurrentUserNodeID = wfc.CurrentUserNodeID , ProcessLogList = wfc.ProcessLogList , CurrentUserSceneSetting = wfc.CurrentUserSceneSetting , CurrentUserHasTodoTask = wfc.CurrentUserHasTodoTask , CurrentUserTodoTaskIsRead = wfc.CurrentUserTodoTaskIsRead , CurrentUserActivityPropertiesList = wfc.CurrentUserActivityPropertiesList , ExtensionInfos = wfc.ExtensionInfos , StatusCode = wfc.StatusCode.ToString() , StatusMessage = wfc.StatusMessage , LastException = wfc.LastException == null ? "" : wfc.LastException.Message }; foreach (var log in workflowApprove.ProcessLogList) { log.LogContent = log.LogContent.Replace("\"", """); } flowdata.groups.Add(workflowApprove); #endregion } return(flowdata); }
/// <summary> /// 手机页面上的数据展示 /// </summary> /// <param name="BusinessID"> 这个可能是多个参数,用“,”连接 </param> /// <param name="processCode"></param> /// <param name="wfc"></param> /// <returns></returns> public override FlowPageShowData getMobileCommonData(string BusinessID, string processCode, WorkflowContext wfc) { string _BusinessID = BusinessID.Split(',')[0]; // 参数1 string ProType = BusinessID.Split(',')[1]; // 参数2 FlowPageShowData flowdata = new FlowPageShowData(); flowdata.groups = new List <Groups>(); if (wfc != null) { #region 页面数据展示 if (!string.IsNullOrEmpty(ProType)) // 合并审批 { var Batch = B_SystemBatchOperator.Instance.GetSystemBatch(_BusinessID.ToGuid()); // 去拿批次数据 List <V_SubReport> BatchRptList = JsonConvert.DeserializeObject <List <V_SubReport> >(Batch.SubReport); // for 循环多个 项目公司加载出来 if (BatchRptList.Count > 0) { BatchRptList.ForEach(BR => { var approval = B_BusinessBaseOperator.Instance.GetBusinessBase(BR.ReportID); //基本信息 var baseInfo = InitBaseInfo(approval); flowdata.groups.Add(baseInfo); //附件信息(直接添加的) var attachmenInfo = InitAttachment(approval); flowdata.groups.Add(attachmenInfo); }); } } else // 分支审批 { var approval = B_BusinessBaseOperator.Instance.GetBusinessBase(_BusinessID.ToGuid()); var monthRpt = B_MonthlyreportOperator.Instance.GetMonthlyreport(_BusinessID.ToGuid()); //这里判断系统的类型 int SysType = StaticResource.Instance[monthRpt.SystemID, approval.CreateTime].Category; if (SysType == 1 || SysType == 4) // 直管 经营 { //基本信息 var baseInfo = InitBaseInfo(approval); flowdata.groups.Add(baseInfo); //月度报表 var monthRptInfo = InitMonthRpt(approval); flowdata.groups.Add(monthRptInfo); //年度报表 var yearRptInfo = InitYearRpt(approval); flowdata.groups.Add(yearRptInfo); //附件信息(直接添加的) var attachmenInfo = InitAttachment(approval); flowdata.groups.Add(attachmenInfo); } else if (SysType == 2) //项目公司 { //基本信息 var baseInfo = InitBaseInfo(approval); flowdata.groups.Add(baseInfo); //附件信息(直接添加的) var attachmenInfo = InitAttachment(approval); flowdata.groups.Add(attachmenInfo); } else if (SysType == 3) // 总部系统 { //基本信息 var baseInfo = InitBaseInfo(approval); flowdata.groups.Add(baseInfo); //年度报表 var yearRptInfo = InitYearRpt(approval); flowdata.groups.Add(yearRptInfo); //附件信息(直接添加的) var attachmenInfo = InitAttachment(approval); flowdata.groups.Add(attachmenInfo); } } #endregion #region 工作流信息 flowdata.mainTitle = wfc.ProcessInstance.ProcessTitle; flowdata.requestId = BusinessID; flowdata.processCode = processCode; flowdata.status = ConstantWS.success; flowdata.message = ConstantWS.successText; flowdata.remarkisshow = "0"; Groups workflowApprove = new Groups() { type = ConstantWS.flowData_group_workFlow , approvesubTitle = "审批流程" , logsubTitle = "审批历史" , AppCode = wfc.AppCode , AppID = wfc.AppID , BusinessID = wfc.BusinessID , CurrentUser = wfc.CurrentUser , WFToken = wfc.WFToken , ProcessInstance = wfc.ProcessInstance , NodeInstanceList = wfc.NodeInstanceList , CcNodeInstanceList = wfc.CcNodeInstanceList , CurrentUserNodeID = wfc.CurrentUserNodeID , ProcessLogList = wfc.ProcessLogList , CurrentUserSceneSetting = wfc.CurrentUserSceneSetting , CurrentUserHasTodoTask = wfc.CurrentUserHasTodoTask , CurrentUserTodoTaskIsRead = wfc.CurrentUserTodoTaskIsRead , CurrentUserActivityPropertiesList = wfc.CurrentUserActivityPropertiesList , ExtensionInfos = wfc.ExtensionInfos , StatusCode = wfc.StatusCode.ToString() , StatusMessage = wfc.StatusMessage , LastException = wfc.LastException == null ? "" : wfc.LastException.Message }; foreach (var log in workflowApprove.ProcessLogList) { log.LogContent = log.LogContent.Replace("\"", """); // 替换双引号,导致的Json数据截断问题。 } flowdata.groups.Add(workflowApprove); #endregion } return(flowdata); }
public string getMobileCommonData(string param) { GetProcessCodeMessage gpcm = new GetProcessCodeMessage(); string errMessage = string.Empty; if (base.AuthVerify() == false) { return(base.authVerifyMessage); } GetProcessInfoParam proParam = Newtonsoft.Json.JsonConvert.DeserializeObject <GetProcessInfoParam>(param); B_MonthlyReportAction BRA = new B_MonthlyReportAction(); BRA.Action = "WebService"; BRA.Description = param; BRA.Operator = "MobileCommonWebService.getMobileCommonData 进入"; BRA.OperatorTime = DateTime.Now; BRA.IsDeleted = true; B_MonthlyReportActionOperator.Instance.AddMonthlyReportAction(BRA); //proParam.requestId 这里的requestId 可能是多个值 string businessID = proParam.requestId.Split(',')[0]; string ProType = proParam.requestId.Split(',')[1]; string subPage = proParam.SubPageName; MobileServiceBase mobileservice; string logID = string.Empty; if (string.IsNullOrEmpty(subPage) == false) { logID = subPage; mobileservice = GetMobileServiceForsubPage(subPage); #region 获取二级页面信息 FlowPageShowData flowdata = mobileservice.getSubPageData(proParam.PlanID, proParam.CategoryID, proParam.Approve); return(Newtonsoft.Json.JsonConvert.SerializeObject(flowdata)); #endregion } else if (string.IsNullOrEmpty(businessID) == false) { logID = logID = subPage;; mobileservice = GetMobileService(businessID, ProType); #region 获取流程信息 UserInfo curUser = new UserInfo(); var vuser = Wanda.SDK.Common.ClientSDKHelper.GetResultContextData <UserSourceSDK.UserInfo>(UserSourceSDK.UserSourceClientSDK.GetUserInfoByUserLoginID(proParam.userLoginId, null)); if (vuser == null) { gpcm.status = ConstantWS.error; gpcm.processCode = ""; gpcm.requestId = businessID; gpcm.message = string.Format("当前用户:{0} 不存在", proParam.userId); } else { try { curUser.UserID = vuser.UserID; curUser.UserCode = vuser.UserCode;//TODO curUser.UserJobName = vuser.UserJobName; curUser.UserLoginID = vuser.UserLoginID; curUser.UserName = vuser.UserName; curUser.UserOrgID = vuser.UserOrgID; curUser.UserOrgPathID = vuser.UserOrgPathName; curUser.UserOrgPathName = vuser.UserOrgPathName; string processCode = GetProcessCode(businessID, ProType); WorkflowContext wfc = GetProcessCode(businessID, curUser); if (wfc.ProcessInstance.Status == 2 && wfc.CurrentUser.UserLoginID == wfc.ProcessInstance.StartUser.UserLoginID) // 退回时候,不是发起人 { gpcm.status = ConstantWS.error; gpcm.processCode = processCode; gpcm.requestId = businessID; gpcm.message = "该待办事项需要重新填报,请在电脑上操作!"; } else { // 这里的需要将proParam.requestId ,传递过去,具体的处理 业务ID的数据 FlowPageShowData flowdata = mobileservice.getMobileCommonData(proParam.requestId, processCode, wfc); if (string.IsNullOrEmpty(flowdata.requestId) == false) { //Context.Response.Write(jss.Serialize(flowdata)); return(Newtonsoft.Json.JsonConvert.SerializeObject(flowdata)); } else { gpcm.status = ConstantWS.error; gpcm.processCode = processCode; gpcm.requestId = businessID; gpcm.message = string.Format("获取不存在processCode {0},requestId:{1} 不存在processCode", ConstantWS.errorText, businessID); } } } catch (Exception ex) { gpcm.status = ConstantWS.error; gpcm.message = "发生不可预知的错误:" + ex.Message; BRA.Action = "WebService"; BRA.Description = gpcm.message; BRA.Operator = "MobileCommonWebService.getMobileCommonData"; BRA.OperatorTime = DateTime.Now; BRA.IsDeleted = true; B_MonthlyReportActionOperator.Instance.AddMonthlyReportAction(BRA); } } #endregion } else { gpcm.status = ConstantWS.error; gpcm.message = "requestId为空"; logID = gpcm.message; } BRA.Action = "WebService"; BRA.Description = Newtonsoft.Json.JsonConvert.SerializeObject(gpcm); BRA.Operator = "MobileCommonWebService.getMobileCommonData 序列化成功返回的Json"; BRA.OperatorTime = DateTime.Now; BRA.MonthlyReportID = businessID.ToGuid(); BRA.IsDeleted = true; B_MonthlyReportActionOperator.Instance.AddMonthlyReportAction(BRA); return(Newtonsoft.Json.JsonConvert.SerializeObject(gpcm)); }
/// <summary> /// 加工 工作流程信息 /// </summary> /// <param name="BusinessID"></param> /// <param name="processCode"></param> /// <param name="wfc"></param> /// <param name="flowdata"></param> /// <returns></returns> protected FlowPageShowData MakeWorkFlowInfo(string BusinessID, string processCode, WorkflowContext wfc, FlowPageShowData flowdata) { flowdata.mainTitle = wfc.ProcessInstance.ProcessTitle; flowdata.requestId = BusinessID; flowdata.processCode = processCode; flowdata.status = ConstantWS.success; flowdata.message = ConstantWS.successText; flowdata.remarkisshow = "0"; Groups workflowApprove = new Groups() { type = ConstantWS.flowData_group_workFlow , approvesubTitle = "审批流程" , logsubTitle = "审批历史" , AppCode = wfc.AppCode , AppID = wfc.AppID , BusinessID = wfc.BusinessID , CurrentUser = wfc.CurrentUser , WFToken = wfc.WFToken , ProcessInstance = wfc.ProcessInstance , NodeInstanceList = wfc.NodeInstanceList , CcNodeInstanceList = wfc.CcNodeInstanceList , CurrentUserNodeID = wfc.CurrentUserNodeID , ProcessLogList = wfc.ProcessLogList , CurrentUserSceneSetting = wfc.CurrentUserSceneSetting , CurrentUserHasTodoTask = wfc.CurrentUserHasTodoTask , CurrentUserTodoTaskIsRead = wfc.CurrentUserTodoTaskIsRead , CurrentUserActivityPropertiesList = wfc.CurrentUserActivityPropertiesList , ExtensionInfos = wfc.ExtensionInfos , StatusCode = wfc.StatusCode.ToString() , StatusMessage = wfc.StatusMessage , LastException = wfc.LastException == null ? "" : wfc.LastException.Message }; foreach (var log in workflowApprove.ProcessLogList) { log.LogContent = log.LogContent.Replace("\"", """); } flowdata.groups.Add(workflowApprove); return(flowdata); }