From 41702c7ce4c88ad70f52d83d153dd4c596ff69d5 Mon Sep 17 00:00:00 2001
From: huangxiaoqiang <1247017146@qq.com>
Date: 星期一, 26 五月 2025 15:29:36 +0800
Subject: [PATCH] 1

---
 项目代码/WMS/WIDESEA_WMSServer/WIDESEA_StorageTaskServices/Task/Dt_TaskService.cs |  516 +++++++++++++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 496 insertions(+), 20 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 e75b7ac..8067210 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"
@@ -1,6 +1,8 @@
-锘縰sing AngleSharp.Io;
+锘縰sing AngleSharp.Dom;
+using AngleSharp.Io;
 using Mapster;
 using Masuit.Tools;
+using Microsoft.AspNetCore.Mvc;
 using SqlSugar;
 using System.Net.NetworkInformation;
 using System.Reflection;
@@ -19,6 +21,7 @@
 using WIDESEA_StorageSocketServices;
 using WIDESEA_StorageTaskRepository;
 using WIDESEAWCS_BasicInfoRepository;
+using WIDESEAWCS_BasicInfoService;
 using WIDESEAWCS_Model.Models;
 
 namespace WIDESEA_StorageTaskServices;
@@ -28,28 +31,438 @@
     private readonly LogFactory LogFactory = new LogFactory();
     private readonly IUnitOfWorkManage _unitOfWorkManage;
     private readonly IStockInfoRepository _stockInfoRepository;
+    private readonly IDt_StationManagerRepository _stationManagerRepository;
+    private readonly IDt_StationManagerService _stationManagerService;
     private readonly IDt_Task_HtyRepository _task_HtyRepository;
     private readonly IMapper _mapper;
     private readonly ILocationInfoRepository _locationRepository;
-   
+    private readonly IDt_HandAutomaticRepository _handAutomaticRepository;
+
     public Dt_TaskService(IDt_TaskRepository BaseDal,
                                 IUnitOfWorkManage unitOfWorkManage,
                                 IStockInfoRepository stockInfoRepository,
                                 IDt_Task_HtyRepository task_HtyRepository,
                                 IMapper mapper,
                                 ILocationInfoRepository locationRepository,
-                                IStockInfoDetailRepository stockInfoDetailRepository) : base(BaseDal)
+                                IStockInfoDetailRepository stockInfoDetailRepository,
+                                IDt_StationManagerRepository stationManagerRepository,
+                                IDt_HandAutomaticRepository handAutomaticRepository,
+                                IDt_StationManagerService stationManagerService) : base(BaseDal)
     {
         _unitOfWorkManage = unitOfWorkManage;
         _stockInfoRepository = stockInfoRepository;
         _task_HtyRepository = task_HtyRepository;
         _mapper = mapper;
         _locationRepository = locationRepository;
+        _stationManagerRepository = stationManagerRepository;
+        _handAutomaticRepository = handAutomaticRepository;
+        _stationManagerService = stationManagerService;
     }
-    
+
 
 
     #region 澶栭儴鎺ュ彛鏂规硶
