1
huangxiaoqiang
2025-05-21 6c8b4c256053c61e848c3f9dd494feebf6ef0cea
1
已修改9个文件
已删除2个文件
1454 ■■■■ 文件已修改
项目代码/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/v17/.suo 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WMS/WIDESEA_WMSServer/WIDESEA_DTO/Socket/ParseMessage.cs 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WMS/WIDESEA_WMSServer/WIDESEA_IStoragIntegrationServices/AGV/IAGVService.cs 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WMS/WIDESEA_WMSServer/WIDESEA_IStorageSocketServices/ISocketClientServices.cs 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WMS/WIDESEA_WMSServer/WIDESEA_IStorageSocketServices/IWorkTaskService.cs 199 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WMS/WIDESEA_WMSServer/WIDESEA_StoragIntegrationServices/AGV/AGVService.cs 80 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WMS/WIDESEA_WMSServer/WIDESEA_StoragIntegrationServices/WIDESEA_StoragIntegrationServices.csproj 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WMS/WIDESEA_WMSServer/WIDESEA_StorageSocketServices/SocketClientService.cs 129 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WMS/WIDESEA_WMSServer/WIDESEA_StorageSocketServices/WorkTaskService.cs 1006 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/AGVController.cs 23 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/appsettings.json 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ÏîÄ¿´úÂë/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/v17/.suo
Binary files differ
ÏîÄ¿´úÂë/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
ÏîÄ¿´úÂë/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);
ÏîÄ¿´úÂë/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入库、O出库、S站台到站台、R移库</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
ÏîÄ¿´úÂë/WMS/WIDESEA_WMSServer/WIDESEA_IStorageSocketServices/IWorkTaskService.cs
ÎļþÒÑɾ³ý
ÏîÄ¿´úÂë/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
ÏîÄ¿´úÂë/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>
ÏîÄ¿´úÂë/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入库、O出库、S站台到站台、R移库</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)
ÏîÄ¿´úÂë/WMS/WIDESEA_WMSServer/WIDESEA_StorageSocketServices/WorkTaskService.cs
ÎļþÒÑɾ³ý
ÏîÄ¿´úÂë/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/AGVController.cs
@@ -1,4 +1,5 @@
using 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);
ÏîÄ¿´úÂë/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"
}