查询数据:
/**
* 所有本年累计数据
* @param org_type
* @param rpt_type
* @param curmonth
* @param rptID
* @return
*/
public List getCurYAcc(String org_type,String rpt_type,String curmonth,Long rptID){
String year=curmonth.substring(0, 4); //截取报表日期的年份
String month=curmonth.substring(4, curmonth.length()); //截取报表日期的月份
//本年开始月份
String curYstart = String.valueOf(Long.valueOf(year)) + "01";
//本年结束月份 为 目前报表月份
String curYend = String.valueOf(Long.valueOf(year)) + month;
//查询当年且月数小于等于当月的记录
String sql="select sum(nvl(d.CURYEARPLAN,0)) curyearplan,sum(nvl(d.CURMONTHCONPROJECT,0)) curmonthconproject,sum(nvl(d.CURMONTHFITPROJECT,0)) curmonthfitproject,sum(nvl(d.CURMONTHEQUSTOCK,0)) curmonthequstock,sum(nvl(d.CURMONTHOTHERFEE,0)) curminthotherfee" +
" from RP_INVEST_FS_COLLECT_DE_RPT d,RP_INVEST_FS_COLLECT_RPT r " +
" where r.orgtype='"+ org_type +"'" +
" and r.rpttype = '"+ rpt_type +"'" +
" and d.parentid ="+ rptID +"" +
" and r.curmonth between '"+ curYstart +"' and '"+ curYend +"' " +
" order by d.id desc";
List list = this.keyInvestDetailDao.excuteSqlQuarey(sql);
if(list.size() > 0)
return list;
else
return null;
}
取出数据:
//获取本年累计数据
double acc_subtotal = 0 ;
List accCuryear = keyInvestDetailService.getCurYAcc(org_type, rpt_type, curmonthy, rptID);
if(accCuryear!=null){
Object[] obj = (Object[])accCuryear.get(0);
Object obj0 = obj[0] == null ? 0 : obj[0] ;
Object obj1 = obj[1] == null ? 0 : obj[1] ;
Object obj2 = obj[2] == null ? 0 : obj[2] ;
Object obj3 = obj[3] == null ? 0 : obj[3] ;
Object obj4 = obj[4] == null ? 0 : obj[4] ;
Double doubleobj0 = Double.valueOf(obj0.toString());
Double doubleobj1 = Double.valueOf(obj1.toString());
Double doubleobj2 = Double.valueOf(obj2.toString());
Double doubleobj3 = Double.valueOf(obj3.toString());
Double doubleobj4 = Double.valueOf(obj4.toString());
double realobj0 = new BigDecimal(doubleobj0).setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue();
double realobj1 = new BigDecimal(doubleobj1).setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue();
double realobj2 = new BigDecimal(doubleobj2).setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue();
double realobj3 = new BigDecimal(doubleobj3).setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue();
double realobj4 = new BigDecimal(doubleobj4).setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue();
acc_subtotal = realobj0 + realobj1 + realobj2 + realobj3 + realobj4 ;
rptDetail.setCur_year_acc(realobj0);
rptDetail.setCuryear_acc_con(realobj1);
rptDetail.setCuryear_acc_fix(realobj2);
rptDetail.setCuryear_acc_equ(realobj3);
rptDetail.setCuryear_acc_otherfee(realobj4);
rptDetail.setCuryear_acc_subtotal(acc_subtotal);
//本年累计形象进度
String dataToPage_accYear ;
if(realobj0 == 0){
double defal = 0 ;
dataToPage_accYear = df.format(defal);
rptDetail.setCuryear_rates(dataToPage_accYear);
}else{
double cur_year_look = acc_subtotal / realobj0 ;
dataToPage_accYear = df.format(cur_year_look);
rptDetail.setCuryear_rates(dataToPage_accYear);
}
}