Merge remote-tracking branch 'origin/dev' into dev
This commit is contained in:
@@ -60,17 +60,13 @@ namespace Tnb.WarehouseMgr
|
|||||||
protected Task<bool> IsCarryAndLocationMatchByCarryStd(WmsCarryH carry, BasLocation locDest)
|
protected Task<bool> IsCarryAndLocationMatchByCarryStd(WmsCarryH carry, BasLocation locDest)
|
||||||
{
|
{
|
||||||
bool isMatch = false;
|
bool isMatch = false;
|
||||||
string errMessage = string.Empty;
|
|
||||||
if (carry == null) throw new ArgumentNullException(nameof(carry));
|
if (carry == null) throw new ArgumentNullException(nameof(carry));
|
||||||
if (locDest == null) throw new ArgumentNullException(nameof(locDest));
|
if (locDest == null) throw new ArgumentNullException(nameof(locDest));
|
||||||
if (!carry.carrystd_id.IsNullOrEmpty() && !locDest.carrystd_id.IsNullOrEmpty())
|
if (!carry.carrystd_id.IsNullOrEmpty() && !locDest.carrystd_id.IsNullOrEmpty())
|
||||||
{
|
{
|
||||||
var jsonArr = JArray.Parse(locDest.carrystd_id);
|
var jsonArr = JArray.Parse(locDest.carrystd_id);
|
||||||
var locCarryStdArr = jsonArr.Select(x => x.ToObject<string>()).ToArray();
|
var locCarryStdArr = jsonArr.Select(x => x.ToObject<string>()).ToArray();
|
||||||
if (locCarryStdArr.Contains(carry.carrystd_id))
|
isMatch = locCarryStdArr.Contains(carry.carrystd_id);
|
||||||
{
|
|
||||||
isMatch = true;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
return Task.FromResult(isMatch);
|
return Task.FromResult(isMatch);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -63,11 +63,17 @@ namespace Tnb.WarehouseMgr
|
|||||||
{
|
{
|
||||||
await _db.Ado.BeginTranAsync();
|
await _db.Ado.BeginTranAsync();
|
||||||
|
|
||||||
|
//判断目标库位是否自动签收
|
||||||
|
var loc = await _db.Queryable<BasLocation>().SingleAsync(it => it.id == input.data[nameof(WmsPointH.location_id)].ToString());
|
||||||
|
var carry = await _db.Queryable<WmsCarryH>().FirstAsync(it => it.id == input.data[nameof(WmsMoveOutstock.carry_id)].ToString());
|
||||||
|
var isMatch = await IsCarryAndLocationMatchByCarryStd(carry, loc);
|
||||||
|
if (!isMatch) throw new AppFriendlyException("该载具无法放置到目标库位", 500);
|
||||||
|
|
||||||
|
|
||||||
VisualDevEntity? templateEntity = await _visualDevService.GetInfoById(ModuleConsts.MODULE_WMSCARRYMOOUTSTK_ID, true);
|
VisualDevEntity? templateEntity = await _visualDevService.GetInfoById(ModuleConsts.MODULE_WMSCARRYMOOUTSTK_ID, true);
|
||||||
await _runService.Create(templateEntity, input);
|
await _runService.Create(templateEntity, input);
|
||||||
//入库取终点
|
//入库取终点
|
||||||
//var OutStockStrategyInput = new OutStockStrategyQuery { carry_id = input.data[nameof(OutStockStrategyQuery.carry_id)].ToString(), Size = 1 };
|
//var OutStockStrategyInput = new OutStockStrategyQuery { carry_id = input.data[nameof(OutStockStrategyQuery.carry_id)].ToString(), Size = 1 };
|
||||||
var carry = await _db.Queryable<WmsCarryH>().FirstAsync(it => it.id == input.data[nameof(WmsMoveOutstock.carry_id)].ToString());
|
|
||||||
WmsPointH? sPoint = null;
|
WmsPointH? sPoint = null;
|
||||||
WmsPointH? ePoint = null;
|
WmsPointH? ePoint = null;
|
||||||
if (input.data.ContainsKey(nameof(WmsPointH.location_id)))
|
if (input.data.ContainsKey(nameof(WmsPointH.location_id)))
|
||||||
@@ -113,8 +119,6 @@ namespace Tnb.WarehouseMgr
|
|||||||
preTask.create_time = DateTime.Now;
|
preTask.create_time = DateTime.Now;
|
||||||
return preTask;
|
return preTask;
|
||||||
}).ToList();
|
}).ToList();
|
||||||
//判断目标库位是否自动签收
|
|
||||||
var loc = await _db.Queryable<BasLocation>().SingleAsync(it => it.id == input.data[nameof(WmsPointH.location_id)].ToString());
|
|
||||||
if (loc.is_sign ==0 ) {
|
if (loc.is_sign ==0 ) {
|
||||||
preTasks[^1].is_sign = 0; // 修改最后一个元素的是否签收值
|
preTasks[^1].is_sign = 0; // 修改最后一个元素的是否签收值
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -187,8 +187,6 @@ namespace Tnb.WarehouseMgr
|
|||||||
{
|
{
|
||||||
var carry = await _db.Queryable<WmsCarryH>().SingleAsync(it => it.carry_code == input.carry_code);
|
var carry = await _db.Queryable<WmsCarryH>().SingleAsync(it => it.carry_code == input.carry_code);
|
||||||
var loc = await _db.Queryable<BasLocation>().SingleAsync(it => it.location_code == input.location_code);
|
var loc = await _db.Queryable<BasLocation>().SingleAsync(it => it.location_code == input.location_code);
|
||||||
var isMatch = await IsCarryAndLocationMatchByCarryStd(carry, loc);
|
|
||||||
if (!isMatch) throw new AppFriendlyException("库位与载具规格不匹配", 500);
|
|
||||||
var emptyInstock = await _db.Queryable<WmsEmptyInstock>().FirstAsync(it => it.carry_code == input.carry_code && it.status == WmsWareHouseConst.BILLSTATUS_ADD_ID);
|
var emptyInstock = await _db.Queryable<WmsEmptyInstock>().FirstAsync(it => it.carry_code == input.carry_code && it.status == WmsWareHouseConst.BILLSTATUS_ADD_ID);
|
||||||
if (emptyInstock != null)
|
if (emptyInstock != null)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -70,8 +70,7 @@ namespace Tnb.WarehouseMgr
|
|||||||
{
|
{
|
||||||
await _db.Ado.BeginTranAsync();
|
await _db.Ado.BeginTranAsync();
|
||||||
|
|
||||||
VisualDevEntity? templateEntity = await _visualDevService.GetInfoById(ModuleConsts.MODULE_WMSEMPTYOUTSTK_ID, true);
|
|
||||||
await _runService.Create(templateEntity, input);
|
|
||||||
|
|
||||||
/*//入库取终点
|
/*//入库取终点
|
||||||
var inStockStrategyInput = new InStockStrategyQuery { warehouse_id = input.data[nameof(InStockStrategyQuery.warehouse_id)].ToString(), Size = 1 };
|
var inStockStrategyInput = new InStockStrategyQuery { warehouse_id = input.data[nameof(InStockStrategyQuery.warehouse_id)].ToString(), Size = 1 };
|
||||||
@@ -85,6 +84,17 @@ namespace Tnb.WarehouseMgr
|
|||||||
&& a.carry_status == ((int)EnumCarryStatus.空闲).ToString() && a.is_lock == 0 && b.is_lock == 0 && b.is_type == ((int)EnumLocationType.存储库位).ToString())
|
&& a.carry_status == ((int)EnumCarryStatus.空闲).ToString() && a.is_lock == 0 && b.is_lock == 0 && b.is_type == ((int)EnumLocationType.存储库位).ToString())
|
||||||
.ToListAsync();
|
.ToListAsync();
|
||||||
|
|
||||||
|
// 判断最终目标库位是否可以放置当前载具
|
||||||
|
if (carrys?.Count > 0)
|
||||||
|
{
|
||||||
|
var curCarry = carrys[^carrys.Count];
|
||||||
|
var isMatch = await IsCarryAndLocationMatchByCarryStd(curCarry, loc);
|
||||||
|
if (!isMatch) throw new AppFriendlyException("该载具无法放置到目标库位", 500);
|
||||||
|
}
|
||||||
|
|
||||||
|
VisualDevEntity? templateEntity = await _visualDevService.GetInfoById(ModuleConsts.MODULE_WMSEMPTYOUTSTK_ID, true);
|
||||||
|
await _runService.Create(templateEntity, input);
|
||||||
|
|
||||||
WmsPointH? sPoint = null;
|
WmsPointH? sPoint = null;
|
||||||
WmsPointH? ePoint = null;
|
WmsPointH? ePoint = null;
|
||||||
if (input.data.ContainsKey(nameof(WmsPointH.location_id)))
|
if (input.data.ContainsKey(nameof(WmsPointH.location_id)))
|
||||||
@@ -92,12 +102,12 @@ namespace Tnb.WarehouseMgr
|
|||||||
ePoint = await _db.Queryable<WmsPointH>().FirstAsync(it => it.location_id == input.data[nameof(WmsPointH.location_id)].ToString() && it.is_lock == 0);
|
ePoint = await _db.Queryable<WmsPointH>().FirstAsync(it => it.location_id == input.data[nameof(WmsPointH.location_id)].ToString() && it.is_lock == 0);
|
||||||
}
|
}
|
||||||
//根据每个载具的起始库位做路径运算
|
//根据每个载具的起始库位做路径运算
|
||||||
for (int i = 0; i < setQty.qty; i++)
|
|
||||||
{
|
|
||||||
if (carrys?.Count > 0)
|
if (carrys?.Count > 0)
|
||||||
|
{
|
||||||
|
for (int i = 0; i < setQty.qty; i++)
|
||||||
{
|
{
|
||||||
sPoint = await _db.Queryable<WmsPointH>().FirstAsync(it => it.location_id == carrys[i].location_id);
|
sPoint = await _db.Queryable<WmsPointH>().FirstAsync(it => it.location_id == carrys[i].location_id);
|
||||||
}
|
|
||||||
var isOk = false;
|
var isOk = false;
|
||||||
if (sPoint != null && ePoint != null)
|
if (sPoint != null && ePoint != null)
|
||||||
{
|
{
|
||||||
@@ -175,7 +185,7 @@ namespace Tnb.WarehouseMgr
|
|||||||
{
|
{
|
||||||
throw new AppFriendlyException("无可出库的空载具或目标库位不存在或者目标库位被锁", 500);
|
throw new AppFriendlyException("无可出库的空载具或目标库位不存在或者目标库位被锁", 500);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
await _db.Ado.CommitTranAsync();
|
await _db.Ado.CommitTranAsync();
|
||||||
@@ -226,7 +236,7 @@ namespace Tnb.WarehouseMgr
|
|||||||
if (input.IsNull()) throw new ArgumentNullException("input");
|
if (input.IsNull()) throw new ArgumentNullException("input");
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
var location = await _db.Queryable<BasLocation>().SingleAsync(it => it.location_code == input.location_code && it.is_type != EnumLocationType.存储库位.ToString()) ?? throw new AppFriendlyException("无此库位或为存储库位",500);
|
var location = await _db.Queryable<BasLocation>().SingleAsync(it => it.location_code == input.location_code && it.is_type != EnumLocationType.存储库位.ToString()) ?? throw new AppFriendlyException("无此库位或为存储库位", 500);
|
||||||
Dictionary<string, object> dic = new()
|
Dictionary<string, object> dic = new()
|
||||||
{
|
{
|
||||||
[nameof(WmsEmptyOutstockH.id)] = SnowflakeIdHelper.NextId(),
|
[nameof(WmsEmptyOutstockH.id)] = SnowflakeIdHelper.NextId(),
|
||||||
|
|||||||
@@ -270,10 +270,19 @@ namespace Tnb.WarehouseMgr
|
|||||||
//入库申请条码明细表
|
//入库申请条码明细表
|
||||||
List<WmsInstockCode> instockcodes = input.instockcodes.Adapt<List<WmsInstockCode>>();
|
List<WmsInstockCode> instockcodes = input.instockcodes.Adapt<List<WmsInstockCode>>();
|
||||||
|
|
||||||
var loc = await _db.Queryable<BasLocation>().FirstAsync(it => it.location_code == input.instock.location_code && it.is_type != EnumLocationType.存储库位.ToString());
|
//入库取终点 //出库起点
|
||||||
|
var inStockStrategyInput = new InStockStrategyQuery { warehouse_id = instock?.warehouse_id!, Size = 1 };
|
||||||
|
var endLocations = await _wareHouseService.InStockStrategy(inStockStrategyInput);
|
||||||
|
WmsPointH sPoint = await _db.Queryable<WmsPointH>().FirstAsync(it => it.location_id == instock.location_id);
|
||||||
|
WmsPointH ePoint = await _db.Queryable<WmsPointH>().FirstAsync(it => it.location_id == endLocations[0].id);
|
||||||
|
|
||||||
var carry = await _db.Queryable<WmsCarryH>().SingleAsync(it => it.carry_code == input.instock.carry_code);
|
var carry = await _db.Queryable<WmsCarryH>().SingleAsync(it => it.carry_code == input.instock.carry_code);
|
||||||
|
var loc = await _db.Queryable<BasLocation>().FirstAsync(it => it.id == endLocations[0].id);
|
||||||
var isMatch = await IsCarryAndLocationMatchByCarryStd(carry, loc);
|
var isMatch = await IsCarryAndLocationMatchByCarryStd(carry, loc);
|
||||||
if (!isMatch) throw new AppFriendlyException("库位与载具规格不匹配", 500);
|
if (!isMatch) throw new AppFriendlyException("库位与载具规格不匹配", 500);
|
||||||
|
|
||||||
|
loc = await _db.Queryable<BasLocation>().FirstAsync(it => it.location_code == input.instock.location_code && it.is_type != EnumLocationType.存储库位.ToString());
|
||||||
|
|
||||||
//如果数据不全或有误,
|
//如果数据不全或有误,
|
||||||
if (carry.IsNull() || loc.IsNull() || instockds?.Count < 1 || instockcodes?.Count < 1)
|
if (carry.IsNull() || loc.IsNull() || instockds?.Count < 1 || instockcodes?.Count < 1)
|
||||||
{
|
{
|
||||||
@@ -329,12 +338,6 @@ namespace Tnb.WarehouseMgr
|
|||||||
await _db.Insertable(instockCOdes).CallEntityMethod(it => it.Create(orgId)).ExecuteCommandAsync();
|
await _db.Insertable(instockCOdes).CallEntityMethod(it => it.Create(orgId)).ExecuteCommandAsync();
|
||||||
|
|
||||||
//生成预任务申请
|
//生成预任务申请
|
||||||
//入库取终点 //出库起点
|
|
||||||
var inStockStrategyInput = new InStockStrategyQuery { warehouse_id = instock?.warehouse_id!, Size = 1 };
|
|
||||||
var endLocations = await _wareHouseService.InStockStrategy(inStockStrategyInput);
|
|
||||||
WmsPointH sPoint = await _db.Queryable<WmsPointH>().FirstAsync(it => it.location_id == instock.location_id);
|
|
||||||
WmsPointH ePoint = await _db.Queryable<WmsPointH>().FirstAsync(it => it.location_id == endLocations[0].id);
|
|
||||||
|
|
||||||
|
|
||||||
if (sPoint != null && ePoint != null)
|
if (sPoint != null && ePoint != null)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -81,8 +81,8 @@ namespace Tnb.WarehouseMgr
|
|||||||
//判断目标库位是否自动签收
|
//判断目标库位是否自动签收
|
||||||
var loc = await _db.Queryable<BasLocation>().SingleAsync(it => it.id == input.data[nameof(WmsPointH.location_id)].ToString());
|
var loc = await _db.Queryable<BasLocation>().SingleAsync(it => it.id == input.data[nameof(WmsPointH.location_id)].ToString());
|
||||||
|
|
||||||
VisualDevEntity? templateEntity = await _visualDevService.GetInfoById(ModuleConsts.MODULE_WMSOUTSTOCK_ID, true);
|
|
||||||
await _runService.Create(templateEntity, input);
|
|
||||||
|
|
||||||
|
|
||||||
var carryIds = new List<string>();
|
var carryIds = new List<string>();
|
||||||
@@ -178,9 +178,19 @@ namespace Tnb.WarehouseMgr
|
|||||||
await _db.Updateable<WmsCarryH>().SetColumns(it => new WmsCarryH { out_status = ((int)EnumOutStatus.全部出).ToString() }).Where(it => allOutIds.Contains(it.id)).ExecuteCommandAsync();
|
await _db.Updateable<WmsCarryH>().SetColumns(it => new WmsCarryH { out_status = ((int)EnumOutStatus.全部出).ToString() }).Where(it => allOutIds.Contains(it.id)).ExecuteCommandAsync();
|
||||||
await _db.Updateable<WmsCarryH>().SetColumns(it => new WmsCarryH { out_status = ((int)EnumOutStatus.分拣出).ToString() }).Where(it => sortingOutIds.Contains(it.id)).ExecuteCommandAsync();
|
await _db.Updateable<WmsCarryH>().SetColumns(it => new WmsCarryH { out_status = ((int)EnumOutStatus.分拣出).ToString() }).Where(it => sortingOutIds.Contains(it.id)).ExecuteCommandAsync();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
var carrys = await _db.Queryable<WmsCarryH>().Where(it => carryIds.Contains(it.id)).ToListAsync();
|
var carrys = await _db.Queryable<WmsCarryH>().Where(it => carryIds.Contains(it.id)).ToListAsync();
|
||||||
if (carrys?.Count > 0)
|
if (carrys?.Count > 0)
|
||||||
{
|
{
|
||||||
|
var curCarry = carrys[^carrys.Count];
|
||||||
|
var isMatch = await IsCarryAndLocationMatchByCarryStd(curCarry, loc);
|
||||||
|
if (!isMatch) throw new AppFriendlyException("该载具无法放置到目标库位", 500);
|
||||||
|
|
||||||
|
VisualDevEntity? templateEntity = await _visualDevService.GetInfoById(ModuleConsts.MODULE_WMSOUTSTOCK_ID, true);
|
||||||
|
await _runService.Create(templateEntity, input);
|
||||||
|
|
||||||
List<WmsPretaskH> preTasks = new();
|
List<WmsPretaskH> preTasks = new();
|
||||||
List<string> locIds = new();
|
List<string> locIds = new();
|
||||||
foreach (var carry in carrys)
|
foreach (var carry in carrys)
|
||||||
@@ -274,6 +284,9 @@ namespace Tnb.WarehouseMgr
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
await _db.Ado.CommitTranAsync();
|
await _db.Ado.CommitTranAsync();
|
||||||
}
|
}
|
||||||
catch (Exception)
|
catch (Exception)
|
||||||
@@ -333,7 +346,7 @@ namespace Tnb.WarehouseMgr
|
|||||||
outstock.status = WmsWareHouseConst.BILLSTATUS_ADD_ID;// 新增
|
outstock.status = WmsWareHouseConst.BILLSTATUS_ADD_ID;// 新增
|
||||||
outstock.create_id = _userManager.UserId;
|
outstock.create_id = _userManager.UserId;
|
||||||
outstock.create_time = DateTime.Now;
|
outstock.create_time = DateTime.Now;
|
||||||
await _db.Insertable(outstock).ExecuteCommandAsync();
|
|
||||||
//明细表
|
//明细表
|
||||||
foreach (var outstockD in outstockDs!)
|
foreach (var outstockD in outstockDs!)
|
||||||
{
|
{
|
||||||
@@ -344,7 +357,7 @@ namespace Tnb.WarehouseMgr
|
|||||||
outstock.create_time = outstock.create_time;
|
outstock.create_time = outstock.create_time;
|
||||||
outstock.create_id = outstock.create_id;
|
outstock.create_id = outstock.create_id;
|
||||||
}
|
}
|
||||||
await _db.Insertable(outstockDs).ExecuteCommandAsync();
|
|
||||||
//var loc = await _db.Queryable<BasLocation>().SingleAsync(it => it.id == outstock.location_id.ToString());
|
//var loc = await _db.Queryable<BasLocation>().SingleAsync(it => it.id == outstock.location_id.ToString());
|
||||||
var carryIds = new List<string>();
|
var carryIds = new List<string>();
|
||||||
//tablefield120 出库物料明细
|
//tablefield120 出库物料明细
|
||||||
@@ -432,6 +445,15 @@ namespace Tnb.WarehouseMgr
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
carryIds = allOutIds.Concat(sortingOutIds).ToList();
|
carryIds = allOutIds.Concat(sortingOutIds).ToList();
|
||||||
|
if(carryIds?.Count> 0)
|
||||||
|
{
|
||||||
|
var carryId = carryIds[^carryIds.Count];
|
||||||
|
var curCurry =await _db.Queryable<WmsCarryH>().SingleAsync(it=>it.id == carryId);
|
||||||
|
var isMatch = await IsCarryAndLocationMatchByCarryStd(curCurry, location);
|
||||||
|
if (!isMatch) throw new AppFriendlyException("该载具无法放置到目标库位", 500);
|
||||||
|
}
|
||||||
|
await _db.Insertable(outstock).ExecuteCommandAsync();
|
||||||
|
await _db.Insertable(outstockDs).ExecuteCommandAsync();
|
||||||
await _db.Updateable<WmsCarryH>().SetColumns(it => new WmsCarryH { out_status = ((int)EnumOutStatus.全部出).ToString() }).Where(it => allOutIds.Contains(it.id)).ExecuteCommandAsync();
|
await _db.Updateable<WmsCarryH>().SetColumns(it => new WmsCarryH { out_status = ((int)EnumOutStatus.全部出).ToString() }).Where(it => allOutIds.Contains(it.id)).ExecuteCommandAsync();
|
||||||
await _db.Updateable<WmsCarryH>().SetColumns(it => new WmsCarryH { out_status = ((int)EnumOutStatus.分拣出).ToString() }).Where(it => sortingOutIds.Contains(it.id)).ExecuteCommandAsync();
|
await _db.Updateable<WmsCarryH>().SetColumns(it => new WmsCarryH { out_status = ((int)EnumOutStatus.分拣出).ToString() }).Where(it => sortingOutIds.Contains(it.id)).ExecuteCommandAsync();
|
||||||
|
|
||||||
|
|||||||
@@ -63,12 +63,15 @@ namespace Tnb.WarehouseMgr
|
|||||||
{
|
{
|
||||||
await _db.Ado.BeginTranAsync();
|
await _db.Ado.BeginTranAsync();
|
||||||
|
|
||||||
|
var carry = await _db.Queryable<WmsCarryH>().FirstAsync(it => it.id == input.data[nameof(WmsMoveOutstock.carry_id)].ToString());
|
||||||
|
var loc = await _db.Queryable<BasLocation>().SingleAsync(it => it.id == input.data[nameof(WmsPointH.location_id)].ToString());
|
||||||
|
var isMatch = await IsCarryAndLocationMatchByCarryStd(carry, loc);
|
||||||
|
if (!isMatch) throw new AppFriendlyException("该载具无法放置到目标库位", 500);
|
||||||
|
|
||||||
VisualDevEntity? templateEntity = await _visualDevService.GetInfoById(ModuleConsts.MODULE_WMSCARRYMOOUTSTKPDA_ID, true);
|
VisualDevEntity? templateEntity = await _visualDevService.GetInfoById(ModuleConsts.MODULE_WMSCARRYMOOUTSTKPDA_ID, true);
|
||||||
await _runService.Create(templateEntity, input);
|
await _runService.Create(templateEntity, input);
|
||||||
//出库取起点
|
//出库取起点
|
||||||
var carry = await _db.Queryable<WmsCarryH>().FirstAsync(it => it.id == input.data[nameof(WmsMoveOutstock.carry_id)].ToString());
|
WmsPointH? sPoint = null, ePoint = null;
|
||||||
WmsPointH? sPoint = null;
|
|
||||||
WmsPointH? ePoint = null;
|
|
||||||
if (input.data.ContainsKey(nameof(WmsPointH.location_id)))
|
if (input.data.ContainsKey(nameof(WmsPointH.location_id)))
|
||||||
{
|
{
|
||||||
ePoint = await _db.Queryable<WmsPointH>().FirstAsync(it => it.location_id == input.data[nameof(WmsPointH.location_id)].ToString());
|
ePoint = await _db.Queryable<WmsPointH>().FirstAsync(it => it.location_id == input.data[nameof(WmsPointH.location_id)].ToString());
|
||||||
@@ -114,7 +117,6 @@ namespace Tnb.WarehouseMgr
|
|||||||
return preTask;
|
return preTask;
|
||||||
}).ToList();
|
}).ToList();
|
||||||
//判断目标库位是否自动签收
|
//判断目标库位是否自动签收
|
||||||
var loc = await _db.Queryable<BasLocation>().SingleAsync(it => it.id == input.data[nameof(WmsPointH.location_id)].ToString());
|
|
||||||
if (loc.is_sign == 0)
|
if (loc.is_sign == 0)
|
||||||
{
|
{
|
||||||
preTasks[^1].is_sign = 0; // 修改最后一个元素的是否签收值
|
preTasks[^1].is_sign = 0; // 修改最后一个元素的是否签收值
|
||||||
|
|||||||
@@ -92,6 +92,10 @@ namespace Tnb.WarehouseMgr
|
|||||||
}
|
}
|
||||||
if (endLocations?.Count > 0)
|
if (endLocations?.Count > 0)
|
||||||
{
|
{
|
||||||
|
var carry = await _db.Queryable<WmsCarryH>().SingleAsync(it => it.id == input.data[nameof(WmsCarryD.carry_id)].ToString());
|
||||||
|
var loc = await _db.Queryable<BasLocation>().SingleAsync(it => it.id == endLocations[0].id);
|
||||||
|
var isMatch = await IsCarryAndLocationMatchByCarryStd(carry, loc);
|
||||||
|
if (!isMatch) throw new AppFriendlyException("库位与载具规格不匹配", 500);
|
||||||
ePoint = await _db.Queryable<WmsPointH>().FirstAsync(it => it.location_id == endLocations[0].id);
|
ePoint = await _db.Queryable<WmsPointH>().FirstAsync(it => it.location_id == endLocations[0].id);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user