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 0000000..3e2915f Binary files /dev/null and b/Reportapi/kingdeeDll/Kingdee.CDP.WebApi.SDK.dll differ