收藏 分销(赏)

鸿信四级穿透预算管理体系平台系统软件源程序代码.doc

上传人:人****来 文档编号:3396826 上传时间:2024-07-04 格式:DOC 页数:323 大小:555.54KB
下载 相关 举报
鸿信四级穿透预算管理体系平台系统软件源程序代码.doc_第1页
第1页 / 共323页
鸿信四级穿透预算管理体系平台系统软件源程序代码.doc_第2页
第2页 / 共323页
鸿信四级穿透预算管理体系平台系统软件源程序代码.doc_第3页
第3页 / 共323页
鸿信四级穿透预算管理体系平台系统软件源程序代码.doc_第4页
第4页 / 共323页
鸿信四级穿透预算管理体系平台系统软件源程序代码.doc_第5页
第5页 / 共323页
点击查看更多>>
资源描述

1、 鸿信鸿信四级穿透预算管理体系平台四级穿透预算管理体系平台系统系统V1.0 源代码源代码 江苏鸿信系统集成有限企业江苏鸿信系统集成有限企业 2023 年年 8 月月 RptInfoAction.java/*RptInfoAction.java Created on Jul 9,2023 *Copyright 2023JSHX.*All right reserved.*/package com.jshx.glkj.web.action.report.rptinfo;import java.io.BufferedInputStream;import java.io.DataInputStream;

2、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.Arr

3、ayList;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.ServletRequest;import javax.servlet.ServletResponse;import net.sf.json.JSONArray;import j

4、xl.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 j

5、xl.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 com.jshx.

6、glkj mon.base.BaseAction;import com.jshx.glkj mon.base.Constant;import com.jshx.glkj mon.base.MapBean;import com.jshx.glkj mon.exception.AppBaseException;import com.jshx.glkj mon.utils.DTUtil;import com.jshx.glkj mon.utils.DateTimeUtil;import com.jshx.glkj mon.utils.ExcelUtil;import com.jshx.glkj mo

7、n.utils.StringUtil;import com.jshx.glkj 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;im

8、port 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.Glk

9、jRptData;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.l

10、uru.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.ZbdmGlkjsjSer

11、vice;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 m

12、engxiankong */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;privat

13、e 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;

14、/导入旳 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;/支局成本中心

15、代码 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.

16、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

17、 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 voi

18、d 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 getZ

19、jmc()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

20、)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()retur

21、n 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 setImpExcel

22、File(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()

23、.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(

24、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(zhangtaoselec

25、t,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

26、()/进入新增页面 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()/新增页面提交

27、 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 Strin

28、g formulaCalculate()throws IOException String msg=;/更新公式数据 formulaCalculate int 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().g

29、etDynColDwbmList(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)

30、;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.get

31、Message();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

32、().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

33、 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=getRptInfoServi

34、ce().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

35、)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(s

36、sdw,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 param

37、ap=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 Stri

38、ng 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);get

39、Request().setAttribute(ztList,zts);getRequest().setAttribute(rptList,getUserToken().getRpts();/ToExcel return SUCCESS;public String cbzxToExcelSelect()getRequest().setAttribute(ztList,sysZhangtService.getTMSZhangTaoSelect2(getUserToken().getZhangts();List rptlist=getUserToken().getRpts();List rptlis

40、tfilt=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);/ToExcel return SUCCESS;public String cbzxToExcel()throws RowsExceededException,WriteException if(StringUtil.isNull(getZti

41、ds()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.

42、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 oneZtExportT

43、read(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 xl

44、sPath;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&!

45、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.ge

46、tRptName();/报表中文名 /处理报表年月日时间 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,Da

47、teTimeUtil.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 cl

48、l=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,cf);ws.addCel

49、l(ncf);if(dtList=null|dtList.isEmpty()continue;for(int j=0;j dtList.size();j+)GlkjRptData dt=dtList.get(j);setCellValue(ws,dt,rpt.getRptUnit();int col=dt.getDataCol().intValue()-1;/处理最小列序号 startCol=(j=0)?col :(startCol=col)?startCol:col);/处理插入数据行旳 Sheet 旳列宽 int colCount=ws.getColumns();for(int ci=st

50、artCol;ci colCount;ci+)ws.setColumnView(ci,20);mb.clear();dtList.clear();wwb.write();wwb.close();catch(Exception ex)System.out.println(ex.getMessage();/压缩生成旳 Excel private void zipExcel(String months,String queryZtids,String xlsPath,String datastr)String filepath=new StringqueryZtids.length;for(int

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服