This commit is contained in:
alex
2023-07-06 14:21:57 +08:00
parent 72d48abc5d
commit 8e67f5cbec

View File

@@ -104,12 +104,12 @@ namespace Tnb.WarehouseMgr
{ {
if (input == null) throw new ArgumentNullException("input"); if (input == null) throw new ArgumentNullException("input");
async Task<bool> _updateLocalFunc<TMaster, TSlave>(InOutStockApplyforUpInput input) async Task<bool> _updateLocalFunc<TStockD, TStockCode>(InOutStockApplyforUpInput input)
where TMaster : BaseEntity<string>, new() where TStockD : BaseEntity<string>, new()
where TSlave : BaseEntity<string>, IInOutStockCode, new() where TStockCode : BaseEntity<string>, IInOutStockCode, new()
{ {
var instockD = input.Adapt<TMaster>(); var instockD = input.Adapt<TStockD>();
var stockCodes = input.InstockCodes?.Adapt<List<TSlave>>(); var stockCodes = input.InstockCodes?.Adapt<List<TStockCode>>();
if (stockCodes?.Count > 0) if (stockCodes?.Count > 0)
{ {
stockCodes.ForEach(x => stockCodes.ForEach(x =>
@@ -139,15 +139,15 @@ namespace Tnb.WarehouseMgr
[HttpGet] [HttpGet]
public async Task<dynamic?> GetInOutStockCodesById([FromQuery] InOutStockDetailQuery input) public async Task<dynamic?> GetInOutStockCodesById([FromQuery] InOutStockDetailQuery input)
{ {
async Task<dynamic?> _fetchInOutStockCodesById<TEntity, TOut, TStockCode>(string billDId) async Task<dynamic?> _fetchInOutStockCodesById<TStockD, TOutput, TStockCode>(string billDId)
where TEntity : BaseEntity<string>, new() where TStockD : BaseEntity<string>, new()
where TOut : IInOutStockDetail<TStockCode>, new() where TOutput : IInOutStockDetail<TStockCode>, new()
where TStockCode : BaseEntity<string>, IInOutStockCode, new() where TStockCode : BaseEntity<string>, IInOutStockCode, new()
{ {
var dic = await _dictionaryDataService.GetDictionaryByTypeId(WmsWareHouseConst.WMS_INSTOCK_D_BILL_STATUS_TYPEID); var dic = await _dictionaryDataService.GetDictionaryByTypeId(WmsWareHouseConst.WMS_INSTOCK_D_BILL_STATUS_TYPEID);
var data = await _db.Queryable<TEntity>() var data = await _db.Queryable<TStockD>()
.Where(a => a.id == billDId) .Where(a => a.id == billDId)
.Select(a => new TOut .Select(a => new TOutput
{ {
CodeDetails = SqlFunc.Subqueryable<TStockCode>().Where(it => it.bill_d_id == a.id).ToList(), CodeDetails = SqlFunc.Subqueryable<TStockCode>().Where(it => it.bill_d_id == a.id).ToList(),
}, true) }, true)