Example #1
0
        /// <summary>
        /// 获取微信授权用户OpenID
        /// </summary>
        /// <param name="access_token">用户级token</param>
        /// <param name="openid">微信Openid</param>
        /// <param name="scope">用户授权的作用域,使用逗号(,)分隔</param>
        /// <param name="errmsg">出错时返回的错误提示信息</param>
        private bool GetWXAccreditOpenID(string code, ref string access_token, ref string openid, ref string scope, ref string errmsg)
        {
            bool            result    = true;
            string          url       = "https://api.weixin.qq.com/sns/oauth2/access_token?appid=" + wxappid + "&secret=" + secret + "&code=" + code + "&grant_type=authorization_code";
            UserAccessToken usertoken = new UserAccessToken();

            try
            {
                string json = HttpRequests.WXInterfaceHttpRequest(url, "", "GET");
                usertoken = ObjectSeriallizeHelper.JsonToObject <UserAccessToken>(json);
            }
            catch (Exception ex)
            {
                result = false;
                errmsg = ex.Message.ToString();
            }
            if (usertoken != null)
            {
                access_token = usertoken.access_token;
                string expires_in    = usertoken.expires_in;
                string refresh_token = usertoken.refresh_token;
                openid = usertoken.openid;
                scope  = usertoken.scope;
            }
            else
            {
                result = false;
                errmsg = "返回结果为空";
            }
            return(result);
        }
Example #2
0
        /// <summary>
        /// 设置用户通知消息为已读
        /// </summary>
        private void SetUserReadNotify()
        {
            string   errmsg     = "";
            string   notifycode = Request["notifycode"];
            UserInfo userinfo   = new UserInfo();

            userinfo = (UserInfo)Session["userinfo"];
            string        usercode = userinfo.usercode;
            string        json     = "";
            BLLUserManage mybll    = new BLLUserManage();
            ResultInfo    outjson  = new ResultInfo();
            bool          result   = mybll.SetUserReadNotify(usercode, notifycode, ref json, ref errmsg);

            if (result)
            {
                outjson.errcode = 0;
            }
            else
            {
                outjson.errcode = -1;
                outjson.errmsg  = errmsg;
            }
            Response.Write(ObjectSeriallizeHelper.ObjectToJson(outjson));
            Response.End();
        }
Example #3
0
        /// <summary>
        /// 创建临时二维码
        /// </summary>
        /// <param name="wxappid"></param>
        /// <param name="expire_seconds">有效时间</param>
        /// <param name="scene_id">二维码参数</param>
        /// <returns></returns>
        public CreateQRCodeResult CreateTmpQRCode(string wxappid, int expire_seconds, int scene_id)
        {
            CreateQRCodeResult wxresult = null;
            int    retrycount           = 0;
            int    maxretrycount        = 3;
            string access_token         = "";

            access_token = GetAccessToken(wxappid);
            string url         = string.Format("https://api.weixin.qq.com/cgi-bin/qrcode/create?access_token={0}", access_token);
            string sendcontent = "{\"expire_seconds\": " + expire_seconds.ToString() + ", \"action_name\": \"QR_SCENE\", \"action_info\": {\"scene\": {\"scene_id\": " + scene_id.ToString() + "}}}";

            while (retrycount < maxretrycount)
            {
                wxresult = ObjectSeriallizeHelper.JsonToObject <CreateQRCodeResult>(WXInterfaceHttpRequest(url, sendcontent, "post"));
                if (wxresult.errcode == 0)
                {
                    break;
                }
                else
                {
                    if (wxresult.errcode == 40014 || wxresult.errcode == 42001)
                    {
                        access_token = GetAccessToken(wxappid, true);
                    }
                    retrycount++;
                }
            }
            return(wxresult);
        }
Example #4
0
        /// <summary>
        /// 获取用户页面列表
        /// </summary>
        private void GetUserPageList()
        {
            string     errmsg  = "";
            ResultInfo outjson = new ResultInfo();

            if (Session["userinfo"] != null)
            {
                UserInfo userinfo = new UserInfo();
                userinfo = (UserInfo)Session["userinfo"];
                string        usercode = userinfo.usercode;
                string        json     = "";
                BLLUserManage mybll    = new BLLUserManage();
                bool          result   = mybll.GetUserPageList(usercode, ref json, ref errmsg);
                if (result)
                {
                    Response.Write(json);
                    Response.End();
                }
                else
                {
                    outjson.errcode = -1;
                    outjson.errmsg  = errmsg;
                    Response.Write(ObjectSeriallizeHelper.ObjectToJson(outjson));
                    Response.End();
                }
            }
            else
            {
                outjson.errcode = -1;
                outjson.errmsg  = "登录信息已过期,请重新登录";
                Response.Write(ObjectSeriallizeHelper.ObjectToJson(outjson));
                Response.End();
            }
        }
