Compare commits

...

2 Commits

8 changed files with 78 additions and 1309 deletions

View File

@@ -1,4 +1,4 @@
using MyCode.Project.Domain.Message.Request.KingDee.SaveModel; 
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Linq; using System.Linq;
@@ -64,7 +64,7 @@ namespace MyCode.Project.Domain.Message.Request.KingDee
/// <summary> /// <summary>
/// 表单数据包JSON类型必录 /// 表单数据包JSON类型必录
/// </summary> /// </summary>
public BaseModel Model { get; set; } public object Model { get; set; }
} }

View File

@@ -1,16 +0,0 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace MyCode.Project.Domain.Message.Request.KingDee.SaveModel
{
public class BaseModel
{
public string GetRequestString()
{
return "";
}
}
}

View File

@@ -1,13 +1,12 @@
using MyCode.Project.Domain.Message.Request.KingDee.SaveModel; using System;
using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Linq; using System.Linq;
using System.Text; using System.Text;
using System.Threading.Tasks; using System.Threading.Tasks;
namespace MyCode.Project.Domain.Message.Request.KingDee namespace MyCode.Project.Domain.Message.Request.KingDee.SaveModel
{ {
public class SaleOrderModel : BaseModel public class SaleOrderModel
{ {
/// <summary> /// <summary>
/// ///
@@ -753,7 +752,7 @@ namespace MyCode.Project.Domain.Message.Request.KingDee
/// <summary> /// <summary>
/// 含税单价 /// 含税单价
/// </summary> /// </summary>
public int FTaxPrice { get; set; } public decimal FTaxPrice { get; set; }
/// <summary> /// <summary>
/// 是否赠品 /// 是否赠品
/// </summary> /// </summary>

View File

@@ -67,8 +67,6 @@
<Compile Include="Message\Request\JackYun\OrderTradeFullInfoGetRequestBizData.cs" /> <Compile Include="Message\Request\JackYun\OrderTradeFullInfoGetRequestBizData.cs" />
<Compile Include="Message\Request\KingDee\BillDelete.cs" /> <Compile Include="Message\Request\KingDee\BillDelete.cs" />
<Compile Include="Message\Request\KingDee\BillSave.cs" /> <Compile Include="Message\Request\KingDee\BillSave.cs" />
<Compile Include="Message\Request\KingDee\SaveModel\BaseModel.cs" />
<Compile Include="Message\Request\KingDee\SaveModel\SaleOrderModel - 复制.cs" />
<Compile Include="Message\Request\KingDee\SaveModel\SaleOrderModel.cs" /> <Compile Include="Message\Request\KingDee\SaveModel\SaleOrderModel.cs" />
<Compile Include="Message\Request\TimeRange.cs" /> <Compile Include="Message\Request\TimeRange.cs" />
<Compile Include="Message\Response\Common\HeadFieldItem.cs" /> <Compile Include="Message\Response\Common\HeadFieldItem.cs" />

View File

@@ -7,7 +7,7 @@ using System.Threading.Tasks;
namespace MyCode.Project.Services.IServices namespace MyCode.Project.Services.IServices
{ {
internal interface IOrderPushService public interface IOrderPushService
{ {
void PushOrderToKingDee(PushKingDeeOrder pushKingDeeOrder1); void PushOrderToKingDee(PushKingDeeOrder pushKingDeeOrder1);
} }

View File

@@ -1,4 +1,5 @@
using MyCode.Project.Domain.Message.Request.KingDee; using MyCode.Project.Domain.Message.Request.KingDee;
using MyCode.Project.Domain.Message.Request.KingDee.SaveModel;
using MyCode.Project.Domain.Message.Response.JackYun; using MyCode.Project.Domain.Message.Response.JackYun;
using MyCode.Project.Domain.Model; using MyCode.Project.Domain.Model;
using MyCode.Project.Domain.Repositories; using MyCode.Project.Domain.Repositories;
@@ -157,68 +158,86 @@ namespace MyCode.Project.Services.Implementation
var orderSHeet = _pushKingDeeOrderRepository.Queryable().Where(t => pushKingDeeOrder1.Id == t.Id).First(); var orderSHeet = _pushKingDeeOrderRepository.Queryable().Where(t => pushKingDeeOrder1.Id == t.Id).First();
if (orderSHeet.Status != 0) if (orderSHeet.Status != 0)
{ {
throw new BaseException(""); throw new BaseException("单据已经下推.");
} }
var itemList = _pushKingDeeOrderItemRepository.Queryable().Where(t => pushKingDeeOrder1.Id == t.PushKingDeeOrderId).ToList();
var one = _yTKJTShopParameterRepository.Queryable().Where(t => t.FSHOPCODE == orderSHeet.ShopCode).First(); var one = _yTKJTShopParameterRepository.Queryable().Where(t => t.FSHOPCODE == orderSHeet.ShopCode).First();
// TODO 如果是False则同步到云星空销售订单 // TODO 如果是False则同步到云星空销售订单
if (one.FSYNCHRONIZEWMS == "0") if (one.FSYNCHRONIZEWMS == "0")
{ {
// 遍历单体,构造单据体实体 PushKingdeeSaleOrder(orderSHeet);
var entryList = itemList.Select(n => new FSaleOrderEntryItem()
{
Fcode = n.Barcode, // 条码带出物料 、物料带出税额
FQty = n.SellCount, // 销售数量
}).ToList();
// 构建单据数据包
var model = new SaleOrderModel()
{
FID = 0, // 新增
FBillTypeID = new FBillTypeID()
{
// 1零售业务7售后发货8售后退货
FNUMBER = orderSHeet.TradeType == 8 ? "XSDD05_SYS" : "XSDD01_SYS"
},
FOrdertype = orderSHeet.TradeType == 8 ? "8" : "4",
FDate = orderSHeet.CreateTime?.ToString("yyyy/MM/dd"),
FSaleOrgId = new FSaleOrgId()
{
FNumber = "" // 固定组织
},
FCustId = new FCustId()
{
FNumber = "", // 客户?
},
FSalerId = new FSalerId()
{
FNumber = "", // 销售员
},
Foutlets = new Foutlets()
{
FNUMBER = orderSHeet.ShopCode, // 门店编码
},
FWarehouse = new FWarehouse()
{
FNUMBER = orderSHeet.WarehouseCode, // 仓库编码
},
FSaleOrderEntry = entryList
};
BillSave billSave = new BillSave()
{
Model = model
};
SaleOrderModel fSaleOrderEntry = new SaleOrderModel();
var resultString = _kingDeeService.Save("SAL_SaleOrder", billSave);
LogHelper.Info(resultString);
} }
// 如果为True则同步到WMS // 如果为True则同步到WMS
else else
{ {
//wms //wms
PushWMSSaleOrder(orderSHeet);
} }
} }
private string PushWMSSaleOrder(PushKingDeeOrder pushKingdeeOrder)
{
return string.Empty;
}
private string PushKingdeeSaleOrder(PushKingDeeOrder pushKingdeeOrder)
{
var itemList = _pushKingDeeOrderItemRepository.Queryable().Where(t => pushKingdeeOrder.Id == t.PushKingDeeOrderId).ToList();
// 遍历单体,构造单据体实体
var entryList = itemList.Select(n => new FSaleOrderEntryItem()
{
Fcode = n.Barcode, // 条码带出物料 、物料带出税额
FQty = n.SellCount, // 销售数量
FTaxPrice = Math.Round(n.DivideSellTotal / n.SellCount, 10), // 含税单价等于 金额/总数
// 仓库必填
FSOStockId = new FSOStockId()
{
FNUMBER = pushKingdeeOrder.WarehouseCode
},
}).ToList();
// 构建单据数据包
var model = new SaleOrderModel()
{
FID = 0, // 新增
FBillTypeID = new FBillTypeID()
{
// 1零售业务7售后发货8售后退货
FNUMBER = pushKingdeeOrder.TradeType == 8 ? "XSDD05_SYS" : "XSDD01_SYS"
},
FOrdertype = pushKingdeeOrder.TradeType == 8 ? "8" : "4",
FDate = pushKingdeeOrder.CreateTime?.ToString("yyyy/MM/dd"),
FSaleOrgId = new FSaleOrgId()
{
FNumber = "" // 固定组织
},
FCustId = new FCustId()
{
FNumber = "", // 客户?
},
FSalerId = new FSalerId()
{
FNumber = "", // 销售员
},
Foutlets = new Foutlets()
{
FNUMBER = pushKingdeeOrder.ShopCode, // 门店编码
},
FWarehouse = new FWarehouse()
{
FNUMBER = pushKingdeeOrder.WarehouseCode, // 仓库编码
},
FSaleOrderEntry = entryList
};
BillSave billSave = new BillSave()
{
Model = model
};
SaleOrderModel fSaleOrderEntry = new SaleOrderModel();
var resultString = _kingDeeService.Save("SAL_SaleOrder", billSave);
LogHelper.Info(resultString);
return resultString;
}
} }
} }

View File

@@ -2,6 +2,7 @@
using MyCode.Project.Infrastructure.Common; using MyCode.Project.Infrastructure.Common;
using MyCode.Project.Services; using MyCode.Project.Services;
using MyCode.Project.Services.Implementation; using MyCode.Project.Services.Implementation;
using MyCode.Project.Services.IServices;
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Web.Http; using System.Web.Http;