From 8f6a1e8a01a518a384d22f0f773459be744a2a4d Mon Sep 17 00:00:00 2001 From: 刘磊 <1161824510@qq.com> Date: 星期一, 09 六月 2025 19:31:20 +0800 Subject: [PATCH] 合并 --- Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs | 112 ++++++++++++++++++++++++++++++++++++++++++------------- 1 files changed, 85 insertions(+), 27 deletions(-) diff --git a/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs b/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs index d630db8..7930101 100644 --- a/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs +++ b/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs @@ -1,11 +1,9 @@ 锘縰sing AutoMapper; using HslCommunication; using Mapster; -using Microsoft.AspNetCore.Components.Routing; using Newtonsoft.Json; using SqlSugar; using System.Diagnostics.CodeAnalysis; -using System.Threading.Tasks; using WIDESEAWCS_BasicInfoRepository; using WIDESEAWCS_BasicInfoService; using WIDESEAWCS_Common; @@ -13,6 +11,7 @@ using WIDESEAWCS_Core; using WIDESEAWCS_Core.BaseServices; using WIDESEAWCS_Core.Helper; +using WIDESEAWCS_Core.LogHelper; using WIDESEAWCS_DTO.TaskInfo; using WIDESEAWCS_DTO.WMS; using WIDESEAWCS_ISystemServices; @@ -20,8 +19,6 @@ using WIDESEAWCS_ITaskInfoRepository; using WIDESEAWCS_ITaskInfoService; using WIDESEAWCS_Model.Models; -using WIDESEAWCS_QuartzJob; -using WIDESEAWCS_QuartzJob.DeviceBase; using WIDESEAWCS_QuartzJob.Models; using WIDESEAWCS_QuartzJob.Repository; using WIDESEAWCS_QuartzJob.Service; @@ -97,7 +94,7 @@ if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.OutbondGroup) { // 鍒ゆ柇浠诲姟鐩爣鍦板潃鍜岃矾寰勬槸鍚︽弧瓒崇壒瀹氭潯浠� - if (task.TargetAddress == "002-021-001" && task.Roadway.Contains("JZ") && task.TaskType == (int)TaskOutboundTypeEnum.OutTray) + if (((task.TargetAddress == "002-021-001" || task.TargetAddress == "001-021-001") && task.Roadway.Contains("JZ"))|| task.TaskType == (int)TaskOutboundTypeEnum.OutFireAlarm) { // 璁剧疆浠诲姟鐘舵�佷负鍑哄簱鏂板缓 task.TaskState = (int)TaskOutStatusEnum.OutNew; @@ -138,8 +135,11 @@ // 鍒ゆ柇浠诲姟绫诲瀷鏄惁涓哄叆搴撲换鍔� else if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.InboundGroup) { + var value = _sys_ConfigService.GetByConfigKey(CateGoryConst.CONFIG_SYS_InStation, SysConfigKeyConst.JZNGInBoundStation).ConfigValue; + var valueList = value.Split(',').ToList(); // 鍒ゆ柇婧愬湴鍧�鏄惁涓嶇瓑浜�"1359-4" - if (task.SourceAddress != "1359-4") + //if (task.SourceAddress != "1359-4" && task.SourceAddress != "1357-4") + if (!valueList.Contains(task.SourceAddress)) { // 鏌ヨ浠庢簮鍦板潃鍒扮洰鏍囧湴鍧�鐨勮矾鐢� List<Dt_Router> routers = _routerService.QueryNextRoutes(item.SourceAddress, item.TargetAddress); @@ -155,8 +155,13 @@ } else { - // 璁剧疆褰撳墠鍦板潃涓�"002-021-001" - task.CurrentAddress = "002-021-001"; + task.CurrentAddress = string.Empty; + if (task.SourceAddress == "1325-6") + // 璁剧疆褰撳墠鍦板潃涓�"001-021-001" + task.CurrentAddress = "001-021-001"; + else + // 璁剧疆褰撳墠鍦板潃涓�"002-021-001" + task.CurrentAddress = "002-021-001"; // 璁剧疆涓嬩竴涓湴鍧�涓虹洰鏍囧湴鍧� task.NextAddress = item.TargetAddress; } @@ -210,7 +215,7 @@ wmsIpAddrss = GetIpAddress(SysConfigKeyConst.WMSIP_BASE, SysConfigKeyConst.RequestTask); } - var result = await HttpHelper.PostAsync(wmsIpAddrss, new { Position = sourceAddress, PalletCode = palletCode }.ToJsonString()); + var result = await HttpHelper.PostAsync(wmsIpAddrss, new { Position = sourceAddress, PalletCode = palletCode, stationManager.productLine }.ToJsonString()); content = JsonConvert.DeserializeObject<WebResponseContent>(result); if (!content.Status) @@ -261,6 +266,17 @@ /// <param name="deviceNo">璁惧缂栧彿</param> /// <param name="currentAddress">褰撳墠鍦板潃</param> /// <returns></returns> + public Dt_Task QueryConveyorLineTask(string deviceNo, string currentAddress,string Barcode) + { + return BaseDal.QueryFirst(x => ((TaskInboundTypes.Contains(x.TaskType) && x.TaskState == (int)TaskInStatusEnum.InNew) || (TaskOutboundTypes.Contains(x.TaskType) && x.TaskState == (int)TaskOutStatusEnum.SC_OutFinish)) && x.CurrentAddress == currentAddress && x.PalletCode == Barcode, TaskOrderBy); + } + + /// <summary> + /// 鏍规嵁璁惧缂栧彿銆佸綋鍓嶅湴鍧�鏌ヨ杈撻�佺嚎鏈墽琛岀殑浠诲姟 + /// </summary> + /// <param name="deviceNo">璁惧缂栧彿</param> + /// <param name="currentAddress">褰撳墠鍦板潃</param> + /// <returns></returns> public Dt_Task QueryNextConveyorLineTask(string deviceNo, string currentAddress) { return BaseDal.QueryFirst(x => ((TaskInboundTypes.Contains(x.TaskType) && x.TaskState == (int)TaskInStatusEnum.InNew) || (TaskOutboundTypes.Contains(x.TaskType) && x.TaskState == (int)TaskOutStatusEnum.SC_OutFinish)) && x.NextAddress == currentAddress, TaskOrderBy); @@ -284,6 +300,17 @@ /// <param name="nextAddress">涓嬩竴鍦板潃</param> /// <returns></returns> public Dt_Task QueryExecutingConveyorLineTask(int taskNum, string nextAddress) + { + return BaseDal.QueryFirst(x => x.TaskNum == taskNum && x.NextAddress == nextAddress && (x.TaskState == (int)TaskInStatusEnum.Line_InExecuting || x.TaskState == (int)TaskOutStatusEnum.Line_OutExecuting), TaskOrderBy); + } + + /// <summary> + /// 鏍规嵁浠诲姟鍙枫�佷笅涓�鍦板潃鏌ヨ杈撻�佺嚎鎵ц涓殑浠诲姟 + /// </summary> + /// <param name="taskNum">浠诲姟鍙�</param> + /// <param name="nextAddress">涓嬩竴鍦板潃</param> + /// <returns></returns> + public Dt_Task QueryExecutingConveyorLineTask(int taskNum, string nextAddress,string Barcode) { return BaseDal.QueryFirst(x => x.TaskNum == taskNum && x.NextAddress == nextAddress && (x.TaskState == (int)TaskInStatusEnum.Line_InExecuting || x.TaskState == (int)TaskOutStatusEnum.Line_OutExecuting), TaskOrderBy); } @@ -503,14 +530,11 @@ BaseDal.DeleteData(task); _taskHtyRepository.AddData(task_Hty); } + if (task.TaskState == (int)TaskOutStatusEnum.SC_OutFinish) { - Dt_Task? tasks = UpdatePosition(task.TaskNum, task.CurrentAddress); - if (tasks != null) - { - task.CurrentAddress = tasks.CurrentAddress; - task.NextAddress = tasks.NextAddress; - } + content = StackCraneTaskCompleted(task.TaskNum); + return content; } } else if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.InboundGroup) @@ -562,6 +586,12 @@ } else if (task.TaskState == (int)TaskInStatusEnum.SC_InFinish) { + if (App.User.UserId > 0) + { + content = StackCraneTaskCompleted(task.TaskNum); + return content; + } + task.ModifyDate = DateTime.Now; task.Modifier = "System"; @@ -638,7 +668,7 @@ task.ModifyDate = DateTime.Now; task.Modifier = "System"; - BaseDal.UpdateData(task); + _taskExecuteDetailService.AddTaskExecuteDetail(task.TaskId, $"绯荤粺鑷姩娴佺▼锛屾洿鏂板綋鍓嶄綅缃�恵oldCurrentPos} ----> {task.CurrentAddress}銆戝拰涓嬩竴浣嶇疆銆恵oldNextPos} ----> {task.NextAddress}銆�"); return task; @@ -679,18 +709,24 @@ var wmsIpAddress = wmsBase + completeTask; var result = HttpHelper.GetAsync(wmsIpAddress, keys).Result; - content = JsonConvert.DeserializeObject<WebResponseContent>(result); - if (!content.Data.IsNullOrEmpty()) - { - if (content.Data.ToString() == "NG") - { - task.Remark = "NG"; - //BaseDal.UpdateData(task); - //_taskExecuteDetailService.AddTaskExecuteDetail(task.TaskId, $"鍫嗗灈鏈哄嚭搴撳畬鎴愶紝MOM杩斿洖NG"); - } - } - task.ExceptionMessage += " " + content.Message; + QuartzLogger.WriteLogToFile($"Info_浠诲姟瀹屾垚", $"浠诲姟瀹屾垚,浠诲姟鍙�:銆恵taskNum}銆戣繑鍥炲弬鏁般�恵JsonConvert.SerializeObject(result)}銆憑Environment.NewLine}{Environment.NewLine}"); + if(result != null) + { + + content = JsonConvert.DeserializeObject<WebResponseContent>(result); + if (!content.Data.IsNullOrEmpty()) + { + if (content.Data.ToString() == "NG") + { + task.Remark = "NG"; + //BaseDal.UpdateData(task); + //_taskExecuteDetailService.AddTaskExecuteDetail(task.TaskId, $"鍫嗗灈鏈哄嚭搴撳畬鎴愶紝MOM杩斿洖NG"); + } + } + task.ExceptionMessage += " " + content.Message; + + } #endregion WMS鍚屾浠诲姟瀹屾垚 if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.OutbondGroup && task.TaskState == (int)TaskOutStatusEnum.SC_OutExecuting) @@ -761,7 +797,9 @@ catch (Exception ex) { content = WebResponseContent.Instance.Error($"浠诲姟瀹屾垚寮傚父,浠诲姟鍙�:銆恵taskNum}銆�"); + QuartzLogger.WriteLogToFile($"Info_浠诲姟瀹屾垚", $"浠诲姟瀹屾垚寮傚父,浠诲姟鍙�:銆恵taskNum}銆戝紓甯镐俊鎭�恵ex.StackTrace}銆憑Environment.NewLine}{Environment.NewLine}"); } + QuartzLogger.WriteLogToFile($"Info_浠诲姟瀹屾垚", $"浠诲姟瀹屾垚,浠诲姟鍙�:銆恵taskNum}銆戣繑鍥炲弬鏁般�恵JsonConvert.SerializeObject(content)}銆憑Environment.NewLine}{Environment.NewLine}"); return content; } @@ -859,6 +897,10 @@ { return BaseDal.QueryFirst(x => x.Roadway == deviceNo && x.TaskType == (int)TaskRelocationTypeEnum.Relocation && x.TaskState == (int)TaskStatus.Created); } + public Dt_Task QueryOutFireAlarmTask(string deviceNo) + { + return BaseDal.QueryFirst(x => x.Roadway == deviceNo && x.TaskType == (int)TaskOutboundTypeEnum.OutFireAlarm && x.TaskState == (int)TaskOutStatusEnum.OutNew); + } public Dt_Task QueryExecutingTaskByBarcode(string barcode, string nextAddress) { @@ -876,5 +918,21 @@ } return wcsBasez + address; } + + #region 閲嶅啓鏂规硶 + + public override WebResponseContent DeleteData(object[] key) + { + foreach (var item in key) + { + var task = BaseDal.QueryFirst(x => x.TaskId == Convert.ToInt32(item)); + var taskHty = task.Adapt<Dt_Task_Hty>(); + taskHty.Creater = App.User.UserName != null ? App.User.UserName : "System"; + _taskHtyRepository.AddData(taskHty); + } + return base.DeleteData(key); + } + + #endregion 閲嶅啓鏂规硶 } } \ No newline at end of file -- Gitblit v1.9.3