完善上传生产数据问题
This commit is contained in:
parent
7edb347ec7
commit
5dfbdfee5e
|
@ -10,7 +10,7 @@ public class DatetimeConverter : JsonConverter<DateTime>
|
||||||
public override void WriteJson(JsonWriter writer, DateTime value, JsonSerializer serializer)
|
public override void WriteJson(JsonWriter writer, DateTime value, JsonSerializer serializer)
|
||||||
{
|
{
|
||||||
long timestamp = (long)(value.ToUniversalTime() - UnixEpoch).TotalMilliseconds;
|
long timestamp = (long)(value.ToUniversalTime() - UnixEpoch).TotalMilliseconds;
|
||||||
writer.WriteValue(timestamp);
|
writer.WriteValue(timestamp < 0 ? 0 : timestamp);
|
||||||
}
|
}
|
||||||
|
|
||||||
public override DateTime ReadJson(JsonReader reader, Type objectType, DateTime existingValue, bool hasExistingValue,
|
public override DateTime ReadJson(JsonReader reader, Type objectType, DateTime existingValue, bool hasExistingValue,
|
||||||
|
|
|
@ -1,4 +1,6 @@
|
||||||
namespace MasstransferExporter.DataExporter.Model;
|
using Newtonsoft.Json;
|
||||||
|
|
||||||
|
namespace MasstransferExporter.DataExporter.Model;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 动打记录
|
/// 动打记录
|
||||||
|
@ -6,12 +8,19 @@
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public class ProductionRecord
|
public class ProductionRecord
|
||||||
{
|
{
|
||||||
public string BatchNumber { get; set; }
|
[JsonProperty("batchNumber")] public string BatchNumber { get; set; }
|
||||||
public string PcbNumber { get; set; }
|
|
||||||
public string ChipType { get; set; }
|
[JsonProperty("pcbNumber")] public string PcbNumber { get; set; }
|
||||||
public string HitQuantity { get; set; }
|
|
||||||
public string PcbInputTimeCost { get; set; }
|
[JsonProperty("chipType")] public string ChipType { get; set; }
|
||||||
public string PcbScanTimeCost { get; set; }
|
[JsonProperty("hitQuantity")] public string HitQuantity { get; set; }
|
||||||
public string PcbOutputTimeCost { get; set; }
|
|
||||||
public List<ProductionWaferRecord> Rounds { get; set; }
|
[JsonProperty("pcbInputTime")] public DateTime PcbInputTime { get; set; }
|
||||||
|
|
||||||
|
[JsonProperty("pcbOutputTime")] public DateTime PcbOutputTime { get; set; }
|
||||||
|
|
||||||
|
[JsonProperty("pcbInputTimeCost")] public int PcbInputTimeCost { get; set; }
|
||||||
|
[JsonProperty("pcbScanTimeCost")] public int PcbScanTimeCost { get; set; }
|
||||||
|
[JsonProperty("pcbOutputTimeCost")] public int PcbOutputTimeCost { get; set; }
|
||||||
|
[JsonProperty("rounds")] public List<ProductionWaferRecord> Rounds { get; set; }
|
||||||
}
|
}
|
|
@ -1,16 +1,25 @@
|
||||||
namespace MasstransferExporter.DataExporter.Model;
|
using Newtonsoft.Json;
|
||||||
|
|
||||||
|
namespace MasstransferExporter.DataExporter.Model;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 每次动打期间用到的wafer记录
|
/// 每次动打期间用到的wafer记录
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public class ProductionWaferRecord
|
public class ProductionWaferRecord
|
||||||
{
|
{
|
||||||
public string WaferNumber { get; set; }
|
[JsonProperty("waferNumber")] public string WaferNumber { get; set; }
|
||||||
public string ChipQuantity { get; set; }
|
|
||||||
public string WaferInputTimeCost { get; set; }
|
[JsonProperty("chipQuantity")] public int ChipQuantity { get; set; }
|
||||||
public string ChipScanTimeCost { get; set; }
|
|
||||||
public string ProdutionTimeCost { get; set; }
|
[JsonProperty("waferInputTimeCost")] public int WaferInputTimeCost { get; set; }
|
||||||
public string PcbCheckTimeCost { get; set; }
|
|
||||||
public string WaferOutputTimeCost { get; set; }
|
[JsonProperty("chipScanTimeCost")] public int ChipScanTimeCost { get; set; }
|
||||||
public string HitedQuantity { get; set; }
|
|
||||||
|
[JsonProperty("productionTimeCost")] public int ProductionTimeCost { get; set; }
|
||||||
|
|
||||||
|
[JsonProperty("pcbCheckTimeCost")] public int PcbCheckTimeCost { get; set; }
|
||||||
|
|
||||||
|
[JsonProperty("waferOutputTimeCost")] public int WaferOutputTimeCost { get; set; }
|
||||||
|
|
||||||
|
[JsonProperty("hitedQuantity")] public int HitedQuantity { get; set; }
|
||||||
}
|
}
|
|
@ -14,9 +14,10 @@ public class StrikeRecordService
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 上报动打记录
|
/// 上报动打记录
|
||||||
/// </summary>
|
/// </summary>
|
||||||
private static void ReportStrikeRecord()
|
public static async Task ReportStrikeRecord()
|
||||||
{
|
{
|
||||||
// 根据这个基板编号,从记录中找到所有的跟基板有关的生产记录
|
// 根据这个基板编号,从记录中找到所有的跟基板有关的生产记录
|
||||||
|
await ReportStrikeRecord("1108016217473286144");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -51,9 +52,11 @@ public class StrikeRecordService
|
||||||
Db.Query<SubstrateConsumeTime>(querySubstrateConsumeTime, substrateId).FirstOrDefault();
|
Db.Query<SubstrateConsumeTime>(querySubstrateConsumeTime, substrateId).FirstOrDefault();
|
||||||
if (substrateConsumeTime != null)
|
if (substrateConsumeTime != null)
|
||||||
{
|
{
|
||||||
record.PcbInputTimeCost = substrateConsumeTime.LoadingConsumedTime.ToString();
|
record.PcbInputTimeCost = substrateConsumeTime.LoadingConsumedTime;
|
||||||
record.PcbOutputTimeCost = substrateConsumeTime.UnloadingConsumedTime.ToString();
|
record.PcbOutputTimeCost = substrateConsumeTime.UnloadingConsumedTime;
|
||||||
record.PcbScanTimeCost = substrateConsumeTime.FlyConsumedTime.ToString();
|
record.PcbScanTimeCost = substrateConsumeTime.FlyConsumedTime;
|
||||||
|
record.PcbInputTime = substrateConsumeTime.LoadingStartTime;
|
||||||
|
record.PcbOutputTime = substrateConsumeTime.UnloadingEndTime;
|
||||||
}
|
}
|
||||||
|
|
||||||
// 查询出当前的作业相关的晶环耗时信息
|
// 查询出当前的作业相关的晶环耗时信息
|
||||||
|
@ -63,7 +66,8 @@ public class StrikeRecordService
|
||||||
var waferConsumeTimes = Db.Query<WaferConsumeTime>(queryWaferConsumeTime);
|
var waferConsumeTimes = Db.Query<WaferConsumeTime>(queryWaferConsumeTime);
|
||||||
|
|
||||||
// 查询出当前作业的所有晶环信息
|
// 查询出当前作业的所有晶环信息
|
||||||
var queryWafer = "select * from wafer where Id in (" + string.Join(",", waferIds) + ")";
|
var queryWafer = "select * from wafers where Id in (" + string.Join(",", waferIds) + ")";
|
||||||
|
|
||||||
var wafers = Db.Query<Wafer>(queryWafer);
|
var wafers = Db.Query<Wafer>(queryWafer);
|
||||||
|
|
||||||
// 将晶环耗时信息与晶环信息关联
|
// 将晶环耗时信息与晶环信息关联
|
||||||
|
@ -83,11 +87,11 @@ public class StrikeRecordService
|
||||||
var waferRecord = new ProductionWaferRecord
|
var waferRecord = new ProductionWaferRecord
|
||||||
{
|
{
|
||||||
WaferNumber = wafer.WaferCode,
|
WaferNumber = wafer.WaferCode,
|
||||||
ChipQuantity = wafer.ChipAmount.ToString(),
|
ChipQuantity = wafer.ChipAmount,
|
||||||
WaferInputTimeCost = consumeTime.LoadingConsumedTime.ToString(),
|
WaferInputTimeCost = consumeTime.LoadingConsumedTime,
|
||||||
WaferOutputTimeCost = consumeTime.UnloadingConsumedTime.ToString(),
|
WaferOutputTimeCost = consumeTime.UnloadingConsumedTime,
|
||||||
ChipScanTimeCost = consumeTime.FlyConsumedTime.ToString(),
|
ChipScanTimeCost = consumeTime.FlyConsumedTime,
|
||||||
HitedQuantity = strikeRecord.StrikeAmount.ToString(),
|
HitedQuantity = strikeRecord.StrikeAmount,
|
||||||
};
|
};
|
||||||
|
|
||||||
waferRecords.Add(waferRecord);
|
waferRecords.Add(waferRecord);
|
||||||
|
|
|
@ -1,13 +1,14 @@
|
||||||
using MasstransferCommon.Config;
|
using MasstransferCommon.Config;
|
||||||
using MasstransferCommon.Events;
|
using MasstransferCommon.Events;
|
||||||
using MasstransferCommon.Model.Entity;
|
|
||||||
using MasstransferCommon.Scheduler;
|
using MasstransferCommon.Scheduler;
|
||||||
using MasstransferCommunicate.Mqtt.Client;
|
using MasstransferCommunicate.Mqtt.Client;
|
||||||
using MasstransferExporter.DataExporter;
|
using MasstransferExporter.DataExporter;
|
||||||
|
using MasstransferExporter.DataExporter.Model;
|
||||||
using MasstransferExporter.Init;
|
using MasstransferExporter.Init;
|
||||||
using MasstransferInfrastructure.Database.Sqlite;
|
using MasstransferInfrastructure.Database.Sqlite;
|
||||||
using MasstransferInfrastructure.Mqtt.Model;
|
using MasstransferInfrastructure.Mqtt.Model;
|
||||||
using Serilog;
|
using Serilog;
|
||||||
|
using MqttParams = MasstransferCommon.Model.Entity.MqttParams;
|
||||||
|
|
||||||
namespace MasstransferExporter;
|
namespace MasstransferExporter;
|
||||||
|
|
||||||
|
@ -38,7 +39,7 @@ class Program
|
||||||
// 启动完成后,广播启动通知
|
// 启动完成后,广播启动通知
|
||||||
EventBus<bool>.Publish(EventType.StartUp, true);
|
EventBus<bool>.Publish(EventType.StartUp, true);
|
||||||
|
|
||||||
DelayScheduler.Delay(async () => await CoordinateService.CoordinateExporter(),
|
DelayScheduler.Delay(async () => await StrikeRecordService.ReportStrikeRecord(),
|
||||||
TimeSpan.FromSeconds(5));
|
TimeSpan.FromSeconds(5));
|
||||||
|
|
||||||
// 启动与主程序的通信
|
// 启动与主程序的通信
|
||||||
|
|
Loading…
Reference in New Issue