diff --git a/WarehouseMgr/Tnb.WarehouseMgr/WareHouseService.cs b/WarehouseMgr/Tnb.WarehouseMgr/WareHouseService.cs index 173e890a..34c97202 100644 --- a/WarehouseMgr/Tnb.WarehouseMgr/WareHouseService.cs +++ b/WarehouseMgr/Tnb.WarehouseMgr/WareHouseService.cs @@ -160,7 +160,6 @@ namespace Tnb.WarehouseMgr try { items = await _db.Queryable().Where(it => it.wh_id == input.warehouse_id && it.is_lock == 0 && it.is_type == "0" && it.is_use == ((int)EnumCarryStatus.空闲).ToString()).OrderBy(it => new { it.layers, it.loc_line, it.loc_column }, OrderByType.Asc).ToListAsync(); - } catch (Exception) { @@ -553,46 +552,52 @@ 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) + try { - //查询当前电梯点 - var curEleDs = await _db.Queryable().Where(it => points.Select(x => x.id).Contains(it.point_id)).ToListAsync(); - //如果有电梯点,则会进行电梯的均匀分配 - if (curEleDs?.Count > 0) + if (points.FindAll(x => x.location_code != null && x.location_code.Contains("ELE"))?.Count > 0) { - //当前电梯 - var curEle = await _db.Queryable().SingleAsync(it => it.id == curEleDs.First().bill_id && it.status == 1) ?? throw new AppFriendlyException("电梯被禁用或未配置", 500); - //同电梯组电梯 - var sGpEle = await _db.Queryable().Where(it => it.elevator_group == curEle.elevator_group && it.id != curEle.id && it.status == 1).ToListAsync(); - //判断电梯组中各电梯任务数 - if (sGpEle.FindAll(x => Math.Abs(x.task_nums - curEle.task_nums) % 2 == 1)?.Count > 0) + //查询当前电梯点 + var curEleDs = await _db.Queryable().Where(it => points.Select(x => x.id).Contains(it.point_id)).ToListAsync(); + //如果有电梯点,则会进行电梯的均匀分配 + if (curEleDs?.Count > 0) { - var sGpDs = await _db.Queryable().Where(it => it.bill_id == sGpEle.First().id).ToListAsync(); - if (sGpDs?.Count > 0) + //当前电梯 + var curEle = await _db.Queryable().SingleAsync(it => it.id == curEleDs.First().bill_id && it.status == 1) ?? throw new AppFriendlyException("电梯被禁用或未配置", 500); + //同电梯组电梯 + var sGpEle = await _db.Queryable().Where(it => it.elevator_group == curEle.elevator_group && it.id != curEle.id && it.status == 1).ToListAsync(); + //判断电梯组中各电梯任务数 + if (sGpEle.FindAll(x => Math.Abs(x.task_nums - curEle.task_nums) % 2 == 1)?.Count > 0) { - 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 curEleDs) + var sGpDs = await _db.Queryable().Where(it => it.bill_id == sGpEle.First().id).ToListAsync(); + if (sGpDs?.Count > 0) { - var elePoint = sGpPoints.Find(x => x.floor == pt.floor); - if (elePoint != null) - elePoints.Add(elePoint); + 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 curEleDs) + { + var elePoint = sGpPoints.Find(x => x.floor == pt.floor); + if (elePoint != null) + elePoints.Add(elePoint); + } + var eFPoints = await LocPathCalcAlgorithms(eFStartId, pEndId, roads); + elePoints.Remove(elePoints.First()); + elePoints.Remove(elePoints.Last()); + points.Clear(); + points.AddRange(sFPoints); + points.AddRange(elePoints); + points.AddRange(eFPoints); } - var eFPoints = await LocPathCalcAlgorithms(eFStartId, pEndId, roads); - elePoints.Remove(elePoints.First()); - elePoints.Remove(elePoints.Last()); - points.Clear(); - points.AddRange(sFPoints); - points.AddRange(elePoints); - points.AddRange(eFPoints); } } } } + catch (Exception) + { + throw; + } return points; } diff --git a/WarehouseMgr/Tnb.WarehouseMgr/WmskittingOutService.cs b/WarehouseMgr/Tnb.WarehouseMgr/WmskittingOutService.cs index cc149b94..632d7a22 100644 --- a/WarehouseMgr/Tnb.WarehouseMgr/WmskittingOutService.cs +++ b/WarehouseMgr/Tnb.WarehouseMgr/WmskittingOutService.cs @@ -20,6 +20,7 @@ using JNPF.Systems.Interfaces.System; using Mapster; using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Mvc; +using Microsoft.CodeAnalysis.CSharp.Syntax; using SqlSugar; using Tnb.BasicData.Entities; using Tnb.WarehouseMgr.Entities; @@ -341,8 +342,6 @@ namespace Tnb.WarehouseMgr if (input.IsNull()) throw new ArgumentNullException(nameof(input)); try { - - await _db.Ado.BeginTranAsync(); List kittingOutDs = new(); var kittingOuts = input.Adapt>(); @@ -372,6 +371,7 @@ namespace Tnb.WarehouseMgr kittingOutDs.AddRange(d); } } + await _db.Insertable(kittingOuts).ExecuteCommandAsync(); await _db.Insertable(kittingOutDs).ExecuteCommandAsync();