From 8554717a7abbe2889ae1d835857661dc8b91aa68 Mon Sep 17 00:00:00 2001
From: dengjunjie <dengjunjie@hnkhzn.com>
Date: 星期六, 25 五月 2024 10:05:23 +0800
Subject: [PATCH] 优化自动切换大小托盘

---
 代码管理/WMS/WMS_Server/WIDESEA_WMS/Services/system/Partial/dt_stationinfoService.cs |   15 ++++++++++-----
 1 files changed, 10 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_stationinfoService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WMS/Services/system/Partial/dt_stationinfoService.cs"
index 6230dc3..bef8d16 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WMS/Services/system/Partial/dt_stationinfoService.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WMS/Services/system/Partial/dt_stationinfoService.cs"
@@ -111,20 +111,25 @@
             VOLContext context = new VOLContext();
             Idt_agvtaskRepository agvtaskRepository = new dt_agvtaskRepository(context);
             IVV_Mes_WorkinfoRepository workinfoRepository = new VV_Mes_WorkinfoRepository(context);
-            string completor = UserContext.Current.UserName;
             foreach (var Key in saveModel.DelKeys)
             {
                 try
                 {
                     var station = repository.Find(x => x.id.ToString() == Key.ToString()).FirstOrDefault();
-                    if (!station.stationCode.Contains("X")) throw new Exception($"鏃爗station.stationCode}浣跨敤鏉冮檺锛�");
+                    if (!station.stationCode.Contains("X") && !station.stationCode.Contains("W01001004") && !station.stationCode.Contains("W01001005")) throw new Exception($"鏃爗station.stationCode}浣跨敤鏉冮檺锛�");
                     if (!station.enable) throw new Exception($"{station.stationCode}鏈惎鐢紒");
                     if (station.location_state == LocationStateEnum.Abnormal.ToString()) throw new Exception($"{station.stationCode}鐘舵�佸紓甯革紒");
                     if (station.location_state == LocationStateEnum.Empty.ToString()) throw new Exception($"{station.stationCode}鐘舵�佷负绌猴紒");
                     if (station.remark == "妗佹灦涓嬫枡") throw new Exception($"{station.stationCode}妗佹灦姝e湪涓嬫枡锛�");
-                    if (agvtaskRepository.Find(x => x.agv_toaddress == station.stationCode).Any()) throw new Exception($"{station.stationCode}瀛樺湪浠诲姟锛�");
-                    
-                    if (!agvtaskRepository.Find(x => x.agv_fromaddress == station.stationCode).Any())
+
+                    var task = agvtaskRepository.Find(x => x.agv_toaddress == station.stationCode).FirstOrDefault();
+                    if (task != null)
+                    {
+                        if (task.agv_taskstate != AGVTaskStateEnum.Queue.ToString()) throw new Exception($"{station.stationCode}瀛樺湪浠诲姟锛�");
+                        task.agv_Traytype = station.tray_type == TrayTypeEnum.SmallTray.ToString() ? TrayTypeEnum.LargeTray.ToString() : TrayTypeEnum.SmallTray.ToString();
+                        agvtaskRepository.Update(task, x => new { x.agv_Traytype }, true);
+                    }
+                    else if (!agvtaskRepository.Find(x => x.agv_fromaddress == station.stationCode).Any())
                     {
                         #region 涓虹┖鎵樺苟涓旀暟閲忎负0,鍒涘缓鍙栫┖鎵樹换鍔�
                         if (station.tray_status == TrayStateEnum.EmptyTray.ToString() && station.quantity == 0)

--
Gitblit v1.9.3