This commit is contained in:
parent
2173a5ef83
commit
1160635703
|
|
@ -271,11 +271,89 @@ public class SynService {
|
|||
}
|
||||
|
||||
log.info("========== 数据同步任务完成,共同步 {} 个设备,跳过 {} 个设备 ==========", totalCount, skippedCount);
|
||||
|
||||
// 处理没有分组的机场,将其添加到默认分组
|
||||
assignDocksToDefaultGroup();
|
||||
|
||||
} catch (Exception e) {
|
||||
log.error("数据同步任务执行失败: {}", e.getMessage(), e);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 将没有分组的机场添加到默认分组
|
||||
* 默认分组名称为 "默认分组"
|
||||
*/
|
||||
private void assignDocksToDefaultGroup() {
|
||||
try {
|
||||
log.info("========== 开始检查并分配未分组的机场到默认分组 ==========");
|
||||
|
||||
// 1. 查询或创建默认分组
|
||||
String defaultGroupName = "默认分组";
|
||||
Group defaultGroup = groupDomain.selectGroupByGroupName(defaultGroupName);
|
||||
|
||||
if (defaultGroup == null) {
|
||||
// 默认分组不存在,创建它
|
||||
log.info("默认分组不存在,开始创建: {}", defaultGroupName);
|
||||
defaultGroup = new Group();
|
||||
defaultGroup.setGroupName(defaultGroupName);
|
||||
defaultGroup.setCreateBy("system");
|
||||
groupDomain.insertGroup(defaultGroup);
|
||||
log.info("默认分组创建成功: groupId={}, groupName={}", defaultGroup.getGroupId(), defaultGroupName);
|
||||
} else {
|
||||
log.info("默认分组已存在: groupId={}, groupName={}", defaultGroup.getGroupId(), defaultGroupName);
|
||||
}
|
||||
|
||||
Long defaultGroupId = defaultGroup.getGroupId();
|
||||
|
||||
// 2. 查询所有机场
|
||||
Dock queryDock = new Dock();
|
||||
List<Dock> allDocks = dockDomain.selectDockList(queryDock);
|
||||
log.info("查询到机场总数: {}", allDocks != null ? allDocks.size() : 0);
|
||||
|
||||
if (allDocks == null || allDocks.isEmpty()) {
|
||||
log.info("没有机场需要处理");
|
||||
return;
|
||||
}
|
||||
|
||||
int assignedCount = 0;
|
||||
int alreadyInGroupCount = 0;
|
||||
|
||||
// 3. 遍历所有机场,检查是否在分组中
|
||||
for (Dock dock : allDocks) {
|
||||
try {
|
||||
Long dockId = dock.getDockId();
|
||||
|
||||
// 查询该机场是否已经在任何分组中
|
||||
List<DockGroup> existingGroups = dockGroupDomain.selectDockGroupByDockId(dockId);
|
||||
|
||||
if (existingGroups == null || existingGroups.isEmpty()) {
|
||||
// 机场没有分组,添加到默认分组
|
||||
DockGroup dockGroup = new DockGroup();
|
||||
dockGroup.setDockId(dockId);
|
||||
dockGroup.setGroupId(defaultGroupId);
|
||||
dockGroup.setCreateBy("system");
|
||||
|
||||
dockGroupDomain.insertDockGroup(dockGroup);
|
||||
assignedCount++;
|
||||
log.info("机场 [ID:{}, Name:{}] 已添加到默认分组", dockId, dock.getDockName());
|
||||
} else {
|
||||
alreadyInGroupCount++;
|
||||
log.debug("机场 [ID:{}, Name:{}] 已在分组中,跳过", dockId, dock.getDockName());
|
||||
}
|
||||
} catch (Exception e) {
|
||||
log.error("处理机场分组失败: dockId={}, error={}", dock.getDockId(), e.getMessage(), e);
|
||||
}
|
||||
}
|
||||
|
||||
log.info("========== 机场分组检查完成:新分配 {} 个机场到默认分组,{} 个机场已有分组 ==========",
|
||||
assignedCount, alreadyInGroupCount);
|
||||
|
||||
} catch (Exception e) {
|
||||
log.error("分配机场到默认分组失败: {}", e.getMessage(), e);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据设备类型进行不同的同步处理
|
||||
*
|
||||
|
|
|
|||
Loading…
Reference in New Issue