Commit 8d67919c authored by suhuiguang's avatar suhuiguang

1.调整表名,告警->信号

parent 573b95c2
......@@ -30,12 +30,6 @@ public class FireAlarmDayStatisticsDto extends BaseDto {
@ApiModelProperty(value = "统计日期")
private Date collectDate;
@ApiModelProperty(value = "装备定义mrid")
private String equipmentDefinitionMrid;
@ApiModelProperty(value = "装备定义名称")
private String equipmentDefinitionName;
@ApiModelProperty(value = "报警次数")
private Integer alarmTimes;
......
......@@ -60,6 +60,9 @@ public class FireBuildingDto extends BaseDto {
@ApiModelProperty(value = "纬度")
private String lat;
@ApiModelProperty(value = "位置")
private String position;
@ApiModelProperty(value = "子节点")
private List<FireBuildingDto> children;
}
......@@ -4,6 +4,7 @@ import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.util.Date;
/**
......@@ -14,84 +15,66 @@ import java.util.Date;
*/
@Data
@EqualsAndHashCode(callSuper = false)
@ApiModel(value="FireEquipmentAlarmDto", description="设备报警信息表")
public class FireEquipmentAlarmDto extends BaseDto {
private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "站点名称")
private String stationName;
@ApiModelProperty(value = "站点编码")
private String stationCode;
private String fireEquipmentName;
@ApiModelProperty(value = "消防设备id")
private String fireEquipmentMrid;
@ApiModelProperty(value = "设备编码")
private String iotCode;
@ApiModel(value = "FireEquipmentSignalDto", description = "设备报警信息表")
public class FireEquipmentSignalDto extends BaseDto {
@ApiModelProperty(value = "指标名称")
private String fireEquipmentIndexName;
private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "指标编码")
private String fireEquipmentIndexKey;
@ApiModelProperty(value = "站点名称")
private String stationName;
@ApiModelProperty(value = "报警值")
private String fireEquipmentIndexValue;
@ApiModelProperty(value = "站点编码")
private String stationCode;
@ApiModelProperty(value = "发生频次")
private Integer frequency;
private String fireEquipmentName;
@ApiModelProperty(value = "报警状态:1报警0恢复")
private Boolean status;
@ApiModelProperty(value = "消防设备id")
private String fireEquipmentMrid;
@ApiModelProperty(value = "报警类型:alarm_type_fire(火灾报警)/alarm_type_trouble(故障告警)")
private String type;
@ApiModelProperty(value = "设备编码")
private String iotCode;
@ApiModelProperty(value = "指标名称")
private String fireEquipmentIndexName;
@ApiModelProperty(value = "更新时间")
private Date updateDate;
@ApiModelProperty(value = "指标编码")
private String fireEquipmentIndexKey;
@ApiModelProperty(value = "告警恢复时间")
private Date recoveryDate;
@ApiModelProperty(value = "报警值")
private String fireEquipmentIndexValue;
@ApiModelProperty(value = "确认类型")
private String confirmType;
@ApiModelProperty(value = "发生频次")
private Integer frequency;
@ApiModelProperty(value = "报警原因")
private String alamReason;
@ApiModelProperty(value = "报警状态:1报警0恢复")
private Boolean status;
@ApiModelProperty(value = "处理情况")
private String resolveResult;
@ApiModelProperty(value = "报警类型:alarm_type_fire(火灾报警)/alarm_type_trouble(故障告警)")
private String type;
@ApiModelProperty(value = "确警人员")
private String confirmUser;
@ApiModelProperty(value = "确警人员姓名")
private String confirmUserName;
@ApiModelProperty(value = "更新时间")
private Date updateDate;
@ApiModelProperty(value = "确警时间")
private Date confirmDate;
@ApiModelProperty(value = "告警恢复时间")
private Date recoveryDate;
@ApiModelProperty(value = "装备所属消防系统code")
private String systemMrids;
@ApiModelProperty(value = "装备所属消防系统code")
private String systemMrids;
@ApiModelProperty(value = "装备定义code(冗余字段)")
private String equipmentDefinitionMrid;
@ApiModelProperty(value = "装备定义code(冗余字段)")
private String equipmentDefinitionMrid;
@ApiModelProperty(value = "装备定义名称")
private String equipmentDefinitionName;
@ApiModelProperty(value = "装备定义名称")
private String equipmentDefinitionName;
@ApiModelProperty(value = "设备位置")
private String location;
@ApiModelProperty(value = "设备位置")
private String location;
@ApiModelProperty(value = "经度")
private String lng;
@ApiModelProperty(value = "经度")
private String lng;
@ApiModelProperty(value = "纬度")
private String lat;
@ApiModelProperty(value = "纬度")
private String lat;
}
......@@ -15,8 +15,8 @@ import java.util.Date;
*/
@Data
@EqualsAndHashCode(callSuper = false)
@ApiModel(value = "FireEquipmentAlarmLogDto", description = "设备报警信息日志表")
public class FireEquipmentAlarmLogDto extends BaseDto {
@ApiModel(value = "FireEquipmentSignalLogDto", description = "设备报警信息日志表")
public class FireEquipmentSignalLogDto extends BaseDto {
private static final long serialVersionUID = 1L;
......@@ -94,4 +94,10 @@ public class FireEquipmentAlarmLogDto extends BaseDto {
@ApiModelProperty(value = "换流站纬度")
private String stationLat;
@ApiModelProperty(value = "告警日期(冗余查询,为create_date的日期部分,如:2021-11-15")
private String signalReportDate;
@ApiModelProperty(value = "是否为告警信号数据")
private Boolean isAlarm;
}
......@@ -54,4 +54,7 @@ public class FireWaterDto extends BaseDto {
@ApiModelProperty(value = "纬度")
private String lat;
@ApiModelProperty(value = "安装位置")
private String position;
}
......@@ -41,18 +41,6 @@ public class FireAlarmDayStatistics extends BaseEntity {
private Date collectDate;
/**
* 装备定义mrid
*/
@TableField("equipment_definition_mrid")
private String equipmentDefinitionMrid;
/**
* 装备定义名称
*/
@TableField("equipment_definition_name")
private String equipmentDefinitionName;
/**
* 报警次数
*/
@TableField("alarm_times")
......
......@@ -97,4 +97,9 @@ public class FireBuilding extends BaseEntity {
@TableField("lat")
private String lat;
/**
* 详情位置
*/
private String position;
}
......@@ -17,8 +17,8 @@ import java.util.Date;
@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@TableName("asf_fire_equipment_alarm")
public class FireEquipmentAlarm extends BaseEntity {
@TableName("asf_fire_equipment_signal")
public class FireEquipmentSignal extends BaseEntity {
private static final long serialVersionUID = 1L;
......@@ -101,42 +101,6 @@ public class FireEquipmentAlarm extends BaseEntity {
private Date recoveryDate;
/**
* 确认类型
*/
@TableField("confirm_type")
private String confirmType;
/**
* 报警原因
*/
@TableField("alam_reason")
private String alamReason;
/**
* 处理情况
*/
@TableField("resolve_result")
private String resolveResult;
/**
* 确警人员
*/
@TableField("confirm_user")
private String confirmUser;
/**
* 确警人员姓名
*/
@TableField("confirm_user_name")
private String confirmUserName;
/**
* 确警时间
*/
@TableField("confirm_date")
private Date confirmDate;
/**
* 装备所属消防系统code
*/
@TableField("system_mrids")
......
......@@ -2,7 +2,6 @@ package com.yeejoin.amos.boot.module.ccs.api.entity;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
......@@ -18,8 +17,8 @@ import java.util.Date;
@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@TableName("asf_fire_equipment_alarm_log")
public class FireEquipmentAlarmLog extends BaseEntity {
@TableName("asf_fire_equipment_signal_log")
public class FireEquipmentSignalLog extends BaseEntity {
private static final long serialVersionUID = 1L;
......@@ -72,15 +71,15 @@ public class FireEquipmentAlarmLog extends BaseEntity {
private String fireBuildingMrid;
/**
* 报警类型:alarm_type_fire(火灾报警)/alarm_type_trouble(故障告警)
* 信号类型:alarm_type_fire(火灾报警)/alarm_type_trouble(故障告警)
*/
@TableField("alarm_type")
private String alarmType;
@TableField("signal_type")
private String signalType;
/**
* 报警类型名称
* 信号类型名称
*/
private String alarmTypeName;
private String signalTypeName;
/**
* 确认状态:0-未确认 1-已确认
......@@ -160,4 +159,14 @@ public class FireEquipmentAlarmLog extends BaseEntity {
@TableField("lat")
private String lat;
/**
* 告警日期(冗余查询,为create_date的日期部分,如:2021-11-15)
*/
private String signalReportDate;
/**
* 是否为告警信号数据
*/
private Boolean isAlarm;
}
......@@ -92,4 +92,9 @@ public class FireWater extends BaseEntity {
@TableField("lat")
private String lat;
/**
* 安装位置
*/
@TableField("position")
private String position;
}
package com.yeejoin.amos.boot.module.ccs.api.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.yeejoin.amos.boot.module.ccs.api.dto.FireEquipmentAlarmLogDto;
import com.yeejoin.amos.boot.module.ccs.api.entity.FireEquipmentAlarmLog;
import com.yeejoin.amos.boot.module.ccs.api.dto.FireEquipmentSignalLogDto;
import com.yeejoin.amos.boot.module.ccs.api.dto.FireEquipmentDto;
import com.yeejoin.amos.boot.module.ccs.api.entity.FireEquipmentSignalLog;
import org.apache.ibatis.annotations.Param;
import java.util.List;
......@@ -14,7 +15,7 @@ import java.util.Map;
* @author system_generator
* @date 2021-11-09
*/
public interface FireEquipmentAlarmLogMapper extends BaseMapper<FireEquipmentAlarmLog> {
public interface FireEquipmentSignalLogMapper extends BaseMapper<FireEquipmentSignalLog> {
/**
* 告警日志
......@@ -22,5 +23,13 @@ public interface FireEquipmentAlarmLogMapper extends BaseMapper<FireEquipmentAla
* @param params 查询参数
* @return List<FireEquipmentAlarmLogDto>
*/
List<FireEquipmentAlarmLogDto> queryAlarmLogList(Map<String, Object> params);
List<FireEquipmentSignalLogDto> queryAlarmLogList(Map<String, Object> params);
/**
* 查询指定日期的告警设备(去重)
* @param stationCode 换流站编号
* @param alarmDate 告警日期
* @return List<FireEquipmentDto>
*/
List<FireEquipmentDto> distinctByEquipmentId(@Param("stationCode") String stationCode, @Param("alarmDate") String alarmDate);
}
package com.yeejoin.amos.boot.module.ccs.api.mapper;
import com.yeejoin.amos.boot.module.ccs.api.entity.FireEquipmentAlarm;
import com.yeejoin.amos.boot.module.ccs.api.entity.FireEquipmentSignal;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Param;
import java.util.Date;
import java.util.List;
import java.util.Map;
/**
* 设备报警信息表 Mapper 接口
......@@ -9,6 +14,13 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
* @author system_generator
* @date 2021-11-09
*/
public interface FireEquipmentAlarmMapper extends BaseMapper<FireEquipmentAlarm> {
public interface FireEquipmentSignalMapper extends BaseMapper<FireEquipmentSignal> {
/**
* 装备定义告警数量统计
* @param top 限制条数
* @param date 日期
* @return List<Map<String, Object>>
*/
List<Map<String, Object>> faultEquipTopCount(@Param("top") Long top, @Param("currentDate") Date date);
}
......@@ -20,4 +20,11 @@ public interface FireStationInfoMapper extends BaseMapper<FireStationInfo> {
* @param orderBy
*/
List<FireStationInfoDto> queryStationListWithStatistics(String orderBy);
/**
* 换流站装备信息
* @param stationCode
* @return
*/
List<FireStationInfoDto> queryStationEquipInfo(String stationCode);
}
package com.yeejoin.amos.boot.module.ccs.api.service;
import com.yeejoin.amos.boot.module.ccs.api.dto.FireStationInfoDto;
import java.text.ParseException;
import java.util.List;
import java.util.Map;
/**
* 消防设备资产接口类
*
......@@ -9,4 +15,27 @@ package com.yeejoin.amos.boot.module.ccs.api.service;
*/
public interface IFireEquipmentService {
/**
* 物联接入汇总
*
* @param stationCode 换流站编号
* @return Map<String, Object>
*/
Map<String, Object> selectForMonitorCount(String stationCode) throws ParseException;
/**
* 站端物联设备
*
* @param stationCode 换流站code
* @return List<FireStationInfoDto>
*/
List<FireStationInfoDto> stationEquipmentInfo(String stationCode);
/**
* 故障设备汇总
*
* @param top 上限数量
* @return List<Map < String, Object>>
*/
List<Map<String, Object>> faultEquipTopCount(Long top);
}
......@@ -2,11 +2,11 @@ package com.yeejoin.amos.boot.module.ccs.api.service;
/**
* 设备报警信息日志表接口
* 设备信号信息日志表
*
* @author system_generator
* @date 2021-11-09
*/
public interface IFireEquipmentAlarmLogService {
public interface IFireEquipmentSignalLogService {
}
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.yeejoin.amos.boot.module.ccs.api.mapper.FireEquipmentAlarmMapper">
</mapper>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.yeejoin.amos.boot.module.ccs.api.mapper.FireEquipmentAlarmLogMapper">
<mapper namespace="com.yeejoin.amos.boot.module.ccs.api.mapper.FireEquipmentSignalLogMapper">
<select id="queryAlarmLogList"
resultType="com.yeejoin.amos.boot.module.ccs.api.dto.FireEquipmentAlarmLogDto">
resultType="com.yeejoin.amos.boot.module.ccs.api.dto.FireEquipmentSignalLogDto">
select
a.id,
a.fire_equipment_name,
......@@ -27,11 +27,12 @@
s.lat as stationLat,
s.lng as stationLng
from
asf_fire_equipment_alarm_log a,
asf_fire_equipment_signal_log a,
asf_fire_station_info s
where
a.station_code = s.code
and s.status = false
and a.is_alarm = true
<if test="stationCode != null and stationCode != ''">
and a.station_code = #{stationCode}
</if>
......@@ -49,4 +50,15 @@
limit ${top}
</if>
</select>
<select id="distinctByEquipmentId" resultType="com.yeejoin.amos.boot.module.ccs.api.dto.FireEquipmentDto">
SELECT
distinct(ai.fire_equipment_mrid) as mrid
FROM `asf_fire_equipment_signal_log` ai
where
ai.alarm_date =#{alarmDate}
and ai.is_alarm = true
<if test="stationCode != null and stationCode != ''">
and ai.station_code =#{stationCode}
</if>
</select>
</mapper>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.yeejoin.amos.boot.module.ccs.api.mapper.FireEquipmentSignalMapper">
<select id="faultEquipTopCount" resultType="java.util.Map">
SELECT
count(DISTINCT(a.fire_equipment_mrid)) as total,
a.equipment_definition_name as name
FROM
`asf_fire_equipment_signal_log` a
where
year(a.alarm_date) = YEAR(#{currentDate})
and a.signal_type = 'fault'
group by a.equipment_definition_name
ORDER BY total desc
<if test="top != null and top != ''">
limit #{top}
</if>
</select>
</mapper>
......@@ -15,4 +15,20 @@
${orderBy}
</if>
</select>
<select id="queryStationEquipInfo"
resultType="com.yeejoin.amos.boot.module.ccs.api.dto.FireStationInfoDto">
SELECT
si.id,
si.code,
si.`name`,
(select count(1) from ast_fire_equipment e where e.station_code = si.code and e.is_iot = true) as iotEquipmentNumber,
(select count(DISTINCT(1)) from asf_fire_equipment_signal_log l where l.station_code = si.code and l.alarm_date =CURRENT_DATE and l.is_alarm = true) as todayAlarmEquipmentNumber
FROM `asf_fire_station_info` si
<where>
<if test="stationCode != null and stationCode != ''">
si.code = #{stationCode}
</if>
</where>
order by iotEquipmentNumber desc
</select>
</mapper>
......@@ -43,11 +43,12 @@ public class FireBuildingController extends BaseController {
@ApiParam(value = "建筑名称") @RequestParam(value = "name", required = false) String name,
@ApiParam(value = "当前页", required = true) @RequestParam(value = "current") int current,
@ApiParam(value = "页大小", required = true) @RequestParam(value = "size") int size,
@ApiParam(value = "建筑类型") @RequestParam(value = "buildingType") String buildingType,
@ApiParam(value = "换流站code", required = true) @PathVariable String stationCode) {
Page<FireBuildingDto> page = new Page<FireBuildingDto>();
page.setCurrent(current);
page.setSize(size);
return ResponseHelper.buildResponse(fireBuildingServiceImpl.queryForFireBuildingPage(page, name, stationCode));
return ResponseHelper.buildResponse(fireBuildingServiceImpl.queryForFireBuildingPage(page, name, stationCode, buildingType));
}
@TycloudOperation(ApiLevel = UserType.AGENCY)
......
package com.yeejoin.amos.boot.module.ccs.biz.controller;
import org.springframework.web.bind.annotation.RequestMapping;
import io.swagger.annotations.ApiOperation;
import com.yeejoin.amos.boot.biz.common.controller.BaseController;
import com.yeejoin.amos.boot.module.ccs.api.service.IFireEquipmentService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import com.yeejoin.amos.boot.biz.common.controller.BaseController;
import java.util.List;
import com.yeejoin.amos.boot.module.ccs.biz.service.impl.FireEquipmentServiceImpl;
import org.typroject.tyboot.core.foundation.enumeration.UserType;
import org.typroject.tyboot.core.restful.doc.TycloudOperation;
import org.typroject.tyboot.core.restful.utils.ResponseHelper;
import org.typroject.tyboot.core.restful.utils.ResponseModel;
import org.springframework.beans.factory.annotation.Autowired;
import javax.servlet.http.HttpServletRequest;
import org.springframework.web.bind.annotation.*;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yeejoin.amos.boot.module.ccs.api.dto.FireEquipmentDto;
import org.typroject.tyboot.core.restful.doc.TycloudOperation;
import org.typroject.tyboot.core.foundation.enumeration.UserType;
import java.text.ParseException;
/**
* 消防设备资产
......@@ -29,74 +29,48 @@ import org.typroject.tyboot.core.foundation.enumeration.UserType;
public class FireEquipmentController extends BaseController {
@Autowired
FireEquipmentServiceImpl fireEquipmentServiceImpl;
IFireEquipmentService iFireEquipmentService;
/**
* 新增消防设备资产
* 物联接入汇总
*
* @return
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@PostMapping(value = "/save")
@ApiOperation(httpMethod = "POST", value = "新增消防设备资产", notes = "新增消防设备资产")
public ResponseModel<FireEquipmentDto> save(@RequestBody FireEquipmentDto model) {
model = fireEquipmentServiceImpl.createWithModel(model);
return ResponseHelper.buildResponse(model);
}
@ApiOperation(httpMethod = "GET", value = "物联接入汇总", notes = "物联接入汇总")
@GetMapping(value = "/iot/count")
public ResponseModel selectForMonitorCount(
@ApiParam(value = "换流站编号") @RequestParam(required = false) String stationCode) throws ParseException {
return ResponseHelper.buildResponse(iFireEquipmentService.selectForMonitorCount(stationCode));
}
/**
* 根据sequenceNbr删除
/**
* 站端物联设备
*
* @param sequenceNbr 主键
* @return
* @param stationCode 换流站code
* @return ResponseModel
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@DeleteMapping(value = "/{sequenceNbr}")
@ApiOperation(httpMethod = "DELETE", value = "根据sequenceNbr删除消防设备资产", notes = "根据sequenceNbr删除消防设备资产")
public ResponseModel<Boolean> deleteBySequenceNbr(HttpServletRequest request, @PathVariable(value = "sequenceNbr") Long sequenceNbr){
return ResponseHelper.buildResponse(fireEquipmentServiceImpl.removeById(sequenceNbr));
@ApiOperation(httpMethod = "GET", value = "站端物联设备", notes = "站端物联设备")
@GetMapping(value = "/station/info")
public ResponseModel stationEquipmentInfo(
@ApiParam(value = "换流站编号") @RequestParam(required = false) String stationCode) {
return ResponseHelper.buildResponse(iFireEquipmentService.stationEquipmentInfo(stationCode));
}
/**
* 根据sequenceNbr查询
*
* @param sequenceNbr 主键
* @return
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@GetMapping(value = "/{sequenceNbr}")
@ApiOperation(httpMethod = "GET",value = "根据sequenceNbr查询单个消防设备资产", notes = "根据sequenceNbr查询单个消防设备资产")
public ResponseModel<FireEquipmentDto> selectOne(@PathVariable Long sequenceNbr) {
return ResponseHelper.buildResponse(fireEquipmentServiceImpl.queryBySeq(sequenceNbr));
}
/**
* 列表分页查询
/**
* 故障设备top
*
* @param current 当前页
* @param current 每页大小
* @return
* @param top 页面展示上限条数
* @return List
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@GetMapping(value = "/page")
@ApiOperation(httpMethod = "GET",value = "消防设备资产分页查询", notes = "消防设备资产分页查询")
public ResponseModel<Page<FireEquipmentDto>> queryForPage(@RequestParam(value = "current") int current,@RequestParam
(value = "size") int size) {
Page<FireEquipmentDto> page = new Page<FireEquipmentDto>();
page.setCurrent(current);
page.setSize(size);
return ResponseHelper.buildResponse(fireEquipmentServiceImpl.queryForFireEquipmentPage(page));
}
/**
* 列表全部数据查询
*
* @return
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@ApiOperation(httpMethod = "GET",value = "消防设备资产列表全部数据查询", notes = "消防设备资产列表全部数据查询")
@GetMapping(value = "/list")
public ResponseModel<List<FireEquipmentDto>> selectForList() {
return ResponseHelper.buildResponse(fireEquipmentServiceImpl.queryForFireEquipmentList());
}
@TycloudOperation(ApiLevel = UserType.AGENCY)
@ApiOperation(httpMethod = "GET", value = "故障设备top", notes = "故障设备top")
@GetMapping(value = "/count/fault/list")
public ResponseModel faultEquipTop(
@ApiParam(value = "页面展示上限条数") @RequestParam(required = false) Long top) {
return ResponseHelper.buildResponse(iFireEquipmentService.faultEquipTopCount(top));
}
}
......@@ -6,14 +6,14 @@ import io.swagger.annotations.Api;
import org.springframework.web.bind.annotation.RestController;
import com.yeejoin.amos.boot.biz.common.controller.BaseController;
import java.util.List;
import com.yeejoin.amos.boot.module.ccs.biz.service.impl.FireEquipmentAlarmServiceImpl;
import com.yeejoin.amos.boot.module.ccs.biz.service.impl.FireEquipmentSignalServiceImpl;
import org.typroject.tyboot.core.restful.utils.ResponseHelper;
import org.typroject.tyboot.core.restful.utils.ResponseModel;
import org.springframework.beans.factory.annotation.Autowired;
import javax.servlet.http.HttpServletRequest;
import org.springframework.web.bind.annotation.*;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yeejoin.amos.boot.module.ccs.api.dto.FireEquipmentAlarmDto;
import com.yeejoin.amos.boot.module.ccs.api.dto.FireEquipmentSignalDto;
import org.typroject.tyboot.core.restful.doc.TycloudOperation;
import org.typroject.tyboot.core.foundation.enumeration.UserType;
......@@ -26,10 +26,10 @@ import org.typroject.tyboot.core.foundation.enumeration.UserType;
@RestController
@Api(tags = "设备报警信息表Api")
@RequestMapping(value = "/fire-equipment-alarm")
public class FireEquipmentAlarmController extends BaseController {
public class FireEquipmentSignalController extends BaseController {
@Autowired
FireEquipmentAlarmServiceImpl fireEquipmentAlarmServiceImpl;
FireEquipmentSignalServiceImpl fireEquipmentSignalServiceImpl;
/**
* 新增设备报警信息表
......@@ -39,8 +39,8 @@ public class FireEquipmentAlarmController extends BaseController {
@TycloudOperation(ApiLevel = UserType.AGENCY)
@PostMapping(value = "/save")
@ApiOperation(httpMethod = "POST", value = "新增设备报警信息表", notes = "新增设备报警信息表")
public ResponseModel<FireEquipmentAlarmDto> save(@RequestBody FireEquipmentAlarmDto model) {
model = fireEquipmentAlarmServiceImpl.createWithModel(model);
public ResponseModel<FireEquipmentSignalDto> save(@RequestBody FireEquipmentSignalDto model) {
model = fireEquipmentSignalServiceImpl.createWithModel(model);
return ResponseHelper.buildResponse(model);
}
......@@ -54,7 +54,7 @@ public class FireEquipmentAlarmController extends BaseController {
@DeleteMapping(value = "/{sequenceNbr}")
@ApiOperation(httpMethod = "DELETE", value = "根据sequenceNbr删除设备报警信息表", notes = "根据sequenceNbr删除设备报警信息表")
public ResponseModel<Boolean> deleteBySequenceNbr(HttpServletRequest request, @PathVariable(value = "sequenceNbr") Long sequenceNbr){
return ResponseHelper.buildResponse(fireEquipmentAlarmServiceImpl.removeById(sequenceNbr));
return ResponseHelper.buildResponse(fireEquipmentSignalServiceImpl.removeById(sequenceNbr));
}
/**
......@@ -66,8 +66,8 @@ public class FireEquipmentAlarmController extends BaseController {
@TycloudOperation(ApiLevel = UserType.AGENCY)
@GetMapping(value = "/{sequenceNbr}")
@ApiOperation(httpMethod = "GET",value = "根据sequenceNbr查询单个设备报警信息表", notes = "根据sequenceNbr查询单个设备报警信息表")
public ResponseModel<FireEquipmentAlarmDto> selectOne(@PathVariable Long sequenceNbr) {
return ResponseHelper.buildResponse(fireEquipmentAlarmServiceImpl.queryBySeq(sequenceNbr));
public ResponseModel<FireEquipmentSignalDto> selectOne(@PathVariable Long sequenceNbr) {
return ResponseHelper.buildResponse(fireEquipmentSignalServiceImpl.queryBySeq(sequenceNbr));
}
/**
......@@ -80,12 +80,12 @@ public class FireEquipmentAlarmController extends BaseController {
@TycloudOperation(ApiLevel = UserType.AGENCY)
@GetMapping(value = "/page")
@ApiOperation(httpMethod = "GET",value = "设备报警信息表分页查询", notes = "设备报警信息表分页查询")
public ResponseModel<Page<FireEquipmentAlarmDto>> queryForPage(@RequestParam(value = "current") int current,@RequestParam
public ResponseModel<Page<FireEquipmentSignalDto>> queryForPage(@RequestParam(value = "current") int current, @RequestParam
(value = "size") int size) {
Page<FireEquipmentAlarmDto> page = new Page<FireEquipmentAlarmDto>();
Page<FireEquipmentSignalDto> page = new Page<FireEquipmentSignalDto>();
page.setCurrent(current);
page.setSize(size);
return ResponseHelper.buildResponse(fireEquipmentAlarmServiceImpl.queryForFireEquipmentAlarmPage(page));
return ResponseHelper.buildResponse(fireEquipmentSignalServiceImpl.queryForFireEquipmentAlarmPage(page));
}
/**
......@@ -96,7 +96,7 @@ public class FireEquipmentAlarmController extends BaseController {
@TycloudOperation(ApiLevel = UserType.AGENCY)
@ApiOperation(httpMethod = "GET",value = "设备报警信息表列表全部数据查询", notes = "设备报警信息表列表全部数据查询")
@GetMapping(value = "/list")
public ResponseModel<List<FireEquipmentAlarmDto>> selectForList() {
return ResponseHelper.buildResponse(fireEquipmentAlarmServiceImpl.queryForFireEquipmentAlarmList());
public ResponseModel<List<FireEquipmentSignalDto>> selectForList() {
return ResponseHelper.buildResponse(fireEquipmentSignalServiceImpl.queryForFireEquipmentAlarmList());
}
}
package com.yeejoin.amos.boot.module.ccs.biz.controller;
import com.yeejoin.amos.boot.biz.common.controller.BaseController;
import com.yeejoin.amos.boot.module.ccs.api.dto.FireEquipmentAlarmLogDto;
import com.yeejoin.amos.boot.module.ccs.biz.service.impl.FireEquipmentAlarmLogServiceImpl;
import com.yeejoin.amos.boot.module.ccs.api.dto.FireEquipmentSignalLogDto;
import com.yeejoin.amos.boot.module.ccs.biz.service.impl.FireEquipmentSignalLogServiceImpl;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
......@@ -28,10 +28,10 @@ import java.util.List;
@RestController
@Api(tags = "设备报警信息日志表Api")
@RequestMapping(value = "/fire-equipment-alarm-log")
public class FireEquipmentAlarmLogController extends BaseController {
public class FireEquipmentSignalLogController extends BaseController {
@Autowired
FireEquipmentAlarmLogServiceImpl fireEquipmentAlarmLogServiceImpl;
FireEquipmentSignalLogServiceImpl fireEquipmentSignalLogServiceImpl;
/**
* 列表全部数据查询
......@@ -41,8 +41,8 @@ public class FireEquipmentAlarmLogController extends BaseController {
@TycloudOperation(ApiLevel = UserType.AGENCY)
@ApiOperation(httpMethod = "GET", value = "设备报警信息日志表列表", notes = "设备报警信息日志列表")
@GetMapping(value = "/list")
public ResponseModel<List<FireEquipmentAlarmLogDto>> selectForList() {
return ResponseHelper.buildResponse(fireEquipmentAlarmLogServiceImpl.fireEquipmentAlarmLogList());
public ResponseModel<List<FireEquipmentSignalLogDto>> selectForList() {
return ResponseHelper.buildResponse(fireEquipmentSignalLogServiceImpl.fireEquipmentAlarmLogList());
}
/**
......@@ -53,8 +53,8 @@ public class FireEquipmentAlarmLogController extends BaseController {
@TycloudOperation(ApiLevel = UserType.AGENCY)
@ApiOperation(httpMethod = "GET", value = "今日未确认设备报警信息列表", notes = "今日未确认设备报警信息列表,跑马灯使用")
@GetMapping(value = "/today/list")
public ResponseModel<List<FireEquipmentAlarmLogDto>> todayAlarmList(
public ResponseModel<List<FireEquipmentSignalLogDto>> todayAlarmList(
@ApiParam(value = "换流站编号") @RequestParam(required = false) String stationCode) throws ParseException {
return ResponseHelper.buildResponse(fireEquipmentAlarmLogServiceImpl.todayAlarmLogList(stationCode));
return ResponseHelper.buildResponse(fireEquipmentSignalLogServiceImpl.todayAlarmLogList(stationCode));
}
}
......@@ -3,6 +3,7 @@ package com.yeejoin.amos.boot.module.ccs.biz.controller;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yeejoin.amos.boot.biz.common.controller.BaseController;
import com.yeejoin.amos.boot.module.ccs.api.dto.FireVideoDto;
import com.yeejoin.amos.boot.module.ccs.biz.service.impl.FireBuildingServiceImpl;
import com.yeejoin.amos.boot.module.ccs.biz.service.impl.FireVideoServiceImpl;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
......@@ -52,13 +53,15 @@ public class FireVideoController extends BaseController {
@ApiParam(value = "换流站code", required = true) @PathVariable String stationCode,
@ApiParam(value = "所在建筑,多个用逗号分隔") @RequestParam(value = "buildingMrids", required = false) String buildingMrids) {
List<String> buildingMridList = new ArrayList<>();
if(StringUtils.isNotBlank(buildingMrids)){
//根节点id(全部建筑时使用,本来可以不送来实现过滤,但是地图前端不支持)
String rootMrid = FireBuildingServiceImpl.ROOT_ID;
if (StringUtils.isNotBlank(buildingMrids) && !rootMrid.equals(buildingMrids)) {
buildingMridList = Arrays.stream(buildingMrids.split(",")).collect(Collectors.toList());
}
Page<FireVideoDto> page = new Page<>();
page.setCurrent(current);
page.setSize(size);
return ResponseHelper.buildResponse(fireVideoServiceImpl.queryForFireVideoPage(page, name, stationCode,buildingMridList));
return ResponseHelper.buildResponse(fireVideoServiceImpl.queryForFireVideoPage(page, name, stationCode, buildingMridList));
}
}
......@@ -12,6 +12,7 @@ import org.typroject.tyboot.core.rdbms.annotation.Condition;
import org.typroject.tyboot.core.rdbms.annotation.Operator;
import org.typroject.tyboot.core.rdbms.service.BaseService;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
import java.util.stream.Collectors;
......@@ -24,17 +25,26 @@ import java.util.stream.Collectors;
*/
@Service
public class FireBuildingServiceImpl extends BaseService<FireBuildingDto, FireBuilding, FireBuildingMapper> implements IFireBuildingService {
public static final String ROOT_ID = "-1";
/**
* 分页查询
*/
public Page<FireBuildingDto> queryForFireBuildingPage(Page<FireBuildingDto> page, @Condition(Operator.like) String name, @Condition String stationCode) {
return this.queryForPage(page, "create_date", false, name, stationCode);
public Page<FireBuildingDto> queryForFireBuildingPage(Page<FireBuildingDto> page, @Condition(Operator.like) String name, @Condition String stationCode, String type) {
return this.queryForPage(page, "create_date", false, name, stationCode, type);
}
public List<FireBuildingDto> buildingTree(String stationCode) {
List<FireBuildingDto> dtoList = this.queryForList("create_date", true, stationCode);
return dtoList.stream().filter(d -> StringUtils.isBlank(d.getParentMrid()) || "0".equals(d.getParentMrid()) || "-1".equals(d.getParentMrid())).peek(s -> s.setChildren(this.getChildren(s.getMrid(), dtoList))).sorted(Comparator.comparing(BaseDto::getCreateDate)).collect(Collectors.toList());
FireBuildingDto parentNode = new FireBuildingDto();
parentNode.setId(ROOT_ID);
parentNode.setName("全部建筑");
parentNode.setMrid(ROOT_ID);
parentNode.setTreeMrids(ROOT_ID);
List<FireBuildingDto> childrenNode = dtoList.stream().filter(d -> StringUtils.isBlank(d.getParentMrid()) || "0".equals(d.getParentMrid()) || "-1".equals(d.getParentMrid())).peek(s -> s.setChildren(this.getChildren(s.getMrid(), dtoList))).sorted(Comparator.comparing(BaseDto::getCreateDate)).collect(Collectors.toList());
parentNode.setChildren(childrenNode);
return Collections.singletonList(parentNode);
}
private List<FireBuildingDto> getChildren(String mrid, List<FireBuildingDto> dtoList) {
......
package com.yeejoin.amos.boot.module.ccs.biz.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.yeejoin.amos.boot.biz.common.utils.DateUtils;
import com.yeejoin.amos.boot.module.ccs.api.dto.FireEquipmentDto;
import com.yeejoin.amos.boot.module.ccs.api.dto.FireStationInfoDto;
import com.yeejoin.amos.boot.module.ccs.api.entity.FireEquipment;
import com.yeejoin.amos.boot.module.ccs.api.mapper.FireEquipmentSignalLogMapper;
import com.yeejoin.amos.boot.module.ccs.api.mapper.FireEquipmentSignalMapper;
import com.yeejoin.amos.boot.module.ccs.api.mapper.FireEquipmentMapper;
import com.yeejoin.amos.boot.module.ccs.api.mapper.FireStationInfoMapper;
import com.yeejoin.amos.boot.module.ccs.api.service.IFireEquipmentService;
import com.yeejoin.amos.boot.module.ccs.api.dto.FireEquipmentDto;
import org.typroject.tyboot.core.rdbms.service.BaseService;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.typroject.tyboot.core.rdbms.service.BaseService;
import java.text.ParseException;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* 消防设备资产服务实现类
......@@ -16,18 +28,35 @@ import java.util.List;
* @date 2021-11-09
*/
@Service
public class FireEquipmentServiceImpl extends BaseService<FireEquipmentDto,FireEquipment,FireEquipmentMapper> implements IFireEquipmentService {
/**
* 分页查询
*/
public Page<FireEquipmentDto> queryForFireEquipmentPage(Page<FireEquipmentDto> page) {
return this.queryForPage(page, null, false);
public class FireEquipmentServiceImpl extends BaseService<FireEquipmentDto, FireEquipment, FireEquipmentMapper> implements IFireEquipmentService {
@Autowired
FireEquipmentSignalLogMapper fireEquipmentSignalLogMapper;
@Autowired
FireStationInfoMapper stationInfoMapper;
@Autowired
FireEquipmentSignalMapper fireEquipmentSignalMapper;
@Override
public Map<String, Object> selectForMonitorCount(String stationCode) throws ParseException {
LambdaQueryWrapper<FireEquipment> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(FireEquipment::getIsIot, true);
wrapper.eq(StringUtils.isNotBlank(stationCode), FireEquipment::getStationCode, stationCode);
int totalIotEquipment = this.count(wrapper);
List<FireEquipmentDto> logs = fireEquipmentSignalLogMapper.distinctByEquipmentId(stationCode, DateUtils.dateFormat(new Date(), DateUtils.DATE_PATTERN));
Map<String, Object> result = new HashMap<>();
result.put("totalIotEquipment", totalIotEquipment);
result.put("todayAlarmEquipment", logs.size());
return result;
}
@Override
public List<FireStationInfoDto> stationEquipmentInfo(String stationCode) {
return stationInfoMapper.queryStationEquipInfo(stationCode);
}
/**
* 列表查询 示例
*/
public List<FireEquipmentDto> queryForFireEquipmentList() {
return this.queryForList("" , false);
@Override
public List<Map<String, Object>> faultEquipTopCount(Long top) {
return fireEquipmentSignalMapper.faultEquipTopCount(top, new Date());
}
}
\ No newline at end of file
package com.yeejoin.amos.boot.module.ccs.biz.service.impl;
import com.yeejoin.amos.boot.biz.common.utils.DateUtils;
import com.yeejoin.amos.boot.module.ccs.api.dto.FireEquipmentAlarmLogDto;
import com.yeejoin.amos.boot.module.ccs.api.entity.FireEquipmentAlarmLog;
import com.yeejoin.amos.boot.module.ccs.api.mapper.FireEquipmentAlarmLogMapper;
import com.yeejoin.amos.boot.module.ccs.api.service.IFireEquipmentAlarmLogService;
import com.yeejoin.amos.boot.module.ccs.api.dto.FireEquipmentSignalLogDto;
import com.yeejoin.amos.boot.module.ccs.api.entity.FireEquipmentSignalLog;
import com.yeejoin.amos.boot.module.ccs.api.mapper.FireEquipmentSignalLogMapper;
import com.yeejoin.amos.boot.module.ccs.api.service.IFireEquipmentSignalLogService;
import com.yeejoin.amos.boot.module.ccs.biz.util.RequestUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
......@@ -24,7 +24,7 @@ import java.util.Map;
* @date 2021-11-09
*/
@Service
public class FireEquipmentAlarmLogServiceImpl extends BaseService<FireEquipmentAlarmLogDto, FireEquipmentAlarmLog, FireEquipmentAlarmLogMapper> implements IFireEquipmentAlarmLogService {
public class FireEquipmentSignalLogServiceImpl extends BaseService<FireEquipmentSignalLogDto, FireEquipmentSignalLog, FireEquipmentSignalLogMapper> implements IFireEquipmentSignalLogService {
@Autowired
HttpServletRequest request;
......@@ -32,13 +32,13 @@ public class FireEquipmentAlarmLogServiceImpl extends BaseService<FireEquipmentA
/**
* 告警列表查询-最新告警及跑马灯使用
*/
public List<FireEquipmentAlarmLogDto> fireEquipmentAlarmLogList() {
public List<FireEquipmentSignalLogDto> fireEquipmentAlarmLogList() {
Map<String, Object> params = RequestUtil.getRequestParamMap(request);
return this.getBaseMapper().queryAlarmLogList(params);
}
public List<FireEquipmentAlarmLogDto> todayAlarmLogList(String stationCode) throws ParseException {
public List<FireEquipmentSignalLogDto> todayAlarmLogList(String stationCode) throws ParseException {
Map<String, Object> params = new HashMap<>();
//未确认
params.put("confirmState","0");
......
package com.yeejoin.amos.boot.module.ccs.biz.service.impl;
import com.yeejoin.amos.boot.module.ccs.api.entity.FireEquipmentAlarm;
import com.yeejoin.amos.boot.module.ccs.api.mapper.FireEquipmentAlarmMapper;
import com.yeejoin.amos.boot.module.ccs.api.service.IFireEquipmentAlarmService;
import com.yeejoin.amos.boot.module.ccs.api.dto.FireEquipmentAlarmDto;
import com.yeejoin.amos.boot.module.ccs.api.entity.FireEquipmentSignal;
import com.yeejoin.amos.boot.module.ccs.api.mapper.FireEquipmentSignalMapper;
import com.yeejoin.amos.boot.module.ccs.api.service.IFireEquipmentSignalService;
import com.yeejoin.amos.boot.module.ccs.api.dto.FireEquipmentSignalDto;
import org.typroject.tyboot.core.rdbms.service.BaseService;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
......@@ -16,18 +16,18 @@ import java.util.List;
* @date 2021-11-09
*/
@Service
public class FireEquipmentAlarmServiceImpl extends BaseService<FireEquipmentAlarmDto,FireEquipmentAlarm,FireEquipmentAlarmMapper> implements IFireEquipmentAlarmService {
public class FireEquipmentSignalServiceImpl extends BaseService<FireEquipmentSignalDto, FireEquipmentSignal, FireEquipmentSignalMapper> implements IFireEquipmentSignalService {
/**
* 分页查询
*/
public Page<FireEquipmentAlarmDto> queryForFireEquipmentAlarmPage(Page<FireEquipmentAlarmDto> page) {
public Page<FireEquipmentSignalDto> queryForFireEquipmentAlarmPage(Page<FireEquipmentSignalDto> page) {
return this.queryForPage(page, null, false);
}
/**
* 列表查询 示例
*/
public List<FireEquipmentAlarmDto> queryForFireEquipmentAlarmList() {
public List<FireEquipmentSignalDto> queryForFireEquipmentAlarmList() {
return this.queryForList("" , false);
}
}
\ No newline at end of file
......@@ -7,7 +7,7 @@
<appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!--日志文件输出的文件名-->
<FileNamePattern>${LOG_HOME}/jcs.log.%d{yyyy-MM-dd}.log</FileNamePattern>
<FileNamePattern>${LOG_HOME}/ccs.log.%d{yyyy-MM-dd}.log</FileNamePattern>
<!--日志文件保留天数-->
<MaxHistory>7</MaxHistory>
</rollingPolicy>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment