yanjinhui
2 天以前 91f8fb7a6b52f5c6ff2119e34ef1359ec79d189e
优化重写plc信号以及编写海康小车报警信号
已添加1个文件
已修改4个文件
136 ■■■■■ 文件已修改
代码管理/WCS/WIDESEAWCS_Server/WIDESEAWCS_DTO/AGV/HIKROBOT/HKDeviceAalarmDTO.cs 57 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WCS/WIDESEAWCS_Server/WIDESEAWCS_ITaskInfoService/ITaskService.cs 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/HKTaskMethods.cs 51 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskMethods.cs 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
´úÂë¹ÜÀí/WCS/WIDESEAWCS_Server/WIDESEAWCS_DTO/AGV/HIKROBOT/HKDeviceAalarmDTO.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,57 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace WIDESEAWCS_DTO.AGV.HIKROBOT
{
    /// <summary>
    /// æµ·åº·å¼‚常告警DTO
    /// </summary>
    public class HKDeviceAalarmDTO
    {
        /// <summary>
        /// å‡ºçŽ°å¼‚å¸¸çš„ä»»åŠ¡å”¯ä¸€æ ‡è¯†ã€‚
        /// </summary>
        public string robotTaskCode { get; set; }
        /// <summary>
        /// ä»»åŠ¡å¼‚å¸¸å‘Šè­¦å•å·
        /// </summary>
        public string taskWarnCode { get; set; }
        /// <summary>
        /// åˆæ¬¡å‡ºçŽ°æ•…éšœçš„æ—¶é—´
        /// </summary>
        public string startTime { get; set; }
        /// <summary>
        /// æ­£åœ¨æ‰§è¡Œä»»åŠ¡çš„æœºå™¨äººå”¯ä¸€æ ‡è¯†ã€‚
        /// </summary>
        public string singleRobotCode { get; set; }
        /// <summary>
        /// è‡ªå®šä¹‰æ•…障码
        /// </summary>
        public string errorCode { get; set; }
        /// <summary>
        /// è‡ªå®šä¹‰æ•…障消息
        /// </summary>
        public string errorMsg { get; set; }
        /// <summary>
        /// è‡ªå®šä¹‰æ‰©å±•字段
        /// </summary>
        public string extra { get; set; }
    }
}
´úÂë¹ÜÀí/WCS/WIDESEAWCS_Server/WIDESEAWCS_ITaskInfoService/ITaskService.cs
@@ -312,6 +312,8 @@
        /// <param name="TaskCode">任务号</param>
        /// <returns></returns>
        WebResponseContent Hikvisiontaskscontinue(string TaskCode, string Address = null);
        /// <summary>
        /// å¹³åº“货位上下架容器
        /// </summary>
