=====* UniMarc [0.0166] 버전 업데이트 내용 *=====

** ERP 작업 전면 중단 (마크우선) **

1. Skill.cs
ㄴ> 키 입력 이벤트 추가하지않아 아무키나 눌러도 다 삭제되던 버그 수정.
ㄴ> 매크로 관련 함수 추가. (중복 사용이 많아 skill로 이동)

2. 마크 정리
ㄴ> 연번 정렬중 숫자인식이 아닌 텍스트 인식으로 바뀌어 연번 정렬이 고르지 못했던 점 수정.
ㄴ> 그리드 값 변경시 마크도 따라 변경되어야 하는 기능 버그 픽스 완료.

3. DLS
ㄴ> "전남"에서 지역이 변경되지않던 버그 수정.

4. 매크로
ㄴ> 매크로 관련 이슈들 대부분 버그 픽스 완료.
This commit is contained in:
SeungHo Yang
2022-09-30 18:45:50 +09:00
parent ef15848abb
commit 6be6e8d8d3
28 changed files with 566 additions and 1184 deletions

Binary file not shown.

File diff suppressed because it is too large Load Diff

View File

@@ -186,6 +186,7 @@ namespace WindowsFormsApp1.Delivery
dc.lbl_ID.Text = dataGridView1.Rows[idx].Cells["DLS_ID"].Value.ToString();
dc.lbl_PW.Text = dataGridView1.Rows[idx].Cells["DLS_PW"].Value.ToString();
dc.lbl_Area.Text = dataGridView1.Rows[idx].Cells["DLS_Area"].Value.ToString();
dc.SetArea(dataGridView1.Rows[idx].Cells["DLS_Area"].Value.ToString(), true);
}
if (sl != null) {
sl.tb_SearchClient.Text = value;
@@ -193,6 +194,7 @@ namespace WindowsFormsApp1.Delivery
sl.lbl_ID.Text = dataGridView1.Rows[idx].Cells["DLS_ID"].Value.ToString();
sl.lbl_PW.Text = dataGridView1.Rows[idx].Cells["DLS_PW"].Value.ToString();
sl.lbl_Area.Text = dataGridView1.Rows[idx].Cells["DLS_Area"].Value.ToString();
sl.SetArea(dataGridView1.Rows[idx].Cells["DLS_Area"].Value.ToString(), true);
}
}
}

View File

@@ -98,9 +98,9 @@
//
this.panel8.Controls.Add(this.dataGridView1);
this.panel8.Dock = System.Windows.Forms.DockStyle.Fill;
this.panel8.Location = new System.Drawing.Point(0, 105);
this.panel8.Location = new System.Drawing.Point(0, 103);
this.panel8.Name = "panel8";
this.panel8.Size = new System.Drawing.Size(362, 627);
this.panel8.Size = new System.Drawing.Size(362, 629);
this.panel8.TabIndex = 5;
//
// dataGridView1
@@ -117,7 +117,7 @@
this.dataGridView1.Name = "dataGridView1";
this.dataGridView1.RowHeadersWidth = 31;
this.dataGridView1.RowTemplate.Height = 23;
this.dataGridView1.Size = new System.Drawing.Size(362, 627);
this.dataGridView1.Size = new System.Drawing.Size(362, 629);
this.dataGridView1.TabIndex = 0;
this.dataGridView1.RowPostPaint += new System.Windows.Forms.DataGridViewRowPostPaintEventHandler(this.dataGridView1_RowPostPaint);
this.dataGridView1.KeyDown += new System.Windows.Forms.KeyEventHandler(this.dataGridView1_KeyDown);
@@ -146,7 +146,7 @@
this.panel5.Controls.Add(this.chk_spChar);
this.panel5.Controls.Add(this.btn_ApplyFilter);
this.panel5.Dock = System.Windows.Forms.DockStyle.Top;
this.panel5.Location = new System.Drawing.Point(0, 70);
this.panel5.Location = new System.Drawing.Point(0, 68);
this.panel5.Name = "panel5";
this.panel5.Size = new System.Drawing.Size(362, 35);
this.panel5.TabIndex = 4;
@@ -189,7 +189,7 @@
this.panel3.Controls.Add(this.btn_Search);
this.panel3.Controls.Add(this.rBtn_BookName);
this.panel3.Dock = System.Windows.Forms.DockStyle.Top;
this.panel3.Location = new System.Drawing.Point(0, 35);
this.panel3.Location = new System.Drawing.Point(0, 33);
this.panel3.Name = "panel3";
this.panel3.Size = new System.Drawing.Size(362, 35);
this.panel3.TabIndex = 4;
@@ -261,7 +261,7 @@
this.panel2.Dock = System.Windows.Forms.DockStyle.Top;
this.panel2.Location = new System.Drawing.Point(0, 0);
this.panel2.Name = "panel2";
this.panel2.Size = new System.Drawing.Size(362, 35);
this.panel2.Size = new System.Drawing.Size(362, 33);
this.panel2.TabIndex = 3;
//
// btn_Connect

View File

@@ -69,39 +69,12 @@ namespace WindowsFormsApp1.Mac
return;
}
string dlsArea = lbl_Area.Text;
string code = SetArea(dlsArea);
string url = "";
string url = webBrowser1.Url.AbsoluteUri;
webBrowser1.Navigate("https://reading.jnei.go.kr");
Delay(4000);
HtmlElementCollection combo = webBrowser1.Document.GetElementsByTagName("option");
foreach (HtmlElement Select in combo)
{
if (Select.Id == code)
url = Select.GetAttribute("value");
}
url = url.Replace("http", "https");
//webBrowser1.Navigate(url + "/r/newReading/member/loginForm.jsp");
webBrowser1.Document.GetElementById("headerLoginBtn").InvokeMember("click");
bool isWebComplite = false;
while (!isWebComplite)
{
Delay(1000);
if (tb_URL.Text.Contains("/r/newReading/member/loginForm.jsp"))
{
isWebComplite = true;
break;
}
}
Delay(5000);
if (isWebComplite)
DLS_Login(url);
}
#region Connect_SUB
@@ -112,24 +85,13 @@ namespace WindowsFormsApp1.Mac
MessageBox.Show("ID 혹은 PW가 없습니다.");
return;
}
string ID = lbl_ID.Text;
string PW = lbl_PW.Text;
string ID = lbl_ID.Text, PW = lbl_PW.Text;
url = webBrowser1.Document.GetElementById(SetArea(lbl_Area.Text)).GetAttribute("value");
HtmlElementCollection input = webBrowser1.Document.GetElementsByTagName("input");
foreach (HtmlElement login in input)
{
if (login.Id == "s_id")
login.SetAttribute("value", ID);
if (login.Id == "s_pwd")
login.SetAttribute("value", PW);
}
webBrowser1.Document.GetElementById("s_id").SetAttribute("value", ID);
webBrowser1.Document.GetElementById("s_pwd").SetAttribute("value", PW);
HtmlElementCollection button = webBrowser1.Document.GetElementsByTagName("button");
foreach (HtmlElement SearchButton in button)
{
if (SearchButton.Id == "s_login")
SearchButton.InvokeMember("click");
}
webBrowser1.Document.GetElementById("s_login").InvokeMember("click");
Delay(4000);
webBrowser1.Navigate(url + "/r/dls_new/bookInfo/collectionFormMA.jsp");
@@ -269,7 +231,7 @@ namespace WindowsFormsApp1.Mac
/// DLS지역 코드 변환
/// </summary>
/// <returns>코드</returns>
string SetArea(string dlsArea)
public string SetArea(string dlsArea, bool move = false)
{
string[] Area = {
"서울", "부산", "대구", "인천", "광주",
@@ -294,6 +256,9 @@ namespace WindowsFormsApp1.Mac
idx++;
}
if (move)
webBrowser1.Navigate(webBrowser1.Document.GetElementById(Code[idx]).GetAttribute("value"));
return Code[idx];
}

View File

@@ -93,39 +93,12 @@ namespace WindowsFormsApp1.DLS
return;
}
string dlsArea = lbl_Area.Text;
string code = SetArea(dlsArea);
string url = "";
string url = webBrowser1.Url.AbsoluteUri;
webBrowser1.Navigate("https://reading.jnei.go.kr");
Delay(4000);
HtmlElementCollection combo = webBrowser1.Document.GetElementsByTagName("option");
foreach (HtmlElement Select in combo)
{
if (Select.Id == code)
url = Select.GetAttribute("value");
}
url = url.Replace("http", "https");
//webBrowser1.Navigate(url + "/r/newReading/member/loginForm.jsp");
webBrowser1.Document.GetElementById("headerLoginBtn").InvokeMember("click");
bool isWebComplite = false;
while (!isWebComplite)
{
Delay(1000);
if (tb_URL.Text.Contains("/r/newReading/member/loginForm.jsp"))
{
isWebComplite = true;
break;
}
}
Delay(5000);
if (isWebComplite)
DLS_Login(url);
}
#region Connect_SUB
@@ -137,24 +110,13 @@ namespace WindowsFormsApp1.DLS
MessageBox.Show("ID 혹은 PW가 없습니다.");
return;
}
string ID = lbl_ID.Text;
string PW = lbl_PW.Text;
string ID = lbl_ID.Text, PW = lbl_PW.Text;
url = webBrowser1.Document.GetElementById(SetArea(lbl_Area.Text)).GetAttribute("value");
HtmlElementCollection input = webBrowser1.Document.GetElementsByTagName("input");
foreach (HtmlElement login in input)
{
if (login.Id == "s_id")
login.SetAttribute("value", ID);
if (login.Id == "s_pwd")
login.SetAttribute("value", PW);
}
webBrowser1.Document.GetElementById("s_id").SetAttribute("value", ID);
webBrowser1.Document.GetElementById("s_pwd").SetAttribute("value", PW);
HtmlElementCollection button = webBrowser1.Document.GetElementsByTagName("button");
foreach (HtmlElement SearchButton in button)
{
if (SearchButton.Id == "s_login")
SearchButton.InvokeMember("click");
}
webBrowser1.Document.GetElementById("s_login").InvokeMember("click");
Delay(4000);
webBrowser1.Navigate(url + "/r/dls_new/bookInfo/collectionFormMA.jsp");
@@ -165,7 +127,7 @@ namespace WindowsFormsApp1.DLS
/// DLS지역 코드 변환
/// </summary>
/// <returns>코드</returns>
string SetArea(string dlsArea)
public string SetArea(string dlsArea, bool move = false)
{
string[] Area = {
"서울", "부산", "대구", "인천", "광주",
@@ -185,12 +147,14 @@ namespace WindowsFormsApp1.DLS
foreach (string code in Area)
{
if (code == dlsArea)
{
break;
}
idx++;
}
if (move)
webBrowser1.Navigate(webBrowser1.Document.GetElementById(Code[idx]).GetAttribute("value"));
return Code[idx];
}

View File

@@ -3326,6 +3326,8 @@ namespace ExcelTest
{
Skill_Grid sg = new Skill_Grid();
sg.Excel_to_DataGridView(sender, e);
if (e.KeyCode == Keys.Delete)
sg.DataGrid_to_Delete(sender, e);
}

View File

@@ -4,6 +4,7 @@ using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Web.UI.WebControls;
using System.Windows.Forms;
using WindowsFormsApp1;
namespace UniMarc.
@@ -77,15 +78,18 @@ namespace UniMarc.마크
{ "48", "245", "245가 괄호 시작일 경우 [20], 괄호 시작이 아니며 100이나 110태그 사용시 [10], 해당 없을시 [00]" },
/////////
{ "49", "525", "525a를 500a로 변환 후 삭제" },
{ "50", "440", "440a를 830a로 복사" },
{ "51", "440", "440x를 490a로 복사" },
{ "52", "049", "049v를 090c로 복사" },
{ "53", "020", "020c를 950b로 복사" },
// { "49", "245", "245b -> 740a로 복사" },
// { "50", "440", "440a -> 830a로 복사" },
// { "51", "440", "440x -> 490a로 복사" },
{ "54", "100", "태그삭제" },
{ "55", "110", "태그삭제" },
/////////
// { "52", "440", "440n p x -> 490v [p-n-v 순서]로 변환" },
// { "53", "440", "440n p x -> 830 n p v로 변환" },
//
// { "54", "525", "525a를 500a로 부출 후 삭제" },
};
@@ -113,21 +117,58 @@ namespace UniMarc.마크
if (SplitMarc[a].Length < 2) continue;
string ContentTag = SplitMarc[a].Substring(0, 3);
TargetMarc = ViewMarc;
SplitMarc[a] = Macro_Index(idx, ContentTag, SplitMarc[a]);
TargetMarc = string.Join("\n", SplitMarc);
string MacroData = Macro_Index(idx, ContentTag, SplitMarc[a]);
SplitMarc[a] = MacroData;
}
List<string> result = new List<string>();
foreach (string Macro in SplitMarc)
{
if (Macro == "")
continue;
result.Add(Macro);
}
foreach (string i in idx)
{
ViewMarc = ChangeTagByIndex(i, ViewMarc);
}
// 반출용 마크로 변환
return st.made_Ori_marc(String.Join("\n", result));
}
private string ChangeTagByIndex(string idx, string ViewMarc)
{
// 525a를 500a로 부출 후 삭제
if (idx == "49")
ViewMarc = TagToOtherTag("525", "a", "500", "a", ViewMarc, " ", true);
// 440a를 830a로 복사
if (idx == "50")
ViewMarc = TagToOtherTag("440", "a", "830", "a", ViewMarc);
// 440x를 490a로 복사
if (idx == "51")
ViewMarc = TagToOtherTag("440", "a", "490", "a", ViewMarc);
// 049v를 090c로 복사
if (idx == "52")
ViewMarc = TagToOtherTag("049", "v", "090", "c", ViewMarc);
// 020c를 950b로 복사
if (idx == "53")
ViewMarc = TagToOtherTag("020", "c", "950", "b", ViewMarc);
return st.made_Ori_marc(String.Join("\n", SplitMarc));
return ViewMarc;
}
private string Macro_Index(string[] idx, string ContentTag, string Content)
{
string Target = Content;
string[] SplitContent = Content.Split('\t');
string Jisi = SplitContent[1];
string Target = SplitContent[2];
foreach (string i in idx)
{
Jisi = ChangeJisi(i, ContentTag, Jisi);
switch (ContentTag)
{
case "020": Target = Index_020(i, Target.Split('▼')); break;
@@ -145,6 +186,7 @@ namespace UniMarc.마크
case "500": Target = Index_500(i, Target.Split('▼')); break;
case "505": Target = Index_505(i, Target.Split('▼')); break;
case "520": Target = Index_520(i, Target.Split('▼')); break;
case "525": Target = Index_525(i, Target.Split('▼')); break;
case "536": Target = Index_536(i, Target.Split('▼')); break;
case "546": Target = Index_546(i, Target.Split('▼')); break;
case "650": Target = Index_650(i, Target.Split('▼')); break;
@@ -158,9 +200,36 @@ namespace UniMarc.마크
case "950": Target = Index_950(i, Target.Split('▼')); break;
}
}
return Target;
if (Target == "" || !Target.Contains("▲"))
return "";
return string.Format("{0}\t{1}\t{2}", ContentTag, Jisi, Target);
}
string ChangeJisi(string idx, string TagNum, string Jisi)
{
if (idx == "34" && TagNum == "049") return "0 ";
if (idx == "35" && TagNum == "100") return "1 ";
if (idx == "36" && TagNum == "100") return " ";
if (idx == "37" && TagNum == "490") return "10";
if (idx == "38" && TagNum == "500") return " ";
if (idx == "39" && TagNum == "505") return "00";
if (idx == "40" && TagNum == "700") return "1 ";
if (idx == "41" && TagNum == "710") return " ";
if (idx == "42" && TagNum == "740") return "02";
if (idx == "43" && TagNum == "830") return " 0";
if (idx == "44" && TagNum == "900") return "10";
if (idx == "45" && TagNum == "910") return " 0";
if (idx == "46" && TagNum == "940") return "0 ";
if (idx == "47" && TagNum == "950") return "0 ";
return Jisi;
}
#region IDX TAG NUM
/// <summary>
/// 020 매크로
/// </summary>
@@ -168,6 +237,7 @@ namespace UniMarc.마크
/// <returns>020태그 매크로 적용된 내용</returns>
private string Index_020(string idx, string[] SplitContent)
{
for (int a = 0; a < SplitContent.Length; a++)
{
if (a <= -1) continue;
@@ -189,11 +259,10 @@ namespace UniMarc.마크
/// <returns>매크로 적용된 내용</returns>
private string Index_049(string idx, string[] SplitContent)
{
for (int a = 0; a < SplitContent.Length; a++)
{
if (a <= -1) continue;
if (a == 0 && idx == "34") SplitContent[a] = "0 ";
}
return string.Join("▼", SplitContent);
}
@@ -213,21 +282,18 @@ namespace UniMarc.마크
if (a <= -1) continue;
}
return string.Join("▼", SplitContent);
}
private string Index_100(string idx, string[] SplitContent)
{
if (idx == "54")
return "";
isAuthorTag = true;
for (int a = 0; a < SplitContent.Length; a++)
{
if (a <= -1) continue;
if (a == 0 && idx == "35") SplitContent[a] = "1 ";
if (a == 0 && idx == "36") SplitContent[a] = " ";
}
return string.Join("▼", SplitContent);
}
@@ -238,6 +304,8 @@ namespace UniMarc.마크
/// <returns>110태그 매크로 적용된 내용</returns>
private string Index_110(string idx, string[] SplitContent)
{
if (idx == "55")
return "";
isAuthorTag = true;
for (int a = 0; a < SplitContent.Length; a++)
{
@@ -297,11 +365,11 @@ namespace UniMarc.마크
if (SplitContent[a].StartsWith("a") && idx == "48")
{
if (SplitContent[a].Contains("("))
SplitContent[0] = "20";
SplitContent[1] = "20";
else if (isAuthorTag)
SplitContent[0] = "10";
SplitContent[1] = "10";
else
SplitContent[0] = "00";
SplitContent[1] = "00";
}
// 두번째 $a 앞에 ":"
@@ -465,13 +533,6 @@ namespace UniMarc.마크
private string Index_440(string idx, string[] SplitContent)
{
// 440a -> 830a로 복사
if (idx == "50")
return TagToOtherTag("440", "a", "830", "a", TargetMarc);
// 440x -> 490a로 복사
if (idx == "51")
return TagToOtherTag("440", "a", "490", "a", TargetMarc);
for (int a = 0; a < SplitContent.Length; a++)
{
@@ -517,8 +578,6 @@ namespace UniMarc.마크
for (int a = 0; a < SplitContent.Length; a++)
{
if (a <= -1) continue;
if (a == 0 && idx == "37") SplitContent[a] = "10";
}
return string.Join("▼", SplitContent);
}
@@ -529,8 +588,6 @@ namespace UniMarc.마크
for (int a = 0; a < SplitContent.Length; a++)
{
if (a <= -1) continue;
if (a == 0 && idx == "38") SplitContent[a] = " ";
}
return string.Join("▼", SplitContent);
}
@@ -541,8 +598,6 @@ namespace UniMarc.마크
for (int a = 0; a < SplitContent.Length; a++)
{
if (a <= -1) continue;
if (a == 0 && idx == "39") SplitContent[a] = "00";
}
return string.Join("▼", SplitContent);
}
@@ -558,6 +613,17 @@ namespace UniMarc.마크
return string.Join("▼", SplitContent);
}
private string Index_525(string idx, string[] SplitContent)
{
for (int a = 0; a < SplitContent.Length; a++)
{
if (a <= 1) continue;
}
return string.Join("▼", SplitContent);
}
private string Index_536(string idx, string[] SplitContent)
{
if (idx == "31") return "";
@@ -597,8 +663,6 @@ namespace UniMarc.마크
for (int a = 0; a < SplitContent.Length; a++)
{
if (a <= -1) continue;
if (a == 0 && idx == "40") SplitContent[a] = "1 ";
}
return string.Join("▼", SplitContent);
}
@@ -609,8 +673,6 @@ namespace UniMarc.마크
for (int a = 0; a < SplitContent.Length; a++)
{
if (a <= -1) continue;
if (a == 0 && idx == "41") SplitContent[a] = " ";
}
return string.Join("▼", SplitContent);
}
@@ -621,8 +683,6 @@ namespace UniMarc.마크
for (int a = 0; a < SplitContent.Length; a++)
{
if (a <= -1) continue;
if (a == 0 && idx == "42") SplitContent[a] = "02";
}
return string.Join("▼", SplitContent);
}
@@ -633,8 +693,6 @@ namespace UniMarc.마크
{
if (a <= 1) continue;
if (a == 0 && idx == "43") SplitContent[a] = " 0";
// $n 앞에는 "." 적용
if (SplitContent[a].StartsWith("n") && idx == "25")
if (!SplitContent[a - 1].EndsWith("."))
@@ -670,8 +728,6 @@ namespace UniMarc.마크
for (int a = 0; a < SplitContent.Length; a++)
{
if (a <= -1) continue;
if (a == 0 && idx == "44") SplitContent[a] = "10";
}
return string.Join("▼", SplitContent);
}
@@ -682,8 +738,6 @@ namespace UniMarc.마크
for (int a = 0; a < SplitContent.Length; a++)
{
if (a <= -1) continue;
if (a == 0 && idx == "45") SplitContent[a] = " 0";
}
return string.Join("▼", SplitContent);
}
@@ -694,8 +748,6 @@ namespace UniMarc.마크
for (int a = 0; a < SplitContent.Length; a++)
{
if (a <= -1) continue;
if (a == 0 && idx == "46") SplitContent[a] = "0 ";
}
return string.Join("▼", SplitContent);
}
@@ -706,11 +758,10 @@ namespace UniMarc.마크
for (int a = 0; a < SplitContent.Length; a++)
{
if (a <= -1) continue;
if (a == 0 && idx == "47") SplitContent[a] = "0 ";
}
return string.Join("▼", SplitContent);
}
#endregion
/// <summary>