Example #5
0
        /// <summary>
        /// 获取jsapi_ticket
        /// </summary>
        /// <param name="access_token"></param>
        /// <param name="ticket"></param>
        /// <returns></returns>
        public bool GetNewJsApiTicket(string wxappid, ref Ent_JsApiTicket ticket)
        {
            bool            result        = true;
            Ent_JsApiTicket wxresult      = new Ent_JsApiTicket();
            int             retrycount    = 0;
            int             maxretrycount = 3;
            string          access_token  = GetAccessToken(wxappid);
            string          url           = string.Format("https://api.weixin.qq.com/cgi-bin/ticket/getticket?access_token={0}&type=jsapi", access_token);

            while (retrycount < maxretrycount)
            {
                wxresult = ObjectSeriallizeHelper.JsonToObject <Ent_JsApiTicket>(WXInterfaceHttpRequest(url, "", "get"));
                if (wxresult.errcode == 0)
                {
                    result = true;
                    ticket = wxresult;
                    break;
                }
                else
                {
                    result = false;
                    retrycount++;
                }
            }
            return(result);
        }
Example #6
0
        public UserList GetUserList(string wxappid, string next_openid)
        {
            int      retrycount   = 0;
            string   access_token = GetAccessToken(wxappid);
            UserList userlist     = new UserList();
            string   url;

            while (retrycount < 3)
            {
                url      = string.Format("https://api.weixin.qq.com/cgi-bin/user/get?access_token={0}&next_openid={1}", access_token, next_openid);
                userlist = ObjectSeriallizeHelper.JsonToObject <UserList>(WXInterfaceHttpRequest(url, "", "GET"));
                if (userlist.errcode == 0)
                {
                    break;
                }
                else
                {
                    if (userlist.errcode == 40001)
                    {
                        access_token = GetAccessToken(wxappid, true);
                    }
                    retrycount++;
                }
            }
            return(userlist);
        }
Example #7
0
        /// <summary>
        /// 发送模板消息
        /// </summary>
        /// <param name="wxappid"></param>
        /// <param name="sendcontent"></param>
        /// <returns>返回接口调用结果(非发送结果)</returns>
        public Ent_TemplateMsgSendResult SendTemplateMessage(string wxappid, string sendcontent)
        {
            Ent_TemplateMsgSendResult wxresult = null;
            int    retrycount    = 0;
            int    maxretrycount = 3;
            string access_token  = GetAccessToken(wxappid);
            string url           = @"https://api.weixin.qq.com/cgi-bin/message/template/send?access_token=" + access_token;

            while (retrycount < maxretrycount)
            {
                wxresult = ObjectSeriallizeHelper.JsonToObject <Ent_TemplateMsgSendResult>(WXInterfaceHttpRequest(url, sendcontent, "post"));
                if (wxresult.errcode == 0)
                {
                    break;
                }
                else
                {
                    if (wxresult.errcode == 40014 || wxresult.errcode == 42001)
                    {
                        access_token = GetAccessToken(wxappid, true);
                    }
                    retrycount++;
                }
            }
            return(wxresult);
        }
Example #8
0
        public WXFansInfo GetUserInfo_OAuth(string wxappid, string access_token, string openid)
        {
            int        retrycount = 0;
            WXFansInfo userinfo   = new WXFansInfo();
            string     url;

            while (retrycount < 3)
            {
                url      = "https://api.weixin.qq.com/sns/userinfo?access_token=" + access_token + "&openid=" + openid + "&lang=zh_CN";
                userinfo = ObjectSeriallizeHelper.JsonToObject <WXFansInfo>(WXInterfaceHttpRequest(url, "", "GET"));
                if (userinfo.errcode == 0)
                {
                    break;
                }
                else
                {
                    if (userinfo.errcode == 40001)
                    {
                        access_token = GetAccessToken(wxappid, true);
                    }
                    retrycount++;
                }
            }
            return(userinfo);
        }
