From 73a077d76b715aee6b9f384b087a6792a84989d8 Mon Sep 17 00:00:00 2001 From: huangxiaoqiang <1247017146@qq.com> Date: 星期二, 03 六月 2025 11:35:52 +0800 Subject: [PATCH] 代码提交 --- 项目代码/WMS/WIDESEA_WMSServer/WIDESEA_StorageTaskServices/Task/Dt_TaskService.cs | 433 +++++++++++++++++++++++++++++++++++++++++++---------- 1 files changed, 351 insertions(+), 82 deletions(-) diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_StorageTaskServices/Task/Dt_TaskService.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_StorageTaskServices/Task/Dt_TaskService.cs" index 8067210..db6332d 100644 --- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_StorageTaskServices/Task/Dt_TaskService.cs" +++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_StorageTaskServices/Task/Dt_TaskService.cs" @@ -3,7 +3,11 @@ using Mapster; using Masuit.Tools; using Microsoft.AspNetCore.Mvc; +using Microsoft.IdentityModel.Tokens; +using OfficeOpenXml.FormulaParsing.Excel.Functions.DateTime; using SqlSugar; +using System.ComponentModel.Design; +using System.Linq.Expressions; using System.Net.NetworkInformation; using System.Reflection; using System.Text; @@ -37,6 +41,7 @@ private readonly IMapper _mapper; private readonly ILocationInfoRepository _locationRepository; private readonly IDt_HandAutomaticRepository _handAutomaticRepository; + private readonly IDt_HostErrorMessageRepository _errorMessageRepository; public Dt_TaskService(IDt_TaskRepository BaseDal, IUnitOfWorkManage unitOfWorkManage, @@ -47,7 +52,8 @@ IStockInfoDetailRepository stockInfoDetailRepository, IDt_StationManagerRepository stationManagerRepository, IDt_HandAutomaticRepository handAutomaticRepository, - IDt_StationManagerService stationManagerService) : base(BaseDal) + IDt_StationManagerService stationManagerService, + IDt_HostErrorMessageRepository errorMessageRepository) : base(BaseDal) { _unitOfWorkManage = unitOfWorkManage; _stockInfoRepository = stockInfoRepository; @@ -57,6 +63,7 @@ _stationManagerRepository = stationManagerRepository; _handAutomaticRepository = handAutomaticRepository; _stationManagerService = stationManagerService; + _errorMessageRepository = errorMessageRepository; } @@ -67,11 +74,11 @@ WebResponseContent content = new WebResponseContent(); try { - var HandAutomatic = _handAutomaticRepository.QueryFirst(x => true && x.HandAutomatic == "Automatic"); - if (HandAutomatic != null) - { - return content.Error("褰撳墠涓嶆槸鎵嬪姩妯″紡"); - } + //var HandAutomatic = _handAutomaticRepository.QueryFirst(x => true && x.HandAutomatic == "Automatic"); + //if (HandAutomatic != null) + //{ + // return content.Error("褰撳墠涓嶆槸鎵嬪姩妯″紡"); + //} var station = _stationManagerRepository.QueryFirst(x => x.HostName == taskDTO.SourceAddress && x.stationType == 1); if (station == null) { @@ -101,7 +108,7 @@ }; task_call task_Call = new task_call() { - d_task_type = "16" , + d_task_type = "32" , d_floor = "1", d_involed1 = taskNew.SourceAddress, d_involed2 = InsertHyphenEveryTwoChars(taskNew.TargetAddress), @@ -110,8 +117,10 @@ location.LocationStatus = (int)LocationEnum.Lock; _locationRepository.UpdateData(location); BaseDal.AddData(taskNew); - SqlSugarHelper.DbAGV.Insertable(task_Call).ExecuteCommand(); - return content.OK(); + var x = SqlSugarHelper.DbAGV.Insertable(task_Call).ExecuteCommand(); + LogFactory.GetLog("鎻掑叆鏁版嵁鍒癆GV").InfoFormat(true, $"璇锋眰鍙傛暟锛歿JsonConvert.SerializeObject(x)}", ""); + LogFactory.GetLog("PDA").InfoFormat(true, $"InboundTask璇锋眰鍙傛暟锛歿JsonConvert.SerializeObject(taskDTO)}{Environment.NewLine}", ""); + return content.OK("鍏ュ簱浠诲姟涓嬪彂鎴愬姛锛�"); } catch (Exception ex) { @@ -124,11 +133,11 @@ WebResponseContent content = new WebResponseContent(); try { - var HandAutomatic = _handAutomaticRepository.QueryFirst(x => true && x.HandAutomatic == "Automatic"); - if (HandAutomatic != null) - { - return content.Error("褰撳墠涓嶆槸鎵嬪姩妯″紡"); - } + //var HandAutomatic = _handAutomaticRepository.QueryFirst(x => true && x.HandAutomatic == "Automatic"); + //if (HandAutomatic != null) + //{ + // return content.Error("褰撳墠涓嶆槸鎵嬪姩妯″紡"); + //} var station = _stationManagerRepository.QueryFirst(x => x.HostName == taskDTO.SourceAddress && x.stationType == 1); if (station == null) { @@ -164,7 +173,7 @@ }; task_call task_Call = new task_call() { - d_task_type = "16", + d_task_type = "32", d_floor = "1", d_involed1 = taskNew.SourceAddress, d_involed2 = InsertHyphenEveryTwoChars(taskNew.TargetAddress), @@ -173,8 +182,10 @@ location.LocationStatus = (int)LocationEnum.Lock; _locationRepository.UpdateData(location); BaseDal.AddData(taskNew); - SqlSugarHelper.DbAGV.Insertable(task_Call).ExecuteCommand(); - return content.OK(); + var x = SqlSugarHelper.DbAGV.Insertable(task_Call).ExecuteCommand(); + LogFactory.GetLog("鎻掑叆鏁版嵁鍒癆GV").InfoFormat(true, $"璇锋眰鍙傛暟锛歿JsonConvert.SerializeObject(x)}", ""); + LogFactory.GetLog("PDA").InfoFormat(true, $"SamplingInboundTask璇锋眰鍙傛暟锛歿JsonConvert.SerializeObject(taskDTO)}{Environment.NewLine}", ""); + return content.OK("鎶芥鍏ュ簱浠诲姟涓嬪彂鎴愬姛锛�"); } catch (Exception ex) { @@ -186,11 +197,6 @@ WebResponseContent content = new WebResponseContent(); try { - var HandAutomatic = _handAutomaticRepository.QueryFirst(x => true && x.HandAutomatic == "Automatic"); - if (HandAutomatic != null) - { - return content.Error("褰撳墠涓嶆槸鎵嬪姩妯″紡"); - } StationStatus stationOut = _stationManagerService.GetStationStatus("B001"); if (stationOut == null) { @@ -213,23 +219,12 @@ { return content.Error("鏈壘鍒板嚭搴撶珯鍙颁俊鎭�"); } - var stock = _stockInfoRepository.QueryFirst(x => x.LocationCode == taskDTO.SourceAddress); - if (stock == null) - { - return content.Error("璇ユ墭鐩樺簱瀛樹笉瀛樺湪"); - } - Dt_Task task = BaseDal.QueryFirst(x => x.PalletCode == stock.PalletCode); + + Dt_Task task = BaseDal.QueryFirst(x => x.PalletCode == taskDTO.PalletCode); if (task != null) { return content.Error("璇ユ墭鐩樺凡瀛樺湪浠诲姟"); } - - var location = _locationRepository.QueryFirst(x => x.LocationCode == stock.LocationCode); - if (location.LocationStatus != (int)LocationEnum.InStock) - { - return content.Error("璇ュ簱浣嶄笉鏄湁璐х姸鎬侊紝璇风‘璁ょ姸鎬佸啀涓嬪彂浠诲姟锛�"); - } - Dt_Task taskNew = new Dt_Task() { TaskNum = BaseDal.GetTaskNo().Result, @@ -238,27 +233,27 @@ Grade = 1, SeqNo = Convert.ToInt32(0), CommandID = Convert.ToInt32(0), - SourceAddress = station.stationName, - TargetAddress = stock.LocationCode, - CurrentAddress = station.stationName, - NextAddress = stock.LocationCode, + SourceAddress = taskDTO.SourceAddress, + TargetAddress = station.stationName, + CurrentAddress = taskDTO.SourceAddress, + NextAddress = station.stationName, TaskType = (int)TaskOutboundTypeEnum.Outbound, TaskState = (int)TaskOutStatusEnum.OutNew, Roadway = "PDA", }; task_call task_Call = new task_call() { - d_task_type = "32", + d_task_type = "64", d_floor = "1", d_involed1 = InsertHyphenEveryTwoChars(taskNew.SourceAddress), d_involed2 = taskNew.TargetAddress, d_involed5 = taskNew.TaskNum.ToString(), }; - location.LocationStatus = (int)LocationEnum.Lock; - _locationRepository.UpdateData(location); BaseDal.AddData(taskNew); - SqlSugarHelper.DbAGV.Insertable(task_Call).ExecuteCommand(); - return content.OK(); + var x = SqlSugarHelper.DbAGV.Insertable(task_Call).ExecuteCommand(); + LogFactory.GetLog("鎻掑叆鏁版嵁鍒癆GV").InfoFormat(true, $"璇锋眰鍙傛暟锛歿JsonConvert.SerializeObject(x)}", ""); + LogFactory.GetLog("PDA").InfoFormat(true, $"OutboundTask璇锋眰鍙傛暟锛歿JsonConvert.SerializeObject(taskDTO)}{Environment.NewLine}", ""); + return content.OK("鍑哄簱浠诲姟涓嬪彂鎴愬姛锛�"); } catch (Exception ex) { @@ -270,11 +265,7 @@ WebResponseContent content = new WebResponseContent(); try { - var HandAutomatic = _handAutomaticRepository.QueryFirst(x => true && x.HandAutomatic == "Automatic"); - if (HandAutomatic != null) - { - return content.Error("褰撳墠涓嶆槸鎵嬪姩妯″紡"); - } + StationStatus stationOut = _stationManagerService.GetStationStatus("B002"); if (stationOut == null) { @@ -313,36 +304,38 @@ { return content.Error("璇ュ簱浣嶄笉鏄湁璐х姸鎬侊紝璇风‘璁ょ姸鎬佸啀涓嬪彂浠诲姟锛�"); } + station.stationHasTask = "鎶芥鍑哄簱"; + _stationManagerRepository.UpdateData(station); Dt_Task taskNew = new Dt_Task() { TaskNum = BaseDal.GetTaskNo().Result, - PalletCode = taskDTO.PalletCode, + PalletCode = stock.PalletCode, Dispatchertime = DateTime.Now, Grade = 1, SeqNo = Convert.ToInt32(0), CommandID = Convert.ToInt32(0), - SourceAddress = station.stationName, - TargetAddress = stock.LocationCode, - CurrentAddress = station.stationName, - NextAddress = stock.LocationCode, + TargetAddress = station.stationName, + SourceAddress = stock.LocationCode, + NextAddress = station.stationName, + CurrentAddress = stock.LocationCode, TaskType = (int)TaskOutboundTypeEnum.OutQuality, TaskState = (int)TaskOutStatusEnum.OutNew, Roadway = "PDA", }; task_call task_Call = new task_call() { - d_task_type = "32", + d_task_type = "128", d_floor = "1", d_involed1 = InsertHyphenEveryTwoChars(taskNew.SourceAddress), d_involed2 = taskNew.TargetAddress, d_involed5 = taskNew.TaskNum.ToString(), }; - location.LocationStatus = (int)LocationEnum.Lock; - _locationRepository.UpdateData(location); BaseDal.AddData(taskNew); - SqlSugarHelper.DbAGV.Insertable(task_Call).ExecuteCommand(); - return content.OK(); + var x = SqlSugarHelper.DbAGV.Insertable(task_Call).ExecuteCommand(); + LogFactory.GetLog("鎻掑叆鏁版嵁鍒癆GV").InfoFormat(true, $"璇锋眰鍙傛暟锛歿JsonConvert.SerializeObject(x)}", ""); + LogFactory.GetLog("PDA").InfoFormat(true, $"SamplingOutboundTask璇锋眰鍙傛暟锛歿JsonConvert.SerializeObject(taskDTO)}{Environment.NewLine}", ""); + return content.OK("鎶芥鍑哄簱浠诲姟涓嬪彂鎴愬姛锛�"); } catch (Exception ex) { @@ -377,7 +370,16 @@ public DtLocationInfo GetLocation() { List<DtLocationInfo> locations = _locationRepository.QueryData(x => x.LocationStatus == (int)LocationEnum.Free); - return locations.OrderBy(x => x.Layer).ThenBy(x => x.Column).ThenBy(x => x.Row).FirstOrDefault(); + var location = locations.OrderBy(x => x.Column).ThenBy(x => x.Layer).ThenBy(x => x.Row).FirstOrDefault(); + if(location != null) + { + var task = BaseDal.QueryFirst(x => x.SourceAddress == location.LocationName || x.TargetAddress == location.LocationName); + if(task != null) + { + GetLocation(); + } + } + return location; } public WebResponseContent TaskComplete(int? TaskNum) @@ -395,7 +397,6 @@ return CompleteInboundTask(task); case (int)TaskOutboundTypeEnum.Outbound: - //case (int)TaskStationTypeEnum..: LogFactory.GetLog("浠诲姟瀹屾垚").InfoFormat(true, "鍑哄簱浠诲姟", ""); return CompleteOutboundTask(task); @@ -437,17 +438,21 @@ task.TaskState = (int)TaskInStatusEnum.AGV_InExecuting; BaseDal.Update(task); break; - case (int)TaskOutboundTypeEnum.Outbound: case (int)TaskOutboundTypeEnum.OutQuality: - task.TaskState = (int)TaskInStatusEnum.AGV_InExecuting; + case (int)TaskStationTypeEnum.StationToStation: + task.TaskState = (int)TaskOutStatusEnum.AGV_OutExecuting; + BaseDal.Update(task); + break; + case (int)TaskRelocationTypeEnum.Relocation: + task.TaskState = (int)TaskRelocationStatusEnum.AGV_RelocationExecuting; + BaseDal.Update(task); + break; + case (int)TaskFireAlarmTypeEnum.FireAlarmOut: + task.TaskState = (int)TaskFireAlarmStatusEnum.AGV_FireAlarmExecuting; BaseDal.Update(task); break; - case (int)TaskRelocationTypeEnum.Relocation: - task.TaskState = (int)TaskInStatusEnum.AGV_InExecuting; - BaseDal.Update(task); - break; default: return content.Error("浠诲姟绫诲瀷涓嶅瓨鍦�"); } @@ -481,7 +486,7 @@ Creater = "system", LocationId = locationInf.Id, }; - _stockInfoRepository.AddData(stock); + SqlSugarHelper.DbWMS.Insertable(stock).ExecuteCommand(); _locationRepository.UpdateData(locationInf); TaskMoveHty(task); _unitOfWorkManage.CommitTran(); @@ -529,19 +534,9 @@ { _unitOfWorkManage.BeginTran(); task.TaskState = 135; - var locationInf = _locationRepository.QueryFirst(x => x.LocationCode == task.SourceAddress); - locationInf.LocationStatus = 0; - var stock = _stockInfoRepository.QueryFirst(x => x.PalletCode == task.PalletCode); - if(stock!=null) - { - DtStockInfo_Hty stockInfo_Hty = stock.Adapt<DtStockInfo_Hty>(); - stockInfo_Hty.ModifyDate = DateTime.Now; - AddStockInfoHty(stockInfo_Hty); + AddStcokHty(task.PalletCode, task.SourceAddress); - _stockInfoRepository.DeleteData(stock); - } - _locationRepository.UpdateData(locationInf); TaskMoveHty(task); _unitOfWorkManage.CommitTran(); @@ -550,13 +545,56 @@ } catch (Exception ex) { - _unitOfWorkManage.RollbackTran(); + _unitOfWorkManage.RollbackTran(); LogFactory.GetLog("鍑哄簱浠诲姟瀹屾垚").InfoFormat(true, $"璇锋眰鍙傛暟锛歿JsonConvert.SerializeObject(ex.Message)}", ""); return content.Error(ex.Message); } } - + public WebResponseContent CompleteFireAlarmboundTask(Dt_Task task) + { + WebResponseContent content = new WebResponseContent(); + try + { + _unitOfWorkManage.BeginTran(); + task.TaskState = (int)TaskFireAlarmStatusEnum.AGV_FireAlarmFinish; + + AddStcokHty(task.PalletCode,task.SourceAddress); + + TaskMoveHty(task); + _unitOfWorkManage.CommitTran(); + LogFactory.GetLog("鐏鍑哄簱浠诲姟瀹屾垚").InfoFormat(true, $"璇锋眰鍙傛暟锛歿JsonConvert.SerializeObject(task)}", ""); + return content.OK(); + } + catch (Exception ex) + { + _unitOfWorkManage.RollbackTran(); + LogFactory.GetLog("鐏鍑哄簱浠诲姟瀹屾垚").InfoFormat(true, $"璇锋眰鍙傛暟锛歿JsonConvert.SerializeObject(ex.Message)}", ""); + return content.Error(ex.Message); + } + } + + public void AddStcokHty(string PalletCode,string Location) + { + //var stock = _stockInfoRepository.QueryFirst(x => x.PalletCode == PalletCode); + var stock = SqlSugarHelper.DbWMS.Queryable<DtStockInfo>().Where(x => x.PalletCode == PalletCode).First(); + if (stock != null) + { + DtStockInfo_Hty stockInfo_Hty = stock.Adapt<DtStockInfo_Hty>(); + stockInfo_Hty.ModifyDate = DateTime.Now; + + AddStockInfoHty(stockInfo_Hty); + + //_stockInfoRepository.DeleteData(stock); + SqlSugarHelper.DbWMS.Deleteable(stock).ExecuteCommand(); + } + var locationInf = _locationRepository.QueryFirst(x => x.LocationCode == Location); + if (locationInf != null) + { + locationInf.LocationStatus = 0; + _locationRepository.UpdateData(locationInf); + } + } public WebResponseContent CompleteSamplingOutboundTask(Dt_Task task) { @@ -613,6 +651,105 @@ return content.Error(ex.Message); } } + + public void UpdateTask(string SourceAddress,string TargetAddress, string PalletCode) + { + var task = BaseDal.QueryFirst(x => x.PalletCode == PalletCode); + if (task != null) + { + task.SourceAddress = SourceAddress; + task.TargetAddress = TargetAddress; + BaseDal.UpdateData(task); + InsertAGVTask(task); + } + } + private int InsertAGVTask(Dt_Task task) + { + var AgvTask = SqlSugarHelper.DbAGV.Queryable<task_call>().Where(x => x.d_involed5 == task.TaskNum.ToString()).First(); + if (AgvTask != null) + { + string SourceAddress = string.Empty; + string TargetAddress = string.Empty; + if (task.TaskType == (int)TaskInboundTypeEnum.Inbound) + { + SourceAddress = task.SourceAddress; + TargetAddress = InsertHyphenEveryTwoChars(task.TargetAddress); + } + else if (task.TaskType == (int)TaskOutboundTypeEnum.Outbound) + { + SourceAddress = InsertHyphenEveryTwoChars(task.SourceAddress); + TargetAddress = task.TargetAddress; + } + else if (task.TaskType == (int)TaskRelocationTypeEnum.Relocation) + { + TargetAddress = InsertHyphenEveryTwoChars(task.TargetAddress); + SourceAddress = InsertHyphenEveryTwoChars(task.SourceAddress); + } + else if (task.TaskType == (int)TaskStationTypeEnum.StationToStation) + { + TargetAddress = task.TargetAddress; + SourceAddress = task.SourceAddress; + } + else if (task.TaskType == (int)TaskFireAlarmTypeEnum.FireAlarmOut) + { + TargetAddress = task.TargetAddress; + SourceAddress = task.SourceAddress; + } + + AgvTask.d_involed1 = SourceAddress; + AgvTask.d_involed2 = TargetAddress; + var x = SqlSugarHelper.DbAGV.Updateable(AgvTask).ExecuteCommand(); + LogFactory.GetLog("鎻掑叆鏁版嵁鍒癆GV").InfoFormat(true, $"璇锋眰鍙傛暟锛歿JsonConvert.SerializeObject(x)}", ""); + return x; + } + else + { + string SourceAddress = string.Empty; + string TargetAddress = string.Empty; + string AGVType = string.Empty; + if (task.TaskType == (int)TaskInboundTypeEnum.Inbound) + { + SourceAddress = task.SourceAddress; + AGVType = "2"; + TargetAddress = InsertHyphenEveryTwoChars(task.TargetAddress); + } + else if (task.TaskType == (int)TaskOutboundTypeEnum.Outbound) + { + SourceAddress = InsertHyphenEveryTwoChars(task.SourceAddress); + TargetAddress = task.TargetAddress; + AGVType = "4"; + } + else if (task.TaskType == (int)TaskRelocationTypeEnum.Relocation) + { + TargetAddress = InsertHyphenEveryTwoChars(task.TargetAddress); + SourceAddress = InsertHyphenEveryTwoChars(task.SourceAddress); + AGVType = "16"; + } + else if (task.TaskType == (int)TaskStationTypeEnum.StationToStation) + { + TargetAddress = task.TargetAddress; + SourceAddress = task.SourceAddress; + AGVType = "8"; + } + else if (task.TaskType == (int)TaskFireAlarmTypeEnum.FireAlarmOut) + { + TargetAddress = task.TargetAddress; + SourceAddress = task.SourceAddress; + AGVType = "1"; + } + task_call task_Call = new task_call() + { + d_task_type = AGVType, + d_floor = "1", + d_involed1 = SourceAddress, + d_involed2 = TargetAddress, + d_involed5 = task.TaskNum.ToString(), + }; + var x = SqlSugarHelper.DbAGV.Insertable(task_Call).ExecuteCommand(); + LogFactory.GetLog("鎻掑叆鏁版嵁鍒癆GV").InfoFormat(true, $"璇锋眰鍙傛暟锛歿JsonConvert.SerializeObject(x)}", ""); + return x; + } + } public WebResponseContent TaskMoveHty(Dt_Task task) { WebResponseContent content = new WebResponseContent(); @@ -627,7 +764,8 @@ var AgvTask = SqlSugarHelper.DbAGV.Queryable<task_call>().Where(x => x.d_involed5 == taskNum).First(); if (AgvTask != null) { - SqlSugarHelper.DbAGV.Deleteable(AgvTask).ExecuteCommand(); + var x=SqlSugarHelper.DbAGV.Deleteable(AgvTask).ExecuteCommand(); + LogFactory.GetLog("鎻掑叆鏁版嵁鍒癆GV").InfoFormat(true, $"璇锋眰鍙傛暟锛歿JsonConvert.SerializeObject(x)}", ""); } _unitOfWorkManage.CommitTran(); return content.OK(); @@ -638,6 +776,100 @@ LogFactory.GetLog("鍒犻櫎浠诲姟").InfoFormat(true, $"璇锋眰鍙傛暟锛歿JsonConvert.SerializeObject(ex.Message)}", ""); return content.Error(ex.Message); } + } + + public WebResponseContent GetTaskInfo() + { + WebResponseContent content = new WebResponseContent(); + try + { + Expression<Func<Dt_Task, bool>> expression = x => true; + if (!App.User.IsSuperAdmin) + { + expression = x => x.Creater == App.User.UserName; + } + + var task = BaseDal.QueryData(x => true).ToList(); + var newTask = task.OrderByDescending(x => x.CreateDate).Select(x => new + { + x.TaskNum, + x.PalletCode, + x.SourceAddress, + x.TargetAddress, + TaskType = new List<string> { GetTaskTypeDesc(x.TaskType) }[0], // 姣忎釜浠诲姟鐙珛鐢熸垚 TaskType + TaskState = new List<string> { GetTaskStateDesc(x.TaskState) }[0] // 姣忎釜浠诲姟鐙珛鐢熸垚 TaskState + }).ToList(); + + content = WebResponseContent.Instance.OK(data: newTask); + } + catch (Exception ex) + { + content = WebResponseContent.Instance.Error(ex.Message); + } + return content; + } + + public WebResponseContent GetHostError() + { + WebResponseContent content = new WebResponseContent(); + try + { + Expression<Func<Dt_Task, bool>> expression = x => true; + if (!App.User.IsSuperAdmin) + { + expression = x => x.Creater == App.User.UserName; + } + + var now = DateTime.Now; + var startOfDay = new DateTime(now.Year, now.Month, now.Day); + var newTask = _errorMessageRepository.QueryData(x =>x.CreateDate> startOfDay).OrderByDescending(x => x.CreateDate).Select(x => new + { + x.id, + x.ErrorCode, + x.ErrorMessage, + x.Grade, + x.CreateDate + }).ToList(); + + content = WebResponseContent.Instance.OK(data: newTask); + } + catch (Exception ex) + { + content = WebResponseContent.Instance.Error(ex.Message); + } + return content; + } + + + public string GetTaskTypeDesc(int taskType) + { + return taskType switch + { + (int)TaskInboundTypeEnum.Inbound => TaskInboundTypeEnum.Inbound.GetIntegralRuleTypeEnumDesc(), + (int)TaskRelocationTypeEnum.Relocation => TaskRelocationTypeEnum.Relocation.GetIntegralRuleTypeEnumDesc(), + (int)TaskStationTypeEnum.StationToStation => TaskStationTypeEnum.StationToStation.GetIntegralRuleTypeEnumDesc(), + (int)TaskFireAlarmTypeEnum.FireAlarmOut => TaskFireAlarmTypeEnum.FireAlarmOut.GetIntegralRuleTypeEnumDesc(), + (int)TaskOutboundTypeEnum.Outbound => TaskOutboundTypeEnum.Outbound.GetIntegralRuleTypeEnumDesc(), + (int)TaskOutboundTypeEnum.OutQuality => TaskOutboundTypeEnum.OutQuality.GetIntegralRuleTypeEnumDesc(), + }; + } + public string GetTaskStateDesc(int? taskState) + { + return taskState switch + { + (int)TaskInStatusEnum.InNew => TaskInStatusEnum.InNew.GetIntegralRuleTypeEnumDesc(), + (int)TaskInStatusEnum.AGV_InExecuting => TaskInStatusEnum.AGV_InExecuting.GetIntegralRuleTypeEnumDesc(), + (int)TaskInStatusEnum.AGV_InFinish => TaskInStatusEnum.AGV_InFinish.GetIntegralRuleTypeEnumDesc(), + (int)TaskRelocationStatusEnum.RelocationNew => TaskRelocationStatusEnum.RelocationNew.GetIntegralRuleTypeEnumDesc(), + (int)TaskRelocationStatusEnum.AGV_RelocationExecuting => TaskRelocationStatusEnum.AGV_RelocationExecuting.GetIntegralRuleTypeEnumDesc(), + (int)TaskRelocationStatusEnum.AGV_RelocationFinish => TaskRelocationStatusEnum.AGV_RelocationFinish.GetIntegralRuleTypeEnumDesc(), + (int)TaskOutStatusEnum.OutNew => TaskOutStatusEnum.OutNew.GetIntegralRuleTypeEnumDesc(), + (int)TaskOutStatusEnum.AGV_OutExecuting => TaskOutStatusEnum.AGV_OutExecuting.GetIntegralRuleTypeEnumDesc(), + (int)TaskOutStatusEnum.AGV_OutFinish => TaskOutStatusEnum.AGV_OutFinish.GetIntegralRuleTypeEnumDesc(), + (int)TaskFireAlarmStatusEnum.FireAlarmNew => TaskFireAlarmStatusEnum.FireAlarmNew.GetIntegralRuleTypeEnumDesc(), + (int)TaskFireAlarmStatusEnum.AGV_FireAlarmExecuting => TaskFireAlarmStatusEnum.AGV_FireAlarmExecuting.GetIntegralRuleTypeEnumDesc(), + (int)TaskFireAlarmStatusEnum.FireAlarmFinish => TaskFireAlarmStatusEnum.FireAlarmFinish.GetIntegralRuleTypeEnumDesc(), + }; } #endregion 澶栭儴鎺ュ彛鏂规硶 @@ -683,5 +915,42 @@ } } + public override WebResponseContent DeleteData(object[] key) + { + WebResponseContent content = new WebResponseContent(); + // 鍒涘缓鍘嗗彶浠诲姟瀹炰緥妯″瀷 + try + { + 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); + Dt_Task task = BaseDal.QueryFirst(x => x.TaskId == Convert.ToInt32(item)); + if (task == null) + { + return content.Error("鏈壘鍒颁换鍔′俊鎭�!"); + } + var taskHtyNG = CreateHistoricalTask(task, true); + + // 鎵ц鏁版嵁搴撲簨鍔� + + // 娣诲姞鍘嗗彶浠诲姟 + var isTaskHtyAdd = _task_HtyRepository.AddData(taskHtyNG) > 0; + + // 鍒犻櫎浠诲姟鏁版嵁 + var isTaskDelete = BaseDal.Delete(task.TaskId); + } + return content.OK("鍒犻櫎鎴愬姛!"); + } + catch (Exception ex) + { + return content.Error("鍒犻櫎浠诲姟寮傚父锛�" + ex.Message); + } + } + #endregion private 鍐呴儴鏂规硶 } \ No newline at end of file -- Gitblit v1.9.3