View File

@@ -28,16 +28,17 @@
/// </summary>
private void InitializeComponent()
{
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle8 = new System.Windows.Forms.DataGridViewCellStyle();
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle9 = new System.Windows.Forms.DataGridViewCellStyle();
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle10 = new System.Windows.Forms.DataGridViewCellStyle();
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle11 = new System.Windows.Forms.DataGridViewCellStyle();
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle12 = new System.Windows.Forms.DataGridViewCellStyle();
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle13 = new System.Windows.Forms.DataGridViewCellStyle();
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle14 = new System.Windows.Forms.DataGridViewCellStyle();
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle1 = new System.Windows.Forms.DataGridViewCellStyle();
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle2 = new System.Windows.Forms.DataGridViewCellStyle();
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle3 = new System.Windows.Forms.DataGridViewCellStyle();
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle4 = new System.Windows.Forms.DataGridViewCellStyle();
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle5 = new System.Windows.Forms.DataGridViewCellStyle();
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle6 = new System.Windows.Forms.DataGridViewCellStyle();
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle7 = new System.Windows.Forms.DataGridViewCellStyle();
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(Marc_Plan));
this.panel1 = new System.Windows.Forms.Panel();
this.panel4 = new System.Windows.Forms.Panel();
this.btn_ApplyMacro = new System.Windows.Forms.Button();
this.btn_Save = new System.Windows.Forms.Button();
this.btn_Excel = new System.Windows.Forms.Button();
this.cb_EncodingType = new System.Windows.Forms.ComboBox();
@@ -80,6 +81,8 @@
this.marc = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.search_tag = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.colCheck = new System.Windows.Forms.DataGridViewCheckBoxColumn();
this.WorkCopy = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.WorkFix = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.checkBox1 = new System.Windows.Forms.CheckBox();
this.panel2 = new System.Windows.Forms.Panel();
this.panel5 = new System.Windows.Forms.Panel();
@@ -127,8 +130,6 @@
this.panel7 = new System.Windows.Forms.Panel();
this.printDocument1 = new System.Drawing.Printing.PrintDocument();
this.printPreviewDialog1 = new System.Windows.Forms.PrintPreviewDialog();
this.WorkCopy = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.WorkFix = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.panel1.SuspendLayout();
this.panel4.SuspendLayout();
this.panel3.SuspendLayout();
@@ -147,12 +148,13 @@
this.panel1.Dock = System.Windows.Forms.DockStyle.Top;
this.panel1.Location = new System.Drawing.Point(0, 0);
this.panel1.Name = "panel1";
this.panel1.Size = new System.Drawing.Size(1462, 35);
this.panel1.Size = new System.Drawing.Size(1661, 35);
this.panel1.TabIndex = 0;
//
// panel4
//
this.panel4.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.panel4.Controls.Add(this.btn_ApplyMacro);
this.panel4.Controls.Add(this.btn_Save);
this.panel4.Controls.Add(this.btn_Excel);
this.panel4.Controls.Add(this.cb_EncodingType);
@@ -162,6 +164,16 @@
this.panel4.Size = new System.Drawing.Size(457, 29);
this.panel4.TabIndex = 9;
//
// btn_ApplyMacro
//
this.btn_ApplyMacro.Location = new System.Drawing.Point(95, 2);
this.btn_ApplyMacro.Name = "btn_ApplyMacro";
this.btn_ApplyMacro.Size = new System.Drawing.Size(86, 23);
this.btn_ApplyMacro.TabIndex = 11;
this.btn_ApplyMacro.Text = "매크로 적용";
this.btn_ApplyMacro.UseVisualStyleBackColor = true;
this.btn_ApplyMacro.Click += new System.EventHandler(this.btn_ApplyMacro_Click);
//
// btn_Save
//
this.btn_Save.Location = new System.Drawing.Point(3, 2);
@@ -174,7 +186,7 @@
//
// btn_Excel
//
this.btn_Excel.Location = new System.Drawing.Point(338, 2);
this.btn_Excel.Location = new System.Drawing.Point(377, 2);
this.btn_Excel.Name = "btn_Excel";
this.btn_Excel.Size = new System.Drawing.Size(75, 23);
this.btn_Excel.TabIndex = 8;
@@ -186,14 +198,14 @@
//
this.cb_EncodingType.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
this.cb_EncodingType.FormattingEnabled = true;
this.cb_EncodingType.Location = new System.Drawing.Point(130, 3);
this.cb_EncodingType.Location = new System.Drawing.Point(212, 3);
this.cb_EncodingType.Name = "cb_EncodingType";
this.cb_EncodingType.Size = new System.Drawing.Size(81, 20);
this.cb_EncodingType.TabIndex = 9;
//
// btn_Output
//
this.btn_Output.Location = new System.Drawing.Point(217, 2);
this.btn_Output.Location = new System.Drawing.Point(299, 2);
this.btn_Output.Name = "btn_Output";
this.btn_Output.Size = new System.Drawing.Size(75, 23);
this.btn_Output.TabIndex = 9;
@@ -357,14 +369,14 @@
this.dataGridView1.BackgroundColor = System.Drawing.SystemColors.Control;
this.dataGridView1.BorderStyle = System.Windows.Forms.BorderStyle.None;
this.dataGridView1.ColumnHeadersBorderStyle = System.Windows.Forms.DataGridViewHeaderBorderStyle.Single;
dataGridViewCellStyle8.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleCenter;
dataGridViewCellStyle8.BackColor = System.Drawing.SystemColors.AppWorkspace;
dataGridViewCellStyle8.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
dataGridViewCellStyle8.ForeColor = System.Drawing.SystemColors.WindowText;
dataGridViewCellStyle8.SelectionBackColor = System.Drawing.SystemColors.Highlight;
dataGridViewCellStyle8.SelectionForeColor = System.Drawing.SystemColors.HighlightText;
dataGridViewCellStyle8.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
this.dataGridView1.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle8;
dataGridViewCellStyle1.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleCenter;
dataGridViewCellStyle1.BackColor = System.Drawing.SystemColors.AppWorkspace;
dataGridViewCellStyle1.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
dataGridViewCellStyle1.ForeColor = System.Drawing.SystemColors.WindowText;
dataGridViewCellStyle1.SelectionBackColor = System.Drawing.SystemColors.Highlight;
dataGridViewCellStyle1.SelectionForeColor = System.Drawing.SystemColors.HighlightText;
dataGridViewCellStyle1.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
this.dataGridView1.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle1;
this.dataGridView1.ColumnHeadersHeight = 25;
this.dataGridView1.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.DisableResizing;
this.dataGridView1.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] {
@@ -397,11 +409,12 @@
this.dataGridView1.Location = new System.Drawing.Point(0, 0);
this.dataGridView1.Name = "dataGridView1";
this.dataGridView1.RowTemplate.Height = 23;
this.dataGridView1.Size = new System.Drawing.Size(1462, 549);
this.dataGridView1.Size = new System.Drawing.Size(1661, 549);
this.dataGridView1.TabIndex = 1;
this.dataGridView1.CellClick += new System.Windows.Forms.DataGridViewCellEventHandler(this.dataGridView1_CellClick);
this.dataGridView1.CellDoubleClick += new System.Windows.Forms.DataGridViewCellEventHandler(this.dataGridView1_CellDoubleClick);
this.dataGridView1.RowPostPaint += new System.Windows.Forms.DataGridViewRowPostPaintEventHandler(this.dataGridView1_RowPostPaint);
this.dataGridView1.SortCompare += new System.Windows.Forms.DataGridViewSortCompareEventHandler(this.dataGridView1_SortCompare);
this.dataGridView1.KeyDown += new System.Windows.Forms.KeyEventHandler(this.dataGridView1_KeyDown);
//
// idx
@@ -421,8 +434,8 @@
//
// reg_num
//
dataGridViewCellStyle9.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(128)))), ((int)(((byte)(255)))), ((int)(((byte)(255)))));
this.reg_num.DefaultCellStyle = dataGridViewCellStyle9;
dataGridViewCellStyle2.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(128)))), ((int)(((byte)(255)))), ((int)(((byte)(255)))));
this.reg_num.DefaultCellStyle = dataGridViewCellStyle2;
this.reg_num.FillWeight = 130.9363F;
this.reg_num.HeaderText = "등록번호";
this.reg_num.Name = "reg_num";
@@ -430,8 +443,8 @@
//
// class_code
//
dataGridViewCellStyle10.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(128)))), ((int)(((byte)(255)))), ((int)(((byte)(255)))));
this.class_code.DefaultCellStyle = dataGridViewCellStyle10;
dataGridViewCellStyle3.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(128)))), ((int)(((byte)(255)))), ((int)(((byte)(255)))));
this.class_code.DefaultCellStyle = dataGridViewCellStyle3;
this.class_code.FillWeight = 76.41504F;
this.class_code.HeaderText = "분류";
this.class_code.Name = "class_code";
@@ -439,8 +452,8 @@
//
// author_code
//
dataGridViewCellStyle11.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(128)))), ((int)(((byte)(255)))), ((int)(((byte)(255)))));
this.author_code.DefaultCellStyle = dataGridViewCellStyle11;
dataGridViewCellStyle4.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(128)))), ((int)(((byte)(255)))), ((int)(((byte)(255)))));
this.author_code.DefaultCellStyle = dataGridViewCellStyle4;
this.author_code.FillWeight = 77.02635F;
this.author_code.HeaderText = "저자기호";
this.author_code.Name = "author_code";
@@ -448,8 +461,8 @@
//
// volume
//
dataGridViewCellStyle12.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(128)))), ((int)(((byte)(255)))), ((int)(((byte)(255)))));
this.volume.DefaultCellStyle = dataGridViewCellStyle12;
dataGridViewCellStyle5.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(128)))), ((int)(((byte)(255)))), ((int)(((byte)(255)))));
this.volume.DefaultCellStyle = dataGridViewCellStyle5;
this.volume.FillWeight = 38.80909F;
this.volume.HeaderText = "V";
this.volume.Name = "volume";
@@ -458,8 +471,8 @@
//
// copy
//
dataGridViewCellStyle13.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(128)))), ((int)(((byte)(255)))), ((int)(((byte)(255)))));
this.copy.DefaultCellStyle = dataGridViewCellStyle13;
dataGridViewCellStyle6.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(128)))), ((int)(((byte)(255)))), ((int)(((byte)(255)))));
this.copy.DefaultCellStyle = dataGridViewCellStyle6;
this.copy.FillWeight = 40.14827F;
this.copy.HeaderText = "C";
this.copy.Name = "copy";
@@ -468,8 +481,8 @@
//
// prefix
//
dataGridViewCellStyle14.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(128)))), ((int)(((byte)(255)))), ((int)(((byte)(255)))));
this.prefix.DefaultCellStyle = dataGridViewCellStyle14;
dataGridViewCellStyle7.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(128)))), ((int)(((byte)(255)))), ((int)(((byte)(255)))));
this.prefix.DefaultCellStyle = dataGridViewCellStyle7;
this.prefix.FillWeight = 41.51828F;
this.prefix.HeaderText = "F";
this.prefix.Name = "prefix";
@@ -558,7 +571,6 @@
//
this.marc.HeaderText = "마크";
this.marc.Name = "marc";
this.marc.Visible = false;
//
// search_tag
//
@@ -579,13 +591,23 @@
this.colCheck.TrueValue = "T";
this.colCheck.Width = 27;
//
// WorkCopy
//
this.WorkCopy.HeaderText = "복본 작업용 열";
this.WorkCopy.Name = "WorkCopy";
//
// WorkFix
//
this.WorkFix.HeaderText = "별치 작업용 열";
this.WorkFix.Name = "WorkFix";
//
// checkBox1
//
this.checkBox1.AutoSize = true;
this.checkBox1.BackgroundImageLayout = System.Windows.Forms.ImageLayout.None;
this.checkBox1.Checked = true;
this.checkBox1.CheckState = System.Windows.Forms.CheckState.Checked;
this.checkBox1.Location = new System.Drawing.Point(1420, 6);
this.checkBox1.Location = new System.Drawing.Point(1520, 6);
this.checkBox1.Name = "checkBox1";
this.checkBox1.Size = new System.Drawing.Size(15, 14);
this.checkBox1.TabIndex = 2;
@@ -614,7 +636,7 @@
this.panel5.Dock = System.Windows.Forms.DockStyle.Top;
this.panel5.Location = new System.Drawing.Point(0, 35);
this.panel5.Name = "panel5";
this.panel5.Size = new System.Drawing.Size(1462, 35);
this.panel5.Size = new System.Drawing.Size(1661, 35);
this.panel5.TabIndex = 9;
//
// chkBox_AllowDrop
@@ -673,7 +695,7 @@
this.panel6.Dock = System.Windows.Forms.DockStyle.Bottom;
this.panel6.Location = new System.Drawing.Point(0, 619);
this.panel6.Name = "panel6";
this.panel6.Size = new System.Drawing.Size(1462, 59);
this.panel6.Size = new System.Drawing.Size(1661, 59);
this.panel6.TabIndex = 10;
//
// chk_Alignment
@@ -1060,7 +1082,7 @@
this.panel7.Dock = System.Windows.Forms.DockStyle.Fill;
this.panel7.Location = new System.Drawing.Point(0, 70);
this.panel7.Name = "panel7";
this.panel7.Size = new System.Drawing.Size(1462, 549);
this.panel7.Size = new System.Drawing.Size(1661, 549);
this.panel7.TabIndex = 11;
//
// printDocument1
@@ -1078,21 +1100,11 @@
this.printPreviewDialog1.Name = "printPreviewDialog1";
this.printPreviewDialog1.Visible = false;
//
// WorkCopy
//
this.WorkCopy.HeaderText = "복본 작업용 열";
this.WorkCopy.Name = "WorkCopy";
//
// WorkFix
//
this.WorkFix.HeaderText = "별치 작업용 열";
this.WorkFix.Name = "WorkFix";
//
// Marc_Plan
//
this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 12F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(1462, 678);
this.ClientSize = new System.Drawing.Size(1661, 678);
this.Controls.Add(this.panel7);
this.Controls.Add(this.panel6);
this.Controls.Add(this.panel5);
@@ -1129,28 +1141,6 @@
private System.Windows.Forms.Label label2;
private System.Windows.Forms.Label label1;
private System.Windows.Forms.Button btn_ChangeTag;
private System.Windows.Forms.DataGridViewTextBoxColumn idx;
private System.Windows.Forms.DataGridViewTextBoxColumn num;
private System.Windows.Forms.DataGridViewTextBoxColumn reg_num;
private System.Windows.Forms.DataGridViewTextBoxColumn class_code;
private System.Windows.Forms.DataGridViewTextBoxColumn author_code;
private System.Windows.Forms.DataGridViewTextBoxColumn volume;
private System.Windows.Forms.DataGridViewTextBoxColumn copy;
private System.Windows.Forms.DataGridViewTextBoxColumn prefix;
private System.Windows.Forms.DataGridViewTextBoxColumn gu;
private System.Windows.Forms.DataGridViewTextBoxColumn ISBN;
private System.Windows.Forms.DataGridViewTextBoxColumn book_name;
private System.Windows.Forms.DataGridViewTextBoxColumn s_book_name1;
private System.Windows.Forms.DataGridViewTextBoxColumn s_book_num1;
private System.Windows.Forms.DataGridViewTextBoxColumn s_book_name2;
private System.Windows.Forms.DataGridViewTextBoxColumn s_book_num2;
private System.Windows.Forms.DataGridViewTextBoxColumn author;
private System.Windows.Forms.DataGridViewTextBoxColumn book_comp;
private System.Windows.Forms.DataGridViewTextBoxColumn price;
private System.Windows.Forms.DataGridViewTextBoxColumn midx;
private System.Windows.Forms.DataGridViewTextBoxColumn marc;
private System.Windows.Forms.DataGridViewTextBoxColumn search_tag;
private System.Windows.Forms.DataGridViewCheckBoxColumn colCheck;
private System.Windows.Forms.Panel panel3;
private System.Windows.Forms.ComboBox cb_authorType;
private System.Windows.Forms.ComboBox cb_divType;
@@ -1210,6 +1200,29 @@
private System.Windows.Forms.CheckBox chk_Alignment;
private System.Windows.Forms.TextBox tb_NumSize;
private System.Windows.Forms.Label label24;
private System.Windows.Forms.Button btn_ApplyMacro;
private System.Windows.Forms.DataGridViewTextBoxColumn idx;
private System.Windows.Forms.DataGridViewTextBoxColumn num;
private System.Windows.Forms.DataGridViewTextBoxColumn reg_num;
private System.Windows.Forms.DataGridViewTextBoxColumn class_code;
private System.Windows.Forms.DataGridViewTextBoxColumn author_code;
private System.Windows.Forms.DataGridViewTextBoxColumn volume;
private System.Windows.Forms.DataGridViewTextBoxColumn copy;
private System.Windows.Forms.DataGridViewTextBoxColumn prefix;
private System.Windows.Forms.DataGridViewTextBoxColumn gu;
private System.Windows.Forms.DataGridViewTextBoxColumn ISBN;
private System.Windows.Forms.DataGridViewTextBoxColumn book_name;
private System.Windows.Forms.DataGridViewTextBoxColumn s_book_name1;
private System.Windows.Forms.DataGridViewTextBoxColumn s_book_num1;
private System.Windows.Forms.DataGridViewTextBoxColumn s_book_name2;
private System.Windows.Forms.DataGridViewTextBoxColumn s_book_num2;
private System.Windows.Forms.DataGridViewTextBoxColumn author;
private System.Windows.Forms.DataGridViewTextBoxColumn book_comp;
private System.Windows.Forms.DataGridViewTextBoxColumn price;
private System.Windows.Forms.DataGridViewTextBoxColumn midx;
private System.Windows.Forms.DataGridViewTextBoxColumn marc;
private System.Windows.Forms.DataGridViewTextBoxColumn search_tag;
private System.Windows.Forms.DataGridViewCheckBoxColumn colCheck;
private System.Windows.Forms.DataGridViewTextBoxColumn WorkCopy;
private System.Windows.Forms.DataGridViewTextBoxColumn WorkFix;
}

