From dd5a7180835374a36e926ad54fc11fa94e67d0f9 Mon Sep 17 00:00:00 2001 From: Reginaldo Date: Mon, 5 Feb 2024 15:34:32 -0300 Subject: [PATCH] =?UTF-8?q?ajustes=20em=20diversos=20para=20exibir=20o=20c?= =?UTF-8?q?alend=C3=A1rio=20BR,=20ajuste=20para=20cadastro=20individual?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/main.dart | 12 ++++++++++ lib/screens/home_screen.dart | 2 +- .../register_citizen_screen.dart | 20 ++++++++++++---- .../register_home_screen.dart | 6 ++--- .../register_individual_screen.dart | 20 ++++++++++++++-- lib/screens/sync_init_screen.dart | 3 ++- lib/service/api/api_data_sync.dart | 1 + lib/service/db/db_querys.dart | 2 +- lib/service/db/db_sqlite_sync.dart | 8 +++++-- lib/widgets/alert_dialog_settings.dart | 2 +- lib/widgets/appbar_default.dart | 8 ++----- lib/widgets/input_search_text.dart | 4 ++-- pubspec.lock | 23 +++++++++++-------- pubspec.yaml | 2 ++ 14 files changed, 80 insertions(+), 33 deletions(-) diff --git a/lib/main.dart b/lib/main.dart index 6b7bacc..c2eb417 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -1,5 +1,6 @@ import 'dart:io'; import 'package:flutter/material.dart'; +import 'package:flutter_localizations/flutter_localizations.dart'; import 'package:rkm/config/color_palette.dart'; import 'package:rkm/config/routes.dart'; @@ -18,9 +19,20 @@ void main() { //Cadastro e edição do Cadastro do Cidadão, Cadastro Individual, Cadastro Domiciliar e Visita Domiciliar class MyApp extends StatelessWidget { const MyApp({super.key}); + + @override Widget build(BuildContext context) { return MaterialApp( + locale: const Locale('pt'), + localizationsDelegates: [ + GlobalMaterialLocalizations.delegate, + GlobalCupertinoLocalizations.delegate, + GlobalWidgetsLocalizations.delegate, + ], + supportedLocales: [ + const Locale('pt', 'BR'), // Adicione os locales que você precisa + ], theme: ThemeData( primaryColor: ColorPalette.primary, appBarTheme: AppBarTheme( diff --git a/lib/screens/home_screen.dart b/lib/screens/home_screen.dart index 46eecdc..e1ba5f3 100644 --- a/lib/screens/home_screen.dart +++ b/lib/screens/home_screen.dart @@ -105,7 +105,7 @@ class _HomeScreenState extends State { InputSearchText( hint: 'Busca cidadão (Por NOME ou CNS ou PRONTUÁRIO ou DATA NASCIMENTO)', fontSize: 20, - fontSizeHint: 11, + fontSizeHint: 13, controller: inputSearch, width: width*0.72, ), diff --git a/lib/screens/registers_citizen/register_citizen_screen.dart b/lib/screens/registers_citizen/register_citizen_screen.dart index 46c9660..4276106 100644 --- a/lib/screens/registers_citizen/register_citizen_screen.dart +++ b/lib/screens/registers_citizen/register_citizen_screen.dart @@ -150,12 +150,15 @@ class _RegisterCitizenScreenState extends State { var pickDate = await showDatePicker( context: context, + locale: Locale('pt','BR'), initialDate: DateTime.now(), firstDate: DateTime(1900), - lastDate: DateTime(2024)); + lastDate: DateTime(DateTime.now().year,12,31) + ); if (pickDate != null) { setState(() { if(type == 'birth'){ + dateDB = '${pickDate.year}-${pickDate.month<10?'0':''}${pickDate.month}-${pickDate.day<10?'0':''}${pickDate.day}'; date = formatData(year: pickDate.year, month: pickDate.month, day: pickDate.day); } @@ -215,8 +218,10 @@ class _RegisterCitizenScreenState extends State { for(int i=0; listVillageDB.length > i;i++){ villageDB.add('${listVillageDB[i]['NO_BAIRRO']}'); } - if(widget.listData[0]['NO_BAIRRO_LOGR']!=null && widget.listData[0]['NO_BAIRRO_LOGR']!='' && !villageDB.contains(widget.listData[0]['NO_BAIRRO_LOGR'])){ - villageDB.add(widget.listData[0]['NO_BAIRRO_LOGR']); + if(widget.listData.isNotEmpty){ + if(widget.listData[0]['NO_BAIRRO_LOGR']!=null && widget.listData[0]['NO_BAIRRO_LOGR']!='' && !villageDB.contains(widget.listData[0]['NO_BAIRRO_LOGR'])){ + villageDB.add(widget.listData[0]['NO_BAIRRO_LOGR']); + } } // print(villageDB); setState(() {}); @@ -514,7 +519,7 @@ class _RegisterCitizenScreenState extends State { getData()async{ // print('passou'); - // print(widget.listData); + // print(widget.listData[0]['ID_USUARIO_CADASTRO']); idCidadao = widget.listData[0]['ID_CIDADAO']; codSus = widget.listData[0]['CD_USUARIO_SUS']; nameController.text = widget.listData[0]['NOME_CIDADAO']; @@ -635,7 +640,12 @@ class _RegisterCitizenScreenState extends State { RGOrganController.text = widget.listData[0]['RG_ORGAO']==null?'':widget.listData[0]['RG_ORGAO']; RGDateController.text = widget.listData[0]['RG_DATA_EMISSAO']==null?'':widget.listData[0]['RG_DATA_EMISSAO']; RGDateDB = RGDateController.text; - selectTypeCertificateCod = int.parse(widget.listData[0]['TIPO_CERTIDAO']=='' || widget.listData[0]['TIPO_CERTIDAO']==null?'0':widget.listData[0]['TIPO_CERTIDAO']); + if(widget.listData[0]['TIPO_CERTIDAO'] is int){ + selectTypeCertificateCod = widget.listData[0]['TIPO_CERTIDAO']; + }else{ + selectTypeCertificateCod = int.parse(widget.listData[0]['TIPO_CERTIDAO']=='' || widget.listData[0]['TIPO_CERTIDAO']==null?'0':widget.listData[0]['TIPO_CERTIDAO']); + } + for(int i = 0;ConstVariable().itensCertificate.length >i;i++){ if(ConstVariable().itensCertificate[i].cod == selectTypeCertificateCod){ selectTypeCertificate = ConstVariable().itensCertificate[i].title; diff --git a/lib/screens/registers_citizen/register_home_screen.dart b/lib/screens/registers_citizen/register_home_screen.dart index 9a59774..3eaf118 100644 --- a/lib/screens/registers_citizen/register_home_screen.dart +++ b/lib/screens/registers_citizen/register_home_screen.dart @@ -129,9 +129,9 @@ class _RegisterHomeScreenState extends State { getUser(){ final PrefService _prefService = PrefService(); - _prefService.readCacheIdUsername('idUsuario').then((value){ + _prefService.readCacheIDUser().then((value){ if(value != null){ - idUsuario = value; + idUsuario = int.parse(value); } }); _prefService.readCacheUnidade().then((value){ @@ -632,7 +632,7 @@ class _RegisterHomeScreenState extends State { ), SwitchWithSubtitle( width: width*0.7, - title: 'Disponibilidade de Energia Elétroca', + title: 'Disponibilidade de Energia Elétrica', value: DISPONIBILIDADE_ENERGIA, onChanged:!editing?null: (value)=>setState(()=>DISPONIBILIDADE_ENERGIA = value), ), diff --git a/lib/screens/registers_citizen/register_individual_screen.dart b/lib/screens/registers_citizen/register_individual_screen.dart index c4042ec..1d12b1d 100644 --- a/lib/screens/registers_citizen/register_individual_screen.dart +++ b/lib/screens/registers_citizen/register_individual_screen.dart @@ -7,6 +7,8 @@ import 'package:rkm/service/db/db_querys.dart'; import 'package:rkm/widgets/button_default.dart'; import 'package:rkm/widgets/text_default.dart'; import 'package:rkm/widgets/title_containers.dart'; +import 'package:sqflite/sqflite.dart'; +import '../../service/db/db_sqlite_load.dart'; import '../../service/db/db_sqlite_sync.dart'; import '../../service/shared_preferences/shared_preferences_service.dart'; import '../../widgets/alert_dialog_default.dart'; @@ -162,9 +164,9 @@ class _RegisterIndividualScreenState extends State { final PrefService _prefService = PrefService(); getUser(){ - _prefService.readCacheIdUsername('idUsuario').then((value){ + _prefService.readCacheIDUser().then((value){ if(value != null){ - idUsuario = value; + idUsuario = int.parse(value); } }); _prefService.readCacheUnidade().then((value){ @@ -218,6 +220,20 @@ class _RegisterIndividualScreenState extends State { loadCadIndividual()async{ ID_CIDADAO = widget.listData[0]['ID_CIDADAO']; + print(widget.listData[0]['ID_USUARIO_CADASTRO']); + + Database db = await DbSqliteLoad().intialDB(); + // print('ID_PROFISSIONAL'); + // print(ID_PROFISSIONAL); + var query = "SELECT ID_PROFISSIONAL FROM PROFISSIONAIS"; + // var query = "SELECT * FROM PROFISSIONAIS"; + List list = await db.rawQuery(query); + print(list); + // if(widget.listData[0]['ID_USUARIO_CADASTRO']!='' && widget.listData[0]['ID_USUARIO_CADASTRO']!=null){ + // await DBQuerys().buscaProfissionalCadInd(widget.listData[0]['ID_USUARIO_CADASTRO']).then((value){ + // print(value); + // }); + // } await DBQuerys().buscaCadInvidual(ID_CIDADAO).then((dataCitizen)async{ // print(CD_USUARIO_SUS); diff --git a/lib/screens/sync_init_screen.dart b/lib/screens/sync_init_screen.dart index 86f76d6..c696069 100644 --- a/lib/screens/sync_init_screen.dart +++ b/lib/screens/sync_init_screen.dart @@ -1,4 +1,5 @@ import 'package:flutter/material.dart'; +import 'package:rkm/screens/home_screen.dart'; import 'package:rkm/screens/login/sync_login_screen.dart'; import 'package:rkm/service/api/api_data_sync.dart'; import 'package:rkm/service/db/db_sqlite_sync.dart'; @@ -157,7 +158,7 @@ class _SyncInitScreenState extends State { await DbSqliteSync().saveSync(codCity,codState,urlAPI,mode,nameCityApi,nameCityFront,codCityIbge,user,idUnidade,nomeUnidade,area,microarea).then((value)async{ countProg = 1; setState(() {}); - Navigator.pushNamed(context, '/import_sigtap'); + Navigator.pushReplacement(context, MaterialPageRoute(builder: (context)=>HomeScreen(username: user))); }); }); } diff --git a/lib/service/api/api_data_sync.dart b/lib/service/api/api_data_sync.dart index 13f8781..565ec94 100644 --- a/lib/service/api/api_data_sync.dart +++ b/lib/service/api/api_data_sync.dart @@ -42,6 +42,7 @@ class ApiDataSync{ Future syncProfissionais(urlAPI,mode,nameCityApi,user,idUnidade)async{ // http://192.168.0.42:8010/api/atb/desenvolvimento/corumbatai/admin/sync/3/profissionais final url = '${urlAPI}${mode}/${nameCityApi}/${user}/sync/${idUnidade}/profissionais'; + print(url); final response = await http.get(Uri.parse(url)); final map = json.decode(response.body); return map; diff --git a/lib/service/db/db_querys.dart b/lib/service/db/db_querys.dart index 3f1b6f0..50a94c5 100644 --- a/lib/service/db/db_querys.dart +++ b/lib/service/db/db_querys.dart @@ -167,7 +167,7 @@ class DBQuerys{ Database db = await DbSqliteLoad().intialDB(); var query = 'SELECT * FROM CIDADAOS WHERE NOME_CIDADAO = "$NOME_CIDADAO"'; List list = await db.rawQuery(query); - // print(list); + // print(list[0]['ID_USUARIO_CADASTRO']); return list; } Future buscaCBOProfissional(ID_PROFISSIONAL)async{ diff --git a/lib/service/db/db_sqlite_sync.dart b/lib/service/db/db_sqlite_sync.dart index dec418a..c543092 100644 --- a/lib/service/db/db_sqlite_sync.dart +++ b/lib/service/db/db_sqlite_sync.dart @@ -168,13 +168,17 @@ class DbSqliteSync{ return db; } Future insertCidadaos(var value,String type,String CD_USUARIO_SUS)async{ - List list = value; + //para a carga inicial o datalista funciona + List dataLista = value; + //testar depois ao incluir um novo cidadao se precisara do map data + // Map data = value; + List> rows = []; Database db = await DbSqliteLoad().intialDB(); Batch batch = db.batch(); if(type=='sync'){ - for (int i = 0; i < list.length; i++) { + for (int i = 0; i < dataLista.length; i++) { Map row = { 'ID_CIDADAO' : value[i]['idCidadao'], 'CD_USUARIO_SUS' : value[i]['cdUsuarioSus'], diff --git a/lib/widgets/alert_dialog_settings.dart b/lib/widgets/alert_dialog_settings.dart index ea55d95..53345f0 100644 --- a/lib/widgets/alert_dialog_settings.dart +++ b/lib/widgets/alert_dialog_settings.dart @@ -69,7 +69,7 @@ class AlertDialogSettings { Navigator.push(context,MaterialPageRoute(builder:(context) => SyncDataScreen(username: username,))); }, title: 'Sincronia de Envio', - body: 'Efetua a Sincronia de Envio levandoas informações\n' + body: 'Efetua a Sincronia de Envio levando as informações\n' 'do dispositivo para o ConectaSUS.', icon: Icons.send ), diff --git a/lib/widgets/appbar_default.dart b/lib/widgets/appbar_default.dart index 199dcd3..aa9047e 100644 --- a/lib/widgets/appbar_default.dart +++ b/lib/widgets/appbar_default.dart @@ -24,12 +24,8 @@ class AppBarDefault{ IconButtonDefault( icon: Icons.logout, color: ColorPalette.white, - onPressed: (){ - Navigator.push( - context, - MaterialPageRoute(builder: (context) => LoginSavedScreen(listControl: [])), - ); - }), + onPressed: ()=>Navigator.pushAndRemoveUntil(context,MaterialPageRoute(builder: (context) => LoginSavedScreen(listControl: [])),(Route route) => false) + ), ], ), ); diff --git a/lib/widgets/input_search_text.dart b/lib/widgets/input_search_text.dart index 38c6806..54f39f7 100644 --- a/lib/widgets/input_search_text.dart +++ b/lib/widgets/input_search_text.dart @@ -40,9 +40,9 @@ class InputSearchText extends StatelessWidget { fillColor: ColorPalette.appBar, prefixIcon: Icon(Icons.search), border: border?OutlineInputBorder():null, - // hintText: this.hint, + hintText: this.hint, hintStyle: TextStyle( - color: Colors.black, + color: Colors.black87, fontSize: this.fontSizeHint, ) ) diff --git a/pubspec.lock b/pubspec.lock index f78f766..06f7355 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -134,6 +134,11 @@ packages: url: "https://pub.dev" source: hosted version: "2.0.1" + flutter_localizations: + dependency: "direct main" + description: flutter + source: sdk + version: "0.0.0" flutter_test: dependency: "direct dev" description: flutter @@ -180,10 +185,10 @@ packages: dependency: "direct main" description: name: intl - sha256: a3715e3bc90294e971cb7dc063fbf3cd9ee0ebf8604ffeafabd9e6f16abbdbe6 + sha256: "3bc132a9dbce73a7e4a21a17d06e1878839ffbf975568bc875c60537824b0c4d" url: "https://pub.dev" source: hosted - version: "0.18.0" + version: "0.18.1" js: dependency: transitive description: @@ -292,10 +297,10 @@ packages: dependency: transitive description: name: plugin_platform_interface - sha256: "6a2128648c854906c53fa8e33986fc0247a1116122f9534dd20e3ab9e16a32bc" + sha256: "4820fbfdb9478b1ebae27888254d445073732dae3d6ea81f0b7e06d5dedc3f02" url: "https://pub.dev" source: hosted - version: "2.1.4" + version: "2.1.8" pointycastle: dependency: transitive description: @@ -316,10 +321,10 @@ packages: dependency: "direct main" description: name: shared_preferences - sha256: "858aaa72d8f61637d64e776aca82e1c67e6d9ee07979123c5d17115031c1b13b" + sha256: "81429e4481e1ccfb51ede496e916348668fd0921627779233bd24cc3ff6abd02" url: "https://pub.dev" source: hosted - version: "2.1.0" + version: "2.2.2" shared_preferences_android: dependency: transitive description: @@ -348,10 +353,10 @@ packages: dependency: transitive description: name: shared_preferences_platform_interface - sha256: fb5cf25c0235df2d0640ac1b1174f6466bd311f621574997ac59018a6664548d + sha256: "22e2ecac9419b4246d7c22bfbbda589e3acf5c0351137d87dd2939d984d37c3b" url: "https://pub.dev" source: hosted - version: "2.2.0" + version: "2.3.2" shared_preferences_web: dependency: transitive description: @@ -487,4 +492,4 @@ packages: version: "1.0.0" sdks: dart: ">=3.2.3 <4.0.0" - flutter: ">=3.3.0" + flutter: ">=3.10.0" diff --git a/pubspec.yaml b/pubspec.yaml index 0af7192..bb34a33 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -21,6 +21,8 @@ dependencies: shared_preferences: ^2.0.15 get: brasil_fields: + flutter_localizations: + sdk: flutter dev_dependencies: flutter_test: