论坛首页 入门技术论坛

很垃圾的统计

浏览 1574 次
该帖已经被评为新手帖
作者 正文
   发表时间:2008-03-25  
//以下数据才仅仅是两种疫苗的统计,国家疫苗报表中共十种疫苗,这样写下去岂不是要疯掉..... 

统计功能本应是做专门的服务的,奈于时间的原因,只好先用JDBC来查询统计,但是这样却有很大的问题...

优化SQL.....尽量让MYSQL来替JAVA程序做事......


//  try
//  {
//   /**
//    * 首先计算卡介苗1针情况 
//    */
//   String per_sql = "SELECT * FROM Personaldossier AS P WHERE P.siteId='"+siteId+"'";
//   
//   List per_list = (List)com.cmp.gov.conn.DBConnection.getResult(per_sql);
//   com.cmp.gov.conn.DBConnection.closeConnection();
//   
//   if(per_list!=null && per_list.size()>0)
//   {
//    Iterator it = per_list.iterator();
//    
//    while(it.hasNext())
//    {
//     Personaldossier per = (Personaldossier)it.next();
//     String per_csrq = per.getCsrq();
//     
//     Date pdate = com.cmp.yiwu.util.DateUtil.StrToDate(per_csrq); //个人档案生日
//     Date afdate = com.csm.system.common.MiscUtil.getAfterDate(pdate,6); //出生日期六年后日期
//     Date aydate = com.csm.system.common.MiscUtil.getAfterDate(pdate,12); //出生日期1年后日期
//     
//     //如果出生日期在查询日期内OR出生日期六年后在查询日期内
//     if(sysdate.before(afdate) && sysdate.after(pdate))
//     {
//      kjm_sumdata++;//基础免疫小计应种数
//      kjm_jqyzdata++;
//     }
//     if(sysdate.before(afdate) && sysdate.after(pdate) && sysdate.before(aydate) && sysdate.after(pdate))
//     {
//      kjm_12data++;//基础免疫小于12个月应种数
//     }
//    }
//    temp[0]="卡介苗";
//    temp[1]="1";
//    temp[2]=""+kjm_sumdata;
//    temp[3]=""+kjm_12data;
//   }
//   System.out.println("卡介苗免疫小计应种人数:"+ kjm_sumdata);
//   System.out.println("卡介苗免疫小于12月应种人数:"+ kjm_12data);
//   /**
//    *  查询本社区中卡介苗受种人数 
//    */
//   int sysmonth = sysdate.getMonth();
//   String jz_sql = "SELECT DISTINCT(J.ymmc) FROM Jzjl AS J WHERE J.siteId ='"+siteId+"' and J.ymmc='卡介苗' and J.mylx='基础' and '"+sysmonth+"' IN substring(J.jzrq,6,2)";
//   List jzrs_list = (List)com.cmp.gov.conn.DBConnection.getResult(jz_sql);
//   com.cmp.gov.conn.DBConnection.closeConnection();
//   
//   if(jzrs_list!=null && jzrs_list.size()>0)
//   {
//    kjm_jcszdata = Float.valueOf(jzrs_list.size());
//   }
//   System.out.println("卡介苗基础小计受种人数:"+ kjm_jcszdata);
//   temp[4]=""+kjm_12data;
//   
//   //小于12月的卡介苗基础受种人数
//   Iterator it = jzrs_list.iterator();
//   while(it.hasNext())
//   {
//    Jzjl jzjl = (Jzjl)it.next();
//    if(jzjl!=null)
//    {
//     String personal_id = jzjl.getPersonaldossierID();
//     
//     String sql = "SELECT P.csrq FROM Personaldossier AS P WHERE P.siteId='"+siteId+"' AND P.personal_dossierID='"+personal_id+"'";
//     String csdate="";
//     try
//     {
//      ResultSet rs = com.cmp.gov.conn.DBConnection.getResult(sql);
//      if(rs.next())
//      {
//       csdate = rs.getString(1);
//      }
//      Date perdate = com.cmp.yiwu.util.DateUtil.StrToDate(csdate);//个人档案日期
//      Date oneydate = com.csm.system.common.MiscUtil.getAfterDate(perdate,12); //出生日期1年后日期
//      if(sysdate.before(oneydate) && sysdate.after(perdate) && sysdate.before(oneydate) && sysdate.after(perdate))
//      {
//       kjm_jcmyszdata++;//基础免疫小于12个月受种数
//      }
//     }
//     catch(Exception ex)
//     {}
//     finally
//     {
//      com.cmp.gov.conn.DBConnection.closeConnection();
//     }
//    }
//   }
//   temp[5]=""+kjm_jcmyszdata;
//   
//   
//   String kjm_jq = "SELECT DISTINCT(J.ymmc) FROM Jzjl AS J WHERE J.siteId ='"+siteId+"' and J.ymmc='卡介苗' and J.mylx='加强' and '"+sysmonth+"' IN substring(J.jzrq,6,2)";
//   List kjmjq_list = (List)com.cmp.gov.conn.DBConnection.getResult(kjm_jq);
//   com.cmp.gov.conn.DBConnection.closeConnection();
//   
//   if(kjmjq_list!=null && kjmjq_list.size()>0)
//   {
//    kjm_jqszdata = Float.valueOf(kjmjq_list.size());
//   }
//   System.out.println("卡介苗加强受种人数:"+ kjm_jqszdata);
//   temp[7]=""+kjm_jqszdata;
//   
//   
//   //加强应种
//   temp[6]=""+kjm_jqyzdata;
//   System.out.println("卡介苗加强应种人数:"+ kjm_jqszdata);
//   
//   //将卡介苗数据存放于集合中
//   allInfo_List.add(temp);
//   
//   /**
//    * 计算脊灰疫苗(3针)情况 
//    */
//   String []temp_jh1=new String[7];
//   
//   /**脊灰疫苗的数据情况*/
//   Float jhym_sumdata = 0f; //小计基础应种数
//   Float jhym_12data = 0f; //小于12月应种
//   Float jhym_jcszdata = 0f;//小计基础受种
//   Float jhym_jcmyszdata = 0f;//基础免疫小于12月受种数
//   Float jhym_jqszdata =0f; //加强受种
//   Float jhym_jqyzdata = 0f;//加强应种
//   
////   String [疫苗名称][针次][基小计应种][12应种][小计受种][12受种][加强应种][加强受种]
//   String per_jhym_sql = "SELECT * FROM Personaldossier AS P WHERE P.siteId='"+siteId+"'";
//   List per_jhym_list = (List)com.cmp.gov.conn.DBConnection.getResult(per_jhym_sql);
//   com.cmp.gov.conn.DBConnection.closeConnection();
//   
//   if(per_jhym_list!=null && per_jhym_list.size()>0)
//   {
//    Iterator jhym_it = per_list.iterator();
//    
//    while(jhym_it.hasNext())
//    {
//     Personaldossier per = (Personaldossier)jhym_it.next();
//     String per_csrq = per.getCsrq();
//     
//     Date pdate = com.cmp.yiwu.util.DateUtil.StrToDate(per_csrq); //个人档案生日
//     Date afdate = com.csm.system.common.MiscUtil.getAfterDate(pdate,6); //出生日期六年后日期
//     Date aydate = com.csm.system.common.MiscUtil.getAfterDate(pdate,12); //出生日期1年后日期
//     
//     //如果出生日期在查询日期内OR出生日期六年后在查询日期内
//     if(sysdate.before(afdate) && sysdate.after(pdate))
//     {
//      jhym_sumdata++;//基础免疫小计应种数
//      jhym_jqyzdata++;
//     }
//     if(sysdate.before(afdate) && sysdate.after(pdate) && sysdate.before(aydate) && sysdate.after(pdate))
//     {
//      jhym_12data++;//基础免疫小于12个月应种数
//     }
//    }
//    temp_jh1[0]="脊灰疫苗";
//    temp_jh1[1]="1";
//    temp_jh1[2]=""+jhym_sumdata;
//    temp_jh1[3]=""+jhym_12data;
//   }
//   System.out.println("脊灰疫苗免疫小计应种人数:"+ jhym_sumdata);
//   System.out.println("脊灰疫苗免疫小于12月应种人数:"+ jhym_12data);
//   
//   
//   /**
//    *  查询本社区中脊灰疫苗受种人数 
//    */
//   int month = sysdate.getMonth(); 
//   //受种人数集合数据
//   String jhym_sql = "SELECT DISTINCT(J.ymmc) FROM Jzjl AS J WHERE J.siteId ='"+siteId+"' and J.ymmc='卡介苗' and J.mylx='基础' and '"+sysmonth+"' IN substring(J.jzrq,6,2)";
//   List jhym_list = (List)com.cmp.gov.conn.DBConnection.getResult(jhym_sql);
//   com.cmp.gov.conn.DBConnection.closeConnection();
//   
//   //免疫方案集合数据
//   String myfa_sql = "SELECT * FROM Ym_MianYifangAn AS Y WHERE Y.fn_ymname='脊灰疫苗' AND Y.siteId='"+siteId+"' AND Y.fn_zc='1'";
//   List myfa_list = (List)com.cmp.gov.conn.DBConnection.getResult(myfa_sql);
//   com.cmp.gov.conn.DBConnection.closeConnection();
//   
//   if(jhym_list!=null && jhym_list.size()>0)
//   {
//    Iterator jhym_it = jhym_list.iterator();
//    Iterator myfa_it = myfa_list.iterator();
//    
//    //受种人数记录
//    while(jhym_it.hasNext())
//    {
//     Jzjl jzjl = (Jzjl)jhym_it.next();
//     
//     //免疫方案记录
//     while(myfa_it.hasNext())
//     {
//      Ym_MianYifangAn ymfa = (Ym_MianYifangAn)it.next();
//      //如果免疫范围为月
//      if(ymfa.getMemo_one().equals("月"))
//      {
//       //如果受种记录时间在免疫方案范围内
//       
//      }
//      else
//      {
//       
//      }
//     }
//     kjm_jcszdata = Float.valueOf(jzrs_list.size());
//    }
//   }
//   System.out.println("卡介苗基础小计受种人数:"+ kjm_jcszdata);
//   temp[4]=""+kjm_12data;
//  }
//  catch(Exception ex)
//  {
//   ex.printStackTrace();
//  }
 
   发表时间:2008-03-25  
lz吧代码重新编辑一下吧用code弄起来
0 请登录后投票
论坛首页 入门技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics