This commit is contained in:
atvstdla
2025-09-26 18:15:59 +09:00
parent 54c64a06bd
commit 16da4a5ffa
65 changed files with 5700 additions and 3514 deletions

View File

@@ -32,7 +32,7 @@ namespace Project
var CVMode = VAR.BOOL[eVarBool.Use_Conveyor];
var OPT_PrinterOff = PUB.OPT_PRINTEROFF(target);
var OPT_CameraOff = PUB.OPT_CAMERA(target);
var OPT_CameraOff = PUB.OPT_CAMERA();
var OPT_BYPASS = PUB.OPT_BYPASS();
//데이터가 완료되었는지 확인
@@ -213,7 +213,7 @@ namespace Project
//[WMS] SID정보테이블에서 정보 추출(프린트정보는 없음)
//[WMS] 에서 중복검색되면 팝업을 해야하므로 이것을 먼저 처리한다.
if (VAR.BOOL[eVarBool.Opt_ApplySIDInfo] && vdata.BarcodeDirty == true)
if (VAR.BOOL[eVarBool.Opt_ApplySIDInfo] && vdata.BarcodeTouched == true)
{
Boolean Apply = true;
@@ -229,7 +229,7 @@ namespace Project
List<string> wheres = new List<string>();
if (Apply && VAR.BOOL[eVarBool.Opt_SID_Where_CustCode])
{
if (vdata.CUSTCODE.isEmpty() == false) wheres.Add($"CUST_CODE='{vdata.CUSTCODE}'");
if (vdata.CUSTCODE.isEmpty() == false) wheres.Add($"CUST_CODE='{vdata.CUSTCODE.PadLeft(10, '0')}'");
else Apply = false;
}
if (Apply && VAR.BOOL[eVarBool.Opt_SID_Where_PartNo])
@@ -289,7 +289,7 @@ namespace Project
}
//SID정보테이블에서 정보 추출
if (VAR.BOOL[eVarBool.Opt_ApplySIDInfo] && vdata.BarcodeDirty == true)
if (VAR.BOOL[eVarBool.Opt_ApplySIDInfo] && vdata.BarcodeTouched == true)
{
Boolean Apply = true;
@@ -309,7 +309,7 @@ namespace Project
//wheres.Add($"MC='{COMM.SETTING.Data.McName}");
if (Apply && VAR.BOOL[eVarBool.Opt_SID_Where_CustCode])
{
if (vdata.CUSTCODE.isEmpty() == false) wheres.Add($"CustCode='{vdata.CUSTCODE}'");
if (vdata.CUSTCODE.isEmpty() == false) wheres.Add($"CustCode='{vdata.CUSTCODE.PadLeft(10, '0')}'");
else Apply = false;
}
if (Apply && VAR.BOOL[eVarBool.Opt_SID_Where_PartNo])
@@ -372,7 +372,7 @@ namespace Project
}
//시드변환정보에서 정보 추출
if (VAR.BOOL[eVarBool.Opt_ApplySIDConv] && vdata.BarcodeDirty == true)
if (VAR.BOOL[eVarBool.Opt_ApplySIDConv] && vdata.BarcodeTouched == true)
{
Boolean Apply = true;
@@ -392,7 +392,7 @@ namespace Project
//wheres.Add($"MC='{COMM.SETTING.Data.McName}");
if (Apply && VAR.BOOL[eVarBool.Opt_Conv_Where_CustCode])
{
if (vdata.CUSTCODE.isEmpty() == false) wheres.Add($"CustCode='{vdata.CUSTCODE}'");
if (vdata.CUSTCODE.isEmpty() == false) wheres.Add($"CustCode='{vdata.CUSTCODE.PadLeft(10, '0')}'");
else Apply = false;
}
if (Apply && VAR.BOOL[eVarBool.Opt_Conv_Where_PartNo])
@@ -449,7 +449,7 @@ namespace Project
}
//기존 작업에서 데이터를 찾아서 쓴다
if (VAR.BOOL[eVarBool.Opt_ApplyJobInfo] && vdata.BarcodeDirty == true)
if (VAR.BOOL[eVarBool.Opt_ApplyJobInfo] && vdata.BarcodeTouched == true)
{
Boolean Apply = true;
@@ -466,7 +466,7 @@ namespace Project
List<string> wheres = new List<string>();
if (VAR.BOOL[eVarBool.Opt_Job_Where_CustCode])
{
if (vdata.CUSTCODE.isEmpty() == false) wheres.Add($"CUSTCODE='{vdata.CUSTCODE}'");
if (vdata.CUSTCODE.isEmpty() == false) wheres.Add($"CUSTCODE='{vdata.CUSTCODE.PadLeft(10, '0')}'");
else Apply = false;
}
if (VAR.BOOL[eVarBool.Opt_Job_Where_PartNo])
@@ -508,9 +508,9 @@ namespace Project
}
//해당 바코드작업이 완료되었는지 확인한다. 신규 바코드값이 업데이트되면 한번더 동작하도록 한다
if (itemC.VisionData.BarcodeDirty == true && NewBarcodeUpdated == false)
if (itemC.VisionData.BarcodeTouched == true && NewBarcodeUpdated == false)
{
itemC.VisionData.BarcodeDirty = false;
itemC.VisionData.BarcodeTouched = false;
}
//릴Id 신규부여
@@ -552,6 +552,15 @@ namespace Project
}
}
bool BatchValueOK = false;
if (mv.IgnoreBatch) BatchValueOK = true;
else BatchValueOK = itemC.VisionData.BATCH.isEmpty() == false;
bool partnoValueOK = false;
if (PUB.Result.vModel.IgnorePartNo) partnoValueOK = true;
else partnoValueOK = itemC.VisionData.PARTNO.isEmpty() == false;
//데이터확정 및 완료처리
if (itemC.VisionData.Confirm)
{
@@ -563,7 +572,7 @@ namespace Project
else
PUB.log.AddI($"Proceeding due to data confirmation completion (BYPASS)");
}
else if (itemC.VisionData.QRInputRaw.isEmpty() == false && itemC.VisionData.BATCH.isEmpty() == false)
else if (itemC.VisionData.QRInputRaw.isEmpty() == false && BatchValueOK)
{
//ATK STD QR데이터가 입력되었으니 더이상 읽지 않아도 진행하도록 하자
//데이터가 부족하다면 바로 채우기 작업을 해야한다
@@ -575,8 +584,8 @@ namespace Project
itemC.VisionData.VLOT.isEmpty() == false &&
itemC.VisionData.SID.Length == 9 &&
(OPT_BYPASS || itemC.VisionData.MFGDATE.isEmpty() == false) &&
itemC.VisionData.PARTNO.isEmpty() == false &&
itemC.VisionData.BATCH.isEmpty() == false &&
partnoValueOK &&
BatchValueOK &&
itemC.VisionData.RID.isEmpty() == false)
{
//모든값이 입력되어 있다면 조건 체크후 진행할 수 있도록 한다
@@ -628,10 +637,6 @@ namespace Project
return;
}
//DB정보에서 데이터를 쓸것이 있다면 기록한다
//이전작업내역에서 데이터를 쓸것이 있다면 기록한다
//Customer Code
if (OPT_BYPASS == false && item.VisionData.CUSTCODE.isEmpty() && CustomerCode.isEmpty() == false)
{
@@ -782,6 +787,8 @@ namespace Project
}
}
//프린트위치확인
if (item.VisionData.PrintPositionData.isEmpty() == true || item.VisionData.PrintPositionCheck == false)
{
@@ -824,6 +831,19 @@ namespace Project
}
}
//ignore partno value
if (PUB.Result.vModel.IgnorePartNo == true && item.VisionData.PARTNO_Trust == false)
{
PUB.log.Add("PartNo Trust by Ignore PartNo Setting(opmodel)");
item.VisionData.PARTNO_Trust = true;
}
//ignore batch value
if (PUB.Result.vModel.IgnoreBatch == true)
{
}
//데이터의 신뢰성을 확인하고 모두 입력되었다면 자동 확정을 진행한다
if (item.VisionData.MFGDATE_Trust &&
item.VisionData.PARTNO_Trust &&