diff --git a/Reportapi/MyCode.Project.Domain/Message/Request/KingDee/SaveModel/PurchaseStockInModel.cs b/Reportapi/MyCode.Project.Domain/Message/Request/KingDee/SaveModel/PurchaseStockInModel.cs index 148db5d..7e2f375 100644 --- a/Reportapi/MyCode.Project.Domain/Message/Request/KingDee/SaveModel/PurchaseStockInModel.cs +++ b/Reportapi/MyCode.Project.Domain/Message/Request/KingDee/SaveModel/PurchaseStockInModel.cs @@ -37,6 +37,7 @@ namespace MyCode.Project.Domain.Message.Request.KingDee.SaveModel public class FOwnerIdHead { + public string FOrgId { get; set; } public string FNumber { get; set; } } @@ -61,6 +62,7 @@ namespace MyCode.Project.Domain.Message.Request.KingDee.SaveModel public class FSettleOrgId { + public string FOrgId { get; set; } public string FNumber { get; set; } } diff --git a/Reportapi/MyCode.Project.Domain/Message/Request/KingDee/SaveModel/SaleOrderModel.cs b/Reportapi/MyCode.Project.Domain/Message/Request/KingDee/SaveModel/SaleOrderModel.cs index 7386407..9d51786 100644 --- a/Reportapi/MyCode.Project.Domain/Message/Request/KingDee/SaveModel/SaleOrderModel.cs +++ b/Reportapi/MyCode.Project.Domain/Message/Request/KingDee/SaveModel/SaleOrderModel.cs @@ -554,6 +554,8 @@ namespace MyCode.Project.Domain.Message.Request.KingDee.SaveModel public class FStockOrgId { + + public string FOrgId { get; set; } /// /// /// @@ -590,6 +592,8 @@ namespace MyCode.Project.Domain.Message.Request.KingDee.SaveModel /// /// public string FNumber { get; set; } + + public string FOrgId { get; set; } } public class FSOStockId diff --git a/Reportapi/MyCode.Project.Domain/Message/Request/KingDee/SaveModel/SalesOutboundModel.cs b/Reportapi/MyCode.Project.Domain/Message/Request/KingDee/SaveModel/SalesOutboundModel.cs index c53825f..86b052b 100644 --- a/Reportapi/MyCode.Project.Domain/Message/Request/KingDee/SaveModel/SalesOutboundModel.cs +++ b/Reportapi/MyCode.Project.Domain/Message/Request/KingDee/SaveModel/SalesOutboundModel.cs @@ -1,4 +1,6 @@ +using Newtonsoft.Json; using System; +using System.Collections; using System.Collections.Generic; namespace MyCode.Project.Domain.Message.Request.KingDee.SaveModel @@ -45,6 +47,7 @@ namespace MyCode.Project.Domain.Message.Request.KingDee.SaveModel public class FSettleOrgID { + public string FOrgId { get; set; } public string FNumber { get; set; } } @@ -58,7 +61,7 @@ namespace MyCode.Project.Domain.Message.Request.KingDee.SaveModel public string FNumber { get; set; } } - public class FSalesOutboundEntryItem + public class FSalesOutboundEntryItemOld { public string FRowType { get; set; } public FMaterialID FMaterialID { get; set; } @@ -104,6 +107,231 @@ namespace MyCode.Project.Domain.Message.Request.KingDee.SaveModel public bool? FVmiBusinessStatus { get; set; } } + + /// + /// 销售出库单明细行实体类 + /// 用于描述销售出库业务中的物料明细信息 + /// + public class FSalesOutboundEntryItem + { + /// + /// 条码 + /// + + public string Fcode { get; set; } + /// + /// 行类型 + /// + public string FRowType { get; set; } + + /// + /// 物料标识 + /// + public FMaterialID FMaterialID { get; set; } + + /// + /// 单位标识 + /// + public FUnitID FUnitID { get; set; } + + /// + /// 库存数量 + /// + public decimal? FInventoryQty { get; set; } + + /// + /// 实际出库数量 + /// + public decimal? FRealQty { get; set; } + + /// + /// 计价数量 + /// + public decimal? FDisPriceQty { get; set; } + + /// + /// 单价 + /// + public decimal? FPrice { get; set; } + + /// + /// 含税单价 + /// + public decimal? FTaxPrice { get; set; } + + /// + /// 是否赠品 + /// + public bool? FIsFree { get; set; } + + /// + /// 货主类型标识 + /// + public string FOwnerTypeID { get; set; } + + /// + /// 货主标识 + /// + public FOwnerID FOwnerID { get; set; } + + /// + /// 行税率 + /// + public decimal? FEntryTaxRate { get; set; } + + /// + /// 辅助单位数量 + /// + public decimal? FAuxUnitQty { get; set; } + + /// + /// 外部辅助单位数量 + /// + public decimal? FExtAuxUnitQty { get; set; } + + public FStockID FStockID { get; set; } + /// + /// 源单类型 + /// + public string FSrcType { get; set; } + + /// + /// 源单单号 + /// + public string FSrcBillNo { get; set; } + + /// + /// 折扣率 + /// + public decimal? FDiscountRate { get; set; } + + /// + /// 价格折扣 + /// + public decimal? FPriceDiscount { get; set; } + + /// + /// 实际数量 + /// + public decimal? FActQty { get; set; } + + /// + /// 销售单位标识 + /// + public FSalUnitID FSalUnitID { get; set; } + + /// + /// 销售单位数量 + /// + public decimal? FSALUNITQTY { get; set; } + + /// + /// 销售基本数量 + /// + public decimal? FSALBASEQTY { get; set; } + + /// + /// 价格基本数量 + /// + public decimal? FPRICEBASEQTY { get; set; } + + /// + /// 是否超发控制 + /// + public bool? FOUTCONTROL { get; set; } + + /// + /// 返修数量 + /// + public decimal? FRepairQty { get; set; } + + /// + /// 是否跨法人组织 + /// + public bool? FIsOverLegalOrg { get; set; } + + /// + /// 未参与数量 + /// + public decimal? FARNOTJOINQTY { get; set; } + + /// + /// 质量管理分录ID + /// + public int? FQmEntryID { get; set; } + + /// + /// 转换分录ID + /// + public int? FConvertEntryID { get; set; } + + /// + /// 销售订单分录ID + /// + public int? FSOEntryId { get; set; } + + /// + /// 折扣前计价数量 + /// + public decimal? FBeforeDisPriceQty { get; set; } + + /// + /// 签收数量 + /// + public decimal? FSignQty { get; set; } + + /// + /// 是否检查交货 + /// + public bool? FCheckDelivery { get; set; } + + /// + /// 折扣前总金额 + /// + public decimal? FAllAmountExceptDisCount { get; set; } + + /// + /// 是否子组织结算 + /// + public bool? FSettleBySon { get; set; } + + /// + /// BOM分录ID + /// + public int? FBOMEntryId { get; set; } + + /// + /// 自定义金额字段 + /// + public decimal? F_dmi_Amount { get; set; } + + /// + /// 销售物料标识 + /// + public FMaterialID_Sal FMaterialID_Sal { get; set; } + + /// + /// 入库分录ID + /// + public int? FInStockEntryId { get; set; } + + /// + /// 收款分录ID + /// + public int? FReceiveEntryId { get; set; } + + /// + /// 是否替换出库 + /// + public bool? FIsReplaceOut { get; set; } + + /// + /// VMI业务状态 + /// + public bool? FVmiBusinessStatus { get; set; } + } + + public class FMaterialID { public string FNumber { get; set; } @@ -111,6 +339,7 @@ namespace MyCode.Project.Domain.Message.Request.KingDee.SaveModel public class FOwnerID { + public string FOrgId { get; set; } public string FNumber { get; set; } } @@ -127,6 +356,11 @@ namespace MyCode.Project.Domain.Message.Request.KingDee.SaveModel public class FCustomerID { public string FNumber { get; set; } + + /// + /// 客户ID + /// + public string FCustId { get; set; } } public class FSaleDeptID @@ -153,5 +387,12 @@ namespace MyCode.Project.Domain.Message.Request.KingDee.SaveModel { public string FNumber { get; set; } } + + + public class FStockID + { + public string FstockId { get; set; } + public string FNumber { get; set; } + } } diff --git a/Reportapi/MyCode.Project.Domain/Message/Request/KingDee/SaveModel/SalesReturnModel.cs b/Reportapi/MyCode.Project.Domain/Message/Request/KingDee/SaveModel/SalesReturnModel.cs index 31c5724..a1f216a 100644 --- a/Reportapi/MyCode.Project.Domain/Message/Request/KingDee/SaveModel/SalesReturnModel.cs +++ b/Reportapi/MyCode.Project.Domain/Message/Request/KingDee/SaveModel/SalesReturnModel.cs @@ -35,7 +35,11 @@ namespace MyCode.Project.Domain.Message.Request.KingDee.SaveModel } public class FRetcustId - { + { + /// + /// 客户ID + /// + public string FCustId { get; set; } public string FNumber { get; set; } } @@ -56,25 +60,39 @@ namespace MyCode.Project.Domain.Message.Request.KingDee.SaveModel public class FReceiveCustId { + /// + /// 客户ID + /// + public string FCustId { get; set; } public string FNumber { get; set; } } public class FSettleCustId { + /// + /// 客户ID + /// + public string FCustId { get; set; } public string FNumber { get; set; } } public class FPayCustId { + public string FCustId { get; set; } public string FNumber { get; set; } } public class FSalesReturnEntryItem { + + /// + /// 条码 + /// + public string Fcode { get; set; } public string FRowType { get; set; } public FMaterialId FMaterialId { get; set; } public FUnitID FUnitID { get; set; } - public decimal? FInventoryQty { get; set; } + //public decimal? FInventoryQty { get; set; } public decimal? FRealQty { get; set; } public decimal? FPrice { get; set; } public decimal? FTaxPrice { get; set; } @@ -83,6 +101,9 @@ namespace MyCode.Project.Domain.Message.Request.KingDee.SaveModel public FReturnType FReturnType { get; set; } public string FOwnerTypeId { get; set; } public FOwnerId FOwnerId { get; set; } + + public FStockstatusId FStockstatusId { get; set; } + public FStockID FStockID { get; set; } public string FDeliveryDate { get; set; } public decimal? FDiscountRate { get; set; } public decimal? FPriceDiscount { get; set; } @@ -96,7 +117,7 @@ namespace MyCode.Project.Domain.Message.Request.KingDee.SaveModel public decimal? FSalBaseQty { get; set; } public decimal? FPriceBaseQty { get; set; } public bool? FIsOverLegalOrg { get; set; } - public int? FSOEntryId { get; set; } + //public int? FSOEntryId { get; set; } public decimal? FARNOTJOINQTY { get; set; } public bool? FIsReturnCheck { get; set; } public bool? FSettleBySon { get; set; } @@ -111,5 +132,10 @@ namespace MyCode.Project.Domain.Message.Request.KingDee.SaveModel { public string FNumber { get; set; } } + + public class FStockstatusId + { + public string FNumber { get; set; } + } } diff --git a/Reportapi/MyCode.Project.Services/Implementation/JackYunTaskService.cs b/Reportapi/MyCode.Project.Services/Implementation/JackYunTaskService.cs index 51e84a0..904c716 100644 --- a/Reportapi/MyCode.Project.Services/Implementation/JackYunTaskService.cs +++ b/Reportapi/MyCode.Project.Services/Implementation/JackYunTaskService.cs @@ -185,7 +185,7 @@ namespace MyCode.Project.Services.Implementation } pushKingDeeOrders.ForEach(t => { - _workProcessService.Add(this.MerchantId, "PushOrderToKingDee", "鎺ㄩ佽鍗曞埌浜戞槦绌烘垨鑰匴MS", t.Id, 1); + //_workProcessService.Add(this.MerchantId, "PushOrderToKingDee", "鎺ㄩ佽鍗曞埌浜戞槦绌烘垨鑰匴MS", t.Id, 1); Thread.Sleep(300); }); diff --git a/Reportapi/MyCode.Project.Services/Implementation/SalesOutboundService.cs b/Reportapi/MyCode.Project.Services/Implementation/SalesOutboundService.cs index 14958b5..815b5d7 100644 --- a/Reportapi/MyCode.Project.Services/Implementation/SalesOutboundService.cs +++ b/Reportapi/MyCode.Project.Services/Implementation/SalesOutboundService.cs @@ -25,7 +25,7 @@ namespace MyCode.Project.Services.Implementation private const string EXCHANGE_TYPE = "HLTX01_SYS"; private const string DEFAULT_ORG = "100"; private const string DEFAULT_CURRENCY = "PRE001"; - private const string DEFAULT_UNIT = "Pcs"; + private const string DEFAULT_UNIT = "鍖"; private const string ROW_TYPE_STANDARD = "Standard"; private const string ROW_TYPE_SERVICE = "Service"; private const string FORM_ID = "SAL_OUTSTOCK"; @@ -65,7 +65,7 @@ namespace MyCode.Project.Services.Implementation throw new BaseException($"鏈壘鍒癐D涓 {id} 鐨勯攢鍞嚭搴撳崟璁板綍"); } - if (orderHead.Status != 0) + if (orderHead.Status == 2) { throw new BaseException($"閿鍞嚭搴撳崟 {orderHead.Sheet} 宸茬粡鎺ㄩ佽繃锛岀姸鎬佷负锛歿orderHead.Status}锛屼笉鍏佽閲嶅鎺ㄩ"); } @@ -129,10 +129,11 @@ namespace MyCode.Project.Services.Implementation // 鑾峰彇閿鍞粍缁嘔D string orgId = param.FSALEORGID?.ToString() ?? DEFAULT_ORG; - - // 鑾峰彇浠撳簱缂栫爜 - string warehouseCode = orderHead.WarehouseCode ?? param.FWAREHOUSECODE ?? ""; + + // 鑾峰彇浠撳簱缂栫爜 + //string warehouseCode = orderHead.WarehouseCode ?? param.FWAREHOUSECODE ?? ""; + string warehouseCode = param.FWAREHOUSECODE ; // 鏁版嵁鏍¢獙 if (string.IsNullOrEmpty(warehouseCode)) { @@ -154,7 +155,7 @@ namespace MyCode.Project.Services.Implementation BillSave billSave = new BillSave() { Model = model, - IsAutoSubmitAndAudit = true, + IsAutoSubmitAndAudit = false, }; // 璋冪敤閲戣澏鏈嶅姟淇濆瓨鍗曟嵁 @@ -184,15 +185,16 @@ namespace MyCode.Project.Services.Implementation return new FSalesOutboundEntryItem() { + Fcode= item.Barcode ?? "", FRowType = rowType, - FMaterialID = new FMaterialID() - { - FNumber = item.Barcode ?? "" - }, - FUnitID = new FUnitID() - { - FNumber = item.Unit ?? DEFAULT_UNIT - }, + //FMaterialID = new FMaterialID() + //{ + // FNumber = item.Barcode ?? "" + //}, + //FUnitID = new FUnitID() + //{ + // FNumber = item.Unit ?? DEFAULT_UNIT + //}, FInventoryQty = 0, FRealQty = realQty, FDisPriceQty = 0, @@ -202,7 +204,11 @@ namespace MyCode.Project.Services.Implementation FOwnerTypeID = OWNER_TYPE, FOwnerID = new FOwnerID() { - FNumber = orgId + FOrgId = orgId + }, + FStockID=new FStockID() + { + FNumber = param.FWAREHOUSECODE }, FEntryTaxRate = param.FTAXRATE, FAuxUnitQty = 0, @@ -264,16 +270,16 @@ namespace MyCode.Project.Services.Implementation FDate = dateStr, FSaleOrgId = new FSaleOrgId() { - FNumber = orgId + FOrgId = orgId }, FCustomerID = new FCustomerID() { - FNumber = customerId - }, - FSaleDeptID = new FSaleDeptID() - { - FNumber = "02" + FCustId = customerId }, + //FSaleDeptID = new FSaleDeptID() + //{ + // FNumber = "02" + //}, FReceiverID = new FReceiverID() { FNumber = customerId @@ -284,7 +290,7 @@ namespace MyCode.Project.Services.Implementation }, FStockOrgId = new FStockOrgId() { - FNumber = orgId + FOrgId = orgId }, FSettleID = new FSettleID() { @@ -295,13 +301,14 @@ namespace MyCode.Project.Services.Implementation FNumber = customerId }, FOwnerTypeIdHead = OWNER_TYPE, + FOwnerIdHead = new FOwnerIdHead() { - FNumber = orgId + FOrgId = orgId }, FCDateOffsetValue = 0, FIsTotalServiceOrCost = false, - F_dmi_Combo = "鏍囧噯鍑哄簱", + //F_dmi_Combo = "鏍囧噯鍑哄簱", SubHeadEntity = new FSubHeadEntity() { FSettleCurrID = new FSettleCurrID() @@ -310,7 +317,7 @@ namespace MyCode.Project.Services.Implementation }, FSettleOrgID = new FSettleOrgID() { - FNumber = orgId + FOrgId = orgId }, FIsIncludedTax = false, FLocalCurrID = new FLocalCurrID() @@ -327,7 +334,7 @@ namespace MyCode.Project.Services.Implementation }, FEntity = entryList }; - } + } } } diff --git a/Reportapi/MyCode.Project.Services/Implementation/SalesReturnService.cs b/Reportapi/MyCode.Project.Services/Implementation/SalesReturnService.cs index 73f0571..ab4ea71 100644 --- a/Reportapi/MyCode.Project.Services/Implementation/SalesReturnService.cs +++ b/Reportapi/MyCode.Project.Services/Implementation/SalesReturnService.cs @@ -131,7 +131,7 @@ namespace MyCode.Project.Services.Implementation BillSave billSave = new BillSave() { Model = model, - IsAutoSubmitAndAudit = true, + IsAutoSubmitAndAudit = false, }; var responseStatus = _kingDeeService.Save(FORM_ID, billSave); @@ -148,7 +148,7 @@ namespace MyCode.Project.Services.Implementation decimal realQty = Math.Abs(item.SellCount); decimal taxRate = param.FTAXRATE; - decimal taxPrice = item.SellCount != 0 ? Math.Round(Math.Abs(item.DivideSellTotal) / item.SellCount, 10) : 0; + decimal taxPrice = item.SellCount != 0 ? Math.Round(Math.Abs(item.DivideSellTotal/ item.SellCount), 10) : 0; decimal price = taxRate > 0 && taxPrice > 0 ? Math.Round(taxPrice / (1 + taxRate / 100), 10) : taxPrice; @@ -157,21 +157,22 @@ namespace MyCode.Project.Services.Implementation return new FSalesReturnEntryItem() { - FRowType = rowType, - FMaterialId = new FMaterialId() - { - FNumber = item.Barcode ?? "" - }, - FUnitID = new FUnitID() - { - FNumber = item.Unit ?? DEFAULT_UNIT - }, - FInventoryQty = 0, + Fcode = item.Barcode ?? "", + //FRowType = rowType, + //FMaterialId = new FMaterialId() + //{ + // FNumber = item.Barcode ?? "" + //}, + //FUnitID = new FUnitID() + //{ + // FNumber = item.Unit ?? DEFAULT_UNIT + //}, + //FInventoryQty = 0, FRealQty = realQty, FPrice = price, FTaxPrice = taxPrice, - FIsFree = false, - FEntryTaxRate = param.FTAXRATE, + //FIsFree = false, + //FEntryTaxRate = param.FTAXRATE, FReturnType = new FReturnType() { FNumber = RETURN_TYPE_CODE @@ -179,26 +180,34 @@ namespace MyCode.Project.Services.Implementation FOwnerTypeId = OWNER_TYPE, FOwnerId = new FOwnerId() { - FNumber = orgId + FOrgId = orgId + + }, + FStockID = new FStockID() + { + FNumber = param.FWAREHOUSECODE + }, + FStockstatusId=new FStockstatusId(){ + FNumber= "KCZT01_SYS" }, FDeliveryDate = deliveryDate, - FDiscountRate = 0, - FPriceDiscount = 0, - FAuxUnitQty = 0, - FExtAuxUnitQty = 0, - FSrcBillTypeID = "", - FSrcBillNo = "", - FISCONSUMESUM = "0", + //FDiscountRate = 0, + //FPriceDiscount = 0, + //FAuxUnitQty = 0, + //FExtAuxUnitQty = 0, + //FSrcBillTypeID = "", + //FSrcBillNo = "", + //FISCONSUMESUM = "0", FSalUnitID = new FSalUnitID() { FNumber = item.Unit ?? DEFAULT_UNIT }, - FSalUnitQty = realQty, - FSalBaseQty = realQty, - FPriceBaseQty = realQty, + FSalUnitQty = realQty, // + FSalBaseQty = realQty,// + FPriceBaseQty = realQty,// FIsOverLegalOrg = false, - FSOEntryId = 0, - FARNOTJOINQTY = realQty, + //FSOEntryId = 0, + FARNOTJOINQTY = realQty, // FIsReturnCheck = false, FSettleBySon = false, FBOMEntryId = 0, @@ -228,42 +237,42 @@ namespace MyCode.Project.Services.Implementation { FNUMBER = BILL_TYPE_CODE }, - FDate = dateStr, + FDate = dateStr, FSaleOrgId = new FSaleOrgId() { - FNumber = orgId + FOrgId = orgId }, FRetcustId = new FRetcustId() { - FNumber = customerId - }, - FSaledeptid = new FSaledeptid() - { - FNumber = "02" - }, - FTransferBizType = new FTransferBizType() - { - FNumber = TRANSFER_BIZ_TYPE + FCustId = customerId }, + //FSaledeptid = new FSaledeptid() + //{ + // FNumber = "02" + //}, + //FTransferBizType = new FTransferBizType() + //{ + // FNumber = TRANSFER_BIZ_TYPE + //}, FSalesManId = new FSalesManId() { FNumber = salesManId }, FStockOrgId = new FStockOrgId() { - FNumber = orgId + FOrgId = orgId }, FReceiveCustId = new FReceiveCustId() { - FNumber = customerId + FCustId = customerId }, FSettleCustId = new FSettleCustId() { - FNumber = customerId + FCustId = customerId }, FPayCustId = new FPayCustId() { - FNumber = customerId + FCustId = customerId }, FOwnerTypeIdHead = OWNER_TYPE, FCDateOffsetValue = 0, @@ -277,7 +286,7 @@ namespace MyCode.Project.Services.Implementation }, FSettleOrgId = new FSettleOrgId() { - FNumber = orgId + FOrgId = orgId }, FLocalCurrId = new FLocalCurrId() { diff --git a/Reportapi/MyCode.Project.WebApi/Web.config b/Reportapi/MyCode.Project.WebApi/Web.config index 1462a6e..cbd417f 100644 --- a/Reportapi/MyCode.Project.WebApi/Web.config +++ b/Reportapi/MyCode.Project.WebApi/Web.config @@ -49,7 +49,7 @@ - +