public string getProcessCode(string param)
        {
            GetProcessCodeMessage gpcm = new GetProcessCodeMessage();
            string errMessage          = string.Empty;;

            if (base.AuthVerify() == false)
            {
                return(base.authVerifyMessage);
            }

            B_MonthlyReportAction BRA = new B_MonthlyReportAction();

            BRA.Action       = "WebService";
            BRA.Description  = param;
            BRA.Operator     = "getProcessCode()";
            BRA.OperatorTime = DateTime.Now;
            BRA.IsDeleted    = true;
            B_MonthlyReportActionOperator.Instance.AddMonthlyReportAction(BRA);



            GetProcessCodeParam proParam = Newtonsoft.Json.JsonConvert.DeserializeObject <GetProcessCodeParam>(param.Replace(@"\", @""));

            string Urlparameter = GetBusinessIDFromUrl(proParam.sysPtpurl);               // Url 的参数用“,”隔开连接
            string businessID   = GetBusinessIDFromUrl(proParam.sysPtpurl).Split(',')[0]; // 第一个参数是 业务ID
            string ProType      = GetBusinessIDFromUrl(proParam.sysPtpurl).Split(',')[1]; //第二个参数

            //todo
            if (string.IsNullOrEmpty(businessID) == false)
            {
                try
                {
                    string processCode = GetProcessCode(businessID, ProType);
                    if (string.IsNullOrEmpty(processCode) == false)
                    {
                        gpcm.status      = ConstantWS.success;
                        gpcm.message     = ConstantWS.successText;
                        gpcm.processCode = processCode;
                        gpcm.requestId   = Urlparameter;
                    }
                    else
                    {
                        gpcm.status = ConstantWS.error;

                        gpcm.processCode = processCode;
                        gpcm.requestId   = Urlparameter;
                        gpcm.message     = string.Format("获取不存在processCode {0},requestId:{1} 不存在processCode", ConstantWS.errorText, Urlparameter);
                    }

                    BRA.Action          = "WebService";
                    BRA.Description     = string.Format("获取流程FlowID:{0} 的信息", businessID);
                    BRA.Operator        = "MobileCommonWebService.GetProcessCode";
                    BRA.OperatorTime    = DateTime.Now;
                    BRA.MonthlyReportID = businessID.ToGuid();
                    BRA.IsDeleted       = true;
                    B_MonthlyReportActionOperator.Instance.AddMonthlyReportAction(BRA);
                }
                catch (Exception ex)
                {
                    gpcm.status  = ConstantWS.error;
                    gpcm.message = "发生不可预知的错误:" + ex.Message;

                    BRA.Action          = "WebService";
                    BRA.Description     = gpcm.message;
                    BRA.Operator        = "getProcessCode_Error";
                    BRA.OperatorTime    = DateTime.Now;
                    BRA.MonthlyReportID = businessID.ToGuid();
                    BRA.IsDeleted       = true;
                    B_MonthlyReportActionOperator.Instance.AddMonthlyReportAction(BRA);
                }
            }
            else
            {
                gpcm.status  = ConstantWS.error;
                gpcm.message = "requestId为空";
            }

            BRA.Action       = "WebService";
            BRA.Description  = string.Format("获取流程FlowID:{0} 的返回信息:{1}", businessID, Newtonsoft.Json.JsonConvert.SerializeObject(gpcm));
            BRA.Operator     = "MobileCommonWebService.GetProcessCode";
            BRA.OperatorTime = DateTime.Now;
            BRA.IsDeleted    = true;
            B_MonthlyReportActionOperator.Instance.AddMonthlyReportAction(BRA);


            return(Newtonsoft.Json.JsonConvert.SerializeObject(gpcm));
        }
        public string searchPageUser(string param)
        {
            //NLogHelper.Log.Info(param,
            //        NLogHelper.MakeLogObj(NLogHelper.BusinessID_Const, "进入MobileCommonWebService"),
            //        NLogHelper.MakeLogObj(NLogHelper.MethodName_Const, "MobileCommonWebService.searchPageUser"));
            GetProcessCodeMessage gpcm = new GetProcessCodeMessage();
            string errMessage          = string.Empty;;

            if (base.AuthVerify() == false)
            {
                return(base.authVerifyMessage);
            }
            //获取分布用户信息
            SearchUserParam proParam  = Newtonsoft.Json.JsonConvert.DeserializeObject <SearchUserParam>(param);
            string          strResult = string.Empty;
            string          strAction = string.Empty;
            int             pageIndex = 0;
            int             pageSize  = 10;
            string          loginName = string.Empty;

            if (string.IsNullOrEmpty(proParam.pageNo) == false)
            {
                int.TryParse(proParam.pageNo, out pageIndex);
            }
            if (string.IsNullOrEmpty(proParam.pageSize) == false)
            {
                int.TryParse(proParam.pageNo, out pageSize);
            }
            if (string.IsNullOrEmpty(proParam.userLoginId) == false)
            {
                loginName = proParam.userLoginId.Trim();
            }
            try
            {
                var rvUserInfo = Wanda.SDK.Common.ClientSDKHelper.GetResultContextData <List <UserSourceSDK.UserInfo> >(UserSourceSDK.UserSourceClientSDK.GetUserListByKeyword(loginName));

                var userListPage = rvUserInfo.Skip(pageIndex * pageSize).Take(pageSize).ToList();

                SearchUserMessage suMessage = new SearchUserMessage();
                List <User>       ltu       = new List <User>();
                suMessage.status     = ConstantWS.success;
                suMessage.message    = ConstantWS.successText;
                suMessage.totalCount = rvUserInfo.Count;
                foreach (var vui in userListPage)
                {
                    ltu.Add(new User()
                    {
                        userId = vui.UserCode
                        ,
                        department = vui.UserOrgPathName
                        ,
                        loginId = vui.UserLoginID
                        ,
                        userName = vui.UserName
                    });
                }
                suMessage.rows = ltu;

                //Context.Response.Write(Newtonsoft.Json.JsonConvert.SerializeObject(suMessage));
                return(Newtonsoft.Json.JsonConvert.SerializeObject(suMessage));
            }
            catch (Exception ex)
            {
                gpcm.status  = ConstantWS.error;
                gpcm.message = "发生不可预知的错误:" + ex.Message;
            }
            //Context.Response.Write(Newtonsoft.Json.JsonConvert.SerializeObject(gpcm));
            return(Newtonsoft.Json.JsonConvert.SerializeObject(gpcm));
        }
        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));
        }