Example #9
0
        public WXFansInfo GetUserInfo(string wxappid, string wxopenid)
        {
            int        retrycount   = 0;
            string     access_token = GetAccessToken(wxappid);
            WXFansInfo userinfo     = new WXFansInfo();
            string     url;

            while (retrycount < 3)
            {
                url      = string.Format("https://api.weixin.qq.com/cgi-bin/user/info?access_token={0}&openid={1}&lang=zh_CN", access_token, wxopenid);
                userinfo = ObjectSeriallizeHelper.JsonToObject <WXFansInfo>(WXInterfaceHttpRequest(url, "", "GET"));
                if (userinfo.errcode == 0)
                {
                    break;
                }
                else
                {
                    if (userinfo.errcode == 40001)
                    {
                        access_token = GetAccessToken(wxappid, true);
                    }
                    retrycount++;
                }
            }
            return(userinfo);
        }
Example #10
0
        /// <summary>
        /// 登录用户请求
        /// </summary>
        private void LoginRequest()
        {
            string        errmsg   = "";
            string        json     = "";
            string        account  = Request["account"];
            string        password = Request["password"];
            ResultInfo    outjson  = new ResultInfo();
            BLLUserManage mybll    = new BLLUserManage();
            bool          result   = mybll.LoginRequest(account, password, ref json, ref errmsg);

            if (result)
            {
                LoginResuleInfo loginresult = ObjectSeriallizeHelper.JsonToObject <LoginResuleInfo>(json);
                if (loginresult.errcode == 0)
                {
                    Session["userinfo"] = loginresult.data[0];
                    outjson.errcode     = 0;
                }
                else
                {
                    outjson.errcode = -1;
                    outjson.errmsg  = loginresult.errmsg;
                }
            }
            else
            {
                outjson.errcode = -1;
                outjson.errmsg  = errmsg;
            }
            Response.Write(ObjectSeriallizeHelper.ObjectToJson(outjson));
            Response.End();
        }
Example #11
0
        public UserAccessToken GetOAuthAccessToken(string wxappid, string appsecret, string code)
        {
            UserAccessToken token = new UserAccessToken();
            string          url   = "https://api.weixin.qq.com/sns/oauth2/access_token?appid=" + wxappid + "&secret=" + appsecret + "&code=" + code + "&grant_type=authorization_code";

            token = ObjectSeriallizeHelper.JsonToObject <UserAccessToken>(WXInterfaceHttpRequest(url, "", "GET"));
            return(token);
        }
Example #12
0
        /// <summary>
        /// 注销登录
        /// </summary>
        private void Logout()
        {
            Session["userinfo"] = null;
            ResultInfo outjson = new ResultInfo();

            outjson.errcode = 0;
            outjson.errmsg  = "";
            Response.Write(ObjectSeriallizeHelper.ObjectToJson(outjson));
            Response.End();
        }
        /// <summary>
        /// 导出Excel
        /// </summary>
        private void Excel()
        {
            string errmsg = "";
            string table  = Request["table"];

            table = table.Replace("\r\n", "").Replace("\n", "").Replace("	", "");
            string    tablename = Request["tablename"];
            DataTable dt        = ObjectSeriallizeHelper.JsonToDataTable(table);

            CreateExcel(dt, tablename);
        }
Example #14
0
        /// <summary>
        /// 请求数据
        /// </summary>
        private void RequestData()
        {
            string         errmsg  = "";
            string         urltype = Request["urltype"]; //请求类型,IIS,Tomcat
            string         pageurl = Request["pageurl"]; //代码
            string         data    = Request["data"];    //数据
            ResultInfo     outjson = new ResultInfo();
            BLLRequestData mybll   = new BLLRequestData();
            bool           result  = true;
            string         json    = "";

            switch (urltype)
            {
            case "IIS3676":
                result = mybll.RequestIIS3676Data(pageurl, data, ref json, ref errmsg);
                if (!result)
                {
                    outjson.errcode = -1;
                    outjson.errmsg  = errmsg;
                }
                break;

            case "IIS3380":
                result = mybll.RequestIIS3380Data(pageurl, data, ref json, ref errmsg);
                if (!result)
                {
                    outjson.errcode = -1;
                    outjson.errmsg  = errmsg;
                }
                break;

            case "Tomcat":

                break;

            default:
                result          = false;
                outjson.errcode = -1;
                outjson.errmsg  = "请求出错,未找到对应服务器";
                break;
            }
            if (result)
            {
                Response.Write(json);
                Response.End();
            }
            else
            {
                Response.Write(ObjectSeriallizeHelper.ObjectToJson(outjson));
                Response.End();
            }
        }
