hqchart 1.1.13804 → 1.1.13816

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -48814,6 +48814,12 @@ HQData.NetworkFilter=function(data, callback)
48814
48814
  case "JSSymbolData::GetBKJYOne":
48815
48815
  HQData.BKJYOne_RequestData(data,callback);
48816
48816
  break;
48817
+ case "JSSymbolData::GetFinValue":
48818
+ HQData.FinValue_RequestData(data,callback);
48819
+ break;
48820
+ case "JSSymbolData::GetFinOne":
48821
+ HQData.FinOne_RequestData(data,callback);
48822
+ break;
48817
48823
 
48818
48824
  //////////////////////////////////////////////////////
48819
48825
  //报价列表数据
@@ -49570,6 +49576,39 @@ HQData.BKJYOne_RequestData=function(data,callback)
49570
49576
  callback({ Date:20230509, Value:value});
49571
49577
  }
49572
49578
 
49579
+ HQData.FinValue_RequestData=function(data,callback)
49580
+ {
49581
+ data.PreventDefault=true;
49582
+ var symbol=data.Request.Data.symbol;
49583
+ var id=data.Request.Data.Args[0];
49584
+
49585
+ var aryData=[];
49586
+ var kData=data.Self.Data;
49587
+ for(var i=0;i<kData.Data.length;++i)
49588
+ {
49589
+ var kItem=kData.Data[i];
49590
+ if (i%60==21)
49591
+ {
49592
+ var value=HQData.GetRandomTestData(10,20)
49593
+ aryData.push({ Date:kItem.Date, Time:kItem.Time, Value:value });
49594
+ }
49595
+ }
49596
+
49597
+ callback(aryData);
49598
+ }
49599
+
49600
+ HQData.FinOne_RequestData=function(data,callback)
49601
+ {
49602
+ data.PreventDefault=true;
49603
+ var symbol=data.Request.Data.symbol;
49604
+ var id=data.Request.Data.Args[0];
49605
+ var year=data.Request.Data.Args[1];
49606
+ var day=data.Request.Data.Args[2];
49607
+
49608
+ var value=HQData.GetRandomTestData(80,90);
49609
+ callback({ Date:20230509, Value:value});
49610
+ }
49611
+
49573
49612
 
49574
49613
  //////////////////////////////////////////////////////////////////////////////////////
49575
49614
  // 报价列表
@@ -47985,6 +47985,17 @@ function RectSelectPaint()
47985
47985
  this.AreaColor=g_JSChartResource.RectSelect.AreaColor; //面积
47986
47986
  this.SubAreaColor=g_JSChartResource.RectSelect.SubAreaColor;
47987
47987
 
47988
+ //标记图标
47989
+ this.MarkConfig=
47990
+ {
47991
+ Family:g_JSChartResource.RectSelect.Mark.Family,
47992
+ Text:g_JSChartResource.RectSelect.Mark.Text,
47993
+ Color:g_JSChartResource.RectSelect.Mark.Color,
47994
+ Size:g_JSChartResource.RectSelect.Mark.Size,
47995
+ IsShow:false,
47996
+ Position: { Index:g_JSChartResource.RectSelect.Mark.Position.Index, Top:g_JSChartResource.RectSelect.Mark.Position.Top }
47997
+ }
47998
+
47988
47999
  this.FirstPoint;
47989
48000
  this.SecondPoint;
47990
48001
  this.CenterPoint;
@@ -48032,6 +48043,17 @@ function RectSelectPaint()
48032
48043
  if (IFrameSplitOperator.IsNumber(item.Position)) this.ShowRangeText.Position=item.Position;
48033
48044
  if (IFrameSplitOperator.IsNumber(item.SubPosition)) this.ShowRangeText.SubPosition=item.SubPosition;
48034
48045
  }
48046
+
48047
+ if (option.Mark)
48048
+ {
48049
+ var item=option.Mark;
48050
+ if (IFrameSplitOperator.IsBool(item.IsShow)) this.MarkConfig.IsShow=item.IsShow;
48051
+ if (item.Position)
48052
+ {
48053
+ if (IFrameSplitOperator.IsNumber(item.Position.Index)) this.MarkConfig.Position.Index=item.Position.Index;
48054
+ if (item.Position.Top) this.MarkConfig.Position.Top=item.Position.Top;
48055
+ }
48056
+ }
48035
48057
  }
48036
48058
  }
48037
48059
 
@@ -48504,6 +48526,7 @@ function RectSelectPaint()
48504
48526
 
48505
48527
  this.DrawLines(aryLines);
48506
48528
  this.DrawArea(startPoint, endPoint, startDate, startEnd, this.AreaColor);
48529
+ this.DrawMark(startPoint, endPoint);
48507
48530
 
48508
48531
  if (this.SubClient && this.SubClient.Start && this.SubClient.End)
48509
48532
  {
@@ -48737,6 +48760,45 @@ function RectSelectPaint()
48737
48760
  if (IFrameSplitOperator.IsNumber(type)) this.DragRect.push( {Rect:rtArea, Type:type} );
48738
48761
  }
48739
48762
  }
48763
+
48764
+ this.DrawMark=function(startPoint,endPoint)
48765
+ {
48766
+ if (!startPoint ||!endPoint) return;
48767
+
48768
+ if (!this.ChartFrame || !this.ChartFrame.SubFrame) return;
48769
+ var subFrame=this.ChartFrame.SubFrame[0].Frame;
48770
+ if (!subFrame) return;
48771
+
48772
+ if (!this.MarkConfig) return;
48773
+ var config=this.MarkConfig;
48774
+ if (!config.IsShow) return;
48775
+
48776
+ var font=`${config.Size}px ${config.Family}`;
48777
+ this.Canvas.font=font;
48778
+ var top=null;
48779
+ switch(config.Position.Top)
48780
+ {
48781
+ case "TopEx":
48782
+ top=subFrame.ChartBorder.GetTopEx();
48783
+ break;
48784
+ case "Top":
48785
+ top=subFrame.ChartBorder.GetTop();
48786
+ break;
48787
+ case "TopTitle":
48788
+ top=subFrame.ChartBorder.GetTopTitle();
48789
+ break;
48790
+ default:
48791
+ return;
48792
+ }
48793
+
48794
+ var xText=startPoint.X;
48795
+ var yText=top;
48796
+
48797
+ this.Canvas.textAlign="center";
48798
+ this.Canvas.textBaseline="bottom";
48799
+ this.Canvas.fillStyle=config.Color;
48800
+ this.Canvas.fillText(config.Text,xText,yText);
48801
+ }
48740
48802
  }
48741
48803
 
48742
48804
  //鼠标拖动选中区域
@@ -72865,6 +72927,8 @@ function JSChartResource()
72865
72927
  RangeTextSubColor:"rgb(255,255,255)",
72866
72928
  RangeTextSubFont:12*GetDevicePixelRatio() +"px 微软雅黑",
72867
72929
  RangeTextSubBGColor:'rgb(54,54,54)',
72930
+
72931
+ Mark:{ Family:'iconfont', Text:'\ue695' , Color:'rgb(250,0,0)', Size:15*GetDevicePixelRatio(), Position:{ Index:0, Top:"TopEx" } }
72868
72932
  }
72869
72933
 
72870
72934
  //选中图形
@@ -73721,6 +73785,20 @@ function JSChartResource()
73721
73785
  if (item.RangeTextSubColor) this.RectSelect.RangeTextSubColor=item.RangeTextSubColor;
73722
73786
  if (item.RangeTextSubFont) this.RectSelect.RangeTextSubFont=item.RangeTextSubFont;
73723
73787
  if (item.RangeTextSubBGColor) this.RectSelect.RangeTextSubBGColor=item.RangeTextSubBGColor;
