81041
2018-10-31 c98ccc2d632ebb849e2940118b40f51b2b17013b
gx_tieta/src/com/fgkj/dao/impl/Batttestdata_infDAOImpl.java
@@ -443,13 +443,13 @@
      String baseSql=" SELECT  DISTINCT(tb_batttestdata_inf.BattGroupId),tb_batttestdata_inf.test_starttime,tb_batttestdata_inf.record_time,tb_batttestdata_inf.test_cap," +
            " tb_batttestdata_inf.max_monvol,tb_batttestdata_inf.min_monvol,tb_batttestdata_inf.test_record_count,tb_batttestdata_inf.test_curr " +
            ",db_battinf.tb_battinf.load_curr AS curr " +
            ",db_battinf.tb_battinf.stationid,db_battinf.tb_battinf.stationname1,db_battinf.tb_battinf.stationname,db_battinf.tb_battinf.MonCapStd,db_battinf.tb_battinf.monvolstd,db_battinf.tb_battinf.battgroupname  " +
            ",db_battinf.tb_battinf.stationid,db_battinf.tb_battinf.stationname1,db_battinf.tb_battinf.stationname2,db_battinf.tb_battinf.stationname5,db_battinf.tb_battinf.stationname,db_battinf.tb_battinf.MonCapStd,db_battinf.tb_battinf.monvolstd,db_battinf.tb_battinf.battgroupname  " +
            " FROM  db_batt_testdata.tb_batttestdata_inf   " +
            " LEFT OUTER JOIN db_battinf.tb_battinf ON db_batt_testdata.tb_batttestdata_inf.BattGroupId=db_battinf.tb_battinf.BattGroupId   " +
            " WHERE tb_batttestdata_inf.test_starttime>=? and tb_batttestdata_inf.test_starttime<=?   " +
            " and db_batt_testdata.tb_batttestdata_inf.data_available=1 ";
      //机房维护区选择
       String stationSql=" AND db_battinf.tb_battinf.stationname like ? and db_battinf.tb_battinf.stationname1 like ?  ";
       String stationSql=" AND db_battinf.tb_battinf.stationname like ? and db_battinf.tb_battinf.stationname1 like ? and db_battinf.tb_battinf.stationname2 like ?  and db_battinf.tb_battinf.stationname5 like ? ";
       baseSql+=stationSql;
      String endSql=" ORDER BY db_battinf.tb_battinf.stationid asc,tb_batttestdata_inf.BattGroupId asc,db_batt_testdata.tb_batttestdata_inf.test_starttime desc  ";
      sql=baseSql+endSql;
