修改错误

This commit is contained in:
FanLian
2023-07-27 14:52:38 +08:00
parent 4f841116bc
commit 37e6b362e1

View File

@@ -549,28 +549,29 @@ namespace Tnb.WarehouseMgr
var roads = await _db.Queryable<WmsRoad>().ToListAsync(); var roads = await _db.Queryable<WmsRoad>().ToListAsync();
var points = await LocPathCalcAlgorithms(pStartId, pEndId, roads); var points = await LocPathCalcAlgorithms(pStartId, pEndId, roads);
if (points.FindAll(x => x.location_code != null && x.location_code.Contains("ELE")).Count > 0) if (points.FindAll(x => x.location_code != null && x.location_code.Contains("ELE"))?.Count > 0)
{//查询当前电梯点 {
var curElePts = await _db.Queryable<WmsElevatorD>().Where(it => points.Select(x => x.id).Contains(it.point_id)).ToListAsync(); //查询当前电梯点
var curEleDs = await _db.Queryable<WmsElevatorD>().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<WmsElevatorH>().SingleAsync(it => it.id == curElePts.First().bill_id); var curEle = await _db.Queryable<WmsElevatorH>().SingleAsync(it => it.id == curEleDs.First().bill_id);
//同电梯组电梯 //同电梯组电梯
var sGpEle = await _db.Queryable<WmsElevatorH>().Where(it => it.elevator_group == curEle.elevator_group && it.id != curEle.id).ToListAsync(); var sGpEle = await _db.Queryable<WmsElevatorH>().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<WmsElevatorD>().Where(it => it.bill_id == sGpEle.First().id).ToListAsync(); var sGpDs = await _db.Queryable<WmsElevatorD>().Where(it => it.bill_id == sGpEle.First().id).ToListAsync();
if (sGpPts.Count > 0) if (sGpDs?.Count > 0)
{ {
var sGpPoints = await _db.Queryable<WmsPointH>().Where(it => sGpPts.Select(x => x.point_id).Contains(it.id)).ToListAsync(); var sGpPoints = await _db.Queryable<WmsPointH>().Where(it => sGpDs.Select(x => x.point_id).Contains(it.id)).ToListAsync();
var sFEndId = sGpPts.Single(x => x.floor == curElePts.First().floor).point_id; var sFEndId = sGpDs.Single(x => x.floor == curEleDs.First().floor).point_id;
var eFStartId = sGpPts.Single(x => x.floor == curElePts.Last().floor).point_id; var eFStartId = sGpDs.Single(x => x.floor == curEleDs.Last().floor).point_id;
var sFPoints = await LocPathCalcAlgorithms(pStartId, sFEndId, roads); var sFPoints = await LocPathCalcAlgorithms(pStartId, sFEndId, roads);
List<WmsPointH> elePoints = new(); List<WmsPointH> elePoints = new();
foreach (var pt in curElePts) foreach (var pt in curEleDs)
{ {
var elePoint = sGpPoints.Find(x => x.floor == pt.floor); var elePoint = sGpPoints.Find(x => x.floor == pt.floor);
if (elePoint != null) if (elePoint != null)