From ab9d9126ced7d6dac0e14c3ede5a49fdb7fc94df Mon Sep 17 00:00:00 2001 From: schangxiang@126.com <schangxiang@126.com> Date: 周三, 17 9月 2025 13:25:06 +0800 Subject: [PATCH] 代码初次提交 --- DEmon/iWareCc/DoStackerTaskAuto/Chain/选择一个未执行的堆垛机的任务.cs | 32 +++++++++++++++++++++++++++++++- 1 files changed, 31 insertions(+), 1 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 d8b484f..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.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) { -- Gitblit v1.9.3