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:
@@ -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;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user