|
@@ -9,11 +9,8 @@ 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.service.BaseAlarmService;
|
|
|
+import com.usky.iot.service.*;
|
|
|
import com.usky.common.mybatis.core.AbstractCrudService;
|
|
|
-import com.usky.iot.service.BaseFacilityDeviceService;
|
|
|
-import com.usky.iot.service.DmpDeviceInfoService;
|
|
|
-import com.usky.iot.service.DmpProductInfoService;
|
|
|
import com.usky.iot.service.config.websocket.WebSocket;
|
|
|
import com.usky.iot.service.vo.BaseAlarmListVO;
|
|
|
import com.usky.iot.service.vo.BaseAlarmRequestVO;
|
|
@@ -48,6 +45,9 @@ public class BaseAlarmServiceImpl extends AbstractCrudService<BaseAlarmMapper, B
|
|
|
@Autowired
|
|
|
private WebSocket webSocket;
|
|
|
|
|
|
+ @Autowired
|
|
|
+ private BaseAlarmTypeService baseAlarmTypeService;
|
|
|
+
|
|
|
@Override
|
|
|
public CommonPage<BaseAlarmResponeVO> statistic(BaseAlarmRequestVO baseAlarmRequestVO){
|
|
|
|
|
@@ -222,38 +222,48 @@ public class BaseAlarmServiceImpl extends AbstractCrudService<BaseAlarmMapper, B
|
|
|
@Override
|
|
|
public boolean add(BaseAlarm baseAlarm) {
|
|
|
baseAlarm.setHandleStatus(0);
|
|
|
- if (StringUtils.isNotBlank(baseAlarm.getProductCode()) && StringUtils.isNotBlank(baseAlarm.getDeviceId())){
|
|
|
+ if (StringUtils.isNotBlank(baseAlarm.getProductCode()) && StringUtils.isNotBlank(baseAlarm.getDeviceId()) && StringUtils.isNotBlank(baseAlarm.getAlarmType())){
|
|
|
LambdaQueryWrapper<DmpProductInfo> lambdaQuery = Wrappers.lambdaQuery();
|
|
|
- lambdaQuery.eq(StringUtils.isNotBlank(baseAlarm.getProductCode()),DmpProductInfo::getProductCode,baseAlarm.getProductCode())
|
|
|
+ lambdaQuery.eq(DmpProductInfo::getProductCode,baseAlarm.getProductCode())
|
|
|
.eq(DmpProductInfo::getDeleteFlag,0);
|
|
|
List<DmpProductInfo> records = dmpProductInfoService.list(lambdaQuery);
|
|
|
LambdaQueryWrapper<BaseFacilityDevice> lambdaQuery1 = Wrappers.lambdaQuery();
|
|
|
- lambdaQuery1.eq(StringUtils.isNotBlank(baseAlarm.getDeviceId()),BaseFacilityDevice::getDeviceId,
|
|
|
- baseAlarm.getDeviceId());
|
|
|
+ lambdaQuery1.eq(BaseFacilityDevice::getDeviceId,baseAlarm.getDeviceId());
|
|
|
List<BaseFacilityDevice> records1 = baseFacilityDeviceService.list(lambdaQuery1);
|
|
|
- if(records.size()>0){
|
|
|
+ LambdaQueryWrapper<DmpDeviceInfo> lambdaQuery2 = Wrappers.lambdaQuery();
|
|
|
+ lambdaQuery2.eq(DmpDeviceInfo::getDeviceId,baseAlarm.getDeviceId())
|
|
|
+ .eq(DmpDeviceInfo::getProductCode,baseAlarm.getProductCode())
|
|
|
+ .eq(DmpDeviceInfo::getDeleteFlag,0);
|
|
|
+ List<DmpDeviceInfo> records2 = dmpDeviceInfoService.list(lambdaQuery2);
|
|
|
+ LambdaQueryWrapper<BaseAlarmType> lambdaQuery3 = Wrappers.lambdaQuery();
|
|
|
+ lambdaQuery3.eq(BaseAlarmType::getTypeCode,baseAlarm.getAlarmType())
|
|
|
+ .eq(BaseAlarmType::getDeleteFlag,0);
|
|
|
+ List<BaseAlarmType> records3 = baseAlarmTypeService.list(lambdaQuery3);
|
|
|
+ if(records.size()>0 && records3.size()>0 && records2.size()>0){
|
|
|
baseAlarm.setTenantId(records.get(0).getTenantId());
|
|
|
- if (StringUtils.isNotBlank(baseAlarm.getHandleBy()) || StringUtils.isNotBlank(baseAlarm.getHandlePhone())){
|
|
|
+ if (StringUtils.isNotBlank(baseAlarm.getHandleBy()) || StringUtils.isNotBlank(baseAlarm.getHandlePhone())) {
|
|
|
baseAlarm.setHandleStatus(1);
|
|
|
LambdaQueryWrapper<BaseAlarm> queryWrapper = Wrappers.lambdaQuery();
|
|
|
- queryWrapper.eq(BaseAlarm::getDeviceId,baseAlarm.getDeviceId())
|
|
|
- .eq(BaseAlarm::getAlarmType,baseAlarm.getAlarmType())
|
|
|
- .eq(BaseAlarm::getAlarmAddress,baseAlarm.getAlarmAddress())
|
|
|
- .eq(BaseAlarm::getAlarmGrade,baseAlarm.getAlarmGrade());
|
|
|
- return this.update(baseAlarm,queryWrapper);
|
|
|
- }else {
|
|
|
+ queryWrapper.eq(BaseAlarm::getDeviceId, baseAlarm.getDeviceId())
|
|
|
+ .eq(BaseAlarm::getAlarmType, baseAlarm.getAlarmType())
|
|
|
+ .eq(BaseAlarm::getAlarmAddress, baseAlarm.getAlarmAddress())
|
|
|
+ .eq(BaseAlarm::getAlarmGrade, baseAlarm.getAlarmGrade());
|
|
|
+ return this.update(baseAlarm, queryWrapper);
|
|
|
+ } else {
|
|
|
boolean saveResult = this.save(baseAlarm);
|
|
|
- if(records1.size()>0){
|
|
|
+ if (records1.size() > 0) {
|
|
|
baseAlarm.setFacilityId(records1.get(0).getFacilityId());
|
|
|
}
|
|
|
- webSocket.sendMessage(baseAlarm,records.get(0).getTenantId().toString());
|
|
|
+ baseAlarm.setDeviceName(records2.get(0).getDeviceName());
|
|
|
+ baseAlarm.setTypeImg(records3.get(0).getTypeImg());
|
|
|
+ webSocket.sendMessage(baseAlarm, records.get(0).getTenantId().toString());
|
|
|
return saveResult;
|
|
|
}
|
|
|
}else {
|
|
|
- throw new BusinessException("告警数据投递失败,产品编码有误");
|
|
|
+ throw new BusinessException("告警数据投递失败,请检查产品编码、设备编号、告警类型,是否有误");
|
|
|
}
|
|
|
}else {
|
|
|
- throw new BusinessException("告警数据投递失败,产品编码或设备编号不能为空");
|
|
|
+ throw new BusinessException("告警数据投递失败,请检查产品编码、设备编号、告警类型,不能为空");
|
|
|
}
|
|
|
}
|
|
|
}
|