huangxiaoqiang
6 天以前 c3877b2ebec19f473f45e8c2245926f65d2a3948
ÏîÄ¿´úÂë/WMS/WIDESEA_WMSServer/WIDESEA_StorageSocketServices/SocketClientService.cs
@@ -50,6 +50,8 @@
        private readonly IDt_HostLogRepository _hostLogRepository;
        private bool _IsOnline = false;
        public DateTime Time { get; set; } = DateTime.Now;
        private static int _currentNumber = 0;
        private static readonly object _lock = new object();
        public SocketClientService(IDt_TaskService TaskService, IDt_TaskRepository TaskRepository, IDt_StationManagerRepository stationManagerRepository, ILogger<SocketClientService> logger, IDt_HostLogRepository hostLogRepository)
@@ -438,6 +440,23 @@
        #endregion
        #region WMS下发HOST方法
        public static string Sequence()
        {
            // ä½¿ç”¨é”ç¡®ä¿çº¿ç¨‹å®‰å…¨
            lock (_lock)
            {
                _currentNumber++;
                // å¦‚果超过99999,可以重置或抛出异常,这里选择重置
                if (_currentNumber > 99999)
                {
                    _currentNumber = 1;
                }
                return _currentNumber.ToString("D5");
            }
        }
        /// <summary>
        /// è®¾å¤‡è¯·æ±‚入库  å·¥åº101
@@ -448,16 +467,12 @@
        {
            try
            {
                string str = SendandReply + "101" + BaseDal.GetSeqNo().Result.ToString("D5") + GetFieldsAsString(Agvstatus) + GetListStringOutStation(outStations) + OutStationSpare2 + "1" + GetFieldsAsString(inStation);
                string str = SendandReply + "101" + Sequence() + GetFieldsAsString(Agvstatus) + GetListStringOutStation(outStations) + OutStationSpare2 + "1" + GetFieldsAsString(inStation);
                clientSend(MakeStringToByteMsg(str));
            }
            catch (Exception ex)
            {
                LogFactory.GetLog("DeviceRequestInbound").InfoFormat(true, $"请求参数:{JsonConvert.SerializeObject(ex.Message)}{Environment.NewLine}{ex.StackTrace}", "");
            }
            finally
            {
                BaseDal.Db.Close();
            }
        }
@@ -470,16 +485,12 @@
        {
            try
            {
                string str = SendandReply + "925" + BaseDal.GetSeqNo().Result.ToString("D5");
                string str = SendandReply + "925" + Sequence();
                clientSend(MakeStringToByteMsg(str));
            }
            catch (Exception ex)
            {
                LogFactory.GetLog("RequestCommunication").InfoFormat(true, $"请求参数:{JsonConvert.SerializeObject(ex.Message)}{Environment.NewLine}{ex.StackTrace}", "");
            }
            finally
            {
                BaseDal.Db.Close();
            }
        }
@@ -492,16 +503,12 @@
        {
            try
            {
                string str = SendNotReply + "915" + BaseDal.GetSeqNo().Result.ToString("D5") + Command;
                string str = SendNotReply + "915" + Sequence() + Command;
                clientSend(MakeStringToByteMsg(str));
            }
            catch (Exception ex)
            {
                LogFactory.GetLog("JobReady").InfoFormat(true, $"请求参数:{JsonConvert.SerializeObject(ex.Message)}{Environment.NewLine}{ex.StackTrace}", "");
            }
            finally
            {
                BaseDal.Db.Close();
            }
        }
@@ -514,18 +521,13 @@
        {
            try
            {
                string str = SendNotReply + "913" + BaseDal.GetSeqNo().Result.ToString("D5") + Status;
                string str = SendNotReply + "913" + Sequence() + Status;
                clientSend(MakeStringToByteMsg(str));
            }
            catch (Exception ex)
            {
                LogFactory.GetLog("DeviceStateReport").InfoFormat(true, $"请求参数:{JsonConvert.SerializeObject(ex.Message)}{Environment.NewLine}{ex.StackTrace}", "");
            }
            finally
            {
                BaseDal.Db.Close();
            }
        }
        /// <summary>
@@ -537,16 +539,12 @@
        {
            try
            {
                string str = SendandReply + "917" + BaseDal.GetSeqNo().Result.ToString("D5") + Status;
                string str = SendandReply + "917" + Sequence() + Status;
                clientSend(MakeStringToByteMsg(str));
            }
            catch (Exception ex)
            {
                LogFactory.GetLog("DeviceAutoStatusReport").InfoFormat(true, $"请求参数:{JsonConvert.SerializeObject(ex.Message)}{Environment.NewLine}{ex.StackTrace}", "");
            }
            finally
            {
                BaseDal.Db.Close();
            }
        }
