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 | 158 ++++++++++++++++++++++++++++++++--------------------
1 files changed, 97 insertions(+), 61 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 274b956..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 澶栭儴鎺ュ彛鏂规硶
@@ -248,7 +251,7 @@
var isStockUpdated = await _locationRepository.UpdateDataAsync(info);
if (!isStockUpdated)
{
- throw new Exception("搴撳瓨淇℃伅鏇存柊澶辫触");
+ throw new Exception("搴撲綅淇℃伅鏇存柊澶辫触");
}
}
@@ -358,7 +361,7 @@
WebResponseContent content = new WebResponseContent();
try
{
- if (task.TaskType == (int)TaskInboundTypeEnum.InNG || task.TaskType == (int)TaskInboundTypeEnum.InQuality)
+ if (task.TaskType == (int)TaskInboundTypeEnum.InNG)
{
task.TaskState = (int)TaskInStatusEnum.SC_InFinish;
// 鍒涘缓鍘嗗彶浠诲姟瀹炰緥妯″瀷
@@ -425,6 +428,9 @@
Console.WriteLine(err.Message.ToString());
LogFactory.GetLog("浠诲姟瀹屾垚").Error(true, err);
content.Error(err.Message);
+ task.ErrorMessage= err.Message;
+ task.TaskState=(int)TaskInStatusEnum.SC_InExecuting;
+ await BaseDal.Update(task);
}
return content;
}
@@ -630,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);
@@ -751,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("缁勭洏澶辫触");
@@ -898,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()
+ };
+ }
}
// 鑾峰彇宸ヨ壓鐢宠
@@ -1010,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)
@@ -1063,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)
@@ -1706,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)
@@ -1911,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