From e2bb2738c6ddb1d013837924dc639b0f6f63662b Mon Sep 17 00:00:00 2001 From: 刘磊 <1161824510@qq.com> Date: 星期二, 24 十二月 2024 10:07:55 +0800 Subject: [PATCH] 同步 --- Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/Partial/TaskService.cs | 108 ++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 105 insertions(+), 3 deletions(-) diff --git a/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/Partial/TaskService.cs b/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/Partial/TaskService.cs index 359b548..590d8b3 100644 --- a/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/Partial/TaskService.cs +++ b/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/Partial/TaskService.cs @@ -13,6 +13,7 @@ using WIDESEAWCS_Common.TaskEnum; using WIDESEAWCS_Model.Models; using WIDESEAWCS_QuartzJob.Models; +using System.Drawing; namespace WIDESEAWCS_TaskInfoService { @@ -93,11 +94,24 @@ var result = await HttpHelper.PostAsync(wmsIpAddrss, new { palletCode = palletCode, EquiCodeMOM = stationManager.stationEquipMOM, Roadways = stationManager.Roadway, area = stationManager.stationArea, Position = stationManager.stationChildCode }.ToJsonString()); content = JsonConvert.DeserializeObject<WebResponseContent>(result); + ConsoleHelper.WriteErrorLine($"{stationManager.stationChildCode}绔欏彴璇锋眰鍝嶅簲淇℃伅:{content.ToJsonString()}"); if (!content.Status) { // wms澶辫触杩斿洖鍘籒G鍙d换鍔� - - + //if (stationManager.stationChildCode != stationManager.stationNGChildCode) + //{ + // WMSTaskDTO taskDTO = new WMSTaskDTO() + // { + // Grade = 8, + // PalletCode = palletCode, + // SourceAddress = stationManager.stationLocation, + // TargetAddress = stationManager.stationNGLocation, + // RoadWay = stationManager.Roadway, + // TaskNum = 1000, + // TaskState = (int)TaskOutStatusEnum.OutNew, + // TaskType = (int)TaskOutboundTypeEnum.InToOut + // }; + //} return content; } @@ -108,6 +122,45 @@ catch (Exception ex) { return WebResponseContent.Instance.Error(ex.Message); + } + } + + public async Task<WebResponseContent> RequestOutTaskToBZAsync(Dt_StationManager stationManager) + { + 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.RequestOutTaskToBZ)?.ConfigValue; + if (wmsBase == null || requestTask == null) + { + throw new InvalidOperationException("WMS IP 鏈厤缃�"); + } + var wmsIpAddrss = wmsBase + requestTask; + + var result = await HttpHelper.PostAsync(wmsIpAddrss, new { Position = stationManager.stationChildCode }.ToJsonString()); + content = JsonConvert.DeserializeObject<WebResponseContent>(result); + if (!content.Status) + { + //鏃犳弧瓒虫潯浠跺彲鍑哄簱鑷冲寘瑁呯殑搴撳瓨 + return content; + } + + var task = JsonConvert.DeserializeObject<WMSTaskDTO>(content.Data.ToString()); + ConsoleHelper.WriteSuccessLine(content.Data.ToString()); + content = ReceiveByBZOtuTask(task); + //if (content.Status) + //{ + // //鐩稿簲鐨勫湪閫旀暟鎹�+1 + // // _taskNeedBarcodeRepository.UpdateData(); + //} + return content; + } + catch (Exception ex) + { + + return content.Error(ex.Message); } } @@ -146,6 +199,15 @@ task.NextAddress = stationinfo.stationChildCode; task.TargetAddress = taskDTO.TargetAddress; } + else if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.RelocationGroup) + { + task.TaskState = (int)TaskStatus.Created; + task.SourceAddress = taskDTO.SourceAddress; + task.CurrentAddress = taskDTO.SourceAddress; + task.NextAddress = taskDTO.TargetAddress; + task.TargetAddress = taskDTO.TargetAddress; + } + BaseDal.AddData(task); _taskExecuteDetailService.AddTaskExecuteDetail(task.WMSId, "鎺ユ敹WMS浠诲姟"); @@ -158,6 +220,46 @@ } return content; } + + /// <summary> + /// 鎺ユ敹WMS浠诲姟淇℃伅 + /// </summary> + /// <param name="taskDTOs">WMS浠诲姟瀵硅薄闆嗗悎</param> + /// <returns>杩斿洖澶勭悊缁撴灉</returns> + public WebResponseContent ReceiveByBZOtuTask([NotNull] WMSTaskDTO taskDTO) + { + WebResponseContent content = new WebResponseContent(); + try + { + if (BaseDal.QueryFirst(x => x.TaskNum == taskDTO.TaskNum || x.PalletCode == taskDTO.PalletCode) != null) + { + return content.OK(); + } + Dt_Task task = _mapper.Map<Dt_Task>(taskDTO); + task.Creater = "WMS"; + + if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.OutbondGroup) + { + var stationinfo = _stationManagerRepository.QueryFirst(x => x.stationLocation == taskDTO.TargetAddress && x.Roadway == taskDTO.RoadWay); + task.TaskState = (int)TaskOutStatusEnum.OutNew; + task.CurrentAddress = stationinfo.stationChildCode; + task.NextAddress = stationinfo.stationChildCode; + task.SourceAddress = taskDTO.SourceAddress; + task.TargetAddress = taskDTO.TargetAddress; + } + BaseDal.AddData(task); + + _taskExecuteDetailService.AddTaskExecuteDetail(task.WMSId, "鎺ユ敹WMS浠诲姟"); + + content = WebResponseContent.Instance.OK("鎴愬姛"); + } + catch (Exception ex) + { + content = WebResponseContent.Instance.Error($"浠诲姟鎺ユ敹閿欒,閿欒淇℃伅:{ex.Message}"); + } + return content; + } + /// <summary> /// 楂樻俯鍑哄簱 @@ -236,7 +338,7 @@ } /// <summary> - /// 鏍规嵁鎵樼洏鍙峰拰璁惧鍙锋煡璇㈠叆搴撲换鍔� + /// 鏍规嵁鎵樼洏鍙峰拰璁惧鍙锋煡璇换鍔� /// </summary> /// <param name="taskNum">浠诲姟鍙�</param> /// <param name="currentAddress">褰撳墠鍦板潃</param> -- Gitblit v1.9.3