81041
2019-01-18 cf4efde9b2ec3d661269c0346596aaf789eb54ad
gx_tieta/src/com/fgkj/dao/impl/Battinf_applyImpl.java
@@ -33,7 +33,7 @@
      // TODO Auto-generated method stub
      return null;
   }
    //添加申请
    //添加申请(新建)
   public boolean add(Object obj) {
      List<Battinf_apply> list=(List<Battinf_apply>) obj;
      List<User_log> listU=new ArrayList<User_log>();//存放user_log
@@ -83,6 +83,38 @@
      
      return bl;
   }
   //添加申请(修改旧的)
   public boolean addPro(Object obj) {
      List<Battinf_apply> list=(List<Battinf_apply>) obj;
      List<User_log> listU=new ArrayList<User_log>();//存放user_log
      ArrayList<String> sql_str=new ArrayList();
      if(list!=null && list.size()>0){
         for (int i = 0; i < list.size(); i++) {
            Battinf_apply bapply=list.get(i);
            int uid=((User_inf)ActionUtil.getUser()).getUId();
             bapply.setApply_uid(uid);
            BattInf binf=bapply.getBinf();
            String sql = "replace into db_battinf.tb_battinf_apply(" +
                  "apply_uid,apply_date,StationId,StationName,StationName1,StationName2,StationName3,StationName4,StationName5,StationIp,FBSDeviceId,FbsDeviceIp,FbsDeviceIp_YM,FbsDeviceIp_WG,"
                  + "FBSDeviceName,GroupIndexInFBSDevice,battgroupId,BattGroupNum,BattGroupName,FloatVolLevel,OfflineVolLevel,BattFloatCurrent" +
                  ",MonCount,MonCapStd,monVolStd,monResStd,MonSerStd,MonVolLowToAvg,BattProducer,BattModel,BattProductDate,BattInUseDate,Load_curr,install_user,DisCurrMax,station_phone" +
                  ") values("+bapply.getApply_uid()+",'"+DAOHelper.sdf.format(bapply.getApply_date())+"','"+binf.getStationId()+"','"+binf.getStationName()+"','"+binf.getStationName1()+"','"+binf.getStationName2()+"','"+binf.getStationName3()+"','"+binf.getStationName4()+"','"+binf.getStationName5()+
                  "','"+binf.getStationIp()+"',"+binf.getFBSDeviceId()+",'"+binf.getFbsDeviceIp()+"','"+binf.getFbsDeviceIp_YM()+"','"+binf.getFbsDeviceIp_WG()+"','"+binf.getFBSDeviceName()+"',"+binf.getGroupIndexInFBSDevice()+
                  ","+binf.getBattGroupId()+","+binf.getBattGroupNum()+",'"+binf.getBattGroupName()+"',"+binf.getFloatVolLevel()+","+binf.getOfflineVolLevel()+","+binf.getBattFloatCurrent()+
                  ","+binf.getMonCount()+","+binf.getMonCapStd()+","+binf.getMonVolStd()+","+binf.getMonResStd()+","+binf.getMonSerStd()+","+binf.getMonVolLowToAvg()+
                  ",'"+binf.getBattProducer()+"','"+binf.getBattModel()+"','"+DAOHelper.sdf.format(binf.getBattProductDate())+"','"+DAOHelper.sdf.format(binf.getBattInUseDate())+"',"+binf.getLoad_curr()+",'"+binf.getInstall_user()+"',"+binf.getDisCurrMax()+",'"+binf.getStation_phone()+"')";
            sql_str.add(sql);
            {
               String msg=((User_inf)ActionUtil.getUser()).getUId()+"申请添加"+binf.getStationName()+"机房"+binf.getBattGroupId()+"电池组的信息";
               User_log ulog=UinfDaoFactory.CreateULog(UinfDaoFactory.Increase, msg);
               listU.add(ulog);
             }
         }
      }
      Boolean bl=DAOHelper.makeManualCommit(DBUtil.getConn(), sql_str);
      (new User_logService()).addPro(listU);//将用户的操作记录下来
      return bl;
   }
    //确认申请(多条)
   public boolean update(Object obj) {
      List<Battinf_apply> list=(List<Battinf_apply>) obj;
@@ -96,7 +128,7 @@
            binf.setStation_install(1);
            String sql_update_apply=" update db_battinf.tb_battinf_apply set confrim_uid="+bapply.getConfrim_uid()+",apply_en=1 where battgroupid="+binf.getBattGroupId();
             sql_str.add(sql_update_apply);
             String sql_insert_binf="insert into db_battinf.tb_battinf(" +
             String sql_insert_binf="replace into db_battinf.tb_battinf(" +
                  "StationId,StationName,StationName1,StationName2,StationName3,StationName4,StationName5,StationIp,FBSDeviceId,FbsDeviceIp,FbsDeviceIp_YM,FbsDeviceIp_WG,"
                  + "FBSDeviceName,GroupIndexInFBSDevice,battgroupId,BattGroupNum,BattGroupName,FloatVolLevel,OfflineVolLevel,BattFloatCurrent" +
                  ",MonCount,MonCapStd,monVolStd,monResStd,MonSerStd,MonVolLowToAvg,BattProducer,BattModel,BattProductDate,BattInUseDate,Load_curr,install_user,DisCurrMax,station_phone,Station_install" +
@@ -106,9 +138,15 @@
                  ","+binf.getMonCount()+","+binf.getMonCapStd()+","+binf.getMonVolStd()+","+binf.getMonResStd()+","+binf.getMonSerStd()+","+binf.getMonVolLowToAvg()+
                  ",'"+binf.getBattProducer()+"','"+binf.getBattModel()+"','"+DAOHelper.sdf.format(binf.getBattProductDate())+"','"+DAOHelper.sdf.format(binf.getBattInUseDate())+"',"+binf.getLoad_curr()+",'"+binf.getInstall_user()+"',"+binf.getDisCurrMax()+",'"+binf.getStation_phone()+"',"+binf.getStation_install()+")";
             sql_str.add(sql_insert_binf);
             //给添加的机房加入包机组(管理员组)
             String baoji_sql_main="REPLACE into db_user.tb_user_battgroup_baojigroup_battgroup(baoji_group_id,StationId,BattGroupId) values('100011','"+binf.getStationId()+"',"+binf.getBattGroupId()+")";
             sql_str.add(baoji_sql_main);
            //System.out.println(baoji_sql_main);
             //给添加的机房加入包机组(该用户的)
             String baoji_sql="REPLACE into db_user.tb_user_battgroup_baojigroup_battgroup(baoji_group_id,StationId,BattGroupId) " + 
                            " SELECT baoji_group_id,'"+binf.getStationId()+"',"+binf.getBattGroupId()+" from  db_user.tb_user_battgroup_baojigroup ";
                            " SELECT baoji_group_id,'"+binf.getStationId()+"',"+binf.getBattGroupId()+" from  db_user.tb_user_battgroup_baojigroup_usr where uid="+bapply.getApply_uid();
             sql_str.add(baoji_sql);
             {
               String msg="确认添加"+binf.getStationName()+"机房"+binf.getBattGroupId()+"电池组的信息";
               User_log ulog=UinfDaoFactory.CreateULog(UinfDaoFactory.Alter, msg);
@@ -128,7 +166,7 @@
      return bl;
      
   }
   //验收申请(多条)
   //验收(多条)
   public boolean check(Object obj) {
      List<Battinf_apply> list=(List<Battinf_apply>) obj;
      List<User_log> listU=new ArrayList<User_log>();//存放user_log
@@ -140,8 +178,32 @@
            bapply.setCheck_uid(((User_inf)ActionUtil.getUser()).getUId());
            String sql_update_apply=" update db_battinf.tb_battinf_apply set check_uid="+bapply.getCheck_uid()+",check_en=1 where battgroupid="+binf.getBattGroupId();
             sql_str.add(sql_update_apply);
             String sql_replace_map=" replace into web_site.tb_battmap_information(StationId,StationName,address,longitude,latitude) values('"+binf.getStationId()+"','"+binf.getStationName()+"','"+bapply.getAddress()+"',"+bapply.getLongitude()+","+bapply.getLatitude()+")";
             sql_str.add(sql_replace_map);
             {
               String msg="验收"+binf.getStationName()+"机房";
               User_log ulog=UinfDaoFactory.CreateULog(UinfDaoFactory.Alter, msg);
               listU.add(ulog);
             }
         }
      }
      Boolean bl=DAOHelper.makeManualCommit(DBUtil.getConn(), sql_str);
      (new User_logService()).addPro(listU);//将用户的操作记录下来
      return bl;
   }
   //申请验收(多条)
   public boolean checkPro(Object obj) {
      List<Battinf_apply> list=(List<Battinf_apply>) obj;
      List<User_log> listU=new ArrayList<User_log>();//存放user_log
      ArrayList<String> sql_str=new ArrayList();
      if(list!=null&&list.size()>0){
         for (int i = 0; i < list.size(); i++) {
            Battinf_apply bapply=list.get(i);
            BattInf binf=bapply.getBinf();
            String sql_update_apply=" update db_battinf.tb_battinf_apply set check_en=2,longitude="+bapply.getLongitude()+",latitude="+bapply.getLatitude()+",address='"+bapply.getAddress()+"' where battgroupid="+binf.getBattGroupId();
             sql_str.add(sql_update_apply);
             {
               String msg="申请验收"+binf.getStationName()+"机房";
               User_log ulog=UinfDaoFactory.CreateULog(UinfDaoFactory.Alter, msg);
               listU.add(ulog);
             }
@@ -226,11 +288,23 @@
      String numberSql=" SELECT FOUND_ROWS() number";
      String sql=" select SQL_CALC_FOUND_ROWS distinct num,apply_uid,confrim_uid,check_uid,check_en,apply_date,apply_en,apply_note,StationId,StationName,StationName1,StationName2,StationName3,StationName4,StationName5,StationIp,FbsDeviceId,FbsDeviceIp_YM,FbsDeviceIp_WG,FbsDeviceIp"+
              ",FBSDeviceName,GroupIndexInFBSDevice,battgroupId,BattGroupNum,BattGroupName,FloatVolLevel,OfflineVolLevel,BattFloatCurrent" +
             ",MonCount,MonCapStd,monVolStd,monResStd,MonSerStd,MonVolLowToAvg,BattProducer,BattModel,BattProductDate,BattInUseDate,Load_curr,install_user,DisCurrMax,station_phone " +
             ",MonCount,MonCapStd,monVolStd,monResStd,MonSerStd,MonVolLowToAvg,BattProducer,BattModel,BattProductDate,BattInUseDate,Load_curr,install_user,DisCurrMax,station_phone "
             + ",longitude,latitude,address " +
            " from db_battinf.tb_battinf_apply " +
            " where apply_en=?  order by apply_date desc" +
            " limit ?,? ";
      List<Battinf_apply> list=DAOHelper.executeQueryLimit(sql, conn, new Object[]{bapply.getApply_en(),(page.getPageCurr()-1)*page.getPageSize(),page.getPageSize()}, new CallBack() {
            " where ";
      //未审批
      if(bapply.getApply_en()==0) {
         sql+=" apply_en=?  and check_en!=? ";
      }else {
         if(bapply.getCheck_en()==1) {
            sql+=" apply_en=?  and check_en=? ";
         }else {
            sql+=" apply_en=?  and check_en!=? and check_en!=1 ";
         }
      }
       sql+=" order by apply_date desc limit ?,?";
      List<Battinf_apply> list=DAOHelper.executeQueryLimit(sql, conn, new Object[]{bapply.getApply_en(),bapply.getCheck_en(),(page.getPageCurr()-1)*page.getPageSize(),page.getPageSize()}, new CallBack() {
         
         public List getResults(ResultSet rs) {
            List list=new ArrayList();
@@ -248,6 +322,9 @@
                  apply.setCheck_uname((new User_infImpl()).changeUidToUname(apply.getCheck_uid()));
                  apply.setApply_date(rs.getTimestamp("apply_date"));
                  apply.setApply_note(rs.getString("apply_note"));
                  apply.setLongitude(rs.getDouble("longitude"));
                  apply.setLatitude(rs.getDouble("latitude"));
                  apply.setAddress(rs.getString("address"));
                  
                  BattInf binf=new BattInf();
                  binf.setStationId(rs.getString("stationId"));
@@ -391,6 +468,81 @@
      return battgroupid;
   }
   
   //根据机房id查询出申请人已审批通过的电池组信息
   public List serchById(Object obj){
      Battinf_apply bapply=(Battinf_apply) obj;
      BattInf binf=bapply.getBinf();
      String sql="select * from db_battinf.tb_battinf_apply where stationid=? and apply_uid=? ";
      List list=DAOHelper.executeQuery(sql, DBUtil.getConn(), new Object[] {binf.getStationId(),bapply.getApply_uid()}, new CallBack() {
         @Override
         public List getResults(ResultSet rs) {
            List list=new ArrayList();
            try {
               while(rs.next()) {
                  Battinf_apply apply=new Battinf_apply();
                  apply.setNum(rs.getInt("num"));
                  apply.setApply_uid(rs.getInt("apply_uid"));
                  apply.setApply_name((new User_infImpl()).changeUidToUname(apply.getApply_uid()));
                  apply.setConfrim_uid(rs.getInt("confrim_uid"));
                  apply.setConfirm_name((new User_infImpl()).changeUidToUname(apply.getConfrim_uid()));
                  apply.setApply_en(rs.getInt("apply_en"));
                  apply.setCheck_uid(rs.getInt("check_uid"));
                  apply.setCheck_en(rs.getInt("check_en"));
                  apply.setCheck_uname((new User_infImpl()).changeUidToUname(apply.getCheck_en()));
                  apply.setApply_date(rs.getTimestamp("apply_date"));
                  apply.setApply_note(rs.getString("apply_note"));
                  BattInf binf=new BattInf();
                  binf.setStationId(rs.getString("stationId"));
                  binf.setStationName(rs.getString("stationName"));
                  binf.setStationName1(rs.getString("stationName1"));
                  binf.setStationName2(rs.getString("stationName2"));
                  binf.setStationName3(rs.getString("stationName3"));
                  binf.setStationName4(rs.getString("stationName4"));
                  binf.setStationName5(rs.getString("stationName5"));
                  binf.setStationIp(rs.getString("stationIp"));
                  binf.setFBSDeviceId(rs.getInt("fBSDeviceId"));
                  binf.setFbsDeviceIp(rs.getString("fbsDeviceIp"));
                  binf.setFbsDeviceIp_YM(rs.getString("fbsDeviceIp_YM"));
                  binf.setFbsDeviceIp_WG(rs.getString("fbsDeviceIp_WG"));
                  binf.setFBSDeviceName(rs.getString("fBSDeviceName"));
                  binf.setGroupIndexInFBSDevice(rs.getInt("groupIndexInFBSDevice"));
                  binf.setBattGroupId(rs.getInt("battGroupId"));
                  binf.setBattGroupNum(rs.getInt("battGroupNum"));
                  binf.setBattGroupName(rs.getString("battGroupName"));
                  binf.setFloatVolLevel(rs.getFloat("floatVolLevel"));
                  binf.setOfflineVolLevel(rs.getFloat("offlineVolLevel"));
                  binf.setBattFloatCurrent(rs.getFloat("battFloatCurrent"));
                  binf.setMonCount(rs.getInt("monCount"));
                  binf.setMonCapStd(rs.getFloat("monCapStd"));
                  binf.setMonVolStd(rs.getFloat("monVolStd"));
                  binf.setMonResStd(rs.getFloat("monResStd"));
                  binf.setMonSerStd(rs.getFloat("monSerStd"));
                  binf.setMonVolLowToAvg(rs.getFloat("monVolLowToAvg"));
                  binf.setBattProducer(rs.getString("battProducer"));
                  binf.setBattModel(rs.getString("battModel"));
                  binf.setBattProductDate(rs.getDate("battProductDate"));
                  binf.setBattInUseDate(rs.getDate("battInUseDate"));
                  binf.setLoad_curr(rs.getFloat("load_curr"));
                  binf.setInstall_user(rs.getString("install_user"));
                        binf.setDisCurrMax(rs.getFloat("disCurrMax"));
                        binf.setStation_phone(rs.getString("station_phone"));
                  apply.setBinf(binf);
                  list.add(apply);
               }
            } catch (SQLException e) {
               // TODO Auto-generated catch block
               e.printStackTrace();
            }
            return list;
         }
      });
      return list;
   }
    //查询出审核完的申请和待审核的申请
   public List serchByInfo(Object obj) {
      Battinf_apply bapply=(Battinf_apply) obj;
@@ -402,8 +554,20 @@
              ",FBSDeviceName,GroupIndexInFBSDevice,battgroupId,BattGroupNum,BattGroupName,FloatVolLevel,OfflineVolLevel,BattFloatCurrent" +
             ",MonCount,MonCapStd,monVolStd,monResStd,MonSerStd,MonVolLowToAvg,BattProducer,BattModel,BattProductDate,BattInUseDate,Load_curr,install_user,DisCurrMax,station_phone " +
            " from db_battinf.tb_battinf_apply " +
            " where apply_en=?  and apply_uid=? order by apply_date desc " +
            " limit ?,? ";
            " where apply_en=?  and check_en=0 ";//(未审批和已审批的数据不能被验收)
      //用户
      String userSqlF=" and  apply_uid=? " ;
      String userSqlT=" and  apply_uid!=? " ;
      if(bapply.getApply_uid()==1002) {
         bapply.setNum(0);
         sql+=userSqlT;
      }else {
         sql+=userSqlF;
      }
      String endSql=" order by apply_date desc limit ?,?";
      sql+=endSql;
      //System.out.println(sql);
      List<Battinf_apply> list=DAOHelper.executeQueryLimit(sql, conn, new Object[]{bapply.getApply_en(),bapply.getNum(),(page.getPageCurr()-1)*page.getPageSize(),page.getPageSize()}, new CallBack() {
         
         public List getResults(ResultSet rs) {
@@ -582,7 +746,7 @@
   }
    //申请表中已审批通过的设备连接数
   public List devCommNum() {
      String sql=" select  distinct db_battinf.tb_battinf_apply.FbsDeviceId,dev_commcount " +
      String sql=" select  distinct db_battinf.tb_battinf_apply.FbsDeviceId,dev_commcount,dev_errcommcount " +
            " from db_battinf.tb_battinf_apply,db_ram_db.tb_fbs9100_state " +
            " where apply_en=1  and db_battinf.tb_battinf_apply.FbsDeviceId=db_ram_db.tb_fbs9100_state.dev_id "
         +   " order by apply_date desc" ;
@@ -596,6 +760,7 @@
                  Fbs9100_state fbs=new Fbs9100_state();
                  fbs.setDev_id(rs.getInt("FbsDeviceId"));
                  fbs.setDev_commcount(rs.getInt("dev_commcount"));
                  fbs.setDev_errcommcount(rs.getInt("dev_errcommcount"));
                  list.add(fbs);
               }
            } catch (SQLException e) {
@@ -616,8 +781,9 @@
      Battinf_apply bapply=new Battinf_apply();
      bapply.setApply_date(ActionUtil.getSimpDate(date2));
      bapply.setApply_uid(1002);
      bapply.setApply_en(1);
      bapply.setCheck_en(1);
      bapply.setNum(1002);;
      BattInf binf=new BattInf();
      binf.setStationName("广西省-百色-GX百色乐业县立新小区WF-BTS设备");
      binf.setStationName1("湖北省");
@@ -626,7 +792,7 @@
      binf.setStationName4("BTS设备");
      binf.setStationName5("沙洋县");
      
      binf.setStationId("4011100");
      binf.setStationId("42000626");
      binf.setStationIp("");
      binf.setFBSDeviceId(910001000);
      binf.setFbsDeviceIp("127.0.0.1");
@@ -657,10 +823,12 @@
      Page page=new Page();
      page.setPageCurr(1);
      page.setPageSize(10);
      page.setPageSize(20);
      binf.setPage(page);
      bapply.setBinf(binf);
      /*List list=bimpl.serchByCondition(page);
      List list=bimpl.serchByInfo(bapply);
      System.out.println(list.size());
      /*List list=bimpl.serchByCondition(bapply);
      System.out.println(list.size());*/
      /*List list=new ArrayList();
      list.add(bapply);
@@ -678,5 +846,7 @@
      for (Fbs9100_state f : list) {
         System.out.println(f.getDev_id()+"   "+f.getDev_commcount());
      }*/
      /*List list=bimpl.serchById(bapply);
      System.err.println(list.size());*/
   }
}