From ce9868a6552d9fabe6fac91bf6b41d961018eb6b Mon Sep 17 00:00:00 2001 From: yuyubo <1870149533@qq.com> Date: Thu, 6 Nov 2025 18:12:17 +0800 Subject: [PATCH 1/3] 123 --- .../JackYun/BusiOrderGoodsDocInSummary.cs | 94 +---------- .../JackYun/StorageGoodsDocOutV2Response.cs | 2 +- .../Model/StorageGoodsDocOutHead.cs | 7 + .../Model/YTKJTShopParameter.cs | 16 ++ .../IBusiOrderGoodsDocInRepository.cs | 10 +- .../BusiOrderGoodsDocInRepository.cs | 147 +++++++++++------- .../IServices/IJackYunService.cs | 2 +- .../IServices/IJackYunTaskService.cs | 7 +- .../Implementation/JackYunService.cs | 69 +++----- .../Implementation/JackYunTaskService.cs | 122 ++++++++++++++- .../Controllers/TestController.cs | 14 ++ Reportapi/MyCode.Project.WebApi/Web.config | 4 +- 12 files changed, 291 insertions(+), 203 deletions(-) diff --git a/Reportapi/MyCode.Project.Domain/Message/Response/JackYun/BusiOrderGoodsDocInSummary.cs b/Reportapi/MyCode.Project.Domain/Message/Response/JackYun/BusiOrderGoodsDocInSummary.cs index 1f6e0e8..66158b8 100644 --- a/Reportapi/MyCode.Project.Domain/Message/Response/JackYun/BusiOrderGoodsDocInSummary.cs +++ b/Reportapi/MyCode.Project.Domain/Message/Response/JackYun/BusiOrderGoodsDocInSummary.cs @@ -1,4 +1,5 @@ -using System; +using MyCode.Project.Domain.Model; +using System; using System.Collections.Generic; using System.Linq; using System.Text; @@ -6,97 +7,10 @@ using System.Threading.Tasks; namespace MyCode.Project.Domain.Message.Response.JackYun { - public class BusiOrderGoodsDocInSummary + public class BusiOrderGoodsDocInSummary: PushKingDeeGoodsDocIn { - /// - /// 出入库日期 - /// - public DateTime InOutDate2 { get; set; } + - /// - /// 仓库编码 - /// - public string WarehouseCode { get; set; } - - /// - /// 仓库名称 - /// - public string WarehouseName { get; set; } - - /// - /// 商品编码 - /// - public string GoodsNo { get; set; } - - /// - /// 商品名称 - /// - public string GoodsName { get; set; } - - /// - /// 规格 - /// - public string SkuName { get; set; } - - /// - /// 单位 - /// - public string UnitName { get; set; } - - /// - /// 条码 - /// - public string SkuBarcode { get; set; } - - /// - /// 总数量 - /// - public decimal Quantity { get; set; } - - /// - /// 总入库金额 - /// - public decimal BaceCurrencyCostAmount { get; set; } - - /// - /// 总本币无税金额 - /// - public decimal BaceCurrencyNoTaxAmount { get; set; } - - /// - /// 总本币含税金额 - /// - public decimal BaceCurrencyWithTaxAmount { get; set; } - - /// - /// 总本币税额 - /// - public decimal BaceCurrencyTaxAmount { get; set; } - - /// - /// 总原币无税金额 - /// - public decimal TransNoTaxAmount { get; set; } - - /// - /// 总原币含税金额 - /// - public decimal TransHasTaxAmount { get; set; } - - /// - /// 总原币税额 - /// - public decimal TransTaxAmount { get; set; } - - /// - /// 入库单数 - /// - public int OrderCount { get; set; } - - /// - /// 明细行数 - /// - public int DetailCount { get; set; } } } \ No newline at end of file diff --git a/Reportapi/MyCode.Project.Domain/Message/Response/JackYun/StorageGoodsDocOutV2Response.cs b/Reportapi/MyCode.Project.Domain/Message/Response/JackYun/StorageGoodsDocOutV2Response.cs index 342b099..961a00a 100644 --- a/Reportapi/MyCode.Project.Domain/Message/Response/JackYun/StorageGoodsDocOutV2Response.cs +++ b/Reportapi/MyCode.Project.Domain/Message/Response/JackYun/StorageGoodsDocOutV2Response.cs @@ -31,7 +31,7 @@ namespace MyCode.Project.Domain.Message.Response.JackYun /// /// 出库时间 /// - public string InOutDate { get; set; } + public DateTime InOutDate { get; set; } /// /// 创建时间 diff --git a/Reportapi/MyCode.Project.Domain/Model/StorageGoodsDocOutHead.cs b/Reportapi/MyCode.Project.Domain/Model/StorageGoodsDocOutHead.cs index f77cb5c..fa596be 100644 --- a/Reportapi/MyCode.Project.Domain/Model/StorageGoodsDocOutHead.cs +++ b/Reportapi/MyCode.Project.Domain/Model/StorageGoodsDocOutHead.cs @@ -541,5 +541,12 @@ namespace MyCode.Project.Domain.Model [SugarColumn(IsPrimaryKey=true)] public Guid Id {get;set;} + /// + /// Desc:0=未处理 1=已合并 2=已推送 + /// Default:0 + /// Nullable:True + /// + public int? Status {get;set;} + } } diff --git a/Reportapi/MyCode.Project.Domain/Model/YTKJTShopParameter.cs b/Reportapi/MyCode.Project.Domain/Model/YTKJTShopParameter.cs index a9efdf4..2ce34fe 100644 --- a/Reportapi/MyCode.Project.Domain/Model/YTKJTShopParameter.cs +++ b/Reportapi/MyCode.Project.Domain/Model/YTKJTShopParameter.cs @@ -245,5 +245,21 @@ namespace MyCode.Project.Domain.Model [SugarColumn(ColumnName="F_PURCHASINGWAREHOUSECODE")] public string FPURCHASINGWAREHOUSECODE {get;set;} + /// + /// Desc:采购组织 + /// Default: + /// Nullable:True + /// + [SugarColumn(ColumnName="F_PURCHASEORGID")] + public int? FPURCHASEORGID {get;set;} + + /// + /// Desc:开始抓采购入库单开始时间 + /// Default: + /// Nullable:True + /// + [SugarColumn(ColumnName="F_PURCHASE_DATE")] + public DateTime? FPURCHASEDATE {get;set;} + } } diff --git a/Reportapi/MyCode.Project.Domain/Repositories/IBusiOrderGoodsDocInRepository.cs b/Reportapi/MyCode.Project.Domain/Repositories/IBusiOrderGoodsDocInRepository.cs index 2e97746..81f6da7 100644 --- a/Reportapi/MyCode.Project.Domain/Repositories/IBusiOrderGoodsDocInRepository.cs +++ b/Reportapi/MyCode.Project.Domain/Repositories/IBusiOrderGoodsDocInRepository.cs @@ -8,11 +8,17 @@ using MyCode.Project.Domain; using MyCode.Project.Domain.Model; using MyCode.Project.Infrastructure.Common; using MyCode.Project.Domain.Message; +using MyCode.Project.Domain.Message.Response.JackYun; namespace MyCode.Project.Domain.Repositories { public interface IBusiOrderGoodsDocInRepository : IRepository { - - } + /// + /// 获取合并后的吉客云采购入库单订单 + /// + /// + List GetPushGoodsDocInOrder(); + + } } diff --git a/Reportapi/MyCode.Project.Repositories/BusiOrderGoodsDocInRepository.cs b/Reportapi/MyCode.Project.Repositories/BusiOrderGoodsDocInRepository.cs index aa1a4c4..92a3e4b 100644 --- a/Reportapi/MyCode.Project.Repositories/BusiOrderGoodsDocInRepository.cs +++ b/Reportapi/MyCode.Project.Repositories/BusiOrderGoodsDocInRepository.cs @@ -19,68 +19,107 @@ namespace MyCode.Project.Repositories { } -// SELECT -// -- 分组字段 -// CONVERT(date, InOutDate2) AS 出入库日期, -// WarehouseCode AS 仓库编码, -// WarehouseName AS 仓库名称, -// GoodsNo AS 商品编码, -// GoodsName AS 商品名称, -// SkuName AS 规格, -// UnitName AS 单位, - -// -- 合计数据 -// SUM(Quantity) AS 总数量, -// SUM(BaceCurrencyCostAmount) AS 总入库金额, -// SUM(BaceCurrencyNoTaxAmount) AS 总本币无税金额, -// SUM(BaceCurrencyWithTaxAmount) AS 总本币含税金额, -// SUM(BaceCurrencyTaxAmount) AS 总本币税额, -// SUM(TransNoTaxAmount) AS 总原币无税金额, -// SUM(TransHasTaxAmount) AS 总原币含税金额, -// SUM(TransTaxAmount) AS 总原币税额, - -// -- 计数统计 -// COUNT(DISTINCT GoodsdocNo) AS 入库单数, -// COUNT(*) AS 明细行数 + // SELECT + // -- 分组字段 + // CONVERT(date, InOutDate2) AS 出入库日期, + // WarehouseCode AS 仓库编码, + // WarehouseName AS 仓库名称, + // GoodsNo AS 商品编码, + // GoodsName AS 商品名称, + // SkuName AS 规格, + // UnitName AS 单位, + + // -- 合计数据 + // SUM(Quantity) AS 总数量, + // SUM(BaceCurrencyCostAmount) AS 总入库金额, + // SUM(BaceCurrencyNoTaxAmount) AS 总本币无税金额, + // SUM(BaceCurrencyWithTaxAmount) AS 总本币含税金额, + // SUM(BaceCurrencyTaxAmount) AS 总本币税额, + // SUM(TransNoTaxAmount) AS 总原币无税金额, + // SUM(TransHasTaxAmount) AS 总原币含税金额, + // SUM(TransTaxAmount) AS 总原币税额, + + // -- 计数统计 + // COUNT(DISTINCT GoodsdocNo) AS 入库单数, + // COUNT(*) AS 明细行数 -//FROM[dbo].[BusiOrderGoodsDocIn] -// WHERE Status IN(0) -- 根据业务需求调整状态筛选 -// GROUP BY -// CONVERT(date, InOutDate2), -// WarehouseCode, -// WarehouseName, -// GoodsNo, -// GoodsName, -// SkuName, -// UnitName -//ORDER BY -// CONVERT(date, InOutDate2) DESC, -// WarehouseCode, -// GoodsNo; + //FROM[dbo].[BusiOrderGoodsDocIn] + // WHERE Status IN(0) -- 根据业务需求调整状态筛选 + // GROUP BY + // CONVERT(date, InOutDate2), + // WarehouseCode, + // WarehouseName, + // GoodsNo, + // GoodsName, + // SkuName, + // UnitName + //ORDER BY + // CONVERT(date, InOutDate2) DESC, + // WarehouseCode, + // GoodsNo; - #region GetPushOrder(获取合并后的吉客云订单) + #region GetPushGoodsDocInOrder(获取合并后的吉客云采购入库单订单) /// - /// 获取合并后的吉客云订单 + /// 获取合并后的吉客云采购入库单订单 /// /// - public List GetPushReturnOrder() + public List GetPushGoodsDocInOrder() { string sql = $@" - SELECT [shopCode], [shopName], [shopId], [warehouseName], [warehouseCode], - [status], CONVERT(NVARCHAR(30),[consignTime],23) [consignTime], - [goodsNo], [goodsId],SUM([sellTotal]*-1) [sellTotal], - SUM([returnCount]*-1) [sellCount], SUM([ShareShouldReturnFee]*-1) AS [divideSellTotal], - [barcode], [TradeType] ,[warehouseId],Unit -FROM [JackOrders] a WITH (NOLOCK) - LEFT JOIN [dbo].[ReturnChangeGoodsDetail] b WITH (NOLOCK) - ON a.id = b.JackOrdersId -WHERE a.status = 0 and [TradeType]=8 and returnCount <> 0 -GROUP BY [shopCode],[shopName], [shopId], [warehouseName], [warehouseCode], [status], CONVERT(NVARCHAR(30),[consignTime],23) ,[goodsNo], -[goodsId], [barcode] ,[warehouseId], [TradeType],Unit -ORDER BY [shopCode],[consignTime] desc,[TradeType] -"; - var list = this.SelectList(sql); +SELECT + -- 分组字段 + CONVERT(date, InOutDate2) AS InOutDate2, + WarehouseCode AS WarehouseCode, + WarehouseName AS WarehouseName, + GoodsNo AS GoodsNo, + GoodsName AS GoodsName, + SkuName AS SkuName, + UnitName AS UnitName, + SkuBarcode AS SkuBarcode, + [CurrencyCode] + ,[CurrencyCodeName] + ,[CurrencyRate] + ,[CreateUserName] + ,[CompanyName],VendCustomerName,VendCode ,[ApplyCompanyName], + [TaxRate] + ,[TransNoTaxPrice] + ,[TransHasTaxPrice], + -- 合计数据 + SUM(Quantity) AS Quantity ,-- 总数量, + SUM(BaceCurrencyCostAmount) AS BaceCurrencyCostAmount,--总入库金额, + SUM(BaceCurrencyNoTaxAmount) AS BaceCurrencyNoTaxAmount,--总本币无税金额, + SUM(BaceCurrencyWithTaxAmount) AS BaceCurrencyWithTaxAmount,--总本币含税金额, + SUM(BaceCurrencyTaxAmount) AS BaceCurrencyTaxAmount,-- 总本币税额, + SUM(TransNoTaxAmount) AS TransNoTaxAmount,--总原币无税金额, + SUM(TransHasTaxAmount) AS TransHasTaxAmount,--总原币含税金额, + SUM(TransTaxAmount) AS TransTaxAmount,--总原币税额, + + -- 计数统计 + COUNT(DISTINCT GoodsdocNo) AS 入库单数, + COUNT(*) AS 明细行数 + +FROM [dbo].[BusiOrderGoodsDocIn] +WHERE Status IN (0) -- 根据业务需求调整状态筛选 +GROUP BY + CONVERT(DATE, InOutDate2), + WarehouseCode, + WarehouseName, + GoodsNo, + GoodsName, + SkuName, + UnitName,SkuBarcode ,[CurrencyCode] + ,[CurrencyCodeName] + ,[CurrencyRate] + ,[CreateUserName] + ,[CompanyName],CompanyName,VendCustomerName,VendCode ,[ApplyCompanyName], [TaxRate] + ,[TransNoTaxPrice] + ,[TransHasTaxPrice] +ORDER BY + CONVERT(date, InOutDate2) DESC, + WarehouseCode, + GoodsNo;"; + var list = this.SelectList(sql); return list; } #endregion diff --git a/Reportapi/MyCode.Project.Services/IServices/IJackYunService.cs b/Reportapi/MyCode.Project.Services/IServices/IJackYunService.cs index c8bea67..ba55e36 100644 --- a/Reportapi/MyCode.Project.Services/IServices/IJackYunService.cs +++ b/Reportapi/MyCode.Project.Services/IServices/IJackYunService.cs @@ -41,7 +41,7 @@ namespace MyCode.Project.Services List GetPurchaseInboundData(DateTime now); /// - /// 获取吉客云采购出库单 + /// 获取吉客云采购退货出库单 /// /// 截止日期 /// diff --git a/Reportapi/MyCode.Project.Services/IServices/IJackYunTaskService.cs b/Reportapi/MyCode.Project.Services/IServices/IJackYunTaskService.cs index 9015338..cda2327 100644 --- a/Reportapi/MyCode.Project.Services/IServices/IJackYunTaskService.cs +++ b/Reportapi/MyCode.Project.Services/IServices/IJackYunTaskService.cs @@ -52,7 +52,12 @@ namespace MyCode.Project.Services /// void GetStorageGoodsDocOutV2(string now); - + /// + /// 合并吉客云采购订单到新表 + /// + /// + + string GetAndMergePushGoodsDocInOrder(string now); } } diff --git a/Reportapi/MyCode.Project.Services/Implementation/JackYunService.cs b/Reportapi/MyCode.Project.Services/Implementation/JackYunService.cs index 594bae1..0f9884b 100644 --- a/Reportapi/MyCode.Project.Services/Implementation/JackYunService.cs +++ b/Reportapi/MyCode.Project.Services/Implementation/JackYunService.cs @@ -277,8 +277,6 @@ namespace MyCode.Project.Services.Implementation /// public List GetPurchaseInboundData(DateTime now) { - - int total = 1; var shopConfigs = _yTKJTShopParameterRepository.Queryable().Where(t => t.FDOCUMENTSTATUS == "C" && t.FPURCHASERECEIVING == "1").ToList(); BusiOrderGoodsDocInRequest requestBizData = new BusiOrderGoodsDocInRequest(); @@ -347,16 +345,22 @@ namespace MyCode.Project.Services.Implementation throw new BaseException(msg); } }); - //var shocodes = shopConfigs.Select(t => t.FPURCHASINGWAREHOUSECODE).ToList(); - //trades = trades.Where(t => shocodes.Contains(t.warehouseCode)).ToList(); + 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 获取吉客云采购出库单 + #region 获取吉客云采购退货出库单 /// - /// 获取吉客云采购出库单 + /// 获取吉客云采购退货出库单 /// /// 截止日期 /// @@ -381,7 +385,9 @@ namespace MyCode.Project.Services.Implementation 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"; + 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" + + ",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 TradeTypeList = new List(); @@ -395,7 +401,7 @@ namespace MyCode.Project.Services.Implementation LogHelper.Info(lggl); JackyunResponse response = Call(EnumAttribute.GetAttribute(ApiEnum.ERPSTORAGEGOODSDOCOUTV2).Value, "1.0", requestBizData); string ll = JsonHelper.ToJson(response); - LogHelper.Info(ll); + LogHelper.Info("采购退货单: "+ll); if (response.code == "200") { @@ -429,46 +435,15 @@ namespace MyCode.Project.Services.Implementation 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(); - + 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; diff --git a/Reportapi/MyCode.Project.Services/Implementation/JackYunTaskService.cs b/Reportapi/MyCode.Project.Services/Implementation/JackYunTaskService.cs index bdb3874..51e84a0 100644 --- a/Reportapi/MyCode.Project.Services/Implementation/JackYunTaskService.cs +++ b/Reportapi/MyCode.Project.Services/Implementation/JackYunTaskService.cs @@ -23,6 +23,9 @@ namespace MyCode.Project.Services.Implementation private IYTKJTShopParameterRepository _yTKJTShopParameterRepository; private IReturnChangeGoodsDetailRepository _ReturnChangeGoodsDetailRepository; private IBusiOrderGoodsDocInRepository _busiOrderGoodsDocInRepository; + private IPushKingDeeGoodsDocInRepository _PushKingDeeGoodsDocInRepository; + private IStorageGoodsDocOutHeadRepository _storageGoodsDocOutHeadRepository; + private IStorageGoodsDocOutDetailRepository _storageGoodsDocOutDetailRepository; private IWorkProcessService _workProcessService; @@ -33,6 +36,9 @@ namespace MyCode.Project.Services.Implementation , IYTKJTShopParameterRepository yTKJTShopParameterRepository , IReturnChangeGoodsDetailRepository returnChangeGoodsDetailRepository , IBusiOrderGoodsDocInRepository busiOrderGoodsDocInRepository + , IPushKingDeeGoodsDocInRepository pushKingDeeGoodsDocInRepository + , IStorageGoodsDocOutDetailRepository storageGoodsDocOutDetailRepository + , IStorageGoodsDocOutHeadRepository storageGoodsDocOutHeadRepository , IJackYunService jackYunService, IWorkProcessService workProcessService) { @@ -43,7 +49,9 @@ namespace MyCode.Project.Services.Implementation _jackOrdersItemRepository = jackOrdersItemRepository; _ReturnChangeGoodsDetailRepository = returnChangeGoodsDetailRepository; _busiOrderGoodsDocInRepository = busiOrderGoodsDocInRepository; - + _PushKingDeeGoodsDocInRepository = pushKingDeeGoodsDocInRepository; + _storageGoodsDocOutHeadRepository = storageGoodsDocOutHeadRepository; + _storageGoodsDocOutDetailRepository = storageGoodsDocOutDetailRepository; _jackYunService = jackYunService; _workProcessService = workProcessService; } @@ -335,7 +343,7 @@ namespace MyCode.Project.Services.Implementation DateTime runTime = DateTime.Parse(now); var list = _jackYunService.GetPurchaseInboundData(runTime); SetPurchaseInboundData(list); - //_workProcessService.Add(this.MerchantId, "GetAndMergeJackReturnYunOrder", "合并吉客云退货订单到新表", now, 1); + //_workProcessService.Add(this.MerchantId, "GetAndMergePushGoodsDocInOrder", "合并吉客云采购订单到新表", now, 1); } #endregion @@ -376,20 +384,124 @@ namespace MyCode.Project.Services.Implementation #endregion - #region GetStorageGoodsDocOutV2(调度运行吉客云采购出库单) + #region GetStorageGoodsDocOutV2(调度运行吉客云采购退货出库单) /// - /// 调度运行吉客云采购出库单 + /// 调度运行吉客云采购退货出库单 /// /// public void GetStorageGoodsDocOutV2(string now) { DateTime runTime = DateTime.Parse(now); var list = _jackYunService.GetStorageGoodsDocOutV2(runTime); - //SetPurchaseInboundData(list); + SetStorageGoodsDocOutV2Order(list); //_workProcessService.Add(this.MerchantId, "GetAndMergeJackReturnYunOrder", "合并吉客云退货订单到新表", now, 1); } #endregion + #region GetAndMergeJackGoodsDocInOrder(合并吉客云采购订单到新表) + /// + /// 合并吉客云采购订单到新表 + /// + /// + [TransactionCallHandler] + public string GetAndMergePushGoodsDocInOrder(string now) + { + var list = _busiOrderGoodsDocInRepository.GetPushGoodsDocInOrder(); + List mesg = new List(); + + //var shopParemList = _yTKJTShopParameterRepository.Queryable().Where(t => t.FDOCUMENTSTATUS == "C" && t.FPURCHASERECEIVING=="1").ToList(); + List pushKingDeeOrders = new List(); + //var warehouseCodes = shopParemList.Select(t => t.FPURCHASINGWAREHOUSECODE).Distinct().ToList(); + //list = list.Where(t => warehouseCodes.Contains(t.WarehouseCode)).ToList(); + list.ForEach(sheet => + { + + PushKingDeeGoodsDocIn pushKingDeeOrder = new PushKingDeeGoodsDocIn(); + pushKingDeeOrder = AutoMapperHelper.AutoMappToSingle(sheet); + pushKingDeeOrder.ID = Guid.NewGuid(); + pushKingDeeOrder.CreateTime = DateTime.Now; + pushKingDeeOrder.UpdateTime = DateTime.Now; + pushKingDeeOrder.Status = 0; + pushKingDeeOrders.Add(pushKingDeeOrder); + + }); + if (pushKingDeeOrders.Count > 0) + { + var oldList = _busiOrderGoodsDocInRepository.Queryable().Where(t => t.Status == 0).ToList(); + oldList.ForEach(t => + { + if (pushKingDeeOrders.Count(h => h.WarehouseCode == t.WarehouseCode && t.InOutDate2.Value.ToString("yyyy-MM-dd") == h.InOutDate2.Value.ToString("yyyy-MM-dd")) > 0) + { + t.Status = 1; + t.UpdateTime = DateTime.Now; + } + }); + oldList = oldList.Where(t => t.Status == 1).ToList(); + _busiOrderGoodsDocInRepository.Update(oldList); + _PushKingDeeGoodsDocInRepository.Add(pushKingDeeOrders); + + } + //pushKingDeeOrders.ForEach(t => + //{ + // _workProcessService.Add(this.MerchantId, "PushOrderToKingDee", "推送退货订单到云星空或者WMS", t.Id, 1); + // Thread.Sleep(300); + //}); + + return JsonHelper.ToJson(list); + } + #endregion + + #region SetReturnOrder(把吉客云退货订单存进本地数据库) + /// + /// + [TransactionCallHandler] + public void SetStorageGoodsDocOutV2Order(List trades) + { + var ids = trades.Select(t => t.RecId).Distinct().ToList(); + ids = _storageGoodsDocOutHeadRepository.Queryable().Where(t => ids.Contains(t.RecId)).Select(t => t.RecId).Distinct().ToList(); + if (ids.Count > 0) + trades = trades.Where(t => !ids.Contains(t.RecId)).ToList(); + List jackOrdersList = new List(); + List ordersItemList = new List(); + var shopConfig = _yTKJTShopParameterRepository.Queryable().Where(t => t.FDOCUMENTSTATUS == "C").ToList(); + var shopCodeList = shopConfig.Select(t => t.FSHOPCODE).ToList(); + + + trades.ForEach(t => + { + + StorageGoodsDocOutHead jackOrders = new StorageGoodsDocOutHead(); + jackOrders = AutoMapperHelper.AutoMappToSingle(t); + jackOrders.Id = Guid.NewGuid(); + jackOrders.Status = 0; + jackOrders.UpdateTime = DateTime.Now; + jackOrders.CreateTime = DateTime.Now; + if (t.GoodsDocDetailList != null) + { + var items = AutoMapperHelper.AutoMappToList(t.GoodsDocDetailList); + items.ForEach(k => + { + k.HeadId = jackOrders.Id; + k.CreateTime = DateTime.Now; + k.UpdateTime = DateTime.Now; + }); + jackOrdersList.Add(jackOrders); + ordersItemList.AddRange(items); + } + + + }); + + if (jackOrdersList.Count > 0) + { + _storageGoodsDocOutHeadRepository.Add(jackOrdersList); + _storageGoodsDocOutDetailRepository.Add(ordersItemList); + } + + } + #endregion } diff --git a/Reportapi/MyCode.Project.WebApi/Controllers/TestController.cs b/Reportapi/MyCode.Project.WebApi/Controllers/TestController.cs index c102c22..cf266ce 100644 --- a/Reportapi/MyCode.Project.WebApi/Controllers/TestController.cs +++ b/Reportapi/MyCode.Project.WebApi/Controllers/TestController.cs @@ -271,6 +271,20 @@ namespace MyCode.Project.WebApi.Controllers _jackYunTaskService.GetStorageGoodsDocOutV2(now); } #endregion + + + #region 合并吉客云采购订单到新表 + /// + /// 合并吉客云采购订单到新表 + /// + [HttpGet] + [AllowAnonymous] + public string GetAndMergePushGoodsDocInOrder(string now) + { + return _jackYunTaskService.GetAndMergePushGoodsDocInOrder(now); + } + #endregion + } } diff --git a/Reportapi/MyCode.Project.WebApi/Web.config b/Reportapi/MyCode.Project.WebApi/Web.config index 1462a6e..87d7b74 100644 --- a/Reportapi/MyCode.Project.WebApi/Web.config +++ b/Reportapi/MyCode.Project.WebApi/Web.config @@ -22,9 +22,9 @@ - + - + From 1dfaf1b8cfaeb958b9e3bf4817b057aa15838123 Mon Sep 17 00:00:00 2001 From: yuyubo <1870149533@qq.com> Date: Thu, 6 Nov 2025 18:14:26 +0800 Subject: [PATCH 2/3] 12 --- Reportapi/MyCode.Project.WebApi/Web.config | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Reportapi/MyCode.Project.WebApi/Web.config b/Reportapi/MyCode.Project.WebApi/Web.config index 87d7b74..1462a6e 100644 --- a/Reportapi/MyCode.Project.WebApi/Web.config +++ b/Reportapi/MyCode.Project.WebApi/Web.config @@ -22,9 +22,9 @@ - + - + From bce409ee1458c6c11000e76b05b9b80177b0e940 Mon Sep 17 00:00:00 2001 From: yuyubo <1870149533@qq.com> Date: Fri, 7 Nov 2025 16:19:15 +0800 Subject: [PATCH 3/3] 1 --- .../MyCode.Project.Services/Implementation/JackYunService.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Reportapi/MyCode.Project.Services/Implementation/JackYunService.cs b/Reportapi/MyCode.Project.Services/Implementation/JackYunService.cs index 0f9884b..959f362 100644 --- a/Reportapi/MyCode.Project.Services/Implementation/JackYunService.cs +++ b/Reportapi/MyCode.Project.Services/Implementation/JackYunService.cs @@ -21,7 +21,7 @@ namespace MyCode.Project.Services.Implementation _yTKJTShopParameterRepository = yTKJTShopParameterRepository; } - DateTime startTime = DateTime.Parse("2025-08-01"); + DateTime startTime = DateTime.Parse("2025-10-01"); /// /// 请求开放平台服务 ///