73788
+
73789
+ if (item.Mark)
73790
+ {
73791
+ var subItem=item.Mark;
73792
+ if (subItem.Family) this.RectSelect.Mark.Family=subItem.Family;
73793
+ if (subItem.Text) this.RectSelect.Mark.Text=subItem.Text;
73794
+ if (subItem.Color) this.RectSelect.Mark.Color=subItem.Color;
73795
+ if (IFrameSplitOperator.IsNumber(subItem.Size)) this.RectSelect.Mark.Size=subItem.Size;
73796
+ if (subItem.Position)
73797
+ {
73798
+ if (subItem.Position.Top) this.RectSelect.Mark.Position.Top=subItem.Position.Top;
73799
+ if (IFrameSplitOperator.IsNumber(subItem.Position.Index)) this.RectSelect.Mark.Position.Index=subItem.Position.Index;
73800
+ }
73801
+ }
73724
73802
  }
73725
73803
 
73726
73804
  if (style.RectDrag)
@@ -76296,6 +76374,7 @@ function KLineChartContainer(uielement,OffscreenElement, cacheElement)
76296
76374
  if (!this.PopMinuteChart) return;
76297
76375
  if (!data.Tooltip || !data.Chart) return;
76298
76376
 
76377
+ var pixelRatio=GetDevicePixelRatio();
76299
76378
  var rtClient=this.UIElement.getBoundingClientRect();
76300
76379
  var rtScroll=GetScrollPosition();
76301
76380
 
@@ -76305,7 +76384,7 @@ function KLineChartContainer(uielement,OffscreenElement, cacheElement)
76305
76384
  var date=data.Tooltip.Data.Date;
76306
76385
  var symbol=data.Chart.Symbol;
76307
76386
 
76308
- this.PopMinuteChart.Show({ Date:date, Symbol:symbol, Data:data.Tooltip.Data }, x,y);
76387
+ this.PopMinuteChart.Show({ Date:date, Symbol:symbol, Data:data.Tooltip.Data }, x/pixelRatio,y/pixelRatio);
76309
76388
  }
76310
76389
 
76311
76390
 
@@ -113021,54 +113100,6 @@ function JSSymbolData(ast,option,jsExecute)
113021
113100
  return financeData.get(id);
113022
113101
  }
113023
113102
 
113024
- this.GetFinOne=function(jobItem)
113025
- {
113026
- var aryArgs=this.JobArgumentsToArray(jobItem, 3);
113027
- var key=this.GetStockDataKey(jobItem,aryArgs);
113028
- if (this.StockData.has(key)) return this.Execute.RunNextJob();
113029
- var self=this;
113030
- if (this.NetworkFilter)
113031
- {
113032
- var dateRange=this.Data.GetDateRange();
113033
- var obj=
113034
- {
113035
- Name:'JSSymbolData::GetFinOne', //类名::
113036
- Explain:'财务数据FINONE(ID,Y,MMDD)',
113037
- JobID:jobItem.ID,
113038
- Request:{ Url:self.StockHistoryDayApiUrl, Type:'POST', Data:{ Args:aryArgs, symbol: this.Symbol, daterange:dateRange } },
113039
- Self:this,
113040
- PreventDefault:false
113041
- };
113042
- this.NetworkFilter(obj, function(recvData)
113043
- {
113044
- self.RecvStockValue(recvData,jobItem,key,1);
113045
- self.Execute.RunNextJob();
113046
- });
113047
-
113048
- if (obj.PreventDefault==true) return; //已被上层替换,不调用默认的网络请求
113049
- }
113050
-
113051
- var apiDownload=new DownloadFinOneData(
113052
- {
113053
- Job:jobItem,
113054
- Symbol:this.Symbol,
113055
- Url:this.StockHistoryDayApiUrl,
113056
- Args:aryArgs,
113057
- DataKey:key,
113058
- Callback:function(recvData, jobItem, key)
113059
- {
113060
- self.RecvStockValue(recvData, jobItem, key,1);
113061
- self.Execute.RunNextJob();
113062
- },
113063
- ErrorCallback:function(strError)
113064
- {
113065
- self.AddStockValueError(key,strError);
113066
- }
113067
- });
113068
-
113069
- apiDownload.Download();
113070
- }
113071
-
113072
113103
  this.GetStockDataKey=function(jobItem, aryArgs)
113073
113104
  {
113074
113105
  var key=jobItem.FunctionName;
@@ -113086,55 +113117,6 @@ function JSSymbolData(ast,option,jsExecute)
113086
113117
  return key;
113087
113118
  }
