164 lines
5.3 KiB
C#
164 lines
5.3 KiB
C#
/*
|
|
* Copyright (c) 2025 LG Electronics Inc.
|
|
* SPDX-License-Identifier: LicenseRef-LGE-Proprietary
|
|
*/
|
|
using System;
|
|
using System.IO;
|
|
using System.Collections.Generic;
|
|
using Aurora.Api;
|
|
|
|
namespace VisionCommon {
|
|
public class CsvPathManager {
|
|
private static Logger _Logger = new Logger("CsvPathManager");
|
|
private static readonly object _Lock = new object();
|
|
|
|
public static CsvPathManager _Instance;
|
|
public static CsvPathManager Instance {
|
|
get {
|
|
lock (_Lock) {
|
|
if (_Instance == null) {
|
|
_Instance = new CsvPathManager();
|
|
}
|
|
return _Instance;
|
|
}
|
|
}
|
|
}
|
|
|
|
private CsvPathManager() {
|
|
}
|
|
|
|
public static string GetRootDirPath() {
|
|
try {
|
|
var rootDirPath = Path.Combine(VisionSettingManager.VisionSetting.RootDirPath, "Csv");
|
|
|
|
if (!Directory.Exists(rootDirPath)) {
|
|
Directory.CreateDirectory(rootDirPath);
|
|
}
|
|
|
|
return rootDirPath;
|
|
}
|
|
catch (Exception e) {
|
|
_Logger.FuncE(e.Message);
|
|
}
|
|
return string.Empty;
|
|
}
|
|
|
|
public List<string> GetUnitDirNames(SubSysInfo subSysInfo) {
|
|
try {
|
|
var subDirNames = new List<string>();
|
|
subDirNames.Add(VisionRecipeManager.GetUnitName(subSysInfo.UnitId));
|
|
subDirNames.Add(DateTime.Now.ToString("yyMM"));
|
|
return subDirNames;
|
|
}
|
|
catch (Exception e) {
|
|
_Logger.FuncE(e.Message);
|
|
}
|
|
return null;
|
|
}
|
|
|
|
public List<string> GetSubDirNames(SubSysInfo subSysInfo) {
|
|
try {
|
|
var subDirNames = new List<string>();
|
|
subDirNames.Add(VisionRecipeManager.GetUnitName(subSysInfo.UnitId));
|
|
subDirNames.Add(subSysInfo.SubSysName);
|
|
subDirNames.Add(DateTime.Now.ToString("yyMM"));
|
|
return subDirNames;
|
|
}
|
|
catch (Exception e) {
|
|
_Logger.FuncE(e.Message);
|
|
}
|
|
return null;
|
|
}
|
|
|
|
public List<string> GetSubDirNames(SubSysInfo subSysInfo, DateTime dateTime) {
|
|
try {
|
|
var subDirNames = new List<string>();
|
|
subDirNames.Add(VisionRecipeManager.GetUnitName(subSysInfo.UnitId));
|
|
subDirNames.Add(subSysInfo.SubSysName);
|
|
subDirNames.Add(dateTime.ToString("yyMM"));
|
|
return subDirNames;
|
|
}
|
|
catch (Exception e) {
|
|
_Logger.FuncE(e.Message);
|
|
}
|
|
return null;
|
|
}
|
|
|
|
public List<string> GetAlignDirNames(AlignInfo alignInfo) {
|
|
try {
|
|
var subDirNames = new List<string>();
|
|
subDirNames.Add(VisionRecipeManager.GetUnitName(alignInfo.UnitId));
|
|
subDirNames.Add(alignInfo.SubSysName);
|
|
subDirNames.Add(DateTime.Now.ToString("yyMM"));
|
|
return subDirNames;
|
|
}
|
|
catch (Exception e) {
|
|
_Logger.FuncE(e.Message);
|
|
}
|
|
return null;
|
|
}
|
|
|
|
public List<string> GetAlignDirNames(AlignInfo alignInfo, DateTime dateTime) {
|
|
try {
|
|
var subDirNames = new List<string>();
|
|
subDirNames.Add(VisionRecipeManager.GetUnitName(alignInfo.UnitId));
|
|
subDirNames.Add(alignInfo.SubSysName);
|
|
subDirNames.Add(dateTime.ToString("yyMM"));
|
|
return subDirNames;
|
|
}
|
|
catch (Exception e) {
|
|
_Logger.FuncE(e.Message);
|
|
}
|
|
return null;
|
|
}
|
|
|
|
public string GetDirPath(List<string> subDirNames) {
|
|
try {
|
|
string dirPath = GetRootDirPath();
|
|
foreach (string subDirName in subDirNames) {
|
|
dirPath = Path.Combine(dirPath, subDirName);
|
|
}
|
|
return dirPath;
|
|
}
|
|
catch (Exception e) {
|
|
_Logger.FuncE(e.Message);
|
|
}
|
|
return string.Empty;
|
|
}
|
|
|
|
public string GetFileNameWithDateTime(string fileName) {
|
|
try {
|
|
string date = DateTime.Now.ToString("yyMMdd");
|
|
string time = DateTime.Now.ToString("HHmmss");
|
|
return date + "_" + time + "_" + fileName;
|
|
}
|
|
catch (Exception e) {
|
|
_Logger.FuncE(e.Message);
|
|
}
|
|
return string.Empty;
|
|
}
|
|
|
|
public string GetFileNameWithDate(string fileName) {
|
|
try {
|
|
string date = DateTime.Now.ToString("yyMMdd");
|
|
return date + "_" + fileName;
|
|
}
|
|
catch (Exception e) {
|
|
_Logger.FuncE(e.Message);
|
|
}
|
|
return string.Empty;
|
|
}
|
|
|
|
public string GetFileNameWithDate(string fileName, DateTime dateTime) {
|
|
try {
|
|
string date = dateTime.ToString("yyMMdd");
|
|
return date + "_" + fileName;
|
|
}
|
|
catch (Exception e) {
|
|
_Logger.FuncE(e.Message);
|
|
}
|
|
return string.Empty;
|
|
}
|
|
}
|
|
}
|