diff --git a/android/app/build.gradle b/android/app/build.gradle index a9a4be3..2358b05 100644 --- a/android/app/build.gradle +++ b/android/app/build.gradle @@ -25,8 +25,14 @@ apply plugin: 'com.android.application' apply plugin: 'kotlin-android' apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle" +def keystoreProperties = new Properties() +def keystorePropertiesFile = rootProject.file('key.properties') +if (keystorePropertiesFile.exists()) { + keystoreProperties.load(new FileInputStream(keystorePropertiesFile)) +} + android { - compileSdkVersion 32 + compileSdkVersion 33 ndkVersion flutter.ndkVersion compileOptions { @@ -43,21 +49,40 @@ android { } defaultConfig { - // TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html). applicationId "com.ab.rkm.rkm" - // You can update the following values to match your application needs. - // For more information, see: https://docs.flutter.dev/deployment/android#reviewing-the-build-configuration. minSdkVersion 19 targetSdkVersion flutter.targetSdkVersion versionCode flutterVersionCode.toInteger() versionName flutterVersionName } + signingConfigs { + debug { + keyAlias keystoreProperties['keyAlias'] + keyPassword keystoreProperties['keyPassword'] + storeFile file(keystoreProperties['storeFile']) + storePassword keystoreProperties['storePassword'] + } + release { + keyAlias keystoreProperties['keyAlias'] + keyPassword keystoreProperties['keyPassword'] + storeFile keystoreProperties['storeFile'] ? file(keystoreProperties['storeFile']) : null + storePassword keystoreProperties['storePassword'] + } + } buildTypes { release { - // TODO: Add your own signing config for the release build. - // Signing with the debug keys for now, so `flutter run --release` works. + minifyEnabled true + shrinkResources false + lintOptions { + disable 'InvalidPackage' + disable "Instantiatable" + checkReleaseBuilds false + abortOnError false + + } signingConfig signingConfigs.debug + signingConfig signingConfigs.release } } } diff --git a/android/app/src/debug/ic_launcher-playstore.png b/android/app/src/debug/ic_launcher-playstore.png new file mode 100644 index 0000000..7d26c91 Binary files /dev/null and b/android/app/src/debug/ic_launcher-playstore.png differ diff --git a/android/app/src/debug/res/mipmap-anydpi-v26/ic_launcher.xml b/android/app/src/debug/res/mipmap-anydpi-v26/ic_launcher.xml new file mode 100644 index 0000000..036d09b --- /dev/null +++ b/android/app/src/debug/res/mipmap-anydpi-v26/ic_launcher.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/android/app/src/debug/res/mipmap-anydpi-v26/ic_launcher_round.xml b/android/app/src/debug/res/mipmap-anydpi-v26/ic_launcher_round.xml new file mode 100644 index 0000000..036d09b --- /dev/null +++ b/android/app/src/debug/res/mipmap-anydpi-v26/ic_launcher_round.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/android/app/src/debug/res/mipmap-hdpi/ic_launcher.png b/android/app/src/debug/res/mipmap-hdpi/ic_launcher.png new file mode 100644 index 0000000..a687725 Binary files /dev/null and b/android/app/src/debug/res/mipmap-hdpi/ic_launcher.png differ diff --git a/android/app/src/debug/res/mipmap-hdpi/ic_launcher_foreground.png b/android/app/src/debug/res/mipmap-hdpi/ic_launcher_foreground.png new file mode 100644 index 0000000..41f6515 Binary files /dev/null and b/android/app/src/debug/res/mipmap-hdpi/ic_launcher_foreground.png differ diff --git a/android/app/src/debug/res/mipmap-hdpi/ic_launcher_round.png b/android/app/src/debug/res/mipmap-hdpi/ic_launcher_round.png new file mode 100644 index 0000000..f15418c Binary files /dev/null and b/android/app/src/debug/res/mipmap-hdpi/ic_launcher_round.png differ diff --git a/android/app/src/debug/res/mipmap-mdpi/ic_launcher.png b/android/app/src/debug/res/mipmap-mdpi/ic_launcher.png new file mode 100644 index 0000000..51c5d9a Binary files /dev/null and b/android/app/src/debug/res/mipmap-mdpi/ic_launcher.png differ diff --git a/android/app/src/debug/res/mipmap-mdpi/ic_launcher_foreground.png b/android/app/src/debug/res/mipmap-mdpi/ic_launcher_foreground.png new file mode 100644 index 0000000..7418973 Binary files /dev/null and b/android/app/src/debug/res/mipmap-mdpi/ic_launcher_foreground.png differ diff --git a/android/app/src/debug/res/mipmap-mdpi/ic_launcher_round.png b/android/app/src/debug/res/mipmap-mdpi/ic_launcher_round.png new file mode 100644 index 0000000..845b309 Binary files /dev/null and b/android/app/src/debug/res/mipmap-mdpi/ic_launcher_round.png differ diff --git a/android/app/src/debug/res/mipmap-xhdpi/ic_launcher.png b/android/app/src/debug/res/mipmap-xhdpi/ic_launcher.png new file mode 100644 index 0000000..7a737bf Binary files /dev/null and b/android/app/src/debug/res/mipmap-xhdpi/ic_launcher.png differ diff --git a/android/app/src/debug/res/mipmap-xhdpi/ic_launcher_foreground.png b/android/app/src/debug/res/mipmap-xhdpi/ic_launcher_foreground.png new file mode 100644 index 0000000..18c2341 Binary files /dev/null and b/android/app/src/debug/res/mipmap-xhdpi/ic_launcher_foreground.png differ diff --git a/android/app/src/debug/res/mipmap-xhdpi/ic_launcher_round.png b/android/app/src/debug/res/mipmap-xhdpi/ic_launcher_round.png new file mode 100644 index 0000000..12403b6 Binary files /dev/null and b/android/app/src/debug/res/mipmap-xhdpi/ic_launcher_round.png differ diff --git a/android/app/src/debug/res/mipmap-xxhdpi/ic_launcher.png b/android/app/src/debug/res/mipmap-xxhdpi/ic_launcher.png new file mode 100644 index 0000000..163c4af Binary files /dev/null and b/android/app/src/debug/res/mipmap-xxhdpi/ic_launcher.png differ diff --git a/android/app/src/debug/res/mipmap-xxhdpi/ic_launcher_foreground.png b/android/app/src/debug/res/mipmap-xxhdpi/ic_launcher_foreground.png new file mode 100644 index 0000000..e9038e5 Binary files /dev/null and b/android/app/src/debug/res/mipmap-xxhdpi/ic_launcher_foreground.png differ diff --git a/android/app/src/debug/res/mipmap-xxhdpi/ic_launcher_round.png b/android/app/src/debug/res/mipmap-xxhdpi/ic_launcher_round.png new file mode 100644 index 0000000..563670c Binary files /dev/null and b/android/app/src/debug/res/mipmap-xxhdpi/ic_launcher_round.png differ diff --git a/android/app/src/debug/res/mipmap-xxxhdpi/ic_launcher.png b/android/app/src/debug/res/mipmap-xxxhdpi/ic_launcher.png new file mode 100644 index 0000000..30df58b Binary files /dev/null and b/android/app/src/debug/res/mipmap-xxxhdpi/ic_launcher.png differ diff --git a/android/app/src/debug/res/mipmap-xxxhdpi/ic_launcher_foreground.png b/android/app/src/debug/res/mipmap-xxxhdpi/ic_launcher_foreground.png new file mode 100644 index 0000000..54ed387 Binary files /dev/null and b/android/app/src/debug/res/mipmap-xxxhdpi/ic_launcher_foreground.png differ diff --git a/android/app/src/debug/res/mipmap-xxxhdpi/ic_launcher_round.png b/android/app/src/debug/res/mipmap-xxxhdpi/ic_launcher_round.png new file mode 100644 index 0000000..7bc9d92 Binary files /dev/null and b/android/app/src/debug/res/mipmap-xxxhdpi/ic_launcher_round.png differ diff --git a/android/app/src/debug/res/values/ic_launcher_background.xml b/android/app/src/debug/res/values/ic_launcher_background.xml new file mode 100644 index 0000000..6c2ed1b --- /dev/null +++ b/android/app/src/debug/res/values/ic_launcher_background.xml @@ -0,0 +1,4 @@ + + + #B7E0FD + \ No newline at end of file diff --git a/android/app/src/main/AndroidManifest.xml b/android/app/src/main/AndroidManifest.xml index 1a22d5b..898827c 100644 --- a/android/app/src/main/AndroidManifest.xml +++ b/android/app/src/main/AndroidManifest.xml @@ -3,7 +3,7 @@ { setState(() { stage = "Etapa 2 de 4 - Gravando os Procedimentos no Aplicativo"; }); - // print(value['procedimentos']); + // print(valueAPI['procedimentos']); await DbSqliteSigtap().saveProceduresSigtapDB(valueAPI['procedimentos']).then((value)async{ await DbSqliteSigtap().saveProceduresRegisterSigtapDB(valueAPI['procedimentosRegistros']).then((value)async{ setState(() { diff --git a/lib/screens/load_init_screen.dart b/lib/screens/load_init_screen.dart index 362407e..bce8cf5 100644 --- a/lib/screens/load_init_screen.dart +++ b/lib/screens/load_init_screen.dart @@ -4,6 +4,7 @@ import 'package:rkm/config/color_palette.dart'; import 'package:rkm/widgets/alert_dialog_default.dart'; import 'package:rkm/widgets/button_default.dart'; import 'package:rkm/widgets/text_default.dart'; +import '../config/const_variable.dart'; import '../service/api/api_data_load.dart'; import '../service/db/db_sqlite_load.dart'; import '../service/shared_preferences/shared_preferences_service.dart'; @@ -25,6 +26,8 @@ class _LoadInitScreenState extends State { bool loading = false; String nameCityApi = ''; String user = ''; + double countProg = 0.0; + @override void initState() { super.initState(); @@ -53,76 +56,117 @@ class _LoadInitScreenState extends State { print('idUsuario $idUsuario'); _prefService.createCacheidUsuario(idUsuario).then((value)async{ await ApiDataLoad().loadUnidades(urlAPI,mode,nameCityApi,user).then((value)async{ - if(value.length !=0){ + List list = value; + if(list.length !=0){ setState(() { messageSteps = "Etapa 1 de 7 - Gravando as Unidades no Aplicativo"; }); - await DbSqliteLoad().saveUnidadesDB(value).then((value)async{ - await ApiDataLoad().loadProcedimentos(urlAPI,mode,nameCityApi,user).then((value)async{ - setState(() { - messageSteps = "Etapa 2 de 7 - Gravando os Procedimentos no Aplicativo"; + for(int i=0;list.length > i;i++){ + await DbSqliteLoad().saveUnidadesDB(value,i).then((value)async{ + int cont = list.length!=0?list.length:0; + countProg = i/cont; + setState(() {}); + }); + } + await ApiDataLoad().loadProcedimentos(urlAPI,mode,nameCityApi,user).then((value)async{ + setState(() { + messageSteps = "Etapa 2 de 7 - Gravando os Procedimentos no Aplicativo"; + }); + List list = value; + for(int i=0;list.length > i;i++){ + await DbSqliteLoad().saveProceduresDB(value,i).then((value)async{ + int cont = list.length!=0?list.length:0; + countProg = i/cont; + setState(() {}); }); - await DbSqliteLoad().saveProceduresDB(value).then((value)async{ - print('finalizou save Procedures'); - await ApiDataLoad().loadProcedimentosRegistros(urlAPI,mode,nameCityApi,user).then((value)async{ - await DbSqliteLoad().saveProceduresRegisterDB(value).then((value)async{ - print('finalizou saveProceduresRegisterDB'); - await ApiDataLoad().loadCID(urlAPI,mode,nameCityApi,user).then((value)async{ - print('loadCID'); - setState(() { - messageSteps = "Etapa 3 de 7 - Gravando os CIDs no Aplicativo"; - }); - await DbSqliteLoad().saveCID(value).then((value)async{ - print('finalizou saveCID'); - await ApiDataLoad().loadProcedimentosCID(urlAPI,mode,nameCityApi,user).then((value)async{ - print('loadProcedimentosCID'); - await DbSqliteLoad().saveProceduresCID(value).then((value)async{ - print('finalizou saveProceduresCID'); - await ApiDataLoad().loadCBO(urlAPI,mode,nameCityApi,user).then((value)async{ - print('loadCBO'); + } + print('finalizou save Procedures'); + await ApiDataLoad().loadProcedimentosRegistros(urlAPI,mode,nameCityApi,user).then((value)async{ + await DbSqliteLoad().saveProceduresRegisterDB(value).then((value)async{ + print('finalizou saveProceduresRegisterDB'); + await ApiDataLoad().loadCID(urlAPI,mode,nameCityApi,user).then((value)async{ + print('loadCID'); + setState(() { + messageSteps = "Etapa 3 de 7 - Gravando os CIDs no Aplicativo"; + }); + List list = value; + for(int i=0;list.length > i;i++){ + await DbSqliteLoad().saveCID(value,i).then((value)async{ + int cont = list.length!=0?list.length:0; + countProg = i/cont; + setState(() {}); + }); + } + print('finalizou saveCID'); + await ApiDataLoad().loadProcedimentosCID(urlAPI,mode,nameCityApi,user).then((value)async{ + print('loadProcedimentosCID'); + await DbSqliteLoad().saveProceduresCID(value).then((value)async{ + print('finalizou saveProceduresCID'); + await ApiDataLoad().loadCBO(urlAPI,mode,nameCityApi,user).then((value)async{ + print('loadCBO'); + setState(() { + messageSteps = "Etapa 4 de 7 - Gravando os CBOs no Aplicativo"; + }); + List list = value; + for(int i=0;list.length > i;i++){ + await DbSqliteLoad().saveCBO(value,i).then((value)async{ + int cont = list.length!=0?list.length:0; + countProg = i/cont; + setState(() {}); + }); + } + print('finalizou saveCBO'); + await ApiDataLoad().loadProcedimentosCBO(urlAPI,mode,nameCityApi,user).then((value)async{ + print('loadProcedimentosCBO'); + await DbSqliteLoad().saveProceduresCBO(value).then((value)async{ + print('finalizou saveProceduresCBO'); + await ApiDataLoad().loadCIAP(urlAPI,mode,nameCityApi,user).then((value)async{ + print('loadCIAP'); setState(() { - messageSteps = "Etapa 4 de 7 - Gravando os CBOs no Aplicativo"; + messageSteps = "Etapa 5 de 7 - Gravando os CIAPs no Aplicativo"; }); - await DbSqliteLoad().saveCBO(value).then((value)async{ - print('finalizou saveCBO'); - await ApiDataLoad().loadProcedimentosCBO(urlAPI,mode,nameCityApi,user).then((value)async{ - print('loadProcedimentosCBO'); - await DbSqliteLoad().saveProceduresCBO(value).then((value)async{ - print('finalizou saveProceduresCBO'); - await ApiDataLoad().loadCIAP(urlAPI,mode,nameCityApi,user).then((value)async{ - print('loadCIAP'); + List list = value; + for(int i=0;list.length > i;i++){ + await DbSqliteLoad().saveCIAP(value,i).then((value)async{ + int cont = list.length!=0?list.length:0; + countProg = i/cont; + setState(() {}); + }); + } + print('finalizou saveCIAP'); + await ApiDataLoad().loadMunicipios(urlAPI,mode,nameCityApi,user).then((value)async{ + print('loadMunicipios'); + setState(() { + messageSteps = "Etapa 6 de 7 - Gravando os Municípios no Aplicativo"; + }); + List list = value; + for(int i=0;list.length > i;i++){ + await DbSqliteLoad().saveCity(value,i).then((value)async{ + int cont = list.length!=0?list.length:0; + countProg = i/cont; + setState(() {}); + }); + } + await ApiDataLoad().loadEquipes(urlAPI,mode,nameCityApi,user).then((value)async{ + print('loadEquipes'); + setState(() { + messageSteps = "Etapa 7 de 7 - Gravando as Equipes no Aplicativo"; + }); + List list = value; + for(int i=0;list.length > i;i++){ + await DbSqliteLoad().saveTeam(value,i).then((value)async{ + int cont = list.length!=0?list.length:0; + countProg = i/cont; + setState(() {}); + }); + } + print('finalizou saveTeam'); + await ApiDataLoad().loadEquipeComponentes(urlAPI,mode,nameCityApi,user).then((value)async{ + print('loadEquipeComponentes'); + await DbSqliteLoad().saveTeamComponents(value).then((value)async{ + print('finalizou saveTeamComponents'); setState(() { - messageSteps = "Etapa 5 de 7 - Gravando os CIAPs no Aplicativo"; - }); - await DbSqliteLoad().saveCIAP(value).then((value)async{ - print('finalizou saveCIAP'); - await ApiDataLoad().loadMunicipios(urlAPI,mode,nameCityApi,user).then((value)async{ - print('loadMunicipios'); - setState(() { - messageSteps = "Etapa 6 de 7 - Gravando os Municípios no Aplicativo"; - }); - await DbSqliteLoad().saveCity(value).then((value)async{ - print('finalizou saveCity'); - await ApiDataLoad().loadEquipes(urlAPI,mode,nameCityApi,user).then((value)async{ - print('loadEquipes'); - setState(() { - messageSteps = "Etapa 7 de 7 - Gravando as Equipes no Aplicativo"; - }); - await DbSqliteLoad().saveTeam(value).then((value)async{ - print('finalizou saveTeam'); - await ApiDataLoad().loadEquipeComponentes(urlAPI,mode,nameCityApi,user).then((value)async{ - print('loadEquipeComponentes'); - await DbSqliteLoad().saveTeamComponents(value).then((value)async{ - print('finalizou saveTeamComponents'); - setState(() { - finish = true; - }); - }); - }); - }); - }); - }); - }); + finish = true; }); }); }); @@ -223,7 +267,11 @@ class _LoadInitScreenState extends State { fontWeigth: FontWeight.bold, textAlign: TextAlign.center, maxLines: 3, - ) + ), + SizedBox(height: 30), + TextDefault(text: countProg>0.94?'100 % finalizando etapa atual':(countProg*100).toStringAsFixed(0) + '%',color: Colors.black,textAlign: TextAlign.center,fontWeigth: FontWeight.bold,fontSize: 20), + SizedBox(height: 10), + LinearProgressIndicator(value: countProg,minHeight: 15,color: ColorPalette.appBar,backgroundColor: ColorPalette.titleContainer,) ], ), ), diff --git a/lib/screens/login/login_load_screen.dart b/lib/screens/login/login_load_screen.dart index 1b2ae19..4456a15 100644 --- a/lib/screens/login/login_load_screen.dart +++ b/lib/screens/login/login_load_screen.dart @@ -1,5 +1,6 @@ import 'package:flutter/material.dart'; import 'package:rkm/controllers/main_controllers.dart'; +import 'package:rkm/screens/home_screen.dart'; import 'package:rkm/service/api/url_api_const.dart'; import 'package:rkm/config/color_palette.dart'; import 'package:rkm/config/const_variable.dart'; @@ -10,6 +11,7 @@ import 'package:rkm/widgets/text_default.dart'; import '../../service/api/api_data_load.dart'; import '../../service/db/db_sqlite_load.dart'; import '../../service/shared_preferences/shared_preferences_service.dart'; +import '../../widgets/title_input.dart'; import '../load_init_screen.dart'; class LoginLoadScreen extends StatefulWidget { const LoginLoadScreen({Key? key}) : super(key: key); @@ -28,8 +30,8 @@ class _LoginLoadScreenState extends State { String? now; String? selectCity; int contLogo = 0; - String mode = 'desenvolvimento'; - String urlAPI = UrlApiConst.ApiUrlDesenvolvimento; + String mode = 'online'; + String urlAPI = UrlApiConst.ApiUrlOnline; bool loading = false; String nameCityApi = ''; String nameCityFront = ''; @@ -97,7 +99,8 @@ class _LoginLoadScreenState extends State { nameCityApi, nameCityFront, codState, - codCityIbge).then((value) { + codCityIbge + ).then((value) { Navigator.push( context, MaterialPageRoute( @@ -189,23 +192,24 @@ class _LoginLoadScreenState extends State { height: mode == 'desenvolvimento'?height*0.4:height*0.3, child: ListView( children: [ + TitleInput(title:'Usuário'), InputText( - hint: 'Usuário', - label: 'Usuário', + title: 'Usuário', controller: inputUser, width: width*0.6, colorBorder: Colors.white, onChanged: (v)=>setState((){}), ), + TitleInput(title:'Senha'), InputText( - hint: 'Senha', - label: 'Senha', + title: 'Senha', obscure: true, controller: inputPassword, width: width*0.6, colorBorder: Colors.white, onChanged: (v)=>setState((){}), ), + TitleInput(title:'Cidade'), DropDownButtonCity( error: 'Campo obrigatório', validator: mandatory, @@ -217,18 +221,18 @@ class _LoginLoadScreenState extends State { }); }, ), + mode == 'desenvolvimento'?TitleInput(title:'IP'):Container(), mode == 'desenvolvimento'?InputText( - hint: 'IP', - label: 'IP', + title: 'IP', obscure: false, controller: inputIP, width: width*0.6, colorBorder: Colors.white, onChanged: (v)=>setState((){}), ):Container(), + mode == 'desenvolvimento'?TitleInput(title:'Porta'):Container(), mode == 'desenvolvimento'?InputText( - hint: 'Porta', - label: 'Porta', + title: 'Porta', obscure: false, controller: inputPort, width: width*0.6, @@ -240,6 +244,12 @@ class _LoginLoadScreenState extends State { ), ), loading?Container():ButtonDefault( + // onPressed: (){ + // Navigator.push( + // context, + // MaterialPageRoute( + // builder: (context) => HomeScreen())); + // }, onPressed: ()=>checkLogin(), title: 'Carga Inicial', width: width*0.6, diff --git a/lib/screens/login/login_saved_screen.dart b/lib/screens/login/login_saved_screen.dart index 938ec23..3d813e9 100644 --- a/lib/screens/login/login_saved_screen.dart +++ b/lib/screens/login/login_saved_screen.dart @@ -10,6 +10,7 @@ import 'package:rkm/widgets/text_default.dart'; import '../../controllers/main_controllers.dart'; import '../../service/api/api_data_load.dart'; import '../../service/db/db_sqlite_load.dart'; +import '../../widgets/title_input.dart'; class LoginSavedScreen extends StatefulWidget { List listControl; @@ -156,17 +157,17 @@ class _LoginSavedScreenState extends State { height: height*0.2, child: ListView( children: [ + TitleInput(title:'Usuário'), InputText( - hint: 'Usuário', - label: inputUser.text.isNotEmpty?'':'Usuário', + title: 'Usuário', controller: inputUser, width: width*0.6, colorBorder: Colors.white, onChanged: (v)=>setState((){}), ), + TitleInput(title:'Senha'), InputText( - hint: 'Senha', - label: inputPassword.text.isNotEmpty?'':'Senha', + title: 'Senha', obscure: true, controller: inputPassword, width: width*0.6, diff --git a/lib/screens/login/sync_login_screen.dart b/lib/screens/login/sync_login_screen.dart index 23312fd..b6ae870 100644 --- a/lib/screens/login/sync_login_screen.dart +++ b/lib/screens/login/sync_login_screen.dart @@ -11,6 +11,7 @@ import '../../controllers/main_controllers.dart'; import '../../service/api/api_data_load.dart'; import '../../service/db/db_sqlite_load.dart'; import '../../service/shared_preferences/shared_preferences_service.dart'; +import '../../widgets/title_input.dart'; class SyncLoginScreen extends StatefulWidget { @override @@ -197,26 +198,27 @@ class _SyncLoginScreenState extends State { autovalidateMode: AutovalidateMode.onUserInteraction, child: Container( width: width*0.6, - height: height*0.35, + height: height*0.4, child: ListView( children: [ + TitleInput(title:'Usuário'), InputText( - hint: 'Usuário', - label: inputUser.text.isNotEmpty?'':'Usuário', + title: 'Usuário', controller: inputUser, width: width*0.6, colorBorder: Colors.white, onChanged: (v)=>setState((){}), ), + TitleInput(title:'Senha'), InputText( - hint: 'Senha', - label: inputPassword.text.isNotEmpty?'':'Senha', + title: 'Senha', obscure: true, controller: inputPassword, width: width*0.6, colorBorder: Colors.white, onChanged: (v)=>setState((){}), ), + TitleInput(title:'Unidade'), DropDownButtonDefault( width: width*0.7, title: 'Unidade', @@ -231,6 +233,7 @@ class _SyncLoginScreenState extends State { getTeam(); }, ), + TitleInput(title:'Equipe'), DropDownButtonDefault( width: width*0.7, title: 'Equipe', diff --git a/lib/screens/registers_citizen/register_citizen_screen.dart b/lib/screens/registers_citizen/register_citizen_screen.dart index e4dbf7d..d1717ff 100644 --- a/lib/screens/registers_citizen/register_citizen_screen.dart +++ b/lib/screens/registers_citizen/register_citizen_screen.dart @@ -458,7 +458,7 @@ class _RegisterCitizenScreenState extends State { 'ATENDIMENTOS' : '', 'SINCRONIZADO' : 'N', }; - await DbSqliteSync().insertCidadaos(row,editing?'update':'new',codSus).then((value){ + await DbSqliteSync().insertCidadaos(row,editing?'update':'new',codSus,0).then((value){ if(checkCNS != 'ok' || CNSController.text.isEmpty){ AlertDialogDefault().alert( context, diff --git a/lib/screens/registers_citizen/register_home_screen.dart b/lib/screens/registers_citizen/register_home_screen.dart index 7642e35..4495a2c 100644 --- a/lib/screens/registers_citizen/register_home_screen.dart +++ b/lib/screens/registers_citizen/register_home_screen.dart @@ -361,7 +361,7 @@ class _RegisterHomeScreenState extends State { 'CARGO_RESP_TECNICO_INST' : CARGO_RESP_TECNICO_INST, 'TEL_RESP_TECNICO_INST' : TEL_RESP_TECNICO_INST, }; - await DbSqliteSync().insertCadastrosDomiciliares(row,TIPO_SALVAR,ID_DOMICILIO,ID_CIDADAO,CD_USUARIO_SUS).then((value){ + await DbSqliteSync().insertCadastrosDomiciliares(row,TIPO_SALVAR,ID_DOMICILIO,ID_CIDADAO,CD_USUARIO_SUS,0).then((value){ AlertDialogDefault().alert( context, 'Aviso', diff --git a/lib/screens/registers_citizen/register_individual_screen.dart b/lib/screens/registers_citizen/register_individual_screen.dart index b2d6eff..195f0a0 100644 --- a/lib/screens/registers_citizen/register_individual_screen.dart +++ b/lib/screens/registers_citizen/register_individual_screen.dart @@ -545,7 +545,7 @@ class _RegisterIndividualScreenState extends State { 'CRIANCAS_OUTRO' : CRIANCAS_OUTRO?1:2, 'IDENTIDADE_GENERO' : IDENTIDADE_GENERO_COD, }; - await DbSqliteSync().insertCadastrosIndividuais(row,TIPO_SALVAR,ID_CIDADAO).then((value){ + await DbSqliteSync().insertCadastrosIndividuais(row,TIPO_SALVAR,ID_CIDADAO,0).then((value){ AlertDialogDefault().alert( context, 'Aviso', diff --git a/lib/screens/sync_init_screen.dart b/lib/screens/sync_init_screen.dart index 12393d4..8fa979d 100644 --- a/lib/screens/sync_init_screen.dart +++ b/lib/screens/sync_init_screen.dart @@ -34,6 +34,7 @@ class _SyncInitScreenState extends State { int codCity = 0; int codCityIbge = 0; String codState = ''; + double countProg = 0.0; @override void initState() { @@ -85,74 +86,128 @@ class _SyncInitScreenState extends State { }else{ setState(()=> messageSteps = "Etapa 2 de 10 - Gravando os Bairros no Aplicativo"); } - await DbSqliteSync().insertBairros(value).then((value)async{ - await ApiDataSync().syncTiposLogradouros(urlAPI,mode,nameCityApi,user).then((value)async{ + List list = value; + for(int i=0;list.length > i;i++){ + await DbSqliteSync().insertBairros(value,i).then((value)async{ + int cont = list.length!=0?list.length:0; + countProg = i/cont; + setState(() {}); + }); + } + await ApiDataSync().syncTiposLogradouros(urlAPI,mode,nameCityApi,user).then((value)async{ + if(value.length == 0){ + setState(()=> messageSteps = "ERRO: Erro para carregar os Tipos de Logradouros - Por favor, tente novamente!"); + }else{ + setState(()=> messageSteps = "Etapa 3 de 10 - Gravando os Tipos de Logradouros no Aplicativo"); + } + List list = value; + for(int i=0;list.length > i;i++){ + await DbSqliteSync().insertTiposLogradouros(value,i).then((value)async{ + int cont = list.length!=0?list.length:0; + countProg = i/cont; + setState(() {}); + }); + } + await ApiDataSync().syncLogradouros(urlAPI,mode,nameCityApi,user).then((value)async{ if(value.length == 0){ - setState(()=> messageSteps = "ERRO: Erro para carregar os Tipos de Logradouros - Por favor, tente novamente!"); + setState(()=> messageSteps = "ERRO: Erro para carregar os Logradouros - Por favor, tente novamente!"); }else{ - setState(()=> messageSteps = "Etapa 3 de 10 - Gravando os Tipos de Logradouros no Aplicativo"); + setState(()=> messageSteps = "Etapa 4 de 10 - Gravando os Logradouros no Aplicativo"); } - await DbSqliteSync().insertTiposLogradouros(value).then((value)async{ - await ApiDataSync().syncLogradouros(urlAPI,mode,nameCityApi,user).then((value)async{ + List list = value; + for(int i=0;list.length > i;i++){ + await DbSqliteSync().insertLogradouros(value,i).then((value)async{ + int cont = list.length!=0?list.length:0; + countProg = i/cont; + setState(() {}); + }); + } + await ApiDataSync().syncLoteamentos(urlAPI,mode,nameCityApi,user).then((value)async{ + if(value.length == 0){ + setState(()=> messageSteps = "ERRO: Erro para carregar os Loteamentos - Por favor, tente novamente!"); + }else{ + setState(()=> messageSteps = "Etapa 5 de 10 - Gravando os Loteamentos no Aplicativo"); + } + List list = value; + for(int i=0;list.length > i;i++){ + await DbSqliteSync().insertLoteamentos(value,i).then((value)async{ + int cont = list.length!=0?list.length:0; + countProg = i/cont; + setState(() {}); + }); + } + await ApiDataSync().syncProfissionais(urlAPI,mode,nameCityApi,user,idUnidade).then((value)async{ if(value.length == 0){ - setState(()=> messageSteps = "ERRO: Erro para carregar os Logradouros - Por favor, tente novamente!"); + setState(()=> messageSteps = "ERRO: Erro para carregar os Profissionais - Por favor, tente novamente!"); }else{ - setState(()=> messageSteps = "Etapa 4 de 10 - Gravando os Logradouros no Aplicativo"); + setState(()=> messageSteps = "Etapa 6 de 10 - Gravando os Profissionais no Aplicativo"); } - await DbSqliteSync().insertLogradouros(value).then((value)async{ - await ApiDataSync().syncLoteamentos(urlAPI,mode,nameCityApi,user).then((value)async{ + List list = value; + for(int i=0;list.length > i;i++){ + await DbSqliteSync().insertProfissionais(value,i).then((value)async{ + int cont = list.length!=0?list.length:0; + countProg = i/cont; + setState(() {}); + }); + } + await ApiDataSync().syncProfissionaisCBOs(urlAPI,mode,nameCityApi,user,idUnidade).then((value)async{ + if(value.length == 0){ + setState(()=> messageSteps = "ERRO: Erro para carregar os CBOs dos Profissionais - Por favor, tente novamente!"); + }else{ + setState(()=> messageSteps = "Etapa 7 de 10 - Gravando os CBO´s dos Profissionais no Aplicativo"); + } + List list = value; + for(int i=0;list.length > i;i++){ + await DbSqliteSync().insertProfissionaisCBOs(value,i).then((value)async{ + int cont = list.length!=0?list.length:0; + countProg = i/cont; + setState(() {}); + }); + } + await ApiDataSync().syncCidadaos(urlAPI,mode,nameCityApi,user,idUnidade,area,microarea,foraArea).then((value)async{ if(value.length == 0){ - setState(()=> messageSteps = "ERRO: Erro para carregar os Loteamentos - Por favor, tente novamente!"); + setState(()=> messageSteps = "ERRO: Erro para carregar os Cadastros dos Cidadãos - Por favor, tente novamente!"); }else{ - setState(()=> messageSteps = "Etapa 5 de 10 - Gravando os Loteamentos no Aplicativo"); + setState(()=> messageSteps = "Etapa 8 de 10 - Gravando os Cidadãos no Aplicativo"); } - await DbSqliteSync().insertLoteamentos(value).then((value)async{ - await ApiDataSync().syncProfissionais(urlAPI,mode,nameCityApi,user,idUnidade).then((value)async{ - if(value.length == 0){ - setState(()=> messageSteps = "ERRO: Erro para carregar os Profissionais - Por favor, tente novamente!"); - }else{ - setState(()=> messageSteps = "Etapa 6 de 10 - Gravando os Profissionais no Aplicativo"); - } - await DbSqliteSync().insertProfissionais(value).then((value)async{ - await ApiDataSync().syncProfissionaisCBOs(urlAPI,mode,nameCityApi,user,idUnidade).then((value)async{ - if(value.length == 0){ - setState(()=> messageSteps = "ERRO: Erro para carregar os CBOs dos Profissionais - Por favor, tente novamente!"); - }else{ - setState(()=> messageSteps = "Etapa 7 de 10 - Gravando os CBO´s dos Profissionais no Aplicativo"); - } - await DbSqliteSync().insertProfissionaisCBOs(value).then((value)async{ - await ApiDataSync().syncCidadaos(urlAPI,mode,nameCityApi,user,idUnidade,area,microarea,foraArea).then((value)async{ - if(value.length == 0){ - setState(()=> messageSteps = "ERRO: Erro para carregar os Cadastros dos Cidadãos - Por favor, tente novamente!"); - }else{ - setState(()=> messageSteps = "Etapa 8 de 10 - Gravando os Cidadãos no Aplicativo"); - } - await DbSqliteSync().insertCidadaos(value,'sync','').then((value)async{ - await ApiDataSync().syncCadastrosDomiciliares(urlAPI,mode,nameCityApi,user,idUnidade,area,microarea,foraArea).then((value)async{ - if(value.length == 0){ - setState(()=> messageSteps = "ERRO: Erro para carregar os Cadastros Domiciliares - Por favor, tente novamente!"); - }else{ - setState(()=> messageSteps = "Etapa 9 de 10 - Gravando os Cadastros Domiciliares no Aplicativo"); - } - await DbSqliteSync().insertCadastrosDomiciliares(value,'sync',0,0,'').then((value)async{ - await ApiDataSync().syncCadastrosIndividuais(urlAPI,mode,nameCityApi,user,idUnidade,area,microarea,foraArea).then((value)async{ - if(value.length == 0){ - setState(()=> messageSteps = "ERRO: Erro para carregar os Cadastros Individuais - Por favor, tente novamente!"); - }else{ - setState(()=> messageSteps = "Etapa 10 de 10 - Gravando os Cadastros Individuais no Aplicativo"); - } - await DbSqliteSync().insertCadastrosIndividuais(value,'sync',0).then((value)async{ - await DbSqliteSync().saveSync(codCity,codState,urlAPI,mode,nameCityApi,nameCityFront,codCityIbge,user,idUnidade,nomeUnidade,area,microarea).then((value)async{ - Navigator.pushNamed(context, '/home'); - }); - }); - }); - }); - }); - }); - }); - }); - }); + List list = value; + for(int i=0;list.length > i;i++){ + await DbSqliteSync().insertCidadaos(value,'sync','',i).then((value)async{ + int cont = list.length!=0?list.length:0; + countProg = i/cont; + setState(() {}); + }); + } + await ApiDataSync().syncCadastrosDomiciliares(urlAPI,mode,nameCityApi,user,idUnidade,area,microarea,foraArea).then((value)async{ + if(value.length == 0){ + setState(()=> messageSteps = "ERRO: Erro para carregar os Cadastros Domiciliares - Por favor, tente novamente!"); + }else{ + setState(()=> messageSteps = "Etapa 9 de 10 - Gravando os Cadastros Domiciliares no Aplicativo"); + } + List list = value; + for(int i=0;list.length > i;i++){ + await DbSqliteSync().insertCadastrosDomiciliares(value,'sync',0,0,'',i).then((value)async{ + int cont = list.length!=0?list.length:0; + countProg = i/cont; + setState(() {}); + }); + } + await ApiDataSync().syncCadastrosIndividuais(urlAPI,mode,nameCityApi,user,idUnidade,area,microarea,foraArea).then((value)async{ + if(value.length == 0){ + setState(()=> messageSteps = "ERRO: Erro para carregar os Cadastros Individuais - Por favor, tente novamente!"); + }else{ + setState(()=> messageSteps = "Etapa 10 de 10 - Gravando os Cadastros Individuais no Aplicativo"); + } + List list = value; + for(int i=0;list.length > i;i++){ + await DbSqliteSync().insertCadastrosIndividuais(value,'sync',0,i).then((value)async{ + int cont = list.length!=0?list.length:0; + countProg = i/cont; + setState(() {}); + }); + } + await DbSqliteSync().saveSync(codCity,codState,urlAPI,mode,nameCityApi,nameCityFront,codCityIbge,user,idUnidade,nomeUnidade,area,microarea).then((value)async{ + Navigator.pushNamed(context, '/home'); }); }); }); @@ -245,7 +300,11 @@ class _SyncInitScreenState extends State { fontWeigth: FontWeight.bold, textAlign: TextAlign.center, maxLines: 3, - ) + ), + SizedBox(height: 30), + TextDefault(text: countProg>0.94?'100 % finalizando etapa atual':(countProg*100).toStringAsFixed(0) + '%',color: Colors.black,textAlign: TextAlign.center,fontWeigth: FontWeight.bold,fontSize: 20), + SizedBox(height: 10), + LinearProgressIndicator(value: countProg,minHeight: 15,color: ColorPalette.appBar,backgroundColor: ColorPalette.titleContainer,) ], ), ), diff --git a/lib/service/db/db_sqlite_Sigtap.dart b/lib/service/db/db_sqlite_Sigtap.dart index d3fd62f..fa830f7 100644 --- a/lib/service/db/db_sqlite_Sigtap.dart +++ b/lib/service/db/db_sqlite_Sigtap.dart @@ -22,13 +22,13 @@ class DbSqliteSigtap{ // {"codProcedimento":"0701020580","nome":"MANUTEN\u00c7\u00c3O DE OPM ORTOP\u00c9DICA","codGrupo":"07","qtdeMax":2,"idadeMin":833,"idadeMax":833,"sexo":"N"} for(int i=0;value.length > i;i++){ Map row = { - 'COD_PROC_SIGTAP' : value['codProcedimento'], - 'DESC_PROC_SIGTAP' : value['nome'], - 'GRUPO_PROC_SIGTAP' : value['codGrupo'], - 'QTDE_MAXIMA' : value['qtdeMax'], - 'IDADE_MIN' : value['idadeMin'], - 'IDADE_MAX' : value['idadeMax'], - 'SEXO' : value['sexo'], + 'COD_PROC_SIGTAP' : value[i]['codProcedimento'], + 'DESC_PROC_SIGTAP' : value[i]['nome'], + 'GRUPO_PROC_SIGTAP' : value[i]['codGrupo'], + 'QTDE_MAXIMA' : value[i]['qtdeMax'], + 'IDADE_MIN' : value[i]['idadeMin'], + 'IDADE_MAX' : value[i]['idadeMax'], + 'SEXO' : value[i]['sexo'], }; int id = await db.insert('PROCEDIMENTOS_SIGTAP', row); } diff --git a/lib/service/db/db_sqlite_load.dart b/lib/service/db/db_sqlite_load.dart index f24b4ca..8d65228 100644 --- a/lib/service/db/db_sqlite_load.dart +++ b/lib/service/db/db_sqlite_load.dart @@ -1,3 +1,5 @@ +import 'package:rkm/config/const_variable.dart'; +import 'package:rkm/controllers/main_controllers.dart'; import 'package:sqflite/sqflite.dart'; import 'package:path/path.dart'; @@ -141,39 +143,35 @@ class DbSqliteLoad{ return db; } - Future saveUnidadesDB(var value)async{ + Future saveUnidadesDB(var value,int i)async{ Database db = await intialDB(); - for(int i=0;value.length > i;i++){ - Map row = { - 'ID_UNIDADE' : value[i]['idUnidade'], - 'NOME_UNIDADE' : value[i]['nomeFantasia'], - 'CNES_UNIDADE' : value[i]['nrCNES'] - }; - int id = await db.insert('UNIDADES', row); + Map row = { + 'ID_UNIDADE' : value[i]['idUnidade'], + 'NOME_UNIDADE' : value[i]['nomeFantasia'], + 'CNES_UNIDADE' : value[i]['nrCNES'] + }; + int id = await db.insert('UNIDADES', row); // print('id increment $id'); // print(await db.query('UNIDADES')); - } - return db; + return db; } - Future saveProceduresDB(var value)async{ + Future saveProceduresDB(var value,int i)async{ Database db = await intialDB(); // var query = "INSERT OR REPLACE INTO PROCEDIMENTOS_SIGTAP (COD_PROC_SIGTAP, DESC_PROC_SIGTAP, GRUPO_PROC_SIGTAP, QTDE_MAXIMA, IDADE_MIN, IDADE_MAX, SEXO) VALUES (?,?,?,?,?,?,?)"; // {"codProcedimento":"0701020580","nome":"MANUTEN\u00c7\u00c3O DE OPM ORTOP\u00c9DICA","codGrupo":"07","qtdeMax":2,"idadeMin":833,"idadeMax":833,"sexo":"N"} - for(int i=0;value.length > i;i++){ - Map row = { - 'COD_PROC_SIGTAP' : value[i]['codProcedimento'], - 'DESC_PROC_SIGTAP' : value[i]['nome'], - 'GRUPO_PROC_SIGTAP' : value[i]['codGrupo'], - 'QTDE_MAXIMA' : value[i]['qtdeMax'], - 'IDADE_MIN' : value[i]['idadeMin'], - 'IDADE_MAX' : value[i]['idadeMax'], - 'SEXO' : value[i]['sexo'], - }; - int id = await db.insert('PROCEDIMENTOS_SIGTAP', row); - // print('id increment $id'); - // print(await db.query('PROCEDIMENTOS_SIGTAP')); - } + Map row = { + 'COD_PROC_SIGTAP' : value[i]['codProcedimento'], + 'DESC_PROC_SIGTAP' : value[i]['nome'], + 'GRUPO_PROC_SIGTAP' : value[i]['codGrupo'], + 'QTDE_MAXIMA' : value[i]['qtdeMax'], + 'IDADE_MIN' : value[i]['idadeMin'], + 'IDADE_MAX' : value[i]['idadeMax'], + 'SEXO' : value[i]['sexo'], + }; + int id = await db.insert('PROCEDIMENTOS_SIGTAP', row); + // print('id increment $id'); + // print(await db.query('PROCEDIMENTOS_SIGTAP')); return db; } Future saveProceduresRegisterDB(var value)async{ @@ -191,19 +189,17 @@ class DbSqliteLoad{ } return db; } - Future saveCID(var value)async{ + Future saveCID(var value,int i)async{ Database db = await intialDB(); // "INSERT OR REPLACE INTO CIDS (CODIGO_CID, DESCRICAO_CID, RESTRICAO_SEXO) VALUES (?,?,?)" // {"codCID":"A000","descCID":"A00.0 Colera dev Vibrio cholerae 01 biot cholerae","restSexo":"5"}, - for(int i=0;value.length > i;i++){ - Map row = { - 'CODIGO_CID' : value[i]['codCID'], - 'DESCRICAO_CID' : value[i]['descCID'], - 'RESTRICAO_SEXO' : value[i]['restSexo'], - }; - int id = await db.insert('CIDS', row); - // print('id increment $id PROCEDIMENTOS_SIGTAP_REGISTRO'); - } + Map row = { + 'CODIGO_CID' : value[i]['codCID'], + 'DESCRICAO_CID' : value[i]['descCID'], + 'RESTRICAO_SEXO' : value[i]['restSexo'], + }; + int id = await db.insert('CIDS', row); + // print('id increment $id PROCEDIMENTOS_SIGTAP_REGISTRO'); // print(await db.query('CIDS')); return db; } @@ -222,18 +218,16 @@ class DbSqliteLoad{ // print(await db.query('PROCEDIMENTOS_SIGTAP_CID')); return db; } - Future saveCBO(var value)async{ + Future saveCBO(var value,int i)async{ Database db = await intialDB(); // "INSERT OR REPLACE INTO CBOS (CODIGO_CBO, DESCRICAO_CBO) VALUES (?,?)" // "codCBO":"223208","descCBO":"Cirurgi\u00e3o dentista - cl\u00ednico geral" - for(int i=0;value.length > i;i++){ Map row = { 'CODIGO_CBO' : value[i]['codCBO'], 'DESCRICAO_CBO' : value[i]['descCBO'], }; int id = await db.insert('CBOS', row); // print('id increment $id PROCEDIMENTOS_SIGTAP_REGISTRO'); - } // print(await db.query('CBOS')); return db; } @@ -252,57 +246,51 @@ class DbSqliteLoad{ // print(await db.query('PROCEDIMENTOS_SIGTAP_CBO')); return db; } - Future saveCIAP(var value)async{ + Future saveCIAP(var value,int i)async{ Database db = await intialDB(); // "INSERT OR REPLACE INTO CIAPS (CODIGO_CIAP, DESC_CIAP, TIPO_CIAP) VALUES (?,?,?)"; // "codCIAP":"30","descCIAP":"EXAME M\u00c9DICO\/AVALIA\u00c7\u00c3ODE SA\u00daDE - COMPLETO","tipoCIAP":"PROC" - for(int i=0;value.length > i;i++){ - Map row = { - 'CODIGO_CIAP' : value[i]['codCIAP'], - 'DESC_CIAP' : value[i]['descCIAP'], - 'TIPO_CIAP' : value[i]['tipoCIAP'], - }; - int id = await db.insert('CIAPS', row); - // print('id increment $id CIAPS'); - } + Map row = { + 'CODIGO_CIAP' : value[i]['codCIAP'], + 'DESC_CIAP' : value[i]['descCIAP'], + 'TIPO_CIAP' : value[i]['tipoCIAP'], + }; + int id = await db.insert('CIAPS', row); + // print('id increment $id CIAPS'); // print(await db.query('CIAPS')); return db; } - Future saveCity(var value)async{ + Future saveCity(var value,int i)async{ Database db = await intialDB(); // "INSERT OR REPLACE INTO MUNICIPIOS (ID_MUNICIPIO, CODIGO_IBGE, NO_MUNICIPIO, UF_ESTADO, ID_PAIS) VALUES (?,?,?,?,?)" // "idMunicipio":1,"codIBGE":"000000","nomeMunicipio":"MUNICIPIO IGNORADO","UF":"--","idPais":33 - for(int i=0;value.length > i;i++){ - Map row = { - 'ID_MUNICIPIO' : value[i]['idMunicipio'], - 'CODIGO_IBGE' : value[i]['codIBGE'], - 'NO_MUNICIPIO' : value[i]['nomeMunicipio'], - 'UF_ESTADO' : value[i]['UF'], - 'ID_PAIS' : value[i]['idPais'], - }; - int id = await db.insert('MUNICIPIOS', row); - // print('id increment $id PROCEDIMENTOS_SIGTAP_REGISTRO'); - } + Map row = { + 'ID_MUNICIPIO' : value[i]['idMunicipio'], + 'CODIGO_IBGE' : value[i]['codIBGE'], + 'NO_MUNICIPIO' : value[i]['nomeMunicipio'], + 'UF_ESTADO' : value[i]['UF'], + 'ID_PAIS' : value[i]['idPais'], + }; + int id = await db.insert('MUNICIPIOS', row); + // print('id increment $id PROCEDIMENTOS_SIGTAP_REGISTRO'); // print(await db.query('MUNICIPIOS')); return db; } - Future saveTeam(var value)async{ + Future saveTeam(var value,int i)async{ Database db = await intialDB(); // INSERT OR REPLACE INTO EQUIPES (ID_EQUIPE, ID_UNIDADE, INE, ID_ATB_AREA, AREA, ID_ATB_MICROAREA, MICROAREA) VALUES (?,?,?,?,?,?,?)"; // {"idEquipe":1,"idUnidade":3,"INE":"0001485628","idAtbArea":1,"area":1,"idAtbMicroarea":null,"microarea":null} - for(int i=0;value.length > i;i++){ - Map row = { - 'ID_EQUIPE' : value[i]['idEquipe'], - 'ID_UNIDADE' : value[i]['idUnidade'], - 'INE' : value[i]['INE'], - 'ID_ATB_AREA' : value[i]['idAtbArea'], - 'AREA' : value[i]['area'], - 'ID_ATB_MICROAREA': value[i]['idAtbMicroarea'], - 'MICROAREA' : value[i]['microarea'], - }; - int id = await db.insert('EQUIPES', row); - // print('id increment $id EQUIPES'); - } + Map row = { + 'ID_EQUIPE' : value[i]['idEquipe'], + 'ID_UNIDADE' : value[i]['idUnidade'], + 'INE' : value[i]['INE'], + 'ID_ATB_AREA' : value[i]['idAtbArea'], + 'AREA' : value[i]['area'], + 'ID_ATB_MICROAREA': value[i]['idAtbMicroarea'], + 'MICROAREA' : value[i]['microarea'], + }; + int id = await db.insert('EQUIPES', row); + // print('id increment $id EQUIPES'); // print(await db.query('EQUIPES')); return db; } diff --git a/lib/service/db/db_sqlite_sync.dart b/lib/service/db/db_sqlite_sync.dart index 4f0b103..ed3b943 100644 --- a/lib/service/db/db_sqlite_sync.dart +++ b/lib/service/db/db_sqlite_sync.dart @@ -22,104 +22,94 @@ class DbSqliteSync{ db.execute(querys[i]); } } - Future insertBairros(var value)async{ + Future insertBairros(var value,int i)async{ Database db = await DbSqliteLoad().intialDB(); //"idBairro":2,"nomeBairro":"RURAL" // BAIRROS (ID_BAIRRO INTEGER PRIMARY KEY AUTOINCREMENT, NO_BAIRRO TEXT);'); - for(int i=0;value.length > i;i++){ - Map row = { - 'ID_BAIRRO' : value[i]['idBairro'], - 'NO_BAIRRO' : value[i]['nomeBairro'], - }; - int id = await db.insert('BAIRROS', row); - // print('id increment $id'); - } + Map row = { + 'ID_BAIRRO' : value[i]['idBairro'], + 'NO_BAIRRO' : value[i]['nomeBairro'], + }; + int id = await db.insert('BAIRROS', row); + // print('id increment $id'); // print(await db.query('BAIRROS')); return db; } - Future insertTiposLogradouros(var value)async{ + Future insertTiposLogradouros(var value,int i)async{ Database db = await DbSqliteLoad().intialDB(); // LOGRADOUROS_TIPOS (ID_LOGR_TIPO INTEGER PRIMARY KEY AUTOINCREMENT, NO_LOGR_TIPO TEXT); // {"idTipoLogradouro":0,"nomeTipoLogradouro":"NAO DEFINIDO"} - for(int i=0;value.length > i;i++){ - Map row = { - 'ID_LOGR_TIPO' : value[i]['idTipoLogradouro'], - 'NO_LOGR_TIPO' : value[i]['nomeTipoLogradouro'], - }; - int id = await db.insert('LOGRADOUROS_TIPOS', row); - // print('id increment $id'); - // print(await db.query('LOGRADOUROS_TIPOS')); - } - return db; + Map row = { + 'ID_LOGR_TIPO' : value[i]['idTipoLogradouro'], + 'NO_LOGR_TIPO' : value[i]['nomeTipoLogradouro'], + }; + int id = await db.insert('LOGRADOUROS_TIPOS', row); + // print('id increment $id'); + // print(await db.query('LOGRADOUROS_TIPOS')); + return db; } - Future insertLogradouros(var value)async{ + Future insertLogradouros(var value,int i)async{ Database db = await DbSqliteLoad().intialDB(); // LOGRADOUROS_ENDERECOS (ID_LOGR_ENDERECO INTEGER, ID_LOGR_TIPO INTEGER, DESC_LOGR_ENDERECO TEXT, ID_BAIRRO INTEGER); // "idLogradouro":7,"descLogradouro":"1A","idTipoLogradouro":6,"idBairro":65 - for(int i=0;value.length > i;i++){ - Map row = { - 'ID_LOGR_ENDERECO' : value[i]['idLogradouro'], - 'ID_LOGR_TIPO' : value[i]['idTipoLogradouro'], - 'DESC_LOGR_ENDERECO' : value[i]['descLogradouro'], - 'ID_BAIRRO' : value[i]['idBairro'], - }; - int id = await db.insert('LOGRADOUROS_ENDERECOS', row); - // print('id increment $id PROCEDIMENTOS_SIGTAP_REGISTRO'); - // print(await db.query('LOGRADOUROS_ENDERECOS')); - } - return db; + + Map row = { + 'ID_LOGR_ENDERECO' : value[i]['idLogradouro'], + 'ID_LOGR_TIPO' : value[i]['idTipoLogradouro'], + 'DESC_LOGR_ENDERECO' : value[i]['descLogradouro'], + 'ID_BAIRRO' : value[i]['idBairro'], + }; + int id = await db.insert('LOGRADOUROS_ENDERECOS', row); + // print('id increment $id PROCEDIMENTOS_SIGTAP_REGISTRO'); + // print(await db.query('LOGRADOUROS_ENDERECOS')); + + return db; } - Future insertLoteamentos(var value)async{ + Future insertLoteamentos(var value,int i)async{ Database db = await DbSqliteLoad().intialDB(); // LOGRADOUROS_LOTEAMENTOS (ID_LOGR_LOTEAMENTO INTEGER PRIMARY KEY AUTOINCREMENT, DESC_LOGR_LOTEAMENTO TEXT); // "idLoteamento":1,"descLoteamento":"ASSENTAMENTO MARINEL" - for(int i=0;value.length > i;i++){ - Map row = { - 'ID_LOGR_LOTEAMENTO' : value[i]['idLoteamento'], - 'DESC_LOGR_LOTEAMENTO' : value[i]['descLoteamento'], - }; - int id = await db.insert('LOGRADOUROS_LOTEAMENTOS', row); - // print('id increment $id PROCEDIMENTOS_SIGTAP_REGISTRO'); - // print(await db.query('LOGRADOUROS_LOTEAMENTOS')); - } - return db; + Map row = { + 'ID_LOGR_LOTEAMENTO' : value[i]['idLoteamento'], + 'DESC_LOGR_LOTEAMENTO' : value[i]['descLoteamento'], + }; + int id = await db.insert('LOGRADOUROS_LOTEAMENTOS', row); + // print('id increment $id PROCEDIMENTOS_SIGTAP_REGISTRO'); + // print(await db.query('LOGRADOUROS_LOTEAMENTOS')); + return db; } - Future insertProfissionais(var value)async{ + Future insertProfissionais(var value,int i)async{ Database db = await DbSqliteLoad().intialDB(); // PROFISSIONAIS (ID_PROFISSIONAL INTEGER PRIMARY KEY AUTOINCREMENT, NOME_PROFISSIONAL TEXT, CNS_PROFISSIONAL TEXT, USERNAME TEXT, SENHA TEXT, BLOQUEIO_ACESSO INTEGER);'); // "idProfissional":1,"nomeProfissional":"ADMINISTRADOR","CNSProfissional":"999999999999999","username":"ADMIN","senha":"1$c124af0fb0b0941b907a9ddf3d5fb3c921d64e7d","bloqueioAcesso":0 - for(int i=0;value.length > i;i++){ - Map row = { - 'ID_PROFISSIONAL' : value[i]['idProfissional'], - 'NOME_PROFISSIONAL': value[i]['nomeProfissional'], - 'CNS_PROFISSIONAL' : value[i]['CNSProfissional'], - 'USERNAME' : value[i]['username'], - 'SENHA' : value[i]['senha'], - 'BLOQUEIO_ACESSO' : value[i]['bloqueioAcesso'], - }; - int id = await db.insert('PROFISSIONAIS', row); - // print('id increment $id PROCEDIMENTOS_SIGTAP_REGISTRO'); - // print(await db.query('PROFISSIONAIS')); - } + Map row = { + 'ID_PROFISSIONAL' : value[i]['idProfissional'], + 'NOME_PROFISSIONAL': value[i]['nomeProfissional'], + 'CNS_PROFISSIONAL' : value[i]['CNSProfissional'], + 'USERNAME' : value[i]['username'], + 'SENHA' : value[i]['senha'], + 'BLOQUEIO_ACESSO' : value[i]['bloqueioAcesso'], + }; + int id = await db.insert('PROFISSIONAIS', row); + // print('id increment $id PROCEDIMENTOS_SIGTAP_REGISTRO'); + // print(await db.query('PROFISSIONAIS')); return db; } - Future insertProfissionaisCBOs(var value)async{ + Future insertProfissionaisCBOs(var value,int i)async{ Database db = await DbSqliteLoad().intialDB(); // PROFISSIONAIS_CBOS (ID_PROFISSIONAL INTEGER, CODIGO_CBO TEXT);'); // "idProfissional":1,"codCBO":"225125" - for(int i=0;value.length > i;i++){ - Map row = { - 'ID_PROFISSIONAL' : value[i]['idProfissional'], - 'CODIGO_CBO' : value[i]['codCBO'], - }; - int id = await db.insert('PROFISSIONAIS_CBOS', row); - // print('id increment $id PROCEDIMENTOS_SIGTAP_REGISTRO'); - // print(await db.query('PROFISSIONAIS_CBOS')); - } - return db; + Map row = { + 'ID_PROFISSIONAL' : value[i]['idProfissional'], + 'CODIGO_CBO' : value[i]['codCBO'], + }; + int id = await db.insert('PROFISSIONAIS_CBOS', row); + // print('id increment $id PROCEDIMENTOS_SIGTAP_REGISTRO'); + // print(await db.query('PROFISSIONAIS_CBOS')); + return db; } - Future insertCidadaos(var value,String type,String CD_USUARIO_SUS)async{ + Future insertCidadaos(var value,String type,String CD_USUARIO_SUS,int i)async{ Database db = await DbSqliteLoad().intialDB(); // CIDADAOS (ID_CIDADAO,CD_USUARIO_SUS,NOME_CIDADAO,NOME_SOCIAL,SEXO,DT_NASCIMENTO,ID_ESTADO_CIVIL,NOME_CONJUGE,NACIONALIDADE,ID_MUNICIPIO_NASC,NO_MUNICIPIO_NASC,ESTADO_UF_NASC // ID_ETNIA,ID_ESCOLARIDADE,ID_DEFICIENCIA,NOME_MAE,DESCONHECE_MAE,NOME_PAI,DESCONHECE_PAI,ID_UNIDADE,NUM_PRONTUARIO,NUM_PRONTUARIO_PROV,CLASSIFICACAO,CLASSIFICACAO_SUB, @@ -141,7 +131,6 @@ class DbSqliteSync{ '"idUsuarioCadastro":null'; if(type=='sync'){ - for(int i=0;value.length > i;i++){ Map row = { 'ID_CIDADAO' : value[i]['idCidadao'], 'CD_USUARIO_SUS' : value[i]['cdUsuarioSus'], @@ -228,7 +217,6 @@ class DbSqliteSync{ int id = await db.insert('CIDADAOS', row); // print('id increment $id PROCEDIMENTOS_SIGTAP_REGISTRO'); // print(await db.query('CIDADAOS')); - } }else if(type=='new'){ int id = await db.insert('CIDADAOS', value); // print('novo id $id'); @@ -237,7 +225,7 @@ class DbSqliteSync{ } return db; } - Future insertCadastrosDomiciliares(var value,String type,int ID_DOMICILIO,int ID_CIDADAO,String CD_USUARIO_SUS)async{ + Future insertCadastrosDomiciliares(var value,String type,int ID_DOMICILIO,int ID_CIDADAO,String CD_USUARIO_SUS,int i)async{ Database db = await DbSqliteLoad().intialDB(); // CIDADAO_DOMICILIO (ID_DOMICILIO,TIPO_IMOVEL,ID_AREA_DOMICILIO,ID_MICROAREA_DOMICILIO,FORA_AREA,SITUACAO_MORADIA,TIPO_LOCALIDADE,TIPO_DOMICILIO,NUM_MORADORES, // NUM_COMODOS,SITUACAO_RURAL,TIPO_ACESSO,MAT_PREDOMINANTE,DISPONIBILIDADE_ENERGIA,TIPO_ABASTECIMENTO,TRATAMENTO_AGUA,DESTINO_LIXO,ESCOAMENTO,FL_ANIMAIS, @@ -251,7 +239,6 @@ class DbSqliteSync{ // "cnesUnidade":"9372253","cboRespCadastro":"515105","ine":"0001485628","dtCadastro":"2021-11-10","cdEquipe":5,"noInstPermanencia":null,"outrosProfissionaisInst":null, // "noResponsavelInst":null,"cnsResponsavelInst":null,"gargoResponsavelInst":null,"telefoneResponsavelInst":null if(type=='sync'){ - for(int i=0;value.length > i;i++){ Map row = { 'ID_DOMICILIO' : value[i]['cdDomicilio'], 'TIPO_IMOVEL' : value[i]['cdTipoImovel'], @@ -294,7 +281,6 @@ class DbSqliteSync{ int id = await db.insert('CIDADAO_DOMICILIO', row); // print('id increment $id PROCEDIMENTOS_SIGTAP_REGISTRO'); // print(await db.query('CIDADAO_DOMICILIO')); - } }else if(type=='new'){ int id = await db.insert('CIDADAO_DOMICILIO', value); print('novo id $id'); @@ -325,7 +311,7 @@ class DbSqliteSync{ return db; } - Future insertCadastrosIndividuais(var value,String type,int ID_CIDADAO)async{ + Future insertCadastrosIndividuais(var value,String type,int ID_CIDADAO,int i)async{ Database db = await DbSqliteLoad().intialDB(); // CADASTROS_INDIVIDUAIS (ID_CAD_INDIVIDUAL,STATUS_CADASTRO,ID_CIDADAO,CD_USUARIO_SUS,ID_AREA_CIDADAO,ID_MICROAREA_CIDADAO,FORA_AREA,RESPONSAVEL_FAMILIAR, // ID_RESPONSAVEL_FAMILIAR,NOME_RESPONSAVEL_FAMILIAR,PARENTESCO,ESCOLARIDADE,FREQ_ESCOLA_CRECHE,SITUACAO_MERCADO,CUIDADOR_TRADICIONAL,GRUPO_COMUNITARIO,PLANO_PRIVADO, @@ -351,7 +337,6 @@ class DbSqliteSync{ // "criancasAdulto":2,"criancasOutrasCriancas":2,"criancasAdolescente":2,"criancasSozinha":2,"criancasCresce":2,"criancasOutro":2,"identidadeGenero":null,"statusCadastro":null} if(type=='sync'){ - for(int i=0;value.length > i;i++){ Map row = { 'ID_CAD_INDIVIDUAL' : value[i]['idCadIndividual'], 'STATUS_CADASTRO' : value[i]['statusCadastro'], @@ -447,7 +432,6 @@ class DbSqliteSync{ int id = await db.insert('CADASTROS_INDIVIDUAIS', row); // print('id increment $id PROCEDIMENTOS_SIGTAP_REGISTRO'); // print(await db.query('CADASTROS_INDIVIDUAIS')); - } }else if(type=='new'){ int id = await db.insert('CADASTROS_INDIVIDUAIS', value); // print('novo id $id'); diff --git a/lib/widgets/input_search_text.dart b/lib/widgets/input_search_text.dart index c2dc91e..38c6806 100644 --- a/lib/widgets/input_search_text.dart +++ b/lib/widgets/input_search_text.dart @@ -40,7 +40,7 @@ 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, fontSize: this.fontSizeHint, diff --git a/lib/widgets/input_text.dart b/lib/widgets/input_text.dart index b048312..fb0fb41 100644 --- a/lib/widgets/input_text.dart +++ b/lib/widgets/input_text.dart @@ -1,15 +1,15 @@ import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; import 'package:rkm/config/color_palette.dart'; +import 'package:rkm/widgets/text_default.dart'; import '../controllers/format_txt.dart'; class InputText extends StatelessWidget { bool obscure; var controller; double fontSize; - String hint; + String title; double width; - String label; bool enabled; TextInputType textInputType; int maxLines; @@ -21,8 +21,7 @@ class InputText extends StatelessWidget { required this.width, this.obscure = false, this.fontSize = 15.0, - this.hint = '', - this.label = '', + this.title = '', this.enabled = true, this.textInputType = TextInputType.text, this.maxLines = 1, @@ -34,8 +33,8 @@ class InputText extends StatelessWidget { Widget build(BuildContext context) { return Container( color: enabled?ColorPalette.white:ColorPalette.disable, - margin: EdgeInsets.only(top: 5), width: width, + margin: EdgeInsets.only(bottom: 5), child: TextFormField( keyboardType: textInputType, maxLines: maxLines, @@ -51,7 +50,7 @@ class InputText extends StatelessWidget { ), decoration: InputDecoration( fillColor: ColorPalette.appBar, - labelText: label, + // labelText: label, border: OutlineInputBorder( borderSide: BorderSide(width: 1,color: colorBorder) ), @@ -67,7 +66,7 @@ class InputText extends StatelessWidget { borderSide: BorderSide(width: 1, color: colorBorder), borderRadius: BorderRadius.circular(3), ), - hintText: this.hint, + // hintText: this.hint, enabled: enabled, hintStyle: TextStyle( color: Colors.black, diff --git a/lib/widgets/input_with_subtitle.dart b/lib/widgets/input_with_subtitle.dart index 8bf4088..a649811 100644 --- a/lib/widgets/input_with_subtitle.dart +++ b/lib/widgets/input_with_subtitle.dart @@ -1,4 +1,5 @@ import 'package:flutter/material.dart'; +import 'package:rkm/widgets/title_input.dart'; import '../config/color_palette.dart'; import 'error_default.dart'; import 'input_text.dart'; @@ -53,11 +54,11 @@ class InputWithSubtitle extends StatelessWidget { // fontWeigth: FontWeight.bold, // ), // ), + TitleInput(title:labelInput), InputText( controller: controller, width: widthInput, - hint: hintInput, - label: labelInput, + title: hintInput, enabled: enabled, textInputType: textInputType, maxLines:maxLines, diff --git a/lib/widgets/title_input.dart b/lib/widgets/title_input.dart new file mode 100644 index 0000000..7628910 --- /dev/null +++ b/lib/widgets/title_input.dart @@ -0,0 +1,17 @@ +import 'package:flutter/material.dart'; +import 'package:rkm/config/color_palette.dart'; +import 'package:rkm/config/const_variable.dart'; +import 'package:rkm/widgets/text_default.dart'; + +class TitleInput extends StatelessWidget { + String title; + + TitleInput({ + required this.title, +}); + + @override + Widget build(BuildContext context) { + return TextDefault(text: title,color: Colors.black,fontSize: 13,textAlign: TextAlign.start); + } +} diff --git a/pubspec.lock b/pubspec.lock index bda0c74..3252485 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -421,5 +421,5 @@ packages: source: hosted version: "1.0.0" sdks: - dart: ">=2.18.6 <3.0.0" + dart: ">=2.18.0 <3.0.0" flutter: ">=3.3.0" diff --git a/pubspec.yaml b/pubspec.yaml index 8df8fc4..959d8de 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -5,7 +5,7 @@ publish_to: 'none' version: 1.0.0+1 environment: - sdk: '>=2.18.6 <3.0.0' + sdk: '>=2.17.6 <3.0.0' dependencies: flutter: