yq 3 rokov pred
rodič
commit
97630f83ac

+ 5 - 5
mhfire-controller/src/main/java/com/bizmatics/mhfire/controller/web/AlertControllerWeb.java

@@ -2,9 +2,9 @@ package com.bizmatics.mhfire.controller.web;
 
 import com.bizmatics.common.core.bean.ApiResult;
 import com.bizmatics.common.core.bean.CommonPage;
+import com.bizmatics.mhfire.model.Alert;
 import com.bizmatics.mhfire.service.AlertService;
 import com.bizmatics.mhfire.service.vo.AlertStatisticsVO;
-import com.bizmatics.mhfire.service.vo.AlertVO;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
@@ -59,10 +59,10 @@ public class AlertControllerWeb {
      * @return
      */
     @GetMapping("/page")
-    public ApiResult<CommonPage<AlertVO>> page(@RequestParam Integer current,
-                                               @RequestParam Integer size,
-                                               @RequestParam(required = false) Date startTime,
-                                               @RequestParam(required = false) Date endTime) {
+    public ApiResult<CommonPage<Alert>> page(@RequestParam Integer current,
+                                             @RequestParam Integer size,
+                                             @RequestParam(required = false) Date startTime,
+                                             @RequestParam(required = false) Date endTime) {
         return ApiResult.success(alertService.page(current, size, startTime, endTime));
     }
 

+ 4 - 4
mhfire-service/src/main/java/com/bizmatics/mhfire/service/AlertService.java

@@ -1,9 +1,9 @@
 package com.bizmatics.mhfire.service;
 
 import com.bizmatics.common.core.bean.CommonPage;
+import com.bizmatics.common.mvc.base.CrudService;
+import com.bizmatics.mhfire.model.Alert;
 import com.bizmatics.mhfire.service.vo.AlertStatisticsVO;
-import com.bizmatics.mhfire.service.vo.AlertVO;
-import com.bizmatics.mhfire.service.vo.FireSiteVO;
 
 import java.util.Date;
 import java.util.List;
@@ -13,7 +13,7 @@ import java.util.List;
  * @date 2021/5/28 14:52
  * 警情
  */
-public interface AlertService {
+public interface AlertService  extends CrudService<Alert> {
 
 
     /**
@@ -39,7 +39,7 @@ public interface AlertService {
      * @param endTime
      * @return
      */
-    CommonPage<AlertVO> page(Integer current, Integer size, Date startTime, Date endTime);
+    CommonPage<Alert> page(Integer current, Integer size, Date startTime, Date endTime);
 
     /**
      * 查询不同警情(社会救助,警情,火灾)的占比

+ 3 - 1
mhfire-service/src/main/java/com/bizmatics/mhfire/service/FireSiteService.java

@@ -1,6 +1,8 @@
 package com.bizmatics.mhfire.service;
 
 import com.bizmatics.common.core.bean.CommonPage;
+import com.bizmatics.common.mvc.base.CrudService;
+import com.bizmatics.mhfire.model.FireSite;
 import com.bizmatics.mhfire.service.vo.FireSiteDutyVO;
 import com.bizmatics.mhfire.service.vo.FireSiteVO;
 
@@ -11,7 +13,7 @@ import java.util.List;
  * @date 2021/5/28 15:30
  * 消防站信息
  */
-public interface FireSiteService {
+public interface FireSiteService extends CrudService<FireSite> {
 
 
     /**

+ 53 - 27
mhfire-service/src/main/java/com/bizmatics/mhfire/service/impl/AlertServiceImpl.java

@@ -1,12 +1,18 @@
 package com.bizmatics.mhfire.service.impl;
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.bizmatics.common.core.bean.CommonPage;
 import com.bizmatics.common.core.util.DateUtils;
+import com.bizmatics.common.core.util.StringUtils;
+import com.bizmatics.common.mvc.base.AbstractCrudService;
+import com.bizmatics.mhfire.model.Alert;
+import com.bizmatics.mhfire.persistence.mapper.AlertMapper;
 import com.bizmatics.mhfire.service.AlertService;
+import com.bizmatics.mhfire.service.util.Arith;
 import com.bizmatics.mhfire.service.vo.AlertStatisticsVO;
-import com.bizmatics.mhfire.service.vo.AlertVO;
-import com.bizmatics.mhfire.service.vo.FireSiteVO;
 import org.springframework.stereotype.Service;
 
 import java.util.ArrayList;
@@ -19,52 +25,72 @@ import java.util.Map;
  * @date 2021/5/28 14:53
  */
 @Service
-public class AlertServiceImpl implements AlertService {
+public class AlertServiceImpl extends AbstractCrudService<AlertMapper, Alert> implements AlertService {
 
 
     @Override
     public List<AlertStatisticsVO> getAlertStatisticsByHouse() {
-        List<AlertStatisticsVO> list = new ArrayList<>();
         Date date = new Date();
-        for (int i = 0; i < 24; i++) {
-            date = DateUtils.setHours(date, i);
-            date.setMinutes(0);
-            date.setSeconds(0);
-            date.setMinutes(59);
-            date.setSeconds(59);
+        Date startTime = DateUtils.getDayStartTime(date);
+        return enhanceList(baseMapper.getCountByHorse(startTime, date));
+    }
+
+    public List<AlertStatisticsVO> enhanceList(List<Map<String,Object>> mapList){
+        List<AlertStatisticsVO> list = new ArrayList<>();
+        for (Map<String, Object> map:mapList) {
+            AlertStatisticsVO alertStatisticsVo = new AlertStatisticsVO();
+            alertStatisticsVo.setType(map.get("aType").toString());
+            alertStatisticsVo.setMonth(map.get("monthTime").toString());
+            alertStatisticsVo.setNumber(Integer.parseInt(map.get("aCount").toString()));
+            alertStatisticsVo.setType(map.get("aType").toString());
+            list.add(alertStatisticsVo);
         }
-        //TODO 没有找见对应数据,数据来源其他平台
         return list;
     }
 
 
     @Override
     public List<AlertStatisticsVO> getAlertStatisticsByMonth() {
-        List<AlertStatisticsVO> list = new ArrayList<>();
         Date date = new Date();
-        for (int i = 0; i < 12; i++) {
-            date = DateUtils.setDays(date,1);
-            DateUtils.setMonths(date,i);
-            Date firstDayOfMonth = DateUtils.getFirstDayOfMonth(date);
-            Date lastDayOfMonth = DateUtils.getLastDayOfMonth(date);
-        }
-        //TODO 没有找见对应数据,数据来源其他平台
-        return list;
+        Date startTime = DateUtils.getDayStartTime(date);
+        return enhanceList(baseMapper.getCountByMonth(startTime, date));
     }
 
     @Override
-    public CommonPage<AlertVO> page(Integer current, Integer size, Date startTime, Date endTime) {
-        Page<Map<String, Object>> page = new Page<>(current, size);
-
-        List<AlertVO> list = new ArrayList<>();
-        //TODO 站点信息调用其他平台接口
-        return new CommonPage<>(list, page.getTotal(), page.getSize(), page.getCurrent());
+    public CommonPage<Alert> page(Integer current, Integer size, Date startTime, Date endTime) {
+        IPage<Alert> page = new Page<>(current, size);
+        LambdaQueryWrapper<Alert> queryWrapper = Wrappers.lambdaQuery();
+        queryWrapper.between(Alert::getDcsj,startTime,endTime);
+        page = this.page(page, queryWrapper);
+        return  this.ToCommonPage(page);
     }
 
     @Override
     public List<AlertStatisticsVO> getAlertStatistics(Date startTime, Date endTime) {
         List<AlertStatisticsVO> list = new ArrayList<>();
-        //TODO 数据来源于其他平台
+        list.add(getAsV(startTime, endTime, "火灾"));
+        list.add(getAsV(startTime, endTime, "社会救援"));
+        list.add(getAsV(startTime, endTime, "抢险救援"));
+        int sum = list.stream().mapToInt(AlertStatisticsVO::getNumber).sum();
+        list.forEach(alertStatisticsVO -> {
+            if (0 == sum){
+                alertStatisticsVO.setRadio(0.00);
+            }else {
+                alertStatisticsVO.setRadio(Arith.div(alertStatisticsVO.getNumber(), sum));
+            }
+        });
         return list;
     }
+    public AlertStatisticsVO getAsV(Date startTime,Date endTime,String type){
+        AlertStatisticsVO alertStatisticsVo = new AlertStatisticsVO();
+        LambdaQueryWrapper<Alert> queryWrapper = Wrappers.lambdaQuery();
+        queryWrapper.eq(StringUtils.isNotBlank(type),Alert::getAjlx,type);
+        if (null != startTime && null != endTime){
+            queryWrapper.between(Alert::getDcsj,startTime,endTime);
+        }
+        alertStatisticsVo.setType(type);
+        alertStatisticsVo.setNumber(this.count(queryWrapper));
+        return alertStatisticsVo;
+    }
+
 }

+ 4 - 2
mhfire-service/src/main/java/com/bizmatics/mhfire/service/impl/FireSiteServiceImpl.java

@@ -2,7 +2,9 @@ package com.bizmatics.mhfire.service.impl;
 
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.bizmatics.common.core.bean.CommonPage;
-import com.bizmatics.mhfire.persistence.mapper.po.FireStatisticsPO;
+import com.bizmatics.common.mvc.base.AbstractCrudService;
+import com.bizmatics.mhfire.model.FireSite;
+import com.bizmatics.mhfire.persistence.mapper.FireSiteMapper;
 import com.bizmatics.mhfire.service.FireSiteService;
 import com.bizmatics.mhfire.service.vo.FireSiteDutyVO;
 import com.bizmatics.mhfire.service.vo.FireSiteVO;
@@ -17,7 +19,7 @@ import java.util.Map;
  * @date 2021/5/28 15:30
  */
 @Service
-public class FireSiteServiceImpl implements FireSiteService {
+public class FireSiteServiceImpl extends AbstractCrudService<FireSiteMapper, FireSite> implements FireSiteService {
     @Override
     public CommonPage<FireSiteVO> page(Integer current, Integer size, String startTime, String endTime) {
         Page<Map<String, Object>> page = new Page<>(current, size);

+ 0 - 121
mhfire-service/src/main/java/com/bizmatics/mhfire/service/vo/AlertVO.java

@@ -1,121 +0,0 @@
-package com.bizmatics.mhfire.service.vo;
-
-import lombok.Data;
-
-/**
- * @author yq
- * @date 2021/5/28 16:31
- * 警情详情表
- */
-@Data
-public class AlertVO {
-
-    /**
-     * id
-     */
-    private String id;
-
-    /**
-     * 地址
-     */
-    private String address;
-
-    /**
-     * 报警人
-     */
-    private String policeMan;
-
-    /**
-     * 手机号
-     */
-    private String phone;
-
-    /**
-     * 报警时间
-     */
-    private String policeTime;
-    /**
-     * 警情等级
-     */
-    private String alertLevel;
-
-    /**
-     * 所属中队
-     */
-    private String department;
-
-    /**
-     * 调动车辆
-     */
-    private String car;
-
-    /**
-     * 状态(填报)
-     */
-    private String status;
-    /**
-     * 报警原因
-     */
-    private String policeCause;
-
-    /**
-     * 死亡人数
-     */
-    private String diePerson;
-
-    /**
-     * 受伤人数
-     */
-    private String injuredPerson;
-
-    /**
-     * 财产损失
-     */
-    private Double lossMoney;
-
-    /**
-     * 电台呼叫
-     */
-    private String callingUp;
-
-    /**
-     * 装备名称
-     */
-    private String equipName;
-
-    /**
-     * 车牌号
-     */
-    private String carNumber;
-
-    /**
-     * 车辆状态
-     */
-    private String carStatus;
-
-    /**
-     * 处理时间
-     */
-    private String disposeTime;
-
-
-    /**
-     * 指挥员
-     */
-    private String commander;
-
-    /**
-     * 通讯员
-     */
-    private String correspondent;
-    /**
-     * 消防员
-     */
-    private String firemen;
-
-    /**
-     * 驾驶员
-     */
-    private String driver;
-
-}

+ 0 - 26
mhfire-service/src/main/java/com/bizmatics/mhfire/service/vo/FireSiteVO.java

@@ -95,30 +95,4 @@ public class FireSiteVO {
      */
     private Integer mistSprayBubble;
 
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
 }