diff --git a/MasstransferExporter/DataExporter/CoordinateService.cs b/MasstransferExporter/DataExporter/CoordinateService.cs
index 5dc1dea..5e2a747 100644
--- a/MasstransferExporter/DataExporter/CoordinateService.cs
+++ b/MasstransferExporter/DataExporter/CoordinateService.cs
@@ -1,4 +1,9 @@
-using MasstransferInfrastructure.Database.Sqlite;
+using MasstransferCommon.Model.Constant;
+using MasstransferCommon.Utils;
+using MasstransferCommunicate.Minio;
+using MasstransferCommunicate.Mqtt.Client;
+using MasstransferExporter.DataExporter.Model;
+using MasstransferInfrastructure.Database.Sqlite;
namespace MasstransferExporter.DataExporter;
@@ -9,12 +14,96 @@ public class CoordinateService
{
private static readonly SqliteHelper Db = SqliteHelper.GetInstance();
+ private static MinioHelper _minio = MinioHelper.GetInstance();
+
///
/// 坐标信息导出
///
- public static void CoordinateExporter()
+ public static async void CoordinateExporter()
{
-
-
+ await MarkPointExporter();
+ }
+
+ ///
+ /// 上传mark点坐标文件
+ ///
+ private static async Task MarkPointExporter()
+ {
+ var formula = FormulaService.GetSelectedFormula();
+
+ if (formula == null) return;
+
+ var benchSetting = FormulaService.GetWorkBenchSettingByFormulaId(formula.Id);
+
+ if (benchSetting == null) return;
+
+ // 将mark点转为json,写到临时文件
+ Dictionary coordinates = new Dictionary();
+ coordinates.Add("SolderJointX1", benchSetting.SolderJointX1);
+ coordinates.Add("SolderJointY1", benchSetting.SolderJointY1);
+ coordinates.Add("SolderJointX2", benchSetting.SolderJointX2);
+ coordinates.Add("SolderJointY2", benchSetting.SolderJointY2);
+ coordinates.Add("SolderJointX3", benchSetting.SolderJointX3);
+ coordinates.Add("SolderJointY3", benchSetting.SolderJointY3);
+
+ var json = JsonUtil.ToJson(coordinates);
+
+ var path = Path.Combine(System.Environment.CurrentDirectory, "mark.json");
+
+ await File.WriteAllTextAsync(path, json);
+
+ var fileName = $"{Constants.SN}/20230301/20230301/mark/mark.json";
+
+ await _minio.UploadFileAsync("coordinate", fileName, path);
+
+ var data = new CoordinateData()
+ {
+ FileType = "MARK",
+ BatchNumber = "20230301",
+ BizNumber = "20230301"
+ };
+ await MessageQueueHelper.Publish(Topics.CoordinateUpload, data);
+ }
+
+ ///
+ /// 上传wafer坐标文件
+ ///
+ private async void WaferCoordinateExporter()
+ {
+ var data = new CoordinateData()
+ {
+ FileType = "WAFER",
+ BatchNumber = "20230301",
+ BizNumber = "20230301"
+ };
+ await MessageQueueHelper.Publish(Topics.CoordinateUpload, data);
+ }
+
+ ///
+ /// 上传基板坐标文件
+ ///
+ private async void SubstrateCoordinateExporter()
+ {
+ var data = new CoordinateData()
+ {
+ FileType = "PCB",
+ BatchNumber = "20230301",
+ BizNumber = "20230301"
+ };
+ await MessageQueueHelper.Publish(Topics.CoordinateUpload, data);
+ }
+
+ ///
+ /// 上传动打路径坐标文件
+ ///
+ private async void PathCoordinateExporter()
+ {
+ var data = new CoordinateData()
+ {
+ FileType = "ROUTE",
+ BatchNumber = "20230301",
+ BizNumber = "20230301"
+ };
+ await MessageQueueHelper.Publish(Topics.CoordinateUpload, data);
}
}
\ No newline at end of file
diff --git a/MasstransferExporter/DataExporter/FormulaService.cs b/MasstransferExporter/DataExporter/FormulaService.cs
index 922c501..b9f6956 100644
--- a/MasstransferExporter/DataExporter/FormulaService.cs
+++ b/MasstransferExporter/DataExporter/FormulaService.cs
@@ -24,6 +24,15 @@ public class FormulaService
return BeanUtil.CopyProperties(formulas);
}
+ ///
+ /// 获取当前已经启用的配方
+ ///
+ ///
+ public static Formula? GetSelectedFormula()
+ {
+ return Db.Query("select * from formulas where selected = 1").FirstOrDefault();
+ }
+
///
/// 根据配方id来获取配方信息
///
@@ -51,7 +60,7 @@ public class FormulaService
.FirstOrDefault();
}
- private static WorkBenchSetting? GetWorkBenchSettingByFormulaId(string formulaId)
+ public static WorkBenchSetting? GetWorkBenchSettingByFormulaId(string formulaId)
{
return Db.Query("select * from work_bench_settings where formulaId = ?", formulaId)
.FirstOrDefault();
diff --git a/MasstransferExporter/DataExporter/Model/CoordinateData.cs b/MasstransferExporter/DataExporter/Model/CoordinateData.cs
new file mode 100644
index 0000000..ae8c95f
--- /dev/null
+++ b/MasstransferExporter/DataExporter/Model/CoordinateData.cs
@@ -0,0 +1,10 @@
+namespace MasstransferExporter.DataExporter.Model;
+
+public class CoordinateData
+{
+ public string FileType { get; set; }
+
+ public string BizNumber { get; set; }
+
+ public string BatchNumber { get; set; }
+}
\ No newline at end of file
diff --git a/MasstransferExporter/Program.cs b/MasstransferExporter/Program.cs
index 7dba110..722aed3 100644
--- a/MasstransferExporter/Program.cs
+++ b/MasstransferExporter/Program.cs
@@ -1,5 +1,5 @@
using MasstransferCommunicate.Mqtt.Client;
-using MasstransferExporter.ImageExporter;
+using MasstransferExporter.DataExporter;
using MasstransferInfrastructure.Mqtt.Model;
class Program
@@ -15,7 +15,7 @@ class Program
await MessageQueueHelper.InitConnect(options);
- ImageService.ImageExporter();
+ CoordinateService.CoordinateExporter();
Console.WriteLine("按任意键退出");