From 0c1f670d60c130a26b2d4273b3b858d8d6900541 Mon Sep 17 00:00:00 2001
From: schangxiang@126.com <schangxiang@126.com>
Date: 周二, 10 12月 2024 11:20:34 +0800
Subject: [PATCH] 22
---
CC/iWareCC_ASRS/ThreadService/02_BZ39工位(补板后工位)/Outbound/3、DataProcess_RobotBuffer_FinishTaskForOutbound.cs | 84 ++++++++++++++++++++++++++++++++++++-----
1 files changed, 73 insertions(+), 11 deletions(-)
diff --git "a/CC/iWareCC_ASRS/ThreadService/02_BZ39\345\267\245\344\275\215\357\274\210\350\241\245\346\235\277\345\220\216\345\267\245\344\275\215\357\274\211/Outbound/3\343\200\201DataProcess_RobotBuffer_FinishTaskForOutbound.cs" "b/CC/iWareCC_ASRS/ThreadService/02_BZ39\345\267\245\344\275\215\357\274\210\350\241\245\346\235\277\345\220\216\345\267\245\344\275\215\357\274\211/Outbound/3\343\200\201DataProcess_RobotBuffer_FinishTaskForOutbound.cs"
index 457148f..73063b4 100644
--- "a/CC/iWareCC_ASRS/ThreadService/02_BZ39\345\267\245\344\275\215\357\274\210\350\241\245\346\235\277\345\220\216\345\267\245\344\275\215\357\274\211/Outbound/3\343\200\201DataProcess_RobotBuffer_FinishTaskForOutbound.cs"
+++ "b/CC/iWareCC_ASRS/ThreadService/02_BZ39\345\267\245\344\275\215\357\274\210\350\241\245\346\235\277\345\220\216\345\267\245\344\275\215\357\274\211/Outbound/3\343\200\201DataProcess_RobotBuffer_FinishTaskForOutbound.cs"
@@ -1,4 +1,5 @@
锘縰sing Admin.NET.Application;
+using iWareCC.StationService;
using iWareCommon.Common.Globle;
using iWareCommon.Utils;
using iWareModel;
@@ -21,56 +22,117 @@
LogType logType = LogType.DataProcess_RobotBuffer_FinishTaskForOutbound;
while (true)
{
- Thread.Sleep(2000);//浼戠湢2绉掞紝灏嗕紤鐪犲啓鍒板墠闈紝鏄负浜嗕笅闈㈢殑continue鏂规硶鎵ц鍚庝笉鏄剧ず閿欒淇℃伅鐨勬彁绀猴紒锛侊紒銆怑ditBy shaocx,2022-05-24銆�
+ Thread.Sleep(500);//浼戠湢2绉掞紝灏嗕紤鐪犲啓鍒板墠闈紝鏄负浜嗕笅闈㈢殑continue鏂规硶鎵ц鍚庝笉鏄剧ず閿欒淇℃伅鐨勬彁绀猴紒锛侊紒銆怑ditBy shaocx,2022-05-24銆�
SystemWarningMsg._lbl_Alert_DataProcess_RobotBuffer_FinishTaskForOutbound = string.Empty;
try
- {
- if (SystemValue.isAllowRuning_DataProcess_RobotBuffer_FinishTaskForOutbound && SystemValue.isStartedModel)
+ {//SystemValue.isAllowRuning_DataProcess_RobotBuffer_FinishTaskForOutbound &&
+ if (SystemValue.isStartedModel)
{
var rgvLocation = StationLocationEnum.BZ39.ToString();
+ if (FormCC.stationView == null)
+ {
+ SystemWarningMsg._lbl_Alert_DataProcess_RobotBuffer_FinishTaskForOutbound = $"{rgvLocation.ToString()}-鑾峰彇PLC瀵硅薄涓簄ull";
+ continue;
+ }
var obj = FormCC.stationView.R_StationForReadCommList.Where(x => x.StationCode == rgvLocation.ToString()).FirstOrDefault();
if (obj.R_OutboundFinish)
{
- var result = obj.R_OutboundNumber;
- if (string.IsNullOrEmpty(result))
+ //var result = obj.R_OutboundNumber;
+ //if (string.IsNullOrEmpty(result))
+ //{
+ // SystemWarningMsg._lbl_Alert_DataProcess_RobotBuffer_FinishTaskForOutbound = $"{rgvLocation.ToString()}- 鍑哄簱搴撲綅鍙锋槸绌虹殑,姝ゆ寰幆缁撴潫";
+ // continue;
+ //}
+
+ var result2 = obj.R_Outbound_TaskID;
+ if (result2 == 0)
{
- SystemWarningMsg._lbl_Alert_DataProcess_RobotBuffer_FinishTaskForOutbound = $"{rgvLocation.ToString()}- 鍑哄簱搴撲綅鍙锋槸绌虹殑,姝ゆ寰幆缁撴潫";
+ SystemWarningMsg._lbl_Alert_DataProcess_RobotBuffer_FinishTaskForOutbound = $"{rgvLocation.ToString()}- 鍑哄簱浠诲姟鍙锋槸绌虹殑,姝ゆ寰幆缁撴潫";
continue;
}
+
using (WmsDBModel wmsDB = new WmsDBModel())
{
- var task = wmsDB.wms_rbline_task.Where(x => x.PlaceCode == obj.R_OutboundNumber
- && x.RbTaskType == (int)RbTaskTypeEnum.鍑哄簱浠诲姟
- && x.TaskStatus == (int)TaskStatusEnum.宸蹭笅鍙�).FirstOrDefault();
+ var task = wmsDB.wms_rbline_task.Where(x =>
+ x.TaskNo == obj.R_Outbound_TaskID.ToString()
+ && (x.RbTaskType == (int)RbTaskTypeEnum.榻愬寘鍑哄簱浠诲姟 || x.RbTaskType == (int)RbTaskTypeEnum.寮哄埗鍑哄簱浠诲姟)
+ ).OrderByDescending(x => x.Id).FirstOrDefault();
if (task == null)
{
SystemWarningMsg._lbl_Alert_DataProcess_RobotBuffer_FinishTaskForOutbound = $"{rgvLocation.ToString()},鏍规嵁 R_OutboundNumber:{obj.R_OutboundNumber}娌℃湁鎵惧埌宸蹭笅鍙戠殑浠诲姟 ";
continue;
}
+ else
+ {
+ if (task.TaskStatus == (int)TaskStatusEnum.宸插畬鎴�)
+ {
+ using (StationServiceClient client = new StationServiceClient())
+ {
+ var res = await client.OutboundFinishConfirmAsync((int)EDevice.Station, true, rgvLocation, false);
+ }
+ continue;
+ }
- var upiCode = task.UPI;
+ }
+
+ var upiCode = task.Upi;
var upiObj = wmsDB.mes_batchOrderUPI_new.Where(x => x.UPI == upiCode).FirstOrDefault();
if (upiObj == null)
{
SystemWarningMsg._lbl_Alert_DataProcess_RobotBuffer_FinishTaskForOutbound = $"{rgvLocation.ToString()},鏍规嵁UPI:{upiCode}娌℃湁鎵惧埌瀵硅薄 ";
continue;
}
+ //鏇存柊鏉夸欢鐨勭姸鎬佸拰鍖哄煙
+ if (task.RbTaskType == (int)RbTaskTypeEnum.榻愬寘鍑哄簱浠诲姟)
+ {
+ upiObj.UpiStatus = (int)UpiStatusEnum.宸查綈鍖�;
+ upiObj.AreaCode = (int)AreaCodeEnum.鐮佸灈鍖哄煙;
+ }
+ else if (task.RbTaskType == (int)RbTaskTypeEnum.寮哄埗鍑哄簱浠诲姟)
+ {
+ upiObj.UpiStatus = (int)UpiStatusEnum.宸蹭笅绾�;
+ upiObj.AreaCode = (int)AreaCodeEnum.涓嬬嚎鍖哄煙;
+ }
+
//搴撳瓨鍑忓皯
wms_stock_quan qun = wmsDB.wms_stock_quan.Where(x => x.PlaceCode == task.PlaceCode).FirstOrDefault();
wmsDB.wms_stock_quan.Remove(qun);
task.TaskStatus = (int)TaskStatusEnum.宸插畬鎴�;
- task.TaskStatusName = TaskStatusEnum.宸插畬鎴�.ToString();
task.FinishedTime = DateTime.Now;
var place = StationHandler.GetPlaceByPlaceCode(task.PlaceCode, wmsDB);
place.PlaceStatus = (int)PlaceStatusEnum.姝e父;
+ //缁橮LC鎺ㄩ�佷换鍔″畬鎴愮‘璁や俊鍙�
+ using (StationServiceClient client = new StationServiceClient())
+ {
+ var res = await client.OutboundFinishConfirmAsync((int)EDevice.Station, true, rgvLocation, true);
+ if (!res.result)
+ {
+ SystemWarningMsg._lbl_Alert_DataProcess_RobotBuffer_FinishTaskForOutbound = $"{rgvLocation.ToString()}-涓嬪彂鍑哄簱浠诲姟 澶辫触,OutboundFinishConfirmAsync 杩斿洖:{res.resMsg}";
+ continue;
+ }
+ else
+ {
+ Log4NetHelper.WriteInfoLog(logType, $"{rgvLocation.ToString()}-涓嬪彂鍑哄簱浠诲姟 鎴愬姛,OutboundFinishConfirmAsync锛屽弬鏁�: 绔欑偣{rgvLocation}");
+ }
+ }
+
+ WmsRecordUpiProcessHandler.SaveWmsRecordUpiProcess(wmsDB, upiObj, task.PlaceCode, $"鍑虹紦瀛樺簱锛歿task.PlaceCode}," + task.TaskMsg);
+
wmsDB.SaveChanges();
}
}
+ else
+ {
+ using (StationServiceClient client = new StationServiceClient())
+ {
+ var res = await client.OutboundFinishConfirmAsync((int)EDevice.Station, false, rgvLocation, false);
+ }
+ }
}
}
catch (Exception ex)
--
Gitblit v1.9.3