|
@@ -4,15 +4,22 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
+import com.huaxu.client.OperationManagerClient;
|
|
|
+import com.huaxu.common.StringUtils;
|
|
|
+import com.huaxu.dao.AlarmDetailMapper;
|
|
|
import com.huaxu.dao.AlarmSettingMapper;
|
|
|
+import com.huaxu.dto.AlarmDetailsDto;
|
|
|
import com.huaxu.dto.AlarmSettingDto;
|
|
|
+import com.huaxu.dto.WorkOrderManageByAlarmDto;
|
|
|
import com.huaxu.entity.AlarmSetting;
|
|
|
-import org.apache.commons.lang3.StringUtils;
|
|
|
+import com.huaxu.model.LoginUser;
|
|
|
+import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
import javax.annotation.Resource;
|
|
|
import java.util.ArrayList;
|
|
|
import java.util.Arrays;
|
|
|
+import java.util.Date;
|
|
|
import java.util.List;
|
|
|
|
|
|
/**
|
|
@@ -25,6 +32,11 @@ import java.util.List;
|
|
|
public class AlarmSettingService extends ServiceImpl<AlarmSettingMapper, AlarmSetting> {
|
|
|
@Resource
|
|
|
private AlarmSettingMapper alarmSettingMapper;
|
|
|
+
|
|
|
+ @Resource
|
|
|
+ private AlarmDetailMapper alarmDetailMapper;
|
|
|
+ @Autowired
|
|
|
+ private OperationManagerClient operationManagerClient;
|
|
|
/**
|
|
|
* 删除数据
|
|
|
*
|
|
@@ -83,7 +95,41 @@ public class AlarmSettingService extends ServiceImpl<AlarmSettingMapper, AlarmSe
|
|
|
* @param
|
|
|
* @return
|
|
|
*/
|
|
|
- public Integer updateRealtimeAlarm(Long[] ids,String updateBy) {
|
|
|
- return alarmSettingMapper.updateRealtimeAlarm(Arrays.asList(ids),updateBy);
|
|
|
+ public void updateRealtimeAlarm(Long[] ids,String updateBy) {
|
|
|
+ //系统中已存在的离线报警
|
|
|
+ List<AlarmDetailsDto> alarmDetailsDtos = alarmDetailMapper.selectStateAlarm(null,null,Arrays.asList(ids));
|
|
|
+
|
|
|
+ if(alarmDetailsDtos.size() > 0){
|
|
|
+ //处理完成后,剩下的标记为历史数据
|
|
|
+ List<Long> deviceIds = new ArrayList<>();
|
|
|
+ deviceIds.add(alarmDetailsDtos.get(0).getDeviceId().longValue());
|
|
|
+ List<WorkOrderManageByAlarmDto> workOrders = operationManagerClient.findWorkOrderByDeviceIds(deviceIds);
|
|
|
+ if(workOrders.size()>0){
|
|
|
+ WorkOrderManageByAlarmDto orderManageByAlarmDto = workOrders.get(0);
|
|
|
+ String taskDesc = orderManageByAlarmDto.getTaskDesc();
|
|
|
+ //标记为历史数据 并 修改工单描述
|
|
|
+ for(AlarmDetailsDto alarmDetailsDto : alarmDetailsDtos){
|
|
|
+ alarmDetailsDto.setState(0);
|
|
|
+ alarmDetailsDto.setAlarmEndTime(new Date());
|
|
|
+ alarmDetailsDto.setDateUpdate(new Date());
|
|
|
+ alarmDetailsDto.setUpdateBy(updateBy);
|
|
|
+ alarmDetailMapper.update(alarmDetailsDto);
|
|
|
+
|
|
|
+ taskDesc = taskDesc.replace(";"+alarmDetailsDto.getAlarmContent(),"")
|
|
|
+ .replace(alarmDetailsDto.getAlarmContent(),"");
|
|
|
+ }
|
|
|
+ orderManageByAlarmDto.setTaskDesc(taskDesc);
|
|
|
+ if(orderManageByAlarmDto != null
|
|
|
+ && (orderManageByAlarmDto.getOrderStatus() == null || orderManageByAlarmDto.getOrderStatus() == 0)
|
|
|
+ && StringUtils.isBlank(taskDesc)){
|
|
|
+ //工单未派单且无报警信息,删除工单
|
|
|
+ operationManagerClient.batchDeleteByAlarms(new ArrayList<>(deviceIds));
|
|
|
+ }else{
|
|
|
+ //其他情况修改描述
|
|
|
+ operationManagerClient.updateByAlarms(workOrders);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+// return alarmSettingMapper.updateRealtimeAlarm(Arrays.asList(ids),updateBy);
|
|
|
}
|
|
|
}
|