[성현모] master모드 추가

This commit is contained in:
SHM
2025-11-21 14:09:00 +09:00
parent 704ec151e6
commit 4eb29fa4fb
7 changed files with 236 additions and 47 deletions

View File

@ -0,0 +1,11 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>netstandard2.0</TargetFramework>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Newtonsoft.Json" Version="13.0.4" />
</ItemGroup>
</Project>

View File

@ -0,0 +1,97 @@
using CIAMaster.Models;
using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.IO;
using System.Text;
namespace CIAMaster
{
public class CIAMasterService
{
public static MasterTable MasterTable { get; set; } = new MasterTable();
public static MasterReportTable MasterReportTable { get; set; } = new MasterReportTable();
public static string CIAMasterTableaPath { get; set; } = @"./";
public static string CIAMasterReportTableaPath { get; set; } = @"./";
public CIAMasterService()
{
}
public static bool LoadCIAMasterTable()
{
try
{
string path = $"{CIAMasterTableaPath}/CIAMasterTable.json";
if (File.Exists(path) == true)
{
var ciaMasterTableJson = File.ReadAllText(path);
MasterTable = JsonConvert.DeserializeObject<MasterTable>(ciaMasterTableJson);
}
return true;
}
catch (Exception e)
{
Console.WriteLine($"LoadCIAMasterTable Error::{e.Message}");
}
return false;
}
public static bool SaveCIAMasterTable()
{
try
{
string ciaMasterTableJson = JsonConvert.SerializeObject(MasterTable, Formatting.Indented);
File.WriteAllText($"{CIAMasterTableaPath}/CIAMasterTable.json", ciaMasterTableJson);
return true;
}
catch(Exception e)
{
Console.WriteLine($"SaveCIAMasterTable Error::{e.Message}");
}
return false;
}
public static bool LoadCIAMasterReportTable()
{
try
{
string path = $"{CIAMasterReportTableaPath}/CIAMasterReportTable.json";
if(File.Exists(path) == true)
{
var ciaMasterReportTableJson = File.ReadAllText(path);
MasterReportTable = JsonConvert.DeserializeObject<MasterReportTable>(ciaMasterReportTableJson);
}
return true;
}
catch (Exception e)
{
Console.WriteLine($"LoadCIAMasterReportTable Error::{e.Message}");
}
return false;
}
public static bool SaveCIAMasterReportTable()
{
try
{
string ciaMsterReportTableJson = JsonConvert.SerializeObject(MasterReportTable, Formatting.Indented);
File.WriteAllText($"{CIAMasterReportTableaPath}/CIAMasterReportTable.json", ciaMsterReportTableJson);
return true;
}
catch(Exception e)
{
Console.WriteLine($"SaveCIAMasterReportTable Error::{e.Message}");
}
return false;
}
}
}

View File

@ -0,0 +1,18 @@
using System;
using System.Collections.Generic;
using System.Text;
namespace CIAMaster.Models
{
public class MasterReportTable
{
public List<MasterReport> MasterReport { get; set; } = new List<MasterReport>();
}
public class MasterReport
{
public string ProductID { get; set; }
public DateTime Time { get; set; }
public string Result { get; set; }
}
}

View File

@ -0,0 +1,26 @@
using System;
using System.Collections.Generic;
using System.Text;
namespace CIAMaster.Models
{
public class MasterTable
{
public List<MasterTime> MasterTime { get; set; } = new List<MasterTime>();
public List<MasterProduct> MasterProduct { get; set; } = new List<MasterProduct>();
}
public class MasterTime
{
public DateTime Time { get; set; }
public bool Avtive { get; set; }
}
public class MasterProduct
{
public int Order { get; set; }
public string ProductID { get; set; }
public string Result { get; set; }
public bool Active { get; set; }
}
}

View File

