From 035f2a81a59532ac9f892dab9ade44304847b4fb Mon Sep 17 00:00:00 2001
From: wanshenmean <cathay_xy@163.com>
Date: 星期一, 06 四月 2026 11:11:36 +0800
Subject: [PATCH] 重构输送线选择器;添加表格展开功能

---
 Code/WMS/WIDESEA_WMSServer/WIDESEA_StockService/StockSerivce.cs |   66 +++++++++++++++++++++++++++++---
 1 files changed, 59 insertions(+), 7 deletions(-)

diff --git a/Code/WMS/WIDESEA_WMSServer/WIDESEA_StockService/StockSerivce.cs b/Code/WMS/WIDESEA_WMSServer/WIDESEA_StockService/StockSerivce.cs
index d5f16e0..c253b80 100644
--- a/Code/WMS/WIDESEA_WMSServer/WIDESEA_StockService/StockSerivce.cs
+++ b/Code/WMS/WIDESEA_WMSServer/WIDESEA_StockService/StockSerivce.cs
@@ -163,14 +163,15 @@
                         Creater = "system",
                         Details = details
                     };
-                    var mesResult = _mesService.BindContainer(bindRequest);
-                    if (mesResult == null || !mesResult.IsSuccess)
-                    {
-                        return content.Error($"缁勭洏鎴愬姛锛屼絾MES缁戝畾澶辫触: {mesResult?.ErrorMessage ?? "鏈煡閿欒"}");
-                    }
-
                     result = StockInfoService.Repository.AddData(entity, x => x.Details);
-                    return result ? content.OK("缁勭洏鎴愬姛") : content.Error("缁勭洏澶辫触");
+                    if (!result) return content.Error("缁勭洏澶辫触");
+
+                    var mesResult = _mesService.BindContainer(bindRequest);
+                    if (mesResult == null || mesResult.Data == null || !mesResult.Data.IsSuccess)
+                    {
+                        return content.Error($"缁勭洏鎴愬姛锛屼絾MES缁戝畾澶辫触: {mesResult?.Data?.Msg ?? mesResult?.ErrorMessage ?? "鏈煡閿欒"}");
+                    }
+                    return content.OK("缁勭洏鎴愬姛");
                 });
             }
             catch (Exception ex)
@@ -231,9 +232,45 @@
                     if (await StockInfo_HtyService.Repository.AddDataAsync(CreateStockHistory(new[] { sourceStock, targetStock }, "鎹㈢洏")) <= 0)
                         return content.Error("鎹㈢洏鍘嗗彶璁板綍淇濆瓨澶辫触");
 
+                    // 璋冪敤MES瑙g粦婧愭墭鐩樼數鑺�
+                    var unbindRequest = new UnBindContainerRequest
+                    {
+                        EquipmentCode = "STK-GROUP-001",
+                        ResourceCode = "STK-GROUP-001",
+                        LocalTime = DateTime.Now,
+                        ContainCode = stock.SourcePalletNo,
+                        SfcList = detailEntities.Select(d => d.SerialNumber).ToList()
+                    };
+                    var unbindResult = _mesService.UnBindContainer(unbindRequest);
+                    if (unbindResult == null || unbindResult.Data == null || !unbindResult.Data.IsSuccess)
+                    {
+                        return content.Error($"鎹㈢洏鎴愬姛锛屼絾MES瑙g粦澶辫触: {unbindResult?.Data?.Msg ?? unbindResult?.ErrorMessage ?? "鏈煡閿欒"}");
+                    }
+
                     detailEntities.ForEach(d => d.StockId = targetStock.Id);
                     var result = await StockInfoDetailService.Repository.UpdateDataAsync(detailEntities);
                     if (!result) return content.Error("鎹㈢洏澶辫触");
+
+                    // 璋冪敤MES缁戝畾鐩爣鎵樼洏鐢佃姱
+                    var bindRequest = new BindContainerRequest
+                    {
+                        ContainerCode = stock.TargetPalletNo,
+                        EquipmentCode = "STK-GROUP-001",
+                        ResourceCode = "STK-GROUP-001",
+                        LocalTime = DateTime.Now,
+                        OperationType = 0,
+                        ContainerSfcList = detailEntities.Select(d => new ContainerSfcItem
+                        {
+                            Sfc = d.SerialNumber,
+                            Location = d.InboundOrderRowNo.ToString()
+                        }).ToList()
+                    };
+                    var bindResult = _mesService.BindContainer(bindRequest);
+                    if (bindResult == null || bindResult.Data == null || !bindResult.Data.IsSuccess)
+                    {
+                        return content.Error($"鎹㈢洏鎴愬姛锛屼絾MES缁戝畾澶辫触: {bindResult?.Data?.Msg ?? bindResult?.ErrorMessage ?? "鏈煡閿欒"}");
+                    }
+
                     return content.OK("鎹㈢洏鎴愬姛");
                 });
             }
@@ -278,6 +315,21 @@
                     if (await StockInfo_HtyService.Repository.AddDataAsync(CreateStockHistory(new[] { sourceStock }, "鎷嗙洏")) <= 0)
                         return content.Error("鎷嗙洏鍘嗗彶璁板綍淇濆瓨澶辫触");
 
+                    // 璋冪敤MES瑙g粦鐢佃姱
+                    var unbindRequest = new UnBindContainerRequest
+                    {
+                        EquipmentCode = "STK-GROUP-001",
+                        ResourceCode = "STK-GROUP-001",
+                        LocalTime = DateTime.Now,
+                        ContainCode = stock.SourcePalletNo,
+                        SfcList = detailEntities.Select(d => d.SerialNumber).ToList()
+                    };
+                    var unbindResult = _mesService.UnBindContainer(unbindRequest);
+                    if (unbindResult == null || unbindResult.Data == null || !unbindResult.Data.IsSuccess)
+                    {
+                        return content.Error($"鎷嗙洏鎴愬姛锛屼絾MES瑙g粦澶辫触: {unbindResult?.Data?.Msg ?? unbindResult?.ErrorMessage ?? "鏈煡閿欒"}");
+                    }
+
                     var result = await StockInfoDetailService.Repository.DeleteDataAsync(detailEntities);
                     if (!result) return content.Error("鎷嗙洏澶辫触");
                     return content.OK("鎷嗙洏鎴愬姛");

--
Gitblit v1.9.3