package com.ycsoft.report.query.treequery; import com.ycsoft.commons.exception.ReportException; import com.ycsoft.report.bean.RepDimKey; import com.ycsoft.report.query.key.BaseKey; /** * 日期结构的维度key * 格式参照oracle_sql:to_char(sysdate,'yyyymmdd') 非此格式会出问题 * @author new * */ public class DimSubStr extends BaseKey implements DimKey { private int str_length; private int p_str_length; public DimSubStr(RepDimKey repDimKey,DimSubStr pdimkey) throws ReportException{ if(repDimKey==null) throw new ReportException("repDimKey is null"); super.setKey(repDimKey.getKey()); super.setDesc(repDimKey.getName()); if(pdimkey!=null){ super.setPkey(pdimkey.getKey()); pdimkey.setSkey(repDimKey.getKey()); this.p_str_length=pdimkey.getStrlength(); } this.str_length=Integer.parseInt(repDimKey.getValuedefine()); } private int getStrlength(){ return this.str_length; } public String getPid(String id) { return id.substring(0,p_str_length); } public String getName(String id) { return id; } public BaseKey getBaseKey() { BaseKey baseKey=new BaseKey(); baseKey.setDesc(super.getDesc()); baseKey.setKey(super.getKey()); baseKey.setPkey(super.getPkey()); baseKey.setSkey(super.getSkey()); return baseKey; } }