From dfb67ae65d678da26d0fa880efa185591d6ff970 Mon Sep 17 00:00:00 2001
From: huangxiaoqiang <huangxiaoqiang@hnkhzn.com>
Date: 星期五, 28 十一月 2025 14:46:31 +0800
Subject: [PATCH] """ 支持任务状态分组及路径与配置更新
---
项目代码/WMS/WIDESEA_WMSServer/WIDESEA_StorageTaskServices/Task/Dt_TaskService.cs | 45 ++++++++++++++++++++++++++++++++++-----------
1 files changed, 34 insertions(+), 11 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 971962b..e9f8f4b 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"
@@ -105,6 +105,13 @@
WebResponseContent content = new WebResponseContent();
try
{
+ if (task.TaskState.GetTaskStateGroup() == TaskStateGroup.CarryGroup)
+ {
+ var result1 = UpdateLocationStatus(task.SourceAddress, LocationEnum.Free, task.TaskNum.Value, StatusChangeTypeEnum.AutomaticOutbound);
+ await _locationStatusChangeRecordRepository.AddDataAsync(result1.Item1);
+ await _locationRepository.UpdateDataAsync(result1.Item2);
+ }
+
task.TaskState = (int)TaskOutStatusEnum.OutFinish;
var taskHty = task.Adapt<Dt_Task_Hty>();
taskHty.FinishTime = DateTime.Now;
@@ -113,14 +120,15 @@
stock.ModifyDate = DateTime.Now;
stock.LocationCode = task.TargetAddress;
var result2 = UpdateLocationStatus(task.TargetAddress, LocationEnum.InStock, task.TaskNum.Value, StatusChangeTypeEnum.AutomaticOutbound);
+
DtStockInfo_Hty stockInfo_Hty = stock.Adapt<DtStockInfo_Hty>();
var orderDetails = _orderOutDetailsRepository.QueryData(x => x.PalletCode == task.PalletCode);
List<Dt_OrderOutDetails_Hty> orderdetailshtys = new List<Dt_OrderOutDetails_Hty>();
orderDetails.ForEach(item =>
- {
- orderdetailshtys.Add(item.Adapt<Dt_OrderOutDetails_Hty>());
- });
+ {
+ orderdetailshtys.Add(item.Adapt<Dt_OrderOutDetails_Hty>());
+ });
await ERPAllocateOut(stock);
@@ -172,8 +180,9 @@
boxingInfo.BoxingInfoDetails = mergedDetails;
}
- await _unitOfWorkManage.UseTranAsync(async () =>
- {
+ //await _unitOfWorkManage.UseTranAsync(async () =>
+ //{
+ _unitOfWorkManage.BeginTran();
await DeleteStockInfoAsync(stock.Id);
_boxingInfoRepository.UpdateDataNav(boxingInfo);
await DeleteStockInfoDetailsAsync(stock.StockInfoDetails);
@@ -185,12 +194,14 @@
await DeleteTaskAsync(task.TaskId);
await AddTaskHtyAsync(taskHty);
- });
+ _unitOfWorkManage.CommitTran();
+ //});
content.OK("鍑哄簱瀹屾垚");
}
catch (Exception ex)
{
+ _unitOfWorkManage.RollbackTran();
task.ErrorMessage = ex.Message;
await BaseDal.UpdateDataAsync(task);
return content.Error(ex.Message);
@@ -268,7 +279,15 @@
{
return content.Error("鏈壘鍒扮粍鐩樻暟鎹�");
}
- await ERPAllocate(boxinfo);
+
+ if (task.TaskState.GetTaskStateGroup() == TaskStateGroup.CarryGroup)
+ {
+ var result1 = UpdateLocationStatus(task.SourceAddress, LocationEnum.Free, task.TaskNum.Value, StatusChangeTypeEnum.AutomaticInbound);
+ await _locationStatusChangeRecordRepository.AddDataAsync(result1.Item1);
+ await _locationRepository.UpdateDataAsync(result1.Item2);
+ }
+
+
var stock = CreateStock(boxinfo, task);
@@ -280,18 +299,22 @@
var result2 = UpdateLocationStatus(task.TargetAddress, LocationEnum.InStock, task.TaskNum.Value, StatusChangeTypeEnum.AutomaticInbound);
- await _unitOfWorkManage.UseTranAsync(async () =>
- {
- await _stockInfoRepository.AddDataNavAsync(stock);
+ //await _unitOfWorkManage.UseTranAsync(async () =>
+ //{
+ _unitOfWorkManage.BeginTran();
+ await _stockInfoRepository.AddDataNavAsync(stock);
await DeleteTaskAsync(task.TaskId);
await AddTaskHtyAsync(taskHty);
await _locationStatusChangeRecordRepository.AddDataAsync(result2.Item1);
await _locationRepository.UpdateDataAsync(result2.Item2);
- });
+ _unitOfWorkManage.CommitTran();
+ //});
+ await ERPAllocate(boxinfo);
content.OK("鍏ュ簱瀹屾垚");
}
catch (Exception ex)
{
+ _unitOfWorkManage.RollbackTran();
task.ErrorMessage = ex.Message;
await BaseDal.UpdateDataAsync(task);
return content.Error(ex.Message);
--
Gitblit v1.9.3