|
@@ -1,7 +1,11 @@
|
|
|
package com.bz.rmcp.alarm.service.impl;
|
|
|
import java.time.LocalDateTime;
|
|
|
|
|
|
+import cn.hutool.core.collection.ListUtil;
|
|
|
+import cn.hutool.core.date.DatePattern;
|
|
|
+import cn.hutool.core.date.LocalDateTimeUtil;
|
|
|
import cn.hutool.core.util.StrUtil;
|
|
|
+import cn.hutool.http.HttpUtil;
|
|
|
import com.alibaba.fastjson.JSON;
|
|
|
import com.bz.rmcp.alarm.common.Constants;
|
|
|
import com.bz.rmcp.alarm.service.DeviceAlarmService;
|
|
@@ -9,10 +13,7 @@ import com.bz.rmcp.alarm.service.DeviceMeasuringPointService;
|
|
|
import com.zcxk.core.common.enums.StatusEnum;
|
|
|
import com.zcxk.core.common.util.SnowflakeIdWorker;
|
|
|
import com.zcxk.core.utils.DateUtil;
|
|
|
-import com.zcxk.rmcp.api.dto.alarm.AlarmRuleDto;
|
|
|
-import com.zcxk.rmcp.api.dto.alarm.AlarmRulePageDto;
|
|
|
-import com.zcxk.rmcp.api.dto.alarm.AlarmTypeDto;
|
|
|
-import com.zcxk.rmcp.api.dto.alarm.AlarmTypePageDto;
|
|
|
+import com.zcxk.rmcp.api.dto.alarm.*;
|
|
|
import com.zcxk.rmcp.api.dto.product.MeasureDataDto;
|
|
|
import com.zcxk.rmcp.api.enums.DeviceStatusEnum;
|
|
|
import com.zcxk.rmcp.api.vo.MeasuringPointVo;
|
|
@@ -134,6 +135,7 @@ public class DeviceAlarmServiceImpl implements DeviceAlarmService {
|
|
|
deviceAlarm.setUpdateBy(Constants.SYS_FLAG);
|
|
|
deviceAlarm.setCreateDate(LocalDateTime.now());
|
|
|
deviceAlarm.setUpdateDate(LocalDateTime.now());
|
|
|
+ deviceAlarm.setAlarmTypeName(alarmType.getName());
|
|
|
deviceAlarmList.add(deviceAlarm);
|
|
|
}
|
|
|
|
|
@@ -183,7 +185,7 @@ public class DeviceAlarmServiceImpl implements DeviceAlarmService {
|
|
|
if(lastErrorList== null || lastErrorList.isEmpty()) {
|
|
|
// 无最新告警记录,将告警记录直接入库
|
|
|
for(DeviceAlarm de :deviceAlarmList ) {
|
|
|
- rtnList.add(saveNewDeviceAlarm(de));
|
|
|
+ rtnList.add(saveNewDeviceAlarm(device,de));
|
|
|
}
|
|
|
}
|
|
|
else {
|
|
@@ -200,7 +202,7 @@ public class DeviceAlarmServiceImpl implements DeviceAlarmService {
|
|
|
}
|
|
|
if(!isSame) {
|
|
|
// 告警类型与上次告警类型不同,则直接新增记录
|
|
|
- rtnList.add(saveNewDeviceAlarm(de));
|
|
|
+ rtnList.add(saveNewDeviceAlarm(device,de));
|
|
|
}
|
|
|
else {
|
|
|
// 告警类型与上次告警类型相同
|
|
@@ -209,7 +211,7 @@ public class DeviceAlarmServiceImpl implements DeviceAlarmService {
|
|
|
rtnList.add(updateExistDeviceAlarm(de, originalError));
|
|
|
}else {
|
|
|
//上次无告警则新增
|
|
|
- rtnList.add(saveNewDeviceAlarm(de));
|
|
|
+ rtnList.add(saveNewDeviceAlarm(device,de));
|
|
|
}
|
|
|
|
|
|
}
|
|
@@ -239,8 +241,31 @@ public class DeviceAlarmServiceImpl implements DeviceAlarmService {
|
|
|
return newDeviceAlarm;
|
|
|
}
|
|
|
|
|
|
- private DeviceAlarm saveNewDeviceAlarm(DeviceAlarm deviceAlarm) {
|
|
|
+ private DeviceAlarm saveNewDeviceAlarm(Device device,DeviceAlarm deviceAlarm) {
|
|
|
deviceAlarmMapper.insertSelective(deviceAlarm);
|
|
|
+
|
|
|
+ String url = "http://10.0.0.62:8081/operation-manager/order/workOrderManage/saveByAlarms";
|
|
|
+
|
|
|
+ log.info("begin create WorkOrder");
|
|
|
+ WorkOrderManageByAlarmDto dto = new WorkOrderManageByAlarmDto();
|
|
|
+ dto.setId(idWorker.nextId());
|
|
|
+ dto.setDeviceName(device.getDeviceNo());
|
|
|
+ dto.setTenantId(device.getTenantId());
|
|
|
+ dto.setTaskDesc(deviceAlarm.getAlarmTypeName());
|
|
|
+ dto.setTaskNo(String.valueOf(idWorker.nextId()));
|
|
|
+ dto.setAddress(device.getAddress());
|
|
|
+ dto.setOrderTime(LocalDateTimeUtil.format(deviceAlarm.getAlarmTime(), DatePattern.NORM_DATETIME_FORMATTER));
|
|
|
+ dto.setCompanyOrgId(device.getCompanyOrgId().toString());
|
|
|
+ dto.setDepartmentOrgId(device.getDeptOrgId().toString());
|
|
|
+ dto.setOrderStatus(0);
|
|
|
+
|
|
|
+ List<WorkOrderManageByAlarmDto> list = ListUtil.toList(dto);
|
|
|
+
|
|
|
+ String json = JSON.toJSONString(list);
|
|
|
+
|
|
|
+ String result = HttpUtil.post(url,json);
|
|
|
+ log.info("end create WorkOrder json = {}, result={}",json,result);
|
|
|
+
|
|
|
return deviceAlarm;
|
|
|
}
|
|
|
|