@@ -458,7 +458,7 @@
      List list=DAOHelper.executeQuery(sql, DBUtil.getConn(), 
            new Object[]{
               binf.getBattProductDate(),binf.getBattProductDate1(),
               "%"+binf.getStationName()+"%","%"+binf.getStationName1()+"%"
               "%"+binf.getStationName()+"%","%"+binf.getStationName1()+"%","%"+binf.getStationName2()+"%","%"+binf.getStationName5()+"%"
             }, new CallBack() {
         
         public List getResults(ResultSet rs) {
@@ -470,6 +470,8 @@
                  BattInf binf=new BattInf();
                  binf.setStationId(rs.getString("stationId"));
                  binf.setStationName1(rs.getString("stationName1"));
                  binf.setStationName2(rs.getString("stationName2"));
                  binf.setStationName5(rs.getString("stationName5"));
                  binf.setStationName(rs.getString("stationName"));
                  binf.setMonVolStd(rs.getFloat("monVolStd"));
                  binf.setMonCapStd(rs.getFloat("monCapStd"));
@@ -512,7 +514,7 @@
            "mon_res,mon_ser,mon_conn_res,mon_cap " +
            ",BINARY(curr1+curr2+curr3) AS curr  " +
            ",db_battinf.tb_battinf.stationid,db_battinf.tb_battinf.moncapstd,db_battinf.tb_battinf.monvolstd " +
            ",db_battinf.tb_battinf.stationname,db_battinf.tb_battinf.stationname1,db_battinf.tb_battinf.BattGroupName,db_battinf.tb_battinf.deviceName  " +
            ",db_battinf.tb_battinf.stationname,db_battinf.tb_battinf.stationname1,db_battinf.tb_battinf.stationname2,db_battinf.tb_battinf.stationname5,db_battinf.tb_battinf.BattGroupName,db_battinf.tb_battinf.deviceName  " +
            ",MAX(binary tb_batt_rtdata.mon_vol) as maxmonvol,MIN(binary tb_batt_rtdata.mon_vol) as minmonvol    " +
            "FROM  db_ram_db.tb_batt_rtstate   " +
            "LEFT OUTER JOIN db_ram_db.tb_batt_rtdata ON tb_batt_rtstate.BattGroupId = tb_batt_rtdata.BattGroupId " +
@@ -520,7 +522,7 @@
            "LEFT OUTER JOIN db_ram_db.cmcc_power_data ON db_battinf.tb_battinf.fbsdeviceid=cmcc_power_data.dev_id    " +
            "where   ";
      //机房维护区选择
      String stationSql="  db_battinf.tb_battinf.stationname like ? AND db_battinf.tb_battinf.stationname1 like ?  ";
      String stationSql="  db_battinf.tb_battinf.stationname like ? AND db_battinf.tb_battinf.stationname1 like ?  AND db_battinf.tb_battinf.stationname2 like ? AND db_battinf.tb_battinf.stationname5 like ? ";
      baseSql+=stationSql;
       //电池状态
       String stateSqlT=" AND batt_state=? ";
@@ -536,7 +538,7 @@
      String orderSql=" order by db_battinf.tb_battinf.stationid asc";
      sql=baseSql+endSql+orderSql;
      //System.out.println(sql);
      List<Batt_State> list=DAOHelper.executeQueryLimit(sql, conn, new Object[]{"%"+binf.getStationName()+"%","%"+binf.getStationName1()+"%"
      List<Batt_State> list=DAOHelper.executeQueryLimit(sql, conn, new Object[]{"%"+binf.getStationName()+"%","%"+binf.getStationName1()+"%","%"+binf.getStationName2()+"%","%"+binf.getStationName5()+"%"
            ,binf.getNum()}, new CallBack() {
         
         public List getResults(ResultSet rs) {
@@ -577,6 +579,8 @@
                  binf.setDeviceName(rs.getString("deviceName"));
                  binf.setStationName(rs.getString("stationName"));
                  binf.setStationName1(rs.getString("stationName1"));
                  binf.setStationName2(rs.getString("stationName2"));
                  binf.setStationName5(rs.getString("stationName5"));
                  binf.setStationName9(BattTestData.battState(rs.getInt("batt_state")));
                  
                  state.setBstate(bstate);
@@ -957,7 +961,45 @@
      });
      return list;
   }
    //电池配组用到(筛选出有效的最近的一次节能放电技术)
   public List Batt_selecteffectiveBatt(Object obj,float param){
      BattInf binf=(BattInf) obj;
      String sql="SELECT distinct battGroupId,test_starttime,record_time,test_cap,max_monvol,min_monvol,test_record_count,test_curr FROM db_batt_testdata.tb_batttestdata_inf "
            + " WHERE BattGroupId =? "
            + " AND data_available=1 AND data_new = 1 AND "
            + " test_type = 3 AND test_starttype = 3 AND "                     //判断是节能放电
            + " abs(test_cap) >?*? "                   //判断测试数据容量是否有效
            + " ORDER BY test_record_count DESC LIMIT 1 ";
      List list=DAOHelper.executeQuery(sql, DBUtil.getConn(), new Object[]{binf.getBattGroupId(),binf.getMonCapStd(),param}, new CallBack() {
         public List getResults(ResultSet rs) {
            List list=new ArrayList();
            try {
               while(rs.next()){
                  Batttestdata_inf tinf=new Batttestdata_inf();
                  tinf.setBattGroupId(rs.getInt("battGroupId"));
                  if(rs.getString("test_starttime")!=null)
                     tinf.setTest_starttime(rs.getTimestamp("test_starttime"));
                  if(rs.getString("record_time")!=null)
                     tinf.setRecord_time(rs.getTimestamp("record_time"));
                  tinf.setTest_cap(rs.getFloat("test_cap"));
                  tinf.setMax_monvol(rs.getFloat("max_monvol"));
                  tinf.setMin_monvol(rs.getFloat("min_monvol"));
                  tinf.setTest_record_count(rs.getInt("test_record_count"));
                  tinf.setTest_curr(rs.getFloat("test_curr"));
                    list.add(tinf);
               }
            } catch (SQLException e) {
               // TODO Auto-generated catch block
               e.printStackTrace();
            }
            return list;
         }
      });
      return list;
   }
   public static void main(String[] args) throws ParseException {
      Batttestdata_infDAOImpl bimpl=new Batttestdata_infDAOImpl();
      Batttestdata_inf tdata=new Batttestdata_inf();