460 lines
25 KiB
C#
460 lines
25 KiB
C#
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;
|
|
using MyCode.Project.Infrastructure.Exceptions;
|
|
using MyCode.Project.Infrastructure.JackYun;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.Diagnostics;
|
|
using System.Linq;
|
|
using System.Threading;
|
|
|
|
namespace MyCode.Project.Services.Implementation
|
|
{
|
|
public class JackYunService : ServiceBase, IJackYunService
|
|
{
|
|
private IYTKJTShopParameterRepository _yTKJTShopParameterRepository;
|
|
public JackYunService(IYTKJTShopParameterRepository yTKJTShopParameterRepository)
|
|
{
|
|
_yTKJTShopParameterRepository = yTKJTShopParameterRepository;
|
|
}
|
|
|
|
DateTime startTime = DateTime.Parse("2025-11-01");
|
|
/// <summary>
|
|
/// 请求开放平台服务
|
|
/// </summary>
|
|
/// <param name="method">开放接口方法名</param>
|
|
/// <param name="version">开放接口版本号(null表示默认)</param>
|
|
/// <param name="bizData">请求业务数据</param>
|
|
/// <returns>OpenResponse返回对象</returns>
|
|
public JackyunResponse Call(string method, string version, BaseRequestBizData bizData)
|
|
{
|
|
//接口返回值
|
|
JackyunResponse response = null;
|
|
//返回值字符串
|
|
string strResponse = null;
|
|
try
|
|
{
|
|
//请求吉客云开放接口。
|
|
strResponse = JackyunOpenHttpUtils.Post(method, version, bizData);
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
response = new JackyunResponse();
|
|
response.onFail(ex.Message, "CLIENT_EXCEPTION");
|
|
return response;
|
|
}
|
|
|
|
return JsonHelper.ToObject<JackyunResponse>(strResponse);
|
|
}
|
|
|
|
#region 订单查询
|
|
/// <summary>
|
|
/// 订单查询
|
|
/// </summary>
|
|
/// <param name="now">截止日期</param>
|
|
/// <returns></returns>
|
|
/// <exception cref="BaseException"></exception>
|
|
public List<TradesItem> testTradeFullInfoGet(DateTime now)
|
|
{
|
|
|
|
int total = 1;
|
|
var shopConfigs = _yTKJTShopParameterRepository.Queryable().Where(t => t.FDOCUMENTSTATUS == "C").ToList();
|
|
|
|
OrderTradeFullInfoGetRequestBizData requestBizData = new OrderTradeFullInfoGetRequestBizData();
|
|
//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");
|
|
}
|
|
|
|
requestBizData.StartModified = "";// DateTime.ParseExact(value, "yyyy-MM-dd HH:mm:ss", System.Globalization.CultureInfo.InvariantCulture, System.Globalization.DateTimeStyles.None);
|
|
|
|
requestBizData.EndModified = ""; //DateTime.ParseExact(value1, "yyyy-MM-dd HH:mm:ss", System.Globalization.CultureInfo.InvariantCulture, System.Globalization.DateTimeStyles.None);
|
|
requestBizData.TradeNo = "";
|
|
requestBizData.HasTotal = total;
|
|
requestBizData.PageSize = 200;
|
|
requestBizData.PageIndex = 0;
|
|
requestBizData.Fields = "TradeType,tradeStatus,consignTime,payTime,goodsDetail.barcode,tradeNo,orderNo,shopName,companyName,warehouseName,logisticName,mainPostid,goodsDetail.goodsNo,flagNames,columnExt,sourceAfterNo,goodsDetail.outerId,pickUpCode,expense.expenseFee,expense.expenseItemName,billDate,goodsPlatDiscountFee,goodsDetail.shareOrderDiscountFee,goodsDetail.shareFavourableAfterFee,goodsDetail.shareOrderPlatDiscountFee,customizeGoodsColumn9,goodsDetail.goodsId,goodsDetail.sellCount,goodsDetail.needProcessCount,goodsDetail.baseUnitSellCount,goodsDetail.assessmentCost,goodsDetail.compassSourceContentTypem,sourceTradeNo,shopId,warehouseId,scrollId,goodsDetail.unit";
|
|
requestBizData.StartCreated = "";// DateTime.ParseExact(value, "yyyy -MM-dd HH:mm:ss", System.Globalization.CultureInfo.InvariantCulture, System.Globalization.DateTimeStyles.None);
|
|
requestBizData.EndCreated = "";// DateTime.ParseExact(value1, "yyyy -MM-dd HH:mm:ss", System.Globalization.CultureInfo.InvariantCulture, System.Globalization.DateTimeStyles.None);
|
|
requestBizData.StartAuditTime = "";// DateTime.ParseExact(value, "yyyy-MM-dd HH:mm:ss", System.Globalization.CultureInfo.InvariantCulture, System.Globalization.DateTimeStyles.None);
|
|
requestBizData.EndAuditTime = "";// DateTime.ParseExact(value1, "yyyy -MM-dd HH:mm:ss", System.Globalization.CultureInfo.InvariantCulture, System.Globalization.DateTimeStyles.None);
|
|
requestBizData.StartConsignTime = value;// value;// DateTime.ParseExact(value, "yyyy-MM-dd HH:mm:ss", System.Globalization.CultureInfo.InvariantCulture, System.Globalization.DateTimeStyles.None);
|
|
requestBizData.EndConsignTime = value1;// value1;// DateTime.ParseExact(value1, "yyyy-MM-dd HH:mm:ss", System.Globalization.CultureInfo.InvariantCulture, System.Globalization.DateTimeStyles.None);
|
|
//requestBizData.TradeStatus = 1010;
|
|
requestBizData.TradeType = 1;
|
|
requestBizData.SourceTradeNos = "";
|
|
requestBizData.ShopIds = null; // new long[] { 378761130654261100, 378761130654261100 };
|
|
List<int> TradeTypeList = new List<int>();
|
|
TradeTypeList.Add(1);
|
|
TradeTypeList.Add(7);
|
|
TradeTypeList.Add(8);
|
|
TradeTypeList.Add(5);
|
|
List<TradesItem> trades = new List<TradesItem>();
|
|
TradeTypeList.ForEach(ty =>
|
|
{
|
|
requestBizData.PageIndex = 0;
|
|
requestBizData.TradeType = ty;
|
|
string lggl = JsonHelper.ToJson(requestBizData);
|
|
LogHelper.Info("TradeType:==" + ty.ToString() + " " + lggl);
|
|
JackyunResponse response = Call(EnumAttribute.GetAttribute(ApiEnum.TRADEFULLINFOGET).Value, "1.0", requestBizData);
|
|
string ll = JsonHelper.ToJson(response);
|
|
LogHelper.Info("TradeType:=="+ ty.ToString() + " "+ll);
|
|
|
|
if (response.code == "200")
|
|
{
|
|
var orderjson = JsonHelper.ToJson(response.result);
|
|
var list1 = JsonHelper.ToObject<TradeFullinfogetResp<TradeFullinfogetData>>(orderjson);
|
|
|
|
|
|
int pageIndex = 1;
|
|
while (list1.data.trades != null && list1.data.trades.Count > 0)
|
|
{
|
|
list1.data.trades.ForEach(h => h.TradeType = ty);
|
|
|
|
trades.AddRange(list1.data.trades);
|
|
requestBizData.PageIndex = pageIndex;
|
|
pageIndex++;
|
|
Thread.Sleep(100);
|
|
response = Call(EnumAttribute.GetAttribute(ApiEnum.TRADEFULLINFOGET).Value, "1.0", requestBizData);
|
|
if (response.code == "200")
|
|
{
|
|
orderjson = JsonHelper.ToJson(response.result);
|
|
list1 = JsonHelper.ToObject<TradeFullinfogetResp<TradeFullinfogetData>>(orderjson);
|
|
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
string msg = response.msg;
|
|
throw new BaseException(msg);
|
|
}
|
|
});
|
|
var shocodes = shopConfigs.Select(t => t.FSHOPCODE).ToList();
|
|
trades = trades.Where(t => shocodes.Contains(t.shopCode)).ToList();
|
|
return trades;
|
|
}
|
|
#endregion
|
|
|
|
#region 退货查询
|
|
/// <summary>
|
|
/// 退货查询
|
|
/// </summary>
|
|
/// <param name="now">截止日期</param>
|
|
/// <returns></returns>
|
|
/// <exception cref="BaseException"></exception>
|
|
public List<TradesItem> GetReturnChangeList(DateTime now)
|
|
{
|
|
|
|
int total = 1;
|
|
var shopConfigs = _yTKJTShopParameterRepository.Queryable().Where(t => t.FDOCUMENTSTATUS == "C").ToList();
|
|
|
|
ReturnChangeGetRequestBizData requestBizData = new ReturnChangeGetRequestBizData();
|
|
//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");
|
|
}
|
|
|
|
requestBizData.StartModified = "";// DateTime.ParseExact(value, "yyyy-MM-dd HH:mm:ss", System.Globalization.CultureInfo.InvariantCulture, System.Globalization.DateTimeStyles.None);
|
|
requestBizData.StartDeliveryDate = value;
|
|
requestBizData.EndDeliveryDate = value1;
|
|
requestBizData.EndModified = ""; //DateTime.ParseExact(value1, "yyyy-MM-dd HH:mm:ss", System.Globalization.CultureInfo.InvariantCulture, System.Globalization.DateTimeStyles.None);
|
|
requestBizData.TradeNo = "";
|
|
requestBizData.HasTotal = total;
|
|
requestBizData.PageSize = 200;
|
|
requestBizData.PageIndex = 0;
|
|
|
|
|
|
|
|
requestBizData.StartModified = null;// DateTime.ParseExact(value, "yyyy-MM-dd HH:mm:ss", System.Globalization.CultureInfo.InvariantCulture, System.Globalization.DateTimeStyles.None);
|
|
//requestBizData.TradeStatus = 1010;
|
|
|
|
requestBizData.ShopIds = null; // new long[] { 378761130654261100, 378761130654261100 };
|
|
List<int> TradeTypeList = new List<int>();
|
|
TradeTypeList.Add(1005);
|
|
List<TradesItem> reslut = new List<TradesItem>();
|
|
List<ReturnChangeListResp> trades = new List<ReturnChangeListResp>();
|
|
TradeTypeList.ForEach(ty =>
|
|
{
|
|
requestBizData.PageIndex = 0;
|
|
requestBizData.ProcessStatusList = "";
|
|
string lggl = JsonHelper.ToJson(requestBizData);
|
|
LogHelper.Info(lggl);
|
|
JackyunResponse response = Call(EnumAttribute.GetAttribute(ApiEnum.RETURNCHANGE).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<TradeFullinfogetResp<ReturnChangeData>>(orderjson);
|
|
|
|
|
|
int pageIndex = 1;
|
|
int TotalResults = list1.data.TotalResults;
|
|
while (requestBizData.PageIndex* requestBizData.PageSize< TotalResults)
|
|
{
|
|
//list1.data.returnChangeList.ForEach(h => h.TradeType = ty);
|
|
|
|
trades.AddRange(list1.data.returnChangeList);
|
|
requestBizData.PageIndex = pageIndex;
|
|
pageIndex++;
|
|
Thread.Sleep(100);
|
|
response = Call(EnumAttribute.GetAttribute(ApiEnum.RETURNCHANGE).Value, "1.0", requestBizData);
|
|
if (response.code == "200")
|
|
{
|
|
orderjson = JsonHelper.ToJson(response.result);
|
|
list1 = JsonHelper.ToObject<TradeFullinfogetResp<ReturnChangeData>>(orderjson);
|
|
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
string msg = response.msg;
|
|
throw new BaseException(msg);
|
|
}
|
|
});
|
|
var shocodes = shopConfigs.Select(t => t.FSHOPCODE).ToList();
|
|
trades = trades.Where(t => shocodes.Contains(t.ShopCode)).ToList();
|
|
//reslut = trades.Select(t => new TradesItem { tradeId = t.TradeId, couponFee = 0, realFee = 0, shopCode = t.ShopCode ,orderNo=t.ReturnChangeNo, tradeNo =t.TradeNo
|
|
//,isDelete=0, mainPostid=t.MainPostid,
|
|
// companyName=t.CompanyName,
|
|
// flagNames=t.FlagNames,
|
|
// shopName=t.ShopName,
|
|
// warehouseName=t.WarehouseName
|
|
//}).ToList();
|
|
|
|
|
|
|
|
reslut = trades.Select(rc => new TradesItem
|
|
{
|
|
tradeId = rc.TradeAfterId.ToString(),
|
|
couponFee = 0,
|
|
realFee = 0,
|
|
shopCode = rc.ShopCode,
|
|
orderNo = rc.ReturnChangeNo,
|
|
tradeNo = rc.TradeNo,
|
|
isDelete = 0,
|
|
mainPostid = rc.MainPostid,
|
|
companyName = rc.CompanyName,
|
|
flagNames = rc.FlagNames,
|
|
shopName = rc.ShopName,
|
|
warehouseName = rc.WarehouseName,
|
|
warehouseCode = rc.WarehouseCode,
|
|
logisticName = rc.LogisticName,
|
|
shopId = rc.ShopId.ToString(),
|
|
TradeType = 8, // 假设这是售后退货类型
|
|
consignTime = !string.IsNullOrWhiteSpace(rc.DeliveryTime) ? (DateTime?)DateTime.Parse(rc.DeliveryTime) : null,
|
|
payTime = null, // 可根据需要设置
|
|
tradeStatus = int.Parse(rc.TradeAfterStatus), // 注意类型转换
|
|
warehouseId = rc.WarehouseId.ToString(),
|
|
shopTypeCode = "",
|
|
apiType = -114, // 默认值
|
|
ReturnChangeGoodsDetail = rc.ReturnChangeGoodsDetail
|
|
}).ToList();
|
|
|
|
|
|
return reslut;
|
|
}
|
|
#endregion
|
|
|
|
|
|
#region 获取吉客云采购入库
|
|
/// <summary>
|
|
/// 获取吉客云采购入库
|
|
/// </summary>
|
|
/// <param name="now">截止日期</param>
|
|
/// <returns></returns>
|
|
/// <exception cref="BaseException"></exception>
|
|
public List<BusiOrderGoodsDocInResponse> GetPurchaseInboundData(DateTime now)
|
|
{
|
|
var shopConfigs = _yTKJTShopParameterRepository.Queryable().Where(t => t.FDOCUMENTSTATUS == "C" && t.FPURCHASERECEIVING == "1").ToList();
|
|
|
|
BusiOrderGoodsDocInRequest requestBizData = new BusiOrderGoodsDocInRequest();
|
|
//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");
|
|
}
|
|
//101-采购入库
|
|
requestBizData.Inouttypes = "101";
|
|
requestBizData.InOutDateStart = new DateTimeOffset(DateTime.Parse(value)).ToUnixTimeMilliseconds().ToString() ;
|
|
requestBizData.InOutDateEnd = new DateTimeOffset(DateTime.Parse(value1)).ToUnixTimeMilliseconds().ToString();
|
|
|
|
requestBizData.PageSize = 200;
|
|
requestBizData.PageIndex = 0;
|
|
requestBizData.Cols = "goodsdocNo,inOutDate,gmtCreate,inouttypeName,warehouseName,billNo,sourceBillNo,deliveryNo,currencyCode,currencyCodeName,currencyRate,createUserName,companyName,vendCustomerName,goodsdocRemark,receiveGoodsRemark,callbackStatus,applyCompanyName,applyDepartName,applyUserName,goodsNo,goodsName,skuName,skuBarcode,unitName,quantity,baceCurrencyCostPrice,baceCurrencyCostAmount,baceCurrencyNoTaxPrice,baceCurrencyNoTaxAmount,baceCurrencyWithTaxPrice,baceCurrencyWithTaxAmount,baceCurrencyTaxAmount,taxRate,transNoTaxPrice,transNoTaxAmount,transHasTaxPrice,transHasTaxAmount,transTaxAmount,isCertified,goodsDetailRemark,batchNo,serialNo,vendCode,warehouseCode,channelCode,serialSourceId,outBillNo,trackInOutNo,logisticName,logisticNo";
|
|
|
|
|
|
List<int> TradeTypeList = new List<int>();
|
|
TradeTypeList.Add(1005);
|
|
List<BusiOrderGoodsDocInResponse> reslut = new List<BusiOrderGoodsDocInResponse>();
|
|
List<BusiOrderGoodsDocInResponse> trades = new List<BusiOrderGoodsDocInResponse>();
|
|
TradeTypeList.ForEach(ty =>
|
|
{
|
|
requestBizData.PageIndex = 0;
|
|
string lggl = JsonHelper.ToJson(requestBizData);
|
|
LogHelper.Info(lggl);
|
|
JackyunResponse response = Call(EnumAttribute.GetAttribute(ApiEnum.STORAGEGOODSDOCINCOUNTS).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<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 warehouseCodes = shopConfigs.Select(t => t.FPURCHASINGWAREHOUSECODE).Distinct().ToList();
|
|
var guolv = shopConfigs.Select(t => new { t.FPURCHASINGWAREHOUSECODE, t.FPURCHASEDATE }).ToList();
|
|
trades = trades.Where(t => warehouseCodes.Contains(t.warehouseCode)).ToList();
|
|
|
|
foreach (var item in guolv)
|
|
{
|
|
trades.RemoveAll(t => item.FPURCHASINGWAREHOUSECODE == t.warehouseCode && item.FPURCHASEDATE > t.inOutDate2);
|
|
}
|
|
|
|
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 = "vendCustomerCode,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" +
|
|
",goodsDocDetailList.recId,goodsDocDetailList.goodsId,goodsDocDetailList.goodsNo,goodsDocDetailList.goodsName,goodsDocDetailList.skuId,goodsDocDetailList.skuName,goodsDocDetailList.skuBarcode,goodsDocDetailList.unitName,goodsDocDetailList.cuPrice,goodsDocDetailList.cuValue,goodsDocDetailList.caseNumber,goodsDocDetailList.rowRemark,goodsDocDetailList.assistUnit,goodsDocDetailList.estCost,goodsDocDetailList.estTax,goodsDocDetailList.estPrice,goodsDocDetailList.estPriceNoTax,goodsDocDetailList.estCostNoTax,goodsDocDetailList.taxRate,goodsDocDetailList.batchNo,goodsDocDetailList.serialNo,goodsDocDetailList.productionDate,goodsDocDetailList.expirationDate,goodsDocDetailList.shelfLife,goodsDocDetailList.shelfLiftUnit,goodsDocDetailList.sourceDetailId,goodsDocDetailList.transNoTaxPrice,goodsDocDetailList.transNoTaxAmount,goodsDocDetailList.transHasTaxPrice,goodsDocDetailList.transHasTaxAmount" +
|
|
",goodsDocDetailList.transTaxAmount,goodsDocDetailList.detailField1,goodsDocDetailList.detailField2,goodsDocDetailList.detailField3,goodsDocDetailList.detailField4,goodsDocDetailList.detailField5,goodsDocDetailList.isCertified,goodsDocDetailList.registrationNumber,goodsDocDetailList.approvalDate,goodsDocDetailList.productionDepart,goodsDocDetailList.batchNumber,goodsDocDetailList.quantity,goodsDocDetailList.cateId,goodsDocDetailList.cateName,goodsDocDetailList.volume,goodsDocDetailList.skuWeight";
|
|
|
|
|
|
List<int> TradeTypeList = new List<int>();
|
|
TradeTypeList.Add(1005);
|
|
List<ErpStorageGoodsDocOutV2ResponseBizData> reslut = new List<ErpStorageGoodsDocOutV2ResponseBizData>();
|
|
List<ErpStorageGoodsDocOutV2ResponseBizData> trades = new List<ErpStorageGoodsDocOutV2ResponseBizData>();
|
|
TradeTypeList.ForEach(ty =>
|
|
{
|
|
requestBizData.PageIndex = 0;
|
|
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 (list1.Data.Count>0)
|
|
{
|
|
//list1.data.returnChangeList.ForEach(h => h.TradeType = ty);
|
|
|
|
trades.AddRange(list1.Data);
|
|
requestBizData.PageIndex = pageIndex;
|
|
requestBizData.contextId = TotalResults;
|
|
pageIndex++;
|
|
Thread.Sleep(100);
|
|
response = Call(EnumAttribute.GetAttribute(ApiEnum.ERPSTORAGEGOODSDOCOUTV2).Value, "1.0", requestBizData);
|
|
if (response.code == "200")
|
|
{
|
|
orderjson = JsonHelper.ToJson(response.result);
|
|
list1 = JsonHelper.ToObject<ErpStorageGoodsDocOutV2ResponseBizData2>(orderjson);
|
|
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
string msg = response.msg;
|
|
throw new BaseException(msg);
|
|
}
|
|
});
|
|
|
|
var warehouseCodes = shopConfigs.Select(t => t.FPURCHASINGWAREHOUSECODE).Distinct().ToList();
|
|
var guolv = shopConfigs.Select(t => new { t.FPURCHASINGWAREHOUSECODE, t.FPURCHASEDATE }).ToList();
|
|
trades = trades.Where(t => warehouseCodes.Contains(t.WarehouseCode)).ToList();
|
|
//foreach (var item in guolv)
|
|
//{
|
|
// trades.RemoveAll(t => item.FPURCHASINGWAREHOUSECODE == t.WarehouseCode && item.FPURCHASEDATE > t.InOutDate);
|
|
//}
|
|
|
|
return trades;
|
|
|
|
|
|
}
|
|
#endregion
|
|
}
|
|
|
|
|
|
}
|