在写个调存储过程,返回List 在页面报表展示

--------------------------------------------------------------------------------------------------JS

//报表获取数据核心部分
   function reportGetDataBody()
   { 
    ShowLoading();
    var startDate = $get("startDate").value;
    var endDate = $get("endDate").value;
    var dbzid = $get("dbzid").value;
    var dbzfaid = $get("dbzfaid").value;
    var tjfs =$get("tjfs").value;
    var hzxm = encodeURI(encodeURI($get("hzxm").value));
    
     HideLoading();
     var reportViewer=$get("ReportViewer");
           reportViewer.Stop();
           report = reportViewer.Report;
           report.LoadDataFromURL(baseUrl+"/hosp/dbzmxquery/getDbzMxQueryList.do?tjfs="+tjfs+"&startDate="+startDate+"&endDate="+endDate+"&dbzid="+dbzid+"&dbzfaid="+dbzfaid+"&hzxm="+hzxm);
           reportViewer.Start();
   }

--------------------------------------------------------------------------------------------------Java Controller

public void getDbzMxQueryList(HttpServletRequest request, HttpServletResponse response){
     ModelAndView modelAndView = new ModelAndView();
     try {
      String tjfs = request.getParameter("tjfs");
      String startDate = request.getParameter("startDate");
      String endDate = request.getParameter("endDate");
      String forgid = GetCookie.getForgId(request);
      String hzxm =  URLDecoder.decode(request.getParameter("hzxm"), "UTF-8");
      String dbzid = request.getParameter("dbzid");
      String dbzfaid = request.getParameter("dbzfaid");
      
      String forgidName = GetCookie.getForgName(request);
      
       HashMap hashMap = new HashMap();
        hashMap.put("tjfs", tjfs);
        hashMap.put("hzxm", hzxm);
        if(dbzid == null || "".equals(dbzid)){
         hashMap.put("dbzid", 0);
        }else{
         hashMap.put("dbzid", dbzid);
        }
        if(dbzfaid == null || "".equals(dbzfaid)){
         hashMap.put("dbzfaid", 0);
        }else{
         hashMap.put("dbzfaid", dbzfaid);
        }
        hashMap.put("startDate", Convert.toParseDate(startDate));
        hashMap.put("endDate", Convert.toParseDate(endDate));
        hashMap.put("forgid", new Long(forgid));
       
        List dbzQueryList = getDbzQueryImpl().getDbzMxQueryList(hashMap);
        hashMap.put("forgidName", forgidName);
        hashMap.put("b_date", startDate);
        hashMap.put("e_date", endDate);
        hashMap.put("opername", GetCookie.getOperName(request, this.getApplicationContext()));
        String gridXml = HisUtil.getGridXmlMap(dbzQueryList, hashMap);
        try {
            response.getWriter().print(gridXml);
          } catch (IOException e) {
            // e.printStackTrace();
          }
       
     } catch (Exception e) {
      AjaxException.MyException(response, e);
     }
   }

--------------------------------------------------------------------------------------------------Java  BO

public List getDbzMxQueryList(HashMap hashMap)
 {
  return getDbzQueryDAOImpl().getDbzMxQueryList(hashMap);
 }

--------------------------------------------------------------------------------------------------Java  DAO

 public List getDbzMxQueryList(HashMap hashMap) {
  getSqlMapClientTemplate().queryForObject("HIS_DBZQUERY.sp_report_dbz_mxcx", hashMap);
    Object data = hashMap.get("DATA");
    return data != null ? (List)data : new ArrayList();
 }
 

--------------------------------------------------------------------------------------------------Java  Sql Map

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE sqlMap PUBLIC "-//ibatis.apache.org//DTD SQL Map 2.0//EN" "http://ibatis.apache.org/dtd/sql-map-2.dtd" >
<sqlMap namespace="HIS_DBZQUERY" >

<resultMap class="java.util.HashMap" id="outMxcx_ResultMap">
     <result column="zdy_name" property="zdy_name" jdbcType="VARCHAR" />
     <result column="pathcode" property="pathcode" jdbcType="VARCHAR" />
     <result column="pathname" property="pathname" jdbcType="VARCHAR" />
     <result column="bzzfje" property="bzzfje" jdbcType="DECIMAL" />
     <result column="bzzje" property="bzzje" jdbcType="DECIMAL" />
     <result column="hospcode" property="hospcode" jdbcType="VARCHAR" />
     <result column="name" property="name" jdbcType="VARCHAR" />
     <result column="beprice" property="beprice" jdbcType="DECIMAL" />
     <result column="kbje" property="kbje" jdbcType="DECIMAL" />
     <result column="hzsbje" property="hzsbje" jdbcType="DECIMAL" />
     <result column="yyykje" property="yyykje" jdbcType="DECIMAL" />
     <result column="chargename" property="chargename" jdbcType="VARCHAR" />
     <result column="price" property="price" jdbcType="DECIMAL" />
 </resultMap>

 <parameterMap id="dbzMxcxParam" class="java.util.HashMap">
   <parameter property="startDate" jdbcType="DATE" mode="IN"/>
   <parameter property="endDate" jdbcType="DATE" mode="IN"/>
   <parameter property="dbzid" jdbcType="NUMBER" mode="IN"/>
   <parameter property="dbzfaid" jdbcType="NUMBER" mode="IN"/>
   <parameter property="hzxm" jdbcType="VARCHAR" mode="IN"/>
   <parameter property="tjfs" jdbcType="NUMBER" mode="IN"/>
   <parameter property="forgid" jdbcType="NUMBER" mode="IN"/>
   <parameter jdbcType="ORACLECURSOR" mode="OUT"
         property="DATA" javaType="java.sql.ResultSet" resultMap="outMxcx_ResultMap"/>
 </parameterMap>
 <procedure id="sp_report_dbz_mxcx" parameterMap="dbzMxcxParam">
   {call sp_report_dbz_mxcx(?,?,?,?,?,?,?,?)}
 </procedure>
 

