diff --git a/WarehouseMgr/Tnb.WarehouseMgr.Entities/Consts/ModuleConsts.cs b/WarehouseMgr/Tnb.WarehouseMgr.Entities/Consts/ModuleConsts.cs index 89946d14..3e6016da 100644 --- a/WarehouseMgr/Tnb.WarehouseMgr.Entities/Consts/ModuleConsts.cs +++ b/WarehouseMgr/Tnb.WarehouseMgr.Entities/Consts/ModuleConsts.cs @@ -224,6 +224,6 @@ public class ModuleConsts /// /// 模块标识-原材料转库单 TODO /// - public const string MODULE_WMSMATERIALTRANSFER_ID = "123"; + public const string MODULE_WMSMATERIALTRANSFER_ID = "34354738929685"; } \ No newline at end of file diff --git a/WarehouseMgr/Tnb.WarehouseMgr/WmsEmptyOutstockService .cs b/WarehouseMgr/Tnb.WarehouseMgr/WmsEmptyOutstockService .cs index 0b61aad7..a2734843 100644 --- a/WarehouseMgr/Tnb.WarehouseMgr/WmsEmptyOutstockService .cs +++ b/WarehouseMgr/Tnb.WarehouseMgr/WmsEmptyOutstockService .cs @@ -76,11 +76,13 @@ namespace Tnb.WarehouseMgr //判断目标库位是否自动签收 BasLocation loc = await _db.Queryable().SingleAsync(it => it.id == input.data[nameof(WmsPointH.location_id)].ToString()); + int qty = int.Parse(input.data[nameof(OutStockStrategyQuery.qty)].ToString()); //出库取起点,获取所有符合输入的载具规格的载具 OutStockStrategyQuery OutStockStrategyInput = new() { carrystd_id = input.data[nameof(OutStockStrategyQuery.carrystd_id)].ToString(), warehouse_id = input.data[nameof(OutStockStrategyQuery.warehouse_id)].ToString(), + Size = qty }; List? carrys = await _wareHouseService.OutStockStrategy(OutStockStrategyInput); Logger.Information($"根据出库策略获取的载具数量:{carrys?.Count}"); @@ -127,12 +129,14 @@ namespace Tnb.WarehouseMgr //根据每个载具的起始库位做路径运算 if (carrys?.Count > 0) { - WmsEmptyOutstockH setQty = await _db.Queryable().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($"min={min}"); + Logger.Information($"【WmsEmptyOut】 qty={qty}"); - for (int i = 0; i < min; i++) + for (int i = 0; i < qty; i++) { sPoint = await _db.Queryable().FirstAsync(it => it.location_id == carrys[i].location_id); diff --git a/WarehouseMgr/Tnb.WarehouseMgr/WmsMaterialTransferService.cs b/WarehouseMgr/Tnb.WarehouseMgr/WmsMaterialTransferService.cs index 64d9cefe..ee995a9c 100644 --- a/WarehouseMgr/Tnb.WarehouseMgr/WmsMaterialTransferService.cs +++ b/WarehouseMgr/Tnb.WarehouseMgr/WmsMaterialTransferService.cs @@ -64,7 +64,7 @@ namespace Tnb.WarehouseMgr _userManager = userManager; _billRullService = billRullService; - //OverideFuncs.GetListAsync = GetList; + OverideFuncs.GetListAsync = GetList; } [NonAction] @@ -80,12 +80,17 @@ namespace Tnb.WarehouseMgr var data = JsonConvert.DeserializeObject(json); JArray mainTable = data.list; - ISugarQueryable wmsTransferInstockDs = _db.Queryable().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 wmsTransferInstockDs = _db.Queryable() + .Where(r => mainTable.Select(r => r["id"].ToString()).ToList().Contains(r.bill_id)); foreach (JObject wmsTransferInstockH in mainTable) { - // todo 改tablefield105 - wmsTransferInstockH["tablefield105"] = JArray.Parse(JsonConvert.SerializeObject(wmsTransferInstockDs.Where(r => r.bill_id == wmsTransferInstockH["id"].ToString()).ToList())); + wmsTransferInstockH["tablefield121"] = JArray.Parse(JsonConvert.SerializeObject(wmsTransferInstockDs.Where(r => r.bill_id == wmsTransferInstockH["id"].ToString()).ToList())); } return data; }