• User asked "Is there a BI engine?" Investigation found a substantial
    metadata-driven BI layer that the wiki had no dedicated coverage for.
    
    New page reference/maintainer/bi-engine.md:
    - Charts: gdsconfigcharmaster (3,006 rows) + slave (1,951) +
      CharServiceImpl (2,219 lines, one of the heaviest in
      xlyBusinessService). 11 chart types catalogued by sCharType
      distribution: Div(1558)/sLabel(1143)/Progress(137)/sPie(52)/
      commonList(45)/sColumnarGroup(30)/sColumnar(28)/sBrokenLine(5)/
      sBar(3)/ColorBlock(3)/sGauge(2).
    - 20 Sp_chart_* aggregation procs catalogued by domain (homepage
      cards, today/month sales, financial, equipment/shop-floor).
    - 6 /indexPage/commonChar dashboard modules listed by sId+name.
    - KPI subsystem: 6 kpi* tables (kpimaster=124,524 rows live),
      KpiServiceImpl (833 lines), BusinessModelKpiServiceImpl (901),
      FlushModleKpiThread, 2 Sp_KPI_* procs + spKPImodule.
    - Render flow end-to-end (SPA → getModelBysId → CharServiceImpl
      → generic proc dispatch → ECharts).
    - Customer-override KPI examples under script/客户/ noted.
    - Explicit "what this is not": not self-service BI, not real-time
      analytics, not OLAP-cube-backed.
    - Added to mkdocs nav under Reference (Maintainer).
    
    Tech-stack.md correction:
    - The OLAP4J row previously claimed "1 file in xlyPersist imports
      org.olap4j.*". Empirical re-grep returns ZERO Java imports of
      org.olap4j anywhere in source. The jars are classpath dead weight
      (the xmlaserver line is even commented out in build.gradle).
      Updated row to reflect the actual state and link to bi-engine.md.
    zichun authored
     
    Browse Code »