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