Example #15
0
        /// <summary>
        /// 获取用户信息
        /// </summary>
        private void GetUserInfo()
        {
            UserInfo userinfo = new UserInfo();

            if (Session["userinfo"] == null)
            {
                Response.End();
            }
            else
            {
                userinfo          = (UserInfo)Session["userinfo"];
                userinfo.password = "******";
                Response.Write(ObjectSeriallizeHelper.ObjectToJson(userinfo));
                Response.End();
            }
        }
Example #16
0
        public UserAccessToken GetNewAccessToken(string wxappid, string appsecret)
        {
            UserAccessToken tokeninfo = null;

            try
            {
                string url       = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=" + wxappid + "&secret=" + appsecret;
                string strresult = WXInterfaceHttpRequest(url, "", "get");
                tokeninfo = ObjectSeriallizeHelper.JsonToObject <UserAccessToken>(strresult);
            }
            catch (Exception ex)
            {
                LogWriter.WriteLog(ex);
            }
            return(tokeninfo);
        }
Example #17
0
        /// <summary>
        /// 获取微信粉丝信息
        /// </summary>
        /// <param name="wxopenid">微信OpenID</param>
        /// <param name="access_token">用户级access_token</param>
        /// <param name="wxfansinfo">粉丝信息</param>
        /// <param name="errmsg">出错时返回的错误提示信息</param>
        /// <returns>是否成功执行</returns>
        private bool GetWXFansInfo(string wxopenid, string access_token, ref WXFansInfo wxfansinfo, ref string errmsg)
        {
            bool   result = true;
            string url    = "https://api.weixin.qq.com/sns/userinfo?access_token=" + access_token + "&openid=" + wxopenid + "&lang=zh_CN";

            //string url = "https://api.weixin.qq.com/cgi-bin/user/info?access_token=" + access_token + "&openid=" + wxopenid + "&lang=zh_CN";
            try
            {
                string json = HttpRequests.WXInterfaceHttpRequest(url, "", "GET");
                wxfansinfo = ObjectSeriallizeHelper.JsonToObject <WXFansInfo>(json);
            }
            catch (Exception ex)
            {
                errmsg = ex.Message.ToString();
                result = false;
                LogWriter.WriteLog(ex);
            }
            return(result);
        }
Example #18
0
        /// <summary>
        /// 检查用户并保持会话
        /// </summary>
        private void CheckUser()
        {
            string     errmsg  = "";
            ResultInfo outjson = new ResultInfo();

            if (Session["userinfo"] != null)
            {
                UserInfo userinfo = new UserInfo();
                userinfo        = (UserInfo)Session["userinfo"];
                outjson.errcode = 0;
                string        unnotify    = "";
                BLLUserManage mybll       = new BLLUserManage();
                bool          result      = mybll.GetUserUnNotifyV2(userinfo.usercode, ref unnotify, ref errmsg);
                NotifyList    info_notify = ObjectSeriallizeHelper.JsonToObject <NotifyList>(unnotify);
                outjson.notify = ObjectSeriallizeHelper.ObjectToJson(info_notify.data);

                string tasknotify = "";
                result = mybll.GetUserTaskNotifyV2(userinfo.usercode, ref tasknotify, ref errmsg);
                TaskNotifyList info_task = ObjectSeriallizeHelper.JsonToObject <TaskNotifyList>(tasknotify);
                outjson.tasknotify = ObjectSeriallizeHelper.ObjectToJson(info_task.data);

                string mytaskunfinished = "";
                result = mybll.GetMyTaskUnfinishedListV2(userinfo.usercode, ref mytaskunfinished, ref errmsg);
                MyTaskList info_mytask = ObjectSeriallizeHelper.JsonToObject <MyTaskList>(mytaskunfinished);
                outjson.mytaskunfinished = ObjectSeriallizeHelper.ObjectToJson(info_mytask.data);

                string myacceptnotify = "";
                result = mybll.GetMyAcceptTaskListV2(userinfo.usercode, ref myacceptnotify, ref errmsg);
                MyAcceptTaskList info_myaccepttask = ObjectSeriallizeHelper.JsonToObject <MyAcceptTaskList>(myacceptnotify);
                outjson.myaccepttask = ObjectSeriallizeHelper.ObjectToJson(info_myaccepttask.data);
            }
            else
            {
                outjson.errcode = -1;
                outjson.errmsg  = "未登录";
            }
            Response.Write(ObjectSeriallizeHelper.ObjectToJson(outjson));
            Response.End();
        }
