From 7285fd041c9ed732ae2039c4cc54f3eb382d9112 Mon Sep 17 00:00:00 2001
From: schangxiang@126.com <schangxiang@126.com>
Date: 周日, 08 12月 2024 14:48:50 +0800
Subject: [PATCH] 33

---
 SDA/iWareSda/Devices/4-Station/StationModel/StationEntity.cs |  166 +++++++++++++++++++++++++++++++++++++++++++++++--------
 1 files changed, 142 insertions(+), 24 deletions(-)

diff --git a/SDA/iWareSda/Devices/4-Station/StationModel/StationEntity.cs b/SDA/iWareSda/Devices/4-Station/StationModel/StationEntity.cs
index 48bb200..5f7e820 100644
--- a/SDA/iWareSda/Devices/4-Station/StationModel/StationEntity.cs
+++ b/SDA/iWareSda/Devices/4-Station/StationModel/StationEntity.cs
@@ -179,7 +179,35 @@
             }
         }
 
+        /// <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>
         /// 鍐欏叆榻愬缁撴灉銆佽В鏋愮粨鏋�
@@ -198,7 +226,7 @@
                 var view_stationObj = this.View.W_StationForWriteCommList.Where(x => x.StationCode == stationCode).FirstOrDefault();
 
                 MessageModel b2 = null;
-                if (stationCode == StationLocationEnum.BZ01.ToString())
+                if (stationCode == StationLocationEnum.BZ01.ToString() || stationCode == StationLocationEnum.BZ30.ToString())
                 {
                     int i_result = 0;
                     if (value)
@@ -715,6 +743,79 @@
                 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;
+            }
+        }
+
+        /// <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
@@ -742,7 +843,7 @@
                 return false;
             }
         }
-        public bool WriteOutStoreTaskInfo(string stationCode, string sourcePlaceNo, out string msg, int outbound_TaskID)
+        public bool WriteOutStoreTaskInfo(bool isResetData, string stationCode, string sourcePlaceNo, out string msg, int outbound_TaskID)
         {
             try
             {
@@ -750,31 +851,48 @@
                 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_Outbound_TaskID, outbound_TaskID, view_stationObj.W_Outbound_TaskID);
-                if (!b2.result)
+                if (isResetData == false)
                 {
-                    msg = string.Format("鍚慡tation鍦板潃{0} 鍐� 鍑哄簱浠诲姟鍙� " + outbound_TaskID + "澶辫触,杩斿洖缁撴灉:" + b2.resMsg,
-                       stationObj.W_Outbound_TaskID);
-                    return 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;
                 }
 
-                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;
             }
             catch (Exception ex)
             {

--
Gitblit v1.9.3