南昌市物联网技防平台-后台
用户会员数量统计接口,一键报警(主动报警),违禁品,红码,体温异常统计接口ok,违禁品分类尚需完善
20 files modified
308 ■■■■■ changed files
blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/alarm/controller/AlarmController.java 57 ●●●●● patch | view | raw | blame | history
blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/alarm/mapper/AlarmMapper.java 6 ●●●●● patch | view | raw | blame | history
blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/alarm/mapper/AlarmMapper.xml 28 ●●●●● patch | view | raw | blame | history
blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/alarm/service/IAlarmService.java 8 ●●●● patch | view | raw | blame | history
blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/alarm/service/impl/AlarmServiceImpl.java 16 ●●●●● patch | view | raw | blame | history
blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/animalheat/mapper/AnimalHeatMapper.java 6 ●●●●● patch | view | raw | blame | history
blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/animalheat/mapper/AnimalHeatMapper.xml 28 ●●●●● patch | view | raw | blame | history
blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/animalheat/service/AnimalHeatService.java 6 ●●●●● patch | view | raw | blame | history
blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/animalheat/service/impl/AnimalHeatServiceImpl.java 17 ●●●●● patch | view | raw | blame | history
blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/catalog/controller/catalogController.java 15 ●●●●● patch | view | raw | blame | history
blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/healthcode/mapper/healthcodeMapper.java 6 ●●●●● patch | view | raw | blame | history
blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/healthcode/mapper/healthcodeMapper.xml 29 ●●●●● patch | view | raw | blame | history
blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/healthcode/service/IhealthcodeService.java 6 ●●●●● patch | view | raw | blame | history
blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/healthcode/service/impl/HealthcodeServiceImpl.java 17 ●●●●● patch | view | raw | blame | history
blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/parcel/service/ParcelService.java 5 ●●●●● patch | view | raw | blame | history
blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/parcel/service/impl/ParcelServiceImpl.java 34 ●●●●● patch | view | raw | blame | history
blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/suser/mapper/SuserMapper.java 5 ●●●●● patch | view | raw | blame | history
blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/suser/mapper/SuserMapper.xml 5 ●●●●● patch | view | raw | blame | history
blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/suser/service/ISuserService.java 6 ●●●●● patch | view | raw | blame | history
blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/suser/service/impl/SuserServiceImpl.java 8 ●●●●● patch | view | raw | blame | history
blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/alarm/controller/AlarmController.java
@@ -31,6 +31,10 @@
import org.springblade.jfpt.alarm.service.IAlarmService;
import org.springblade.jfpt.alarm.vo.AlarmVO;
import org.springblade.jfpt.alarm.wrapper.AlarmWrapper;
import org.springblade.jfpt.animalheat.service.AnimalHeatService;
import org.springblade.jfpt.healthcode.service.IhealthcodeService;
import org.springblade.jfpt.parcel.service.ParcelService;
import org.springblade.jfpt.parcel.util.DateUtils;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletResponse;
@@ -52,6 +56,12 @@
public class AlarmController extends BladeController {
    private final IAlarmService alarmService;
    private final AnimalHeatService animalHeatService;
    private IhealthcodeService ihealthcodeService;
    private ParcelService parcelService;
    /**
     * 详情
@@ -320,6 +330,8 @@
        listc.add(maps);
        return R.data(listc);
    }
    public static String getPastDate(int past) {
        Calendar calendar = Calendar.getInstance();
        calendar.set(Calendar.DAY_OF_YEAR, calendar.get(Calendar.DAY_OF_YEAR) - past);
@@ -329,6 +341,51 @@
        return result;
    }
    /**
     * 一周警情统计  2021-3-16 arsn
     * @param response
     * @return
     */
    @GetMapping("/selectAlertScount")
    public R selectAlertScount(HttpServletResponse response) {
        response.setHeader("Access-Control-Allow-Origin", "*");
        response.setHeader("Access-Control-Allow-Methods", "POST, GET, OPTIONS, DELETE");
        response.setHeader("Access-Control-Allow-Credentials","true");
        //创建类型,时间对象,分别存取类型,时间数据
        Map<String, Object> map = new HashMap<>();
        List<String> types = new ArrayList<>();
        List<String> times = new ArrayList<>();
        List<Map<String, Object>> dataList = new ArrayList<>();
        //获取类型集合数据
        String [] type = {"一键求助","违禁品","红色健康码","体温异常"};
        types = Arrays.asList(type);
        //获取时间集合数据(今天及今天之前6天的日期)
        times = DateUtils.pastDay(new SimpleDateFormat("yyyy-MM-dd").format(new Date()));
        //1.统计7天内一键求助警情数量数据
        Map<String,Object> alarmData = alarmService.selectAlarmData();
        alarmData.put("name","一键求助");
        //2.统计7天内违禁品的数量数据
        Map<String,Object> parcelData = parcelService.selectParcelData();
        parcelData.put("name","违禁品");
        //3.统计7天内红色健康码人数数量数据
        Map<String,Object> healthcodeData = ihealthcodeService.selectHealthcodeData();
        healthcodeData.put("name","红色健康码");
        //4.统计7天内体温异常人数数量数据
        Map<String,Object> animalData = animalHeatService.selectAnimalData();
        animalData.put("name","体温异常");
        //封装数据
        dataList.add(alarmData);
        dataList.add(parcelData);
        dataList.add(healthcodeData);
        dataList.add(animalData);
        map.put("types",types);
        map.put("times",times);
        map.put("dataList",dataList);
        //返回数据
        return R.data(map);
    }
    /**
     * 查询7天内数据
     * @param response
blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/alarm/mapper/AlarmMapper.java
@@ -59,4 +59,10 @@
     * @return
     */
    Integer selectAlarmCount();
    /**
     * 查询7天内主动报警(紧急求助)每天的数量
     * @return
     */
    List<Integer> selectAlarmData();
}
blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/alarm/mapper/AlarmMapper.xml
@@ -278,4 +278,32 @@
            and
        to_days(alarmTime) = to_days(curdate())
    </select>
    <!--查询警情7天内每天的数据-->
    <select id="selectAlarmData" resultType="java.lang.Integer">
        select ifnull(b.count,0) as count from
        (
        SELECT DATE_FORMAT(date_sub(curdate(), interval 6 day),'%Y-%m-%d') as click_date
            union all
        SELECT DATE_FORMAT(date_sub(curdate(), interval 5 day),'%Y-%m-%d') as click_date
            union all
        SELECT DATE_FORMAT(date_sub(curdate(), interval 4 day),'%Y-%m-%d') as click_date
            union all
        SELECT DATE_FORMAT(date_sub(curdate(), interval 3 day),'%Y-%m-%d') as click_date
            union all
        SELECT DATE_FORMAT(date_sub(curdate(), interval 2 day),'%Y-%m-%d') as click_date
            union all
        SELECT DATE_FORMAT(date_sub(curdate(), interval 1 day),'%Y-%m-%d') as click_date
            union all
        SELECT DATE_FORMAT(curdate(),'%Y-%m-%d')  as click_date
        ) a
        left join
        (
        select DATE_FORMAT(alarmTime,'%Y-%m-%d') as datetime, count(*) as count from sys_alarm
            group by DATE_FORMAT(alarmTime,'%Y-%m-%d')
        ) b
         on
         a.click_date = b.datetime
    </select>
