QR validation and WMS info processing improvements

- Enhanced QR vision trigger logging with detailed command/data output
- Added JSON data extraction for barcode processing
- Improved WMS info query with data completeness check
- Updated SID information form with trust flags for user inputs
- Added auto-resize columns and UI improvements to SID selection dialog
- Fixed barcode data processing to handle JSON wrapped responses
- Added pick retry reset and timing control on form close

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
atvstdla
2025-10-02 11:36:48 +09:00
parent 82e4a55f8d
commit 3eac3927f8
11 changed files with 203 additions and 156 deletions

View File

@@ -92,6 +92,8 @@
this.chkInfoApplyCust = new System.Windows.Forms.CheckBox();
this.chkInfoApplyPart = new System.Windows.Forms.CheckBox();
this.grpApplyWMSinfo = new System.Windows.Forms.GroupBox();
this.checkBox2 = new System.Windows.Forms.CheckBox();
this.checkBox1 = new System.Windows.Forms.CheckBox();
this.checkBox36 = new System.Windows.Forms.CheckBox();
this.chkWMSApplyBatch = new System.Windows.Forms.CheckBox();
this.label22 = new System.Windows.Forms.Label();
@@ -110,8 +112,6 @@
this.btCancle = new arCtl.arLabel();
this.dataSet11 = new Project.DataSet1();
this.toolTip1 = new System.Windows.Forms.ToolTip(this.components);
this.checkBox1 = new System.Windows.Forms.CheckBox();
this.checkBox2 = new System.Windows.Forms.CheckBox();
this.panel2.SuspendLayout();
this.panel5.SuspendLayout();
this.tabControl1.SuspendLayout();
@@ -992,6 +992,30 @@
this.grpApplyWMSinfo.TabStop = false;
this.grpApplyWMSinfo.Text = "WMS Information Application";
//
// checkBox2
//
this.checkBox2.AutoSize = true;
this.checkBox2.ForeColor = System.Drawing.Color.Black;
this.checkBox2.Location = new System.Drawing.Point(431, 24);
this.checkBox2.Name = "checkBox2";
this.checkBox2.Size = new System.Drawing.Size(92, 23);
this.checkBox2.TabIndex = 39;
this.checkBox2.Tag = "13";
this.checkBox2.Text = "MFG Date";
this.checkBox2.UseVisualStyleBackColor = true;
//
// checkBox1
//
this.checkBox1.AutoSize = true;
this.checkBox1.ForeColor = System.Drawing.Color.Blue;
this.checkBox1.Location = new System.Drawing.Point(379, 50);
this.checkBox1.Name = "checkBox1";
this.checkBox1.Size = new System.Drawing.Size(92, 23);
this.checkBox1.TabIndex = 38;
this.checkBox1.Tag = "12";
this.checkBox1.Text = "MFG Date";
this.checkBox1.UseVisualStyleBackColor = true;
//
// checkBox36
//
this.checkBox36.AutoSize = true;
@@ -1249,30 +1273,6 @@
this.dataSet11.DataSetName = "DataSet1";
this.dataSet11.SchemaSerializationMode = System.Data.SchemaSerializationMode.IncludeSchema;
//
// checkBox1
//
this.checkBox1.AutoSize = true;
this.checkBox1.ForeColor = System.Drawing.Color.Blue;
this.checkBox1.Location = new System.Drawing.Point(379, 50);
this.checkBox1.Name = "checkBox1";
this.checkBox1.Size = new System.Drawing.Size(92, 23);
this.checkBox1.TabIndex = 38;
this.checkBox1.Tag = "12";
this.checkBox1.Text = "MFG Date";
this.checkBox1.UseVisualStyleBackColor = true;
//
// checkBox2
//
this.checkBox2.AutoSize = true;
this.checkBox2.ForeColor = System.Drawing.Color.Black;
this.checkBox2.Location = new System.Drawing.Point(431, 24);
this.checkBox2.Name = "checkBox2";
this.checkBox2.Size = new System.Drawing.Size(92, 23);
this.checkBox2.TabIndex = 39;
this.checkBox2.Tag = "13";
this.checkBox2.Text = "MFG Date";
this.checkBox2.UseVisualStyleBackColor = true;
//
// fSelectJob
//
this.AutoScaleDimensions = new System.Drawing.SizeF(8F, 17F);

View File

@@ -30,7 +30,7 @@
{
this.components = new System.ComponentModel.Container();
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(fSelectSIDInformation));
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle1 = new System.Windows.Forms.DataGridViewCellStyle();
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle2 = new System.Windows.Forms.DataGridViewCellStyle();
this.tbSID = new System.Windows.Forms.TextBox();
this.tbLot = new System.Windows.Forms.TextBox();
this.tbMFG = new System.Windows.Forms.TextBox();
@@ -50,6 +50,8 @@
this.statusStrip1 = new System.Windows.Forms.StatusStrip();
this.lbExecuteSQL = new System.Windows.Forms.ToolStripStatusLabel();
this.bn = new System.Windows.Forms.BindingNavigator(this.components);
this.bs = new System.Windows.Forms.BindingSource(this.components);
this.dsWMS = new Project.dsWMS();
this.bindingNavigatorCountItem = new System.Windows.Forms.ToolStripLabel();
this.bindingNavigatorMoveFirstItem = new System.Windows.Forms.ToolStripButton();
this.bindingNavigatorMovePreviousItem = new System.Windows.Forms.ToolStripButton();
@@ -60,13 +62,6 @@
this.bindingNavigatorMoveLastItem = new System.Windows.Forms.ToolStripButton();
this.bindingNavigatorSeparator2 = new System.Windows.Forms.ToolStripSeparator();
this.dv1 = new System.Windows.Forms.DataGridView();
this.panDv = new System.Windows.Forms.Panel();
this.btOK = new System.Windows.Forms.Button();
this.panel3 = new System.Windows.Forms.Panel();
this.bs = new System.Windows.Forms.BindingSource(this.components);
this.dsWMS = new Project.dsWMS();
this.ta = new Project.dsWMSTableAdapters.VW_GET_MAX_QTY_VENDOR_LOTTableAdapter();
this.tam = new Project.dsWMSTableAdapters.TableAdapterManager();
this.idxDataGridViewTextBoxColumn = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.sIDDataGridViewTextBoxColumn = new System.Windows.Forms.DataGridViewButtonColumn();
this.pARTNODataGridViewTextBoxColumn = new System.Windows.Forms.DataGridViewTextBoxColumn();
@@ -76,14 +71,19 @@
this.vENDORLOTDataGridViewTextBoxColumn = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.mFGDATEDataGridViewTextBoxColumn = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.qTYDataGridViewTextBoxColumn = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.panDv = new System.Windows.Forms.Panel();
this.btOK = new System.Windows.Forms.Button();
this.panel3 = new System.Windows.Forms.Panel();
this.ta = new Project.dsWMSTableAdapters.VW_GET_MAX_QTY_VENDOR_LOTTableAdapter();
this.tam = new Project.dsWMSTableAdapters.TableAdapterManager();
this.statusStrip1.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.bn)).BeginInit();
this.bn.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.bs)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.dsWMS)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.dv1)).BeginInit();
this.panDv.SuspendLayout();
this.panel3.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.bs)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.dsWMS)).BeginInit();
this.SuspendLayout();
//
// tbSID
@@ -314,10 +314,20 @@
this.bn.TabIndex = 12;
this.bn.Text = "bindingNavigator1";
//
// bs
//
this.bs.DataMember = "VW_GET_MAX_QTY_VENDOR_LOT";
this.bs.DataSource = this.dsWMS;
//
// dsWMS
//
this.dsWMS.DataSetName = "dsWMS";
this.dsWMS.SchemaSerializationMode = System.Data.SchemaSerializationMode.IncludeSchema;
//
// bindingNavigatorCountItem
//
this.bindingNavigatorCountItem.Name = "bindingNavigatorCountItem";
this.bindingNavigatorCountItem.Size = new System.Drawing.Size(27, 22);
this.bindingNavigatorCountItem.Size = new System.Drawing.Size(26, 22);
this.bindingNavigatorCountItem.Text = "/{0}";
this.bindingNavigatorCountItem.ToolTipText = "Total item count";
//
@@ -400,14 +410,15 @@
this.mFGDATEDataGridViewTextBoxColumn,
this.qTYDataGridViewTextBoxColumn});
this.dv1.DataSource = this.bs;
dataGridViewCellStyle1.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleCenter;
dataGridViewCellStyle1.BackColor = System.Drawing.SystemColors.Window;
dataGridViewCellStyle1.Font = new System.Drawing.Font("맑은 고딕", 11.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
dataGridViewCellStyle1.ForeColor = System.Drawing.SystemColors.ControlText;
dataGridViewCellStyle1.SelectionBackColor = System.Drawing.SystemColors.Highlight;
dataGridViewCellStyle1.SelectionForeColor = System.Drawing.SystemColors.HighlightText;
dataGridViewCellStyle1.WrapMode = System.Windows.Forms.DataGridViewTriState.False;
this.dv1.DefaultCellStyle = dataGridViewCellStyle1;
dataGridViewCellStyle2.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleCenter;
dataGridViewCellStyle2.BackColor = System.Drawing.SystemColors.Window;
dataGridViewCellStyle2.Font = new System.Drawing.Font("맑은 고딕", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
dataGridViewCellStyle2.ForeColor = System.Drawing.SystemColors.ControlText;
dataGridViewCellStyle2.Padding = new System.Windows.Forms.Padding(0, 3, 0, 3);
dataGridViewCellStyle2.SelectionBackColor = System.Drawing.SystemColors.Highlight;
dataGridViewCellStyle2.SelectionForeColor = System.Drawing.SystemColors.HighlightText;
dataGridViewCellStyle2.WrapMode = System.Windows.Forms.DataGridViewTriState.False;
this.dv1.DefaultCellStyle = dataGridViewCellStyle2;
this.dv1.Dock = System.Windows.Forms.DockStyle.Fill;
this.dv1.Location = new System.Drawing.Point(0, 0);
this.dv1.Name = "dv1";
@@ -417,75 +428,6 @@
this.dv1.TabIndex = 35;
this.dv1.CellClick += new System.Windows.Forms.DataGridViewCellEventHandler(this.vW_GET_MAX_QTY_VENDOR_LOTDataGridView_CellClick);
//
// panDv
//
this.panDv.Controls.Add(this.dv1);
this.panDv.Controls.Add(this.bn);
this.panDv.Dock = System.Windows.Forms.DockStyle.Fill;
this.panDv.Location = new System.Drawing.Point(0, 157);
this.panDv.Name = "panDv";
this.panDv.Size = new System.Drawing.Size(1031, 405);
this.panDv.TabIndex = 36;
//
// btOK
//
this.btOK.BackColor = System.Drawing.Color.DarkSeaGreen;
this.btOK.Dock = System.Windows.Forms.DockStyle.Right;
this.btOK.Font = new System.Drawing.Font("맑은 고딕", 26.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
this.btOK.Location = new System.Drawing.Point(791, 10);
this.btOK.Name = "btOK";
this.btOK.Size = new System.Drawing.Size(230, 137);
this.btOK.TabIndex = 4;
this.btOK.Text = "SAVE";
this.btOK.UseVisualStyleBackColor = false;
this.btOK.Click += new System.EventHandler(this.btOK_Click);
//
// panel3
//
this.panel3.Controls.Add(this.btOK);
this.panel3.Controls.Add(this.button5);
this.panel3.Controls.Add(this.button4);
this.panel3.Controls.Add(this.linkLabel7);
this.panel3.Controls.Add(this.tbVName);
this.panel3.Controls.Add(this.linkLabel5);
this.panel3.Controls.Add(this.linkLabel6);
this.panel3.Controls.Add(this.tbSID);
this.panel3.Controls.Add(this.linkLabel8);
this.panel3.Controls.Add(this.TbCustCode);
this.panel3.Controls.Add(this.tbBatch);
this.panel3.Controls.Add(this.linkLabel3);
this.panel3.Controls.Add(this.tbLot);
this.panel3.Controls.Add(this.lnkBatch);
this.panel3.Controls.Add(this.tbPart);
this.panel3.Controls.Add(this.tbMFG);
this.panel3.Controls.Add(this.linkLabel2);
this.panel3.Dock = System.Windows.Forms.DockStyle.Top;
this.panel3.Location = new System.Drawing.Point(0, 0);
this.panel3.Name = "panel3";
this.panel3.Padding = new System.Windows.Forms.Padding(0, 10, 10, 10);
this.panel3.Size = new System.Drawing.Size(1031, 157);
this.panel3.TabIndex = 37;
//
// bs
//
this.bs.DataMember = "VW_GET_MAX_QTY_VENDOR_LOT";
this.bs.DataSource = this.dsWMS;
//
// dsWMS
//
this.dsWMS.DataSetName = "dsWMS";
this.dsWMS.SchemaSerializationMode = System.Data.SchemaSerializationMode.IncludeSchema;
//
// ta
//
this.ta.ClearBeforeFill = true;
//
// tam
//
this.tam.BackupDataSetBeforeUpdate = false;
this.tam.Connection = null;
this.tam.UpdateOrder = Project.dsWMSTableAdapters.TableAdapterManager.UpdateOrderOption.InsertUpdateDelete;
//
// idxDataGridViewTextBoxColumn
//
this.idxDataGridViewTextBoxColumn.DataPropertyName = "idx";
@@ -551,6 +493,65 @@
this.qTYDataGridViewTextBoxColumn.Name = "qTYDataGridViewTextBoxColumn";
this.qTYDataGridViewTextBoxColumn.ReadOnly = true;
//
// panDv
//
this.panDv.Controls.Add(this.dv1);
this.panDv.Controls.Add(this.bn);
this.panDv.Dock = System.Windows.Forms.DockStyle.Fill;
this.panDv.Location = new System.Drawing.Point(0, 157);
this.panDv.Name = "panDv";
this.panDv.Size = new System.Drawing.Size(1031, 405);
this.panDv.TabIndex = 36;
//
// btOK
//
this.btOK.BackColor = System.Drawing.Color.DarkSeaGreen;
this.btOK.Dock = System.Windows.Forms.DockStyle.Right;
this.btOK.Font = new System.Drawing.Font("맑은 고딕", 26.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
this.btOK.Location = new System.Drawing.Point(791, 10);
this.btOK.Name = "btOK";
this.btOK.Size = new System.Drawing.Size(230, 137);
this.btOK.TabIndex = 4;
this.btOK.Text = "SAVE";
this.btOK.UseVisualStyleBackColor = false;
this.btOK.Click += new System.EventHandler(this.btOK_Click);
//
// panel3
//
this.panel3.Controls.Add(this.btOK);
this.panel3.Controls.Add(this.button5);
this.panel3.Controls.Add(this.button4);
this.panel3.Controls.Add(this.linkLabel7);
this.panel3.Controls.Add(this.tbVName);
this.panel3.Controls.Add(this.linkLabel5);
this.panel3.Controls.Add(this.linkLabel6);
this.panel3.Controls.Add(this.tbSID);
this.panel3.Controls.Add(this.linkLabel8);
this.panel3.Controls.Add(this.TbCustCode);
this.panel3.Controls.Add(this.tbBatch);
this.panel3.Controls.Add(this.linkLabel3);
this.panel3.Controls.Add(this.tbLot);
this.panel3.Controls.Add(this.lnkBatch);
this.panel3.Controls.Add(this.tbPart);
this.panel3.Controls.Add(this.tbMFG);
this.panel3.Controls.Add(this.linkLabel2);
this.panel3.Dock = System.Windows.Forms.DockStyle.Top;
this.panel3.Location = new System.Drawing.Point(0, 0);
this.panel3.Name = "panel3";
this.panel3.Padding = new System.Windows.Forms.Padding(0, 10, 10, 10);
this.panel3.Size = new System.Drawing.Size(1031, 157);
this.panel3.TabIndex = 37;
//
// ta
//
this.ta.ClearBeforeFill = true;
//
// tam
//
this.tam.BackupDataSetBeforeUpdate = false;
this.tam.Connection = null;
this.tam.UpdateOrder = Project.dsWMSTableAdapters.TableAdapterManager.UpdateOrderOption.InsertUpdateDelete;
//
// fSelectSIDInformation
//
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None;
@@ -565,18 +566,19 @@
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
this.Text = "Multi SID Information";
this.Load += new System.EventHandler(this.fLoaderInfo_Load);
this.Shown += new System.EventHandler(this.fSelectSIDInformation_Shown);
this.statusStrip1.ResumeLayout(false);
this.statusStrip1.PerformLayout();
((System.ComponentModel.ISupportInitialize)(this.bn)).EndInit();
this.bn.ResumeLayout(false);
this.bn.PerformLayout();
((System.ComponentModel.ISupportInitialize)(this.bs)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.dsWMS)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.dv1)).EndInit();
this.panDv.ResumeLayout(false);
this.panDv.PerformLayout();
this.panel3.ResumeLayout(false);
this.panel3.PerformLayout();
((System.ComponentModel.ISupportInitialize)(this.bs)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.dsWMS)).EndInit();
this.ResumeLayout(false);
this.PerformLayout();

View File

@@ -34,9 +34,12 @@ namespace Project.Dialog
private void FLoaderInfo_FormClosed(object sender, FormClosedEventArgs e)
{
AR.VAR.I32[AR.eVarInt32.PickOnRetry] = 0;
VAR.TIME[eVarTime.KEYENCEWAIT] = DateTime.Now;
VAR.BOOL[eVarBool.FG_WAIT_INFOSELECT] = false;
PUB.Result.ItemDataC.VisionData.PropertyChanged -= VisionData_PropertyChanged;
////사용자가 정보를 정확히 입력하지 않고 닫았다
//if (PUB.Result.ItemDataC.VisionData.Confirm == false)
//{
@@ -114,7 +117,6 @@ namespace Project.Dialog
tbPart.Text = item.VisionData.PARTNO;
TbCustCode.Text = item.VisionData.CUSTCODE;
tbBatch.Text = item.VisionData.BATCH;
selectInput(this.tbSID);
@@ -369,12 +371,36 @@ namespace Project.Dialog
itemC.VisionData.SID0 = itemC.VisionData.SID;
//값이있는것들만 기록해준다.
if (tbSID.Text.isEmpty() == false) itemC.VisionData.SID = tbSID.Text.Trim();
if (tbBatch.Text.isEmpty() == false) itemC.VisionData.BATCH = tbBatch.Text.Trim();
if (tbLot.Text.isEmpty() == false) itemC.VisionData.VLOT = tbLot.Text.Trim();
if (tbMFG.Text.isEmpty() == false) itemC.VisionData.MFGDATE = tbMFG.Text.Trim();
if (tbVName.Text.isEmpty() == false) itemC.VisionData.VNAME = tbVName.Text.Trim();
if (tbPart.Text.isEmpty() == false) itemC.VisionData.PARTNO = tbPart.Text.Trim();
if (tbSID.Text.isEmpty() == false)
{
itemC.VisionData.SID = tbSID.Text.Trim();
itemC.VisionData.SID_Trust = true;
}
if (tbBatch.Text.isEmpty() == false)
{
itemC.VisionData.BATCH = tbBatch.Text.Trim();
}
if (tbLot.Text.isEmpty() == false)
{
itemC.VisionData.VLOT = tbLot.Text.Trim();
itemC.VisionData.VLOT_Trust = true;
}
if (tbMFG.Text.isEmpty() == false)
{
itemC.VisionData.MFGDATE = tbMFG.Text.Trim();
itemC.VisionData.MFGDATE_Trust = true;
}
if (tbVName.Text.isEmpty() == false)
{
itemC.VisionData.VNAME = tbVName.Text.Trim();
itemC.VisionData.VNAME_Trust = true;
}
if (tbPart.Text.isEmpty() == false)
{
itemC.VisionData.PARTNO = tbPart.Text.Trim();
itemC.VisionData.PARTNO_Trust = true;
}
this.TopMost = topmost;
this.Close();
@@ -883,5 +909,10 @@ namespace Project.Dialog
ValueUpdate(tbMFG, dr.MFG_DATE, "MFG_DATE");
ValueUpdate(tbBatch, dr.BATCH_NO, "BATCH_NO");
}
private void fSelectSIDInformation_Shown(object sender, EventArgs e)
{
this.dv1.AutoResizeColumns();
}
}
}

View File

@@ -170,6 +170,9 @@
8l/FYwIYQ4UGBWBgAAC+0b+zuQxOnAAAAABJRU5ErkJggg==
</value>
</data>
<metadata name="dsWMS.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>364, 17</value>
</metadata>
<metadata name="ta.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>525, 17</value>
</metadata>