From aa955bd69cacf6c83a33b4b8577d4e33ff0af026 Mon Sep 17 00:00:00 2001
From: pan <antony1029@163.com>
Date: 星期三, 03 十二月 2025 15:02:52 +0800
Subject: [PATCH] 提交

---
 项目代码/WMS无仓储版/WIDESEA_WMSServer/WIDESEA_BasicService/InvokeMESService.cs |   90 +++++++++++++++-----------------------------
 1 files changed, 31 insertions(+), 59 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_BasicService/InvokeMESService.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_BasicService/InvokeMESService.cs"
index d085b30..19c29c9 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_BasicService/InvokeMESService.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_BasicService/InvokeMESService.cs"
@@ -129,7 +129,7 @@
             _client.DefaultRequestHeaders.Clear();
             _client.DefaultRequestHeaders.Add("Accept", "application/json");
 
-            _logger.LogInformation("InvokeMESService  FeedbackOutbound :  " + json);
+            _logger.LogInformation("InvokeMESService  FeedbackOutbound :  "+ model.orderNo +"  , " + json);
 
             var response = await _client.PostAsync("AldMaterialOutbound/MaterialOutbound", content);
             string body = await response.Content.ReadAsStringAsync();
@@ -139,7 +139,7 @@
 
                 throw new HttpRequestException(body);
             }
-
+            _logger.LogInformation("InvokeMESService  FeedbackOutbound  body:  " + body);
 
             return JsonConvert.DeserializeObject<ResponseModel>(body);
         }
@@ -248,58 +248,7 @@
             }
         }
 
-        /// <summary>
-        /// 鍑嗗鍥炰紶鏁版嵁
-        /// </summary>
-        private TransferDataDto PrepareTransferData(List<Dt_PickingRecord> pickingRecords)
-        {
-            var transferData = new TransferDataDto
-            {
-                TransferTime = DateTime.Now,
-                Items = new List<TransferItemDto>()
-            };
-
-            // 鎸夌墿鏂欏垎缁�
-            var materialGroups = pickingRecords
-                .GroupBy(x => x.MaterielCode)
-                .ToList();
-
-            foreach (var group in materialGroups)
-            {
-                var item = new TransferItemDto
-                {
-                    MaterialCode = group.Key,
-                    TotalQuantity = group.Sum(x => x.PickQuantity),
-                    Locations = new List<LocationInfoDto>()
-                };
-
-                // 鎸夎揣浣嶅垎缁�
-                var locationGroups = group
-                    .GroupBy(x => x.LocationCode)
-                    .ToList();
-
-                foreach (var locationGroup in locationGroups)
-                {
-                    var location = new LocationInfoDto
-                    {
-                        LocationCode = locationGroup.Key,
-                        Quantity = locationGroup.Sum(x => x.PickQuantity),
-                        Barcodes = locationGroup.Select(x => new BarcodeInfoDto
-                        {
-                            Barcode = x.Barcode,
-                            Quantity = x.PickQuantity
-                        }).ToList()
-                    };
-
-                    item.Locations.Add(location);
-                }
-
-                transferData.Items.Add(item);
-            }
-
-            return transferData;
-        }
-
+   
         /// <summary>
         /// 
         /// </summary>
@@ -446,7 +395,7 @@
             }
             return WebResponseContent.Instance.OK();
         }
-      
+
         private async Task<WebResponseContent> HandleOutboundOrderBatchToMESCompletion(Dt_OutboundOrder outboundOrder, string orderNo)
         {
             // 瀹氫箟榛樿杩斿洖锛堟垚鍔熸�侊級
@@ -489,7 +438,7 @@
                     business_type = outboundOrder.BusinessType,
                     factoryArea = outboundOrder.FactoryArea,
                     operationType = 1,
-                    Operator = outboundOrder.Operator,
+                    Operator = outboundOrder.Operator!=""? outboundOrder.Operator:App.User.UserName,
                     orderNo = outboundOrder.UpperOrderNo,
                     documentsNO = documentNo,
                     status = outboundOrder.OrderStatus,
@@ -511,7 +460,7 @@
                         materialCode = detail.MaterielCode,
                         lineNo = detail.lineNo,
                         warehouseCode = detail.WarehouseCode,
-                        qty = 0,
+                        qty = detail.BarcodeQty,
                         currentDeliveryQty = 0,
                         unit = detail.BarcodeUnit,
                         barcodes = new List<WIDESEA_DTO.Outbound.BarcodesModel>()
@@ -544,14 +493,32 @@
                         else
                         {
                             barModel.qty = item.PickQuantity;
-                        }
-                        detailModel.qty += barModel.qty;
+                        }                 
                         detailModel.currentDeliveryQty += barModel.qty;
                         detailModel.barcodes.Add(barModel);
                     }
                     detailIds.Add(detail.Id);
                     feedModel.details.Add(detailModel);
                 }
+
+                feedModel.details = feedModel.details.GroupBy(item => new { item.materialCode, item.lineNo, item.warehouseCode, item.unit,item.qty  }).Select(group => new FeedbackOutboundDetailsModel
+                {
+                    materialCode = group.Key.materialCode,
+                    lineNo = group.Key.lineNo,
+                    warehouseCode = group.Key.warehouseCode,
+                    qty = group.Key.qty,
+                    currentDeliveryQty = group.Sum(x => x.currentDeliveryQty),
+                    unit = group.Key.unit,
+                    barcodes = group.SelectMany(x => x.barcodes.GroupBy(o => new { o.barcode, o.supplyCode, o.batchNo, o.unit }).Select(row => new WIDESEA_DTO.Outbound.BarcodesModel
+                    {
+                        barcode = row.Key.barcode,
+                        supplyCode = row.Key.supplyCode,
+                        batchNo = row.Key.batchNo,
+                        unit = row.Key.unit,
+                        qty = row.Sum(y => y.qty)
+                    })).ToList()
+                }).ToList();
+
                 var allCompleted = true;
 
                 // 绛涢�夊緟鍥炰紶鐨勬槑缁嗭紙ReturnToMESStatus=0锛�
@@ -810,6 +777,11 @@
                             .Where(x => x.OrderNo == orderNo)
                             .ExecuteCommandAsync();
 
+                        await _pickingRecoreRepository.Db.Updateable<Dt_PickingRecord>()
+                                 .SetColumns(x => x.ReturnToMESStatus == 1)
+                            .Where(x => x.OrderNo == orderNo)
+                            .ExecuteCommandAsync();
+
                         return WebResponseContent.Instance.OK("鍥炰紶MES鎴愬姛");
                     }
                     else

--
Gitblit v1.9.3