@@ -562,18 +560,13 @@
        {
            try
            {
                string str = SendandReply + "905" + BaseDal.GetSeqNo().Result.ToString("D5") + Status + JobOrderID + priority + FormLocation + ToLocation + TaskType + TrayCnt + PallteCode;
                string str = SendandReply + "905" + Sequence() + Status + JobOrderID + priority + FormLocation + ToLocation + TaskType + TrayCnt + PallteCode;
                clientSend(MakeStringToByteMsg(str));
            }
            catch (Exception ex)
            {
                LogFactory.GetLog("JobStartOrEnd").InfoFormat(true, $"请求参数:{JsonConvert.SerializeObject(ex.Message)}{Environment.NewLine}{ex.StackTrace}", "");
            }
            finally
            {
                BaseDal.Db.Close();
            }
        }
        /// <summary>
@@ -589,18 +582,13 @@
        {
            try
            {
                string str = SendNotReply + "907" + BaseDal.GetSeqNo().Result.ToString("D5") + Status + JobOrderID + priority + FormLocation + ToLocation + TaskType + TrayCnt + PallteCode;
                string str = SendNotReply + "907" + Sequence() + Status + JobOrderID + priority + FormLocation + ToLocation + TaskType + TrayCnt + PallteCode;
                clientSend(MakeStringToByteMsg(str));
            }
            catch (Exception ex)
            {
                LogFactory.GetLog("PalletActionReport工序907").InfoFormat(true, $"请求参数:{JsonConvert.SerializeObject(ex.Message)}{Environment.NewLine}{ex.StackTrace}", "");
            }
            finally
            {
                BaseDal.Db.Close();
            }
        }
        /// <summary>
