From 01a80700ea03a332785fb8cbd16aecaf7cce2ccb Mon Sep 17 00:00:00 2001
From: dengjunjie <dengjunjie@hnkhzn.com>
Date: 星期四, 30 五月 2024 10:29:18 +0800
Subject: [PATCH] 添加人工下料和切换托盘日志

---
 代码管理/WMS/WMS_Server/WIDESEA_WMS/Common/GetStation/EmptyTrayIn.cs |   36 +++++++++++++++++++++++++++++++-----
 1 files changed, 31 insertions(+), 5 deletions(-)

diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WMS/Common/GetStation/EmptyTrayIn.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WMS/Common/GetStation/EmptyTrayIn.cs"
index f8a976b..9d160c8 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WMS/Common/GetStation/EmptyTrayIn.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WMS/Common/GetStation/EmptyTrayIn.cs"
@@ -36,6 +36,32 @@
             }
         }
         /// <summary>
+        /// 鑾峰彇鍙叆绌烘墭璐т綅
+        /// </summary>
+        public static dt_stationinfo GetEmptyTrayStation(Idt_stationinfoRepository stationinfoRepository, dt_agvtask agv_task)
+        {
+            dt_stationinfo EmptyStation = null;
+            #region 妫�娴嬩笂鏂欑殑绌烘墭鍙犵洏
+            if (agv_task.agv_fromaddress.Contains("S"))
+            {
+                var EmptyStations = stationinfoRepository.Find(x => x.stationCode.Contains("DD") && x.quantity < 5 && x.enable).ToList();
+                EmptyStation = EmptyStations.Where(x => x.tray_type == agv_task.agv_Traytype && x.quantity < 5 && x.location_state == LocationStateEnum.Stroge.ToString()).FirstOrDefault();
+                if (EmptyStation == null)
+                    EmptyStation = EmptyStations.Where(x => x.location_state == LocationStateEnum.Empty.ToString() && x.quantity == 0).FirstOrDefault();
+                if (EmptyStation == null)
+                {
+                    var EmptyD = EmptyStations.Where(x => x.location_state == LocationStateEnum.Stroge.ToString() && x.quantity > 0).OrderByDescending(x => x.quantity).FirstOrDefault();
+                    if (EmptyD != null) CreateEmptyTrayIn(stationinfoRepository, EmptyD);
+                }
+            }
+            #endregion
+            else
+            {
+                EmptyStation = GetStation.EmptyPalletStation1(agv_task.agv_Traytype == "SmallTray" ? "11" : "10");
+            }
+            return EmptyStation;
+        }
+        /// <summary>
         /// 鍒涘缓绌烘墭鍙犵洏鍏ュ簱浠诲姟
         /// </summary>
         /// <param name="stationinfoRepository"></param>
@@ -48,13 +74,13 @@
             {
                 if (agvtaskRepository.Find(x => x.agv_fromaddress == EmptyStation.stationCode || x.agv_toaddress == EmptyStation.stationCode).Any()) return;
                 var area = EmptyStation.tray_type == "SmallTray" ? "11" : "10";
-                var toEmptyStation = GetStation.EmptyPalletStation(area);
+                var toEmptyStation = GetStation.EmptyPalletStation1(area);
                 if (toEmptyStation != null)
                 {
                     #region 鍚屼竴涓┖鎵樹綅鍙兘鍚屾椂鐢熸垚涓�涓┖鎵樹换鍔�
                     if (agvtaskRepository.Find(x => x.agv_fromaddress == toEmptyStation.stationCode || x.agv_toaddress == toEmptyStation.stationCode).Any()) return;
                     #endregion
-
+                    var quantity = 5 - toEmptyStation.quantity;
                     dt_agvtask agvtask = new dt_agvtask()
                     {
                         agv_fromaddress = EmptyStation.stationCode,
@@ -63,9 +89,9 @@
                         agv_grade = 3,
                         agv_createtime = DateTime.Now,
                         agv_taskstate = "Create",
-                        //agv_materielid = station.stationType,
-                        agv_qty = EmptyStation.quantity - toEmptyStation.quantity,
-                        StarQuantity = toEmptyStation.quantity,
+                        agv_qty = EmptyStation.quantity <= quantity ? EmptyStation.quantity : quantity,
+                        //agv_qty = EmptyStation.quantity - toEmptyStation.quantity,
+                        StarQuantity = EmptyStation.quantity <= quantity ? 0 : EmptyStation.quantity - quantity,
                         EndQuantity = toEmptyStation.quantity,
                         agv_tasktype = "TaskType_EmptyPallet",
                         agv_toaddress = toEmptyStation.stationCode,

--
Gitblit v1.9.3