为了正常的体验网站,请在浏览器设置里面开启Javascript功能!
首页 > java调用存储过程返回map组装List(含SqlServer存储过程)

java调用存储过程返回map组装List(含SqlServer存储过程)

2022-09-01 11页 doc 26KB 7阅读

用户头像

is_833902

暂无简介

举报
java调用存储过程返回map组装List(含SqlServer存储过程)Action层publicActionForwardgetProjectPayMoneyJsonByPayType(ActionMappingmapping,ActionFormform,HttpServletRequestrequest,HttpServletResponseresponse)throwsException{JiLiangZhiFuServicejiLiangZhiFuService=this.getServiceLocator().getJiLiangZhiFuService();intyear=Integ...
java调用存储过程返回map组装List(含SqlServer存储过程)
Action层publicActionForwardgetProjectPayMoneyJsonByPayType(ActionMappingmapping,ActionFormform,HttpServletRequestrequest,HttpServletResponseresponse)throwsException{JiLiangZhiFuServicejiLiangZhiFuService=this.getServiceLocator().getJiLiangZhiFuService();intyear=Integer.parseInt(request.getParameter("year"));Stringdata=jiLiangZhiFuService.getProjectPayMoneyJsonByPayType(year);response.setContentType("text/xml");response.getWriter().write(data);response.getWriter().flush();response.getWriter().close();returnnull;}Service层publicStringgetProjectPayMoneyJsonByPayType(intyear){doubleallTotal=0;Mapmap=jiLiangZhiFuDao.getProjectPayMoneyByPayType(year);ListdataItemList=SessionBean.getServiceLocator().getDataItemService().getAllDataItemByTypeId("payType");Mapmap_ep=newHashMap();map_ep.put("account_id",2);map_ep.put("isSelectTwoStageProject",true);ListengineeringPhaseList=SessionBean.getServiceLocator().getEngineeringPhaseService().getEngineeringPhaseList(map_ep).getData();Mapmap_type=newHashMap();StringBuildersb=newStringBuilder();sb.append(""engineeringPhaseList.size()"");for(EngineeringPhaseengineeringPhase:engineeringPhaseList){Stringep_id= engineeringPhase.getEp_id();sb.append("");sb.append(""ep_id"");sb.append(""engineeringPhase.getEp_name()"");for(DataItemdataItem:dataItemList){Stringdi_id= dataItem.getId();Stringr_key=ep_id","di_id;if(map.containsKey(r_key)){map_type.put(di_id,map_type.containsKey(di_id)?(Double.parseDouble(map_type.get(di_id).toString())Double.parseDouble(map.get(r_key).toString())):Double.parseDouble(map.get(r_key).toString()));sb.append("<"di_id">"map.get(r_key)"");}}//项目支付金额合计sb.append(""map.get(engineeringPhase.getEp_id())"");allTotal=Double.parseDouble(map.get(engineeringPhase.getEp_id()).toString());sb.append("");}//某支付类别金额合计sb.append("");sb.append("");sb.append("合计");DecimalFormatdf=newDecimalFormat("#.00");for(DataItemdataItem:dataItemList){sb.append("<"dataItem.getId()">"String.format("%.2f",map_type.get(dataItem.getId()))"");}//各项目累计合计sb.append(""String.format("%.2f",allTotal)"");sb.append("");sb.append("");returnsb.toString();}Dao层publicMapgetProjectPayMoneyByPayType(finalintyear){try{return(Map)this.getHibernateTemplate().execute(newHibernateCallback(){publicObjectdoInHibernate(Sessionsession)throwsHibernateException,SQLException{Connectioncon=session.connection();Statementstmt=con.createStatement();CallableStatement cs=con.prepareCall("{callproc_records(?)}");cs.setInt(1,year);//ResultSetrs=stmt.executeQuery("{callproc_records}");ResultSetrs=cs.executeQuery();Mapmap=newHashMap();while(rs.next()){map.put(rs.getString(1),rs.getString(2));}rs.close();stmt.close();returnmap;}});}catch(org.springframework.dao.DataAccessExceptione){thrownewDataAccessException(e.getMessage(),e);}  }Sql:createprocedureproc_records@yearintas  DECLARE@map_tabletable(r_keyvarchar(100),r_valuevarchar(50))DECLARE@type_idvarchar(40)DECLARE@type_namevarchar(50)DECLARE@project_idvarchar(40)DECLARE@project_namevarchar(50)DECLARE@payTypeMoneynumeric(16,2)DECLARE@sumPayTypeMoneynumeric(16,2)BEGINset@payTypeMoney=0set@sumPayTypeMoney=0--查询项目列表DECLAREproject_cursorCURSORforselectep_id,ep_namefromAB_engineeringPhasewhereaccount_id='2'open project_cursorfetchnextfromproject_cursorinto@project_id,@project_namewhile @@FETCH_STATUS = 0begin--查询项目支付类别DECLAREprojectType_cursorCURSORforselectid,namefromT_DataItemwheretypeId='payType'orderbysortascopen projectType_cursorfetchnextfromprojectType_cursorinto@type_id,@type_namewhile @@FETCH_STATUS = 0begin--业务逻辑处理处理内层游标--获取一个项目某一项支付类型的数据--查询一个项目某一支付类别金额select@payTypeMoney=sum(checkProjectPayMoney)fromJiLiangZhiFuwhereprojectId=@project_idandpayType=@type_idandenterDate>CAST(@yearasvarchar(4))andenterDate
/
本文档为【java调用存储过程返回map组装List(含SqlServer存储过程)】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索