添加上传坐标文件的功能
This commit is contained in:
parent
44456861df
commit
3fdbe7c5c5
|
@ -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();
|
||||
|
||||
/// <summary>
|
||||
/// 坐标信息导出
|
||||
/// </summary>
|
||||
public static void CoordinateExporter()
|
||||
public static async void CoordinateExporter()
|
||||
{
|
||||
await MarkPointExporter();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 上传mark点坐标文件
|
||||
/// </summary>
|
||||
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<string, double> coordinates = new Dictionary<string, double>();
|
||||
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);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 上传wafer坐标文件
|
||||
/// </summary>
|
||||
private async void WaferCoordinateExporter()
|
||||
{
|
||||
var data = new CoordinateData()
|
||||
{
|
||||
FileType = "WAFER",
|
||||
BatchNumber = "20230301",
|
||||
BizNumber = "20230301"
|
||||
};
|
||||
await MessageQueueHelper.Publish(Topics.CoordinateUpload, data);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 上传基板坐标文件
|
||||
/// </summary>
|
||||
private async void SubstrateCoordinateExporter()
|
||||
{
|
||||
var data = new CoordinateData()
|
||||
{
|
||||
FileType = "PCB",
|
||||
BatchNumber = "20230301",
|
||||
BizNumber = "20230301"
|
||||
};
|
||||
await MessageQueueHelper.Publish(Topics.CoordinateUpload, data);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 上传动打路径坐标文件
|
||||
/// </summary>
|
||||
private async void PathCoordinateExporter()
|
||||
{
|
||||
var data = new CoordinateData()
|
||||
{
|
||||
FileType = "ROUTE",
|
||||
BatchNumber = "20230301",
|
||||
BizNumber = "20230301"
|
||||
};
|
||||
await MessageQueueHelper.Publish(Topics.CoordinateUpload, data);
|
||||
}
|
||||
}
|
|
@ -24,6 +24,15 @@ public class FormulaService
|
|||
return BeanUtil.CopyProperties<FormulaDTO>(formulas);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 获取当前已经启用的配方
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public static Formula? GetSelectedFormula()
|
||||
{
|
||||
return Db.Query<Formula>("select * from formulas where selected = 1").FirstOrDefault();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 根据配方id来获取配方信息
|
||||
/// </summary>
|
||||
|
@ -51,7 +60,7 @@ public class FormulaService
|
|||
.FirstOrDefault();
|
||||
}
|
||||
|
||||
private static WorkBenchSetting? GetWorkBenchSettingByFormulaId(string formulaId)
|
||||
public static WorkBenchSetting? GetWorkBenchSettingByFormulaId(string formulaId)
|
||||
{
|
||||
return Db.Query<WorkBenchSetting>("select * from work_bench_settings where formulaId = ?", formulaId)
|
||||
.FirstOrDefault();
|
||||
|
|
|
@ -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; }
|
||||
}
|
|
@ -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("按任意键退出");
|
||||
|
|
Loading…
Reference in New Issue