Skip to content

Commit

Permalink
Frontend: integração do envio de relatório
Browse files Browse the repository at this point in the history
Co-authored-by: Kauan Jose <[email protected]>
Co-authored-by: Ramires rocha <[email protected]>
Co-authored-by: Danilo melo <[email protected]>
  • Loading branch information
4 people committed Aug 19, 2024
1 parent a30281d commit 3e68f31
Show file tree
Hide file tree
Showing 4 changed files with 38 additions and 38 deletions.
27 changes: 3 additions & 24 deletions frontend/sige_ie/lib/facilities/ui/facilities.dart
Original file line number Diff line number Diff line change
Expand Up @@ -7,10 +7,6 @@ import 'package:sige_ie/places/data/place_response_model.dart';
import 'package:sige_ie/places/data/place_service.dart';
import '../../config/app_styles.dart';
import '../../areas/data/area_service.dart';
import 'dart:io';
import 'package:http/http.dart' as http;
import 'package:path_provider/path_provider.dart';
import 'package:path/path.dart' as path;

class FacilitiesPage extends StatefulWidget {
const FacilitiesPage({super.key});
Expand Down Expand Up @@ -371,28 +367,11 @@ class _FacilitiesPageState extends State<FacilitiesPage> {
}

Future<void> _exportToPDF(int placeId) async {
final response =
await http.get(Uri.parse('$urlUniversal/api/places/$placeId/report'));

if (response.statusCode == 200) {
final directory = await getApplicationDocumentsDirectory();
final filePath = path.join(directory.path, 'report_$placeId.pdf');
final file = File(filePath);
await file.writeAsBytes(response.bodyBytes);

ScaffoldMessenger.of(_scaffoldContext).showSnackBar(
SnackBar(content: Text('PDF baixado com sucesso: $filePath')),
);
} else {
ScaffoldMessenger.of(_scaffoldContext).showSnackBar(
const SnackBar(content: Text('Falha ao baixar o PDF')),
);
}
_placeService.downloadFile('$urlUniversal/api/places/$placeId/report-pdf/', 'document.pdf',);
}

void _exportToExcel(int placeId) {
// Implement your Excel export logic here
print("Export to Excel for place $placeId");
Future<void> _exportToExcel(int placeId) async {
_placeService.downloadFile('$urlUniversal/api/places/$placeId/report-csv/', 'report.xlsx',);
}

@override
Expand Down
23 changes: 23 additions & 0 deletions frontend/sige_ie/lib/places/data/place_service.dart
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,8 @@ import 'package:sige_ie/core/data/universalURL.dart';
import 'package:sige_ie/main.dart';
import 'package:sige_ie/places/data/place_request_model.dart';
import 'package:sige_ie/places/data/place_response_model.dart';
import 'package:path_provider/path_provider.dart';
import 'dart:io';

class PlaceService {
final Logger _logger = Logger('PlaceService');
Expand Down Expand Up @@ -110,4 +112,25 @@ class PlaceService {
return false;
}
}

Future<void> downloadFile(String url, String fileName) async {
try {
// Fazer a solicitação HTTP para o backend
final response = await client.get(Uri.parse(url));

if (response.statusCode == 200) {
// Salvar o arquivo localmente
final directory = await getApplicationDocumentsDirectory();
final filePath = '${directory.path}/$fileName';
final file = File(filePath);
await file.writeAsBytes(response.bodyBytes);
_logger.info('Arquivo baixado com sucesso');
} else {
throw Exception('Falha ao baixar o arquivo');
}
} catch (e) {
_logger.info('Error during donwload file: $e');
}
}

}
24 changes: 12 additions & 12 deletions frontend/sige_ie/pubspec.lock
Original file line number Diff line number Diff line change
Expand Up @@ -396,26 +396,26 @@ packages:
dependency: transitive
description:
name: leak_tracker
sha256: "7f0df31977cb2c0b88585095d168e689669a2cc9b97c309665e3386f3e9d341a"
sha256: "78eb209deea09858f5269f5a5b02be4049535f568c07b275096836f01ea323fa"
url: "https://pub.dev"
source: hosted
version: "10.0.4"
version: "10.0.0"
leak_tracker_flutter_testing:
dependency: transitive
description:
name: leak_tracker_flutter_testing
sha256: "06e98f569d004c1315b991ded39924b21af84cf14cc94791b8aea337d25b57f8"
sha256: b46c5e37c19120a8a01918cfaf293547f47269f7cb4b0058f21531c2465d6ef0
url: "https://pub.dev"
source: hosted
version: "3.0.3"
version: "2.0.1"
leak_tracker_testing:
dependency: transitive
description:
name: leak_tracker_testing
sha256: "6ba465d5d76e67ddf503e1161d1f4a6bc42306f9d66ca1e8f079a47290fb06d3"
sha256: a597f72a664dbd293f3bfc51f9ba69816f84dcd403cdac7066cb3f6003f3ab47
url: "https://pub.dev"
source: hosted
version: "3.0.1"
version: "2.0.1"
lints:
dependency: transitive
description:
Expand Down Expand Up @@ -460,10 +460,10 @@ packages:
dependency: transitive
description:
name: meta
sha256: "7687075e408b093f36e6bbf6c91878cc0d4cd10f409506f7bc996f68220b9136"
sha256: d584fa6707a52763a52446f02cc621b077888fb63b93bbcb1143a7be5a0c0c04
url: "https://pub.dev"
source: hosted
version: "1.12.0"
version: "1.11.0"
mime:
dependency: "direct main"
description:
Expand Down Expand Up @@ -673,10 +673,10 @@ packages:
dependency: transitive
description:
name: test_api
sha256: "9955ae474176f7ac8ee4e989dadfb411a58c30415bcfb648fa04b2b8a03afa7f"
sha256: "5c2f730018264d276c20e4f1503fd1308dfbbae39ec8ee63c5236311ac06954b"
url: "https://pub.dev"
source: hosted
version: "0.7.0"
version: "0.6.1"
typed_data:
dependency: transitive
description:
Expand Down Expand Up @@ -817,10 +817,10 @@ packages:
dependency: transitive
description:
name: vm_service
sha256: "3923c89304b715fb1eb6423f017651664a03bf5f4b29983627c4da791f74a4ec"
sha256: b3d56ff4341b8f182b96aceb2fa20e3dcb336b9f867bc0eafc0de10f1048e957
url: "https://pub.dev"
source: hosted
version: "14.2.1"
version: "13.0.0"
web:
dependency: transitive
description:
Expand Down
2 changes: 0 additions & 2 deletions frontend/sige_ie/pubspec.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -48,8 +48,6 @@ dependencies:
path_provider: ^2.0.2 # Ou a versão mais recente




dev_dependencies:
flutter_test:
sdk: flutter
Expand Down

0 comments on commit 3e68f31

Please sign in to comment.