From 97d3da31163190a8074c32580cc0c09c5c27ec50 Mon Sep 17 00:00:00 2001
From: yuyubo <1870149533@qq.com>
Date: Mon, 14 Jul 2025 20:39:36 +0800
Subject: [PATCH] 11
---
.../Message/Request/KingDee/BillDelete.cs | 32 +
.../Message/Request/KingDee/BillSave.cs | 31 +
.../Request/KingDee/FSaleOrderEntry.cs | 1228 +++++++++++++++++
.../Response/JackYun/PushOrderListResp.cs | 133 ++
.../Message/Response/KingDee/ErrorResponse.cs | 98 ++
.../Model/PushKingDeeOrder.cs | 114 ++
.../Model/PushKingDeeOrderItem.cs | 82 ++
.../WMStoJackyunInventoryMovementView1.cs | 147 ++
.../WMStoJackyunInventoryMovementView3.cs | 154 +++
.../Model/YTKJTShopParameter.cs | 92 +-
.../MyCode.Project.Domain.csproj | 10 +-
.../Repositories/IJackOrdersItemRepository.cs | 10 +-
.../IPushKingDeeOrderItemRepository.cs | 18 +
.../IPushKingDeeOrderRepository.cs | 18 +
...JackyunInventoryMovementView1Repository.cs | 18 +
...JackyunInventoryMovementView3Repository.cs | 18 +
.../Implementation/KingDeeService.cs | 166 +++
.../MyCode.Project.OutSideService.csproj | 4 +
.../JackOrdersItemRepository.cs | 29 +-
.../MyCode.Project.Repositories.csproj | 2 +
.../PushKingDeeOrderItemRepository.cs | 26 +
.../PushKingDeeOrderRepository.cs | 26 +
...JackyunInventoryMovementView1Repository.cs | 26 +
...JackyunInventoryMovementView3Repository.cs | 26 +
.../IServices/IJackYunTaskService.cs | 8 +
.../Implementation/JackYunService.cs | 4 +-
.../Implementation/JackYunTaskService.cs | 78 +-
.../Implementation/WMSService.cs | 6 +-
.../Controllers/BaseWechatController.cs | 4 +-
.../Controllers/TestController.cs | 12 +
.../kingdeeDll/Kingdee.CDP.WebApi.SDK.dll | Bin 0 -> 61952 bytes
31 files changed, 2584 insertions(+), 36 deletions(-)
create mode 100644 Reportapi/MyCode.Project.Domain/Message/Request/KingDee/BillDelete.cs
create mode 100644 Reportapi/MyCode.Project.Domain/Message/Request/KingDee/BillSave.cs
create mode 100644 Reportapi/MyCode.Project.Domain/Message/Request/KingDee/FSaleOrderEntry.cs
create mode 100644 Reportapi/MyCode.Project.Domain/Message/Response/JackYun/PushOrderListResp.cs
create mode 100644 Reportapi/MyCode.Project.Domain/Message/Response/KingDee/ErrorResponse.cs
create mode 100644 Reportapi/MyCode.Project.Domain/Model/PushKingDeeOrder.cs
create mode 100644 Reportapi/MyCode.Project.Domain/Model/PushKingDeeOrderItem.cs
create mode 100644 Reportapi/MyCode.Project.Domain/Model/WMStoJackyunInventoryMovementView1.cs
create mode 100644 Reportapi/MyCode.Project.Domain/Model/WMStoJackyunInventoryMovementView3.cs
create mode 100644 Reportapi/MyCode.Project.Domain/Repositories/IPushKingDeeOrderItemRepository.cs
create mode 100644 Reportapi/MyCode.Project.Domain/Repositories/IPushKingDeeOrderRepository.cs
create mode 100644 Reportapi/MyCode.Project.Domain/Repositories/IWMStoJackyunInventoryMovementView1Repository.cs
create mode 100644 Reportapi/MyCode.Project.Domain/Repositories/IWMStoJackyunInventoryMovementView3Repository.cs
create mode 100644 Reportapi/MyCode.Project.OutSideService/Implementation/KingDeeService.cs
create mode 100644 Reportapi/MyCode.Project.Repositories/PushKingDeeOrderItemRepository.cs
create mode 100644 Reportapi/MyCode.Project.Repositories/PushKingDeeOrderRepository.cs
create mode 100644 Reportapi/MyCode.Project.Repositories/WMStoJackyunInventoryMovementView1Repository.cs
create mode 100644 Reportapi/MyCode.Project.Repositories/WMStoJackyunInventoryMovementView3Repository.cs
create mode 100644 Reportapi/kingdeeDll/Kingdee.CDP.WebApi.SDK.dll
diff --git a/Reportapi/MyCode.Project.Domain/Message/Request/KingDee/BillDelete.cs b/Reportapi/MyCode.Project.Domain/Message/Request/KingDee/BillDelete.cs
new file mode 100644
index 0000000..dbe5a97
--- /dev/null
+++ b/Reportapi/MyCode.Project.Domain/Message/Request/KingDee/BillDelete.cs
@@ -0,0 +1,32 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace MyCode.Project.Domain.Message.Request.KingDee
+{
+ public class BillDelete
+ { ///
+ /// 单据内码
+ ///
+ public string Ids { get; set; }
+
+ ///
+ /// 组织ID
+ ///
+ public long CreateOrgId { get; set; }
+
+ ///
+ /// 单据编码
+ ///
+ public string Numbers { get; set; }
+
+ ///
+ /// 是否启用网控
+ ///
+ public bool NetworkCtrl { get; set; }
+
+
+ }
+}
diff --git a/Reportapi/MyCode.Project.Domain/Message/Request/KingDee/BillSave.cs b/Reportapi/MyCode.Project.Domain/Message/Request/KingDee/BillSave.cs
new file mode 100644
index 0000000..a2aac56
--- /dev/null
+++ b/Reportapi/MyCode.Project.Domain/Message/Request/KingDee/BillSave.cs
@@ -0,0 +1,31 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace MyCode.Project.Domain.Message.Request.KingDee
+{
+ public class BillSave
+ {
+ ///
+ /// 更新字段
+ ///
+ public List NeedUpDateFields { get; set; }
+
+ ///
+ /// 返回字段
+ ///
+ public List NeedReturnFields { get; set; }
+
+ public bool IsDeleteEntry { get; set; }
+
+
+ ///
+ /// 表单数据包,JSON类型(必录)
+ ///
+ public object Model { get; set; }
+
+ }
+
+}
diff --git a/Reportapi/MyCode.Project.Domain/Message/Request/KingDee/FSaleOrderEntry.cs b/Reportapi/MyCode.Project.Domain/Message/Request/KingDee/FSaleOrderEntry.cs
new file mode 100644
index 0000000..82dd79f
--- /dev/null
+++ b/Reportapi/MyCode.Project.Domain/Message/Request/KingDee/FSaleOrderEntry.cs
@@ -0,0 +1,1228 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace MyCode.Project.Domain.Message.Request.KingDee
+{
+
+
+ public class FSaleOrderEntry
+ {
+ ///
+ ///
+ ///
+ public List NeedUpDateFields { get; set; }
+ ///
+ ///
+ ///
+ public List NeedReturnFields { get; set; }
+ ///
+ ///
+ ///
+ public string IsDeleteEntry { get; set; }
+ ///
+ ///
+ ///
+ public string SubSystemId { get; set; }
+ ///
+ /// 是否验证所有的基础资料有效性,布尔类,默认false(非必录)
+ ///
+ public bool IsVerifyBaseDataField { get; set; }
+ ///
+ ///
+ ///
+ public string IsEntryBatchFill { get; set; }
+ ///
+ ///
+ ///
+ public string ValidateFlag { get; set; }
+ ///
+ ///
+ ///
+ public string NumberSearch { get; set; }
+ ///
+ ///
+ ///
+ public string IsAutoAdjustField { get; set; }
+ ///
+ ///
+ ///
+ public string InterationFlags { get; set; }
+ ///
+ ///
+ ///
+ public string IgnoreInterationFlag { get; set; }
+ ///
+ ///
+ ///
+ public string IsControlPrecision { get; set; }
+ ///
+ ///
+ ///
+ public Model Model { get; set; }
+ }
+
+ public class FBillTypeID
+ {
+ ///
+ ///
+ ///
+ public string FNUMBER { get; set; }
+ }
+
+ public class FSaleOrgId
+ {
+ ///
+ ///
+ ///
+ public string FNumber { get; set; }
+ }
+
+ public class FCustId
+ {
+ ///
+ ///
+ ///
+ public string FNumber { get; set; }
+ }
+
+ public class FHeadDeliveryWay
+ {
+ ///
+ ///
+ ///
+ public string FNumber { get; set; }
+ }
+
+ public class FReceiveId
+ {
+ ///
+ ///
+ ///
+ public string FNumber { get; set; }
+ }
+
+ public class FHEADLOCID
+ {
+ ///
+ ///
+ ///
+ public string FNumber { get; set; }
+ }
+
+ public class FCorrespondOrgId
+ {
+ ///
+ ///
+ ///
+ public string FNumber { get; set; }
+ }
+
+ public class FSaleDeptId
+ {
+ ///
+ ///
+ ///
+ public string FNumber { get; set; }
+ }
+
+ public class FSaleGroupId
+ {
+ ///
+ ///
+ ///
+ public string FNumber { get; set; }
+ }
+
+ public class FSalerId
+ {
+ ///
+ ///
+ ///
+ public string FNumber { get; set; }
+ }
+
+ public class FSettleId
+ {
+ ///
+ ///
+ ///
+ public string FNumber { get; set; }
+ }
+
+ public class FReceiveContact
+ {
+ ///
+ ///
+ ///
+ public string FNAME { get; set; }
+ }
+
+ public class FChargeId
+ {
+ ///
+ ///
+ ///
+ public string FNumber { get; set; }
+ }
+
+ public class FSalePhaseID
+ {
+ ///
+ ///
+ ///
+ public string FNUMBER { get; set; }
+ }
+
+ public class FWarehouse
+ {
+ ///
+ ///
+ ///
+ public string FNUMBER { get; set; }
+ }
+
+ public class Foutlets
+ {
+ ///
+ ///
+ ///
+ public string FNUMBER { get; set; }
+ }
+
+ public class FSettleCurrId
+ {
+ ///
+ ///
+ ///
+ public string FNumber { get; set; }
+ }
+
+ public class FRecConditionId
+ {
+ ///
+ ///
+ ///
+ public string FNumber { get; set; }
+ }
+
+ public class FSettleModeId
+ {
+ ///
+ ///
+ ///
+ public string FNumber { get; set; }
+ }
+
+ public class FPriceListId
+ {
+ ///
+ ///
+ ///
+ public string FNumber { get; set; }
+ }
+
+ public class FDiscountListId
+ {
+ ///
+ ///
+ ///
+ public string FNumber { get; set; }
+ }
+
+ public class FExchangeTypeId
+ {
+ ///
+ ///
+ ///
+ public string FNumber { get; set; }
+ }
+
+ public class FSaleOrderFinance
+ {
+ ///
+ ///
+ ///
+ public int FEntryId { get; set; }
+ ///
+ ///
+ ///
+ public FSettleCurrId FSettleCurrId { get; set; }
+ ///
+ ///
+ ///
+ public FRecConditionId FRecConditionId { get; set; }
+ ///
+ ///
+ ///
+ public string FIsPriceExcludeTax { get; set; }
+ ///
+ ///
+ ///
+ public FSettleModeId FSettleModeId { get; set; }
+ ///
+ ///
+ ///
+ public string FIsIncludedTax { get; set; }
+ ///
+ ///
+ ///
+ public FPriceListId FPriceListId { get; set; }
+ ///
+ ///
+ ///
+ public FDiscountListId FDiscountListId { get; set; }
+ ///
+ ///
+ ///
+ public FExchangeTypeId FExchangeTypeId { get; set; }
+ ///
+ ///
+ ///
+ public int FMarginLevel { get; set; }
+ ///
+ ///
+ ///
+ public int FMargin { get; set; }
+ ///
+ ///
+ ///
+ public string FOverOrgTransDirect { get; set; }
+ ///
+ ///
+ ///
+ public int FAllDisCount { get; set; }
+ ///
+ ///
+ ///
+ public string FRecBarcodeLink { get; set; }
+ ///
+ ///
+ ///
+ public int FXPKID_F { get; set; }
+ }
+
+ public class FClauseId
+ {
+ ///
+ ///
+ ///
+ public string FNumber { get; set; }
+ }
+
+ public class FSaleOrderClauseItem
+ {
+ ///
+ ///
+ ///
+ public int FEntryID { get; set; }
+ ///
+ ///
+ ///
+ public FClauseId FClauseId { get; set; }
+ ///
+ ///
+ ///
+ public string FClauseDesc { get; set; }
+ ///
+ ///
+ ///
+ public int FXPKID_C { get; set; }
+ }
+
+ public class FMaterialGroup
+ {
+ ///
+ ///
+ ///
+ public string FNUMBER { get; set; }
+ }
+
+ public class FMaterialGroupByMat
+ {
+ ///
+ ///
+ ///
+ public string FNUMBER { get; set; }
+ }
+
+ public class FMapId
+ {
+ ///
+ ///
+ ///
+ public string FNumber { get; set; }
+ }
+
+ public class FMaterialId
+ {
+ ///
+ ///
+ ///
+ public string FNumber { get; set; }
+ }
+
+ public class FAUXPROPID__FF100001
+ {
+ ///
+ ///
+ ///
+ public string FNumber { get; set; }
+ }
+
+ public class FAuxPropId
+ {
+ ///
+ ///
+ ///
+ public FAUXPROPID__FF100001 FAUXPROPID__FF100001 { get; set; }
+ }
+
+ public class FParentMatId
+ {
+ ///
+ ///
+ ///
+ public string FNUMBER { get; set; }
+ }
+
+ public class FUnitID
+ {
+ ///
+ ///
+ ///
+ public string FNumber { get; set; }
+ }
+
+ public class FPriceUnitId
+ {
+ ///
+ ///
+ ///
+ public string FNumber { get; set; }
+ }
+
+ public class FPurPriceUnitId
+ {
+ ///
+ ///
+ ///
+ public string FNumber { get; set; }
+ }
+
+ public class FTaxCombination
+ {
+ ///
+ ///
+ ///
+ public string FNumber { get; set; }
+ }
+
+ public class FLot
+ {
+ ///
+ ///
+ ///
+ public string FNumber { get; set; }
+ }
+
+ public class FStockOrgId
+ {
+ ///
+ ///
+ ///
+ public string FNumber { get; set; }
+ }
+
+ public class FSettleOrgIds
+ {
+ ///
+ ///
+ ///
+ public string FNumber { get; set; }
+ }
+
+ public class FSupplyOrgId
+ {
+ ///
+ ///
+ ///
+ public string FNumber { get; set; }
+ }
+
+ public class FBomId
+ {
+ ///
+ ///
+ ///
+ public string FNumber { get; set; }
+ }
+
+ public class FOwnerId
+ {
+ ///
+ ///
+ ///
+ public string FNumber { get; set; }
+ }
+
+ public class FSOStockId
+ {
+ ///
+ ///
+ ///
+ public string FNUMBER { get; set; }
+ }
+
+ public class FSOStockLocalId
+ {
+ }
+
+ public class FStockUnitID
+ {
+ ///
+ ///
+ ///
+ public string FNumber { get; set; }
+ }
+
+ public class FOutLmtUnitID
+ {
+ ///
+ ///
+ ///
+ public string FNumber { get; set; }
+ }
+
+ public class FDetailLocId
+ {
+ ///
+ ///
+ ///
+ public string FNumber { get; set; }
+ }
+
+ public class FOrderEntryPlanItem
+ {
+ ///
+ ///
+ ///
+ public int FDetailID { get; set; }
+ ///
+ ///
+ ///
+ public FDetailLocId FDetailLocId { get; set; }
+ ///
+ ///
+ ///
+ public string FDetailLocAddress { get; set; }
+ ///
+ ///
+ ///
+ public string FPlanDate { get; set; }
+ ///
+ ///
+ ///
+ public int FTransportLeadTime { get; set; }
+ ///
+ ///
+ ///
+ public int FPlanQty { get; set; }
+ ///
+ ///
+ ///
+ public int FXPKID_D { get; set; }
+ }
+
+ public class FTaxDetailSubEntityItem
+ {
+ ///
+ ///
+ ///
+ public int FDetailID { get; set; }
+ ///
+ ///
+ ///
+ public int FTaxRate { get; set; }
+ ///
+ ///
+ ///
+ public string FSellerWithholding { get; set; }
+ ///
+ ///
+ ///
+ public string FBuyerWithholding { get; set; }
+ }
+
+ public class FSaleOrderEntryItem
+ {
+ ///
+ ///
+ ///
+ public int FEntryID { get; set; }
+ ///
+ ///
+ ///
+ public string FReturnType { get; set; }
+ ///
+ ///
+ ///
+ public string FRowType { get; set; }
+ ///
+ ///
+ ///
+ public FMaterialGroup FMaterialGroup { get; set; }
+ ///
+ ///
+ ///
+ public FMaterialGroupByMat FMaterialGroupByMat { get; set; }
+ ///
+ ///
+ ///
+ public FMapId FMapId { get; set; }
+ ///
+ ///
+ ///
+ public FMaterialId FMaterialId { get; set; }
+ ///
+ ///
+ ///
+ public FAuxPropId FAuxPropId { get; set; }
+ ///
+ ///
+ ///
+ public FParentMatId FParentMatId { get; set; }
+ ///
+ ///
+ ///
+ public FUnitID FUnitID { get; set; }
+ ///
+ ///
+ ///
+ public int FInventoryQty { get; set; }
+ ///
+ ///
+ ///
+ public int FCurrentInventory { get; set; }
+ ///
+ ///
+ ///
+ public int FAwaitQty { get; set; }
+ ///
+ ///
+ ///
+ public int FAvailableQty { get; set; }
+ ///
+ ///
+ ///
+ public int FQty { get; set; }
+ ///
+ ///
+ ///
+ public FPriceUnitId FPriceUnitId { get; set; }
+ ///
+ ///
+ ///
+ public int FOldQty { get; set; }
+ ///
+ ///
+ ///
+ public FPurPriceUnitId FPurPriceUnitId { get; set; }
+ ///
+ ///
+ ///
+ public int FPrice { get; set; }
+ ///
+ ///
+ ///
+ public int FTaxPrice { get; set; }
+ ///
+ ///
+ ///
+ public string FIsFree { get; set; }
+ ///
+ ///
+ ///
+ public FTaxCombination FTaxCombination { get; set; }
+ ///
+ ///
+ ///
+ public int FEntryTaxRate { get; set; }
+ ///
+ ///
+ ///
+ public FLot FLot { get; set; }
+ ///
+ ///
+ ///
+ public string FProduceDate { get; set; }
+ ///
+ ///
+ ///
+ public int FExpPeriod { get; set; }
+ ///
+ ///
+ ///
+ public string FExpUnit { get; set; }
+ ///
+ ///
+ ///
+ public string FExpiryDate { get; set; }
+ ///
+ ///
+ ///
+ public int FDiscountRate { get; set; }
+ ///
+ ///
+ ///
+ public int FPriceDiscount { get; set; }
+ ///
+ ///
+ ///
+ public int FInStockPrice { get; set; }
+ ///
+ ///
+ ///
+ public string FDeliveryDate { get; set; }
+ ///
+ ///
+ ///
+ public FStockOrgId FStockOrgId { get; set; }
+ ///
+ ///
+ ///
+ public FSettleOrgIds FSettleOrgIds { get; set; }
+ ///
+ ///
+ ///
+ public FSupplyOrgId FSupplyOrgId { get; set; }
+ ///
+ ///
+ ///
+ public FBomId FBomId { get; set; }
+ ///
+ ///
+ ///
+ public string FOwnerTypeId { get; set; }
+ ///
+ ///
+ ///
+ public FOwnerId FOwnerId { get; set; }
+ ///
+ ///
+ ///
+ public FSOStockId FSOStockId { get; set; }
+ ///
+ ///
+ ///
+ public FSOStockLocalId FSOStockLocalId { get; set; }
+ ///
+ ///
+ ///
+ public string FEntryNote { get; set; }
+ ///
+ ///
+ ///
+ public string FReserveType { get; set; }
+ ///
+ ///
+ ///
+ public int FPriority { get; set; }
+ ///
+ ///
+ ///
+ public string FMtoNo { get; set; }
+ ///
+ ///
+ ///
+ public string FPromotionMatchType { get; set; }
+ ///
+ ///
+ ///
+ public int FNetOrderEntryId { get; set; }
+ ///
+ ///
+ ///
+ public int FPriceBaseQty { get; set; }
+ ///
+ ///
+ ///
+ public FStockUnitID FStockUnitID { get; set; }
+ ///
+ ///
+ ///
+ public int FStockQty { get; set; }
+ ///
+ ///
+ ///
+ public int FStockBaseQty { get; set; }
+ ///
+ ///
+ ///
+ public string FServiceContext { get; set; }
+ ///
+ ///
+ ///
+ public string FOUTLMTUNIT { get; set; }
+ ///
+ ///
+ ///
+ public FOutLmtUnitID FOutLmtUnitID { get; set; }
+ ///
+ ///
+ ///
+ public int FOldTaxPrice { get; set; }
+ ///
+ ///
+ ///
+ public int FOldAmount { get; set; }
+ ///
+ ///
+ ///
+ public int FOldAllAmount { get; set; }
+ ///
+ ///
+ ///
+ public string FISMRP { get; set; }
+ ///
+ ///
+ ///
+ public int FOldDiscountRate { get; set; }
+ ///
+ ///
+ ///
+ public int FOldDiscount { get; set; }
+ ///
+ ///
+ ///
+ public int FRPDiscountRate { get; set; }
+ ///
+ ///
+ ///
+ public string FSPMENTRYID { get; set; }
+ ///
+ ///
+ ///
+ public string FSPMANDRPMCONTENT { get; set; }
+ ///
+ ///
+ ///
+ public string FSKU { get; set; }
+ ///
+ ///
+ ///
+ public string Fcode { get; set; }
+ ///
+ ///
+ ///
+ public int FSixundiscount { get; set; }
+ ///
+ ///
+ ///
+ public string Fcolour { get; set; }
+ ///
+ ///
+ ///
+ public int FBOMEntryId { get; set; }
+ ///
+ ///
+ ///
+ public int FAllAmountExceptDisCount { get; set; }
+ ///
+ ///
+ ///
+ public int FXPKID { get; set; }
+ ///
+ ///
+ ///
+ public List FOrderEntryPlan { get; set; }
+ ///
+ ///
+ ///
+ public List FTaxDetailSubEntity { get; set; }
+ }
+
+ public class FReceiveType
+ {
+ ///
+ ///
+ ///
+ public string FNumber { get; set; }
+ }
+
+ public class FPlanMaterialId
+ {
+ ///
+ ///
+ ///
+ public string FNUMBER { get; set; }
+ }
+
+ public class FMaterialPriceUnitID
+ {
+ ///
+ ///
+ ///
+ public string FNumber { get; set; }
+ }
+
+ public class FPESettleOrgId
+ {
+ ///
+ ///
+ ///
+ public string FNumber { get; set; }
+ }
+
+ public class FSaleOrderPlanEntryItem
+ {
+ ///
+ ///
+ ///
+ public int FDETAILID { get; set; }
+ ///
+ ///
+ ///
+ public int FOverRecAmount_D { get; set; }
+ ///
+ ///
+ ///
+ public FPESettleOrgId FPESettleOrgId { get; set; }
+ ///
+ ///
+ ///
+ public int FXPKID_RE { get; set; }
+ }
+
+ public class FSaleOrderPlanItem
+ {
+ ///
+ ///
+ ///
+ public int FEntryID { get; set; }
+ ///
+ ///
+ ///
+ public string FNeedRecAdvance { get; set; }
+ ///
+ ///
+ ///
+ public FReceiveType FReceiveType { get; set; }
+ ///
+ ///
+ ///
+ public int FRecAdvanceRate { get; set; }
+ ///
+ ///
+ ///
+ public int FRecAdvanceAmount { get; set; }
+ ///
+ ///
+ ///
+ public string FMustDate { get; set; }
+ ///
+ ///
+ ///
+ public string FRelBillNo { get; set; }
+ ///
+ ///
+ ///
+ public int FRecAmount { get; set; }
+ ///
+ ///
+ ///
+ public string FControlSend { get; set; }
+ ///
+ ///
+ ///
+ public string FIsOutStockByRecamount { get; set; }
+ ///
+ ///
+ ///
+ public int FOverRecAmount { get; set; }
+ ///
+ ///
+ ///
+ public string FReMark { get; set; }
+ ///
+ ///
+ ///
+ public FPlanMaterialId FPlanMaterialId { get; set; }
+ ///
+ ///
+ ///
+ public int FMaterialSeq { get; set; }
+ ///
+ ///
+ ///
+ public string FMaterialRowID { get; set; }
+ ///
+ ///
+ ///
+ public int FOrderEntryId { get; set; }
+ ///
+ ///
+ ///
+ public int FMaterialTaxPrice { get; set; }
+ ///
+ ///
+ ///
+ public int FMaterialPriceUnitQty { get; set; }
+ ///
+ ///
+ ///
+ public FMaterialPriceUnitID FMaterialPriceUnitID { get; set; }
+ ///
+ ///
+ ///
+ public int FXPKID_R { get; set; }
+ ///
+ ///
+ ///
+ public List FSaleOrderPlanEntry { get; set; }
+ }
+
+ public class FLogComId
+ {
+ ///
+ ///
+ ///
+ public string FCODE { get; set; }
+ }
+
+ public class FSalOrderTraceDetailItem
+ {
+ ///
+ ///
+ ///
+ public int FDetailID { get; set; }
+ ///
+ ///
+ ///
+ public string FTraceTime { get; set; }
+ ///
+ ///
+ ///
+ public string FTraceDetail { get; set; }
+ }
+
+ public class FSalOrderTraceItem
+ {
+ ///
+ ///
+ ///
+ public int FEntryID { get; set; }
+ ///
+ ///
+ ///
+ public FLogComId FLogComId { get; set; }
+ ///
+ ///
+ ///
+ public string FCarryBillNo { get; set; }
+ ///
+ ///
+ ///
+ public string FPhoneNumber { get; set; }
+ ///
+ ///
+ ///
+ public string FFrom { get; set; }
+ ///
+ ///
+ ///
+ public string FTo { get; set; }
+ ///
+ ///
+ ///
+ public string FDelTime { get; set; }
+ ///
+ ///
+ ///
+ public string FTraceStatus { get; set; }
+ ///
+ ///
+ ///
+ public string FReceiptTime { get; set; }
+ ///
+ ///
+ ///
+ public List FSalOrderTraceDetail { get; set; }
+ }
+
+ public class Model
+ {
+ ///
+ ///
+ ///
+ public int FID { get; set; }
+ ///
+ ///
+ ///
+ public FBillTypeID FBillTypeID { get; set; }
+ ///
+ ///
+ ///
+ public string FBillNo { get; set; }
+ ///
+ ///
+ ///
+ public string FDate { get; set; }
+ ///
+ ///
+ ///
+ public FSaleOrgId FSaleOrgId { get; set; }
+ ///
+ ///
+ ///
+ public FCustId FCustId { get; set; }
+ ///
+ ///
+ ///
+ public FHeadDeliveryWay FHeadDeliveryWay { get; set; }
+ ///
+ ///
+ ///
+ public FReceiveId FReceiveId { get; set; }
+ ///
+ ///
+ ///
+ public FHEADLOCID FHEADLOCID { get; set; }
+ ///
+ ///
+ ///
+ public FCorrespondOrgId FCorrespondOrgId { get; set; }
+ ///
+ ///
+ ///
+ public FSaleDeptId FSaleDeptId { get; set; }
+ ///
+ ///
+ ///
+ public FSaleGroupId FSaleGroupId { get; set; }
+ ///
+ ///
+ ///
+ public FSalerId FSalerId { get; set; }
+ ///
+ ///
+ ///
+ public string FReceiveAddress { get; set; }
+ ///
+ ///
+ ///
+ public FSettleId FSettleId { get; set; }
+ ///
+ ///
+ ///
+ public FReceiveContact FReceiveContact { get; set; }
+ ///
+ ///
+ ///
+ public FChargeId FChargeId { get; set; }
+ ///
+ ///
+ ///
+ public string FNetOrderBillNo { get; set; }
+ ///
+ ///
+ ///
+ public int FNetOrderBillId { get; set; }
+ ///
+ ///
+ ///
+ public int FOppID { get; set; }
+ ///
+ ///
+ ///
+ public FSalePhaseID FSalePhaseID { get; set; }
+ ///
+ ///
+ ///
+ public string FISINIT { get; set; }
+ ///
+ ///
+ ///
+ public string FNote { get; set; }
+ ///
+ ///
+ ///
+ public string FIsMobile { get; set; }
+ ///
+ ///
+ ///
+ public string FSOFrom { get; set; }
+ ///
+ ///
+ ///
+ public string FContractType { get; set; }
+ ///
+ ///
+ ///
+ public int FContractId { get; set; }
+ ///
+ ///
+ ///
+ public string FIsUseOEMBomPush { get; set; }
+ ///
+ ///
+ ///
+ public FWarehouse FWarehouse { get; set; }
+ ///
+ ///
+ ///
+ public Foutlets Foutlets { get; set; }
+ ///
+ ///
+ ///
+ public string FOrdertype { get; set; }
+ ///
+ ///
+ ///
+ public int FXPKID_H { get; set; }
+ ///
+ ///
+ ///
+ public string FPushType { get; set; }
+ ///
+ ///
+ ///
+ public string FCloseReason { get; set; }
+ ///
+ ///
+ ///
+ public string FIsUseDrpSalePOPush { get; set; }
+ ///
+ ///
+ ///
+ public string FAutoShip { get; set; }
+ ///
+ ///
+ ///
+ public string FIsOutStock { get; set; }
+ ///
+ ///
+ ///
+ public FSaleOrderFinance FSaleOrderFinance { get; set; }
+ ///
+ ///
+ ///
+ public List FSaleOrderClause { get; set; }
+ ///
+ ///
+ ///
+ public List FSaleOrderEntry { get; set; }
+ ///
+ ///
+ ///
+ public List FSaleOrderPlan { get; set; }
+ ///
+ ///
+ ///
+ public List FSalOrderTrace { get; set; }
+ }
+
+
+}
diff --git a/Reportapi/MyCode.Project.Domain/Message/Response/JackYun/PushOrderListResp.cs b/Reportapi/MyCode.Project.Domain/Message/Response/JackYun/PushOrderListResp.cs
new file mode 100644
index 0000000..7c5dcc4
--- /dev/null
+++ b/Reportapi/MyCode.Project.Domain/Message/Response/JackYun/PushOrderListResp.cs
@@ -0,0 +1,133 @@
+using SqlSugar;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace MyCode.Project.Domain.Message.Response.JackYun
+{
+ public class PushOrderListResp
+ {
+
+ ///
+ /// Desc:店铺编码
+ /// Default:
+ /// Nullable:True
+ ///
+ [SugarColumn(ColumnName = "shopCode")]
+ public string ShopCode { get; set; }
+
+ ///
+ /// Desc:
+ /// Default:
+ /// Nullable:True
+ ///
+ [SugarColumn(ColumnName = "shopName")]
+ public string ShopName { get; set; }
+
+ ///
+ /// Desc:
+ /// Default:
+ /// Nullable:True
+ ///
+ [SugarColumn(ColumnName = "warehouseName")]
+ public string WarehouseName { get; set; }
+
+ ///
+ /// Desc:
+ /// Default:
+ /// Nullable:True
+ ///
+ [SugarColumn(ColumnName = "warehouseCode")]
+ public string WarehouseCode { get; set; }
+
+ ///
+ /// Desc:
+ /// Default:
+ /// Nullable:True
+ ///
+ [SugarColumn(ColumnName = "warehouseId")]
+ public string WarehouseId { get; set; }
+
+ ///
+ /// Desc:店铺id
+ /// Default:
+ /// Nullable:True
+ ///
+ [SugarColumn(ColumnName = "shopId")]
+ public long? ShopId { get; set; }
+
+ ///
+ /// Desc:0=未处理 1=已合并 2=已推送
+ /// Default:0
+ /// Nullable:True
+ ///
+ [SugarColumn(ColumnName = "status")]
+ public int? Status { get; set; }
+
+ ///
+ /// Desc:发货时间
+ /// Default:
+ /// Nullable:True
+ ///
+ [SugarColumn(ColumnName = "consignTime")]
+ public string ConsignTime { get; set; }
+
+ ///
+ /// Desc:
+ /// Default:
+ /// Nullable:True
+ ///
+ [SugarColumn(ColumnName = "goodsId")]
+ public string GoodsId { get; set; }
+
+ ///
+ /// Desc:销售总金额(数量×单价)
+ /// Default:
+ /// Nullable:False
+ ///
+ [SugarColumn(ColumnName = "sellTotal")]
+ public decimal SellTotal { get; set; }
+
+
+ ///
+ /// Desc:数量
+ /// Default:
+ /// Nullable:False
+ ///
+ [SugarColumn(ColumnName = "sellCount")]
+ public int SellCount { get; set; }
+
+ ///
+ /// Desc:实付金额
+ /// Default:
+ /// Nullable:False
+ ///
+ [SugarColumn(ColumnName = "divideSellTotal")]
+ public decimal DivideSellTotal { get; set; }
+
+ ///
+ /// Desc:条码,用这个匹配金蝶物料编码
+ /// Default:
+ /// Nullable:True
+ ///
+ [SugarColumn(ColumnName = "barcode")]
+ public string Barcode { get; set; }
+
+ ///
+ /// Desc:订单类型 销售单类型(1:零售业务;2:代发货(来自分销商);3:预售订单;4:周期性订购;5:代销售(供货商发货);6:现款现货;7:售后发货;8:售后退货;9:批发业务(B2B);10:试销业务;11:错漏调整;12:仅退款;13:销售返利;14:大B2B业务;15物流买赔;16销售对账差异 91:自定义1;92:自定义2;93:自定义3...100:自定义10)
+ /// Default:
+ /// Nullable:True
+ ///
+ public int? TradeType { get; set; }
+
+ ///
+ /// Desc:
+ /// Default:
+ /// Nullable:True
+ ///
+ [SugarColumn(ColumnName = "goodsNo")]
+ public string GoodsNo { get; set; }
+ }
+}
diff --git a/Reportapi/MyCode.Project.Domain/Message/Response/KingDee/ErrorResponse.cs b/Reportapi/MyCode.Project.Domain/Message/Response/KingDee/ErrorResponse.cs
new file mode 100644
index 0000000..578aa7f
--- /dev/null
+++ b/Reportapi/MyCode.Project.Domain/Message/Response/KingDee/ErrorResponse.cs
@@ -0,0 +1,98 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace MyCode.Project.Domain.Message.Response.KingDee
+{
+ public class ErrorResponse
+ {
+ ///
+ ///
+ ///
+ public Result Result { get; set; }
+ }
+
+
+ public class ErrorsItem
+ {
+ ///
+ ///
+ ///
+ public string FieldName { get; set; }
+ ///
+ /// 报错内容
+ ///
+ public string Message { get; set; }
+ ///
+ ///
+ ///
+ public int DIndex { get; set; }
+ }
+
+ public class ResponseStatus
+ {
+ ///
+ ///
+ ///
+ public int ErrorCode { get; set; }
+ ///
+ ///
+ ///
+ public string IsSuccess { get; set; }
+ ///
+ ///
+ ///
+ public List Errors { get; set; }
+ ///
+ ///
+ ///
+ public List SuccessEntitys { get; set; }
+ ///
+ ///
+ ///
+ public List SuccessMessages { get; set; }
+ ///
+ ///
+ ///
+ public int MsgCode { get; set; }
+ }
+
+ public class ConvertResponseStatus
+ {
+ ///
+ ///
+ ///
+ public string IsSuccess { get; set; }
+ ///
+ ///
+ ///
+ public List Errors { get; set; }
+ ///
+ ///
+ ///
+ public List SuccessEntitys { get; set; }
+ ///
+ ///
+ ///
+ public List SuccessMessages { get; set; }
+ ///
+ ///
+ ///
+ public int MsgCode { get; set; }
+ }
+
+ public class Result
+ {
+ ///
+ ///
+ ///
+ public ResponseStatus ResponseStatus { get; set; }
+ ///
+ ///
+ ///
+ public ConvertResponseStatus ConvertResponseStatus { get; set; }
+ }
+
+}
diff --git a/Reportapi/MyCode.Project.Domain/Model/PushKingDeeOrder.cs b/Reportapi/MyCode.Project.Domain/Model/PushKingDeeOrder.cs
new file mode 100644
index 0000000..54b4d41
--- /dev/null
+++ b/Reportapi/MyCode.Project.Domain/Model/PushKingDeeOrder.cs
@@ -0,0 +1,114 @@
+using System;
+using System.Linq;
+using System.Text;
+using SqlSugar;
+
+namespace MyCode.Project.Domain.Model
+{
+ ///
+ ///
+ ///
+ [SugarTable("PushKingDeeOrder")]
+ public partial class PushKingDeeOrder
+ {
+ public PushKingDeeOrder(){
+
+
+ }
+ ///
+ /// Desc:
+ /// Default:
+ /// Nullable:False
+ ///
+ [SugarColumn(IsPrimaryKey=true,ColumnName="id")]
+ public Guid Id {get;set;}
+
+ ///
+ /// Desc:店铺编码
+ /// Default:
+ /// Nullable:True
+ ///
+ [SugarColumn(ColumnName="shopCode")]
+ public string ShopCode {get;set;}
+
+ ///
+ /// Desc:
+ /// Default:
+ /// Nullable:True
+ ///
+ [SugarColumn(ColumnName="shopName")]
+ public string ShopName {get;set;}
+
+ ///
+ /// Desc:店铺id
+ /// Default:
+ /// Nullable:True
+ ///
+ [SugarColumn(ColumnName="shopId")]
+ public long? ShopId {get;set;}
+
+ ///
+ /// Desc:
+ /// Default:
+ /// Nullable:True
+ ///
+ [SugarColumn(ColumnName="warehouseName")]
+ public string WarehouseName {get;set;}
+
+ ///
+ /// Desc:
+ /// Default:
+ /// Nullable:True
+ ///
+ [SugarColumn(ColumnName="warehouseCode")]
+ public string WarehouseCode {get;set;}
+
+ ///
+ /// Desc:
+ /// Default:DateTime.Now
+ /// Nullable:True
+ ///
+ [SugarColumn(ColumnName="createTime")]
+ public DateTime? CreateTime {get;set;}
+
+ ///
+ /// Desc:
+ /// Default:DateTime.Now
+ /// Nullable:True
+ ///
+ [SugarColumn(ColumnName="updateTime")]
+ public DateTime? UpdateTime {get;set;}
+
+ ///
+ /// Desc:0=未处理 1=已合并 2=已推送
+ /// Default:0
+ /// Nullable:True
+ ///
+ [SugarColumn(ColumnName="status")]
+ public int? Status {get;set;}
+
+ ///
+ /// Desc:发货时间
+ /// Default:
+ /// Nullable:True
+ ///
+ [SugarColumn(ColumnName="consignTime")]
+ public DateTime? ConsignTime {get;set;}
+
+ ///
+ /// Desc:
+ /// Default:
+ /// Nullable:True
+ ///
+ [SugarColumn(ColumnName="warehouseId")]
+ public string WarehouseId {get;set;}
+
+ ///
+ /// Desc:订单类型 销售单类型(1:零售业务;2:代发货(来自分销商);3:预售订单;4:周期性订购;5:代销售(供货商发货);6:现款现货;7:售后发货;8:售后退货;9:批发业务(B2B);10:试销业务;11:错漏调整;12:仅退款;13:销售返利;14:大B2B业务;15物流买赔;16销售对账差异 91:自定义1;92:自定义2;93:自定义3...100:自定义10)
+ /// Default:
+ /// Nullable:True
+ ///
+ public int? TradeType {get;set;}
+
+ }
+}
diff --git a/Reportapi/MyCode.Project.Domain/Model/PushKingDeeOrderItem.cs b/Reportapi/MyCode.Project.Domain/Model/PushKingDeeOrderItem.cs
new file mode 100644
index 0000000..201dd9d
--- /dev/null
+++ b/Reportapi/MyCode.Project.Domain/Model/PushKingDeeOrderItem.cs
@@ -0,0 +1,82 @@
+using System;
+using System.Linq;
+using System.Text;
+using SqlSugar;
+
+namespace MyCode.Project.Domain.Model
+{
+ ///
+ ///
+ ///
+ [SugarTable("PushKingDeeOrderItem")]
+ public partial class PushKingDeeOrderItem
+ {
+ public PushKingDeeOrderItem(){
+
+
+ }
+ ///
+ /// Desc:
+ /// Default:newid()
+ /// Nullable:False
+ ///
+ [SugarColumn(IsPrimaryKey=true)]
+ public Guid Id {get;set;}
+
+ ///
+ /// Desc:
+ /// Default:
+ /// Nullable:True
+ ///
+ [SugarColumn(ColumnName="goodsNo")]
+ public string GoodsNo {get;set;}
+
+ ///
+ /// Desc:
+ /// Default:
+ /// Nullable:True
+ ///
+ [SugarColumn(ColumnName="goodsId")]
+ public string GoodsId {get;set;}
+
+ ///
+ /// Desc:销售总金额(数量×单价)
+ /// Default:
+ /// Nullable:False
+ ///
+ [SugarColumn(ColumnName="sellTotal")]
+ public decimal SellTotal {get;set;}
+
+ ///
+ /// Desc:数量
+ /// Default:
+ /// Nullable:False
+ ///
+ [SugarColumn(ColumnName="sellCount")]
+ public int SellCount {get;set;}
+
+ ///
+ /// Desc:实付金额
+ /// Default:
+ /// Nullable:False
+ ///
+ [SugarColumn(ColumnName="divideSellTotal")]
+ public decimal DivideSellTotal {get;set;}
+
+ ///
+ /// Desc:条码,用这个匹配金蝶物料编码
+ /// Default:
+ /// Nullable:True
+ ///
+ [SugarColumn(ColumnName="barcode")]
+ public string Barcode {get;set;}
+
+ ///
+ /// Desc:
+ /// Default:
+ /// Nullable:True
+ ///
+ public Guid? PushKingDeeOrderId {get;set;}
+
+ }
+}
diff --git a/Reportapi/MyCode.Project.Domain/Model/WMStoJackyunInventoryMovementView1.cs b/Reportapi/MyCode.Project.Domain/Model/WMStoJackyunInventoryMovementView1.cs
new file mode 100644
index 0000000..4be7d4e
--- /dev/null
+++ b/Reportapi/MyCode.Project.Domain/Model/WMStoJackyunInventoryMovementView1.cs
@@ -0,0 +1,147 @@
+using System;
+using System.Linq;
+using System.Text;
+using SqlSugar;
+
+namespace MyCode.Project.Domain.Model
+{
+ ///
+ ///
+ ///
+ [SugarTable("WMStoJackyun_InventoryMovement_View1")]
+ public partial class WMStoJackyunInventoryMovementView1
+ {
+ public WMStoJackyunInventoryMovementView1(){
+
+
+ }
+ ///
+ /// Desc:
+ /// Default:
+ /// Nullable:False
+ ///
+ [SugarColumn(IsPrimaryKey=true,IsIdentity=true)]
+ public int Id {get;set;}
+
+ ///
+ /// Desc:
+ /// Default:
+ /// Nullable:True
+ ///
+ public string 单据号 {get;set;}
+
+ ///
+ /// Desc:
+ /// Default:
+ /// Nullable:True
+ ///
+ public string WMS单号 {get;set;}
+
+ ///
+ /// Desc:
+ /// Default:
+ /// Nullable:True
+ ///
+ public long? 单据行号 {get;set;}
+
+ ///
+ /// Desc:
+ /// Default:
+ /// Nullable:True
+ ///
+ public string 单据类型 {get;set;}
+
+ ///
+ /// Desc:
+ /// Default:
+ /// Nullable:True
+ ///
+ public string 单据类型名称 {get;set;}
+
+ ///
+ /// Desc:
+ /// Default:
+ /// Nullable:True
+ ///
+ public string 变动方向 {get;set;}
+
+ ///
+ /// Desc:
+ /// Default:
+ /// Nullable:True
+ ///
+ public string ITEMID {get;set;}
+
+ ///
+ /// Desc:
+ /// Default:
+ /// Nullable:True
+ ///
+ public string SKU {get;set;}
+
+ ///
+ /// Desc:
+ /// Default:
+ /// Nullable:True
+ ///
+ public string BARCODE {get;set;}
+
+ ///
+ /// Desc:
+ /// Default:
+ /// Nullable:True
+ ///
+ public string 尺码 {get;set;}
+
+ ///
+ /// Desc:
+ /// Default:
+ /// Nullable:True
+ ///
+ public string 单位 {get;set;}
+
+ ///
+ /// Desc:
+ /// Default:
+ /// Nullable:True
+ ///
+ public string 商品名称 {get;set;}
+
+ ///
+ /// Desc:
+ /// Default:
+ /// Nullable:True
+ ///
+ public int? 数量 {get;set;}
+
+ ///
+ /// Desc:
+ /// Default:
+ /// Nullable:True
+ ///
+ public string 仓库 {get;set;}
+
+ ///
+ /// Desc:
+ /// Default:
+ /// Nullable:True
+ ///
+ public DateTime? 过账日期 {get;set;}
+
+ ///
+ /// Desc:
+ /// Default:
+ /// Nullable:True
+ ///
+ public string 备注 {get;set;}
+
+ ///
+ /// Desc:0=未处理 1=已合并 2=已推送
+ /// Default:0
+ /// Nullable:True
+ ///
+ [SugarColumn(ColumnName="status")]
+ public int? Status {get;set;}
+
+ }
+}
diff --git a/Reportapi/MyCode.Project.Domain/Model/WMStoJackyunInventoryMovementView3.cs b/Reportapi/MyCode.Project.Domain/Model/WMStoJackyunInventoryMovementView3.cs
new file mode 100644
index 0000000..1da89b7
--- /dev/null
+++ b/Reportapi/MyCode.Project.Domain/Model/WMStoJackyunInventoryMovementView3.cs
@@ -0,0 +1,154 @@
+using System;
+using System.Linq;
+using System.Text;
+using SqlSugar;
+
+namespace MyCode.Project.Domain.Model
+{
+ ///
+ ///
+ ///
+ [SugarTable("WMStoJackyun_InventoryMovement_View3")]
+ public partial class WMStoJackyunInventoryMovementView3
+ {
+ public WMStoJackyunInventoryMovementView3(){
+
+
+ }
+ ///
+ /// Desc:
+ /// Default:
+ /// Nullable:False
+ ///
+ [SugarColumn(IsPrimaryKey=true,IsIdentity=true)]
+ public int Id {get;set;}
+
+ ///
+ /// Desc:
+ /// Default:
+ /// Nullable:True
+ ///
+ public string 单据号 {get;set;}
+
+ ///
+ /// Desc:
+ /// Default:
+ /// Nullable:True
+ ///
+ public string WMS单号 {get;set;}
+
+ ///
+ /// Desc:
+ /// Default:
+ /// Nullable:True
+ ///
+ public int? 单据行号 {get;set;}
+
+ ///
+ /// Desc:
+ /// Default:
+ /// Nullable:True
+ ///
+ public string 单据类型 {get;set;}
+
+ ///
+ /// Desc:
+ /// Default:
+ /// Nullable:True
+ ///
+ public string 单据类型名称 {get;set;}
+
+ ///
+ /// Desc:
+ /// Default:
+ /// Nullable:True
+ ///
+ public string 变动方向 {get;set;}
+
+ ///
+ /// Desc:
+ /// Default:
+ /// Nullable:True
+ ///
+ public string ITEMID {get;set;}
+
+ ///
+ /// Desc:
+ /// Default:
+ /// Nullable:True
+ ///
+ public string SKU {get;set;}
+
+ ///
+ /// Desc:
+ /// Default:
+ /// Nullable:True
+ ///
+ public string BARCODE {get;set;}
+
+ ///
+ /// Desc:
+ /// Default:
+ /// Nullable:True
+ ///
+ public string 尺码 {get;set;}
+
+ ///
+ /// Desc:
+ /// Default:
+ /// Nullable:True
+ ///
+ public string 单位 {get;set;}
+
+ ///
+ /// Desc:
+ /// Default:
+ /// Nullable:True
+ ///
+ public string 商品名称 {get;set;}
+
+ ///
+ /// Desc:
+ /// Default:
+ /// Nullable:True
+ ///
+ public string 数量 {get;set;}
+
+ ///
+ /// Desc:
+ /// Default:
+ /// Nullable:True
+ ///
+ public double? 数量2 {get;set;}
+
+ ///
+ /// Desc:
+ /// Default:
+ /// Nullable:True
+ ///
+ public string 仓库 {get;set;}
+
+ ///
+ /// Desc:
+ /// Default:
+ /// Nullable:True
+ ///
+ public string 过账日期 {get;set;}
+
+ ///
+ /// Desc:
+ /// Default:
+ /// Nullable:True
+ ///
+ public string 备注 {get;set;}
+
+ ///
+ /// Desc:0=未处理 1=已合并 2=已推送
+ /// Default:0
+ /// Nullable:True
+ ///
+ [SugarColumn(ColumnName="status")]
+ public int? Status {get;set;}
+
+ }
+}
diff --git a/Reportapi/MyCode.Project.Domain/Model/YTKJTShopParameter.cs b/Reportapi/MyCode.Project.Domain/Model/YTKJTShopParameter.cs
index 08d6cc0..8345633 100644
--- a/Reportapi/MyCode.Project.Domain/Model/YTKJTShopParameter.cs
+++ b/Reportapi/MyCode.Project.Domain/Model/YTKJTShopParameter.cs
@@ -31,14 +31,14 @@ namespace MyCode.Project.Domain.Model
public string FBILLNO {get;set;}
///
- /// Desc:
+ /// Desc:审核状态 C=已审核
/// Default:
/// Nullable:False
///
public string FDOCUMENTSTATUS {get;set;}
///
- /// Desc:
+ /// Desc:门店编码
/// Default:
/// Nullable:False
///
@@ -46,7 +46,7 @@ namespace MyCode.Project.Domain.Model
public string FSHOPCODE {get;set;}
///
- /// Desc:
+ /// Desc:门店名称
/// Default:
/// Nullable:False
///
@@ -56,55 +56,55 @@ namespace MyCode.Project.Domain.Model
///
/// Desc:
/// Default:
- /// Nullable:False
+ /// Nullable:True
///
[SugarColumn(ColumnName="F_YTKJ_TEXT2")]
public string FYTKJTEXT2 {get;set;}
///
- /// Desc:
+ /// Desc:是否同步金蝶
/// Default:1
- /// Nullable:False
+ /// Nullable:True
///
[SugarColumn(ColumnName="F_SYNCHRONIZEKINGDEE")]
public string FSYNCHRONIZEKINGDEE {get;set;}
///
- /// Desc:
+ /// Desc:是否同步WM
/// Default:1
- /// Nullable:False
+ /// Nullable:True
///
[SugarColumn(ColumnName="F_SYNCHRONIZEWMS")]
public string FSYNCHRONIZEWMS {get;set;}
///
- /// Desc:
+ /// Desc:销售客户
/// Default:0
- /// Nullable:False
+ /// Nullable:True
///
[SugarColumn(ColumnName="F_SALESCUSTOMERS")]
- public int FSALESCUSTOMERS {get;set;}
+ public int? FSALESCUSTOMERS {get;set;}
///
- /// Desc:
+ /// Desc:发货仓库
/// Default:0
- /// Nullable:False
+ /// Nullable:True
///
[SugarColumn(ColumnName="F_WAREHOUSE")]
- public int FWAREHOUSE {get;set;}
+ public int? FWAREHOUSE {get;set;}
///
- /// Desc:
+ /// Desc:仓库货主
/// Default:
- /// Nullable:False
+ /// Nullable:True
///
[SugarColumn(ColumnName="F_CANGKUHUOZHU")]
public string FCANGKUHUOZHU {get;set;}
///
- /// Desc:
+ /// Desc:公司ID
/// Default:
- /// Nullable:False
+ /// Nullable:True
///
[SugarColumn(ColumnName="F_COMPANYID")]
public string FCOMPANYID {get;set;}
@@ -112,18 +112,66 @@ namespace MyCode.Project.Domain.Model
///
/// Desc:
/// Default:
- /// Nullable:False
+ /// Nullable:True
///
[SugarColumn(ColumnName="F_DACANG")]
public string FDACANG {get;set;}
///
- /// Desc:
+ /// Desc:税率
+ /// Default:0
+ /// Nullable:True
+ ///
+ [SugarColumn(ColumnName="F_TAXRATE")]
+ public decimal? FTAXRATE {get;set;}
+
+ ///
+ /// Desc:创建日期
+ /// Default:
+ /// Nullable:True
+ ///
+ [SugarColumn(ColumnName="F_YTKJ_CREATEDATE")]
+ public DateTime? FYTKJCREATEDATE {get;set;}
+
+ ///
+ /// Desc:修改日期
+ /// Default:
+ /// Nullable:True
+ ///
+ [SugarColumn(ColumnName="F_YTKJ_MODIFYDATE")]
+ public DateTime? FYTKJMODIFYDATE {get;set;}
+
+ ///
+ /// Desc:审核日期
+ /// Default:
+ /// Nullable:True
+ ///
+ [SugarColumn(ColumnName="F_AUDITDATE")]
+ public DateTime? FAUDITDATE {get;set;}
+
+ ///
+ /// Desc:创建人
/// Default:0
/// Nullable:False
///
- [SugarColumn(ColumnName="F_TAXRATE")]
- public decimal FTAXRATE {get;set;}
+ [SugarColumn(ColumnName="F_YTKJ_CREATORID")]
+ public int FYTKJCREATORID {get;set;}
+
+ ///
+ /// Desc:修改人
+ /// Default:0
+ /// Nullable:False
+ ///
+ [SugarColumn(ColumnName="F_YTKJ_MODIFIERID")]
+ public int FYTKJMODIFIERID {get;set;}
+
+ ///
+ /// Desc:审核人
+ /// Default:0
+ /// Nullable:False
+ ///
+ [SugarColumn(ColumnName="F_AUDITOR")]
+ public int FAUDITOR {get;set;}
}
}
diff --git a/Reportapi/MyCode.Project.Domain/MyCode.Project.Domain.csproj b/Reportapi/MyCode.Project.Domain/MyCode.Project.Domain.csproj
index f440296..2bcf467 100644
--- a/Reportapi/MyCode.Project.Domain/MyCode.Project.Domain.csproj
+++ b/Reportapi/MyCode.Project.Domain/MyCode.Project.Domain.csproj
@@ -63,28 +63,36 @@
+
+
+
+
+
-
+
+
+
+
diff --git a/Reportapi/MyCode.Project.Domain/Repositories/IJackOrdersItemRepository.cs b/Reportapi/MyCode.Project.Domain/Repositories/IJackOrdersItemRepository.cs
index 98d728c..3160d0d 100644
--- a/Reportapi/MyCode.Project.Domain/Repositories/IJackOrdersItemRepository.cs
+++ b/Reportapi/MyCode.Project.Domain/Repositories/IJackOrdersItemRepository.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 IJackOrdersItemRepository : IRepository
{
-
- }
+ ///
+ /// 获取合并后的吉客云订单
+ ///
+ ///
+ List GetPushOrder();
+
+ }
}
diff --git a/Reportapi/MyCode.Project.Domain/Repositories/IPushKingDeeOrderItemRepository.cs b/Reportapi/MyCode.Project.Domain/Repositories/IPushKingDeeOrderItemRepository.cs
new file mode 100644
index 0000000..fe2e81a
--- /dev/null
+++ b/Reportapi/MyCode.Project.Domain/Repositories/IPushKingDeeOrderItemRepository.cs
@@ -0,0 +1,18 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using MyCode.Project.Infrastructure;
+using MyCode.Project.Domain;
+using MyCode.Project.Domain.Model;
+using MyCode.Project.Infrastructure.Common;
+using MyCode.Project.Domain.Message;
+
+namespace MyCode.Project.Domain.Repositories
+{
+ public interface IPushKingDeeOrderItemRepository : IRepository
+ {
+
+ }
+}
diff --git a/Reportapi/MyCode.Project.Domain/Repositories/IPushKingDeeOrderRepository.cs b/Reportapi/MyCode.Project.Domain/Repositories/IPushKingDeeOrderRepository.cs
new file mode 100644
index 0000000..b1933ee
--- /dev/null
+++ b/Reportapi/MyCode.Project.Domain/Repositories/IPushKingDeeOrderRepository.cs
@@ -0,0 +1,18 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using MyCode.Project.Infrastructure;
+using MyCode.Project.Domain;
+using MyCode.Project.Domain.Model;
+using MyCode.Project.Infrastructure.Common;
+using MyCode.Project.Domain.Message;
+
+namespace MyCode.Project.Domain.Repositories
+{
+ public interface IPushKingDeeOrderRepository : IRepository
+ {
+
+ }
+}
diff --git a/Reportapi/MyCode.Project.Domain/Repositories/IWMStoJackyunInventoryMovementView1Repository.cs b/Reportapi/MyCode.Project.Domain/Repositories/IWMStoJackyunInventoryMovementView1Repository.cs
new file mode 100644
index 0000000..e0eb0bd
--- /dev/null
+++ b/Reportapi/MyCode.Project.Domain/Repositories/IWMStoJackyunInventoryMovementView1Repository.cs
@@ -0,0 +1,18 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using MyCode.Project.Infrastructure;
+using MyCode.Project.Domain;
+using MyCode.Project.Domain.Model;
+using MyCode.Project.Infrastructure.Common;
+using MyCode.Project.Domain.Message;
+
+namespace MyCode.Project.Domain.Repositories
+{
+ public interface IWMStoJackyunInventoryMovementView1Repository : IRepository
+ {
+
+ }
+}
diff --git a/Reportapi/MyCode.Project.Domain/Repositories/IWMStoJackyunInventoryMovementView3Repository.cs b/Reportapi/MyCode.Project.Domain/Repositories/IWMStoJackyunInventoryMovementView3Repository.cs
new file mode 100644
index 0000000..6a2a32b
--- /dev/null
+++ b/Reportapi/MyCode.Project.Domain/Repositories/IWMStoJackyunInventoryMovementView3Repository.cs
@@ -0,0 +1,18 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using MyCode.Project.Infrastructure;
+using MyCode.Project.Domain;
+using MyCode.Project.Domain.Model;
+using MyCode.Project.Infrastructure.Common;
+using MyCode.Project.Domain.Message;
+
+namespace MyCode.Project.Domain.Repositories
+{
+ public interface IWMStoJackyunInventoryMovementView3Repository : IRepository
+ {
+
+ }
+}
diff --git a/Reportapi/MyCode.Project.OutSideService/Implementation/KingDeeService.cs b/Reportapi/MyCode.Project.OutSideService/Implementation/KingDeeService.cs
new file mode 100644
index 0000000..5c29c57
--- /dev/null
+++ b/Reportapi/MyCode.Project.OutSideService/Implementation/KingDeeService.cs
@@ -0,0 +1,166 @@
+using Kingdee.CDP.WebApi.SDK;
+using MyCode.Project.Domain.Message.Request.KingDee;
+using MyCode.Project.Domain.Message.Response.KingDee;
+using MyCode.Project.Infrastructure.Common;
+using System;
+using System.Collections.Generic;
+using System.Configuration;
+using System.Linq;
+
+namespace MyCode.Project.OutSideService.Implementation
+{
+ public class KingDeeService //: IKingDeeService
+ {
+ public KingDeeService()
+ {
+ }
+ public static K3CloudApi staClient = null;
+ public static DateTime timeOut = DateTime.Now;
+
+
+ #region
+ ///
+ /// 获取一个K3客户端
+ ///
+ ///
+ public K3CloudApi GetK3CloudClient(string yuYan = "")
+ {
+
+ /***
+ * "Kingdee": {
+ "Default": {
+ //第三方系统登录授权的账套ID
+ "AcctID": "65edc24ab975db",
+ //第三方系统登录授权的应用ID
+ "AppID": "302967_20fp7YsL2kpWR9VG5Y3LSbUHzv3/SDmv",
+ //第三方系统登录授权的应用密钥
+ "AppSec": "5e38f16711514126ae1511ca4ead3232",
+ //第三方系统登录授权的用户
+ "UserName": "ERP1",
+ //账套语系,默认2052
+ "LCID": 2052,
+ //服务Url地址 (只有私有云用户需要配置Serverurl,公有云用户走网关不需要配置)
+ "ServerUrl": "http://8.138.110.197/K3Cloud",
+ // 时间
+ "Timestamp": 30
+ }
+}
+ 语言ID,中文2052(默认),英文1033,繁体3076;
+ *
+ *
+ * */
+
+ if (staClient == null || DateTime.Now > timeOut || 1 == 1)
+ {
+
+ string AppID = ConfigurationManager.AppSettings.Get("X-KDApi-AppID");
+ string UserName = ConfigurationManager.AppSettings.Get("X-KDApi-UserName");
+ string AcctID = ConfigurationManager.AppSettings.Get("X-KDApi-AcctID");
+ string AppSec = ConfigurationManager.AppSettings.Get("X-KDApi-AppSec");
+ string LCID = ConfigurationManager.AppSettings.Get("X-KDApi-LCID");
+ if (yuYan != "")
+ LCID = yuYan;
+ string ServerUrl = ConfigurationManager.AppSettings.Get("X-KDApi-ServerUrl");
+ //staClient = new K3CloudApi(ServerUrl);
+ timeOut = DateTime.Now.AddMinutes(5);
+ staClient = new K3CloudApi();
+ staClient.InitClient(AcctID, AppID, AppSec, UserName, int.Parse(LCID), "100", ServerUrl);
+ //staClient.InitClient("65edc24ab975db", "302967_20fp7YsL2kpWR9VG5Y3LSbUHzv3/SDmv", "5e38f16711514126ae1511ca4ead3232", "ERP1", 2052, "100", "http://8.138.110.197/k3cloud/");
+ }
+ return staClient;
+
+
+
+ }
+ #endregion
+
+
+
+
+
+
+
+
+
+ #region 保存一个订单对象
+ ///
+ /// 保存一个订单对象
+ ///
+ ///
+ ///
+ ///
+ public string Save(string formId, BillSave billSave)
+ {
+ staClient = GetK3CloudClient();
+ var datastr = JsonHelper.ToJson(billSave);
+ //LogHelper.Info(datastr);
+ var resultString = staClient.Save(formId, datastr);
+ if (resultString.Contains("ErrorCode"))
+ {
+ LogHelper.Error("金蝶云接口调用失败,请检查");
+ LogHelper.Error(resultString);
+ //throw new Exception("单据在云星空已锁定,请联系采购员");
+ string Message = "";
+ try
+ {
+ ErrorResponse errorResponse = JsonHelper.ToObject(resultString);
+ Message = string.Join(",", errorResponse.Result.ResponseStatus.Errors.Select(t => t.Message).ToList());
+ }
+ catch (Exception ex)
+ {
+ string ds = ex.Message;
+ throw new Exception("2云星空接口调用失败,请联系管理员,错误信息:" + resultString);
+
+ }
+ throw new Exception("1云星空接口调用失败,请联系管理员,错误信息:" + Message);
+ }
+ var result = JsonHelper.ToObject>>(resultString);
+ var data = result["Result"]["ResponseStatus"];
+ return resultString;
+ }
+ #endregion
+
+
+
+
+ #region Delete(删除某个订单)
+ ///
+ /// 删除某个订单
+ ///
+ ///
+ ///
+ ///
+ ///
+
+ public dynamic Delete(string formId, BillDelete billdelete)
+ {
+ staClient = GetK3CloudClient();
+ var datastr = JsonHelper.ToJson(billdelete);
+ LogHelper.Info(datastr);
+ var resultString = staClient.Delete(formId, datastr);
+ if (resultString.Contains("ErrorCode"))
+ {
+ LogHelper.Error("金蝶云接口调用失败,请检查");
+ LogHelper.Error(resultString);
+ string Message = "";
+ try
+ {
+ ErrorResponse errorResponse = JsonHelper.ToObject(resultString);
+ Message = string.Join(",", errorResponse.Result.ResponseStatus.Errors.Select(t => t.Message).ToList());
+ }
+ catch (Exception ex)
+ {
+ string ds = ex.Message;
+ throw new Exception("2云星空接口调用失败,请联系管理员,错误信息:" + resultString);
+
+ }
+ throw new Exception("1云星空接口调用失败,请联系管理员,错误信息:" + Message);
+ }
+ var result = JsonHelper.ToObject(resultString);
+ var data = result["Result"]["ResponseStatus"]["SuccessEntitys"];
+ return JsonHelper.ToJson(data);
+ }
+ #endregion
+
+ }
+}
diff --git a/Reportapi/MyCode.Project.OutSideService/MyCode.Project.OutSideService.csproj b/Reportapi/MyCode.Project.OutSideService/MyCode.Project.OutSideService.csproj
index e28eb1d..18a91c3 100644
--- a/Reportapi/MyCode.Project.OutSideService/MyCode.Project.OutSideService.csproj
+++ b/Reportapi/MyCode.Project.OutSideService/MyCode.Project.OutSideService.csproj
@@ -31,6 +31,9 @@
4
+
+ ..\kingdeeDll\Kingdee.CDP.WebApi.SDK.dll
+
False
..\Lib\Microsoft.Practices.Unity.dll
@@ -108,6 +111,7 @@
+
diff --git a/Reportapi/MyCode.Project.Repositories/JackOrdersItemRepository.cs b/Reportapi/MyCode.Project.Repositories/JackOrdersItemRepository.cs
index 5482ca3..6accd66 100644
--- a/Reportapi/MyCode.Project.Repositories/JackOrdersItemRepository.cs
+++ b/Reportapi/MyCode.Project.Repositories/JackOrdersItemRepository.cs
@@ -9,6 +9,7 @@ using MyCode.Project.Domain.Model;
using MyCode.Project.Domain.Repositories;
using MyCode.Project.Infrastructure.Common;
using MyCode.Project.Infrastructure.Search;
+using MyCode.Project.Domain.Message.Response.JackYun;
namespace MyCode.Project.Repositories
{
@@ -17,10 +18,30 @@ namespace MyCode.Project.Repositories
public JackOrdersItemRepository(MyCodeSqlSugarClient context) : base(context)
{ }
-
+
+ #region GetPushOrder(获取合并后的吉客云订单)
+ ///
+ /// 获取合并后的吉客云订单
+ ///
+ ///
+ public List GetPushOrder()
+ {
+ string sql = $@"
+ SELECT [shopCode], [shopName], [shopId], [warehouseName], [warehouseCode],
+ [status], CONVERT(NVARCHAR(30),[consignTime],23) [consignTime],
+ [goodsNo], [goodsId],SUM([sellTotal]) [sellTotal],
+ SUM([sellCount]) [sellCount], SUM([divideSellTotal]) AS [divideSellTotal],
+ [barcode], [TradeType] ,[warehouseId]
+FROM [JackOrders] a WITH (NOLOCK)
+ LEFT JOIN [dbo].[JackOrdersItem] b WITH (NOLOCK)
+ ON a.id = b.JackOrdersId
+WHERE a.status = 0
+GROUP BY [shopCode],[shopName], [shopId], [warehouseName], [warehouseCode], [status], CONVERT(NVARCHAR(30),[consignTime],23) ,[goodsNo], [goodsId], [barcode] ,[warehouseId], [TradeType];";
+ var list = this.SelectList(sql);
+ return list;
+ }
+ #endregion
-
-
- }
+ }
}
\ No newline at end of file
diff --git a/Reportapi/MyCode.Project.Repositories/MyCode.Project.Repositories.csproj b/Reportapi/MyCode.Project.Repositories/MyCode.Project.Repositories.csproj
index cd40e89..751c984 100644
--- a/Reportapi/MyCode.Project.Repositories/MyCode.Project.Repositories.csproj
+++ b/Reportapi/MyCode.Project.Repositories/MyCode.Project.Repositories.csproj
@@ -90,6 +90,8 @@
+
+
diff --git a/Reportapi/MyCode.Project.Repositories/PushKingDeeOrderItemRepository.cs b/Reportapi/MyCode.Project.Repositories/PushKingDeeOrderItemRepository.cs
new file mode 100644
index 0000000..e8f0416
--- /dev/null
+++ b/Reportapi/MyCode.Project.Repositories/PushKingDeeOrderItemRepository.cs
@@ -0,0 +1,26 @@
+using MyCode.Project.Repositories.Common;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using MyCode.Project.Domain.Message;
+using MyCode.Project.Domain.Model;
+using MyCode.Project.Domain.Repositories;
+using MyCode.Project.Infrastructure.Common;
+using MyCode.Project.Infrastructure.Search;
+
+namespace MyCode.Project.Repositories
+{
+ public class PushKingDeeOrderItemRepository: Repository, IPushKingDeeOrderItemRepository
+ {
+ public PushKingDeeOrderItemRepository(MyCodeSqlSugarClient context) : base(context)
+ { }
+
+
+
+
+
+
+ }
+}
\ No newline at end of file
diff --git a/Reportapi/MyCode.Project.Repositories/PushKingDeeOrderRepository.cs b/Reportapi/MyCode.Project.Repositories/PushKingDeeOrderRepository.cs
new file mode 100644
index 0000000..ae45f55
--- /dev/null
+++ b/Reportapi/MyCode.Project.Repositories/PushKingDeeOrderRepository.cs
@@ -0,0 +1,26 @@
+using MyCode.Project.Repositories.Common;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using MyCode.Project.Domain.Message;
+using MyCode.Project.Domain.Model;
+using MyCode.Project.Domain.Repositories;
+using MyCode.Project.Infrastructure.Common;
+using MyCode.Project.Infrastructure.Search;
+
+namespace MyCode.Project.Repositories
+{
+ public class PushKingDeeOrderRepository: Repository, IPushKingDeeOrderRepository
+ {
+ public PushKingDeeOrderRepository(MyCodeSqlSugarClient context) : base(context)
+ { }
+
+
+
+
+
+
+ }
+}
\ No newline at end of file
diff --git a/Reportapi/MyCode.Project.Repositories/WMStoJackyunInventoryMovementView1Repository.cs b/Reportapi/MyCode.Project.Repositories/WMStoJackyunInventoryMovementView1Repository.cs
new file mode 100644
index 0000000..f85166f
--- /dev/null
+++ b/Reportapi/MyCode.Project.Repositories/WMStoJackyunInventoryMovementView1Repository.cs
@@ -0,0 +1,26 @@
+using MyCode.Project.Repositories.Common;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using MyCode.Project.Domain.Message;
+using MyCode.Project.Domain.Model;
+using MyCode.Project.Domain.Repositories;
+using MyCode.Project.Infrastructure.Common;
+using MyCode.Project.Infrastructure.Search;
+
+namespace MyCode.Project.Repositories
+{
+ public class WMStoJackyunInventoryMovementView1Repository: Repository, IWMStoJackyunInventoryMovementView1Repository
+ {
+ public WMStoJackyunInventoryMovementView1Repository(MyCodeSqlSugarClient context) : base(context)
+ { }
+
+
+
+
+
+
+ }
+}
\ No newline at end of file
diff --git a/Reportapi/MyCode.Project.Repositories/WMStoJackyunInventoryMovementView3Repository.cs b/Reportapi/MyCode.Project.Repositories/WMStoJackyunInventoryMovementView3Repository.cs
new file mode 100644
index 0000000..1a0b6f4
--- /dev/null
+++ b/Reportapi/MyCode.Project.Repositories/WMStoJackyunInventoryMovementView3Repository.cs
@@ -0,0 +1,26 @@
+using MyCode.Project.Repositories.Common;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using MyCode.Project.Domain.Message;
+using MyCode.Project.Domain.Model;
+using MyCode.Project.Domain.Repositories;
+using MyCode.Project.Infrastructure.Common;
+using MyCode.Project.Infrastructure.Search;
+
+namespace MyCode.Project.Repositories
+{
+ public class WMStoJackyunInventoryMovementView3Repository: Repository, IWMStoJackyunInventoryMovementView3Repository
+ {
+ public WMStoJackyunInventoryMovementView3Repository(MyCodeSqlSugarClient context) : base(context)
+ { }
+
+
+
+
+
+
+ }
+}
\ No newline at end of file
diff --git a/Reportapi/MyCode.Project.Services/IServices/IJackYunTaskService.cs b/Reportapi/MyCode.Project.Services/IServices/IJackYunTaskService.cs
index 3bd538e..1a25911 100644
--- a/Reportapi/MyCode.Project.Services/IServices/IJackYunTaskService.cs
+++ b/Reportapi/MyCode.Project.Services/IServices/IJackYunTaskService.cs
@@ -1,4 +1,5 @@
using MyCode.Project.Domain.Message.Response.Common;
+using MyCode.Project.Repositories.Common;
using System.Collections.Generic;
namespace MyCode.Project.Services
@@ -10,5 +11,12 @@ namespace MyCode.Project.Services
///
///
void TaskGetJackYunOrder(string now);
+
+ ///
+ /// 合并吉客云订单到新表
+ ///
+ ///
+
+ string GetAndMergeJackYunOrder(string now);
}
}
diff --git a/Reportapi/MyCode.Project.Services/Implementation/JackYunService.cs b/Reportapi/MyCode.Project.Services/Implementation/JackYunService.cs
index b03e950..959be5d 100644
--- a/Reportapi/MyCode.Project.Services/Implementation/JackYunService.cs
+++ b/Reportapi/MyCode.Project.Services/Implementation/JackYunService.cs
@@ -118,9 +118,9 @@ namespace MyCode.Project.Services.Implementation
});
return trades;
}
-
#endregion
-
+
+
}
diff --git a/Reportapi/MyCode.Project.Services/Implementation/JackYunTaskService.cs b/Reportapi/MyCode.Project.Services/Implementation/JackYunTaskService.cs
index a5cbcaa..09bf055 100644
--- a/Reportapi/MyCode.Project.Services/Implementation/JackYunTaskService.cs
+++ b/Reportapi/MyCode.Project.Services/Implementation/JackYunTaskService.cs
@@ -1,4 +1,5 @@
-using MyCode.Project.Domain.Model;
+using MyCode.Project.Domain.Message.Response.JackYun;
+using MyCode.Project.Domain.Model;
using MyCode.Project.Domain.Repositories;
using MyCode.Project.Infrastructure.Common;
using MyCode.Project.Infrastructure.JackYun;
@@ -17,11 +18,20 @@ namespace MyCode.Project.Services.Implementation
private IJackYunService _jackYunService;
private IJackOrdersRepository _jackOrdersRepository;
private IJackOrdersItemRepository _jackOrdersItemRepository;
+ private IPushKingDeeOrderRepository _pushKingDeeOrderRepository;
+ private IPushKingDeeOrderItemRepository _pushKingDeeOrderItemRepository;
+ private IYTKJTShopParameterRepository _yTKJTShopParameterRepository;
public JackYunTaskService(IJackOrdersRepository jackOrdersRepository
, IJackOrdersItemRepository jackOrdersItemRepository
- ,IJackYunService jackYunService)
+ , IPushKingDeeOrderRepository pushKingDeeOrderRepository
+ , IPushKingDeeOrderItemRepository pushKingDeeOrderItemRepository
+ , IYTKJTShopParameterRepository yTKJTShopParameterRepository
+ , IJackYunService jackYunService)
{
+ _yTKJTShopParameterRepository = yTKJTShopParameterRepository;
+ _pushKingDeeOrderRepository = pushKingDeeOrderRepository;
+ _pushKingDeeOrderItemRepository = pushKingDeeOrderItemRepository;
_jackOrdersRepository = jackOrdersRepository;
_jackOrdersItemRepository = jackOrdersItemRepository;
_jackYunService = jackYunService;
@@ -82,5 +92,69 @@ namespace MyCode.Project.Services.Implementation
}
}
#endregion
+
+ #region GetAndMergeJackYunOrder(合并吉客云订单到新表)
+ ///
+ /// 合并吉客云订单到新表
+ ///
+ ///
+ [TransactionCallHandler]
+ public string GetAndMergeJackYunOrder(string now)
+ {
+ var list = _jackOrdersItemRepository.GetPushOrder();
+ List mesg = new List();
+
+ var shopParemList = _yTKJTShopParameterRepository.Queryable().Where(t => t.FDOCUMENTSTATUS == "C").ToList();
+ List pushKingDeeOrderItems = new List();
+ List pushKingDeeOrders = new List();
+ list.ForEach(sheet =>
+ {
+ if (pushKingDeeOrders.Where(t => t.ShopId == sheet.ShopId && t.WarehouseId == sheet.WarehouseId).Count() > 0)
+ {
+ return;
+ }
+ PushKingDeeOrder pushKingDeeOrder = new PushKingDeeOrder();
+ pushKingDeeOrder = AutoMapperHelper.AutoMappToSingle(sheet);
+ pushKingDeeOrder.Id = Guid.NewGuid();
+ pushKingDeeOrders.Add(pushKingDeeOrder);
+
+ var tempList = list.Where(t => t.ShopId == sheet.ShopId && t.WarehouseId == sheet.WarehouseId).ToList();
+ tempList.ForEach(item =>
+ {
+ PushKingDeeOrderItem pushKingDeeOrderItem = new PushKingDeeOrderItem();
+ pushKingDeeOrderItem = AutoMapperHelper.AutoMappToSingle(item);
+ pushKingDeeOrderItem.PushKingDeeOrderId = pushKingDeeOrder.Id;
+ pushKingDeeOrderItem.Id = Guid.NewGuid();
+ pushKingDeeOrderItems.Add(pushKingDeeOrderItem);
+ });
+ //var shopParem = shopParemList.Where(h => h.FSHOPCODE == sheet.ShopId.Value.ToString()&& h.FWAREHOUSE.Value.ToString()==sheet.WarehouseId ).FirstOrDefault();
+ //if (shopParem != null)
+ //{
+ //}
+ //else
+ //{
+ // mesg.Add($@"店铺{sheet.ShopName}没有配置店铺参数或者配置的仓库不是 {sheet.WarehouseCode}");
+ //}
+ });
+ if (pushKingDeeOrders.Count > 0)
+ {
+ var oldList = _jackOrdersRepository.Queryable().Where(t => t.Status == 0).ToList();
+ oldList.ForEach(t =>
+ {
+ if (pushKingDeeOrders.Count(h => h.ShopId == t.ShopId && t.WarehouseId == h.WarehouseId) > 0)
+ {
+ t.Status = 1;
+ t.UpdateTime = DateTime.Now;
+ }
+ });
+ oldList = oldList.Where(t => t.Status == 1).ToList();
+ _jackOrdersRepository.Update(oldList);
+ _pushKingDeeOrderRepository.Add(pushKingDeeOrders);
+ _pushKingDeeOrderItemRepository.Add(pushKingDeeOrderItems);
+ }
+
+ return JsonHelper.ToJson(list);
+ }
+ #endregion
}
}
diff --git a/Reportapi/MyCode.Project.Services/Implementation/WMSService.cs b/Reportapi/MyCode.Project.Services/Implementation/WMSService.cs
index 9adfa0a..4ea6f3b 100644
--- a/Reportapi/MyCode.Project.Services/Implementation/WMSService.cs
+++ b/Reportapi/MyCode.Project.Services/Implementation/WMSService.cs
@@ -12,6 +12,7 @@ using MyCode.Project.Repositories.Common;
using MyCode.Project.Repositories.ZHMD;
using System;
using System.Collections.Generic;
+using System.Diagnostics;
using System.Linq;
using System.Threading;
@@ -51,7 +52,9 @@ namespace MyCode.Project.Services.Implementation
if (now < startTime)
now = startTime;
var list= _wMStoJackyunInventoryMovementView3Repository.GetList(now);
- SetWMSOrder(list);
+ LogHelper.Info("WMS订单行数:" + list.Count);
+ if (list.Count>0)
+ SetWMSOrder(list);
return list;
}
@@ -64,6 +67,7 @@ namespace MyCode.Project.Services.Implementation
[TransactionCallHandler]
public void SetWMSOrder(List trades)
{
+
var ids = trades.Select(t => t.单据号).ToList();
var oldids = _repository.Queryable().Where(t => ids.Contains(t.单据号))
.Select(t => new { t.单据号, t.单据行号 }).ToList();
diff --git a/Reportapi/MyCode.Project.WebApi/Areas/Wechat/Controllers/BaseWechatController.cs b/Reportapi/MyCode.Project.WebApi/Areas/Wechat/Controllers/BaseWechatController.cs
index cea54ca..221c0fd 100644
--- a/Reportapi/MyCode.Project.WebApi/Areas/Wechat/Controllers/BaseWechatController.cs
+++ b/Reportapi/MyCode.Project.WebApi/Areas/Wechat/Controllers/BaseWechatController.cs
@@ -16,13 +16,13 @@ namespace MyCode.Project.WebApi.Areas.Wechat.Controllers
///
/// 取得登陆信息
///
- protected MemberLoginInfo CurrentLogin
+ protected LoginInfo CurrentLogin
{
get
{
var obj = this.RequestContext.RouteData.Values[Const.LoginInfoKey];
- return ((JObject)obj).ToObject();
+ return ((JObject)obj).ToObject();
}
}
}
diff --git a/Reportapi/MyCode.Project.WebApi/Controllers/TestController.cs b/Reportapi/MyCode.Project.WebApi/Controllers/TestController.cs
index 36ece42..d0e8fdf 100644
--- a/Reportapi/MyCode.Project.WebApi/Controllers/TestController.cs
+++ b/Reportapi/MyCode.Project.WebApi/Controllers/TestController.cs
@@ -50,6 +50,18 @@ namespace MyCode.Project.WebApi.Controllers
}
#endregion
+ #region 合并吉客云订单到新表
+ ///
+ /// 合并吉客云订单到新表
+ ///
+ [HttpGet]
+ [AllowAnonymous]
+ public string GetAndMergeJackYunOrder(string now)
+ {
+ return _jackYunTaskService.GetAndMergeJackYunOrder(now);
+ }
+ #endregion
+
//#region 订单查询
diff --git a/Reportapi/kingdeeDll/Kingdee.CDP.WebApi.SDK.dll b/Reportapi/kingdeeDll/Kingdee.CDP.WebApi.SDK.dll
new file mode 100644
index 0000000000000000000000000000000000000000..3e2915fe4dfe7f767fea6230d018a4f6d693a6b4
GIT binary patch
literal 61952
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
literal 0
HcmV?d00001