</mapper>
blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/alarm/service/IAlarmService.java
@@ -54,8 +54,14 @@
    /**
     * 查询警情总数
     * @param status  0:本日   1:本周   2:本月
     * @param status  0:本日   1:本周   2:本月  3:近7天
     * @return
     */
    Integer selectAlarmCount(Integer status);
    /**
     * 查询7天内主动报警(紧急求助)每天的数量
     * @return
     */
    Map<String, Object> selectAlarmData();
}
blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/alarm/service/impl/AlarmServiceImpl.java
@@ -28,6 +28,7 @@
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@@ -109,4 +110,19 @@
    public Integer selectAlarmCount(Integer status) {
        return baseMapper.selectAlarmCount();
    }
    /**
     * 查询7天内主动报警(紧急求助)每天的数量
     * @return
     */
    @Override
    public Map<String, Object> selectAlarmData() {
        Map<String, Object> map = new HashMap<>();
        //查询数据
        List<Integer> list = baseMapper.selectAlarmData();
        //封装数据
        map.put("alarmData",list);
        //返回数据
        return map;
    }
}
blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/animalheat/mapper/AnimalHeatMapper.java
@@ -45,4 +45,10 @@
     * @return
     */
    List<Map<String, Object>> getAnimalStatisMonth();
    /**
     * 统计7天内每天体温异常的的总人数
     * @return
     */
    List<Integer> selectAnimalHeatDataStatis();
}
blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/animalheat/mapper/AnimalHeatMapper.xml
@@ -79,4 +79,32 @@
            date_format(create_time,'%Y-%m-%d')=DATE(DATE_ADD(subdate(curdate(),date_format(curdate(),'%w')-1), interval 6 day))
    </select>
    <!--统计7天内每天体温异常的的总人数-->
    <select id="selectAnimalHeatDataStatis" resultType="java.lang.Integer">
        select ifnull(b.count,0) as count from
        (
        SELECT DATE_FORMAT(date_sub(curdate(), interval 6 day),'%Y-%m-%d') as click_date
            union all
        SELECT DATE_FORMAT(date_sub(curdate(), interval 5 day),'%Y-%m-%d') as click_date
            union all
        SELECT DATE_FORMAT(date_sub(curdate(), interval 4 day),'%Y-%m-%d') as click_date
            union all
        SELECT DATE_FORMAT(date_sub(curdate(), interval 3 day),'%Y-%m-%d') as click_date
            union all
        SELECT DATE_FORMAT(date_sub(curdate(), interval 2 day),'%Y-%m-%d') as click_date
            union all
        SELECT DATE_FORMAT(date_sub(curdate(), interval 1 day),'%Y-%m-%d') as click_date
            union all
        SELECT DATE_FORMAT(curdate(),'%Y-%m-%d')  as click_date
        ) a
        left join
        (
        select DATE_FORMAT(create_time,'%Y-%m-%d') as datetime, count(*) as count from blade_animal_heat
            where `status`=1
            group by DATE_FORMAT(create_time,'%Y-%m-%d')
        ) b
         on
         a.click_date = b.datetime
    </select>
</mapper>
blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/animalheat/service/AnimalHeatService.java
@@ -39,4 +39,10 @@
     * @return
     */
    List<Map<String,Integer>> selWeekDayAnimalStatis();
    /**
     * 统计7天内每天体温异常的的总人数
     * @return
     */
    Map<String, Object> selectAnimalData();
}
blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/animalheat/service/impl/AnimalHeatServiceImpl.java
@@ -14,6 +14,7 @@
import org.springframework.transaction.annotation.Transactional;
import javax.validation.Valid;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import static org.springblade.core.tool.utils.DateUtil.now;
@@ -134,4 +135,20 @@
        List<Map<String,Integer>> selWeekDayAnimalStatis;
        return baseMapper.selWeekDayAnimalStatis();
    }
    /**
     * 统计7天内每天体温异常的的总人数
     * @return
     */
    @Override
    public Map<String, Object> selectAnimalData() {
        //创建map对象
        Map<String, Object> map = new HashMap<>();
        //查询统计数据
        List<Integer> list = baseMapper.selectAnimalHeatDataStatis();
        //封装数据
        map.put("animalData",list);
        //返回数据
        return map;
    }
}
blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/catalog/controller/catalogController.java
@@ -35,6 +35,7 @@
import org.springblade.jfpt.equipment.service.IEquipmentService;
import org.springblade.jfpt.parcel.service.ParcelService;
import org.springblade.jfpt.parcel.vo.ConditionVo;
import org.springblade.jfpt.suser.service.ISuserService;
import org.springblade.system.vo.DeptVO;
import org.springframework.web.bind.annotation.*;
import org.springblade.jfpt.catalog.wrapper.catalogWrapper;
@@ -63,6 +64,8 @@
    private final ParcelService parcelService;
    private final IEquipmentService iEquipmentService;
    private final ISuserService iSuserService;
    /**
     * 详情
@@ -230,10 +233,12 @@
        Map<String, Object> mape = new HashMap<String, Object>();
        Map<String, Object> maps = new HashMap<String, Object>();
        Map<String, Object> mapse = new HashMap<String, Object>();
        Map<String, Object> mapsu = new HashMap<String, Object>();
        Integer alarmCount = null;
        List<Integer> parcelCount = new ArrayList<>();
        Integer contrabandCount = null;
        Integer equipmentCount = null;
        Integer suserCount = null;
        Integer status = conditionVo.getStatus();
        if (conditionVo.getStatus()==0){
            //1.查询警情总数
@@ -244,6 +249,9 @@
            equipmentCount = iEquipmentService.selectEquipmentCount(status);
        }
        //4.查询业主总数
        suserCount = iSuserService.selectSuserCount();
        //1.警情总数
        mapa.put("value",alarmCount);
        mapa.put("backgroundColor","#F56C6C");
@@ -267,11 +275,18 @@
        mapse.put("backgroundColor","#409EFF");
        mapse.put("prefixText","在线设备");
        mapse.put("suffixText","个");
        //5.业主总数
        mapsu.put("value",suserCount);
        mapsu.put("backgroundColor","#EE1D23");
        mapsu.put("prefixText","用户数量");
        mapsu.put("suffixText","个");
        //数据存入集合
        lists.add(mapa);
        lists.add(mape);
        lists.add(maps);
        lists.add(mapse);
        lists.add(mapsu);
        return lists;
    }
blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/healthcode/mapper/healthcodeMapper.java
@@ -33,4 +33,10 @@
    int insert(String type, String sex, String province, String city,String district, String dtime);
    List<Map<String, Object>> selectCountr(String time);
    List<Map<String, Object>> selectCountz(String beginTime,String endTime);
    /**
     * 统计7天内每天红色健康码人数数量数据
     * @return
     */
    List<Integer> selectRedCodeDataStatis();
}
blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/healthcode/mapper/healthcodeMapper.xml
@@ -91,4 +91,33 @@
        DATE_FORMAT(dtime,'%Y-%m-%d')&gt;=#{beginTime} and DATE_FORMAT(dtime,'%Y-%m-%d')&lt;=#{endTime} GROUP BY type
    </select>
    <!--统计7天内每天红色健康码人数数量数据-->
    <select id="selectRedCodeDataStatis" resultType="java.lang.Integer">
        select ifnull(b.count,0) as count from
        (
        SELECT DATE_FORMAT(date_sub(curdate(), interval 6 day),'%Y-%m-%d') as click_date
            union all
        SELECT DATE_FORMAT(date_sub(curdate(), interval 5 day),'%Y-%m-%d') as click_date
            union all
        SELECT DATE_FORMAT(date_sub(curdate(), interval 4 day),'%Y-%m-%d') as click_date
            union all
        SELECT DATE_FORMAT(date_sub(curdate(), interval 3 day),'%Y-%m-%d') as click_date
            union all
        SELECT DATE_FORMAT(date_sub(curdate(), interval 2 day),'%Y-%m-%d') as click_date
            union all
        SELECT DATE_FORMAT(date_sub(curdate(), interval 1 day),'%Y-%m-%d') as click_date
            union all
        SELECT DATE_FORMAT(curdate(),'%Y-%m-%d')  as click_date
        ) a
        left join
        (
        select DATE_FORMAT(dtime,'%Y-%m-%d') as datetime, count(*) as count from healthcode
                        where `type`=3
            group by DATE_FORMAT(dtime,'%Y-%m-%d')
        ) b
         on
         a.click_date = b.datetime
    </select>
</mapper>
blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/healthcode/service/IhealthcodeService.java
@@ -35,4 +35,10 @@
    int insert(String type, String sex, String province, String city,String district, String dtime);
    List<Map<String, Object>> selectCountr(String time);
    List<Map<String, Object>> selectCountz(String beginTime,String endTime);
    /**
     * 统计7天内每天红色健康码人数数量数据
     * @return
     */
    Map<String, Object> selectHealthcodeData();
}
blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/healthcode/service/impl/HealthcodeServiceImpl.java
@@ -26,6 +26,7 @@
import org.springblade.jfpt.lx.vo.LxVO;
import org.springframework.stereotype.Service;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@@ -51,4 +52,20 @@
    public List<Map<String, Object>> selectCountz(String beginTime, String endTime) {
        return baseMapper.selectCountz(beginTime, endTime);
    }
    /**
     * 统计7天内每天红色健康码人数数量数据
     * @return
     */
    @Override
    public Map<String, Object> selectHealthcodeData() {
        //创建map对象
        Map<String, Object> map = new HashMap<>();
        //查询统计数据
        List<Integer> list = baseMapper.selectRedCodeDataStatis();
        //封装数据
        map.put("healthcodeData",list);
        //返回数据
        return map;
    }
}
blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/parcel/service/ParcelService.java
@@ -30,4 +30,9 @@
     */
    List<Integer> selectParcelCount(Integer status);
    /**
     * 查询7天内违禁品每天的数量
     * @return
     */
    Map<String, Object> selectParcelData();
}
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
@@ -222,4 +222,36 @@
        //返回数据
        return list;
    }
    /**
     * 查询7天内违禁品每天的数量(需筛选危险品)
     * @return
     */
    @Override
    public Map<String, Object> selectParcelData() {
        ConditionVo conditionVo = new ConditionVo();
        conditionVo.setStatus(1);//近7天status 为 1
        //获取数据
        List<Object> objectList = getParcelData(conditionVo,PARCEL_CONTRABAND_URL,PARCEL_KEY,PARCEL_SECRET);
        //遍历违禁编码map数据
        HashMap<String, Object> map = new HashMap<>();
        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());
                    }
                }
            }
            list.add(count);
        }
        map.put("parcelData",list);
        return map;
    }
}
blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/suser/mapper/SuserMapper.java
@@ -46,4 +46,9 @@
    void updateOne(Integer id, String ynumber, String yname, String phone, String address, String type, String dj, String information, String jd, String wd, String createtime, String addvcd);
    void s(String ynumber, String yname, String phone, String address, String type, String dj, String information, String jd, String wd, String createtime, String addvcd);
    /**
     * 查询业主总数
     * @return
     */
    Integer selectSuserCount();
}
blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/suser/mapper/SuserMapper.xml
@@ -113,4 +113,9 @@
        </if>
    </select>
    <!--查询业主总数-->
    <select id="selectSuserCount" resultType="java.lang.Integer">
        select count(*) from sys_suser
    </select>
</mapper>
blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/suser/service/ISuserService.java
@@ -45,4 +45,10 @@
    String selectNames(String ud);
    void updateOne(Integer id, String ynumber, String yname, String phone, String address, String type, String dj, String information, String jd, String wd, String createtime, String addvcd);
    void s(String ynumber, String yname, String phone, String address, String type, String dj, String information, String jd, String wd, String createtime, String addvcd);
    /**
     * 查询业主总数
     * @return
     */
    Integer selectSuserCount();
}
blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/suser/service/impl/SuserServiceImpl.java
@@ -71,4 +71,12 @@
        baseMapper.s(ynumber, yname, phone, address, type, dj, information, jd, wd,createtime,addvcd);
    }
    /**
     * 查询业主总数
     * @return
     */
    @Override
    public Integer selectSuserCount() {
        return baseMapper.selectSuserCount();
    }
}