From f1859bb8b72998c4852aa23a605f6f7628599a2c Mon Sep 17 00:00:00 2001
From: schangxiang@126.com <schangxiang@126.com>
Date: 周三, 17 9月 2025 10:11: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