3.7
fxl
2023-03-07 52cffc4ab8e9787a6f233295502c7c9788dddae1
src/main/java/com/hxzkoa/services/GpsService.java
@@ -24,11 +24,13 @@
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import com.hxzkoa.json.tb_cojilu;
import com.hxzkoa.json.tb_fence;
import com.hxzkoa.json.tb_gas;
import com.hxzkoa.json.tb_gps;
import com.hxzkoa.json.tb_person;
import com.hxzkoa.json.tb_realocation;
import com.hxzkoa.json.tb_rtkanchor;
import com.hxzkoa.json.tb_system;
import com.hxzkoa.json.tb_track;
import com.hxzkoa.util.Config;
@@ -86,7 +88,7 @@
   public List<tb_gps> getGpsManagement() {
      String sql = null;
      Query query = null;
      sql = "SELECT id,gps_utc_time,gps_weidu,gps_NS,gsp_jingdu,gps_EW,gps_state,gps_num,gps_hdop,gps_haiba_gao,gps_tuoqiu,gps_chafen_time,gps_chafen_id,gps_jiaoyan,tagid,gps_kahao,gps_power,gps_sos,addtime FROM tb_gps";
      sql = "SELECT id,gps_utc_time,gps_weidu,gps_NS,gsp_jingdu,gps_EW,gps_state,gps_num,gps_hdop,gps_haiba_gao,gps_tuoqiu,gps_chafen_time,gps_chafen_id,gps_jiaoyan,tagid,gps_kahao,gps_power,gps_sos,addtime,ccid FROM tb_gps";
      query = this.em.createNativeQuery(sql);
      List resultList = query.getResultList();
      List<tb_gps> tb_gpsList = new ArrayList<tb_gps>();
@@ -107,11 +109,13 @@
            gps.setGps_tuoqiu(obj[10] == null ? "" : obj[10].toString());
            gps.setGps_chafen_time(obj[11] == null ? "" : obj[11].toString());
            gps.setGps_chafen_id(obj[12] == null ? "" : obj[12].toString());
            gps.setTagid(obj[13] == null ? "" : obj[13].toString());
            gps.setGps_kahao(obj[14] == null ? "" : obj[14].toString());
            gps.setGps_power(obj[15] == null ? "" : obj[15].toString());
            gps.setGps_sos(obj[16] == null ? "" : obj[16].toString());
            gps.setAddtime(obj[17] == null ? "" : obj[17].toString());
            gps.setGps_jiaoyan(obj[13] == null ? "" : obj[13].toString());
            gps.setTagid(obj[14] == null ? "" : obj[14].toString());
            gps.setGps_kahao(obj[15] == null ? "" : obj[15].toString());
            gps.setGps_power(obj[16] == null ? "" : obj[16].toString());
            gps.setGps_sos(obj[17] == null ? "" : obj[17].toString());
            gps.setAddtime(obj[18] == null ? "" : obj[18].toString());
            gps.setCcid(obj[19] == null ? "" : obj[19].toString());
            tb_gpsList.add(gps);
         }
      }
@@ -124,7 +128,7 @@
      int end = perPage;
      String sql = null;
      Query query = null;
      sql = "SELECT id,gps_utc_time,gps_weidu,gps_NS,gsp_jingdu,gps_EW,gps_state,gps_num,gps_hdop,gps_haiba_gao,gps_tuoqiu,gps_chafen_time,gps_chafen_id,gps_jiaoyan,tagid,gps_kahao,gps_power,gps_sos,addtime FROM tb_gps order by addtime desc LIMIT :start,:end";
      sql = "SELECT id,gps_utc_time,gps_weidu,gps_NS,gsp_jingdu,gps_EW,gps_state,gps_num,gps_hdop,gps_haiba_gao,gps_tuoqiu,gps_chafen_time,gps_chafen_id,gps_jiaoyan,tagid,gps_kahao,gps_power,gps_sos,addtime,ccid FROM tb_gps order by addtime desc LIMIT :start,:end";
      query = this.em.createNativeQuery(sql);
      query.setParameter("start", start);
      query.setParameter("end", end);
@@ -153,6 +157,7 @@
            gps.setGps_power(obj[16] == null ? "" : obj[16].toString());
            gps.setGps_sos(obj[17] == null ? "" : obj[17].toString());
            gps.setAddtime(obj[18] == null ? "" : obj[18].toString());
            gps.setCcid(obj[19] == null ? "" : obj[19].toString());
            tb_gpsList.add(gps);
         }
      }
@@ -171,7 +176,8 @@
      String tagid = input;
      String sql = null;
      Query query = null;
      sql = "SELECT id,gps_utc_time,gps_weidu,gps_NS,gsp_jingdu,gps_EW,gps_state,gps_num,gps_hdop,gps_haiba_gao,gps_tuoqiu,gps_chafen_time,gps_chafen_id,gps_jiaoyan,tagid,gps_kahao,gps_power,gps_sos,addtime FROM tb_gps WHERE tagid = :tagid";
//    sql = "SELECT id,gps_utc_time,gps_weidu,gps_NS,gsp_jingdu,gps_EW,gps_state,gps_num,gps_hdop,gps_haiba_gao,gps_tuoqiu,gps_chafen_time,gps_chafen_id,gps_jiaoyan,tagid,gps_kahao,gps_power,gps_sos,addtime,ccid FROM tb_gps WHERE tagid = :tagid";
      sql = "SELECT g.id,g.gps_utc_time,g.gps_weidu,g.gps_NS,g.gsp_jingdu,g.gps_EW,g.gps_state,g.gps_num,g.gps_hdop,g.gps_haiba_gao,g.gps_tuoqiu,g.gps_chafen_time,g.gps_chafen_id,g.gps_jiaoyan,g.tagid,g.gps_kahao,g.gps_power,g.gps_sos,g.addtime,g.ccid FROM tb_gps g,tb_person p WHERE p.p_tagid = g.tagid AND g.tagid = :tagid OR p.p_tagid = g.tagid AND p.p_name = :tagid";
      query = this.em.createNativeQuery(sql);
      query.setParameter("tagid", tagid);
      List resultList = query.getResultList();
@@ -199,6 +205,7 @@
            gps.setGps_power(obj[16] == null ? "" : obj[16].toString());
            gps.setGps_sos(obj[17] == null ? "" : obj[17].toString());
            gps.setAddtime(obj[18] == null ? "" : obj[18].toString());
            gps.setCcid(obj[19] == null ? "" : obj[19].toString());
            tb_gpsList.add(gps);
         }
      }
@@ -232,6 +239,22 @@
      }
   }
   
   @Transactional
   public int gpsManagement_deletea(String[] checkVal) {
      String sql = null;
      Query query = null;
      int aaa = checkVal.length;
      for (int i = 0; i < checkVal.length; i++) {
         int tagid = Integer.parseInt(checkVal[i]);
         sql = "DELETE FROM tb_gps WHERE tagid = :tagid";
         cs.tb_caozuo("tb_gps", 2);
         query = this.em.createNativeQuery(sql);
         query.setParameter("tagid", tagid);
         query.executeUpdate();
      }
      return aaa;
   }
   public List<tb_gps> getTrack(String date,int page,int perPage) {
      // 日期格式 例20210101 
      String sql = null;
@@ -271,6 +294,43 @@
      return tb_trackList;
   }
   
   public List<tb_gps> getTracka(String date) {
      // 日期格式 例20210101
      String sql = null;
      Query query = null;
      sql = "SELECT * FROM tb_gps_track_"+ date +"";
      query = this.em.createNativeQuery(sql);
      List resultList = query.getResultList();
      List<tb_gps> tb_trackList = new ArrayList<tb_gps>();
      if (resultList.size() > 0) {
         for (int i = 0; i < resultList.size(); i++) {
            tb_gps gps = new tb_gps();
            Object[] obj = (Object[]) resultList.get(i);
            gps.setId((int) obj[0]);
            gps.setGps_utc_time(obj[1] == null ? "" : obj[1].toString());
            gps.setGps_weidu(obj[2] == null ? "" : obj[2].toString());
            gps.setGps_NS(obj[3] == null ? "" : obj[3].toString());
            gps.setGsp_jingdu(obj[4] == null ? "" : obj[4].toString());
            gps.setGps_EW(obj[5] == null ? "" : obj[5].toString());
            gps.setGps_state(obj[6] == null ? "" : obj[6].toString());
            gps.setGps_num(obj[7] == null ? "" : obj[7].toString());
            gps.setGps_hdop(obj[8] == null ? "" : obj[8].toString());
            gps.setGps_haiba_gao(obj[9] == null ? "" : obj[9].toString());
            gps.setGps_tuoqiu(obj[10] == null ? "" : obj[10].toString());
            gps.setGps_chafen_time(obj[11] == null ? "" : obj[11].toString());
            gps.setGps_chafen_id(obj[12] == null ? "" : obj[12].toString());
            gps.setGps_jiaoyan(obj[13] == null ? "" : obj[13].toString());
            gps.setTagid(obj[14] == null ? "" : obj[14].toString());
            gps.setGps_kahao(obj[15] == null ? "" : obj[15].toString());
            gps.setGps_power(obj[16] == null ? "" : obj[16].toString());
            gps.setGps_sos(obj[17] == null ? "" : obj[17].toString());
            gps.setAddtime(obj[18] == null ? "" : obj[18].toString());
            tb_trackList.add(gps);
         }
      }
      return tb_trackList;
   }
   public int getgpsRealTimeLocationCount(String date) {
      String sql = null;
      Query query = null;
@@ -279,6 +339,15 @@
      return Integer.parseInt(query.getSingleResult().toString());
   }
   
   public int getgpsRealTimeLocationCount2(String date,String input) {
      String sql = null;
      Query query = null;
      sql = "SELECT count(1) FROM tb_gps_track_" +date+ " where tagid = :tagid";
      query = this.em.createNativeQuery(sql);
      query.setParameter("tagid", input);
      return Integer.parseInt(query.getSingleResult().toString());
   }
   public List<String> getgpsTrackDateList() {
      String sql = null;
      Query query = null;
@@ -302,6 +371,21 @@
   }
   
   @Transactional
   public int realTimegpsLocation_deletea(String[] checkVal,String date) {
      String sql = null;
      Query query = null;
      int aaa = checkVal.length;
      for (int i = 0; i < checkVal.length; i++) {
         int id = Integer.parseInt(checkVal[i]);
         sql = "DELETE FROM tb_gps_track_" +date+ " WHERE id = :id";
         query = this.em.createNativeQuery(sql);
         query.setParameter("id", id);
         query.executeUpdate();
      }
      return aaa;
   }
   @Transactional
   public void realTimegpsLocation_deleteAll(String date) {
      String sql = null;
      Query query = null;
@@ -310,10 +394,20 @@
      query.executeUpdate();
   }
   
   public List<tb_gps> searchRealTimegpsLocation(String input,String date) {
   @Transactional
   public int realTimegpsLocation_deleteAlla(String date) {
      String sql = null;
      Query query = null;
      sql = "SELECT * FROM tb_gps_track_" + date + " WHERE tagid = :p_tagid";
      sql = "DELETE FROM tb_gps_track_" +date+ "";
      query = this.em.createNativeQuery(sql);
      int aaa = query.executeUpdate();
      return aaa;
   }
   public List<tb_gps> searchRealTimegpsLocation(String input,String date,int page) {
      String sql = null;
      Query query = null;
      sql = "SELECT * FROM tb_gps_track_" + date + " WHERE tagid = :p_tagid ORDER BY id DESC LIMIT 0,100";
      query = this.em.createNativeQuery(sql);
      query.setParameter("p_tagid", input);
      List resultList = query.getResultList();
@@ -350,8 +444,8 @@
   public List<tb_gps> getRealTimegpsLocation(String tagid,String begin,String end,String date) {
      String sql = null;
      Query query = null;
      sql = "SELECT id,gps_weidu,gsp_jingdu,gps_state,gps_num,gps_haiba_gao,gps_chafen_id,tagid,gps_power,addtime FROM tb_gps_track_"+date+" WHERE tagid = '"+tagid+"' AND addtime>= '"+begin+"' AND addtime<= '"+end+"' ORDER BY addtime";
      System.out.print(sql);
      sql = "SELECT id,gps_weidu,gsp_jingdu,gps_state,gps_num,gps_haiba_gao,gps_chafen_id,tagid,gps_hdop,gps_chafen_time,gps_power,addtime FROM tb_gps_track_"+date+" WHERE tagid = '"+tagid+"' AND addtime>= '"+begin+"' AND addtime<= '"+end+"' ORDER BY addtime";
      //System.out.print(sql);
      query = this.em.createNativeQuery(sql);
      List resultList = query.getResultList();
      List<tb_gps> tb_realocationList = new ArrayList<tb_gps>();
@@ -367,8 +461,10 @@
            realocation.setGps_haiba_gao(obj[5] == null ? "" : obj[5].toString());
            realocation.setGps_chafen_id(obj[6] == null ? "" : obj[6].toString());
            realocation.setTagid(obj[7] == null ? "" : obj[7].toString());
            realocation.setGps_power(obj[8] == null ? "" : obj[8].toString());
            realocation.setAddtime(obj[9] == null ? "" : obj[9].toString());
            realocation.setGps_hdop(obj[8] == null ? "" : obj[8].toString());
            realocation.setGps_chafen_time(obj[9] == null ? "" : obj[9].toString());
            realocation.setGps_power(obj[10] == null ? "" : obj[10].toString());
            realocation.setAddtime(obj[11] == null ? "" : obj[11].toString());
            tb_realocationList.add(realocation);
         }
      }
@@ -385,4 +481,100 @@
      String zhuantai = resultList.get(0).toString();
      return zhuantai;
   }
   //差分基站
   public List<tb_rtkanchor> findrtkanchor(int page){
      String sql = null;
      Query query = null;
      sql = "select id,acid,state,jingdu,weidu,gaodu,posx,posy,floor,distance,port,baoliu1,baoliu2,addtime from tb_rtkanchor ORDER BY addtime DESC LIMIT :start,:end";
      query = this.em.createNativeQuery(sql);
      query.setParameter("start", (page - 1) * Integer.parseInt(ModifyConfig.readData(Config.getPageConfig(), "perPage")));
      query.setParameter("end", Integer.parseInt(ModifyConfig.readData(Config.getPageConfig(), "perPage")));
      List resultlist = query.getResultList();
      List<tb_rtkanchor> permissions = new ArrayList<>();
      if (resultlist.size() > 0) {
         for (int i=0; i<resultlist.size(); i++) {
            Object[] obj = (Object[])resultlist.get(i);
            tb_rtkanchor per = new tb_rtkanchor();
            per.setId((int)obj[0]);
            per.setAcid(obj[1] == null?null:obj[1].toString());
            per.setState(obj[2] == null?null:obj[2].toString());
            per.setJingdu(obj[3] == null?null:obj[3].toString());
            per.setWeidu(obj[4] == null?null:obj[4].toString());
            per.setGaodu(obj[5] == null?null:obj[5].toString());
            per.setPosx(obj[6] == null?null:obj[6].toString());
            per.setPosy(obj[7] == null?null:obj[7].toString());
            per.setFloor(obj[8] == null?null:obj[8].toString());
            per.setDistance(obj[9] == null?null:obj[9].toString());
            per.setPort(obj[10] == null?null:obj[10].toString());
            per.setBaoliu1(obj[11] == null?null:obj[11].toString());
            per.setBaoliu2(obj[12] == null?null:obj[12].toString());
            per.setAddtime(obj[13] == null?null:obj[13].toString());
            permissions.add(per);
         }
      }
      return permissions;
   }
   public List<tb_rtkanchor> findrtkanchor3(String input){
      String sql = null;
      Query query = null;
      sql = "select id,acid,state,jingdu,weidu,gaodu,posx,posy,floor,distance,port,baoliu1,baoliu2,addtime from tb_rtkanchor WHERE acid = :acid ORDER BY addtime DESC";
      query = this.em.createNativeQuery(sql);
      query.setParameter("acid", input);
      List resultlist = query.getResultList();
      List<tb_rtkanchor> permissions = new ArrayList<>();
      if (resultlist.size() > 0) {
         for (int i=0; i<resultlist.size(); i++) {
            Object[] obj = (Object[])resultlist.get(i);
            tb_rtkanchor per = new tb_rtkanchor();
            per.setId((int)obj[0]);
            per.setAcid(obj[1] == null?null:obj[1].toString());
            per.setState(obj[2] == null?null:obj[2].toString());
            per.setJingdu(obj[3] == null?null:obj[3].toString());
            per.setWeidu(obj[4] == null?null:obj[4].toString());
            per.setGaodu(obj[5] == null?null:obj[5].toString());
            per.setPosx(obj[6] == null?null:obj[6].toString());
            per.setPosy(obj[7] == null?null:obj[7].toString());
            per.setFloor(obj[8] == null?null:obj[8].toString());
            per.setDistance(obj[9] == null?null:obj[9].toString());
            per.setPort(obj[10] == null?null:obj[10].toString());
            per.setBaoliu1(obj[11] == null?null:obj[11].toString());
            per.setBaoliu2(obj[12] == null?null:obj[12].toString());
            per.setAddtime(obj[13] == null?null:obj[13].toString());
            permissions.add(per);
         }
      }
      return permissions;
   }
   public int getrtkanchorManagementCount() {
      String sql = null;
      Query query = null;
      sql = "SELECT count(1) FROM tb_rtkanchor";
      query = this.em.createNativeQuery(sql);
      return Integer.parseInt(query.getSingleResult().toString());
   }
   @Transactional
   public void rtkanchor_delete(String[] checkVal) {
      String sql = null;
      Query query = null;
      for (int i = 0; i < checkVal.length; i++) {
         int id = Integer.parseInt(checkVal[i]);
         sql = "DELETE FROM tb_rtkanchor WHERE id = :id";
         query = this.em.createNativeQuery(sql);
         query.setParameter("id", id);
         query.executeUpdate();
      }
   }
   @Transactional
   public void rtkanchor_deletea() {
      String sql = null;
      Query query = null;
      sql = "DELETE FROM tb_rtkanchor";
      query = this.em.createNativeQuery(sql);
      query.executeUpdate();
   }
}