From 95b488f6305effbbf6b7def20f254ec6243e9761 Mon Sep 17 00:00:00 2001 From: yuyubo <1870149533@qq.com> Date: Fri, 21 Nov 2025 18:09:44 +0800 Subject: [PATCH] =?UTF-8?q?=E9=87=87=E8=B4=AD=E9=80=80=E6=96=99=E5=8D=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../KingDee/SaveModel/PurchaseReturnModel.cs | 29 +++++++ .../KingDee/SaveModel/PurchaseStockInModel.cs | 13 +++- .../JackYun/StorageGoodsDocOutV2Response.cs | 7 ++ .../Model/BusiOrderGoodsDocIn.cs | 2 +- .../Model/PushKingDeeGoodsDocIn.cs | 8 ++ .../Model/StorageGoodsDocOutHead.cs | 7 ++ .../Model/YTKJTShopParameter.cs | 4 +- .../Implementation/JackYunService.cs | 10 +-- .../Implementation/PurchaseReturnService.cs | 76 +++++++++++-------- .../Implementation/PurchaseStockInService.cs | 1 + .../Implementation/WMSService.cs | 2 +- .../Controllers/TestController.cs | 4 +- 12 files changed, 117 insertions(+), 46 deletions(-) diff --git a/Reportapi/MyCode.Project.Domain/Message/Request/KingDee/SaveModel/PurchaseReturnModel.cs b/Reportapi/MyCode.Project.Domain/Message/Request/KingDee/SaveModel/PurchaseReturnModel.cs index 00a59c0..ae5b959 100644 --- a/Reportapi/MyCode.Project.Domain/Message/Request/KingDee/SaveModel/PurchaseReturnModel.cs +++ b/Reportapi/MyCode.Project.Domain/Message/Request/KingDee/SaveModel/PurchaseReturnModel.cs @@ -16,6 +16,10 @@ namespace MyCode.Project.Domain.Message.Request.KingDee.SaveModel /// public int? FID { get; set; } + /// + /// 单据编号 + /// + public string FBillNo { get; set; } /// /// 单据类型 /// @@ -127,6 +131,8 @@ namespace MyCode.Project.Domain.Message.Request.KingDee.SaveModel /// public class FRequireOrgId { + public string FOrgId { get; set; } + /// /// 编码 /// @@ -233,6 +239,13 @@ namespace MyCode.Project.Domain.Message.Request.KingDee.SaveModel /// public class FPURMRBENTRY { + + /// + /// 条码 + /// + public string Fcode { get; set; } + + /// /// 产品类型 /// @@ -248,6 +261,17 @@ namespace MyCode.Project.Domain.Message.Request.KingDee.SaveModel /// public string FMaterialDesc { get; set; } + /// + /// 仓库 + /// + + public FStockID FStockID { get; set; } + + /// + /// 库存状态 + /// + public FStockStatusId FStockStatusId { get; set; } + /// /// 库存单位 /// @@ -426,6 +450,11 @@ namespace MyCode.Project.Domain.Message.Request.KingDee.SaveModel /// public class FCARRYUNITID { + + /// + /// 组织内码 + /// + public string FOrgId { get; set; } /// /// 编码 /// diff --git a/Reportapi/MyCode.Project.Domain/Message/Request/KingDee/SaveModel/PurchaseStockInModel.cs b/Reportapi/MyCode.Project.Domain/Message/Request/KingDee/SaveModel/PurchaseStockInModel.cs index 06909c4..2ff4d6d 100644 --- a/Reportapi/MyCode.Project.Domain/Message/Request/KingDee/SaveModel/PurchaseStockInModel.cs +++ b/Reportapi/MyCode.Project.Domain/Message/Request/KingDee/SaveModel/PurchaseStockInModel.cs @@ -21,14 +21,15 @@ namespace MyCode.Project.Domain.Message.Request.KingDee.SaveModel /// ݱ /// public string FBillNo { get; set; } + /// ֯ + /// + public FStockOrgId FStockOrgId { get; set; } /// /// /// public string FDate { get; set; } /// - /// ֯ - /// - public FStockOrgId FStockOrgId { get; set; } + /// /// ֯ /// @@ -142,6 +143,12 @@ namespace MyCode.Project.Domain.Message.Request.KingDee.SaveModel public class FSalOutStockOrgId { + + /// + /// ֯ + /// + public string FOrgId { get; set; } + /// /// /// diff --git a/Reportapi/MyCode.Project.Domain/Message/Response/JackYun/StorageGoodsDocOutV2Response.cs b/Reportapi/MyCode.Project.Domain/Message/Response/JackYun/StorageGoodsDocOutV2Response.cs index 961a00a..4e83a51 100644 --- a/Reportapi/MyCode.Project.Domain/Message/Response/JackYun/StorageGoodsDocOutV2Response.cs +++ b/Reportapi/MyCode.Project.Domain/Message/Response/JackYun/StorageGoodsDocOutV2Response.cs @@ -53,6 +53,13 @@ namespace MyCode.Project.Domain.Message.Response.JackYun /// public string VendCustomerName { get; set; } + /// + /// Desc:往来单位编号 + /// Default: + /// Nullable:True + /// + public string VendCustomerCode { get; set; } + /// /// 币种编号 /// diff --git a/Reportapi/MyCode.Project.Domain/Model/BusiOrderGoodsDocIn.cs b/Reportapi/MyCode.Project.Domain/Model/BusiOrderGoodsDocIn.cs index c9577c5..6c26c28 100644 --- a/Reportapi/MyCode.Project.Domain/Model/BusiOrderGoodsDocIn.cs +++ b/Reportapi/MyCode.Project.Domain/Model/BusiOrderGoodsDocIn.cs @@ -269,7 +269,7 @@ namespace MyCode.Project.Domain.Model public decimal? BaceCurrencyWithTaxAmount {get;set;} /// - /// Desc:baceCurrencyTaxAmount + /// Desc:本币税额(货品行数据) /// Default: /// Nullable:True /// diff --git a/Reportapi/MyCode.Project.Domain/Model/PushKingDeeGoodsDocIn.cs b/Reportapi/MyCode.Project.Domain/Model/PushKingDeeGoodsDocIn.cs index bc65186..a8e2c26 100644 --- a/Reportapi/MyCode.Project.Domain/Model/PushKingDeeGoodsDocIn.cs +++ b/Reportapi/MyCode.Project.Domain/Model/PushKingDeeGoodsDocIn.cs @@ -310,5 +310,13 @@ namespace MyCode.Project.Domain.Model /// public int? Status {get;set;} + /// + /// Desc: + /// Default: + /// Nullable:False + /// + [SugarColumn(IsIdentity=true)] + public int SortId {get;set;} + } } diff --git a/Reportapi/MyCode.Project.Domain/Model/StorageGoodsDocOutHead.cs b/Reportapi/MyCode.Project.Domain/Model/StorageGoodsDocOutHead.cs index fa596be..3443a17 100644 --- a/Reportapi/MyCode.Project.Domain/Model/StorageGoodsDocOutHead.cs +++ b/Reportapi/MyCode.Project.Domain/Model/StorageGoodsDocOutHead.cs @@ -548,5 +548,12 @@ namespace MyCode.Project.Domain.Model /// public int? Status {get;set;} + /// + /// Desc:往来单位编号 + /// Default: + /// Nullable:True + /// + public string VendCustomerCode {get;set;} + } } diff --git a/Reportapi/MyCode.Project.Domain/Model/YTKJTShopParameter.cs b/Reportapi/MyCode.Project.Domain/Model/YTKJTShopParameter.cs index 8067fde..07329bb 100644 --- a/Reportapi/MyCode.Project.Domain/Model/YTKJTShopParameter.cs +++ b/Reportapi/MyCode.Project.Domain/Model/YTKJTShopParameter.cs @@ -246,7 +246,7 @@ namespace MyCode.Project.Domain.Model public string FPURCHASINGWAREHOUSECODE {get;set;} /// - /// Desc:采购组织ID + /// Desc:采购组织 /// Default: /// Nullable:True /// @@ -254,7 +254,7 @@ namespace MyCode.Project.Domain.Model public int? FPURCHASEORGID {get;set;} /// - /// Desc:采购日期 + /// Desc:开始抓采购入库单开始时间 /// Default: /// Nullable:True /// diff --git a/Reportapi/MyCode.Project.Services/Implementation/JackYunService.cs b/Reportapi/MyCode.Project.Services/Implementation/JackYunService.cs index afe3099..3c308bc 100644 --- a/Reportapi/MyCode.Project.Services/Implementation/JackYunService.cs +++ b/Reportapi/MyCode.Project.Services/Implementation/JackYunService.cs @@ -389,7 +389,7 @@ 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 = "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"; @@ -443,10 +443,10 @@ namespace MyCode.Project.Services.Implementation 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); - } + //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/PurchaseReturnService.cs b/Reportapi/MyCode.Project.Services/Implementation/PurchaseReturnService.cs index bc4aa96..e9b303d 100644 --- a/Reportapi/MyCode.Project.Services/Implementation/PurchaseReturnService.cs +++ b/Reportapi/MyCode.Project.Services/Implementation/PurchaseReturnService.cs @@ -6,6 +6,7 @@ using MyCode.Project.Domain.Model; using MyCode.Project.Domain.Repositories; using MyCode.Project.Infrastructure.Common; using MyCode.Project.Infrastructure.Exceptions; +using MyCode.Project.Infrastructure.Extensions; using MyCode.Project.OutSideService; using MyCode.Project.Services.IServices; using System; @@ -68,7 +69,7 @@ namespace MyCode.Project.Services.Implementation throw new BaseException($"未找到ID为 {id} 的采购退料单记录"); } - if (outHead.Status != 0 && outHead.Status != 1) + if (outHead.Status ==2 ) { throw new BaseException($"采购退料单 {outHead.GoodsdocNo} 已经推送过,状态为:{outHead.Status},不允许重复推送"); } @@ -161,7 +162,7 @@ namespace MyCode.Project.Services.Implementation BillSave billSave = new BillSave() { Model = model, - IsAutoSubmitAndAudit = true, + IsAutoSubmitAndAudit = false, }; // 调用金蝶服务保存单据 @@ -197,23 +198,32 @@ namespace MyCode.Project.Services.Implementation decimal price = taxRate > 0 && taxPrice > 0 ? Math.Round(taxPrice / (1 + taxRate / 100), 10) : taxPrice; return new FPURMRBENTRY() - { + { + Fcode = detail.SkuBarcode ?? "", FRowType = rowType, - FMATERIALID = new FMATERIALID() - { - FNumber = detail.SkuBarcode ?? "" - }, - FMaterialDesc = detail.GoodsName ?? "", - FUnitID = new FUnitID() - { - FNumber = detail.UnitName ?? DEFAULT_UNIT - }, + //FMATERIALID = new FMATERIALID() + //{ + // FNumber = detail.SkuBarcode ?? "" + //}, + //FMaterialDesc = detail.GoodsName ?? "", + //FUnitID = new FUnitID() + //{ + // FNumber = detail.UnitName ?? DEFAULT_UNIT + //}, FRMREALQTY = realQty, FREPLENISHQTY = 0, FKEAPAMTQTY = 0, - FPRICEUNITID = new FPRICEUNITID() + //FPRICEUNITID = new FPRICEUNITID() + //{ + // FNumber = detail.UnitName ?? DEFAULT_UNIT + //}, + FStockID = new FStockID() { - FNumber = detail.UnitName ?? DEFAULT_UNIT + FNumber = param.FPURCHASINGWAREHOUSECODE + }, + FStockStatusId = new FStockStatusId() + { + FNumber = "KCZT01_SYS" }, FPrice = price, FExtAuxUnitQty = 0, @@ -223,18 +233,18 @@ namespace MyCode.Project.Services.Implementation FPriceBaseQty = realQty, FCARRYUNITID = new FCARRYUNITID() { - FNumber = detail.UnitName ?? DEFAULT_UNIT + FOrgId = param.FPURCHASEORGID.SafeValue().ToString(), }, - FCarryQty = 0, - FCarryBaseQty = 0, - FPOORDERENTRYID = 0, + FCarryQty = realQty, + FCarryBaseQty = realQty, + FBILLINGCLOSE = false, FRMMUSTQTY = realQty, FAUXUNITQTY = 0, FOWNERTYPEID = OWNER_TYPE, FOWNERID = new FOwnerId() { - FNumber = orgId + FOrgId = orgId }, FENTRYTAXRATE = taxRate, FDISCOUNTRATE = 0, @@ -266,13 +276,14 @@ namespace MyCode.Project.Services.Implementation string dateStr = outDate?.ToString("yyyy-MM-dd HH:mm:ss") ?? DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); // 获取供应商编码 - string supplierCode = outHead.VendCustomerId ?? ""; + string supplierCode = outHead.VendCustomerCode ?? ""; // 构建收货地址(从收件人地址字段组合) string acceptAddress = BuildAcceptAddress(outHead); return new PurchaseReturnModel() { + FBillNo = outHead.GoodsdocNo, FID = 0, FBillTypeID = new FBillTypeID() { @@ -283,21 +294,22 @@ namespace MyCode.Project.Services.Implementation FMRMODE = MR_MODE, FStockOrgId = new FStockOrgId() { - FNumber = orgId + FOrgId = orgId }, FIsConvert = false, FRequireOrgId = new FRequireOrgId() { - FNumber = orgId + FOrgId = orgId }, + FPurchaseOrgId = new FPurchaseOrgId() { - FNumber = orgId + FOrgId = orgId }, - FSupplierID = !string.IsNullOrEmpty(supplierCode) ? new FSupplierID() + FSupplierID = new FSupplierID() { FNumber = supplierCode - } : null, + }, FACCEPTORID = !string.IsNullOrEmpty(supplierCode) ? new FACCEPTORID() { FNumber = supplierCode @@ -314,36 +326,36 @@ namespace MyCode.Project.Services.Implementation FOwnerTypeIdHead = OWNER_TYPE, FOwnerIdHead = new FOwnerIdHead() { - FNumber = orgId + FOrgId = orgId }, - FCDateOffsetValue = 0, + FAcceptorContactID = null, // 如果需要联系人,可以从其他字段获取 FSalOutStockOrgId = new FSalOutStockOrgId() { - FNumber = orgId + FOrgId = orgId }, FACCTYPE = ACCT_TYPE, FPURMRBFIN = new FPURMRBFIN() { FSettleOrgId = new FSettleOrgId() { - FNumber = orgId + FOrgId = orgId }, FSettleCurrId = new FSettleCurrId() { - FNumber = outHead.CurrencyCode ?? DEFAULT_CURRENCY + FNumber = DEFAULT_CURRENCY }, FIsIncludedTax = true, FPRICETIMEPOINT = "1", FLOCALCURRID = new FLocalCurrId() { - FNumber = outHead.CurrencyCode ?? DEFAULT_CURRENCY + FNumber = DEFAULT_CURRENCY }, FEXCHANGETYPEID = new FExchangeTypeId() { FNumber = EXCHANGE_TYPE }, - FEXCHANGERATE = outHead.CurrencyRate ?? 1m, + FEXCHANGERATE = 1m, FISPRICEEXCLUDETAX = true, FHSExchangeRate = 1m }, diff --git a/Reportapi/MyCode.Project.Services/Implementation/PurchaseStockInService.cs b/Reportapi/MyCode.Project.Services/Implementation/PurchaseStockInService.cs index da71655..f2811d3 100644 --- a/Reportapi/MyCode.Project.Services/Implementation/PurchaseStockInService.cs +++ b/Reportapi/MyCode.Project.Services/Implementation/PurchaseStockInService.cs @@ -259,6 +259,7 @@ namespace MyCode.Project.Services.Implementation return new PurchaseStockInModel() { + FBillNo= goodsDocIn.GoodsdocNo, FID = 0, FBillTypeID = new FBillTypeID() { diff --git a/Reportapi/MyCode.Project.Services/Implementation/WMSService.cs b/Reportapi/MyCode.Project.Services/Implementation/WMSService.cs index 4dd0758..7d289ef 100644 --- a/Reportapi/MyCode.Project.Services/Implementation/WMSService.cs +++ b/Reportapi/MyCode.Project.Services/Implementation/WMSService.cs @@ -44,7 +44,7 @@ namespace MyCode.Project.Services.Implementation DateTime now = DateTime.Now.Date; _workProcessService.Add(this.MerchantId, "TaskGetJackYunOrder", "调度运行抓吉客云销售订单", now.ToString("yyyy-MM-dd"), 1); _workProcessService.Add(this.MerchantId, "TaskGetReturnChangeList", "调度运行抓吉客云退货订单", now.ToString("yyyy-MM-dd"), 1); - //_workProcessService.Add(this.MerchantId, "GetPurchaseInboundData", "调度运行吉客云采购入库", now.ToString("yyyy-MM-dd"), 1); + _workProcessService.Add(this.MerchantId, "GetPurchaseInboundData", "调度运行吉客云采购入库", now.ToString("yyyy-MM-dd"), 1); //_workProcessService.Add(this.MerchantId, "GetStorageGoodsDocOutV2", "获取吉客云采购退货出库单", now.ToString("yyyy-MM-dd"), 1); } #endregion diff --git a/Reportapi/MyCode.Project.WebApi/Controllers/TestController.cs b/Reportapi/MyCode.Project.WebApi/Controllers/TestController.cs index c830976..84c67eb 100644 --- a/Reportapi/MyCode.Project.WebApi/Controllers/TestController.cs +++ b/Reportapi/MyCode.Project.WebApi/Controllers/TestController.cs @@ -309,10 +309,10 @@ namespace MyCode.Project.WebApi.Controllers } #endregion - #region 调度运行吉客云采购出库单 + #region 获取吉客云采购退料单 /// - /// 调度运行吉客云采购出库单 + /// 获取吉客云采购退料单 /// [HttpGet] [AllowAnonymous]