복본검사시 오류발생한 항목의 수량을 -1 로 설정하도록 함 (해당 자료가 오류가 되도록)

마크생성화면에서 업체명 검색시 SQL오류 수정
This commit is contained in:
2025-12-25 21:57:10 +09:00
parent 241cf656b4
commit e989c5aac8
4 changed files with 136 additions and 97 deletions

View File

@@ -32,5 +32,5 @@ using System.Runtime.InteropServices;
// 모든 값을 지정하거나 아래와 같이 '*'를 사용하여 빌드 번호 및 수정 번호를 // 모든 값을 지정하거나 아래와 같이 '*'를 사용하여 빌드 번호 및 수정 번호를
// 기본값으로 할 수 있습니다. // 기본값으로 할 수 있습니다.
// [assembly: AssemblyVersion("1.0.*")] // [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("2025.11.10.2200")] [assembly: AssemblyVersion("2025.12.25.2200")]
[assembly: AssemblyFileVersion("2025.11.10.2200")] [assembly: AssemblyFileVersion("2025.12.25.2200")]

View File

@@ -672,15 +672,15 @@ namespace WindowsFormsApp1.Mac
if (cntValue.Equals("-1") == false) if (cntValue.Equals("-1") == false)
continue; continue;
} }
else if (radTargetEmpty.Checked) //빈데이터만 처리 else if (radTargetEmpty.Checked) //빈데이터만 처리 (검사된 수량이 0이라면 동작한다)
{ {
if (int.TryParse(cntValue, out int cntvalue) && cntvalue > 0) if (int.TryParse(cntValue, out int cntvalue) && cntvalue > 0)
continue; continue;
} }
else if (radTargetErrEmpty.Checked) //오류+빈데이터처리 else if (radTargetErrEmpty.Checked) //오류+빈데이터처리
{ {
if (cntValue.Equals("-1") == false && int.TryParse(cntValue, out int cntvalue) && cntvalue > 0) if (cntValue.Equals("-1") == false) continue;
continue; if (int.TryParse(cntValue, out int cntvalue) && cntvalue > 0) continue;
} }
cnt_totalcnt += 1; cnt_totalcnt += 1;
@@ -713,6 +713,7 @@ namespace WindowsFormsApp1.Mac
{ {
cnt_er += 1; cnt_er += 1;
drow.Cells["dvc_remark"].Value = $"Error|{rlt.ErrorMessage}"; drow.Cells["dvc_remark"].Value = $"Error|{rlt.ErrorMessage}";
drow.Cells["Count"].Value = "-1"; //오류발생시에는 -1이 입력되도록한다
// 오류시에도 ResultHtml이 있으면 저장 (디버깅용) // 오류시에도 ResultHtml이 있으면 저장 (디버깅용)
if (dv1.Columns.Contains("dvc_resulthtml")) if (dv1.Columns.Contains("dvc_resulthtml"))

View File

@@ -280,7 +280,7 @@ namespace UniMarc.마크
var where = $"campanyidx={compidx}"; var where = $"campanyidx={compidx}";
if (inputsearch.isEmpty() == false) if (inputsearch.isEmpty() == false)
{ {
where = $" and c_sangho like '%{inputsearch.Replace("'", "''")}%'"; where += $" and c_sangho like '%{inputsearch.Replace("'", "''")}%'";
} }
var dt = DB2.GetDT("Client", columns: "idx,c_sangho", orders: "c_sangho", wheres: where); var dt = DB2.GetDT("Client", columns: "idx,c_sangho", orders: "c_sangho", wheres: where);
using (var f = new fSelectDT(dt)) using (var f = new fSelectDT(dt))

View File

@@ -301,7 +301,8 @@ namespace ExcelTest
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)
{
List_Book.Rows[a].Cells["grade"].Value = "3"; List_Book.Rows[a].Cells["grade"].Value = "3";
List_Book.Rows[a].DefaultCellStyle.ForeColor = Color.Red; List_Book.Rows[a].DefaultCellStyle.ForeColor = Color.Red;
continue; continue;
@@ -324,7 +325,8 @@ namespace ExcelTest
if (isMyData) if (isMyData)
SaveDateCheck(Chk_Arr[11], a); SaveDateCheck(Chk_Arr[11], a);
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("|", ""); List_Book.Rows[a].Cells["user"].Value = db.DB_Send_CMD_Search(FindCompCmd).Replace("|", "");
List_Book.Rows[a].DefaultCellStyle.BackColor = Color.LightGray; List_Book.Rows[a].DefaultCellStyle.BackColor = Color.LightGray;
@@ -396,7 +398,8 @@ namespace ExcelTest
call = ((RichTextBox)sender).Name; call = ((RichTextBox)sender).Name;
richTextBox1.LanguageOption = 0; richTextBox1.LanguageOption = 0;
if (e.Control) { if (e.Control)
{
switch (e.KeyValue) switch (e.KeyValue)
{ {
case 70: // f case 70: // f
@@ -497,7 +500,8 @@ namespace ExcelTest
} }
private void Btn_Save_Click(object sender, EventArgs e) private void Btn_Save_Click(object sender, EventArgs e)
{ {
if (SaveRowIdx < 0) { if (SaveRowIdx < 0)
{
MessageBox.Show("마크가 선택되지않았습니다."); MessageBox.Show("마크가 선택되지않았습니다.");
return; return;
} }
@@ -508,7 +512,8 @@ namespace ExcelTest
MessageBox.Show("[칸채우기]가 아닌 [마크 편집] 탭에서 저장해주세요!"); MessageBox.Show("[칸채우기]가 아닌 [마크 편집] 탭에서 저장해주세요!");
return; return;
} }
if (grade == 3) { if (grade == 3)
{
MessageBox.Show("등급을 설정해주세요. (C 이상)"); MessageBox.Show("등급을 설정해주세요. (C 이상)");
return; return;
} }
@@ -519,12 +524,14 @@ namespace ExcelTest
if (!BaseText.EndsWith("\n")) if (!BaseText.EndsWith("\n"))
BaseText += "\n"; BaseText += "\n";
if (!isPass(BaseText)) { if (!isPass(BaseText))
{
MessageBox.Show("입력된 마크의 상태를 확인해주세요."); MessageBox.Show("입력된 마크의 상태를 확인해주세요.");
return; return;
} }
if (BaseText.IndexOf(lblisbn) < 0) { if (BaseText.IndexOf(lblisbn) < 0)
{
MessageBox.Show("ISBN 상태를 확인해주세요."); MessageBox.Show("ISBN 상태를 확인해주세요.");
return; return;
} }
@@ -653,7 +660,8 @@ namespace ExcelTest
List_Book.Rows[SaveRowIdx].DefaultCellStyle.ForeColor = SetGradeColor(grade.ToString()); List_Book.Rows[SaveRowIdx].DefaultCellStyle.ForeColor = SetGradeColor(grade.ToString());
if (isNewData) { if (isNewData)
{
string MidxQuery = string.Format("SELECT `idx` FROM Marc WHERE isbn = {0} AND `compidx` = {1};", grid_data[0], mCompidx); string MidxQuery = string.Format("SELECT `idx` FROM Marc WHERE isbn = {0} AND `compidx` = {1};", grid_data[0], mCompidx);
PUB.log.Add("MarcInsert", string.Format("{0}({1}) : {2}", mUserName, mCompidx, MidxQuery)); PUB.log.Add("MarcInsert", string.Format("{0}({1}) : {2}", mUserName, mCompidx, MidxQuery));
Midx = db.DB_Send_CMD_Search(MidxQuery).Replace("|", ""); Midx = db.DB_Send_CMD_Search(MidxQuery).Replace("|", "");
@@ -845,7 +853,8 @@ namespace ExcelTest
for (int a = 0; a < chk_ary.Length; a++) for (int a = 0; a < chk_ary.Length; a++)
{ {
if (chk_ary[a] == "1") { if (chk_ary[a] == "1")
{
return a; return a;
} }
} }
@@ -985,7 +994,8 @@ namespace ExcelTest
string res = db.DB_Send_CMD_Search(cmd); string res = db.DB_Send_CMD_Search(cmd);
string[] ary = res.Split('|'); string[] ary = res.Split('|');
if (res.Length < 1) { if (res.Length < 1)
{
etc1.Text = res; etc1.Text = res;
etc2.Text = ""; etc2.Text = "";
return; return;
@@ -1291,7 +1301,8 @@ namespace ExcelTest
string pubDate = Regex.Replace(ContentTag, @"[^0-9]", ""); string pubDate = Regex.Replace(ContentTag, @"[^0-9]", "");
if (pubDate.Length < 3) { if (pubDate.Length < 3)
{
MessageBox.Show("260c가 인식되지않습니다."); MessageBox.Show("260c가 인식되지않습니다.");
return "false"; return "false";
} }
@@ -1319,7 +1330,8 @@ namespace ExcelTest
"SELECT `Code` FROM `Tag008_Country` WHERE `Area` <= \"{0}\" ORDER BY `Area` DESC LIMIT 1;", ContentTag); "SELECT `Code` FROM `Tag008_Country` WHERE `Area` <= \"{0}\" ORDER BY `Area` DESC LIMIT 1;", ContentTag);
string res = db.DB_Send_CMD_Search(cmd).Replace("|", ""); string res = db.DB_Send_CMD_Search(cmd).Replace("|", "");
if (res == "") { if (res == "")
{
MessageBox.Show("260a가 인식되지않습니다."); MessageBox.Show("260a가 인식되지않습니다.");
return "false"; return "false";
} }
@@ -1474,21 +1486,27 @@ namespace ExcelTest
bool isSort = rb_Sort.Checked; bool isSort = rb_Sort.Checked;
int combo = comboBox8.SelectedIndex; // 0: 등급 / 1: 복본 int combo = comboBox8.SelectedIndex; // 0: 등급 / 1: 복본
if (isSort) { if (isSort)
if (combo == 0) { {
if (combo == 0)
{
List_Book.Sort(List_Book.Columns["grade"], System.ComponentModel.ListSortDirection.Ascending); List_Book.Sort(List_Book.Columns["grade"], System.ComponentModel.ListSortDirection.Ascending);
} }
else { else
{
List_Book.Sort(List_Book.Columns["ISBN13"], System.ComponentModel.ListSortDirection.Ascending); List_Book.Sort(List_Book.Columns["ISBN13"], System.ComponentModel.ListSortDirection.Ascending);
} }
} }
else { else
{
int comboIdx; int comboIdx;
if (combo == 0) { if (combo == 0)
{
comboIdx = comboBox9.SelectedIndex; comboIdx = comboBox9.SelectedIndex;
Search_Filter("grade", comboIdx); Search_Filter("grade", comboIdx);
} }
else { // 수정필요 else
{ // 수정필요
} }
} }
@@ -1508,7 +1526,8 @@ namespace ExcelTest
{ {
int count = List_Book.Rows.Count; int count = List_Book.Rows.Count;
DataGridViewBand band; DataGridViewBand band;
if (comboIdx == 0) { if (comboIdx == 0)
{
for (int a = 0; a < count; a++) for (int a = 0; a < count; a++)
{ {
band = List_Book.Rows[a]; band = List_Book.Rows[a];
@@ -1520,7 +1539,8 @@ namespace ExcelTest
comboIdx--; comboIdx--;
for (int a = 0; a < count; a++) for (int a = 0; a < count; a++)
{ {
if (List_Book.Rows[a].Cells[target].Value.ToString() != comboIdx.ToString()) { if (List_Book.Rows[a].Cells[target].Value.ToString() != comboIdx.ToString())
{
band = List_Book.Rows[a]; band = List_Book.Rows[a];
band.Visible = false; band.Visible = false;
} }
@@ -1573,7 +1593,8 @@ namespace ExcelTest
comboBox9.Items.Clear(); comboBox9.Items.Clear();
ComboBox cb = sender as ComboBox; ComboBox cb = sender as ComboBox;
if (cb.SelectedIndex == 0) { if (cb.SelectedIndex == 0)
{
comboBox9.Enabled = true; comboBox9.Enabled = true;
string[] grade = { "전체", "A", "B", "C", "D" }; string[] grade = { "전체", "A", "B", "C", "D" };
comboBox9.Items.AddRange(grade); comboBox9.Items.AddRange(grade);
@@ -1872,7 +1893,8 @@ namespace ExcelTest
if (GridView020.Rows[count].Cells["CheckSet"].Value == null && if (GridView020.Rows[count].Cells["CheckSet"].Value == null &&
GridView020.Rows[count].Cells["Text020a"].Value == null && GridView020.Rows[count].Cells["Text020a"].Value == null &&
GridView020.Rows[count].Cells["Text020g"].Value == null && GridView020.Rows[count].Cells["Text020g"].Value == null &&
GridView020.Rows[count].Cells["Text020c"].Value == null) { GridView020.Rows[count].Cells["Text020c"].Value == null)
{
GridView020.Rows[count].Cells["CheckSet"].Value = Grid[0]; GridView020.Rows[count].Cells["CheckSet"].Value = Grid[0];
GridView020.Rows[count].Cells["Text020a"].Value = Grid[1]; GridView020.Rows[count].Cells["Text020a"].Value = Grid[1];
@@ -2038,7 +2060,8 @@ namespace ExcelTest
Before = After; Before = After;
for (int a = 0; a < Symbol.Length; a++) for (int a = 0; a < Symbol.Length; a++)
{ {
if (Tag[0] == Symbol[a]) { if (Tag[0] == Symbol[a])
{
After = a; After = a;
break; break;
} }
@@ -2274,20 +2297,30 @@ namespace ExcelTest
/// <param name="Marc">텍스트박스에 들어갈 값 배열</param> /// <param name="Marc">텍스트박스에 들어갈 값 배열</param>
private void InputMoreTextBox(TextBox[] box, string[] Marc) private void InputMoreTextBox(TextBox[] box, string[] Marc)
{ {
int count = 0; //int count = 0;
foreach (string marc in Marc) for (int i = 0; i < box.Length; i++)
{ {
if (box[count].Text == "") if (i >= Marc.Length) continue;
box[count].InvokeText(marc); var marc = Marc[i];
//box[count].Text = marc; if (box[i].Text == "")
box[i].InvokeText(marc);
else else
box[count].InvokeADDText("▽" + marc); box[i].InvokeADDText("▽" + marc);
//box[count].Text += "▽" + marc;
count++;
} }
//foreach (string marc in Marc)
//{
// if (box[count].Text == "")
// box[count].InvokeText(marc);
// //box[count].Text = marc;
// else
// box[count].InvokeADDText("▽" + marc);
// //box[count].Text += "▽" + marc;
// count++;
//}
} }
/// <summary> /// <summary>
@@ -3032,7 +3065,8 @@ namespace ExcelTest
if (boxText[0] != "") result += "▼a" + boxText[0]; if (boxText[0] != "") result += "▼a" + boxText[0];
if (boxText[1] != "") result += "▼n" + boxText[1]; if (boxText[1] != "") result += "▼n" + boxText[1];
if (boxText[3] != "") { if (boxText[3] != "")
{
string[] splitText245b = boxText[3].Split('▽'); string[] splitText245b = boxText[3].Split('▽');
foreach (string text in splitText245b) foreach (string text in splitText245b)
result += "▼b" + text; result += "▼b" + text;
@@ -3100,7 +3134,8 @@ namespace ExcelTest
if (boxText[0] != "") result += "▼a" + Tag300a_Sub(boxText[0]); if (boxText[0] != "") result += "▼a" + Tag300a_Sub(boxText[0]);
if (boxText[1] != "") result += "▼b" + boxText[1]; if (boxText[1] != "") result += "▼b" + boxText[1];
if (boxText[2] != "") { if (boxText[2] != "")
{
result += "▼c" + boxText[2]; result += "▼c" + boxText[2];
if (boxText[3] == "") result += "cm"; if (boxText[3] == "") result += "cm";
} }
@@ -3532,15 +3567,18 @@ namespace ExcelTest
a041 = a041.Replace("▽", ", "); a041 = a041.Replace("▽", ", ");
// k로 번역된 h 원작을 a로 중역 // k로 번역된 h 원작을 a로 중역
if (a041 != "" && k041 != "" && h041 != "") { if (a041 != "" && k041 != "" && h041 != "")
{
result = string.Format("{0}로 번역된 {1} 원작을 {2}로 중역", k041, h041, a041); result = string.Format("{0}로 번역된 {1} 원작을 {2}로 중역", k041, h041, a041);
} }
// h 원작을 a로 번역 // h 원작을 a로 번역
else if (a041 != "" && k041 == "" && h041 != "") { else if (a041 != "" && k041 == "" && h041 != "")
{
result = string.Format("{0} 원작을 {1}로 번역", h041, a041); result = string.Format("{0} 원작을 {1}로 번역", h041, a041);
} }
// 본문은 a1, a2 혼합수록됨. // 본문은 a1, a2 혼합수록됨.
else if (a041.IndexOf(",") > 0) { else if (a041.IndexOf(",") > 0)
{
result = string.Format("본문은 {0} 혼합수록 됨.", a041); result = string.Format("본문은 {0} 혼합수록 됨.", a041);
} }