From 6c8b4c256053c61e848c3f9dd494feebf6ef0cea Mon Sep 17 00:00:00 2001 From: huangxiaoqiang <1247017146@qq.com> Date: 星期三, 21 五月 2025 14:25:50 +0800 Subject: [PATCH] 1 --- /dev/null | 1006 ----------------------------------------------- 项目代码/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/appsettings.json | 4 项目代码/WMS/WIDESEA_WMSServer/WIDESEA_StoragIntegrationServices/AGV/AGVService.cs | 80 ++- 项目代码/WMS/WIDESEA_WMSServer/WIDESEA_StorageSocketServices/SocketClientService.cs | 129 +++-- 项目代码/WMS/WIDESEA_WMSServer/WIDESEA_IStoragIntegrationServices/AGV/IAGVService.cs | 3 项目代码/WMS/WIDESEA_WMSServer/WIDESEA_DTO/Socket/ParseMessage.cs | 3 项目代码/WMS/WIDESEA_WMSServer/WIDESEA_StoragIntegrationServices/WIDESEA_StoragIntegrationServices.csproj | 1 项目代码/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/AGVController.cs | 23 项目代码/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/v17/.suo | 0 项目代码/WMS/WIDESEA_WMSServer/WIDESEA_IStorageSocketServices/ISocketClientServices.cs | 6 10 files changed, 148 insertions(+), 1,107 deletions(-) diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/v17/.suo" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/v17/.suo" index a7edf7d..91c3958 100644 --- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/v17/.suo" +++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/v17/.suo" Binary files differ diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_DTO/Socket/ParseMessage.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_DTO/Socket/ParseMessage.cs" index 3459c27..1511bdd 100644 --- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_DTO/Socket/ParseMessage.cs" +++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_DTO/Socket/ParseMessage.cs" @@ -153,7 +153,8 @@ /// <summary> /// 鏄惁鍚敤 /// </summary> - public string StationEnable { get; set; } + public string WorkstationO { get; set; } + public string WorkstationT { get; set; } } public class Connection diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_IStoragIntegrationServices/AGV/IAGVService.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_IStoragIntegrationServices/AGV/IAGVService.cs" index edcbd9f..e461c8d 100644 --- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_IStoragIntegrationServices/AGV/IAGVService.cs" +++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_IStoragIntegrationServices/AGV/IAGVService.cs" @@ -16,7 +16,8 @@ WebResponseContent AGVStartOrEndJob(string Status, int TaskNum); //public WebResponseContent PallteLoadOrUnLoad(string Message, string PallteCode); - WebResponseContent DeviceErrorResponse(string Message,int TaskNum); + WebResponseContent DeviceErrorResponse(string Message, int TaskNum); + WebResponseContent RequestOutTask(string PalletCode, string SourceAddress, string TargetAddress); WebResponseContent InTask(string PalletCode, string SourceAddress, string TargetAddress); diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_IStorageSocketServices/ISocketClientServices.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_IStorageSocketServices/ISocketClientServices.cs" index 9f32bed..2c2d481 100644 --- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_IStorageSocketServices/ISocketClientServices.cs" +++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_IStorageSocketServices/ISocketClientServices.cs" @@ -19,7 +19,7 @@ /// <param name="IP"></param> /// <param name="Port"></param> /// <returns></returns> - void ConnectServer(string IP, int Port); + void ConnectServer(string IP, int Port); /// <summary> /// 鍙戦�� @@ -107,7 +107,7 @@ /// <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); /// /// <summary> /// 閲嶆柊鑾峰彇璐т綅淇℃伅 宸ュ簭105 @@ -168,7 +168,7 @@ /// HOST璁惧鐘舵�佽幏鍙� 宸ュ簭935 /// </summary> /// <param name="message"></param> - public void DeviceStationStatusInvite(); + public void DeviceStationStatusInvite(string sSeqNo); /// <summary> /// 鎺ユ敹HOST閲嶆柊鍒嗛厤璐т綅 宸ュ簭106 diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_IStorageSocketServices/IWorkTaskService.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_IStorageSocketServices/IWorkTaskService.cs" deleted file mode 100644 index 26872f7..0000000 --- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_IStorageSocketServices/IWorkTaskService.cs" +++ /dev/null @@ -1,199 +0,0 @@ -锘縰sing System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; -using WIDESEA_Core; -using WIDESEA_DTO; -using WIDESEA_DTO.AGV; -using WIDESEA_StorageSocketServices; - -namespace WIDESEA_IStorageSocketServices -{ - public interface IWorkTaskService : IDependency - { - /// <summary> - /// 璁惧璇锋眰鍏ュ簱 宸ュ簭101 - /// </summary> - /// <param name="PallteCode">鎵樼洏鍙�</param> - /// <param name="InStation">鍏ュ簱绔欏彴</param> - public void DeviceRequestInbound(HOSTAGVStatus Agvstatus, List<OutStationStatus> outStations, InStationStatus inStation); - - /// <summary> - /// 璇锋眰閫氳 宸ュ簭925 - /// </summary> - /// <param name="PallteCode">鎵樼洏鍙�</param> - /// <param name="InStation">鍏ュ簱绔欏彴</param> - public void RequestCommunication(); - - /// <summary> - /// 涓嶅厑璁镐笅鍙戜换鍔� 宸ュ簭915 - /// </summary> - /// <param name="Command">鍛戒护</param> - /// <returns></returns> - public void JobReady(string Command); - - /// <summary> - /// 璁惧鐘舵�佷笂鎶� 宸ュ簭913 - /// </summary> - /// <param name="state">鐘舵�乗銆丷杩愯</param> - /// <returns></returns> - public void DeviceStateReport(string Status); - - /// <summary> - /// 璁惧鐘舵�佷笂鎶� 宸ュ簭917 - /// </summary> - /// <param name="state">鐘舵�乗銆丆ontrolMode鑷姩銆丮aintenanceMode鎵嬪姩</param> - public void DeviceAutoStatusReport(string Status); - - /// /// <summary> - /// 浣滀笟寮�濮嬫垨缁撴潫 宸ュ簭905 - /// </summary> - /// <param name="Status">鐘舵�� L鎸嘇GV灏嗘墭鐩樺弶鍒拌揣鍙変笂銆乁鎸嘇GV灏嗘墭鐩樻斁鍒板簱浣嶄笂</param> - /// <param name="FormLocation">璧风偣</param> - /// <param name="ToLocation">缁堢偣</param> - /// <param name="TaskType">浠诲姟绫诲瀷 I鍏ュ簱銆丱鍑哄簱銆丼绔欏彴鍒扮珯鍙般�丷绉诲簱</param> - /// <param name="PallteCode">鎵樼洏鍙�</param> - public void JobStartOrEnd(string Status, string FormLocation, string ToLocation, string TaskType, string PallteCode); - - - /// <summary> - /// 鎵樼洏鍔ㄤ綔涓婃姤 宸ュ簭907 - /// </summary> - /// <param name="Status">鐘舵�� L鎸嘇GV灏嗘墭鐩樺弶鍒拌揣鍙変笂銆乁鎸嘇GV灏嗘墭鐩樻斁鍒板簱浣嶄笂</param> - /// <param name="FormLocation">璧风偣</param> - /// <param name="ToLocation">缁堢偣</param> - /// <param name="TaskType">浠诲姟绫诲瀷 I鍏ュ簱銆丱鍑哄簱銆丼绔欏彴鍒扮珯鍙般�丷绉诲簱</param> - /// <param name="PallteCode">鎵樼洏鍙�</param> - /// <returns></returns> - public void PalletActionReport(string Status, string FormLocation, string ToLocation, string TaskType, string PallteCode); - - /// <summary> - /// 浣滀笟瀹屾垚涓婃姤 宸ュ簭901 - /// </summary> - /// <param name="FormLocation">璧风偣</param> - /// <param name="ToLocation">缁堢偣</param> - /// <param name="TaskType">浠诲姟绫诲瀷 I鍏ュ簱銆丱鍑哄簱銆丼绔欏彴鍒扮珯鍙般�丷绉诲簱</param> - /// <param name="PallteCode">鎵樼洏鍙�</param> - /// <returns></returns> - public void PalletActionReport(string FormLocation, string ToLocation, string TaskType, string PallteCode); - - /// <summary> - /// 鍥炲HOST909宸ュ簭 宸ュ簭910 - /// </summary> - /// <param name="AgvStatus"></param> - public void DeviceStatusReportResponse(HOSTAGVStatus AgvStatus, string X, string Y); - - /// <summary> - /// 璁惧绔欏彴鐘舵�佷笂鎶� 宸ュ簭936 - /// </summary> - /// <param name="FormLocation">璧风偣</param> - /// <param name="ToLocation">缁堢偣</param> - /// <param name="TaskType">浠诲姟绫诲瀷 I鍏ュ簱銆丱鍑哄簱銆丼绔欏彴鍒扮珯鍙般�丷绉诲簱</param> - /// <param name="PallteCode">鎵樼洏鍙�</param> - /// <returns></returns> - public void DeviceStationStatusReport(HOSTAGVStatus Agvstatus, List<OutStationStatus> outStations, List<InStationStatus> inStation); - - /// /// <summary> - /// 閲嶆柊鑾峰彇璐т綅淇℃伅 宸ュ簭105 - /// </summary> - /// <param name="FormLocation">璧风偣</param> - /// <param name="ToLocation">缁堢偣</param> - /// <param name="TaskType">浠诲姟绫诲瀷 I鍏ュ簱銆丱鍑哄簱銆丼绔欏彴鍒扮珯鍙般�丷绉诲簱</param> - /// <param name="PallteCode">鎵樼洏鍙�</param> - public void RecreateGetLocation(string FormLocation, string ToLocation, string TaskType, string PallteCode); - - /// /// <summary> - /// 寮傚父涓婃姤 宸ュ簭985 - /// </summary> - /// <param name="FormLocation">璧风偣</param> - /// <param name="ToLocation">缁堢偣</param> - /// <param name="Location">00琛ㄧずAGV閿欒銆�01-08琛ㄧず绔欏彴閿欒銆�99琛ㄧず浣滀笟鎺ユ敹鍓嶆暟鎹敊璇�</param> - public void ErrorReport(string Trouble, string Level, string Location); - - /// <summary> - /// 鎺ユ敹HOST宸ュ簭103鍥為鍝嶅簲 宸ュ簭104 - /// </summary> - /// <param name="Statues">0琛ㄧずOK鎺ユ敹浣滀笟銆�1琛ㄧず鎷掔粷銆�9琛ㄧず浣滀笟浠诲姟楠岃瘉鏈夎</param> - /// <returns></returns> - public void DeviceReceiveJobResponse(string Statues); - - /// /// <summary> - /// 绌哄嚭搴� 宸ュ簭107 - /// </summary> - /// <param name="FormLocation">璧风偣</param> - /// <param name="ToLocation">缁堢偣</param> - /// <param name="TaskType">浠诲姟绫诲瀷 I鍏ュ簱銆丱鍑哄簱銆丼绔欏彴鍒扮珯鍙般�丷绉诲簱</param> - /// <param name="PallteCode">鎵樼洏鍙�</param> - public void EmptyOutBound(string FormLocation, string ToLocation, string PallteCode); - - /// <summary> - /// 鎺ユ敹HOST 鍝嶅簲璇锋眰 宸ュ簭102 鍥炲宸ュ簭101 - /// </summary> - /// <param name="message"></param> - public void ReceiveCommandResponse(string message); - - /// <summary> - /// 鎺ユ敹HOST鍝嶅簲AGV浣滀笟寮�濮嬫垨鍚姩 宸ュ簭906 鍥炲宸ュ簭905 - /// </summary> - public void AGVJobStartOrEndResponse(string status,string message); - - /// <summary> - /// 鏁版嵁鎶ュ憡鍝嶅簲 宸ュ簭902 鍥炲宸ュ簭901 - /// </summary> - public void DataReportResponse(string message); - - /// <summary> - /// HOST涓嬪彂鍑哄簱浠诲姟 宸ュ簭103 - /// </summary> - /// <param name="message"></param> - public void HOSTOutBoundTask(string message); - - /// <summary> - /// HOST璁惧鐘舵�佽幏鍙� 宸ュ簭935 - /// </summary> - /// <param name="message"></param> - public void DeviceStationStatusInvite(); - - /// <summary> - /// 鎺ユ敹HOST閲嶆柊鍒嗛厤璐т綅 宸ュ簭106 - /// </summary> - /// <param name="message"></param> - public void RecreateGetLocation(string message); - - /// <summary> - /// HOST绌哄嚭搴撳搷搴� 宸ュ簭108 - /// </summary> - /// <param name="message"></param> - public void EmptyOutBoundResponse(string message); - - /// <summary> - /// HOST鑾峰彇璁惧鐘舵�� 宸ュ簭909 - /// </summary> - public void DeviceStatusReportRequest(); - - /// <summary> - /// 鎷兼帴鎶ユ枃 - /// </summary> - /// <param name="Message"></param> - /// <returns></returns> - /// <exception cref="Exception"></exception> - public byte[] MakeStringToByteMsg(string Message); - - /// <summary> - /// 鑾峰彇CheckSum鍊� - /// </summary> - /// <param name="data"></param> - /// <returns></returns> - /// <exception cref="Exception"></exception> - public string GetCheckSum(byte[] data); - - public string GetListStringOutStation(List<OutStationStatus> outStationStatus); - public string GetListStringInStation(List<InStationStatus> inStationStatus); - - public AGVStatusRespone GetAGVStatus(); - - public string CapitalizeFirstLetter(string s); - public StationStatus GetStationStatus(string stationName); - } -} diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_StoragIntegrationServices/AGV/AGVService.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_StoragIntegrationServices/AGV/AGVService.cs" index 3c643e1..0a6e45e 100644 --- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_StoragIntegrationServices/AGV/AGVService.cs" +++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_StoragIntegrationServices/AGV/AGVService.cs" @@ -27,11 +27,11 @@ private readonly ISys_ConfigService _configService; private readonly IDt_StationManagerRepository _stationManagerRepository; private readonly LogFactory LogFactory = new LogFactory(); - private readonly ISocketClientServices _Socket; + public SocketClientService _Socket { get; set; } private readonly IMapper _mapper; private readonly IDt_DeviceInfoRepository _deviceInfoRepository; - public AGVService(ILocationInfoRepository locationRepository,IDt_TaskRepository taskRepository,IStockInfoRepository stockInfoRepository, ISys_ConfigService configService, IDt_StationManagerRepository stationManagerRepository,IDt_DeviceInfoRepository deviceInfoRepository, IMapper mapper, ISocketClientServices socketClientServices) + public AGVService(ILocationInfoRepository locationRepository, IDt_TaskRepository taskRepository, IStockInfoRepository stockInfoRepository, ISys_ConfigService configService, IDt_StationManagerRepository stationManagerRepository, IDt_DeviceInfoRepository deviceInfoRepository, IMapper mapper, SocketClientService socketClientService) { _locationRepository = locationRepository; BaseDal = taskRepository; @@ -40,7 +40,7 @@ _stationManagerRepository = stationManagerRepository; _deviceInfoRepository = deviceInfoRepository; _mapper = mapper; - _Socket= socketClientServices; + _Socket = socketClientService; } #region 澶栭儴鎺ュ彛鏂规硶 @@ -67,38 +67,39 @@ return content.Error("璇ユ墭鐩樺凡瀛樺湪浠诲姟"); } List<OutStationStatus> outStationStatus = new List<OutStationStatus>(); - foreach (var item in Outstation) + StationStatus stationOut = _Socket.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() { - StationStatus station = _Socket.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" - }); - } + 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 = _Socket.GetAGVStatus(); HOSTAGVStatus AgvStatus = new HOSTAGVStatus() { RuntimeStatus = _Socket.CapitalizeFirstLetter(status.RuntimeStatus), - AutoStatus = status.AutoStatus== "MaintenanceMode"?"1":"0", + AutoStatus = status.AutoStatus == "MaintenanceMode" ? "1" : "0", Ready = status.AutoStatus == "MaintenanceMode" ? "0" : "1", }; InStationStatus inStationStatus = new InStationStatus() { - StationName = Instation.stationName, + StationName = Instation.HostName, StationEnable = "0", IsDistributionTask = "0", - PallteCode = task.PalletCode, + PallteCode = PalletCode, }; _Socket.DeviceRequestInbound(AgvStatus, outStationStatus, inStationStatus); return content.OK("宸蹭笅鍙戝叆搴撲换鍔�"); - } - catch (Autofac.Core.DependencyResolutionException ex) - { - return content.Error(ex.Message); } catch (Exception ex) { @@ -161,12 +162,12 @@ switch (Status.AutoStatus) { case "MaintenanceMode": - //鎵嬪姩 + //杩愯 _Socket.DeviceAutoStatusReport("1"); Thread.Sleep(500); break; case "ControlMode": - //鑷姩 + //鍏虫満 _Socket.DeviceAutoStatusReport("0"); Thread.Sleep(500); break; @@ -191,7 +192,7 @@ } } - + public WebResponseContent AGVStartOrEndJob(string Status, int TaskNum) { WebResponseContent content = new WebResponseContent(); @@ -293,7 +294,7 @@ } - public WebResponseContent DeviceErrorResponse(string Message,int TaskNum) + public WebResponseContent DeviceErrorResponse(string Message, int TaskNum) { WebResponseContent content = new WebResponseContent(); try @@ -301,7 +302,7 @@ var task = BaseDal.QueryFirst(x => x.TaskNum == TaskNum); if (task != null) { - switch(Message) + switch (Message) { case "RepeatInbound": @@ -309,7 +310,7 @@ case "EmptyOutbound": break; - default:break; + default: break; } } return content.OK(); @@ -319,6 +320,30 @@ return content.Error(ex.Message); } } + + public WebResponseContent add() + { + WebResponseContent content = new WebResponseContent(); + try + { + task_call task_Call = new task_call() + { + d_task_type = 2, + d_floor = 1, + d_involed1 = "000004", + d_involed2 = "450101", + d_involed5 = 11, + }; + + var x = SqlSugarHelper.DbAGV.Insertable(task_Call).ExecuteCommand(); + return content.OK(data: x); + } + catch (Exception ex) + { + return content.Error(ex.Message); + } + } + public WebResponseContent RequestOutTask(string PalletCode, string SourceAddress, string TargetAddress) { WebResponseContent content = new WebResponseContent(); @@ -395,6 +420,7 @@ return content.Error(ex.Message); } } + public WebResponseContent GetAGVStatus() { try diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_StoragIntegrationServices/WIDESEA_StoragIntegrationServices.csproj" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_StoragIntegrationServices/WIDESEA_StoragIntegrationServices.csproj" index cf16f6a..17616aa 100644 --- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_StoragIntegrationServices/WIDESEA_StoragIntegrationServices.csproj" +++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_StoragIntegrationServices/WIDESEA_StoragIntegrationServices.csproj" @@ -14,6 +14,7 @@ <ProjectReference Include="..\WIDESEA_IStoragIntegrationServices\WIDESEA_IStoragIntegrationServices.csproj" /> <ProjectReference Include="..\WIDESEA_Services\WIDESEA_Services.csproj" /> <ProjectReference Include="..\WIDESEA_StorageBasicServices\WIDESEA_StorageBasicServices.csproj" /> + <ProjectReference Include="..\WIDESEA_StorageSocketServices\WIDESEA_StorageSocketServices.csproj" /> </ItemGroup> </Project> 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) diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_StorageSocketServices/WorkTaskService.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_StorageSocketServices/WorkTaskService.cs" deleted file mode 100644 index 59b2d03..0000000 --- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_StorageSocketServices/WorkTaskService.cs" +++ /dev/null @@ -1,1006 +0,0 @@ -锘縰sing AngleSharp.Dom; -using AutoMapper; -using LogLibrary.Log; -using Newtonsoft.Json; -using SqlSugar; -using System; -using System.Collections.Generic; -using System.Linq; -using System.Net.NetworkInformation; -using System.Reflection; -using System.Reflection.Metadata; -using System.Text; -using System.Threading.Tasks; -using WIDESEA_Common; -using WIDESEA_Core; -using WIDESEA_Core.BaseRepository; -using WIDESEA_Core.Enums; -using WIDESEA_Core.Helper; -using WIDESEA_DTO; -using WIDESEA_DTO.AGV; -using WIDESEA_IStorageBasicRepository; -using WIDESEA_IStorageSocketServices; -using WIDESEA_IStorageTaskRepository; -using WIDESEA_IStorageTaskServices; -using WIDESEA_Model.Models; -using WIDESEA_Model.Models.AGV; -using WIDESEA_StorageTaskRepository; -using WIDESEAWCS_BasicInfoRepository; -using WIDESEAWCS_Model.Models; -using static Microsoft.EntityFrameworkCore.DbLoggerCategory.Database; - -namespace WIDESEA_StorageSocketServices -{ - public class WorkTaskService:IWorkTaskService - { - private readonly IDt_TaskRepository _taskRepository; - private readonly IDt_Task_HtyRepository _task_HtyRepository; - private readonly IDt_TaskService _taskService; - private readonly IMapper _mapper; - private readonly IStockInfoRepository _stockInfoRepository; - private readonly IUnitOfWorkManage _unitOfWorkManage; - private readonly ILocationInfoRepository _locationRepository; - private readonly IDt_StationManagerRepository _stationManagerRepository; - private readonly LogFactory LogFactory = new LogFactory(); - private readonly ISocketClientServices _socket; - string url = AppSettings.Configuration["AGVIP"]; - public WorkTaskService(IDt_TaskRepository dt_TaskRepository, ISocketClientServices socket, IDt_StationManagerRepository stationManagerRepository,IDt_TaskService taskService, IDt_Task_HtyRepository dt_Task_HtyRepository,ILocationInfoRepository locationRepository, IMapper mapper,IUnitOfWorkManage unitOfWorkManage,IStockInfoRepository stockInfoRepository) - { - _taskRepository = dt_TaskRepository; - _socket = socket; - _stationManagerRepository = stationManagerRepository; - _taskService = taskService; - _task_HtyRepository = dt_Task_HtyRepository; - _locationRepository = locationRepository; - _mapper = mapper; - _unitOfWorkManage = unitOfWorkManage; - _stockInfoRepository = stockInfoRepository; - } - - #region 甯搁噺 - public const byte STX = 2; - public const byte ETX = 3; - - - /// <summary> - /// 浣滀笟浠诲姟ID 棰勭暀 - /// </summary> - public const string JobOrderID = "0000000000000000"; - - /// <summary> - /// 浼樺厛绾� 棰勭暀 - /// </summary> - public const string priority = "1"; - - /// <summary> - /// 鎵樼洏涓暟 棰勭暀 - /// </summary> - public const string TrayCnt = "1"; - - /// <summary> - /// 璁惧缂栧彿 - /// </summary> - public const string DeviceID = "0000000001"; - /// <summary> - /// 鍙戦�佷笉闇�瑕佸洖澶� - /// </summary> - public const string SendNotReply = "1" + DeviceID + "0"; - /// <summary> - /// 鍙戦�侀渶瑕佸洖澶� - /// </summary> - public const string SendandReply = "1" + DeviceID + "1"; - /// <summary> - /// 鍑哄簱绔欏彴鍚敤宸插垎閰嶄换鍔� - /// </summary> - public const string OutBoundStationEnableDistribution = "1000"; - /// <summary> - /// 鍑哄簱绔欏彴鍚敤鏈垎閰嶄换鍔� - /// </summary> - public const string OutBoundStationEnableUndistributed = "1100"; - /// <summary> - /// 鍑哄簱绔欏彴绂佺敤 - /// </summary> - public const string OutBoundStationDisabled = "0000"; - /// <summary> - /// 鍏ュ簱绔欏彴涓暟 - /// </summary> - public const string InBoundStationCount = "1"; - - /// <summary> - /// 鍏ュ簱绔欏彴鐘舵�� - /// </summary> - public const string InBoundStationStatus = "1010001"; - /// <summary> - /// 棰勭暀 - /// </summary> - public const string Spare1 = "0000000000000000000000000000000000000000000000000000000000000000000000"; - - /// <summary> - /// 鍑哄簱绔欏彴棰勭暀 - /// </summary> - public const string OutStationSpare2 = "000000000000"; - - /// <summary> - /// 棰勭暀 - /// </summary> - public const string Spare3 = "000"; - - /// <summary> - /// 鎵樼洏鍙� - /// </summary> - public const string Spare4 = "0000000000"; - - #endregion - - #region WMS涓嬪彂HOST鏂规硶 - - /// <summary> - /// 璁惧璇锋眰鍏ュ簱 宸ュ簭101 - /// </summary> - /// <param name="PallteCode">鎵樼洏鍙�</param> - /// <param name="InStation">鍏ュ簱绔欏彴</param> - public void DeviceRequestInbound(HOSTAGVStatus Agvstatus, List<OutStationStatus> outStations, InStationStatus inStation) - { - try - { - string str = SendandReply + "101" + _taskRepository.GetSeqNo().Result.ToString() + GetFieldsAsString(Agvstatus) + GetListStringOutStation(outStations) +"1" + GetFieldsAsString(inStation); - _socket.clientSend(MakeStringToByteMsg(str)); - } - catch (Exception ex) - { - throw new Exception(ex.Message); - } - } - - /// <summary> - /// 璇锋眰閫氳 宸ュ簭925 - /// </summary> - /// <param name="PallteCode">鎵樼洏鍙�</param> - /// <param name="InStation">鍏ュ簱绔欏彴</param> - public void RequestCommunication() - { - try - { - string str = SendandReply + "925" + _taskRepository.GetSeqNo().Result.ToString(); - _socket.clientSend(MakeStringToByteMsg(str)); - } - catch (Exception ex) - { - throw new Exception(ex.Message); - } - } - - /// <summary> - /// 涓嶅厑璁镐笅鍙戜换鍔� 宸ュ簭915 - /// </summary> - /// <param name="Command">鍛戒护</param> - /// <returns></returns> - public void JobReady(string Command) - { - try - { - string str = SendNotReply + "915" + _taskRepository.GetSeqNo().Result.ToString() + Command; - _socket.clientSend(MakeStringToByteMsg(str)); - } - catch (Exception ex) - { - throw new Exception(ex.Message); - } - - } - - /// <summary> - /// 璁惧鐘舵�佷笂鎶� 宸ュ簭913 - /// </summary> - /// <param name="state">鐘舵�乗銆丷杩愯</param> - /// <returns></returns> - public void DeviceStateReport(string Status) - { - try - { - string str = SendNotReply + "913" + _taskRepository.GetSeqNo().Result.ToString() + Status; - _socket.clientSend(MakeStringToByteMsg(str)); - } - catch (Exception ex) - { - throw new Exception(ex.Message); - } - - } - - /// <summary> - /// 璁惧鐘舵�佷笂鎶� 宸ュ簭917 - /// </summary> - /// <param name="state">鐘舵�乗銆丷杩愯</param> - /// <returns></returns> - public void DeviceAutoStatusReport(string Status) - { - try - { - string str = SendNotReply + "917" + _taskRepository.GetSeqNo().Result.ToString() + Status; - _socket.clientSend(MakeStringToByteMsg(str)); - } - catch (Exception ex) - { - throw new Exception(ex.Message); - } - - } - - /// /// <summary> - /// 浣滀笟寮�濮嬫垨缁撴潫 宸ュ簭905 - /// </summary> - /// <param name="Status">鐘舵�� L鎸嘇GV灏嗘墭鐩樺弶鍒拌揣鍙変笂銆乁鎸嘇GV灏嗘墭鐩樻斁鍒板簱浣嶄笂</param> - /// <param name="FormLocation">璧风偣</param> - /// <param name="ToLocation">缁堢偣</param> - /// <param name="TaskType">浠诲姟绫诲瀷 I鍏ュ簱銆丱鍑哄簱銆丼绔欏彴鍒扮珯鍙般�丷绉诲簱</param> - /// <param name="PallteCode">鎵樼洏鍙�</param> - public void JobStartOrEnd(string Status, string FormLocation, string ToLocation, string TaskType, string PallteCode) - { - try - { - string str = SendandReply + "905" + _taskRepository.GetSeqNo().Result.ToString() + Status + JobOrderID + priority + FormLocation + ToLocation + TaskType + TrayCnt + PallteCode; - _socket.clientSend(MakeStringToByteMsg(str)); - } - catch (Exception ex) - { - throw new Exception(ex.Message); - } - - } - - /// <summary> - /// 鎵樼洏鍔ㄤ綔涓婃姤 宸ュ簭907 - /// </summary> - /// <param name="Status">鐘舵�� L鎸嘇GV灏嗘墭鐩樺弶鍒拌揣鍙変笂銆乁鎸嘇GV灏嗘墭鐩樻斁鍒板簱浣嶄笂</param> - /// <param name="FormLocation">璧风偣</param> - /// <param name="ToLocation">缁堢偣</param> - /// <param name="TaskType">浠诲姟绫诲瀷 I鍏ュ簱銆丱鍑哄簱銆丼绔欏彴鍒扮珯鍙般�丷绉诲簱</param> - /// <param name="PallteCode">鎵樼洏鍙�</param> - /// <returns></returns> - public void PalletActionReport(string Status, string FormLocation, string ToLocation, string TaskType, string PallteCode) - { - try - { - string str = SendNotReply + "907" + _taskRepository.GetSeqNo().Result.ToString() + Status + JobOrderID + priority + FormLocation + ToLocation + TaskType + TrayCnt + PallteCode; - _socket.clientSend(MakeStringToByteMsg(str)); - } - catch (Exception ex) - { - throw new Exception(ex.Message); - } - - } - - /// <summary> - /// 浣滀笟瀹屾垚涓婃姤 宸ュ簭901 - /// </summary> - /// <param name="FormLocation">璧风偣</param> - /// <param name="ToLocation">缁堢偣</param> - /// <param name="TaskType">浠诲姟绫诲瀷 I鍏ュ簱銆丱鍑哄簱銆丼绔欏彴鍒扮珯鍙般�丷绉诲簱</param> - /// <param name="PallteCode">鎵樼洏鍙�</param> - /// <returns></returns> - public void PalletActionReport(string FormLocation, string ToLocation, string TaskType, string PallteCode) - { - try - { - string str = SendandReply + "901" + _taskRepository.GetSeqNo().Result.ToString() + "0" + JobOrderID + priority + FormLocation + ToLocation + TaskType + TrayCnt + PallteCode; - _socket.clientSend(MakeStringToByteMsg(str)); - } - catch (Exception ex) - { - throw new Exception(ex.Message); - } - - } - - /// <summary> - /// 璁惧绔欏彴鐘舵�佷笂鎶� 宸ュ簭936 - /// </summary> - /// <param name="FormLocation">璧风偣</param> - /// <param name="ToLocation">缁堢偣</param> - /// <param name="TaskType">浠诲姟绫诲瀷 I鍏ュ簱銆丱鍑哄簱銆丼绔欏彴鍒扮珯鍙般�丷绉诲簱</param> - /// <param name="PallteCode">鎵樼洏鍙�</param> - /// <returns></returns> - public void DeviceStationStatusReport(HOSTAGVStatus Agvstatus, List<OutStationStatus> outStations, List<InStationStatus> inStation) - { - try - { - string str = SendNotReply + "936" + _taskRepository.GetSeqNo().Result.ToString() + GetFieldsAsString(Agvstatus) + GetListStringOutStation(outStations) + GetListStringInStation(inStation); - _socket.clientSend(MakeStringToByteMsg(str)); - } - catch (Exception ex) - { - throw new Exception(ex.Message); - } - - } - - /// /// <summary> - /// 閲嶆柊鑾峰彇璐т綅淇℃伅 宸ュ簭105 - /// </summary> - /// <param name="FormLocation">璧风偣</param> - /// <param name="ToLocation">缁堢偣</param> - /// <param name="TaskType">浠诲姟绫诲瀷 I鍏ュ簱銆丱鍑哄簱銆丼绔欏彴鍒扮珯鍙般�丷绉诲簱</param> - /// <param name="PallteCode">鎵樼洏鍙�</param> - public void RecreateGetLocation(string FormLocation, string ToLocation, string TaskType, string PallteCode) - { - try - { - string str = SendandReply + "105" + _taskRepository.GetSeqNo().Result.ToString() + "R" + JobOrderID + priority + FormLocation + ToLocation + TaskType + TrayCnt + PallteCode; - _socket.clientSend(MakeStringToByteMsg(str)); - } - catch (Exception ex) - { - throw new Exception(ex.Message); - } - - } - - /// /// <summary> - /// 寮傚父涓婃姤 宸ュ簭985 - /// </summary> - /// <param name="FormLocation">璧风偣</param> - /// <param name="ToLocation">缁堢偣</param> - /// <param name="Location">00琛ㄧずAGV閿欒銆�01-08琛ㄧず绔欏彴閿欒銆�99琛ㄧず浣滀笟鎺ユ敹鍓嶆暟鎹敊璇�</param> - public void ErrorReport(string Trouble, string Level, string Location) - { - try - { - string str = SendNotReply + "985" + _taskRepository.GetSeqNo().Result.ToString() + Trouble + Level + Location; - _socket.clientSend(MakeStringToByteMsg(str)); - } - catch (Exception ex) - { - throw new Exception(ex.Message); - } - - } - - /// <summary> - /// 鎺ユ敹HOST宸ュ簭103鍥為鍝嶅簲 宸ュ簭104 - /// </summary> - /// <param name="Statues">0琛ㄧずOK鎺ユ敹浣滀笟銆�1琛ㄧず鎷掔粷銆�9琛ㄧず浣滀笟浠诲姟楠岃瘉鏈夎</param> - /// <returns></returns> - public void DeviceReceiveJobResponse(string Statues) - { - try - { - string str = SendNotReply + "104" + _taskRepository.GetSeqNo().Result.ToString() + Statues; - _socket.clientSend(MakeStringToByteMsg(str)); - } - catch (Exception ex) - { - throw new Exception(ex.Message); - } - - } - - /// /// <summary> - /// 绌哄嚭搴� 宸ュ簭107 - /// </summary> - /// <param name="FormLocation">璧风偣</param> - /// <param name="ToLocation">缁堢偣</param> - /// <param name="TaskType">浠诲姟绫诲瀷 I鍏ュ簱銆丱鍑哄簱銆丼绔欏彴鍒扮珯鍙般�丷绉诲簱</param> - /// <param name="PallteCode">鎵樼洏鍙�</param> - public void EmptyOutBound( string FormLocation, string ToLocation, string PallteCode) - { - try - { - string str = SendandReply + "107" + _taskRepository.GetSeqNo().Result.ToString() + "1" + JobOrderID + priority + FormLocation + ToLocation + "O" + TrayCnt + PallteCode; - _socket.clientSend(MakeStringToByteMsg(str)); - } - catch (Exception ex) - { - throw new Exception(ex.Message); - } - - } - - /// <summary> - /// 鍥炲HOST909宸ュ簭 宸ュ簭910 - /// </summary> - /// <param name="AgvStatus"></param> - public void DeviceStatusReportResponse(HOSTAGVStatus AgvStatus,string X,string Y) - { - string str = SendNotReply + "910" + _taskRepository.GetSeqNo().Result.ToString() + "1" + GetFieldsAsString(AgvStatus)+X+Y; - } - - #endregion - - #region WMS鎺ユ敹HOST鍥炰紶鏂规硶 - - /// <summary> - /// 鎺ユ敹HOST 鍝嶅簲璇锋眰 宸ュ簭102 鍥炲宸ュ簭101 - /// </summary> - /// <param name="message"></param> - public void ReceiveCommandResponse(string message) - { - var parseMessage = GetParse(message); - switch (parseMessage.body.ret) - { - //OK - case "0": - //UpdateTaskLocation(parseMessage); - InsertWMSTask(parseMessage); - Thread.Sleep(500); - //915 - JobReady("0"); - break; - //NG - case "1": - break; - //鏃犲簱浣嶅垎閰� - case "2": - break; - //绔欏彴鍒扮珯鍙帮紝鍑哄簱绔欏彴鏈噯澶囧ソ - case "3": - break; - //闈炲父娓╁伐绋� - case "4": - break; - - case "9": - break; - default: - break; - } - } - - /// <summary> - /// 鎺ユ敹HOST鍝嶅簲AGV浣滀笟寮�濮嬫垨鍚姩 宸ュ簭906 鍥炲宸ュ簭905 - /// </summary> - public void AGVJobStartOrEndResponse(string status, string message) - { - switch (message) - { - //OK - case "0": - if (status == "E") - { - DeviceStateReport("I"); - Thread.Sleep(3000); - JobReady("1"); - } - break; - //NG - case "1": - //璋冪敤AGV鏆傚仠鎺ュ彛 - break; - case "9": - break; - default: - break; - } - } - - /// <summary> - /// 鏁版嵁鎶ュ憡鍝嶅簲 宸ュ簭902 鍥炲宸ュ簭901 - /// </summary> - public void DataReportResponse(string message) - { - Dt_Task task = _taskRepository.QueryFirst(x => x.TaskState == (int)TaskOutStatusEnum.AGV_OutFinish || x.TaskState == (int)TaskRelocationStatusEnum.AGV_RelocationFinish || x.TaskState == (int)TaskInStatusEnum.AGV_InFinish); - if (task != null) - { - switch (task.TaskType) - { - case (int)TaskInboundTypeEnum.Inbound: - //鍏ュ簱 - task.TaskState = (int)TaskInStatusEnum.AGV_InFinish; - if (message == "0") - { - JobStartOrEnd("E", task.SourceAddress, task.TargetAddress, "O", task.PalletCode); - } - _taskService.CompleteInboundTask(task); - break; - case (int)TaskOutboundTypeEnum.Outbound: - //鍑哄簱 - if (message == "0") - { - JobStartOrEnd("E", task.SourceAddress, task.TargetAddress, "O", task.PalletCode); - } - task.TaskState = (int)TaskOutStatusEnum.AGV_OutFinish; - _taskService.CompleteOutboundTask(task); - break; - case (int)TaskRelocationTypeEnum.Relocation: - if (message == "0") - { - JobStartOrEnd("E", task.SourceAddress, task.TargetAddress, "O", task.PalletCode); - } - task.TaskState = (int)TaskRelocationStatusEnum.AGV_RelocationFinish; - _taskService.CompleteRelocationboundTask(task); - break; - case (int)TaskStationTypeEnum.StationToStation: - if (message == "0") - { - JobStartOrEnd("E", task.SourceAddress, task.TargetAddress, "O", task.PalletCode); - } - task.TaskState = (int)TaskOutStatusEnum.AGV_OutFinish; - _taskService.TaskMoveHty(task); - break; - default: - break; - } - - } - } - /// <summary> - /// HOST涓嬪彂鍑哄簱浠诲姟 宸ュ簭103 - /// </summary> - /// <param name="message"></param> - public void HOSTOutBoundTask(string message) - { - try - { - var parseMessage = GetParse(message); - switch (parseMessage.body.ret) - { - //OK - case "0": - var task=InsertWMSTask(parseMessage); - _taskRepository.AddData(task); - InsertAGVTask(task); - Thread.Sleep(500); - //915 - JobReady("0"); - Thread.Sleep(500); - //104 - DeviceReceiveJobResponse("0"); - break; - default: - break; - } - } - catch (Exception) - { - DeviceReceiveJobResponse("1"); - } - - } - - /// <summary> - /// HOST璁惧鐘舵�佽幏鍙� 宸ュ簭935 - /// </summary> - /// <param name="message"></param> - public void DeviceStationStatusInvite() - { - 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) - { - inStationStatus.Add(new InStationStatus() - { - StationName = item.stationName, - StationEnable = item.stationStatus, - IsDistributionTask = item.stationHasTask, - PallteCode = "0000000000", - }); - } - foreach (var item in Outstation) - { - StationStatus station = GetStationStatus(item.stationName); - var taskStation = _taskRepository.QueryFirst(x => x.SourceAddress == item.stationName || x.TargetAddress == item.stationName); - outStationStatus.Add(new OutStationStatus() - { - StationName = item.stationName, - 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" - //}); - } - AGVStatusRespone status = GetAGVStatus(); - HOSTAGVStatus AgvStatus = new HOSTAGVStatus() - { - RuntimeStatus = CapitalizeFirstLetter(status.RuntimeStatus), - AutoStatus = status.AutoStatus == "MaintenanceMode" ? "1" : "0", - Ready = status.AutoStatus == "MaintenanceMode" ? "0" : "1", - }; - DeviceStationStatusReport(AgvStatus, outStationStatus, inStationStatus); - } - catch (Exception) - { - DeviceReceiveJobResponse("1"); - } - - } - - /// <summary> - /// 鎺ユ敹HOST閲嶆柊鍒嗛厤璐т綅 宸ュ簭106 - /// </summary> - /// <param name="message"></param> - public void RecreateGetLocation(string message) - { - try - { - var parseMessage = GetParse(message); - switch (parseMessage.body.ret) - { - //OK - case "0": - UpdateTaskLocation(parseMessage); - break; - //NG - case "1": - break; - //鏃犲簱浣嶅垎閰� - case "2": - break; - case "9": - break; - default: - break; - } - } - catch (Exception) - { - DeviceReceiveJobResponse("1"); - } - - } - - /// <summary> - /// HOST绌哄嚭搴撳搷搴� 宸ュ簭108 - /// </summary> - /// <param name="message"></param> - public void EmptyOutBoundResponse(string message) - { - if (message != null && message == "0") - { - DeviceStateReport("I"); - Thread.Sleep(500); - JobReady("1"); - - } - } - - /// <summary> - /// HOST鑾峰彇璁惧鐘舵�� 宸ュ簭909 - /// </summary> - public void DeviceStatusReportRequest() - { - HOSTAGVStatus AgvStatus = new HOSTAGVStatus() - { - RuntimeStatus = "R", - AutoStatus = "1", - Ready="1" - }; - string axis = "000000"; - DeviceStatusReportResponse(AgvStatus,axis,axis); - } - #endregion - - #region 鍏ㄥ眬鏂规硶 - /// <summary> - /// 鎷兼帴鎶ユ枃 - /// </summary> - /// <param name="Message"></param> - /// <returns></returns> - /// <exception cref="Exception"></exception> - public byte[] MakeStringToByteMsg(string Message) - { - try - { - byte[] byt = Encoding.UTF8.GetBytes(Message); // 浣跨敤 UTF-8 閬垮厤缂栫爜闂 - - LogFactory.GetLog("璇锋眰鎵樼洏浠诲姟").Error(true, BitConverter.ToString(byt)); - string checksum = GetCheckSum(byt); - - string str = Message + checksum; - - byte[] buffer = Encoding.UTF8.GetBytes(str); - - byte newFirstByte = 2; // 鏂扮殑绗竴浣嶆暟鎹� - byte newLastByte = 3; // 鏂扮殑鏈�鍚庝竴浣嶆暟鎹� - - // 鍒涘缓涓�涓柊鏁扮粍锛岄暱搴︽瘮鍘熷鏁扮粍澶�2 - byte[] newArray = new byte[buffer.Length + 2]; - - // 灏嗘柊鐨勬暟鎹彃鍏ュ埌鏂版暟缁勭殑绗竴浣� - newArray[0] = newFirstByte; - - // 灏嗘柊鐨勬暟鎹彃鍏ュ埌鏂版暟缁勭殑鏈�鍚庝竴浣� - newArray[newArray.Length - 1] = newLastByte; - - // 澶嶅埗鍘熷鏁扮粍鐨勬墍鏈夋暟鎹埌鏂版暟缁勭殑涓棿閮ㄥ垎 - Array.Copy(buffer, 0, newArray, 1, buffer.Length); - - return newArray; - } - catch (Exception ex) - { - 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}")); - } - /// <summary> - /// 灏嗗璞″�煎嚟鎷兼帴 - /// </summary> - /// <param name="obj"></param> - /// <returns></returns> - public static string GetFieldsAsString(object obj) - { - if (obj == null) - { - return "Object is null"; - } - - StringBuilder builder = new StringBuilder(); - Type type = obj.GetType(); - - foreach (PropertyInfo property in type.GetProperties()) - { - if (property.CanRead) - { - object value = property.GetValue(obj); - if (value != null) - { - builder.Append(value); - } - } - } - return builder.ToString(); - } - /// <summary> - /// 鑾峰彇CheckSum鍊� - /// </summary> - /// <param name="data"></param> - /// <returns></returns> - /// <exception cref="Exception"></exception> - public string GetCheckSum(byte[] data) - { - int sum = 0; - try - { - for (int i = 0; i < data.Length; i++) - { - sum += data[i]; - } - string str = sum.ToString(); - return str.Substring(str.Length - 2); - } - catch (Exception ex) - { - throw new Exception(ex.Message); - } - } - - public ParseMessage SubString(string Y) - { - - const string STX = "0x02"; - const string ETX = "0x03"; - - // 妫�鏌ユ槸鍚︿互 STX 寮�澶淬�丒TX 缁撳熬 - if (Y.Substring(0, 4) == STX && Y.Substring(Y.Length - 4) == ETX) - { - string str = Y.Substring(4, Y.Length - 8); - byte[] message = Encoding.UTF8.GetBytes(str); - int newLength = message.Length - 2; - - if (newLength < 0) - { - throw new ArgumentException("鏁扮粍闀垮害涓嶈冻锛屾棤娉曞幓鎺夋渶鍚庝袱浣嶃��"); - } - - byte[] newArray = new byte[newLength]; - Array.Copy(message, 0, newArray, 0, newLength); - string calculatedChecksum = GetCheckSum(newArray); - - string receivedChecksum = str.Substring(str.Length - 2); - - if (calculatedChecksum == receivedChecksum) - { - var x = Encoding.UTF8.GetString(newArray); - ParseMessage parseMessage = new ParseMessage() - { - bDir = x.Substring(0, 1), - bObjID = x.Substring(2, 10), - bReply = x.Substring(11, 1), - bCmdID = x.Substring(12, 3), - nSeqNo = x.Substring(15, 5), - //Body = x.Substring(21), - }; - return parseMessage; - } - else - { - Console.WriteLine("鏍¢獙澶辫触锛�"); - return null; - } - } - else - { - Console.WriteLine("鏃犳晥鎶ユ枃鏍煎紡锛�"); - return null; - } - } - #endregion - - #region 瀹氫箟瀵硅薄 - - - #endregion - - #region 绉佹湁鏂规硶 - private void UpdateTaskLocation(ParseMessage parseMessage) - { - var task = _taskRepository.QueryFirst(x => x.SeqNo == Convert.ToInt32(parseMessage.nSeqNo) && x.PalletCode.Contains(parseMessage.body.TrayIdList)); - if (task != null) - { - task.TargetAddress = parseMessage.body.ToLocation; - task_call agvtask = SqlSugarHelper.DbAGV.Queryable<task_call>().Where(it => it.d_involed5 == task.TaskNum).First(); - _taskRepository.Update(task); - SqlSugarHelper.DbAGV.Updateable(agvtask).ExecuteCommand(); - } - - } - - private Dt_Task InsertWMSTask(ParseMessage parseMessage) - { - //var task = _taskRepository.QueryFirst(x => x.PalletCode.Contains(parseMessage.body.TrayIdList)); - int taskType = 0; - int taskState = 0; - if (parseMessage.body.JobType == "I") - { - taskType = (int)TaskInboundTypeEnum.Inbound; - taskState = (int)TaskInStatusEnum.InNew; - } - else if (parseMessage.body.JobType == "O") - { - taskType = (int)TaskOutboundTypeEnum.Outbound; - taskState = (int)TaskOutStatusEnum.OutNew; - } - else if (parseMessage.body.JobType == "S") - { - taskType = (int)TaskStationTypeEnum.StationToStation; - taskState = (int)TaskOutStatusEnum.OutNew; - } - else if (parseMessage.body.JobType == "R") - { - taskType = (int)TaskRelocationTypeEnum.Relocation; - taskState = (int)TaskRelocationStatusEnum.RelocationNew; - } - else - { - throw new Exception("鏈煡搴撲綅"); - } - return new Dt_Task() - { - TaskNum = _taskRepository.GetTaskNo().Result, - SourceAddress = parseMessage.body.FromLocation, - TargetAddress = parseMessage.body.ToLocation, - PalletCode = parseMessage.body.TrayIdList.Substring(0, 10), - TaskType = taskType, - TaskState = taskState, - Dispatchertime = DateTime.Now, - SeqNo = Convert.ToInt32(parseMessage.nSeqNo), - CommandID = Convert.ToInt32(parseMessage.bCmdID) - }; - - } - /// <summary> - /// 娣诲姞AGV浠诲姟 - /// </summary> - /// <param name="task">浠诲姟瀵硅薄</param> - /// <returns></returns> - private int InsertAGVTask(Dt_Task task) - { - task_call task_Call = new task_call() - { - d_task_type = task.TaskType == (int)TaskTypeEnum.Inbound ? 1 : 2, - d_floor = 1, - d_involed1 = task.SourceAddress, - d_involed2 = task.TargetAddress, - d_involed5 = task.TaskNum, - }; - - return SqlSugarHelper.DbAGV.Insertable(task_Call).ExecuteCommand(); - } - public ParseMessage GetParse(string x) - { - return new ParseMessage() - { - bDir = x.Substring(0, 1), - bObjID = x.Substring(2, 10), - bReply = x.Substring(11, 1), - bCmdID = x.Substring(12, 3), - nSeqNo = x.Substring(15, 5), - body = new ReceiveBody - { - ret = x.Substring(21, 1), - JobOrderID = x.Substring(22, 16), - priority = x.Substring(39, 1), - FromLocation = x.Substring(40, 6), - ToLocation = x.Substring(47, 6), - JobType = x.Substring(54, 1), - TrayCnt = x.Substring(55, 1), - TrayIdList = x.Substring(56) - }, - }; - } - public AGVStatusRespone GetAGVStatus() - { - string urlnew = url + "/ilns/AGV/getAgvState"; - var result = HttpsClient.PostAsync(urlnew, JsonConvert.DeserializeObject<Dictionary<string, object>>(new { getStatus = "1" }.ToJson())).Result; - - return JsonConvert.DeserializeObject<AGVStatusRespone>(result.ToString()); - } - - public StationStatus GetStationStatus(string stationName) - { - string urlnew = url + "/ilns/strl/getStat"; - var result = HttpsClient.PostAsync(urlnew, JsonConvert.DeserializeObject<Dictionary<string, object>>(new { strlName = stationName }.ToJson())).Result; - return JsonConvert.DeserializeObject<StationStatus>(result.ToString()); - } - - - //public string GetFirstUpper(string Status) - //{ - // switch (Status) - // { - // case "Run": - // //杩愯 - // return "R"; - // case "Idle": - // //鍏虫満 - // return "I"; - // case "Trouble": - // //鏁呴殰 - // return "T"; - // case "Pause": - // //鏆傚仠 - // return "S"; - // case "Charge": - // //鍏呯數 - // return "C"; - // case "PowerOn": - // //寮�鏈� - // return "P"; - // case "PowerOFF": - // //鍏虫満 - // return "O"; - // case "MaintenanceMode": - // //鍏虫満 - // return "1"; - // case "ControlMode": - // //鍏虫満 - // return "0"; - // default: break; - // } - //} - public string CapitalizeFirstLetter(string s) - { - if (string.IsNullOrEmpty(s)) - { - return ""; - } - - char firstChar = s[0]; - return char.ToUpper(firstChar).ToString(); - } - #endregion - } -} diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/AGVController.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/AGVController.cs" index 0880976..efda1b9 100644 --- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/AGVController.cs" +++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/AGVController.cs" @@ -1,4 +1,5 @@ 锘縰sing Microsoft.AspNetCore.Mvc; +using NewLife.Net; using WIDESEA_DTO.AGV; using WIDESEA_IStoragIntegrationServices; @@ -25,7 +26,7 @@ /// <param name="TaskNum"></param> /// <param name="SourceAddress"></param> /// <returns></returns> - [HttpGet,HttpPost, Route("RequestInTask"), AllowAnonymous] + [HttpGet, HttpPost, Route("RequestInTask"), AllowAnonymous] public WebResponseContent RequestInTask(string PalletCode, string SourceAddress) { return _service.RequestInTask(PalletCode, SourceAddress); @@ -54,6 +55,18 @@ return _service.AGVStartOrEndJob(Status, TaskNum); } + ///// <summary> + ///// AGV鍙栬揣鎴栨斁璐� + ///// </summary> + ///// <param name="Message"></param> + ///// <param name="PallteCode"></param> + ///// <returns></returns> + //[HttpGet, Route("PallteLoadOrUnLoad"), AllowAnonymous] + //public WebResponseContent PallteLoadOrUnLoad(string Message, string PallteCode) + //{ + // return _taskService.PallteLoadOrUnLoad(Message,PallteCode); + //} + /// <summary> /// 璁惧鐘舵�佷笂鎶� /// </summary> @@ -61,18 +74,18 @@ /// <param name="PallteCode"></param> /// <returns></returns> [HttpGet, HttpPost, Route("DeviceErrorResponse"), AllowAnonymous] - public WebResponseContent DeviceErrorResponse(string Message,int TaskNum) + public WebResponseContent DeviceErrorResponse(string Message, int TaskNum) { - return _service.DeviceErrorResponse(Message,TaskNum); + return _service.DeviceErrorResponse(Message, TaskNum); } - [HttpGet, Route("RequestOutTask"), AllowAnonymous] + [HttpGet, HttpPost, Route("RequestOutTask"), AllowAnonymous] public WebResponseContent RequestOutTask(string PalletCode, string SourceAddress, string TargetAddress) { return _service.RequestOutTask(PalletCode, SourceAddress, TargetAddress); } - [HttpGet, Route("InTask"), AllowAnonymous] + [HttpGet, HttpPost, Route("InTask"), AllowAnonymous] public WebResponseContent InTask(string PalletCode, string SourceAddress, string TargetAddress) { return _service.InTask(PalletCode, SourceAddress, TargetAddress); diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/appsettings.json" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/appsettings.json" index 1647845..4c91340 100644 --- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/appsettings.json" +++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/appsettings.json" @@ -43,8 +43,8 @@ "TransfertRows": "1,4,5,8", "PDAVersion": "2", "Connection": { - "IP": "127.0.0.1", - "Port": "1314" + "IP": "10.42.180.129", + "Port": "16001" }, "AGVIP": "127.0.0.1:8370" } -- Gitblit v1.9.3