|
@@ -13,6 +13,7 @@ import com.usky.common.core.exception.BusinessException;
|
|
|
import com.usky.common.security.utils.SecurityUtils;
|
|
|
import com.usky.iot.domain.*;
|
|
|
import com.usky.iot.mapper.BaseAlarmMapper;
|
|
|
+import com.usky.iot.mapper.DmpDeviceTypeMapper;
|
|
|
import com.usky.iot.service.*;
|
|
|
import com.usky.common.mybatis.core.AbstractCrudService;
|
|
|
import com.usky.iot.service.config.websocket.WebSocket;
|
|
@@ -29,6 +30,7 @@ import java.time.LocalDateTime;
|
|
|
import java.time.LocalTime;
|
|
|
import java.time.ZoneId;
|
|
|
import java.time.format.DateTimeFormatter;
|
|
|
+import java.time.temporal.ChronoUnit;
|
|
|
import java.util.*;
|
|
|
import java.util.stream.Collectors;
|
|
|
|
|
@@ -61,6 +63,9 @@ public class BaseAlarmServiceImpl extends AbstractCrudService<BaseAlarmMapper, B
|
|
|
@Autowired
|
|
|
private DmpDeviceStatusService dmpDeviceStatusService;
|
|
|
|
|
|
+ @Autowired
|
|
|
+ private DmpDeviceTypeMapper dmpDeviceTypeMapper;
|
|
|
+
|
|
|
@Override
|
|
|
public CommonPage<BaseAlarmResponeVO> statistic(BaseAlarmRequestVO baseAlarmRequestVO){
|
|
|
|
|
@@ -179,13 +184,38 @@ public class BaseAlarmServiceImpl extends AbstractCrudService<BaseAlarmMapper, B
|
|
|
List<BaseAlarm> list = new ArrayList<>();
|
|
|
|
|
|
LambdaQueryWrapper<BaseAlarm> queryWrapper = Wrappers.lambdaQuery();
|
|
|
- queryWrapper.eq(StringUtils.isNotBlank(baseAlarmListVO.getDeviceId()),BaseAlarm::getDeviceId,baseAlarmListVO.getDeviceId())
|
|
|
- .eq(StringUtils.isNotBlank(baseAlarmListVO.getProductCode()),BaseAlarm::getProductCode,baseAlarmListVO.getProductCode())
|
|
|
- .eq(StringUtils.isNotBlank(baseAlarmListVO.getAlarmType()),BaseAlarm::getAlarmType,baseAlarmListVO.getAlarmType())
|
|
|
- .eq(null != baseAlarmListVO.getHandleStatus(),BaseAlarm::getHandleStatus,baseAlarmListVO.getHandleStatus())
|
|
|
- .between(StringUtils.isNotBlank(baseAlarmListVO.getStartTime()) && StringUtils.isNotBlank(baseAlarmListVO.getEndTime()),BaseAlarm::getAlarmTime,baseAlarmListVO.getStartTime(),baseAlarmListVO.getEndTime())
|
|
|
- .eq(BaseAlarm::getTenantId,SecurityUtils.getTenantId())
|
|
|
- .orderByDesc(BaseAlarm::getId);
|
|
|
+ if (StringUtils.isNotBlank(baseAlarmListVO.getTypeCode())){
|
|
|
+ if (baseAlarmListVO.getTypeCode().equals("1")){
|
|
|
+ queryWrapper.eq(StringUtils.isNotBlank(baseAlarmListVO.getDeviceId()),BaseAlarm::getDeviceId,baseAlarmListVO.getDeviceId())
|
|
|
+ .eq(StringUtils.isNotBlank(baseAlarmListVO.getProductCode()),BaseAlarm::getProductCode,baseAlarmListVO.getProductCode())
|
|
|
+ .in(CollectionUtils.isNotEmpty(baseAlarmListVO.getAlarmType()),BaseAlarm::getAlarmType,
|
|
|
+ baseAlarmListVO.getAlarmType())
|
|
|
+ .eq(null != baseAlarmListVO.getHandleStatus(),BaseAlarm::getHandleStatus,baseAlarmListVO.getHandleStatus())
|
|
|
+ .between(StringUtils.isNotBlank(baseAlarmListVO.getStartTime()) && StringUtils.isNotBlank(baseAlarmListVO.getEndTime()),BaseAlarm::getAlarmTime,baseAlarmListVO.getStartTime(),baseAlarmListVO.getEndTime())
|
|
|
+ .eq(BaseAlarm::getTenantId,SecurityUtils.getTenantId())
|
|
|
+ .eq(BaseAlarm::getAlarmGrade,1)
|
|
|
+ .orderByDesc(BaseAlarm::getId);
|
|
|
+ }else if (baseAlarmListVO.getTypeCode().equals("2")){
|
|
|
+ queryWrapper.eq(StringUtils.isNotBlank(baseAlarmListVO.getDeviceId()),BaseAlarm::getDeviceId,baseAlarmListVO.getDeviceId())
|
|
|
+ .eq(StringUtils.isNotBlank(baseAlarmListVO.getProductCode()),BaseAlarm::getProductCode,baseAlarmListVO.getProductCode())
|
|
|
+ .in(CollectionUtils.isNotEmpty(baseAlarmListVO.getAlarmType()),BaseAlarm::getAlarmType,
|
|
|
+ baseAlarmListVO.getAlarmType())
|
|
|
+ .eq(null != baseAlarmListVO.getHandleStatus(),BaseAlarm::getHandleStatus,baseAlarmListVO.getHandleStatus())
|
|
|
+ .between(StringUtils.isNotBlank(baseAlarmListVO.getStartTime()) && StringUtils.isNotBlank(baseAlarmListVO.getEndTime()),BaseAlarm::getAlarmTime,baseAlarmListVO.getStartTime(),baseAlarmListVO.getEndTime())
|
|
|
+ .eq(BaseAlarm::getTenantId,SecurityUtils.getTenantId())
|
|
|
+ .ne(BaseAlarm::getAlarmGrade,1)
|
|
|
+ .orderByDesc(BaseAlarm::getId);
|
|
|
+ }
|
|
|
+ }else {
|
|
|
+ queryWrapper.eq(StringUtils.isNotBlank(baseAlarmListVO.getDeviceId()),BaseAlarm::getDeviceId,baseAlarmListVO.getDeviceId())
|
|
|
+ .eq(StringUtils.isNotBlank(baseAlarmListVO.getProductCode()),BaseAlarm::getProductCode,baseAlarmListVO.getProductCode())
|
|
|
+ .in(CollectionUtils.isNotEmpty(baseAlarmListVO.getAlarmType()),BaseAlarm::getAlarmType,
|
|
|
+ baseAlarmListVO.getAlarmType())
|
|
|
+ .eq(null != baseAlarmListVO.getHandleStatus(),BaseAlarm::getHandleStatus,baseAlarmListVO.getHandleStatus())
|
|
|
+ .between(StringUtils.isNotBlank(baseAlarmListVO.getStartTime()) && StringUtils.isNotBlank(baseAlarmListVO.getEndTime()),BaseAlarm::getAlarmTime,baseAlarmListVO.getStartTime(),baseAlarmListVO.getEndTime())
|
|
|
+ .eq(BaseAlarm::getTenantId,SecurityUtils.getTenantId())
|
|
|
+ .orderByDesc(BaseAlarm::getId);
|
|
|
+ }
|
|
|
List<BaseAlarm> records = this.list(queryWrapper);
|
|
|
if(records.size()>0){
|
|
|
List<String> devList = new ArrayList<>();
|
|
@@ -199,15 +229,24 @@ public class BaseAlarmServiceImpl extends AbstractCrudService<BaseAlarmMapper, B
|
|
|
.eq(DmpDeviceInfo::getTenantId,SecurityUtils.getTenantId())
|
|
|
.eq(DmpDeviceInfo::getDeleteFlag,0);
|
|
|
List<DmpDeviceInfo> deviceInfo = dmpDeviceInfoService.list(queryWrapper1);
|
|
|
+ LambdaQueryWrapper<BaseFacilityDevice> lambdaQuery1 = Wrappers.lambdaQuery();
|
|
|
+ lambdaQuery1.in(BaseFacilityDevice::getDeviceId,devList);
|
|
|
+ List<BaseFacilityDevice> records1 = baseFacilityDeviceService.list(lambdaQuery1);
|
|
|
if(CollectionUtils.isNotEmpty(deviceInfo)){
|
|
|
for(int i=0;i<records.size();i++){
|
|
|
for(int j=0;j<deviceInfo.size();j++){
|
|
|
if(records.get(i).getDeviceId().equals(deviceInfo.get(j).getDeviceId())){
|
|
|
records.get(i).setDeviceName(deviceInfo.get(j).getDeviceName());
|
|
|
+ records.get(i).setDeviceType(deviceInfo.get(j).getDeviceType());
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ for(int k=0;k<records1.size();k++){
|
|
|
+ if(records.get(i).getDeviceId().equals(records1.get(k).getDeviceId())){
|
|
|
+ records.get(i).setFacilityId(records1.get(k).getFacilityId());
|
|
|
break;
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
}
|
|
|
}
|
|
|
}
|
|
@@ -246,8 +285,32 @@ public class BaseAlarmServiceImpl extends AbstractCrudService<BaseAlarmMapper, B
|
|
|
if(pageNum != null && pageSize >0){
|
|
|
current = (pageNum-1)*pageSize;
|
|
|
}
|
|
|
+ QueryWrapper<DmpDeviceType> queryWrapper5 = Wrappers.query();
|
|
|
+ queryWrapper5.eq("tenant_id",SecurityUtils.getTenantId());
|
|
|
+ List<DmpDeviceType> deviceTypeList = dmpDeviceTypeMapper.selectList(queryWrapper5);
|
|
|
List<BaseAlarm> info = list.stream().sorted(Comparator.comparing(BaseAlarm::getId,Comparator.reverseOrder())).skip(current).limit(pageSize).collect(Collectors.toList());
|
|
|
-
|
|
|
+ LocalDateTime toDateTime = LocalDateTime.now();
|
|
|
+ for(int l=0;l<info.size();l++){
|
|
|
+ LocalDateTime fromDateTime = info.get(l).getAlarmTime();
|
|
|
+ LocalDateTime tempDateTime = LocalDateTime.from( fromDateTime );
|
|
|
+ long days = tempDateTime.until( toDateTime, ChronoUnit.DAYS);
|
|
|
+ tempDateTime = tempDateTime.plusDays( days );
|
|
|
+ long hours = tempDateTime.until( toDateTime, ChronoUnit.HOURS);
|
|
|
+ tempDateTime = tempDateTime.plusHours( hours );
|
|
|
+ long minutes = tempDateTime.until( toDateTime, ChronoUnit.MINUTES);
|
|
|
+ tempDateTime = tempDateTime.plusMinutes( minutes );
|
|
|
+ long seconds = tempDateTime.until( toDateTime, ChronoUnit.SECONDS);
|
|
|
+ if (days>0){
|
|
|
+ info.get(l).setAlarmTime1(days+"天");
|
|
|
+ }else {
|
|
|
+ info.get(l).setAlarmTime1(hours+":"+minutes+":"+seconds);
|
|
|
+ }
|
|
|
+ for(int m=0;m<deviceTypeList.size();m++){
|
|
|
+ if(info.get(l).getDeviceType().equals(Integer.parseInt(deviceTypeList.get(m).getTypeCode()))){
|
|
|
+ info.get(l).setDeviceTypeName(deviceTypeList.get(m).getTypeName());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
return new CommonPage<BaseAlarm>(info,total,pageSize,pageNum);
|
|
|
|
|
|
}
|
|
@@ -363,7 +426,8 @@ public class BaseAlarmServiceImpl extends AbstractCrudService<BaseAlarmMapper, B
|
|
|
LambdaQueryWrapper<BaseAlarm> queryWrapper = Wrappers.lambdaQuery();
|
|
|
queryWrapper
|
|
|
.eq(StringUtils.isNotBlank(baseAlarmListVO.getProductCode()),BaseAlarm::getProductCode,baseAlarmListVO.getProductCode())
|
|
|
- .eq(StringUtils.isNotBlank(baseAlarmListVO.getAlarmType()),BaseAlarm::getAlarmType,baseAlarmListVO.getAlarmType())
|
|
|
+ .in(CollectionUtils.isNotEmpty(baseAlarmListVO.getAlarmType()),BaseAlarm::getAlarmType,
|
|
|
+ baseAlarmListVO.getAlarmType())
|
|
|
.eq(null != baseAlarmListVO.getHandleStatus(),BaseAlarm::getHandleStatus,baseAlarmListVO.getHandleStatus())
|
|
|
.between(StringUtils.isNotBlank(baseAlarmListVO.getStartTime()) && StringUtils.isNotBlank(baseAlarmListVO.getEndTime()),BaseAlarm::getAlarmTime,baseAlarmListVO.getStartTime(),baseAlarmListVO.getEndTime())
|
|
|
.orderByDesc(BaseAlarm::getId);
|
|
@@ -700,6 +764,11 @@ public class BaseAlarmServiceImpl extends AbstractCrudService<BaseAlarmMapper, B
|
|
|
list.add(map);
|
|
|
return list;
|
|
|
}
|
|
|
+ @Override
|
|
|
+ public List<Map<String,Object>> alarmStatisticDay(String startTime,String endTime) {
|
|
|
+ List<Map<String,Object>> list = baseMapper.getAlarmStatisticDay(startTime,endTime,SecurityUtils.getTenantId());
|
|
|
+ return list;
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
|