@@ -326,5 +328,13 @@
        /// <param name="upLocationStatusDTO"></param>
        /// <returns></returns>
        WebResponseContent UpLocationStatus(UpLocationStatusDTO upLocationStatusDTO);
        /// <summary>
        /// æµ·åº·è®¾å¤‡æŠ¥è­¦ä¿¡æ¯
        /// </summary>
        /// <returns></returns>
         WebResponseContent HKDeviceAlarm(HKDeviceAalarmDTO hKDeviceAalarmDTO);
    }
}
´úÂë¹ÜÀí/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/HKTaskMethods.cs
@@ -34,9 +34,9 @@
            try
            {
                Dt_HKLocationInfo? hKLocationInfo = null;
                if (taskType==(int)TaskTypeEnum.STURR)
                if (taskType == (int)TaskTypeEnum.STURR)
                {
                    var reslut=_stationInfo.Repository.QueryFirst(x=>x.StationCode==taskDTO.fromLocationCode) ?? throw new Exception($"未找到起点货位【{taskDTO.fromLocationCode}】");
                    var reslut = _stationInfo.Repository.QueryFirst(x => x.StationCode == taskDTO.fromLocationCode) ?? throw new Exception($"未找到起点货位【{taskDTO.fromLocationCode}】");
                }
                #region ç‚¹åˆ°ç‚¹
                if (!string.IsNullOrEmpty(taskDTO.toLocationCode))
@@ -143,7 +143,7 @@
                        throw new Exception($"终点站台【{taskDTO.toLocationCode}】状态不为空闲!");
                    }
                }
                    Dt_Task dt_Task = new Dt_Task()
                Dt_Task dt_Task = new Dt_Task()
                {
                    TaskNum = GetTaskNum(nameof(SequenceEnum.SeqTaskNum)),
                    WMSTaskNum = taskDTO.taskCode,
@@ -255,7 +255,7 @@
            {
                var tasktype = (TaskTypeEnum)Enum.GetValues(typeof(TaskTypeEnum)).GetValue(task.TaskType - 1);
                hIKROBOTTaskSubmit.initPriority = task.Grade;
                if (task.PalletCode== "MR-Q3-600LE-D(M)")
                if (task.PalletCode == "MR-Q3-600LE-D(M)")
                {
                    hIKROBOTTaskSubmit.robotType = "19"; //海康 è½¬è¿è½¦
                }
@@ -464,5 +464,48 @@
            return content;
        }
        public WebResponseContent HKDeviceAlarm(HKDeviceAalarmDTO hKDeviceAalarmDTO)
        {
            WebResponseContent content = new WebResponseContent();
            WMSReturn wMSReturn = null;
            HKDeviceAalarmDTO hIKROBOTDeviceAlarm = null;
            try
            {
                Dt_ApiInfo? apiInfo = _apiInfoService.Repository.QueryFirst(x => x.ApiCode == nameof(HKDeviceAalarmDTO)) ?? throw new Exception("未找到上报海康AGV设备报警接口配置信息!请检查接口配置");
                hIKROBOTDeviceAlarm = new HKDeviceAalarmDTO()
                {
                    robotTaskCode = hKDeviceAalarmDTO.robotTaskCode,
                    taskWarnCode = hKDeviceAalarmDTO.taskWarnCode,
                    startTime = hKDeviceAalarmDTO.startTime,
                    singleRobotCode = hKDeviceAalarmDTO.singleRobotCode,
                    errorCode = hKDeviceAalarmDTO.errorCode,
                    errorMsg = hKDeviceAalarmDTO.errorMsg,
                    extra = hKDeviceAalarmDTO.extra,
                };
                string response = HttpHelper.Post(apiInfo.ApiAddress, hIKROBOTDeviceAlarm.Serialize());
                wMSReturn = response.DeserializeObject<WMSReturn>();
                if (wMSReturn.success == true && wMSReturn.message == "success")
                {
                    content.OK("上报海康AGV设备报警信息成功");
                }
                else
                {
                    content.Error(wMSReturn.message);
                }
            }
            catch (Exception ex)
            {
                content.Error(ex.Message);
            }
            finally
            {
                _trackloginfoService.AddTrackLog(hIKROBOTDeviceAlarm, content, "上报海康AGV设备报警信息", "", "");
            }
            return content;
        }
    }
}
´úÂë¹ÜÀí/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskMethods.cs
@@ -162,7 +162,7 @@
                                        }
                                        catch (Exception ex)
                                        {
                                            task.ExceptionMessage = $"【{task.SourceAddress}】写入3楼出库箱放到位失败";
                                            task.ExceptionMessage = $"【{task.SourceAddress}】写入3楼出库箱放到位失败{ex.Message}";
                                            task.Remark = $"{device.DeviceCode}_Outboundboxon_{1}_{task.SourceAddress}"; throw;
                                        }
                                        
@@ -198,7 +198,7 @@
                                        catch (Exception ex)
                                        {
                                            task.ExceptionMessage = $"【{task.TargetAddress}】写入4楼空箱放到位失败";
                                            task.ExceptionMessage = $"【{task.TargetAddress}】写入4楼空箱放到位失败{ex.Message}";
                                            task.Remark = $"{device.DeviceCode}_Emptyboxplacedinposition_{1}_{task.TargetAddress}";
                                        }
                                        
