From a9cb1154be286af34862015c57918038c85c3749 Mon Sep 17 00:00:00 2001
From: huangxiaoqiang <1247017146@qq.com>
Date: 星期一, 26 五月 2025 15:26:42 +0800
Subject: [PATCH] 1
---
项目代码/WMS/WIDESEA_WMSServer/WIDESEA_StorageSocketServices/SocketClientService.cs | 129 ++++++++++++++++++++++--------------------
1 files changed, 67 insertions(+), 62 deletions(-)
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_StorageSocketServices/SocketClientService.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_StorageSocketServices/SocketClientService.cs"
index 43d6f4f..8caa053 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_StorageSocketServices/SocketClientService.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_StorageSocketServices/SocketClientService.cs"
@@ -22,7 +22,6 @@
using WIDESEA_Core.BaseRepository;
using AutoMapper;
using Mapster;
-using System.Threading.Tasks;
namespace WIDESEA_StorageSocketServices
{
@@ -45,9 +44,8 @@
private readonly ILocationInfoRepository _locationRepository;
- public SocketClientService(/*IDt_TaskService taskService*/IDt_TaskRepository TaskRepository, IDt_StationManagerRepository stationManagerRepository, ILogger<SocketClientService> logger)
+ public SocketClientService(IDt_TaskRepository TaskRepository, IDt_StationManagerRepository stationManagerRepository, ILogger<SocketClientService> logger)
{
- //_taskService = taskService;
BaseDal = TaskRepository;
_stationManagerRepository = stationManagerRepository;
_logger = logger;
@@ -143,7 +141,7 @@
}
else
{
- LogFactory.GetLog("Socket鎺ユ敹鏁版嵁").Error(true, "鏃犳晥鎶ユ枃鏍煎紡");
+ LogFactory.GetLog("Socket鎺ユ敹鏁版嵁").Error(true, $"鏃犳晥鎶ユ枃鏍煎紡:{JsonConvert.SerializeObject(Y)}");
}
}
catch
@@ -168,7 +166,7 @@
DataReportResponse(x.Substring(21, 1));
break;
case "935":
- DeviceStationStatusInvite();
+ DeviceStationStatusInvite(x.Substring(15, 5));
break;
case "103":
HOSTOutBoundTask(x);
@@ -230,7 +228,7 @@
public void clientSend(byte[] buffer)
{
var Y = Encoding.UTF8.GetString(buffer);
- LogFactory.GetLog("Socket鍙戦�佹暟鎹�").Error(true, Y);
+ LogFactory.GetLog("Socket鍙戦�佹暟鎹�").Info(true, Y);
socket.Send(buffer);
}
@@ -275,7 +273,7 @@
/// <summary>
/// 璁惧缂栧彿
/// </summary>
- public const string DeviceID = "0000000001";
+ public const string DeviceID = "0013130010";
/// <summary>
/// 鍙戦�佷笉闇�瑕佸洖澶�
/// </summary>
@@ -338,7 +336,7 @@
{
try
{
- string str = SendandReply + "101" + BaseDal.GetSeqNo().Result.ToString() + GetFieldsAsString(Agvstatus) + GetListStringOutStation(outStations) + "1" + GetFieldsAsString(inStation);
+ string str = SendandReply + "101" + BaseDal.GetSeqNo().Result.ToString("D5") + GetFieldsAsString(Agvstatus) + GetListStringOutStation(outStations) + "1" + GetFieldsAsString(inStation);
clientSend(MakeStringToByteMsg(str));
}
catch (Exception ex)
@@ -356,7 +354,7 @@
{
try
{
- string str = SendandReply + "925" + BaseDal.GetSeqNo().Result.ToString();
+ string str = SendandReply + "925" + BaseDal.GetSeqNo().Result.ToString("D5");
clientSend(MakeStringToByteMsg(str));
}
catch (Exception ex)
@@ -374,7 +372,7 @@
{
try
{
- string str = SendNotReply + "915" + BaseDal.GetSeqNo().Result.ToString() + Command;
+ string str = SendNotReply + "915" + BaseDal.GetSeqNo().Result.ToString("D5") + Command;
clientSend(MakeStringToByteMsg(str));
}
catch (Exception ex)
@@ -393,7 +391,7 @@
{
try
{
- string str = SendNotReply + "913" + BaseDal.GetSeqNo().Result.ToString() + Status;
+ string str = SendNotReply + "913" + BaseDal.GetSeqNo().Result.ToString("D5") + Status;
clientSend(MakeStringToByteMsg(str));
}
catch (Exception ex)
@@ -412,7 +410,7 @@
{
try
{
- string str = SendNotReply + "917" + BaseDal.GetSeqNo().Result.ToString() + Status;
+ string str = SendNotReply + "917" + BaseDal.GetSeqNo().Result.ToString("D5") + Status;
clientSend(MakeStringToByteMsg(str));
}
catch (Exception ex)
@@ -434,7 +432,7 @@
{
try
{
- string str = SendandReply + "905" + BaseDal.GetSeqNo().Result.ToString() + Status + JobOrderID + priority + FormLocation + ToLocation + TaskType + TrayCnt + PallteCode;
+ string str = SendandReply + "905" + BaseDal.GetSeqNo().Result.ToString("D5") + Status + JobOrderID + priority + FormLocation + ToLocation + TaskType + TrayCnt + PallteCode;
clientSend(MakeStringToByteMsg(str));
}
catch (Exception ex)
@@ -457,7 +455,7 @@
{
try
{
- string str = SendNotReply + "907" + BaseDal.GetSeqNo().Result.ToString() + Status + JobOrderID + priority + FormLocation + ToLocation + TaskType + TrayCnt + PallteCode;
+ string str = SendNotReply + "907" + BaseDal.GetSeqNo().Result.ToString("D5") + Status + JobOrderID + priority + FormLocation + ToLocation + TaskType + TrayCnt + PallteCode;
clientSend(MakeStringToByteMsg(str));
}
catch (Exception ex)
@@ -479,7 +477,7 @@
{
try
{
- string str = SendandReply + "901" + BaseDal.GetSeqNo().Result.ToString() + "0" + JobOrderID + priority + FormLocation + ToLocation + TaskType + TrayCnt + PallteCode;
+ string str = SendandReply + "901" + BaseDal.GetSeqNo().Result.ToString("D5") + "0" + JobOrderID + priority + FormLocation + ToLocation + TaskType + TrayCnt + PallteCode;
clientSend(MakeStringToByteMsg(str));
}
catch (Exception ex)
@@ -497,11 +495,14 @@
/// <param name="TaskType">浠诲姟绫诲瀷 I鍏ュ簱銆丱鍑哄簱銆丼绔欏彴鍒扮珯鍙般�丷绉诲簱</param>
/// <param name="PallteCode">鎵樼洏鍙�</param>
/// <returns></returns>
- public void DeviceStationStatusReport(HOSTAGVStatus Agvstatus, List<OutStationStatus> outStations, List<InStationStatus> inStation)
+ public void DeviceStationStatusReport(HOSTAGVStatus Agvstatus, List<OutStationStatus> outStations, List<InStationStatus> inStation, string sGetSeqNo)
{
try
{
- string str = SendNotReply + "936" + BaseDal.GetSeqNo().Result.ToString() + GetFieldsAsString(Agvstatus) + GetListStringOutStation(outStations) + GetListStringInStation(inStation);
+ var agvstatus = GetFieldsAsString(Agvstatus);
+ var outstation = GetListStringOutStation(outStations);
+ var instation = GetListStringInStation(inStation);
+ string str = SendNotReply + "936" + sGetSeqNo + agvstatus + outstation + OutStationSpare2 + "2" + instation;
clientSend(MakeStringToByteMsg(str));
}
catch (Exception ex)
@@ -522,7 +523,7 @@
{
try
{
- string str = SendandReply + "105" + BaseDal.GetSeqNo().Result.ToString() + "R" + JobOrderID + priority + FormLocation + ToLocation + TaskType + TrayCnt + PallteCode;
+ string str = SendandReply + "105" + BaseDal.GetSeqNo().Result.ToString("D5") + "R" + JobOrderID + priority + FormLocation + ToLocation + TaskType + TrayCnt + PallteCode;
clientSend(MakeStringToByteMsg(str));
}
catch (Exception ex)
@@ -542,7 +543,7 @@
{
try
{
- string str = SendNotReply + "985" + BaseDal.GetSeqNo().Result.ToString() + Trouble + Level + Location;
+ string str = SendNotReply + "985" + BaseDal.GetSeqNo().Result.ToString("D5") + Trouble + Level + Location;
clientSend(MakeStringToByteMsg(str));
}
catch (Exception ex)
@@ -561,7 +562,7 @@
{
try
{
- string str = SendNotReply + "104" + BaseDal.GetSeqNo().Result.ToString() + Statues;
+ string str = SendNotReply + "104" + BaseDal.GetSeqNo().Result.ToString("D5") + Statues;
clientSend(MakeStringToByteMsg(str));
}
catch (Exception ex)
@@ -582,7 +583,7 @@
{
try
{
- string str = SendandReply + "107" + BaseDal.GetSeqNo().Result.ToString() + "1" + JobOrderID + priority + FormLocation + ToLocation + "O" + TrayCnt + PallteCode;
+ string str = SendandReply + "107" + BaseDal.GetSeqNo().Result.ToString("D5") + "1" + JobOrderID + priority + FormLocation + ToLocation + "O" + TrayCnt + PallteCode;
clientSend(MakeStringToByteMsg(str));
}
catch (Exception ex)
@@ -598,7 +599,8 @@
/// <param name="AgvStatus"></param>
public void DeviceStatusReportResponse(HOSTAGVStatus AgvStatus, string X, string Y)
{
- string str = SendNotReply + "910" + BaseDal.GetSeqNo().Result.ToString() + "1" + GetFieldsAsString(AgvStatus) + X + Y;
+ string str = SendNotReply + "910" + BaseDal.GetSeqNo().Result.ToString("D5") + GetFieldsAsString(AgvStatus) + X + Y;
+ clientSend(MakeStringToByteMsg(str));
}
#endregion
@@ -783,44 +785,47 @@
/// HOST璁惧鐘舵�佽幏鍙� 宸ュ簭935
/// </summary>
/// <param name="message"></param>
- public void DeviceStationStatusInvite()
+ public void DeviceStationStatusInvite(string sSeqNo)
{
try
{
//鍥炲936
- List<Dt_StationManager> Instation = _stationManagerRepository.QueryData(x => x.stationType == 1).ToList();
- List<Dt_StationManager> Outstation = _stationManagerRepository.QueryData(x => x.stationType == 2).ToList();
List<OutStationStatus> outStationStatus = new List<OutStationStatus>();
List<InStationStatus> inStationStatus = new List<InStationStatus>();
- foreach (var item in Instation)
+ StationStatus stationIn = GetStationStatus("B002");
+
+ inStationStatus.Add(new InStationStatus()
{
- inStationStatus.Add(new InStationStatus()
- {
- StationName = item.stationName,
- StationEnable = item.stationStatus,
- IsDistributionTask = item.stationHasTask,
- PallteCode = "0000000000",
- });
- }
- foreach (var item in Outstation)
+ StationName = "02",
+ StationEnable = stationIn.WorkstationO == "1" ? "0" : "1",
+ IsDistributionTask = "0",
+ PallteCode = "0000000000",
+ });
+ inStationStatus.Add(new InStationStatus()
{
- StationStatus station = GetStationStatus(item.stationName);
- var taskStation = BaseDal.QueryFirst(x => x.SourceAddress == item.stationName || x.TargetAddress == item.stationName);
- outStationStatus.Add(new OutStationStatus()
- {
- StationName = item.HostName,
- StationEnable = station.StationEnable == "1" ? "0" : "1",
- IsDistributionTask = taskStation == null ? "0" : "1",
- Spare1 = "00"
- });
- //outStationStatus.Add(new OutStationStatus()
- //{
- // StationName = item.stationName,
- // StationEnable = item.stationStatus,
- // IsDistributionTask = item.stationHasTask,
- // Spare1 = "00"
- //});
- }
+ StationName = "01",
+ StationEnable = stationIn.WorkstationT == "1" ? "0" : "1",
+ IsDistributionTask = "0",
+ PallteCode = "0000000000",
+ });
+
+ StationStatus stationOut = GetStationStatus("B001");
+ var taskOutStationO = BaseDal.QueryFirst(x => x.SourceAddress == "B001::1" || x.TargetAddress == "B001::1");
+ var taskOutStationT = BaseDal.QueryFirst(x => x.SourceAddress == "B001::2" || x.TargetAddress == "B001::2");
+ outStationStatus.Add(new OutStationStatus()
+ {
+ StationName = "04",
+ StationEnable = stationOut.WorkstationO == "1" ? "0" : "1",
+ IsDistributionTask = taskOutStationO == null ? "0" : "1",
+ Spare1 = "00"
+ });
+ outStationStatus.Add(new OutStationStatus()
+ {
+ StationName = "03",
+ StationEnable = stationOut.WorkstationT == "1" ? "0" : "1",
+ IsDistributionTask = taskOutStationT == null ? "0" : "1",
+ Spare1 = "00"
+ });
AGVStatusRespone status = GetAGVStatus();
HOSTAGVStatus AgvStatus = new HOSTAGVStatus()
{
@@ -828,7 +833,7 @@
AutoStatus = status.AutoStatus == "MaintenanceMode" ? "1" : "0",
Ready = status.AutoStatus == "MaintenanceMode" ? "0" : "1",
};
- DeviceStationStatusReport(AgvStatus, outStationStatus, inStationStatus);
+ DeviceStationStatusReport(AgvStatus, outStationStatus, inStationStatus, sSeqNo);
}
catch (Exception)
{
@@ -900,6 +905,7 @@
Ready = status.AutoStatus == "MaintenanceMode" ? "0" : "1",
};
string axis = "000000";
+
DeviceStatusReportResponse(AgvStatus, axis, axis);
}
#endregion
@@ -917,7 +923,6 @@
{
byte[] byt = Encoding.UTF8.GetBytes(Message); // 浣跨敤 UTF-8 閬垮厤缂栫爜闂
- LogFactory.GetLog("璇锋眰鎵樼洏浠诲姟").Error(true, BitConverter.ToString(byt));
string checksum = GetCheckSum(byt);
string str = Message + checksum;
@@ -939,6 +944,8 @@
// 澶嶅埗鍘熷鏁扮粍鐨勬墍鏈夋暟鎹埌鏂版暟缁勭殑涓棿閮ㄥ垎
Array.Copy(buffer, 0, newArray, 1, buffer.Length);
+ //var parseMessage = GetParse(str);
+ LogFactory.GetLog("Socket鍙戦�佹姤鏂�").Info(true, str);
return newArray;
}
catch (Exception ex)
@@ -946,17 +953,13 @@
throw new Exception(ex.Message);
}
}
- //public bool IsOnline()
- //{
-
- //}
public string GetListStringOutStation(List<OutStationStatus> outStationStatus)
{
return string.Join("", outStationStatus.Select(status => $"{status.StationName}{status.StationEnable}{status.IsDistributionTask}{status.Spare1}"));
}
public string GetListStringInStation(List<InStationStatus> inStationStatus)
{
- return string.Join("", inStationStatus.Select(status => $"{status.StationName}{status.StationEnable}{status.IsDistributionTask}{status.Spare1}"));
+ return string.Join("", inStationStatus.Select(status => $"{status.StationName}{status.StationEnable}{status.IsDistributionTask}{status.IsHasPallte}{status.Spare1}{status.StationPallteCount}{status.PallteCode}{status.Spare2}"));
}
/// <summary>
/// 灏嗗璞″�煎嚟鎷兼帴
@@ -1050,6 +1053,8 @@
}
else
{
+
+
Console.WriteLine("鏍¢獙澶辫触锛�");
return null;
}
@@ -1186,7 +1191,7 @@
}
public AGVStatusRespone GetAGVStatus()
{
- string urlnew = url + "/ilns/AGV/getAgvState";
+ string urlnew = url + "/ilns/AGV/getState";
var result = HttpsClient.PostAsync(urlnew, JsonConvert.DeserializeObject<Dictionary<string, object>>(new { getStatus = "1" }.ToJson())).Result;
return JsonConvert.DeserializeObject<AGVStatusRespone>(result.ToString());
@@ -1194,8 +1199,8 @@
public StationStatus GetStationStatus(string stationName)
{
- string urlnew = url + "/ilns/strl/getState";
- var result = HttpsClient.PostAsync(urlnew, JsonConvert.DeserializeObject<Dictionary<string, object>>(new { strlName = stationName }.ToJson())).Result;
+ string urlnew = url + "/ilns/ctrl/getState";
+ var result = HttpsClient.PostAsync(urlnew, JsonConvert.DeserializeObject<Dictionary<string, object>>(new { ctrlName = "B001" }.ToJson())).Result;
return JsonConvert.DeserializeObject<StationStatus>(result.ToString());
}
public string CapitalizeFirstLetter(string s)
--
Gitblit v1.9.3