⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 reportutil.java.svn-base

📁 一个timesheet程序,用来统计开发人员的度量衡web在线程序.用于软件行业
💻 SVN-BASE
字号:
package com.nsi.reports;

import java.io.File;
import java.math.BigDecimal;
import java.util.Calendar;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;

import javax.swing.filechooser.FileSystemView;

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;

import com.nsi.constants.AppConstants;
import com.nsi.util.FileLocator;
import com.nsi.util.ValHelper;
import com.nsi.util.tsdate.TsDateUtil;

public final class ReportUtil
{
	private static Log log = LogFactory.getLog(ReportUtil.class);
	private Map<String, String>rptidmap;
	private Map<String, String>rpttemplatemap;
	private Map<String, String>pbillablemap;
	/**
	 * private constructor of ReportUtil, prevent instantiation
	 */
	private ReportUtil()
	{
		initialRptMap();
	}
	private static class ReportUtilHolder
	{
		static final ReportUtil rptUtil = new ReportUtil();
	}
	/**
	 * @return an instance of ReportUtil
	 */
	public static ReportUtil getInstance()
	{
		return ReportUtilHolder.rptUtil;
	}
	public Report prepareTsRpt( String resouceid, String fromdate, String todate, String reporttype, String projectid )
	{
		String rptid = getRptid(  reporttype );
		String rptname = getTemplatename( reporttype );
		return  prepareRpt(  rptid,  resouceid,  fromdate,  todate,  rptname, reporttype, projectid );
	}
	public Report prepareRpt( String rptid, String resouceid, String fromdate, String todate, String rptname, String reporttype, String projectid )
	{
		Report rpt = new Report();
		try
		{
			String rpttemplatefile = AppConstants.RPT_TEMPLATE_PATH + File.separator + rptname;
			String rpttemplatefilefulpath = FileLocator.getInstance().searchforFile(rpttemplatefile);
			String rpttemplateparentpath = FileLocator.getInstance().retrieveParentpath(rpttemplatefilefulpath);
			rpttemplateparentpath = rpttemplateparentpath + File.separator;
			log.debug( "prepareRpt() -- rpttemplatepath["+ rpttemplateparentpath+ "]" );
			Map<String, Object> paramap  = rpt.getParamtermap();
			Calendar fromcal = TsDateUtil.getInstance().stringToDate(fromdate);
			Date fromdt = fromcal.getTime();
			java.sql.Timestamp fromsqltm = new java.sql.Timestamp( fromdt.getTime());
			Calendar tocal = TsDateUtil.getInstance().stringToDate(todate);
			Date todt = tocal.getTime();
			java.sql.Timestamp tosqltm = new java.sql.Timestamp( todt.getTime());
			paramap.put( "PResID", new Integer(resouceid));
			paramap.put( "PSdate", fromsqltm);
			paramap.put( "PEdate", tosqltm);
			paramap.put( "SUBREPORT_DIR", rpttemplateparentpath );
			paramap.put( "PPath", rpttemplateparentpath + File.separator + "rms_logo.gif");
			if( rptid.startsWith("dir_"))
			{
				String pbillable = getPbillable( reporttype );
				paramap.put("PBillable", pbillable);
				paramap.put("PProID", new BigDecimal(projectid));
				
			}
			String template = rpttemplateparentpath + File.separator  + rptname;
			FileSystemView fs = FileSystemView.getFileSystemView();
			String rpttmppath = fs.getDefaultDirectory().getPath();
			log.debug( "prepareRpt() -- rpttmppath["+ rpttmppath+ "]" );
			String reportfilename = rpttmppath + File.separator + rptid + ".pdf";
			rpt.setTemplate(template);
			rpt.setReportid(rptid);
			rpt.setReportfilename(reportfilename);
		}
		catch( Exception ex )
		{
			log.error( "prepareRpt() -- caught exception : ", ex );
		}
		return rpt;
	}
	public String getRptid( String reporttype )
	{
		return ValHelper.getInstance().getValue(rptidmap, reporttype);
	}
	public String getTemplatename( String reporttype )
	{
		return ValHelper.getInstance().getValue(rpttemplatemap, reporttype);
	}
	public String getPbillable( String reporttype )
	{
		return ValHelper.getInstance().getValue(pbillablemap, reporttype);
	}
	private void initialRptMap()
	{
		rptidmap = new HashMap<String, String>();
		rptidmap.put( "11", "timesheet_sum_draft_rpt");
		rptidmap.put( "12", "timesheet_sum_rpt");
		rptidmap.put( "21", "timesheet_dtl_draft_rpt");
		rptidmap.put( "22", "timesheet_rpt");
		rptidmap.put( "41", "dept_member_sum_rpt");
		rptidmap.put( "42", "dept_member_project_sum_rpt");
		rptidmap.put( "43", "dept_member_dtl_rpt");
		rptidmap.put( "31", "proj_member_sum_rpt");
		rptidmap.put( "32", "proj_activity_sum_rpt");
		rptidmap.put( "33", "proj_activity_dtl_rpt");
		rptidmap.put( "34", "proj_member_dtl_rpt");
		rptidmap.put( "51", "dir_member_sum_all_rpt");
		rptidmap.put( "52", "dir_activity_sum_all_rpt");
		rptidmap.put( "53", "dir_member_sum_billable_rpt");
		rptidmap.put( "54", "dir_activity_sum_billable_rpt");
		rptidmap.put( "55", "dir_member_sum_non_billable_rpt");
		rptidmap.put( "56", "dir_activity_sum_non_billable_rpt");
		rptidmap.put( "61", "dir_ytd_sum_billable_rpt");
		rptidmap.put( "62", "dir_ytd_sum_non_billable_rpt");
		rptidmap.put( "63", "dir_ytd_sum_non_billable_rpt");
		rpttemplatemap= new HashMap<String, String>();
		rpttemplatemap.put( "11", "TS_IndividuaSummary_D_02.jasper");
		rpttemplatemap.put( "12", "TS_IndividuaSummary_F_02.jasper");
		rpttemplatemap.put( "21", "TS_IndividualDetail_D_02.jasper");
		rpttemplatemap.put( "22", "TS_IndividualDetail_F_02.jasper");
		rpttemplatemap.put( "41", "TS_DeptSummaryMember_07.jasper");
		rpttemplatemap.put( "42", "TS_DeptSummaryMemberProject_08.jasper");
		rpttemplatemap.put( "43", "TS_DeptDetailMember_09.jasper");
		rpttemplatemap.put( "31", "TS_ProjSummaryMember_031.jasper");
		rpttemplatemap.put( "32", "TS_ProjSummaryActivities_032.jasper");
		rpttemplatemap.put( "33", "TS_ProjDetailActivities_05.jasper");
		rpttemplatemap.put( "34", "TS_ProjDetailMember_06.jasper");
		rpttemplatemap.put( "51", "TS_ProjSummaryMember_03.jasper");
		rpttemplatemap.put( "52", "TS_ProjSummaryActivities_04.jasper");
		rpttemplatemap.put( "53", "TS_ProjSummaryMember_03.jasper");
		rpttemplatemap.put( "54", "TS_ProjSummaryActivities_04.jasper");
		rpttemplatemap.put( "55", "TS_ProjSummaryMember_03.jasper");
		rpttemplatemap.put( "56", "TS_ProjSummaryActivities_04.jasper");
		rpttemplatemap.put( "61", "TS_ProjSummaryHours_10.jasper");
		rpttemplatemap.put( "62", "TS_ProjSummaryHours_10.jasper");
		rpttemplatemap.put( "63", "TS_ProjSummaryHours_10.jasper");
		pbillablemap = new HashMap<String, String>();
		pbillablemap.put("51", "All");
		pbillablemap.put("52", "All");
		pbillablemap.put("61", "All");
		pbillablemap.put("53", "T");
		pbillablemap.put("54", "T");
		pbillablemap.put("62", "T");
		pbillablemap.put("55", "F");
		pbillablemap.put("56", "F");
		pbillablemap.put("63", "F");
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -