hqchart 1.1.13810 → 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.
@@ -139,6 +139,12 @@ HQData.NetworkFilter=function(data, callback)
139
139
  case "JSSymbolData::GetBKJYOne":
140
140
  HQData.BKJYOne_RequestData(data,callback);
141
141
  break;
142
+ case "JSSymbolData::GetFinValue":
143
+ HQData.FinValue_RequestData(data,callback);
144
+ break;
145
+ case "JSSymbolData::GetFinOne":
146
+ HQData.FinOne_RequestData(data,callback);
147
+ break;
142
148
 
143
149
  //////////////////////////////////////////////////////
144
150
  //报价列表数据
@@ -895,6 +901,39 @@ HQData.BKJYOne_RequestData=function(data,callback)
895
901
  callback({ Date:20230509, Value:value});
896
902
  }
897
903
 
904
+ HQData.FinValue_RequestData=function(data,callback)
905
+ {
906
+ data.PreventDefault=true;
907
+ var symbol=data.Request.Data.symbol;
908
+ var id=data.Request.Data.Args[0];
909
+
910
+ var aryData=[];
911
+ var kData=data.Self.Data;
912
+ for(var i=0;i<kData.Data.length;++i)
913
+ {
914
+ var kItem=kData.Data[i];
915
+ if (i%60==21)
916
+ {
917
+ var value=HQData.GetRandomTestData(10,20)
918
+ aryData.push({ Date:kItem.Date, Time:kItem.Time, Value:value });
919
+ }
920
+ }
921
+
922
+ callback(aryData);
923
+ }
924
+
925
+ HQData.FinOne_RequestData=function(data,callback)
926
+ {
927
+ data.PreventDefault=true;
928
+ var symbol=data.Request.Data.symbol;
929
+ var id=data.Request.Data.Args[0];
930
+ var year=data.Request.Data.Args[1];
931
+ var day=data.Request.Data.Args[2];
932
+
933
+ var value=HQData.GetRandomTestData(80,90);
934
+ callback({ Date:20230509, Value:value});
935
+ }
936
+
898
937
 
899
938
  //////////////////////////////////////////////////////////////////////////////////////
900
939
  // 报价列表
@@ -113056,54 +113056,6 @@ function JSSymbolData(ast,option,jsExecute)
113056
113056
  return financeData.get(id);
113057
113057
  }
113058
113058
 
113059
- this.GetFinOne=function(jobItem)
113060
- {
113061
- var aryArgs=this.JobArgumentsToArray(jobItem, 3);
113062
- var key=this.GetStockDataKey(jobItem,aryArgs);
113063
- if (this.StockData.has(key)) return this.Execute.RunNextJob();
113064
- var self=this;
113065
- if (this.NetworkFilter)
113066
- {
113067
- var dateRange=this.Data.GetDateRange();
113068
- var obj=
113069
- {
113070
- Name:'JSSymbolData::GetFinOne', //类名::
113071
- Explain:'财务数据FINONE(ID,Y,MMDD)',
113072
- JobID:jobItem.ID,
113073
- Request:{ Url:self.StockHistoryDayApiUrl, Type:'POST', Data:{ Args:aryArgs, symbol: this.Symbol, daterange:dateRange } },
113074
- Self:this,
113075
- PreventDefault:false
113076
- };
113077
- this.NetworkFilter(obj, function(recvData)
113078
- {
113079
- self.RecvStockValue(recvData,jobItem,key,1);
113080
- self.Execute.RunNextJob();
113081
- });
113082
-
113083
- if (obj.PreventDefault==true) return; //已被上层替换,不调用默认的网络请求
113084
- }
113085
-
113086
- var apiDownload=new DownloadFinOneData(
113087
- {
113088
- Job:jobItem,
113089
- Symbol:this.Symbol,
113090
- Url:this.StockHistoryDayApiUrl,
113091
- Args:aryArgs,
113092
- DataKey:key,
113093
- Callback:function(recvData, jobItem, key)
113094
- {
113095
- self.RecvStockValue(recvData, jobItem, key,1);
113096
- self.Execute.RunNextJob();
113097
- },
113098
- ErrorCallback:function(strError)
113099
- {
113100
- self.AddStockValueError(key,strError);
113101
- }
113102
- });
113103
-
113104
- apiDownload.Download();
113105
- }
113106
-
113107
113059
  this.GetStockDataKey=function(jobItem, aryArgs)
