优化
This commit is contained in:
@ -41,10 +41,10 @@ snail-job:
|
|||||||
spring:
|
spring:
|
||||||
ai:
|
ai:
|
||||||
dashscope:
|
dashscope:
|
||||||
api-key: xxx
|
api-key: sk-8d8df92fcbac4bd2922edba30b0bb8fa
|
||||||
chat:
|
chat:
|
||||||
options:
|
options:
|
||||||
model: qwen-plus
|
model: qwen3-max
|
||||||
datasource:
|
datasource:
|
||||||
type: com.zaxxer.hikari.HikariDataSource
|
type: com.zaxxer.hikari.HikariDataSource
|
||||||
# 动态数据源文档 https://www.kancloud.cn/tracy5546/dynamic-datasource/content
|
# 动态数据源文档 https://www.kancloud.cn/tracy5546/dynamic-datasource/content
|
||||||
|
|||||||
@ -63,6 +63,11 @@ public class DroDroneBigPicture extends BaseEntity {
|
|||||||
*/
|
*/
|
||||||
private Long recognizePic;
|
private Long recognizePic;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 识别结果
|
||||||
|
*/
|
||||||
|
private String recognizeResult;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* tif文件
|
* tif文件
|
||||||
*/
|
*/
|
||||||
|
|||||||
@ -86,6 +86,11 @@ public class DroDroneBigPictureVo implements Serializable {
|
|||||||
@ExcelProperty(value = "识别结果图片")
|
@ExcelProperty(value = "识别结果图片")
|
||||||
private Long recognizePic;
|
private Long recognizePic;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 识别结果
|
||||||
|
*/
|
||||||
|
private String recognizeResult;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* tif文件
|
* tif文件
|
||||||
*/
|
*/
|
||||||
|
|||||||
@ -10,6 +10,7 @@ import org.dromara.facility.domain.dto.photovoltaicpanelparts.FacPhotovoltaicPan
|
|||||||
import org.dromara.facility.domain.dto.photovoltaicpanelparts.FacPhotovoltaicPanelPartsQueryReq;
|
import org.dromara.facility.domain.dto.photovoltaicpanelparts.FacPhotovoltaicPanelPartsQueryReq;
|
||||||
import org.dromara.facility.domain.vo.photovoltaicpanelparts.FacPhotovoltaicPanelPartsByPanelNameVo;
|
import org.dromara.facility.domain.vo.photovoltaicpanelparts.FacPhotovoltaicPanelPartsByPanelNameVo;
|
||||||
import org.dromara.manager.recognizermanager.vo.RecognizeConvertCoordinateResult;
|
import org.dromara.manager.recognizermanager.vo.RecognizeConvertCoordinateResult;
|
||||||
|
import org.dromara.progress.domain.vo.progressplandetail.PgsProgressPlanDetailRecognizerVo;
|
||||||
|
|
||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
@ -108,6 +109,5 @@ public interface IFacPhotovoltaicPanelPartsService {
|
|||||||
* @param coordinateList 识别结果
|
* @param coordinateList 识别结果
|
||||||
* @param type 类型
|
* @param type 类型
|
||||||
*/
|
*/
|
||||||
void updateFinishNumberByCoordinate(List<Long> projectIds, List<RecognizeConvertCoordinateResult> coordinateList, String type);
|
List<PgsProgressPlanDetailRecognizerVo> updateFinishNumberByCoordinate(List<Long> projectIds, List<RecognizeConvertCoordinateResult> coordinateList, String type);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -13,6 +13,7 @@ import org.dromara.facility.domain.dto.photovoltaicpanel.FacPhotovoltaicPanelUpd
|
|||||||
import org.dromara.facility.domain.vo.photovoltaicpanel.FacPhotovoltaicPanelVo;
|
import org.dromara.facility.domain.vo.photovoltaicpanel.FacPhotovoltaicPanelVo;
|
||||||
import org.dromara.manager.recognizermanager.vo.RecognizeConvertCoordinateResult;
|
import org.dromara.manager.recognizermanager.vo.RecognizeConvertCoordinateResult;
|
||||||
import org.dromara.progress.domain.PgsProgressCategory;
|
import org.dromara.progress.domain.PgsProgressCategory;
|
||||||
|
import org.dromara.progress.domain.vo.progressplandetail.PgsProgressPlanDetailRecognizerVo;
|
||||||
|
|
||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@ -136,7 +137,7 @@ public interface IFacPhotovoltaicPanelService extends IService<FacPhotovoltaicPa
|
|||||||
* @param coordinateList 坐标列表
|
* @param coordinateList 坐标列表
|
||||||
* @param type 类型
|
* @param type 类型
|
||||||
*/
|
*/
|
||||||
void updateFinishNumberByCoordinate(List<Long> projectIds,
|
List<PgsProgressPlanDetailRecognizerVo> updateFinishNumberByCoordinate(List<Long> projectIds,
|
||||||
List<RecognizeConvertCoordinateResult> coordinateList,
|
List<RecognizeConvertCoordinateResult> coordinateList,
|
||||||
String type);
|
String type);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -36,6 +36,7 @@ import org.dromara.manager.recognizermanager.enums.RecognizerTypeEnum;
|
|||||||
import org.dromara.manager.recognizermanager.vo.RecognizeConvertCoordinateResult;
|
import org.dromara.manager.recognizermanager.vo.RecognizeConvertCoordinateResult;
|
||||||
import org.dromara.progress.constant.PgsProgressCategoryConstant;
|
import org.dromara.progress.constant.PgsProgressCategoryConstant;
|
||||||
import org.dromara.progress.domain.PgsProgressCategory;
|
import org.dromara.progress.domain.PgsProgressCategory;
|
||||||
|
import org.dromara.progress.domain.vo.progressplandetail.PgsProgressPlanDetailRecognizerVo;
|
||||||
import org.dromara.progress.service.IPgsProgressCategoryService;
|
import org.dromara.progress.service.IPgsProgressCategoryService;
|
||||||
import org.dromara.project.service.IBusProjectService;
|
import org.dromara.project.service.IBusProjectService;
|
||||||
import org.locationtech.jts.geom.Coordinate;
|
import org.locationtech.jts.geom.Coordinate;
|
||||||
@ -826,15 +827,16 @@ public class FacPhotovoltaicPanelPartsServiceImpl implements IFacPhotovoltaicPan
|
|||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
@Transactional(rollbackFor = Exception.class)
|
@Transactional(rollbackFor = Exception.class)
|
||||||
public void updateFinishNumberByCoordinate(List<Long> projectIds,
|
public List<PgsProgressPlanDetailRecognizerVo> updateFinishNumberByCoordinate(List<Long> projectIds,
|
||||||
List<RecognizeConvertCoordinateResult> coordinateList,
|
List<RecognizeConvertCoordinateResult> coordinateList,
|
||||||
String type) {
|
String type) {
|
||||||
|
List<PgsProgressPlanDetailRecognizerVo> recognizeVoList = new ArrayList<>();
|
||||||
if (CollUtil.isEmpty(coordinateList)) {
|
if (CollUtil.isEmpty(coordinateList)) {
|
||||||
return;
|
return recognizeVoList;
|
||||||
}
|
}
|
||||||
List<IdCoordinatePoint> idCoordinatePointList = getIdCoordinatePointList(projectIds, type);
|
List<IdCoordinatePoint> idCoordinatePointList = getIdCoordinatePointList(projectIds, type);
|
||||||
if (CollUtil.isEmpty(idCoordinatePointList)) {
|
if (CollUtil.isEmpty(idCoordinatePointList)) {
|
||||||
return;
|
return recognizeVoList;
|
||||||
}
|
}
|
||||||
// 判断识别出来的坐标是否包含某个点
|
// 判断识别出来的坐标是否包含某个点
|
||||||
List<Coordinate> coordinates = coordinateList.stream().map(coordinate ->
|
List<Coordinate> coordinates = coordinateList.stream().map(coordinate ->
|
||||||
@ -843,8 +845,18 @@ public class FacPhotovoltaicPanelPartsServiceImpl implements IFacPhotovoltaicPan
|
|||||||
final double distance = 1.0;
|
final double distance = 1.0;
|
||||||
Set<Long> matchPoints = JtsPointMatcher.matchPoints(coordinates, idCoordinatePointList, distance);
|
Set<Long> matchPoints = JtsPointMatcher.matchPoints(coordinates, idCoordinatePointList, distance);
|
||||||
if (CollUtil.isEmpty(matchPoints)) {
|
if (CollUtil.isEmpty(matchPoints)) {
|
||||||
return;
|
return recognizeVoList;
|
||||||
}
|
}
|
||||||
|
List<PgsProgressPlanDetailRecognizerVo> voList = idCoordinatePointList.stream()
|
||||||
|
.filter(idCoordinatePoint -> matchPoints.contains(idCoordinatePoint.getId()))
|
||||||
|
.map(idCoordinatePoint -> {
|
||||||
|
PgsProgressPlanDetailRecognizerVo vo = new PgsProgressPlanDetailRecognizerVo();
|
||||||
|
vo.setId(idCoordinatePoint.getId());
|
||||||
|
vo.setName(idCoordinatePoint.getName());
|
||||||
|
vo.setType(type);
|
||||||
|
return vo;
|
||||||
|
}).toList();
|
||||||
|
recognizeVoList.addAll(voList);
|
||||||
// 根据类型,更新对应数据
|
// 根据类型,更新对应数据
|
||||||
if (type.equals(RecognizerTypeEnum.HOLE.getValue())) {
|
if (type.equals(RecognizerTypeEnum.HOLE.getValue())) {
|
||||||
photovoltaicPanelPointService.updateFinishNumberByCoordinate(projectIds, matchPoints);
|
photovoltaicPanelPointService.updateFinishNumberByCoordinate(projectIds, matchPoints);
|
||||||
@ -853,6 +865,7 @@ public class FacPhotovoltaicPanelPartsServiceImpl implements IFacPhotovoltaicPan
|
|||||||
} else if (type.equals(RecognizerTypeEnum.BRACKET.getValue())) {
|
} else if (type.equals(RecognizerTypeEnum.BRACKET.getValue())) {
|
||||||
photovoltaicPanelSupportService.updateFinishNumberByCoordinate(projectIds, matchPoints);
|
photovoltaicPanelSupportService.updateFinishNumberByCoordinate(projectIds, matchPoints);
|
||||||
}
|
}
|
||||||
|
return recognizeVoList;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@ -41,6 +41,7 @@ import org.dromara.progress.domain.PgsProgressCategory;
|
|||||||
import org.dromara.progress.domain.PgsProgressPlan;
|
import org.dromara.progress.domain.PgsProgressPlan;
|
||||||
import org.dromara.progress.domain.PgsProgressPlanDetail;
|
import org.dromara.progress.domain.PgsProgressPlanDetail;
|
||||||
import org.dromara.progress.domain.vo.progressplandetail.PgsProgressPlanDetailFinishedVo;
|
import org.dromara.progress.domain.vo.progressplandetail.PgsProgressPlanDetailFinishedVo;
|
||||||
|
import org.dromara.progress.domain.vo.progressplandetail.PgsProgressPlanDetailRecognizerVo;
|
||||||
import org.dromara.progress.service.IPgsProgressCategoryService;
|
import org.dromara.progress.service.IPgsProgressCategoryService;
|
||||||
import org.dromara.progress.service.IPgsProgressPlanDetailService;
|
import org.dromara.progress.service.IPgsProgressPlanDetailService;
|
||||||
import org.dromara.progress.service.IPgsProgressPlanService;
|
import org.dromara.progress.service.IPgsProgressPlanService;
|
||||||
@ -765,9 +766,10 @@ public class FacPhotovoltaicPanelServiceImpl extends ServiceImpl<FacPhotovoltaic
|
|||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
@Transactional(rollbackFor = Exception.class)
|
@Transactional(rollbackFor = Exception.class)
|
||||||
public void updateFinishNumberByCoordinate(List<Long> projectIds,
|
public List<PgsProgressPlanDetailRecognizerVo> updateFinishNumberByCoordinate(List<Long> projectIds,
|
||||||
List<RecognizeConvertCoordinateResult> coordinateList,
|
List<RecognizeConvertCoordinateResult> coordinateList,
|
||||||
String type) {
|
String type) {
|
||||||
|
List<PgsProgressPlanDetailRecognizerVo> recognizeVoList = new ArrayList<>();
|
||||||
// 获取项目下的所有未完成的光伏板
|
// 获取项目下的所有未完成的光伏板
|
||||||
List<FacPhotovoltaicPanel> panelList = this.lambdaQuery()
|
List<FacPhotovoltaicPanel> panelList = this.lambdaQuery()
|
||||||
.in(FacPhotovoltaicPanel::getProjectId, projectIds)
|
.in(FacPhotovoltaicPanel::getProjectId, projectIds)
|
||||||
@ -776,7 +778,7 @@ public class FacPhotovoltaicPanelServiceImpl extends ServiceImpl<FacPhotovoltaic
|
|||||||
.eq(type.equals(RecognizerTypeEnum.PANEL.getValue()), FacPhotovoltaicPanel::getProgressCategoryName, "组件安装")
|
.eq(type.equals(RecognizerTypeEnum.PANEL.getValue()), FacPhotovoltaicPanel::getProgressCategoryName, "组件安装")
|
||||||
.list();
|
.list();
|
||||||
if (CollUtil.isEmpty(panelList)) {
|
if (CollUtil.isEmpty(panelList)) {
|
||||||
return;
|
return recognizeVoList;
|
||||||
}
|
}
|
||||||
// 判断识别出来的坐标是否包含在某个面内
|
// 判断识别出来的坐标是否包含在某个面内
|
||||||
Set<FacPhotovoltaicPanel> finishPanelList = new HashSet<>();
|
Set<FacPhotovoltaicPanel> finishPanelList = new HashSet<>();
|
||||||
@ -785,6 +787,11 @@ public class FacPhotovoltaicPanelServiceImpl extends ServiceImpl<FacPhotovoltaic
|
|||||||
FacPhotovoltaicPanel containingPanel = JSTUtil.findContainingPanel(result, panelList);
|
FacPhotovoltaicPanel containingPanel = JSTUtil.findContainingPanel(result, panelList);
|
||||||
if (containingPanel != null) {
|
if (containingPanel != null) {
|
||||||
log.info("识别到的光伏板:{}", containingPanel.getName());
|
log.info("识别到的光伏板:{}", containingPanel.getName());
|
||||||
|
PgsProgressPlanDetailRecognizerVo vo = new PgsProgressPlanDetailRecognizerVo();
|
||||||
|
vo.setId(containingPanel.getId());
|
||||||
|
vo.setName(containingPanel.getName());
|
||||||
|
vo.setType(type);
|
||||||
|
recognizeVoList.add(vo);
|
||||||
finishPanelList.add(containingPanel);
|
finishPanelList.add(containingPanel);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -892,6 +899,7 @@ public class FacPhotovoltaicPanelServiceImpl extends ServiceImpl<FacPhotovoltaic
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
return recognizeVoList;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -0,0 +1,30 @@
|
|||||||
|
package org.dromara.progress.domain.vo.progressplandetail;
|
||||||
|
|
||||||
|
import lombok.AllArgsConstructor;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.NoArgsConstructor;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author lilemy
|
||||||
|
* @date 2025-11-19 19:08
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
@NoArgsConstructor
|
||||||
|
@AllArgsConstructor
|
||||||
|
public class PgsProgressPlanDetailRecognizerVo {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 主键
|
||||||
|
*/
|
||||||
|
private Long id;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 名称
|
||||||
|
*/
|
||||||
|
private String name;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 类型
|
||||||
|
*/
|
||||||
|
private String type;
|
||||||
|
}
|
||||||
@ -46,10 +46,7 @@ import org.dromara.progress.domain.PgsProgressPlanDetail;
|
|||||||
import org.dromara.progress.domain.dto.progressplandetail.*;
|
import org.dromara.progress.domain.dto.progressplandetail.*;
|
||||||
import org.dromara.progress.domain.enums.PgsFinishStatusEnum;
|
import org.dromara.progress.domain.enums.PgsFinishStatusEnum;
|
||||||
import org.dromara.progress.domain.enums.PgsProgressUnitTypeEnum;
|
import org.dromara.progress.domain.enums.PgsProgressUnitTypeEnum;
|
||||||
import org.dromara.progress.domain.vo.progressplandetail.PgsProgressPlanDetailFinishedVo;
|
import org.dromara.progress.domain.vo.progressplandetail.*;
|
||||||
import org.dromara.progress.domain.vo.progressplandetail.PgsProgressPlanDetailNumVo;
|
|
||||||
import org.dromara.progress.domain.vo.progressplandetail.PgsProgressPlanDetailUnFinishVo;
|
|
||||||
import org.dromara.progress.domain.vo.progressplandetail.PgsProgressPlanDetailVo;
|
|
||||||
import org.dromara.progress.mapper.PgsProgressPlanDetailMapper;
|
import org.dromara.progress.mapper.PgsProgressPlanDetailMapper;
|
||||||
import org.dromara.progress.service.IPgsProgressCategoryService;
|
import org.dromara.progress.service.IPgsProgressCategoryService;
|
||||||
import org.dromara.progress.service.IPgsProgressPlanDetailService;
|
import org.dromara.progress.service.IPgsProgressPlanDetailService;
|
||||||
@ -1240,6 +1237,7 @@ public class PgsProgressPlanDetailServiceImpl extends ServiceImpl<PgsProgressPla
|
|||||||
// 根据识别到的类型进行分组
|
// 根据识别到的类型进行分组
|
||||||
Map<String, List<RecognizeTargetVo>> typeMap = targets.stream()
|
Map<String, List<RecognizeTargetVo>> typeMap = targets.stream()
|
||||||
.collect(Collectors.groupingBy(RecognizeTargetVo::getType));
|
.collect(Collectors.groupingBy(RecognizeTargetVo::getType));
|
||||||
|
List<PgsProgressPlanDetailRecognizerVo> recognizerVoList = new ArrayList<>();
|
||||||
for (Map.Entry<String, List<RecognizeTargetVo>> entry : typeMap.entrySet()) {
|
for (Map.Entry<String, List<RecognizeTargetVo>> entry : typeMap.entrySet()) {
|
||||||
String type = entry.getKey();
|
String type = entry.getKey();
|
||||||
List<RecognizeTargetVo> value = entry.getValue();
|
List<RecognizeTargetVo> value = entry.getValue();
|
||||||
@ -1258,13 +1256,18 @@ public class PgsProgressPlanDetailServiceImpl extends ServiceImpl<PgsProgressPla
|
|||||||
// 处理对应设施
|
// 处理对应设施
|
||||||
if (type.equals(RecognizerTypeEnum.PANEL.getValue())
|
if (type.equals(RecognizerTypeEnum.PANEL.getValue())
|
||||||
|| type.equals(RecognizerTypeEnum.BRACKET.getValue())) {
|
|| type.equals(RecognizerTypeEnum.BRACKET.getValue())) {
|
||||||
photovoltaicPanelService.updateFinishNumberByCoordinate(projectIds, coordinateList, type);
|
List<PgsProgressPlanDetailRecognizerVo> recognizers = photovoltaicPanelService
|
||||||
|
.updateFinishNumberByCoordinate(projectIds, coordinateList, type);
|
||||||
|
recognizerVoList.addAll(recognizers);
|
||||||
} else if (type.equals(RecognizerTypeEnum.HOLE.getValue())
|
} else if (type.equals(RecognizerTypeEnum.HOLE.getValue())
|
||||||
|| type.equals(RecognizerTypeEnum.COLUMN.getValue())) {
|
|| type.equals(RecognizerTypeEnum.COLUMN.getValue())) {
|
||||||
photovoltaicPanelPartsService.updateFinishNumberByCoordinate(projectIds, coordinateList, type);
|
List<PgsProgressPlanDetailRecognizerVo> recognizers = photovoltaicPanelPartsService
|
||||||
|
.updateFinishNumberByCoordinate(projectIds, coordinateList, type);
|
||||||
|
recognizerVoList.addAll(recognizers);
|
||||||
} else {
|
} else {
|
||||||
log.error("未知设施类型:{}", type);
|
log.error("未知设施类型:{}", type);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
// 将识别数据同步到图片上
|
// 将识别数据同步到图片上
|
||||||
Long recognizePic = null;
|
Long recognizePic = null;
|
||||||
@ -1280,11 +1283,13 @@ public class PgsProgressPlanDetailServiceImpl extends ServiceImpl<PgsProgressPla
|
|||||||
} catch (IOException | URISyntaxException e) {
|
} catch (IOException | URISyntaxException e) {
|
||||||
throw new ServiceException("将识别数据同步到图片上失败", HttpStatus.ERROR);
|
throw new ServiceException("将识别数据同步到图片上失败", HttpStatus.ERROR);
|
||||||
}
|
}
|
||||||
|
String recognizerStr = JSONUtil.toJsonStr(recognizerVoList);
|
||||||
// 更新数据和状态
|
// 更新数据和状态
|
||||||
boolean update = droDroneBigPictureService.lambdaUpdate()
|
boolean update = droDroneBigPictureService.lambdaUpdate()
|
||||||
.eq(DroDroneBigPicture::getId, bigPictureId)
|
.eq(DroDroneBigPicture::getId, bigPictureId)
|
||||||
.set(DroDroneBigPicture::getStatus, "6")
|
.set(DroDroneBigPicture::getStatus, "6")
|
||||||
.set(DroDroneBigPicture::getRecognizePic, recognizePic)
|
.set(DroDroneBigPicture::getRecognizePic, recognizePic)
|
||||||
|
.set(DroDroneBigPicture::getRecognizeResult, recognizerStr)
|
||||||
.update();
|
.update();
|
||||||
if (!update) {
|
if (!update) {
|
||||||
return CompletableFuture.completedFuture(false);
|
return CompletableFuture.completedFuture(false);
|
||||||
|
|||||||
@ -3,7 +3,6 @@ package org.dromara.safety.service.impl;
|
|||||||
import cn.hutool.core.collection.CollUtil;
|
import cn.hutool.core.collection.CollUtil;
|
||||||
import cn.hutool.json.JSONUtil;
|
import cn.hutool.json.JSONUtil;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
|
||||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
import jakarta.annotation.Resource;
|
import jakarta.annotation.Resource;
|
||||||
@ -20,7 +19,6 @@ import org.dromara.common.sse.config.SseProperties;
|
|||||||
import org.dromara.common.sse.dto.SeeMessageContentDto;
|
import org.dromara.common.sse.dto.SeeMessageContentDto;
|
||||||
import org.dromara.common.sse.dto.SseMessageDto;
|
import org.dromara.common.sse.dto.SseMessageDto;
|
||||||
import org.dromara.common.sse.utils.SseMessageUtils;
|
import org.dromara.common.sse.utils.SseMessageUtils;
|
||||||
import org.dromara.gps.domain.GpsEquipmentSonToGpsEquipmentSonVoMapperImpl;
|
|
||||||
import org.dromara.project.domain.BusProjectTeamMember;
|
import org.dromara.project.domain.BusProjectTeamMember;
|
||||||
import org.dromara.project.service.IBusProjectTeamMemberService;
|
import org.dromara.project.service.IBusProjectTeamMemberService;
|
||||||
import org.dromara.safety.domain.HseRecognizeRecord;
|
import org.dromara.safety.domain.HseRecognizeRecord;
|
||||||
|
|||||||
Reference in New Issue
Block a user