diff --git a/unimarc/PatchList/유니막 수정내역2.pptx b/unimarc/PatchList/유니막 수정내역2.pptx new file mode 100644 index 0000000..7765f0a Binary files /dev/null and b/unimarc/PatchList/유니막 수정내역2.pptx differ diff --git a/unimarc/unimarc/마크/Check_copy.cs b/unimarc/unimarc/마크/Check_copy.cs index 5bce6b9..68f2e72 100644 --- a/unimarc/unimarc/마크/Check_copy.cs +++ b/unimarc/unimarc/마크/Check_copy.cs @@ -38,7 +38,7 @@ namespace WindowsFormsApp1.Mac // if (Target == "") { MessageBox.Show("도서관명이 비어있습니다."); return; } string area = "`Province`, `Area`, `LibName`, `Code`, `URL`"; - string cmd = string.Format("SELECT {0} FROM `lib_CopyCheck` WHERE `LibName` LIKE '%{1}%';", area, Target); + string cmd = string.Format("SELECT {0} FROM `lib_CopyCheck` WHERE CONCAT( province , '_' , AREA , '_' , libname) LIKE '%{1}%';", area, Target); string data = db.self_Made_Cmd(cmd); string[] ary = data.Split('|'); Check_Copy_Sub_Search ccs = new Check_Copy_Sub_Search(this); @@ -80,13 +80,17 @@ namespace WindowsFormsApp1.Mac isMokClick = false; isWandoClick = false; + SearchCount.Value = dataGridView1.Rows.Count; //250619 + RowCount = 0; //250619 + dataGridView1.CurrentCell = dataGridView1.Rows[0].Cells[0]; webBrowser1.Navigate(""); int SCount = Convert.ToInt32(SearchCount.Value); - if (URL is null) { + if (URL is null) + { webBrowser1.DocumentCompleted -= this.webBrowser1_DocumentCompleted; return; } @@ -130,7 +134,8 @@ namespace WindowsFormsApp1.Mac dataGridView1.Rows[a].Cells["Count"].Value = BookSearchCount; } } - else { + else + { if (URL.IndexOf("218.157.123.2:9996/kcms/Main") > -1) webBrowser1.Navigate(URL + "/" + Code); @@ -158,7 +163,10 @@ namespace WindowsFormsApp1.Mac string URL = webBrowser1.Url.AbsoluteUri; string BookCount = ""; - string text = dataGridView1.Rows[RowCount].Cells["book_name"].Value.ToString(); + var val_bookName = dataGridView1.Rows[RowCount].Cells["book_name"].Value; + if (val_bookName == null) return; + + string text = val_bookName.ToString(); if (text == "----- 빈칸으로 놔주세요 -----") return; @@ -173,10 +181,26 @@ namespace WindowsFormsApp1.Mac } // 광주 남구 (문화정보, 푸른길, 청소년) - else if (URL.IndexOf("searchlib.namgu.gwangju.kr") > -1) + else if (URL.IndexOf("searchlib.namgu.gwangju.kr") > -1 || URL.IndexOf("lib.namgu.gwangju.kr") > -1) { - if (URL.IndexOf("word") > -1) + //if (URL.IndexOf("word") > -1) + // BookCount = 광주남구결과(); + + HtmlElement searchform = null; //250619 검색결과를 통해서 내용 추측 + foreach (HtmlElement he in webBrowser1.Document.GetElementsByTagName("div")) + { + if (he.GetAttribute("class").ToLower().Equals("search-result")) + { + searchform = he; + break; + } + } + if(searchform != null) + { BookCount = 광주남구결과(); + } + + 광주남구입력(text); } @@ -202,7 +226,7 @@ namespace WindowsFormsApp1.Mac 광주광산구입력(text); } - + // 광주 교육청 (학생독립, 중앙, 학생교육, 금호평생, 광주송정, 석봉) else if (URL.IndexOf("lib.gen.go.kr") > -1) { @@ -262,7 +286,7 @@ namespace WindowsFormsApp1.Mac 전남여수입력(text); } - + // 전남 무안군 공공도서관 else if (URL.IndexOf("muan.go.kr/lib/data/search") > -1) { @@ -412,9 +436,19 @@ namespace WindowsFormsApp1.Mac bool isGwangJuNamGuClick = false; void 광주남구입력(string text) { - foreach (HtmlElement he in webBrowser1.Document.GetElementsByTagName("input")) + HtmlElement searchform = null; + foreach (HtmlElement he in webBrowser1.Document.GetElementsByTagName("form")) { - if (he.GetAttribute("id").IndexOf(Code) > -1) + if (he.GetAttribute("id").ToLower().Equals("searchform")) + { + searchform = he; + break; + } + } + + foreach (HtmlElement he in searchform.GetElementsByTagName("input")) + { + if (he.GetAttribute("id").ToLower().Equals("query")) { if (!isGwangJuNamGuClick) { @@ -424,18 +458,19 @@ namespace WindowsFormsApp1.Mac } } - foreach (HtmlElement he in webBrowser1.Document.GetElementsByTagName("input")) + foreach (HtmlElement he in searchform.GetElementsByTagName("input")) { - if (he.Id != null && he.Id == "searchWord") + if (he.Id != null && he.Id.ToLower().Equals("query"))//"searchWord") { he.SetAttribute("value", text); } } // webBrowser1.Document.GetElementById("searchWord").SetAttribute("value", text); - foreach (HtmlElement Btn in webBrowser1.Document.GetElementsByTagName("input")) + + foreach (HtmlElement Btn in searchform.GetElementsByTagName("button")) { - if (Btn.GetAttribute("className").IndexOf("btn btn-search") > -1) + if (Btn.GetAttribute("type").IndexOf("submit") >-1)//.IndexOf("btn btn-search") > -1) Btn.InvokeMember("click"); } } @@ -682,7 +717,7 @@ namespace WindowsFormsApp1.Mac string 전남교육청입력(string text) { string result = ""; - + foreach (HtmlElement he in webBrowser1.Document.GetElementsByTagName("input")) { if (he.Id != null && he.Id.IndexOf(Code) > -1 && !isJNLClick) @@ -1053,7 +1088,7 @@ namespace WindowsFormsApp1.Mac // } string result = ""; - + foreach (HtmlElement table in webBrowser1.Document.GetElementsByTagName("table")) { if (table.GetAttribute("className").IndexOf("search_bar") > -1) @@ -1070,7 +1105,7 @@ namespace WindowsFormsApp1.Mac break; } } - + return result; } @@ -1218,7 +1253,7 @@ namespace WindowsFormsApp1.Mac foreach (HtmlElement input in webBrowser1.Document.GetElementsByTagName("input")) { - if (input.Id !=null && input.Id == "search_txt") + if (input.Id != null && input.Id == "search_txt") { input.SetAttribute("value", text); break; @@ -1469,7 +1504,7 @@ namespace WindowsFormsApp1.Mac // Target = Target.Replace(",", "").Replace(".", "").Replace(";", "").Replace(":", ""); string res = Regex.Replace(Target, @"[^a-zA-Z0-9가-힣_\s()]", "", RegexOptions.Singleline); - + dataGridView1.Rows[a].Cells["book_name"].Value = res.Trim(); } } @@ -1578,9 +1613,9 @@ namespace WindowsFormsApp1.Mac } catch { - + } - + } } }