복본검사시 오류발생한 항목의 수량을 -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("2025.11.10.2200")]
[assembly: AssemblyFileVersion("2025.11.10.2200")]
[assembly: AssemblyVersion("2025.12.25.2200")]
[assembly: AssemblyFileVersion("2025.12.25.2200")]

View File

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

View File

@@ -280,7 +280,7 @@ namespace UniMarc.마크
var where = $"campanyidx={compidx}";
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);
using (var f = new fSelectDT(dt))

View File

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