优化和路径规划新适配
This commit is contained in:
@@ -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,
|
||||
|
||||
@@ -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));
|
||||
},
|
||||
);
|
||||
|
||||
Reference in New Issue
Block a user