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:
52
Handler/Project/Dialog/fSelectJob.Designer.cs
generated
52
Handler/Project/Dialog/fSelectJob.Designer.cs
generated
@@ -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);
|
||||
|
||||
182
Handler/Project/Dialog/fSelectSIDInformation.Designer.cs
generated
182
Handler/Project/Dialog/fSelectSIDInformation.Designer.cs
generated
@@ -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();
|
||||
|
||||
|
||||
@@ -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();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -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>
|
||||
|
||||
@@ -50,7 +50,7 @@ namespace Project
|
||||
{
|
||||
//카메라 트리거 전송
|
||||
var sendok = WS_Send(target, WS, item.guid, "TRIG", item.VisionData.PrintQRData);
|
||||
PUB.log.Add($"Barcode trigger transmission ({target}) = {sendok}");
|
||||
PUB.log.Add($"Send QR Vision trigger ({target}) = {sendok} CMD=TRIG,DATA={item.VisionData.PrintQRData}");
|
||||
if(sendok==false) //230512 전송실패시 오류로 한다
|
||||
{
|
||||
PUB.Result.SetResultMessage(eResult.HARDWARE, eECode.VISION_TRIGERROR, eNextStep.PAUSE);
|
||||
|
||||
@@ -3,6 +3,7 @@ using System.Collections.Generic;
|
||||
using System.Drawing;
|
||||
using System.Linq;
|
||||
using System.Text.RegularExpressions;
|
||||
using Newtonsoft.Json.Linq;
|
||||
|
||||
namespace Project
|
||||
{
|
||||
@@ -23,8 +24,24 @@ namespace Project
|
||||
|
||||
foreach (var datas in qrdatas)
|
||||
{
|
||||
// JSON 구조에서 "data" 필드 추출
|
||||
string barcodeData = datas;
|
||||
try
|
||||
{
|
||||
var jobj = JObject.Parse(datas);
|
||||
if (jobj["data"] != null)
|
||||
{
|
||||
barcodeData = jobj["data"].ToString();
|
||||
}
|
||||
}
|
||||
catch
|
||||
{
|
||||
// JSON 파싱 실패 시 원본 데이터 사용
|
||||
barcodeData = datas;
|
||||
}
|
||||
|
||||
//원본자료를 체크한다
|
||||
if (datas.Equals(idata.VisionData.PrintQRData))
|
||||
if (barcodeData.Equals(idata.VisionData.PrintQRData))
|
||||
{
|
||||
//인쇄한 자료와 동일한 자료이다
|
||||
FindData = true;
|
||||
@@ -39,10 +56,10 @@ namespace Project
|
||||
foreach (var pt in pats)
|
||||
{
|
||||
var regx = new Regex(pt.Pattern, RegexOptions.IgnoreCase, new TimeSpan(0, 0, 10));
|
||||
if (regx.IsMatch(datas)) //패턴이 일치하다면 이것만 사용한다
|
||||
if (regx.IsMatch(barcodeData)) //패턴이 일치하다면 이것만 사용한다
|
||||
{
|
||||
//find data
|
||||
var matchs = regx.Matches(datas);
|
||||
var matchs = regx.Matches(barcodeData);
|
||||
foreach (System.Text.RegularExpressions.Match mat in matchs)
|
||||
{
|
||||
foreach (var matchdata in pt.Groups)
|
||||
@@ -81,30 +98,6 @@ namespace Project
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
//var bcdData = new StdLabelPrint.CAmkorSTDBarcode(datas);
|
||||
//PUB.Result.ItemData[vIdx].VisionData.QTY2 = bcdData.QTY.ToString();
|
||||
//PUB.Result.ItemData[vIdx].VisionData.RID2 = bcdData.RID;
|
||||
//PUB.Result.ItemData[vIdx].VisionData.SID2 = bcdData.SID;
|
||||
//PUB.Result.ItemData[vIdx].VisionData.VLOT2 = bcdData.VLOT;
|
||||
//PUB.Result.ItemData[vIdx].VisionData.VNAME2 = bcdData.VENDERNAME;
|
||||
//PUB.Result.ItemData[vIdx].VisionData.MFGDATE2 = bcdData.MFGDate;//.ToString("yyyyMMdd");
|
||||
//PUB.Result.ItemData[vIdx].VisionData.PARTNO2 = bcdData.PARTNO;
|
||||
//PUB.Result.ItemData[vIdx].VisionData.Ready = true;
|
||||
////Pub.Result.ItemData[vIdx].VisionData.ETime = DateTime.Now;
|
||||
////Pub.Result.ItemData[vIdx].VisionData.Angle = 5;
|
||||
//PUB.Result.ItemData[vIdx].VisionData.Complete = true;
|
||||
//PUB.log.Add("BARCODE", $"{vIdx}바코드 읽기 성공 ID:{bcdData.RID},QTY:{bcdData.QTY}");
|
||||
|
||||
////데이터를 읽었으며, 검증기능이 켜져있다면 검증을한다
|
||||
//if (FindData) break;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -43,7 +43,7 @@ namespace Project
|
||||
|
||||
//[WMS] SID정보테이블에서 정보 추출(프린트정보는 없음)
|
||||
//[WMS] 에서 중복검색되면 팝업을 해야하므로 이것을 먼저 처리한다.
|
||||
if (VAR.BOOL[eVarBool.Opt_ApplyWMSInfo] && (CompleteCheck || itemC.VisionData.BarcodeTouched == true))
|
||||
if (VAR.BOOL[eVarBool.Opt_ApplyWMSInfo] && (CompleteCheck || itemC.VisionData.BarcodeTouched == true))
|
||||
{
|
||||
var rlt_FindWMD = BCDProcess_FindWMSInfo(itemC);
|
||||
if (rlt_FindWMD.NewBarcodeUpdated) NewBarcodeUpdated = true;
|
||||
@@ -316,8 +316,25 @@ namespace Project
|
||||
if (vdata.MFGDATE_Trust && vdata.MFGDATE.isEmpty() == false) wheres.Add($"MFG_DATE = '{vdata.MFGDATE}'");
|
||||
else Apply = false;
|
||||
}
|
||||
|
||||
//데이터가 완성되었다면 처리하지 않는다.
|
||||
bool DataOK = true;
|
||||
foreach (var data in fields)
|
||||
{
|
||||
var column = data.ToLower();
|
||||
if (DataOK && column.Equals("sid") && (vdata.SID.isEmpty() || vdata.SID_Trust == false)) DataOK = false;
|
||||
else if (DataOK && column.Equals("part_no") && (vdata.PARTNO.isEmpty() || vdata.PARTNO_Trust)) DataOK = false;
|
||||
else if (DataOK && column.Equals("mfg_data") && (vdata.MFGDATE.isEmpty() || vdata.MFGDATE_Trust)) DataOK = false;
|
||||
else if (DataOK && column.Equals("vendor_nm") && (vdata.VNAME.isEmpty() || vdata.VNAME_Trust)) DataOK = false;
|
||||
else if (DataOK && column.Equals("batch_no") && (vdata.BATCH.isEmpty())) DataOK = false;
|
||||
else if (DataOK && column.Equals("qty") && (vdata.QTY.isEmpty() || vdata.QTY_Trust)) DataOK = false;
|
||||
else if (DataOK && column.Equals("cust_code") && (vdata.CUSTCODE.isEmpty())) DataOK = false;
|
||||
else if (DataOK && column.Equals("vendor_lot") && (vdata.VLOT.isEmpty() || vdata.VLOT_Trust)) DataOK = false;
|
||||
if (DataOK == false) break;
|
||||
}
|
||||
|
||||
//if query data . no error
|
||||
if (Apply && fields.Count > 0 && wheres.Count > 0)
|
||||
if (DataOK == false && Apply && fields.Count > 0 && wheres.Count > 0)
|
||||
{
|
||||
var TableName = "VW_GET_MAX_QTY_VENDOR_LOT";
|
||||
var whereState = " where " + string.Join(" and ", wheres);
|
||||
@@ -330,7 +347,7 @@ namespace Project
|
||||
var cntvalue = (DBHelper.ExecuteScalar(SQLC)?.ToString() ?? "0").toInt();
|
||||
if (cntvalue > 1)
|
||||
{
|
||||
VAR.STR[eVarString.MULTISID_QUERY] = $"select {selectFields} from {TableName} WITH(NOLOCK) {whereState}";
|
||||
VAR.STR[eVarString.MULTISID_QUERY] = $"select * from {TableName} WITH(NOLOCK) {whereState}";
|
||||
VAR.STR[eVarString.MULTISID_FIELDS] = selectFields;
|
||||
rlt = EResultKeyence.MultiSID;
|
||||
}
|
||||
|
||||
@@ -2222,7 +2222,7 @@ namespace Project
|
||||
|
||||
//If multiple information exists, it should be handled with selection screen
|
||||
|
||||
VAR.STR[eVarString.MULTISID_QUERY] = $"select {selectFields} from {TableName} WITH(NOLOCK) {whereState}";
|
||||
VAR.STR[eVarString.MULTISID_QUERY] = $"select * from {TableName} WITH(NOLOCK) {whereState}";
|
||||
VAR.STR[eVarString.MULTISID_FIELDS] = selectFields;
|
||||
|
||||
PUB.Result.ItemDataC.VisionData.CUSTCODE = VAR.STR[eVarString.JOB_CUSTOMER_CODE];
|
||||
|
||||
Binary file not shown.
BIN
keyence_rear.ptc
BIN
keyence_rear.ptc
Binary file not shown.
1
run_claude.bat
Normal file
1
run_claude.bat
Normal file
@@ -0,0 +1 @@
|
||||
claude --dangerously-skip-permissions
|
||||
Reference in New Issue
Block a user