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.Collections.Generic;
using System.Linq;
@ -64,7 +64,7 @@ namespace MyCode.Project.Domain.Message.Request.KingDee
/// <summary>
/// 表单数据包JSON类型必录
/// </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.Linq;
using System.Text;
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>
///
@ -753,7 +752,7 @@ namespace MyCode.Project.Domain.Message.Request.KingDee
/// <summary>
/// 含税单价
/// </summary>
public int FTaxPrice { get; set; }
public decimal FTaxPrice { get; set; }
/// <summary>
/// 是否赠品
/// </summary>

View File

@ -67,8 +67,6 @@
<Compile Include="Message\Request\JackYun\OrderTradeFullInfoGetRequestBizData.cs" />
<Compile Include="Message\Request\KingDee\BillDelete.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\TimeRange.cs" />
<Compile Include="Message\Response\Common\HeadFieldItem.cs" />

View File

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

View File

@ -1,4 +1,5 @@
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.Model;
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();
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();
// TODO 如果是False则同步到云星空销售订单
if (one.FSYNCHRONIZEWMS == "0")
{
// 遍历单体,构造单据体实体
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);
PushKingdeeSaleOrder(orderSHeet);
}
// 如果为True则同步到WMS
else
{
//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.Services;
using MyCode.Project.Services.Implementation;
using MyCode.Project.Services.IServices;
using System;
using System.Collections.Generic;
using System.Web.Http;