This commit is contained in:
qianjiawei
2024-02-05 11:30:58 +08:00
parent 130e696699
commit af1c94170b
4 changed files with 39 additions and 11 deletions

View File

@@ -93,10 +93,19 @@ namespace Tnb.WarehouseMgr
if (sPoint != null && ePoint != null) if (sPoint != null && ePoint != null)
{ {
List<WmsPointH> points = await _wareHouseService.PathAlgorithms(sPoint.id, ePoint.id); List<WmsPointH> points = new List<WmsPointH>();
if (points.Count <= 2) if (sPoint.area_code != ePoint.area_code)
{ {
throw new AppFriendlyException("该路径不存在", 500); points = await _wareHouseService.PathAlgorithms(sPoint.id, ePoint.id);
if (points.Count <= 2)
{
throw new AppFriendlyException("该路径不存在", 500);
}
}
else
{
points.Add(sPoint);
points.Add(ePoint);
} }
//根据获取的路径点生成预任务,生成顺序必须预路径算法返回的起终点的顺序一致(预任务顺序) //根据获取的路径点生成预任务,生成顺序必须预路径算法返回的起终点的顺序一致(预任务顺序)
if (points?.Count > 0) if (points?.Count > 0)

View File

@@ -198,7 +198,8 @@ namespace Tnb.WarehouseMgr
} }
catch (Exception) catch (Exception)
{ {
return await Task.FromResult(false); await _db.Ado.RollbackTranAsync();
throw;
} }
finally finally
{ {

View File

@@ -98,11 +98,19 @@ namespace Tnb.WarehouseMgr
if (sPoint != null && ePoint != null) if (sPoint != null && ePoint != null)
{ {
List<WmsPointH>? points = await _wareHouseService.PathAlgorithms(sPoint.id, ePoint.id); List<WmsPointH> points = new List<WmsPointH>();
//根据获取的路径点生成预任务,生成顺序必须预路径算法返回的起终点的顺序一致(预任务顺序) if (sPoint.area_code != ePoint.area_code)
if (points?.Count <= 2)
{ {
throw new AppFriendlyException("该路径不存在", 500); points = await _wareHouseService.PathAlgorithms(sPoint.id, ePoint.id);
if (points.Count <= 2)
{
throw new AppFriendlyException("该路径不存在", 500);
}
}
else
{
points.Add(sPoint);
points.Add(ePoint);
} }
if (points?.Count > 0) if (points?.Count > 0)

View File

@@ -79,14 +79,24 @@ namespace Tnb.WarehouseMgr
if (sPoint != null && ePoint != null) if (sPoint != null && ePoint != null)
{ {
List<WmsPointH> points = await _wareHouseService.PathAlgorithms(sPoint.id, ePoint.id); List<WmsPointH> points = new List<WmsPointH>();
//根据获取的路径点生成预任务,生成顺序必须预路径算法返回的起终点的顺序一致(预任务顺序) if (sPoint.area_code != ePoint.area_code)
if (points?.Count > 0)
{ {
points = await _wareHouseService.PathAlgorithms(sPoint.id, ePoint.id);
if (points.Count <= 2) if (points.Count <= 2)
{ {
throw new AppFriendlyException("该路径不存在", 500); throw new AppFriendlyException("该路径不存在", 500);
} }
}
else
{
points.Add(sPoint);
points.Add(ePoint);
}
//根据获取的路径点生成预任务,生成顺序必须预路径算法返回的起终点的顺序一致(预任务顺序)
if (points?.Count > 0)
{
List<WmsPretaskH> preTasks = points.Where(it => !it.location_id.IsNullOrEmpty()).GroupBy(g => g.area_code).Select(it => List<WmsPretaskH> preTasks = points.Where(it => !it.location_id.IsNullOrEmpty()).GroupBy(g => g.area_code).Select(it =>
{ {