收藏 分销(赏)

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

上传人:人****来 文档编号:3396826 上传时间:2024-07-04 格式:DOC 页数:323 大小:555.54KB 下载积分:20 金币
下载 相关 举报
鸿信四级穿透预算管理体系平台系统软件源程序代码.doc_第1页
第1页 / 共323页
鸿信四级穿透预算管理体系平台系统软件源程序代码.doc_第2页
第2页 / 共323页


点击查看更多>>
资源描述
鸿信鸿信四级穿透预算管理体系平台四级穿透预算管理体系平台系统系统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;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.ServletRequest;import javax.servlet.ServletResponse;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 com.jshx.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 mon.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;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=;/更新公式数据 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().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();/ToExcel return 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);/ToExcel return 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,cf);ws.addCell(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=startCol;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
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

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

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

关于我们      便捷服务       自信AI       AI导航        抽奖活动

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

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

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

关注我们 :微信公众号    抖音    微博    LOFTER 

客服