+    public WebResponseContent InboundTask(TaskDTO taskDTO)
+    {
+        WebResponseContent content = new WebResponseContent();
+        try
+        {
+            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)
+            {
+                return content.Error("鏈壘鍒板叆搴撶珯鍙颁俊鎭�");
+            }
+            Dt_Task task = BaseDal.QueryFirst(x => x.PalletCode == taskDTO.PalletCode);
+            if (task != null)
+            {
+                return content.Error("璇ユ墭鐩樺凡瀛樺湪浠诲姟");
+            }
+            var location = GetLocation();
+            Dt_Task taskNew = new Dt_Task()
+            {
+                TaskNum = BaseDal.GetTaskNo().Result,
+                PalletCode = taskDTO.PalletCode,
+                Dispatchertime = DateTime.Now,
+                Grade = 1,
+                SeqNo = Convert.ToInt32(0),
+                CommandID = Convert.ToInt32(0),
+                SourceAddress = station.stationName,
+                TargetAddress = location.LocationCode,
+                CurrentAddress = station.stationName,
+                NextAddress = location.LocationCode,
+                TaskType = (int)TaskInboundTypeEnum.Inbound,
+                TaskState = (int)TaskInStatusEnum.InNew,
+                Roadway = "PDA",
+            };
+            task_call task_Call = new task_call()
+            {
+                d_task_type = "16" ,
+                d_floor = "1",
+                d_involed1 = taskNew.SourceAddress,
+                d_involed2 = InsertHyphenEveryTwoChars(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();
+        }
+        catch (Exception ex)
+        {
+            return content.Error(ex.Message);
+        }
+    }
+
+    public WebResponseContent SamplingInboundTask(TaskDTO taskDTO)
+    {
+        WebResponseContent content = new WebResponseContent();
+        try
+        {
+            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)
+            {
+                return content.Error("鏈壘鍒板叆搴撶珯鍙颁俊鎭�");
+            }
+            Dt_Task task = BaseDal.QueryFirst(x => x.PalletCode == taskDTO.PalletCode);
+            if (task != null)
+            {
+                return content.Error("璇ユ墭鐩樺凡瀛樺湪浠诲姟");
+            }
+            var stock = _stockInfoRepository.QueryFirst(x => x.PalletCode == taskDTO.PalletCode);
+            if (stock == null)
+            {
+                return content.Error("璇ユ墭鐩樺簱瀛樹笉瀛樺湪");
+            }
+            var location = _locationRepository.QueryFirst(x => x.LocationCode == stock.LocationCode);
+            
+            Dt_Task taskNew = new Dt_Task()
+            {
+                TaskNum = BaseDal.GetTaskNo().Result,
+                PalletCode = taskDTO.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,
+                TaskType = (int)TaskInboundTypeEnum.InQuality,
+                TaskState = (int)TaskInStatusEnum.InNew,
+                Roadway = "PDA",
+            };
+            task_call task_Call = new task_call()
+            {
+                d_task_type = "16",
+                d_floor = "1",
+                d_involed1 = taskNew.SourceAddress,
+                d_involed2 = InsertHyphenEveryTwoChars(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();
+        }
+        catch (Exception ex)
+        {
+            return content.Error(ex.Message);
+        }
+    }
+    public WebResponseContent OutboundTask(TaskDTO taskDTO)
+    {
+        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)
+            {
+                return content.Error("鑾峰彇鍑哄簱绔欏彴淇℃伅澶辫触锛岃閲嶆柊鍑哄簱");
+            }
+            Dt_StationManager station;
+            if (stationOut.WorkstationO == "0")
+            {
+                station = _stationManagerRepository.QueryFirst(x => x.stationName == "B001::1" && x.stationType == 2);
+            }
+            else if (stationOut.WorkstationT == "0")
+            {
+                station = _stationManagerRepository.QueryFirst(x => x.stationName == "B001::2" && x.stationType == 2);
+            }
+            else
+            {
+                return content.Error("鍑哄簱绔欏彴鐘舵�佷笉鏄┖闂诧紝璇风‘璁ゅ啀涓嬪彂鍑哄簱浠诲姟");
+            }
+            if (station == null)
+            {
+                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);
+            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,
+                PalletCode = taskDTO.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,
+                TaskType = (int)TaskOutboundTypeEnum.Outbound,
+                TaskState = (int)TaskOutStatusEnum.OutNew,
+                Roadway = "PDA",
+            };
+            task_call task_Call = new task_call()
+            {
+                d_task_type = "32",
+                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();
+        }
+        catch (Exception ex)
+        {
+            return content.Error(ex.Message);
+        }
+    }
+    public WebResponseContent SamplingOutboundTask(TaskDTO taskDTO)
+    {
+        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)
+            {
+                return content.Error("鑾峰彇鍑哄簱绔欏彴淇℃伅澶辫触锛岃閲嶆柊鍑哄簱");
+            }
+            Dt_StationManager station;
+            if (stationOut.WorkstationO == "0")
+            {
+                station = _stationManagerRepository.QueryFirst(x => x.stationName == "B002::1" && x.stationType == 1);
+            }
+            else if (stationOut.WorkstationT == "0")
+            {
+                station = _stationManagerRepository.QueryFirst(x => x.stationName == "B002::2" && x.stationType == 1);
+            }
+            else
+            {
+                return content.Error("鍑哄簱绔欏彴鐘舵�佷笉鏄┖闂诧紝璇风‘璁ゅ啀涓嬪彂鍑哄簱浠诲姟");
+            }
+            if (station == null)
+            {
+                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);
+            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,
+                PalletCode = taskDTO.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,
+                TaskType = (int)TaskOutboundTypeEnum.OutQuality,
+                TaskState = (int)TaskOutStatusEnum.OutNew,
+                Roadway = "PDA",
+            };
+            task_call task_Call = new task_call()
+            {
+                d_task_type = "32",
+                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();
+        }
+        catch (Exception ex)
+        {
+            return content.Error(ex.Message);
+        }
+    }
+
+    public string InsertHyphenEveryTwoChars(string input)
+    {
+        if (string.IsNullOrEmpty(input))
+        {
+            return input;
+        }
+
+        StringBuilder result = new StringBuilder();
+
+        for (int i = 0; i < input.Length; i += 2)
+        {
+            // 娣诲姞涓や釜瀛楃
+            result.Append(input.Substring(i, 2));
+
+            // 濡傛灉涓嶆槸鏈�鍚庝袱涓瓧绗︼紝娣诲姞涓�涓繛瀛楃
+            if (i + 2 < input.Length)
+            {
+                result.Append('-');
+            }
+        }
+
+        return result.ToString();
+    }
+
+    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();
+    }
+
+    public WebResponseContent TaskComplete(int? TaskNum)
+    {
+        WebResponseContent content = new WebResponseContent();
+        try
+        {
+            var task = BaseDal.QueryFirst(x => x.TaskNum == TaskNum);
+            if (task != null)
+            {
+                switch (task.TaskType)
+                {
+                    case (int)TaskInboundTypeEnum.Inbound:
+                        LogFactory.GetLog("浠诲姟瀹屾垚").InfoFormat(true, "鍏ュ簱浠诲姟", "");
+                        return CompleteInboundTask(task);
+
+                    case (int)TaskOutboundTypeEnum.Outbound:
+                        //case (int)TaskStationTypeEnum..:
+
+                        LogFactory.GetLog("浠诲姟瀹屾垚").InfoFormat(true, "鍑哄簱浠诲姟", "");
+                        return CompleteOutboundTask(task);
+
+                    case (int)TaskRelocationTypeEnum.Relocation:
+                        return CompleteRelocationboundTask(task);
+
+                    case (int)TaskOutboundTypeEnum.OutQuality:
+                        return CompleteSamplingOutboundTask(task);
+
+                    case (int)TaskInboundTypeEnum.InQuality:
+                        return CompleteSamplingInboundTask(task);
+
+                    default:
+                        return content.Error("浠诲姟绫诲瀷涓嶅瓨鍦�");
+                }
+            }
+            else
+            {
+                return content.Error("鏈壘鍒颁换鍔�");
+            }
+        }
+        catch (Exception ex)
+        {
+            return content.Error(ex.Message);
+        }
+    }
+    public WebResponseContent TaskStatus(Dt_Task task)
+    {
+        WebResponseContent content = new WebResponseContent();
+        try
+        {
+            if (task != null)
+            {
+                switch (task.TaskType)
+                {
+                    case (int)TaskInboundTypeEnum.Inbound:
+                    case (int)TaskInboundTypeEnum.InQuality:
+                        task.TaskState = (int)TaskInStatusEnum.AGV_InExecuting;
+                        BaseDal.Update(task);
+                        break;
+
+                    case (int)TaskOutboundTypeEnum.Outbound:
+                    case (int)TaskOutboundTypeEnum.OutQuality:
+                        task.TaskState = (int)TaskInStatusEnum.AGV_InExecuting;
+                        BaseDal.Update(task);
+                        break;
+
+                    case (int)TaskRelocationTypeEnum.Relocation:
+                        task.TaskState = (int)TaskInStatusEnum.AGV_InExecuting;
+                        BaseDal.Update(task);
+                        break;
+                    default:
+                        return content.Error("浠诲姟绫诲瀷涓嶅瓨鍦�");
+                }
+                return content.OK();
+            }
+            else
+            {
+                return content.Error("鏈壘鍒颁换鍔�");
+            }
+        }
+        catch (Exception ex)
+        {
+            return content.Error(ex.Message);
+        }
+    }
 
     public WebResponseContent CompleteInboundTask(Dt_Task task)
     {
@@ -57,8 +470,9 @@
         try
         {
             _unitOfWorkManage.BeginTran();
+            task.TaskState = 215;
             var locationInf = _locationRepository.QueryFirst(x => x.LocationCode == task.TargetAddress);
-            locationInf.LocationStatus = (int)LocationEnum.InStock;
+            locationInf.LocationStatus = 2;
             var stock = new DtStockInfo()
             {
                 PalletCode = task.PalletCode,
@@ -71,11 +485,39 @@
             _locationRepository.UpdateData(locationInf);
             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 WebResponseContent CompleteSamplingInboundTask(Dt_Task task)
+    {
+        WebResponseContent content = new WebResponseContent();
+        try
+        {
+            _unitOfWorkManage.BeginTran();
+            task.TaskState = 215;
+            var locationInf = _locationRepository.QueryFirst(x => x.LocationCode == task.TargetAddress);
+            locationInf.LocationStatus = (int)LocationEnum.InStock;
+            _locationRepository.UpdateData(locationInf);
+            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);
         }
     }
@@ -86,26 +528,54 @@
         try
         {
             _unitOfWorkManage.BeginTran();
-            var locationInf = _locationRepository.QueryFirst(x => x.LocationCode == task.TargetAddress);
-            locationInf.LocationStatus = (int)LocationEnum.Free;
-            var stock = _stockInfoRepository.QueryFirst(x=>x.PalletCode == task.PalletCode);
+            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;
 
-            DtStockInfo_Hty stockInfo_Hty = stock.Adapt<DtStockInfo_Hty>();
-            stockInfo_Hty.ModifyDate = DateTime.Now;
+                AddStockInfoHty(stockInfo_Hty);
 
-            AddStockInfoHty(stockInfo_Hty);
-
-            _stockInfoRepository.DeleteData(stock);
+                _stockInfoRepository.DeleteData(stock);
+            }
             _locationRepository.UpdateData(locationInf);
-
             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 WebResponseContent CompleteSamplingOutboundTask(Dt_Task task)
+    {
+        WebResponseContent content = new WebResponseContent();
+        try
+        {
+            _unitOfWorkManage.BeginTran();
+
+            task.TaskState = 135;
+            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);
         }
     }
@@ -116,10 +586,11 @@
         try
         {
             _unitOfWorkManage.BeginTran();
+            task.TaskState = 315;
             var locationInf = _locationRepository.QueryFirst(x => x.LocationCode == task.TargetAddress);
             var location = _locationRepository.QueryFirst(x => x.LocationCode == task.SourceAddress);
-            locationInf.LocationStatus = (int)LocationEnum.InStock;
-            location.LocationStatus = (int)LocationEnum.Free;
+            locationInf.LocationStatus = 2;
+            location.LocationStatus = 0;
 
             var stock = _stockInfoRepository.QueryFirst(x => x.PalletCode == task.PalletCode);
 
@@ -132,11 +603,13 @@
             _locationRepository.UpdateData(location);
             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);
         }
     }
