From 14f174a37b0368167610119ee1b8ce7b610b5a9d Mon Sep 17 00:00:00 2001
From: dengjunjie <dengjunjie@hnkhzn.com>
Date: 星期六, 11 五月 2024 18:27:23 +0800
Subject: [PATCH] 优化人工出库逻辑

---
 代码管理/WMS/WMS_Server/WIDESEA_WMS/Services/system/Partial/dt_inventoryService.cs |   31 ++++++++++++++++++++++++++-----
 1 files changed, 26 insertions(+), 5 deletions(-)

diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WMS/Services/system/Partial/dt_inventoryService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WMS/Services/system/Partial/dt_inventoryService.cs"
index ec2d131..64201bf 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WMS/Services/system/Partial/dt_inventoryService.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WMS/Services/system/Partial/dt_inventoryService.cs"
@@ -36,6 +36,7 @@
 using WIDESEA_Comm.MES_Info;
 using System.Reflection;
 using static System.Collections.Specialized.BitVector32;
+using WIDESEA_Comm;
 
 namespace WIDESEA_WMS.Services
 {
@@ -246,7 +247,7 @@
                             detail detail = new detail();
                             detail.sn = inventory.SN;
                             lists.Add(detail);
-                            str = str == "" ? inventory.SN : "," + inventory.SN;
+                            str += str == "" ? inventory.SN : "," + inventory.SN;
                         }
                         agvInWarehousePara outWarehousePara = new agvInWarehousePara()
                         {
@@ -271,11 +272,31 @@
                             foreach (var inventory in inventorys)
                             {
                                 var station = stationinfoRepository.Find(x => x.stationCode == inventory.stationCode).FirstOrDefault();
-                                var bindSNS = station.bindSN.Split(",");
-                                station.bindSN = ToMesServer.OperStr(bindSNS, inventory.SN);
-                                var billetS = station.billetID.Split(",");
-                                station.billetID = ToMesServer.OperStr(billetS, inventory.BilletNumber.ToString());
                                 station.quantity = station.quantity - 1;
+                                if (station.quantity == 0)
+                                {
+                                    station.stationType = string.Empty;
+                                    station.heatNumber = string.Empty;
+                                    station.Number = string.Empty;
+                                    station.billetID = string.Empty;
+                                    station.bindSN = string.Empty;
+                                    station.enable = false;
+                                    station.tray_status = string.Empty;
+                                    station.location_state = LocationStateEnum.Empty.ToString();
+                                }
+                                else
+                                {
+                                    var bindSNS = station.bindSN.Split(",");
+                                    station.bindSN = ToMesServer.OperStr(bindSNS, inventory.SN);
+                                    var billetS = station.billetID.Split(",");
+                                    station.billetID = ToMesServer.OperStr(billetS, inventory.BilletNumber.ToString());
+                                }
+
+                                #region 鍙栨秷璺熻釜DbContext涓璺熻釜鐨勫疄浣�
+                                var currentEntry = stationinfoRepository.DbContext.ChangeTracker.Entries<dt_stationinfo>().FirstOrDefault();
+                                if (currentEntry != null) currentEntry.State = EntityState.Detached;
+                                #endregion
+
                                 stationinfoRepository.Update(station, true);
                                 _repository.Delete(inventory, true);
                             }

--
Gitblit v1.9.3