113088
113119
 
113089
- this.GetFinValue=function(jobItem)
113090
- {
113091
- var aryArgs=this.JobArgumentsToArray(jobItem, 1);
113092
- var lID=aryArgs[0];
113093
- var key=this.GetStockDataKey(jobItem,aryArgs);
113094
- if (this.StockData.has(key)) return this.Execute.RunNextJob();
113095
- var self=this;
113096
- if (this.NetworkFilter)
113097
- {
113098
- var dateRange=this.Data.GetDateRange();
113099
- var obj=
113100
- {
113101
- Name:'JSSymbolData::GetFinValue', //类名::
113102
- Explain:'财务数据FINVALUE(ID)',
113103
- JobID:jobItem.ID,
113104
- Request:{ Url:self.StockHistoryDayApiUrl, Type:'POST', Data:{ id:lID, symbol: this.Symbol, daterange:dateRange } },
113105
- Self:this,
113106
- PreventDefault:false
113107
- };
113108
- this.NetworkFilter(obj, function(recvData)
113109
- {
113110
- self.RecvStockValue(recvData,jobItem,key,0);
113111
- self.Execute.RunNextJob();
113112
- });
113113
-
113114
- if (obj.PreventDefault==true) return; //已被上层替换,不调用默认的网络请求
113115
- }
113116
-
113117
- var apiDownload=new DownloadFinValueData(
113118
- {
113119
- Job:jobItem,
113120
- Symbol:this.Symbol,
113121
- Url:this.StockHistoryDayApiUrl,
113122
- Args:aryArgs,
113123
- DataKey:key,
113124
- Callback:function(recvData, jobItem, key)
113125
- {
113126
- self.RecvStockValue(recvData, jobItem, key,0);
113127
- self.Execute.RunNextJob();
113128
- },
113129
- ErrorCallback:function(strError)
113130
- {
113131
- self.AddStockValueError(key,strError);
113132
- }
113133
- });
113134
-
113135
- apiDownload.Download();
113136
- }
113137
-
113138
113120
  this.GetFinance=function(jobItem)
113139
113121
  {
113140
113122
  var aryArgs=this.JobArgumentsToArray(jobItem, 1);
@@ -115464,6 +115446,16 @@ var JS_ARRAY_PROFESSIONAL_FINANCE=
115464
115446
  Name:"BKJYONE", JobID:JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_BKJYONE,
115465
115447
  Explain:"板块交易类数据BKJYONE(ID,N,Y,MMDD)", FuncName:"JSSymbolData::GetBKJYOne",ArgCount:4
115466
115448
  },
115449
+ {
115450
+ Name:"FINVALUE", JobID:JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_FINVALUE,
115451
+ Explain:"财务数据FINVALUE(ID)", FuncName:"JSSymbolData::GetFinValue",ArgCount:1
115452
+ },
115453
+ {
115454
+ Name:"FINONE", JobID:JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_FINONE,
115455
+ Explain:"财务数据FINONE(ID,Y,MMDD)", FuncName:"JSSymbolData::GetFinOne",ArgCount:3
115456
+ }
115457
+
115458
+
115467
115459
  ];
115468
115460
 
115469
115461
  function JSExecute(ast,option)
@@ -115672,14 +115664,12 @@ function JSExecute(ast,option)
115672
115664
  case JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_SECTION_SF:
115673
115665
  return this.SymbolData.GetSectionFinanceData(jobItem); //财务截面报告数据
115674
115666
 
115675
- case JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_FINONE:
115676
- return this.SymbolData.GetFinOne(jobItem);
115677
- case JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_FINVALUE:
115678
- return this.SymbolData.GetFinValue(jobItem);
115679
115667
  case JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_FINANCE:
115680
115668
  return this.SymbolData.GetFinance(jobItem);
115681
115669
 
115682
115670
  //专业财务数据
115671
+ case JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_FINONE:
115672
+ case JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_FINVALUE:
115683
115673
  case JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_GPJYVALUE:
115684
115674
  case JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_GPJYONE:
115685
115675
  case JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_SCJYVALUE:
@@ -124049,349 +124039,6 @@ ScriptIndexConsole.SetDomain = function (domain, cacheDomain) //修改API地
124049
124039
  JSComplier.SetDomain(domain,cacheDomain);
124050
124040
  }
124051
124041
 
124052
- //////////////////////////////////////////////////////////////////////////////////////////////
124053
- //内置财务数据下载
124054
- //
124055
- function DownloadFinValueData(obj)
124056
- {
124057
- this.Url=obj.Url;
124058
- this.Job=obj.Job;
124059
- this.Symbol=obj.Symbol;
124060
- this.Args=obj.Args;
124061
- this.DataKey=obj.DataKey;
124062
- this.RecvCallback=obj.Callback;
124063
- this.ErrorCallback=obj.ErrorCallback;
124064
-
124065
- this.Download=function()
124066
- {
124067
- var self=this;
124068
- var fieldList=this.GetFieldList();
124069
- if (!fieldList)
124070
- {
124071
- message=`${this.Job.FunctionName}(${this.Args[0]}) can't support.`;
124072
- this.ErrorCallback(message);
124073
- self.RecvCallback(null, self.Job, self.DataKey);
124074
- return;
124075
- }
124076
-
124077
- //请求数据
124078
- JSNetwork.HttpRequest({
124079
- url: this.Url,
124080
- data:
124081
- {
124082
- "field": fieldList,
124083
- "symbol": [this.Symbol],
124084
- "condition":[ {"item":["finance","doc","exists","true"]}] ,
124085
- "start": 0,
124086
- "end": 200
124087
- },
124088
- type:"post",
124089
- dataType: "json",
124090
- async:true,
124091
- success: function (recvData)
124092
- {
124093
- var data=self.ToHQChartData(recvData);
124094
- if (data) //排序
124095
- data.sort(function (a, b) { return (a.Date - b.Date) });
124096
-
124097
- self.RecvCallback(data, self.Job, self.DataKey);
124098
- }
124099
- });
124100
- }
124101
-
124102
- this.ToHQChartData=function(recvData)
124103
- {
124104
- if (!recvData.stock || recvData.stock.length!=1) return null;
124105
-
124106
- var aryData=[];
124107
- var setDate=new Set(); //有重复数据 去掉
124108
- var stock=recvData.stock[0];
124109
- for(var i in stock.stockday)
124110
- {
124111
- var item=stock.stockday[i];
124112
- if (item.announcement1)
124113
- {
124114
- var hqchartItem=this.ToHQChartItemData(item.announcement1, item.finance1, item);
124115
- if (hqchartItem && !setDate.has(hqchartItem.Date))
124116
- {
124117
- aryData.push(hqchartItem);
124118
- setDate.add(hqchartItem.Date);
124119
- }
124120
- }
124121
-
124122
- if (item.announcement2)
124123
- {
124124
- var hqchartItem=this.ToHQChartItemData(item.announcement2, item.finance2, item);
124125
- if (hqchartItem && !setDate.has(hqchartItem.Date))
124126
- {
124127
- aryData.push(hqchartItem);
124128
- setDate.add(hqchartItem.Date);
124129
- }
124130
- }
124131
-
124132
- if (item.announcement3)
124133
- {
124134
- var hqchartItem=this.ToHQChartItemData(item.announcement3, item.finance3, item);
124135
- if (hqchartItem && !setDate.has(hqchartItem.Date))
124136
- {
124137
- aryData.push(hqchartItem);
124138
- setDate.add(hqchartItem.Date);
124139
- }
124140
- }
124141
-
124142
- if (item.announcement4)
124143
- {
124144
- var hqchartItem=this.ToHQChartItemData(item.announcement4, item.finance4, item);
124145
- if (hqchartItem && !setDate.has(hqchartItem.Date))
124146
- {
124147
- aryData.push(hqchartItem);
124148
- setDate.add(hqchartItem.Date);
124149
- }
124150
- }
124151
- }
124152
-
124153
- return aryData;
124154
- }
124155
-
124156
- //{ Date:日期 , Value:数值 }
124157
- this.ToHQChartItemData=function(announcement, finance, sourceItem)
124158
- {
124159
- var id=this.Args[0];
124160
- var date=announcement.year*10000;
124161
- var quarter=announcement.quarter;
124162
- switch(quarter)
124163
- {
124164
- case 1:
124165
- date+=331;
124166
- break;
124167
- case 2:
124168
- date+=630;
124169
- break;
124170
- case 3:
124171
- date+=930;
124172
- break;
124173
- case 4:
124174
- date+=1231;
124175
- break;
124176
- default:
124177
- return null;
124178
- }
124179
-
124180
- var result={ Date:date, Value:0 };
124181
- switch(id)
124182
- {
124183
- case 0:
124184
- result.Value=date%1000000; //0--返回报告期(YYMMDD格式),150930表示为2015年第三季
124185
- break;
124186
- case 1:
124187
- result.Value=finance.persearning;
124188
- break;
124189
- case 3:
124190
- result.Value=finance.peruprofit;
124191
- break;
124192
- case 4:
124193
- result.Value=finance.pernetasset;
124194
- break;
124195
- case 5:
124196
- result.Value=finance.percreserve;
124197
- break;
124198
- case 6:
124199
- result.Value=finance.woewa;
124200
- break;
124201
- case 7:
124202
- result.Value=finance.perccfo;
124203
- break;
124204
- case 8:
124205
- result.Value=finance.monetaryfunds;
124206
- break;
124207
- case 11:
124208
- result.Value=finance.areceivable;
124209
- break;
124210
- }
124211
-
124212
- return result;
124213
- }
124214
-
124215
- this.GetFieldList=function()
124216
- {
124217
- var id=this.Args[0];
124218
- switch(id)
124219
- {
124220
- case 0:
124221
- return ["finance.date"];
124222
- case 1: //persearning 每股收益
124223
- return ["finance.persearning"];
124224
- case 3: //peruprofit 每股未分配利润
124225
- return ["finance.peruprofit"];
124226
- case 4: //pernetasset 每股净资产
124227
- return ["finance.pernetasset"];
124228
- case 5: //percreserve 每股资本公积金
124229
- return ["finance.percreserve"];
124230
- case 6: //woewa 加权平均净资产收益
124231
- return ["finance.woewa"];
124232
- case 7: //perccfo 每股经营性现金流
124233
- return ["finance.perccfo"];
124234
- case 8: //monetaryfunds 货币资金
124235
- return ["finance.monetaryfunds"];
124236
- case 11: //areceivable 应收账款
124237
- return ["finance.areceivable"];
124238
- default:
124239
- return null;
124240
- }
124241
- }
124242
- }
124243
-
124244
- /////////////////////////////////////////////////////////
124245
- // 内置财务数据下载 某一期的数据
124246
- //
124247
- function DownloadFinOneData(obj)
124248
- {
124249
- this.newMethod=DownloadFinValueData; //派生
124250
- this.newMethod(obj);
124251
- delete this.newMethod;
124252
-
124253
- this.Download=function()
124254
- {
124255
- var self=this;
124256
- var fieldList=this.GetFieldList();
124257
- if (!fieldList)
124258
- {
124259
- message=`${this.Job.FunctionName}(${this.Args[0]}, ${this.Args[1]}, ${this.Args[2]}) can't support.`;
124260
- this.ErrorCallback(message);
124261
- self.RecvCallback(null, self.Job, self.DataKey);
124262
- return;
124263
- }
124264
-
124265
- var aryCondition=[ {"item":["finance","doc","exists","true"] } ];
124266
-
124267
- var year=this.Args[1];
124268
- var month=this.Args[2];
124269
- var dataIndex=0;
124270
- var dataEnd=3;
124271
- var preYear=null;
124272
- if (year==0 && month==0) //如果Y和MMDD都为0,表示最新的财报;
124273
- {
124274
-
124275
- }
124276
- else if (year==0 && month<300) //如果Y为0,MMDD为小于300的数字,表示最近一期向前推MMDD期的数据,如果是331,630,930,1231这些,表示最近一期的对应季报的数据;
124277
- {
124278
- dataIndex=month;
124279
- dataEnd=200;
124280
- }
124281
- else if (month==0 && year<1000) //如果Y为0,MMDD为小于300的数字,表示最近一期向前推MMDD期的数据,如果是331,630,930,1231这些,表示最近一期的对应季报的数据;
124282
- {
124283
- preYear=year;
124284
- }
124285
- else if (year>1909)
124286
- {
124287
- if (month==331)
124288
- {
124289
- aryCondition=
124290
- [
124291
- {"item":["announcement1.year","int32","eq",year]},
124292
- {"item":["finance1","doc","exists","true"]}
124293
- ];
124294
-
124295
- fieldList.push("announcement1.year");
124296
- fieldList.push("announcement1.quarter");
124297
- }
124298
- else if (month==630)
124299
- {
124300
- aryCondition=
124301
- [
124302
- {"item":["announcement2.year","int32","eq",year]},
124303
- {"item":["finance2","doc","exists","true"]}
124304
- ];
124305
-
124306
- fieldList.push("announcement2.year");
124307
- fieldList.push("announcement2.quarter");
124308
- }
124309
- else if (month==930)
124310
- {
124311
- aryCondition=
124312
- [
124313
- {"item":["announcement3.year","int32","eq",year]},
124314
- {"item":["finance3","doc","exists","true"]}
124315
- ];
124316
-
124317
- fieldList.push("announcement4.year");
124318
- fieldList.push("announcement4.quarter");
124319
- }
124320
- else
124321
- {
124322
- aryCondition=
124323
- [
124324
- {"item":["announcement4.year","int32","eq",year]},
124325
- {"item":["finance4","doc","exists","true"]}
124326
- ];
124327
-
124328
- fieldList.push("announcement4.year");
124329
- fieldList.push("announcement4.quarter");
124330
- }
124331
- }
124332
-
124333
- //请求数据
124334
- JSNetwork.HttpRequest({
124335
- url: this.Url,
124336
- data:
124337
- {
124338
- "field": fieldList,
124339
- "symbol": [this.Symbol],
124340
- "condition":aryCondition,
124341
- "start": 0,
124342
- "end": dataEnd
124343
- },
124344
- type:"post",
124345
- dataType: "json",
124346
- async:true,
124347
- success: function (recvData)
124348
- {
124349
- var data=self.ToHQChartData(recvData);
124350
- var result=null;
124351
- if (data && data.length>0)
124352
- {
124353
- data.sort(function (a, b) { return (b.Date-a.Date) });
124354
- if (preYear==null)
124355
- result=data[dataIndex]; //返回一个数据
124356
- else
124357
- result=self.GetPreYearData(data, preYear);
124358
- }
124359
- self.RecvCallback(result, self.Job, self.DataKey);
124360
- }
124361
- });
124362
- }
124363
-
124364
- this.GetPreYearData=function(data, preYear)
124365
- {
124366
- //331,630,930,1231这些,表示最近一期的对应季报的数据;
124367
- if (preYear==331 || preYear==630|| preYear==930 || preYear==1231)
124368
- {
124369
- for(var i in data)
124370
- {
124371
- var item=data[i];
124372
- if (item.Date%10000==preYear) return item;
124373
- }
124374
- }
124375
- else
124376
- {
124377
- //如果MMDD为0,Y为一数字,表示最近一期向前推Y年的同期数据;
124378
- var month=data[0].Date%1000;
124379
- for(var i=1, j=0; i<data.length ;++i)
124380
- {
124381
- var item=data[i];
124382
- if (item.Date%10000==month)
124383
- {
124384
- ++j;
124385
- if (j==preYear) return item;
124386
- }
124387
- }
124388
-
124389
- return null;
124390
- }
124391
- }
124392
- }
124393
-
124394
-
124395
124042
  function DownloadFinanceData(obj)
124396
124043
  {
124397
124044
  this.Url=obj.Url;
@@ -143147,7 +142794,7 @@ function HQChartScriptWorker()
143147
142794
 
143148
142795
 
143149
142796
 
143150
- var HQCHART_VERSION="1.1.13803";
142797
+ var HQCHART_VERSION="1.1.13815";
143151
142798
 
143152
142799
  function PrintHQChartVersion()
143153
142800
  {