View File

@@ -1,4 +1,5 @@
using System;
using ExcelTest;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
@@ -65,6 +66,7 @@ namespace WindowsFormsApp1.Mac
}
#region SelectList_Sub
public void mk_Grid(string ListName, string date, string[] Grid)
{
btn_Select_List.Text = ListName;
@@ -74,7 +76,10 @@ namespace WindowsFormsApp1.Mac
string Table = "Specs_Marc";
String_Text st = new String_Text();
// L V C F A B
string[] GetTag = { "049v", "049c", "049f" };
string[] GetTag2 = { "090a", "090b" };
// idx
// 연번 등록번호 분류기호 저자기호 V(049v,볼륨)
// C(049c,복본) F(049f,별치) 구분(이용자) ISBN 도서명
@@ -116,10 +121,29 @@ namespace WindowsFormsApp1.Mac
if (a % 16 == 13) Grid[17] = ary[a]; // price
if (a % 16 == 14) Grid[18] = ary[a]; // midx
if (a % 16 == 15) { Grid[19] = ary[a]; // marc
string[] vcf = st.Take_Tag(ary[a], GetTag);
Grid[5] = vcf[0];
Grid[6] = vcf[1];
Grid[7] = vcf[2];
string[] ab = st.Take_Tag(ary[a], GetTag2);
if (ab[0] != "")
Grid[19] = Grid[19].Replace(ab[0], Grid[3]);
if (ab[1] != "")
Grid[19] = Grid[19].Replace(ab[1], Grid[4]);
vcf = new string[] { "", "", "" };
vcf[0] = string.Format("▼a{0}", Grid[3]);
vcf[1] = string.Format("▼b{0}", Grid[4]);
if (Grid[5] != "")
vcf[2] = string.Format("▼c{0}", Grid[5]);
string AddTag = string.Format("090\t \t{0}{1}{2}▲", vcf[0], vcf[1], vcf[2]);
string TypeView = ConvertMarcType(Grid[19]);
Grid[19] = st.made_Ori_marc(AddTagInMarc(AddTag, TypeView));
dataGridView1.Rows.Add(Grid);
}
}
@@ -472,7 +496,63 @@ namespace WindowsFormsApp1.Mac
private void btn_Output_Click(object sender, EventArgs e)
{
String_Text st = new String_Text();
Set_Macro sm = new Set_Macro();
string Marc_data = string.Empty;
string FileEncodingType = "";
switch (cb_EncodingType.SelectedIndex)
{
case 0: FileEncodingType = "ANSI"; break;
case 1: FileEncodingType = "UTF-8"; break;
case 2: FileEncodingType = "UniCode"; break;
default: break;
}
for (int a = 0; a < dataGridView1.Rows.Count; a++)
{
if (dataGridView1.Rows[a].Cells["marc"].Value.ToString() == "" &&
dataGridView1.Rows[a].Cells["marc"].Value == null)
continue;
if (dataGridView1.Rows[a].Cells["colCheck"].Value.ToString() != "T")
continue;
string marc = dataGridView1.Rows[a].Cells["Marc"].Value.ToString().Replace("₩", "\\");
marc = st.ConvertMarcType(marc);
marc = st.made_Ori_marc(marc, FileEncodingType);
Marc_data += marc;
}
string FileName;
SaveFileDialog saveFileDialog = new SaveFileDialog();
saveFileDialog.Title = "저장 경로를 지정하세요.";
saveFileDialog.OverwritePrompt = true;
saveFileDialog.Filter = "마크 파일 (*.mrc)|*.mrc|모든 파일 (*.*)|*.*";
if (saveFileDialog.ShowDialog() == DialogResult.OK)
{
if (FileEncodingType == "ANSI") {
FileName = saveFileDialog.FileName;
File.WriteAllText(FileName, Marc_data, Encoding.Default);
}
else if (FileEncodingType == "UTF-8") {
FileName = saveFileDialog.FileName;
File.WriteAllText(FileName, Marc_data, Encoding.UTF8);
}
else if (FileEncodingType == "UniCode") {
FileName = saveFileDialog.FileName;
File.WriteAllText(FileName, Marc_data, Encoding.Unicode);
}
}
MessageBox.Show("반출되었습니다!");
}
private void btn_ApplyMacro_Click(object sender, EventArgs e)
{
Set_Macro sm = new Set_Macro(this, dataGridView1);
String_Text st = new String_Text();
string FileEncodingType = "";
@@ -501,7 +581,7 @@ namespace WindowsFormsApp1.Mac
}
sm.ViewMarcArray = MarcArray;
sm.FileType = FileEncodingType;
// sm.FileType = FileEncodingType;
sm.Show();
}
@@ -554,6 +634,9 @@ namespace WindowsFormsApp1.Mac
private void dataGridView1_CellValueChanged(object sender, DataGridViewCellEventArgs e)
{
String_Text st = new String_Text();
int row = e.RowIndex;
int col = dataGridView1.CurrentCell.ColumnIndex;
@@ -567,8 +650,9 @@ namespace WindowsFormsApp1.Mac
}
string Marc = dataGridView1.Rows[row].Cells["marc"].Value.ToString();
string TypeView = ConvertMarcType(Marc);
string AddTag;
string AddTag = "";
if (col == 2 || col == 5 || col == 6 || col == 7)
{
string L = dataGridView1.Rows[row].Cells[2].Value.ToString();
@@ -589,12 +673,14 @@ namespace WindowsFormsApp1.Mac
F = string.Format("▼f{0}", F);
AddTag = string.Format("049\t \t{0}{1}{2}{3}▲", L, V, C, F);
TypeView = AddTagInMarc(AddTag, TypeView);
}
if (col == 3 || col == 4 || col == 5)
{
string A = dataGridView1.Rows[row].Cells[3].Value.ToString();
string B = dataGridView1.Rows[row].Cells[4].Value.ToString();
string C = dataGridView1.Rows[row].Cells[5].Value.ToString();
string V = dataGridView1.Rows[row].Cells[5].Value.ToString();
if (A != "")
A = string.Format("▼a{0}", A);
@@ -602,17 +688,14 @@ namespace WindowsFormsApp1.Mac
if (B != "")
B = string.Format("▼b{0}", B);
if (C != "")
C = string.Format("▼c{0}", C);
if (V != "")
V = string.Format("▼c{0}", V);
AddTag = string.Format("090\t \t{0}{1}{2}▲", A, B, C);
AddTag = string.Format("090\t \t{0}{1}{2}▲", A, B, V);
TypeView = AddTagInMarc(AddTag, TypeView);
}
string TypeView = ConvertMarcType(Marc);
string AddMarc = AddTagInMarc(AddTag, TypeView);
String_Text st = new String_Text();
dataGridView1.Rows[row].Cells["marc"].Value = st.made_Ori_marc(AddMarc);
dataGridView1.Rows[row].Cells["marc"].Value = st.made_Ori_marc(TypeView);
}
}
@@ -664,6 +747,12 @@ namespace WindowsFormsApp1.Mac
return result;
}
/// <summary>
/// 추가하고 싶은 태그를 뷰형태의 마크에 추가하는 함수.
/// </summary>
/// <param name="Tag">추가할 태그 (태그명\t지시기호\t태그내용)</param>
/// <param name="TypeView">뷰형태의 마크</param>
/// <returns></returns>
string AddTagInMarc(string Tag, string TypeView)
{
if (Tag.Length < 3) return "";
@@ -820,6 +909,9 @@ namespace WindowsFormsApp1.Mac
List<string> result = new List<string>();
for (int a = 0; a < dataGridView1.Rows.Count; a++)
{
if (dataGridView1.Rows[a].Cells["colCheck"].Value.ToString() != "T")
continue;
string classSymbol = dataGridView1.Rows[a].Cells["class_code"].Value.ToString();
string authorSymbol = dataGridView1.Rows[a].Cells["author_code"].Value.ToString();
string count = dataGridView1.Rows[a].Cells["copy"].Value.ToString();
@@ -895,5 +987,15 @@ namespace WindowsFormsApp1.Mac
{
tb_NumSize.Enabled = chk_Num.Checked;
}
private void dataGridView1_SortCompare(object sender, DataGridViewSortCompareEventArgs e)
{
if (e.Column.Name.Equals("num"))
{
int a = int.Parse(e.CellValue1.ToString()), b = int.Parse(e.CellValue2.ToString());
e.SortResult = a.CompareTo(b);
e.Handled = true;
}
}
}
}

