From b7bb4bf8ee6d007e0e7c3cacfc4fab77049beb58 Mon Sep 17 00:00:00 2001
From: schangxiang@126.com <schangxiang@126.com>
Date: 周三, 20 8月 2025 17:08:43 +0800
Subject: [PATCH] 同步代码

---
 DEmon/iWareCc/DoStackerTaskAuto/Chain/选择一个未执行的堆垛机的任务.cs |   33 +++++++++++++++++++++++++++++++--
 1 files changed, 31 insertions(+), 2 deletions(-)

diff --git "a/DEmon/iWareCc/DoStackerTaskAuto/Chain/\351\200\211\346\213\251\344\270\200\344\270\252\346\234\252\346\211\247\350\241\214\347\232\204\345\240\206\345\236\233\346\234\272\347\232\204\344\273\273\345\212\241.cs" "b/DEmon/iWareCc/DoStackerTaskAuto/Chain/\351\200\211\346\213\251\344\270\200\344\270\252\346\234\252\346\211\247\350\241\214\347\232\204\345\240\206\345\236\233\346\234\272\347\232\204\344\273\273\345\212\241.cs"
index f18f42e..567fbb5 100644
--- "a/DEmon/iWareCc/DoStackerTaskAuto/Chain/\351\200\211\346\213\251\344\270\200\344\270\252\346\234\252\346\211\247\350\241\214\347\232\204\345\240\206\345\236\233\346\234\272\347\232\204\344\273\273\345\212\241.cs"
+++ "b/DEmon/iWareCc/DoStackerTaskAuto/Chain/\351\200\211\346\213\251\344\270\200\344\270\252\346\234\252\346\211\247\350\241\214\347\232\204\345\240\206\345\236\233\346\234\272\347\232\204\344\273\273\345\212\241.cs"
@@ -60,8 +60,38 @@
                         LogTextHelper.WriteLine(Resources.LogDir + @"/鑷姩鎵ц鍫嗗灈鏈轰换鍔℃祦绋�/" + Stacker.Equipment.EquipName, "閫夋嫨涓�涓湭鎵ц鐨勫爢鍨涙満鐨勪换鍔�:鍫嗗灈鏈簕0}涓嶈兘鎵ц浠诲姟--{1}", Stacker.Equipment.EquipName, msg);
                         return;
                     }
+                    TASKPartTask task = null;
 
-                    var task = dbModel.TASKPartTasks.OrderByDescending(x=>x.maintasktype == (int)EMainTaskType.鍑哄簱浠诲姟).OrderByDescending(x => x.priority).ThenBy(x => x.createtime).FirstOrDefault(x => x.type == (int)EPartTaskType.鍫嗗灈鏈轰换鍔� && x.isreleased == (int)EYesOrNo.鍚� && x.isfinished == (int)EYesOrNo.鍚� && x.equipid == Stacker.Equipment.Id);
+                    var currentGate = CacheEntity.Conveyors.Find(x => x.Equipment.EquipName == "conveyor2").Gates.FirstOrDefault(x => x.Place.PlaceTypeName == "gate21");
+                    var currentGate22 = CacheEntity.Conveyors.Find(x => x.Equipment.EquipName == "conveyor2").Gates.FirstOrDefault(x => x.Place.PlaceTypeName == "gate22");
+                    var isGate = !currentGate.RIsEmpty || !currentGate22.RIsEmpty;
+
+                    var currentCovTask = dbModel.TASKPartTasks.FirstOrDefault(x => x.isfinished == 0 && x.sourceplace == "100201" && x.toplace == "100202");
+
+                    // 閫夋嫨鎵ц鍏ュ簱杩樻槸鍑哄簱鐨勪换鍔�(浼樺厛鍑哄簱鍐嶅叆搴�)
+                    if (isGate || currentCovTask != null)
+                    {
+                        task = dbModel.TASKPartTasks
+                            .OrderByDescending(x => x.maintasktype != (int)EMainTaskType.鍑哄簱浠诲姟)
+                            .OrderByDescending(x => x.priority).ThenBy(x => x.createtime)
+                            .FirstOrDefault(x => x.type == (int)EPartTaskType.鍫嗗灈鏈轰换鍔� && x.isreleased == (int)EYesOrNo.鍚� && x.isfinished == (int)EYesOrNo.鍚� && x.equipid == Stacker.Equipment.Id);
+
+                    }
+                    else
+                    {
+                        task = dbModel.TASKPartTasks
+                           .OrderBy(x => x.maintasktype == (int)EMainTaskType.鍑哄簱浠诲姟)
+                           .OrderByDescending(x => x.priority)
+                           .ThenBy(x => x.createtime)
+                           .FirstOrDefault(x => x.type == (int)EPartTaskType.鍫嗗灈鏈轰换鍔� && x.isreleased == (int)EYesOrNo.鍚� && x.isfinished == (int)EYesOrNo.鍚� && x.equipid == Stacker.Equipment.Id);
+                        if (task == null)
+                        {
+                            task = dbModel.TASKPartTasks
+                                .OrderBy(x => x.maintasktype != (int)EMainTaskType.鍑哄簱浠诲姟)
+                                .OrderByDescending(x => x.priority).ThenBy(x => x.createtime)
+                                .FirstOrDefault(x => x.type == (int)EPartTaskType.鍫嗗灈鏈轰换鍔� && x.isreleased == (int)EYesOrNo.鍚� && x.isfinished == (int)EYesOrNo.鍚� && x.equipid == Stacker.Equipment.Id);
+                        }
+                    }
 
                     if (task == null)
                     {
@@ -86,7 +116,6 @@
                             return;
                         }
                     }
-                    // 杩欐浠g爜鎴戝笇鏈涘湪鍑哄簱鍙f湁鏂欏拰褰撳墠鏈夋湭瀹屾垚鐨勫嚭搴撹緭閫佺嚎浠诲姟鏃秚ask鏃秚ask涓嶅彇鍑哄簱浠诲姟鎬庝箞淇敼浠g爜
                     DecompositionTaskContainer.PartTask = new PartTaskEntity(task);
 
                     LogTextHelper.WriteLine(Resources.LogDir + @"/鑷姩鎵ц鍫嗗灈鏈轰换鍔℃祦绋�/" + Stacker.Equipment.EquipName, "閫夋嫨涓�涓湭鎵ц鐨勫爢鍨涙満鐨勪换鍔�:{0}", DecompositionTaskContainer.PartTask.Id);

--
Gitblit v1.9.3