</sqlMap>

--------------------------------------------------------------------------------------------------存储过程

CREATE OR REPLACE PROCEDURE SP_REPORT_DBZ_MXCX( as_date_b   date,
                                                as_date_e   date,
                                                ai_dbzid    numeric,
                                                ai_dbzfaid  number,
                                                as_hzxm     varchar2,
                                                as_tjfs     varchar2,
                                                ai_forgid number,
                                                out_cur   out his_zyjs.ref_cur) as
  /*功能:单病种明细查询
  参数:as_date_b,as_date_e 开始结束时间,ai_dbzid 单病种ID,ai_dbzfaid单病种方案ID
       as_hzxm患者姓名,as_tjfs 0自然时间1日结时间
  返回:
  调用:综合查询--住院查询--单病种明细查询
  创建:xck 2012-07-26 */

  vd_begin    date;
  vd_end      date;

begin
  if substr(to_char(as_date_b, 'yyyymmdd hh24:mi:ss'), 10, 17) = '00:00:00' then
    vd_begin := to_date(to_char(as_date_b, 'yyyy-MM-dd') || ' 00:00:00',
                        'yyyy-mm-dd hh24:mi:ss');
  else
    vd_begin := as_date_b;
  end if;
  if substr(to_char(as_date_e, 'yyyymmdd hh24:mi:ss'), 10, 17) = '00:00:00' then
    vd_end := to_date(to_char(as_date_e, 'yyyy-MM-dd') || ' 23:59:59',
                      'yyyy-mm-dd hh24:mi:ss');
  else
    vd_end := as_date_e;
  end if;

  if as_tjfs = '0' then
    --自然时间-----------------------------------
    open out_cur for
      select t3.zdy_name,--单病种名称
             t4.pathcode,--方案编码
             t4.pathname,--方案名称
             t4.bzzfje,--病种自费金额
             t4.bzzje,--病种总金额
             t2.hospcode,--住院号
             t2.name,--患者姓名
             t1.beprice,--结算金额
             t4.bzzje - t4.bzzfje as kbje,--可报金额
             t1.beprice - t4.bzzfje as hzsbje,--患者实报金额
             t4.bzzje - t1.beprice as yyykje  --医院盈亏金额
        from hosp_pay_history t1,
             patinfo_cy t2,
             dictmedi_dbz t3,
             cp_base_pathdy t4
      where t1.hospid = t2.hospid
        and t2.dbzfaid = t4.pathid
        and t4.dbzid = t3.dbzid
        and t1.forgid = t2.forgid
        and t2.forgid = t4.forgid
        and t4.forgid = t3.forgid
        and t1.invalid = 0
        and t1.beprice > 0
        and t1.ddate >= vd_begin
        and t1.ddate <= vd_end
        and t2.name like '%'||as_hzxm||'%'
        and (t2.dbzid = ai_dbzid or ai_dbzid = 0)
        and (t2.dbzfaid = ai_dbzfaid or ai_dbzfaid = 0)
        and t1.forgid = ai_forgid
      order by t3.zdy_name,t4.pathname;

  else
    --日结时间-----------------------------------------------------
    open out_cur for
    select t3.zdy_name,
             t4.pathcode,
             t4.pathname,
             t4.bzzfje,
             t4.bzzje,
             t2.hospcode,
             t2.name,
             t1.beprice,
             t4.bzzje - t4.bzzfje as kbje,
             t1.beprice - t4.bzzfje as hzsbje,--患者实报金额
             t4.bzzje - t1.beprice as yyykje
        from hosp_pay_history t1,
             patinfo_cy t2,
             dictmedi_dbz t3,
             cp_base_pathdy t4
      where t1.hospid = t2.hospid
        and t2.dbzfaid = t4.pathid
        and t4.dbzid = t3.dbzid
        and t1.forgid = t2.forgid
        and t2.forgid = t4.forgid
        and t4.forgid = t3.forgid
        and t1.invalid = 0
        and t1.beprice > 0
        and t1.paydate >= vd_begin
        and t1.paydate <= vd_end
        and t2.name like '%'||as_hzxm||'%'
        and (t2.dbzid = ai_dbzid or ai_dbzid = 0)
        and (t2.dbzfaid = ai_dbzfaid or ai_dbzfaid = 0)
        and t1.forgid = ai_forgid
      order by t3.zdy_name,t4.pathname;
   end if;
end;

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值