View File

@@ -154,6 +154,7 @@ namespace UniMarc.마크
// ISBN, book_name, s_book_name1, s_book_num1, author, book_comp, pubdate, price, tag008, class_symbol
string[] Search = { "020a", "245a", "440a", "440v", "245d", "260b", "260c", "950b", "008", "056a" };
insert_marc_data[14] = marc.List_Book.Rows[row[a]].Cells["db_marc"].Value.ToString();
insert_marc_data[15] = marc.List_Book.Rows[row[a]].Cells["url"].Value.ToString();
insert_marc_data[16] = marc.List_Book.Rows[row[a]].Cells["count"].Value.ToString();
@@ -177,10 +178,25 @@ namespace UniMarc.마크
//UPDATE: [22.09.20 추가] 245d에 [외]가 있는 경우 저자가 아닌 출판사로 저자기호 생성
if (Author_res[3].IndexOf("[외]") > -1) Author[0] = Marc[5];
string tmp_ViewMarc = st.ConvertMarcType(insert_marc_data[14]);
// 마크에서 추출한 데이터 DB에 적용하기 위한 반복문
for (int b = 0; b < Marc.Length; b++)
{
insert_marc_data[b + 3] = Marc[b];
// 분류기호 설정값적용대로 가져오기.
if (b == 9) {
string class_symbol = st.TakeTag_ConditionContent(tmp_ViewMarc, "056a", "056" + cb_divNum.Text);
if (class_symbol != "")
insert_marc_data[b + 3] = class_symbol;
}
}
// 마크 분류기호 설정값대로 적용
tmp_ViewMarc = st.RemoveTagNumber(tmp_ViewMarc, "056");
tmp_ViewMarc = st.AddTagInMarc(string.Format("056\t \t▼a{0}▼2{1}▲", insert_marc_data[12], cb_divNum.Text), tmp_ViewMarc);
insert_marc_data[14] = st.made_Ori_marc(tmp_ViewMarc);
if (Author[0].Length < 1) {
MessageBox.Show(row[a] + "번째의 저자를 확인해주세요. \n (100a, 110a, 111a 중 1개 필수)");

View File

@@ -28,11 +28,11 @@
/// </summary>
private void InitializeComponent()
{
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle1 = new System.Windows.Forms.DataGridViewCellStyle();
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle2 = new System.Windows.Forms.DataGridViewCellStyle();
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle3 = new System.Windows.Forms.DataGridViewCellStyle();
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle4 = new System.Windows.Forms.DataGridViewCellStyle();
this.panel1 = new System.Windows.Forms.Panel();
this.cb_EncodingType = new System.Windows.Forms.ComboBox();
this.btn_MakeFile = new System.Windows.Forms.Button();
this.btn_ApplyMacro = new System.Windows.Forms.Button();
this.cb_SearchList = new System.Windows.Forms.ComboBox();
this.btn_ListRemove = new System.Windows.Forms.Button();
this.btn_ListSave = new System.Windows.Forms.Button();
@@ -40,11 +40,11 @@
this.btn_Close = new System.Windows.Forms.Button();
this.label1 = new System.Windows.Forms.Label();
this.MacroGrid = new System.Windows.Forms.DataGridView();
this.panel3 = new System.Windows.Forms.Panel();
this.idx = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.TagNum = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.Macro = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.Check = new System.Windows.Forms.DataGridViewCheckBoxColumn();
this.panel3 = new System.Windows.Forms.Panel();
this.panel1.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.MacroGrid)).BeginInit();
this.panel3.SuspendLayout();
@@ -54,7 +54,7 @@
//
this.panel1.BackColor = System.Drawing.SystemColors.AppWorkspace;
this.panel1.Controls.Add(this.cb_EncodingType);
this.panel1.Controls.Add(this.btn_MakeFile);
this.panel1.Controls.Add(this.btn_ApplyMacro);
this.panel1.Controls.Add(this.cb_SearchList);
this.panel1.Controls.Add(this.btn_ListRemove);
this.panel1.Controls.Add(this.btn_ListSave);
@@ -80,15 +80,15 @@
this.cb_EncodingType.Size = new System.Drawing.Size(81, 20);
this.cb_EncodingType.TabIndex = 10;
//
// btn_MakeFile
// btn_ApplyMacro
//
this.btn_MakeFile.Location = new System.Drawing.Point(668, 6);
this.btn_MakeFile.Name = "btn_MakeFile";
this.btn_MakeFile.Size = new System.Drawing.Size(75, 23);
this.btn_MakeFile.TabIndex = 5;
this.btn_MakeFile.Text = "마크 반출";
this.btn_MakeFile.UseVisualStyleBackColor = true;
this.btn_MakeFile.Click += new System.EventHandler(this.btn_MakeFile_Click);
this.btn_ApplyMacro.Location = new System.Drawing.Point(668, 6);
this.btn_ApplyMacro.Name = "btn_ApplyMacro";
this.btn_ApplyMacro.Size = new System.Drawing.Size(78, 23);
this.btn_ApplyMacro.TabIndex = 5;
this.btn_ApplyMacro.Text = "매크로 적용";
this.btn_ApplyMacro.UseVisualStyleBackColor = true;
this.btn_ApplyMacro.Click += new System.EventHandler(this.btn_ApplyMacro_Click);
//
// cb_SearchList
//
@@ -153,14 +153,14 @@
//
this.MacroGrid.AllowUserToAddRows = false;
this.MacroGrid.AllowUserToDeleteRows = false;
dataGridViewCellStyle1.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleCenter;
dataGridViewCellStyle1.BackColor = System.Drawing.SystemColors.Control;
dataGridViewCellStyle1.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
dataGridViewCellStyle1.ForeColor = System.Drawing.SystemColors.WindowText;
dataGridViewCellStyle1.SelectionBackColor = System.Drawing.SystemColors.Highlight;
dataGridViewCellStyle1.SelectionForeColor = System.Drawing.SystemColors.HighlightText;
dataGridViewCellStyle1.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
this.MacroGrid.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle1;
dataGridViewCellStyle3.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleCenter;
dataGridViewCellStyle3.BackColor = System.Drawing.SystemColors.Control;
dataGridViewCellStyle3.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
dataGridViewCellStyle3.ForeColor = System.Drawing.SystemColors.WindowText;
dataGridViewCellStyle3.SelectionBackColor = System.Drawing.SystemColors.Highlight;
dataGridViewCellStyle3.SelectionForeColor = System.Drawing.SystemColors.HighlightText;
dataGridViewCellStyle3.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
this.MacroGrid.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle3;
this.MacroGrid.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
this.MacroGrid.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] {
this.idx,
@@ -176,15 +176,6 @@
this.MacroGrid.TabIndex = 0;
this.MacroGrid.CellClick += new System.Windows.Forms.DataGridViewCellEventHandler(this.MacroGrid_CellClick);
//
// panel3
//
this.panel3.Controls.Add(this.MacroGrid);
this.panel3.Dock = System.Windows.Forms.DockStyle.Fill;
this.panel3.Location = new System.Drawing.Point(0, 35);
this.panel3.Name = "panel3";
this.panel3.Size = new System.Drawing.Size(900, 572);
this.panel3.TabIndex = 3;
//
// idx
//
this.idx.HeaderText = "idx";
@@ -195,8 +186,8 @@
//
// TagNum
//
dataGridViewCellStyle2.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleCenter;
this.TagNum.DefaultCellStyle = dataGridViewCellStyle2;
dataGridViewCellStyle4.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleCenter;
this.TagNum.DefaultCellStyle = dataGridViewCellStyle4;
this.TagNum.HeaderText = "태그번호";
this.TagNum.Name = "TagNum";
this.TagNum.ReadOnly = true;
@@ -217,6 +208,15 @@
this.Check.TrueValue = "T";
this.Check.Width = 40;
//
// panel3
//
this.panel3.Controls.Add(this.MacroGrid);
this.panel3.Dock = System.Windows.Forms.DockStyle.Fill;
this.panel3.Location = new System.Drawing.Point(0, 35);
this.panel3.Name = "panel3";
this.panel3.Size = new System.Drawing.Size(900, 572);
this.panel3.TabIndex = 3;
//
// Set_Macro
//
this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 12F);
@@ -247,7 +247,7 @@
private System.Windows.Forms.Button btn_ListRemove;
private System.Windows.Forms.DataGridViewCheckBoxColumn Save_Check;
private System.Windows.Forms.ComboBox cb_SearchList;
private System.Windows.Forms.Button btn_MakeFile;
private System.Windows.Forms.Button btn_ApplyMacro;
private System.Windows.Forms.ComboBox cb_EncodingType;
private System.Windows.Forms.DataGridViewTextBoxColumn idx;
private System.Windows.Forms.DataGridViewTextBoxColumn TagNum;

