소스 검색

数据统计

wyyay 2 년 전
부모
커밋
7d8d857652

+ 31 - 0
business-service/src/main/java/com/ozs/entity/vo/DataStatisticNum.java

@@ -0,0 +1,31 @@
+package com.ozs.entity.vo;
+
+import lombok.Data;
+
+/**
+ * @author wyy
+ * @subject
+ * @creat 2023/4/14
+ */
+@Data
+public class DataStatisticNum {
+    /**
+     *机车个数
+     */
+    private Long vehicleNum;
+
+    /**
+     *终端个数
+     */
+    private Long terminalNum;
+
+    /**
+     *累计报警
+     */
+    private Long alarmNum;
+
+    /**
+     *相机个数
+     */
+    private Long cameraNum;
+}

+ 2 - 1
business-service/src/main/java/com/ozs/entity/vo/TerminalIgnoreVo.java

@@ -1,11 +1,12 @@
 package com.ozs.entity.vo;
 
+import com.ozs.common.vo.PageVo;
 import lombok.Data;
 
 import java.io.Serializable;
 
 @Data
-public class TerminalIgnoreVo implements Serializable {
+public class TerminalIgnoreVo extends PageVo implements Serializable {
     private static final long serialVersionUID = 1L;
     /**
      * 车载终端编码

+ 2 - 0
business-service/src/main/java/com/ozs/mapper/MsgAlarmMapper.java

@@ -36,6 +36,8 @@ public interface MsgAlarmMapper extends BaseMapper<MsgAlarm> {
     //数据统计-频繁出现灾害地点排名
     List<AlarmFreqArea> alarmTypeAreaCount(@Param("railwayCode") String railwayCode, @Param("currentYear") Integer currentYear, @Param("currentMonth") Integer currentMonth);
 
+    Long getAlarmNum();
+
     Integer selectCameraCode(@Param("cameraCode") String cameraCode);
 
     MsgAlarm selectByCameraCode(@Param("cameraCode") String cameraCode);

+ 2 - 0
business-service/src/main/java/com/ozs/service/MsgAlarmService.java

@@ -36,6 +36,8 @@ public interface MsgAlarmService extends IService<MsgAlarm> {
 
     //报警数据详情导出数据集合
     List<AlarmStatisticDto> exportExcel(AlarmStatisticResVo alarmStatisticResVo);
+    //获取报警数量
+    Long getAlarmNum();
 
     /**
      * 通过相机编码查询未解除预警信息

+ 6 - 0
business-service/src/main/java/com/ozs/service/impl/MsgAlarmServiceImpl.java

@@ -82,6 +82,12 @@ public class MsgAlarmServiceImpl extends ServiceImpl<MsgAlarmMapper, MsgAlarm> i
         return listDto;
     }
 
+    @Override
+    public Long getAlarmNum() {
+        Long alarmNum =  msgAlarmMapper.getAlarmNum();
+        return alarmNum;
+    }
+
     @Override
     public MsgAlarm selectByCameraCode(String cameraCode) {
         return msgAlarmMapper.selectByCameraCode(cameraCode);

+ 6 - 0
business-service/src/main/resources/mapper/MsgAlarmMapper.xml

@@ -180,6 +180,12 @@
         group by a.alarm_id) AS p group by p.railwayCode order by frequency desc
     </select>
 
+    <select id="getAlarmNum" resultType="java.lang.Long">
+        select count(DISTINCT alarm_id) as alarmNum
+        from
+        msg_alarm
+    </select>
+
     <select id="selectCameraCode" parameterType="java.lang.String" resultType="java.lang.Integer">
         select is_lock from msg_alarm where camera_code = #{cameraCode} ORDER BY alarm_time DESC LIMIT 1
     </select>

+ 9 - 6
business-service/src/main/resources/mapper/TerminalIgnoreAlarmMapper.xml

@@ -23,16 +23,19 @@
         a.update_time,
         a.remark
         FROM terminal_ignore_alarm as a
-        where a.terminalCode = #{terminalCode}
-    </select>
 
-    <select id="selectDetailByAlarmId" resultType="com.ozs.entity.MsgAlarm">
-        select * from msg_alarm
         <where>
-            <if test="alarmId != null and alarmId != ''">
-                and alarmId = #{alarmId}
+            <if test="terminalCode != null and terminalCode != ''">
+                and a.terminalCode = #{terminalCode}
             </if>
         </where>
     </select>
 
+    <select id="selectDetailByAlarmId" resultType="com.ozs.entity.MsgAlarm">
+        select a.*,b.railway_name
+        from msg_alarm as a inner join
+        base_railway_management as b on a.railway_code=b.railway_code
+        where alarm_id = #{alarmId} limit 1
+    </select>
+
 </mapper>

+ 1 - 0
business-service/src/main/resources/mapper/VehiclePositionMapper.xml

@@ -48,6 +48,7 @@
                 and c.status = #{status}
             </if>
         </where>
+        order by create_time desc
     </select>
 
 

+ 44 - 7
vehicle-admin/src/main/java/com/ozs/web/controller/accountmanagment/DataStatisticController.java

@@ -1,5 +1,6 @@
 package com.ozs.web.controller.accountmanagment;
 
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.ozs.common.annotation.Log;
 import com.ozs.common.core.controller.BaseController;
@@ -10,12 +11,10 @@ import com.ozs.common.utils.AppendUtils;
 import com.ozs.common.utils.StringUtils;
 import com.ozs.common.utils.poi.ExcelUtil;
 import com.ozs.entity.BaseUser;
-import com.ozs.entity.vo.AlarmFreqArea;
-import com.ozs.entity.vo.AlarmStatisticDto;
-import com.ozs.entity.vo.AlarmStatisticMonthDto;
-import com.ozs.entity.vo.AlarmStatisticResVo;
-import com.ozs.service.BaseUserService;
-import com.ozs.service.MsgAlarmService;
+import com.ozs.entity.BaseVehicleTerminal;
+import com.ozs.entity.TerminalIgnoreAlarm;
+import com.ozs.entity.vo.*;
+import com.ozs.service.*;
 import com.ozs.system.service.ISysDictDataService;
 import io.swagger.annotations.ApiImplicitParam;
 import io.swagger.annotations.ApiImplicitParams;
@@ -46,11 +45,17 @@ import java.util.*;
 public class DataStatisticController extends BaseController {
     private static final Logger log = LoggerFactory.getLogger(DataStatisticController.class);
     @Resource
-    MsgAlarmService msgAlarmService;
+    private MsgAlarmService msgAlarmService;
     @Resource
     private BaseUserService baseUserService;
     @Autowired
     private ISysDictDataService dictDataService;
+    @Autowired
+    private BaseVehicleService baseVehicleService;
+    @Autowired
+    private BaseCameraManagementService baseCameraManagementService;
+    @Autowired
+    private BaseVehicleTerminalService baseVehicleTerminalService;
     /**
      * web数据统计
      *
@@ -296,4 +301,36 @@ public class DataStatisticController extends BaseController {
         ExcelUtil<AlarmStatisticMonthDto> util = new ExcelUtil<>(AlarmStatisticMonthDto.class);
         util.exportExcel(response, list, "报警月统计数据");
     }
+
+    /**
+     * 查询终端数、机车数、相机数、预警数
+     *
+     * @param
+     * @return
+     */
+    @ApiOperation(value = "查询终端数、机车数、相机数、预警数")
+    @PostMapping("/getNum")
+    @Log(title = "查询终端数、机车数、相机数、预警数", businessType = BusinessType.SELECT)
+    public AjaxResult getNum() {
+        Long alarmNum = msgAlarmService.getAlarmNum();
+        Long vehicleNum = baseVehicleService.count();
+        QueryWrapper<BaseVehicleTerminal> wrapper = new QueryWrapper<BaseVehicleTerminal>();
+        wrapper.lambda().eq(BaseVehicleTerminal::getStatus,1);
+        Long terminalNum= baseVehicleTerminalService.count();
+        Long cameraNum = baseCameraManagementService.count();
+        DataStatisticNum dataStatisticNum =new DataStatisticNum();
+        if(!ObjectUtils.isEmpty(alarmNum)){
+            dataStatisticNum.setAlarmNum(alarmNum);
+        }
+        if(!ObjectUtils.isEmpty(vehicleNum)){
+            dataStatisticNum.setVehicleNum(vehicleNum);
+        }
+        if(!ObjectUtils.isEmpty(terminalNum)){
+            dataStatisticNum.setTerminalNum(terminalNum);
+        }
+        if(!ObjectUtils.isEmpty(cameraNum)){
+            dataStatisticNum.setCameraNum(cameraNum);
+        }
+        return AjaxResult.success(dataStatisticNum);
+    }
 }

+ 69 - 1
vehicle-admin/src/main/java/com/ozs/web/controller/accountmanagment/TerminalIgnoreAlarmController.java

@@ -1,8 +1,20 @@
 package com.ozs.web.controller.accountmanagment;
 
 
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ozs.common.annotation.Log;
 import com.ozs.common.core.controller.BaseController;
+import com.ozs.common.core.domain.AjaxResult;
+import com.ozs.common.enums.BusinessType;
+import com.ozs.common.utils.AppendUtils;
+import com.ozs.common.utils.poi.ExcelUtil;
+import com.ozs.entity.MsgAlarm;
+import com.ozs.entity.TerminalIgnoreAlarm;
+import com.ozs.entity.vo.TerminalIgnoreVo;
 import com.ozs.service.TerminalIgnoreAlarmService;
+import com.ozs.system.service.ISysDictDataService;
 import io.swagger.annotations.ApiOperation;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.util.ObjectUtils;
@@ -11,6 +23,7 @@ import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
+import javax.servlet.http.HttpServletResponse;
 import java.util.List;
 
 /**
@@ -22,10 +35,65 @@ import java.util.List;
  * @since 2023-04-11
  */
 @RestController
-@RequestMapping("/terminal-ignore-alarm")
+@RequestMapping("/terminal/ignore")
 public class TerminalIgnoreAlarmController extends BaseController {
     @Autowired
     private TerminalIgnoreAlarmService terminalIgnoreAlarmService;
+    @Autowired
+    private ISysDictDataService dictDataService;
+
+    /**
+     * 查询终端忽略报警信息列表
+     *
+     * @param terminalIgnoreVo
+     * @return
+     */
+    @ApiOperation(value = "查询终端忽略报警信息列表")
+    @PostMapping("/list")
+    @Log(title = "终端忽略报警信息列表", businessType = BusinessType.SELECT)
+    public AjaxResult list(@RequestBody TerminalIgnoreVo terminalIgnoreVo) {
+        QueryWrapper<TerminalIgnoreAlarm> wrapper = new QueryWrapper<TerminalIgnoreAlarm>();
+        if (!ObjectUtils.isEmpty(terminalIgnoreVo.getTerminalCode())) {
+            wrapper.lambda().like(TerminalIgnoreAlarm::getTerminalCode, terminalIgnoreVo.getTerminalCode());
+        }
+        wrapper.orderByDesc("ignore_time");
+        IPage<TerminalIgnoreAlarm> page = terminalIgnoreAlarmService.page(new Page<>(terminalIgnoreVo.getPageNum(), terminalIgnoreVo.getPageSize()), wrapper);
+        return AjaxResult.success(page);
+    }
+
+    /**
+     * 查询终端忽略报警信息详情
+     *
+     * @param
+     * @return
+     */
+    @ApiOperation(value = "终端忽略报警信息详情")
+    @PostMapping("/detail")
+    @Log(title = "终端忽略报警信息详情", businessType = BusinessType.SELECT)
+    public AjaxResult detail(@RequestBody TerminalIgnoreVo terminalIgnoreVo) {
+        MsgAlarm msgAlarm = terminalIgnoreAlarmService.selectDetailByAlarmId(terminalIgnoreVo.getAlarmId());
+        if(!ObjectUtils.isEmpty(msgAlarm.getLineDir())){//行别
+            msgAlarm.setLineDirName(msgAlarm.getLineDir() == 1 ? "上行" : "下行");
+        }
+        if(!ObjectUtils.isEmpty(msgAlarm.getAlarmType())){//报警类型
+            msgAlarm.setAlarmTypeName(dictDataService.selectDictLabel("sys_alarm_type", String.valueOf(msgAlarm.getAlarmType())));
+        }
+        if(!ObjectUtils.isEmpty(msgAlarm.getAlarmMile())){//里程位置
+            msgAlarm.setAlarmMiles(AppendUtils.stringAppend(Integer.valueOf(msgAlarm.getAlarmMile())));
+        }
+        if(!ObjectUtils.isEmpty(msgAlarm.getIsRelease())){//状态
+            msgAlarm.setIsReleaseName(msgAlarm.getIsRelease() == 1 ? "已解除" : "未解除");
+        }
+        return AjaxResult.success(msgAlarm);
+    }
 
+    @ApiOperation(value = "终端忽略报警信息导出")
+    @Log(title = "终端忽略报警信息", businessType = BusinessType.EXPORT)
+    @PostMapping("/export")
+    public void export(HttpServletResponse response, @RequestBody TerminalIgnoreVo terminalIgnoreVo) {
+        List<TerminalIgnoreAlarm> list = terminalIgnoreAlarmService.list(terminalIgnoreVo.getTerminalCode());
+        ExcelUtil<TerminalIgnoreAlarm> util = new ExcelUtil<TerminalIgnoreAlarm>(TerminalIgnoreAlarm.class);
+        util.exportExcel(response, list, "终端忽略报警信息");
+    }
 }