113108
113060
  {
113109
113061
  var key=jobItem.FunctionName;
@@ -113121,55 +113073,6 @@ function JSSymbolData(ast,option,jsExecute)
113121
113073
  return key;
113122
113074
  }
113123
113075
 
113124
- this.GetFinValue=function(jobItem)
113125
- {
113126
- var aryArgs=this.JobArgumentsToArray(jobItem, 1);
113127
- var lID=aryArgs[0];
113128
- var key=this.GetStockDataKey(jobItem,aryArgs);
113129
- if (this.StockData.has(key)) return this.Execute.RunNextJob();
113130
- var self=this;
113131
- if (this.NetworkFilter)
113132
- {
113133
- var dateRange=this.Data.GetDateRange();
113134
- var obj=
113135
- {
113136
- Name:'JSSymbolData::GetFinValue', //类名::
113137
- Explain:'财务数据FINVALUE(ID)',
113138
- JobID:jobItem.ID,
113139
- Request:{ Url:self.StockHistoryDayApiUrl, Type:'POST', Data:{ id:lID, symbol: this.Symbol, daterange:dateRange } },
113140
- Self:this,
113141
- PreventDefault:false
113142
- };
113143
- this.NetworkFilter(obj, function(recvData)
113144
- {
113145
- self.RecvStockValue(recvData,jobItem,key,0);
113146
- self.Execute.RunNextJob();
113147
- });
113148
-
113149
- if (obj.PreventDefault==true) return; //已被上层替换,不调用默认的网络请求
113150
- }
113151
-
113152
- var apiDownload=new DownloadFinValueData(
113153
- {
113154
- Job:jobItem,
113155
- Symbol:this.Symbol,
113156
- Url:this.StockHistoryDayApiUrl,
113157
- Args:aryArgs,
113158
- DataKey:key,
113159
- Callback:function(recvData, jobItem, key)
113160
- {
113161
- self.RecvStockValue(recvData, jobItem, key,0);
113162
- self.Execute.RunNextJob();
113163
- },
113164
- ErrorCallback:function(strError)
113165
- {
113166
- self.AddStockValueError(key,strError);
113167
- }
113168
- });
113169
-
113170
- apiDownload.Download();
113171
- }
113172
-
113173
113076
  this.GetFinance=function(jobItem)
113174
113077
  {
113175
113078
  var aryArgs=this.JobArgumentsToArray(jobItem, 1);
@@ -115499,6 +115402,16 @@ var JS_ARRAY_PROFESSIONAL_FINANCE=
115499
115402
  Name:"BKJYONE", JobID:JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_BKJYONE,
115500
115403
  Explain:"板块交易类数据BKJYONE(ID,N,Y,MMDD)", FuncName:"JSSymbolData::GetBKJYOne",ArgCount:4
115501
115404
  },
115405
+ {
115406
+ Name:"FINVALUE", JobID:JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_FINVALUE,
115407
+ Explain:"财务数据FINVALUE(ID)", FuncName:"JSSymbolData::GetFinValue",ArgCount:1
115408
+ },
115409
+ {
115410
+ Name:"FINONE", JobID:JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_FINONE,
115411
+ Explain:"财务数据FINONE(ID,Y,MMDD)", FuncName:"JSSymbolData::GetFinOne",ArgCount:3
115412
+ }
115413
+
115414
+
115502
115415
  ];
115503
115416
 
115504
115417
  function JSExecute(ast,option)
@@ -115707,14 +115620,12 @@ function JSExecute(ast,option)
115707
115620
  case JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_SECTION_SF:
115708
115621
  return this.SymbolData.GetSectionFinanceData(jobItem); //财务截面报告数据
115709
115622
 
115710
- case JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_FINONE:
115711
- return this.SymbolData.GetFinOne(jobItem);
115712
- case JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_FINVALUE:
115713
- return this.SymbolData.GetFinValue(jobItem);
115714
115623
  case JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_FINANCE:
115715
115624
  return this.SymbolData.GetFinance(jobItem);
115716
115625
 
115717
115626
  //专业财务数据
115627
+ case JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_FINONE:
115628
+ case JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_FINVALUE:
115718
115629
  case JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_GPJYVALUE:
115719
115630
  case JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_GPJYONE:
115720
115631
  case JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_SCJYVALUE:
@@ -124084,349 +123995,6 @@ ScriptIndexConsole.SetDomain = function (domain, cacheDomain) //修改API地
124084
123995
  JSComplier.SetDomain(domain,cacheDomain);
124085
123996
  }
124086
123997
 
124087
- //////////////////////////////////////////////////////////////////////////////////////////////
124088
- //内置财务数据下载
124089
- //
124090
- function DownloadFinValueData(obj)
124091
- {
124092
- this.Url=obj.Url;
124093
- this.Job=obj.Job;
124094
- this.Symbol=obj.Symbol;
124095
- this.Args=obj.Args;
124096
- this.DataKey=obj.DataKey;
124097
- this.RecvCallback=obj.Callback;
124098
- this.ErrorCallback=obj.ErrorCallback;
124099
-
124100
- this.Download=function()
124101
- {
124102
- var self=this;
124103
- var fieldList=this.GetFieldList();
124104
- if (!fieldList)
124105
- {
124106
- message=`${this.Job.FunctionName}(${this.Args[0]}) can't support.`;
124107
- this.ErrorCallback(message);
124108
- self.RecvCallback(null, self.Job, self.DataKey);
124109
- return;
124110
- }
124111
-
124112
- //请求数据
124113
- JSNetwork.HttpRequest({
124114
- url: this.Url,
124115
- data:
124116
- {
124117
- "field": fieldList,
124118
- "symbol": [this.Symbol],
124119
- "condition":[ {"item":["finance","doc","exists","true"]}] ,
124120
- "start": 0,
124121
- "end": 200
124122
- },
124123
- type:"post",
124124
- dataType: "json",
124125
- async:true,
124126
- success: function (recvData)
124127
- {
124128
- var data=self.ToHQChartData(recvData);
124129
- if (data) //排序
124130
- data.sort(function (a, b) { return (a.Date - b.Date) });
124131
-
124132
- self.RecvCallback(data, self.Job, self.DataKey);
124133
- }
124134
- });
124135
- }
124136
-
124137
- this.ToHQChartData=function(recvData)
124138
- {
124139
- if (!recvData.stock || recvData.stock.length!=1) return null;
124140
-
124141
- var aryData=[];
124142
- var setDate=new Set(); //有重复数据 去掉
124143
- var stock=recvData.stock[0];
124144
- for(var i in stock.stockday)
124145
- {
124146
- var item=stock.stockday[i];
124147
- if (item.announcement1)
124148
- {
124149
- var hqchartItem=this.ToHQChartItemData(item.announcement1, item.finance1, item);
124150
- if (hqchartItem && !setDate.has(hqchartItem.Date))
124151
- {
124152
- aryData.push(hqchartItem);
124153
- setDate.add(hqchartItem.Date);
124154
- }
124155
- }
124156
-
124157
- if (item.announcement2)
124158
- {
124159
- var hqchartItem=this.ToHQChartItemData(item.announcement2, item.finance2, item);
124160
- if (hqchartItem && !setDate.has(hqchartItem.Date))
124161
- {
124162
- aryData.push(hqchartItem);
124163
- setDate.add(hqchartItem.Date);
124164
- }
124165
- }
124166
-
124167
- if (item.announcement3)
124168
- {
124169
- var hqchartItem=this.ToHQChartItemData(item.announcement3, item.finance3, item);
124170
- if (hqchartItem && !setDate.has(hqchartItem.Date))
124171
- {
124172
- aryData.push(hqchartItem);
124173
- setDate.add(hqchartItem.Date);
124174
- }
124175
- }
124176
-
124177
- if (item.announcement4)
124178
- {
124179
- var hqchartItem=this.ToHQChartItemData(item.announcement4, item.finance4, item);
124180
- if (hqchartItem && !setDate.has(hqchartItem.Date))
124181
- {
124182
- aryData.push(hqchartItem);
124183
- setDate.add(hqchartItem.Date);
124184
- }
124185
- }
124186
- }
124187
-
124188
- return aryData;
124189
- }
124190
-
124191
- //{ Date:日期 , Value:数值 }
124192
- this.ToHQChartItemData=function(announcement, finance, sourceItem)
124193
- {
124194
- var id=this.Args[0];
124195
- var date=announcement.year*10000;
124196
- var quarter=announcement.quarter;
124197
- switch(quarter)
124198
- {
124199
- case 1:
124200
- date+=331;
124201
- break;
124202
- case 2:
124203
- date+=630;
124204
- break;
124205
- case 3:
124206
- date+=930;
124207
- break;
124208
- case 4:
124209
- date+=1231;
124210
- break;
124211
- default:
124212
- return null;
124213
- }
124214
-
124215
- var result={ Date:date, Value:0 };
124216
- switch(id)
124217
- {
124218
- case 0:
124219
- result.Value=date%1000000; //0--返回报告期(YYMMDD格式),150930表示为2015年第三季
124220
- break;
124221
- case 1:
124222
- result.Value=finance.persearning;
124223
- break;
124224
- case 3:
124225
- result.Value=finance.peruprofit;
124226
- break;
124227
- case 4:
124228
- result.Value=finance.pernetasset;
124229
- break;
124230
- case 5:
124231
- result.Value=finance.percreserve;
124232
- break;
124233
- case 6:
124234
- result.Value=finance.woewa;
124235
- break;
124236
- case 7:
124237
- result.Value=finance.perccfo;
124238
- break;
124239
- case 8:
124240
- result.Value=finance.monetaryfunds;
124241
- break;
124242
- case 11:
124243
- result.Value=finance.areceivable;
124244
- break;
124245
- }
124246
-
124247
- return result;
124248
- }
124249
-
124250
- this.GetFieldList=function()
124251
- {
124252
- var id=this.Args[0];
124253
- switch(id)
124254
- {
124255
- case 0:
124256
- return ["finance.date"];
124257
- case 1: //persearning 每股收益
124258
- return ["finance.persearning"];
124259
- case 3: //peruprofit 每股未分配利润
124260
- return ["finance.peruprofit"];
124261
- case 4: //pernetasset 每股净资产
124262
- return ["finance.pernetasset"];
124263
- case 5: //percreserve 每股资本公积金
124264
- return ["finance.percreserve"];
124265
- case 6: //woewa 加权平均净资产收益
124266
- return ["finance.woewa"];
124267
- case 7: //perccfo 每股经营性现金流
124268
- return ["finance.perccfo"];
124269
- case 8: //monetaryfunds 货币资金
124270
- return ["finance.monetaryfunds"];
124271
- case 11: //areceivable 应收账款
124272
- return ["finance.areceivable"];
124273
- default:
124274
- return null;
124275
- }
124276
- }
124277
- }
124278
-
124279
- /////////////////////////////////////////////////////////
124280
- // 内置财务数据下载 某一期的数据
124281
- //
124282
- function DownloadFinOneData(obj)
124283
- {
124284
- this.newMethod=DownloadFinValueData; //派生
124285
- this.newMethod(obj);
124286
- delete this.newMethod;
124287
-
124288
- this.Download=function()
124289
- {
124290
- var self=this;
124291
- var fieldList=this.GetFieldList();
124292
- if (!fieldList)
124293
- {
124294
- message=`${this.Job.FunctionName}(${this.Args[0]}, ${this.Args[1]}, ${this.Args[2]}) can't support.`;
124295
- this.ErrorCallback(message);
124296
- self.RecvCallback(null, self.Job, self.DataKey);
124297
- return;
124298
- }
124299
-
124300
- var aryCondition=[ {"item":["finance","doc","exists","true"] } ];
124301
-
124302
- var year=this.Args[1];
124303
- var month=this.Args[2];
124304
- var dataIndex=0;
124305
- var dataEnd=3;
124306
- var preYear=null;
124307
- if (year==0 && month==0) //如果Y和MMDD都为0,表示最新的财报;
124308
- {
124309
-
124310
- }
124311
- else if (year==0 && month<300) //如果Y为0,MMDD为小于300的数字,表示最近一期向前推MMDD期的数据,如果是331,630,930,1231这些,表示最近一期的对应季报的数据;
124312
- {
124313
- dataIndex=month;
124314
- dataEnd=200;
124315
- }
124316
- else if (month==0 && year<1000) //如果Y为0,MMDD为小于300的数字,表示最近一期向前推MMDD期的数据,如果是331,630,930,1231这些,表示最近一期的对应季报的数据;
124317
- {
124318
- preYear=year;
124319
- }
124320
- else if (year>1909)
124321
- {
124322
- if (month==331)
124323
- {
124324
- aryCondition=
124325
- [
124326
- {"item":["announcement1.year","int32","eq",year]},
124327
- {"item":["finance1","doc","exists","true"]}
124328
- ];
124329
-
124330
- fieldList.push("announcement1.year");
124331
- fieldList.push("announcement1.quarter");
124332
- }
124333
- else if (month==630)
124334
- {
124335
- aryCondition=
124336
- [
124337
- {"item":["announcement2.year","int32","eq",year]},
124338
- {"item":["finance2","doc","exists","true"]}
124339
- ];
124340
-
124341
- fieldList.push("announcement2.year");
124342
- fieldList.push("announcement2.quarter");
124343
- }
124344
- else if (month==930)
124345
- {
124346
- aryCondition=
124347
- [
124348
- {"item":["announcement3.year","int32","eq",year]},
124349
- {"item":["finance3","doc","exists","true"]}
124350
- ];
124351
-
124352
- fieldList.push("announcement4.year");
124353
- fieldList.push("announcement4.quarter");
124354
- }
124355
- else
124356
- {
124357
- aryCondition=
124358
- [
124359
- {"item":["announcement4.year","int32","eq",year]},
124360
- {"item":["finance4","doc","exists","true"]}
124361
- ];
124362
-
124363
- fieldList.push("announcement4.year");
124364
- fieldList.push("announcement4.quarter");
124365
- }
124366
- }
124367
-
124368
- //请求数据
124369
- JSNetwork.HttpRequest({
124370
- url: this.Url,
124371
- data:
124372
- {
124373
- "field": fieldList,
124374
- "symbol": [this.Symbol],
124375
- "condition":aryCondition,
124376
- "start": 0,
124377
- "end": dataEnd
124378
- },
124379
- type:"post",
124380
- dataType: "json",
124381
- async:true,
124382
- success: function (recvData)
124383
- {
124384
- var data=self.ToHQChartData(recvData);
124385
- var result=null;
124386
- if (data && data.length>0)
124387
- {
124388
- data.sort(function (a, b) { return (b.Date-a.Date) });
124389
- if (preYear==null)
124390
- result=data[dataIndex]; //返回一个数据
124391
- else
124392
- result=self.GetPreYearData(data, preYear);
124393
- }
124394
- self.RecvCallback(result, self.Job, self.DataKey);
124395
- }
124396
- });
124397
- }
124398
-
124399
- this.GetPreYearData=function(data, preYear)
124400
- {
124401
- //331,630,930,1231这些,表示最近一期的对应季报的数据;
124402
- if (preYear==331 || preYear==630|| preYear==930 || preYear==1231)
124403
- {
124404
- for(var i in data)
124405
- {
124406
- var item=data[i];
124407
- if (item.Date%10000==preYear) return item;
124408
- }
124409
- }
124410
- else
124411
- {
124412
- //如果MMDD为0,Y为一数字,表示最近一期向前推Y年的同期数据;
124413
- var month=data[0].Date%1000;
124414
- for(var i=1, j=0; i<data.length ;++i)
124415
- {
124416
- var item=data[i];
124417
- if (item.Date%10000==month)
124418
- {
124419
- ++j;
124420
- if (j==preYear) return item;
124421
- }
124422
- }
124423
-
124424
- return null;
124425
- }
124426
- }
124427
- }
124428
-
124429
-
124430
123998
  function DownloadFinanceData(obj)
124431
123999
  {
124432
124000
  this.Url=obj.Url;
@@ -138670,7 +138238,7 @@ function ScrollBarBGChart()
138670
138238
 
138671
138239
 
138672
138240
 
138673
- var HQCHART_VERSION="1.1.13809";
138241
+ var HQCHART_VERSION="1.1.13815";
138674
138242
 
138675
138243
  function PrintHQChartVersion()
138676
138244
  {
@@ -5,7 +5,7 @@
5
5
 
6
6
 
7
7
 
8
- var HQCHART_VERSION="1.1.13809";
8
+ var HQCHART_VERSION="1.1.13815";
9
9
 
10
10
  function PrintHQChartVersion()
11
11
  {
@@ -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
  // 报价列表