ajustes envio das tabelas, criação e edição de cidadão
This commit is contained in:
@@ -1,9 +1,9 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:rkm/config/const_variable.dart';
|
||||
import 'package:rkm/service/db/db_querys.dart';
|
||||
import 'package:rkm/widgets/button_default.dart';
|
||||
|
||||
import '../../config/color_palette.dart';
|
||||
import '../../service/shared_preferences/shared_preferences_service.dart';
|
||||
import '../../service/api/api_data_post.dart';
|
||||
import '../../service/db/db_sqlite_load.dart';
|
||||
import '../../widgets/text_default.dart';
|
||||
|
||||
class SincDataScreen extends StatefulWidget {
|
||||
@@ -16,15 +16,200 @@ class SincDataScreen extends StatefulWidget {
|
||||
class _SincDataScreenState extends State<SincDataScreen> {
|
||||
|
||||
String mode ='';
|
||||
String urlAPI ='';
|
||||
String nameCityApi ='';
|
||||
List tableCIDADAOS = [];
|
||||
List tableCIDADAO_DOMICILIO = [];
|
||||
List tableDOMICILIOS_CIDADAOS = [];
|
||||
List tableINNERJOINCIDADAO_DOMICILIO = [];
|
||||
List tableCADASTROS_INDIVIDUAIS = [];
|
||||
List tableATENDS_INDIV_COMPL = [];
|
||||
List tableATENDS_INDIV_EXAMES = [];
|
||||
List tableATENDS_INDIV_PROC = [];
|
||||
List tableATENDS_INDIV_PROF = [];
|
||||
List tableATENDS_INDIVIDUAIS = [];
|
||||
List tablePROCEDIMENTOS_FICHAS = [];
|
||||
List tablePROCEDIMENTOS_INDIV = [];
|
||||
List tablePROCEDIMENTOS_INDIV_FICHA = [];
|
||||
List tablePROCEDIMENTOS_INDIV_SIGTAP = [];
|
||||
List tableVISITAS_DOMICILIARES = [];
|
||||
List tableVISITAS_DOMICILIARES_COMPL = [];
|
||||
List tableVISITAS_DOMICILIARES_PROC = [];
|
||||
List tableFICHAS_COMPLEMENTARES = [];
|
||||
List tableATENDIMENTOS_DOMICILIARES = [];
|
||||
List tableATENDS_DOM_COMPL = [];
|
||||
List tableATENDS_DOM_PROC = [];
|
||||
List tableATENDS_DOM_SIGTAP = [];
|
||||
List tableATENDS_ODONTOLOGICOS = [];
|
||||
List tableATENDS_ODONTO_PROF = [];
|
||||
List tableATENDS_ODONTO_PROC = [];
|
||||
List tableATENDS_ODONTO_SIGTAP = [];
|
||||
List tableATENDS_ODONTO_COMPL = [];
|
||||
List tableMARCADORES_CON_QUEST = [];
|
||||
List tableMARCADORES_CONSUMO = [];
|
||||
List tableAVAL_ELEG_COND_AVAL = [];
|
||||
List tableAVAL_ELEG_CONCL_INE = [];
|
||||
List tableAVALIACOES_ELEGIBILIDADE = [];
|
||||
String message = 'A Sincronização poderá demorar. Prosseguir?';
|
||||
bool upload = false;
|
||||
bool done = false;
|
||||
|
||||
dataSQLite()async{
|
||||
final PrefService _preferences = PrefService();
|
||||
_preferences.readCacheModel('user', 'password', 'city', 'mode').then((list){
|
||||
setState(() {
|
||||
mode = list[3];
|
||||
updateTable()async{
|
||||
setState(() {
|
||||
upload = true;
|
||||
message = 'Aguarde enquanto os dados são Sincronizados.';
|
||||
});
|
||||
await DBQuerys().cadCidadaos().then((response)async{
|
||||
tableCIDADAOS = response;
|
||||
// print(tableCIDADAOS);
|
||||
await DBQuerys().cadDomiciliares().then((response)async{
|
||||
tableCIDADAO_DOMICILIO = response;
|
||||
// print(tableCIDADAO_DOMICILIO);
|
||||
await DBQuerys().domCidadaos().then((response)async{
|
||||
tableDOMICILIOS_CIDADAOS = response;
|
||||
// print(tableDOMICILIOS_CIDADAOS);
|
||||
await DBQuerys().logrDomicilios().then((response)async{
|
||||
tableINNERJOINCIDADAO_DOMICILIO = response;
|
||||
// print(tableINNERJOINCIDADAO_DOMICILIO);
|
||||
await DBQuerys().cadIndividuais().then((response)async{
|
||||
tableCADASTROS_INDIVIDUAIS = response;
|
||||
// print(tableCADASTROS_INDIVIDUAIS);
|
||||
await DBQuerys().atendsIndivCompl().then((response)async{
|
||||
tableATENDS_INDIV_COMPL = response;
|
||||
// print(tableATENDS_INDIV_COMPL);
|
||||
await DBQuerys().atendsIndivExames().then((response)async{
|
||||
tableATENDS_INDIV_EXAMES =response;
|
||||
// print(tableATENDS_INDIV_EXAMES);
|
||||
await DBQuerys().atendsIndivProc().then((response)async{
|
||||
tableATENDS_INDIV_PROC = response;
|
||||
// print(tableATENDS_INDIV_PROC);
|
||||
await DBQuerys().atendsIndivProf().then((response)async{
|
||||
tableATENDS_INDIV_PROF = response;
|
||||
// print(tableATENDS_INDIV_PROF);
|
||||
await DBQuerys().atendsIndividuais().then((response)async{
|
||||
tableATENDS_INDIVIDUAIS = response;
|
||||
// print(tableATENDS_INDIVIDUAIS);
|
||||
await DBQuerys().procedimentosFichas().then((response)async{
|
||||
tablePROCEDIMENTOS_FICHAS = response;
|
||||
// print(tablePROCEDIMENTOS_FICHAS);
|
||||
await DBQuerys().procedimentosIndiv().then((response)async{
|
||||
tablePROCEDIMENTOS_INDIV = response;
|
||||
// print(tablePROCEDIMENTOS_INDIV);
|
||||
await DBQuerys().procedimentosIndivFicha().then((response)async{
|
||||
tablePROCEDIMENTOS_INDIV_FICHA = response;
|
||||
// print(tablePROCEDIMENTOS_INDIV_FICHA);
|
||||
await DBQuerys().procedimentosIndivSigtap().then((response)async{
|
||||
tablePROCEDIMENTOS_INDIV_SIGTAP = response;
|
||||
// print(tablePROCEDIMENTOS_INDIV_SIGTAP);
|
||||
await DBQuerys().visitasDomiciliares().then((response)async{
|
||||
tableVISITAS_DOMICILIARES = response;
|
||||
// print(tableVISITAS_DOMICILIARES);
|
||||
await DBQuerys().visitasDomiciliaresCompl().then((response)async{
|
||||
tableVISITAS_DOMICILIARES_COMPL = response;
|
||||
// print(tableVISITAS_DOMICILIARES_COMPL);
|
||||
await DBQuerys().visitasDomiciliaresProc().then((response)async{
|
||||
tableVISITAS_DOMICILIARES_PROC = response;
|
||||
// print(tableVISITAS_DOMICILIARES_PROC);
|
||||
await DBQuerys().fichasComplementares().then((response)async{
|
||||
tableFICHAS_COMPLEMENTARES = response;
|
||||
// print(tableFICHAS_COMPLEMENTARES);
|
||||
await DBQuerys().atendimentosDomiciliares().then((response)async{
|
||||
tableATENDIMENTOS_DOMICILIARES = response;
|
||||
// print(tableATENDIMENTOS_DOMICILIARES);
|
||||
await DBQuerys().atendDomCompl().then((response)async{
|
||||
tableATENDS_DOM_COMPL = response;
|
||||
// print(tableATENDS_DOM_COMPL);
|
||||
await DBQuerys().atendDomProcsFicha().then((response)async{
|
||||
tableATENDS_DOM_PROC = response;
|
||||
// print(tableATENDS_DOM_PROC);
|
||||
await DBQuerys().atendDomProcsSigtap().then((response)async{
|
||||
tableATENDS_DOM_SIGTAP = response;
|
||||
// print(tableATENDS_DOM_SIGTAP);
|
||||
await DBQuerys().atendsOdontologicos().then((response)async{
|
||||
tableATENDS_ODONTOLOGICOS = response;
|
||||
// print(tableATENDS_ODONTOLOGICOS);
|
||||
await DBQuerys().atendsOdontoProf().then((response)async{
|
||||
tableATENDS_ODONTO_PROF = response;
|
||||
// print(tableATENDS_ODONTO_PROF);
|
||||
await DBQuerys().atendsOdontoProc().then((response)async{
|
||||
tableATENDS_ODONTO_PROC = response;
|
||||
// print(tableATENDS_ODONTO_PROC);
|
||||
await DBQuerys().atendsOdontoSigtap().then((response)async{
|
||||
tableATENDS_ODONTO_SIGTAP = response;
|
||||
// print(tableATENDS_ODONTO_SIGTAP);
|
||||
await DBQuerys().atendsOdontoCompl().then((response)async{
|
||||
tableATENDS_ODONTO_COMPL = response;
|
||||
// print(tableATENDS_ODONTO_COMPL);
|
||||
await DBQuerys().marcadoresConQuest().then((response)async{
|
||||
tableMARCADORES_CON_QUEST = response;
|
||||
// print(tableMARCADORES_CON_QUEST);
|
||||
await DBQuerys().marcadoresConsumo().then((response)async{
|
||||
tableMARCADORES_CONSUMO = response;
|
||||
// print(tableMARCADORES_CONSUMO);
|
||||
await DBQuerys().avalElegCondAval().then((response)async{
|
||||
tableAVAL_ELEG_COND_AVAL = response;
|
||||
// print(tableAVAL_ELEG_COND_AVAL);
|
||||
await DBQuerys().avalElegConclIne().then((response)async{
|
||||
tableAVAL_ELEG_CONCL_INE = response;
|
||||
// print(tableAVAL_ELEG_CONCL_INE);
|
||||
await DBQuerys().avaliacoesElegibilidade().then((response)async{
|
||||
tableAVALIACOES_ELEGIBILIDADE = response;
|
||||
// print(tableAVALIACOES_ELEGIBILIDADE);
|
||||
// print('aqui2');
|
||||
syncData();
|
||||
});
|
||||
});
|
||||
});
|
||||
});
|
||||
});
|
||||
});
|
||||
});
|
||||
});
|
||||
});
|
||||
});
|
||||
});
|
||||
});
|
||||
});
|
||||
});
|
||||
});
|
||||
});
|
||||
});
|
||||
});
|
||||
});
|
||||
});
|
||||
});
|
||||
});
|
||||
});
|
||||
});
|
||||
});
|
||||
});
|
||||
});
|
||||
});
|
||||
});
|
||||
});
|
||||
});
|
||||
});
|
||||
}
|
||||
syncData()async{
|
||||
// ApiDataPost().sincronizacao(urlAPI, mode, nameCityApi).then((value){});
|
||||
setState(() {
|
||||
upload = false;
|
||||
done = true;
|
||||
message = '';
|
||||
});
|
||||
}
|
||||
|
||||
dataSQLite()async{
|
||||
await DbSqliteLoad().intialDB().then((db)async {
|
||||
List list = await db.query('ARGS');
|
||||
urlAPI = list[0]['URLAPI'];
|
||||
mode = list[0]['MODE'];
|
||||
nameCityApi = list[0]['NAME_CITY_API'];
|
||||
});
|
||||
// print(urlAPI);
|
||||
// print(mode);
|
||||
// print(nameCityApi);
|
||||
}
|
||||
|
||||
@override
|
||||
void initState() {
|
||||
@@ -35,6 +220,7 @@ class _SincDataScreenState extends State<SincDataScreen> {
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
double width = MediaQuery.of(context).size.width;
|
||||
double height = MediaQuery.of(context).size.height;
|
||||
return Scaffold(
|
||||
bottomSheet: Container(
|
||||
color: ColorPalette.appBar,
|
||||
@@ -71,20 +257,126 @@ class _SincDataScreenState extends State<SincDataScreen> {
|
||||
Padding(
|
||||
padding: const EdgeInsets.symmetric(vertical: 5.0),
|
||||
child: TextDefault(
|
||||
text: 'A Sincronização poderá demorar. Prosseguir?',
|
||||
text: message,
|
||||
color: ColorPalette.black54,
|
||||
fontSize: 22,
|
||||
fontWeigth: FontWeight.bold,
|
||||
),
|
||||
),
|
||||
ButtonDefault(
|
||||
upload?Image.asset('assets/images/loading.gif',width: width*0.4):Container(),
|
||||
done?Image.asset('assets/images/send-done.png',width: width*0.9):Container(),
|
||||
!upload && !done?ButtonDefault(
|
||||
title: 'Enviar informações',
|
||||
width: width*0.9,
|
||||
textColor: ColorPalette.white,
|
||||
background: ColorPalette.appBar,
|
||||
borderColor: ColorPalette.appBar,
|
||||
onPressed: ()=>Navigator.pushReplacementNamed(context, '/home'),
|
||||
)
|
||||
onPressed: ()=>updateTable(),
|
||||
):Container(),
|
||||
SizedBox(height: 20,),
|
||||
done?Container(
|
||||
color: ColorPalette.white,
|
||||
width: width,
|
||||
height: height*0.3,
|
||||
child: ListView(
|
||||
children: [
|
||||
TextDefault(
|
||||
text: 'Atendimentos Domiciliares: ${tableATENDIMENTOS_DOMICILIARES.length}',
|
||||
textAlign: TextAlign.center,
|
||||
fontWeigth: FontWeight.bold,
|
||||
color: ColorPalette.black54,
|
||||
fontSize: 18,
|
||||
),
|
||||
TextDefault(
|
||||
text: 'Atendimento Individuais: ${tableATENDS_INDIVIDUAIS.length}',
|
||||
textAlign: TextAlign.center,
|
||||
fontWeigth: FontWeight.bold,
|
||||
color: ColorPalette.black54,
|
||||
fontSize: 18,
|
||||
),
|
||||
TextDefault(
|
||||
textAlign: TextAlign.center,
|
||||
text: 'Atendimentos Odontológicos: ${tableATENDS_ODONTOLOGICOS.length}',
|
||||
fontWeigth: FontWeight.bold,
|
||||
color: ColorPalette.black54,
|
||||
fontSize: 18,
|
||||
),
|
||||
TextDefault(
|
||||
textAlign: TextAlign.center,
|
||||
text: 'Avaliação Elegibilidade: ${tableAVALIACOES_ELEGIBILIDADE.length}',
|
||||
fontWeigth: FontWeight.bold,
|
||||
color: ColorPalette.black54,
|
||||
fontSize: 18,
|
||||
),
|
||||
TextDefault(
|
||||
textAlign: TextAlign.center,
|
||||
text: 'Cadastros Cidadãos Realizados / Atualizados : ${tableCIDADAOS.length}',
|
||||
fontWeigth: FontWeight.bold,
|
||||
color: ColorPalette.black54,
|
||||
fontSize: 18,
|
||||
),
|
||||
TextDefault(
|
||||
textAlign: TextAlign.center,
|
||||
text: 'Fichas Complementares: ${tableFICHAS_COMPLEMENTARES.length}',
|
||||
fontWeigth: FontWeight.bold,
|
||||
color: ColorPalette.black54,
|
||||
fontSize: 18,
|
||||
),
|
||||
TextDefault(
|
||||
textAlign: TextAlign.center,
|
||||
text: 'Marcadores de Consumo : ${tableMARCADORES_CONSUMO.length}',
|
||||
fontWeigth: FontWeight.bold,
|
||||
color: ColorPalette.black54,
|
||||
fontSize: 18,
|
||||
),
|
||||
TextDefault(
|
||||
textAlign: TextAlign.center,
|
||||
//aqui verificar de qual tela seria esses dados
|
||||
text: 'Procedimentos Consolidados: 0',
|
||||
fontWeigth: FontWeight.bold,
|
||||
color: ColorPalette.black54,
|
||||
fontSize: 18,
|
||||
),
|
||||
TextDefault(
|
||||
textAlign: TextAlign.center,
|
||||
text: 'Procedimentos Individuais : ${tablePROCEDIMENTOS_INDIV.length}',
|
||||
fontWeigth: FontWeight.bold,
|
||||
color: ColorPalette.black54,
|
||||
fontSize: 18,
|
||||
),
|
||||
TextDefault(
|
||||
textAlign: TextAlign.center,
|
||||
text: 'Visitas Domiciliares: ${tableVISITAS_DOMICILIARES.length}',
|
||||
fontWeigth: FontWeight.bold,
|
||||
color: ColorPalette.black54,
|
||||
fontSize: 18,
|
||||
),
|
||||
],
|
||||
)
|
||||
):Container(),
|
||||
SizedBox(height: 30,),
|
||||
done?Padding(
|
||||
padding: const EdgeInsets.symmetric(horizontal: 30.0),
|
||||
child: ButtonDefault(
|
||||
title: 'Continuar (Mantendo os Dados)',
|
||||
width: width*0.9,
|
||||
textColor: ColorPalette.white,
|
||||
background: ColorPalette.appBar,
|
||||
borderColor: ColorPalette.appBar,
|
||||
onPressed: ()=>Navigator.pushNamedAndRemoveUntil(context, '/home', (Route<dynamic> route) => false),
|
||||
),
|
||||
):Container(),
|
||||
done?Padding(
|
||||
padding: const EdgeInsets.symmetric(horizontal: 30.0),
|
||||
child: ButtonDefault(
|
||||
title: 'Continuar (Limpando os Dados)',
|
||||
width: width*0.9,
|
||||
textColor: ColorPalette.white,
|
||||
background: ColorPalette.red,
|
||||
borderColor: ColorPalette.red,
|
||||
onPressed: (){},
|
||||
),
|
||||
):Container(),
|
||||
],
|
||||
),
|
||||
),
|
||||
|
||||
@@ -1,7 +1,9 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:line_icons/line_icons.dart';
|
||||
import 'package:rkm/controllers/main_controllers.dart';
|
||||
import 'package:rkm/screens/registers_citizen/register_citizen_screen.dart';
|
||||
import 'package:rkm/config/const_variable.dart';
|
||||
import 'package:rkm/service/db/db_querys.dart';
|
||||
import 'package:rkm/widgets/icon_button_default.dart';
|
||||
import 'package:rkm/widgets/input_search_text.dart';
|
||||
import '../service/db/db_sqlite_load.dart';
|
||||
@@ -68,12 +70,12 @@ class _HomeScreenState extends State<HomeScreen> {
|
||||
searchCitizen();
|
||||
}
|
||||
|
||||
|
||||
@override
|
||||
void initState() {
|
||||
super.initState();
|
||||
loadCitizen();
|
||||
inputSearch.addListener(_searchInit);
|
||||
|
||||
}
|
||||
@override
|
||||
void dispose() {
|
||||
@@ -106,7 +108,7 @@ class _HomeScreenState extends State<HomeScreen> {
|
||||
icon: Icons.person_add,
|
||||
onPressed: ()=> Navigator.push(
|
||||
context,
|
||||
MaterialPageRoute(builder: (context) => RegisterCitizenScreen(select: '')),
|
||||
MaterialPageRoute(builder: (context) => RegisterCitizenScreen(listData: [],)),
|
||||
)
|
||||
),
|
||||
IconButtonDefault(
|
||||
@@ -138,10 +140,15 @@ class _HomeScreenState extends State<HomeScreen> {
|
||||
mother:'${showResults[index]['NOME_MAE']}',
|
||||
numberCNS: '${showResults[index]['CNS']}'=='null'||'${showResults[index]['CNS']}'==''?'999999999999999':'${showResults[index]['CNS']}',
|
||||
numberMedicalRecord: '${showResults[index]['NUM_PRONTUARIO']}'==''?'-----':'${showResults[index]['NUM_PRONTUARIO']}',
|
||||
onTap: ()=> Navigator.push(
|
||||
context,
|
||||
MaterialPageRoute(builder: (context) => RegisterCitizenScreen(select: '')),
|
||||
),
|
||||
onTap: ()async {
|
||||
await DBQuerys().buscaCidadao(showResults[index]['NOME_CIDADAO']).then((list){
|
||||
Navigator.push(
|
||||
context,
|
||||
MaterialPageRoute(builder:
|
||||
(context) => RegisterCitizenScreen(listData: list,)),
|
||||
);
|
||||
});
|
||||
}
|
||||
);
|
||||
}
|
||||
)
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:rkm/controllers/main_controllers.dart';
|
||||
import 'package:rkm/service/api/url_api_const.dart';
|
||||
import 'package:rkm/config/color_palette.dart';
|
||||
import 'package:rkm/config/const_variable.dart';
|
||||
@@ -7,7 +8,6 @@ import 'package:rkm/widgets/dropdown_button_city.dart';
|
||||
import 'package:rkm/widgets/input_text.dart';
|
||||
import 'package:rkm/widgets/text_default.dart';
|
||||
import '../../service/api/api_data_load.dart';
|
||||
import '../../service/api/encrypt_password.dart';
|
||||
import '../../service/db/db_sqlite_load.dart';
|
||||
import '../../service/shared_preferences/shared_preferences_service.dart';
|
||||
import '../load_init_screen.dart';
|
||||
@@ -78,7 +78,7 @@ class _LoginLoadScreenState extends State<LoginLoadScreen> {
|
||||
error = '';
|
||||
});
|
||||
//verificar se a criptografia identificou se a senha está correta
|
||||
if(EncryptPassword().encrypt(inputPassword.text,response['userPass']) == response['userPass']){
|
||||
if(MainControllers().encrypt(inputPassword.text,response['userPass']) == response['userPass']){
|
||||
// print(EncryptPassword().encrypt(inputPassword.text,response['userPass']));
|
||||
setState(() {
|
||||
loading = false;
|
||||
|
||||
@@ -7,8 +7,8 @@ import 'package:rkm/config/const_variable.dart';
|
||||
import 'package:rkm/widgets/button_default.dart';
|
||||
import 'package:rkm/widgets/input_text.dart';
|
||||
import 'package:rkm/widgets/text_default.dart';
|
||||
import '../../controllers/main_controllers.dart';
|
||||
import '../../service/api/api_data_load.dart';
|
||||
import '../../service/api/encrypt_password.dart';
|
||||
import '../../service/db/db_sqlite_load.dart';
|
||||
class LoginSavedScreen extends StatefulWidget {
|
||||
List listControl;
|
||||
@@ -74,7 +74,7 @@ class _LoginSavedScreenState extends State<LoginSavedScreen> {
|
||||
error = '';
|
||||
});
|
||||
//verificar se a criptografia identificou se a senha está correta
|
||||
if(EncryptPassword().encrypt(inputPassword.text,response['userPass']) == response['userPass']){
|
||||
if(MainControllers().encrypt(inputPassword.text,response['userPass']) == response['userPass']){
|
||||
// print(EncryptPassword().encrypt(inputPassword.text,response['userPass']));
|
||||
DbSqliteLoad().updateArgs(mode, inputUser.text, inputPassword.text).then((value){
|
||||
setState(() {
|
||||
|
||||
@@ -7,8 +7,8 @@ import 'package:rkm/widgets/dropdown_button_default.dart';
|
||||
import 'package:rkm/widgets/input_text.dart';
|
||||
import 'package:rkm/widgets/text_default.dart';
|
||||
import 'package:sqflite/sqflite.dart';
|
||||
import '../../controllers/main_controllers.dart';
|
||||
import '../../service/api/api_data_load.dart';
|
||||
import '../../service/api/encrypt_password.dart';
|
||||
import '../../service/db/db_sqlite_load.dart';
|
||||
import '../../service/shared_preferences/shared_preferences_service.dart';
|
||||
class SyncLoginScreen extends StatefulWidget {
|
||||
@@ -74,7 +74,7 @@ class _SyncLoginScreenState extends State<SyncLoginScreen> {
|
||||
setState((){
|
||||
error = '';
|
||||
});
|
||||
if(EncryptPassword().encrypt(inputPassword.text,response['userPass']) == response['userPass']){
|
||||
if(MainControllers().encrypt(inputPassword.text,response['userPass']) == response['userPass']){
|
||||
setState(() {
|
||||
loading = false;
|
||||
});
|
||||
|
||||
@@ -1,4 +1,6 @@
|
||||
import 'package:brasil_fields/brasil_fields.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter/services.dart';
|
||||
import 'package:intl/intl.dart';
|
||||
import 'package:rkm/config/color_palette.dart';
|
||||
import 'package:rkm/config/const_variable.dart';
|
||||
@@ -21,10 +23,8 @@ import '../../widgets/subtitle_appbar_citizen.dart';
|
||||
import '../../widgets/switch_with_subtitle.dart';
|
||||
import '../../widgets/text_default.dart';
|
||||
class RegisterCitizenScreen extends StatefulWidget {
|
||||
String select;
|
||||
|
||||
RegisterCitizenScreen({required this.select});
|
||||
|
||||
List listData;
|
||||
RegisterCitizenScreen({required this.listData});
|
||||
@override
|
||||
State<RegisterCitizenScreen> createState() => _RegisterCitizenScreenState();
|
||||
}
|
||||
@@ -87,6 +87,7 @@ class _RegisterCitizenScreenState extends State<RegisterCitizenScreen> {
|
||||
String? selectTypeStreet;
|
||||
String? selectStreet;
|
||||
String? selectSubdivision;
|
||||
int? selectSubdivisionCOD;
|
||||
String? selectZone;
|
||||
int? selectZoneCod;
|
||||
String? selectVillage;
|
||||
@@ -135,6 +136,7 @@ class _RegisterCitizenScreenState extends State<RegisterCitizenScreen> {
|
||||
List<String> listBreed = [];
|
||||
List<String> listMaritalStatus = [];
|
||||
String idUnidade = '';
|
||||
String codSus = '';
|
||||
|
||||
escolherprazoInicio(BuildContext context,String type) async {
|
||||
|
||||
@@ -190,6 +192,9 @@ class _RegisterCitizenScreenState extends State<RegisterCitizenScreen> {
|
||||
cityController.text = '${listCity[0]['NAME_CITY_FRONT']} - ${listCity[0]['COD_STATE']}'.toUpperCase();
|
||||
codIBGEController.text = listCity[0]['COD_IBGE'].toString();
|
||||
});
|
||||
String city = MainControllers().replaceDefaul(listCity[0]['NAME_CITY_FRONT']);
|
||||
print(city);
|
||||
resultListResid = await DBQuerys().buscaMunicipioporNome(city);
|
||||
}
|
||||
|
||||
loadVillgeDB()async{
|
||||
@@ -247,11 +252,7 @@ class _RegisterCitizenScreenState extends State<RegisterCitizenScreen> {
|
||||
}
|
||||
|
||||
getCity()async{
|
||||
Database db = await DbSqliteLoad().intialDB();
|
||||
var query = "SELECT * FROM MUNICIPIOS ORDER BY NO_MUNICIPIO";
|
||||
List list = await db.rawQuery(query);
|
||||
// print("SELECT * FROM UNIDADES");
|
||||
// print(await db.rawQuery("SELECT * FROM UNIDADES"));
|
||||
List list = await DBQuerys().buscaTodosMunicipios();
|
||||
for(int i=0; list.length > i;i++){
|
||||
cityDB.add('${list[i]['NO_MUNICIPIO']} - ${list[i]['UF_ESTADO']}');
|
||||
ibgeDB.add('${list[i]['CODIGO_IBGE']}');
|
||||
@@ -334,23 +335,20 @@ class _RegisterCitizenScreenState extends State<RegisterCitizenScreen> {
|
||||
});
|
||||
}else{
|
||||
print('passou');
|
||||
saveCitizen();
|
||||
if(widget.listData.length==0){
|
||||
codSus = MainControllers().gerarCDUsuarioSus();
|
||||
}else{
|
||||
codSus = widget.listData[0]['CD_USUARIO_SUS'];
|
||||
}
|
||||
if(codSus!=''){
|
||||
saveCitizen();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
gerarCDUsuarioSus(){
|
||||
var mkTime = ((int.parse(DateTime.now())/1000)).toString();
|
||||
var seqID = (Math.floor((Math.random() * 100) + int.parse((Math.floor((Math.random() * 5) + 1)) + '00000'))).toString();
|
||||
var cdUsuarioSUS = (md5(mkTime) + seqID).toUpperCase();
|
||||
var codSize = cdUsuarioSUS.length;
|
||||
cdUsuarioSUS = cdUsuarioSUS.substr((codSize <= 58) ? (codSize * -1) : -58 , 58);
|
||||
return cdUsuarioSUS;
|
||||
}
|
||||
|
||||
saveCitizen()async{
|
||||
|
||||
Map<String, dynamic> row = {
|
||||
'CD_USUARIO_SUS' : '0',
|
||||
'CD_USUARIO_SUS' : codSus,
|
||||
'NOME_CIDADAO' : nameController.text,
|
||||
'NOME_SOCIAL' : nameSocialController.text,
|
||||
'SEXO' : selectGender=='MASCULINO'?'M':'F',
|
||||
@@ -365,15 +363,14 @@ class _RegisterCitizenScreenState extends State<RegisterCitizenScreen> {
|
||||
'ID_ESCOLARIDADE' : selectScoolingCod,
|
||||
'ID_DEFICIENCIA' : selectDeficiencyCod,
|
||||
'NOME_MAE' : nameMotherController.text,
|
||||
'DESCONHECE_MAE' : '${!enableMother}',
|
||||
'DESCONHECE_MAE' : enableMother?1:0,
|
||||
'NOME_PAI' : nameFatherController.text,
|
||||
'DESCONHECE_PAI' : '${!enableFather}',
|
||||
'DESCONHECE_PAI' : enableFather?1:0,
|
||||
'ID_UNIDADE' : idUnidade,
|
||||
'NUM_PRONTUARIO' : medicalRecordController.text,
|
||||
'NUM_PRONTUARIO_PROV' : medicalRecordProvController.text,
|
||||
'CLASSIFICACAO' : selectClassificationCOD,
|
||||
//aqui
|
||||
'CLASSIFICACAO_SUB' : '',
|
||||
'CLASSIFICACAO_SUB' : selectSubdivisionCOD,
|
||||
'NUM_FAMILIA' : numberFamilyController.text,
|
||||
'ID_PAIS_RESID' : selectCountry=='BRASIL'?33:0,
|
||||
'ID_MUNICIPIO_RESID' : resultListResid[0]['ID_MUNICIPIO'],
|
||||
@@ -425,11 +422,11 @@ class _RegisterCitizenScreenState extends State<RegisterCitizenScreen> {
|
||||
'BLOQUEIO' : enableBlocked,
|
||||
'ORIGEM' : 'A',
|
||||
'DT_HORA_CADASTRO' : DateTime.now().toString(),
|
||||
//aqui
|
||||
//só depois de salvar o cidadão no banco
|
||||
'ID_USUARIO_CADASTRO' : '',
|
||||
//aqui
|
||||
//só quando for feito o atendimento domicíliar
|
||||
'ID_DOMICILIO' : '',
|
||||
//aqui
|
||||
//só quando for feito um atendimento
|
||||
'ATENDIMENTOS' : '',
|
||||
'SINCRONIZADO' : 'N',
|
||||
};
|
||||
@@ -480,6 +477,144 @@ class _RegisterCitizenScreenState extends State<RegisterCitizenScreen> {
|
||||
}
|
||||
}
|
||||
|
||||
getData()async{
|
||||
// print('passou');
|
||||
// print(widget.listData);
|
||||
codSus = widget.listData[0]['CD_USUARIO_SUS'];
|
||||
nameController.text = widget.listData[0]['NOME_CIDADAO'];
|
||||
nameSocialController.text = widget.listData[0]['NOME_SOCIAL'];
|
||||
selectGender = widget.listData[0]['SEXO']=='M'?'MASCULINO':'FEMININO';
|
||||
dateDB = widget.listData[0]['DT_NASCIMENTO'];
|
||||
List splittedDate = dateDB.split('-');
|
||||
date = '${splittedDate[2]}/${splittedDate[1]}/${splittedDate[0]}';
|
||||
for(int i = 0;ConstVariable().listMaritalStatus.length >i;i++){
|
||||
if(ConstVariable().listMaritalStatus[i].cod == widget.listData[0]['ID_ESTADO_CIVIL']){
|
||||
selectMaritalStatusCod = ConstVariable().listMaritalStatus[i].cod;
|
||||
selectMaritalStatus = ConstVariable().listMaritalStatus[i].title;
|
||||
}
|
||||
}
|
||||
spouseController.text = widget.listData[0]['NOME_CONJUGE'];
|
||||
selectNaturalityCod = widget.listData[0]['NACIONALIDADE'];
|
||||
if(selectNaturalityCod==1){
|
||||
selectNaturality = 'BRASILEIRO';
|
||||
}
|
||||
if(selectNaturalityCod==2){
|
||||
selectNaturality = 'ESTRANGEIRO';
|
||||
}
|
||||
if(selectNaturalityCod==3){
|
||||
selectNaturality = 'NATURALIZADO';
|
||||
}
|
||||
int codCityBirth = widget.listData[0]['ID_MUNICIPIO_NASC'];
|
||||
List listCityBirth = await DBQuerys().buscaMunicipioporId(codCityBirth);
|
||||
cityBirthController.text = listCityBirth[0]['NO_MUNICIPIO'];
|
||||
resultListNasc = listCityBirth;
|
||||
for(int i = 0;ConstVariable().listBreed.length >i;i++){
|
||||
if(ConstVariable().listBreed[i].cod == widget.listData[0]['ID_ETNIA']){
|
||||
selectBreedCod = ConstVariable().listBreed[i].cod;
|
||||
selectBreed = ConstVariable().listBreed[i].title;
|
||||
}
|
||||
}
|
||||
for(int i = 0;ConstVariable().listScooling.length >i;i++){
|
||||
if(ConstVariable().listScooling[i].cod == widget.listData[0]['ID_ESCOLARIDADE']){
|
||||
selectScoolingCod = ConstVariable().listScooling[i].cod;
|
||||
selectScooling = ConstVariable().listScooling[i].title;
|
||||
}
|
||||
}
|
||||
for(int i = 0;ConstVariable().itensDeficiency.length >i;i++){
|
||||
if(ConstVariable().itensDeficiency[i].cod == widget.listData[0]['ID_DEFICIENCIA']){
|
||||
selectDeficiencyCod = ConstVariable().itensDeficiency[i].cod;
|
||||
selectDeficiency = ConstVariable().itensDeficiency[i].title;
|
||||
}else{
|
||||
selectDeficiencyCod = 3;
|
||||
selectDeficiency = 'NENHUMA';
|
||||
}
|
||||
}
|
||||
nameMotherController.text = widget.listData[0]['NOME_MAE'];
|
||||
enableMother = widget.listData[0]['DESCONHECE_MAE']==0?false:true;
|
||||
nameFatherController.text = widget.listData[0]['NOME_PAI'];
|
||||
enableFather = widget.listData[0]['DESCONHECE_PAI']==0?false:true;
|
||||
idUnidade = widget.listData[0]['ID_UNIDADE'].toString();
|
||||
medicalRecordController.text = widget.listData[0]['NUM_PRONTUARIO'];
|
||||
medicalRecordProvController.text = widget.listData[0]['NUM_PRONTUARIO_PROV'].toString();
|
||||
selectClassificationCOD = widget.listData[0]['CLASSIFICACAO'];
|
||||
if(selectClassificationCOD==1){
|
||||
selectClassification = 'MUNICIPE';
|
||||
}
|
||||
if(selectClassificationCOD==2){
|
||||
selectClassification = 'PROVISORIO';
|
||||
}
|
||||
if(selectClassificationCOD==3){
|
||||
selectClassification = 'OUTRO MUNICIPIO';
|
||||
}
|
||||
changedCity();
|
||||
print('sub');
|
||||
if(widget.listData[0]['CLASSIFICACAO_SUB']!=null && widget.listData[0]['CLASSIFICACAO_SUB']!=''){
|
||||
selectSubdivisionCOD = widget.listData[0]['CLASSIFICACAO_SUB']=='null'?0:widget.listData[0]['CLASSIFICACAO_SUB'];
|
||||
selectSubdivision = await DBQuerys().buscaLoteamentoPorID(selectSubdivisionCOD!).toString();
|
||||
subdivisionDB.add(selectSubdivision!);
|
||||
}
|
||||
|
||||
// 'NUM_FAMILIA' : numberFamilyController.text,
|
||||
// 'ID_PAIS_RESID' : selectCountry=='BRASIL'?33:0,
|
||||
// 'ID_MUNICIPIO_RESID' : resultListResid[0]['ID_MUNICIPIO'],
|
||||
// 'NO_MUNICIPIO_RESID' : resultListResid[0]['NO_MUNICIPIO'],
|
||||
// 'ESTADO_UF_RESID' : resultListResid[0]['UF_ESTADO'],
|
||||
// 'CODIGO_IBGE_RESID' : codIBGEController.text,
|
||||
// 'NO_BAIRRO_LOGR' : selectVillage,
|
||||
// 'ID_LOGR_TIPO' : idTipo,
|
||||
// 'NOME_LOGR' : selectStreet,
|
||||
// 'CEP_LOGR' : cepController.text,
|
||||
// 'NUMERO_LOGR' : numberController.text,
|
||||
// 'LOTEAMENTO_LOGR' : selectSubdivision,
|
||||
// 'COMPL_LOGR' : complementController.text,
|
||||
// 'PONTO_REFERENCIA' : referencePointController.text,
|
||||
// 'ZONA_LOGR' : selectZoneCod,
|
||||
// 'DDD_TELEFONE' : foneDDDController.text,
|
||||
// 'NUM_TELEFONE' : foneController.text,
|
||||
// 'DDD_RECADO' : messageDDDController.text,
|
||||
// 'NUM_RECADO' : messageController.text,
|
||||
// 'EMAIL' : emailController.text,
|
||||
// 'OBSERVACOES' : observationController.text,
|
||||
// 'CPF' : CPFController.text,
|
||||
// 'CNS' : checkCNS == 'ok'&& CNSController.text.isNotEmpty?CNSController.text:'999999999999999',
|
||||
// 'TITULO_ELEITOR' : voterController.text,
|
||||
// 'RG_NUMERO' : RGController.text,
|
||||
// 'RG_COMPLEMENTO' : RGComplementController.text,
|
||||
// 'RG_UF' : selectRGUF,
|
||||
// 'RG_ORGAO' : RGOrganController.text,
|
||||
// 'RG_DATA_EMISSAO' : RGDateController.text,
|
||||
// 'TIPO_CERTIDAO' : selectTypeCertificateCod,
|
||||
// 'NUM_CERTIDAO' : numberCertificateController.text,
|
||||
// 'CARTORIO_CERTIDAO' : nameCertificateController.text,
|
||||
// 'LIVRO_CERTIDAO' : bookCertificateController.text,
|
||||
// 'FOLHA_CERTIDAO' : sheetCertificateController.text,
|
||||
// 'TERMO_CERTIDAO' : termCertificateController.text,
|
||||
// 'DT_EMISSAO_CERTIDAO' : dateCertificateController.text,
|
||||
// 'NUM_CTPS' : CTPSController.text,
|
||||
// 'NUM_SERIE_CTPS' : numberCTPSController.text,
|
||||
// 'ESTADO_UF_CTPS' : selectCTPSUF,
|
||||
// 'NUM_PIS_PASEP' : PISController.text,
|
||||
// 'FL_RETIROU_CARTAO' : enableCityCard,
|
||||
// 'NUM_NIS' : NISController.text,
|
||||
// //aqui
|
||||
// 'NUM_PROT_CROSS' : '',
|
||||
// 'RENDA_MENSAL' : incomeController.text,
|
||||
// 'PROFISSAO' : professionalController.text,
|
||||
// 'DT_OBITO' : dateDeathController.text,
|
||||
// 'DECLARACAO_OBITO' : '',
|
||||
// 'BLOQUEIO' : enableBlocked,
|
||||
// 'ORIGEM' : 'A',
|
||||
// 'DT_HORA_CADASTRO' : DateTime.now().toString(),
|
||||
// //só depois de salvar o cidadão no banco
|
||||
// 'ID_USUARIO_CADASTRO' : '',
|
||||
// //só quando for feito o atendimento domicíliar
|
||||
// 'ID_DOMICILIO' : '',
|
||||
// //só quando for feito um atendimento
|
||||
// 'ATENDIMENTOS' : '',
|
||||
// 'SINCRONIZADO' : 'N',
|
||||
setState(() {});
|
||||
}
|
||||
|
||||
@override
|
||||
void initState() {
|
||||
super.initState();
|
||||
@@ -491,9 +626,9 @@ class _RegisterCitizenScreenState extends State<RegisterCitizenScreen> {
|
||||
loadTypeStreetDB();
|
||||
loadSubdivisionsDB();
|
||||
loadLists();
|
||||
setState(() {
|
||||
cityBirthController.text = widget.select;
|
||||
});
|
||||
if(widget.listData.length!=0){
|
||||
getData();
|
||||
}
|
||||
}
|
||||
|
||||
@override
|
||||
@@ -635,7 +770,7 @@ class _RegisterCitizenScreenState extends State<RegisterCitizenScreen> {
|
||||
child: TextDefault(
|
||||
text: date,
|
||||
color: ColorPalette.black54,
|
||||
fontSize: 18,
|
||||
fontSize: 16,
|
||||
),
|
||||
),
|
||||
)
|
||||
@@ -755,7 +890,7 @@ class _RegisterCitizenScreenState extends State<RegisterCitizenScreen> {
|
||||
print(splitted[0]);
|
||||
Navigator.pop(context);
|
||||
});
|
||||
resultListNasc = await DBQuerys().buscaMunicipio(splitted[0]);
|
||||
resultListNasc = await DBQuerys().buscaMunicipioporNome(splitted[0]);
|
||||
print(resultListNasc[0]['ID_MUNICIPIO'],);
|
||||
print(resultListNasc[0]['NO_MUNICIPIO'],);
|
||||
print(resultListNasc[0]['UF_ESTADO'],);
|
||||
@@ -964,8 +1099,8 @@ class _RegisterCitizenScreenState extends State<RegisterCitizenScreen> {
|
||||
widthDropdown: width*0.69,
|
||||
widthContainerDropdown: width*0.6,
|
||||
hintDropdown: 'Classificação',
|
||||
onChanged: (value){
|
||||
setState(() {
|
||||
onChanged: (value)async{
|
||||
|
||||
selectClassification = value;
|
||||
if(selectClassification=='OUTRO MUNICIPIO'){
|
||||
selectClassificationCOD = 3;
|
||||
@@ -995,7 +1130,7 @@ class _RegisterCitizenScreenState extends State<RegisterCitizenScreen> {
|
||||
changedCity();
|
||||
selectCountry = 'BRASIL';
|
||||
}
|
||||
});
|
||||
setState(() {});
|
||||
},
|
||||
list: [
|
||||
'MUNICIPE',
|
||||
@@ -1128,7 +1263,7 @@ class _RegisterCitizenScreenState extends State<RegisterCitizenScreen> {
|
||||
// print("IBGE ${showResultSearchIbge[index]}");
|
||||
Navigator.pop(context);
|
||||
});
|
||||
resultListResid = await DBQuerys().buscaMunicipio(splitted[0]);
|
||||
resultListResid = await DBQuerys().buscaMunicipioporNome(splitted[0]);
|
||||
print(resultListResid[0]['ID_MUNICIPIO'],);
|
||||
print(resultListResid[0]['NO_MUNICIPIO'],);
|
||||
print(resultListResid[0]['UF_ESTADO'],);
|
||||
@@ -1285,10 +1420,11 @@ class _RegisterCitizenScreenState extends State<RegisterCitizenScreen> {
|
||||
widthDropdown: width*0.69,
|
||||
widthContainerDropdown: width*0.6,
|
||||
hintDropdown: 'Loteamento/Subdistrito',
|
||||
onChanged: (value){
|
||||
onChanged: selectClassification=='OUTRO MUNICIPIO' || selectVillage == null?null:(value)async{
|
||||
setState(() {
|
||||
selectSubdivision = value;
|
||||
});
|
||||
selectSubdivisionCOD = await DBQuerys().buscaLoteamentoPorDesc(selectSubdivision!);
|
||||
},
|
||||
list: subdivisionDB
|
||||
),
|
||||
@@ -1613,7 +1749,7 @@ class _RegisterCitizenScreenState extends State<RegisterCitizenScreen> {
|
||||
child: TextDefault(
|
||||
text: RGDateController.text,
|
||||
color: ColorPalette.black54,
|
||||
fontSize: 18,
|
||||
fontSize: 16,
|
||||
),
|
||||
),
|
||||
),
|
||||
@@ -1709,7 +1845,7 @@ class _RegisterCitizenScreenState extends State<RegisterCitizenScreen> {
|
||||
child: TextDefault(
|
||||
text: dateCertificateController.text,
|
||||
color: ColorPalette.black54,
|
||||
fontSize: 18,
|
||||
fontSize: 16,
|
||||
),
|
||||
),
|
||||
),
|
||||
@@ -1805,16 +1941,46 @@ class _RegisterCitizenScreenState extends State<RegisterCitizenScreen> {
|
||||
mainAxisAlignment: MainAxisAlignment.start,
|
||||
mainAxisSize: MainAxisSize.min,
|
||||
children: [
|
||||
InputWithSubtitle(
|
||||
controller: incomeController,
|
||||
subtitle: 'Renda Mensal',
|
||||
errorInput: 'Campo Obrigatório',
|
||||
labelInput: 'Renda Mensal',
|
||||
widthInput: width*0.7,
|
||||
widthSubtitle: width*0.7,
|
||||
hintInput: 'Escreva aqui',
|
||||
mandatory: false,
|
||||
onChanged: (v)=>setState((){}),
|
||||
Container(
|
||||
color: ColorPalette.white,
|
||||
margin: EdgeInsets.only(top: 5),
|
||||
width: width*0.7,
|
||||
child: TextFormField(
|
||||
keyboardType: TextInputType.number,
|
||||
inputFormatters: [
|
||||
FilteringTextInputFormatter.digitsOnly,
|
||||
CentavosInputFormatter(moeda: true),
|
||||
],
|
||||
controller: incomeController,
|
||||
style: TextStyle(
|
||||
color: Colors.black,
|
||||
fontSize: 16,
|
||||
),
|
||||
decoration: InputDecoration(
|
||||
fillColor: ColorPalette.appBar,
|
||||
labelText: 'Renda Mensal',
|
||||
border: OutlineInputBorder(
|
||||
borderSide: BorderSide(width: 1,color: ColorPalette.black54)
|
||||
),
|
||||
focusedBorder: OutlineInputBorder(
|
||||
borderSide: BorderSide(width: 1, color: ColorPalette.black54),
|
||||
borderRadius: BorderRadius.circular(3),
|
||||
),
|
||||
enabledBorder: OutlineInputBorder(
|
||||
borderSide: BorderSide(width: 1, color: ColorPalette.black54),
|
||||
borderRadius: BorderRadius.circular(3),
|
||||
),
|
||||
disabledBorder: OutlineInputBorder(
|
||||
borderSide: BorderSide(width: 1, color: ColorPalette.black54),
|
||||
borderRadius: BorderRadius.circular(3),
|
||||
),
|
||||
hintText: 'Escreva aqui',
|
||||
hintStyle: TextStyle(
|
||||
color: ColorPalette.gray,
|
||||
fontSize: 16,
|
||||
)
|
||||
)
|
||||
),
|
||||
),
|
||||
InputWithSubtitle(
|
||||
controller: professionalController,
|
||||
@@ -1844,7 +2010,7 @@ class _RegisterCitizenScreenState extends State<RegisterCitizenScreen> {
|
||||
child: TextDefault(
|
||||
text: dateDeathController.text,
|
||||
color: ColorPalette.black54,
|
||||
fontSize: 18,
|
||||
fontSize: 16,
|
||||
),
|
||||
),
|
||||
),
|
||||
|
||||
Reference in New Issue
Block a user