入库单和出库单
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
using MyCode.Project.Infrastructure.JackYun;
|
||||
using System.Collections.Generic;
|
||||
using System;
|
||||
using MyCode.Project.Domain.Message.Response.JackYun;
|
||||
|
||||
namespace MyCode.Project.Services
|
||||
{
|
||||
@@ -38,5 +39,13 @@ namespace MyCode.Project.Services
|
||||
/// <returns></returns>
|
||||
/// <exception cref="BaseException"></exception>
|
||||
List<BusiOrderGoodsDocInResponse> GetPurchaseInboundData(DateTime now);
|
||||
|
||||
/// <summary>
|
||||
/// 获取吉客云采购出库单
|
||||
/// </summary>
|
||||
/// <param name="now">截止日期</param>
|
||||
/// <returns></returns>
|
||||
/// <exception cref="BaseException"></exception>
|
||||
List<ErpStorageGoodsDocOutV2ResponseBizData> GetStorageGoodsDocOutV2(DateTime now);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -45,5 +45,14 @@ namespace MyCode.Project.Services
|
||||
/// </summary>
|
||||
/// <param name="now"></param>
|
||||
void GetPurchaseInboundData(string now);
|
||||
|
||||
/// <summary>
|
||||
/// 调度运行吉客云采购出库单
|
||||
/// </summary>
|
||||
/// <param name="now"></param>
|
||||
void GetStorageGoodsDocOutV2(string now);
|
||||
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
using MyCode.Project.Domain.Message.Request.JackYun;
|
||||
using MyCode.Project.Domain.Message.Response.JackYun;
|
||||
using MyCode.Project.Domain.Repositories;
|
||||
using MyCode.Project.Infrastructure.Common;
|
||||
using MyCode.Project.Infrastructure.Enumeration;
|
||||
@@ -291,8 +292,8 @@ namespace MyCode.Project.Services.Implementation
|
||||
}
|
||||
//101-采购入库
|
||||
requestBizData.Inouttypes = "101";
|
||||
requestBizData.InOutDateStart = value;
|
||||
requestBizData.InOutDateEnd = value1;
|
||||
requestBizData.InOutDateStart = new DateTimeOffset(DateTime.Parse(value)).ToUnixTimeMilliseconds().ToString() ;
|
||||
requestBizData.InOutDateEnd = new DateTimeOffset(DateTime.Parse(value1)).ToUnixTimeMilliseconds().ToString();
|
||||
|
||||
requestBizData.PageSize = 200;
|
||||
requestBizData.PageIndex = 0;
|
||||
@@ -318,9 +319,93 @@ namespace MyCode.Project.Services.Implementation
|
||||
var list1 = JsonHelper.ToObject<BusiOrderGoodsDocInResponse2>(orderjson);
|
||||
|
||||
|
||||
int pageIndex = 1;
|
||||
string TotalResults = list1.contextId;
|
||||
while (list1.Data.Count>0)
|
||||
{
|
||||
trades.AddRange(list1.Data);
|
||||
requestBizData.PageIndex = pageIndex;
|
||||
requestBizData.contextId = TotalResults;
|
||||
pageIndex++;
|
||||
Thread.Sleep(100);
|
||||
response = Call(EnumAttribute.GetAttribute(ApiEnum.STORAGEGOODSDOCINCOUNTS).Value, "1.0", requestBizData);
|
||||
if (response.code == "200")
|
||||
{
|
||||
orderjson = JsonHelper.ToJson(response.result);
|
||||
list1 = JsonHelper.ToObject<BusiOrderGoodsDocInResponse2>(orderjson);
|
||||
TotalResults = list1.contextId;
|
||||
}
|
||||
else
|
||||
{
|
||||
TotalResults = "";
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
string msg = response.msg;
|
||||
throw new BaseException(msg);
|
||||
}
|
||||
});
|
||||
//var shocodes = shopConfigs.Select(t => t.FPURCHASINGWAREHOUSECODE).ToList();
|
||||
//trades = trades.Where(t => shocodes.Contains(t.warehouseCode)).ToList();
|
||||
return trades;
|
||||
}
|
||||
#endregion
|
||||
|
||||
|
||||
#region 获取吉客云采购出库单
|
||||
/// <summary>
|
||||
/// 获取吉客云采购出库单
|
||||
/// </summary>
|
||||
/// <param name="now">截止日期</param>
|
||||
/// <returns></returns>
|
||||
/// <exception cref="BaseException"></exception>
|
||||
public List<ErpStorageGoodsDocOutV2ResponseBizData> GetStorageGoodsDocOutV2(DateTime now)
|
||||
{
|
||||
var shopConfigs = _yTKJTShopParameterRepository.Queryable().Where(t => t.FDOCUMENTSTATUS == "C" && t.FPURCHASERECEIVING == "1").ToList();
|
||||
|
||||
StorageGoodsDocOutV2Request requestBizData = new StorageGoodsDocOutV2Request();
|
||||
//string value = "2025-06-15 00:00:00";// DateTime.Now.Date.AddDays(-5).ToString("yyyy-MM-dd HH:mm:ss") ;
|
||||
//string value1 = "2025-06-20 00:00:00";//DateTime.Now.Date.ToString("yyyy-MM-dd HH:mm:ss");
|
||||
string value = now.Date.AddDays(-7).ToString("yyyy-MM-dd");
|
||||
string value1 = now.Date.ToString("yyyy-MM-dd");
|
||||
if (now.Date.AddDays(-7) < startTime)
|
||||
{
|
||||
value = startTime.ToString("yyyy-MM-dd");
|
||||
}
|
||||
//205采购退货
|
||||
requestBizData.Inouttype = 205;
|
||||
requestBizData.StartDate = value;
|
||||
requestBizData.EndDate = value1;
|
||||
|
||||
requestBizData.PageSize = 200;
|
||||
requestBizData.PageIndex = 0;
|
||||
requestBizData.SelelctFields = "*"; //"RecId,GoodsdocNo,BillNo,InOutDate,GmtCreate,Inouttype,InouttypeName,VendCustomerName,CurrencyCode,CurrencyRate,UserName,WarehouseCode,WarehouseName,Comment,Memo,LogisticName,LogisticNo,CompanyId,CompanyName,LogisticType,LogisticCode,InOutReason,SourceBillNo,ChannelId,ChannelCode,ChannelName,RedStatus,Field1,Field2,Field3,Field4,Field5,FinanceBillStatus,VendCustomerId,ApplyDepartId,ApplyDepartName,OutBillNo,LogisticList,GmtModified,DepartCode,ApplyCompanyName,ApplyCompanyCode,ApplyCompanyId,ApplyUserId,ApplyUserName,CompanyCode,GoodsDocDetailList,SendCompanyName,Send,SendTel,SendPhone,SendEmail,SendCountryName,SendProvinceName,SendCityName,SendTownName,SendStreetName,SendAddress,ReceiveCompanyName,Receive,ReceiveTel,ReceivePhone,ReceiveEmail,ReceiveCountryName,ReceiveProvinceName,ReceiveCityName,ReceiveTownName,ReceiveStreetName,ReceiveAddress";
|
||||
|
||||
|
||||
List<int> TradeTypeList = new List<int>();
|
||||
TradeTypeList.Add(1005);
|
||||
List<ErpStorageGoodsDocOutV2ResponseBizData> reslut = new List<ErpStorageGoodsDocOutV2ResponseBizData>();
|
||||
List<ErpStorageGoodsDocOutV2ResponseBizData> trades = new List<ErpStorageGoodsDocOutV2ResponseBizData>();
|
||||
TradeTypeList.ForEach(ty =>
|
||||
{
|
||||
|
||||
string lggl = JsonHelper.ToJson(requestBizData);
|
||||
LogHelper.Info(lggl);
|
||||
JackyunResponse response = Call(EnumAttribute.GetAttribute(ApiEnum.ERPSTORAGEGOODSDOCOUTV2).Value, "1.0", requestBizData);
|
||||
string ll = JsonHelper.ToJson(response);
|
||||
LogHelper.Info(ll);
|
||||
|
||||
if (response.code == "200")
|
||||
{
|
||||
var orderjson = JsonHelper.ToJson(response.result);
|
||||
var list1 = JsonHelper.ToObject<ErpStorageGoodsDocOutV2ResponseBizData2>(orderjson);
|
||||
|
||||
|
||||
int pageIndex = 1;
|
||||
string TotalResults = list1.contextId;
|
||||
while (!string.IsNullOrWhiteSpace(TotalResults))
|
||||
while (list1.Data.Count>0)
|
||||
{
|
||||
//list1.data.returnChangeList.ForEach(h => h.TradeType = ty);
|
||||
|
||||
@@ -328,10 +413,11 @@ namespace MyCode.Project.Services.Implementation
|
||||
requestBizData.PageIndex = pageIndex;
|
||||
pageIndex++;
|
||||
Thread.Sleep(100);
|
||||
response = Call(EnumAttribute.GetAttribute(ApiEnum.STORAGEGOODSDOCINCOUNTS).Value, "1.0", requestBizData);
|
||||
response = Call(EnumAttribute.GetAttribute(ApiEnum.ERPSTORAGEGOODSDOCOUTV2).Value, "1.0", requestBizData);
|
||||
if (response.code == "200")
|
||||
{
|
||||
orderjson = JsonHelper.ToJson(response.result);
|
||||
orderjson = JsonHelper.ToJson(response.result);
|
||||
list1 = JsonHelper.ToObject<ErpStorageGoodsDocOutV2ResponseBizData2>(orderjson);
|
||||
|
||||
}
|
||||
}
|
||||
@@ -384,7 +470,7 @@ namespace MyCode.Project.Services.Implementation
|
||||
|
||||
//return reslut;
|
||||
|
||||
return new List<BusiOrderGoodsDocInResponse>();
|
||||
return new List<ErpStorageGoodsDocOutV2ResponseBizData>();
|
||||
}
|
||||
#endregion
|
||||
}
|
||||
|
||||
@@ -3,6 +3,7 @@ using MyCode.Project.Domain.Model;
|
||||
using MyCode.Project.Domain.Repositories;
|
||||
using MyCode.Project.Infrastructure.Common;
|
||||
using MyCode.Project.Infrastructure.JackYun;
|
||||
using MyCode.Project.Repositories;
|
||||
using MyCode.Project.Repositories.Common;
|
||||
using MyCode.Project.Services.IServices;
|
||||
using System;
|
||||
@@ -21,6 +22,7 @@ namespace MyCode.Project.Services.Implementation
|
||||
private IPushKingDeeOrderItemRepository _pushKingDeeOrderItemRepository;
|
||||
private IYTKJTShopParameterRepository _yTKJTShopParameterRepository;
|
||||
private IReturnChangeGoodsDetailRepository _ReturnChangeGoodsDetailRepository;
|
||||
private IBusiOrderGoodsDocInRepository _busiOrderGoodsDocInRepository;
|
||||
|
||||
private IWorkProcessService _workProcessService;
|
||||
|
||||
@@ -30,6 +32,7 @@ namespace MyCode.Project.Services.Implementation
|
||||
, IPushKingDeeOrderItemRepository pushKingDeeOrderItemRepository
|
||||
, IYTKJTShopParameterRepository yTKJTShopParameterRepository
|
||||
, IReturnChangeGoodsDetailRepository returnChangeGoodsDetailRepository
|
||||
, IBusiOrderGoodsDocInRepository busiOrderGoodsDocInRepository
|
||||
, IJackYunService jackYunService,
|
||||
IWorkProcessService workProcessService)
|
||||
{
|
||||
@@ -39,6 +42,8 @@ namespace MyCode.Project.Services.Implementation
|
||||
_jackOrdersRepository = jackOrdersRepository;
|
||||
_jackOrdersItemRepository = jackOrdersItemRepository;
|
||||
_ReturnChangeGoodsDetailRepository = returnChangeGoodsDetailRepository;
|
||||
_busiOrderGoodsDocInRepository = busiOrderGoodsDocInRepository;
|
||||
|
||||
_jackYunService = jackYunService;
|
||||
_workProcessService = workProcessService;
|
||||
}
|
||||
@@ -329,11 +334,63 @@ namespace MyCode.Project.Services.Implementation
|
||||
{
|
||||
DateTime runTime = DateTime.Parse(now);
|
||||
var list = _jackYunService.GetPurchaseInboundData(runTime);
|
||||
//SetReturnOrder(list);
|
||||
SetPurchaseInboundData(list);
|
||||
//_workProcessService.Add<IJackYunTaskService>(this.MerchantId, "GetAndMergeJackReturnYunOrder", "合并吉客云退货订单到新表", now, 1);
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region SetPurchaseInboundData(把吉客云采购订单存进本地数据库)
|
||||
/// <summary>
|
||||
/// 把吉客云采购订单存进本地数据库
|
||||
/// </summary>
|
||||
/// <param name="trades"></param>
|
||||
[TransactionCallHandler]
|
||||
public void SetPurchaseInboundData(List<BusiOrderGoodsDocInResponse> trades)
|
||||
{
|
||||
var ids = trades.Select(t => t.RecId).Distinct().ToList();
|
||||
ids = _busiOrderGoodsDocInRepository.Queryable().Where(t =>t.RecId!=null && ids.Contains(t.RecId.Value)).Select(t => t.RecId.Value).ToList();
|
||||
trades = trades.Where(t => !ids.Contains(t.RecId)).ToList();
|
||||
List<BusiOrderGoodsDocIn> addList = new List<BusiOrderGoodsDocIn>();
|
||||
addList = AutoMapperHelper.AutoMappToList<BusiOrderGoodsDocIn, BusiOrderGoodsDocInResponse>(trades);
|
||||
addList.ForEach(item =>
|
||||
{
|
||||
|
||||
item.ID = Guid.NewGuid();
|
||||
DateTime startTime = new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc);
|
||||
item.InOutDate2 = startTime.AddMilliseconds(item.InOutDate.Value).ToLocalTime();
|
||||
item.GmtCreate2 = startTime.AddMilliseconds(item.GmtCreate.Value).ToLocalTime();
|
||||
item.Status = 0;
|
||||
item.CreateTime = DateTime.Now;
|
||||
item.CreateUserName = "";
|
||||
|
||||
|
||||
});
|
||||
|
||||
if (addList.Count > 0)
|
||||
{
|
||||
_busiOrderGoodsDocInRepository.Add(addList);
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
#endregion
|
||||
|
||||
|
||||
#region GetStorageGoodsDocOutV2(调度运行吉客云采购出库单)
|
||||
/// <summary>
|
||||
/// 调度运行吉客云采购出库单
|
||||
/// </summary>
|
||||
/// <param name="now"></param>
|
||||
public void GetStorageGoodsDocOutV2(string now)
|
||||
{
|
||||
DateTime runTime = DateTime.Parse(now);
|
||||
var list = _jackYunService.GetStorageGoodsDocOutV2(runTime);
|
||||
//SetPurchaseInboundData(list);
|
||||
//_workProcessService.Add<IJackYunTaskService>(this.MerchantId, "GetAndMergeJackReturnYunOrder", "合并吉客云退货订单到新表", now, 1);
|
||||
}
|
||||
#endregion
|
||||
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user