hqchart 1.1.13810 → 1.1.13819

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.
@@ -16605,7 +16605,9 @@ function AverageWidthFrame()
16605
16605
  var exLine=item.ExtendLine[0];
16606
16606
  if (IFrameSplitOperator.IsNumber(exLine.Width))
16607
16607
  {
16608
- if (i==0) this.DrawLine(left,left-exLine.Width,y,item.LineColor,item.LineType,item);
16608
+ var lineType=item.LineType;
16609
+ if (IFrameSplitOperator.IsNumber(exLine.Type)) lineType=exLine.Type; //外部设置延长线样式
16610
+ if (i==0) this.DrawLine(left,left-exLine.Width,y,item.LineColor,lineType,item);
16609
16611
  textLeft-=exLine.Width;
16610
16612
  rectLeft-=exLine.Width
16611
16613
  }
@@ -16794,7 +16796,9 @@ function AverageWidthFrame()
16794
16796
  var exLine=item.ExtendLine[1];
16795
16797
  if (IFrameSplitOperator.IsNumber(exLine.Width))
16796
16798
  {
16797
- if (i==0) this.DrawLine(right,textLeft+exLine.Width,y,item.LineColor,item.LineType,item);
16799
+ var lineType=item.LineType;
16800
+ if (IFrameSplitOperator.IsNumber(exLine.Type)) lineType=exLine.Type; //外部设置延长线样式
16801
+ if (i==0) this.DrawLine(right,textLeft+exLine.Width,y,item.LineColor,lineType,item);
16798
16802
  textLeft+=exLine.Width;
16799
16803
  }
16800
16804
  }
@@ -113100,54 +113104,6 @@ function JSSymbolData(ast,option,jsExecute)
113100
113104
  return financeData.get(id);
113101
113105
  }
113102
113106
 
113103
- this.GetFinOne=function(jobItem)
113104
- {
113105
- var aryArgs=this.JobArgumentsToArray(jobItem, 3);
113106
- var key=this.GetStockDataKey(jobItem,aryArgs);
113107
- if (this.StockData.has(key)) return this.Execute.RunNextJob();
113108
- var self=this;
113109
- if (this.NetworkFilter)
113110
- {
113111
- var dateRange=this.Data.GetDateRange();
113112
- var obj=
113113
- {
113114
- Name:'JSSymbolData::GetFinOne', //类名::
113115
- Explain:'财务数据FINONE(ID,Y,MMDD)',
113116
- JobID:jobItem.ID,
113117
- Request:{ Url:self.StockHistoryDayApiUrl, Type:'POST', Data:{ Args:aryArgs, symbol: this.Symbol, daterange:dateRange } },
113118
- Self:this,
113119
- PreventDefault:false
113120
- };
113121
- this.NetworkFilter(obj, function(recvData)
113122
- {
113123
- self.RecvStockValue(recvData,jobItem,key,1);
113124
- self.Execute.RunNextJob();
113125
- });
113126
-
113127
- if (obj.PreventDefault==true) return; //已被上层替换,不调用默认的网络请求
113128
- }
113129
-
113130
- var apiDownload=new DownloadFinOneData(
113131
- {
113132
- Job:jobItem,
113133
- Symbol:this.Symbol,
113134
- Url:this.StockHistoryDayApiUrl,
113135
- Args:aryArgs,
113136
- DataKey:key,
113137
- Callback:function(recvData, jobItem, key)
113138
- {
113139
- self.RecvStockValue(recvData, jobItem, key,1);
113140
- self.Execute.RunNextJob();
113141
- },
113142
- ErrorCallback:function(strError)
113143
- {
113144
- self.AddStockValueError(key,strError);
113145
- }
113146
- });
113147
-
113148
- apiDownload.Download();
113149
- }
113150
-
113151
113107
  this.GetStockDataKey=function(jobItem, aryArgs)
113152
113108
  {
113153
113109
  var key=jobItem.FunctionName;
@@ -113165,55 +113121,6 @@ function JSSymbolData(ast,option,jsExecute)
113165
113121
  return key;
113166
113122
  }
113167
113123
 
