This commit is contained in:
ChiKyun Kim
2025-09-09 08:25:50 +09:00
parent 9a7d1d27c7
commit adb66451ca
79 changed files with 4195 additions and 2213 deletions

View File

@@ -55,9 +55,6 @@ namespace Project
public static int uploadcount = 0;
public static DateTime BuzzerTime;
public static DateTime MGZRunTime;
public static CounterSetting counter;
//public static Flag flag;
public static MessageWindow popup;
@@ -88,20 +85,16 @@ namespace Project
public static Manager.ModelManager mdm;
public static System_MotParameter system_mot;
public static SystemSetting system;
public static UserSetting uSetting;
//public static CommonSetting setting;
public static arUtil.Log logVision;
public static arUtil.Log log;
public static arUtil.Log logILStop;
public static arUtil.Log logDbg;
public static arUtil.Log logFlag;
public static arUtil.Log logILock;
public static arUtil.Log logWS;
public static arUtil.Log logKeyence;
// public static arUtil.Log logCV;
public static arUtil.Log logbarcode;
public static Log logVision;
public static Log log;
public static Log logILStop;
public static Log logDbg;
public static Log logFlag;
public static Log logILock;
public static Log logWS;
public static Log logKeyence;
public static Log logbarcode;
public static DataSet1.UsersDataTable userList;
public static DataSet1.MailRecipientDataTable mailList;
@@ -184,10 +177,10 @@ namespace Project
PUB.log.AddAT("모션모델선택완료 : " + PUB.Result.mModel.Title);
//사용한 모델이름을 저장함
if (PUB.uSetting.LastModelM != PUB.Result.mModel.Title)
if (SETTING.User.LastModelM != PUB.Result.mModel.Title)
{
PUB.uSetting.LastModelM = PUB.Result.mModel.Title;
PUB.uSetting.Save();
SETTING.User.LastModelM = PUB.Result.mModel.Title;
SETTING.User.Save();
}
return true;
}
@@ -251,10 +244,10 @@ namespace Project
PUB.log.AddAT("작업모델선택완료 : " + mv.Title);
//선택한 모델을 저장함
if (PUB.uSetting.LastModelV != mv.Title)
if (SETTING.User.LastModelV != mv.Title)
{
PUB.uSetting.LastModelV = mv.Title;
PUB.uSetting.Save();
SETTING.User.LastModelV = mv.Title;
SETTING.User.Save();
}
PUB.Result.BCDPattern = PUB.GetPatterns(modelName, false);
@@ -423,7 +416,7 @@ namespace Project
{
//해당 차수로 저장된 파일이 잇는지 체크한다.
var savepath = System.IO.Path.Combine(AR.SETTING.Data.Path_Data, "JobData", seqdate.Substring(0, 6), seqdate + "-" + seqno + ".txt");
var savepath = System.IO.Path.Combine(AR.SETTING.Data.GetDataPath(), "JobData", seqdate.Substring(0, 6), seqdate + "-" + seqno + ".txt");
var fi = new System.IO.FileInfo(savepath);
if (fi.Directory.Exists == false) fi.Directory.Create(); //폴더가 없다면 생성
@@ -472,6 +465,91 @@ namespace Project
}
}
//public static void MakeSelectState(ref List<string> wheres, List<(bool option, bool condition, string colname)> items)
//{
// foreach (var item in items)
// {
// var opt = item.option;
// var condition = item.condition;
// var column = item.colname;
// if (opt)
// {
// if (condition) wheres.Add($"{column}");
// }
// }
//}
//public static bool MakeWhereState(ref List<string> wheres, List<(bool option,bool condition, string colname, string value)> items)
//{
// foreach (var item in items)
// {
// var opt = item.option;
// var condition = item.condition;
// var value = item.value;
// var column = item.colname;
// if(opt)
// {
// if (condition) wheres.Add($"{column}='{value}'");
// return false;
// }
// }
// return true;
//}
public static bool GetSIDInfo_And_SetData(List<string> fields,
ref Class.VisionData vdata,
string SQL, string SQLC)
{
bool NewBarcodeUpdated = false;
PUB.log.Add($"DATABAES : SID INFORMATIION QUERY");
PUB.log.Add($"Data={SQL}");
if (SQLC.isEmpty() == false) PUB.log.Add($"Count={SQLC}");
var CS = Properties.Settings.Default.CS;
var CN = new System.Data.SqlClient.SqlConnection(CS);
var CMD = new System.Data.SqlClient.SqlCommand(SQLC, CN);
SqlDataReader DAR = null;
if (CN.State == System.Data.ConnectionState.Closed) CN.Open();
var cnt = 1;
//수량체크쿼리가 있다면 그것을 사용한다
if (SQLC.isEmpty() == false)
cnt = CMD.ExecuteScalar().ToString().toInt();
//데이터가 1건만 존재할때 사용한다
if (cnt == 1)
{
CMD.CommandText = SQL;
DAR = CMD.ExecuteReader();
while (DAR.Read())
{
//loop select columns
for (int i = 0; i < fields.Count; i++)
{
var colName = fields[i];
var v = DAR[colName];
if (v != null)
{
var vStr = v.ToString().RemoveNoneASCII().Trim();
if (vStr.isEmpty()) continue;
if (PUB.UpdateSIDInfoData(ref vdata, colName, vStr)) NewBarcodeUpdated = true;
}
}
}
}
if (DAR != null) DAR.Close();
if (CMD != null) CMD.Dispose();
if (CN != null)
{
if (CN.State == System.Data.ConnectionState.Open) CN.Close();
CN.Dispose();
}
return NewBarcodeUpdated;
}
/// <summary>
/// 지정된 VisionData에 해당 값을 기록 합니다
/// ColName 이 하드코딩되어있으니 필드명이 변경되면 값을 변경해야 함
@@ -510,7 +588,7 @@ namespace Project
vdata.VNAME_Trust = true;
return true;
}
else if (colName == "venderlot" || colName == "vendorlot" || colName == "vendor_lot")
else if (colName == "venderlot" || colName == "vendorlot" || colName == "vendor_lot")
{
PUB.log.Add($"UpdateSIDInfoData [{colNameOrg}] {vdata.VLOT}=>{vStr}");
vdata.VLOT = vStr;
@@ -900,11 +978,28 @@ namespace Project
foreach (var item in groupsbuf)
{
var itembuf = item.Split('=');
Groups.Add(new Class.RegexGroupMatch
if (itembuf.Length > 1)
{
GroupNo = int.Parse(itembuf[1].Trim()),
TargetPos = itembuf[0].Trim(),
});
int grpno = 0;
string targetpos = "";
if (int.TryParse(itembuf[1].Trim(), out grpno) == false)
{
if (int.TryParse(itembuf[0].Trim(), out grpno) == false)
{
PUB.log.AddE($"RegEX Grp Data Error = {item}");
}
else targetpos = itembuf[1].Trim();
}
else targetpos = itembuf[0].Trim();
Groups.Add(new Class.RegexGroupMatch
{
GroupNo = grpno,//int.Parse(itembuf[1].Trim()),
TargetPos = targetpos,//itembuf[0].Trim(),
});
}
else PUB.log.AddE($"RegEX Grp Data Error = {item}");
}
//add pattern data
@@ -1032,38 +1127,23 @@ namespace Project
public static void initCore()
{
//system parameter
system = new SystemSetting();
system.Load();
system_mot = new System_MotParameter(UTIL.MakePath("System_mot.xml"));
system_mot.Load();
//setting
SETTING.Load();
VAR.Init(LenI32: 128, LenBool: 192);
//flag = new VarDataBool(128);
//user setting
uSetting = new UserSetting();
uSetting.Load();
//counter setting
counter = new CounterSetting();
counter.Load();
//log
log = new arUtil.Log();
logDbg = new arUtil.Log(); logDbg.FileNameFormat = "{yyyyMMdd}_DEBUG";
logFlag = new arUtil.Log(); logFlag.FileNameFormat = "{yyyyMMdd}_FG";
logILock = new arUtil.Log(); logILock.FileNameFormat = "{yyyyMMdd}_IL";
logbarcode = new arUtil.Log(); logbarcode.FileNameFormat = "{yyyyMMdd}_BC";
logWS = new arUtil.Log(); logWS.FileNameFormat = "{yyyyMMdd}_WS";
logKeyence = new arUtil.Log(); logKeyence.FileNameFormat = "{yyyyMMdd}_KEYENCE";
logILStop = new arUtil.Log(); logILStop.FileNameFormat = "{yyyyMMdd}_ILOCK";
logVision = new arUtil.Log(); logVision.FileNameFormat = "{yyyyMMdd}_VISION";
log = new Log();
logDbg = new Log(); logDbg.FileNameFormat = "{yyyyMMdd}_DEBUG";
logFlag = new Log(); logFlag.FileNameFormat = "{yyyyMMdd}_FG";
logILock = new Log(); logILock.FileNameFormat = "{yyyyMMdd}_IL";
logbarcode = new Log(); logbarcode.FileNameFormat = "{yyyyMMdd}_BC";
logWS = new Log(); logWS.FileNameFormat = "{yyyyMMdd}_WS";
logKeyence = new Log(); logKeyence.FileNameFormat = "{yyyyMMdd}_KEYENCE";
logILStop = new Log(); logILStop.FileNameFormat = "{yyyyMMdd}_ILOCK";
logVision = new Log(); logVision.FileNameFormat = "{yyyyMMdd}_VISION";
//popupmessage
popup = new MessageWindow();
@@ -1127,7 +1207,7 @@ namespace Project
dbmSidHistory = new Manager.DatabaseManagerSIDHistory();
dbmCount = new Manager.DatabaseManagerCount();
dbmCount.dataPath = AR.SETTING.Data.Path_Data; //200113
dbmCount.dataPath = AR.SETTING.Data.GetDataPath(); //200113
dio = new arDev.AjinEXTEK.DIO(arDev.AjinEXTEK.ELibraryType.AXT);
mot = new arDev.AjinEXTEK.MOT(arDev.AjinEXTEK.ELibraryType.AXT);
@@ -1554,7 +1634,7 @@ namespace Project
freespace = 100.0;
savePath1 = System.IO.Path.Combine(AR.SETTING.Data.Path_Data, "Images");
savePath1 = System.IO.Path.Combine(AR.SETTING.Data.GetDataPath(), "Images");
if (savePath1 != "" && System.IO.Directory.Exists(savePath1))
{
path1Exist = true;
@@ -1612,7 +1692,7 @@ namespace Project
public static void CheckFreeSpace()
{
//용량확인
var DriveName = AR.SETTING.Data.Path_Data.Substring(0, 1);
var DriveName = AR.SETTING.Data.GetDataPath().Substring(0, 1);
PUB.FreeSpace = UTIL.GetFreeSpace(DriveName);
}