@@ -615,7 +603,7 @@
        {
            try
            {
                string str = SendandReply + "901" + BaseDal.GetSeqNo().Result.ToString("D5") + "0" + JobOrderID + priority + FormLocation + ToLocation + TaskType + TrayCnt + PallteCode;
                string str = SendandReply + "901" + Sequence() + "0" + JobOrderID + priority + FormLocation + ToLocation + TaskType + TrayCnt + PallteCode;
                Dt_HostLog hostLog = new Dt_HostLog()
                {
                    CommandID = 901,
@@ -629,47 +617,32 @@
            {
                LogFactory.GetLog("PalletActionReport工序901").InfoFormat(true, $"请求参数:{JsonConvert.SerializeObject(ex.Message)}{Environment.NewLine}{ex.StackTrace}", "");
            }
            finally
            {
                BaseDal.Db.Close();
            }
        }
        public void PalletActionReportPDA(string FormLocation, string ToLocation, string TaskType, string PallteCode)
        {
            try
            {
                string str = SendandReply + "901" + BaseDal.GetSeqNo().Result.ToString("D5") + "0" + JobOrderIDPDA + priority + FormLocation + ToLocation + TaskType + TrayCnt + PallteCode;
                string str = SendandReply + "901" + Sequence() + "0" + JobOrderIDPDA + priority + FormLocation + ToLocation + TaskType + TrayCnt + PallteCode;
                clientSend(MakeStringToByteMsg(str));
            }
            catch (Exception ex)
            {
                LogFactory.GetLog("PalletActionReportPDA工序901").InfoFormat(true, $"请求参数:{JsonConvert.SerializeObject(ex.Message)}{Environment.NewLine}{ex.StackTrace}", "");
            }
            finally
            {
                BaseDal.Db.Close();
            }
        }
        public void PalletActionReportFrie(string FormLocation, string ToLocation, string TaskType, string PallteCode)
        {
            try
            {
                string str = SendandReply + "901" + BaseDal.GetSeqNo().Result.ToString("D5") + "0" + JobOrderIDF + priority + FormLocation + ToLocation + TaskType + TrayCnt + PallteCode;
                string str = SendandReply + "901" + Sequence() + "0" + JobOrderIDF + priority + FormLocation + ToLocation + TaskType + TrayCnt + PallteCode;
                clientSend(MakeStringToByteMsg(str));
            }
            catch (Exception ex)
            {
                LogFactory.GetLog("PalletActionReportPDA工序901").InfoFormat(true, $"请求参数:{JsonConvert.SerializeObject(ex.Message)}{Environment.NewLine}{ex.StackTrace}", "");
            }
            finally
            {
                BaseDal.Db.Close();
            }
        }
        /// <summary>
@@ -694,7 +667,6 @@
            {
                LogFactory.GetLog("DeviceStationStatusReport").InfoFormat(true, $"请求参数:{JsonConvert.SerializeObject(ex.Message)}{Environment.NewLine}{ex.StackTrace}", "");
            }
        }
        /// /// <summary>
@@ -709,7 +681,7 @@
            try
            {
                ErrorReport(Restocking, "A", "00");
                string str = SendandReply + "105" + BaseDal.GetSeqNo().Result.ToString("D5") + "R" + JobOrderID + priority + FormLocation + ToLocation + TaskType + TrayCnt + PallteCode;
                string str = SendandReply + "105" + Sequence() + "R" + JobOrderID + priority + FormLocation + ToLocation + TaskType + TrayCnt + PallteCode;
                Dt_HostLog hostLog = new Dt_HostLog()
                {
                    CommandID = 105,
@@ -723,11 +695,6 @@
            {
                LogFactory.GetLog("RecreateGetLocation").InfoFormat(true, $"请求参数:{JsonConvert.SerializeObject(ex.Message)}{Environment.NewLine}{ex.StackTrace}", "");
            }
            finally
            {
                BaseDal.Db.Close();
            }
        }
        /// <summary>
@@ -738,16 +705,12 @@
        {
            try
            {
                string str = SendNotReply + "981" + BaseDal.GetSeqNo().Result.ToString("D5") + message;
                string str = SendNotReply + "981" + Sequence() + message;
                clientSend(MakeStringToByteMsg(str));
            }
            catch (Exception ex)
            {
                LogFactory.GetLog("CheckSum").InfoFormat(true, $"请求参数:{JsonConvert.SerializeObject(ex.Message)}{Environment.NewLine}{ex.StackTrace}", "");
            }
            finally
            {
                BaseDal.Db.Close();
            }
        }
@@ -761,17 +724,13 @@
        {
            try
            {
                string str = SendNotReply + "985" + BaseDal.GetSeqNo().Result.ToString("D5") + Trouble + Level + Location;
                string str = SendNotReply + "985" + Sequence() + Trouble + Level + Location;
                clientSend(MakeStringToByteMsg(str));
            }
            catch (Exception ex)
            {
                LogFactory.GetLog("ErrorReport").InfoFormat(true, $"请求参数:{JsonConvert.SerializeObject(ex.Message)}{Environment.NewLine}{ex.StackTrace}", "");
            }
            finally
            {
                BaseDal.Db.Close();
            }
        }
@@ -784,14 +743,13 @@
        {
            try
            {
                string str = SendNotReply + "104" + BaseDal.GetSeqNo().Result.ToString("D5") + Statues;
                string str = SendNotReply + "104" + Sequence() + Statues;
                clientSend(MakeStringToByteMsg(str));
            }
            catch (Exception ex)
            {
                LogFactory.GetLog("DeviceReceiveJobResponse").InfoFormat(true, $"请求参数:{JsonConvert.SerializeObject(ex.Message)}{Environment.NewLine}{ex.StackTrace}", "");
            }
        }
        /// /// <summary>
@@ -806,7 +764,7 @@
            try
            {
                ErrorReport(EmptyOutBoundconst, "A", "00");
                string str = SendandReply + "107" + BaseDal.GetSeqNo().Result.ToString("D5") + "1" + JobOrderID + priority + FormLocation + ToLocation + "O" + TrayCnt + PallteCode;
                string str = SendandReply + "107" + Sequence() + "1" + JobOrderID + priority + FormLocation + ToLocation + "O" + TrayCnt + PallteCode;
                Dt_HostLog hostLog = new Dt_HostLog()
                {
                    CommandID = 107,
@@ -820,11 +778,6 @@
            {
                LogFactory.GetLog("EmptyOutBound").InfoFormat(true, $"请求参数:{JsonConvert.SerializeObject(ex.Message)}{Environment.NewLine}{ex.StackTrace}", "");
            }
            finally
            {
                BaseDal.Db.Close();
            }
        }
        /// <summary>
@@ -835,23 +788,28 @@
        {
            try
            {
                string str = SendNotReply + "910" + BaseDal.GetSeqNo().Result.ToString("D5") + GetFieldsAsString(AgvStatus) + X + Y;
                string str = SendNotReply + "910" + Sequence() + GetFieldsAsString(AgvStatus) + X + Y;
                clientSend(MakeStringToByteMsg(str));
                Dt_HostLog hostLog = new Dt_HostLog()
                var hostlog = SqlSugarHelper.DbWMS.Queryable<Dt_HostLog>().Where(x => x.CommandID == 910).First();
                if (hostlog != null)
                {
                    CommandID = 910,
                    Count = 0,
                    Messgae = str,
                };
                _hostLogRepository.AddData(hostLog);
                    hostlog.ModifyDate=DateTime.Now;
                    SqlSugarHelper.DbWMS.Updateable(hostlog).ExecuteCommand();
                }
                else
                {
                    Dt_HostLog hostLog = new Dt_HostLog()
                    {
                        CommandID = 910,
                        Count = 0,
                        Messgae = str,
                    };
                    _hostLogRepository.AddData(hostLog);
                }
            }
            catch (Exception ex)
            {
                LogFactory.GetLog("DeviceStatusReportResponse").InfoFormat(true, $"请求参数:{JsonConvert.SerializeObject(ex.Message)}{Environment.NewLine}{ex.StackTrace}", "");
            }
            finally
            {
                BaseDal.Db.Close();
            }
        }