From b3855dde0cb86819d17391432ad566564e4b66d7 Mon Sep 17 00:00:00 2001
From: peizhiyong <zhiyong.pei@broconcentric.com>
Date: 星期二, 19 八月 2025 10:06:57 +0800
Subject: [PATCH] 连续NG报警功能,单机台生产数据划分白夜班功能以及S3S5相同位置缺陷放射位置优化
---
src/Bro.M141.Process/MyMQTT.cs | 68 +++++++++++++++++++++++++++++++---
1 files changed, 62 insertions(+), 6 deletions(-)
diff --git a/src/Bro.M141.Process/MyMQTT.cs b/src/Bro.M141.Process/MyMQTT.cs
index 53a5f75..eba6af5 100644
--- a/src/Bro.M141.Process/MyMQTT.cs
+++ b/src/Bro.M141.Process/MyMQTT.cs
@@ -134,7 +134,7 @@
}
}
- public async Task<string> MESForBasketAsync(string ztype, string zlsn, string zlpn, string zstatus, string zversion, int timeoutMs = 3000)
+ public async Task<string> MESForBasketAsync(string ztype, string zlsn, string zlpn, string zstatus, string zversion, int timeoutMes = 30000)
{
var guid = Guid.NewGuid().ToString();
var tcs = new TaskCompletionSource<string>(TaskCreationOptions.RunContinuationsAsynchronously);
@@ -157,7 +157,7 @@
CommonLogger.LogAsync(DateTime.Now, EnumHelper.LogLevel.Information, $"RabbitMQ 绡叿 鍙戦��1锛歿message}");
_sendChannel.BasicPublish("", "auto_line_mac_queue", null, body);
- var completed = await Task.WhenAny(tcs.Task, Task.Delay(timeoutMs));
+ var completed = await Task.WhenAny(tcs.Task, Task.Delay(timeoutMes));
_pendingTask1.TryRemove(guid, out _);
if (completed == tcs.Task)
return await tcs.Task;
@@ -168,7 +168,7 @@
}
}
- public async Task<string> MESForProduceAsync(ProductModel pro, int znonum, string endtray = "N", string line = "NQ216", int timeoutMs = 3000)
+ public async Task<string> MESForProduceAsync(ProductModel pro, string zversion, int znonum, string endtray = "N", string line = "NQ216", int timeoutMs = 3000)
{
var guid = Guid.NewGuid().ToString();
var tcs = new TaskCompletionSource<string>(TaskCreationOptions.RunContinuationsAsynchronously);
@@ -183,6 +183,46 @@
{
zresult = "NG";
}
+ //string zr;
+ //switch (pro.Result)
+ //{
+ // case "ok":
+ // zr = "";
+ // break;
+ // case "寮傝壊":
+ // zr = "SZ2001";
+ // break;
+ // case "纾ㄥ嵃":
+ // zr = "SZ2012";
+ // break;
+ // case "鍘嬩激":
+ // zr = "SZ2014";
+ // break;
+ // case "鍙樺舰":
+ // zr = "SZ2014";
+ // break;
+ // case "鍒掍激":
+ // zr = "SZ2021";
+ // break;
+ // default:
+ // zr = "S31006";
+ // break;
+ //}
+
+ var DefectCodeMap = new Dictionary<string, string>(StringComparer.OrdinalIgnoreCase)
+ {
+ ["OK"] = "",
+ ["寮傝壊"] = "SZ2001",
+ ["纾ㄥ嵃"] = "SZ2012",
+ ["鍘嬩激"] = "SZ2014",
+ ["鍙樺舰"] = "SZ2014",
+ ["鍒掍激"] = "SZ2021"
+ };
+ const string DefaultErrorCode = "S31006";
+
+ string zr = DefectCodeMap.TryGetValue(pro.Result, out var code) ? code : DefaultErrorCode;
+
+
var msgObj = new AutoLineMacBarcodeQueue
{
@@ -191,15 +231,20 @@
zline = line,
zbarcode = pro.SN,
zresult = zresult,
- zreson = pro.Result == "OK" ? "" : "SZ2014",
+ zreson = zr,
+ //zreson = pro.Result == "OK" ? "" : "SZ2014",
+ //
+
+ //
zno = znonum.ToString(),
zwoid = pro.Zword,
- endtray = endtray
+ endtray = endtray,
+ zversion = zversion
};
var message = JsonConvert.SerializeObject(msgObj);
var body = Encoding.UTF8.GetBytes(message);
- CommonLogger.LogAsync(DateTime.Now, EnumHelper.LogLevel.Information, $"RabbitMQ鍙戦�佷骇鍝亄pro.PID} 鏁版嵁2锛歿message}");
+ CommonLogger.LogAsync(DateTime.Now, EnumHelper.LogLevel.Information, $"RabbitMQ鍙戦�佷骇鍝亄pro.PID} 鏁版嵁2锛歿message},缂洪櫡浠g爜涓簕zr}");
_sendChannel.BasicPublish("", "auto_line_mac_barcode_queue", null, body);
var completed = await Task.WhenAny(tcs.Task, Task.Delay(timeoutMs));
@@ -610,6 +655,17 @@
/// 榛樿锛歂;闆舵暟灏剧洏锛歒
/// </summary>
public string endtray { get; set; } = "N";
+ /// <summary>
+ /// 姣忎釜ztype涓嬪搴旂嫭绔嬩竴涓簭鍒楀彿锛屼竴涓笟鍔″姩浣滀竴涓紝浠�0寮�濮嬶紝
+ /// 姣忔鍔�1锛屽埌杈鹃槇鍊煎悗鍙噸缃紙姣斿100鍚庝粠0寮�濮嬶級锛屽彧瑕佸拰涓婁竴
+ /// 娆$殑涓嶄竴鏍峰嵆鍙�
+ /// 涓氬姟鍔ㄤ綔瑙i噴锛氭瘮濡倆type涓�2鏃讹紝Q01-000001瑙g粦鏃朵紶搴忓垪鍙�1锛�
+ /// 濡傛灉Q01-000001鍦ㄤ竴浜涘紓甯告儏鍐典笅锛岄渶瑕侀噸璇曞垯杩樻槸浼犲簭鍒楀彿涓�1,
+ /// 涓嬩竴涓猀01-000002瑙g粦鏃朵紶搴忓垪鍙�2
+ /// 閫氫織鐨勮锛氫竴涓獄type+zversion鍙兘鎴愬姛澶勭悊涓�娆★紙闃堝�奸噸缃鑷�
+ /// 鐨勯噸澶嶉櫎澶栵級
+ /// </summary>
+ public string zversion { get; set; }
}
public class AutoLineMacBarcodeQueueBak
--
Gitblit v1.8.0