Exemple #1
0
 /// <summary>
 /// 保存安全生产许可
 /// </summary>
 /// <param name="table"></param>
 /// <param name="id"></param>
 /// <param name="url"></param>
 private void AddCorpSecLic(TableTag table, string id, string url)
 {
     for (int i = 1; i < table.RowCount; i++)
     {
         TableRow tr = table.Rows[i];
         string   SecLicCode = string.Empty, SecLicDesc = string.Empty, ValidStartDate = string.Empty, ValidStartEnd = string.Empty, SecLicUnit = string.Empty;
         SecLicCode     = tr.Columns[0].ToNodePlainString();
         ValidStartEnd  = tr.Columns[1].ToPlainTextString().GetDateRegex();
         SecLicUnit     = tr.Columns[2].ToNodePlainString();
         ValidStartDate = tr.Columns[3].ToPlainTextString().GetDateRegex();
         if (string.IsNullOrEmpty(SecLicCode) && string.IsNullOrEmpty(ValidStartEnd) && string.IsNullOrEmpty(SecLicUnit) && string.IsNullOrEmpty(ValidStartDate))
         {
             continue;
         }
         CorpSecLic seclic = ToolDb.GenCorpSecLic(id, SecLicCode, SecLicDesc, ValidStartDate, ValidStartEnd, SecLicUnit, url);
         ToolDb.SaveEntity(seclic, string.Empty);
     }
 }
Exemple #2
0
        /// <summary>
        /// 企业安全许可
        /// </summary>
        /// <param name="info"></param>
        /// <param name="html"></param>
        protected void AddCorpSecLic(CorpInfo info, string html)
        {
            Parser   parser   = new Parser(new Lexer(html));
            NodeList nodeList = parser.ExtractAllNodesThatMatch(new AndFilter(new TagNameFilter("div"), new HasAttributeFilter("id", "aqsc")));

            if (nodeList != null && nodeList.Count > 0)
            {
                parser = new Parser(new Lexer(nodeList.ToHtml().Replace("th", "td")));
                NodeList tableNode = parser.ExtractAllNodesThatMatch(new TagNameFilter("table"));
                if (tableNode != null && tableNode.Count > 0)
                {
                    TableTag table = tableNode[0] as TableTag;
                    for (int i = 1; i < table.RowCount; i++)
                    {
                        TableRow tr = table.Rows[i];
                        if (tr.Columns[0].ToPlainTextString().Contains("没有显示结果"))
                        {
                            break;
                        }

                        string SecLicCode = string.Empty, SecLicDesc = string.Empty, ValidStartDate = string.Empty, ValidStartEnd = string.Empty, SecLicUnit = string.Empty;

                        SecLicCode     = tr.Columns[1].ToNodePlainString();
                        SecLicDesc     = tr.Columns[2].ToNodePlainString();
                        ValidStartDate = tr.Columns[3].ToPlainTextString().GetDateRegex();
                        ValidStartEnd  = tr.Columns[4].ToPlainTextString().GetDateRegex();
                        SecLicUnit     = tr.Columns[5].ToNodePlainString();
                        if (Encoding.Default.GetByteCount(SecLicDesc) > 1000)
                        {
                            SecLicDesc = string.Empty;
                        }
                        CorpSecLic seclic = ToolDb.GenCorpSecLic(info.Id, SecLicCode, SecLicDesc, ValidStartDate, ValidStartEnd, SecLicUnit, info.Url);
                        ToolDb.SaveEntity(seclic, string.Empty);
                    }
                }
            }
        }
Exemple #3
0
        /// <summary>
        /// 企业安全许可
        /// </summary>
        /// <param name="info"></param>
        /// <param name="html"></param>
        protected void AddCorpSecLic(CorpInfo info, string param, string corpType)
        {
            string url = "http://portal.szjs.gov.cn:8888/publicShow/querySafeProduction.html";

            string[]            postParams = new string[] { "param", "corpType", "orgCode", "page" };
            string[]            postValues = new string[] { param, corpType, info.CorpCode, "1" };
            NameValueCollection nvc        = ToolWeb.GetNameValueCollection(postParams, postValues);
            string html = string.Empty;

            try
            {
                html = ToolWeb.GetHtmlByUrl(url, nvc, Encoding.UTF8);
            }
            catch
            {
                Thread.Sleep(12 * 60 * 1000);
                try
                {
                    html = ToolWeb.GetHtmlByUrl(url, nvc, Encoding.UTF8);
                }
                catch
                {
                    Thread.Sleep(8 * 60 * 1000);
                    return;
                }
            }
            JavaScriptSerializer        java        = new JavaScriptSerializer();
            Dictionary <string, object> jsonResults = (Dictionary <string, object>)java.DeserializeObject(html);
            int pageInt = 1;

            try
            {
                pageInt = (int)jsonResults["totalPage"];
            }
            catch { }
            for (int i = 1; i <= pageInt; i++)
            {
                if (i > 1)
                {
                    postValues = new string[] { param, corpType, info.CorpCode, i.ToString() };
                    nvc        = ToolWeb.GetNameValueCollection(postParams, postValues);
                    try
                    {
                        html = ToolWeb.GetHtmlByUrl(url, nvc, Encoding.UTF8);
                    }
                    catch
                    {
                        Thread.Sleep(12 * 60 * 1000);
                        try
                        {
                            html = ToolWeb.GetHtmlByUrl(url, nvc, Encoding.UTF8);
                        }
                        catch
                        {
                            Thread.Sleep(8 * 60 * 1000);
                            continue;
                        }
                    }
                    jsonResults = (Dictionary <string, object>)java.DeserializeObject(html);
                }
                object[] dicRecords = (object[])jsonResults["records"];
                foreach (object dicRecord in dicRecords)
                {
                    Dictionary <string, object> dic = (Dictionary <string, object>)dicRecord;
                    string SecLicCode = string.Empty, SecLicDesc = string.Empty, ValidStartDate = string.Empty, ValidStartEnd = string.Empty, SecLicUnit = string.Empty;

                    SecLicCode     = Convert.ToString(dic["lics_id"]);
                    SecLicDesc     = Convert.ToString(dic["lics_range"]);
                    ValidStartDate = Convert.ToString(dic["valid_start_date"]);
                    ValidStartEnd  = Convert.ToString(dic["valid_end_date"]);
                    SecLicUnit     = Convert.ToString(dic["issue_dept"]);
                    if (Encoding.Default.GetByteCount(SecLicDesc) > 1000)
                    {
                        SecLicDesc = string.Empty;
                    }
                    CorpSecLic seclic = ToolDb.GenCorpSecLic(info.Id, SecLicCode, SecLicDesc, ValidStartDate, ValidStartEnd, SecLicUnit, info.Url);
                    ToolDb.SaveEntity(seclic, string.Empty);
                }
            }
        }