View File

@@ -16,8 +16,10 @@ namespace WindowsFormsApp1.Mac
public partial class Set_Macro : Form
{
Main main;
Marc_Plan mp;
Helper_DB db = new Helper_DB();
Macro_Gudu gudu = new Macro_Gudu();
DataGridView TargetGrid;
string compidx = UniMarc.Properties.Settings.Default.compidx;
public string[] ViewMarcArray { get; set; }
public string FileType { get; set; }
@@ -28,6 +30,13 @@ namespace WindowsFormsApp1.Mac
main = _main;
}
public Set_Macro(Marc_Plan _mp, DataGridView mpGrid)
{
InitializeComponent();
mp = _mp;
TargetGrid = mpGrid;
}
public Set_Macro()
{
InitializeComponent();
@@ -87,8 +96,32 @@ namespace WindowsFormsApp1.Mac
}
}
private void btn_MakeFile_Click(object sender, EventArgs e)
private void btn_ApplyMacro_Click(object sender, EventArgs e)
{
Macro_Gudu macro = new Macro_Gudu();
List<string> idxArray = new List<string>();
for (int a = 0; a < MacroGrid.Rows.Count; a++)
{
if (MacroGrid.Rows[a].Cells["Check"].Value.ToString().Contains("T"))
idxArray.Add(MacroGrid.Rows[a].Cells["idx"].Value.ToString());
}
int count = 0;
for (int a = 0; a < TargetGrid.Rows.Count; a++)
{
if (TargetGrid.Rows[a].Cells["marc"].Value.ToString() == "" &&
TargetGrid.Rows[a].Cells["marc"].Value == null)
continue;
if (TargetGrid.Rows[a].Cells["colCheck"].Value.ToString() != "T")
continue;
TargetGrid.Rows[a].Cells["marc"].Value = macro.MacroMarc(ViewMarcArray[count], idxArray);
count++;
}
MessageBox.Show("적용되었습니다!");
/*
Macro_Gudu macro = new Macro_Gudu(FileType);
string Marc_data = "";
List<string> idxArray = new List<string>();
@@ -132,6 +165,7 @@ namespace WindowsFormsApp1.Mac
}
MessageBox.Show("반출되었습니다!");
*/
}
private void btn_AddList_Click(object sender, EventArgs e)
@@ -143,15 +177,22 @@ namespace WindowsFormsApp1.Mac
{
string user = UniMarc.Properties.Settings.Default.User;
string compidx = UniMarc.Properties.Settings.Default.compidx;
string MacroIndex = "";
for (int a = 0; a < MacroGrid.Rows.Count; a++)
{
if (MacroGrid.Rows[a].Cells["Check"].Value.ToString() == "T")
MacroIndex += MacroGrid.Rows[a].Cells["idx"].Value.ToString() + "^";
}
MacroIndex.TrimEnd('^');
string Table = "Comp_SaveMacro";
if (db.DB_Send_CMD_Search(string.Format("SELECT * FROM {0} WHERE \"compidx\" = {1} AND \"{2}\" = \"{3}\"", Table, compidx, "listname", value)).Length > 2)
if (db.DB_Send_CMD_Search(string.Format("SELECT * FROM {0} WHERE `compidx` = \"{1}\" AND `{2}` = \"{3}\"", Table, compidx, "listname", value)).Length > 2)
{
MessageBox.Show("중복된 목록명이 있습니다!");
return;
}
string[] Insert_Tbl = { "compidx", "listname", "user" };
string[] Insert_Col = { compidx, value, user };
string[] Insert_Tbl = { "compidx", "listname", "user", "Macroidx" };
string[] Insert_Col = { compidx, value, user, MacroIndex };
string cmd = db.DB_INSERT(Table, Insert_Tbl, Insert_Col);
db.DB_Send_CMD_reVoid(cmd);
@@ -166,6 +207,7 @@ namespace WindowsFormsApp1.Mac
string listname = cb_SearchList.Text;
for (int a = 0; a < MacroGrid.Rows.Count; a++)
{
if (MacroGrid.Rows[a].Cells["Check"].Value.ToString() == "T")
MacroIndex += MacroGrid.Rows[a].Cells["idx"].Value.ToString() + "^";
}
MacroIndex.TrimEnd('^');