From 09d0a68dcc8a48a79e472b87c4aa3c90e9770154 Mon Sep 17 00:00:00 2001
From: schangxiang@126.com <schangxiang@126.com>
Date: 周日, 08 12月 2024 10:43:35 +0800
Subject: [PATCH] 2

---
 SDA/iWareSda/Devices/4-Station/StationModel/StationEntity.cs |  293 ++++++++++++++++++++++++++++++++++++++++++----------------
 1 files changed, 213 insertions(+), 80 deletions(-)

diff --git a/SDA/iWareSda/Devices/4-Station/StationModel/StationEntity.cs b/SDA/iWareSda/Devices/4-Station/StationModel/StationEntity.cs
index 33d24f3..813d817 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;
 
@@ -180,8 +180,9 @@
         }
 
 
+
         /// <summary>
-        /// 鍐欏叆榻愬缁撴灉
+        /// 鍐欏叆榻愬缁撴灉銆佽В鏋愮粨鏋�
         /// </summary>
         /// <param name="deviceId"></param>
         /// <param name="value">true:琛ㄧず 榻愬銆俧alse锛氫笉榻愬</param>
@@ -196,21 +197,25 @@
 
                 var view_stationObj = this.View.W_StationForWriteCommList.Where(x => x.StationCode == stationCode).FirstOrDefault();
 
-                int i_result = 0;
-                if (value)
+                MessageModel b2 = null;
+                if (stationCode == StationLocationEnum.BZ01.ToString() || stationCode == StationLocationEnum.BZ30.ToString())
                 {
-                    i_result = 998;
-                }
-                else
-                {
-                    i_result = 999;
-                }
-                MessageModel 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;
+                    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);
@@ -262,7 +267,15 @@
             }
         }
 
-        public bool OutboundFinishConfirm(string stationCode, bool value, 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
             {
@@ -278,28 +291,32 @@
                     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;
+                    }
+                }
 
-                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;
@@ -434,7 +451,7 @@
         /// <param name=""></param>
         /// <param name=""></param>
         /// <returns></returns>
-        public bool WritePalletizingTaskInfo(string stationCode, int taskID, bool isLast,bool isFirst, short length, short width, short height, short rotate, short toplace, short placeX, short placeY, short placeZ, out string msg)
+        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
             {
@@ -451,21 +468,6 @@
                     return false;
                 }
 
-                b2 = this.plcService.WriteValuePoint(stationObj.W_EndMark, isLast, view_stationObj.W_EndMark);
-                if (!b2.result)
-                {
-                    msg = string.Format("鍚慡tation鍦板潃{0} 鍐� 鏄惁鏈澘 " + isLast + "澶辫触,杩斿洖缁撴灉:" + b2.resMsg,
-                      stationObj.W_Destination_In);
-                    return false;
-                }
-
-                b2 = this.plcService.WriteValuePoint(stationObj.W_FirstMark, isFirst, view_stationObj.W_FirstMark);
-                if (!b2.result)
-                {
-                    msg = string.Format("鍚慡tation鍦板潃{0} 鍐� 鏄惁棣栨澘 " + isFirst + "澶辫触,杩斿洖缁撴灉:" + b2.resMsg,
-                      stationObj.W_Destination_In);
-                    return false;
-                }
                 b2 = this.plcService.WriteValuePoint(stationObj.W_Length, length, view_stationObj.W_Length);
                 if (!b2.result)
                 {
@@ -522,6 +524,13 @@
                      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)
                 {
@@ -555,7 +564,7 @@
         /// <param name="placey"></param>
         /// <param name="msg"></param>
         /// <returns></returns>
-        public bool WriteSurroundTaskInfo(string stationCode, int taskID, short length, short width, short cartonhigh, short cartonwidth, short placex, short placey, out string msg)
+        public bool WriteSurroundTaskInfo(string stationCode, short taskID, short length, short width, short cartonhigh, short cartonwidth, short placex, short placey, out string msg)
         {
             try
             {
@@ -615,7 +624,7 @@
                      stationObj.W_Height);
                     return false;
                 }
-   
+
                 b2 = this.plcService.WriteValuePoint(stationObj.W_DataFinish, true, view_stationObj.W_DataFinish);
                 if (!b2.result)
                 {
@@ -656,7 +665,7 @@
                 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,
+                    msg = string.Format("鍚慡tation" + stationCode + " 鍐欏叆浠诲姟瀹屾垚纭 鍦板潃{0} 鍐�  " + value + "澶辫触,杩斿洖缁撴灉:" + b2.resMsg,
                         stationObj.W_OutboundFinishConfirm);
                     return false;
                 }
@@ -667,6 +676,113 @@
             {
                 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;
+            }
+        }
+
+        /// <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;
@@ -699,7 +815,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
             {
@@ -707,31 +823,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