From 87ce8f1a70dfbf819e6804a26ab8e845a134856c Mon Sep 17 00:00:00 2001 From: huangxiaoqiang <1247017146@qq.com> Date: 星期四, 05 六月 2025 10:16:58 +0800 Subject: [PATCH] 批量删除任务 --- Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageTaskServices/Task/Dt_TaskService.cs | 151 ++++++++++++++++++++++++++++++------------------- 1 files changed, 92 insertions(+), 59 deletions(-) diff --git a/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageTaskServices/Task/Dt_TaskService.cs b/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageTaskServices/Task/Dt_TaskService.cs index 3c811fb..5f638a5 100644 --- a/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageTaskServices/Task/Dt_TaskService.cs +++ b/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageTaskServices/Task/Dt_TaskService.cs @@ -32,6 +32,7 @@ private readonly IAgingInOrOutInputService _agingInOrOutInputService; //闈欑疆\闄堝寲 private readonly IDt_StationManagerRepository _stationManagerRepository; private readonly ISys_ConfigService _configService; + private readonly IDt_ChangeoversRepository _dt_ChangeoversRepository; private readonly ISimpleCacheService _simpleCacheService; public Dt_TaskService(IDt_TaskRepository BaseDal, @@ -51,7 +52,8 @@ IStockInfoDetailRepository stockInfoDetailRepository, IDt_StationManagerRepository stationManagerRepository, ISys_ConfigService configService, - ISimpleCacheService simpleCacheService) : base(BaseDal) + ISimpleCacheService simpleCacheService, + IDt_ChangeoversRepository dt_ChangeoversRepository) : base(BaseDal) { _unitOfWorkManage = unitOfWorkManage; _stockInfoRepository = stockInfoRepository; @@ -69,6 +71,7 @@ _stationManagerRepository = stationManagerRepository; _configService = configService; _simpleCacheService = simpleCacheService; + _dt_ChangeoversRepository = dt_ChangeoversRepository; } #region 澶栭儴鎺ュ彛鏂规硶 @@ -633,6 +636,7 @@ case (int)TaskOutboundTypeEnum.OutTray: case (int)TaskOutboundTypeEnum.Outbound: case (int)TaskOutboundTypeEnum.OutNG: + case (int)TaskOutboundTypeEnum.OutQuality: LogFactory.GetLog("浠诲姟瀹屾垚").InfoFormat(true, "鍑哄簱浠诲姟", ""); return await CompleteStackTaskAsync(task, stock); @@ -754,12 +758,13 @@ else { // 澶勭悊寮傚父鐢佃姱鎯呭喌 - var serialNosError = result.SerialNos.Where(x => x.SerialNoStatus != 1 && x.SerialNoStatus != 4).ToList(); - if (serialNosError.Count > 0) - { - return await HandleErrorCells(input, area, serialNosError); - } - + #region 鐢佃姱鍒嗙粨鏋滃紓甯镐笉闇�瑕佹垜浠鐞� + //var serialNosError = result.SerialNos.Where(x => x.SerialNoStatus != 1 && x.SerialNoStatus != 4).ToList(); + //if (serialNosError.Count > 0) + //{ + // return await HandleErrorCells(input, area, serialNosError); + //} + #endregion var boxing = CreateBoxingInfo(result, input.PalletCode); if (boxing == null) return content.Error("缁勭洏澶辫触"); @@ -901,21 +906,44 @@ // 鑾峰彇缁勭洏淇℃伅 private DtBoxingInfo CreateBoxingInfo(ResultTrayCellsStatus result, string palletCode) { - return new DtBoxingInfo + var boxing=_boxingInfoRepository.QueryFirst(x=>x.PalletCode== palletCode); + if (boxing == null) { - PalletCode = palletCode, - IsFull = true, - ProcessCode = result.ProcessCode, - ProductionLine = result.ProductionLine, - BoxingInfoDetails = result.SerialNos.Select(serialNoObj => new DtBoxingInfoDetail + return new DtBoxingInfo { - SerialNumber = serialNoObj.SerialNo, - OrderNo = serialNoObj.PositionNo.ToString(), - Status = serialNoObj.SerialNoStatus, - MaterielCode = result.BindCode, - Remark = result.TrayBarcodePropertys.ToJsonString(), - }).ToList() - }; + PalletCode = palletCode, + IsFull = true, + ProcessCode = result.ProcessCode, + ProductionLine = result.ProductionLine, + BoxingInfoDetails = result.SerialNos.Select(serialNoObj => new DtBoxingInfoDetail + { + SerialNumber = serialNoObj.SerialNo, + OrderNo = serialNoObj.PositionNo.ToString(), + Status = serialNoObj.SerialNoStatus, + MaterielCode = result.BindCode, + Remark = result.TrayBarcodePropertys.ToJsonString(), + }).ToList() + }; + } + else + { + _boxingInfoRepository.DeleteData(boxing); + return new DtBoxingInfo + { + PalletCode = palletCode, + IsFull = true, + ProcessCode = result.ProcessCode, + ProductionLine = result.ProductionLine, + BoxingInfoDetails = result.SerialNos.Select(serialNoObj => new DtBoxingInfoDetail + { + SerialNumber = serialNoObj.SerialNo, + OrderNo = serialNoObj.PositionNo.ToString(), + Status = serialNoObj.SerialNoStatus, + MaterielCode = result.BindCode, + Remark = result.TrayBarcodePropertys.ToJsonString(), + }).ToList() + }; + } } // 鑾峰彇宸ヨ壓鐢宠 @@ -1013,7 +1041,9 @@ return null; } - var outBoundMateriel = AppSettings.app<OutBoundMateriel>("OutBoundMateriel"); + //var outBoundMateriel = AppSettings.app<OutBoundMateriel>("OutBoundMateriel"); + var outBoundMateriel = _dt_ChangeoversRepository.QueryData(x => x.Status == "1").ToList(); + List<string>? materielCodes = outBoundMateriel.Count != 0 ? outBoundMateriel.Where(x => x.ProductionLine == productionLine && x.ProcessCode == area.AreaCode) .Select(x => x.MaterielCode) @@ -1066,7 +1096,8 @@ // materielCodes = outBoundMateriel.Where(x => x.ProductionLine == productionLine && x.ProcessCode == areaCodes[0]).Select(x => x.MaterielCode).ToList(); //} - var outBoundMateriel = AppSettings.app<OutBoundMateriel>("OutBoundMateriel"); + //var outBoundMateriel = AppSettings.app<OutBoundMateriel>("OutBoundMateriel"); + var outBoundMateriel = _dt_ChangeoversRepository.QueryData(x => x.Status == "1").ToList(); List<string>? materielCodes = outBoundMateriel.Count != 0 ? outBoundMateriel.Where(x => x.ProductionLine == productionLine && x.ProcessCode == areaCodes[0]) .Select(x => x.MaterielCode) @@ -1709,21 +1740,23 @@ // 鍒涘缓鍘嗗彶浠诲姟瀹炰緥妯″瀷 try { - Dt_Task task = BaseDal.QueryFirst(x => x.TaskId == Convert.ToInt32(key[0])); - if (task == null) + foreach (object item in key) { - return content.Error("鏈壘鍒颁换鍔′俊鎭�!"); + Dt_Task task = BaseDal.QueryFirst(x => x.TaskId == Convert.ToInt32(key)); + if (task == null) + { + return content.Error("鏈壘鍒颁换鍔′俊鎭�!"); + } + var taskHtyNG = CreateHistoricalTask(task, true); + + // 鎵ц鏁版嵁搴撲簨鍔� + + // 娣诲姞鍘嗗彶浠诲姟 + var isTaskHtyAdd = _task_HtyRepository.AddData(taskHtyNG) > 0; + + // 鍒犻櫎浠诲姟鏁版嵁 + var isTaskDelete = BaseDal.Delete(task.TaskId); } - var taskHtyNG = CreateHistoricalTask(task, true); - - // 鎵ц鏁版嵁搴撲簨鍔� - - // 娣诲姞鍘嗗彶浠诲姟 - var isTaskHtyAdd = _task_HtyRepository.AddData(taskHtyNG) > 0; - - // 鍒犻櫎浠诲姟鏁版嵁 - var isTaskDelete = BaseDal.Delete(task.TaskId); - return content.OK("鍒犻櫎鎴愬姛!"); } catch (Exception ex) @@ -1914,32 +1947,32 @@ } #region 鏇存柊搴撳瓨淇℃伅锛堟殏鏃朵笉闇�瑕侊級 - //if (stock.IsFull) - //{ - // // 鏌ヨ绗﹀悎鏉′欢鐨勫簱瀛樹俊鎭� - // var stocks = _stockInfoRepository.QueryData(x => x.AreaCode == stock.AreaCode && x.ProductionLine == stock.ProductionLine && x.SpecialParameterDuration != stock.SpecialParameterDuration); + if (stock.IsFull) + { + // 鏌ヨ绗﹀悎鏉′欢鐨勫簱瀛樹俊鎭� + var stocks = _stockInfoRepository.QueryData(x => x.AreaCode == stock.AreaCode && x.ProductionLine == stock.ProductionLine && x.SpecialParameterDuration != stock.SpecialParameterDuration); - // // 鏌ヨ浠诲姟淇℃伅 - // var tasks = BaseDal.QueryData(x => x.PalletCode != stock.PalletCode && x.ProductionLine == stock.ProductionLine).Select(x => x.PalletCode).ToList(); + // 鏌ヨ浠诲姟淇℃伅 + var tasks = BaseDal.QueryData(x => x.PalletCode != stock.PalletCode && x.ProductionLine == stock.ProductionLine).Select(x => x.PalletCode).ToList(); - // if (stocks != null && stocks.Count > 0) - // { - // // 杩囨护鍑洪渶瑕佹洿鏂扮殑搴撳瓨淇℃伅 - // var stocksToUpdate = stocks.Where(item => !tasks.Contains(item.PalletCode)).ToList(); - // foreach (var item in stocksToUpdate) - // { - // // 鏇存柊搴撳瓨淇℃伅鐨勭壒瀹氬弬鏁� - // item.SpecialParameterDuration = stock.SpecialParameterDuration; - // item.ParameterInfos = stock.ParameterInfos; - // item.OutboundTime = Convert.ToDateTime(item.LinedProcessFeedbackTime == null ? item.CreateDate : item.LinedProcessFeedbackTime).AddHours(Convert.ToDouble(stock.SpecialParameterDuration)); - // } - // if (stocksToUpdate.Count > 0) - // { - // // 寮傛鏇存柊搴撳瓨淇℃伅 - // var isUpdates = await _stockInfoRepository.UpdateDataAsync(stocksToUpdate); - // } - // } - //} + if (stocks != null && stocks.Count > 0) + { + // 杩囨护鍑洪渶瑕佹洿鏂扮殑搴撳瓨淇℃伅 + var stocksToUpdate = stocks.Where(item => !tasks.Contains(item.PalletCode)).ToList(); + foreach (var item in stocksToUpdate) + { + // 鏇存柊搴撳瓨淇℃伅鐨勭壒瀹氬弬鏁� + item.SpecialParameterDuration = stock.SpecialParameterDuration; + item.ParameterInfos = stock.ParameterInfos; + item.OutboundTime = Convert.ToDateTime(item.LinedProcessFeedbackTime == null ? item.CreateDate : item.LinedProcessFeedbackTime).AddHours(Convert.ToDouble(stock.SpecialParameterDuration)); + } + if (stocksToUpdate.Count > 0) + { + // 寮傛鏇存柊搴撳瓨淇℃伅 + var isUpdates = await _stockInfoRepository.UpdateDataAsync(stocksToUpdate); + } + } + } #endregion // 娣诲姞鍘嗗彶浠诲姟 -- Gitblit v1.9.3