From f8f31ede7a7d550cf0cea943226bd521bd4274a8 Mon Sep 17 00:00:00 2001 From: Zhang-Hong-Lin <a3219986988@163.com> Date: 星期二, 04 三月 2025 20:24:52 +0800 Subject: [PATCH] a --- 项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs | 73 ++++++++++++++++++++++++++++++------ 1 files changed, 60 insertions(+), 13 deletions(-) diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs" index b317044..4b4aad7 100644 --- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs" +++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs" @@ -19,6 +19,7 @@ using OfficeOpenXml.FormulaParsing.Excel.Functions.Text; using SqlSugar; using System.Diagnostics.CodeAnalysis; +using System.Threading.Tasks; using WIDESEAWCS_Common.LocationEnum; using WIDESEAWCS_Common.StockEnum; using WIDESEAWCS_Common.TaskEnum; @@ -46,6 +47,8 @@ private readonly IRepository<dt_batchInfo> _batchinfoRepository; private readonly IRepository<Dt_Task_hty> _taskhtyRepository; private readonly IUnitOfWorkManage _unitOfWorkManage; + private readonly IRepository<dt_errormsgInfo> _errorinfoRepository; + private readonly Idt_ErrormsginfoService _ErrormsginfoService; private readonly IMapper _mapper; private Dictionary<string, OrderByType> _taskOrderBy = new() @@ -74,6 +77,8 @@ IRepository<Dt_LocationInfo> locationRepository, IRepository<dt_batchInfo> batchRepository, IRepository<Dt_Task_hty> taskhtyRepository, + IRepository<dt_errormsgInfo> errorinfoRepository, + Idt_ErrormsginfoService errormsginfoService, IUnitOfWorkManage unitOfWorkManage, IMapper mapper) : base(BaseDal) { @@ -85,6 +90,8 @@ _batchinfoRepository = batchRepository; _taskhtyRepository = taskhtyRepository; _unitOfWorkManage = unitOfWorkManage; + _errorinfoRepository = errorinfoRepository; + _ErrormsginfoService = errormsginfoService; _mapper = mapper; } @@ -246,14 +253,14 @@ return task; } //鏌ヨ褰撳墠浠诲姟姹犱腑鏄惁瀛樺湪鐘舵�佷负闈炴柊寤虹殑 - task= BaseDal.QueryFirst(v => v.TaskState != (int)TaskInStatusEnum.InNew || v.TaskState != (int)TaskOutStatusEnum.OutNew); - if (task != null) - { - throw new Exception($"褰撳墠浠诲姟姹犱腑瀛樺湪鎵ц涓殑浠诲姟,浠诲姟鍙�:銆恵task.TaskNum}銆�"); - } + //task= BaseDal.QueryFirst(v => v.TaskState != (int)TaskInStatusEnum.InNew || v.TaskState != (int)TaskOutStatusEnum.OutNew); + //if (task != null) + //{ + // throw new Exception($"褰撳墠浠诲姟姹犱腑瀛樺湪鎵ц涓殑浠诲姟,浠诲姟鍙�:銆恵task.TaskNum}銆�"); + //} if (workTpe.Equals("In")) { - task = BaseDal.QueryData(v=>v.TaskType==(int)TaskInboundTypeEnum.Inbound && v.TaskState==(int)TaskInStatusEnum.InNew).OrderBy(v=>v.CreateDate).First(); + task = BaseDal.QueryData(v=>v.TaskType==(int)TaskInboundTypeEnum.Inbound && v.TaskState==(int)TaskInStatusEnum.InNew).OrderByDescending(v=>v.Grade) .OrderBy(v=>v.CreateDate).First(); } else if (workTpe.Equals("Out")) { @@ -304,7 +311,7 @@ /// <returns>杩斿洖浠诲姟瀹炰綋瀵硅薄锛屽彲鑳戒负null</returns> public Dt_Task QueryTakNnmTask(int taskNum) { - return BaseDal.QueryFirst(v=>v.TaskNum== taskNum); + return BaseDal.QueryFirst(v=>v.TaskId== taskNum); } /// <summary> /// 淇敼澶╄溅浠诲姟鐘舵�侊紝灏嗗叆搴撳彇璐ф墽琛屼腑淇敼涓哄叆搴撳彇璐у畬鎴� @@ -322,6 +329,7 @@ catch (Exception ex) { content = WebResponseContent.Instance.Error(ex.Message); + UpdateTaskExceptionMessage(task.TaskNum, ex.Message); } return content; } @@ -342,6 +350,7 @@ catch (Exception ex) { content = WebResponseContent.Instance.Error(ex.Message); + UpdateTaskExceptionMessage(task.TaskNum, ex.Message); } return content; } @@ -423,7 +432,7 @@ } catch (Exception ex) { - + UpdateTaskExceptionMessage(taskNum, ex.Message); } } @@ -557,7 +566,7 @@ WebResponseContent content = new WebResponseContent(); try { - var nawtask = BaseDal.QueryFirst(v=>v.TaskNum== taskNum); + var nawtask = BaseDal.QueryFirst(v=>v.TaskId== taskNum); if (nawtask == null) { throw new Exception(string.Format("澶╄溅鏀捐揣瀹屾垚浠诲姟鏈煡璇㈠埌浠诲姟鍙穥0}", taskNum)); @@ -569,11 +578,35 @@ Dt_StockInfo stock = new Dt_StockInfo(); stock.LocationCode = nawtask.TargetAddress; stock.Weight = (decimal)weight; - stock.StockStatus = (int)stockEnum.Lock; - stock.BatchNo = batck.Batch; + stock.StockStatus = (int)stockEnum.Free; + stock.BatchNo = batck.InBatch; + if (nawtask.Remark== (int)MateTypeEnum.ZiChan) + { + stock.Remark = (int)MateTypeEnum.ZiChan; + } + else + { + stock.Remark = (int)MateTypeEnum.WaiGou; + } + Dt_StockInfo stockTow = new Dt_StockInfo(); + stockTow.LocationCode = nawtask.NextAddress; + stockTow.Weight = (decimal)weight; + stockTow.StockStatus = (int)stockEnum.Free; + stockTow.BatchNo = batck.InBatch; + if (nawtask.Remark == (int)MateTypeEnum.ZiChan) + { + stockTow.Remark = (int)MateTypeEnum.ZiChan; + } + else + { + stockTow.Remark = (int)MateTypeEnum.WaiGou; + } //淇敼璐т綅淇℃伅 var location = _locationRepository.QueryFirst(v=>v.LocationCode==nawtask.TargetAddress); location.LocationStatus = (int)LocationStatusEnum.InStock; + //淇敼璐т綅淇℃伅 + var locationtow = _locationRepository.QueryFirst(v => v.LocationCode == nawtask.NextAddress); + locationtow.LocationStatus = (int)LocationStatusEnum.InStock; //澶勭悊浠诲姟淇℃伅 Dt_Task_hty taskhty = new Dt_Task_hty(); taskhty.TaskNum = nawtask.TaskNum; @@ -586,10 +619,15 @@ taskhty.Grade = nawtask.Grade; taskhty.Dispatchertime = nawtask.Dispatchertime; taskhty.Remark = nawtask.Remark; + taskhty.PalletCode = nawtask.PalletCode; + taskhty.NextAddress = nawtask.NextAddress; + taskhty.CurrentAddress = nawtask.CurrentAddress; //寮�濮嬫暟鎹簱浜嬪姟 _unitOfWorkManage.BeginTran(); _stockRepository.AddData(stock); + _stockRepository.AddData(stockTow); _locationRepository.UpdateData(location); + _locationRepository.UpdateData(locationtow); _taskhtyRepository.AddData(taskhty); BaseDal.DeleteData(nawtask); //鎻愪氦浜嬪姟 @@ -598,14 +636,18 @@ else if (nawtask.TaskType == (int)TaskOutboundTypeEnum.Outbound) { //鏌ユ壘搴撳瓨 - var stock = _stockRepository.QueryFirst(v=>v.LocationCode== nawtask.TargetAddress); + var stock = _stockRepository.QueryFirst(v=>v.LocationCode== nawtask.SourceAddress); if (stock == null) { throw new Exception($"鏈壘鍒板簱瀛樹俊鎭揣浣嶅彿:銆恵nawtask.TargetAddress}銆�"); } + var Towstock = _stockRepository.QueryFirst(v => v.LocationCode == nawtask.NextAddress); //淇敼璐т綅鐘舵�� - var location = _locationRepository.QueryFirst(v => v.LocationCode == nawtask.TargetAddress); + var location = _locationRepository.QueryFirst(v => v.LocationCode == nawtask.SourceAddress); location.LocationStatus = (int)LocationStatusEnum.Free; + //淇敼璐т綅鐘舵�� + var locationTow = _locationRepository.QueryFirst(v => v.LocationCode == nawtask.NextAddress); + locationTow.LocationStatus = (int)LocationStatusEnum.Free; //鍑嗗鍘嗗彶浠诲姟鏁版嵁 Dt_Task_hty taskhty = new Dt_Task_hty(); taskhty.TaskNum = nawtask.TaskNum; @@ -618,10 +660,15 @@ taskhty.Grade = nawtask.Grade; taskhty.Dispatchertime = nawtask.Dispatchertime; taskhty.Remark = nawtask.Remark; + taskhty.PalletCode = nawtask.PalletCode; + taskhty.NextAddress = nawtask.NextAddress; + taskhty.CurrentAddress = nawtask.CurrentAddress; //寮�濮嬫暟鎹簱浜嬪姟 _unitOfWorkManage.BeginTran(); _stockRepository.DeleteData(stock); + _stockRepository.DeleteData(Towstock); _locationRepository.UpdateData(location); + _locationRepository.UpdateData(locationTow); _taskhtyRepository.AddData(taskhty); BaseDal.DeleteData(nawtask); //鎻愪氦浜嬪姟 -- Gitblit v1.9.3