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.DockWithGPSVOConvert;
|
||||
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.IGroupService;
|
||||
import com.ruoyi.device.service.dto.DockDetailDTO;
|
||||
|
|
@ -34,6 +36,9 @@ public class GroupController extends BaseController
|
|||
|
||||
@Autowired
|
||||
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)
|
||||
{
|
||||
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<DockDetailDTO> dtoList = new ArrayList<>();
|
||||
for (DockGroupDTO dockGroupDTO : groupDTOS) {
|
||||
|
|
@ -133,6 +155,8 @@ public class GroupController extends BaseController
|
|||
return R.ok(DockWithGPSVOConvert.fromList(dtoList));
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* 查看所有分组
|
||||
*
|
||||
|
|
@ -143,10 +167,29 @@ public class GroupController extends BaseController
|
|||
public R<List<GroupVO>> getAllGroupIds()
|
||||
{
|
||||
List<GroupDTO> groupDTOs = groupService.getAllGroupIds();
|
||||
// Calculate aircraft count for each group
|
||||
|
||||
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){
|
||||
GroupVO groupVO = GroupVOConvert.from(groupDTO);
|
||||
List<DockGroupDTO> dockGroupDTOs = groupService.getDocksByGroupId(groupDTO.getGroupId());
|
||||
|
|
|
|||
Loading…
Reference in New Issue