修改了上传

This commit is contained in:
2025-07-09 09:18:19 +08:00
parent c60b222bbf
commit 1cd0c98969
6 changed files with 373 additions and 68 deletions

View File

@@ -155,6 +155,73 @@ namespace WMS.Web.Domain.Services.Public
}
}
public async Task<Result<List<ErpPurchaseInStockDetailsDto>>> BillQueryForPurchaseInStockBy(string purchaseDetailId, List<string> sourceBillNos)
{
try
{
//1.先登录金蝶-拿到token
var token_result = await this.Init();
if (!token_result.IsSuccess)
return Result<List<ErpPurchaseInStockDetailsDto>>.ReFailure(token_result);
//3.获取金蝶采购订单:拼接参数和条件
var query = new ErpBillQueryDto(token_result.Data);
var param = new ErpBillQueryParamDto(FormIdParam.STK_InStock.ToString());
param.FieldKeys = "FID,FInStockEntry_FEntryID,FRealQty,FPOOrderNo,FBillNo,FDocumentStatus";
param.Limit = 10000;
param.FilterString = $"FPOORDERENTRYID={purchaseDetailId}";
//根据原订单号查询
if (sourceBillNos != null && sourceBillNos.Count() > 0)
{
param.FilterString = param.FilterString + " and FBillNo not in (";
var bill_str = "";
int bill_index = 0;
//var srt_b = JsonConvert.SerializeObject(sourceBillNos);
foreach (var bill in sourceBillNos)
{
bill_index++;
if (bill_index == sourceBillNos.Count)
bill_str = bill_str + $"'{bill}'";
else
bill_str = bill_str + $"'{bill}'" + ",";
}
param.FilterString = param.FilterString + bill_str + ")";
}
query.Data = JsonConvert.SerializeObject(param);
var json = JsonConvert.SerializeObject(query);
//4.请求查询接口
var result_json = await _client.ExecuteBillQueryAsync(json);
var result = JsonConvert.DeserializeObject<List<List<string>>>(result_json);
//5.返回数据的组装
var erp_list = new List<ErpPurchaseInStockDetailsDto>();
foreach (var item in result)
{
var lis = new ErpPurchaseInStockDetailsDto();
lis.OrderId = item[0];
lis.DetailId = item[1];
lis.Qty = Convert.ToDecimal(item[2]);
lis.PurchaseBillNo = item[3];
lis.OrderBillNo = item[4];
lis.DocumentStatus = item[5];
lis.PurchaseDetailId = purchaseDetailId;
erp_list.Add(lis);
}
return Result<List<ErpPurchaseInStockDetailsDto>>.ReSuccess(erp_list);
}
catch (Exception ex)
{
return Result<List<ErpPurchaseInStockDetailsDto>>.ReFailure(ResultCodes.Erp_BillQuery_Error);
}
}
/// <summary>
/// erp:单据查询-采购入库单
/// </summary>
@@ -3004,41 +3071,24 @@ namespace WMS.Web.Domain.Services.Public
}
}
public async Task<Result<List<ErpPurchaseInStockDetailsDto>>> BillQueryForPurchaseInStockBy(string purchaseDetailId, List<string> sourceBillNos)
public async Task<Result<ErpProduceInStockSaveDto>> BillQueryForProduceInStock(string id)
{
try
{
//1.先登录金蝶-拿到token
var token_result = await this.Init();
if (!token_result.IsSuccess)
return Result<List<ErpPurchaseInStockDetailsDto>>.ReFailure(token_result);
return Result<ErpProduceInStockSaveDto>.ReFailure(token_result);
//3.获取金蝶采购订单:拼接参数和条件
var query = new ErpBillQueryDto(token_result.Data);
var param = new ErpBillQueryParamDto(FormIdParam.STK_InStock.ToString());
param.FieldKeys = "FID,FInStockEntry_FEntryID,FRealQty,FPOOrderNo,FBillNo,FDocumentStatus";
var param = new ErpBillQueryParamDto(FormIdParam.PRD_INSTOCK.ToString());
param.FieldKeys = "FID,FEntity_FEntryID,FRealQty";
param.Limit = 10000;
param.FilterString = $"FPOORDERENTRYID={purchaseDetailId}";
//根据原订单号查询
if (sourceBillNos != null && sourceBillNos.Count() > 0)
{
param.FilterString = param.FilterString + " and FBillNo not in (";
var bill_str = "";
int bill_index = 0;
//var srt_b = JsonConvert.SerializeObject(sourceBillNos);
foreach (var bill in sourceBillNos)
{
bill_index++;
if (bill_index == sourceBillNos.Count)
bill_str = bill_str + $"'{bill}'";
else
bill_str = bill_str + $"'{bill}'" + ",";
}
param.FilterString = param.FilterString + bill_str + ")";
}
param.FilterString = $"FID={id}";
query.Data = JsonConvert.SerializeObject(param);
var json = JsonConvert.SerializeObject(query);
@@ -3048,27 +3098,89 @@ namespace WMS.Web.Domain.Services.Public
var result = JsonConvert.DeserializeObject<List<List<string>>>(result_json);
//5.返回数据的组装
var erp_list = new List<ErpPurchaseInStockDetailsDto>();
var erp_list = new ErpProduceInStockSaveDto(id);
foreach (var item in result)
{
var lis = new ErpPurchaseInStockDetailsDto();
lis.OrderId = item[0];
var lis = new ErpProduceInStockDetailsSaveDto();
lis.DetailId = item[1];
lis.Qty = Convert.ToDecimal(item[2]);
lis.PurchaseBillNo = item[3];
lis.OrderBillNo = item[4];
lis.DocumentStatus = item[5];
lis.PurchaseDetailId = purchaseDetailId;
erp_list.Add(lis);
// lis.PurchaseDetailId = "";
erp_list.Details.Add(lis);
}
return Result<List<ErpPurchaseInStockDetailsDto>>.ReSuccess(erp_list);
return Result<ErpProduceInStockSaveDto>.ReSuccess(erp_list);
}
catch (Exception ex)
{
return Result<List<ErpPurchaseInStockDetailsDto>>.ReFailure(ResultCodes.Erp_BillQuery_Error);
return Result<ErpProduceInStockSaveDto>.ReFailure(ResultCodes.Erp_BillQuery_Error);
}
}
//public async Task<Result<List<ErpPurchaseInStockDetailsDto>>> BillQueryForProduceInStockBy(string purchaseDetailId, List<string> sourceBillNos)
//{
// try
// {
// //1.先登录金蝶-拿到token
// var token_result = await this.Init();
// if (!token_result.IsSuccess)
// return Result<List<ErpPurchaseInStockDetailsDto>>.ReFailure(token_result);
// //3.获取金蝶采购订单:拼接参数和条件
// var query = new ErpBillQueryDto(token_result.Data);
// var param = new ErpBillQueryParamDto(FormIdParam.PRD_INSTOCK.ToString());
// param.FieldKeys = "FID,FEntity_FEntryID,FRealQty,FMoBillNo,FBillNo,FDocumentStatus";
// param.Limit = 10000;
// param.FilterString = $"FMoEntryId={purchaseDetailId}";
// //根据原订单号查询
// if (sourceBillNos != null && sourceBillNos.Count() > 0)
// {
// param.FilterString = param.FilterString + " and FBillNo not in (";
// var bill_str = "";
// int bill_index = 0;
// //var srt_b = JsonConvert.SerializeObject(sourceBillNos);
// foreach (var bill in sourceBillNos)
// {
// bill_index++;
// if (bill_index == sourceBillNos.Count)
// bill_str = bill_str + $"'{bill}'";
// else
// bill_str = bill_str + $"'{bill}'" + ",";
// }
// param.FilterString = param.FilterString + bill_str + ")";
// }
// query.Data = JsonConvert.SerializeObject(param);
// var json = JsonConvert.SerializeObject(query);
// //4.请求查询接口
// var result_json = await _client.ExecuteBillQueryAsync(json);
// var result = JsonConvert.DeserializeObject<List<List<string>>>(result_json);
// //5.返回数据的组装
// var erp_list = new List<ErpPurchaseInStockDetailsDto>();
// foreach (var item in result)
// {
// var lis = new ErpPurchaseInStockDetailsDto();
// lis.OrderId = item[0];
// lis.DetailId = item[1];
// lis.Qty = Convert.ToDecimal(item[2]);
// lis.PurchaseBillNo = item[3];
// lis.OrderBillNo = item[4];
// lis.DocumentStatus = item[5];
// lis.PurchaseDetailId = purchaseDetailId;
// erp_list.Add(lis);
// }
// return Result<List<ErpPurchaseInStockDetailsDto>>.ReSuccess(erp_list);
// }
// catch (Exception ex)
// {
// return Result<List<ErpPurchaseInStockDetailsDto>>.ReFailure(ResultCodes.Erp_BillQuery_Error);
// }
//}
public async Task<Result<List<ErpPurchaseInStockDetailsDto>>> BillQueryForProduceInStockBy(string purchaseDetailId, List<string> sourceBillNos)
{
try
@@ -3079,12 +3191,12 @@ namespace WMS.Web.Domain.Services.Public
return Result<List<ErpPurchaseInStockDetailsDto>>.ReFailure(token_result);
//3.获取金蝶采购订单:拼接参数和条件
//3.获取金蝶生产汇报订单:拼接参数和条件
var query = new ErpBillQueryDto(token_result.Data);
var param = new ErpBillQueryParamDto(FormIdParam.PRD_INSTOCK.ToString());
param.FieldKeys = "FID,FInStockEntry_FEntryID,FRealQty,FMoBillNo,FBillNo,FDocumentStatus";
var param = new ErpBillQueryParamDto(FormIdParam.PRD_MORPT.ToString());
param.FieldKeys = "FID,FEntity_FEntryID,FQuaQty,FMoBillNo,FBillNo,FDocumentStatus";
param.Limit = 10000;
param.FilterString = $"FMoEntryId={purchaseDetailId}";
param.FilterString = $"FEntryID={purchaseDetailId}";
//根据原订单号查询
if (sourceBillNos != null && sourceBillNos.Count() > 0)