优化和路径规划新适配

This commit is contained in:
2026-07-11 16:46:53 +08:00
parent 2124f3bc02
commit 1a4d0aedfd
43 changed files with 2454 additions and 685 deletions

View File

@@ -138,17 +138,19 @@ class DeviceTaskCubit extends Cubit<DeviceTaskState> {
return;
}
final result = await _cancelTaskUseCase.call(
CancelTaskParams(
deviceId: deviceId,
taskId: taskId,
orgId: user.orgId ?? 0,
siteId: siteId,
),
final params = CancelTaskParams(
deviceId: deviceId,
taskId: taskId,
orgId: user.orgId ?? 0,
siteId: siteId,
);
_logger.logWithLevel('[取消任务] 请求: POST /iot/deviceTask/cancelTask');
_logger.logWithLevel('[取消任务] 参数: deviceId=$deviceId, taskId=$taskId, orgId=${user.orgId ?? 0}, siteId=$siteId');
final result = await _cancelTaskUseCase.call(params);
result.fold(
(failure) {
_logger.logWithLevel('[取消任务] 响应失败: ${failure.message}');
_logger.logWithLevel('❌ 取消任务失败: ${failure.message}');
emit(state.copyWith(
isLoading: false,
@@ -158,6 +160,7 @@ class DeviceTaskCubit extends Cubit<DeviceTaskState> {
));
},
(success) {
_logger.logWithLevel('[取消任务] 响应成功: $success');
_logger.logWithLevel('✅ 取消任务成功');
emit(state.copyWith(
isLoading: false,
@@ -204,17 +207,19 @@ class DeviceTaskCubit extends Cubit<DeviceTaskState> {
return;
}
final result = await _pauseTaskUseCase.call(
PauseTaskParams(
deviceId: deviceId,
taskId: taskId,
orgId: user.orgId ?? 0,
siteId: siteId,
),
final params2 = PauseTaskParams(
deviceId: deviceId,
taskId: taskId,
orgId: user.orgId ?? 0,
siteId: siteId,
);
_logger.logWithLevel('[暂停任务] 请求: POST /iot/deviceTask/pauseTask');
_logger.logWithLevel('[暂停任务] 参数: deviceId=$deviceId, taskId=$taskId, orgId=${user.orgId ?? 0}, siteId=$siteId');
final result = await _pauseTaskUseCase.call(params2);
result.fold(
(failure) {
_logger.logWithLevel('[暂停任务] 响应失败: ${failure.message}');
_logger.logWithLevel('❌ 暂停任务失败: ${failure.message}');
emit(state.copyWith(
isLoading: false,
@@ -224,6 +229,7 @@ class DeviceTaskCubit extends Cubit<DeviceTaskState> {
));
},
(success) {
_logger.logWithLevel('[暂停任务] 响应成功: $success');
_logger.logWithLevel('✅ 暂停任务成功');
emit(state.copyWith(
isLoading: false,
@@ -270,17 +276,19 @@ class DeviceTaskCubit extends Cubit<DeviceTaskState> {
return;
}
final result = await _recoveryTaskUseCase.call(
RecoveryTaskParams(
deviceId: deviceId,
taskId: taskId,
orgId: user.orgId ?? 0,
siteId: siteId,
),
final params3 = RecoveryTaskParams(
deviceId: deviceId,
taskId: taskId,
orgId: user.orgId ?? 0,
siteId: siteId,
);
_logger.logWithLevel('[恢复任务] 请求: POST /iot/deviceTask/recoveryTask');
_logger.logWithLevel('[恢复任务] 参数: deviceId=$deviceId, taskId=$taskId, orgId=${user.orgId ?? 0}, siteId=$siteId');
final result = await _recoveryTaskUseCase.call(params3);
result.fold(
(failure) {
_logger.logWithLevel('[恢复任务] 响应失败: ${failure.message}');
_logger.logWithLevel('❌ 恢复任务失败: ${failure.message}');
emit(state.copyWith(
isLoading: false,
@@ -290,6 +298,7 @@ class DeviceTaskCubit extends Cubit<DeviceTaskState> {
));
},
(data) {
_logger.logWithLevel('[恢复任务] 响应成功: $data');
_logger.logWithLevel('✅ 恢复任务成功: $data');
emit(state.copyWith(
isLoading: false,

View File

@@ -378,19 +378,26 @@ class DevicesCubit extends Cubit<DevicesState> {
emit(state.copyWith(isLoading: false, errorMessage: failure.message));
},
(records) {
print('🔍 [DevicesCubit] 加载成功,记录数: ${records.length}');
// print('🔍 [DevicesCubit] 加载成功,记录数: ${records.length}');
// 将 WorkRecordEntity 转换为 Map<String, dynamic> 以兼容现有UI
final mappedRecords = records.map((record) {
// 🔥 核心修复:根据 jsonData 类型决定存储方式
// XML接口返回的已是 JSON 字符串,直接使用,避免二次序列化丢失路径数据
// JSON接口返回的 WorkRecordJsonData 对象,仍需序列化
String? jsonDataStr;
if (record.jsonData is String) {
jsonDataStr = record.jsonData as String;
} else if (record.jsonData is WorkRecordJsonData) {
jsonDataStr = _workRecordJsonDataToJson(record.jsonData as WorkRecordJsonData);
}
return <String, dynamic>{
'id': record.id.toString(),
'workName': record.workName,
'imgUrl': record.imgUrl ?? '',
'jsonData': record.jsonData != null
? _workRecordJsonDataToJson(record.jsonData!)
: null,
'jsonData': jsonDataStr,
};
}).toList();
print('🔍 [DevicesCubit] 转换后的数据: $mappedRecords');
// print('🔍 [DevicesCubit] 转换后的数据: $mappedRecords');
emit(state.copyWith(isLoading: false, workRecords: mappedRecords));
},
);