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

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

1. 매크로 요청사항
440 n p x -> 490 v [p-n-v]로 변환
440 n p x -> 830 n p v로 변환

2. 복본조사
남구통합도서관에서 검색시 선택한 도서관 고정이 되지않던 버그 수정.
This commit is contained in:
SeungHo Yang
2022-10-12 09:10:14 +09:00
parent 707070f751
commit 6d76903414
19 changed files with 64 additions and 64 deletions

Binary file not shown.

View File

@@ -1650,7 +1650,7 @@ namespace WindowsFormsApp1
if (Tag.Length < 3) return "";
int TargetTagNum = Convert.ToInt32(Tag.Substring(0, 3));
string[] SplitView = TypeView.Split('\n');
List<string> View = new List<string>(SplitView);
@@ -1660,12 +1660,7 @@ namespace WindowsFormsApp1
string LineTag = LineMarc.Substring(0, 3);
int TagNum = Convert.ToInt32(LineTag);
if (TargetTagNum == TagNum)
{
View[ViewCount] = Tag;
break;
}
else if (TargetTagNum < TagNum)
if (TargetTagNum < TagNum)
{
View.Insert(ViewCount, Tag);
break;

View File

@@ -401,14 +401,18 @@ namespace WindowsFormsApp1.Mac
#endregion
#region
bool isGwangJuNamGuClick = false;
void (string text)
{
foreach (HtmlElement he in webBrowser1.Document.GetElementsByTagName("input"))
{
if (he.GetAttribute("id").IndexOf(Code) > -1)
{
he.InvokeMember("click");
if (!isGwangJuNamGuClick)
{
he.InvokeMember("click");
isGwangJuNamGuClick = true;
}
}
}

View File

@@ -88,8 +88,8 @@ namespace UniMarc.마크
{ "55", "110", "태그삭제" },
/////////
// { "52", "440", "440n p x -> 490v [p-n-v 순서]로 변환" },
// { "53", "440", "440n p x -> 830 n p v로 변환" },
{ "56", "440", "440n p x -> 490v [p-n-v 순서]로 변환" },
{ "57", "440", "440n p x -> 830 n p v로 변환" },
};
@@ -130,6 +130,7 @@ namespace UniMarc.마크
continue;
result.Add(Macro);
}
ViewMarc = String.Join("\n", result);
foreach (string i in idx)
{
@@ -137,7 +138,7 @@ namespace UniMarc.마크
}
// 반출용 마크로 변환
return st.made_Ori_marc(String.Join("\n", result));
return st.made_Ori_marc(ViewMarc);
}
private string ChangeTagByIndex(string idx, string ViewMarc)
@@ -148,20 +149,65 @@ namespace UniMarc.마크
// 440a를 830a로 복사
if (idx == "50")
ViewMarc = TagToOtherTag("440", "a", "830", "a", ViewMarc);
// 440x를 490a로 복사
if (idx == "51")
// 440x를 490a로 복사
if (idx == "51")
ViewMarc = TagToOtherTag("440", "a", "490", "a", ViewMarc);
// 049v를 090c로 복사
if (idx == "52")
// 049v를 090c로 복사
if (idx == "52")
ViewMarc = TagToOtherTag("049", "v", "090", "c", ViewMarc);
// 020c를 950b로 복사
if (idx == "53")
// 020c를 950b로 복사
if (idx == "53")
ViewMarc = TagToOtherTag("020", "c", "950", "b", ViewMarc);
// 440n p x -> 490v [p-n-v 순서]로 변환 / 440n p x -> 830 n p v로 변환
if (idx == "56" || idx == "57")
ViewMarc = Sub_440npv(ViewMarc, idx);
return ViewMarc;
}
#region ChangeTagByIndex_SUB
private string Sub_440npv(string ViewMarc, string idx)
{
string oriMarc = st.made_Ori_marc(ViewMarc);
string[] TakeMarc = { "440n", "440p", "440v" };
string[] TakeTag = st.Take_Tag(oriMarc, TakeMarc);
/// 해당 태그 내용 있는지 확인.
bool isEmpty = true;
if (TakeTag[0]!="") isEmpty = false;
if (TakeTag[1]!="") isEmpty = false;
if (TakeTag[2]!="") isEmpty = false;
if (isEmpty) return ViewMarc;
if (idx == "56") // 440n p x -> 490v [p-n-v 순서]로 변환
{
// 구분 ,
string Tag = "490\t \t▼v";
if (TakeTag[0] != "") Tag += TakeTag[0] + ", ";
if (TakeTag[1] != "") Tag += TakeTag[1] + ", ";
if (TakeTag[2] != "") Tag += TakeTag[2];
Tag += "▲";
ViewMarc = st.AddTagInMarc(Tag, ViewMarc);
}
if (idx == "57") // 440n p x -> 830 n p v로 변환
{
string Tag = "830\t \t";
if (TakeTag[0] != "") Tag += "▼n" + TakeTag[0];
if (TakeTag[1] != "") Tag += "▼p" + TakeTag[1];
if (TakeTag[2] != "") Tag += "▼v" + TakeTag[2];
Tag += "▲";
ViewMarc = st.AddTagInMarc(Tag, ViewMarc);
}
return ViewMarc;
}
#endregion
private string Macro_Index(string[] idx, string ContentTag, string Content)
{
string[] SplitContent = Content.Split('\t');

View File

@@ -121,51 +121,6 @@ namespace WindowsFormsApp1.Mac
count++;
}
MessageBox.Show("적용되었습니다!");
/*
Macro_Gudu macro = new Macro_Gudu(FileType);
string Marc_data = "";
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());
}
}
foreach (string t in ViewMarcArray)
{
Marc_data += macro.MacroMarc(t, idxArray);
}
string FileName;
SaveFileDialog saveFileDialog = new SaveFileDialog();
saveFileDialog.Title = "저장 경로를 지정하세요.";
saveFileDialog.OverwritePrompt = true;
saveFileDialog.Filter = "마크 파일 (*.mrc)|*.mrc|모든 파일 (*.*)|*.*";
if (saveFileDialog.ShowDialog() == DialogResult.OK)
{
if (FileType == "ANSI")
{
FileName = saveFileDialog.FileName;
File.WriteAllText(FileName, Marc_data, Encoding.Default);
}
else if (FileType == "UTF-8")
{
FileName = saveFileDialog.FileName;
File.WriteAllText(FileName, Marc_data, Encoding.UTF8);
}
else if (FileType == "UniCode")
{
FileName = saveFileDialog.FileName;
File.WriteAllText(FileName, Marc_data, Encoding.Unicode);
}
}
MessageBox.Show("반출되었습니다!");
*/
}
private void btn_AddList_Click(object sender, EventArgs e)