南昌市物联网技防平台-后台
Administrator
2021-03-20 d5b43ef0da42eaf50a08ce17e5fd3351eeb26a5e
blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/parcel/service/impl/ParcelServiceImpl.java
@@ -35,7 +35,7 @@
   /**
    * 获取违禁包裹统计数据,远程调用接口
    * @param conditionVo 查询条件对象  status 状态码 0:本天    1:本周   2:本月
    * @param conditionVo 查询条件对象  status 状态码 0:本天    1:近7天   2:本月  3:本周
    * @return
    */
   @Override
@@ -52,6 +52,7 @@
            //将所有的违禁包裹编码存起来
            mapCode.put(objectMap.get("objCode").toString(),objectMap.get("objCode").toString());
         }
         System.out.println("mapCode = " + mapCode);
         //遍历违禁编码map数据
         List<Map<String,Object>> list = new ArrayList<>();
         for (String value:mapCode.values()) {
@@ -63,7 +64,7 @@
               if (value.equals(objectMap.get("objCode").toString())){
                  count+=Integer.parseInt(objectMap.get("objCount").toString());
                  map.put("name",objectMap.get("objName").toString());
                  map.put("value",objectMap.get("objCount").toString());
                  map.put("value",count);
               }
            }
            list.add(map);
@@ -138,6 +139,7 @@
         //12.封装数据
         list.add(listTime);
         list.add(parcelList);
         list.add(getKindServenDataList());
         //13.返回
         return list;
      }
@@ -170,6 +172,12 @@
         startDate = DateUtils.getPastDate(6,now());
         endDate = DateUtils.getToday();
      }
      //2.4查询本周的数据
      if (conditionVo.getStatus() == 3) {
         //3.获取过去6天及当天开始时间和结束时间
         startDate = DateUtils.getWeekStart();
         endDate = DateUtils.getWeekEnd();
      }
      //2.2查询本月的数据
      if (conditionVo.getStatus() == 2) {
         //3.获取本月开始时间和结束时间
@@ -182,6 +190,7 @@
      String params = HttpClientUtils.httpPost(url, key, secret, map);
      //5.数据转换
      Map<String, Object> data = (Map<String, Object>) JSONObject.parse(params);
      //System.out.println("data = " + data);
      return JSON.parseArray(data.get("result").toString());
   }
@@ -199,20 +208,71 @@
      //获取包裹数据
      List<Object> parcelData = getParcelData(conditionVo, PARCEL_URL, PARCEL_KEY, PARCEL_SECRET);
      //查询当天的包裹总数
      Integer checkCount = null;
      Integer dangerCount = null;
      Integer contrabandCount = null;
      if (status == 0) {
         for (Object object : parcelData) {
            //取出list里面的值转为map
            Map<String, Object> objectMap = (Map<String, Object>) object;
            checkCount = Integer.parseInt(objectMap.get("checkCount").toString()); //安检包裹数量
            dangerCount = Integer.parseInt(objectMap.get("dangerCount").toString()); //违禁包裹数量
            contrabandCount = Integer.parseInt(objectMap.get("contrabandCount").toString()); //违禁物品数量
         }
      }
      //封装数据
      list.add(checkCount);
      list.add(dangerCount);
      list.add(contrabandCount);
      //返回数据
      return list;
   }
   /**
    * 查询7天内违禁品每天的数量(需筛选危险品)
    * @return
    */
   @Override
   public Map<String, Object> selectParcelData() {
      HashMap<String, Object> map = new HashMap<>();
      map.put("parcelData",getKindServenDataList());
      return map;
   }
   /**
    * 获取危险违禁品7天内每天的数量集合
    * @return
    */
   public List<Integer> getKindServenDataList(){
      ConditionVo conditionVo = new ConditionVo();
      conditionVo.setStatus(1);//近7天status 为 1
      //获取数据
      List<Object> objectList = getParcelData(conditionVo,PARCEL_CONTRABAND_URL,PARCEL_KEY,PARCEL_SECRET);
      //遍历违禁编码map数据
      List<String> times = DateUtils.pastDay(new SimpleDateFormat("yyyy-MM-dd").format(new Date()));
      List<Integer> list = new ArrayList<>();
      for (String time:times) {
         Integer count = 0;
         //遍历集合数据获取每一天的count
         for (Object object : objectList) {
            Map<String, Object> objectMap = (Map<String, Object>) object;//取出list里面的值转为map
            //对比时间和objCode,危险品,刀具,枪支等
            if (time.equals(objectMap.get("dateStr").toString()) ){
//               //枪支
//               if (objectMap.get("objCode").toString().equals("gan")) {
//                  count += Integer.parseInt(objectMap.get("objCount").toString());
//               }
//               //刀具
//               if (objectMap.get("objCode").toString().equals("knife")) {
//                  count += Integer.parseInt(objectMap.get("objCount").toString());
//               }
//               //爆炸物
//               if (objectMap.get("objCode").toString().equals("boomExplosive")) {
//                  count += Integer.parseInt(objectMap.get("objCount").toString());
//               }
               //3-20 修改不筛选危险品,由第三方筛选好
               count += Integer.parseInt(objectMap.get("objCount").toString());
            }
         }
         list.add(count);
      }
      return list;
   }
}