eas BI 报表

来源:互联网 发布:网络用语6是什么意思 编辑:程序博客网 时间:2024/05/17 23:18

1. 框架元数据:

 Ø  主界面UIcom.kingdee.eas.framework.bireport.client.BireportBaseMainUI.ui

 Ø  条件界面UIcom.kingdee.eas.framework.bireport.client.BireportBaseFilterUI.ui

 Ø  Facade功能对象:com.kingdee.eas.framework.bireport.app.BireportBaseFacade.facade

2. 维度配置文件:xml文件,放在与app/client同级的config目录下。

3.相关组件及辅助类。

4.框架讲解

 Ø   设计主界面UI继承BireportBaseMainUI,根据业务设计界面,要求至少有一个显示数据的KDTable

 Ø   设计条件界面UI继承BireportBaseFilterUI,根据业务设计界面。

 Ø   设计功能对象继承BireportBaseFacade,通常不再需要添加接口,除非业务上自身的要求。

5.EnergyUseMainUI.java

  注意:

  protected RptParams getParamsForInit() {
     return new RptParams();
  }

  protected RptParams getParamsForRequest() {
     return params;
  }

  protected BireportBaseFilterUI getQueryDialogUserPanel() throws Exception {
     return new EnergyUse_FilterUI();
  }

  protected IBireportBaseFacade getRemoteInstance() throws BOSException {
     return com.kingdee.eas.zjreport.EnergyUse_FacadeFactory.getRemoteInstance();
  }

  protected KDTable getTableForPrintSetting() {
     return this.tblMain;
  }

6.EnergyUseFilterUI.java

  注意:

  public RptParams getCustomCondition() {
  }

  //初始化界面上控件数据

  public void onInit(RptParams arg0) throws Exception {
        
  }

 

  public void setCustomCondition(RptParams arg0) {
   
  }

  public boolean verify() {
     return true;
  }

7.EnergyUseFacadeControllerBean.java

  protected SchemaSource readySchemaSource(RptParams params, Context ctx)
     throws BOSException, EASBizException
 {
  SchemaSource ss = new SchemaSource();
  ss.setCaller(EnergyUse_FacadeControllerBean.class);
  ss.setFilename("energyUse.xml");
  int yy = Integer.parseInt((String) params.getObjectElement("yy"));
  int mm = Integer.parseInt((String) params.getObjectElement("mm"));
  String material = (String)params.getObjectElement("material");
  String sql = "";

  //纵向维度
  sql = "select fid as fid,fid as fname,fname_l2 as fname1 from T_BD_Material as material where 1 = 1 ";
  if(material != null){
   sql += " and fid in "+material;
  }
  ss.setDataItem("material", sql, null);
  

  //横向维度
 sql = "select customer.fid as fid,customer.fname_l2 as fname,customer.FParentID as fparentid from T_BD_Customer as customer " +
    "union all " ;
  sql +=" select storage.fid as fid,storage.fname_l2 as fname,storage.FParentID as fparentid from T_ORG_Storage as storage ";
  ss.setDataItem("customer", sql, null);
  

  //报表所有的数据
  sql = "select bill.FStorageOrgUnitID as orgunitid,regentry.FMaterialID as materialid,regentry.FQty as fqty,0 as qty from T_IM_MaterialReqBill as bill " +
    "inner join T_IM_MaterialReqBillEntry as regentry on regentry.FParentID = bill.fid " ;
    if(yy >= 0){
     sql += " and bill.FYear ="+yy;
     if(mm >= 0){
      sql += " and bill.FPeriod = "+mm;
     }
    }
    sql += " union all " +
    "select trbill.FIssueStorageOrgUnitID as orgunitid,trentry.FMaterialID as materialid,trentry.FQty as fqty,0 as qty from T_IM_StockTransferBill as trbill " +
    "inner join T_IM_StockTransferBillEntry trentry on trentry.fparentID = trbill.fid " ;

    sql += " union all " +
    "select isbill.FCustomerID as orgunitid,isentry.FMaterialID as materialid,isentry.FQty as fqty,0 as qty from T_IM_SaleIssueBill isbill " +
    "inner join T_IM_SaleIssueEntry isentry on isentry.fparentID = isbill.fid";

  ss.setDataItem("Fact", sql, null);
  
   String mdx = " with member [material].total as '[material].[V$All]' , caption='合计',formatString='#,###.00' " +
   " member [customer].total as '[customer].[V$All]',caption='合计',formatString='#,##0.00' " +
   " select  {{[customer].members,[customer].total}} on rows, " +
   " non empty {{[material].factmembers,[material].total}*[Measures].members} on columns from fact ";
   ss.setMdx(mdx);
  return ss;
  
 }

8.energyUse.xml

 <?xml version="1.0" encoding="UTF-8" ?>
 <Schema>
   <Parameter name="material" type="Table" />
   <Parameter name="customer" type="Table" />
   <Parameter name="Fact" type="Table" />
 <Dimension name="customer" caption="购货单位" table="customer" primaryKey="fid">
  <Hierarchy virtualAllMemberCaption="合计">
   <Level name="customer" column="fid" orderBy = "fid" parentColumn="fparentid">
      <Property name="name" column="fname" />
     </Level>
    </Hierarchy>
   </Dimension>
 <Dimension name="material" caption="物料" table="material" primaryKey="fid">
  <Hierarchy>
   <Level name="material" column="fid">
    <Property name="caption" column="fname1" />
     </Level>
   </Hierarchy>
   </Dimension>
 <Cube name="Fact" table="Fact">
   <DimensionUsage name="customer" foreignKey="orgunitid" />
    <DimensionUsage name="material" foreignKey="materialid" />
     <Measure name="fqty" caption="本期" column="fqty" aggregator="sum" formatString="#,##0.00" />
     <Measure name="qty" caption="累计" column="qty" aggregator="sum" formatString="#,##0.00" />

   </Cube>
 </Schema>

 

 

原创粉丝点击