113168
- this.GetFinValue=function(jobItem)
113169
- {
113170
- var aryArgs=this.JobArgumentsToArray(jobItem, 1);
113171
- var lID=aryArgs[0];
113172
- var key=this.GetStockDataKey(jobItem,aryArgs);
113173
- if (this.StockData.has(key)) return this.Execute.RunNextJob();
113174
- var self=this;
113175
- if (this.NetworkFilter)
113176
- {
113177
- var dateRange=this.Data.GetDateRange();
113178
- var obj=
113179
- {
113180
- Name:'JSSymbolData::GetFinValue', //类名::
113181
- Explain:'财务数据FINVALUE(ID)',
113182
- JobID:jobItem.ID,
113183
- Request:{ Url:self.StockHistoryDayApiUrl, Type:'POST', Data:{ id:lID, symbol: this.Symbol, daterange:dateRange } },
113184
- Self:this,
113185
- PreventDefault:false
113186
- };
113187
- this.NetworkFilter(obj, function(recvData)
113188
- {
113189
- self.RecvStockValue(recvData,jobItem,key,0);
113190
- self.Execute.RunNextJob();
113191
- });
113192
-
113193
- if (obj.PreventDefault==true) return; //已被上层替换,不调用默认的网络请求
113194
- }
113195
-
113196
- var apiDownload=new DownloadFinValueData(
113197
- {
113198
- Job:jobItem,
113199
- Symbol:this.Symbol,
113200
- Url:this.StockHistoryDayApiUrl,
113201
- Args:aryArgs,
113202
- DataKey:key,
113203
- Callback:function(recvData, jobItem, key)
113204
- {
113205
- self.RecvStockValue(recvData, jobItem, key,0);
113206
- self.Execute.RunNextJob();
113207
- },
113208
- ErrorCallback:function(strError)
113209
- {
113210
- self.AddStockValueError(key,strError);
113211
- }
113212
- });
113213
-
113214
- apiDownload.Download();
113215
- }
113216
-
113217
113124
  this.GetFinance=function(jobItem)
113218
113125
  {
113219
113126
  var aryArgs=this.JobArgumentsToArray(jobItem, 1);
@@ -115543,6 +115450,16 @@ var JS_ARRAY_PROFESSIONAL_FINANCE=
115543
115450
  Name:"BKJYONE", JobID:JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_BKJYONE,
115544
115451
  Explain:"板块交易类数据BKJYONE(ID,N,Y,MMDD)", FuncName:"JSSymbolData::GetBKJYOne",ArgCount:4
115545
115452
  },
115453
+ {
115454
+ Name:"FINVALUE", JobID:JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_FINVALUE,
115455
+ Explain:"财务数据FINVALUE(ID)", FuncName:"JSSymbolData::GetFinValue",ArgCount:1
115456
+ },
115457
+ {
115458
+ Name:"FINONE", JobID:JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_FINONE,
115459
+ Explain:"财务数据FINONE(ID,Y,MMDD)", FuncName:"JSSymbolData::GetFinOne",ArgCount:3
115460
+ }
115461
+
115462
+
115546
115463
  ];
115547
115464
 
115548
115465
  function JSExecute(ast,option)
@@ -115751,14 +115668,12 @@ function JSExecute(ast,option)
115751
115668
  case JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_SECTION_SF:
115752
115669
  return this.SymbolData.GetSectionFinanceData(jobItem); //财务截面报告数据
115753
115670
 
115754
- case JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_FINONE:
115755
- return this.SymbolData.GetFinOne(jobItem);
115756
- case JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_FINVALUE:
115757
- return this.SymbolData.GetFinValue(jobItem);
115758
115671
  case JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_FINANCE:
115759
115672
  return this.SymbolData.GetFinance(jobItem);
115760
115673
 
115761
115674
  //专业财务数据
115675
+ case JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_FINONE:
115676
+ case JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_FINVALUE:
115762
115677
  case JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_GPJYVALUE:
115763
115678
  case JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_GPJYONE:
115764
115679
  case JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_SCJYVALUE:
@@ -124128,349 +124043,6 @@ ScriptIndexConsole.SetDomain = function (domain, cacheDomain) //修改API地
124128
124043
  JSComplier.SetDomain(domain,cacheDomain);
124129
124044
  }
124130
124045
 
124131
- //////////////////////////////////////////////////////////////////////////////////////////////
124132
- //内置财务数据下载
124133
- //
124134
- function DownloadFinValueData(obj)
124135
- {
124136
- this.Url=obj.Url;
124137
- this.Job=obj.Job;
124138
- this.Symbol=obj.Symbol;
124139
- this.Args=obj.Args;
124140
- this.DataKey=obj.DataKey;
124141
- this.RecvCallback=obj.Callback;
124142
- this.ErrorCallback=obj.ErrorCallback;
124143
-
124144
- this.Download=function()
124145
- {
124146
- var self=this;
124147
- var fieldList=this.GetFieldList();
124148
- if (!fieldList)
124149
- {
124150
- message=`${this.Job.FunctionName}(${this.Args[0]}) can't support.`;
124151
- this.ErrorCallback(message);
124152
- self.RecvCallback(null, self.Job, self.DataKey);
124153
- return;
124154
- }
124155
-
124156
- //请求数据
124157
- JSNetwork.HttpRequest({
124158
- url: this.Url,
124159
- data:
124160
- {
124161
- "field": fieldList,
124162
- "symbol": [this.Symbol],
124163
- "condition":[ {"item":["finance","doc","exists","true"]}] ,
124164
- "start": 0,
124165
- "end": 200
124166
- },
124167
- type:"post",
124168
- dataType: "json",
124169
- async:true,
124170
- success: function (recvData)
124171
- {
124172
- var data=self.ToHQChartData(recvData);
124173
- if (data) //排序
124174
- data.sort(function (a, b) { return (a.Date - b.Date) });
124175
-
124176
- self.RecvCallback(data, self.Job, self.DataKey);
124177
- }
124178
- });
124179
- }
124180
-
124181
- this.ToHQChartData=function(recvData)
124182
- {
124183
- if (!recvData.stock || recvData.stock.length!=1) return null;
124184
-
124185
- var aryData=[];
124186
- var setDate=new Set(); //有重复数据 去掉
124187
- var stock=recvData.stock[0];
124188
- for(var i in stock.stockday)
124189
- {
124190
- var item=stock.stockday[i];
124191
- if (item.announcement1)
124192
- {
124193
- var hqchartItem=this.ToHQChartItemData(item.announcement1, item.finance1, item);
124194
- if (hqchartItem && !setDate.has(hqchartItem.Date))
124195
- {
124196
- aryData.push(hqchartItem);
124197
- setDate.add(hqchartItem.Date);
124198
- }
124199
- }
124200
-
124201
- if (item.announcement2)
124202
- {
124203
- var hqchartItem=this.ToHQChartItemData(item.announcement2, item.finance2, item);
124204
- if (hqchartItem && !setDate.has(hqchartItem.Date))
124205
- {
124206
- aryData.push(hqchartItem);
124207
- setDate.add(hqchartItem.Date);
124208
- }
124209
- }
124210
-
124211
- if (item.announcement3)
124212
- {
124213
- var hqchartItem=this.ToHQChartItemData(item.announcement3, item.finance3, item);
124214
- if (hqchartItem && !setDate.has(hqchartItem.Date))
124215
- {
124216
- aryData.push(hqchartItem);
124217
- setDate.add(hqchartItem.Date);
124218
- }
124219
- }
124220
-
124221
- if (item.announcement4)
124222
- {
124223
- var hqchartItem=this.ToHQChartItemData(item.announcement4, item.finance4, item);
124224
- if (hqchartItem && !setDate.has(hqchartItem.Date))
124225
- {
124226
- aryData.push(hqchartItem);
124227
- setDate.add(hqchartItem.Date);
124228
- }
124229
- }
124230
- }
124231
-
124232
- return aryData;
124233
- }
124234
-
124235
- //{ Date:日期 , Value:数值 }
124236
- this.ToHQChartItemData=function(announcement, finance, sourceItem)
124237
- {
124238
- var id=this.Args[0];
124239
- var date=announcement.year*10000;
124240
- var quarter=announcement.quarter;
124241
- switch(quarter)
124242
- {
124243
- case 1:
124244
- date+=331;
124245
- break;
124246
- case 2:
124247
- date+=630;
124248
- break;
124249
- case 3:
124250
- date+=930;
124251
- break;
124252
- case 4:
124253
- date+=1231;
124254
- break;
124255
- default:
124256
- return null;
124257
- }
124258
-
124259
- var result={ Date:date, Value:0 };
124260
- switch(id)
124261
- {
124262
- case 0:
124263
- result.Value=date%1000000; //0--返回报告期(YYMMDD格式),150930表示为2015年第三季
124264
- break;
124265
- case 1:
124266
- result.Value=finance.persearning;
124267
- break;
124268
- case 3:
124269
- result.Value=finance.peruprofit;
124270
- break;
124271
- case 4:
124272
- result.Value=finance.pernetasset;
124273
- break;
124274
- case 5:
124275
- result.Value=finance.percreserve;
124276
- break;
124277
- case 6:
124278
- result.Value=finance.woewa;
124279
- break;
124280
- case 7:
124281
- result.Value=finance.perccfo;
124282
- break;
124283
- case 8:
124284
- result.Value=finance.monetaryfunds;
124285
- break;
124286
- case 11:
124287
- result.Value=finance.areceivable;
124288
- break;
124289
- }
124290
-
124291
- return result;
124292
- }
124293
-
124294
- this.GetFieldList=function()
124295
- {
124296
- var id=this.Args[0];
124297
- switch(id)
124298
- {
124299
- case 0:
124300
- return ["finance.date"];
124301
- case 1: //persearning 每股收益
124302
- return ["finance.persearning"];
124303
- case 3: //peruprofit 每股未分配利润
124304
- return ["finance.peruprofit"];
124305
- case 4: //pernetasset 每股净资产
124306
- return ["finance.pernetasset"];
124307
- case 5: //percreserve 每股资本公积金
124308
- return ["finance.percreserve"];
124309
- case 6: //woewa 加权平均净资产收益
124310
- return ["finance.woewa"];
124311
- case 7: //perccfo 每股经营性现金流
124312
- return ["finance.perccfo"];
124313
- case 8: //monetaryfunds 货币资金
124314
- return ["finance.monetaryfunds"];
124315
- case 11: //areceivable 应收账款
124316
- return ["finance.areceivable"];
124317
- default:
124318
- return null;
124319
- }
124320
- }
124321
- }
124322
-
124323
- /////////////////////////////////////////////////////////
124324
- // 内置财务数据下载 某一期的数据
124325
- //
124326
- function DownloadFinOneData(obj)
124327
- {
124328
- this.newMethod=DownloadFinValueData; //派生
124329
- this.newMethod(obj);
124330
- delete this.newMethod;
124331
-
124332
- this.Download=function()
124333
- {
124334
- var self=this;
124335
- var fieldList=this.GetFieldList();
124336
- if (!fieldList)
124337
- {
124338
- message=`${this.Job.FunctionName}(${this.Args[0]}, ${this.Args[1]}, ${this.Args[2]}) can't support.`;
124339
- this.ErrorCallback(message);
124340
- self.RecvCallback(null, self.Job, self.DataKey);
124341
- return;
124342
- }
124343
-
124344
- var aryCondition=[ {"item":["finance","doc","exists","true"] } ];
124345
-
124346
- var year=this.Args[1];
124347
- var month=this.Args[2];
124348
- var dataIndex=0;
124349
- var dataEnd=3;
124350
- var preYear=null;
124351
- if (year==0 && month==0) //如果Y和MMDD都为0,表示最新的财报;
124352
- {
124353
-
124354
- }
124355
- else if (year==0 && month<300) //如果Y为0,MMDD为小于300的数字,表示最近一期向前推MMDD期的数据,如果是331,630,930,1231这些,表示最近一期的对应季报的数据;
124356
- {
124357
- dataIndex=month;
124358
- dataEnd=200;
124359
- }
124360
- else if (month==0 && year<1000) //如果Y为0,MMDD为小于300的数字,表示最近一期向前推MMDD期的数据,如果是331,630,930,1231这些,表示最近一期的对应季报的数据;
124361
- {
124362
- preYear=year;
124363
- }
124364
- else if (year>1909)
124365
- {
124366
- if (month==331)
124367
- {
124368
- aryCondition=
124369
- [
124370
- {"item":["announcement1.year","int32","eq",year]},
124371
- {"item":["finance1","doc","exists","true"]}
124372
- ];
124373
-
124374
- fieldList.push("announcement1.year");
124375
- fieldList.push("announcement1.quarter");
124376
- }
124377
- else if (month==630)
124378
- {
124379
- aryCondition=
124380
- [
124381
- {"item":["announcement2.year","int32","eq",year]},
124382
- {"item":["finance2","doc","exists","true"]}
124383
- ];
124384
-
124385
- fieldList.push("announcement2.year");
124386
- fieldList.push("announcement2.quarter");
124387
- }
124388
- else if (month==930)
124389
- {
124390
- aryCondition=
124391
- [
124392
- {"item":["announcement3.year","int32","eq",year]},
124393
- {"item":["finance3","doc","exists","true"]}
124394
- ];
124395
-
124396
- fieldList.push("announcement4.year");
124397
- fieldList.push("announcement4.quarter");
124398
- }
124399
- else
124400
- {
124401
- aryCondition=
124402
- [
124403
- {"item":["announcement4.year","int32","eq",year]},
124404
- {"item":["finance4","doc","exists","true"]}
124405
- ];
124406
-
124407
- fieldList.push("announcement4.year");
124408
- fieldList.push("announcement4.quarter");
124409
- }
124410
- }
124411
-
124412
- //请求数据
124413
- JSNetwork.HttpRequest({
124414
- url: this.Url,
124415
- data:
124416
- {
124417
- "field": fieldList,
124418
- "symbol": [this.Symbol],
124419
- "condition":aryCondition,
124420
- "start": 0,
124421
- "end": dataEnd
124422
- },
124423
- type:"post",
124424
- dataType: "json",
124425
- async:true,
124426
- success: function (recvData)
124427
- {
124428
- var data=self.ToHQChartData(recvData);
124429
- var result=null;
124430
- if (data && data.length>0)
124431
- {
124432
- data.sort(function (a, b) { return (b.Date-a.Date) });
124433
- if (preYear==null)
124434
- result=data[dataIndex]; //返回一个数据
124435
- else
124436
- result=self.GetPreYearData(data, preYear);
124437
- }
124438
- self.RecvCallback(result, self.Job, self.DataKey);
124439
- }
124440
- });
124441
- }
124442
-
124443
- this.GetPreYearData=function(data, preYear)
124444
- {
124445
- //331,630,930,1231这些,表示最近一期的对应季报的数据;
124446
- if (preYear==331 || preYear==630|| preYear==930 || preYear==1231)
124447
- {
124448
- for(var i in data)
124449
- {
124450
- var item=data[i];
124451
- if (item.Date%10000==preYear) return item;
124452
- }
124453
- }
124454
- else
124455
- {
124456
- //如果MMDD为0,Y为一数字,表示最近一期向前推Y年的同期数据;
124457
- var month=data[0].Date%1000;
124458
- for(var i=1, j=0; i<data.length ;++i)
124459
- {
124460
- var item=data[i];
124461
- if (item.Date%10000==month)
124462
- {
124463
- ++j;
124464
- if (j==preYear) return item;
124465
- }
124466
- }
124467
-
124468
- return null;
124469
- }
124470
- }
124471
- }
124472
-
124473
-
124474
124046
  function DownloadFinanceData(obj)
124475
124047
  {
124476
124048
  this.Url=obj.Url;
@@ -143226,7 +142798,7 @@ function HQChartScriptWorker()
143226
142798
 
143227
142799
 
143228
142800
 
143229
- var HQCHART_VERSION="1.1.13809";
142801
+ var HQCHART_VERSION="1.1.13818";
143230
142802
 
143231
142803
  function PrintHQChartVersion()
143232
142804
  {