空载具出库数量控制修改
This commit is contained in:
@@ -224,6 +224,6 @@ public class ModuleConsts
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// 模块标识-原材料转库单 TODO
|
/// 模块标识-原材料转库单 TODO
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public const string MODULE_WMSMATERIALTRANSFER_ID = "123";
|
public const string MODULE_WMSMATERIALTRANSFER_ID = "34354738929685";
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -76,11 +76,13 @@ namespace Tnb.WarehouseMgr
|
|||||||
//判断目标库位是否自动签收
|
//判断目标库位是否自动签收
|
||||||
BasLocation loc = await _db.Queryable<BasLocation>().SingleAsync(it => it.id == input.data[nameof(WmsPointH.location_id)].ToString());
|
BasLocation loc = await _db.Queryable<BasLocation>().SingleAsync(it => it.id == input.data[nameof(WmsPointH.location_id)].ToString());
|
||||||
|
|
||||||
|
int qty = int.Parse(input.data[nameof(OutStockStrategyQuery.qty)].ToString());
|
||||||
//出库取起点,获取所有符合输入的载具规格的载具
|
//出库取起点,获取所有符合输入的载具规格的载具
|
||||||
OutStockStrategyQuery OutStockStrategyInput = new()
|
OutStockStrategyQuery OutStockStrategyInput = new()
|
||||||
{
|
{
|
||||||
carrystd_id = input.data[nameof(OutStockStrategyQuery.carrystd_id)].ToString(),
|
carrystd_id = input.data[nameof(OutStockStrategyQuery.carrystd_id)].ToString(),
|
||||||
warehouse_id = input.data[nameof(OutStockStrategyQuery.warehouse_id)].ToString(),
|
warehouse_id = input.data[nameof(OutStockStrategyQuery.warehouse_id)].ToString(),
|
||||||
|
Size = qty
|
||||||
};
|
};
|
||||||
List<WmsCarryH>? carrys = await _wareHouseService.OutStockStrategy(OutStockStrategyInput);
|
List<WmsCarryH>? carrys = await _wareHouseService.OutStockStrategy(OutStockStrategyInput);
|
||||||
Logger.Information($"根据出库策略获取的载具数量:{carrys?.Count}");
|
Logger.Information($"根据出库策略获取的载具数量:{carrys?.Count}");
|
||||||
@@ -127,12 +129,14 @@ namespace Tnb.WarehouseMgr
|
|||||||
//根据每个载具的起始库位做路径运算
|
//根据每个载具的起始库位做路径运算
|
||||||
if (carrys?.Count > 0)
|
if (carrys?.Count > 0)
|
||||||
{
|
{
|
||||||
WmsEmptyOutstockH setQty = await _db.Queryable<WmsEmptyOutstockH>().FirstAsync(it => it.bill_code == input.data[nameof(WmsEmptyOutstockH.bill_code)].ToString());
|
if (qty > carrys.Count)
|
||||||
|
{
|
||||||
|
throw new AppFriendlyException($"实际可出空载具数量只有 {carrys.Count}", 500);
|
||||||
|
}
|
||||||
|
|
||||||
int min = (carrys.Count > setQty.qty) ? setQty.qty : carrys.Count;
|
Logger.Information($"【WmsEmptyOut】 qty={qty}");
|
||||||
Logger.Information($"min={min}");
|
|
||||||
|
|
||||||
for (int i = 0; i < min; i++)
|
for (int i = 0; i < 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);
|
||||||
|
|
||||||
|
|||||||
@@ -64,7 +64,7 @@ namespace Tnb.WarehouseMgr
|
|||||||
_userManager = userManager;
|
_userManager = userManager;
|
||||||
_billRullService = billRullService;
|
_billRullService = billRullService;
|
||||||
|
|
||||||
//OverideFuncs.GetListAsync = GetList;
|
OverideFuncs.GetListAsync = GetList;
|
||||||
}
|
}
|
||||||
|
|
||||||
[NonAction]
|
[NonAction]
|
||||||
@@ -80,12 +80,17 @@ namespace Tnb.WarehouseMgr
|
|||||||
var data = JsonConvert.DeserializeObject<dynamic>(json);
|
var data = JsonConvert.DeserializeObject<dynamic>(json);
|
||||||
JArray mainTable = data.list;
|
JArray mainTable = data.list;
|
||||||
|
|
||||||
ISugarQueryable<WmsMaterialTransferD> wmsTransferInstockDs = _db.Queryable<WmsMaterialTransferD>().Where(r => mainTable.Select(r => r["id"].ToString()).ToList().Contains(r.bill_id));
|
foreach (dynamic row in mainTable)
|
||||||
|
{
|
||||||
|
row.create_time = row.create_time.Value.ToString("yyyy-MM-dd");
|
||||||
|
}
|
||||||
|
|
||||||
|
ISugarQueryable<WmsMaterialTransferD> wmsTransferInstockDs = _db.Queryable<WmsMaterialTransferD>()
|
||||||
|
.Where(r => mainTable.Select(r => r["id"].ToString()).ToList().Contains(r.bill_id));
|
||||||
|
|
||||||
foreach (JObject wmsTransferInstockH in mainTable)
|
foreach (JObject wmsTransferInstockH in mainTable)
|
||||||
{
|
{
|
||||||
// todo 改tablefield105
|
wmsTransferInstockH["tablefield121"] = JArray.Parse(JsonConvert.SerializeObject(wmsTransferInstockDs.Where(r => r.bill_id == wmsTransferInstockH["id"].ToString()).ToList()));
|
||||||
wmsTransferInstockH["tablefield105"] = JArray.Parse(JsonConvert.SerializeObject(wmsTransferInstockDs.Where(r => r.bill_id == wmsTransferInstockH["id"].ToString()).ToList()));
|
|
||||||
}
|
}
|
||||||
return data;
|
return data;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user