From 37184b1d1ac000a6ee40e397e2336b213e705902 Mon Sep 17 00:00:00 2001
From: schangxiang@126.com <schangxiang@126.com>
Date: 周四, 17 4月 2025 13:08:45 +0800
Subject: [PATCH] 包中只有一块板时,认定为 不齐包 【Editby shaocx,2025-04-01】
---
CC/iWareCC_ASRS/ThreadService/02_BZ39工位(补板后工位)/Outbound/3、DataProcess_RobotBuffer_FinishTaskForOutbound.cs | 162 ++++++++++++++++++++++++++++++++++++++++++++---------
1 files changed, 133 insertions(+), 29 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 c84697e..d5b63ec 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"
@@ -8,6 +8,7 @@
using System;
using System.Linq;
using System.Threading;
+using System.Threading.Tasks;
namespace iWareCC.ThreadService
{
@@ -29,6 +30,11 @@
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)
{
@@ -52,7 +58,10 @@
{
var task = wmsDB.wms_rbline_task.Where(x =>
x.TaskNo == obj.R_Outbound_TaskID.ToString()
- && x.RbTaskType == (int)RbTaskTypeEnum.鍑哄簱浠诲姟
+ //澧炲姞杩欎袱涓檺鍒舵潯浠� 銆怑ditby shaocx,2025-03-27銆�
+ && x.TaskStatus == (int)TaskStatusEnum.宸蹭笅鍙�
+ && (x.IsFlagFinish == false)
+ && (x.RbTaskType == (int)RbTaskTypeEnum.榻愬寘鍑哄簱浠诲姟 || x.RbTaskType == (int)RbTaskTypeEnum.寮哄埗鍑哄簱浠诲姟)
).OrderByDescending(x => x.Id).FirstOrDefault();
if (task == null)
{
@@ -72,42 +81,59 @@
}
- var upiCode = task.UPI;
- var upiObj = wmsDB.mes_batchOrderUPI_new.Where(x => x.UPI == upiCode).FirstOrDefault();
- if (upiObj == null)
+ var isSuccess = await HandlerData(wmsDB, task, rgvLocation, logType, false);
+ if (isSuccess == false)
{
- SystemWarningMsg._lbl_Alert_DataProcess_RobotBuffer_FinishTaskForOutbound = $"{rgvLocation.ToString()},鏍规嵁UPI:{upiCode}娌℃湁鎵惧埌瀵硅薄 ";
continue;
}
- //搴撳瓨鍑忓皯
- 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 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.涓嬬嚎鍖哄煙;
+ //}
- var place = StationHandler.GetPlaceByPlaceCode(task.PlaceCode, wmsDB);
- place.PlaceStatus = (int)PlaceStatusEnum.姝e父;
+ ////搴撳瓨鍑忓皯
+ //wms_stock_quan qun = wmsDB.wms_stock_quan.Where(x => x.PlaceCode == task.PlaceCode).FirstOrDefault();
+ //wmsDB.wms_stock_quan.Remove(qun);
- //缁橮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}");
- }
- }
+ //task.TaskStatus = (int)TaskStatusEnum.宸插畬鎴�;
+ //task.FinishedTime = DateTime.Now;
- WmsRecordUpiProcessHandler.SaveWmsRecordUpiProcess(wmsDB, upiObj, task.PlaceCode, "鍑虹紦瀛樺簱锛�"+task.TaskMsg);
+ //var place = StationHandler.GetPlaceByPlaceCode(task.PlaceCode, wmsDB);
+ //place.PlaceStatus = (int)PlaceStatusEnum.姝e父;
- wmsDB.SaveChanges();
+ ////缁橮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
@@ -115,6 +141,26 @@
using (StationServiceClient client = new StationServiceClient())
{
var res = await client.OutboundFinishConfirmAsync((int)EDevice.Station, false, rgvLocation, false);
+ }
+
+ using (WmsDBModel wmsDB = new WmsDBModel())
+ {
+ var task = wmsDB.wms_rbline_task.Where(x =>
+ x.IsFlagFinish == true
+ && (x.RbTaskType == (int)RbTaskTypeEnum.榻愬寘鍑哄簱浠诲姟 || x.RbTaskType == (int)RbTaskTypeEnum.寮哄埗鍑哄簱浠诲姟)
+ && x.TaskStatus == (int)TaskStatusEnum.宸蹭笅鍙�
+ ).OrderByDescending(x => x.Id).FirstOrDefault();
+ if (task == null)
+ {
+ SystemWarningMsg._lbl_Alert_DataProcess_RobotBuffer_FinishTaskForOutbound = $"{rgvLocation.ToString()},娌℃湁鎵惧埌宸蹭笅鍙�,骞朵笖鏍囪寮哄埗瀹屾垚鐨勪换鍔� ";
+ continue;
+ }
+
+ var isSuccess = await HandlerData(wmsDB, task, rgvLocation, logType, true);
+ if (isSuccess == false)
+ {
+ continue;
+ }
}
}
}
@@ -127,5 +173,63 @@
}
}
+
+ public static async Task<bool> HandlerData(WmsDBModel wmsDB, wms_rbline_task task, string rgvLocation, iWareCommon.Utils.LogType logType, bool isFlagFinish)
+ {
+ 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}娌℃湁鎵惧埌瀵硅薄 ";
+ return false;
+ }
+ //鏇存柊鏉夸欢鐨勭姸鎬佸拰鍖哄煙
+ 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.FinishedTime = DateTime.Now;
+
+ var place = StationHandler.GetPlaceByPlaceCode(task.PlaceCode, wmsDB);
+ place.PlaceStatus = (int)PlaceStatusEnum.姝e父;
+
+ if (isFlagFinish == false)
+ {
+ //缁橮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}";
+ return false;
+ }
+ else
+ {
+ Log4NetHelper.WriteInfoLog(logType, $"{rgvLocation.ToString()}-涓嬪彂鍑哄簱浠诲姟 鎴愬姛,OutboundFinishConfirmAsync锛屽弬鏁�: 绔欑偣{rgvLocation}");
+ }
+ }
+ }
+
+ var flag = isFlagFinish ? "浜哄伐寮哄埗瀹屾垚" : "锛堣嚜鍔ㄥ畬鎴愶級";
+ WmsRecordUpiProcessHandler.SaveWmsRecordUpiProcess(wmsDB, upiObj, task.PlaceCode, $"鍑虹紦瀛樺簱锛歿task.PlaceCode}(" + flag + ")," + task.TaskMsg);
+
+ wmsDB.SaveChanges();
+
+ return true;
+ }
+
}
}
--
Gitblit v1.9.3