@@ -147,10 +620,12 @@
         {
             _unitOfWorkManage.BeginTran();
             var taskHtyNG = CreateHistoricalTask(task);
+
+            var taskNum = task.TaskNum.ToString();
             var isTaskHtyAdd = _task_HtyRepository.AddData(taskHtyNG) > 0;
             var isTaskDelete = Delete(task.TaskId);
-            var AgvTask = SqlSugarHelper.DbAGV.Queryable<task_call>().Where(x => x.d_involed5 == task.TaskNum).First();
-            if(AgvTask != null)
+            var AgvTask = SqlSugarHelper.DbAGV.Queryable<task_call>().Where(x => x.d_involed5 == taskNum).First();
+            if (AgvTask != null)
             {
                 SqlSugarHelper.DbAGV.Deleteable(AgvTask).ExecuteCommand();
             }
@@ -160,6 +635,7 @@
         catch (Exception ex)
         {
             _unitOfWorkManage.RollbackTran();
+            LogFactory.GetLog("鍒犻櫎浠诲姟").InfoFormat(true, $"璇锋眰鍙傛暟锛歿JsonConvert.SerializeObject(ex.Message)}", "");
             return content.Error(ex.Message);
         }
     }
@@ -196,9 +672,9 @@
     /// <returns>鏄惁鍒犻櫎鎴愬姛</returns>
     public bool Delete(int id)
     {
-        return  BaseDal.Delete(id);
+        return BaseDal.Delete(id);
     }
-    private void  AddStockInfoHty(DtStockInfo_Hty dtStock)
+    private void AddStockInfoHty(DtStockInfo_Hty dtStock)
     {
         var isStockAdd = SqlSugarHelper.DbWMS.InsertNav(dtStock).IncludesAllFirstLayer().ExecuteCommand();
         if (!isStockAdd)

--
Gitblit v1.9.3