2026-06-05 13:44:39 +09:00

132 lines
4.1 KiB
C#

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 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;
}
}
}