浏览 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(); // } 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2008-03-25
lz吧代码重新编辑一下吧用code弄起来
|
|
返回顶楼 | |