调整获取金蝶数据

This commit is contained in:
tongfei
2023-11-02 15:03:10 +08:00
parent 968b2aaa19
commit e144e2e824
6 changed files with 95 additions and 43 deletions

View File

@@ -23,6 +23,7 @@
"RedisIpRateLimitingConnectionString": "47.110.156.96:16379,password=123456,DefaultDatabase=2",
"SingleBaseUrl": "http://47.110.156.96:8019/api",
"DBType": "Mysql",
"CompanyId": 1,
"AllowCache": false,
"RedisDirectory": "Test"
},

View File

@@ -525,6 +525,36 @@
表单所在的子系统内码,字符串类型(非必录)
</summary>
</member>
<member name="T:WMS.Web.Core.Dto.Erp.ErpSave`1">
<summary>
Erp同步数据时单据头
</summary>
</member>
<member name="P:WMS.Web.Core.Dto.Erp.ErpSave`1.FormId">
<summary>
业务对象表单Id必录
</summary>
</member>
<member name="P:WMS.Web.Core.Dto.Erp.ErpSave`1.Model">
<summary>
单据体
</summary>
</member>
<member name="T:WMS.Web.Core.Dto.Erp.ErpSubmitDto">
<summary>
erp 提交和审核
</summary>
</member>
<member name="P:WMS.Web.Core.Dto.Erp.ErpSubmitDto.FormId">
<summary>
业务对象表单Id必录
</summary>
</member>
<member name="P:WMS.Web.Core.Dto.Erp.ErpSubmitDto.Ids">
<summary>
单据Id
</summary>
</member>
<member name="T:WMS.Web.Core.Dto.Erp.Org.ErpOrgDto">
<summary>
金蝶组织-基本信息
@@ -595,31 +625,6 @@
创建时间
</summary>
</member>
<member name="T:WMS.Web.Core.Dto.Erp.ErpStockDto">
<summary>
仓库信息
</summary>
</member>
<member name="P:WMS.Web.Core.Dto.Erp.ErpStockDto.Id">
<summary>
id
</summary>
</member>
<member name="P:WMS.Web.Core.Dto.Erp.ErpStockDto.Code">
<summary>
编码
</summary>
</member>
<member name="P:WMS.Web.Core.Dto.Erp.ErpStockDto.Name">
<summary>
名字
</summary>
</member>
<member name="P:WMS.Web.Core.Dto.Erp.ErpStockDto.OrgCode">
<summary>
业务组织(使用组织)编码
</summary>
</member>
<member name="P:WMS.Web.Core.Dto.Erp.Purchase.ErpPurchaseInStockResultDto.FCHUCHANGPRICE">
<summary>
出厂价格
@@ -650,24 +655,9 @@
名字
</summary>
</member>
<member name="P:WMS.Web.Core.Dto.Erp.ErpStockDto.OrgCode">
<member name="P:WMS.Web.Core.Dto.Erp.ErpStockDto.OrgId">
<summary>
业务组织(使用组织)编码
</summary>
</member>
<member name="T:WMS.Web.Core.Dto.Erp.ErpSave`1">
<summary>
Erp同步数据时单据头
</summary>
</member>
<member name="P:WMS.Web.Core.Dto.Erp.ErpSave`1.ValidateRepeatJson">
<summary>
校验Json数据包是否重复传入一旦重复传入接口调用失败默认false非必录
</summary>
</member>
<member name="P:WMS.Web.Core.Dto.Erp.ErpSave`1.Model">
<summary>
单据体
业务组织(使用组织)
</summary>
</member>
<member name="T:WMS.Web.Core.Dto.Erp.TakeStock.ErpTakeStockSaveDto">

View File

@@ -1654,6 +1654,11 @@
是否允许缓存
</summary>
</member>
<member name="P:WMS.Web.Domain.Options.AppOptions.CompanyId">
<summary>
公司ID
</summary>
</member>
<member name="T:WMS.Web.Domain.Options.ErpOptions">
<summary>
erp相关配置文件
@@ -2025,6 +2030,20 @@
</summary>
<returns></returns>
</member>
<member name="M:WMS.Web.Domain.Services.Public.ErpService.TakeStock_Profit(WMS.Web.Domain.Entitys.TakeStock)">
<summary>
盘盈
</summary>
<param name="entity"></param>
<returns></returns>
</member>
<member name="M:WMS.Web.Domain.Services.Public.ErpService.TakeStock_Loss(WMS.Web.Domain.Entitys.TakeStock)">
<summary>
盘亏
</summary>
<param name="entity"></param>
<returns></returns>
</member>
<member name="M:WMS.Web.Domain.Services.Public.HttpClientService.GetAsync``1(System.String,System.Int32)">
<summary>
Get方法
@@ -2453,6 +2472,16 @@
仓库
</summary>
</member>
<member name="F:WMS.Web.Domain.Values.Erp.FormIdParam.STK_StockCountGain">
<summary>
盘盈单
</summary>
</member>
<member name="F:WMS.Web.Domain.Values.Erp.FormIdParam.STK_StockCountLoss">
<summary>
盘亏单
</summary>
</member>
<member name="T:WMS.Web.Domain.Values.InstockStatus">
<summary>
入库状态

View File

@@ -35,5 +35,10 @@ namespace WMS.Web.Domain.Options
/// 是否允许缓存
/// </summary>
public bool AllowCache { get; set; }
/// <summary>
/// 公司ID
/// </summary>
public int CompanyId { get; set; }
}
}

View File

@@ -32,6 +32,7 @@ namespace WMS.Web.Domain.Services.Public
public class ErpService : IErpService
{
private IMapper _mapper;
private AppOptions _appOptions;
private ErpOptions _erpOptions;
private ILogger<ErpService> _logger;
private ERPGWSoapClient _client;
@@ -40,17 +41,21 @@ namespace WMS.Web.Domain.Services.Public
private readonly ISingleDataService _singleDataService;
public readonly ITransactionRepositories _transactionRepositories;
private readonly ILoginRepositories _loginRepositories;
private readonly IBasicsRepositories _basicsRepositories;
public ErpService(
IMapper mapper,
IOptions<ErpOptions> erpOptions,
IOptions<AppOptions> appOptions,
ILogger<ErpService> logger,
IMemoryCache memoryCache,
IInStockTaskRepositories inStockTaskRepositories,
ITransactionRepositories transactionRepositories,
ISingleDataService singleDataService,
ILoginRepositories loginRepositories)
ILoginRepositories loginRepositories, IBasicsRepositories basicsRepositories)
{
this._basicsRepositories = basicsRepositories;
this._erpOptions = erpOptions?.Value;
this._appOptions = appOptions?.Value;
this._mapper = mapper;
this._logger = logger;
this._memoryCache = memoryCache;
@@ -90,6 +95,13 @@ namespace WMS.Web.Domain.Services.Public
{
try
{
var stocks= await _basicsRepositories.GetUcStockAsync(ManagementSystemCode.GLXT0004.ToString(), "", _appOptions.CompanyId);
if(stocks.Count==0)
return ResultList<ErpPurchaseInStockResultDto>.ReFailure(ResultCodes.ErpStockNoData);
var stocks_codes = stocks.Select(x => x.Code).ToList();
//1.先登录金蝶-拿到token
var token_result = await this.Init();
if (!token_result.IsSuccess)
@@ -110,6 +122,20 @@ namespace WMS.Web.Domain.Services.Public
//4.明细关闭状态:正常
//5.仓库wms系统的仓库值---现在这个没有加,因为还单点没有和金蝶同步
param.FilterString = "FCreateDate>='" + beginTime + "' and FCreateDate<='" + endTime + "' and FDocumentStatus='C' and (FBillTypeID='83d822ca3e374b4ab01e5dd46a0062bd' or FBillTypeID='6d01d059713d42a28bb976c90a121142') and FMRPCloseStatus='A'";
param.FilterString = param.FilterString + " and FSOSTOCKID.FNumber in (";
var str = "";
int index = 0;
foreach (var scode in stocks_codes)
{
index++;
if (index == stocks_codes.Count)
str = str + $"'{scode}'";
else
str = str + $"'{scode}'" + ",";
}
param.FilterString = param.FilterString +str+ ")";
query.Data = JsonConvert.SerializeObject(param);
var json = JsonConvert.SerializeObject(query);

View File

@@ -29,5 +29,6 @@ namespace WMS.Web.Domain.Values
public static ValueTuple<int, string> BoxMateriaNoData = (800010, "箱对应物料信息不存在");
public static ValueTuple<int, string> ErpStockNoData = (900000, "Erp仓库信息不完整");
}
}