marc2에서 마크목록생성시 색상불일치로 데이터 생성갯수가 달라진 부분 수정, 연결된 폼들때문에 addmarc2 도 수정하고 marcopyselect2 생성, marc_mklist2 생성
This commit is contained in:
@@ -32,5 +32,5 @@ using System.Runtime.InteropServices;
|
|||||||
// 모든 값을 지정하거나 아래와 같이 '*'를 사용하여 빌드 번호 및 수정 번호를
|
// 모든 값을 지정하거나 아래와 같이 '*'를 사용하여 빌드 번호 및 수정 번호를
|
||||||
// 기본값으로 할 수 있습니다.
|
// 기본값으로 할 수 있습니다.
|
||||||
// [assembly: AssemblyVersion("1.0.*")]
|
// [assembly: AssemblyVersion("1.0.*")]
|
||||||
[assembly: AssemblyVersion("2026.02.03.2240")]
|
[assembly: AssemblyVersion("2026.02.04.2230")]
|
||||||
[assembly: AssemblyFileVersion("2026.02.03.2240")]
|
[assembly: AssemblyFileVersion("2026.02.04.2230")]
|
||||||
|
|||||||
@@ -367,6 +367,12 @@
|
|||||||
<DependentUpon>Mac_List_Add.cs</DependentUpon>
|
<DependentUpon>Mac_List_Add.cs</DependentUpon>
|
||||||
</Compile>
|
</Compile>
|
||||||
<Compile Include="마크\MarcBookItem.cs" />
|
<Compile Include="마크\MarcBookItem.cs" />
|
||||||
|
<Compile Include="마크\MarcCopySelect2.cs">
|
||||||
|
<SubType>Form</SubType>
|
||||||
|
</Compile>
|
||||||
|
<Compile Include="마크\MarcCopySelect2.Designer.cs">
|
||||||
|
<DependentUpon>MarcCopySelect2.cs</DependentUpon>
|
||||||
|
</Compile>
|
||||||
<Compile Include="마크\MarcCopySelect.cs">
|
<Compile Include="마크\MarcCopySelect.cs">
|
||||||
<SubType>Form</SubType>
|
<SubType>Form</SubType>
|
||||||
</Compile>
|
</Compile>
|
||||||
@@ -497,6 +503,12 @@
|
|||||||
<DependentUpon>Mac_Stat_Stat.cs</DependentUpon>
|
<DependentUpon>Mac_Stat_Stat.cs</DependentUpon>
|
||||||
</Compile>
|
</Compile>
|
||||||
<Compile Include="마크\Marc_Macro_Sub.cs" />
|
<Compile Include="마크\Marc_Macro_Sub.cs" />
|
||||||
|
<Compile Include="마크\Marc_mkList2.cs">
|
||||||
|
<SubType>Form</SubType>
|
||||||
|
</Compile>
|
||||||
|
<Compile Include="마크\Marc_mkList2.Designer.cs">
|
||||||
|
<DependentUpon>Marc_mkList2.cs</DependentUpon>
|
||||||
|
</Compile>
|
||||||
<Compile Include="마크\Marc_mkList.cs">
|
<Compile Include="마크\Marc_mkList.cs">
|
||||||
<SubType>Form</SubType>
|
<SubType>Form</SubType>
|
||||||
</Compile>
|
</Compile>
|
||||||
@@ -1083,6 +1095,9 @@
|
|||||||
<EmbeddedResource Include="마크\Mac_List_Add.resx">
|
<EmbeddedResource Include="마크\Mac_List_Add.resx">
|
||||||
<DependentUpon>Mac_List_Add.cs</DependentUpon>
|
<DependentUpon>Mac_List_Add.cs</DependentUpon>
|
||||||
</EmbeddedResource>
|
</EmbeddedResource>
|
||||||
|
<EmbeddedResource Include="마크\MarcCopySelect2.resx">
|
||||||
|
<DependentUpon>MarcCopySelect2.cs</DependentUpon>
|
||||||
|
</EmbeddedResource>
|
||||||
<EmbeddedResource Include="마크\MarcCopySelect.resx">
|
<EmbeddedResource Include="마크\MarcCopySelect.resx">
|
||||||
<DependentUpon>MarcCopySelect.cs</DependentUpon>
|
<DependentUpon>MarcCopySelect.cs</DependentUpon>
|
||||||
</EmbeddedResource>
|
</EmbeddedResource>
|
||||||
@@ -1146,6 +1161,9 @@
|
|||||||
<EmbeddedResource Include="마크\Mac_Stat_Stat.resx">
|
<EmbeddedResource Include="마크\Mac_Stat_Stat.resx">
|
||||||
<DependentUpon>Mac_Stat_Stat.cs</DependentUpon>
|
<DependentUpon>Mac_Stat_Stat.cs</DependentUpon>
|
||||||
</EmbeddedResource>
|
</EmbeddedResource>
|
||||||
|
<EmbeddedResource Include="마크\Marc_mkList2.resx">
|
||||||
|
<DependentUpon>Marc_mkList2.cs</DependentUpon>
|
||||||
|
</EmbeddedResource>
|
||||||
<EmbeddedResource Include="마크\Marc_mkList.resx">
|
<EmbeddedResource Include="마크\Marc_mkList.resx">
|
||||||
<DependentUpon>Marc_mkList.cs</DependentUpon>
|
<DependentUpon>Marc_mkList.cs</DependentUpon>
|
||||||
</EmbeddedResource>
|
</EmbeddedResource>
|
||||||
|
|||||||
@@ -95,7 +95,7 @@ namespace UniMarc
|
|||||||
|
|
||||||
string SearchText = tb_Search.Text;
|
string SearchText = tb_Search.Text;
|
||||||
string SearchCol = cb_SearchCol.SelectedItem.ToString();
|
string SearchCol = cb_SearchCol.SelectedItem.ToString();
|
||||||
MarcCopySelect mcs = new MarcCopySelect(this);
|
var mcs = new MarcCopySelect2(this);
|
||||||
mcs.Init(SearchCol, SearchText);
|
mcs.Init(SearchCol, SearchText);
|
||||||
mcs.Show();
|
mcs.Show();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
using AR;
|
using AR;
|
||||||
|
using arCtl.TinyListview;
|
||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.ComponentModel;
|
using System.ComponentModel;
|
||||||
@@ -38,7 +39,7 @@ namespace UniMarc
|
|||||||
Skill_Search_Text search_Text = new Skill_Search_Text();
|
Skill_Search_Text search_Text = new Skill_Search_Text();
|
||||||
String_Text st = new String_Text();
|
String_Text st = new String_Text();
|
||||||
Mac_List ml;
|
Mac_List ml;
|
||||||
BindingList<MarcBookItem> dataList = new BindingList<MarcBookItem>();
|
public BindingList<MarcBookItem> dataList = new BindingList<MarcBookItem>();
|
||||||
MacListItem pItem = null;
|
MacListItem pItem = null;
|
||||||
|
|
||||||
protected override bool ProcessCmdKey(ref Message msg, Keys keyData)
|
protected override bool ProcessCmdKey(ref Message msg, Keys keyData)
|
||||||
@@ -202,7 +203,8 @@ namespace UniMarc
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
void chk_Marc()
|
void chk_Marc()
|
||||||
{
|
{
|
||||||
for (int a = 0; a < List_Book.Rows.Count; a++)
|
|
||||||
|
foreach (var dr in this.dataList) // (int a = 0; a < this.dataList.Count; a++)
|
||||||
{
|
{
|
||||||
string Area =
|
string Area =
|
||||||
// 0 1
|
// 0 1
|
||||||
@@ -215,7 +217,9 @@ namespace UniMarc
|
|||||||
string Table = "Marc";
|
string Table = "Marc";
|
||||||
|
|
||||||
string[] sear_tbl = { "ISBN" };
|
string[] sear_tbl = { "ISBN" };
|
||||||
string[] sear_col = { List_Book.Rows[a].Cells["ISBN13"].Value.ToString() };
|
|
||||||
|
var isbn = dr.ISBN13;//.isbn List_Book.Rows[a].Cells["ISBN13"].Value?.ToString() ?? string.Empty;
|
||||||
|
string[] sear_col = { isbn };
|
||||||
|
|
||||||
//if (List_Book.Rows[a].Cells["marc_idx"].Value.ToString() != "0") {//여기 조건이 이상함.. 여기 조건때문에 순서가 잘 못 뜨는 경우 발생..
|
//if (List_Book.Rows[a].Cells["marc_idx"].Value.ToString() != "0") {//여기 조건이 이상함.. 여기 조건때문에 순서가 잘 못 뜨는 경우 발생..
|
||||||
// sear_tbl[0] = "idx";
|
// sear_tbl[0] = "idx";
|
||||||
@@ -229,10 +233,10 @@ namespace UniMarc
|
|||||||
string[] Chk_Arr = Chk_Res.Split('|');
|
string[] Chk_Arr = Chk_Res.Split('|');
|
||||||
|
|
||||||
bool isMyData = true;
|
bool isMyData = true;
|
||||||
if (Chk_Arr.Length < 2)
|
if (Chk_Arr.Length < 2) //마크DB에서 데이터가 없다면?
|
||||||
{
|
{
|
||||||
List_Book.Rows[a].Cells["grade"].Value = "3";
|
dr.Grade = "3"; //List_Book.Rows[a].Cells["grade"].Value = "3";
|
||||||
List_Book.Rows[a].DefaultCellStyle.ForeColor = Color.Red;
|
dr.ForeColor = Color.Red;//List_Book.Rows[a].DefaultCellStyle.ForeColor = Color.Red;
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -242,31 +246,30 @@ namespace UniMarc
|
|||||||
string[] MarcData = { Chk_Arr[2], Chk_Arr[4], Chk_Arr[6] };
|
string[] MarcData = { Chk_Arr[2], Chk_Arr[4], Chk_Arr[6] };
|
||||||
string[] CheckData = { Chk_Arr[3], Chk_Arr[5], Chk_Arr[7] };
|
string[] CheckData = { Chk_Arr[3], Chk_Arr[5], Chk_Arr[7] };
|
||||||
|
|
||||||
List_Book.Rows[a].DefaultCellStyle.ForeColor = SetGradeColor(Chk_Arr[8], isMyData); // Temporary, chk_Marc updates item below
|
dr.ForeColor = SetGradeColor(Chk_Arr[8], isMyData); // Temporary, chk_Marc updates item below
|
||||||
List_Book.Rows[a].Cells["marc_idx"].Value = Chk_Arr[0];
|
dr.MarcIdx = Chk_Arr[0]; //List_Book.Rows[a].Cells["marc_idx"].Value = Chk_Arr[0];
|
||||||
List_Book.Rows[a].Cells["db_marc"].Value = MarcData[0];//NewestMarc(MarcData, CheckData);
|
dr.DbMarc = MarcData[0];// List_Book.Rows[a].Cells["db_marc"].Value = MarcData[0];//NewestMarc(MarcData, CheckData);
|
||||||
List_Book.Rows[a].Cells["grade"].Value = Chk_Arr[8];
|
dr.Grade = Chk_Arr[8];// List_Book.Rows[a].Cells["grade"].Value = Chk_Arr[8];
|
||||||
// text008.Text = Chk_Arr[9];
|
// text008.Text = Chk_Arr[9];
|
||||||
List_Book.Rows[a].Cells["user"].Value = Chk_Arr[10];
|
dr.User = Chk_Arr[10];// List_Book.Rows[a].Cells["user"].Value = Chk_Arr[10];
|
||||||
List_Book.Rows[a].Cells["SaveDate"].Value = Chk_Arr[11];
|
dr.SaveDate = Chk_Arr[11];// List_Book.Rows[a].Cells["SaveDate"].Value = Chk_Arr[11];
|
||||||
|
|
||||||
var item = List_Book.Rows[a].DataBoundItem as MarcBookItem;
|
//var item = List_Book.Rows[a].DataBoundItem as MarcBookItem;
|
||||||
Color gradeColor = SetGradeColor(Chk_Arr[8], isMyData);
|
Color gradeColor = SetGradeColor(Chk_Arr[8], isMyData);
|
||||||
if (item != null) item.ForeColor = gradeColor;
|
dr.ForeColor = gradeColor;
|
||||||
List_Book.Rows[a].DefaultCellStyle.ForeColor = gradeColor;
|
//if (item != null) item.ForeColor = gradeColor;
|
||||||
|
//List_Book.Rows[a].DefaultCellStyle.ForeColor = gradeColor;
|
||||||
|
|
||||||
if (isMyData)
|
if (isMyData)
|
||||||
{
|
{
|
||||||
Color saveColor = GetSaveDateColor(Chk_Arr[11]);
|
Color saveColor = GetSaveDateColor(Chk_Arr[11]);
|
||||||
if (item != null) item.BackColor = saveColor;
|
dr.BackColor = saveColor;
|
||||||
List_Book.Rows[a].DefaultCellStyle.BackColor = saveColor;
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
string FindCompCmd = string.Format("SELECT `comp_name` FROM `Comp` WHERE `idx` = {0}", Chk_Arr[1]);
|
string FindCompCmd = string.Format("SELECT `comp_name` FROM `Comp` WHERE `idx` = {0}", Chk_Arr[1]);
|
||||||
List_Book.Rows[a].Cells["user"].Value = db.DB_Send_CMD_Search(FindCompCmd).Replace("|", "");
|
dr.User = db.DB_Send_CMD_Search(FindCompCmd).Replace("|", "");
|
||||||
List_Book.Rows[a].DefaultCellStyle.BackColor = Color.LightGray;
|
dr.BackColor = Color.LightGray;
|
||||||
if (item != null) item.BackColor = Color.LightGray;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -338,6 +341,11 @@ namespace UniMarc
|
|||||||
List_Book.Rows[e.RowIndex].DefaultCellStyle.ForeColor = item.ForeColor;
|
List_Book.Rows[e.RowIndex].DefaultCellStyle.ForeColor = item.ForeColor;
|
||||||
List_Book.Rows[e.RowIndex].DefaultCellStyle.BackColor = item.BackColor;
|
List_Book.Rows[e.RowIndex].DefaultCellStyle.BackColor = item.BackColor;
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
List_Book.Rows[e.RowIndex].DefaultCellStyle.ForeColor = Color.Gray;
|
||||||
|
List_Book.Rows[e.RowIndex].DefaultCellStyle.BackColor = Color.DimGray;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -523,12 +531,14 @@ namespace UniMarc
|
|||||||
private void btn_CopySelect_Click(object sender, EventArgs e)
|
private void btn_CopySelect_Click(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
//TODO: 마크 물리는쪽
|
//TODO: 마크 물리는쪽
|
||||||
int row = List_Book.CurrentCell.RowIndex;
|
//int row = List_Book.CurrentCell.RowIndex;
|
||||||
string isbn = List_Book.Rows[row].Cells["ISBN13"].Value.ToString();
|
//string isbn = List_Book.Rows[row].Cells["ISBN13"].Value.ToString();
|
||||||
|
//var item = List_Book.CurrentRow.DataBoundItem as MarcBookItem;
|
||||||
|
|
||||||
MarcCopySelect copySelect = new MarcCopySelect(this);
|
var dr = this.bs1.Current as MarcBookItem;
|
||||||
copySelect.MarcFormRowIndex = row;
|
|
||||||
copySelect.Init("isbn", isbn);
|
var copySelect = new MarcCopySelect2(this,dr);
|
||||||
|
copySelect.Init("isbn", dr.ISBN13);
|
||||||
copySelect.Show();
|
copySelect.Show();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -537,25 +547,21 @@ namespace UniMarc
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="row"></param>
|
/// <param name="row"></param>
|
||||||
/// <param name="GridData">[0] idx, [1] compidx, [2] user, [3] date, [4] grade, [5] tag008, [6] marc </param>
|
/// <param name="GridData">[0] idx, [1] compidx, [2] user, [3] date, [4] grade, [5] tag008, [6] marc </param>
|
||||||
public void SelectMarc_Sub(int row, string[] GridData)
|
public void SelectMarc_Sub(MarcBookItem row, string[] GridData)
|
||||||
{
|
{
|
||||||
List_Book.Rows[row].Cells["marc_idx"].Value = GridData[0];
|
row.MarcIdx = GridData[0];
|
||||||
List_Book.Rows[row].Cells["user"].Value = GridData[2];
|
row.User= GridData[2];
|
||||||
List_Book.Rows[row].Cells["SaveDate"].Value = GridData[4];
|
row.SaveDate = GridData[4];
|
||||||
List_Book.Rows[row].Cells["grade"].Value = GridData[3];
|
row.Grade= GridData[3];
|
||||||
// text008.Text = GridData[5];
|
// text008.Text = GridData[5];
|
||||||
List_Book.Rows[row].Cells["db_marc"].Value = GridData[6];
|
row.DbMarc= GridData[6];
|
||||||
mOldMarc = GridData[6];
|
mOldMarc = GridData[6];
|
||||||
List_Book.Rows[row].DefaultCellStyle.ForeColor = SetGradeColor(GridData[4]);
|
|
||||||
List_Book.Rows[row].DefaultCellStyle.BackColor = Color.Yellow;
|
|
||||||
var item = List_Book.Rows[row].DataBoundItem as MarcBookItem;
|
|
||||||
if (item != null)
|
|
||||||
{
|
|
||||||
item.ForeColor = List_Book.Rows[row].DefaultCellStyle.ForeColor;
|
|
||||||
item.BackColor = Color.Yellow;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (List_Book.CurrentRow != null && List_Book.CurrentRow.Index == row)
|
row.ForeColor = SetGradeColor(row.Grade);
|
||||||
|
row.BackColor = Color.Yellow;
|
||||||
|
|
||||||
|
var currentitem = this.bs1.Current as MarcBookItem;
|
||||||
|
if (currentitem != null && currentitem == row)
|
||||||
{
|
{
|
||||||
List_Book_SelectionChanged(null, null);
|
List_Book_SelectionChanged(null, null);
|
||||||
}
|
}
|
||||||
@@ -563,99 +569,6 @@ namespace UniMarc
|
|||||||
|
|
||||||
private void MarcEditorControl_BookSaved(object sender, MarcEditorControl.BookSavedEventArgs e)
|
private void MarcEditorControl_BookSaved(object sender, MarcEditorControl.BookSavedEventArgs e)
|
||||||
{
|
{
|
||||||
/* [기존 방식: UI 직접 수정 로직 주석 처리]
|
|
||||||
string table_name = "Marc";
|
|
||||||
|
|
||||||
//데이터인덱스를 찾아서 값을 업데이트한다.
|
|
||||||
var item = this.dataList.Where(t => t.ListIdx == e.Param.ListIdx).FirstOrDefault();
|
|
||||||
|
|
||||||
string date = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
|
|
||||||
string orimarc = e.DBMarc;// st.made_Ori_marc(richTextBox1).Replace(@"\", "₩");
|
|
||||||
string Midx = List_Book.Rows[SaveRowIdx].Cells["marc_idx"].Value.ToString();
|
|
||||||
string SaveDate = List_Book.Rows[SaveRowIdx].Cells["SaveDate"].Value.ToString();
|
|
||||||
string SaveUser = List_Book.Rows[SaveRowIdx].Cells["user"].Value.ToString();
|
|
||||||
bool IsCoverDate = false;
|
|
||||||
|
|
||||||
if (SaveDate != "")
|
|
||||||
{
|
|
||||||
// 마지막 수정일로부터 2일이 지났는지, 마지막 저장자가 사용자인지 확인
|
|
||||||
TimeSpan sp = spspsp(SaveDate, date);
|
|
||||||
IsCoverDate = IsCoverData(sp.Days, SaveUser);
|
|
||||||
}
|
|
||||||
|
|
||||||
// true일 경우 INSERT, false일 경우 UPDATE
|
|
||||||
bool isNewData = Midx != "" ? false : true;
|
|
||||||
|
|
||||||
|
|
||||||
if (List_Book.Rows[SaveRowIdx].DefaultCellStyle.ForeColor == Color.Orange ||
|
|
||||||
List_Book.Rows[SaveRowIdx].DefaultCellStyle.ForeColor == Color.Red)
|
|
||||||
{
|
|
||||||
string[] Insert_tbl = {
|
|
||||||
"ISBN", "서명", "저자", "출판사",
|
|
||||||
"가격", "marc", "비고1", "비고2", "url",
|
|
||||||
"grade", "marc_chk", "user", "division", "008tag",
|
|
||||||
"date", "compidx" };
|
|
||||||
string[] Insert_col = {
|
|
||||||
e.Param.ISBN13, e.Param.BookName, e.Param.Author, e.Param.Publisher,
|
|
||||||
e.Param.Price, orimarc, e.Param.Remark1, e.Param.Remark2, e.Param.URL,
|
|
||||||
e.Param.Grade, "1", mUserName, e.Param.tag056, e.Param.text008,
|
|
||||||
date, mCompidx };
|
|
||||||
|
|
||||||
string Incmd = db.DB_INSERT(table_name, Insert_tbl, Insert_col);
|
|
||||||
PUB.log.Add("INSERT", string.Format("{0}({1},{2}) : {3}", mUserName, mCompidx, List_Book.Rows[SaveRowIdx].DefaultCellStyle.ForeColor, Incmd));
|
|
||||||
long newIdx = db.DB_Send_CMD_Insert_GetIdx(Incmd);
|
|
||||||
if (newIdx > 0)
|
|
||||||
{
|
|
||||||
Midx = newIdx.ToString();
|
|
||||||
List_Book.Rows[SaveRowIdx].Cells["marc_idx"].Value = Midx;
|
|
||||||
isNewData = true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
string[] Edit_tbl = {
|
|
||||||
"compidx", "marc", "marc_chk", "marc1", "marc_chk1", "비고1",
|
|
||||||
"비고2", "url", "division", "008tag", "date",
|
|
||||||
"user", "grade" };
|
|
||||||
string[] Edit_col = {
|
|
||||||
mCompidx, orimarc, "1", mOldMarc , "0", e.Param.Remark1,
|
|
||||||
e.Param.Remark2, e.Param.URL, e.Param.tag056,e.Param.text008, date,
|
|
||||||
mUserName, e.Param.Grade };
|
|
||||||
string[] Sear_tbl = { "idx", "compidx" };
|
|
||||||
string[] Sear_col = { Midx, mCompidx };
|
|
||||||
if (e.Param.ISBN13 == null || e.Param.ISBN13 == "")
|
|
||||||
{
|
|
||||||
MessageBox.Show("ISBN 데이터가 없습니다.");
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
string U_cmd = db.More_Update(table_name, Edit_tbl, Edit_col, Sear_tbl, Sear_col);
|
|
||||||
PUB.log.Add("Update", string.Format("{0}({1},{2}) : {3}", mUserName, mCompidx, List_Book.Rows[SaveRowIdx].DefaultCellStyle.ForeColor, U_cmd.Replace("\r", " ").Replace("\n", " ")));
|
|
||||||
Helper_DB.ExcuteNonQuery(U_cmd);
|
|
||||||
isNewData = false;
|
|
||||||
}
|
|
||||||
|
|
||||||
List_Book.Rows[SaveRowIdx].Cells["grade"].Value = e.Param.Grade;
|
|
||||||
List_Book.Rows[SaveRowIdx].Cells["SaveDate"].Value = e.SaveDate;
|
|
||||||
List_Book.Rows[SaveRowIdx].Cells["user"].Value = mUserName;
|
|
||||||
List_Book.Rows[SaveRowIdx].Cells["db_marc"].Value = e.DBMarc;
|
|
||||||
|
|
||||||
List_Book.Rows[SaveRowIdx].DefaultCellStyle.ForeColor = SetGradeColor(grade.ToString());
|
|
||||||
|
|
||||||
var item = List_Book.Rows[SaveRowIdx].DataBoundItem as MarcBookItem;
|
|
||||||
if (item != null) item.ForeColor = List_Book.Rows[SaveRowIdx].DefaultCellStyle.ForeColor;
|
|
||||||
|
|
||||||
// (신규 추가 시 위에서 이미 Midx를 할당함)
|
|
||||||
|
|
||||||
|
|
||||||
string UpdateListIndex = string.Format("UPDATE `Obj_List_Book` SET `m_idx` = {0} WHERE `idx` = {1} AND 'compidx' ={2};",
|
|
||||||
Midx, List_Book.Rows[SaveRowIdx].Cells["list_idx"].Value.ToString(), mCompidx);
|
|
||||||
PUB.log.Add("MarcUpdate", string.Format("{0}({1}) : {2}", mUserName, mCompidx, UpdateListIndex));
|
|
||||||
Helper_DB.ExcuteNonQuery(UpdateListIndex);
|
|
||||||
MessageBox.Show("저장되었습니다!");
|
|
||||||
*/
|
|
||||||
|
|
||||||
|
|
||||||
// [신규 방식: 데이터 객체(Item) 중심 로직]
|
// [신규 방식: 데이터 객체(Item) 중심 로직]
|
||||||
var item = this.dataList.Where(t => t.ListIdx == e.Param.ListIdx).FirstOrDefault();
|
var item = this.dataList.Where(t => t.ListIdx == e.Param.ListIdx).FirstOrDefault();
|
||||||
if (item == null) return;
|
if (item == null) return;
|
||||||
@@ -813,11 +726,17 @@ namespace UniMarc
|
|||||||
|
|
||||||
private void btn_mk_marcList_Click(object sender, EventArgs e)
|
private void btn_mk_marcList_Click(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
Marc_mkList mkList = new Marc_mkList(this);
|
var mkList = new Marc_mkList2(this);
|
||||||
mkList.StartPosition = FormStartPosition.CenterScreen;
|
mkList.StartPosition = FormStartPosition.CenterScreen;
|
||||||
mkList.Show();
|
mkList.Show();
|
||||||
}
|
}
|
||||||
#region 마크생성목록_Sub
|
#region 마크생성목록_Sub
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 글자색이 빨간색이 아니라면 True 를 반환합니다.
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="row"></param>
|
||||||
|
/// <returns></returns>
|
||||||
public bool Check_BackColor(int row)
|
public bool Check_BackColor(int row)
|
||||||
{
|
{
|
||||||
if (List_Book.Rows[row].DefaultCellStyle.ForeColor != Color.Red)
|
if (List_Book.Rows[row].DefaultCellStyle.ForeColor != Color.Red)
|
||||||
@@ -825,6 +744,11 @@ namespace UniMarc
|
|||||||
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
/// <summary>
|
||||||
|
/// ColCheck 값이 V 라면 True 를 반환합니다.
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="row"></param>
|
||||||
|
/// <returns></returns>
|
||||||
public bool Check_List_V(int row)
|
public bool Check_List_V(int row)
|
||||||
{
|
{
|
||||||
if (List_Book.Rows[row].Cells["colCheck"].Value.ToString() == "V")
|
if (List_Book.Rows[row].Cells["colCheck"].Value.ToString() == "V")
|
||||||
@@ -836,7 +760,7 @@ namespace UniMarc
|
|||||||
|
|
||||||
private void checkBox3_CheckedChanged(object sender, EventArgs e)
|
private void checkBox3_CheckedChanged(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
bool isCheck = checkBox3.Checked;
|
bool isCheck = chkColCheck.Checked;
|
||||||
if (isCheck)
|
if (isCheck)
|
||||||
{
|
{
|
||||||
for (int a = 0; a < List_Book.Rows.Count; a++)
|
for (int a = 0; a < List_Book.Rows.Count; a++)
|
||||||
|
|||||||
50
unimarc/unimarc/마크/Marc2.designer.cs
generated
50
unimarc/unimarc/마크/Marc2.designer.cs
generated
@@ -69,11 +69,12 @@
|
|||||||
this.btn_CopySelect = new System.Windows.Forms.Button();
|
this.btn_CopySelect = new System.Windows.Forms.Button();
|
||||||
this.btn_FilterReturn = new System.Windows.Forms.Button();
|
this.btn_FilterReturn = new System.Windows.Forms.Button();
|
||||||
this.btn_Search = new System.Windows.Forms.Button();
|
this.btn_Search = new System.Windows.Forms.Button();
|
||||||
this.checkBox3 = new System.Windows.Forms.CheckBox();
|
this.chkColCheck = new System.Windows.Forms.CheckBox();
|
||||||
this.tbCustName = new System.Windows.Forms.Button();
|
this.tbCustName = new System.Windows.Forms.Button();
|
||||||
this.lbCustIDX = new System.Windows.Forms.Label();
|
this.lbCustIDX = new System.Windows.Forms.Label();
|
||||||
this.btCopy = new System.Windows.Forms.Button();
|
this.btCopy = new System.Windows.Forms.Button();
|
||||||
this.panel2 = new System.Windows.Forms.Panel();
|
this.panel2 = new System.Windows.Forms.Panel();
|
||||||
|
this.marcEditorControl1 = new UniMarc.MarcEditorControl();
|
||||||
this.panel3 = new System.Windows.Forms.Panel();
|
this.panel3 = new System.Windows.Forms.Panel();
|
||||||
this.panel4 = new System.Windows.Forms.Panel();
|
this.panel4 = new System.Windows.Forms.Panel();
|
||||||
this.lbl_BookList = new System.Windows.Forms.Label();
|
this.lbl_BookList = new System.Windows.Forms.Label();
|
||||||
@@ -89,7 +90,6 @@
|
|||||||
this.bindingNavigatorSeparator1 = new System.Windows.Forms.ToolStripSeparator();
|
this.bindingNavigatorSeparator1 = new System.Windows.Forms.ToolStripSeparator();
|
||||||
this.bindingNavigatorMoveNextItem = new System.Windows.Forms.ToolStripButton();
|
this.bindingNavigatorMoveNextItem = new System.Windows.Forms.ToolStripButton();
|
||||||
this.bindingNavigatorMoveLastItem = new System.Windows.Forms.ToolStripButton();
|
this.bindingNavigatorMoveLastItem = new System.Windows.Forms.ToolStripButton();
|
||||||
this.marcEditorControl1 = new UniMarc.MarcEditorControl();
|
|
||||||
this.toolStripSeparator1 = new System.Windows.Forms.ToolStripSeparator();
|
this.toolStripSeparator1 = new System.Windows.Forms.ToolStripSeparator();
|
||||||
this.toolStripLabel1 = new System.Windows.Forms.ToolStripLabel();
|
this.toolStripLabel1 = new System.Windows.Forms.ToolStripLabel();
|
||||||
this.lbListIdx = new System.Windows.Forms.ToolStripLabel();
|
this.lbListIdx = new System.Windows.Forms.ToolStripLabel();
|
||||||
@@ -491,18 +491,18 @@
|
|||||||
this.btn_Search.UseVisualStyleBackColor = true;
|
this.btn_Search.UseVisualStyleBackColor = true;
|
||||||
this.btn_Search.Click += new System.EventHandler(this.btn_Search_Click);
|
this.btn_Search.Click += new System.EventHandler(this.btn_Search_Click);
|
||||||
//
|
//
|
||||||
// checkBox3
|
// chkColCheck
|
||||||
//
|
//
|
||||||
this.checkBox3.AutoSize = true;
|
this.chkColCheck.AutoSize = true;
|
||||||
this.checkBox3.BackColor = System.Drawing.Color.White;
|
this.chkColCheck.BackColor = System.Drawing.Color.White;
|
||||||
this.checkBox3.Checked = true;
|
this.chkColCheck.Checked = true;
|
||||||
this.checkBox3.CheckState = System.Windows.Forms.CheckState.Checked;
|
this.chkColCheck.CheckState = System.Windows.Forms.CheckState.Checked;
|
||||||
this.checkBox3.Location = new System.Drawing.Point(511, 109);
|
this.chkColCheck.Location = new System.Drawing.Point(511, 109);
|
||||||
this.checkBox3.Name = "checkBox3";
|
this.chkColCheck.Name = "chkColCheck";
|
||||||
this.checkBox3.Size = new System.Drawing.Size(15, 14);
|
this.chkColCheck.Size = new System.Drawing.Size(15, 14);
|
||||||
this.checkBox3.TabIndex = 227;
|
this.chkColCheck.TabIndex = 227;
|
||||||
this.checkBox3.UseVisualStyleBackColor = false;
|
this.chkColCheck.UseVisualStyleBackColor = false;
|
||||||
this.checkBox3.CheckedChanged += new System.EventHandler(this.checkBox3_CheckedChanged);
|
this.chkColCheck.CheckedChanged += new System.EventHandler(this.checkBox3_CheckedChanged);
|
||||||
//
|
//
|
||||||
// tbCustName
|
// tbCustName
|
||||||
//
|
//
|
||||||
@@ -548,10 +548,20 @@
|
|||||||
this.panel2.Size = new System.Drawing.Size(1083, 658);
|
this.panel2.Size = new System.Drawing.Size(1083, 658);
|
||||||
this.panel2.TabIndex = 325;
|
this.panel2.TabIndex = 325;
|
||||||
//
|
//
|
||||||
|
// marcEditorControl1
|
||||||
|
//
|
||||||
|
this.marcEditorControl1.BackColor = System.Drawing.Color.Gray;
|
||||||
|
this.marcEditorControl1.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||||
|
this.marcEditorControl1.Font = new System.Drawing.Font("돋움", 10F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
|
||||||
|
this.marcEditorControl1.Location = new System.Drawing.Point(0, 0);
|
||||||
|
this.marcEditorControl1.Name = "marcEditorControl1";
|
||||||
|
this.marcEditorControl1.Size = new System.Drawing.Size(1083, 658);
|
||||||
|
this.marcEditorControl1.TabIndex = 0;
|
||||||
|
//
|
||||||
// panel3
|
// panel3
|
||||||
//
|
//
|
||||||
this.panel3.BackColor = System.Drawing.Color.White;
|
this.panel3.BackColor = System.Drawing.Color.White;
|
||||||
this.panel3.Controls.Add(this.checkBox3);
|
this.panel3.Controls.Add(this.chkColCheck);
|
||||||
this.panel3.Controls.Add(this.List_Book);
|
this.panel3.Controls.Add(this.List_Book);
|
||||||
this.panel3.Controls.Add(this.panel1);
|
this.panel3.Controls.Add(this.panel1);
|
||||||
this.panel3.Controls.Add(this.panel4);
|
this.panel3.Controls.Add(this.panel4);
|
||||||
@@ -701,16 +711,6 @@
|
|||||||
this.bindingNavigatorMoveLastItem.Size = new System.Drawing.Size(24, 24);
|
this.bindingNavigatorMoveLastItem.Size = new System.Drawing.Size(24, 24);
|
||||||
this.bindingNavigatorMoveLastItem.Text = "마지막으로 이동";
|
this.bindingNavigatorMoveLastItem.Text = "마지막으로 이동";
|
||||||
//
|
//
|
||||||
// marcEditorControl1
|
|
||||||
//
|
|
||||||
this.marcEditorControl1.BackColor = System.Drawing.Color.Gray;
|
|
||||||
this.marcEditorControl1.Dock = System.Windows.Forms.DockStyle.Fill;
|
|
||||||
this.marcEditorControl1.Font = new System.Drawing.Font("돋움", 10F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
|
|
||||||
this.marcEditorControl1.Location = new System.Drawing.Point(0, 0);
|
|
||||||
this.marcEditorControl1.Name = "marcEditorControl1";
|
|
||||||
this.marcEditorControl1.Size = new System.Drawing.Size(1083, 658);
|
|
||||||
this.marcEditorControl1.TabIndex = 0;
|
|
||||||
//
|
|
||||||
// toolStripSeparator1
|
// toolStripSeparator1
|
||||||
//
|
//
|
||||||
this.toolStripSeparator1.Name = "toolStripSeparator1";
|
this.toolStripSeparator1.Name = "toolStripSeparator1";
|
||||||
@@ -768,7 +768,7 @@
|
|||||||
private System.Windows.Forms.Button btn_Search;
|
private System.Windows.Forms.Button btn_Search;
|
||||||
private System.Windows.Forms.Button btn_mk_marcList;
|
private System.Windows.Forms.Button btn_mk_marcList;
|
||||||
public System.Windows.Forms.DataGridView List_Book;
|
public System.Windows.Forms.DataGridView List_Book;
|
||||||
private System.Windows.Forms.CheckBox checkBox3;
|
private System.Windows.Forms.CheckBox chkColCheck;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -15,9 +15,7 @@ namespace UniMarc
|
|||||||
{
|
{
|
||||||
Helper_DB db = new Helper_DB();
|
Helper_DB db = new Helper_DB();
|
||||||
Marc m;
|
Marc m;
|
||||||
Marc2 m2;
|
|
||||||
AddMarc am;
|
AddMarc am;
|
||||||
AddMarc2 am2;
|
|
||||||
CD_LP cp;
|
CD_LP cp;
|
||||||
public int MarcFormRowIndex;
|
public int MarcFormRowIndex;
|
||||||
|
|
||||||
@@ -25,25 +23,12 @@ namespace UniMarc
|
|||||||
{
|
{
|
||||||
InitializeComponent();
|
InitializeComponent();
|
||||||
}
|
}
|
||||||
public MarcCopySelect(AddMarc2 cD)
|
|
||||||
{
|
|
||||||
InitializeComponent();
|
|
||||||
am2 = cD;
|
|
||||||
db.DBcon();
|
|
||||||
}
|
|
||||||
public MarcCopySelect(CD_LP cD)
|
public MarcCopySelect(CD_LP cD)
|
||||||
{
|
{
|
||||||
InitializeComponent();
|
InitializeComponent();
|
||||||
cp = cD;
|
cp = cD;
|
||||||
db.DBcon();
|
db.DBcon();
|
||||||
}
|
}
|
||||||
public MarcCopySelect(Marc2 _m)
|
|
||||||
{
|
|
||||||
InitializeComponent();
|
|
||||||
m2 = _m;
|
|
||||||
db.DBcon();
|
|
||||||
}
|
|
||||||
|
|
||||||
public MarcCopySelect(Marc _m)
|
public MarcCopySelect(Marc _m)
|
||||||
{
|
{
|
||||||
InitializeComponent();
|
InitializeComponent();
|
||||||
@@ -426,8 +411,6 @@ namespace UniMarc
|
|||||||
if (m != null)
|
if (m != null)
|
||||||
m.SelectMarc_Sub(MarcFormRowIndex, GridData);
|
m.SelectMarc_Sub(MarcFormRowIndex, GridData);
|
||||||
|
|
||||||
if(m2 != null)
|
|
||||||
m2.SelectMarc_Sub(MarcFormRowIndex, GridData);
|
|
||||||
|
|
||||||
if (am != null)
|
if (am != null)
|
||||||
{
|
{
|
||||||
@@ -435,12 +418,6 @@ namespace UniMarc
|
|||||||
string isbn = dataGridView1.Rows[row].Cells["isbn"].Value.ToString();
|
string isbn = dataGridView1.Rows[row].Cells["isbn"].Value.ToString();
|
||||||
am.SelectMarc_Sub(Marc, isbn, GridData);
|
am.SelectMarc_Sub(Marc, isbn, GridData);
|
||||||
}
|
}
|
||||||
if (am2 != null)
|
|
||||||
{
|
|
||||||
string Marc = richTextBox1.Text;
|
|
||||||
string isbn = dataGridView1.Rows[row].Cells["isbn"].Value.ToString();
|
|
||||||
am2.SelectMarc_Sub(Marc, isbn, GridData);
|
|
||||||
}
|
|
||||||
this.Close();
|
this.Close();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
224
unimarc/unimarc/마크/MarcCopySelect2.Designer.cs
generated
Normal file
224
unimarc/unimarc/마크/MarcCopySelect2.Designer.cs
generated
Normal file
@@ -0,0 +1,224 @@
|
|||||||
|
|
||||||
|
namespace UniMarc
|
||||||
|
{
|
||||||
|
partial class MarcCopySelect2
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Required designer variable.
|
||||||
|
/// </summary>
|
||||||
|
private System.ComponentModel.IContainer components = null;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Clean up any resources being used.
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
|
||||||
|
protected override void Dispose(bool disposing)
|
||||||
|
{
|
||||||
|
if (disposing && (components != null))
|
||||||
|
{
|
||||||
|
components.Dispose();
|
||||||
|
}
|
||||||
|
base.Dispose(disposing);
|
||||||
|
}
|
||||||
|
|
||||||
|
#region Windows Form Designer generated code
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Required method for Designer support - do not modify
|
||||||
|
/// the contents of this method with the code editor.
|
||||||
|
/// </summary>
|
||||||
|
private void InitializeComponent()
|
||||||
|
{
|
||||||
|
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle2 = new System.Windows.Forms.DataGridViewCellStyle();
|
||||||
|
this.dataGridView1 = new System.Windows.Forms.DataGridView();
|
||||||
|
this.panel1 = new System.Windows.Forms.Panel();
|
||||||
|
this.progressBar1 = new System.Windows.Forms.ProgressBar();
|
||||||
|
this.btn_Search = new System.Windows.Forms.Button();
|
||||||
|
this.tb_SearchBox = new System.Windows.Forms.TextBox();
|
||||||
|
this.cb_SearchFilter = new System.Windows.Forms.ComboBox();
|
||||||
|
this.btn_ShowDeleteMarc = new System.Windows.Forms.Button();
|
||||||
|
this.btn_Close = new System.Windows.Forms.Button();
|
||||||
|
this.btn_Delete = new System.Windows.Forms.Button();
|
||||||
|
this.panel2 = new System.Windows.Forms.Panel();
|
||||||
|
this.richTextBox1 = new System.Windows.Forms.RichTextBox();
|
||||||
|
this.panel3 = new System.Windows.Forms.Panel();
|
||||||
|
((System.ComponentModel.ISupportInitialize)(this.dataGridView1)).BeginInit();
|
||||||
|
this.panel1.SuspendLayout();
|
||||||
|
this.panel2.SuspendLayout();
|
||||||
|
this.panel3.SuspendLayout();
|
||||||
|
this.SuspendLayout();
|
||||||
|
//
|
||||||
|
// dataGridView1
|
||||||
|
//
|
||||||
|
this.dataGridView1.AllowUserToAddRows = false;
|
||||||
|
this.dataGridView1.AllowUserToDeleteRows = false;
|
||||||
|
this.dataGridView1.BorderStyle = System.Windows.Forms.BorderStyle.None;
|
||||||
|
dataGridViewCellStyle2.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleCenter;
|
||||||
|
dataGridViewCellStyle2.BackColor = System.Drawing.SystemColors.Control;
|
||||||
|
dataGridViewCellStyle2.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
|
||||||
|
dataGridViewCellStyle2.ForeColor = System.Drawing.SystemColors.WindowText;
|
||||||
|
dataGridViewCellStyle2.SelectionBackColor = System.Drawing.SystemColors.Highlight;
|
||||||
|
dataGridViewCellStyle2.SelectionForeColor = System.Drawing.SystemColors.HighlightText;
|
||||||
|
dataGridViewCellStyle2.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
|
||||||
|
this.dataGridView1.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle2;
|
||||||
|
this.dataGridView1.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
|
||||||
|
this.dataGridView1.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||||
|
this.dataGridView1.Location = new System.Drawing.Point(0, 0);
|
||||||
|
this.dataGridView1.Name = "dataGridView1";
|
||||||
|
this.dataGridView1.ReadOnly = true;
|
||||||
|
this.dataGridView1.RowTemplate.Height = 23;
|
||||||
|
this.dataGridView1.Size = new System.Drawing.Size(1109, 106);
|
||||||
|
this.dataGridView1.TabIndex = 0;
|
||||||
|
this.dataGridView1.CellClick += new System.Windows.Forms.DataGridViewCellEventHandler(this.dataGridView1_CellClick);
|
||||||
|
this.dataGridView1.CellDoubleClick += new System.Windows.Forms.DataGridViewCellEventHandler(this.dataGridView1_CellDoubleClick);
|
||||||
|
this.dataGridView1.KeyDown += new System.Windows.Forms.KeyEventHandler(this.dataGridView1_KeyDown);
|
||||||
|
//
|
||||||
|
// panel1
|
||||||
|
//
|
||||||
|
this.panel1.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
|
||||||
|
this.panel1.Controls.Add(this.progressBar1);
|
||||||
|
this.panel1.Controls.Add(this.btn_Search);
|
||||||
|
this.panel1.Controls.Add(this.tb_SearchBox);
|
||||||
|
this.panel1.Controls.Add(this.cb_SearchFilter);
|
||||||
|
this.panel1.Controls.Add(this.btn_ShowDeleteMarc);
|
||||||
|
this.panel1.Controls.Add(this.btn_Close);
|
||||||
|
this.panel1.Controls.Add(this.btn_Delete);
|
||||||
|
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(1109, 33);
|
||||||
|
this.panel1.TabIndex = 1;
|
||||||
|
//
|
||||||
|
// progressBar1
|
||||||
|
//
|
||||||
|
this.progressBar1.Location = new System.Drawing.Point(434, 4);
|
||||||
|
this.progressBar1.Name = "progressBar1";
|
||||||
|
this.progressBar1.Size = new System.Drawing.Size(160, 23);
|
||||||
|
this.progressBar1.TabIndex = 5;
|
||||||
|
//
|
||||||
|
// btn_Search
|
||||||
|
//
|
||||||
|
this.btn_Search.Location = new System.Drawing.Point(353, 4);
|
||||||
|
this.btn_Search.Name = "btn_Search";
|
||||||
|
this.btn_Search.Size = new System.Drawing.Size(75, 23);
|
||||||
|
this.btn_Search.TabIndex = 4;
|
||||||
|
this.btn_Search.Text = "검 색";
|
||||||
|
this.btn_Search.UseVisualStyleBackColor = true;
|
||||||
|
this.btn_Search.Click += new System.EventHandler(this.btn_Search_Click);
|
||||||
|
//
|
||||||
|
// tb_SearchBox
|
||||||
|
//
|
||||||
|
this.tb_SearchBox.Location = new System.Drawing.Point(109, 5);
|
||||||
|
this.tb_SearchBox.Name = "tb_SearchBox";
|
||||||
|
this.tb_SearchBox.Size = new System.Drawing.Size(238, 21);
|
||||||
|
this.tb_SearchBox.TabIndex = 3;
|
||||||
|
this.tb_SearchBox.KeyDown += new System.Windows.Forms.KeyEventHandler(this.tb_SearchBox_KeyDown);
|
||||||
|
//
|
||||||
|
// cb_SearchFilter
|
||||||
|
//
|
||||||
|
this.cb_SearchFilter.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
|
||||||
|
this.cb_SearchFilter.FormattingEnabled = true;
|
||||||
|
this.cb_SearchFilter.Items.AddRange(new object[] {
|
||||||
|
"도서명",
|
||||||
|
"저자",
|
||||||
|
"출판사"});
|
||||||
|
this.cb_SearchFilter.Location = new System.Drawing.Point(11, 5);
|
||||||
|
this.cb_SearchFilter.Name = "cb_SearchFilter";
|
||||||
|
this.cb_SearchFilter.Size = new System.Drawing.Size(91, 20);
|
||||||
|
this.cb_SearchFilter.TabIndex = 2;
|
||||||
|
//
|
||||||
|
// btn_ShowDeleteMarc
|
||||||
|
//
|
||||||
|
this.btn_ShowDeleteMarc.Location = new System.Drawing.Point(844, 4);
|
||||||
|
this.btn_ShowDeleteMarc.Name = "btn_ShowDeleteMarc";
|
||||||
|
this.btn_ShowDeleteMarc.Size = new System.Drawing.Size(93, 23);
|
||||||
|
this.btn_ShowDeleteMarc.TabIndex = 1;
|
||||||
|
this.btn_ShowDeleteMarc.Text = "삭제 마크 확인";
|
||||||
|
this.btn_ShowDeleteMarc.UseVisualStyleBackColor = true;
|
||||||
|
this.btn_ShowDeleteMarc.Click += new System.EventHandler(this.btn_ShowDeleteMarc_Click);
|
||||||
|
//
|
||||||
|
// btn_Close
|
||||||
|
//
|
||||||
|
this.btn_Close.Location = new System.Drawing.Point(1021, 4);
|
||||||
|
this.btn_Close.Name = "btn_Close";
|
||||||
|
this.btn_Close.Size = new System.Drawing.Size(75, 23);
|
||||||
|
this.btn_Close.TabIndex = 0;
|
||||||
|
this.btn_Close.Text = "닫 기";
|
||||||
|
this.btn_Close.UseVisualStyleBackColor = true;
|
||||||
|
this.btn_Close.Click += new System.EventHandler(this.btn_Close_Click);
|
||||||
|
//
|
||||||
|
// btn_Delete
|
||||||
|
//
|
||||||
|
this.btn_Delete.Location = new System.Drawing.Point(943, 4);
|
||||||
|
this.btn_Delete.Name = "btn_Delete";
|
||||||
|
this.btn_Delete.Size = new System.Drawing.Size(75, 23);
|
||||||
|
this.btn_Delete.TabIndex = 0;
|
||||||
|
this.btn_Delete.Text = "마크 삭제";
|
||||||
|
this.btn_Delete.UseVisualStyleBackColor = true;
|
||||||
|
this.btn_Delete.Click += new System.EventHandler(this.btn_Delete_Click);
|
||||||
|
//
|
||||||
|
// panel2
|
||||||
|
//
|
||||||
|
this.panel2.Controls.Add(this.dataGridView1);
|
||||||
|
this.panel2.Dock = System.Windows.Forms.DockStyle.Top;
|
||||||
|
this.panel2.Location = new System.Drawing.Point(0, 33);
|
||||||
|
this.panel2.Name = "panel2";
|
||||||
|
this.panel2.Size = new System.Drawing.Size(1109, 106);
|
||||||
|
this.panel2.TabIndex = 2;
|
||||||
|
//
|
||||||
|
// richTextBox1
|
||||||
|
//
|
||||||
|
this.richTextBox1.BackColor = System.Drawing.Color.LightGray;
|
||||||
|
this.richTextBox1.BorderStyle = System.Windows.Forms.BorderStyle.None;
|
||||||
|
this.richTextBox1.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||||
|
this.richTextBox1.Font = new System.Drawing.Font("굴림체", 11.25F);
|
||||||
|
this.richTextBox1.Location = new System.Drawing.Point(0, 0);
|
||||||
|
this.richTextBox1.Name = "richTextBox1";
|
||||||
|
this.richTextBox1.Size = new System.Drawing.Size(1109, 540);
|
||||||
|
this.richTextBox1.TabIndex = 0;
|
||||||
|
this.richTextBox1.Text = "";
|
||||||
|
//
|
||||||
|
// panel3
|
||||||
|
//
|
||||||
|
this.panel3.Controls.Add(this.richTextBox1);
|
||||||
|
this.panel3.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||||
|
this.panel3.Location = new System.Drawing.Point(0, 139);
|
||||||
|
this.panel3.Name = "panel3";
|
||||||
|
this.panel3.Size = new System.Drawing.Size(1109, 540);
|
||||||
|
this.panel3.TabIndex = 3;
|
||||||
|
//
|
||||||
|
// MarcCopySelect
|
||||||
|
//
|
||||||
|
this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 12F);
|
||||||
|
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||||
|
this.ClientSize = new System.Drawing.Size(1109, 679);
|
||||||
|
this.Controls.Add(this.panel3);
|
||||||
|
this.Controls.Add(this.panel2);
|
||||||
|
this.Controls.Add(this.panel1);
|
||||||
|
this.Name = "MarcCopySelect";
|
||||||
|
this.Text = "마크 선택";
|
||||||
|
((System.ComponentModel.ISupportInitialize)(this.dataGridView1)).EndInit();
|
||||||
|
this.panel1.ResumeLayout(false);
|
||||||
|
this.panel1.PerformLayout();
|
||||||
|
this.panel2.ResumeLayout(false);
|
||||||
|
this.panel3.ResumeLayout(false);
|
||||||
|
this.ResumeLayout(false);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
private System.Windows.Forms.DataGridView dataGridView1;
|
||||||
|
private System.Windows.Forms.Panel panel1;
|
||||||
|
private System.Windows.Forms.Panel panel2;
|
||||||
|
private System.Windows.Forms.RichTextBox richTextBox1;
|
||||||
|
private System.Windows.Forms.Panel panel3;
|
||||||
|
private System.Windows.Forms.Button btn_Close;
|
||||||
|
private System.Windows.Forms.Button btn_Delete;
|
||||||
|
private System.Windows.Forms.Button btn_ShowDeleteMarc;
|
||||||
|
private System.Windows.Forms.ComboBox cb_SearchFilter;
|
||||||
|
private System.Windows.Forms.Button btn_Search;
|
||||||
|
private System.Windows.Forms.TextBox tb_SearchBox;
|
||||||
|
private System.Windows.Forms.ProgressBar progressBar1;
|
||||||
|
}
|
||||||
|
}
|
||||||
496
unimarc/unimarc/마크/MarcCopySelect2.cs
Normal file
496
unimarc/unimarc/마크/MarcCopySelect2.cs
Normal file
@@ -0,0 +1,496 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.ComponentModel;
|
||||||
|
using System.Data;
|
||||||
|
using System.Drawing;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
using System.Windows.Forms;
|
||||||
|
using static System.Windows.Forms.VisualStyles.VisualStyleElement;
|
||||||
|
|
||||||
|
namespace UniMarc
|
||||||
|
{
|
||||||
|
public partial class MarcCopySelect2 : Form
|
||||||
|
{
|
||||||
|
Helper_DB db = new Helper_DB();
|
||||||
|
Marc2 m2;
|
||||||
|
AddMarc2 am2;
|
||||||
|
MarcBookItem item;
|
||||||
|
|
||||||
|
public MarcCopySelect2()
|
||||||
|
{
|
||||||
|
InitializeComponent();
|
||||||
|
}
|
||||||
|
public MarcCopySelect2(AddMarc2 cD)
|
||||||
|
{
|
||||||
|
InitializeComponent();
|
||||||
|
am2 = cD;
|
||||||
|
db.DBcon();
|
||||||
|
}
|
||||||
|
public MarcCopySelect2(Marc2 _m,MarcBookItem _item)
|
||||||
|
{
|
||||||
|
InitializeComponent();
|
||||||
|
m2 = _m;
|
||||||
|
this.item = _item;
|
||||||
|
db.DBcon();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void tb_SearchBox_KeyDown(object sender, KeyEventArgs e)
|
||||||
|
{
|
||||||
|
if (e.KeyCode == Keys.Enter)
|
||||||
|
btn_Search_Click(null, null);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void btn_Search_Click(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
if (cb_SearchFilter.SelectedIndex < 0) return;
|
||||||
|
|
||||||
|
dataGridView1.Rows.Clear();
|
||||||
|
richTextBox1.Text = "";
|
||||||
|
|
||||||
|
string search_Col = "";
|
||||||
|
string search_Target = tb_SearchBox.Text;
|
||||||
|
switch (cb_SearchFilter.SelectedIndex)
|
||||||
|
{
|
||||||
|
case 0:
|
||||||
|
search_Col = "ISBN";
|
||||||
|
break;
|
||||||
|
case 1:
|
||||||
|
search_Col = "서명";
|
||||||
|
break;
|
||||||
|
case 2:
|
||||||
|
search_Col = "저자";
|
||||||
|
break;
|
||||||
|
case 3:
|
||||||
|
search_Col = "출판사";
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
Init(search_Col, search_Target);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void Init(string search_col, string search_Target, string CD_LP)
|
||||||
|
{
|
||||||
|
SettingGrid_CDLP();
|
||||||
|
|
||||||
|
btn_ShowDeleteMarc.Visible = false;
|
||||||
|
btn_Delete.Visible = false;
|
||||||
|
|
||||||
|
if (search_Target == "") return;
|
||||||
|
|
||||||
|
string Area = "`idx`, `Code`, `user`, `date`, `Marc`";
|
||||||
|
string Table = "DVD_Marc";
|
||||||
|
string Query = string.Format("SELECT {0} FROM {1} WHERE `{2}` = \"{3}\"", Area, Table, search_col, search_Target);
|
||||||
|
string Result = db.DB_Send_CMD_Search(Query);
|
||||||
|
string[] GridData = Result.Split('|');
|
||||||
|
|
||||||
|
InputGrid_CDLP(GridData);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void SettingGrid_CDLP()
|
||||||
|
{
|
||||||
|
DataGridView dgv = dataGridView1;
|
||||||
|
dgv.Columns.Add("idx", "idx");
|
||||||
|
dgv.Columns.Add("code", "CODE");
|
||||||
|
dgv.Columns.Add("user", "수정자");
|
||||||
|
dgv.Columns.Add("date", "수정시각");
|
||||||
|
dgv.Columns.Add("marc", "Marc");
|
||||||
|
|
||||||
|
dgv.Columns["idx"].Visible = false;
|
||||||
|
dgv.Columns["user"].Width = 120;
|
||||||
|
dgv.Columns["date"].Width = 120;
|
||||||
|
dgv.Columns["marc"].Width = 300;
|
||||||
|
}
|
||||||
|
|
||||||
|
private void InputGrid_CDLP(string[] Value)
|
||||||
|
{
|
||||||
|
progressBar1.Value = 0;
|
||||||
|
progressBar1.Maximum = Value.Length / 5;
|
||||||
|
|
||||||
|
string[] Grid = { "", "", "", "", "" };
|
||||||
|
|
||||||
|
for (int a = 0; a < Value.Length; a++)
|
||||||
|
{
|
||||||
|
if (a % 5 == 0) Grid[0] = Value[a]; // idx
|
||||||
|
if (a % 5 == 1) Grid[1] = Value[a]; // CODE
|
||||||
|
if (a % 5 == 2) Grid[2] = Value[a]; // user
|
||||||
|
if (a % 5 == 3) Grid[3] = Value[a]; // date
|
||||||
|
if (a % 5 == 4)
|
||||||
|
{
|
||||||
|
Grid[4] = Value[a]; // marc
|
||||||
|
dataGridView1.Rows.Add(Grid);
|
||||||
|
progressBar1.Value += 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
for (int a = 0; a < dataGridView1.Rows.Count; a++)
|
||||||
|
{
|
||||||
|
string savedate = dataGridView1.Rows[a].Cells["date"].Value.ToString();
|
||||||
|
SaveDataCheck(savedate, a);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public void Init(string search_col, string search_Target)
|
||||||
|
{
|
||||||
|
SettingGrid_Book();
|
||||||
|
if (search_Target == "") return;
|
||||||
|
|
||||||
|
// 0 1 2 3 4
|
||||||
|
string Area = "`idx`, `compidx`, `ISBN`, `서명`, `저자`, " +
|
||||||
|
// 5 6 7 8 9
|
||||||
|
"`출판사`, `user`, `date`, `grade`, `008tag`, " +
|
||||||
|
// 10 11 12 13 14 15
|
||||||
|
"`marc`, `marc_chk`, `marc1`, `marc_chk1`, `marc2`, `marc_chk2`";
|
||||||
|
string Table = "Marc";
|
||||||
|
|
||||||
|
string Query = string.Format("SELECT {0} FROM {1} WHERE `{2}` like \"%{3}%\";", Area, Table, search_col, search_Target);
|
||||||
|
string Result = db.DB_Send_CMD_Search(Query);
|
||||||
|
string[] GridData = Result.Split('|');
|
||||||
|
|
||||||
|
InputGrid(GridData);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void SettingGrid_Book()
|
||||||
|
{
|
||||||
|
DataGridView dgv = dataGridView1;
|
||||||
|
dgv.Columns.Add("idx", "idx");
|
||||||
|
dgv.Columns.Add("compidx", "compidx");
|
||||||
|
dgv.Columns.Add("isbn", "ISBN");
|
||||||
|
dgv.Columns.Add("Title", "서명");
|
||||||
|
dgv.Columns.Add("Author", "저자");
|
||||||
|
dgv.Columns.Add("Comp", "출판사");
|
||||||
|
dgv.Columns.Add("user", "수정자");
|
||||||
|
dgv.Columns.Add("date", "수정시각");
|
||||||
|
dgv.Columns.Add("grade", "등급");
|
||||||
|
dgv.Columns.Add("tag008", "008Tag");
|
||||||
|
dgv.Columns.Add("marc", "Marc");
|
||||||
|
|
||||||
|
dgv.Columns["idx"].Visible = false;
|
||||||
|
dgv.Columns["compidx"].Visible = false;
|
||||||
|
dgv.Columns["user"].Width = 120;
|
||||||
|
dgv.Columns["date"].Width = 120;
|
||||||
|
dgv.Columns["grade"].Width = 60;
|
||||||
|
dgv.Columns["tag008"].Width = 150;
|
||||||
|
dgv.Columns["marc"].Width = 200;
|
||||||
|
}
|
||||||
|
|
||||||
|
private void InputGrid(string[] Value)
|
||||||
|
{
|
||||||
|
progressBar1.Value = 0;
|
||||||
|
progressBar1.Maximum = Value.Length / 16;
|
||||||
|
|
||||||
|
string[] Grid = {
|
||||||
|
"", "", "", "", "",
|
||||||
|
"", "", "", "", "",
|
||||||
|
"" };
|
||||||
|
string[] MarcData = { "", "", "", "", "", "" };
|
||||||
|
|
||||||
|
for (int a = 0; a < Value.Length; a++)
|
||||||
|
{
|
||||||
|
if (a % 16 == 0) Grid[0] = Value[a]; // idx
|
||||||
|
if (a % 16 == 1) Grid[1] = Value[a]; // compidx
|
||||||
|
if (a % 16 == 2) Grid[2] = Value[a]; // isbn
|
||||||
|
if (a % 16 == 3) Grid[3] = Value[a]; // 서명
|
||||||
|
if (a % 16 == 4) Grid[4] = Value[a]; // 저자
|
||||||
|
if (a % 16 == 5) Grid[5] = Value[a]; // 출판사
|
||||||
|
if (a % 16 == 6) Grid[6] = Value[a]; // user
|
||||||
|
if (a % 16 == 7) Grid[7] = Value[a]; // date
|
||||||
|
if (a % 16 == 8) Grid[8] = ChangeGrade(Value[a]); // grade
|
||||||
|
if (a % 16 == 9) Grid[9] = Value[a]; // 008tag
|
||||||
|
if (a % 16 == 10) MarcData[0] = Value[a]; // marc
|
||||||
|
if (a % 16 == 11) MarcData[1] = Value[a]; // marc_chk
|
||||||
|
if (a % 16 == 12) MarcData[2] = Value[a]; // marc1
|
||||||
|
if (a % 16 == 13) MarcData[3] = Value[a]; // marc_chk1
|
||||||
|
if (a % 16 == 14) MarcData[4] = Value[a]; // marc2
|
||||||
|
if (a % 16 == 15) { MarcData[5] = Value[a]; // marc_chk2
|
||||||
|
Grid[10] = RealMarc(MarcData);
|
||||||
|
dataGridView1.Rows.Add(Grid);
|
||||||
|
progressBar1.Value += 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
for (int a = 0; a < dataGridView1.Rows.Count; a++)
|
||||||
|
{
|
||||||
|
string compidx = dataGridView1.Rows[a].Cells["compidx"].Value.ToString();
|
||||||
|
string grade = dataGridView1.Rows[a].Cells["grade"].Value.ToString();
|
||||||
|
string savedate = dataGridView1.Rows[a].Cells["date"].Value.ToString();
|
||||||
|
|
||||||
|
bool isMyData = true;
|
||||||
|
|
||||||
|
if (compidx != PUB.user.CompanyIdx) {
|
||||||
|
isMyData = false;
|
||||||
|
string FindCompCmd = string.Format("SELECT `comp_name` FROM `Comp` WHERE `idx` = {0}", compidx);
|
||||||
|
dataGridView1.Rows[a].Cells["user"].Value = db.DB_Send_CMD_Search(FindCompCmd).Replace("|", "");
|
||||||
|
dataGridView1.Rows[a].DefaultCellStyle.BackColor = Color.LightGray;
|
||||||
|
}
|
||||||
|
|
||||||
|
dataGridView1.Rows[a].DefaultCellStyle.ForeColor = SetGradeColor(grade, isMyData);
|
||||||
|
SaveDataCheck(savedate, a);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private string ChangeGrade(string Grade)
|
||||||
|
{
|
||||||
|
switch (Grade)
|
||||||
|
{
|
||||||
|
case "0":
|
||||||
|
return "A";
|
||||||
|
case "1":
|
||||||
|
return "B";
|
||||||
|
case "2":
|
||||||
|
return "C";
|
||||||
|
case "3":
|
||||||
|
return "D";
|
||||||
|
|
||||||
|
case "A":
|
||||||
|
return "0";
|
||||||
|
case "B":
|
||||||
|
return "1";
|
||||||
|
case "C":
|
||||||
|
return "2";
|
||||||
|
case "D":
|
||||||
|
return "3";
|
||||||
|
|
||||||
|
default:
|
||||||
|
return "D";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private Color SetGradeColor(string Grade, bool isMyData = true)
|
||||||
|
{
|
||||||
|
if (!isMyData)
|
||||||
|
return Color.Orange;
|
||||||
|
|
||||||
|
switch (Grade)
|
||||||
|
{
|
||||||
|
case "A":
|
||||||
|
return Color.Blue;
|
||||||
|
case "B":
|
||||||
|
return Color.Black;
|
||||||
|
case "C":
|
||||||
|
return Color.Gray;
|
||||||
|
case "D":
|
||||||
|
return Color.Red;
|
||||||
|
|
||||||
|
default:
|
||||||
|
return Color.Black;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void SaveDataCheck(string Date, int row)
|
||||||
|
{
|
||||||
|
DateTime SaveDate = DateTime.ParseExact(Date, "yyyy-MM-dd HH:mm:ss",
|
||||||
|
System.Globalization.CultureInfo.InvariantCulture, System.Globalization.DateTimeStyles.None);
|
||||||
|
DateTime TargetDate = DateTime.Today.AddDays(-14);
|
||||||
|
|
||||||
|
int result = DateTime.Compare(SaveDate, TargetDate);
|
||||||
|
|
||||||
|
if (result >= 0) // SaveDate가 같거나 큼
|
||||||
|
dataGridView1.Rows[row].DefaultCellStyle.BackColor = Color.Yellow;
|
||||||
|
|
||||||
|
else // TargetDate가 큼
|
||||||
|
dataGridView1.Rows[row].DefaultCellStyle.BackColor = Color.White;
|
||||||
|
}
|
||||||
|
|
||||||
|
private string RealMarc(string[] MarcData)
|
||||||
|
{
|
||||||
|
string result = "";
|
||||||
|
if (MarcData[1] == "1")
|
||||||
|
result = MarcData[0];
|
||||||
|
|
||||||
|
if (MarcData[3] == "1")
|
||||||
|
result = MarcData[2];
|
||||||
|
|
||||||
|
if (MarcData[5] == "1")
|
||||||
|
result = MarcData[4];
|
||||||
|
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e)
|
||||||
|
{
|
||||||
|
String_Text st = new String_Text();
|
||||||
|
int row = e.RowIndex;
|
||||||
|
|
||||||
|
if (row < 0) return;
|
||||||
|
|
||||||
|
view_Marc(row);
|
||||||
|
|
||||||
|
st.Color_change("▼", richTextBox1);
|
||||||
|
st.Color_change("▲", richTextBox1);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 마크데이터가 있는지 확인하고 메모장으로 출력
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="row">해당 데이터의 row값</param>
|
||||||
|
/// <returns></returns>
|
||||||
|
void view_Marc(int row)
|
||||||
|
{
|
||||||
|
// 마크 데이터
|
||||||
|
string Marc_data = dataGridView1.Rows[row].Cells["marc"].Value.ToString();
|
||||||
|
|
||||||
|
if (Marc_data.Length < 3) return;
|
||||||
|
|
||||||
|
string result = string.Empty;
|
||||||
|
|
||||||
|
List<string> TagNum = new List<string>(); // 태그번호
|
||||||
|
List<string> field = new List<string>(); // 가변길이필드 저장
|
||||||
|
|
||||||
|
// 특수기호 육안으로 확인하기 쉽게 변환
|
||||||
|
Marc_data = Marc_data.Replace("", "▼");
|
||||||
|
Marc_data = Marc_data.Replace("", "▲");
|
||||||
|
Marc_data = Marc_data.Replace("₩", "\\");
|
||||||
|
// string leader = Marc_data.Substring(0, 24);
|
||||||
|
|
||||||
|
int startidx = 0;
|
||||||
|
string[] data = Marc_data.Substring(24).Split('▲'); // 리더부를 제외한 디렉터리, 가변길이필드 저장
|
||||||
|
|
||||||
|
// List에 필요한 데이터 집어넣는 작업.
|
||||||
|
for (int a = 1; a < data.Length - 1; a++)
|
||||||
|
{
|
||||||
|
TagNum.Add(data[0].Substring(startidx, 3));
|
||||||
|
startidx += 12;
|
||||||
|
field.Add(data[a] + "▲");
|
||||||
|
}
|
||||||
|
|
||||||
|
// List에 들어간 데이터를 메모장에 출력시키는 작업.
|
||||||
|
for (int a = 0; a < TagNum.Count; a++)
|
||||||
|
{
|
||||||
|
string res = TagNum[a];
|
||||||
|
if (field[a].IndexOf("▼") == -1)
|
||||||
|
{
|
||||||
|
res += "\t \t" + field[a];
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
string temp = field[a].Insert(2, "\t");
|
||||||
|
res += "\t" + temp;
|
||||||
|
}
|
||||||
|
result += res + "\n";
|
||||||
|
}
|
||||||
|
richTextBox1.Text = result;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
private void dataGridView1_CellDoubleClick(object sender, DataGridViewCellEventArgs e)
|
||||||
|
{
|
||||||
|
int row = e.RowIndex;
|
||||||
|
SelectMarc(row);
|
||||||
|
}
|
||||||
|
|
||||||
|
void SelectMarc(int row)
|
||||||
|
{
|
||||||
|
string[] GridData = {
|
||||||
|
dataGridView1.Rows[row].Cells["idx"].Value.ToString(),
|
||||||
|
dataGridView1.Rows[row].Cells["compidx"].Value.ToString(),
|
||||||
|
dataGridView1.Rows[row].Cells["user"].Value.ToString(),
|
||||||
|
ChangeGrade(dataGridView1.Rows[row].Cells["grade"].Value.ToString()),
|
||||||
|
dataGridView1.Rows[row].Cells["date"].Value.ToString(),
|
||||||
|
dataGridView1.Rows[row].Cells["tag008"].Value.ToString(),
|
||||||
|
dataGridView1.Rows[row].Cells["marc"].Value.ToString()
|
||||||
|
};
|
||||||
|
|
||||||
|
if(m2 != null)
|
||||||
|
{
|
||||||
|
m2.SelectMarc_Sub(this.item, GridData);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
if (am2 != null)
|
||||||
|
{
|
||||||
|
string Marc = richTextBox1.Text;
|
||||||
|
string isbn = dataGridView1.Rows[row].Cells["isbn"].Value.ToString();
|
||||||
|
am2.SelectMarc_Sub(Marc, isbn, GridData);
|
||||||
|
}
|
||||||
|
this.Close();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void btn_Close_Click(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
this.Close();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void btn_Delete_Click(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
if (dataGridView1.CurrentCell.RowIndex < -1)
|
||||||
|
return;
|
||||||
|
|
||||||
|
int row = dataGridView1.CurrentCell.RowIndex;
|
||||||
|
|
||||||
|
string idx = dataGridView1.Rows[row].Cells["idx"].Value.ToString();
|
||||||
|
|
||||||
|
string User = PUB.user.UserName;
|
||||||
|
string compidx = PUB.user.CompanyIdx;
|
||||||
|
string NowDate = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
|
||||||
|
|
||||||
|
string SelectArea = "`compidx`, `grade`, `ISBN`, `서명`, `총서명`, " +
|
||||||
|
"`저자`, `출판사`, `출판년월`, `가격`, `008tag`, " +
|
||||||
|
"`division`, `user`, `비고1`, `비고2`, `url`, " +
|
||||||
|
"`marc`, `marc_chk`, `marc1`, `marc_chk1`, `marc2`, `marc_chk2`";
|
||||||
|
|
||||||
|
string SelectCMD = string.Format("SELECT {0} FROM {1} WHERE `idx` = {2};", SelectArea, "Marc", idx);
|
||||||
|
string SelectRes = db.self_Made_Cmd(SelectCMD);
|
||||||
|
string[] SelectAry = SelectRes.Split('|');
|
||||||
|
|
||||||
|
if (SelectAry[0] != compidx)
|
||||||
|
{
|
||||||
|
MessageBox.Show("해당 마크를 삭제할 권한이 없습니다.", "삭제");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (MessageBox.Show("삭제하시겠습니까?", "삭제!", MessageBoxButtons.OKCancel) == DialogResult.Cancel)
|
||||||
|
return;
|
||||||
|
|
||||||
|
string[] InsertCol = {
|
||||||
|
"compidx", "grade", "ISBN", "서명", "총서명",
|
||||||
|
"저자", "출판사", "출판년월", "가격", "008tag",
|
||||||
|
"division", "user", "비고1", "비고2", "url",
|
||||||
|
"date", "user_Del", "marc"
|
||||||
|
};
|
||||||
|
|
||||||
|
string marc = "";
|
||||||
|
|
||||||
|
if (SelectAry[16] == "1")
|
||||||
|
marc = SelectAry[15];
|
||||||
|
else if (SelectAry[18] == "1")
|
||||||
|
marc = SelectAry[17];
|
||||||
|
else if (SelectAry[20] == "1")
|
||||||
|
marc = SelectAry[19];
|
||||||
|
|
||||||
|
string[] InsertData = {
|
||||||
|
SelectAry[0], SelectAry[1], SelectAry[2], SelectAry[3], SelectAry[4],
|
||||||
|
SelectAry[5], SelectAry[6], SelectAry[7], SelectAry[8], SelectAry[9],
|
||||||
|
SelectAry[10], SelectAry[11], SelectAry[12], SelectAry[13], SelectAry[14],
|
||||||
|
NowDate, User, marc
|
||||||
|
};
|
||||||
|
|
||||||
|
string InsertCmd = db.DB_INSERT("Marc_Del", InsertCol, InsertData);
|
||||||
|
Helper_DB.ExcuteNonQuery(InsertCmd);
|
||||||
|
|
||||||
|
string DeleteCmd = string.Format("DELETE FROM `Marc` WHERE `idx` = {0};", idx);
|
||||||
|
Helper_DB.ExcuteNonQuery(DeleteCmd);
|
||||||
|
|
||||||
|
dataGridView1.Rows.Remove(dataGridView1.Rows[row]);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void btn_ShowDeleteMarc_Click(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
ShowDeleteMarc showDeleteMarc = new ShowDeleteMarc();
|
||||||
|
showDeleteMarc.Show();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void dataGridView1_KeyDown(object sender, KeyEventArgs e)
|
||||||
|
{
|
||||||
|
|
||||||
|
if (e.KeyCode == Keys.Enter)
|
||||||
|
{
|
||||||
|
if (dataGridView1.CurrentCell.RowIndex < 0)
|
||||||
|
return;
|
||||||
|
|
||||||
|
int row = dataGridView1.CurrentCell.RowIndex;
|
||||||
|
SelectMarc(row);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
120
unimarc/unimarc/마크/MarcCopySelect2.resx
Normal file
120
unimarc/unimarc/마크/MarcCopySelect2.resx
Normal file
@@ -0,0 +1,120 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<root>
|
||||||
|
<!--
|
||||||
|
Microsoft ResX Schema
|
||||||
|
|
||||||
|
Version 2.0
|
||||||
|
|
||||||
|
The primary goals of this format is to allow a simple XML format
|
||||||
|
that is mostly human readable. The generation and parsing of the
|
||||||
|
various data types are done through the TypeConverter classes
|
||||||
|
associated with the data types.
|
||||||
|
|
||||||
|
Example:
|
||||||
|
|
||||||
|
... ado.net/XML headers & schema ...
|
||||||
|
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||||
|
<resheader name="version">2.0</resheader>
|
||||||
|
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||||
|
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||||
|
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||||
|
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||||
|
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||||
|
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||||
|
</data>
|
||||||
|
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||||
|
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||||
|
<comment>This is a comment</comment>
|
||||||
|
</data>
|
||||||
|
|
||||||
|
There are any number of "resheader" rows that contain simple
|
||||||
|
name/value pairs.
|
||||||
|
|
||||||
|
Each data row contains a name, and value. The row also contains a
|
||||||
|
type or mimetype. Type corresponds to a .NET class that support
|
||||||
|
text/value conversion through the TypeConverter architecture.
|
||||||
|
Classes that don't support this are serialized and stored with the
|
||||||
|
mimetype set.
|
||||||
|
|
||||||
|
The mimetype is used for serialized objects, and tells the
|
||||||
|
ResXResourceReader how to depersist the object. This is currently not
|
||||||
|
extensible. For a given mimetype the value must be set accordingly:
|
||||||
|
|
||||||
|
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||||
|
that the ResXResourceWriter will generate, however the reader can
|
||||||
|
read any of the formats listed below.
|
||||||
|
|
||||||
|
mimetype: application/x-microsoft.net.object.binary.base64
|
||||||
|
value : The object must be serialized with
|
||||||
|
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||||
|
: and then encoded with base64 encoding.
|
||||||
|
|
||||||
|
mimetype: application/x-microsoft.net.object.soap.base64
|
||||||
|
value : The object must be serialized with
|
||||||
|
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||||
|
: and then encoded with base64 encoding.
|
||||||
|
|
||||||
|
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||||
|
value : The object must be serialized into a byte array
|
||||||
|
: using a System.ComponentModel.TypeConverter
|
||||||
|
: and then encoded with base64 encoding.
|
||||||
|
-->
|
||||||
|
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||||
|
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||||
|
<xsd:element name="root" msdata:IsDataSet="true">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:choice maxOccurs="unbounded">
|
||||||
|
<xsd:element name="metadata">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||||
|
<xsd:attribute name="type" type="xsd:string" />
|
||||||
|
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||||
|
<xsd:attribute ref="xml:space" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="assembly">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:attribute name="alias" type="xsd:string" />
|
||||||
|
<xsd:attribute name="name" type="xsd:string" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="data">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||||
|
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||||
|
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||||
|
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||||
|
<xsd:attribute ref="xml:space" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="resheader">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
</xsd:choice>
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
</xsd:schema>
|
||||||
|
<resheader name="resmimetype">
|
||||||
|
<value>text/microsoft-resx</value>
|
||||||
|
</resheader>
|
||||||
|
<resheader name="version">
|
||||||
|
<value>2.0</value>
|
||||||
|
</resheader>
|
||||||
|
<resheader name="reader">
|
||||||
|
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</resheader>
|
||||||
|
<resheader name="writer">
|
||||||
|
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</resheader>
|
||||||
|
</root>
|
||||||
@@ -18,12 +18,6 @@ namespace UniMarc
|
|||||||
Marc marc;
|
Marc marc;
|
||||||
CD_LP cp;
|
CD_LP cp;
|
||||||
Helper_DB db = new Helper_DB();
|
Helper_DB db = new Helper_DB();
|
||||||
Marc2 marc2;
|
|
||||||
public Marc_mkList(Marc2 _mae)
|
|
||||||
{
|
|
||||||
InitializeComponent();
|
|
||||||
marc2 = _mae;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Marc_mkList(Marc _marc)
|
public Marc_mkList(Marc _marc)
|
||||||
{
|
{
|
||||||
@@ -203,186 +197,8 @@ namespace UniMarc
|
|||||||
|
|
||||||
if (marc != null)
|
if (marc != null)
|
||||||
ExportOld();
|
ExportOld();
|
||||||
else if (marc2 != null)
|
|
||||||
ExportNew();
|
|
||||||
}
|
|
||||||
void ExportNew()
|
|
||||||
{
|
|
||||||
String_Text st = new String_Text();
|
|
||||||
var marccnt1 = marc2?.List_Book.RowCount ?? 0;
|
|
||||||
|
|
||||||
if (marccnt1 < 1)
|
|
||||||
{
|
|
||||||
UTIL.MsgE("마크데이터 목록이 존재하지 않습니다");
|
|
||||||
return;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
string listName = tb_listName.Text;
|
|
||||||
string Time = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
|
|
||||||
string outnum = tb_outnum.Text + "차";
|
|
||||||
string user = PUB.user.UserName;// Properties.Settings.Default.User;
|
|
||||||
|
|
||||||
var marc = this.marc2;
|
|
||||||
|
|
||||||
bool isAuthor = false;
|
|
||||||
bool isBook = false;
|
|
||||||
if (cb_FirstAuthor.SelectedIndex == 0)
|
|
||||||
isAuthor = true;
|
|
||||||
if (cb_FirstBook.SelectedIndex == 0)
|
|
||||||
isBook = true;
|
|
||||||
bool[] isType = { isAuthor, isBook };
|
|
||||||
|
|
||||||
// 시방서 목록 DB에 들어갈 것들.
|
|
||||||
string[] insert_list_col = {
|
|
||||||
"compidx", "work_list", "date", "state", "gu",
|
|
||||||
"first_Author", "symbol_Author","symbol_AuthorE", "book_Author", "divType", "divNum",
|
|
||||||
"etc", "user"
|
|
||||||
};
|
|
||||||
string[] insert_list_data = {
|
|
||||||
PUB.user.CompanyIdx, listName, Time, "진행", cb_listType.Text,
|
|
||||||
cb_FirstAuthor.Text, cb_authorTypeK.Text, cb_authorTypeE.Text, cb_FirstBook.Text, cb_divType.Text, cb_divNum.Text,
|
|
||||||
rtb_etc.Text, user
|
|
||||||
};
|
|
||||||
string cmdByList = db.DB_INSERT("Specs_List", insert_list_col, insert_list_data);
|
|
||||||
|
|
||||||
// 시방서 마크 DB에 들어갈 것들.
|
|
||||||
string[] insert_marc_col = {
|
|
||||||
"compidx", "work_list", "date", "ISBN", "book_name",
|
|
||||||
"s_book_name1", "s_book_num1", "author", "book_comp", "pubdate",
|
|
||||||
"price", "tag008", "class_symbol", "author_symbol", "marc",
|
|
||||||
"imageURL", "count", "num", "out_num", "midx",
|
|
||||||
"editDate", "user"
|
|
||||||
};
|
|
||||||
|
|
||||||
string[] insert_marc_data = {
|
|
||||||
PUB.user.CompanyIdx, listName, Time, "", "",
|
|
||||||
"", "", "", "", "",
|
|
||||||
"", "", "", "", "",
|
|
||||||
"", "", "", "", "",
|
|
||||||
Time, user
|
|
||||||
}; // 마크에서 추출 ( 3 ~ 12 )
|
|
||||||
|
|
||||||
int[] row = checkGridRow();
|
|
||||||
int num = 0;
|
|
||||||
progressBar1.Maximum = row.Length + 1;
|
|
||||||
string cmdByMarc = string.Format("INSERT INTO {0} {1} value", "Specs_Marc", db.DB_INSERT_SUB("", insert_marc_col));
|
|
||||||
|
|
||||||
bool CountSplit = chk_countSplit.Checked;
|
|
||||||
int listCount = 1;
|
|
||||||
int addCount = 1;
|
|
||||||
|
|
||||||
// 필터링하여 DB에 집어넣는 작업
|
|
||||||
for (int a = 0; a < row.Length; a++)
|
|
||||||
{
|
|
||||||
if (Convert.ToString(marc.List_Book.Rows[row[a]].Cells["db_marc"].Value) == "")
|
|
||||||
continue;
|
|
||||||
|
|
||||||
num += 1;
|
|
||||||
int.TryParse(Convert.ToString(marc.List_Book.Rows[row[a]].Cells["count"].Value), out listCount);
|
|
||||||
|
|
||||||
// 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] = Convert.ToString(marc.List_Book.Rows[row[a]].Cells["db_marc"].Value);
|
|
||||||
insert_marc_data[15] = Convert.ToString(marc.List_Book.Rows[row[a]].Cells["url"].Value);
|
|
||||||
insert_marc_data[16] = addCount.ToString();
|
|
||||||
if (rb_basicNum.Checked)
|
|
||||||
insert_marc_data[17] = Convert.ToString(marc.List_Book.Rows[row[a]].Cells["num"].Value);
|
|
||||||
else
|
|
||||||
insert_marc_data[17] = num.ToString();
|
|
||||||
insert_marc_data[18] = outnum;
|
|
||||||
insert_marc_data[19] = Convert.ToString(marc.List_Book.Rows[row[a]].Cells["marc_idx"].Value);
|
|
||||||
insert_marc_data[20] = Convert.ToString(marc.List_Book.Rows[row[a]].Cells["SaveDate"].Value);
|
|
||||||
insert_marc_data[21] = Convert.ToString(marc.List_Book.Rows[row[a]].Cells["user"].Value);
|
|
||||||
|
|
||||||
string[] Marc = st.Take_Tag(insert_marc_data[14], Search);
|
|
||||||
string[] Author = { "", Marc[1] }; // 저자, 도서명
|
|
||||||
|
|
||||||
// 100, 110, 111태그중 한개라도 있으면 저자로 인식.
|
|
||||||
string[] Author_Search = { "100a", "110a", "111a", "245d" };
|
|
||||||
string[] Author_res = st.Take_Tag(insert_marc_data[14], Author_Search);
|
|
||||||
|
|
||||||
if (Author_res[0].Length > 1) Author[0] = Author_res[0];
|
|
||||||
if (Author_res[1].Length > 1) Author[0] = Author_res[1];
|
|
||||||
if (Author_res[2].Length > 1) Author[0] = Author_res[2];
|
|
||||||
|
|
||||||
if (chk_CompSymbol.Checked)
|
|
||||||
if (Author_res[3].IndexOf("[외]") > -1)
|
|
||||||
Author[0] = Marc[5];
|
|
||||||
|
|
||||||
string tmp_ViewMarc = st.ConvertMarcType(insert_marc_data[14], out string errmessage);
|
|
||||||
|
|
||||||
// 마크에서 추출한 데이터 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;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// 22.10.24 740태그 삭제
|
|
||||||
tmp_ViewMarc = st.RemoveTagNumber(tmp_ViewMarc, "740");
|
|
||||||
|
|
||||||
// 마크 분류기호 설정값대로 적용
|
|
||||||
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개 필수)");
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
Author[0] = Regex.Replace(Author[0], @"[^a-zA-Z0-9가-힣_]", "", RegexOptions.Singleline);
|
|
||||||
Author[1] = st.RemoveWordInBracket(Author[1]);
|
|
||||||
Author[1] = Regex.Replace(Author[1], @"[^a-zA-Z0-9가-힣_]", "", RegexOptions.Singleline);
|
|
||||||
|
|
||||||
AuthorSymbol.Symbol sb = new AuthorSymbol.Symbol();
|
|
||||||
string authorTypeK = cb_authorTypeK.SelectedItem.ToString();
|
|
||||||
string authorTypeE = cb_authorTypeE.SelectedItem.ToString();
|
|
||||||
|
|
||||||
string res_Author = "";
|
|
||||||
if (chk_CompSymbol.Checked == false || cmb_author_four.Text == "출판사+서명")
|
|
||||||
res_Author = sb.SymbolAuthor(Author[0], Author[1], authorTypeK, authorTypeE, isType);
|
|
||||||
else //서명+출판사는 뒤집어서 입력한다 251110
|
|
||||||
res_Author = sb.SymbolAuthor(Author[1], Author[0], authorTypeK, authorTypeE, isType);
|
|
||||||
|
|
||||||
insert_marc_data[13] = res_Author;
|
|
||||||
|
|
||||||
cmdByMarc += db.DB_INSERT_SUB("value", insert_marc_data) + ",";
|
|
||||||
|
|
||||||
if (CountSplit && listCount > addCount)
|
|
||||||
{
|
|
||||||
a--;
|
|
||||||
addCount++;
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
addCount = 1;
|
|
||||||
progressBar1.PerformStep();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
cmdByMarc = cmdByMarc.TrimEnd(',');
|
|
||||||
cmdByMarc += ";";
|
|
||||||
|
|
||||||
Helper_DB.ExcuteNonQuery(cmdByList);
|
|
||||||
Helper_DB.ExcuteNonQuery(cmdByMarc);
|
|
||||||
progressBar1.PerformStep();
|
|
||||||
|
|
||||||
if (progressBar1.Value == progressBar1.Maximum)
|
|
||||||
{
|
|
||||||
label2.Text = "완료되었습니다!";
|
|
||||||
}
|
|
||||||
}
|
|
||||||
void ExportOld()
|
void ExportOld()
|
||||||
{
|
{
|
||||||
String_Text st = new String_Text();
|
String_Text st = new String_Text();
|
||||||
@@ -555,7 +371,7 @@ namespace UniMarc
|
|||||||
|
|
||||||
if (progressBar1.Value == progressBar1.Maximum)
|
if (progressBar1.Value == progressBar1.Maximum)
|
||||||
{
|
{
|
||||||
label2.Text = "완료되었습니다!";
|
label2.Text = $"완료되었습니다!({row.Length}건)";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -569,7 +385,7 @@ namespace UniMarc
|
|||||||
for (int a = 0; a < marc.List_Book.Rows.Count; a++)
|
for (int a = 0; a < marc.List_Book.Rows.Count; a++)
|
||||||
{
|
{
|
||||||
bool isSuccess = true;
|
bool isSuccess = true;
|
||||||
if (!marc.Check_BackColor(a) && marc.Check_List_V(a))
|
if (marc.Check_BackColor(a) == false && marc.Check_List_V(a))
|
||||||
isSuccess = false;
|
isSuccess = false;
|
||||||
|
|
||||||
if (isSuccess)
|
if (isSuccess)
|
||||||
@@ -577,18 +393,6 @@ namespace UniMarc
|
|||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
else if(marc2 != null)
|
|
||||||
{
|
|
||||||
for (int a = 0; a < marc2.List_Book.Rows.Count; a++)
|
|
||||||
{
|
|
||||||
bool isSuccess = true;
|
|
||||||
if (!marc2.Check_BackColor(a) && marc2.Check_List_V(a))
|
|
||||||
isSuccess = false;
|
|
||||||
|
|
||||||
if (isSuccess)
|
|
||||||
GridRow.Add(a);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
int[] Result = GridRow.ToArray();
|
int[] Result = GridRow.ToArray();
|
||||||
return Result;
|
return Result;
|
||||||
|
|||||||
437
unimarc/unimarc/마크/Marc_mkList2.Designer.cs
generated
Normal file
437
unimarc/unimarc/마크/Marc_mkList2.Designer.cs
generated
Normal file
@@ -0,0 +1,437 @@
|
|||||||
|
|
||||||
|
namespace UniMarc
|
||||||
|
{
|
||||||
|
partial class Marc_mkList2
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Required designer variable.
|
||||||
|
/// </summary>
|
||||||
|
private System.ComponentModel.IContainer components = null;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Clean up any resources being used.
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
|
||||||
|
protected override void Dispose(bool disposing)
|
||||||
|
{
|
||||||
|
if (disposing && (components != null))
|
||||||
|
{
|
||||||
|
components.Dispose();
|
||||||
|
}
|
||||||
|
base.Dispose(disposing);
|
||||||
|
}
|
||||||
|
|
||||||
|
#region Windows Form Designer generated code
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Required method for Designer support - do not modify
|
||||||
|
/// the contents of this method with the code editor.
|
||||||
|
/// </summary>
|
||||||
|
private void InitializeComponent()
|
||||||
|
{
|
||||||
|
this.panel1 = new System.Windows.Forms.Panel();
|
||||||
|
this.rb_autoNum = new System.Windows.Forms.RadioButton();
|
||||||
|
this.rb_basicNum = new System.Windows.Forms.RadioButton();
|
||||||
|
this.cb_listType = new System.Windows.Forms.ComboBox();
|
||||||
|
this.panel2 = new System.Windows.Forms.Panel();
|
||||||
|
this.chk_countSplit = new System.Windows.Forms.CheckBox();
|
||||||
|
this.btn_mkList = new System.Windows.Forms.Button();
|
||||||
|
this.btn_Close = new System.Windows.Forms.Button();
|
||||||
|
this.panel3 = new System.Windows.Forms.Panel();
|
||||||
|
this.chk_CompSymbol = new System.Windows.Forms.CheckBox();
|
||||||
|
this.cb_authorTypeK = new System.Windows.Forms.ComboBox();
|
||||||
|
this.cb_divType = new System.Windows.Forms.ComboBox();
|
||||||
|
this.cb_divNum = new System.Windows.Forms.ComboBox();
|
||||||
|
this.cb_FirstBook = new System.Windows.Forms.ComboBox();
|
||||||
|
this.cb_FirstAuthor = new System.Windows.Forms.ComboBox();
|
||||||
|
this.label1 = new System.Windows.Forms.Label();
|
||||||
|
this.panel4 = new System.Windows.Forms.Panel();
|
||||||
|
this.tb_listName = new System.Windows.Forms.TextBox();
|
||||||
|
this.label3 = new System.Windows.Forms.Label();
|
||||||
|
this.label2 = new System.Windows.Forms.Label();
|
||||||
|
this.progressBar1 = new System.Windows.Forms.ProgressBar();
|
||||||
|
this.groupBox1 = new System.Windows.Forms.GroupBox();
|
||||||
|
this.rtb_etc = new System.Windows.Forms.RichTextBox();
|
||||||
|
this.tb_outnum = new System.Windows.Forms.TextBox();
|
||||||
|
this.label4 = new System.Windows.Forms.Label();
|
||||||
|
this.chkPijunja = new System.Windows.Forms.CheckBox();
|
||||||
|
this.cb_authorTypeE = new System.Windows.Forms.ComboBox();
|
||||||
|
this.label5 = new System.Windows.Forms.Label();
|
||||||
|
this.label6 = new System.Windows.Forms.Label();
|
||||||
|
this.cmb_author_four = new System.Windows.Forms.ComboBox();
|
||||||
|
this.panel1.SuspendLayout();
|
||||||
|
this.panel2.SuspendLayout();
|
||||||
|
this.panel3.SuspendLayout();
|
||||||
|
this.panel4.SuspendLayout();
|
||||||
|
this.groupBox1.SuspendLayout();
|
||||||
|
this.SuspendLayout();
|
||||||
|
//
|
||||||
|
// panel1
|
||||||
|
//
|
||||||
|
this.panel1.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
|
||||||
|
this.panel1.Controls.Add(this.rb_autoNum);
|
||||||
|
this.panel1.Controls.Add(this.rb_basicNum);
|
||||||
|
this.panel1.Controls.Add(this.cb_listType);
|
||||||
|
this.panel1.Location = new System.Drawing.Point(12, 6);
|
||||||
|
this.panel1.Name = "panel1";
|
||||||
|
this.panel1.Size = new System.Drawing.Size(234, 30);
|
||||||
|
this.panel1.TabIndex = 0;
|
||||||
|
//
|
||||||
|
// rb_autoNum
|
||||||
|
//
|
||||||
|
this.rb_autoNum.AutoSize = true;
|
||||||
|
this.rb_autoNum.Location = new System.Drawing.Point(88, 6);
|
||||||
|
this.rb_autoNum.Name = "rb_autoNum";
|
||||||
|
this.rb_autoNum.Size = new System.Drawing.Size(71, 16);
|
||||||
|
this.rb_autoNum.TabIndex = 0;
|
||||||
|
this.rb_autoNum.TabStop = true;
|
||||||
|
this.rb_autoNum.Text = "자동연번";
|
||||||
|
this.rb_autoNum.UseVisualStyleBackColor = true;
|
||||||
|
//
|
||||||
|
// rb_basicNum
|
||||||
|
//
|
||||||
|
this.rb_basicNum.AutoSize = true;
|
||||||
|
this.rb_basicNum.Location = new System.Drawing.Point(11, 6);
|
||||||
|
this.rb_basicNum.Name = "rb_basicNum";
|
||||||
|
this.rb_basicNum.Size = new System.Drawing.Size(71, 16);
|
||||||
|
this.rb_basicNum.TabIndex = 0;
|
||||||
|
this.rb_basicNum.TabStop = true;
|
||||||
|
this.rb_basicNum.Text = "기존연번";
|
||||||
|
this.rb_basicNum.UseVisualStyleBackColor = true;
|
||||||
|
//
|
||||||
|
// cb_listType
|
||||||
|
//
|
||||||
|
this.cb_listType.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
|
||||||
|
this.cb_listType.FormattingEnabled = true;
|
||||||
|
this.cb_listType.Location = new System.Drawing.Point(165, 4);
|
||||||
|
this.cb_listType.Name = "cb_listType";
|
||||||
|
this.cb_listType.Size = new System.Drawing.Size(61, 20);
|
||||||
|
this.cb_listType.TabIndex = 1;
|
||||||
|
//
|
||||||
|
// panel2
|
||||||
|
//
|
||||||
|
this.panel2.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
|
||||||
|
this.panel2.Controls.Add(this.chk_countSplit);
|
||||||
|
this.panel2.Location = new System.Drawing.Point(252, 6);
|
||||||
|
this.panel2.Name = "panel2";
|
||||||
|
this.panel2.Size = new System.Drawing.Size(76, 30);
|
||||||
|
this.panel2.TabIndex = 0;
|
||||||
|
//
|
||||||
|
// chk_countSplit
|
||||||
|
//
|
||||||
|
this.chk_countSplit.AutoSize = true;
|
||||||
|
this.chk_countSplit.Location = new System.Drawing.Point(5, 7);
|
||||||
|
this.chk_countSplit.Name = "chk_countSplit";
|
||||||
|
this.chk_countSplit.Size = new System.Drawing.Size(72, 16);
|
||||||
|
this.chk_countSplit.TabIndex = 0;
|
||||||
|
this.chk_countSplit.Text = "수량분리";
|
||||||
|
this.chk_countSplit.UseVisualStyleBackColor = true;
|
||||||
|
//
|
||||||
|
// btn_mkList
|
||||||
|
//
|
||||||
|
this.btn_mkList.Location = new System.Drawing.Point(425, 10);
|
||||||
|
this.btn_mkList.Name = "btn_mkList";
|
||||||
|
this.btn_mkList.Size = new System.Drawing.Size(75, 23);
|
||||||
|
this.btn_mkList.TabIndex = 1;
|
||||||
|
this.btn_mkList.Text = "목록생성";
|
||||||
|
this.btn_mkList.UseVisualStyleBackColor = true;
|
||||||
|
this.btn_mkList.Click += new System.EventHandler(this.btn_mkList_Click);
|
||||||
|
//
|
||||||
|
// btn_Close
|
||||||
|
//
|
||||||
|
this.btn_Close.Location = new System.Drawing.Point(506, 10);
|
||||||
|
this.btn_Close.Name = "btn_Close";
|
||||||
|
this.btn_Close.Size = new System.Drawing.Size(75, 23);
|
||||||
|
this.btn_Close.TabIndex = 1;
|
||||||
|
this.btn_Close.Text = "닫 기";
|
||||||
|
this.btn_Close.UseVisualStyleBackColor = true;
|
||||||
|
this.btn_Close.Click += new System.EventHandler(this.btn_Close_Click);
|
||||||
|
//
|
||||||
|
// panel3
|
||||||
|
//
|
||||||
|
this.panel3.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
|
||||||
|
this.panel3.Controls.Add(this.cmb_author_four);
|
||||||
|
this.panel3.Controls.Add(this.label6);
|
||||||
|
this.panel3.Controls.Add(this.label5);
|
||||||
|
this.panel3.Controls.Add(this.cb_authorTypeE);
|
||||||
|
this.panel3.Controls.Add(this.chkPijunja);
|
||||||
|
this.panel3.Controls.Add(this.chk_CompSymbol);
|
||||||
|
this.panel3.Controls.Add(this.cb_authorTypeK);
|
||||||
|
this.panel3.Controls.Add(this.cb_divType);
|
||||||
|
this.panel3.Controls.Add(this.cb_divNum);
|
||||||
|
this.panel3.Controls.Add(this.cb_FirstBook);
|
||||||
|
this.panel3.Controls.Add(this.cb_FirstAuthor);
|
||||||
|
this.panel3.Controls.Add(this.label1);
|
||||||
|
this.panel3.Location = new System.Drawing.Point(12, 42);
|
||||||
|
this.panel3.Name = "panel3";
|
||||||
|
this.panel3.Size = new System.Drawing.Size(569, 91);
|
||||||
|
this.panel3.TabIndex = 2;
|
||||||
|
//
|
||||||
|
// chk_CompSymbol
|
||||||
|
//
|
||||||
|
this.chk_CompSymbol.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
|
||||||
|
this.chk_CompSymbol.AutoSize = true;
|
||||||
|
this.chk_CompSymbol.Location = new System.Drawing.Point(11, 65);
|
||||||
|
this.chk_CompSymbol.Name = "chk_CompSymbol";
|
||||||
|
this.chk_CompSymbol.Size = new System.Drawing.Size(242, 16);
|
||||||
|
this.chk_CompSymbol.TabIndex = 2;
|
||||||
|
this.chk_CompSymbol.Text = "4인 이상 저자시 출판사로 저자기호 생성";
|
||||||
|
this.chk_CompSymbol.UseVisualStyleBackColor = true;
|
||||||
|
this.chk_CompSymbol.CheckedChanged += new System.EventHandler(this.chk_CompSymbol_CheckedChanged);
|
||||||
|
//
|
||||||
|
// cb_authorTypeK
|
||||||
|
//
|
||||||
|
this.cb_authorTypeK.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
|
||||||
|
this.cb_authorTypeK.FormattingEnabled = true;
|
||||||
|
this.cb_authorTypeK.Location = new System.Drawing.Point(136, 4);
|
||||||
|
this.cb_authorTypeK.Name = "cb_authorTypeK";
|
||||||
|
this.cb_authorTypeK.Size = new System.Drawing.Size(171, 20);
|
||||||
|
this.cb_authorTypeK.TabIndex = 1;
|
||||||
|
//
|
||||||
|
// cb_divType
|
||||||
|
//
|
||||||
|
this.cb_divType.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
|
||||||
|
this.cb_divType.FormattingEnabled = true;
|
||||||
|
this.cb_divType.Location = new System.Drawing.Point(464, 4);
|
||||||
|
this.cb_divType.Name = "cb_divType";
|
||||||
|
this.cb_divType.Size = new System.Drawing.Size(88, 20);
|
||||||
|
this.cb_divType.TabIndex = 1;
|
||||||
|
this.cb_divType.SelectedIndexChanged += new System.EventHandler(this.cb_divType_SelectedIndexChanged);
|
||||||
|
//
|
||||||
|
// cb_divNum
|
||||||
|
//
|
||||||
|
this.cb_divNum.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
|
||||||
|
this.cb_divNum.FormattingEnabled = true;
|
||||||
|
this.cb_divNum.Location = new System.Drawing.Point(464, 30);
|
||||||
|
this.cb_divNum.Name = "cb_divNum";
|
||||||
|
this.cb_divNum.Size = new System.Drawing.Size(88, 20);
|
||||||
|
this.cb_divNum.TabIndex = 1;
|
||||||
|
//
|
||||||
|
// cb_FirstBook
|
||||||
|
//
|
||||||
|
this.cb_FirstBook.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
|
||||||
|
this.cb_FirstBook.FormattingEnabled = true;
|
||||||
|
this.cb_FirstBook.Location = new System.Drawing.Point(336, 4);
|
||||||
|
this.cb_FirstBook.Name = "cb_FirstBook";
|
||||||
|
this.cb_FirstBook.Size = new System.Drawing.Size(61, 20);
|
||||||
|
this.cb_FirstBook.TabIndex = 1;
|
||||||
|
//
|
||||||
|
// cb_FirstAuthor
|
||||||
|
//
|
||||||
|
this.cb_FirstAuthor.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
|
||||||
|
this.cb_FirstAuthor.FormattingEnabled = true;
|
||||||
|
this.cb_FirstAuthor.Location = new System.Drawing.Point(68, 4);
|
||||||
|
this.cb_FirstAuthor.Name = "cb_FirstAuthor";
|
||||||
|
this.cb_FirstAuthor.Size = new System.Drawing.Size(61, 20);
|
||||||
|
this.cb_FirstAuthor.TabIndex = 1;
|
||||||
|
//
|
||||||
|
// label1
|
||||||
|
//
|
||||||
|
this.label1.AutoSize = true;
|
||||||
|
this.label1.Location = new System.Drawing.Point(9, 8);
|
||||||
|
this.label1.Name = "label1";
|
||||||
|
this.label1.Size = new System.Drawing.Size(53, 12);
|
||||||
|
this.label1.TabIndex = 1;
|
||||||
|
this.label1.Text = "저자기호";
|
||||||
|
//
|
||||||
|
// panel4
|
||||||
|
//
|
||||||
|
this.panel4.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
|
||||||
|
this.panel4.Controls.Add(this.tb_listName);
|
||||||
|
this.panel4.Controls.Add(this.label3);
|
||||||
|
this.panel4.Location = new System.Drawing.Point(12, 139);
|
||||||
|
this.panel4.Name = "panel4";
|
||||||
|
this.panel4.Size = new System.Drawing.Size(569, 30);
|
||||||
|
this.panel4.TabIndex = 2;
|
||||||
|
//
|
||||||
|
// tb_listName
|
||||||
|
//
|
||||||
|
this.tb_listName.Location = new System.Drawing.Point(68, 4);
|
||||||
|
this.tb_listName.Name = "tb_listName";
|
||||||
|
this.tb_listName.Size = new System.Drawing.Size(496, 21);
|
||||||
|
this.tb_listName.TabIndex = 2;
|
||||||
|
//
|
||||||
|
// label3
|
||||||
|
//
|
||||||
|
this.label3.AutoSize = true;
|
||||||
|
this.label3.Location = new System.Drawing.Point(9, 8);
|
||||||
|
this.label3.Name = "label3";
|
||||||
|
this.label3.Size = new System.Drawing.Size(49, 12);
|
||||||
|
this.label3.TabIndex = 1;
|
||||||
|
this.label3.Text = "목 록 명";
|
||||||
|
//
|
||||||
|
// label2
|
||||||
|
//
|
||||||
|
this.label2.AutoSize = true;
|
||||||
|
this.label2.Font = new System.Drawing.Font("굴림", 9.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
|
||||||
|
this.label2.Location = new System.Drawing.Point(134, 189);
|
||||||
|
this.label2.Name = "label2";
|
||||||
|
this.label2.Size = new System.Drawing.Size(345, 13);
|
||||||
|
this.label2.TabIndex = 1;
|
||||||
|
this.label2.Text = "저장된 마크만 반출됩니다. 저자기호를 확인해주세요.";
|
||||||
|
//
|
||||||
|
// progressBar1
|
||||||
|
//
|
||||||
|
this.progressBar1.Dock = System.Windows.Forms.DockStyle.Bottom;
|
||||||
|
this.progressBar1.Location = new System.Drawing.Point(10, 411);
|
||||||
|
this.progressBar1.Name = "progressBar1";
|
||||||
|
this.progressBar1.Size = new System.Drawing.Size(570, 23);
|
||||||
|
this.progressBar1.Step = 1;
|
||||||
|
this.progressBar1.Style = System.Windows.Forms.ProgressBarStyle.Continuous;
|
||||||
|
this.progressBar1.TabIndex = 3;
|
||||||
|
//
|
||||||
|
// groupBox1
|
||||||
|
//
|
||||||
|
this.groupBox1.Controls.Add(this.rtb_etc);
|
||||||
|
this.groupBox1.Dock = System.Windows.Forms.DockStyle.Bottom;
|
||||||
|
this.groupBox1.Location = new System.Drawing.Point(10, 224);
|
||||||
|
this.groupBox1.Name = "groupBox1";
|
||||||
|
this.groupBox1.Size = new System.Drawing.Size(570, 187);
|
||||||
|
this.groupBox1.TabIndex = 4;
|
||||||
|
this.groupBox1.TabStop = false;
|
||||||
|
this.groupBox1.Text = "비 고 란";
|
||||||
|
//
|
||||||
|
// rtb_etc
|
||||||
|
//
|
||||||
|
this.rtb_etc.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
|
||||||
|
this.rtb_etc.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||||
|
this.rtb_etc.Location = new System.Drawing.Point(3, 17);
|
||||||
|
this.rtb_etc.Name = "rtb_etc";
|
||||||
|
this.rtb_etc.Size = new System.Drawing.Size(564, 167);
|
||||||
|
this.rtb_etc.TabIndex = 0;
|
||||||
|
this.rtb_etc.Text = "";
|
||||||
|
//
|
||||||
|
// tb_outnum
|
||||||
|
//
|
||||||
|
this.tb_outnum.Location = new System.Drawing.Point(340, 11);
|
||||||
|
this.tb_outnum.Name = "tb_outnum";
|
||||||
|
this.tb_outnum.Size = new System.Drawing.Size(31, 21);
|
||||||
|
this.tb_outnum.TabIndex = 5;
|
||||||
|
this.tb_outnum.Text = "0";
|
||||||
|
this.tb_outnum.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;
|
||||||
|
//
|
||||||
|
// label4
|
||||||
|
//
|
||||||
|
this.label4.AutoSize = true;
|
||||||
|
this.label4.Location = new System.Drawing.Point(377, 15);
|
||||||
|
this.label4.Name = "label4";
|
||||||
|
this.label4.Size = new System.Drawing.Size(17, 12);
|
||||||
|
this.label4.TabIndex = 3;
|
||||||
|
this.label4.Text = "차";
|
||||||
|
//
|
||||||
|
// chkPijunja
|
||||||
|
//
|
||||||
|
this.chkPijunja.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
|
||||||
|
this.chkPijunja.AutoSize = true;
|
||||||
|
this.chkPijunja.Enabled = false;
|
||||||
|
this.chkPijunja.Location = new System.Drawing.Point(468, 65);
|
||||||
|
this.chkPijunja.Name = "chkPijunja";
|
||||||
|
this.chkPijunja.Size = new System.Drawing.Size(84, 16);
|
||||||
|
this.chkPijunja.TabIndex = 3;
|
||||||
|
this.chkPijunja.Text = "피전자적용";
|
||||||
|
this.chkPijunja.UseVisualStyleBackColor = true;
|
||||||
|
//
|
||||||
|
// cb_authorTypeE
|
||||||
|
//
|
||||||
|
this.cb_authorTypeE.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
|
||||||
|
this.cb_authorTypeE.FormattingEnabled = true;
|
||||||
|
this.cb_authorTypeE.Location = new System.Drawing.Point(136, 30);
|
||||||
|
this.cb_authorTypeE.Name = "cb_authorTypeE";
|
||||||
|
this.cb_authorTypeE.Size = new System.Drawing.Size(171, 20);
|
||||||
|
this.cb_authorTypeE.TabIndex = 4;
|
||||||
|
//
|
||||||
|
// label5
|
||||||
|
//
|
||||||
|
this.label5.AutoSize = true;
|
||||||
|
this.label5.Location = new System.Drawing.Point(313, 8);
|
||||||
|
this.label5.Name = "label5";
|
||||||
|
this.label5.Size = new System.Drawing.Size(17, 12);
|
||||||
|
this.label5.TabIndex = 6;
|
||||||
|
this.label5.Text = "한";
|
||||||
|
//
|
||||||
|
// label6
|
||||||
|
//
|
||||||
|
this.label6.AutoSize = true;
|
||||||
|
this.label6.Location = new System.Drawing.Point(313, 33);
|
||||||
|
this.label6.Name = "label6";
|
||||||
|
this.label6.Size = new System.Drawing.Size(17, 12);
|
||||||
|
this.label6.TabIndex = 7;
|
||||||
|
this.label6.Text = "영";
|
||||||
|
//
|
||||||
|
// cmb_author_four
|
||||||
|
//
|
||||||
|
this.cmb_author_four.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
|
||||||
|
this.cmb_author_four.FormattingEnabled = true;
|
||||||
|
this.cmb_author_four.Location = new System.Drawing.Point(259, 63);
|
||||||
|
this.cmb_author_four.Name = "cmb_author_four";
|
||||||
|
this.cmb_author_four.Size = new System.Drawing.Size(138, 20);
|
||||||
|
this.cmb_author_four.TabIndex = 8;
|
||||||
|
//
|
||||||
|
// Marc_mkList
|
||||||
|
//
|
||||||
|
this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 12F);
|
||||||
|
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||||
|
this.ClientSize = new System.Drawing.Size(590, 444);
|
||||||
|
this.Controls.Add(this.label4);
|
||||||
|
this.Controls.Add(this.tb_outnum);
|
||||||
|
this.Controls.Add(this.groupBox1);
|
||||||
|
this.Controls.Add(this.progressBar1);
|
||||||
|
this.Controls.Add(this.panel4);
|
||||||
|
this.Controls.Add(this.label2);
|
||||||
|
this.Controls.Add(this.panel3);
|
||||||
|
this.Controls.Add(this.btn_Close);
|
||||||
|
this.Controls.Add(this.btn_mkList);
|
||||||
|
this.Controls.Add(this.panel2);
|
||||||
|
this.Controls.Add(this.panel1);
|
||||||
|
this.Name = "Marc_mkList";
|
||||||
|
this.Padding = new System.Windows.Forms.Padding(10);
|
||||||
|
this.Text = "마크목록생성";
|
||||||
|
this.Load += new System.EventHandler(this.Marc_mkList_Load);
|
||||||
|
this.panel1.ResumeLayout(false);
|
||||||
|
this.panel1.PerformLayout();
|
||||||
|
this.panel2.ResumeLayout(false);
|
||||||
|
this.panel2.PerformLayout();
|
||||||
|
this.panel3.ResumeLayout(false);
|
||||||
|
this.panel3.PerformLayout();
|
||||||
|
this.panel4.ResumeLayout(false);
|
||||||
|
this.panel4.PerformLayout();
|
||||||
|
this.groupBox1.ResumeLayout(false);
|
||||||
|
this.ResumeLayout(false);
|
||||||
|
this.PerformLayout();
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
private System.Windows.Forms.Panel panel1;
|
||||||
|
private System.Windows.Forms.ComboBox cb_listType;
|
||||||
|
private System.Windows.Forms.RadioButton rb_autoNum;
|
||||||
|
private System.Windows.Forms.RadioButton rb_basicNum;
|
||||||
|
private System.Windows.Forms.Panel panel2;
|
||||||
|
private System.Windows.Forms.CheckBox chk_countSplit;
|
||||||
|
private System.Windows.Forms.Button btn_mkList;
|
||||||
|
private System.Windows.Forms.Button btn_Close;
|
||||||
|
private System.Windows.Forms.Panel panel3;
|
||||||
|
private System.Windows.Forms.ComboBox cb_authorTypeK;
|
||||||
|
private System.Windows.Forms.Label label1;
|
||||||
|
private System.Windows.Forms.ComboBox cb_FirstBook;
|
||||||
|
private System.Windows.Forms.ComboBox cb_FirstAuthor;
|
||||||
|
private System.Windows.Forms.Panel panel4;
|
||||||
|
private System.Windows.Forms.Label label2;
|
||||||
|
private System.Windows.Forms.TextBox tb_listName;
|
||||||
|
private System.Windows.Forms.Label label3;
|
||||||
|
private System.Windows.Forms.ProgressBar progressBar1;
|
||||||
|
private System.Windows.Forms.ComboBox cb_divType;
|
||||||
|
private System.Windows.Forms.ComboBox cb_divNum;
|
||||||
|
private System.Windows.Forms.GroupBox groupBox1;
|
||||||
|
private System.Windows.Forms.RichTextBox rtb_etc;
|
||||||
|
private System.Windows.Forms.TextBox tb_outnum;
|
||||||
|
private System.Windows.Forms.Label label4;
|
||||||
|
private System.Windows.Forms.CheckBox chk_CompSymbol;
|
||||||
|
private System.Windows.Forms.CheckBox chkPijunja;
|
||||||
|
private System.Windows.Forms.ComboBox cb_authorTypeE;
|
||||||
|
private System.Windows.Forms.Label label6;
|
||||||
|
private System.Windows.Forms.Label label5;
|
||||||
|
private System.Windows.Forms.ComboBox cmb_author_four;
|
||||||
|
}
|
||||||
|
}
|
||||||
406
unimarc/unimarc/마크/Marc_mkList2.cs
Normal file
406
unimarc/unimarc/마크/Marc_mkList2.cs
Normal file
@@ -0,0 +1,406 @@
|
|||||||
|
using AR;
|
||||||
|
using Org.BouncyCastle.Pkcs;
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.ComponentModel;
|
||||||
|
using System.Data;
|
||||||
|
using System.Drawing;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Text.RegularExpressions;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
using System.Windows.Forms;
|
||||||
|
|
||||||
|
namespace UniMarc
|
||||||
|
{
|
||||||
|
public partial class Marc_mkList2 : Form
|
||||||
|
{
|
||||||
|
Helper_DB db = new Helper_DB();
|
||||||
|
Marc2 marc2;
|
||||||
|
public Marc_mkList2(Marc2 _mae)
|
||||||
|
{
|
||||||
|
InitializeComponent();
|
||||||
|
marc2 = _mae;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
private void Marc_mkList_Load(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
db.DBcon();
|
||||||
|
|
||||||
|
#region panel1 set
|
||||||
|
rb_basicNum.Checked = true;
|
||||||
|
rb_autoNum.Enabled = false;
|
||||||
|
|
||||||
|
|
||||||
|
string[] type = { "정리" };
|
||||||
|
cb_listType.Items.AddRange(type);
|
||||||
|
cb_listType.SelectedIndex = 0;
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
#region panel2 set 저자기호 // 분류기호
|
||||||
|
|
||||||
|
AuthorSymbol.Symbol symbol = new AuthorSymbol.Symbol();
|
||||||
|
|
||||||
|
// 저자기호
|
||||||
|
string[] First = symbol.authorBook;
|
||||||
|
cb_FirstAuthor.Items.AddRange(First);
|
||||||
|
cb_FirstAuthor.SelectedIndex = 0;
|
||||||
|
|
||||||
|
string[] authorType = symbol.authorType;
|
||||||
|
cb_authorTypeK.Items.AddRange(authorType);
|
||||||
|
cb_authorTypeK.SelectedIndex = 0;
|
||||||
|
|
||||||
|
cb_authorTypeE.Items.AddRange(authorType);
|
||||||
|
cb_authorTypeE.SelectedIndex = 0;
|
||||||
|
|
||||||
|
string[] Book = symbol.authorBook;
|
||||||
|
cb_FirstBook.Items.AddRange(Book);
|
||||||
|
cb_FirstBook.SelectedIndex = 0;
|
||||||
|
|
||||||
|
// 분류기호
|
||||||
|
string[] divType = { "KDC", "DDC" };
|
||||||
|
cb_divType.Items.AddRange(divType);
|
||||||
|
cb_divType.SelectedIndex = 0;
|
||||||
|
|
||||||
|
//4인이상저장
|
||||||
|
string[] author_four = { "출판사+서명", "서명+출판사" };
|
||||||
|
cmb_author_four.Items.AddRange(author_four);
|
||||||
|
cb_divType.SelectedIndex = 0;
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
if (marc2 != null)
|
||||||
|
{
|
||||||
|
//customer idx 값이 있다면 그것을 사용한다.
|
||||||
|
if (int.TryParse(marc2.lbCustIDX.Text, out int custidx) == true && custidx > 0)
|
||||||
|
{
|
||||||
|
//string mCompidx = PUB.user.CompanyIdx;
|
||||||
|
var dt = Helper_DB.GetDT("Client", "c_sangho,c_author_first,c_author_typeK,c_author_typeE,c_author_firstbook,c_author_divtype,c_author_divnum,c_author_four,c_pijunja,c_author_four_use", $"campanyidx = {PUB.user.CompanyIdx} AND idx = {custidx}");
|
||||||
|
if (dt != null && dt.Rows.Count > 0)
|
||||||
|
{
|
||||||
|
var row = dt.Rows[0];
|
||||||
|
|
||||||
|
// 저자기호 첫글자 설정 (c_author_first)
|
||||||
|
if (!string.IsNullOrEmpty(row["c_author_first"].ToString()))
|
||||||
|
{
|
||||||
|
int idx = cb_FirstAuthor.FindStringExact(row["c_author_first"].ToString());
|
||||||
|
if (idx >= 0) cb_FirstAuthor.SelectedIndex = idx;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 저자기호 타입 설정 (c_author_typeK 또는 c_author_typeE)
|
||||||
|
if (!string.IsNullOrEmpty(row["c_author_typeK"].ToString()))
|
||||||
|
{
|
||||||
|
int idx = cb_authorTypeK.FindStringExact(row["c_author_typeK"].ToString());
|
||||||
|
if (idx >= 0) cb_authorTypeK.SelectedIndex = idx;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 저자기호 타입 설정 (c_author_typeE 또는 c_author_typeE)
|
||||||
|
if (!string.IsNullOrEmpty(row["c_author_typeE"].ToString()))
|
||||||
|
{
|
||||||
|
int idx = cb_authorTypeE.FindStringExact(row["c_author_typeE"].ToString());
|
||||||
|
if (idx >= 0) cb_authorTypeE.SelectedIndex = idx;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 도서기호 첫글자 설정 (c_author_firstbook)
|
||||||
|
if (!string.IsNullOrEmpty(row["c_author_firstbook"].ToString()))
|
||||||
|
{
|
||||||
|
int idx = cb_FirstBook.FindStringExact(row["c_author_firstbook"].ToString());
|
||||||
|
if (idx >= 0) cb_FirstBook.SelectedIndex = idx;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 분류기호 타입 설정 (c_author_divtype)
|
||||||
|
if (!string.IsNullOrEmpty(row["c_author_divtype"].ToString()))
|
||||||
|
{
|
||||||
|
int idx = cb_divType.FindStringExact(row["c_author_divtype"].ToString());
|
||||||
|
if (idx >= 0) cb_divType.SelectedIndex = idx;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 분류기호 자릿수 설정 (c_author_divnum)
|
||||||
|
if (!string.IsNullOrEmpty(row["c_author_divnum"].ToString()))
|
||||||
|
{
|
||||||
|
int idx = cb_divNum.FindStringExact(row["c_author_divnum"].ToString());
|
||||||
|
if (idx >= 0) cb_divNum.SelectedIndex = idx;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 4인이상 저장(c_author_four)
|
||||||
|
if (!string.IsNullOrEmpty(row["c_author_four"].ToString()))
|
||||||
|
{
|
||||||
|
int idx = cmb_author_four.FindStringExact(row["c_author_four"].ToString());
|
||||||
|
if (idx >= 0) cmb_author_four.SelectedIndex = idx;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 피전자적용
|
||||||
|
if (!string.IsNullOrEmpty(row["c_pijunja"].ToString()))
|
||||||
|
{
|
||||||
|
string chkvalue = row["c_pijunja"].ToString().Trim();
|
||||||
|
chkPijunja.Checked = (chkvalue == "1" || chkvalue.ToUpper() == "Y" || chkvalue.ToUpper() == "TRUE");
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
chkPijunja.Checked = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 4인이상저자(사용여부)
|
||||||
|
if (!string.IsNullOrEmpty(row["c_author_four_use"].ToString()))
|
||||||
|
{
|
||||||
|
string chkvalue = row["c_author_four_use"].ToString().Trim();
|
||||||
|
chk_CompSymbol.Checked = (chkvalue == "1" || chkvalue.ToUpper() == "Y" || chkvalue.ToUpper() == "TRUE");
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
chk_CompSymbol.Checked = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void cb_divType_SelectedIndexChanged(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
cb_divNum.Items.Clear();
|
||||||
|
if (((ComboBox)sender).SelectedIndex == 0)
|
||||||
|
{
|
||||||
|
string[] divNum = { "4", "5", "6" };
|
||||||
|
cb_divNum.Items.AddRange(divNum);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
string[] divNum = { "21", "22", "23" };
|
||||||
|
cb_divNum.Items.AddRange(divNum);
|
||||||
|
}
|
||||||
|
cb_divNum.SelectedIndex = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
private void btn_mkList_Click(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
|
||||||
|
if (tb_listName.Text == "")
|
||||||
|
{
|
||||||
|
UTIL.MsgE("목록명을 입력해주세요!");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if (tb_outnum.Text == "")
|
||||||
|
{
|
||||||
|
UTIL.MsgE("차수가 비어있습니다.");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if (marc2 != null)
|
||||||
|
ExportNew();
|
||||||
|
}
|
||||||
|
void ExportNew()
|
||||||
|
{
|
||||||
|
String_Text st = new String_Text();
|
||||||
|
var marccnt1 = marc2?.List_Book.RowCount ?? 0;
|
||||||
|
|
||||||
|
if (marccnt1 < 1)
|
||||||
|
{
|
||||||
|
UTIL.MsgE("마크데이터 목록이 존재하지 않습니다");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
string listName = tb_listName.Text;
|
||||||
|
string Time = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
|
||||||
|
string outnum = tb_outnum.Text + "차";
|
||||||
|
string user = PUB.user.UserName;// Properties.Settings.Default.User;
|
||||||
|
|
||||||
|
var marc = this.marc2;
|
||||||
|
|
||||||
|
bool isAuthor = false;
|
||||||
|
bool isBook = false;
|
||||||
|
if (cb_FirstAuthor.SelectedIndex == 0)
|
||||||
|
isAuthor = true;
|
||||||
|
if (cb_FirstBook.SelectedIndex == 0)
|
||||||
|
isBook = true;
|
||||||
|
bool[] isType = { isAuthor, isBook };
|
||||||
|
|
||||||
|
// 시방서 목록 DB에 들어갈 것들.
|
||||||
|
string[] insert_list_col = {
|
||||||
|
"compidx", "work_list", "date", "state", "gu",
|
||||||
|
"first_Author", "symbol_Author","symbol_AuthorE", "book_Author", "divType", "divNum",
|
||||||
|
"etc", "user"
|
||||||
|
};
|
||||||
|
string[] insert_list_data = {
|
||||||
|
PUB.user.CompanyIdx, listName, Time, "진행", cb_listType.Text,
|
||||||
|
cb_FirstAuthor.Text, cb_authorTypeK.Text, cb_authorTypeE.Text, cb_FirstBook.Text, cb_divType.Text, cb_divNum.Text,
|
||||||
|
rtb_etc.Text, user
|
||||||
|
};
|
||||||
|
string cmdByList = db.DB_INSERT("Specs_List", insert_list_col, insert_list_data);
|
||||||
|
|
||||||
|
// 시방서 마크 DB에 들어갈 것들.
|
||||||
|
string[] insert_marc_col = {
|
||||||
|
"compidx", "work_list", "date", "ISBN", "book_name",
|
||||||
|
"s_book_name1", "s_book_num1", "author", "book_comp", "pubdate",
|
||||||
|
"price", "tag008", "class_symbol", "author_symbol", "marc",
|
||||||
|
"imageURL", "count", "num", "out_num", "midx",
|
||||||
|
"editDate", "user"
|
||||||
|
};
|
||||||
|
|
||||||
|
string[] insert_marc_data = {
|
||||||
|
PUB.user.CompanyIdx, listName, Time, "", "",
|
||||||
|
"", "", "", "", "",
|
||||||
|
"", "", "", "", "",
|
||||||
|
"", "", "", "", "",
|
||||||
|
Time, user
|
||||||
|
}; // 마크에서 추출 ( 3 ~ 12 )
|
||||||
|
|
||||||
|
var row = checkGridRow();
|
||||||
|
int num = 0;
|
||||||
|
progressBar1.Maximum = row.Count + 1;
|
||||||
|
string cmdByMarc = string.Format("INSERT INTO {0} {1} value", "Specs_Marc", db.DB_INSERT_SUB("", insert_marc_col));
|
||||||
|
|
||||||
|
bool CountSplit = chk_countSplit.Checked;
|
||||||
|
int listCount = 1;
|
||||||
|
int addCount = 1;
|
||||||
|
|
||||||
|
// 필터링하여 DB에 집어넣는 작업
|
||||||
|
for(int a = 0; a < row.Count; a++)
|
||||||
|
{
|
||||||
|
var dr = row[a];
|
||||||
|
progressBar1.PerformStep();
|
||||||
|
if (dr.DbMarc.isEmpty()) continue;//
|
||||||
|
|
||||||
|
num += 1;
|
||||||
|
|
||||||
|
int.TryParse(Convert.ToString(dr.Count), out listCount);
|
||||||
|
|
||||||
|
// 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] = dr.DbMarc;// Convert.ToString(marc.List_Book.Rows[row[a]].Cells["db_marc"].Value);
|
||||||
|
insert_marc_data[15] = dr.Url;// Convert.ToString(marc.List_Book.Rows[row[a]].Cells["url"].Value);
|
||||||
|
insert_marc_data[16] = addCount.ToString();
|
||||||
|
if (rb_basicNum.Checked)
|
||||||
|
insert_marc_data[17] = dr.Num;// Convert.ToString(marc.List_Book.Rows[row[a]].Cells["num"].Value);
|
||||||
|
else
|
||||||
|
insert_marc_data[17] = num.ToString();
|
||||||
|
insert_marc_data[18] = outnum;
|
||||||
|
insert_marc_data[19] = dr.MarcIdx;// Convert.ToString(marc.List_Book.Rows[row[a]].Cells["marc_idx"].Value);
|
||||||
|
insert_marc_data[20] = dr.SaveDate;// Convert.ToString(marc.List_Book.Rows[row[a]].Cells["SaveDate"].Value);
|
||||||
|
insert_marc_data[21] = dr.User;// Convert.ToString(marc.List_Book.Rows[row[a]].Cells["user"].Value);
|
||||||
|
|
||||||
|
string[] Marc = st.Take_Tag(insert_marc_data[14], Search);
|
||||||
|
string[] Author = { "", Marc[1] }; // 저자, 도서명
|
||||||
|
|
||||||
|
// 100, 110, 111태그중 한개라도 있으면 저자로 인식.
|
||||||
|
string[] Author_Search = { "100a", "110a", "111a", "245d" };
|
||||||
|
string[] Author_res = st.Take_Tag(insert_marc_data[14], Author_Search);
|
||||||
|
|
||||||
|
if (Author_res[0].Length > 1) Author[0] = Author_res[0];
|
||||||
|
if (Author_res[1].Length > 1) Author[0] = Author_res[1];
|
||||||
|
if (Author_res[2].Length > 1) Author[0] = Author_res[2];
|
||||||
|
|
||||||
|
if (chk_CompSymbol.Checked)
|
||||||
|
if (Author_res[3].IndexOf("[외]") > -1)
|
||||||
|
Author[0] = Marc[5];
|
||||||
|
|
||||||
|
string tmp_ViewMarc = st.ConvertMarcType(insert_marc_data[14], out string errmessage);
|
||||||
|
|
||||||
|
// 마크에서 추출한 데이터 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;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// 22.10.24 740태그 삭제
|
||||||
|
tmp_ViewMarc = st.RemoveTagNumber(tmp_ViewMarc, "740");
|
||||||
|
|
||||||
|
// 마크 분류기호 설정값대로 적용
|
||||||
|
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( $"{a}번 줄,인덱스({dr.ListIdx})의 저자를 확인해주세요(ISBN:{dr.ISBN13}). \n (100a, 110a, 111a 중 1개 필수)");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
Author[0] = Regex.Replace(Author[0], @"[^a-zA-Z0-9가-힣_]", "", RegexOptions.Singleline);
|
||||||
|
Author[1] = st.RemoveWordInBracket(Author[1]);
|
||||||
|
Author[1] = Regex.Replace(Author[1], @"[^a-zA-Z0-9가-힣_]", "", RegexOptions.Singleline);
|
||||||
|
|
||||||
|
AuthorSymbol.Symbol sb = new AuthorSymbol.Symbol();
|
||||||
|
string authorTypeK = cb_authorTypeK.SelectedItem.ToString();
|
||||||
|
string authorTypeE = cb_authorTypeE.SelectedItem.ToString();
|
||||||
|
|
||||||
|
string res_Author = "";
|
||||||
|
if (chk_CompSymbol.Checked == false || cmb_author_four.Text == "출판사+서명")
|
||||||
|
res_Author = sb.SymbolAuthor(Author[0], Author[1], authorTypeK, authorTypeE, isType);
|
||||||
|
else //서명+출판사는 뒤집어서 입력한다 251110
|
||||||
|
res_Author = sb.SymbolAuthor(Author[1], Author[0], authorTypeK, authorTypeE, isType);
|
||||||
|
|
||||||
|
insert_marc_data[13] = res_Author;
|
||||||
|
|
||||||
|
cmdByMarc += db.DB_INSERT_SUB("value", insert_marc_data) + ",";
|
||||||
|
|
||||||
|
if (CountSplit && listCount > addCount)
|
||||||
|
{
|
||||||
|
a--;
|
||||||
|
addCount++;
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
addCount = 1;
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
cmdByMarc = cmdByMarc.TrimEnd(',');
|
||||||
|
cmdByMarc += ";";
|
||||||
|
|
||||||
|
Helper_DB.ExcuteNonQuery(cmdByList);
|
||||||
|
Helper_DB.ExcuteNonQuery(cmdByMarc);
|
||||||
|
progressBar1.PerformStep();
|
||||||
|
|
||||||
|
if (progressBar1.Value == progressBar1.Maximum)
|
||||||
|
{
|
||||||
|
label2.Text = $"완료되었습니다!({row.Count})";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
#region mkList_Sub
|
||||||
|
List<MarcBookItem> checkGridRow()
|
||||||
|
{
|
||||||
|
List<MarcBookItem> GridRow = new List<MarcBookItem>();
|
||||||
|
|
||||||
|
if (marc2 != null)
|
||||||
|
{
|
||||||
|
foreach (MarcBookItem item in marc2.dataList) // for (int a = 0; a < marc2.List_Book.Rows.Count; a++)
|
||||||
|
{
|
||||||
|
bool isSuccess = true;
|
||||||
|
if (item.ForeColor == Color.Red && item.ColCheck=="V")// marc2.Check_List_V(a)) //빨간색이고 체크된거는 제외?
|
||||||
|
isSuccess = false;
|
||||||
|
|
||||||
|
if (isSuccess)
|
||||||
|
GridRow.Add(item);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return GridRow;
|
||||||
|
}
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
private void btn_Close_Click(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
this.Close();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void chk_CompSymbol_CheckedChanged(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
cmb_author_four.Enabled = chk_CompSymbol.Checked;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
120
unimarc/unimarc/마크/Marc_mkList2.resx
Normal file
120
unimarc/unimarc/마크/Marc_mkList2.resx
Normal file
@@ -0,0 +1,120 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<root>
|
||||||
|
<!--
|
||||||
|
Microsoft ResX Schema
|
||||||
|
|
||||||
|
Version 2.0
|
||||||
|
|
||||||
|
The primary goals of this format is to allow a simple XML format
|
||||||
|
that is mostly human readable. The generation and parsing of the
|
||||||
|
various data types are done through the TypeConverter classes
|
||||||
|
associated with the data types.
|
||||||
|
|
||||||
|
Example:
|
||||||
|
|
||||||
|
... ado.net/XML headers & schema ...
|
||||||
|
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||||
|
<resheader name="version">2.0</resheader>
|
||||||
|
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||||
|
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||||
|
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||||
|
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||||
|
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||||
|
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||||
|
</data>
|
||||||
|
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||||
|
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||||
|
<comment>This is a comment</comment>
|
||||||
|
</data>
|
||||||
|
|
||||||
|
There are any number of "resheader" rows that contain simple
|
||||||
|
name/value pairs.
|
||||||
|
|
||||||
|
Each data row contains a name, and value. The row also contains a
|
||||||
|
type or mimetype. Type corresponds to a .NET class that support
|
||||||
|
text/value conversion through the TypeConverter architecture.
|
||||||
|
Classes that don't support this are serialized and stored with the
|
||||||
|
mimetype set.
|
||||||
|
|
||||||
|
The mimetype is used for serialized objects, and tells the
|
||||||
|
ResXResourceReader how to depersist the object. This is currently not
|
||||||
|
extensible. For a given mimetype the value must be set accordingly:
|
||||||
|
|
||||||
|
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||||
|
that the ResXResourceWriter will generate, however the reader can
|
||||||
|
read any of the formats listed below.
|
||||||
|
|
||||||
|
mimetype: application/x-microsoft.net.object.binary.base64
|
||||||
|
value : The object must be serialized with
|
||||||
|
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||||
|
: and then encoded with base64 encoding.
|
||||||
|
|
||||||
|
mimetype: application/x-microsoft.net.object.soap.base64
|
||||||
|
value : The object must be serialized with
|
||||||
|
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||||
|
: and then encoded with base64 encoding.
|
||||||
|
|
||||||
|
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||||
|
value : The object must be serialized into a byte array
|
||||||
|
: using a System.ComponentModel.TypeConverter
|
||||||
|
: and then encoded with base64 encoding.
|
||||||
|
-->
|
||||||
|
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||||
|
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||||
|
<xsd:element name="root" msdata:IsDataSet="true">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:choice maxOccurs="unbounded">
|
||||||
|
<xsd:element name="metadata">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||||
|
<xsd:attribute name="type" type="xsd:string" />
|
||||||
|
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||||
|
<xsd:attribute ref="xml:space" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="assembly">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:attribute name="alias" type="xsd:string" />
|
||||||
|
<xsd:attribute name="name" type="xsd:string" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="data">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||||
|
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||||
|
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||||
|
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||||
|
<xsd:attribute ref="xml:space" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="resheader">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
</xsd:choice>
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
</xsd:schema>
|
||||||
|
<resheader name="resmimetype">
|
||||||
|
<value>text/microsoft-resx</value>
|
||||||
|
</resheader>
|
||||||
|
<resheader name="version">
|
||||||
|
<value>2.0</value>
|
||||||
|
</resheader>
|
||||||
|
<resheader name="reader">
|
||||||
|
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</resheader>
|
||||||
|
<resheader name="writer">
|
||||||
|
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</resheader>
|
||||||
|
</root>
|
||||||
Reference in New Issue
Block a user