From f8c3e66071ff442b25c17e13c91b0b6e1d1cbea5 Mon Sep 17 00:00:00 2001 From: schangxiang@126.com <schangxiang@126.com> Date: 周日, 15 12月 2024 09:00:52 +0800 Subject: [PATCH] 22 --- SDA/iWareSda/Devices/4-Station/StationModel/StationEntity.cs | 754 +++++++++++++++++++++++++++++++++++++++++++++++++++------ 1 files changed, 672 insertions(+), 82 deletions(-) diff --git a/SDA/iWareSda/Devices/4-Station/StationModel/StationEntity.cs b/SDA/iWareSda/Devices/4-Station/StationModel/StationEntity.cs index 5841fab..116a389 100644 --- a/SDA/iWareSda/Devices/4-Station/StationModel/StationEntity.cs +++ b/SDA/iWareSda/Devices/4-Station/StationModel/StationEntity.cs @@ -9,7 +9,7 @@ using iWareCommon.Utils; using iWareCommon.Common.Globle; using iWareCommon; -using iWareSda.Devices._3_Station.StationModel; + using Newtonsoft.Json; using iWareSda.Model; @@ -179,9 +179,38 @@ } } + /// <summary> + /// 鍐橮LC bool + /// </summary> + /// <param name="dbAddress"></param> + /// <param name="value"></param> + /// <param name="msg"></param> + /// <returns></returns> + public bool WriteBoolPlcData(string dbAddress, bool value, out string msg) + { + try + { + msg = ""; + + MessageModel b2 = null; + b2 = this.plcService.WriteValuePoint(dbAddress, value, value); + if (!b2.result) + { + msg = string.Format($"鍐欏叆PLC鍦板潃{dbAddress}锛屽�納value}澶辫触"); + return false; + } + return true; + } + catch (Exception ex) + { + msg = ex.Message; + Log4NetHelper.WriteErrorLog(Station_CacheEntity.curLogType, $"鍦板潃{dbAddress}澶辫触:" + ex.Message, ex); + return false; + } + } /// <summary> - /// 鍐欏叆榻愬缁撴灉 + /// 鍐欏叆榻愬缁撴灉銆佽В鏋愮粨鏋� /// </summary> /// <param name="deviceId"></param> /// <param name="value">true:琛ㄧず 榻愬銆俧alse锛氫笉榻愬</param> @@ -195,29 +224,36 @@ var stationObj = this.DBBlockForWrite.W_StationForWriteCommList.Where(x => x.StationCode == stationCode).FirstOrDefault(); var view_stationObj = this.View.W_StationForWriteCommList.Where(x => x.StationCode == stationCode).FirstOrDefault(); - MessageModel b2 = this.plcService.WriteValuePoint(stationObj.W_DataFinish, true, view_stationObj.W_DataFinish); + + MessageModel b2 = null; + if (stationCode == StationLocationEnum.BZ01.ToString() || stationCode == StationLocationEnum.BZ30.ToString()) + { + int i_result = 0; + if (value) + { + i_result = 998; + } + else + { + i_result = 999; + } + b2 = this.plcService.WriteValuePoint(stationObj.W_KittingInfo, i_result, view_stationObj.W_KittingInfo); + if (!b2.result) + { + msg = string.Format("鍚慡tation鍦板潃{0} 鍐� " + value + "澶辫触,杩斿洖缁撴灉:" + b2.resMsg, + stationObj.W_DataFinish); + return false; + } + } + + b2 = this.plcService.WriteValuePoint(stationObj.W_DataFinish, true, view_stationObj.W_DataFinish); if (!b2.result) { msg = string.Format("鍚慡tation鍦板潃{0} 鍐� " + true + "澶辫触,杩斿洖缁撴灉:" + b2.resMsg, stationObj.W_DataFinish); return false; } - int i_result = 0; - if (value) - { - i_result = 998; - } - else - { - i_result = 999; - } - b2 = this.plcService.WriteValuePoint(stationObj.W_KittingInfo, i_result, view_stationObj.W_KittingInfo); - if (!b2.result) - { - msg = string.Format("鍚慡tation鍦板潃{0} 鍐� " + value + "澶辫触,杩斿洖缁撴灉:" + b2.resMsg, - stationObj.W_DataFinish); - return false; - } + return true; } catch (Exception ex) @@ -231,7 +267,7 @@ } - public bool InboundFinishConfirm(string stationCode, out string msg) + public bool InboundFinishConfirm(string stationCode, bool value, out string msg) { try { @@ -239,10 +275,10 @@ var stationObj = this.DBBlockForWrite.W_StationForWriteCommList.Where(x => x.StationCode == stationCode).FirstOrDefault(); var view_stationObj = this.View.W_StationForWriteCommList.Where(x => x.StationCode == stationCode).FirstOrDefault(); - MessageModel b2 = this.plcService.WriteValuePoint(stationObj.W_InboundFinishConfirm, true, view_stationObj.W_DataFinish); + MessageModel b2 = this.plcService.WriteValuePoint(stationObj.W_InboundFinishConfirm, value, view_stationObj.W_DataFinish); if (!b2.result) { - msg = string.Format("鍚慡tation鍦板潃{0} 鍐� " + true + "澶辫触,杩斿洖缁撴灉:" + b2.resMsg, + msg = string.Format("鍚慡tation鍦板潃{0} 鍏ュ簱瀹屾垚纭 鍐� " + value + "澶辫触,杩斿洖缁撴灉:" + b2.resMsg, stationObj.W_InboundFinishConfirm); return false; } @@ -259,7 +295,15 @@ } } - public bool WriteInStoreTaskInfo(string stationCode, string toPlaceNo, short length, short width, short height, out string msg) + /// <summary> + /// + /// </summary> + /// <param name="stationCode"></param> + /// <param name="value"></param> + /// <param name="msg"></param> + /// <param name="isClearData">鏄惁闇�瑕佹竻鐞嗘暟鎹�</param> + /// <returns></returns> + public bool OutboundFinishConfirm(string stationCode, bool value, out string msg, bool isClearData) { try { @@ -267,11 +311,103 @@ var stationObj = this.DBBlockForWrite.W_StationForWriteCommList.Where(x => x.StationCode == stationCode).FirstOrDefault(); var view_stationObj = this.View.W_StationForWriteCommList.Where(x => x.StationCode == stationCode).FirstOrDefault(); - MessageModel b2 = this.plcService.WriteValuePoint(stationObj.W_DataFinish, true, view_stationObj.W_DataFinish); + MessageModel b2 = this.plcService.WriteValuePoint(stationObj.W_OutboundFinishConfirm, value, view_stationObj.W_OutboundFinishConfirm); if (!b2.result) { - msg = string.Format("鍚慡tation鍦板潃{0} 鍐� 璇荤爜瑙f瀽瀹屾垚 " + true + "澶辫触,杩斿洖缁撴灉:" + b2.resMsg, - stationObj.W_DataFinish); + msg = string.Format("鍚慡tation 鍑哄簱浠诲姟瀹屾垚纭 鍦板潃{0} 鍐� " + value + "澶辫触,杩斿洖缁撴灉:" + b2.resMsg, + stationObj.W_OutboundFinishConfirm); + return false; + } + + if (value && isClearData) + { + b2 = this.plcService.WriteValuePoint(stationObj.W_ReqOut, false, view_stationObj.W_ReqOut); + if (!b2.result) + { + msg = string.Format("鍚慡tation W_ReqOut 鍦板潃{0} 鍐� " + false + "澶辫触,杩斿洖缁撴灉:" + b2.resMsg, + stationObj.W_ReqOut); + return false; + } + b2 = this.plcService.WriteValuePoint(stationObj.W_Destination_Out, 0, view_stationObj.W_Destination_Out); + if (!b2.result) + { + msg = string.Format("鍚慡tation W_Destination_Out 鍦板潃{0} 鍐� " + 0 + "澶辫触,杩斿洖缁撴灉:" + b2.resMsg, + stationObj.W_Destination_Out); + return false; + } + b2 = this.plcService.WriteValuePoint(stationObj.W_Outbound_TaskID, 0, view_stationObj.W_Outbound_TaskID); + if (!b2.result) + { + msg = string.Format("鍚慡tation W_Outbound_TaskID 鍦板潃{0} 鍐� " + 0 + "澶辫触,杩斿洖缁撴灉:" + b2.resMsg, + stationObj.W_Outbound_TaskID); + return false; + } + } + + + + + return true; + } + catch (Exception ex) + { + msg = ex.Message; + var logcontext = string.Format("鍚慡tatio 鍑哄簱浠诲姟瀹屾垚纭 鍑虹幇寮傚父:" + JsonConvert.SerializeObject(ex), + ""); + Log4NetHelper.WriteErrorLog(Station_CacheEntity.curLogType, logcontext, ex); + return false; + } + } + + /// <summary> + /// 鍒囨崲妯″紡 + /// </summary> + /// <param name="stationCode"></param> + /// <param name="value"></param> + /// <param name="msg"></param> + /// <returns></returns> + public bool ChangeMode(string stationCode, int value, out string msg) + { + try + { + msg = ""; + var stationObj = this.DBBlockForWrite.W_StationForWriteCommList.Where(x => x.StationCode == stationCode).FirstOrDefault(); + + var view_stationObj = this.View.W_StationForWriteCommList.Where(x => x.StationCode == stationCode).FirstOrDefault(); + MessageModel b2 = this.plcService.WriteValuePoint(stationObj.W_Mode, value, view_stationObj.W_Mode); + if (!b2.result) + { + msg = string.Format("鍚慡tation 鍒囨崲妯″紡 鍦板潃{0} 鍐� " + value + "澶辫触,杩斿洖缁撴灉:" + b2.resMsg, + stationObj.W_Mode); + return false; + } + + return true; + } + catch (Exception ex) + { + msg = ex.Message; + var logcontext = string.Format("鍚慡tatio 鍒囨崲妯″紡 鍑虹幇寮傚父:" + JsonConvert.SerializeObject(ex), + ""); + Log4NetHelper.WriteErrorLog(Station_CacheEntity.curLogType, logcontext, ex); + return false; + } + } + + public bool WriteInStoreTaskInfo(string stationCode, string toPlaceNo, short length, short width, short height, out string msg, int inbound_TaskID) + { + try + { + msg = ""; + var stationObj = this.DBBlockForWrite.W_StationForWriteCommList.Where(x => x.StationCode == stationCode).FirstOrDefault(); + + var view_stationObj = this.View.W_StationForWriteCommList.Where(x => x.StationCode == stationCode).FirstOrDefault(); + + MessageModel b2 = this.plcService.WriteValuePoint(stationObj.W_Inbound_TaskID, inbound_TaskID, view_stationObj.W_Inbound_TaskID); + if (!b2.result) + { + msg = string.Format("鍚慡tation鍦板潃{0} 鍐� 鍏ュ簱浠诲姟鍙� " + inbound_TaskID + "澶辫触,杩斿洖缁撴灉:" + b2.resMsg, + stationObj.W_Inbound_TaskID); return false; } @@ -305,12 +441,503 @@ return false; } + + b2 = this.plcService.WriteValuePoint(stationObj.W_DataFinish, true, view_stationObj.W_DataFinish); + if (!b2.result) + { + msg = string.Format("鍚慡tation鍦板潃{0} 鍐� 璇荤爜瑙f瀽瀹屾垚 " + true + "澶辫触,杩斿洖缁撴灉:" + b2.resMsg, + stationObj.W_DataFinish); + return false; + } + + return true; } catch (Exception ex) { msg = ex.Message; var logcontext = string.Format("WriteInStoreTaskInfo鍑虹幇寮傚父:" + JsonConvert.SerializeObject(ex), + ""); + Log4NetHelper.WriteErrorLog(Station_CacheEntity.curLogType, logcontext, ex); + return false; + } + } + /// <summary> + /// 鍐欏叆鐮佸灈浠诲姟淇℃伅 + /// </summary> + /// <param name="stationCode"></param> + /// <param name=""></param> + /// <param name="taskID"></param> + /// <param name="isLast"></param> + /// <param name="length"></param> + /// <param name="width"></param> + /// <param name="height"></param> + /// <param name="rotate"></param> + /// <param name="toplace"></param> + /// <param name="placeX"></param> + /// <param name="placeY"></param> + /// <param name=""></param> + /// <param name=""></param> + /// <returns></returns> + public bool WritePalletizingTaskInfo(string stationCode, int taskID, short length, short width, short height, short rotate, short toplace, short placeX, short placeY, short placeZ, short lastnum, out string msg) + { + try + { + msg = ""; + var stationObj = this.DBBlockForWrite.W_StationForWriteCommList.Where(x => x.StationCode == stationCode).FirstOrDefault(); + + var view_stationObj = this.View.W_StationForWriteCommList.Where(x => x.StationCode == stationCode).FirstOrDefault(); + + MessageModel b2 = this.plcService.WriteValuePoint(stationObj.W_PalletizingTaskID, taskID, view_stationObj.W_PalletizingTaskID); + if (!b2.result) + { + msg = string.Format("鍚慡tation鍦板潃{0} 鍐� 鐮佸灈浠诲姟鍙� " + taskID + "澶辫触,杩斿洖缁撴灉:" + b2.resMsg, + stationObj.W_Inbound_TaskID); + return false; + } + + b2 = this.plcService.WriteValuePoint(stationObj.W_Length, length, view_stationObj.W_Length); + if (!b2.result) + { + msg = string.Format("鍚慡tation鍦板潃{0} 鍐� 闀垮害 " + length + "澶辫触,杩斿洖缁撴灉:" + b2.resMsg, + stationObj.W_Length); + return false; + } + b2 = this.plcService.WriteValuePoint(stationObj.W_Width, width, view_stationObj.W_Width); + if (!b2.result) + { + msg = string.Format("鍚慡tation鍦板潃{0} 鍐� 瀹藉害 " + width + "澶辫触,杩斿洖缁撴灉:" + b2.resMsg, + stationObj.W_Width); + return false; + } + b2 = this.plcService.WriteValuePoint(stationObj.W_Height, height, view_stationObj.W_Height); + if (!b2.result) + { + msg = string.Format("鍚慡tation鍦板潃{0} 鍐� 楂樺害 " + height + "澶辫触,杩斿洖缁撴灉:" + b2.resMsg, + stationObj.W_Height); + return false; + } + b2 = this.plcService.WriteValuePoint(stationObj.W_PalletizingStation, toplace, view_stationObj.W_PalletizingStation); + if (!b2.result) + { + msg = string.Format("鍚慡tation鍦板潃{0} 鍐� 鐩爣浣� " + toplace + "澶辫触,杩斿洖缁撴灉:" + b2.resMsg, + stationObj.W_Height); + return false; + } + b2 = this.plcService.WriteValuePoint(stationObj.W_Rotate, rotate, view_stationObj.W_Rotate); + if (!b2.result) + { + msg = string.Format("鍚慡tation鍦板潃{0} 鍐� 鏄惁鏃嬭浆 " + rotate + "澶辫触,杩斿洖缁撴灉:" + b2.resMsg, + stationObj.W_Height); + return false; + } + b2 = this.plcService.WriteValuePoint(stationObj.W_PalletizingPlaceX, placeX, view_stationObj.W_PalletizingPlaceX); + if (!b2.result) + { + msg = string.Format("鍚慡tation鍦板潃{0} 鍐� X鍧愭爣 " + placeX + "澶辫触,杩斿洖缁撴灉:" + b2.resMsg, + stationObj.W_Height); + return false; + } + b2 = this.plcService.WriteValuePoint(stationObj.W_PalletizingPlaceY, placeY, view_stationObj.W_PalletizingPlaceY); + if (!b2.result) + { + msg = string.Format("鍚慡tation鍦板潃{0} 鍐� Y鍧愭爣 " + placeY + "澶辫触,杩斿洖缁撴灉:" + b2.resMsg, + stationObj.W_Height); + return false; + } + b2 = this.plcService.WriteValuePoint(stationObj.W_PalletizingPlaceZ, placeZ, view_stationObj.W_PalletizingPlaceZ); + if (!b2.result) + { + msg = string.Format("鍚慡tation鍦板潃{0} 鍐� Z鍧愭爣 " + placeZ + "澶辫触,杩斿洖缁撴灉:" + b2.resMsg, + stationObj.W_Height); + return false; + } + b2 = this.plcService.WriteValuePoint(stationObj.W_PalletizingBucketType, lastnum, view_stationObj.W_PalletizingBucketType); + if (!b2.result) + { + msg = string.Format("鍚慡tation鍦板潃{0} 鍐� 棣栨湯鏉� " + lastnum + "澶辫触,杩斿洖缁撴灉:" + b2.resMsg, + stationObj.W_Height); + return false; + } + b2 = this.plcService.WriteValuePoint(stationObj.W_DataFinish, true, view_stationObj.W_DataFinish); + if (!b2.result) + { + msg = string.Format("鍚慡tation鍦板潃{0} 鍐� 璇荤爜瑙f瀽瀹屾垚 " + true + "澶辫触,杩斿洖缁撴灉:" + b2.resMsg, + stationObj.W_DataFinish); + return false; + } + + + return true; + } + catch (Exception ex) + { + msg = ex.Message; + var logcontext = string.Format("WriteInStoreTaskInfo鍑虹幇寮傚父:" + JsonConvert.SerializeObject(ex), + ""); + Log4NetHelper.WriteErrorLog(Station_CacheEntity.curLogType, logcontext, ex); + return false; + } + } + /// <summary> + /// 鍚堝寘涓嬪彂浠诲姟 + /// </summary> + /// <param name="stationCode"></param> + /// <param name="taskID"></param> + /// <param name="length"></param> + /// <param name="width"></param> + /// <param name="cartonhigh"></param> + /// <param name="cartonwidth"></param> + /// <param name="placex"></param> + /// <param name="placey"></param> + /// <param name="msg"></param> + /// <returns></returns> + public bool WriteSurroundTaskInfo(string stationCode, short taskID, short length, short width, short cartonhigh, short cartonwidth, + short placex, short placey, out string msg, bool isNgFlag) + { + try + { + msg = ""; + var stationObj = this.DBBlockForWrite.W_StationForWriteCommList.Where(x => x.StationCode == stationCode).FirstOrDefault(); + + var view_stationObj = this.View.W_StationForWriteCommList.Where(x => x.StationCode == stationCode).FirstOrDefault(); + + MessageModel b2 = this.plcService.WriteValuePoint(stationObj.W_SurroundTaskNo, taskID, view_stationObj.W_SurroundTaskNo); + if (!b2.result) + { + msg = string.Format("鍚慡tation鍦板潃{0} 鍐� 鍚堝寘浠诲姟鍙� " + taskID + "澶辫触,杩斿洖缁撴灉:" + b2.resMsg, + stationObj.W_Inbound_TaskID); + return false; + } + + b2 = this.plcService.WriteValuePoint(stationObj.W_PackageLength, length, view_stationObj.W_PackageLength); + if (!b2.result) + { + msg = string.Format("鍚慡tation鍦板潃{0} 鍐� 鍚堝寘闀� " + length + "澶辫触,杩斿洖缁撴灉:" + b2.resMsg, + stationObj.W_Destination_In); + return false; + } + + b2 = this.plcService.WriteValuePoint(stationObj.W_PackageWidth, width, view_stationObj.W_PackageWidth); + if (!b2.result) + { + msg = string.Format("鍚慡tation鍦板潃{0} 鍐� 鍚堝寘瀹� " + width + "澶辫触,杩斿洖缁撴灉:" + b2.resMsg, + stationObj.W_Destination_In); + return false; + } + b2 = this.plcService.WriteValuePoint(stationObj.W_CartonHeight, cartonhigh, view_stationObj.W_CartonHeight); + if (!b2.result) + { + msg = string.Format("鍚慡tation鍦板潃{0} 鍐� 绾哥闀� " + cartonhigh + "澶辫触,杩斿洖缁撴灉:" + b2.resMsg, + stationObj.W_Length); + return false; + } + b2 = this.plcService.WriteValuePoint(stationObj.W_CartonWidth, cartonwidth, view_stationObj.W_CartonWidth); + if (!b2.result) + { + msg = string.Format("鍚慡tation鍦板潃{0} 鍐� 绾哥瀹� " + width + "澶辫触,杩斿洖缁撴灉:" + b2.resMsg, + stationObj.W_Width); + return false; + } + b2 = this.plcService.WriteValuePoint(stationObj.W_X_Offset, placex, view_stationObj.W_X_Offset); + if (!b2.result) + { + msg = string.Format("鍚慡tation鍦板潃{0} 鍐� 鏀炬枡x " + placex + "澶辫触,杩斿洖缁撴灉:" + b2.resMsg, + stationObj.W_Height); + return false; + } + b2 = this.plcService.WriteValuePoint(stationObj.W_Y_Offset, placey, view_stationObj.W_Y_Offset); + if (!b2.result) + { + msg = string.Format("鍚慡tation鍦板潃{0} 鍐� 鏀炬枡y " + placey + "澶辫触,杩斿洖缁撴灉:" + b2.resMsg, + stationObj.W_Height); + return false; + } + + b2 = this.plcService.WriteValuePoint(stationObj.W_DataFinish, true, view_stationObj.W_DataFinish); + if (!b2.result) + { + msg = string.Format("鍚慡tation鍦板潃{0} 鍐� 璇荤爜瑙f瀽瀹屾垚 " + true + "澶辫触,杩斿洖缁撴灉:" + b2.resMsg, + stationObj.W_DataFinish); + return false; + } + + //澧炲姞鍐欏叆NG鏍囪 + if (isNgFlag) + { + b2 = this.plcService.WriteValuePoint(stationObj.W_NgFlag, true, view_stationObj.W_NgFlag); + if (!b2.result) + { + msg = string.Format("鍚慡tation鍦板潃{0} 鍐� NG鍖呮爣璁� " + true + "澶辫触,杩斿洖缁撴灉:" + b2.resMsg, + stationObj.W_NgFlag); + return false; + } + } + + return true; + } + catch (Exception ex) + { + msg = ex.Message; + var logcontext = string.Format("WriteInStoreTaskInfo鍑虹幇寮傚父:" + JsonConvert.SerializeObject(ex), + ""); + Log4NetHelper.WriteErrorLog(Station_CacheEntity.curLogType, logcontext, ex); + return false; + } + } + + + /// <summary> + /// 鍐欏叆绔欑偣浠诲姟瀹屾垚纭 + /// </summary> + /// <param name="stationCode"></param> + /// <param name="value"></param> + /// <param name="msg"></param> + /// <returns></returns> + public bool WriteStation_FinishACK(string stationCode, bool value, out string msg) + { + try + { + msg = ""; + var stationObj = this.DBBlockForWrite.W_StationForWriteCommList.Where(x => x.StationCode == stationCode).FirstOrDefault(); + + var view_stationObj = this.View.W_StationForWriteCommList.Where(x => x.StationCode == stationCode).FirstOrDefault(); + MessageModel b2 = this.plcService.WriteValuePoint(stationObj.W_PalletizingTaskFinish, value, view_stationObj.W_PalletizingTaskFinish); + if (!b2.result) + { + msg = string.Format("鍚慡tation" + stationCode + " 鍐欏叆浠诲姟瀹屾垚纭 鍦板潃{0} 鍐� " + value + "澶辫触,杩斿洖缁撴灉:" + b2.resMsg, + stationObj.W_OutboundFinishConfirm); + return false; + } + + return true; + } + catch (Exception ex) + { + msg = ex.Message; + var logcontext = string.Format("鍚慡tatio 鍑哄簱浠诲姟瀹屾垚纭 鍑虹幇寮傚父:" + JsonConvert.SerializeObject(ex), + ""); + Log4NetHelper.WriteErrorLog(Station_CacheEntity.curLogType, logcontext, ex); + return false; + } + } + /// <summary> + /// 鍐欏叆绔欑偣浠诲姟瀹屾垚纭 + /// </summary> + /// <param name="stationCode"></param> + /// <param name="value"></param> + /// <param name="msg"></param> + /// <returns></returns> + public bool WriteStation_ACK(string stationCode, bool value, out string msg) + { + try + { + msg = ""; + var stationObj = this.DBBlockForWrite.W_StationForWriteCommList.Where(x => x.StationCode == stationCode).FirstOrDefault(); + + var view_stationObj = this.View.W_StationForWriteCommList.Where(x => x.StationCode == stationCode).FirstOrDefault(); + MessageModel b2 = this.plcService.WriteValuePoint(stationObj.W_DataFinish, value, view_stationObj.W_DataFinish); + if (!b2.result) + { + msg = string.Format("鍚慡tation" + stationCode + " 鍐欏叆浠诲姟瀹屾垚纭 鍦板潃{0} 鍐� " + value + "澶辫触,杩斿洖缁撴灉:" + b2.resMsg, + stationObj.W_OutboundFinishConfirm); + return false; + } + + return true; + } + catch (Exception ex) + { + msg = ex.Message; + var logcontext = string.Format("鍚慡tatio 鍑哄簱浠诲姟瀹屾垚纭 鍑虹幇寮傚父:" + JsonConvert.SerializeObject(ex), + ""); + Log4NetHelper.WriteErrorLog(Station_CacheEntity.curLogType, logcontext, ex); + return false; + } + } + + /// <summary> + /// 鍐欏叆 琛ユ澘宸ヤ綅鍏佽杩涙澘 + /// </summary> + /// <param name="stationCode"></param> + /// <param name="value"></param> + /// <param name="msg"></param> + /// <returns></returns> + public bool WriteStation_AllowIn(string stationCode, bool value, out string msg) + { + try + { + msg = ""; + var stationObj = this.DBBlockForWrite.W_StationForWriteCommList.Where(x => x.StationCode == stationCode).FirstOrDefault(); + + var view_stationObj = this.View.W_StationForWriteCommList.Where(x => x.StationCode == stationCode).FirstOrDefault(); + MessageModel b2 = this.plcService.WriteValuePoint(stationObj.W_AllowIn, value, view_stationObj.W_AllowIn); + if (!b2.result) + { + msg = string.Format("鍚慡tation" + stationCode + " 鍐欏叆 琛ユ澘宸ヤ綅鍏佽杩涙澘 鍦板潃{0} 鍐� " + value + "澶辫触,杩斿洖缁撴灉:" + b2.resMsg, + stationObj.W_OutboundFinishConfirm); + return false; + } + + return true; + } + catch (Exception ex) + { + msg = ex.Message; + var logcontext = string.Format("鍚慡tatio 琛ユ澘宸ヤ綅鍏佽杩涙澘 鍑虹幇寮傚父:" + JsonConvert.SerializeObject(ex), + ""); + Log4NetHelper.WriteErrorLog(Station_CacheEntity.curLogType, logcontext, ex); + return false; + } + } + + public bool WriteStation_NgFlag(string stationCode, bool value, out string msg) + { + try + { + msg = ""; + var stationObj = this.DBBlockForWrite.W_StationForWriteCommList.Where(x => x.StationCode == stationCode).FirstOrDefault(); + + var view_stationObj = this.View.W_StationForWriteCommList.Where(x => x.StationCode == stationCode).FirstOrDefault(); + MessageModel b2 = this.plcService.WriteValuePoint(stationObj.W_NgFlag, value, view_stationObj.W_NgFlag); + if (!b2.result) + { + msg = string.Format("鍚慡tation" + stationCode + " 鍐欏叆 NG鍖呮爣璁� 鍦板潃{0} 鍐� " + value + "澶辫触,杩斿洖缁撴灉:" + b2.resMsg, + stationObj.W_OutboundFinishConfirm); + return false; + } + + return true; + } + catch (Exception ex) + { + msg = ex.Message; + var logcontext = string.Format("鍚慡tatio NG鍖呮爣璁� 鍑虹幇寮傚父:" + JsonConvert.SerializeObject(ex), + ""); + Log4NetHelper.WriteErrorLog(Station_CacheEntity.curLogType, logcontext, ex); + return false; + } + } + + /// <summary> + /// 鍐欏叆 浜哄伐鏀捐 + /// </summary> + /// <param name="stationCode"></param> + /// <param name="value"></param> + /// <param name="msg"></param> + /// <returns></returns> + public bool WriteStation_PersonAllow(string stationCode, bool value, out string msg) + { + try + { + msg = ""; + //var stationObj = this.DBBlockForWrite.W_StationForWriteCommList.Where(x => x.StationCode == stationCode).FirstOrDefault(); + //var view_stationObj = this.View.W_StationForWriteCommList.Where(x => x.StationCode == stationCode).FirstOrDefault(); + //MessageModel b2 = this.plcService.WriteValuePoint(stationObj.W_PersonAllow, value, view_stationObj.W_PersonAllow); + + var stationObj = this.DBBlockForRead.R_StationForReadCommList.Where(x => x.StationCode == stationCode).FirstOrDefault(); + var view_stationObj = this.View.R_StationForReadCommList.Where(x => x.StationCode == stationCode).FirstOrDefault(); + MessageModel b2 = this.plcService.WriteValuePoint(stationObj.R_ReqParseData, value, view_stationObj.R_ReqParseData); + if (!b2.result) + { + msg = string.Format("鍚慡tation" + stationCode + " 鍐欏叆 浜哄伐鏀捐 鍦板潃{0} 鍐� " + value + "澶辫触,杩斿洖缁撴灉:" + b2.resMsg, + stationObj.R_ReqParseData); + return false; + } + + return true; + } + catch (Exception ex) + { + msg = ex.Message; + var logcontext = string.Format("鍚慡tatio 浜哄伐鏀捐 鍑虹幇寮傚父:" + JsonConvert.SerializeObject(ex), + ""); + Log4NetHelper.WriteErrorLog(Station_CacheEntity.curLogType, logcontext, ex); + return false; + } + } + public bool WriteSurround_FinishACK(string stationCode, bool value, out string msg) + { + try + { + msg = ""; + var stationObj = this.DBBlockForWrite.W_StationForWriteCommList.Where(x => x.StationCode == stationCode).FirstOrDefault(); + + var view_stationObj = this.View.W_StationForWriteCommList.Where(x => x.StationCode == stationCode).FirstOrDefault(); + MessageModel b2 = this.plcService.WriteValuePoint(stationObj.W_SurroundTaskFinish, value, view_stationObj.W_SurroundTaskFinish); + if (!b2.result) + { + msg = string.Format("鍚慡tation" + stationCode + " 鍐欏叆浠诲姟瀹屾垚纭 鍦板潃{0} 鍐� " + value + "澶辫触,杩斿洖缁撴灉:" + b2.resMsg, + stationObj.W_OutboundFinishConfirm); + return false; + } + + return true; + } + catch (Exception ex) + { + msg = ex.Message; + var logcontext = string.Format("鍚慡tatio 鍑哄簱浠诲姟瀹屾垚纭 鍑虹幇寮傚父:" + JsonConvert.SerializeObject(ex), + ""); + Log4NetHelper.WriteErrorLog(Station_CacheEntity.curLogType, logcontext, ex); + return false; + } + } + public bool WriteOutStoreTaskInfo(bool isResetData, string stationCode, string sourcePlaceNo, out string msg, int outbound_TaskID) + { + try + { + msg = ""; + var stationObj = this.DBBlockForWrite.W_StationForWriteCommList.Where(x => x.StationCode == stationCode).FirstOrDefault(); + + var view_stationObj = this.View.W_StationForWriteCommList.Where(x => x.StationCode == stationCode).FirstOrDefault(); + if (isResetData == false) + { + MessageModel b2 = this.plcService.WriteValuePoint(stationObj.W_Outbound_TaskID, outbound_TaskID, view_stationObj.W_Outbound_TaskID); + if (!b2.result) + { + msg = string.Format("鍚慡tation鍦板潃{0} 鍐� 鍑哄簱浠诲姟鍙� " + outbound_TaskID + "澶辫触,杩斿洖缁撴灉:" + b2.resMsg, + stationObj.W_Outbound_TaskID); + return false; + } + + b2 = this.plcService.WriteValuePoint(stationObj.W_Destination_Out, Convert.ToInt32(sourcePlaceNo), view_stationObj.W_Destination_Out); + if (!b2.result) + { + msg = string.Format("鍚慡tation鍦板潃{0} 鍐� 搴撲綅鍙� " + sourcePlaceNo + "澶辫触,杩斿洖缁撴灉:" + b2.resMsg, + stationObj.W_Destination_Out); + return false; + } + + b2 = this.plcService.WriteValuePoint(stationObj.W_ReqOut, true, view_stationObj.W_ReqOut); + if (!b2.result) + { + msg = string.Format("鍚慡tation鍦板潃{0} 鍐� 璇锋眰鍑哄簱 " + true + "澶辫触,杩斿洖缁撴灉:" + b2.resMsg, + stationObj.W_ReqOut); + return false; + } + + return true; + } + else + { + MessageModel b2 = null; + b2 = this.plcService.WriteValuePoint(stationObj.W_ReqOut, false, view_stationObj.W_ReqOut); + if (!b2.result) + { + msg = string.Format("鍚慡tation鍦板潃{0} 鍐� 璇锋眰鍑哄簱 " + false + "澶辫触,杩斿洖缁撴灉:" + b2.resMsg, + stationObj.W_ReqOut); + return false; + } + + return true; + } + + } + catch (Exception ex) + { + msg = ex.Message; + var logcontext = string.Format("WriteOutStoreTaskInfo 鍑虹幇寮傚父:" + JsonConvert.SerializeObject(ex), ""); Log4NetHelper.WriteErrorLog(Station_CacheEntity.curLogType, logcontext, ex); return false; @@ -569,8 +1196,6 @@ StationDB2ObjForReadComm StationDB2ObjForReadComm = this.View.R_StationForReadCommList.Where(x => x.StationCode == item.StationCode).First(); SdaHelper.SetPropertyValueForDB<StationDBForReadComm, StationDB2ObjForReadComm>(item, StationDB2ObjForReadComm, this.plcService, ""); } - //杩欓噷鐗规畩澶勭悊 璇诲彇鐨勫彂鍔ㄦ満鐮� - this.View.R_1019_CargoNoScan = GetNewCategoryNo(this.View.R_1019_CargoNoScan); } @@ -595,10 +1220,10 @@ try { var r_dbBlock = this.DBBlockForRead; - short value = Convert.ToInt16(this.plcService.ReadValuePoint(r_dbBlock.R_HandShake, typeof(short))); + short value = Convert.ToInt16(this.plcService.ReadValuePoint(r_dbBlock.R_HandShake_FJ, typeof(short))); //绾﹀畾 绛夊緟2绉� Thread.Sleep(2000); - short value_next = Convert.ToInt16(this.plcService.ReadValuePoint(r_dbBlock.R_HandShake, typeof(short))); + short value_next = Convert.ToInt16(this.plcService.ReadValuePoint(r_dbBlock.R_HandShake_FJ, typeof(short))); if (value == value_next) {//娌℃湁蹇冭烦 return false; @@ -621,53 +1246,35 @@ /// 鑾峰彇Station褰撳墠鎶ヨ淇℃伅 /// </summary> /// <returns></returns> - public List<DeviceWarningInfo> GetStationAlertDatas() + public List<DeviceWarningInfo> GetStationAlertDatas(List<WmsConfigDeviceWarning> configDeviceWarningList) { List<DeviceWarningInfo> db_warningList = new List<DeviceWarningInfo>(); try { - string _dbValue; + string _dbNumber; + string _dbOffset; var isHasAlert = false; - IDictionary<string, string> StationAlertDict = new Dictionary<string, string>(); - StationAlertDict = WareSdaStruct.StationAlertDict; - foreach (var item in StationAlertDict) + //IDictionary<string, string> StationAlertDict = new Dictionary<string, string>(); + //StationAlertDict = StationWarningStruct.AlertDict; + foreach (var item in configDeviceWarningList) { - _dbValue = item.Key; - isHasAlert = Convert.ToBoolean(this.plcService.ReadValuePoint(Station_CacheEntity.R_DBHeader_Station_Alert, item.Key, typeof(bool))); + //var arr = item.Key.Split('|'); + //_dbNumber = arr[0]; + //_dbOffset = arr[1]; + + var arr = item.WarningCode.Split('|'); + _dbNumber = arr[0]; + _dbOffset = arr[1]; + isHasAlert = Convert.ToBoolean(this.plcService.ReadValuePoint(_dbNumber, _dbOffset, typeof(bool))); if (isHasAlert) { db_warningList.Add(new DeviceWarningInfo() { - Address = item.Key, - Code = item.Key, - Context = item.Value.Trim() + Code = item.WarningCode, + //Context = item.WarningContent.Trim(), }); } - } - } - catch (Exception ex) - { - throw ex; - } - return db_warningList; - } - - /// <summary> - /// 鑾峰彇杈撻�佺嚎褰撳墠鎶ヨ淇℃伅 - /// </summary> - /// <returns></returns> - public List<DeviceWarningInfo> GetLineAlertDatas() - { - List<DeviceWarningInfo> db_warningList = new List<DeviceWarningInfo>(); - try - { - IDictionary<string, string> srmAlertDict = new Dictionary<string, string>(); - foreach (var item in this.View.R_StationForReadCommList) - { - if (item.R_AlarmCode > 0) - { - item.R_AlarmCodeMsg = WareSdaStruct.StationAlertDict[item.R_AlarmCode.ToString()]; - } + //Thread.Sleep(1000); } } catch (Exception ex) @@ -680,22 +1287,5 @@ #endregion - /// <summary> - /// 鐗规畩澶勭悊涓� 璇诲彇鐨勫彂鍔ㄦ満鐮� - /// </summary> - /// <param name="orgCategoryNo"></param> - /// <returns></returns> - private string GetNewCategoryNo(string orgCategoryNo) - { - Log4NetHelper.WriteInfoLog(Station_CacheEntity.curLogType, "璇诲彇鐨勫彂鍔ㄦ満鐮�,鍘熷璇诲彇鐨勫��:" + orgCategoryNo); - //濡傛灉鏈� $R鍐呭锛屽氨鏇挎崲涓虹┖ - var repStr = "$R"; - if (!string.IsNullOrEmpty(orgCategoryNo) && orgCategoryNo.IndexOf(repStr) > -1) - { - orgCategoryNo = orgCategoryNo.Replace(repStr, ""); - } - Log4NetHelper.WriteInfoLog(Station_CacheEntity.curLogType, "璇诲彇鐨勫彂鍔ㄦ満鐮�,鏇挎崲鍚庣殑鍊�:" + orgCategoryNo); - return orgCategoryNo; - } } } -- Gitblit v1.9.3