enviando cadastro cidadão individual

This commit is contained in:
Reginaldo
2023-04-27 23:34:27 -03:00
parent 15419365dc
commit 0ba2af9e2c
16 changed files with 925 additions and 404 deletions

View File

@@ -206,7 +206,7 @@ class ConstVariable{
List<DropDownDataModel> listGenderIdent = [ List<DropDownDataModel> listGenderIdent = [
DropDownDataModel(cod: 1, title: 'NÃO DESEJA INFORMAR'), DropDownDataModel(cod: 1, title: 'NÃO DESEJA INFORMAR'),
DropDownDataModel(cod: 2, title: 'HOMEM TRANSEXUA'), DropDownDataModel(cod: 2, title: 'HOMEM TRANSEXUAL'),
DropDownDataModel(cod: 3, title: 'MULHER TRANSEXUAL'), DropDownDataModel(cod: 3, title: 'MULHER TRANSEXUAL'),
DropDownDataModel(cod: 4, title: 'TRAVESTI'), DropDownDataModel(cod: 4, title: 'TRAVESTI'),
DropDownDataModel(cod: 5, title: 'OUTRO'), DropDownDataModel(cod: 5, title: 'OUTRO'),

View File

@@ -227,7 +227,7 @@ class _SincDataScreenState extends State<SincDataScreen> {
'avaliacao_elegibilidade': tableAVALIACOES_ELEGIBILIDADE, 'avaliacao_elegibilidade': tableAVALIACOES_ELEGIBILIDADE,
}; };
await ApiDataPost().sincronizacao(urlAPI, mode, nameCityApi,map).then((response)async{ await ApiDataPost().sincronizacao(urlAPI, mode, nameCityApi,map).then((response)async{
if(response['status']!=1){ if(response=='error'){
setState(() { setState(() {
error = true; error = true;
message = 'error'; message = 'error';

View File

@@ -53,7 +53,7 @@ class _EditProceduresScreenState extends State<EditProceduresScreen> {
double height = MediaQuery.of(context).size.height; double height = MediaQuery.of(context).size.height;
return WillPopScope( return WillPopScope(
onWillPop: ()=> OnBackButton().onBackButton(context), onWillPop: ()async => await OnBackButton().onBackButton(context),
child: Scaffold( child: Scaffold(
appBar: AppBarDefault().appbar(context, 'RKM AB - Procedimentos Consolidados'), appBar: AppBarDefault().appbar(context, 'RKM AB - Procedimentos Consolidados'),
body: Container( body: Container(

View File

@@ -142,6 +142,7 @@ class _RegisterCitizenScreenState extends State<RegisterCitizenScreen> {
String codSus = ''; String codSus = '';
bool edit = false; bool edit = false;
bool editing = false; bool editing = false;
bool mandatory = false;
int idCidadao = 0; int idCidadao = 0;
escolherprazoInicio(BuildContext context,String type) async { escolherprazoInicio(BuildContext context,String type) async {
@@ -353,9 +354,13 @@ class _RegisterCitizenScreenState extends State<RegisterCitizenScreen> {
print('erro'); print('erro');
setState(() { setState(() {
showCheckError = true; showCheckError = true;
mandatory = true;
}); });
}else{ }else{
print('passou'); print('passou');
setState(() {
mandatory = false;
});
if(widget.listData.length==0){ if(widget.listData.length==0){
codSus = MainControllers().gerarCDUsuarioSus(); codSus = MainControllers().gerarCDUsuarioSus();
}else{ }else{
@@ -585,8 +590,10 @@ class _RegisterCitizenScreenState extends State<RegisterCitizenScreen> {
codIBGEController.text = listCity[0]['CODIGO_IBGE']; codIBGEController.text = listCity[0]['CODIGO_IBGE'];
selectVillage = widget.listData[0]['NO_BAIRRO_LOGR']; selectVillage = widget.listData[0]['NO_BAIRRO_LOGR'];
idTipo = widget.listData[0]['ID_LOGR_TIPO']; idTipo = widget.listData[0]['ID_LOGR_TIPO'];
if(widget.listData[0]['NOME_LOGR']!=null){
streetDB.add(widget.listData[0]['NOME_LOGR']); streetDB.add(widget.listData[0]['NOME_LOGR']);
selectStreet = widget.listData[0]['NOME_LOGR']; selectStreet = widget.listData[0]['NOME_LOGR'];
}
List listTypeStreet = await DBQuerys().buscaTipoLogradouroPorId(idTipo); List listTypeStreet = await DBQuerys().buscaTipoLogradouroPorId(idTipo);
selectTypeStreet = listTypeStreet[0]['NO_LOGR_TIPO']; selectTypeStreet = listTypeStreet[0]['NO_LOGR_TIPO'];
cepController.text = widget.listData[0]['CEP_LOGR'].toString()=='null'?'': widget.listData[0]['CEP_LOGR'].toString(); cepController.text = widget.listData[0]['CEP_LOGR'].toString()=='null'?'': widget.listData[0]['CEP_LOGR'].toString();
@@ -676,7 +683,7 @@ class _RegisterCitizenScreenState extends State<RegisterCitizenScreen> {
double width = MediaQuery.of(context).size.width; double width = MediaQuery.of(context).size.width;
return WillPopScope( return WillPopScope(
onWillPop: ()=> OnBackButton().onBackButton(context), onWillPop: () async => await OnBackButton().onBackButton(context),
child: Scaffold( child: Scaffold(
appBar: AppBarDefault().appbar(context, 'RKM AB - Cadastro Cidadão'), appBar: AppBarDefault().appbar(context, 'RKM AB - Cadastro Cidadão'),
body: Container( body: Container(
@@ -756,12 +763,13 @@ class _RegisterCitizenScreenState extends State<RegisterCitizenScreen> {
InputWithSubtitle( InputWithSubtitle(
controller: nameController, controller: nameController,
subtitle: 'Nome', subtitle: 'Nome',
errorInput: nameController.text.isNotEmpty?'':'Campo Obrigatório', errorInput: 'Campo Obrigatório',
labelInput: 'Nome', labelInput: 'Nome',
widthInput: width*0.7, widthInput: width*0.7,
widthSubtitle: width*0.7, widthSubtitle: width*0.7,
hintInput: 'Escreva aqui', hintInput: 'Escreva aqui',
enabled: !edit, enabled: !edit,
mandatory: mandatory,
onChanged: (v)=>setState((){}), onChanged: (v)=>setState((){}),
), ),
InputWithSubtitle( InputWithSubtitle(
@@ -790,7 +798,7 @@ class _RegisterCitizenScreenState extends State<RegisterCitizenScreen> {
}); });
}, },
), ),
selectGender==null?ErrorDefault():Container(), selectGender==null && mandatory?ErrorDefault():Container(),
Container( Container(
width: width*0.75, width: width*0.75,
child: Row( child: Row(
@@ -803,7 +811,7 @@ class _RegisterCitizenScreenState extends State<RegisterCitizenScreen> {
margin: EdgeInsets.symmetric(horizontal: 15,vertical: 5), margin: EdgeInsets.symmetric(horizontal: 15,vertical: 5),
padding: EdgeInsets.symmetric(horizontal: 8,vertical: 10), padding: EdgeInsets.symmetric(horizontal: 8,vertical: 10),
decoration: BoxDecoration( decoration: BoxDecoration(
border: Border.all(color: ColorPalette.black54), border: Border.all(color: ColorPalette.white),
borderRadius: BorderRadius.all( borderRadius: BorderRadius.all(
Radius.circular(5.0) Radius.circular(5.0)
), ),
@@ -819,7 +827,7 @@ class _RegisterCitizenScreenState extends State<RegisterCitizenScreen> {
], ],
), ),
), ),
date == 'Data de Nascimento'?ErrorDefault():Container(), date == 'Data de Nascimento'&& mandatory?ErrorDefault():Container(),
DropdownWithSubtitle( DropdownWithSubtitle(
list: listMaritalStatus, list: listMaritalStatus,
subtitle: 'Estado Civil', subtitle: 'Estado Civil',
@@ -881,7 +889,7 @@ class _RegisterCitizenScreenState extends State<RegisterCitizenScreen> {
}); });
}, },
), ),
selectNaturality==null?ErrorDefault():Container(), selectNaturality==null&& mandatory?ErrorDefault():Container(),
GestureDetector( GestureDetector(
onTap: cityBirthController.text == 'MUNICIPIO IGNORADO - SP' || edit?null:(){ onTap: cityBirthController.text == 'MUNICIPIO IGNORADO - SP' || edit?null:(){
searchCityController.text = ''; searchCityController.text = '';
@@ -894,7 +902,6 @@ class _RegisterCitizenScreenState extends State<RegisterCitizenScreen> {
scrollable: true, scrollable: true,
content: StatefulBuilder( content: StatefulBuilder(
builder: (context, setState) { builder: (context, setState) {
return Column( return Column(
children: [ children: [
InputSearchText( InputSearchText(
@@ -988,7 +995,7 @@ class _RegisterCitizenScreenState extends State<RegisterCitizenScreen> {
}); });
}, },
), ),
selectBreed==null?ErrorDefault():Container(), selectBreed==null&& mandatory?ErrorDefault():Container(),
DropdownWithSubtitle( DropdownWithSubtitle(
list: listScooling, list: listScooling,
subtitle: 'Escolaridade', subtitle: 'Escolaridade',
@@ -1029,7 +1036,7 @@ class _RegisterCitizenScreenState extends State<RegisterCitizenScreen> {
}); });
}, },
), ),
selectDeficiency==null?ErrorDefault():Container(), selectDeficiency==null&& mandatory?ErrorDefault():Container(),
InputWithSubtitle( InputWithSubtitle(
controller: nameMotherController, controller: nameMotherController,
subtitle: 'Nome da Mãe', subtitle: 'Nome da Mãe',
@@ -1038,6 +1045,7 @@ class _RegisterCitizenScreenState extends State<RegisterCitizenScreen> {
widthInput: width*0.7, widthInput: width*0.7,
widthSubtitle: width*0.2, widthSubtitle: width*0.2,
hintInput: 'Escreva aqui', hintInput: 'Escreva aqui',
mandatory: mandatory,
enabled: !enableMother && !edit, enabled: !enableMother && !edit,
onChanged: (v)=>setState((){}), onChanged: (v)=>setState((){}),
), ),
@@ -1062,6 +1070,7 @@ class _RegisterCitizenScreenState extends State<RegisterCitizenScreen> {
widthInput: width*0.7, widthInput: width*0.7,
widthSubtitle: width*0.2, widthSubtitle: width*0.2,
hintInput: 'Escreva aqui', hintInput: 'Escreva aqui',
mandatory: mandatory,
enabled: !enableFather && !edit, enabled: !enableFather && !edit,
onChanged: (v)=>setState((){}), onChanged: (v)=>setState((){}),
), ),
@@ -1179,7 +1188,7 @@ class _RegisterCitizenScreenState extends State<RegisterCitizenScreen> {
'OUTRO MUNICIPIO', 'OUTRO MUNICIPIO',
] ]
), ),
selectClassification==null?ErrorDefault():Container(), selectClassification==null&& mandatory?ErrorDefault():Container(),
InputWithSubtitle( InputWithSubtitle(
controller: numberFamilyController, controller: numberFamilyController,
subtitle: 'Número da Família', subtitle: 'Número da Família',
@@ -1254,7 +1263,7 @@ class _RegisterCitizenScreenState extends State<RegisterCitizenScreen> {
'OUTRO', 'OUTRO',
] ]
), ),
selectCountry==null?ErrorDefault():Container(), selectCountry==null&& mandatory?ErrorDefault():Container(),
GestureDetector( GestureDetector(
onTap: selectClassification!='OUTRO MUNICIPIO'|| cityController.text == 'MUNICIPIO IGNORADO - SP'?null: (){ onTap: selectClassification!='OUTRO MUNICIPIO'|| cityController.text == 'MUNICIPIO IGNORADO - SP'?null: (){
searchCityController.text = ''; searchCityController.text = '';
@@ -1371,7 +1380,7 @@ class _RegisterCitizenScreenState extends State<RegisterCitizenScreen> {
}, },
list: villageDB list: villageDB
), ),
selectClassification!='OUTRO MUNICIPIO' && selectVillage == null?ErrorDefault():Container(), selectClassification!='OUTRO MUNICIPIO' && selectVillage == null&& mandatory?ErrorDefault():Container(),
DropdownWithSubtitle( DropdownWithSubtitle(
subtitle: 'Tipo de Logradouro', subtitle: 'Tipo de Logradouro',
select: selectTypeStreet, select: selectTypeStreet,
@@ -1391,7 +1400,7 @@ class _RegisterCitizenScreenState extends State<RegisterCitizenScreen> {
}, },
list: typeStreetDB list: typeStreetDB
), ),
selectTypeStreet!='OUTRO MUNICIPIO' && selectTypeStreet == null && selectCountry == null?ErrorDefault():Container(), selectTypeStreet!='OUTRO MUNICIPIO' && selectTypeStreet == null && selectCountry == null&& mandatory?ErrorDefault():Container(),
DropdownWithSubtitle( DropdownWithSubtitle(
subtitle: 'Nome do Logradouro', subtitle: 'Nome do Logradouro',
select: selectStreet, select: selectStreet,
@@ -1415,6 +1424,7 @@ class _RegisterCitizenScreenState extends State<RegisterCitizenScreen> {
widthInput: width*0.7, widthInput: width*0.7,
widthSubtitle: width*0.2, widthSubtitle: width*0.2,
hintInput: 'Escreva aqui', hintInput: 'Escreva aqui',
mandatory: mandatory,
enabled: selectClassification!='OUTRO MUNICIPIO' && !edit?true:false, enabled: selectClassification!='OUTRO MUNICIPIO' && !edit?true:false,
onChanged: (v)=>setState((){}), onChanged: (v)=>setState((){}),
), ),
@@ -1431,6 +1441,7 @@ class _RegisterCitizenScreenState extends State<RegisterCitizenScreen> {
widthSubtitle: width*0.2, widthSubtitle: width*0.2,
widthError: 0.4, widthError: 0.4,
hintInput: 'Escreva aqui', hintInput: 'Escreva aqui',
mandatory: mandatory,
enabled: selectClassification!='OUTRO MUNICIPIO' && !checkBoxNumber && !edit?true:false, enabled: selectClassification!='OUTRO MUNICIPIO' && !checkBoxNumber && !edit?true:false,
onChanged: (v)=>setState((){}), onChanged: (v)=>setState((){}),
), ),
@@ -1595,6 +1606,7 @@ class _RegisterCitizenScreenState extends State<RegisterCitizenScreen> {
widthSubtitle: width*0.7, widthSubtitle: width*0.7,
hintInput: 'Escreva aqui', hintInput: 'Escreva aqui',
enabled: !edit, enabled: !edit,
mandatory: mandatory,
onChanged: (v)=>setState((){}), onChanged: (v)=>setState((){}),
), ),
InputWithSubtitle( InputWithSubtitle(
@@ -1606,6 +1618,7 @@ class _RegisterCitizenScreenState extends State<RegisterCitizenScreen> {
widthSubtitle: width*0.7, widthSubtitle: width*0.7,
hintInput: 'Escreva aqui', hintInput: 'Escreva aqui',
enabled: !edit, enabled: !edit,
mandatory: mandatory,
onChanged: (v)=>setState((){}), onChanged: (v)=>setState((){}),
), ),
InputWithSubtitle( InputWithSubtitle(
@@ -1799,7 +1812,7 @@ class _RegisterCitizenScreenState extends State<RegisterCitizenScreen> {
margin: EdgeInsets.symmetric(horizontal: 15,vertical: 5), margin: EdgeInsets.symmetric(horizontal: 15,vertical: 5),
padding: EdgeInsets.symmetric(horizontal: 8,vertical: 10), padding: EdgeInsets.symmetric(horizontal: 8,vertical: 10),
decoration: BoxDecoration( decoration: BoxDecoration(
border: Border.all(color: ColorPalette.black54), border: Border.all(color: ColorPalette.white),
borderRadius: BorderRadius.all( borderRadius: BorderRadius.all(
Radius.circular(5.0) Radius.circular(5.0)
), ),
@@ -1900,7 +1913,7 @@ class _RegisterCitizenScreenState extends State<RegisterCitizenScreen> {
margin: EdgeInsets.symmetric(horizontal: 15,vertical: 5), margin: EdgeInsets.symmetric(horizontal: 15,vertical: 5),
padding: EdgeInsets.symmetric(horizontal: 8,vertical: 10), padding: EdgeInsets.symmetric(horizontal: 8,vertical: 10),
decoration: BoxDecoration( decoration: BoxDecoration(
border: Border.all(color: ColorPalette.black54), border: Border.all(color: ColorPalette.white),
borderRadius: BorderRadius.all( borderRadius: BorderRadius.all(
Radius.circular(5.0) Radius.circular(5.0)
), ),
@@ -2029,18 +2042,18 @@ class _RegisterCitizenScreenState extends State<RegisterCitizenScreen> {
fillColor: ColorPalette.appBar, fillColor: ColorPalette.appBar,
labelText: 'Renda Mensal', labelText: 'Renda Mensal',
border: OutlineInputBorder( border: OutlineInputBorder(
borderSide: BorderSide(width: 1,color: ColorPalette.black54) borderSide: BorderSide(width: 1,color: ColorPalette.white)
), ),
focusedBorder: OutlineInputBorder( focusedBorder: OutlineInputBorder(
borderSide: BorderSide(width: 1, color: ColorPalette.black54), borderSide: BorderSide(width: 1, color: ColorPalette.white),
borderRadius: BorderRadius.circular(3), borderRadius: BorderRadius.circular(3),
), ),
enabledBorder: OutlineInputBorder( enabledBorder: OutlineInputBorder(
borderSide: BorderSide(width: 1, color: ColorPalette.black54), borderSide: BorderSide(width: 1, color: ColorPalette.white),
borderRadius: BorderRadius.circular(3), borderRadius: BorderRadius.circular(3),
), ),
disabledBorder: OutlineInputBorder( disabledBorder: OutlineInputBorder(
borderSide: BorderSide(width: 1, color: ColorPalette.black54), borderSide: BorderSide(width: 1, color: ColorPalette.white),
borderRadius: BorderRadius.circular(3), borderRadius: BorderRadius.circular(3),
), ),
hintText: 'Escreva aqui', hintText: 'Escreva aqui',
@@ -2071,7 +2084,7 @@ class _RegisterCitizenScreenState extends State<RegisterCitizenScreen> {
margin: EdgeInsets.symmetric(horizontal: 15,vertical: 5), margin: EdgeInsets.symmetric(horizontal: 15,vertical: 5),
padding: EdgeInsets.symmetric(horizontal: 8,vertical: 10), padding: EdgeInsets.symmetric(horizontal: 8,vertical: 10),
decoration: BoxDecoration( decoration: BoxDecoration(
border: Border.all(color: ColorPalette.black54), border: Border.all(color: ColorPalette.white),
borderRadius: BorderRadius.all( borderRadius: BorderRadius.all(
Radius.circular(5.0) Radius.circular(5.0)
), ),

View File

@@ -168,7 +168,7 @@ class _RegisterHomeScreenState extends State<RegisterHomeScreen> {
double width = MediaQuery.of(context).size.width; double width = MediaQuery.of(context).size.width;
return WillPopScope( return WillPopScope(
onWillPop: ()=> OnBackButton().onBackButton(context), onWillPop: ()async => await OnBackButton().onBackButton(context),
child: Scaffold( child: Scaffold(
appBar: AppBarDefault().appbar(context, 'RKM AB - Cadastro Domiciliar'), appBar: AppBarDefault().appbar(context, 'RKM AB - Cadastro Domiciliar'),
body: Container( body: Container(

File diff suppressed because it is too large Load Diff

View File

@@ -67,7 +67,7 @@ class _ServiceHomeScreenState extends State<ServiceHomeScreen> {
double width = MediaQuery.of(context).size.width; double width = MediaQuery.of(context).size.width;
return WillPopScope( return WillPopScope(
onWillPop: ()=> OnBackButton().onBackButton(context), onWillPop: ()async=> await OnBackButton().onBackButton(context),
child: Scaffold( child: Scaffold(
appBar: AppBarDefault().appbar(context, 'RKM AB - Atendimento Domiciliar'), appBar: AppBarDefault().appbar(context, 'RKM AB - Atendimento Domiciliar'),
body: Container( body: Container(

View File

@@ -98,7 +98,7 @@ class _ServiceIndividualScreenState extends State<ServiceIndividualScreen> {
double width = MediaQuery.of(context).size.width; double width = MediaQuery.of(context).size.width;
return WillPopScope( return WillPopScope(
onWillPop: ()=> OnBackButton().onBackButton(context), onWillPop: ()async=> await OnBackButton().onBackButton(context),
child: Scaffold( child: Scaffold(
appBar: AppBarDefault().appbar(context, 'RKM AB - Atendimento Individual'), appBar: AppBarDefault().appbar(context, 'RKM AB - Atendimento Individual'),
body: Container( body: Container(

View File

@@ -141,7 +141,7 @@ class _SyncInitScreenState extends State<SyncInitScreen> {
}else{ }else{
setState(()=> messageSteps = "Etapa 10 de 10 - Gravando os Cadastros Individuais no Aplicativo"); setState(()=> messageSteps = "Etapa 10 de 10 - Gravando os Cadastros Individuais no Aplicativo");
} }
await DbSqliteSync().insertCadastrosIndividuais(value).then((value)async{ await DbSqliteSync().insertCadastrosIndividuais(value,'sync','').then((value)async{
await DbSqliteSync().saveSync(codCity,codState,urlAPI,mode,nameCityApi,nameCityFront,codCityIbge,user,idUnidade,nomeUnidade,area,microarea).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'); Navigator.pushNamed(context, '/home');
}); });

View File

@@ -13,8 +13,8 @@ class ApiDataPost{
Uri.parse(url), Uri.parse(url),
body: jsonEncode(map), body: jsonEncode(map),
); );
// print(response.body); print(response.body);
// print(response.statusCode); print(response.statusCode);
if(response.statusCode == 200) { if(response.statusCode == 200) {
await DBQuerys().updateCidadao(); await DBQuerys().updateCidadao();
return json.decode(response.body); return json.decode(response.body);

View File

@@ -19,6 +19,30 @@ class DBQuerys{
// List list = await db.rawQuery("SELECT * FROM CIDADAOS WHERE CPF = $teste"); // List list = await db.rawQuery("SELECT * FROM CIDADAOS WHERE CPF = $teste");
return list; return list;
} }
buscaDadosProfissional(String idUnidade, String idUsuario)async{
Database db = await DbSqliteLoad().intialDB();
var query = "SELECT * FROM EQUIPES JOIN PROFISSIONAIS_EQUIPE ON PROFISSIONAIS_EQUIPE.ID_EQUIPE = EQUIPES.ID_EQUIPE WHERE ID_UNIDADE = $idUnidade AND ID_PROFISSIONAL = $idUsuario";
List list = await db.rawQuery(query);
// print(await db.rawQuery('SELECT NO_BAIRRO FROM BAIRROS'));
// print(list);
return list;
}
Future buscaProfissionalCadInd(String ID_PROFISSIONAL)async{
Database db = await DbSqliteLoad().intialDB();
var query = "SELECT * FROM PROFISSIONAIS WHERE ID_PROFISSIONAL = $ID_PROFISSIONAL";
List list = await db.rawQuery(query);
// print(await db.rawQuery('SELECT NO_BAIRRO FROM BAIRROS'));
print(list);
return list[0];
}
buscaNomeUnidade(String ID_UNIDADE)async{
Database db = await DbSqliteLoad().intialDB();
var query = "SELECT * FROM UNIDADES WHERE ID_UNIDADE = $ID_UNIDADE";
List list = await db.rawQuery(query);
// print(await db.rawQuery('SELECT NO_BAIRRO FROM BAIRROS'));
print(list);
return list[0]['NOME_UNIDADE'];
}
buscaBairro(nomeBairro)async{ buscaBairro(nomeBairro)async{
Database db = await DbSqliteLoad().intialDB(); Database db = await DbSqliteLoad().intialDB();
List list = await db.rawQuery("SELECT * FROM BAIRROS WHERE NO_BAIRRO = '$nomeBairro'"); List list = await db.rawQuery("SELECT * FROM BAIRROS WHERE NO_BAIRRO = '$nomeBairro'");
@@ -118,6 +142,13 @@ class DBQuerys{
// print(list); // print(list);
return list; return list;
} }
Future buscaCBOProfissional(ID_PROFISSIONAL)async{
Database db = await DbSqliteLoad().intialDB();
var query = 'SELECT * FROM PROFISSIONAIS_CBOS WHERE CODIGO_CBO = "$ID_PROFISSIONAL"';
List list = await db.rawQuery(query);
print(list);
return list;
}
Future deleteCidadao()async{ Future deleteCidadao()async{
Database db = await DbSqliteLoad().intialDB(); Database db = await DbSqliteLoad().intialDB();
var query = "DELETE FROM CIDADAOS WHERE CD_USUARIO_SUS = '872488F88D1B2DB54D55BC8BBA2FAD1B'"; var query = "DELETE FROM CIDADAOS WHERE CD_USUARIO_SUS = '872488F88D1B2DB54D55BC8BBA2FAD1B'";

View File

@@ -28,7 +28,7 @@ class DbSqliteLoad{
db.execute('CREATE TABLE IF NOT EXISTS AVAL_ELEG_CONCL_INE (ID_AVALIACAO_ELEGIBILIDADE INTEGER, AVALIACAO INTEGER);'); db.execute('CREATE TABLE IF NOT EXISTS AVAL_ELEG_CONCL_INE (ID_AVALIACAO_ELEGIBILIDADE INTEGER, AVALIACAO INTEGER);');
db.execute('CREATE TABLE IF NOT EXISTS AVAL_ELEG_COND_AVAL (ID_AVALIACAO_ELEGIBILIDADE INTEGER, AVALIACAO INTEGER);'); db.execute('CREATE TABLE IF NOT EXISTS AVAL_ELEG_COND_AVAL (ID_AVALIACAO_ELEGIBILIDADE INTEGER, AVALIACAO INTEGER);');
db.execute('CREATE TABLE IF NOT EXISTS BAIRROS (ID_BAIRRO INTEGER PRIMARY KEY AUTOINCREMENT, NO_BAIRRO TEXT);'); db.execute('CREATE TABLE IF NOT EXISTS BAIRROS (ID_BAIRRO INTEGER PRIMARY KEY AUTOINCREMENT, NO_BAIRRO TEXT);');
db.execute('CREATE TABLE IF NOT EXISTS CADASTROS_INDIVIDUAIS (ID_CAD_INDIVIDUAL INTEGER PRIMARY KEY AUTOINCREMENT, STATUS_CADASTRO INTEGER, ID_CIDADAO INTEGER, CD_USUARIO_SUS TEXT, ID_AREA_CIDADAO INTEGER, ID_MICROAREA_CIDADAO INTEGER, FORA_AREA INTEGER, RESPONSAVEL_FAMILIAR INTEGER, ID_RESPONSAVEL_FAMILIAR TEXT, NOME_RESPONSAVEL_FAMILIAR TEXT, PARENTESCO INTEGER, ESCOLARIDADE INTEGER, FREQ_ESCOLA_CRECHE INTEGER, SITUACAO_MERCADO INTEGER, CUIDADOR_TRADICIONAL INTEGER, GRUPO_COMUNITARIO INTEGER, PLANO_PRIVADO INTEGER, COMUNIDADE_TRADICIONAL INTEGER, COM_TRADI_QUAL TEXT, ORIENT_SEXUAL INTEGER, TEM_DEFICIENCIA INTEGER, DEF_AUDITIVA INTEGER, DEF_INTELECTUAL INTEGER, DEF_VISUAL INTEGER, DEF_FISICA INTEGER, DEF_OUTRAS INTEGER, SAIDA_CADASTRO INTEGER, DATA_SAIDA_CADASTRO TEXT, CADASTRO_RECUSADO INTEGER, GESTANTE INTEGER, MATERNIDADE_REFERENCIA TEXT, PESO TEXT, FUMANTE INTEGER, USA_ALCOOL INTEGER, USA_DROGAS INTEGER, HIPERTENSAO INTEGER, DIABETES INTEGER, AVC_DERRAME INTEGER, INFARTO INTEGER, HANSENIASE INTEGER, TUBERCULOSE INTEGER, CANCER INTEGER, INTERNACAO INTEGER, MOTIVO TEXT, DOENCA_CARDIACA INTEGER, PROBLEMA_RINS INTEGER, DOENCA_PULMAO INTEGER, SAUDE_MENTAL INTEGER, ACAMADO INTEGER, DOMICILIADO INTEGER, PLANTAS_MED INTEGER, PLANTAS_MED_QUAIS TEXT, PIC INTEGER, OUTRAS_CONDICOES TEXT, TEMPO_SITUACAO_RUA INTEGER, ACOMP_INTITUICAO INTEGER, ACOMP_INTITUICAO_QUAL TEXT, BENEFICIO INTEGER, REF_FAMILIAR INTEGER, VISITA_FAMILIAR INTEGER, PARENTESCO_VISITA TEXT, ALIMENTACAO_DIARIA INTEGER, REST_POPULAR INTEGER, DOACAO_REST INTEGER, DOACAO_RELIGIOSO INTEGER, DOACAO_POPULAR INTEGER, OUTROS_ALIM INTEGER, ACESSO_HIGIENE INTEGER, BANHO INTEGER, SANITARIO INTEGER, HIGIENE_BUCAL INTEGER, OUTROS_HIGIENE INTEGER, FICHA_ALTERACAO INTEGER, ID_RESP_CADASTRO INTEGER, CNES_RESP_CADASTRO TEXT, CBO_RESP_CADASTRO TEXT, INE_RESP_CADASTRO TEXT, DT_CADASTRO TEXT, ID_EQUIPE INTEGER, ORIGEM TEXT, SINCRONIZADO TEXT, DT_ENTRADA_BRASIL TEXT, DT_NATURALIZACAO TEXT, PORTARIA_NATURALIZACAO TEXT, CRIANCAS_ADULTO INTEGER, CRIANCAS_OUTRAS_CRIANCAS INTEGER, CRIANCAS_ADOLESCENTE INTEGER, CRIANCAS_SOZINHA INTEGER, CRIANCAS_CRECHE INTEGER, CRIANCAS_OUTRO INTEGER, IDENTIDADE_GENERO INTEGER);'); db.execute('CREATE TABLE IF NOT EXISTS CADASTROS_INDIVIDUAIS (ID_CAD_INDIVIDUAL INTEGER PRIMARY KEY AUTOINCREMENT, STATUS_CADASTRO INTEGER, ID_CIDADAO INTEGER, CD_USUARIO_SUS TEXT, ID_AREA_CIDADAO INTEGER, ID_MICROAREA_CIDADAO INTEGER, FORA_AREA INTEGER, RESPONSAVEL_FAMILIAR INTEGER, ID_RESPONSAVEL_FAMILIAR TEXT, NOME_RESPONSAVEL_FAMILIAR TEXT, PARENTESCO INTEGER, ESCOLARIDADE INTEGER, FREQ_ESCOLA_CRECHE INTEGER, SITUACAO_MERCADO INTEGER, CUIDADOR_TRADICIONAL INTEGER, GRUPO_COMUNITARIO INTEGER, PLANO_PRIVADO INTEGER, COMUNIDADE_TRADICIONAL INTEGER, COM_TRADI_QUAL TEXT, ORIENT_SEXUAL INTEGER, TEM_DEFICIENCIA INTEGER, DEF_AUDITIVA INTEGER, DEF_INTELECTUAL INTEGER, DEF_VISUAL INTEGER, DEF_FISICA INTEGER, DEF_OUTRAS INTEGER, SAIDA_CADASTRO INTEGER, DATA_SAIDA_CADASTRO TEXT, CADASTRO_RECUSADO INTEGER, GESTANTE INTEGER, MATERNIDADE_REFERENCIA TEXT, PESO INTEGER, FUMANTE INTEGER, USA_ALCOOL INTEGER, USA_DROGAS INTEGER, HIPERTENSAO INTEGER, DIABETES INTEGER, AVC_DERRAME INTEGER, INFARTO INTEGER, HANSENIASE INTEGER, TUBERCULOSE INTEGER, CANCER INTEGER, INTERNACAO INTEGER, MOTIVO TEXT, DOENCA_CARDIACA INTEGER, PROBLEMA_RINS INTEGER, DOENCA_PULMAO INTEGER, SAUDE_MENTAL INTEGER, ACAMADO INTEGER, DOMICILIADO INTEGER, PLANTAS_MED INTEGER, PLANTAS_MED_QUAIS TEXT, PIC INTEGER, OUTRAS_CONDICOES TEXT, TEMPO_SITUACAO_RUA INTEGER, ACOMP_INTITUICAO INTEGER, ACOMP_INTITUICAO_QUAL TEXT, BENEFICIO INTEGER, REF_FAMILIAR INTEGER, VISITA_FAMILIAR INTEGER, PARENTESCO_VISITA TEXT, ALIMENTACAO_DIARIA INTEGER, REST_POPULAR INTEGER, DOACAO_REST INTEGER, DOACAO_RELIGIOSO INTEGER, DOACAO_POPULAR INTEGER, OUTROS_ALIM INTEGER, ACESSO_HIGIENE INTEGER, BANHO INTEGER, SANITARIO INTEGER, HIGIENE_BUCAL INTEGER, OUTROS_HIGIENE INTEGER, FICHA_ALTERACAO INTEGER, ID_RESP_CADASTRO INTEGER, CNES_RESP_CADASTRO TEXT, CBO_RESP_CADASTRO TEXT, INE_RESP_CADASTRO TEXT, DT_CADASTRO TEXT, ID_EQUIPE INTEGER, ORIGEM TEXT, SINCRONIZADO TEXT, DT_ENTRADA_BRASIL TEXT, DT_NATURALIZACAO TEXT, PORTARIA_NATURALIZACAO TEXT, CRIANCAS_ADULTO INTEGER, CRIANCAS_OUTRAS_CRIANCAS INTEGER, CRIANCAS_ADOLESCENTE INTEGER, CRIANCAS_SOZINHA INTEGER, CRIANCAS_CRECHE INTEGER, CRIANCAS_OUTRO INTEGER, IDENTIDADE_GENERO INTEGER);');
db.execute('CREATE TABLE IF NOT EXISTS CBOS (CODIGO_CBO TEXT, DESCRICAO_CBO TEXT);'); db.execute('CREATE TABLE IF NOT EXISTS CBOS (CODIGO_CBO TEXT, DESCRICAO_CBO TEXT);');
db.execute('CREATE TABLE IF NOT EXISTS CIAPS (CODIGO_CIAP TEXT, DESC_CIAP TEXT, TIPO_CIAP TEXT);'); db.execute('CREATE TABLE IF NOT EXISTS CIAPS (CODIGO_CIAP TEXT, DESC_CIAP TEXT, TIPO_CIAP TEXT);');
db.execute('CREATE TABLE IF NOT EXISTS CIDADAOS (ID_CIDADAO INTEGER PRIMARY KEY AUTOINCREMENT, CD_USUARIO_SUS TEXT, NOME_CIDADAO TEXT, NOME_SOCIAL TEXT, SEXO TEXT, DT_NASCIMENTO TEXT, ID_ESTADO_CIVIL INTEGER, NOME_CONJUGE TEXT, NACIONALIDADE INTEGER, ID_MUNICIPIO_NASC INTEGER, NO_MUNICIPIO_NASC TEXT, ESTADO_UF_NASC TEXT, ID_ETNIA INTEGER, ID_ESCOLARIDADE INTEGER, ID_DEFICIENCIA INTEGER, NOME_MAE TEXT, DESCONHECE_MAE INTEGER, NOME_PAI TEXT, DESCONHECE_PAI INTEGER, ID_UNIDADE INTEGER, NUM_PRONTUARIO TEXT, NUM_PRONTUARIO_PROV TEXT, CLASSIFICACAO INTEGER, CLASSIFICACAO_SUB INTEGER, NUM_FAMILIA INTEGER, ID_PAIS_RESID INTEGER, ID_MUNICIPIO_RESID INTEGER, NO_MUNICIPIO_RESID TEXT, ESTADO_UF_RESID TEXT, CODIGO_IBGE_RESID INTEGER, NO_BAIRRO_LOGR TEXT, ID_LOGR_TIPO INTEGER, NOME_LOGR TEXT, CEP_LOGR INTEGER, NUMERO_LOGR INTEGER, LOTEAMENTO_LOGR INTEGER, COMPL_LOGR TEXT, PONTO_REFERENCIA TEXT, ZONA_LOGR INTEGER, DDD_TELEFONE INTEGER, NUM_TELEFONE INTEGER, DDD_CELULAR INTEGER, NUM_CELULAR INTEGER, DDD_RECADO INTEGER, NUM_RECADO INTEGER, EMAIL TEXT, OBSERVACOES TEXT, CPF INTEGER, CNS TEXT, TITULO_ELEITOR INTEGER, RG_NUMERO INTEGER, RG_COMPLEMENTO TEXT, RG_UF TEXT, RG_ORGAO TEXT, RG_DATA_EMISSAO TEXT, TIPO_CERTIDAO INTEGER, NUM_CERTIDAO TEXT, CARTORIO_CERTIDAO TEXT, LIVRO_CERTIDAO TEXT, FOLHA_CERTIDAO TEXT, TERMO_CERTIDAO TEXT, DT_EMISSAO_CERTIDAO TEXT, NUM_CTPS TEXT, NUM_SERIE_CTPS TEXT, ESTADO_UF_CTPS TEXT, NUM_PIS_PASEP TEXT, FL_RETIROU_CARTAO INTEGER, NUM_NIS TEXT, NUM_PROT_CROSS TEXT, RENDA_MENSAL REAL, PROFISSAO TEXT, DT_OBITO TEXT, DECLARACAO_OBITO TEXT, BLOQUEIO INTEGER, ORIGEM INTEGER, DT_HORA_CADASTRO TEXT, ID_USUARIO_CADASTRO INTEGER, ID_DOMICILIO INTEGER, ATENDIMENTOS INTEGER, SINCRONIZADO TEXT);'); db.execute('CREATE TABLE IF NOT EXISTS CIDADAOS (ID_CIDADAO INTEGER PRIMARY KEY AUTOINCREMENT, CD_USUARIO_SUS TEXT, NOME_CIDADAO TEXT, NOME_SOCIAL TEXT, SEXO TEXT, DT_NASCIMENTO TEXT, ID_ESTADO_CIVIL INTEGER, NOME_CONJUGE TEXT, NACIONALIDADE INTEGER, ID_MUNICIPIO_NASC INTEGER, NO_MUNICIPIO_NASC TEXT, ESTADO_UF_NASC TEXT, ID_ETNIA INTEGER, ID_ESCOLARIDADE INTEGER, ID_DEFICIENCIA INTEGER, NOME_MAE TEXT, DESCONHECE_MAE INTEGER, NOME_PAI TEXT, DESCONHECE_PAI INTEGER, ID_UNIDADE INTEGER, NUM_PRONTUARIO TEXT, NUM_PRONTUARIO_PROV TEXT, CLASSIFICACAO INTEGER, CLASSIFICACAO_SUB INTEGER, NUM_FAMILIA INTEGER, ID_PAIS_RESID INTEGER, ID_MUNICIPIO_RESID INTEGER, NO_MUNICIPIO_RESID TEXT, ESTADO_UF_RESID TEXT, CODIGO_IBGE_RESID INTEGER, NO_BAIRRO_LOGR TEXT, ID_LOGR_TIPO INTEGER, NOME_LOGR TEXT, CEP_LOGR INTEGER, NUMERO_LOGR INTEGER, LOTEAMENTO_LOGR INTEGER, COMPL_LOGR TEXT, PONTO_REFERENCIA TEXT, ZONA_LOGR INTEGER, DDD_TELEFONE INTEGER, NUM_TELEFONE INTEGER, DDD_CELULAR INTEGER, NUM_CELULAR INTEGER, DDD_RECADO INTEGER, NUM_RECADO INTEGER, EMAIL TEXT, OBSERVACOES TEXT, CPF INTEGER, CNS TEXT, TITULO_ELEITOR INTEGER, RG_NUMERO INTEGER, RG_COMPLEMENTO TEXT, RG_UF TEXT, RG_ORGAO TEXT, RG_DATA_EMISSAO TEXT, TIPO_CERTIDAO INTEGER, NUM_CERTIDAO TEXT, CARTORIO_CERTIDAO TEXT, LIVRO_CERTIDAO TEXT, FOLHA_CERTIDAO TEXT, TERMO_CERTIDAO TEXT, DT_EMISSAO_CERTIDAO TEXT, NUM_CTPS TEXT, NUM_SERIE_CTPS TEXT, ESTADO_UF_CTPS TEXT, NUM_PIS_PASEP TEXT, FL_RETIROU_CARTAO INTEGER, NUM_NIS TEXT, NUM_PROT_CROSS TEXT, RENDA_MENSAL REAL, PROFISSAO TEXT, DT_OBITO TEXT, DECLARACAO_OBITO TEXT, BLOQUEIO INTEGER, ORIGEM INTEGER, DT_HORA_CADASTRO TEXT, ID_USUARIO_CADASTRO INTEGER, ID_DOMICILIO INTEGER, ATENDIMENTOS INTEGER, SINCRONIZADO TEXT);');

View File

@@ -296,7 +296,7 @@ class DbSqliteSync{
} }
return db; return db;
} }
Future insertCadastrosIndividuais(var value)async{ Future insertCadastrosIndividuais(var value,String type,String CD_USUARIO_SUS)async{
Database db = await DbSqliteLoad().intialDB(); 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, // 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, // ID_RESPONSAVEL_FAMILIAR,NOME_RESPONSAVEL_FAMILIAR,PARENTESCO,ESCOLARIDADE,FREQ_ESCOLA_CRECHE,SITUACAO_MERCADO,CUIDADOR_TRADICIONAL,GRUPO_COMUNITARIO,PLANO_PRIVADO,
@@ -321,6 +321,7 @@ class DbSqliteSync{
// "cboProfissional":"515105", "ine":"0001485628","dtCadastro":"2022-04-05","cdEquipe":5,"dtEntradaBrasil":null,"dtNaturalizado":null,"portariaNaturalizacao":"", // "cboProfissional":"515105", "ine":"0001485628","dtCadastro":"2022-04-05","cdEquipe":5,"dtEntradaBrasil":null,"dtNaturalizado":null,"portariaNaturalizacao":"",
// "criancasAdulto":2,"criancasOutrasCriancas":2,"criancasAdolescente":2,"criancasSozinha":2,"criancasCresce":2,"criancasOutro":2,"identidadeGenero":null,"statusCadastro":null} // "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++){ for(int i=0;value.length > i;i++){
Map<String, dynamic> row = { Map<String, dynamic> row = {
'ID_CAD_INDIVIDUAL' : value[i]['idCadIndividual'], 'ID_CAD_INDIVIDUAL' : value[i]['idCadIndividual'],
@@ -418,6 +419,12 @@ class DbSqliteSync{
// print('id increment $id PROCEDIMENTOS_SIGTAP_REGISTRO'); // print('id increment $id PROCEDIMENTOS_SIGTAP_REGISTRO');
// print(await db.query('CADASTROS_INDIVIDUAIS')); // print(await db.query('CADASTROS_INDIVIDUAIS'));
} }
}else if(type=='new'){
int id = await db.insert('CADASTROS_INDIVIDUAIS', value);
// print('novo id $id');
}else if(type=='update'){
await db.update('CADASTROS_INDIVIDUAIS', value,where: "CD_USUARIO_SUS = '$CD_USUARIO_SUS'");
}
return db; return db;
} }
Future saveSync(codCity,codState,urlAPI,mode,nameCityApi,nameCityFront,codCityIbge,user,idUnidade,nomeUnidade,area,microarea)async{ Future saveSync(codCity,codState,urlAPI,mode,nameCityApi,nameCityFront,codCityIbge,user,idUnidade,nomeUnidade,area,microarea)async{

View File

@@ -28,13 +28,13 @@ class DropDownButtonDefault extends StatelessWidget {
return Column( return Column(
children: [ children: [
Container( Container(
width: width, width: width*0.95,
margin: ConstVariable().marginHightInput, margin: ConstVariable().marginHightInput,
color: ColorPalette.white, color: ColorPalette.white,
child: DropdownButtonHideUnderline( child: DropdownButtonHideUnderline(
child: DropdownButton( child: DropdownButton(
hint: Padding( hint: Padding(
padding: const EdgeInsets.symmetric(horizontal: 8.0), padding: const EdgeInsets.symmetric(horizontal: 0.0),
child: TextDefault(text: title,fontSize: ConstVariable().fontSizeInput,textAlign: TextAlign.end,color: Colors.black,), child: TextDefault(text: title,fontSize: ConstVariable().fontSizeInput,textAlign: TextAlign.end,color: Colors.black,),
), ),
value: select, value: select,
@@ -43,7 +43,7 @@ class DropDownButtonDefault extends StatelessWidget {
child: Container( child: Container(
width: widthContainer, width: widthContainer,
child: Padding( child: Padding(
padding: EdgeInsets.symmetric(horizontal: 10.0), padding: EdgeInsets.symmetric(horizontal: 0.0),
child: TextDefault( child: TextDefault(
text: value, text: value,
maxLines: 2, maxLines: 2,

View File

@@ -11,6 +11,8 @@ class DropdownWithSubtitle extends StatelessWidget {
double widthContainerDropdown; double widthContainerDropdown;
List<String> list; List<String> list;
var onChanged; var onChanged;
var onTapDelete;
bool showDelete;
Color colorBorder; Color colorBorder;
DropdownWithSubtitle({ DropdownWithSubtitle({
@@ -22,7 +24,9 @@ class DropdownWithSubtitle extends StatelessWidget {
required this.hintDropdown, required this.hintDropdown,
required this.onChanged, required this.onChanged,
required this.list, required this.list,
this.colorBorder = ColorPalette.black54, this.colorBorder = ColorPalette.white,
this.onTapDelete = null,
this.showDelete = false
}); });
@override @override
@@ -50,7 +54,10 @@ class DropdownWithSubtitle extends StatelessWidget {
), ),
margin: EdgeInsets.symmetric(horizontal: 5), margin: EdgeInsets.symmetric(horizontal: 5),
padding: EdgeInsets.symmetric(horizontal: 2), padding: EdgeInsets.symmetric(horizontal: 2),
child: DropDownButtonDefault( child: Row(
mainAxisAlignment: MainAxisAlignment.start,
children: [
DropDownButtonDefault(
title: hintDropdown, title: hintDropdown,
fontSize: 14, fontSize: 14,
width: widthDropdown, width: widthDropdown,
@@ -59,6 +66,12 @@ class DropdownWithSubtitle extends StatelessWidget {
list: list, list: list,
onChanged: onChanged, onChanged: onChanged,
), ),
select!=null &&showDelete?GestureDetector(
onTap: onTapDelete,
child: Icon(Icons.delete,color: ColorPalette.appBar,)
):Container(width: 23,)
],
),
), ),
], ],
), ),

View File

@@ -33,7 +33,7 @@ class InputWithSubtitle extends StatelessWidget {
this.mandatory = true, this.mandatory = true,
this.textInputType = TextInputType.text, this.textInputType = TextInputType.text,
this.maxLines = 1, this.maxLines = 1,
this.colorBorder = ColorPalette.black54, this.colorBorder = ColorPalette.white,
required this.onChanged, required this.onChanged,
this.widthError = 0.7 this.widthError = 0.7
}); });