山证bug修复及功能 迁移
This commit is contained in:
@@ -55,14 +55,10 @@ namespace YLErp.Modules.DataProviderModule
|
||||
/// </summary>
|
||||
public EodPriceProvider Initialize(IEnumerable<string> underlyingCodes = null)
|
||||
{
|
||||
if (!PreValueDate.HasValue)
|
||||
{
|
||||
PreValueDate = QdpCalendarHelper.GetNonHoliday(ValueDate.AddDays(-1));
|
||||
}
|
||||
using var db = DbContextFactory.GetYLDbContext();
|
||||
var predicate1 = PredicateBuilder.Create<eod_commodity_future_price>(eodprice => eodprice.ValueDate == ValueDate);
|
||||
var predicate2 = PredicateBuilder.Create<eod_stock_price>(eodprice => eodprice.ValueDate == ValueDate);
|
||||
var predicate3 = PredicateBuilder.Create<ChinaBondValuation>(eodprice => eodprice.valuation_date == PreValueDate);
|
||||
var predicate3 = PredicateBuilder.Create<ChinaBondValuation>(eodprice => eodprice.valuation_date == ValueDate);
|
||||
if (underlyingCodes != null && underlyingCodes.Any(n => !string.IsNullOrEmpty(n)))
|
||||
{
|
||||
var set = underlyingCodes.Where(n => n != null && !_priceDic.ContainsKey(n)).ToHashSet();
|
||||
@@ -114,24 +110,24 @@ namespace YLErp.Modules.DataProviderModule
|
||||
DeciReferencePrice = 0,
|
||||
};
|
||||
var eodBondQuery = from eodprice in db.china_bond_valuation.Where(predicate3)
|
||||
join um in db.underlying_manager on eodprice.bond_id equals um.UnderlyingCode
|
||||
select new EodPrice
|
||||
{
|
||||
IsStock = false,
|
||||
ValueDate = ValueDate,
|
||||
UnderlyingId = um.id,
|
||||
UnderlyingCode = um.UnderlyingCode,
|
||||
ClosePrice = 0,
|
||||
SettlePrice = 0,
|
||||
HighPrice = 0,
|
||||
LowPrice = 0,
|
||||
UnderlyingStatus = "正常运行",
|
||||
UnderlyingInstrumentType = "Bonds",
|
||||
ReferencePrice =0,
|
||||
DeciSettlePrice = eodprice.dirty_price_close,
|
||||
DeciClosePrice = eodprice.net_price,
|
||||
DeciReferencePrice = eodprice.yield,
|
||||
};
|
||||
join um in db.underlying_manager on eodprice.bond_id equals um.UnderlyingCode
|
||||
select new EodPrice
|
||||
{
|
||||
IsStock = false,
|
||||
ValueDate = ValueDate,
|
||||
UnderlyingId = um.id,
|
||||
UnderlyingCode = um.UnderlyingCode,
|
||||
ClosePrice = 0,
|
||||
SettlePrice = 0,
|
||||
HighPrice = 0,
|
||||
LowPrice = 0,
|
||||
UnderlyingStatus = "正常运行",
|
||||
UnderlyingInstrumentType = "Bonds",
|
||||
ReferencePrice = 0,
|
||||
DeciSettlePrice = eodprice.dirty_price_close,
|
||||
DeciClosePrice = eodprice.net_price,
|
||||
DeciReferencePrice = eodprice.yield,
|
||||
};
|
||||
//数据加载到字典中
|
||||
var list = eodFutureQuery.Concat(eodStockQuery).Concat(eodBondQuery).ToArray();
|
||||
|
||||
@@ -143,7 +139,7 @@ namespace YLErp.Modules.DataProviderModule
|
||||
{
|
||||
if (item.UnderlyingInstrumentType == "Bonds")
|
||||
{
|
||||
item.SettlePrice = Convert.ToDouble(item.DeciSettlePrice*ConsGlobal.bondPriceMultiple);
|
||||
item.SettlePrice = Convert.ToDouble(item.DeciSettlePrice * ConsGlobal.bondPriceMultiple);
|
||||
item.ClosePrice = Convert.ToDouble(item.DeciClosePrice * ConsGlobal.bondPriceMultiple);
|
||||
item.ReferencePrice = Convert.ToDouble(item.DeciReferencePrice * ConsGlobal.bondPriceMultiple);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user