From 37e6b362e1344c5045dc6cd9c8b49ad71a13edce Mon Sep 17 00:00:00 2001 From: FanLian Date: Thu, 27 Jul 2023 14:52:38 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E9=94=99=E8=AF=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Tnb.WarehouseMgr/WareHouseService.cs | 25 ++++++++++--------- 1 file changed, 13 insertions(+), 12 deletions(-) diff --git a/WarehouseMgr/Tnb.WarehouseMgr/WareHouseService.cs b/WarehouseMgr/Tnb.WarehouseMgr/WareHouseService.cs index a3819054..cbe51deb 100644 --- a/WarehouseMgr/Tnb.WarehouseMgr/WareHouseService.cs +++ b/WarehouseMgr/Tnb.WarehouseMgr/WareHouseService.cs @@ -549,28 +549,29 @@ namespace Tnb.WarehouseMgr var roads = await _db.Queryable().ToListAsync(); var points = await LocPathCalcAlgorithms(pStartId, pEndId, roads); - if (points.FindAll(x => x.location_code != null && x.location_code.Contains("ELE")).Count > 0) - {//查询当前电梯点 - var curElePts = await _db.Queryable().Where(it => points.Select(x => x.id).Contains(it.point_id)).ToListAsync(); + if (points.FindAll(x => x.location_code != null && x.location_code.Contains("ELE"))?.Count > 0) + { + //查询当前电梯点 + var curEleDs = await _db.Queryable().Where(it => points.Select(x => x.id).Contains(it.point_id)).ToListAsync(); //如果有电梯点,则会进行电梯的均匀分配 - if (curElePts.Count > 0) + if (curEleDs.Count > 0) { //当前电梯 - var curEle = await _db.Queryable().SingleAsync(it => it.id == curElePts.First().bill_id); + var curEle = await _db.Queryable().SingleAsync(it => it.id == curEleDs.First().bill_id); //同电梯组电梯 var sGpEle = await _db.Queryable().Where(it => it.elevator_group == curEle.elevator_group && it.id != curEle.id).ToListAsync(); //判断电梯组中各电梯任务数 - if (sGpEle.FindAll(x => x.task_nums < curEle.task_nums + 1)?.Count > 0) + if (sGpEle.FindAll(x => x.task_nums < curEle.task_nums)?.Count > 0) { - var sGpPts = await _db.Queryable().Where(it => it.bill_id == sGpEle.First().id).ToListAsync(); - if (sGpPts.Count > 0) + var sGpDs = await _db.Queryable().Where(it => it.bill_id == sGpEle.First().id).ToListAsync(); + if (sGpDs?.Count > 0) { - var sGpPoints = await _db.Queryable().Where(it => sGpPts.Select(x => x.point_id).Contains(it.id)).ToListAsync(); - var sFEndId = sGpPts.Single(x => x.floor == curElePts.First().floor).point_id; - var eFStartId = sGpPts.Single(x => x.floor == curElePts.Last().floor).point_id; + var sGpPoints = await _db.Queryable().Where(it => sGpDs.Select(x => x.point_id).Contains(it.id)).ToListAsync(); + var sFEndId = sGpDs.Single(x => x.floor == curEleDs.First().floor).point_id; + var eFStartId = sGpDs.Single(x => x.floor == curEleDs.Last().floor).point_id; var sFPoints = await LocPathCalcAlgorithms(pStartId, sFEndId, roads); List elePoints = new(); - foreach (var pt in curElePts) + foreach (var pt in curEleDs) { var elePoint = sGpPoints.Find(x => x.floor == pt.floor); if (elePoint != null)