修改实体属性
This commit is contained in:
@@ -6,6 +6,7 @@ using Microsoft.Extensions.Options;
|
||||
using Newtonsoft.Json;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.ServiceModel;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
@@ -13,6 +14,8 @@ using WMS.Web.Core.Dto.Erp;
|
||||
using WMS.Web.Core.Dto.Erp.Org;
|
||||
using WMS.Web.Core.Dto.Erp.Purchase;
|
||||
using WMS.Web.Core.Internal.Results;
|
||||
using WMS.Web.Domain.Entitys;
|
||||
using WMS.Web.Domain.Infrastructure;
|
||||
using WMS.Web.Domain.IService.Public;
|
||||
using WMS.Web.Domain.Options;
|
||||
using WMS.Web.Domain.Values;
|
||||
@@ -30,16 +33,19 @@ namespace WMS.Web.Domain.Services.Public
|
||||
private ILogger<ErpService> _logger;
|
||||
private ERPGWSoapClient _client;
|
||||
private readonly IMemoryCache _memoryCache;
|
||||
private readonly IInStockTaskRepositories _inStockTaskRepositories;
|
||||
public ErpService(
|
||||
IMapper mapper,
|
||||
IOptions<ErpOptions> erpOptions,
|
||||
ILogger<ErpService> logger,
|
||||
IMemoryCache memoryCache)
|
||||
IMemoryCache memoryCache,
|
||||
IInStockTaskRepositories inStockTaskRepositories)
|
||||
{
|
||||
this._erpOptions = erpOptions?.Value;
|
||||
this._mapper = mapper;
|
||||
this._logger = logger;
|
||||
this._memoryCache = memoryCache;
|
||||
this._inStockTaskRepositories = inStockTaskRepositories;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -72,45 +78,64 @@ namespace WMS.Web.Domain.Services.Public
|
||||
{
|
||||
try
|
||||
{
|
||||
//1.先登录金蝶-拿到token
|
||||
var token_result = await this.Init();
|
||||
if (!token_result.IsSuccess)
|
||||
return ResultList<ErpPurchaseInStockResultDto>.ReFailure(token_result);
|
||||
|
||||
//var beginTime = DateTime.Now.AddDays(-2).ToString("yyyy-MM-dd 00:00:00");
|
||||
//var endTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
|
||||
var beginTime = DateTime.Now.ToString("2023-07-06 00:00:00");
|
||||
var endTime = DateTime.Now.ToString("2023-07-06 01:00:00");
|
||||
|
||||
//2.时间条件:可能还有其它条件
|
||||
var beginTime = DateTime.Now.AddDays(-2).ToString("yyyy-MM-dd 00:00:00");
|
||||
var endTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
|
||||
//3.获取金蝶采购订单:拼接参数和条件
|
||||
var query = new ErpBillQueryDto(token_result.Data);
|
||||
var param = new ErpBillQueryParamDto(FormIdParam.STK_InStock.ToString());
|
||||
param.FieldKeys = "FPOOrderNo,FSupplierId,FPurchaseOrgId,FUOM,FMaterialId.FNumber,FMaterialName,FMaterialId,FStockId,FStockLocId,FRemainInStockQty,FNote,FCreateDate";
|
||||
var param = new ErpBillQueryParamDto(FormIdParam.PUR_PurchaseOrder.ToString());
|
||||
param.FieldKeys = "FBillNo,FSupplierId,FPurchaseOrgId,FModel,FMaterialName,FMaterialId,FSOSTOCKID,FQty,FEntryNote,FCreateDate";
|
||||
param.Limit = 10;
|
||||
param.FilterString = "FCreateDate>='"+beginTime+"' and FCreateDate<='"+endTime+"'";
|
||||
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 list = new List<ErpPurchaseInStockResultDto>();
|
||||
foreach (var item in result)
|
||||
{
|
||||
var lis = new ErpPurchaseInStockResultDto();
|
||||
lis.FPOOrderNo = item[0];
|
||||
lis.FBillNo = item[0];
|
||||
lis.FSupplierId = Convert.ToInt32(item[1]);
|
||||
lis.FPurchaseOrgId = Convert.ToInt32(item[2]);
|
||||
lis.FUOM = item[3];
|
||||
lis.FNumber = item[4];
|
||||
lis.FMaterialName = item[5];
|
||||
lis.FMaterialId = Convert.ToInt32(item[6]);
|
||||
lis.FStockId = Convert.ToInt32(item[7]);
|
||||
lis.FStockLocId = Convert.ToInt32(item[8]);
|
||||
lis.FRemainInStockQty =Convert.ToDecimal(item[9]);
|
||||
lis.FNote = item[10];
|
||||
lis.FCreateDate =Convert.ToDateTime(item[11]);
|
||||
lis.FModel = item[3];
|
||||
lis.FMaterialName = item[4];
|
||||
lis.FMaterialId = Convert.ToInt32(item[5]);
|
||||
lis.FSOSTOCKID = Convert.ToInt32(item[6]);
|
||||
lis.FQty = Convert.ToDecimal(item[7]);
|
||||
lis.FEntryNote = item[8];
|
||||
lis.FCreateDate =Convert.ToDateTime(item[9]);
|
||||
//list.FCHUCHANGPRICE=[10]FCHUCHANGPRICE;//这个是出厂价,但是金蝶测试没有这个字段,正式有的
|
||||
list.Add(lis);
|
||||
|
||||
}
|
||||
|
||||
//6.
|
||||
var SourceBillNo_list = list.GroupBy(x=>x.FBillNo).Select(x => x.Key).ToList();
|
||||
var data_list= await _inStockTaskRepositories.GetListBy(SourceBillNo_list);
|
||||
if (data_list.Count != 0)
|
||||
{
|
||||
var data_details_list= data_list.SelectMany(x => x.Details).ToList();
|
||||
foreach (var item in data_details_list)
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
var dto = new InStockTask();
|
||||
dto.Create(InstockType.Purchase);
|
||||
dto.Details = _mapper.Map<List<InStockTaskDetails>>(list);
|
||||
|
||||
|
||||
|
||||
return ResultList<ErpPurchaseInStockResultDto>.ReSuccess(list);
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user