nnnjjj123
2021-01-14 f1599c97d20fd7fabb1683b1cf7ba4114306c7ad
1.统计接口调整
8 files modified
223 ■■■■■ changed files
src/main/java/org/springblade/modules/alarm/controller/AlarmController.java 137 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/alarm/mapper/AlarmMapper.java 5 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/alarm/mapper/AlarmMapper.xml 41 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/alarm/service/IAlarmService.java 4 ●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/alarm/service/impl/AlarmServiceImpl.java 16 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/catalog/controller/catalogController.java 12 ●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/catalog/mapper/catalogMapper.xml 6 ●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/equipment/mapper/EquipmentMapper.xml 2 ●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/alarm/controller/AlarmController.java
@@ -37,8 +37,9 @@
import org.springblade.modules.alarm.service.IAlarmService;
import org.springblade.core.boot.ctrl.BladeController;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.*;
/**
 *  控制器
@@ -193,4 +194,138 @@
    }
    /**
     * 获取过去第几天的日期
     *
     * @param past
     * @return
     */
    public static String getPastDate(int past,Date date) {
        Calendar calendar = Calendar.getInstance();
        calendar.setTime(date);
        calendar.set(Calendar.DATE, calendar.get(Calendar.DATE) - past);
        Date today = calendar.getTime();
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
        String result = sdf.format(today);
        return result;
    }
    /**
     * 获取过去7天内的日期数组
     * @return  日期数组
     */
    public static ArrayList<String> pastDay(String time){
        ArrayList<String> pastDaysList = new ArrayList<>();
        try {
            //我这里传来的时间是个string类型的,所以要先转为date类型的。
            SimpleDateFormat sdf= new SimpleDateFormat("yyyy-MM-dd");
            Date date = sdf.parse(time);
            for (int i = 6; i >= 0; i--) {
                pastDaysList.add(getPastDate(i,date));
            }
        }catch (ParseException e){
            e.printStackTrace();
        }
        return pastDaysList;
    }
    /**
     * 按接警类型统计树状图
     * @param response
     * @return
     */
    @GetMapping("/selectScount")
    public R selectScount(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");
        List<Map<String, Object>> lists = new ArrayList<>();
        List<Map<String, Object>> listc = new ArrayList<>();
        SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");//设置日期格式
        String time = df.format(new Date());// new Date()为获取当前系统时间
        ArrayList<String> strings = pastDay(time);
        String[] str={"内部","周边","挟持","救护","旁路","火警","紧急","出入","防拆"};
        Map<String, Object> maps = new HashMap<String, Object>();
        for (int j=0;j<strings.size();j++){
            Map<String, Object> map = new HashMap<String, Object>();
            List<Map<String, Object>> list = alarmService.selectScount(strings.get(j));
            map.put("time",strings.get(j));
            for (int i=0;i<list.size();i++){
                Object waringType = list.get(i).get("waringType");
                String wname = waringType.toString();
                switch(wname){
                    case "内部" :
                        map.put("内部",list.get(i).get("cou"));
                        break; //可选
                    case "周边" :
                        map.put("周边",list.get(i).get("cou"));
                        break; //可选
                    case "挟持" :
                        map.put("挟持",list.get(i).get("cou"));
                        break;
                    case "救护" :
                        map.put("救护",list.get(i).get("cou"));
                        break;
                    case "旁路" :
                        map.put("旁路",list.get(i).get("cou"));
                        break;
                    case "火警" :
                        map.put("火警",list.get(i).get("cou"));
                        break;
                    case "紧急" :
                        map.put("紧急",list.get(i).get("cou"));
                        break;
                    case "出入" :
                        map.put("出入",list.get(i).get("cou"));
                        break;
                    default :
                        map.put("防拆",list.get(i).get("cou"));
                }
            }
            lists.add(map);
        }
        maps.put("lists",lists);
        maps.put("type",str);
        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);
        Date today = calendar.getTime();
        SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
        String result = format.format(today);
        return result;
    }
    /**
     * 查询7天内数据
     * @param response
     * @return
     */
    @GetMapping("/selectListSe")
    public R selectListSe(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");
        SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");//设置日期格式
        String time = df.format(new Date());// new Date()为获取当前系统时间
        String pastDate = getPastDate(7);
        List<AlarmVO> alarmVOS = alarmService.selectListSe(pastDate, time);
        return R.data(alarmVOS);
    }
    /**
     * 修改警情类型
     */
    @PostMapping("/updateJtype")
    public R updateJtype(String id,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");
        alarmService.updateJtype(id);
        return R.success("修改成功");
    }
}
src/main/java/org/springblade/modules/alarm/mapper/AlarmMapper.java
@@ -23,6 +23,7 @@
import org.springblade.modules.equipment.entity.Equipment;
import java.util.List;
import java.util.Map;
/**
 *  Mapper 接口
@@ -41,11 +42,15 @@
     */
    List<AlarmVO> selectAlarmPage(IPage page, AlarmVO alarm);
    List<AlarmVO> selectList(String jtype,String addvcd,String waringType,String beginTime,String endTime);
    List<AlarmVO> selectListSe(String beginTime,String endTime);
    List<AlarmVO> selectInfo(String id);
    List<AlarmVO> selecttx(String id);
    void deletejj(String id);
    void s(Alarm alarm);
    void updateJtype(String id);
    void updateOne(Alarm alarm);
    List<Map<String, Object>> selectScount(String time);
}
src/main/java/org/springblade/modules/alarm/mapper/AlarmMapper.xml
@@ -177,4 +177,45 @@
    content=#{content},waringType=#{waringType},deviceNumber=#{deviceNumber},region=#{region},addvcd=#{addvcd},alarmId=#{alarmId},level=#{level},rname=#{rname},jd=#{jd},wd=#{wd},coordinate=POINT(#{jd},#{wd}),jtype=#{jtype} where id=#{id}
</update>
    <select id="selectScount" resultType="java.util.HashMap">
        SELECT COUNT(*) as cou,waringType FROM `sys_alarm` WHERE alarmTime like concat(concat('%', #{time}), '%') GROUP BY waringType
    </select>
    <select id="selectListSe" resultMap="alarmResultMap">
        SELECT
        a.id,
        a.alarmType,
        a.alarmPeople,
        a.alarmTime,
        a.galarmPeople,
        a.sex,
        a.phoneNumber,
        a.place,
        a.content,
        a.waringType,
        a.deviceNumber,
        a.region,
        a.addvcd,
        a.alarmId,
        a.LEVEL,
        ST_ASTEXT (a.coordinate ) AS coordinate,
        a.jd,
        a.wd,
        a.jtype,
        a.rname,
        d.addvnm,
        e.serialNumber,
        e.stype,
        e.channelNumber
        FROM
        sys_alarm a LEFT JOIN sys_district d on d.addvcds=a.addvcd LEFT JOIN sys_equipment e on e.deviceNumber=a.deviceNumber where
        DATE_FORMAT(alarmTime,'%Y-%m-%d') &gt;=#{beginTime} and DATE_FORMAT(alarmTime,'%Y-%m-%d') &lt;=#{endTime} ORDER BY alarmTime desc
    </select>
    <update id="updateJtype">
    update sys_alarm SET jtype=1 where id=#{id}
</update>
</mapper>
src/main/java/org/springblade/modules/alarm/service/IAlarmService.java
@@ -22,6 +22,7 @@
import com.baomidou.mybatisplus.core.metadata.IPage;
import java.util.List;
import java.util.Map;
/**
 *  服务类
@@ -45,4 +46,7 @@
    void deletejj(String id);
    void s(Alarm alarm);
    void updateOne(Alarm alarm);
    List<Map<String, Object>> selectScount(String time);
    List<AlarmVO> selectListSe(String beginTime,String endTime);
    void updateJtype(String id);
}
src/main/java/org/springblade/modules/alarm/service/impl/AlarmServiceImpl.java
@@ -26,6 +26,7 @@
import com.baomidou.mybatisplus.core.metadata.IPage;
import java.util.List;
import java.util.Map;
/**
 *  服务实现类
@@ -72,4 +73,19 @@
        baseMapper.updateOne(alarm);
    }
    @Override
    public List<Map<String, Object>> selectScount(String time) {
        return baseMapper.selectScount(time);
    }
    @Override
    public List<AlarmVO> selectListSe(String beginTime, String endTime) {
        return baseMapper.selectListSe(beginTime, endTime);
    }
    @Override
    public void updateJtype(String id) {
        baseMapper.updateJtype(id);
    }
}
src/main/java/org/springblade/modules/catalog/controller/catalogController.java
@@ -164,23 +164,23 @@
            Map<String, Object> maps = new HashMap<String, Object>();
            Map<String, Object> mapse = new HashMap<String, Object>();
            mapa.put("value",list1.get(0).get("counta"));
            mapa.put("backgroundColor","#FF0000");
            mapa.put("backgroundColor","#F56C6C");
            mapa.put("prefixText","警情总数");
            mapa.put("suffixText","条");
            mape.put("value",list1.get(1).get("counta"));
            mape.put("backgroundColor","#000000");
            mape.put("backgroundColor","#67C23A");
            mape.put("prefixText","设备总数");
            mape.put("suffixText","个");
            maps.put("value",list1.get(2).get("counta"));
            maps.put("backgroundColor","#6CDEFF");
            maps.put("backgroundColor","#409EFF");
            maps.put("prefixText","用户总数");
            maps.put("suffixText","个");
            mapse.put("value",list1.get(3).get("counta"));
            mapse.put("backgroundColor","#FF9900");
            mapse.put("prefixText","出警队伍总数");
            mapse.put("suffixText","队");
            mapse.put("backgroundColor","#E6A23C");
            mapse.put("prefixText","处警队伍总数");
            mapse.put("suffixText","人");
            lists.add(mapa);
            lists.add(mape);
            lists.add(maps);
src/main/java/org/springblade/modules/catalog/mapper/catalogMapper.xml
@@ -52,7 +52,7 @@
    d.addvnm as name
FROM
    sys_suser s
    LEFT JOIN sys_district d ON d.addvcds = s.addvcd
    INNER JOIN sys_district d ON d.addvcds = s.addvcd
GROUP BY
    s.addvcd
    </select>
@@ -63,13 +63,13 @@
    d.addvnm as name
FROM
    sys_equipment s
    LEFT JOIN sys_district d ON d.addvcds = s.addvcd
    INNER JOIN sys_district d ON d.addvcds = s.addvcd
    WHERE s.parent_id!=0
GROUP BY
    s.addvcd
    </select>
    <select id="selectWar" resultType="java.util.HashMap">
     SELECT COUNT(*) as cou,waringType FROM `sys_alarm` GROUP BY waringType
     SELECT COUNT(*) as cou,waringType FROM `sys_alarm` GROUP BY waringType ORDER BY cou desc
    </select>
src/main/java/org/springblade/modules/equipment/mapper/EquipmentMapper.xml
@@ -95,7 +95,7 @@
    <select id="lazyList" resultMap="deptVOResultMap">
        SELECT dept.id,dept.deviceName,dept.deviceNumber,dept.deviceType,dept.ownership,
        dept.ownerId,dept.devicestate,dept.stime,
        ST_ASTEXT(dept.coordinate) as coordinate,dept.dtype,
        ST_ASTEXT(dept.coordinate) as coordinate,dept.dtype,dept.serialNumber,dept.stype,dept.channelNumber,dept.pay,dept.expireTime,dept.heartbeat,
        dept.parent_id,FORMAT(dept.jd,6) as jd,FORMAT(dept.wd,6) as wd,dept.street as
        streeName,u.yname,d.addvnm,dept.addvcd,
        (