Example #19
0
        /// <summary>
        /// 检测用户级access_token是否有效
        /// </summary>
        /// <param name="wxopenid">微信Openid</param>
        /// <param name="access_token">用户级access_token</param>
        /// <param name="errmsg">出错时返回的错误提示信息</param>
        /// <returns>是否成功执行</returns>
        private bool CheckUserAccessToken(string wxopenid, string access_token, ref string errmsg)
        {
            bool   result = true;
            string url    = "https://api.weixin.qq.com/sns/auth?access_token=" + access_token + "&openid=" + wxopenid;

            try
            {
                string   json     = HttpRequests.WXInterfaceHttpRequest(url, "", "GET");
                ApiBasic apibasic = ObjectSeriallizeHelper.JsonToObject <ApiBasic>(json);
                if (apibasic.errcode != 0)
                {
                    result = false;
                    errmsg = "access_token已失效";
                }
            }
            catch (Exception ex)
            {
                errmsg = ex.Message.ToString();
                result = false;
                LogWriter.WriteLog(ex);
            }
            return(result);
        }
Example #20
0
        /// <summary>
        /// 表格导入
        /// </summary>
        private void TableImport()
        {
            Response.ContentType = "text/html";
            string     errmsg  = "";
            string     urltype = Request["urltype"]; //请求类型,IIS,Tomcat
            string     pageurl = Request["pageurl"]; //代码
            string     data    = "";                 //数据
            ResultInfo outjson = new ResultInfo();
            DataTable  dt      = new DataTable();
            string     path    = HttpRuntime.AppDomainAppPath.ToString();

            if (System.Web.HttpContext.Current.Request.Files.Count == 0)
            {
                errmsg          = "未选择文件";
                outjson.errcode = -1;
                outjson.errmsg  = errmsg;
                Response.Write(ObjectSeriallizeHelper.ObjectToJson(outjson));
                Response.End();
            }
            else
            {
                System.IO.Stream stream = System.Web.HttpContext.Current.Request.Files[0].InputStream;
                bool             result = DataHelp.ExcelFileStreamToDataTable(path, stream, ref dt, ref errmsg);
                if (result)
                {
                    data = ObjectSeriallizeHelper.DataTableToJson(dt, ObjectSeriallizeHelper.ColumnNameLetterCase.Original);
                    if (Session["userinfo"] != null)
                    {
                        UserInfo userinfo = new UserInfo();
                        userinfo = (UserInfo)Session["userinfo"];
                        BLLRequestData mybll = new BLLRequestData();
                        string         json  = "";
                        switch (urltype)
                        {
                        case "IIS":
                            data   = data.Replace("", "");
                            data   = data.Replace(" ", "");
                            data   = data.Replace("\"usercode\":\"\"", "\"usercode\": \"" + userinfo.usercode + "\"");
                            data   = data.Replace("\"operation_usercode\":\"\"", "\"operation_usercode\": \"" + userinfo.usercode + "\"");
                            result = mybll.RequestIISData(pageurl, userinfo.usercode, data, ref json, ref errmsg);
                            if (!result)
                            {
                                outjson.errcode = -1;
                                outjson.errmsg  = errmsg;
                            }
                            break;

                        case "IIS3676":
                            data = data.Replace("\"usercode\":\"\"", "\"usercode\": \"" + userinfo.usercode + "\"");
                            data = data.Replace("\"operation_usercode\":\"\"", "\"operation_usercode\": \"" + userinfo.usercode + "\"");

                            result = mybll.RequestIIS3676Data(pageurl, data, ref json, ref errmsg);
                            if (!result)
                            {
                                outjson.errcode = -1;
                                outjson.errmsg  = errmsg;
                            }
                            break;

                        case "IIS3380":
                            data   = data.Replace("\"usercode\":\"\"", "\"usercode\": \"" + userinfo.usercode + "\"");
                            data   = data.Replace("\"operation_usercode\":\"\"", "\"operation_usercode\": \"" + userinfo.usercode + "\"");
                            result = mybll.RequestIIS3380Data(pageurl, data, userinfo.usercode, ref json, ref errmsg);
                            if (!result)
                            {
                                outjson.errcode = -1;
                                outjson.errmsg  = errmsg;
                            }
                            break;

                        case "Tomcat":

                            break;

                        default:
                            result          = false;
                            outjson.errcode = -1;
                            outjson.errmsg  = "请求出错,未找到对应服务器";
                            break;
                        }
                        if (result)
                        {
                            Response.Write(json);
                            Response.End();
                        }
                        else
                        {
                            Response.Write(ObjectSeriallizeHelper.ObjectToJson(outjson));
                            Response.End();
                        }
                    }
                    else
                    {
                        outjson.errcode = -1;
                        outjson.errmsg  = "登录信息已过期,请重新登录";
                        Response.Write(ObjectSeriallizeHelper.ObjectToJson(outjson));
                        Response.End();
                    }
                }
                else
                {
                    outjson.errcode = -1;
                    outjson.errmsg  = errmsg;
                    Response.Write(ObjectSeriallizeHelper.ObjectToJson(outjson));
                    Response.End();
                }
            }
        }
