huanghongfeng
3 天以前 5ffc36a1db18d3112a9b50a9cf3953d7fcf21bae
ÏîÄ¿´úÂë/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/Partial/TaskService.cs
@@ -74,6 +74,66 @@
            }
        }
        /// <summary>
        /// æ ¹æ®æ‰˜ç›˜å·ã€èµ·å§‹åœ°å€å‘WMS请求任务(入库版本)
        /// </summary>
        /// <param name="palletCode">托盘号</param>
        /// <param name="sourceAddress">起始地址</param>
        /// <returns></returns>
        public Dt_Task? InBeforeCheck(int taskNum)
        {
            WebResponseContent content = new WebResponseContent();
            try
            {
                var config = _sys_ConfigService.GetConfigsByCategory(CateGoryConst.CONFIG_SYS_IPAddress);
                var wmsBase = config.FirstOrDefault(x => x.ConfigKey == SysConfigKeyConst.WMSIP_BASE)?.ConfigValue;
                var requestTask = config.FirstOrDefault(x => x.ConfigKey == SysConfigKeyConst.InTransferCheck)?.ConfigValue;
                if (wmsBase == null || requestTask == null)
                {
                    throw new InvalidOperationException("WMS IP æœªé…ç½®");
                }
                var wmsIpAddrss = wmsBase + requestTask;
                var result = HttpHelper.Post(wmsIpAddrss, new { taskNum = taskNum }.ToJsonString());
                content = JsonConvert.DeserializeObject<WebResponseContent>(result);
                if (!content.Status)
                {
                    // wms失败
                    throw new Exception();
                }
                //todo ä¼˜åŒ– å¦‚未查询到任务则处理
                //if (content.Data != null)
                //{
                var task = JsonConvert.DeserializeObject<Dt_Task>(content.Data.ToString());
                Dt_Task? Relocationtask = null;
                if (task.TaskNum != taskNum)
                {
                    BaseDal.AddData(task);
                    Relocationtask = BaseDal.QueryFirst(x => x.TaskNum == task.TaskNum);
                }
                //}
                if (Relocationtask != null)
                {
                    return task;
                }
                else
                {
                    return null;
                }
            }
            catch (Exception ex)
            {
                throw new Exception($"请求异常:{ex.Message}");
            }
        }
        #region æ ¹æ®æ‰˜ç›˜å·ã€ç«™å°å‘WMS请求任务
        /// <summary>
        /// æ ¹æ®æ‰˜ç›˜å·ã€ç«™å°å‘WMS请求任务
@@ -153,6 +213,22 @@
            }
        }
        /// <summary>
        /// è½¦è½®æµå‘分配查询历史请求
        /// </summary>
        /// <param name="czCode"></param>
        /// <param name="stationManager"></param>
        /// <returns></returns>
        public string RequestWheletHty(string czCode)
        {
            WebResponseContent content = new WebResponseContent();
            Dt_Task_Hty dt_Task_Hty = _taskHtyRepository.QueryFirst(x => x.task_CZInfo == czCode && x.CreateDate >= DateTime.Now.AddMinutes(-30));
            if (dt_Task_Hty == null) return null;
            if (dt_Task_Hty.Towhereabouts == null && dt_Task_Hty.Towhereabouts == "") return null;
            return dt_Task_Hty.Towhereabouts;
        }
        // æ£€æŸ¥å½“前托盘是否存在任务
        private async Task<bool> HasTask(string palletCode)
        {
@@ -213,7 +289,13 @@
                if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.OutbondGroup)
                {
                    var stationinfo = _stationManagerRepository.QueryFirst(x => x.stationLocation == taskDTO.TargetAddress && x.Roadway == taskDTO.RoadWay);
                    task.TaskState = (int)TaskOutStatusEnum.OutNew;
                    if (task.SourceAddress == "2009")
                    {
                        task.TaskState = (int)TaskOutStatusEnum.SC_OutFinish;
                    }
                    task.CurrentAddress = taskDTO.RoadWay;
                    task.NextAddress = stationinfo.stationChildCode;
                    task.SourceAddress = taskDTO.SourceAddress;