调整格式

This commit is contained in:
FanLian
2023-07-31 08:38:26 +08:00
parent a78186d7b0
commit fe4e0d90b7
2 changed files with 38 additions and 33 deletions

View File

@@ -160,7 +160,6 @@ namespace Tnb.WarehouseMgr
try try
{ {
items = await _db.Queryable<BasLocation>().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(); items = await _db.Queryable<BasLocation>().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) catch (Exception)
{ {
@@ -553,46 +552,52 @@ 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);
try
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 curEleDs = await _db.Queryable<WmsElevatorD>().Where(it => points.Select(x => x.id).Contains(it.point_id)).ToListAsync();
//如果有电梯点,则会进行电梯的均匀分配
if (curEleDs?.Count > 0)
{ {
//当前电梯 //查询当前电梯
var curEle = await _db.Queryable<WmsElevatorH>().SingleAsync(it => it.id == curEleDs.First().bill_id && it.status == 1) ?? throw new AppFriendlyException("电梯被禁用或未配置", 500); var curEleDs = await _db.Queryable<WmsElevatorD>().Where(it => points.Select(x => x.id).Contains(it.point_id)).ToListAsync();
//同电梯组电梯 //如果有电梯点,则会进行电梯的均匀分配
var sGpEle = await _db.Queryable<WmsElevatorH>().Where(it => it.elevator_group == curEle.elevator_group && it.id != curEle.id && it.status == 1).ToListAsync(); if (curEleDs?.Count > 0)
//判断电梯组中各电梯任务数
if (sGpEle.FindAll(x => Math.Abs(x.task_nums - curEle.task_nums) % 2 == 1)?.Count > 0)
{ {
var sGpDs = await _db.Queryable<WmsElevatorD>().Where(it => it.bill_id == sGpEle.First().id).ToListAsync(); //当前电梯
if (sGpDs?.Count > 0) var curEle = await _db.Queryable<WmsElevatorH>().SingleAsync(it => it.id == curEleDs.First().bill_id && it.status == 1) ?? throw new AppFriendlyException("电梯被禁用或未配置", 500);
//同电梯组电梯
var sGpEle = await _db.Queryable<WmsElevatorH>().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<WmsPointH>().Where(it => sGpDs.Select(x => x.point_id).Contains(it.id)).ToListAsync(); var sGpDs = await _db.Queryable<WmsElevatorD>().Where(it => it.bill_id == sGpEle.First().id).ToListAsync();
var sFEndId = sGpDs.Single(x => x.floor == curEleDs.First().floor).point_id; if (sGpDs?.Count > 0)
var eFStartId = sGpDs.Single(x => x.floor == curEleDs.Last().floor).point_id;
var sFPoints = await LocPathCalcAlgorithms(pStartId, sFEndId, roads);
List<WmsPointH> elePoints = new();
foreach (var pt in curEleDs)
{ {
var elePoint = sGpPoints.Find(x => x.floor == pt.floor); var sGpPoints = await _db.Queryable<WmsPointH>().Where(it => sGpDs.Select(x => x.point_id).Contains(it.id)).ToListAsync();
if (elePoint != null) var sFEndId = sGpDs.Single(x => x.floor == curEleDs.First().floor).point_id;
elePoints.Add(elePoint); var eFStartId = sGpDs.Single(x => x.floor == curEleDs.Last().floor).point_id;
var sFPoints = await LocPathCalcAlgorithms(pStartId, sFEndId, roads);
List<WmsPointH> 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; return points;
} }

View File

@@ -20,6 +20,7 @@ using JNPF.Systems.Interfaces.System;
using Mapster; using Mapster;
using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc;
using Microsoft.CodeAnalysis.CSharp.Syntax;
using SqlSugar; using SqlSugar;
using Tnb.BasicData.Entities; using Tnb.BasicData.Entities;
using Tnb.WarehouseMgr.Entities; using Tnb.WarehouseMgr.Entities;
@@ -341,8 +342,6 @@ namespace Tnb.WarehouseMgr
if (input.IsNull()) throw new ArgumentNullException(nameof(input)); if (input.IsNull()) throw new ArgumentNullException(nameof(input));
try try
{ {
await _db.Ado.BeginTranAsync(); await _db.Ado.BeginTranAsync();
List<WmsKittingoutD> kittingOutDs = new(); List<WmsKittingoutD> kittingOutDs = new();
var kittingOuts = input.Adapt<List<WmsKittingoutH>>(); var kittingOuts = input.Adapt<List<WmsKittingoutH>>();
@@ -372,6 +371,7 @@ namespace Tnb.WarehouseMgr
kittingOutDs.AddRange(d); kittingOutDs.AddRange(d);
} }
} }
await _db.Insertable(kittingOuts).ExecuteCommandAsync(); await _db.Insertable(kittingOuts).ExecuteCommandAsync();
await _db.Insertable(kittingOutDs).ExecuteCommandAsync(); await _db.Insertable(kittingOutDs).ExecuteCommandAsync();