Example #21
0
        /// <summary>
        /// 表格导出
        /// </summary>
        private void TableExport()
        {
            string errmsg = "";

            string     urltype  = Request["urltype"];  //请求类型,IIS,Tomcat
            string     pageurl  = Request["pageurl"];  //代码
            string     data     = Request["data"];     //数据
            string     filename = Request["filename"]; //文件名
            ResultInfo outjson  = new ResultInfo();

            if (Session["userinfo"] != null)
            {
                UserInfo userinfo = new UserInfo();
                userinfo = (UserInfo)Session["userinfo"];
                string usercode = userinfo.usercode;
                bool   result   = true;
                string json     = "";

                #region 获取表格要导出的字段
                BLLRequestData mybll = new BLLRequestData();
                result = mybll.RequestIISData("/Console/TableSetting.aspx?action=gettableconfiglist", usercode, data, ref json, ref errmsg);
                ResultTableFieldListInfo[] 表格字段列表 = null;
                if (result)
                {
                    ResultTableList tblist = ObjectSeriallizeHelper.JsonToObject <ResultTableList>(json);
                    if (tblist != null && tblist.data != null && tblist.data.Length > 0)
                    {
                        ResultTableListInfo[] 表格列表 = tblist.data;
                        for (int i = 0; i < 表格列表.Length; i++)
                        {
                            if (表格列表[i].页面url.Trim() == pageurl.Trim())
                            {
                                GetTableFieldInfo finfo = new GetTableFieldInfo();
                                finfo.usercode = usercode;
                                finfo.tbcode   = 表格列表[i].表格代码;
                                result         = mybll.RequestIISData("/Console/TableSetting.aspx?action=getusertablefieldinfolist", usercode, ObjectSeriallizeHelper.ObjectToJson(finfo), ref json, ref errmsg);
                                if (result)
                                {
                                    ResultTableFieldList rfl = ObjectSeriallizeHelper.JsonToObject <ResultTableFieldList>(json);
                                    if (rfl != null && rfl.data != null && rfl.data.Length > 0)
                                    {
                                        表格字段列表 = rfl.data;
                                    }
                                }
                            }
                        }
                    }
                }
                #endregion

                switch (pageurl)
                {
                case "MaterialQSApi.aspx?action=closeoraclematerialqs":    //关闭Oracle数据库的物料齐套
                    RequestMaterialQSCR rq = ObjectSeriallizeHelper.JsonToObject <RequestMaterialQSCR>(data);
                    rq.usercode = userinfo.usercode;
                    data        = ObjectSeriallizeHelper.ObjectToJson(rq);
                    break;
                }


                switch (urltype)
                {
                case "IIS":
                    data   = data.Replace("\"usercode\":\"\"", "\"usercode\": \"" + userinfo.usercode + "\"");
                    data   = data.Replace("\"operation_usercode\":\"\"", "\"operation_usercode\": \"" + userinfo.usercode + "\"");
                    result = mybll.RequestIISData(pageurl, userinfo.usercode, data, ref json, ref errmsg);
                    if (!result)
                    {
                        outjson.errcode = -1;
                        outjson.errmsg  = errmsg;
                    }
                    break;

                case "IIS3676":
                    data   = data.Replace("\"usercode\":\"\"", "\"usercode\": \"" + userinfo.usercode + "\"");
                    data   = data.Replace("\"operation_usercode\":\"\"", "\"operation_usercode\": \"" + userinfo.usercode + "\"");
                    result = mybll.RequestIIS3676Data(pageurl, data, ref json, ref errmsg);
                    if (!result)
                    {
                        outjson.errcode = -1;
                        outjson.errmsg  = errmsg;
                    }
                    break;

                case "IIS3380":
                    data   = data.Replace("\"usercode\":\"\"", "\"usercode\": \"" + userinfo.usercode + "\"");
                    data   = data.Replace("\"operation_usercode\":\"\"", "\"operation_usercode\": \"" + userinfo.usercode + "\"");
                    result = mybll.RequestIIS3380Data(pageurl, data, ref json, ref errmsg);
                    if (!result)
                    {
                        outjson.errcode = -1;
                        outjson.errmsg  = errmsg;
                    }
                    break;

                case "IIS3382":
                    data   = data.Replace("\"usercode\":\"\"", "\"usercode\": \"" + userinfo.usercode + "\"");
                    data   = data.Replace("\"operation_usercode\":\"\"", "\"operation_usercode\": \"" + userinfo.usercode + "\"");
                    result = mybll.RequestIIS3382Data(pageurl, data, ref json, ref errmsg);
                    if (!result)
                    {
                        outjson.errcode = -1;
                        outjson.errmsg  = errmsg;
                    }
                    break;

                case "IIS3738":
                    data   = data.Replace("\"usercode\":\"\"", "\"usercode\": \"" + userinfo.usercode + "\"");
                    data   = data.Replace("\"operation_usercode\":\"\"", "\"operation_usercode\": \"" + userinfo.usercode + "\"");
                    result = mybll.RequestIIS3738Data(pageurl, data, ref json, ref errmsg);
                    if (!result)
                    {
                        outjson.errcode = -1;
                        outjson.errmsg  = errmsg;
                    }
                    break;

                case "Tomcat":

                    break;

                default:
                    result          = false;
                    outjson.errcode = -1;
                    outjson.errmsg  = "请求出错,未找到对应服务器";
                    break;
                }
                if (result)
                {
                    try
                    {
                        ExcelTable obj      = ObjectSeriallizeHelper.JsonToObject <ExcelTable>(json);
                        string     str_data = ObjectSeriallizeHelper.ObjectToJson(obj.data);
                        DataTable  dt       = ObjectSeriallizeHelper.JsonToDataTable(str_data);

                        DataTable 导出表格 = new DataTable();

                        if (表格字段列表 != null && 表格字段列表.Length > 0)
                        {
                            for (int i = 0; i < 表格字段列表.Length; i++)
                            {
                                if (表格字段列表[i].是否显示 == "1" && 表格字段列表[i].字段名 != "操作")
                                {
                                    for (int j = 0; j < dt.Columns.Count; j++)
                                    {
                                        if (dt.Columns[j].ToString().ToLower().Trim() == 表格字段列表[i].字段名.ToLower().Trim())
                                        {
                                            导出表格.Columns.Add(表格字段列表[i].别名, Type.GetType("System.String"));
                                        }
                                    }
                                }
                            }

                            for (int i = 0; i < dt.Rows.Count; i++)
                            {
                                DataRow newRow;
                                newRow = 导出表格.NewRow();
                                for (int j = 0; j < 表格字段列表.Length; j++)
                                {
                                    if (表格字段列表[j].是否显示 == "1" && 表格字段列表[j].字段名 != "操作")
                                    {
                                        string 字段名 = 表格字段列表[j].字段名.ToLower();
                                        try
                                        {
                                            newRow[表格字段列表[j].别名] = dt.Rows[i][字段名].ToString();
                                        }
                                        catch
                                        {
                                        }
                                    }
                                }
                                导出表格.Rows.Add(newRow);
                            }
                            CreateExcel(导出表格, filename);
                        }
                        else
                        {
                            CreateExcel(dt, filename);
                        }
                    }
                    catch (Exception ex)
                    {
                        errmsg          = ex.Message.ToString();
                        result          = false;
                        outjson.errcode = -1;
                        outjson.errmsg  = errmsg;
                    }
                    if (!result)
                    {
                        Response.Write(ObjectSeriallizeHelper.ObjectToJson(outjson));
                        Response.End();
                    }
                }
                else
                {
                    Response.Write(ObjectSeriallizeHelper.ObjectToJson(outjson));
                    Response.End();
                }
            }
            else
            {
                outjson.errcode = -1;
                outjson.errmsg  = "登录信息已过期,请重新登录";
                Response.Write(ObjectSeriallizeHelper.ObjectToJson(outjson));
                Response.End();
            }
        }
