用户会员数量统计接口,一键报警(主动报警),违禁品,红码,体温异常统计接口ok,违禁品分类尚需完善
| | |
| | | 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; |
| | |
| | | public class AlarmController extends BladeController { |
| | | |
| | | private final IAlarmService alarmService; |
| | | |
| | | private final AnimalHeatService animalHeatService; |
| | | |
| | | private IhealthcodeService ihealthcodeService; |
| | | |
| | | private ParcelService parcelService; |
| | | |
| | | /** |
| | | * 详情 |
| | |
| | | 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); |
| | |
| | | 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 |
| | |
| | | * @return |
| | | */ |
| | | Integer selectAlarmCount(); |
| | | |
| | | /** |
| | | * 查询7天内主动报警(紧急求助)每天的数量 |
| | | * @return |
| | | */ |
| | | List<Integer> selectAlarmData(); |
| | | } |
| | |
| | | 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> |
| | |
| | | |
| | | /** |
| | | * 查询警情总数 |
| | | * @param status 0:本日 1:本周 2:本月 |
| | | * @param status 0:本日 1:本周 2:本月 3:近7天 |
| | | * @return |
| | | */ |
| | | Integer selectAlarmCount(Integer status); |
| | | |
| | | /** |
| | | * 查询7天内主动报警(紧急求助)每天的数量 |
| | | * @return |
| | | */ |
| | | Map<String, Object> selectAlarmData(); |
| | | } |
| | |
| | | |
| | | import java.text.SimpleDateFormat; |
| | | import java.util.Date; |
| | | import java.util.HashMap; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | |
| | |
| | | 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; |
| | | } |
| | | } |
| | |
| | | * @return |
| | | */ |
| | | List<Map<String, Object>> getAnimalStatisMonth(); |
| | | |
| | | /** |
| | | * 统计7天内每天体温异常的的总人数 |
| | | * @return |
| | | */ |
| | | List<Integer> selectAnimalHeatDataStatis(); |
| | | } |
| | |
| | | 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> |
| | |
| | | * @return |
| | | */ |
| | | List<Map<String,Integer>> selWeekDayAnimalStatis(); |
| | | |
| | | /** |
| | | * 统计7天内每天体温异常的的总人数 |
| | | * @return |
| | | */ |
| | | Map<String, Object> selectAnimalData(); |
| | | } |
| | |
| | | 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; |
| | |
| | | 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; |
| | | } |
| | | } |
| | |
| | | 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; |
| | |
| | | private final ParcelService parcelService; |
| | | |
| | | private final IEquipmentService iEquipmentService; |
| | | |
| | | private final ISuserService iSuserService; |
| | | |
| | | /** |
| | | * 详情 |
| | |
| | | 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.查询警情总数 |
| | |
| | | equipmentCount = iEquipmentService.selectEquipmentCount(status); |
| | | |
| | | } |
| | | //4.查询业主总数 |
| | | suserCount = iSuserService.selectSuserCount(); |
| | | |
| | | //1.警情总数 |
| | | mapa.put("value",alarmCount); |
| | | mapa.put("backgroundColor","#F56C6C"); |
| | |
| | | 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; |
| | | } |
| | | |
| | |
| | | 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(); |
| | | } |
| | |
| | | DATE_FORMAT(dtime,'%Y-%m-%d')>=#{beginTime} and DATE_FORMAT(dtime,'%Y-%m-%d')<=#{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> |
| | |
| | | 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(); |
| | | } |
| | |
| | | import org.springblade.jfpt.lx.vo.LxVO; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | import java.util.HashMap; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | |
| | |
| | | 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; |
| | | } |
| | | } |
| | |
| | | */ |
| | | List<Integer> selectParcelCount(Integer status); |
| | | |
| | | /** |
| | | * 查询7天内违禁品每天的数量 |
| | | * @return |
| | | */ |
| | | Map<String, Object> selectParcelData(); |
| | | } |
| | |
| | | |
| | | /** |
| | | * 获取违禁包裹统计数据,远程调用接口 |
| | | * @param conditionVo 查询条件对象 status 状态码 0:本天 1:本周 2:本月 |
| | | * @param conditionVo 查询条件对象 status 状态码 0:本天 1:近7天 2:本月 3:本周 |
| | | * @return |
| | | */ |
| | | @Override |
| | |
| | | //返回数据 |
| | | 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; |
| | | } |
| | | } |
| | |
| | | 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(); |
| | | } |
| | |
| | | </if> |
| | | </select> |
| | | |
| | | <!--查询业主总数--> |
| | | <select id="selectSuserCount" resultType="java.lang.Integer"> |
| | | select count(*) from sys_suser |
| | | </select> |
| | | |
| | | </mapper> |
| | |
| | | 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(); |
| | | } |
| | |
| | | baseMapper.s(ynumber, yname, phone, address, type, dj, information, jd, wd,createtime,addvcd); |
| | | } |
| | | |
| | | /** |
| | | * 查询业主总数 |
| | | * @return |
| | | */ |
| | | @Override |
| | | public Integer selectSuserCount() { |
| | | return baseMapper.selectSuserCount(); |
| | | } |
| | | } |