@ -1,12 +1,14 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 17
VisualStudioVersion = 17.14.36301.6 d17.14
VisualStudioVersion = 17.14.36301.6
MinimumVisualStudioVersion = 10.0.40219.1
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CPMeta", "CPMeta\CPMeta.csproj", "{0BDB3E8C-2F57-4780-8B6F-3AE3F426A6C3}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PlayGround.NetFramework", "PlayGround.NetFramework\PlayGround.NetFramework.csproj", "{9EFF44BF-88AD-495B-B4FA-313A969666F0}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CIAMaster", "CIAMaster\CIAMaster.csproj", "{E839065B-EB9C-4ADE-93D1-EFE3B03A977F}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
@ -21,6 +23,10 @@ Global
{9EFF44BF-88AD-495B-B4FA-313A969666F0}.Debug|Any CPU.Build.0 = Debug|Any CPU
{9EFF44BF-88AD-495B-B4FA-313A969666F0}.Release|Any CPU.ActiveCfg = Release|Any CPU
{9EFF44BF-88AD-495B-B4FA-313A969666F0}.Release|Any CPU.Build.0 = Release|Any CPU
{E839065B-EB9C-4ADE-93D1-EFE3B03A977F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{E839065B-EB9C-4ADE-93D1-EFE3B03A977F}.Debug|Any CPU.Build.0 = Debug|Any CPU
{E839065B-EB9C-4ADE-93D1-EFE3B03A977F}.Release|Any CPU.ActiveCfg = Release|Any CPU
{E839065B-EB9C-4ADE-93D1-EFE3B03A977F}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE

View File

@ -54,6 +54,10 @@
<None Include="packages.config" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\CIAMaster\CIAMaster.csproj">
<Project>{e839065b-eb9c-4ade-93d1-efe3b03a977f}</Project>
<Name>CIAMaster</Name>
</ProjectReference>
<ProjectReference Include="..\CPMeta\CPMeta.csproj">
<Project>{0bdb3e8c-2f57-4780-8b6f-3ae3f426a6c3}</Project>
<Name>CPMeta</Name>

View File

@ -1,4 +1,5 @@
using CPMeta;
using CIAMaster;
using CPMeta;
using CPMeta.Models;
using Newtonsoft.Json;
using System;
@ -14,59 +15,85 @@ namespace PlayGround.NetFramework
{
static void Main(string[] args)
{
//global set
string host = "192.168.0.126";
CIAMasterService.LoadCIAMasterTable();
CIAMasterService.LoadCIAMasterReportTable();
//CpMetaSet
//CPMeta.CPMeta.Port = 9000;
//CIAMasterService.MasterTable.MasterTime.Add(new CIAMaster.Models.MasterTime {
// Time = DateTime.Now,
// Avtive = true,
//});
//DateTime start = DateTime.Now;
//CIAMasterService.MasterTable.MasterTime.Add(new CIAMaster.Models.MasterTime
//{
// Time = DateTime.Now,
// Avtive = false,
//});
//CIAMasterService.MasterTable.MasterProduct.Add(new CIAMaster.Models.MasterProduct
//{
// Order = 1,
// ProductID = "1",
// Result = "OK",
// Active = true,
//});
//CIAMasterService.MasterTable.MasterProduct.Add(new CIAMaster.Models.MasterProduct
//{
// Order = 2,
// ProductID = "2",
// Result = "OK",
// Active = false,
//});
//CIAMasterService.SaveCIAMasterTable();
//CIAMasterService.SaveCIAMasterReportTable();
//var t = CIAMasterService.MasterTable;
//var t2 = CIAMasterService.MasterReportTable;
//int a = 0;
////global set
//string host = "192.168.0.126";
//string ProductId = Guid.NewGuid().ToString();
//string Mac1 = Guid.NewGuid().ToString();
//string Mac2 = Guid.NewGuid().ToString();
////Set
//Task.Run(async () =>
//{
// var rese2 = await CPMeta.CPMeta.GetWbmsMetaByMacAddress("192.168.0.126", "4594095f-01d0-4192-bc4a-0913ae496e25");
// //var rese2 = await CPMeta.CPMeta.GetWbmsMetaByProductId(host, "cf35eeee-39ff-43e8-a7a9-0fd0baf6df2b");
// Console.WriteLine(JsonConvert.SerializeObject(rese2, Formatting.Indented));
// int c = 0;
// Request_SetWbmsMeta req = new Request_SetWbmsMeta();
// req.ProductID = ProductId;
// req.MacAddress1 = Mac1;
// req.MacAddress2 = Mac2;
// var rand = new Random().Next();
// //if (rand % 2 == 0)
// // req.Type = "CMU";
// //else
// // req.Type = "BMU";
// //req.ProductNo = "X";
// var res = await CPMeta.CPMeta.SetWbmsMetaAsync(host, req);
// req.MacAddress1 = "1";
// req.MacAddress2 = "2";
// res = await CPMeta.CPMeta.SetWbmsMetaAsync(host, req);
//}).Wait();
//Console.WriteLine((DateTime.Now - start).TotalSeconds + " sec");
////Get
//Task.Run(async () =>
//{
// var rese2 = await CPMeta.CPMeta.GetWbmsMetaByProductId(host, ProductId);
// var rese3 = await CPMeta.CPMeta.GetWbmsMetaByMacAddress(host, Mac1);
// var rese4 = await CPMeta.CPMeta.GetWbmsMetaByMacAddress(host, Mac2);
//}).Wait();
for (int i = 0; i < 1000000; i++)
{
string ProductId = Guid.NewGuid().ToString();
string Mac1 = Guid.NewGuid().ToString();
string Mac2 = Guid.NewGuid().ToString();
//Set
Task.Run(async () =>
{
Request_SetWbmsMeta req = new Request_SetWbmsMeta();
req.ProductID = ProductId;
req.MacAddress1 = Mac1;
req.MacAddress2 = Mac2;
if (i % 2 == 0)
req.Type = "CMU";
else
req.Type = "BMU";
req.ProductNo = "X";
var res = await CPMeta.CPMeta.SetWbmsMetaAsync(host, req);
}).Wait();
//Get
//Task.Run(async () =>
//{
// var rese2 = await CPMeta.CPMeta.GetWbmsMetaByProductId(host, ProductId);
// var rese3 = await CPMeta.CPMeta.GetWbmsMetaByMacAddress(host, Mac1);
// var rese4 = await CPMeta.CPMeta.GetWbmsMetaByMacAddress("192.168.0.126", Mac2);
//}).Wait();
Thread.Sleep(100);
}
int a = 0;
//int a = 0;
}
}
}