fxl
2023-05-04 e150655a785de36a65a26a0dc4d3d6d65fe7e9d0
src/main/java/com/hxzkoa/services/AttendanceService.java
@@ -17,7 +17,10 @@
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import com.hxzkoa.json.tb_cojilu;
import com.hxzkoa.json.tb_heart_record;
import com.hxzkoa.json.tb_kaoqing;
import com.hxzkoa.json.tb_lixianrecord;
import com.hxzkoa.json.tb_person;
import com.hxzkoa.json.tb_realkaoqing;
import com.hxzkoa.json.tb_shishi;
@@ -39,7 +42,7 @@
   public List<vo_kaoqin_p> getRealAttendance(int page) {
      int perPage = Integer.parseInt(ModifyConfig.readData(Config.getPageConfig(), "perPage"));
      int start = (page - 1) * perPage;
      int end = perPage;
      int end = 50;
      String sql = null;
      Query query = null;
      // sql = "SELECT id,area,name,bumen,tagid,intime,beizhu FROM
@@ -103,7 +106,7 @@
   public List<vo_kaoqin_p> searchRealAttendance(String input) {
      String sql = null;
      Query query = null;
      sql = "SELECT rk.id, rk.area, rk.name, rk.bumen, rk.tagid, rk.intime, rk.beizhu, t.power FROM tb_realkaoqing rk, tb_tag t WHERE rk.tagid = t.tag_id AND rk.tagid = :tagid";
      sql = "SELECT rk.id, rk.area, rk.name, rk.bumen, rk.tagid, rk.intime, rk.beizhu, t.power FROM tb_realkaoqing rk, tb_tag t WHERE rk.tagid = t.tag_id AND rk.tagid = :tagid OR rk.tagid = t.tag_id AND rk.name = :tagid";
      query = this.em.createNativeQuery(sql);
      query.setParameter("tagid", input);
      List resultList = query.getResultList();
@@ -134,19 +137,19 @@
      List resultList = query.getResultList();
      Map<String, Integer> reMap = new HashMap<String, Integer>();
      int realAttendanceCount = getRealAttendanceCount();
      if (resultList.size() > 3) {
         for (int i = 0; i < 3; i++) {
            Object[] obj = (Object[]) resultList.get(i);
            reMap.put(obj[0].toString(), Integer.parseInt(obj[1].toString()));
            realAttendanceCount = realAttendanceCount - Integer.parseInt(obj[1].toString());
         }
         reMap.put("其他", realAttendanceCount);
      } else {
//    if (resultList.size() > 3) {
//       for (int i = 0; i < 3; i++) {
//          Object[] obj = (Object[]) resultList.get(i);
//          reMap.put(obj[0].toString(), Integer.parseInt(obj[1].toString()));
//          realAttendanceCount = realAttendanceCount - Integer.parseInt(obj[1].toString());
//       }
//       reMap.put("其他", realAttendanceCount);
//    } else {
         for (int i = 0; i < resultList.size(); i++) {
            Object[] obj = (Object[]) resultList.get(i);
            reMap.put(obj[0].toString(), Integer.parseInt(obj[1].toString()));
         }
      }
//    }
      return reMap;
   }
@@ -159,7 +162,7 @@
      List resultList = query.getResultList();
      if (resultList.size() > 0) {
         Object[] obj = (Object[]) resultList.get(0);
         System.out.print(obj);
         //System.out.print(obj);
         people = obj[1].toString();
      }
      return people;
@@ -195,7 +198,7 @@
   public List<vo_kaoqin_p> getHistoricalAttendance(int page) {
      int perPage = Integer.parseInt(ModifyConfig.readData(Config.getPageConfig(), "perPage"));
      int start = (page - 1) * perPage;
      int end = perPage;
      int end = 50;
      String sql = null;
      Query query = null;
      sql = "SELECT k.id,k.area,k.name,k.bumen,k.tagid,k.intime,k.outtime,k.alltime,k.beizhu,t.power FROM tb_kaoqing k,tb_tag t LIMIT :start,:end";
@@ -227,7 +230,7 @@
   public List<vo_kaoqin_p> searchHistoricalAttendance(String input) {
      String sql = null;
      Query query = null;
      sql = "SELECT k.id,k.area,k.name,k.bumen,k.tagid,k.intime,k.outtime,k.alltime,k.beizhu,t.power FROM tb_kaoqing k,tb_tag t WHERE k.tagid = t.tag_id AND k.tagid = :tagid";
      sql = "SELECT k.id,k.area,k.name,k.bumen,k.tagid,k.intime,k.outtime,k.alltime,k.beizhu,t.power FROM tb_kaoqing k,tb_tag t WHERE k.tagid = t.tag_id AND k.tagid = :tagid OR k.tagid = t.tag_id AND k.name = :tagid";
      query = this.em.createNativeQuery(sql);
      query.setParameter("tagid", input);
      List resultList = query.getResultList();
@@ -347,19 +350,15 @@
   public List<Object> gettongjishuju() {
      String sql = null;
      Query query = null;
      sql = "SELECT type_name,num FROM tb_tongji";
      sql = "SELECT type,num FROM tb_tongji";
      query = this.em.createNativeQuery(sql);
      List resultList = query.getResultList();
      List<String> rMap = new ArrayList<String>();
      List<Integer> reMap = new ArrayList<Integer>();
      List<String> reMap = new ArrayList<String>();
      for (int i = 0; i < resultList.size(); i++) {
         Object[] obj = (Object[]) resultList.get(i);
         rMap.add(obj[0].toString());
         reMap.add(Integer.parseInt(obj[1].toString()));
      }
      List<Integer> raMap = new ArrayList<Integer>();
      for (int i = resultList.size()-1; i >= 0; i--) {
         raMap.add(reMap.get(i));
         reMap.add(obj[1].toString());
      }
      List<Object> zong = new ArrayList<Object>();
      zong.add(rMap);
@@ -367,26 +366,30 @@
      return zong;
   }
   
   public List<Integer> getgongzhongnum(){
   public List<Object> getgongzhongnum(){
      String sql = null;
      Query query = null;
      sql = "SELECT bumen,num FROM tb_gongzhong";
      query = this.em.createNativeQuery(sql);
      List resultList = query.getResultList();
      List<String> gongzhongk = new ArrayList<String>();
      List<Integer> gongzhong = new ArrayList<Integer>();
      for (int i = resultList.size()-1; i >= 0; i--) {
         Object[] obj = (Object[]) resultList.get(i);
         gongzhongk.add(obj[0].toString());
         gongzhong.add(Integer.parseInt(obj[1].toString()));
      }
      System.out.print(gongzhong);
      return gongzhong;
      List<Object> zong = new ArrayList<Object>();
      zong.add(gongzhongk);
      zong.add(gongzhong);
      return zong;
   }
   
   public List<Integer> getgaojingnum(){
      String sql = null;
      Query query = null;
      String str = "未处理";
      sql = "SELECT type,count(1) c FROM tb_warning WHERE status = :str GROUP BY type ORDER BY c DESC";
      sql = "SELECT type,count(1) c FROM tb_warning WHERE status = :str GROUP BY type";
      query = this.em.createNativeQuery(sql);
      query.setParameter("str", str);
      List resultList = query.getResultList();
@@ -395,8 +398,220 @@
         Object[] obj = (Object[])resultList.get(i);
         gaojing.add(Integer.parseInt(obj[1].toString()));
      }
      System.out.print(gaojing);
      //System.out.print(gaojing);
      return gaojing;
   }
   
   public List<tb_heart_record> findxinlv(int page){
      String sql = null;
      Query query = null;
      sql = "select id,tagid,name,heart,okheart,state,time from tb_heart_record ORDER BY time DESC LIMIT :start,:end";
      query = this.em.createNativeQuery(sql);
      query.setParameter("start", (page - 1) * Integer.parseInt(ModifyConfig.readData(Config.getPageConfig(), "perPage")));
      query.setParameter("end",50);
      List resultlist = query.getResultList();
      List<tb_heart_record> permissions = new ArrayList<>();
      if (resultlist.size() > 0) {
         for (int i=0; i<resultlist.size(); i++) {
            Object[] obj = (Object[])resultlist.get(i);
            tb_heart_record per = new tb_heart_record();
            per.setId((int)obj[0]);
            per.setTagid(obj[1] == null?null:obj[1].toString());
            per.setName(obj[2] == null?null:obj[2].toString());
            per.setHeart(obj[3] == null?null:obj[3].toString());
            per.setOkheart(obj[4] == null?null:obj[4].toString());
            per.setState(obj[5] == null?null:obj[5].toString());
            per.setTime(obj[6] == null?null:obj[6].toString());
            permissions.add(per);
         }
      }
      return permissions;
   }
   public List<tb_heart_record> findxinlv2(){
      String sql = null;
      Query query = null;
      sql = "select id,tagid,name,heart,okheart,state,time from tb_heart_record ORDER BY time DESC";
      query = this.em.createNativeQuery(sql);
      List resultlist = query.getResultList();
      List<tb_heart_record> permissions = new ArrayList<>();
      if (resultlist.size() > 0) {
         for (int i=0; i<resultlist.size(); i++) {
            Object[] obj = (Object[])resultlist.get(i);
            tb_heart_record per = new tb_heart_record();
            per.setId((int)obj[0]);
            per.setTagid(obj[1] == null?null:obj[1].toString());
            per.setName(obj[2] == null?null:obj[2].toString());
            per.setHeart(obj[3] == null?null:obj[3].toString());
            per.setOkheart(obj[4] == null?null:obj[4].toString());
            per.setState(obj[5] == null?null:obj[5].toString());
            per.setTime(obj[6] == null?null:obj[6].toString());
            permissions.add(per);
         }
      }
      return permissions;
   }
   public List<tb_heart_record> findxinlv3(String input){
      String sql = null;
      Query query = null;
      sql = "select id,tagid,name,heart,okheart,state,time from tb_heart_record WHERE tagid = :input OR name = :input ORDER BY time DESC";
      query = this.em.createNativeQuery(sql);
      query.setParameter("input", input);
      List resultlist = query.getResultList();
      List<tb_heart_record> permissions = new ArrayList<>();
      if (resultlist.size() > 0) {
         for (int i=0; i<resultlist.size(); i++) {
            Object[] obj = (Object[])resultlist.get(i);
            tb_heart_record per = new tb_heart_record();
            per.setId((int)obj[0]);
            per.setTagid(obj[1] == null?null:obj[1].toString());
            per.setName(obj[2] == null?null:obj[2].toString());
            per.setHeart(obj[3] == null?null:obj[3].toString());
            per.setOkheart(obj[4] == null?null:obj[4].toString());
            per.setState(obj[5] == null?null:obj[5].toString());
            per.setTime(obj[6] == null?null:obj[6].toString());
            permissions.add(per);
         }
      }
      return permissions;
   }
   public int getxinlvManagementCount() {
      String sql = null;
      Query query = null;
      sql = "SELECT count(1) FROM tb_heart_record";
      query = this.em.createNativeQuery(sql);
      return Integer.parseInt(query.getSingleResult().toString());
   }
   @Transactional
   public void xinlv_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_heart_record WHERE id = :id";
         query = this.em.createNativeQuery(sql);
         query.setParameter("id", id);
         query.executeUpdate();
      }
   }
   @Transactional
   public void xinlv_deletea() {
      String sql = null;
      Query query = null;
      sql = "DELETE FROM tb_heart_record";
      query = this.em.createNativeQuery(sql);
      query.executeUpdate();
   }
   public List<tb_cojilu> findco(int page){
      String sql = null;
      Query query = null;
      sql = "select id,tagid,name,nongdu,oknongdu,state,xypos,time from tb_cojilu ORDER BY time 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_cojilu> permissions = new ArrayList<>();
      if (resultlist.size() > 0) {
         for (int i=0; i<resultlist.size(); i++) {
            Object[] obj = (Object[])resultlist.get(i);
            tb_cojilu per = new tb_cojilu();
            per.setId((int)obj[0]);
            per.setTagid(obj[1] == null?null:obj[1].toString());
            per.setName(obj[2] == null?null:obj[2].toString());
            per.setNongdu(obj[3] == null?null:obj[3].toString());
            per.setOknongdu(obj[4] == null?null:obj[4].toString());
            per.setState(obj[5] == null?null:obj[5].toString());
            per.setXypos(obj[6] == null?null:obj[6].toString());
            per.setTime(obj[7] == null?null:obj[7].toString());
            permissions.add(per);
         }
      }
      return permissions;
   }
   public List<tb_cojilu> findco2(){
      String sql = null;
      Query query = null;
      sql = "select id,tagid,name,nongdu,oknongdu,state,xypos,time from tb_cojilu ORDER BY time DESC";
      query = this.em.createNativeQuery(sql);
      List resultlist = query.getResultList();
      List<tb_cojilu> permissions = new ArrayList<>();
      if (resultlist.size() > 0) {
         for (int i=0; i<resultlist.size(); i++) {
            Object[] obj = (Object[])resultlist.get(i);
            tb_cojilu per = new tb_cojilu();
            per.setId((int)obj[0]);
            per.setTagid(obj[1] == null?null:obj[1].toString());
            per.setName(obj[2] == null?null:obj[2].toString());
            per.setNongdu(obj[3] == null?null:obj[3].toString());
            per.setOknongdu(obj[4] == null?null:obj[4].toString());
            per.setState(obj[5] == null?null:obj[5].toString());
            per.setXypos(obj[6] == null?null:obj[6].toString());
            per.setTime(obj[7] == null?null:obj[7].toString());
            permissions.add(per);
         }
      }
      return permissions;
   }
   public List<tb_cojilu> findco3(String input){
      String sql = null;
      Query query = null;
      sql = "select id,tagid,name,nongdu,oknongdu,state,xypos,time from tb_cojilu WHERE tagid = :input OR name = :input ORDER BY time DESC";
      query = this.em.createNativeQuery(sql);
      query.setParameter("input", input);
      List resultlist = query.getResultList();
      List<tb_cojilu> permissions = new ArrayList<>();
      if (resultlist.size() > 0) {
         for (int i=0; i<resultlist.size(); i++) {
            Object[] obj = (Object[])resultlist.get(i);
            tb_cojilu per = new tb_cojilu();
            per.setId((int)obj[0]);
            per.setTagid(obj[1] == null?null:obj[1].toString());
            per.setName(obj[2] == null?null:obj[2].toString());
            per.setNongdu(obj[3] == null?null:obj[3].toString());
            per.setOknongdu(obj[4] == null?null:obj[4].toString());
            per.setState(obj[5] == null?null:obj[5].toString());
            per.setXypos(obj[6] == null?null:obj[6].toString());
            per.setTime(obj[7] == null?null:obj[7].toString());
            permissions.add(per);
         }
      }
      return permissions;
   }
   public int getcoManagementCount() {
      String sql = null;
      Query query = null;
      sql = "SELECT count(1) FROM tb_cojilu";
      query = this.em.createNativeQuery(sql);
      return Integer.parseInt(query.getSingleResult().toString());
   }
   @Transactional
   public void co_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_cojilu WHERE id = :id";
         query = this.em.createNativeQuery(sql);
         query.setParameter("id", id);
         query.executeUpdate();
      }
   }
   @Transactional
   public void co_deletea() {
      String sql = null;
      Query query = null;
      sql = "DELETE FROM tb_cojilu";
      query = this.em.createNativeQuery(sql);
      query.executeUpdate();
   }
}