This commit is contained in:
parent
d469656148
commit
4e81906fc0
|
|
@ -6,6 +6,8 @@ import com.ruoyi.device.api.domain.*;
|
||||||
import com.ruoyi.device.controller.convert.DockVOConvert;
|
import com.ruoyi.device.controller.convert.DockVOConvert;
|
||||||
import com.ruoyi.device.controller.convert.DockWithGPSVOConvert;
|
import com.ruoyi.device.controller.convert.DockWithGPSVOConvert;
|
||||||
import com.ruoyi.device.controller.convert.GroupVOConvert;
|
import com.ruoyi.device.controller.convert.GroupVOConvert;
|
||||||
|
import com.ruoyi.device.domain.api.IDockDomain;
|
||||||
|
import com.ruoyi.device.domain.model.Dock;
|
||||||
import com.ruoyi.device.service.api.IBufferDeviceService;
|
import com.ruoyi.device.service.api.IBufferDeviceService;
|
||||||
import com.ruoyi.device.service.api.IGroupService;
|
import com.ruoyi.device.service.api.IGroupService;
|
||||||
import com.ruoyi.device.service.dto.DockDetailDTO;
|
import com.ruoyi.device.service.dto.DockDetailDTO;
|
||||||
|
|
@ -34,6 +36,9 @@ public class GroupController extends BaseController
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private IBufferDeviceService bufferDeviceService;
|
private IBufferDeviceService bufferDeviceService;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private IDockDomain dockDomain;
|
||||||
/**
|
/**
|
||||||
* 创建分组
|
* 创建分组
|
||||||
*
|
*
|
||||||
|
|
@ -123,6 +128,23 @@ public class GroupController extends BaseController
|
||||||
public R<List<DockWithGPSVO>> getDocksByGroupId(@PathVariable("groupId") Long groupId)
|
public R<List<DockWithGPSVO>> getDocksByGroupId(@PathVariable("groupId") Long groupId)
|
||||||
{
|
{
|
||||||
logger.info("getDocksByGroupId {}", groupId);
|
logger.info("getDocksByGroupId {}", groupId);
|
||||||
|
|
||||||
|
if(Objects.equals(groupId, -1L)){
|
||||||
|
List<DockGroupDTO> groupDTOS = groupService.getDocksByGroupId(groupId);
|
||||||
|
List<DockDetailDTO> dtoList = new ArrayList<>();
|
||||||
|
Dock queryDock = new Dock();
|
||||||
|
List<Dock> allDocks = dockDomain.selectDockList(queryDock);
|
||||||
|
|
||||||
|
if (allDocks != null) {
|
||||||
|
for (Dock dock : allDocks) {
|
||||||
|
if (dock.getLastActiveTime() != null) {
|
||||||
|
DockDetailDTO dockDetailDTO = bufferDeviceService.getDockDetailById(dock.getDockId());
|
||||||
|
dtoList.add(dockDetailDTO);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return R.ok(DockWithGPSVOConvert.fromList(dtoList));
|
||||||
|
}else {
|
||||||
List<DockGroupDTO> groupDTOS = groupService.getDocksByGroupId(groupId);
|
List<DockGroupDTO> groupDTOS = groupService.getDocksByGroupId(groupId);
|
||||||
List<DockDetailDTO> dtoList = new ArrayList<>();
|
List<DockDetailDTO> dtoList = new ArrayList<>();
|
||||||
for (DockGroupDTO dockGroupDTO : groupDTOS) {
|
for (DockGroupDTO dockGroupDTO : groupDTOS) {
|
||||||
|
|
@ -133,6 +155,8 @@ public class GroupController extends BaseController
|
||||||
return R.ok(DockWithGPSVOConvert.fromList(dtoList));
|
return R.ok(DockWithGPSVOConvert.fromList(dtoList));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 查看所有分组
|
* 查看所有分组
|
||||||
*
|
*
|
||||||
|
|
@ -143,10 +167,29 @@ public class GroupController extends BaseController
|
||||||
public R<List<GroupVO>> getAllGroupIds()
|
public R<List<GroupVO>> getAllGroupIds()
|
||||||
{
|
{
|
||||||
List<GroupDTO> groupDTOs = groupService.getAllGroupIds();
|
List<GroupDTO> groupDTOs = groupService.getAllGroupIds();
|
||||||
// Calculate aircraft count for each group
|
|
||||||
|
|
||||||
List<GroupVO> groupVOS = new ArrayList<>();
|
List<GroupVO> groupVOS = new ArrayList<>();
|
||||||
|
|
||||||
|
// 添加虚拟的"最近使用"分组(groupId = -1)
|
||||||
|
// 统计 last_active_time 不为空的机场数量
|
||||||
|
Dock queryDock = new Dock();
|
||||||
|
List<Dock> allDocks = dockDomain.selectDockList(queryDock);
|
||||||
|
int recentlyUsedCount = 0;
|
||||||
|
if (allDocks != null) {
|
||||||
|
for (Dock dock : allDocks) {
|
||||||
|
if (dock.getLastActiveTime() != null) {
|
||||||
|
recentlyUsedCount++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// 创建"最近使用"虚拟分组
|
||||||
|
GroupVO recentlyUsedGroup = new GroupVO();
|
||||||
|
recentlyUsedGroup.setGroupId(-1L);
|
||||||
|
recentlyUsedGroup.setGroupName("最近使用");
|
||||||
|
recentlyUsedGroup.setDockCount(recentlyUsedCount);
|
||||||
|
groupVOS.add(recentlyUsedGroup);
|
||||||
|
|
||||||
|
// 添加其他真实分组
|
||||||
for(GroupDTO groupDTO : groupDTOs){
|
for(GroupDTO groupDTO : groupDTOs){
|
||||||
GroupVO groupVO = GroupVOConvert.from(groupDTO);
|
GroupVO groupVO = GroupVOConvert.from(groupDTO);
|
||||||
List<DockGroupDTO> dockGroupDTOs = groupService.getDocksByGroupId(groupDTO.getGroupId());
|
List<DockGroupDTO> dockGroupDTOs = groupService.getDocksByGroupId(groupDTO.getGroupId());
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue