|
@@ -6,15 +6,21 @@ import com.usky.common.core.bean.CommonPage;
|
|
import com.usky.common.mybatis.core.AbstractCrudService;
|
|
import com.usky.common.mybatis.core.AbstractCrudService;
|
|
import com.usky.common.security.utils.SecurityUtils;
|
|
import com.usky.common.security.utils.SecurityUtils;
|
|
import com.usky.fire.domain.AlarmFire;
|
|
import com.usky.fire.domain.AlarmFire;
|
|
|
|
+import com.usky.fire.domain.PlanSite;
|
|
import com.usky.fire.mapper.AlarmFireMapper;
|
|
import com.usky.fire.mapper.AlarmFireMapper;
|
|
|
|
+import com.usky.fire.mapper.PlanSiteMapper;
|
|
import com.usky.fire.service.AlarmFireService;
|
|
import com.usky.fire.service.AlarmFireService;
|
|
import com.usky.fire.service.util.OnlineMethod;
|
|
import com.usky.fire.service.util.OnlineMethod;
|
|
|
|
+import com.usky.fire.service.vo.AlarmFireStatisticalVo;
|
|
import com.usky.fire.service.vo.AlarmFireVo;
|
|
import com.usky.fire.service.vo.AlarmFireVo;
|
|
import com.usky.system.model.LoginUser;
|
|
import com.usky.system.model.LoginUser;
|
|
|
|
+import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.stereotype.Service;
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
import java.util.ArrayList;
|
|
import java.util.ArrayList;
|
|
|
|
+import java.util.HashMap;
|
|
import java.util.List;
|
|
import java.util.List;
|
|
|
|
+import java.util.Map;
|
|
|
|
|
|
/**
|
|
/**
|
|
* <p>
|
|
* <p>
|
|
@@ -27,7 +33,8 @@ import java.util.List;
|
|
@Service
|
|
@Service
|
|
public class AlarmFireServiceImpl extends AbstractCrudService<AlarmFireMapper, AlarmFire> implements AlarmFireService {
|
|
public class AlarmFireServiceImpl extends AbstractCrudService<AlarmFireMapper, AlarmFire> implements AlarmFireService {
|
|
|
|
|
|
- public CommonPage<AlarmFireVo> alarmFireLowerList(Integer handlingStatus, String startDate, String endDate, Integer pageNum, Integer pageSize) {
|
|
|
|
|
|
+ public CommonPage<AlarmFireVo> alarmFireLowerList(Integer handlingStatus, String startDate, String endDate,
|
|
|
|
+ Integer pageNum, Integer pageSize, Integer alarmType) {
|
|
String userType = null;
|
|
String userType = null;
|
|
LoginUser loginUser = SecurityUtils.getLoginUser();
|
|
LoginUser loginUser = SecurityUtils.getLoginUser();
|
|
if (loginUser != null && !"".equals(loginUser)) {
|
|
if (loginUser != null && !"".equals(loginUser)) {
|
|
@@ -35,7 +42,7 @@ public class AlarmFireServiceImpl extends AbstractCrudService<AlarmFireMapper, A
|
|
}
|
|
}
|
|
//缺少维保单位部分代码
|
|
//缺少维保单位部分代码
|
|
List<String> devcieCodeList = new ArrayList<>();
|
|
List<String> devcieCodeList = new ArrayList<>();
|
|
- CommonPage<AlarmFire> alarmFireList = this.alarmFireList(devcieCodeList, handlingStatus, startDate, endDate, pageNum, pageSize);
|
|
|
|
|
|
+ CommonPage<AlarmFire> alarmFireList = this.alarmFireList(devcieCodeList, handlingStatus, startDate, endDate, pageNum, pageSize,alarmType);
|
|
List<AlarmFireVo> list = new ArrayList<>();
|
|
List<AlarmFireVo> list = new ArrayList<>();
|
|
for (int i = 0; i < alarmFireList.getRecords().size(); i++) {
|
|
for (int i = 0; i < alarmFireList.getRecords().size(); i++) {
|
|
AlarmFireVo alarmFireVo = new AlarmFireVo();
|
|
AlarmFireVo alarmFireVo = new AlarmFireVo();
|
|
@@ -66,8 +73,102 @@ public class AlarmFireServiceImpl extends AbstractCrudService<AlarmFireMapper, A
|
|
return new CommonPage<>(list, alarmFireList.getTotal(), alarmFireList.getSize(), alarmFireList.getSize());
|
|
return new CommonPage<>(list, alarmFireList.getTotal(), alarmFireList.getSize(), alarmFireList.getSize());
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+
|
|
|
|
+ public Map<String, Object> fireStatistics(Integer alarmType) {
|
|
|
|
+ String userType = null;
|
|
|
|
+ LoginUser loginUser = SecurityUtils.getLoginUser();
|
|
|
|
+ if (loginUser != null && !"".equals(loginUser)) {
|
|
|
|
+ userType = loginUser.getUserType();
|
|
|
|
+ }
|
|
|
|
+ //缺少维保单位部分代码
|
|
|
|
+ List<String> devcieCodeList = new ArrayList<>();
|
|
|
|
+
|
|
|
|
+ int untreated = this.fireCount(devcieCodeList, 0,alarmType);
|
|
|
|
+ int processed = this.fireCount(devcieCodeList, 1,alarmType);
|
|
|
|
+// String disposalRate = processed / (untreated + processed) + "%";
|
|
|
|
+ Integer count = untreated + processed;
|
|
|
|
+ String disposalRate = OnlineMethod.myPercent(processed,count);
|
|
|
|
+ Map<String, Object> map = new HashMap<>();
|
|
|
|
+ map.put("untreated", untreated);//告警未处理数
|
|
|
|
+ map.put("processed", processed);//告警未处理数
|
|
|
|
+ map.put("disposalRate", disposalRate);//告警处理率
|
|
|
|
+ map.put("deviceCount", 0);//设备总数
|
|
|
|
+ map.put("deviceOfflineCount", 0);//设备离线数
|
|
|
|
+ map.put("deviceAlarmCount", 0);//设备告警数
|
|
|
|
+ map.put("deviceNormalCount", 0);//设备正常数
|
|
|
|
+ map.put("deviceOfflineRate", 0);//设备离线率
|
|
|
|
+ map.put("deviceAlarmRate", 0);//设备告警率
|
|
|
|
+ map.put("deviceOfflineRate", 0);//设备正常率
|
|
|
|
+ return map;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ public Map<String, Object> fireStatisticalChart(Integer alarmType, String startDate, String endDate){
|
|
|
|
+ String userType = null;
|
|
|
|
+ LoginUser loginUser = SecurityUtils.getLoginUser();
|
|
|
|
+ if (loginUser != null && !"".equals(loginUser)) {
|
|
|
|
+ userType = loginUser.getUserType();
|
|
|
|
+ }
|
|
|
|
+ //缺少维保单位部分代码
|
|
|
|
+ List<String> devcieCodeList = new ArrayList<>();
|
|
|
|
+ List<AlarmFireStatisticalVo> list = baseMapper.selectAlarmFireStatistical(alarmType,startDate,endDate);
|
|
|
|
+ List<Integer> alarmCountList = new ArrayList<>();
|
|
|
|
+ List<Integer> handleCountList = new ArrayList<>();
|
|
|
|
+ List<String> alarmTimeList = new ArrayList<>();
|
|
|
|
+ for (int i = 0; i < list.size(); i++) {
|
|
|
|
+ alarmCountList.add(list.get(i).getCount());
|
|
|
|
+ handleCountList.add(list.get(i).getSum());
|
|
|
|
+ alarmTimeList.add(list.get(i).getAlarmTime());
|
|
|
|
+ }
|
|
|
|
+ Map<String, Object> map = new HashMap<>();
|
|
|
|
+ map.put("alarmCountList",alarmCountList);
|
|
|
|
+ map.put("handleCountList", handleCountList);
|
|
|
|
+ map.put("alarmTimeList", alarmTimeList);
|
|
|
|
+ return map;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ /**
|
|
|
|
+ * 火警告警处置/故障告警处置-数量统计
|
|
|
|
+ *
|
|
|
|
+ * @param deviceCodeList 单位编号
|
|
|
|
+ * @param handlingStatus 处理状态(0、未处理 1、已处理)
|
|
|
|
+ * @param alarmType 告警类型(2 火警、4 故障、16 监管等)
|
|
|
|
+ * @return
|
|
|
|
+ */
|
|
|
|
+ public Integer fireCount(List<String> deviceCodeList, Integer handlingStatus,Integer alarmType) {
|
|
|
|
+ LambdaQueryWrapper<AlarmFire> queryWrapper = Wrappers.lambdaQuery();
|
|
|
|
+ if (deviceCodeList.size() > 0) {
|
|
|
|
+ queryWrapper.in(AlarmFire::getDeviceCode, deviceCodeList);
|
|
|
|
+ }
|
|
|
|
+ if (handlingStatus != null) {
|
|
|
|
+ queryWrapper.eq(AlarmFire::getHandlingStatus, handlingStatus);
|
|
|
|
+ }
|
|
|
|
+ if (alarmType != null && alarmType != 0) {
|
|
|
|
+ queryWrapper.eq(AlarmFire::getAlarmType, alarmType);
|
|
|
|
+ }
|
|
|
|
+ int total = this.count(queryWrapper);
|
|
|
|
+ return total;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ /**
|
|
|
|
+ * 火警告警处置/故障告警处置-列表数据查询
|
|
|
|
+ *
|
|
|
|
+ * @param deviceCodeList 设备编号
|
|
|
|
+ * @param handlingStatus 处理状态(0、未处理 1、已处理)
|
|
|
|
+ * @param startDate 开始时间 格式:yyyy-MM-dd HH:mm:ss
|
|
|
|
+ * @param endDate 结束时间 格式:yyyy-MM-dd HH:mm:ss
|
|
|
|
+ * @param pageNum 当前页
|
|
|
|
+ * @param pageSize 每页条数
|
|
|
|
+ * @param alarmType 告警类型(2 火警、4 故障、16 监管等)
|
|
|
|
+ * @return
|
|
|
|
+ */
|
|
@Override
|
|
@Override
|
|
- public CommonPage<AlarmFire> alarmFireList(List<String> deviceCodeList, Integer handlingStatus, String startDate, String endDate, Integer pageNum, Integer pageSize) {
|
|
|
|
|
|
+ public CommonPage<AlarmFire> alarmFireList(List<String> deviceCodeList, Integer handlingStatus, String startDate,
|
|
|
|
+ String endDate, Integer pageNum, Integer pageSize,Integer alarmType) {
|
|
LambdaQueryWrapper<AlarmFire> queryWrapper = Wrappers.lambdaQuery();
|
|
LambdaQueryWrapper<AlarmFire> queryWrapper = Wrappers.lambdaQuery();
|
|
if (deviceCodeList.size() > 0) {
|
|
if (deviceCodeList.size() > 0) {
|
|
queryWrapper.in(AlarmFire::getDeviceCode, deviceCodeList);
|
|
queryWrapper.in(AlarmFire::getDeviceCode, deviceCodeList);
|
|
@@ -76,6 +177,10 @@ public class AlarmFireServiceImpl extends AbstractCrudService<AlarmFireMapper, A
|
|
queryWrapper.eq(AlarmFire::getHandlingStatus, handlingStatus);
|
|
queryWrapper.eq(AlarmFire::getHandlingStatus, handlingStatus);
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ if (alarmType != null && alarmType != 0) {
|
|
|
|
+ queryWrapper.eq(AlarmFire::getAlarmType, alarmType);
|
|
|
|
+ }
|
|
|
|
+
|
|
if (startDate != null && !"".equals(startDate) && endDate != null && !"".equals(endDate)) {
|
|
if (startDate != null && !"".equals(startDate) && endDate != null && !"".equals(endDate)) {
|
|
queryWrapper.between(AlarmFire::getAlarmTime, startDate, endDate);
|
|
queryWrapper.between(AlarmFire::getAlarmTime, startDate, endDate);
|
|
}
|
|
}
|
|
@@ -83,7 +188,7 @@ public class AlarmFireServiceImpl extends AbstractCrudService<AlarmFireMapper, A
|
|
queryWrapper.orderByDesc(AlarmFire::getId);
|
|
queryWrapper.orderByDesc(AlarmFire::getId);
|
|
if (pageNum != null && pageNum != 0 && pageSize != null && pageSize != 0) {
|
|
if (pageNum != null && pageNum != 0 && pageSize != null && pageSize != 0) {
|
|
Integer startFate = OnlineMethod.getStartFate(pageNum, pageSize);
|
|
Integer startFate = OnlineMethod.getStartFate(pageNum, pageSize);
|
|
- queryWrapper.last("limit " + startFate + ","+pageSize);
|
|
|
|
|
|
+ queryWrapper.last("limit " + startFate + "," + pageSize);
|
|
}
|
|
}
|
|
List<AlarmFire> list = this.list(queryWrapper);
|
|
List<AlarmFire> list = this.list(queryWrapper);
|
|
return new CommonPage<>(list, total, pageSize, pageNum);
|
|
return new CommonPage<>(list, total, pageSize, pageNum);
|