水泥搅拌桩/旋挖设备bug修复
This commit is contained in:
parent
c08b92471f
commit
c5043a90a6
@ -270,16 +270,20 @@ public class CementMixPileDevServiceImpl extends ServiceImpl<CementMixPileDevMap
|
||||
Set<String> processedAlarms = new HashSet<>();
|
||||
for (CementMixPileAlarm alarm : alarms) {
|
||||
CementMixPileDev dev = devMap.get(alarm.getDevSn());
|
||||
if (dev == null || StrUtil.isBlank(dev.getAlarmPushWorkerId())) {
|
||||
if (dev == null) {
|
||||
continue;
|
||||
}
|
||||
List<SystemUser> systemUserList = systemUserService.list(Wrappers.<SystemUser>lambdaQuery().in(SystemUser::getUserId, StrUtil.split(dev.getAlarmPushWorkerId(), ",")).last(Cts.IGNORE_DATA_SCOPE_CONDITION));
|
||||
List<Long> userIdList = new ArrayList<>();
|
||||
if (StrUtil.isNotBlank(dev.getAlarmPushWorkerId())) {
|
||||
userIdList = systemUserService.list(Wrappers.<SystemUser>lambdaQuery().in(SystemUser::getUserId, StrUtil.split(dev.getAlarmPushWorkerId(), ",")).last(Cts.IGNORE_DATA_SCOPE_CONDITION))
|
||||
.stream().map(SystemUser::getUserId).collect(Collectors.toList());
|
||||
}
|
||||
String title = "水泥搅拌桩报警通知";
|
||||
String msg = StrUtil.format("{}实时桩深数据异常!报警时间:{},设计桩深{}米,当前显示{}米。", alarm.getPilePointName(), DateUtil.formatDateTime(alarm.getAlarmTime()), alarm.getDesignPileDepth(), alarm.getRealPileDepth());
|
||||
noticeService.addProjectLevelNotice(alarm.getProjectSn(), title, msg, "35", null);
|
||||
if (CollectionUtils.isNotEmpty(systemUserList)) {
|
||||
for (SystemUser systemUser : systemUserList) {
|
||||
noticeService.addUserNotice(systemUser.getUserId(),
|
||||
if (CollectionUtils.isNotEmpty(userIdList)) {
|
||||
for (Long userId : userIdList) {
|
||||
noticeService.addUserNotice(userId,
|
||||
title,
|
||||
msg,
|
||||
"35");
|
||||
|
||||
@ -1,41 +1,57 @@
|
||||
package com.zhgd.xmgl.modules.bigdevice.service.impl;
|
||||
|
||||
import cn.hutool.core.collection.CollUtil;
|
||||
import cn.hutool.core.date.DateTime;
|
||||
import cn.hutool.core.util.NumberUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
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.zhgd.jeecg.common.execption.OpenAlertException;
|
||||
import com.zhgd.jeecg.common.system.query.QueryGenerator;
|
||||
import com.zhgd.xmgl.modules.bigdevice.entity.CementMixPilePoint;
|
||||
import com.zhgd.xmgl.modules.bigdevice.entity.CementMixPileRealtime;
|
||||
import com.zhgd.xmgl.modules.bigdevice.entity.dto.CementMixPileAlarmDto;
|
||||
import com.zhgd.xmgl.modules.bigdevice.entity.dto.CementMixPileRealtimeDto;
|
||||
import com.zhgd.xmgl.modules.bigdevice.entity.vo.CementMixPileRealtimeVo;
|
||||
import com.zhgd.xmgl.modules.bigdevice.mapper.CementMixPileRealtimeMapper;
|
||||
import com.zhgd.xmgl.modules.bigdevice.service.ICementMixPileAlarmService;
|
||||
import com.zhgd.xmgl.modules.bigdevice.service.ICementMixPilePointService;
|
||||
import com.zhgd.xmgl.modules.bigdevice.service.ICementMixPileRealtimeService;
|
||||
import com.zhgd.xmgl.util.MapBuilder;
|
||||
import com.zhgd.xmgl.util.PageUtil;
|
||||
import com.zhgd.xmgl.util.RefUtil;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.context.annotation.Lazy;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
|
||||
/**
|
||||
* @Description: 水泥搅拌桩/旋挖沉桩实时数据
|
||||
* @author: pds
|
||||
* @date: 2025-12-12
|
||||
* @date: 2025-12-12
|
||||
* @version: V1.0
|
||||
*/
|
||||
@Service
|
||||
public class CementMixPileRealtimeServiceImpl extends ServiceImpl<CementMixPileRealtimeMapper, CementMixPileRealtime> implements ICementMixPileRealtimeService {
|
||||
@Autowired
|
||||
private CementMixPileRealtimeMapper cementMixPileRealtimeMapper;
|
||||
@Lazy
|
||||
@Autowired
|
||||
private ICementMixPilePointService cementMixPilePointService;
|
||||
@Lazy
|
||||
@Autowired
|
||||
private ICementMixPileAlarmService cementMixPileAlarmService;
|
||||
|
||||
@Override
|
||||
public IPage<CementMixPileRealtimeVo> queryPageList(HashMap<String, Object> param) {
|
||||
QueryWrapper<CementMixPileRealtimeVo> queryWrapper = this.getQueryWrapper(param);
|
||||
Page<CementMixPileRealtimeVo> page = PageUtil.getPage(param);
|
||||
IPage<CementMixPileRealtimeVo> pageList = baseMapper.queryList(page, queryWrapper,param);
|
||||
IPage<CementMixPileRealtimeVo> pageList = baseMapper.queryList(page, queryWrapper, param);
|
||||
pageList.setRecords(this.dealList(pageList.getRecords()));
|
||||
return pageList;
|
||||
}
|
||||
@ -43,7 +59,7 @@ public class CementMixPileRealtimeServiceImpl extends ServiceImpl<CementMixPileR
|
||||
@Override
|
||||
public List<CementMixPileRealtimeVo> queryList(HashMap<String, Object> param) {
|
||||
QueryWrapper<CementMixPileRealtimeVo> queryWrapper = getQueryWrapper(param);
|
||||
return dealList(baseMapper.queryList(queryWrapper,param));
|
||||
return dealList(baseMapper.queryList(queryWrapper, param));
|
||||
}
|
||||
|
||||
private QueryWrapper<CementMixPileRealtimeVo> getQueryWrapper(HashMap<String, Object> param) {
|
||||
@ -57,24 +73,56 @@ public class CementMixPileRealtimeServiceImpl extends ServiceImpl<CementMixPileR
|
||||
}
|
||||
|
||||
@Override
|
||||
public void add(CementMixPileRealtimeDto cementMixPileRealtimeDto) {
|
||||
cementMixPileRealtimeDto.setId(null);
|
||||
baseMapper.insert(cementMixPileRealtimeDto);
|
||||
public void add(CementMixPileRealtimeDto dto) {
|
||||
dto.setId(null);
|
||||
setPilePointName(dto);
|
||||
baseMapper.insert(dto);
|
||||
addAlarmIf(dto);
|
||||
}
|
||||
|
||||
private void addAlarmIf(CementMixPileRealtimeDto dto) {
|
||||
CementMixPilePoint point = cementMixPilePointService.getOne(new LambdaQueryWrapper<CementMixPilePoint>()
|
||||
.eq(CementMixPilePoint::getId, dto.getPointId()));
|
||||
if (point == null) {
|
||||
return;
|
||||
}
|
||||
if (Objects.nonNull(dto.getRealtimeDepth()) && Objects.nonNull(point.getDesignPileDepth())
|
||||
&& NumberUtil.isGreater(dto.getRealtimeDepth(), point.getDesignPileDepth())) {
|
||||
CementMixPileAlarmDto alarmDto = new CementMixPileAlarmDto();
|
||||
alarmDto.setProjectSn(dto.getProjectSn());
|
||||
alarmDto.setAlarmTime(dto.getPositioningTime() != null ? dto.getPositioningTime() : new DateTime());
|
||||
alarmDto.setPointId(point.getId());
|
||||
alarmDto.setPilePointName(point.getPilePointName());
|
||||
alarmDto.setDesignPileDepth(point.getDesignPileDepth());
|
||||
alarmDto.setRealPileDepth(dto.getRealtimeDepth());
|
||||
alarmDto.setDevSn(dto.getDevSn());
|
||||
alarmDto.setDevType(dto.getDevType());
|
||||
cementMixPileAlarmService.add(alarmDto);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void edit(CementMixPileRealtimeDto cementMixPileRealtimeDto) {
|
||||
CementMixPileRealtime oldCementMixPileRealtime = baseMapper.selectById(cementMixPileRealtimeDto.getId());
|
||||
if(oldCementMixPileRealtime==null) {
|
||||
if (oldCementMixPileRealtime == null) {
|
||||
throw new OpenAlertException("未找到对应实体");
|
||||
}
|
||||
setPilePointName(cementMixPileRealtimeDto);
|
||||
baseMapper.updateById(cementMixPileRealtimeDto);
|
||||
}
|
||||
|
||||
private void setPilePointName(CementMixPileRealtimeDto cementMixPileRealtimeDto) {
|
||||
CementMixPilePoint point = cementMixPilePointService.getOne(new LambdaQueryWrapper<CementMixPilePoint>()
|
||||
.eq(CementMixPilePoint::getId, cementMixPileRealtimeDto.getPointId()));
|
||||
if (point != null) {
|
||||
cementMixPileRealtimeDto.setPilePointName(point.getPilePointName());
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void delete(String id) {
|
||||
CementMixPileRealtime cementMixPileRealtime = baseMapper.selectById(id);
|
||||
if(cementMixPileRealtime==null) {
|
||||
if (cementMixPileRealtime == null) {
|
||||
throw new OpenAlertException("未找到对应实体");
|
||||
}
|
||||
baseMapper.deleteById(id);
|
||||
@ -83,8 +131,8 @@ public class CementMixPileRealtimeServiceImpl extends ServiceImpl<CementMixPileR
|
||||
@Override
|
||||
public CementMixPileRealtimeVo queryById(String id) {
|
||||
List<CementMixPileRealtimeVo> list = this.queryList(new MapBuilder<String, Object>()
|
||||
.put("id", id)
|
||||
.build());
|
||||
.put("id", id)
|
||||
.build());
|
||||
CementMixPileRealtimeVo entity = CollUtil.getFirst(list);
|
||||
if (entity == null) {
|
||||
throw new OpenAlertException("未找到对应实体");
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user