修改实体属性

This commit is contained in:
tongfei
2023-11-01 09:19:41 +08:00
parent 1eafbc8503
commit 8a3361c61f
12 changed files with 135 additions and 71 deletions

View File

@@ -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);
}