鸿信四级穿透预算管理体系平台系统V1.0软件源程序代码.doc_第1页
鸿信四级穿透预算管理体系平台系统V1.0软件源程序代码.doc_第2页
鸿信四级穿透预算管理体系平台系统V1.0软件源程序代码.doc_第3页
鸿信四级穿透预算管理体系平台系统V1.0软件源程序代码.doc_第4页
鸿信四级穿透预算管理体系平台系统V1.0软件源程序代码.doc_第5页
已阅读5页,还剩115页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

120鸿信四级穿透预算管理体系平台系统V1.0 鸿信四级穿透预算管理体系平台系统V1.0源代码江苏鸿信系统集成有限公司2012年8月RptInfoAction.java/* * RptInfoAction.java Created on Jul 9, 2009 * Copyright 2009JSHX. * All right reserved. */package com.jshx.glkj.web.action.report.rptinfo;import java.io.BufferedInputStream;import java.io.DataInputStream;import java.io.File;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.IOException;import java.io.InputStream;import java.io.UnsupportedEncodingException;import java.text.DateFormat;import java.text.SimpleDateFormat;import java.util.ArrayList;import java.util.Calendar;import java.util.Date;import java.util.HashMap;import java.util.List;import java.util.Map;import java.util.zip.ZipEntry;import java.util.zip.ZipOutputStream;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import net.sf.json.JSONArray;import jxl.Cell;import jxl.HeaderFooter;import jxl.Sheet;import jxl.Workbook;import jxl.biff.DisplayFormat;import jxl.format.CellFormat;import jxl.format.Colour;import jxl.format.UnderlineStyle;import jxl.read.biff.BiffException;import jxl.write.Blank;import jxl.write.Formula;import jxl.write.Label;import jxl.write.Number;import jxl.write.NumberFormat;import jxl.write.NumberFormats;import jxl.write.WritableCellFormat;import jxl.write.WritableFont;import jxl.write.WritableSheet;import jxl.write.WritableWorkbook;import jxl.write.WriteException;import jxl.write.biff.RowsExceededException;import mon.base.BaseAction;import mon.base.Constant;import mon.base.MapBean;import mon.exception.AppBaseException;import mon.utils.DTUtil;import mon.utils.DateTimeUtil;import mon.utils.ExcelUtil;import mon.utils.StringUtil;import mon.utils.SysLog;import com.jshx.glkj.dao.ibatis.model.CBZX;import com.jshx.glkj.dao.ibatis.model.GlkjRptCol;import com.jshx.glkj.dao.ibatis.model.GlkjRptMb;import com.jshx.glkj.dao.ibatis.model.RPTDYNAMICCOL;import com.jshx.glkj.dao.ibatis.model.SysCompany;import com.jshx.glkj.dao.ibatis.model.Syscbzx;import com.jshx.glkj.dao.ibatis.model.YytBaseInfo;import com.jshx.glkj.dao.ibatis.model.YytBaseInfo_SD;import com.jshx.glkj.dao.ibatis.model.Ztcs;import com.jshx.glkj.dao.ibatis.model.glkj.qd.GlkjYdzdqd;import com.jshx.glkj.dao.ibatis.model.glkj.report.GlkjRptData;import com.jshx.glkj.dao.ibatis.model.glkj.report.GlkjRptInfo;import com.jshx.glkj.dao.ibatis.model.glkj.report.GlkjSjctJygsBaseInfo;import com.jshx.glkj.dao.ibatis.model.glkj.report.JycbzxRptInfo;import com.jshx.glkj.dao.ibatis.model.glkj.zb.GlkjZbdmsj;import com.jshx.glkj.service.report.luru.YidzdQudService;import com.jshx.glkj.service.report.rptinfo.DivisionNumber;import com.jshx.glkj.service.report.rptinfo.RptInfoService;import com.jshx.glkj.service.system.SysZhangtService;import com.jshx.glkj.service.system.impl.SysCompanyService;import com.jshx.glkj.service.zhibiao.ZbdmGlkjsjService;import edu.emory.mathcs.backport.java.util.concurrent.CountDownLatch;/import org.apache.tools.zip.ZipEntry;/import org.apache.tools.zip.ZipOutputStream;import com.jshx.glkj.service.report.tools.CountQx;import com.jshx.glkj.service.report.tools.SrftTest;/* * 报表信息维护 Action * * Time 2:34:26 PM * author mengxiankong */public class RptInfoAction extends BaseAction private static final long serialVersionUID = 1L;private SysZhangtService sysZhangtService;private GlkjRptInfo rpt;private RptInfoService rptInfoService;private YidzdQudService yidzdQudService;private ZbdmGlkjsjService zbdmGlkjsjService;private Date rptDate;private String rptIds;private String dwdm;private String ztCode;private String ztids;private SysCompanyService sysCompanyService;private String tempFileName;private String tempFilePath;private GlkjRptCol glkjrptcol;private String reportid;private String ztdm;private File impExcelFile;/导入的Excel文件private String time;/时间private MapBean ywlBean;/private String id;/ private String tag; private String ssds;/所属地市 private String cbzxdm;/成本中心代码 private String zfjmc;/支分局名称 private String bdwmc;/本地网名称 private String sxgsmc;/市县公司名称 private String zjmc;/支局名称 private String zjcbzxdm;/支局成本中心代码 private String colName;/列名 private String jsTag;/计算标记 private String gdlx;/过渡类型 private List rptList; private String rptTitName;/报表标题名称 private String rptUnit;/报表单位 private String rptCode;/报表编号 private String fxlx;public String getRptCode() return rptCode;public void setRptCode(String rptCode) this.rptCode = rptCode;public String getRptTitName() return rptTitName;public void setRptTitName(String rptTitName) this.rptTitName = rptTitName;public String getRptUnit() return rptUnit;public void setRptUnit(String rptUnit) this.rptUnit = rptUnit;public List getRptList() return rptList;public void setRptList(List rptList) this.rptList = rptList;public String getJsTag() return jsTag;public void setJsTag(String jsTag) this.jsTag = jsTag;public String getColName() return colName;public void setColName(String colName) this.colName = colName;public ZbdmGlkjsjService getZbdmGlkjsjService() return zbdmGlkjsjService;public void setZbdmGlkjsjService(ZbdmGlkjsjService zbdmGlkjsjService) this.zbdmGlkjsjService = zbdmGlkjsjService;public String getBdwmc() return bdwmc;public void setBdwmc(String bdwmc) this.bdwmc = bdwmc;public String getSxgsmc() return sxgsmc;public void setSxgsmc(String sxgsmc) this.sxgsmc = sxgsmc;public String getZjmc() return zjmc;public void setZjmc(String zjmc) this.zjmc = zjmc;public String getZjcbzxdm() return zjcbzxdm;public void setZjcbzxdm(String zjcbzxdm) this.zjcbzxdm = zjcbzxdm;public static long getSerialVersionUID() return serialVersionUID;public String getSsds() return ssds;public void setSsds(String ssds) this.ssds = ssds;public String getCbzxdm() return cbzxdm;public void setCbzxdm(String cbzxdm) this.cbzxdm = cbzxdm;public String getZfjmc() return zfjmc;public void setZfjmc(String zfjmc) this.zfjmc = zfjmc;public String getTag() return tag;public void setTag(String tag) this.tag = tag;public String getId() return id;public void setId(String id) this.id = id;public MapBean getYwlBean() return ywlBean;public void setYwlBean(MapBean ywlBean) this.ywlBean = ywlBean;public String getTime() return time;public void setTime(String time) this.time = time;public File getImpExcelFile() return impExcelFile;public void setImpExcelFile(File impExcelFile) this.impExcelFile = impExcelFile;public String getFxlx() return fxlx;public void setFxlx(String fxlx) this.fxlx = fxlx;public String list() throws AppBaseException List objs = getRptInfoService().queryPageGlkjRptInfo(getPage(); this.getRequest().setAttribute(rpts, objs);this.getRequest().setAttribute(loginzhangid,this.getLoginUser().getChengbzxId();this.getRequest().setAttribute(zhangtaoselect,sysCompanyService.getCompanySelectSSC(getUserToken().getUserCode();return SUCCESS;public String getSjct() String type = this.getRequest().getParameter(sjct);if(!StringUtil.isNull(type) & 1.equals(type)getPage().getMap().put(zrdy, type);getPage().getMap().put(rpttype,8);List objs = getRptInfoService().queryPageGlkjRptInfo(getPage();this.getRequest().setAttribute(rpts, objs);this.getRequest().setAttribute(loginzhangid,this.getLoginUser().getChengbzxId();this.getRequest().setAttribute(zhangtaoselect,sysCompanyService.getCompanySelectSSC(getUserToken().getUserCode();return SUCCESS;/* * 内部公式计算 * */public String calnbgs() rptInfoService.calnbgs(this.getRequest(), this.getLoginUser();try this.getResponse().getWriter().write(recordok); catch (IOException e) e.printStackTrace();return null;public String into() / 进入新增页面if (FORWARD_ADD.equals(getFunType() return FORWARD_ADD; else if (FORWARD_EDIT.equals(getFunType() / 进入修改页面rpt = getRptInfoService().queryGlkjRptInfoByKey(Long.parseLong(getId();return FORWARD_EDIT;return ERROR;public String submit() throws AppBaseException if (FORWARD_ADD.equals(getFunType() / 新增页面提交getRptInfoService().insert(getRpt();return FORWARD_ADD; else if (FORWARD_EDIT.equals(getFunType() / 修改页面提交getRptInfoService().updateD(getRpt();return FORWARD_EDIT; else if (FORWARD_DEL.equals(getFunType() / 删除提交getRptInfoService().delete(Long.parseLong(getId();return FORWARD_DEL;return ERROR;public String formulaCalculate() throws IOException String msg = ;/ 更新公式数据formulaCalculateint rt = -1;boolean bl=false,bl2=false;try if(!StringUtil.isNull(jsTag) & jsTag.equals(1) MapBean param=new MapBean(); param.put(rptId, Long.parseLong(getId(); param.put(rptDwdm,this.getDwdm(); List tempDwbmList=getRptInfoService().getDynColDwbmList(param); if(null!=tempDwbmList & tempDwbmList.size()0) for(int i=0;itempDwbmList.size();i+) MapBean obj=tempDwbmList.get(i); rt = getRptInfoService().updateRptDataByRptID(Long.parseLong(getId(), getLoginUser(), getRptDate(),obj.getString(RPT_DWDM); bl=sjctJstbDataByParam(obj.getString(RPT_DWDM); bl2=sjctTsclDataByParam(obj.getString(RPT_DWDM); else rt = getRptInfoService().updateRptDataByRptID(Long.parseLong(getId(), getLoginUser(), getRptDate(),this.getDwdm(); bl=sjctJstbDataByParam(this.getDwdm(); bl2=sjctTsclDataByParam(this.getDwdm(); catch (NumberFormatException e) e.printStackTrace();msg = e.getMessage(); catch (AppBaseException e) e.printStackTrace();msg = e.getMessage();if (rt = 0)msg = 公式计算成功!;if (!bl)msg = 同比计算失败!;if (!bl2)msg = 特殊处理失败!;SysLog.log(msg);/ 设置页面不缓存getRequest().setAttribute(decorator, none);getResponse().setHeader(Cache-Control, no-cache);getResponse().setHeader(Pragma, no-cache);getResponse().setDateHeader(Expires, 0);getResponse().setContentType(text/html; charset=utf-8);getResponse().getWriter().write(msg);getResponse().getWriter().flush();getResponse().getWriter().close();return NONE;/* * 计算同比 * param dwbm * return */public boolean sjctJstbDataByParam(String dwbm) SimpleDateFormat sdf1=new SimpleDateFormat(yyyy); SimpleDateFormat sdf2=new SimpleDateFormat(MM); /计算同比 GlkjRptInfo rpt = getRptInfoService().queryGlkjRptInfoByKey(Long.parseLong(getId();/获取报表信息 String rpttype=rpt.getRptClass(); MapBean rptMap=new MapBean(); rptMap.put(rpt_id,Long.parseLong(getId(); List rptObjList= getRptInfoService().selectSrftRptInfoIsHave(rptMap); if(null!=rptObjList & rptObjList!=null & rptObjList.size()0) if(yusuan.equals(rpttype) / 预算执行报表 HashMap paramap=new HashMap(); paramap.put(cur_year,sdf1.format(getRptDate(); paramap.put(cur_month,sdf2.format(getRptDate(); paramap.put(rptid,getId(); if(StringUtil.isNull(dwbm) paramap.put(ssdw,A32); else paramap.put(ssdw,dwbm); return getRptInfoService().sjctJstbDataByParam(paramap); else if(zhijubb.equals(rpttype) HashMap paramap=new HashMap(); paramap.put(cur_year,sdf1.format(getRptDate(); paramap.put(cur_month,sdf2.format(getRptDate(); if(StringUtil.isNull(dwbm) paramap.put(ssdw,A32); else paramap.put(ssdw,dwbm); return getRptInfoService().sjctZjJstbDataByParam(paramap); return true;/* * 四级穿透报表特殊行列处理 * param dwbm * return */public boolean sjctTsclDataByParam(String dwbm) SimpleDateFormat sdf1=new SimpleDateFormat(yyyy); SimpleDateFormat sdf2=new SimpleDateFormat(MM); HashMap paramap=new HashMap(); paramap.put(cur_year,sdf1.format(getRptDate(); paramap.put(cur_month,sdf2.format(getRptDate(); paramap.put(rptid,getId(); if(StringUtil.isNull(dwbm) paramap.put(ssdw,A32); else paramap.put(ssdw,dwbm); return getRptInfoService().sjctTsclDataByParam(paramap);/* * 进入报表导出页面 * * return */public String intoToExcel() /getRequest().setAttribute(ztList, getUserToken().getZhangts();List zts =new ArrayList();/ getUserToken().getChengbzxs();for(int i=0;igetUserToken().getChengbzxs().size();i+)if(getUserToken().getChengbzxs().get(i).getCbzxCode().length()=5)zts.add(getUserToken().getChengbzxs().get(i);getRequest().setAttribute(ztList, zts);getRequest().setAttribute(rptList, getUserToken().getRpts();/ ToExcelreturn SUCCESS;public String cbzxToExcelSelect() getRequest().setAttribute(ztList,sysZhangtService.getTMSZhangTaoSelect2(getUserToken().getZhangts();List rptlist = getUserToken().getRpts();List rptlistfilt = new ArrayList();for (int i = 0; i rptlist.size(); i+) if (rptlist.get(i).getRptClass().equals(cbzxbb) rptlistfilt.add(rptlist.get(i);getRequest().setAttribute(rptList, rptlistfilt);/ ToExcelreturn SUCCESS;public String cbzxToExcel() throws RowsExceededException, WriteException if (StringUtil.isNull(getZtids()return NONE; / 未选择帐套String months = DateTimeUtil.getMonthStr(getRptDate(), 0).trim();String queryZtids = getZtids().replaceAll( , ).split(,);if (StringUtil.isNull(getRptIds()return NONE; / 未选择报表String ids = getRptIds().split(,);long currttime = System.nanoTime();String xlsPath0 = getRealPath(formtemplates + File.separator+ excel)+ /;String xlsPath = getRealPath(formtemplates + File.separator + excel)+ / + currttime + /; / Excel模板根路径String datastr = DateFormat.getDateInstance().format(getRptDate();File file = new File(xlsPath);file.mkdirs();for (int u = 0; u queryZtids.length; u+) String queryZt = queryZtidsu.trim();new oneZtExportTread(months, ids, xlsPath0, xlsPath, datastr,queryZt).run();zipExcel(months, queryZtids, xlsPath, datastr);getRequest().setAttribute(currttime, currttime);getRequest().setAttribute(monthDate, datastr);return SUCCESS;class oneZtExportTread implements Runnable String months;String ids;String xlsPath0;String xlsPath;String datastr;String queryZt;public oneZtExportTread(String monthss, String idss,String xlsPath0s, String xlsPaths, String datastrs,String queryZts) months = monthss;ids = idss;xlsPath0 = xlsPath0s;xlsPath = xlsPaths;datastr = datastrs;queryZt = queryZts;public void run() try String prefix = ;if (queryZt !=null & !queryZt.contains(32) prefix = hz_;WritableWorkbook wwb = Workbook.createWorkbook(new File(xlsPath+ prefix + queryZt + .xls);for (int i = 0; i ids.length; i+) Long rId = Long.parseLong(idsi.trim();String fname = rpt_ + rId + .xls;/ Excel模板文件名GlkjRptInfo rpt = getRptInfoService().queryGlkjRptInfoByKey(rId);String sname = rpt.getRptName();/ 报表中文名/ 处理报表年月日时间String rptType = rpt.getRptDateType();/ 报表类型MapBean mb = new MapBean(rptid, rId, zhangtaoid,queryZt.trim(), year, DateTimeUtil.getYearStr(getRptDate(), 0).trim(), month,DateTimeUtil.getMonthStr(getRptDate(), 0).trim();if (Constant.REPORT_DATE_TYPE_Y.equals(rptType) / 年报mb.put(year, DateTimeUtil.getYearStr(getRptDate(), -1), month, null);List dtList = getRptInfoService().queryRptDatas(mb);Workbook wb = ExcelUtil.getExcelForR(new File(xlsPath0+fname);wwb = ExcelUtil.addWBFirstSheet(wwb, wb, sname);WritableSheet ws = ExcelUtil.getXlsSheet(wwb);wb.close();/ 插入数据int startCol = 0;/ 表头增加成本中心编号Cell cll = ws.getCell(0, 0);CellFormat cf = cll.getCellFormat();Label ncf = null;if (cf = null) ncf = new Label(0, 0, cll.getContents(); else ncf = new Label(0, 0, cll.getContents(), cf);ws.addCell(ncf);cll = ws.getCell(0, 2);cf = cll.getCellFormat();if (cf = null) ncf = new Label(0, 2, datastr); else ncf = new Label(0, 2, datastr, c

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论