From ece80c5d44458eb482467ffafdff68fbc1e6dc94 Mon Sep 17 00:00:00 2001
From: schangxiang@126.com <schangxiang@126.com>
Date: 周三, 25 12月 2024 09:50:01 +0800
Subject: [PATCH] 接口 多 并发模式
---
CC/iWareCC_ASRS/ThreadService/01_BZ01工位(清灰,洗板后工位)/DataProcess_BZ01.cs | 148 +++++++++++++++++++++++++++++++++++++++++++++++-
1 files changed, 143 insertions(+), 5 deletions(-)
diff --git "a/CC/iWareCC_ASRS/ThreadService/01_BZ01\345\267\245\344\275\215\357\274\210\346\270\205\347\201\260\357\274\214\346\264\227\346\235\277\345\220\216\345\267\245\344\275\215\357\274\211/DataProcess_BZ01.cs" "b/CC/iWareCC_ASRS/ThreadService/01_BZ01\345\267\245\344\275\215\357\274\210\346\270\205\347\201\260\357\274\214\346\264\227\346\235\277\345\220\216\345\267\245\344\275\215\357\274\211/DataProcess_BZ01.cs"
index 75b3e7d..d991a57 100644
--- "a/CC/iWareCC_ASRS/ThreadService/01_BZ01\345\267\245\344\275\215\357\274\210\346\270\205\347\201\260\357\274\214\346\264\227\346\235\277\345\220\216\345\267\245\344\275\215\357\274\211/DataProcess_BZ01.cs"
+++ "b/CC/iWareCC_ASRS/ThreadService/01_BZ01\345\267\245\344\275\215\357\274\210\346\270\205\347\201\260\357\274\214\346\264\227\346\235\277\345\220\216\345\267\245\344\275\215\357\274\211/DataProcess_BZ01.cs"
@@ -11,6 +11,7 @@
using System.Linq;
using System.Net.NetworkInformation;
using System.Reflection.Emit;
+using System.Security.Cryptography.X509Certificates;
using System.ServiceModel.Configuration;
using System.Text;
using System.Threading;
@@ -24,6 +25,8 @@
/// </summary>
public static class DataProcess_BZ01
{
+ public static string timingForWait = "";//瀹氭椂鍣紝绛夊緟鏁版嵁
+
/// <summary>
/// BZ01宸ヤ綅锛堟竻鐏帮紝娲楁澘鍚庡伐浣嶏級
/// </summary>
@@ -32,6 +35,7 @@
var alertMsg = "";
LogType logType = LogType.DataProcess_BZ01;
string lastUpi = "";//鏈�鍚庤褰曠殑UPI鏁版嵁
+
while (true)
{
Thread.Sleep(1000);//浼戠湢2绉掞紝灏嗕紤鐪犲啓鍒板墠闈紝鏄负浜嗕笅闈㈢殑continue鏂规硶鎵ц鍚庝笉鏄剧ず閿欒淇℃伅鐨勬彁绀猴紒锛侊紒銆怑ditBy shaocx,2022-05-24銆�
@@ -45,6 +49,7 @@
SystemWarningMsg._lbl_alert_DataProcess_BZ01 = $"姝e湪骞插嚭搴撴ā寮忥紝姝ゆ柟娉曟殏鍋溿�傘�� ";
continue;
}
+
var rgvLocation = StationLocationEnum.BZ01.ToString();
/*
@@ -65,13 +70,48 @@
SystemWarningMsg._lbl_alert_DataProcess_BZ01 = $"{rgvLocation.ToString()}-璇锋眰浜嗚В鐮侊紝浣嗘槸缁撴灉鏄┖鐨�,姝ゆ寰幆缁撴潫";
continue;
}
+
if (lastUpi == result)
{
- SystemWarningMsg._lbl_alert_DataProcess_BZ01 = $"{rgvLocation.ToString()}-閲嶅鐨刄PI{result}";
- continue;
+ //瀵绘壘涓婃鐨凚Z01楠岃瘉璁板綍
+ using (WmsDBModel wmsDB = new WmsDBModel())
+ {
+ var lastRecord = wmsDB.wms_record_upi_process.Where(x => x.Upi == lastUpi && x.Location == "BZ01").OrderByDescending(x => x.Id).FirstOrDefault();
+ if (lastRecord != null)
+ {
+ //鍙栨槸鍚� 榻愬寘
+ bool my_qitaoReault = false;
+ if (lastRecord.UpiStatus == (int)UpiStatusEnum.宸查綈鍖�)
+ {
+ my_qitaoReault = true;
+ }
+ //鎺ㄩ�丳LC
+ using (StationServiceClient client = new StationServiceClient())
+ {
+ var res = await client.WriteQiTaoInfoAsync((int)EDevice.Station, rgvLocation, my_qitaoReault);
+ if (!res.result)
+ {
+ SystemWarningMsg._lbl_alert_DataProcess_BZ01 = $"{rgvLocation.ToString()}-銆愬崟鐙帹閫丳LC銆戞帹閫侀綈濂楃粨鏋滃け璐�,WriteQiTaoInfoAsync杩斿洖:{res.resMsg}";
+ continue;
+ }
+ else
+ {
+ Log4NetHelper.WriteInfoLog(logType, $"{rgvLocation.ToString()}-銆愬崟鐙帹閫丳LC銆戞帹閫侀綈濂楃粨鏋滄垚鍔�,WriteQiTaoInfoAsync锛屽弬鏁�: 绔欑偣{rgvLocation},榻愬缁撴灉:{my_qitaoReault}");
+ SystemWarningMsg._lbl_alert_DataProcess_BZ01 = $"{rgvLocation.ToString()}-銆愬崟鐙帹閫丳LC銆戞帹閫侀綈濂楃粨鏋滄垚鍔�";
+ continue;
+ }
+ }
+ }
+ else
+ {
+ SystemWarningMsg._lbl_alert_DataProcess_BZ01 = $"{rgvLocation.ToString()}-閲嶅鐨刄PI{result}";
+ continue;
+ }
+ }
}
+ //*/
var upiCode = result;
- lastUpi = upiCode;
+
var qitaoReault = false;//榻愬寘缁撴灉
using (WmsDBModel wmsDB = new WmsDBModel())
@@ -142,6 +182,39 @@
#endregion
}
+ //澧炲姞浼樺寲楠岃瘉 銆怑ditby shaocx,2024-12-16銆�
+ if (qitaoReault == false)
+ {
+ var lastPackageUpi_269 = FormCC.Globle_269_LastPackageUpi;
+ if (!string.IsNullOrEmpty(lastPackageUpi_269))
+ {
+ var arr = lastPackageUpi_269.Split('|');
+ if (upiObj.PackageCode == arr[0])
+ {//鏈�鍚庝竴娆″湪269鎵弿鐨勫寘鍙� 璺� 鐜板湪BZ01鐨勫寘鍙蜂竴鑷�,瑕佺瓑寰�
+ //wait
+ var isWaitOutTime = Wait269(wmsDB);
+ if (isWaitOutTime == false)
+ {
+ continue;
+ }
+ }
+ else
+ {
+ //缁х画寰�涓嬭蛋
+ }
+ }
+ else
+ {
+ //wait
+ var isWaitOutTime = Wait269(wmsDB);
+ if (isWaitOutTime == false)
+ {
+ continue;
+ }
+ }
+ }
+
+ timingForWait = "";//閲嶇疆鏁版嵁
if (qitaoReault == false)
{
upiObj.AreaCode = (int)AreaCodeEnum.缂撳瓨鍒嗘嫞鍖�;
@@ -150,7 +223,7 @@
{
upiObj.AreaCode = (int)AreaCodeEnum.鐮佸灈鍖哄煙;
}
-
+ /*
//鏌ヨ鏄惁榻愬寘
var allList = wmsDB.mes_batchOrderUPI_new.Where(x => x.PackageCode == upiObj.PackageCode).ToList();
var isQiTaoList = allList.Where(x => x.AreaCode == (int)AreaCodeEnum.寰呯紦瀛樺垎鎷e尯
@@ -267,13 +340,15 @@
wmsDB.mes_upi_linequeue.Remove(lastUpiLineQueue);
}
}
-
+ //*/
//if (qitaoReault == false) {
// //涓存椂
// SystemWarningMsg._lbl_alert_DataProcess_BZ01 = $"妯℃嫙鍟婂晩锛屾殏鍋滃晩鍟�";
// continue;
//}
+
+ lastUpi = upiCode;
using (StationServiceClient client = new StationServiceClient())
{
var res = await client.WriteQiTaoInfoAsync((int)EDevice.Station, rgvLocation, qitaoReault);
@@ -314,8 +389,25 @@
item.UpiStatus = (int)UpiStatusEnum.涓嶉綈鍖�;
}
}
+ //鏇存柊鍖呯姸鎬� [Editby shaocx,2024-12-15]
+ var packageObj = wmsDB.mes_package_gather.Where(x => x.PackageCode == upiObj.PackageCode).FirstOrDefault();
+ if (packageObj != null)
+ {
+ if (qitaoReault)
+ {
+ packageObj.UpiStatus = (int)UpiStatusEnum.宸查綈鍖�;
+ packageObj.IsQiBao = true;
+ }
+ else
+ {
+ packageObj.UpiStatus = (int)UpiStatusEnum.涓嶉綈鍖�;
+ packageObj.IsQiBao = false;
+ }
+ }
+
//鏇存柊 鏈�鍚庝竴娆″湪 BZ_01鐨勭郴缁熷鐞嗙殑鏉夸欢 鏁版嵁
var rbRunMode = wmsDB.wms_rbline_runmode.FirstOrDefault();
+ rbRunMode.UPI = upiObj.UPI;
rbRunMode.PlanNo = upiObj.PlanNo;
rbRunMode.OrderId = upiObj.OrderId;
rbRunMode.PackageCode = upiObj.PackageCode;
@@ -343,6 +435,46 @@
}
}
+ /// <summary>
+ /// 瓒呮椂楠岃瘉
+ /// </summary>
+ /// <param name="wmsDB"></param>
+ /// <param name="time"></param>
+ /// <returns>true:瓒呮椂 false锛氭湭瓒呮椂</returns>
+ private static bool Wait269(WmsDBModel wmsDB)
+ {
+ var bz30Config = wmsDB.SysConfig.Where(x => x.Code == "Wait_269").FirstOrDefault();
+ if (bz30Config == null)
+ {
+ SystemWarningMsg._lbl_alert_DataProcess_BZ01 = $"娌℃湁閰嶇疆 Wait_269 鍊�";
+ return false;
+ }
+ int i = 0;
+ bool right = int.TryParse(bz30Config.Value, out i);
+ if (right == false)
+ {
+ SystemWarningMsg._lbl_alert_DataProcess_BZ01 = $"閰嶇疆 Wait_269 鍊间笉鏄暣鏁�";
+ return false;
+ }
+
+ if (string.IsNullOrEmpty(timingForWait))
+ {
+ timingForWait = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
+ }
+
+ string time = timingForWait;
+ //鍦�269鎵弿鐨勬椂闂�
+ var time_269 = Convert.ToDateTime(time);
+ TimeSpan ts = DateTime.Now - time_269;
+ var sec = ts.Seconds;
+ if (sec >= i)
+ {
+ //瓒呮椂
+ return true;
+ }
+ SystemWarningMsg._lbl_alert_DataProcess_BZ01 = $"閰嶇疆 Wait_269 鍊兼槸{i},褰撳墠闂撮殧鏄瘂sec}绉�,鏈秴鏃躲�傚紑濮嬬瓑寰呮椂闂磠timingForWait}";
+ return false;
+ }
/// <summary>
/// 鏄惁鍙互鎵ц鍑哄簱妯″紡
@@ -352,6 +484,10 @@
/// <returns></returns>
private static bool IsAllloRunOutTaskMode(WmsDBModel wmsDB, mes_batchOrderUPI_new curUpiObj)
{
+ //涓嶅啀鍒ゆ柇 銆怑ditby shaocx,2024-12-14銆�
+ return false;
+
+ /*
//棣栧厛鏌ヨ鏁版嵁搴撲腑鏄惁鏈� 瑕佸嚭搴撶殑鏁版嵁
var isExistOutTaskForNewCreated = wmsDB.wms_rbline_task.Where(x =>
(x.RbTaskType == (int)RbTaskTypeEnum.榻愬寘鍑哄簱浠诲姟 || x.RbTaskType == (int)RbTaskTypeEnum.寮哄埗鍑哄簱浠诲姟)
@@ -419,6 +555,8 @@
FormCC.IsAllowRunOutMode = true;
return true;
+
+ //*/
}
/// <summary>
--
Gitblit v1.9.3