@@ -234,7 +234,7 @@
                                        catch (Exception ex)
                                        {
                                            task.ExceptionMessage = $"【{task.SourceAddress}】写入4楼出库取箱完成失败";
                                            task.ExceptionMessage = $"【{task.SourceAddress}】写入4楼出库取箱完成失败{ex.Message}";
                                            task.Remark = $"{device.DeviceCode}_Outboundboxretrievalcompleted_{1}_{task.SourceAddress}";
                                        }
                                      
@@ -271,7 +271,7 @@
                                        catch (Exception ex)
                                        {
                                            task.ExceptionMessage = $"【{Address}】关闭请求进入失败!";
                                            task.ExceptionMessage = $"【{Address}】关闭请求进入失败!{ex.Message}";
                                            task.Remark = $"{device.DeviceCode}_RequestToEnter_{false}_{Address}";
                                        }
                                        
@@ -315,7 +315,7 @@
                                    catch (Exception ex)
                                    {
                                        task.ExceptionMessage = $"【TSJR3F】3楼读码触发失败!";
                                        task.ExceptionMessage = $"【TSJR3F】3楼读码触发失败!{ex.Message}";
                                        task.Remark = $"{device.DeviceCode}_Codereadingtriggered_{1}_TSJR3F";
                                    }
                                    
´úÂë¹ÜÀí/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs
@@ -392,7 +392,7 @@
                bool isAGV = dt_Task.TaskType == (int)TaskTypeEnum.CPInbound || dt_Task.TaskType == (int)TaskTypeEnum.CPOutbound;
                //海康
                bool isHK = dt_Task.TaskType == (int)TaskTypeEnum.F01 || dt_Task.TaskType == (int)TaskTypeEnum.RK3F || dt_Task.TaskType == (int)TaskTypeEnum.CK3F || dt_Task.TaskType == (int)TaskTypeEnum.Q1TSJ4 || dt_Task.TaskType == (int)TaskTypeEnum.STU0003 || dt_Task.TaskType == (int)TaskTypeEnum.F02 || dt_Task.TaskType == (int)TaskTypeEnum.CHUKU1 || dt_Task.TaskType == (int)TaskTypeEnum.Q3RK || dt_Task.TaskType == (int)TaskTypeEnum.Q3CK||dt_Task.TaskType == (int)TaskTypeEnum.STUPTBY;
                bool isHK = dt_Task.TaskType == (int)TaskTypeEnum.F01 || dt_Task.TaskType == (int)TaskTypeEnum.RK3F || dt_Task.TaskType == (int)TaskTypeEnum.CK3F || dt_Task.TaskType == (int)TaskTypeEnum.Q1TSJ4 || dt_Task.TaskType == (int)TaskTypeEnum.STU0003 || dt_Task.TaskType == (int)TaskTypeEnum.F02 || dt_Task.TaskType == (int)TaskTypeEnum.CHUKU1 || dt_Task.TaskType == (int)TaskTypeEnum.Q3RK || dt_Task.TaskType == (int)TaskTypeEnum.Q3CK || dt_Task.TaskType == (int)TaskTypeEnum.STUPTBY;
                //修改原本任务优先级
                dt_Task.Grade = updateTaskPriority.taskPriority;
                #region å‡¯ä¹å£«
@@ -523,7 +523,7 @@
                var kls = new List<Dt_KLSLocationInfo>();
                var hk = new List<Dt_HKLocationInfo>();
                List<Dt_StationInfo> pk = new List<Dt_StationInfo>();
                if (wMSUpdateLocationArea==null)
                if (wMSUpdateLocationArea == null)
                {
                    return content.Error("请求参数不能为空");
                }
@@ -1156,7 +1156,7 @@
                            LocationStatus = item.LocationStatus,
                            EnableStatus = item.EnableStatus,
                            PalletCode = item.PalletCode,
                            AreaCode=item.WarehouseId
                            AreaCode = item.WarehouseId
                        });
                    }
@@ -1785,7 +1785,7 @@
                        var station = _stationInfo.Repository.QueryFirst(x => x.StationCode == locationCode);
                        if (station != null)
                        {
                            station.IsOccupied = upLocationStatusDTO.EnableStatus==0?0:1;
                            station.IsOccupied = upLocationStatusDTO.EnableStatus == 0 ? 0 : 1;
                            locationsToUpdate.Add(station);
                            resultList.Add(new