`

导出2

阅读更多
	@RequestMapping(value = "/export")
	@SkipAutoHandleReturnMsg
	public void export(@RequestBody Map<String, Object> params) {
		try {

			if(params.get("sum") == null ) {
				throw new BizException("请按照查询结果再做导出数据,不允许无条件导出。");
			}
			int sum = (int)params.get("sum");//经过条件筛选查询出来的总数据量sum
			logger.info("导出数量为:*******"+sum+"条******************** ");
			String tableName = (String) params.get("cdVal");
			if(null==tableName || tableName.length()==0 || tableName.equals("")){
				throw new BizException("未传入表名");
			}
			Object daDt=params.get("dataDt");
			SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
			if (daDt!=null){
				params.put("dataDt",simpleDateFormat.parse(daDt.toString()));
			}
			if(sum>500000){
				sum = 500000;
			}
			int pageSize = 10000;
			int count = (sum / pageSize)+1;
			params.put("pageSize",pageSize);
			CountDownLatch latch = new CountDownLatch(count);
			Map<String,StringBuffer> strMap = new Hashtable<>();
			Map<String, String> curCdMap = ListUtil.toMap(ti9vBcurBaseInfService.queryListAll(), TI9vBCurBaseInf::getCurCd, TI9vBCurBaseInf::getCurCnDesc);
			for (int i = 0; i < count; i++) {
				Map<String, Object> xparms = new HashMap<>();
				int pageNum = i+1;
				System.out.println(pageNum +"=============================================================================================");
				threadPoolExecutor.execute(() -> {
					long startTime = System.currentTimeMillis();
					try {
						xparms.putAll(params);
						xparms.put("pageNum",pageNum);
						StringBuffer strout = new StringBuffer();
						switch (tableName) {
							case ZConstUtils.netProdTyp://净值型理财产品
								PageInfo<TI9vBFinProductNet>netProdTyp01 = tI9vBFinProductNetService.queryPageByMap(xparms, (Integer) xparms.get("pageNum"), (Integer) xparms.get("pageSize"));

							case ZConstUtils.nonetProdTyp02:
								PageInfo<TI9vBFinProductNonet>pagenonetTyp02 = tI9vBFinProductNonetService.queryPageByMap(xparms, (Integer) xparms.get("pageNum"), (Integer) xparms.get("pageSize"));
								for(TI9vBFinProductNonet item : pagenonetTyp02.getList()){
									strout.append(daDt.toString()+PubConstUtils.CUT);
									strout.append(PubConstUtils.toU(item.getDubilId())+PubConstUtils.CUT);
									strout.append("类信贷估值资产"+PubConstUtils.CUT);
									strout.append(PubConstUtils.toU(item.getContrId())+PubConstUtils.CUT);
									strout.append(PubConstUtils.toU(item.getCustId())+PubConstUtils.CUT);
									strout.append(item.getCustNm()+PubConstUtils.CUT);
									strout.append(item.getIssuerRateLvl()+PubConstUtils.CUT);
									strout.append(PubConstUtils.toU(item.getOrgId())+PubConstUtils.CUT);
									strout.append(item.getOrgNm()+PubConstUtils.CUT);
									strout.append(PubConstUtils.toU(item.getCoreProdCd())+PubConstUtils.CUT);
									strout.append(item.getCoreProdNm()+PubConstUtils.CUT);
									strout.append(PubConstUtils.toU(item.getAcctiSubj())+PubConstUtils.CUT);
									strout.append(item.getAcctiThreeCls()+PubConstUtils.CUT);
									strout.append(item.getDubilAmt()+PubConstUtils.CUT);
									strout.append(item.getDubilBal()+PubConstUtils.CUT);
									strout.append(curCdMap.get(item.getCurCd())+PubConstUtils.CUT);
									strout.append(item.getProspPrftRate()+PubConstUtils.CUT);
									if(null!=item.getStIntDay()){

										strout.append(DateUtil.dateToString2(item.getStIntDay())+PubConstUtils.CUT);
									}else{
										strout.append(""+PubConstUtils.CUT);
									}

									if(null!=item.getMatrDay()){
										strout.append(DateUtil.dateToString2(item.getMatrDay())+PubConstUtils.CUT);
									}else{
										strout.append(""+PubConstUtils.CUT);
									}

									if(null!=item.getAdjRepayDt()){
										strout.append(DateUtil.dateToString2(item.getAdjRepayDt())+PubConstUtils.CUT);
									}else{
										strout.append(""+PubConstUtils.CUT);
									}

									if(null!=item.getTxDt()){
										strout.append(DateUtil.dateToString2(item.getTxDt())+PubConstUtils.CUT);
									}else{
										strout.append(""+PubConstUtils.CUT);
									}

									strout.append(item.getTxPrc()+PubConstUtils.CUT);
									strout.append(item.getRepayModeCd()+PubConstUtils.CUT);
									strout.append(item.getRepayPlanMakeMode()+PubConstUtils.CUT);
									strout.append(item.getIntMode()+PubConstUtils.CUT);
									strout.append(item.getIntPayFrq()+PubConstUtils.CUT);
									strout.append(item.getIntCreateRule()+PubConstUtils.CUT);
									strout.append(item.getWorkUpdateRule()+PubConstUtils.CUT);
									strout.append(item.getAccureBasic()+PubConstUtils.CUT);
									strout.append(item.getRecStat()+PubConstUtils.CUT);
									strout.append(item.getOvrdIntBal()+PubConstUtils.CUT);
									strout.append(item.getNormDebtIntBal()+PubConstUtils.CUT);
									strout.append(item.getInBalPnshIntBal()+PubConstUtils.CUT);
									strout.append(item.getPrepAmtblIntIncom()+PubConstUtils.CUT);
									strout.append(item.getPrepStlRecvblInt()+PubConstUtils.CUT);
									strout.append(item.getPrepStlRecvblPnshInt()+PubConstUtils.CUT);
									strout.append(item.getSrcSys()+"\n");
								}
								break;
							case ZConstUtils.billDisProdTyp:                                //票据转贴现(有问题)T_I9V_B_BILL_DISCOUNT
								PageInfo<TI9vBBillDiscount> pagebillDis = tI9vBBillDiscountService.queryPageByMap(
										xparms,
										(Integer) xparms.get("pageNum"),
										(Integer) xparms.get("pageSize")
								);
								for(TI9vBBillDiscount item : pagebillDis.getList()){
									strout.append(daDt.toString()+PubConstUtils.CUT);
//									strout.append(item.getBankNum()+PubConstUtils.CUT);
									strout.append(PubConstUtils.toU(item.getDubilId())+PubConstUtils.CUT);
//									strout.append(item.getDubilModfr()+PubConstUtils.CUT);
									strout.append("票据转贴现"+PubConstUtils.CUT);
//									strout.append(item.getAgmtId()+PubConstUtils.CUT);
//									strout.append(item.getDubilOrdrNum()+PubConstUtils.CUT);
									strout.append(PubConstUtils.toU(item.getBillNum())+PubConstUtils.CUT);
									strout.append(PubConstUtils.toU(item.getContrId())+PubConstUtils.CUT);
									strout.append(PubConstUtils.toU(item.getCustId())+PubConstUtils.CUT);
									strout.append(item.getCustNm()+PubConstUtils.CUT);
									strout.append(PubConstUtils.toU(item.getOrgId())+PubConstUtils.CUT);
									strout.append(item.getOrgNm()+PubConstUtils.CUT);
									strout.append(PubConstUtils.toU(item.getCoreProdCd())+PubConstUtils.CUT);
									strout.append(item.getCoreProdNm()+PubConstUtils.CUT);
									strout.append(PubConstUtils.toU(item.getAcctiSubj())+PubConstUtils.CUT);
									strout.append(item.getAcctiThreeCls()+PubConstUtils.CUT);
									strout.append(curCdMap.get(item.getCurCd())+PubConstUtils.CUT);
									strout.append(item.getDubilAmt()+PubConstUtils.CUT);
									strout.append(item.getDubilBal()+PubConstUtils.CUT);
									strout.append(item.getProspPrftRate()+PubConstUtils.CUT);
									if(null!=item.getStIntDay()){
										strout.append(simpleDateFormat.format(item.getStIntDay())+PubConstUtils.CUT);
									}else{
										strout.append(""+PubConstUtils.CUT);
									}

									if(null!=item.getMatrDay()){
										strout.append(simpleDateFormat.format(item.getMatrDay())+PubConstUtils.CUT);
									}else{
										strout.append(""+PubConstUtils.CUT);
									}
									if(null!=item.getTxDt()){
										strout.append(simpleDateFormat.format(item.getTxDt())+PubConstUtils.CUT);
									}else{
										strout.append(""+PubConstUtils.CUT);
									}
									strout.append(item.getTxPrc()+PubConstUtils.CUT);
									strout.append(item.getRepayPlanMakeMode()+PubConstUtils.CUT);
									strout.append(item.getIntPayFrq()+PubConstUtils.CUT);
									strout.append(item.getIntMode()+PubConstUtils.CUT);
									strout.append(item.getIntCreateRule()+PubConstUtils.CUT);
									strout.append(item.getWorkUpdateRule()+PubConstUtils.CUT);
									strout.append(item.getAccureBasic()+PubConstUtils.CUT);
									strout.append(item.getRecStat()+PubConstUtils.CUT);
									strout.append(item.getOvrdIntBal()+PubConstUtils.CUT);
									strout.append(item.getNormDebtIntBal()+PubConstUtils.CUT);
									strout.append(item.getInBalPnshIntBal()+PubConstUtils.CUT);
									strout.append(item.getPrepAmtblIntIncom()+PubConstUtils.CUT);
									strout.append(item.getPrepStlRecvblInt()+PubConstUtils.CUT);
									strout.append(item.getPrepStlRecvblPnshInt()+PubConstUtils.CUT);
									strout.append(item.getSrcSys()+"\n");
								}
								break;
						}
						strMap.put(pageNum+"",strout);
					} catch (Exception e) {
						e.printStackTrace();
						throw new BizException("拼数据异常:"+e.getMessage());
					}finally{
						long endTime = System.currentTimeMillis();
						logger.info("打开"+pageNum+"号栅栏:**********用时:"+ (endTime - startTime) + "ms***************** ");
						latch.countDown();
					}
				});
			}


			latch.await();
			logger.info("拼数据结束:*************************** ");
			if (strMap.size()==0){
				throw new BizException("数据为空");
			}
			if(ZConstUtils.nonetProdTyp02.equals(tableName)) {
				strMap.put("0",new StringBuffer("数据日期"+PubConstUtils.CUT+"借据号"+PubConstUtils.CUT+"产品类型"+PubConstUtils.CUT+"合同编号"+PubConstUtils.CUT+"客户编号"+PubConstUtils.CUT+"客户名称"+PubConstUtils.CUT+"客户内部评级"+PubConstUtils.CUT+"机构编号"+PubConstUtils.CUT+"机构名称"+PubConstUtils.CUT+"核心产品代码"+PubConstUtils.CUT+"核心产品名称"+PubConstUtils.CUT+"会计科目"+PubConstUtils.CUT+"会计三分类"+PubConstUtils.CUT+"借据金额"+PubConstUtils.CUT+"借据余额"+PubConstUtils.CUT+"币种代码"+PubConstUtils.CUT+"预期收益率"+PubConstUtils.CUT+"起息日"+PubConstUtils.CUT+"到期日"+PubConstUtils.CUT+"调整还款日"+PubConstUtils.CUT+"交易日期"+PubConstUtils.CUT+"交易价格"+PubConstUtils.CUT+"还款方式代码"+PubConstUtils.CUT+"还款计划生成方式"+PubConstUtils.CUT+"计息方式"+PubConstUtils.CUT+"付息频率"+PubConstUtils.CUT+"计息区间生成规则"+PubConstUtils.CUT+"工作日调整规则"+PubConstUtils.CUT+"日算惯例"+PubConstUtils.CUT+"借据状态"+PubConstUtils.CUT+"逾期利息余额"+PubConstUtils.CUT+"正常欠息余额"+PubConstUtils.CUT+"表内罚息余额"+PubConstUtils.CUT+"待摊利息收入"+PubConstUtils.CUT+"待结应收利息"+PubConstUtils.CUT+"待结应收罚息"+PubConstUtils.CUT+"来源系统\n"));
				sysTabsService.exportCsv(this.getResponse(),"非净值型保本浮动收益型理财产品",strMap,count);
			}else if(ZConstUtils.billDisProdTyp.equals(tableName)){
				strMap.put("0",new StringBuffer("数据日期"+PubConstUtils.CUT+"借据号"+PubConstUtils.CUT+"产品类型"+PubConstUtils.CUT+"票据号"+PubConstUtils.CUT+"合同编号"+PubConstUtils.CUT+"客户编号"+PubConstUtils.CUT+"客户名称"+PubConstUtils.CUT+"机构编号"+PubConstUtils.CUT+"机构名称"+PubConstUtils.CUT+"核心产品代码"+PubConstUtils.CUT+"核心产品名称"+PubConstUtils.CUT+"会计科目"+PubConstUtils.CUT+"会计三分类"+PubConstUtils.CUT+"币种代码"+PubConstUtils.CUT+"借据金额"+PubConstUtils.CUT+"借据余额"+PubConstUtils.CUT+"预期收益率"+PubConstUtils.CUT+"起息日"+PubConstUtils.CUT+"到期日"+PubConstUtils.CUT+"交易日期"+PubConstUtils.CUT+"交易价格"+PubConstUtils.CUT+"还款计划生成方式"+PubConstUtils.CUT+"付息频率"+PubConstUtils.CUT+"计息方式"+PubConstUtils.CUT+"计息区间生成规则"+PubConstUtils.CUT+"工作日调整规则"+PubConstUtils.CUT+"日算惯例"+PubConstUtils.CUT+"借据状态"+PubConstUtils.CUT+"逾期利息余额"+PubConstUtils.CUT+"正常欠息余额"+PubConstUtils.CUT+"表内罚息余额"+PubConstUtils.CUT+"待摊利息收入"+PubConstUtils.CUT+"待结应收利息"+PubConstUtils.CUT+"待结应收罚息"+PubConstUtils.CUT+"来源系统\n"));
				sysTabsService.exportCsv(this.getResponse(),"票据转贴现",strMap,count);
			}
		} catch (Exception e) {
			e.printStackTrace();
			logger.info(e.getMessage());
			throw new BizException("导出失败:"+e.getMessage());
		}
	}

 

分享到:
评论

相关推荐

    Export_s2k.rar_ETAB_Etabs2016 s2k_S2K_etabs 导出s2k_etabs18s2k插件

    etabs2016导出S2K文件插件,亲测好评,大神提供

    h2数据库批量导出

    2. 导出数据:使用`RUNSCRIPT FROM 'mydb_data.sql'`命令可以导入数据,同理,可以使用`SCRIPT TO 'mydb_data.sql'`导出数据。 3. 压缩导出:为了方便存储和传输,可以将导出的SQL文件压缩成ZIP或GZ格式,H2提供了...

    手把手教你出2D和3D图

    2. **选择导出选项:**在菜单栏中点击“文件(File)”选项,然后选择“导出(Export)”。这时会弹出一个对话框,在其中你可以看到不同的文件格式选项。 3. **选择DXF格式:**在“保存类型(Save as type)”下拉菜单中...

    DB2数据库导入导出

    DB2 数据库导入导出 DB2 数据库导入导出的操作方法是指将用户的 DB2 数据库导出并导入到自己的 DB2 数据库上。由于 DB2 没有直接的数据库导出功能,因此需要导出表结构、表数据,然后在导入。 一、导出表结构 在 ...

    db2数据导出工具

    2. **导出过程** 使用`db2export`,用户需要指定数据库连接信息、要导出的表名、输出文件路径及格式。例如,一个基本的导出命令可能如下: ``` db2export -d database_name -u username -p password -t table_...

    java导出PDF、导出漂亮PDF、导出指定格式PDF

    我们在项目当中经常要导出pdf文档,pdf文档还要按一定的格式导出,以下介绍导出pdf文档功能: ...2)指定文字显示的位置 3)支持表格展示数据 4)添加水印 5)代码全开源,在多个项目中使用,放心下载

    POI导出 POI导出 POI导出

    POI导出POI导出POI导出POI导出POI导出POI导出POI导出POI导出POI导出POI导出POI导出POI导出POI导出POI导出POI导出POI导出POI导出POI导出POI导出POI导出POI导出POI导出POI导出POI导出POI导出POI导出POI导出POI导出POI...

    C# NPOI导出多个Sheet页的Excel

    C# 用NPOI导出多个sheet页的Excel,sheet页名称可以自定义

    JAVAeasypoi根据Excel模板导出 循环遍历合并单元格处理

    【JAVA】easypoi根据Excel模板导出 循环遍历合并单元格处理

    Excel导出两种方式

    当我们需要在应用程序中实现Excel数据导出功能时,Java提供了一些库,如Apache POI,可以帮助我们方便地操作Excel文件。本篇文章将深入探讨如何通过javabean和Map两种方式使用Apache POI库来导出包含图片的Excel表格...

    DLL导出类的三种方法,导出接口类,导出类指针,导出类,不建议使用导出类

    2. 导出类指针 在这种方法中,DLL导出一个指向具体类实例的指针。客户端代码通过这个指针调用类的方法。为了防止编译器在不同模块间产生不同的二进制布局,需要使用导出工厂函数来创建和管理类实例。这种方式比直接...

    Export2D:将Fusion 360模型的面Kong导出为PDF或DXF文件

    导出2D将Fusion 360模型的面Kong导出为PDF或DXF文件用法选择多个面并导出单个或多个DXF或PDF文件。 (可选)您可以定义一个偏移量。例如,这将允许您补偿激光切口。注意:所有DXF对象将根据面的方向移动到原点。这...

    excel导出支持前台和后台导出

    在Struts2框架中,可以通过Action类创建一个处理导出请求的方法,使用POI生成Excel文件,然后返回到前端供用户下载。 2. Struts2集成:Struts2是一个流行的Java Web框架,提供了Action、Interceptor等概念,方便处理...

    数据导出控件,导出各种数据

    2. **DBF**:这是一个数据库文件格式,常用于FoxPro等数据库管理系统。DBF文件结构简单,易于处理,对于需要与这些系统交互或进行低级数据处理的应用程序来说很有用。 3. **MDB**:这是Microsoft Access的数据库...

    Oracle导出Clob,Blob工具版本2

    "Oracle导出Clob,Blob工具版本2" 是一个专为解决这个问题而设计的应用程序,它改进了对CLOB(Character Large Object)和BLOB(Binary Large Object)数据类型的导出效率,特别是修复了上一版本中导出时间过长的问题...

    3dmax批量导出fbx,批量导出obj,批量导出3ds,批量导出max批量导出glb和gltf

    3dmax批量导出fbx,3dmax批量导出obj,3dmax批量导出3ds,3dmax批量导出max,需要把VR材质完美转普通材质...最新版本,支持3dmax批量导出glb,3dmax批量导出gltf,注意批量导出glb和gltf只支持3dmax2023版本以上才可以

    Excel报表导出,复杂Excel模板导出(带单元格合并),jxls2

    本项目专注于解决这一问题,通过使用`jxls2`库,能够实现复杂Excel模板的导出,包括单元格的合并,满足多种报表导出需求。现在我们将详细探讨这个项目的核心技术和应用场景。 首先,`jxls2`是一个强大的Java库,它...

    java基于模板导出Excel表格

    除了平时简单的数据导出需求外,我们也经常会遇到一些有固定格式或者模板要求的数据导出,这个时候poi导出方式变得复杂且冗长,因此采用EasyExcel的方式进行导出,可以大大提高我们的开发效率和简洁我们的代码。...

    导出Excel功能,导出Excel功能,导出Excel功能

    2. **数据格式化**:在导出数据时,我们需要考虑如何格式化数据,如设置单元格样式(字体、颜色、边框)、日期格式、数字格式等,确保数据以用户友好的方式呈现。 3. **数据筛选与排序**:在导出前,可能需要根据...

    ppt备注导出 解说词导出 到记事本txt和word

    2.建议选择导出到记事本,一键操作最彻底;导出到Word不兼容概率较大 3.备注导出后本程序会自动关闭,文件到C盘根目录查找 ppt备注.txt 或 ppt备注.doc,这么设计的原因是每个计算机都应该有C盘 4.点按钮选择ppt文件...

Global site tag (gtag.js) - Google Analytics