金蝶即时库存
This commit is contained in:
Binary file not shown.
@@ -108,6 +108,11 @@ namespace WMS.Web.Api.Controllers
|
|||||||
//var m2 = my2.Object;
|
//var m2 = my2.Object;
|
||||||
//var md = m2.code;
|
//var md = m2.code;
|
||||||
|
|
||||||
|
List<(string orgCode, string stockCode)> request = new List<(string orgCode, string stockCode)>();
|
||||||
|
request.Add(("101", "CK001"));
|
||||||
|
request.Add(("101", "CK002"));
|
||||||
|
var list = await _erpService.BillQueryForInventory(request);
|
||||||
|
|
||||||
//LingXingResponse<LingXingStockResponse> r = new LingXingResponse<LingXingStockResponse>();
|
//LingXingResponse<LingXingStockResponse> r = new LingXingResponse<LingXingStockResponse>();
|
||||||
|
|
||||||
//string str = "{\"code\":0,\"message\":\"success\",\"error_details\":[],\"request_id\":\"7A739491-8740-01AC-304E-0203AF887AE2\",\"response_time\":\"2024-10-16 17:58:57\",\"data\":[{\"wid\":437,\"type\":1,\"name\":\"ORICO_OD\",\"is_delete\":0}],\"total\":1}";
|
//string str = "{\"code\":0,\"message\":\"success\",\"error_details\":[],\"request_id\":\"7A739491-8740-01AC-304E-0203AF887AE2\",\"response_time\":\"2024-10-16 17:58:57\",\"data\":[{\"wid\":437,\"type\":1,\"name\":\"ORICO_OD\",\"is_delete\":0}],\"total\":1}";
|
||||||
@@ -117,8 +122,8 @@ namespace WMS.Web.Api.Controllers
|
|||||||
//var s = await _lingXingService.GetSeller();
|
//var s = await _lingXingService.GetSeller();
|
||||||
//var ns = s.Data.Where(w =>w.Id== "2101").ToList();
|
//var ns = s.Data.Where(w =>w.Id== "2101").ToList();
|
||||||
//string str = string.Join(",", s.Data.Select(s => s.Id).ToList());
|
//string str = string.Join(",", s.Data.Select(s => s.Id).ToList());
|
||||||
var sd= await _lingXingService.GetInventory(new LingXingInventoryRequest() { wid = "437" });
|
//var sd= await _lingXingService.GetInventory(new LingXingInventoryRequest() { wid = "437" });
|
||||||
string sdsdf = sd.Message;
|
//string sdsdf = sd.Message;
|
||||||
//List<string> list = new List<string>();
|
//List<string> list = new List<string>();
|
||||||
//list.Add("GD-02-15");
|
//list.Add("GD-02-15");
|
||||||
//list.Add("GD-01-15");
|
//list.Add("GD-01-15");
|
||||||
|
|||||||
@@ -1006,14 +1006,24 @@
|
|||||||
仓库
|
仓库
|
||||||
</summary>
|
</summary>
|
||||||
</member>
|
</member>
|
||||||
<member name="P:WMS.Web.Core.Dto.Erp.ErpInventoryDto.Erp_SubStockId">
|
<member name="P:WMS.Web.Core.Dto.Erp.ErpInventoryDto.Erp_SubStockName">
|
||||||
<summary>
|
<summary>
|
||||||
子仓库(跟金蝶交互字段)
|
子仓库
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="P:WMS.Web.Core.Dto.Erp.ErpInventoryDto.Batch">
|
||||||
|
<summary>
|
||||||
|
批号
|
||||||
</summary>
|
</summary>
|
||||||
</member>
|
</member>
|
||||||
<member name="P:WMS.Web.Core.Dto.Erp.ErpInventoryDto.Qty">
|
<member name="P:WMS.Web.Core.Dto.Erp.ErpInventoryDto.Qty">
|
||||||
<summary>
|
<summary>
|
||||||
数量
|
可用量
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="P:WMS.Web.Core.Dto.Erp.ErpInventoryDto.BeforeQty">
|
||||||
|
<summary>
|
||||||
|
库存量
|
||||||
</summary>
|
</summary>
|
||||||
</member>
|
</member>
|
||||||
<member name="T:WMS.Web.Core.Dto.Erp.ErpNumberDto">
|
<member name="T:WMS.Web.Core.Dto.Erp.ErpNumberDto">
|
||||||
|
|||||||
@@ -4304,7 +4304,7 @@
|
|||||||
</summary>
|
</summary>
|
||||||
<returns></returns>
|
<returns></returns>
|
||||||
</member>
|
</member>
|
||||||
<member name="M:WMS.Web.Domain.IService.Public.IErpService.BillQueryForInventory(System.Collections.Generic.List{System.ValueTuple{System.String,System.String,System.String,System.Int32}})">
|
<member name="M:WMS.Web.Domain.IService.Public.IErpService.BillQueryForInventory(System.Collections.Generic.List{System.ValueTuple{System.String,System.String}})">
|
||||||
<summary>
|
<summary>
|
||||||
及时库存
|
及时库存
|
||||||
</summary>
|
</summary>
|
||||||
|
|||||||
@@ -19,12 +19,20 @@ namespace WMS.Web.Core.Dto.Erp
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public string StockCode { get; set; }
|
public string StockCode { get; set; }
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 子仓库(跟金蝶交互字段)
|
/// 子仓库
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public int Erp_SubStockId { get; set; }
|
public string Erp_SubStockName { get; set; }
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 数量
|
/// 批号
|
||||||
/// </summary>
|
///</summary>
|
||||||
public decimal Qty { get; set; }
|
public string Batch { get; set; }
|
||||||
|
/// <summary>
|
||||||
|
/// 可用量
|
||||||
|
///</summary>
|
||||||
|
public decimal Qty { get; set; } = 0;
|
||||||
|
/// <summary>
|
||||||
|
/// 库存量
|
||||||
|
///</summary>
|
||||||
|
public decimal BeforeQty { get; set; } = 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -178,7 +178,7 @@ namespace WMS.Web.Domain.IService.Public
|
|||||||
/// 及时库存
|
/// 及时库存
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
Task<ResultList<ErpInventoryDto>> BillQueryForInventory(List<(string materialNumber, string orgCode, string stockCode, int subStockId)> request);
|
Task<ResultList<ErpInventoryDto>> BillQueryForInventory(List<(string orgCode, string stockCode)> request);
|
||||||
//同步数据(保存提交审核)
|
//同步数据(保存提交审核)
|
||||||
Task<Result<string>> Save<T>(T dto, string formId);
|
Task<Result<string>> Save<T>(T dto, string formId);
|
||||||
//提交
|
//提交
|
||||||
|
|||||||
@@ -45,9 +45,53 @@ namespace WMS.Web.Domain.Services
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public Task<Result> Erp()
|
public async Task<Result> Erp()
|
||||||
{
|
{
|
||||||
throw new NotImplementedException();
|
//获取单点配置
|
||||||
|
var r = await _basicsRepositories.GetUcStockByHeadOfficeAsync("", 1);
|
||||||
|
var codes = r.Where(w =>
|
||||||
|
w.ManagementSystem == 1 || w.ManagementSystem == 4).Select(s => (s.Code, s.ErpOrgCode)).ToList();
|
||||||
|
|
||||||
|
var res = await _erpService.BillQueryForInventory(codes);
|
||||||
|
if (!res.IsSuccess) return res;
|
||||||
|
List<ProductInventory> inventoryList = new List<ProductInventory>();
|
||||||
|
|
||||||
|
foreach (var item in res.Data)
|
||||||
|
{
|
||||||
|
var entity = new ProductInventory()
|
||||||
|
{
|
||||||
|
Type = ProductInventoryType.JinDie,
|
||||||
|
MaterialNumber = item.MaterialNumber,
|
||||||
|
Customer = item.Erp_SubStockName,
|
||||||
|
OrgCode = item.OrgCode,
|
||||||
|
StockCode = item.StockCode,
|
||||||
|
Qty = item.Qty,
|
||||||
|
BeforeQty = item.BeforeQty
|
||||||
|
};
|
||||||
|
inventoryList.Add(entity);
|
||||||
|
}
|
||||||
|
|
||||||
|
IDbContextTransaction _transaction = _transactionRepositories.GetTransaction();
|
||||||
|
Result res_Rollback = Result.ReSuccess();
|
||||||
|
bool isSuccess = true;
|
||||||
|
//修改库存
|
||||||
|
//先删除之前的再添加
|
||||||
|
if (res_Rollback.IsSuccess)
|
||||||
|
{
|
||||||
|
isSuccess = await _repositories.Delete(ProductInventoryType.JinDie, false);
|
||||||
|
if (isSuccess == false) res_Rollback = Result.ReFailure(ResultCodes.DateWriteError);
|
||||||
|
}
|
||||||
|
if (res_Rollback.IsSuccess)
|
||||||
|
{
|
||||||
|
isSuccess = await _repositories.AddRange(inventoryList, false);
|
||||||
|
if (isSuccess == false) res_Rollback = Result.ReFailure(ResultCodes.DateWriteError);
|
||||||
|
}
|
||||||
|
//提交事务
|
||||||
|
isSuccess = _transactionRepositories.CommitTransaction(res_Rollback.IsSuccess ? false : true, _transaction);
|
||||||
|
if (!res_Rollback.IsSuccess) return res_Rollback;
|
||||||
|
if (!isSuccess)
|
||||||
|
return Result.ReFailure(ResultCodes.DateWriteError);
|
||||||
|
return Result.ReSuccess();
|
||||||
}
|
}
|
||||||
|
|
||||||
public Task<Result> JuShuiTan()
|
public Task<Result> JuShuiTan()
|
||||||
@@ -95,7 +139,7 @@ namespace WMS.Web.Domain.Services
|
|||||||
var stock = r.FirstOrDefault(f => f.WarehouseCodeOfLingxing.Equals(l_stock.Name));
|
var stock = r.FirstOrDefault(f => f.WarehouseCodeOfLingxing.Equals(l_stock.Name));
|
||||||
if (stock == null) continue;
|
if (stock == null) continue;
|
||||||
//店铺
|
//店铺
|
||||||
var seller = sellerList.Data.FirstOrDefault(f=>f.Id== item.Key.SellerId);
|
var seller = sellerList.Data.FirstOrDefault(f => f.Id == item.Key.SellerId);
|
||||||
if (seller == null) continue;
|
if (seller == null) continue;
|
||||||
var pList = resInventory.Data.Where(w => w.SKU == item.Key.SKU
|
var pList = resInventory.Data.Where(w => w.SKU == item.Key.SKU
|
||||||
&& w.StockId == item.Key.StockId && w.SellerId == item.Key.SellerId).ToList();
|
&& w.StockId == item.Key.StockId && w.SellerId == item.Key.SellerId).ToList();
|
||||||
|
|||||||
@@ -160,7 +160,7 @@ namespace WMS.Web.Domain.Services.Public
|
|||||||
/// <param name="billNo">模糊搜索</param>
|
/// <param name="billNo">模糊搜索</param>
|
||||||
/// <param name="sourceBillNos">单据编号集合精确查找</param>
|
/// <param name="sourceBillNos">单据编号集合精确查找</param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
public async Task<ResultList<ErpInStockResultDto>> BillQueryForPurchaseInStock(List<string> sourceBillNos = null, DateTime? beginTime = null,bool isCheck=true)
|
public async Task<ResultList<ErpInStockResultDto>> BillQueryForPurchaseInStock(List<string> sourceBillNos = null, DateTime? beginTime = null, bool isCheck = true)
|
||||||
{
|
{
|
||||||
string result_json = "";
|
string result_json = "";
|
||||||
try
|
try
|
||||||
@@ -194,7 +194,7 @@ namespace WMS.Web.Domain.Services.Public
|
|||||||
//5.仓库:wms系统的仓库值---现在这个没有加,因为还单点没有和金蝶同步
|
//5.仓库:wms系统的仓库值---现在这个没有加,因为还单点没有和金蝶同步
|
||||||
//param.FilterString = " FDocumentStatus='C' and (FBillTypeID='83d822ca3e374b4ab01e5dd46a0062bd' or FBillTypeID='6d01d059713d42a28bb976c90a121142') and FMRPCloseStatus='A'";
|
//param.FilterString = " FDocumentStatus='C' and (FBillTypeID='83d822ca3e374b4ab01e5dd46a0062bd' or FBillTypeID='6d01d059713d42a28bb976c90a121142') and FMRPCloseStatus='A'";
|
||||||
param.FilterString = " FMRPCloseStatus='A'";
|
param.FilterString = " FMRPCloseStatus='A'";
|
||||||
if(isCheck) param.FilterString += " and FDocumentStatus='C'";
|
if (isCheck) param.FilterString += " and FDocumentStatus='C'";
|
||||||
for (int i = 0; i < stocks.Count(); i++)
|
for (int i = 0; i < stocks.Count(); i++)
|
||||||
{
|
{
|
||||||
if (i == 0)
|
if (i == 0)
|
||||||
@@ -2635,7 +2635,7 @@ namespace WMS.Web.Domain.Services.Public
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public async Task<ResultList<ErpInventoryDto>> BillQueryForInventory(List<(string materialNumber, string orgCode, string stockCode, int subStockId)> request)
|
public async Task<ResultList<ErpInventoryDto>> BillQueryForInventory(List<(string orgCode, string stockCode)> request)
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
@@ -2648,51 +2648,76 @@ namespace WMS.Web.Domain.Services.Public
|
|||||||
//3.获取金蝶采购订单:拼接参数和条件
|
//3.获取金蝶采购订单:拼接参数和条件
|
||||||
var query = new ErpBillQueryDto(token_result.Data);
|
var query = new ErpBillQueryDto(token_result.Data);
|
||||||
var param = new ErpBillQueryParamDto(FormIdParam.STK_Inventory.ToString());
|
var param = new ErpBillQueryParamDto(FormIdParam.STK_Inventory.ToString());
|
||||||
param.FieldKeys = "FBASEQTY,FMATERIALID.FNumber,FSTOCKORGID.FNumber,FSTOCKID.FNumber,FSTOCKLOCID";
|
// ORICO_AD,FF100004 ORICO_GD,FF100005 ORICO_HD,FF100007 ORICO_JD,FF100008
|
||||||
param.Limit = 100;
|
param.FieldKeys = "FMATERIALID.FNumber,FSTOCKORGID.FNumber,FSTOCKID.FNumber,FLot.FNumber,FBASEQTY,FSTOREURNOM,FSTOREURNUM,FSTOCKLOCID.FF100004.FName,FSTOCKLOCID.FF100005.FName,FSTOCKLOCID.FF100007.FName,FSTOCKLOCID.FF100008.FName";
|
||||||
//param.FilterString = $"FSTOCKORGID.FNumber='{request[0].orgCode}' and FSTOCKID.FNumber='{request[0].stockCode}'";
|
param.Limit = 10000;
|
||||||
//param.FilterString = $"";
|
//param.FilterString = $" FMATERIALID.FNumber='G01-11-572474' and FSTOCKID.FNumber='AD' and FBASEQTY>0";
|
||||||
|
param.FilterString = $" FBASEQTY>0";
|
||||||
for (int i = 0; i < request.Count(); i++)
|
for (int i = 0; i < request.Count(); i++)
|
||||||
{
|
{
|
||||||
if (i == 0)
|
if (i == 0)
|
||||||
{
|
{
|
||||||
param.FilterString = $"(FMATERIALID.FNumber='{request[0].materialNumber}' and FSTOCKORGID.FNumber='{request[0].orgCode}' and FSTOCKID.FNumber='{request[0].stockCode}' and FSTOCKLOCID={request[0].subStockId})";
|
param.FilterString += $" and ((FSTOCKORGID.FNumber='{request[0].orgCode}' and FSTOCKID.FNumber='{request[0].stockCode}' )";
|
||||||
|
if (request.Count() == 1) param.FilterString += ")";
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
param.FilterString += $" or (FMATERIALID.FNumber='{request[i].materialNumber}' and FSTOCKORGID.FNumber='{request[i].orgCode}' and FSTOCKID.FNumber='{request[i].stockCode}' and FSTOCKLOCID={request[i].subStockId})";
|
param.FilterString += $" or (FSTOCKORGID.FNumber='{request[i].orgCode}' and FSTOCKID.FNumber='{request[i].stockCode}' ))";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool isHave = true;
|
||||||
|
var erp_list = new List<ErpInventoryDto>();
|
||||||
|
int skip = 0;
|
||||||
|
|
||||||
|
|
||||||
|
while (isHave)
|
||||||
|
{
|
||||||
|
//4.1.页码:页码按照金蝶的要求从0开始
|
||||||
|
param.StartRow = (Convert.ToInt32(skip) * param.Limit);
|
||||||
|
|
||||||
query.Data = JsonConvert.SerializeObject(param);
|
query.Data = JsonConvert.SerializeObject(param);
|
||||||
var json = JsonConvert.SerializeObject(query);
|
var json = JsonConvert.SerializeObject(query);
|
||||||
|
|
||||||
//4.请求查询接口
|
//4.请求查询接口
|
||||||
var result_json = await _client.ExecuteBillQueryAsync(json);
|
var result_json = await _client.ExecuteBillQueryAsync(json);
|
||||||
var result = JsonConvert.DeserializeObject<List<List<string>>>(result_json);
|
var result = JsonConvert.DeserializeObject<List<List<string>>>(result_json);
|
||||||
|
//4.4.判断数据是否全部拉取完成:并停止循环的条件
|
||||||
|
if (result == null || result.Count == 0)
|
||||||
|
isHave = false;
|
||||||
|
|
||||||
var erp_list = new List<ErpInventoryDto>();
|
|
||||||
foreach (var item in result)
|
foreach (var item in result)
|
||||||
{
|
{
|
||||||
|
string name = GetName(item[7], item[8], item[9], item[10]);
|
||||||
var lis = erp_list.FirstOrDefault(f => f.MaterialNumber.Equals(item[1])
|
var lis = erp_list.FirstOrDefault(f => f.MaterialNumber.Equals(item[0])
|
||||||
&& f.OrgCode.Equals(item[2])
|
&& f.OrgCode.Equals(item[1])
|
||||||
&& f.StockCode.Equals(item[3]));
|
&& f.StockCode.Equals(item[2]) && f.Erp_SubStockName.Equals(name));
|
||||||
|
|
||||||
if (lis == null)
|
if (lis == null)
|
||||||
{
|
{
|
||||||
lis = new ErpInventoryDto();
|
lis = new ErpInventoryDto();
|
||||||
lis.Qty = Convert.ToDecimal(item[0]);
|
lis.MaterialNumber = item[0];
|
||||||
lis.MaterialNumber = item[1];
|
lis.OrgCode = item[1];
|
||||||
lis.OrgCode = item[2];
|
lis.StockCode = item[2];
|
||||||
lis.StockCode = item[3];
|
lis.Batch = item[3];
|
||||||
lis.Erp_SubStockId = Convert.ToInt32(item[4]);
|
//查询库存单位数量FQTY:FMaterialid.FSTOREURNOM,FMaterialid.FSTOREURNUM,
|
||||||
|
//查出结果后用(FBASEQTY*FSTOREURNOM/FSTOREURNUM)计算得到库存单位数量。
|
||||||
|
lis.BeforeQty = Convert.ToDecimal(item[4]) * Convert.ToDecimal(item[5]) / Convert.ToDecimal(item[6]);
|
||||||
|
//lis.Qty= Convert.ToDecimal(item[10]) * Convert.ToDecimal(item[5]) / Convert.ToDecimal(item[6]);
|
||||||
|
lis.Erp_SubStockName = name;
|
||||||
erp_list.Add(lis);
|
erp_list.Add(lis);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
lis.Qty = lis.Qty + Convert.ToDecimal(item[0]);
|
{
|
||||||
|
lis.BeforeQty = lis.BeforeQty + (Convert.ToDecimal(item[4]) * Convert.ToDecimal(item[5]) / Convert.ToDecimal(item[6]));
|
||||||
|
//lis.Qty = lis.Qty + Convert.ToDecimal(item[5]);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
return ResultList<ErpInventoryDto>.ReSuccess(erp_list);
|
//4.6页面的叠加
|
||||||
|
skip++;
|
||||||
|
}
|
||||||
|
var list = erp_list.Where(w => w.BeforeQty > 0 || w.Qty > 0).ToList();
|
||||||
|
return ResultList<ErpInventoryDto>.ReSuccess(list);
|
||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
{
|
{
|
||||||
@@ -2702,7 +2727,14 @@ namespace WMS.Web.Domain.Services.Public
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public string GetName(string name1,string name2,string name3,string name4)
|
||||||
|
{
|
||||||
|
if (!string.IsNullOrEmpty(name1)) return name1;
|
||||||
|
if (!string.IsNullOrEmpty(name2)) return name2;
|
||||||
|
if (!string.IsNullOrEmpty(name3)) return name3;
|
||||||
|
if (!string.IsNullOrEmpty(name4)) return name4;
|
||||||
|
return "";
|
||||||
|
}
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -262,14 +262,14 @@ namespace WMS.Web.Domain.Services
|
|||||||
int subStockId = subs.Data.FirstOrDefault(w => w.OrgCode.Equals(d.OrgCode) && w.StockCode.Equals(d.Erp_SubStockCode))?.Id ?? 0;
|
int subStockId = subs.Data.FirstOrDefault(w => w.OrgCode.Equals(d.OrgCode) && w.StockCode.Equals(d.Erp_SubStockCode))?.Id ?? 0;
|
||||||
requestInventory.Add((d.MaterialNumber, d.OrgCode, d.StockCode, subStockId));
|
requestInventory.Add((d.MaterialNumber, d.OrgCode, d.StockCode, subStockId));
|
||||||
};
|
};
|
||||||
var res_s = await sc_erpService.BillQueryForInventory(requestInventory);
|
//var res_s = await sc_erpService.BillQueryForInventory(requestInventory);
|
||||||
if (!res_s.IsSuccess)
|
//if (!res_s.IsSuccess)
|
||||||
{
|
//{
|
||||||
entity.Sync(false, res_s.Message, SyncStatus.Fail, "");
|
// entity.Sync(false, res_s.Message, SyncStatus.Fail, "");
|
||||||
await sc_takeStockRepositories.Edit(entity, true);
|
// await sc_takeStockRepositories.Edit(entity, true);
|
||||||
_logger.LogInformation($"及时库存获取异常->错误:{res_s.Message} 数据: {JsonConvert.SerializeObject(entity)}");
|
// _logger.LogInformation($"及时库存获取异常->错误:{res_s.Message} 数据: {JsonConvert.SerializeObject(entity)}");
|
||||||
return Result<ErpTakeStockSaveDto>.ReFailure(res_s.Message, res_s.Status);
|
// return Result<ErpTakeStockSaveDto>.ReFailure(res_s.Message, res_s.Status);
|
||||||
}
|
//}
|
||||||
//组装dto
|
//组装dto
|
||||||
#region 组装dto
|
#region 组装dto
|
||||||
//子仓库 ORICO_JD:1000008 GD:1000005 HD:1000007 AD:1000004
|
//子仓库 ORICO_JD:1000008 GD:1000005 HD:1000007 AD:1000004
|
||||||
@@ -278,9 +278,10 @@ namespace WMS.Web.Domain.Services
|
|||||||
{
|
{
|
||||||
int subStockId = subs.Data.FirstOrDefault(w => w.OrgCode.Equals(d.OrgCode) && w.StockCode.Equals(d.Erp_SubStockCode))?.Id ?? 0;
|
int subStockId = subs.Data.FirstOrDefault(w => w.OrgCode.Equals(d.OrgCode) && w.StockCode.Equals(d.Erp_SubStockCode))?.Id ?? 0;
|
||||||
var number = d.MaterialNumber;
|
var number = d.MaterialNumber;
|
||||||
var erpInventory = res_s.Data.FirstOrDefault(f => f.MaterialNumber == number && f.StockCode == d.StockCode
|
//var erpInventory = res_s.Data.FirstOrDefault(f => f.MaterialNumber == number && f.StockCode == d.StockCode
|
||||||
&& f.OrgCode == d.OrgCode && f.Erp_SubStockId == subStockId);
|
//&& f.OrgCode == d.OrgCode && f.Erp_SubStockId == subStockId);
|
||||||
decimal qty = erpInventory?.Qty ?? 0;
|
//decimal qty = erpInventory?.Qty ?? 0;
|
||||||
|
decimal qty = 0;
|
||||||
var unitNumber = _erpBasicDataExtendService.GetMaterialUnitNumber(materials, d.MaterialNumber);
|
var unitNumber = _erpBasicDataExtendService.GetMaterialUnitNumber(materials, d.MaterialNumber);
|
||||||
detils.Add(new ErpTakeStockDetailsSaveDto()
|
detils.Add(new ErpTakeStockDetailsSaveDto()
|
||||||
{
|
{
|
||||||
|
|||||||
Reference in New Issue
Block a user