From b680585c3a6d43f0c72a83a115ea537ce8c91a07 Mon Sep 17 00:00:00 2001
From: 647556386 <647556386@qq.com>
Date: 星期六, 13 十二月 2025 17:44:10 +0800
Subject: [PATCH] Merge branch 'master' of http://115.159.85.185:8098/r/ZhongRui/ALDbanyunxiangmu

---
 项目代码/WMS无仓储版/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService.cs |  118 ++++++++++++++++++++++++++++++++++-------------------------
 1 files changed, 68 insertions(+), 50 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 b65d4c3..eb77ed2 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"
@@ -714,7 +714,7 @@
                     _logger.LogInformation($"InPickTaskCompleted AddLocationStatusChangeRecord : {ex.Message} ");
                 }
 
-                _logger.LogInformation($"鎵樼洏鍥炲簱瀹屾垚澶勭悊鎴愬姛 - 浠诲姟鍙�: {task.TaskNum}, 鎵樼洏: {task.PalletCode}, 璁㈠崟: {task.OrderNo}");
+                _logger.LogInformation($"鎵樼洏鍥炲簱瀹屾垚澶勭悊鎴愬姛 - 浠诲姟鍙�: {task.TaskNum}, 鎵樼洏: {task.PalletCode}, 璁㈠崟: {task.OrderNo} 璐т綅鐘舵�侊細{locationInfo.LocationStatus}");
                 _ = Task.Run(async () =>
                 {
                     try
@@ -1136,33 +1136,36 @@
 
                                 allocatefeedmodel.Details.Add(detailModel);
                             }
-                            var groupedResult = allocatefeedmodel.Details.GroupBy(item => new
-                            {
-                                item.WarehouseCode,
-                                item.MaterialCode,
-                                item.Unit,
-                                item.LineNo
-                            }).Select(group => new AllocateDtoDetail
-                            {
-                                 WarehouseCode = group.Key.WarehouseCode,
-                                 MaterialCode = group.Key.MaterialCode,
-                                 LineNo = group.Key.LineNo,                              
-                                 Qty = group.Sum(x => x.Qty),  
-                                 Unit = group.Key.Unit, 
-                                 Barcodes = group.SelectMany(x => x.Barcodes) 
-                                                       .GroupBy(b => b.Barcode) 
-                                                       .Select(b => new BarcodeInfo
-                                                       {
-                                                           Barcode = b.Key,
-                                                           BatchNo = b.First().BatchNo,
-                                                           SupplyCode = b.First().SupplyCode,
-                                                           Qty = b.Max(x => x.Qty), 
-                                                           Unit = b.First().Unit
-                                                       }) .ToList()
-                             }) .ToList();
+                            var groupedResult = allocatefeedmodel.Details
+                                .GroupBy(item => new { item.WarehouseCode, item.MaterialCode, item.Unit, item.LineNo })
+                                .Select(group =>
+                                {
+
+                                    var deduplicatedBarcodes = group.SelectMany(x => x.Barcodes)
+                                                                   .GroupBy(b => b.Barcode)
+                                                                   .Select(b => new BarcodeInfo
+                                                                   {
+                                                                       Barcode = b.Key,
+                                                                       BatchNo = b.First().BatchNo,
+                                                                       SupplyCode = b.First().SupplyCode,
+                                                                       Qty = b.Max(x => x.Qty),
+                                                                       Unit = b.First().Unit
+                                                                   }).ToList();
+                                    return new AllocateDtoDetail
+                                    {
+                                        WarehouseCode = group.Key.WarehouseCode,
+                                        MaterialCode = group.Key.MaterialCode,
+                                        LineNo = group.Key.LineNo,
+                                        Qty = deduplicatedBarcodes.Sum(b => b.Qty),
+                                        Unit = group.Key.Unit,
+                                        Barcodes = deduplicatedBarcodes
+                                    };
+                                }).ToList();
+
                             allocatefeedmodel.Details = groupedResult;
 
-                          var result = await _invokeMESService.FeedbackAllocate(allocatefeedmodel);
+
+                            var result = await _invokeMESService.FeedbackAllocate(allocatefeedmodel);
                             if (result != null && result.code == 200)
                             {
                                 await _outboundOrderDetailService.Db.Updateable<Dt_OutboundOrderDetail>()
@@ -1175,6 +1178,19 @@
                                           ReturnToMESStatus = 1,
                                       }).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();
+                            }
+
                         }
                     }
                     else if (outboundOrder.OrderType == OutOrderTypeEnum.ReCheck.ObjToInt())
@@ -1247,30 +1263,32 @@
                                 }
                                 feedmodel.details.Add(detailModel);
                             }
-                            var groupedResult = feedmodel.details.GroupBy(item => new
-                            {
-                                item.warehouseCode,
-                                item.materialCode,
-                                item.unit,
-                                item.lineNo
-                            }).Select(group => new FeedbackOutboundDetailsModel
-                            {
-                                warehouseCode = group.Key.warehouseCode,
-                                materialCode = group.Key.materialCode,
-                                lineNo = group.Key.lineNo,
-                                qty = group.Sum(x => x.qty),
-                                unit = group.Key.unit,
-                                barcodes = group.SelectMany(x => x.barcodes)
-                                                       .GroupBy(b => b.barcode)
-                                                       .Select(b => new WIDESEA_DTO.Outbound.BarcodesModel
-                                                       {
-                                                           barcode = b.Key,
-                                                           batchNo = b.First().batchNo,
-                                                           supplyCode = b.First().supplyCode,
-                                                           qty = b.Max(x => x.qty),
-                                                           unit = b.First().unit
-                                                       }).ToList()
-                            }).ToList();
+
+                            var groupedResult = feedmodel.details
+                               .GroupBy(item => new { item.warehouseCode, item.materialCode, item.unit, item.lineNo })
+                               .Select(group =>
+                               {
+                                   var deduplicatedBarcodes = group.SelectMany(x => x.barcodes)
+                                                                  .GroupBy(b => b.barcode)
+                                                                  .Select(b => new WIDESEA_DTO.Outbound.BarcodesModel
+                                                                  {
+                                                                      barcode = b.Key,
+                                                                      batchNo = b.First().batchNo,
+                                                                      supplyCode = b.First().supplyCode,
+                                                                      qty = b.Max(x => x.qty),
+                                                                      unit = b.First().unit
+                                                                  }).ToList();
+                                   return new FeedbackOutboundDetailsModel
+                                   {
+                                       warehouseCode = group.Key.warehouseCode,
+                                       materialCode = group.Key.materialCode,
+                                       lineNo = group.Key.lineNo,
+                                       qty = deduplicatedBarcodes.Sum(b => b.qty),
+                                       unit = group.Key.unit,
+                                       barcodes = deduplicatedBarcodes
+                                   };
+                               }).ToList();
+
                             feedmodel.details = groupedResult;
 
                             var result = await _invokeMESService.FeedbackOutbound(feedmodel);

--
Gitblit v1.9.3