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