Example #22
0
        /// <summary>
        /// 请求数据
        /// </summary>
        private void RequestData()
        {
            string     errmsg  = "";
            string     urltype = Request["urltype"]; //请求类型,IIS,Tomcat
            string     pageurl = Request["pageurl"]; //代码
            string     data    = Request["data"];    //数据
            ResultInfo outjson = new ResultInfo();

            if (Session["userinfo"] != null)
            {
                UserInfo userinfo = new UserInfo();
                userinfo = (UserInfo)Session["userinfo"];
                switch (pageurl)
                {
                case "MaterialQSApi.aspx?action=closeoraclematerialqs":    //关闭Oracle数据库的物料齐套
                    RequestMaterialQSCR rq = ObjectSeriallizeHelper.JsonToObject <RequestMaterialQSCR>(data);
                    rq.usercode = userinfo.usercode;
                    data        = ObjectSeriallizeHelper.ObjectToJson(rq);
                    break;
                }

                BLLRequestData mybll  = new BLLRequestData();
                bool           result = true;
                string         json   = "";
                switch (urltype)
                {
                case "IIS":
                    data   = data.Replace("\"usercode\":\"\"", "\"usercode\": \"" + userinfo.usercode + "\"");
                    data   = data.Replace("\"operation_usercode\":\"\"", "\"operation_usercode\": \"" + userinfo.usercode + "\"");
                    result = mybll.RequestIISData(pageurl, userinfo.usercode, data, ref json, ref errmsg);
                    if (!result)
                    {
                        outjson.errcode = -1;
                        outjson.errmsg  = errmsg;
                    }
                    break;

                case "IIS3676":
                    data   = data.Replace("\"usercode\":\"\"", "\"usercode\": \"" + userinfo.usercode + "\"");
                    data   = data.Replace("\"operation_usercode\":\"\"", "\"operation_usercode\": \"" + userinfo.usercode + "\"");
                    result = mybll.RequestIIS3676Data(pageurl, data, ref json, ref errmsg);
                    if (!result)
                    {
                        outjson.errcode = -1;
                        outjson.errmsg  = errmsg;
                    }
                    break;

                case "IIS3380":
                    data   = data.Replace("\"usercode\":\"\"", "\"usercode\": \"" + userinfo.usercode + "\"");
                    data   = data.Replace("\"operation_usercode\":\"\"", "\"operation_usercode\": \"" + userinfo.usercode + "\"");
                    result = mybll.RequestIIS3380Data(pageurl, data, ref json, ref errmsg);
                    if (!result)
                    {
                        outjson.errcode = -1;
                        outjson.errmsg  = errmsg;
                    }
                    break;

                case "IIS3382":
                    data   = data.Replace("\"usercode\":\"\"", "\"usercode\": \"" + userinfo.usercode + "\"");
                    data   = data.Replace("\"operation_usercode\":\"\"", "\"operation_usercode\": \"" + userinfo.usercode + "\"");
                    result = mybll.RequestIIS3382Data(pageurl, data, ref json, ref errmsg);
                    if (!result)
                    {
                        outjson.errcode = -1;
                        outjson.errmsg  = errmsg;
                    }
                    break;

                case "IIS3738":
                    data   = data.Replace("\"usercode\":\"\"", "\"usercode\": \"" + userinfo.usercode + "\"");
                    data   = data.Replace("\"operation_usercode\":\"\"", "\"operation_usercode\": \"" + userinfo.usercode + "\"");
                    result = mybll.RequestIIS3738Data(pageurl, data, ref json, ref errmsg);
                    if (!result)
                    {
                        outjson.errcode = -1;
                        outjson.errmsg  = errmsg;
                    }
                    break;

                case "Tomcat":

                    break;

                default:
                    result          = false;
                    outjson.errcode = -1;
                    outjson.errmsg  = "请求出错,未找到对应服务器";
                    break;
                }
                if (result)
                {
                    Response.Write(json);
                    Response.End();
                }
                else
                {
                    Response.Write(ObjectSeriallizeHelper.ObjectToJson(outjson));
                    Response.End();
                }
            }
            else
            {
                outjson.errcode = -1;
                outjson.errmsg  = "登录信息已过期,请重新登录";
                Response.Write(ObjectSeriallizeHelper.ObjectToJson(outjson));
                Response.End();
            }
        }