From a7b15461d3dc6d07c18e065fa3a6acd234c2d7c8 Mon Sep 17 00:00:00 2001
From: pan <antony1029@163.com>
Date: 星期二, 09 十二月 2025 19:51:55 +0800
Subject: [PATCH] Merge branch 'master' of http://115.159.85.185:8098/r/ZhongRui/ALDbanyunxiangmu
---
项目代码/WMS无仓储版/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService.cs | 138 ++++++++++++++++++++++++++--------------------
1 files changed, 78 insertions(+), 60 deletions(-)
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS\346\227\240\344\273\223\345\202\250\347\211\210/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS\346\227\240\344\273\223\345\202\250\347\211\210/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService.cs"
index c72a941..80aec45 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS\346\227\240\344\273\223\345\202\250\347\211\210/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS\346\227\240\344\273\223\345\202\250\347\211\210/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService.cs"
@@ -130,17 +130,18 @@
_task_HtyService = task_HtyService;
}
- public async Task TaskStatusChange(string taskNum,TaskStatusEnum taskStatusEnum)
+ public async Task TaskStatusChange(string taskNum, TaskStatusEnum taskStatusEnum)
{
if (int.TryParse(taskNum, out var newTaskNum))
{
- await Db.Updateable<Dt_Task>().SetColumns(it => new Dt_Task {
- TaskStatus = taskStatusEnum.ObjToInt()
- })
+ await Db.Updateable<Dt_Task>().SetColumns(it => new Dt_Task
+ {
+ TaskStatus = taskStatusEnum.ObjToInt()
+ })
.Where(it => it.TaskNum == newTaskNum)
.ExecuteCommandAsync();
}
-
+
}
/// <summary>
@@ -450,10 +451,17 @@
var feedbackresult = await _invokeMESService.FeedbackInbound(feedmodel);
if (feedbackresult != null && feedbackresult.code == 200)
{
- _inboundOrderService.Db.Updateable<Dt_InboundOrder>().SetColumns(it => new Dt_InboundOrder { ReturnToMESStatus = 1 })
+ _inboundOrderService.Db.Updateable<Dt_InboundOrder>().SetColumns(it => new Dt_InboundOrder { ReturnToMESStatus = 1, Remark = "" })
.Where(it => it.Id == inboundOrder.Id).ExecuteCommand();
_inboundOrderDetailService.Db.Updateable<Dt_InboundOrderDetail>().SetColumns(it => new Dt_InboundOrderDetail { ReturnToMESStatus = 1 })
.Where(it => it.OrderId == inboundOrder.Id).ExecuteCommand();
+ }
+ else
+ {
+ _inboundOrderService.Db.Updateable<Dt_InboundOrder>().SetColumns(it => new Dt_InboundOrder { ReturnToMESStatus = 2, Remark = feedbackresult.message })
+ .Where(it => it.Id == inboundOrder.Id).ExecuteCommand();
+ _inboundOrderDetailService.Db.Updateable<Dt_InboundOrderDetail>().SetColumns(it => new Dt_InboundOrderDetail { ReturnToMESStatus = 2 })
+ .Where(it => it.OrderId == inboundOrder.Id).ExecuteCommand();
}
}
}
@@ -587,8 +595,6 @@
try
{
- _unitOfWorkManage.BeginTran(); // 娣诲姞浜嬪姟绠$悊
-
// 鏌ュ簱瀛�
Dt_StockInfo stockInfo = await _stockRepository.Db.Queryable<Dt_StockInfo>()
.Includes(x => x.Details)
@@ -606,7 +612,6 @@
_logger.LogInformation($"TaskService InPickTaskCompleted: 鏈壘鍒拌鎵樼洏搴撳瓨鏄庣粏淇℃伅.{task.TaskNum}");
return WebResponseContent.Instance.Error($"鏈壘鍒拌鎵樼洏搴撳瓨鏄庣粏淇℃伅");
}
-
// 鏌ヨ揣浣�
Dt_LocationInfo locationInfo = _locationInfoService.Repository.QueryFirst(x => x.LocationCode == task.TargetAddress);
if (locationInfo == null)
@@ -628,7 +633,6 @@
foreach (var lockInfo in returnLocks)
{
lockInfo.Status = (int)OutLockStockStatusEnum.宸插洖搴�;
- lockInfo.Operator = App.User.UserName;
}
if (returnLocks.Any())
@@ -689,7 +693,7 @@
);
await RecalculateOrderStatus(task.OrderNo);
- _unitOfWorkManage.CommitTran(); // 鎻愪氦浜嬪姟
+
_logger.LogInformation($"鎵樼洏鍥炲簱瀹屾垚澶勭悊鎴愬姛 - 浠诲姟鍙�: {task.TaskNum}, 鎵樼洏: {task.PalletCode}, 璁㈠崟: {task.OrderNo}");
_ = Task.Run(async () =>
{
@@ -733,60 +737,62 @@
{
try
{
+
+
// 鑾峰彇鍙楀奖鍝嶇殑璁㈠崟鏄庣粏ID锛堝幓閲嶏級
- var affectedDetailIds = returnLocks
- .Select(x => x.OrderDetailId)
- .Distinct()
- .ToList();
+ //var affectedDetailIds = returnLocks
+ // .Select(x => x.OrderDetailId)
+ // .Distinct()
+ // .ToList();
- if (!affectedDetailIds.Any())
- {
- _logger.LogInformation($"娌℃湁鍙楀奖鍝嶇殑璁㈠崟鏄庣粏 - OrderNo: {orderNo}");
- return;
- }
+ //if (!affectedDetailIds.Any())
+ //{
+ // _logger.LogInformation($"娌℃湁鍙楀奖鍝嶇殑璁㈠崟鏄庣粏 - OrderNo: {orderNo}");
+ // return;
+ //}
- _logger.LogInformation($"鏇存柊{affectedDetailIds.Count}涓彈褰卞搷鐨勮鍗曟槑缁� - OrderNo: {orderNo}");
+ //_logger.LogInformation($"鏇存柊{affectedDetailIds.Count}涓彈褰卞搷鐨勮鍗曟槑缁� - OrderNo: {orderNo}");
- foreach (var detailId in affectedDetailIds)
- {
- // 閲嶆柊璁$畻璇ヨ鍗曟槑缁嗙殑閿佸畾鏁伴噺
- decimal currentLockQty = await CalculateOrderDetailLockQuantity(detailId);
+ //foreach (var detailId in affectedDetailIds)
+ //{
+ // // 閲嶆柊璁$畻璇ヨ鍗曟槑缁嗙殑閿佸畾鏁伴噺
+ // decimal currentLockQty = await CalculateOrderDetailLockQuantity(detailId);
- // 妫�鏌ユ暟鎹竴鑷存��
- if (currentLockQty < 0)
- {
- _logger.LogWarning($"閿佸畾鏁伴噺璁$畻涓鸿礋鍊� - OrderDetailId: {detailId}, 褰撳墠鍊�: {currentLockQty}锛岄噸缃负0");
- currentLockQty = 0;
- }
+ // // 妫�鏌ユ暟鎹竴鑷存��
+ // if (currentLockQty < 0)
+ // {
+ // _logger.LogWarning($"閿佸畾鏁伴噺璁$畻涓鸿礋鍊� - OrderDetailId: {detailId}, 褰撳墠鍊�: {currentLockQty}锛岄噸缃负0");
+ // currentLockQty = 0;
+ // }
- // 鑾峰彇璁㈠崟鏄庣粏
- var orderDetail = await _outboundOrderDetailService.Db.Queryable<Dt_OutboundOrderDetail>()
- .FirstAsync(x => x.Id == detailId);
+ // // 鑾峰彇璁㈠崟鏄庣粏
+ // var orderDetail = await _outboundOrderDetailService.Db.Queryable<Dt_OutboundOrderDetail>()
+ // .FirstAsync(x => x.Id == detailId);
- if (orderDetail == null)
- {
- _logger.LogWarning($"鏈壘鍒拌鍗曟槑缁� - OrderDetailId: {detailId}");
- continue;
- }
+ // if (orderDetail == null)
+ // {
+ // _logger.LogWarning($"鏈壘鍒拌鍗曟槑缁� - OrderDetailId: {detailId}");
+ // continue;
+ // }
- // 鏇存柊閿佸畾鏁伴噺
- if (orderDetail.LockQuantity != currentLockQty)
- {
- await _outboundOrderDetailService.Db.Updateable<Dt_OutboundOrderDetail>()
- .SetColumns(it => new Dt_OutboundOrderDetail
- {
- LockQuantity = currentLockQty,
- })
- .Where(it => it.Id == detailId)
- .ExecuteCommandAsync();
+ // // 鏇存柊閿佸畾鏁伴噺
+ // if (orderDetail.LockQuantity != currentLockQty)
+ // {
+ // await _outboundOrderDetailService.Db.Updateable<Dt_OutboundOrderDetail>()
+ // .SetColumns(it => new Dt_OutboundOrderDetail
+ // {
+ // LockQuantity = currentLockQty,
+ // })
+ // .Where(it => it.Id == detailId)
+ // .ExecuteCommandAsync();
- _logger.LogInformation($"鏇存柊璁㈠崟鏄庣粏閿佸畾鏁伴噺 - OrderDetailId: {detailId}, " +
- $"鏃у��: {orderDetail.LockQuantity}, 鏂板��: {currentLockQty}");
- }
+ // _logger.LogInformation($"鏇存柊璁㈠崟鏄庣粏閿佸畾鏁伴噺 - OrderDetailId: {detailId}, " +
+ // $"鏃у��: {orderDetail.LockQuantity}, 鏂板��: {currentLockQty}");
+ // }
- // 鏇存柊璁㈠崟鏄庣粏鐘舵��
- await UpdateOrderDetailStatus(orderDetail);
- }
+ // // 鏇存柊璁㈠崟鏄庣粏鐘舵��
+ // await UpdateOrderDetailStatus(orderDetail);
+ //}
}
catch (Exception ex)
{
@@ -935,6 +941,7 @@
{
hasInProgress = true;
}
+ await UpdateOrderDetailStatus(detail);
}
var outboundOrder = await _outboundOrderService.Db.Queryable<Dt_OutboundOrder>()
@@ -966,13 +973,13 @@
.SetColumns(x => new Dt_OutboundOrder
{
OrderStatus = newStatus,
- Operator = App.User.UserName,
})
.Where(x => x.OrderNo == orderNo)
.ExecuteCommandAsync();
_logger.LogInformation($"鏇存柊璁㈠崟鐘舵�� - OrderNo: {orderNo}, 鏃х姸鎬�: {outboundOrder.OrderStatus}, 鏂扮姸鎬�: {newStatus}");
}
+
}
catch (Exception ex)
{
@@ -1042,7 +1049,7 @@
if (allCompleted && newStatus == (int)OutOrderStatusEnum.鍑哄簱瀹屾垚)
{
- if (outboundOrder.OrderType == OutOrderTypeEnum.Allocate.ObjToInt())
+ if (outboundOrder.OrderType == OutOrderTypeEnum.Allocate.ObjToInt() || outboundOrder.OrderType == OutOrderTypeEnum.InternalAllocat.ObjToInt())
{
var allocate = _allocateService.Repository.QueryData(x => x.UpperOrderNo == outboundOrder.UpperOrderNo).First();
var allocatefeedmodel = new AllocateDto
@@ -1121,7 +1128,6 @@
.SetColumns(x => new Dt_OutboundOrder
{
ReturnToMESStatus = 1,
- Operator = App.User.UserName,
}).Where(x => x.OrderNo == orderNo).ExecuteCommandAsync();
}
}
@@ -1206,8 +1212,20 @@
.ExecuteCommandAsync();
await _outboundOrderService.Db.Updateable<Dt_OutboundOrder>()
- .SetColumns(x => x.ReturnToMESStatus == 1)
+ .SetColumns(it => new Dt_OutboundOrder { ReturnToMESStatus = 2, Remark = "" })
.Where(x => x.OrderNo == orderNo)
+ .ExecuteCommandAsync();
+ }
+ else
+ {
+ await _outboundOrderDetailService.Db.Updateable<Dt_OutboundOrderDetail>()
+ .SetColumns(x => x.ReturnToMESStatus == 2)
+ .Where(x => x.OrderId == outboundOrder.Id)
+ .ExecuteCommandAsync();
+
+ await _outboundOrderService.Db.Updateable<Dt_OutboundOrder>()
+ .SetColumns(it => new Dt_OutboundOrder { ReturnToMESStatus = 2, Remark = result.message })
+ .Where(x => x.OrderNo == orderNo)
.ExecuteCommandAsync();
}
}
@@ -1262,7 +1280,7 @@
var stockresult = _stockService.StockInfoService.Repository.DeleteAndMoveIntoHty(stockInfo, App.User.UserId == 0 ? OperateTypeEnum.鑷姩瀹屾垚 : OperateTypeEnum.浜哄伐瀹屾垚);
if (!stockresult)
- {
+ {
_stockRepository.Db.Deleteable(stockInfo).ExecuteCommand();
}
_stockService.StockInfoService.DeleteData(stockInfo);
--
Gitblit v1.9.3