ajuste no register_citizen_screen.dart para a sincronização
This commit is contained in:
@@ -10,6 +10,7 @@ import '../../controllers/main_controllers.dart';
|
||||
import '../../service/db/db_querys.dart';
|
||||
import '../../service/db/db_sqlite_load.dart';
|
||||
import '../../service/db/db_sqlite_sync.dart';
|
||||
import '../../service/shared_preferences/shared_preferences_service.dart';
|
||||
import '../../widgets/appbar_default.dart';
|
||||
import '../../widgets/dropdown_with_subtitle.dart';
|
||||
import '../../widgets/error_default.dart';
|
||||
@@ -80,21 +81,30 @@ class _RegisterCitizenScreenState extends State<RegisterCitizenScreen> {
|
||||
String checkCNS = '';
|
||||
String checkCPF = '';
|
||||
String? selectTypeCertificate;
|
||||
int? selectTypeCertificateCod;
|
||||
String? selectCTPSUF;
|
||||
String? selectRGUF;
|
||||
String? selectTypeStreet;
|
||||
String? selectStreet;
|
||||
String? selectSubdivision;
|
||||
String? selectZone;
|
||||
int? selectZoneCod;
|
||||
String? selectVillage;
|
||||
String? selectCountry;
|
||||
String? selectClassification;
|
||||
int? selectClassificationCOD;
|
||||
String? selectGender;
|
||||
String? selectMaritalStatus;
|
||||
int? selectMaritalStatusCod;
|
||||
String? selectBreed;
|
||||
int? selectBreedCod;
|
||||
String? selectScooling;
|
||||
int? selectScoolingCod;
|
||||
String? selectDeficiency;
|
||||
int? selectDeficiencyCod;
|
||||
String? selectNaturality;
|
||||
int? selectNaturalityCod;
|
||||
int? cityBirthCod;
|
||||
bool enableSpouse = false;
|
||||
bool enableMother = false;
|
||||
bool enableFather = false;
|
||||
@@ -112,11 +122,19 @@ class _RegisterCitizenScreenState extends State<RegisterCitizenScreen> {
|
||||
List showResultSearchCity = [];
|
||||
List showResultSearchIbge = [];
|
||||
List listVillageDB =[];
|
||||
List resultListNasc =[];
|
||||
List resultListResid =[];
|
||||
String idBairro='';
|
||||
String idTipo='';
|
||||
bool showCheckError = false;
|
||||
bool showTab = false;
|
||||
String errorTopo = 'Existem campos obrigatórios não preenchidos.';
|
||||
List<String> typeCertificate = [];
|
||||
List<String> listDeficiency = [];
|
||||
List<String> listScooling = [];
|
||||
List<String> listBreed = [];
|
||||
List<String> listMaritalStatus = [];
|
||||
String idUnidade = '';
|
||||
|
||||
escolherprazoInicio(BuildContext context,String type) async {
|
||||
|
||||
@@ -154,7 +172,10 @@ class _RegisterCitizenScreenState extends State<RegisterCitizenScreen> {
|
||||
Database db = await DbSqliteLoad().intialDB();
|
||||
var queryControl = "SELECT * FROM CONTROLE_INTERNO";
|
||||
List listControl = await db.rawQuery(queryControl);
|
||||
|
||||
final PrefService _prefService = PrefService();
|
||||
_prefService.readCacheUnidade('idUnidade').then((listUnidade)async{
|
||||
idUnidade =listUnidade[0];
|
||||
});
|
||||
setState(() {
|
||||
unitController.text = listControl[0]['NOME_UNIDADE'];
|
||||
});
|
||||
@@ -317,38 +338,47 @@ class _RegisterCitizenScreenState extends State<RegisterCitizenScreen> {
|
||||
}
|
||||
}
|
||||
|
||||
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',
|
||||
'NOME_CIDADAO' : nameController.text,
|
||||
'NOME_SOCIAL' : nameSocialController.text,
|
||||
'SEXO' : selectGender,
|
||||
'SEXO' : selectGender=='MASCULINO'?'M':'F',
|
||||
'DT_NASCIMENTO' : dateDB,
|
||||
'ID_ESTADO_CIVIL' : '',
|
||||
'ID_ESTADO_CIVIL' : '',
|
||||
'ID_ESTADO_CIVIL' : selectMaritalStatusCod,
|
||||
'NOME_CONJUGE' : spouseController.text,
|
||||
'NACIONALIDADE' : selectNaturality,
|
||||
'ID_MUNICIPIO_NASC' : '',
|
||||
'NO_MUNICIPIO_NASC' : cityBirthController.text,
|
||||
'ESTADO_UF_NASC' : '',
|
||||
'ID_ETNIA' : '',
|
||||
'ID_ESCOLARIDADE' : '',
|
||||
'ID_DEFICIENCIA' : '',
|
||||
'NACIONALIDADE' : selectNaturalityCod,
|
||||
'ID_MUNICIPIO_NASC' : resultListNasc[0]['ID_MUNICIPIO'],
|
||||
'NO_MUNICIPIO_NASC' : resultListNasc[0]['NO_MUNICIPIO'],
|
||||
'ESTADO_UF_NASC' : resultListNasc[0]['UF_ESTADO'],
|
||||
'ID_ETNIA' : selectBreedCod,
|
||||
'ID_ESCOLARIDADE' : selectScoolingCod,
|
||||
'ID_DEFICIENCIA' : selectDeficiencyCod,
|
||||
'NOME_MAE' : nameMotherController.text,
|
||||
'DESCONHECE_MAE' : '${!enableMother}',
|
||||
'NOME_PAI' : nameFatherController.text,
|
||||
'DESCONHECE_PAI' : '${!enableFather}',
|
||||
'ID_UNIDADE' : '',
|
||||
'ID_UNIDADE' : idUnidade,
|
||||
'NUM_PRONTUARIO' : medicalRecordController.text,
|
||||
'NUM_PRONTUARIO_PROV' : medicalRecordProvController.text,
|
||||
'CLASSIFICACAO' : selectClassification,
|
||||
'CLASSIFICACAO' : selectClassificationCOD,
|
||||
//aqui
|
||||
'CLASSIFICACAO_SUB' : '',
|
||||
'NUM_FAMILIA' : numberFamilyController.text,
|
||||
'ID_PAIS_RESID' : '',
|
||||
'ID_MUNICIPIO_RESID' : '',
|
||||
'NO_MUNICIPIO_RESID' : cityController.text,
|
||||
'ESTADO_UF_RESID' : '',
|
||||
'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,
|
||||
@@ -358,7 +388,7 @@ class _RegisterCitizenScreenState extends State<RegisterCitizenScreen> {
|
||||
'LOTEAMENTO_LOGR' : selectSubdivision,
|
||||
'COMPL_LOGR' : complementController.text,
|
||||
'PONTO_REFERENCIA' : referencePointController.text,
|
||||
'ZONA_LOGR' : selectZone,
|
||||
'ZONA_LOGR' : selectZoneCod,
|
||||
'DDD_TELEFONE' : foneDDDController.text,
|
||||
'NUM_TELEFONE' : foneController.text,
|
||||
'DDD_RECADO' : messageDDDController.text,
|
||||
@@ -373,7 +403,7 @@ class _RegisterCitizenScreenState extends State<RegisterCitizenScreen> {
|
||||
'RG_UF' : selectRGUF,
|
||||
'RG_ORGAO' : RGOrganController.text,
|
||||
'RG_DATA_EMISSAO' : RGDateController.text,
|
||||
'TIPO_CERTIDAO' : selectTypeCertificate,
|
||||
'TIPO_CERTIDAO' : selectTypeCertificateCod,
|
||||
'NUM_CERTIDAO' : numberCertificateController.text,
|
||||
'CARTORIO_CERTIDAO' : nameCertificateController.text,
|
||||
'LIVRO_CERTIDAO' : bookCertificateController.text,
|
||||
@@ -386,18 +416,22 @@ class _RegisterCitizenScreenState extends State<RegisterCitizenScreen> {
|
||||
'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' : '',
|
||||
'ORIGEM' : 'A',
|
||||
'DT_HORA_CADASTRO' : DateTime.now().toString(),
|
||||
//aqui
|
||||
'ID_USUARIO_CADASTRO' : '',
|
||||
//aqui
|
||||
'ID_DOMICILIO' : '',
|
||||
//aqui
|
||||
'ATENDIMENTOS' : '',
|
||||
'SINCRONIZADO' : '',
|
||||
'SINCRONIZADO' : 'N',
|
||||
};
|
||||
await DbSqliteSync().insertCidadaos(row,'update').then((value){
|
||||
if(checkCNS != 'ok' || CNSController.text.isEmpty){
|
||||
@@ -428,6 +462,24 @@ class _RegisterCitizenScreenState extends State<RegisterCitizenScreen> {
|
||||
});
|
||||
}
|
||||
|
||||
loadLists(){
|
||||
for(int i = 0; ConstVariable().itensCertificate.length > i; i++){
|
||||
typeCertificate.add(ConstVariable().itensCertificate[i].title);
|
||||
}
|
||||
for(int i = 0; ConstVariable().itensDeficiency.length > i; i++){
|
||||
listDeficiency.add(ConstVariable().itensDeficiency[i].title);
|
||||
}
|
||||
for(int i = 0; ConstVariable().listScooling.length > i; i++){
|
||||
listScooling.add(ConstVariable().listScooling[i].title);
|
||||
}
|
||||
for(int i = 0; ConstVariable().listBreed.length > i; i++){
|
||||
listBreed.add(ConstVariable().listBreed[i].title);
|
||||
}
|
||||
for(int i = 0; ConstVariable().listMaritalStatus.length > i; i++){
|
||||
listMaritalStatus.add(ConstVariable().listMaritalStatus[i].title);
|
||||
}
|
||||
}
|
||||
|
||||
@override
|
||||
void initState() {
|
||||
super.initState();
|
||||
@@ -438,6 +490,7 @@ class _RegisterCitizenScreenState extends State<RegisterCitizenScreen> {
|
||||
loadVillgeDB();
|
||||
loadTypeStreetDB();
|
||||
loadSubdivisionsDB();
|
||||
loadLists();
|
||||
setState(() {
|
||||
cityBirthController.text = widget.select;
|
||||
});
|
||||
@@ -591,7 +644,7 @@ class _RegisterCitizenScreenState extends State<RegisterCitizenScreen> {
|
||||
),
|
||||
date == 'Data de Nascimento'?ErrorDefault():Container(),
|
||||
DropdownWithSubtitle(
|
||||
list: ConstVariable().listMaritalStatus,
|
||||
list: listMaritalStatus,
|
||||
subtitle: 'Estado Civil',
|
||||
hintDropdown: 'Estado Civil',
|
||||
select: selectMaritalStatus,
|
||||
@@ -601,6 +654,12 @@ class _RegisterCitizenScreenState extends State<RegisterCitizenScreen> {
|
||||
onChanged: (value){
|
||||
setState(() {
|
||||
selectMaritalStatus = value!;
|
||||
for(int i = 0;ConstVariable().listMaritalStatus.length >i;i++){
|
||||
if(ConstVariable().listMaritalStatus[i].title == selectMaritalStatus){
|
||||
selectMaritalStatusCod = ConstVariable().listMaritalStatus[i].cod;
|
||||
print(selectMaritalStatusCod);
|
||||
}
|
||||
}
|
||||
if(selectMaritalStatus=='CASADO(A)'){
|
||||
enableSpouse = true;
|
||||
}else{
|
||||
@@ -632,9 +691,15 @@ class _RegisterCitizenScreenState extends State<RegisterCitizenScreen> {
|
||||
setState(() {
|
||||
selectNaturality = value!;
|
||||
if(selectNaturality!='BRASILEIRO'){
|
||||
if(selectNaturality=='ESTRANGEIRO'){
|
||||
selectNaturalityCod = 2;
|
||||
}else{
|
||||
selectNaturalityCod = 3;
|
||||
}
|
||||
cityBirthController.text = 'MUNICIPIO IGNORADO - SP';
|
||||
}else{
|
||||
cityBirthController.text = '';
|
||||
selectNaturalityCod = 1;
|
||||
}
|
||||
});
|
||||
},
|
||||
@@ -652,7 +717,7 @@ class _RegisterCitizenScreenState extends State<RegisterCitizenScreen> {
|
||||
scrollable: true,
|
||||
content: StatefulBuilder(
|
||||
builder: (context, setState) {
|
||||
//aqui
|
||||
|
||||
return Column(
|
||||
children: [
|
||||
InputSearchText(
|
||||
@@ -682,11 +747,18 @@ class _RegisterCitizenScreenState extends State<RegisterCitizenScreen> {
|
||||
width: width*0.8,
|
||||
color: ColorPalette.white,
|
||||
child: ListTile(
|
||||
onTap: (){
|
||||
onTap: ()async{
|
||||
List splitted = [];
|
||||
setState(() {
|
||||
cityBirthController.text = showResultSearchCity[index];
|
||||
splitted = cityBirthController.text.split(' - ');
|
||||
print(splitted[0]);
|
||||
Navigator.pop(context);
|
||||
});
|
||||
resultListNasc = await DBQuerys().buscaMunicipio(splitted[0]);
|
||||
print(resultListNasc[0]['ID_MUNICIPIO'],);
|
||||
print(resultListNasc[0]['NO_MUNICIPIO'],);
|
||||
print(resultListNasc[0]['UF_ESTADO'],);
|
||||
},
|
||||
title: TextDefault(
|
||||
color: ColorPalette.black54,
|
||||
@@ -720,7 +792,7 @@ class _RegisterCitizenScreenState extends State<RegisterCitizenScreen> {
|
||||
),
|
||||
),
|
||||
DropdownWithSubtitle(
|
||||
list: ConstVariable().listBreed,
|
||||
list: listBreed,
|
||||
subtitle: 'Raça/Cor',
|
||||
hintDropdown: 'Raça/Cor',
|
||||
select: selectBreed,
|
||||
@@ -730,12 +802,18 @@ class _RegisterCitizenScreenState extends State<RegisterCitizenScreen> {
|
||||
onChanged: (value){
|
||||
setState(() {
|
||||
selectBreed = value!;
|
||||
for(int i = 0;ConstVariable().listBreed.length >i;i++){
|
||||
if(ConstVariable().listBreed[i].title == selectBreed){
|
||||
selectBreedCod = ConstVariable().listBreed[i].cod;
|
||||
print(selectBreedCod);
|
||||
}
|
||||
}
|
||||
});
|
||||
},
|
||||
),
|
||||
selectBreed==null?ErrorDefault():Container(),
|
||||
DropdownWithSubtitle(
|
||||
list: ConstVariable().listScooling,
|
||||
list: listScooling,
|
||||
subtitle: 'Escolaridade',
|
||||
hintDropdown: 'Escolaridade',
|
||||
select: selectScooling,
|
||||
@@ -745,11 +823,17 @@ class _RegisterCitizenScreenState extends State<RegisterCitizenScreen> {
|
||||
onChanged: (value){
|
||||
setState(() {
|
||||
selectScooling = value!;
|
||||
for(int i = 0;ConstVariable().listScooling.length >i;i++){
|
||||
if(ConstVariable().listScooling[i].title == selectScooling){
|
||||
selectScoolingCod = ConstVariable().listScooling[i].cod;
|
||||
print(selectScoolingCod);
|
||||
}
|
||||
}
|
||||
});
|
||||
},
|
||||
),
|
||||
DropdownWithSubtitle(
|
||||
list: ConstVariable().listDeficiency,
|
||||
list: listDeficiency,
|
||||
subtitle: 'Deficiência',
|
||||
hintDropdown: 'Deficiência',
|
||||
select: selectDeficiency,
|
||||
@@ -759,6 +843,12 @@ class _RegisterCitizenScreenState extends State<RegisterCitizenScreen> {
|
||||
onChanged: (value){
|
||||
setState(() {
|
||||
selectDeficiency = value!;
|
||||
for(int i = 0;ConstVariable().itensDeficiency.length >i;i++){
|
||||
if(ConstVariable().itensDeficiency[i].title == selectDeficiency){
|
||||
selectDeficiencyCod = ConstVariable().itensDeficiency[i].cod;
|
||||
print(selectDeficiencyCod);
|
||||
}
|
||||
}
|
||||
});
|
||||
},
|
||||
),
|
||||
@@ -878,6 +968,7 @@ class _RegisterCitizenScreenState extends State<RegisterCitizenScreen> {
|
||||
setState(() {
|
||||
selectClassification = value;
|
||||
if(selectClassification=='OUTRO MUNICIPIO'){
|
||||
selectClassificationCOD = 3;
|
||||
cityController.clear();
|
||||
codIBGEController.clear();
|
||||
cepController.clear();
|
||||
@@ -896,6 +987,11 @@ class _RegisterCitizenScreenState extends State<RegisterCitizenScreen> {
|
||||
'OK'
|
||||
);
|
||||
}else{
|
||||
if(selectClassification=='PROVISORIO'){
|
||||
selectClassificationCOD = 2;
|
||||
}else{
|
||||
selectClassificationCOD = 1;
|
||||
}
|
||||
changedCity();
|
||||
selectCountry = 'BRASIL';
|
||||
}
|
||||
@@ -954,6 +1050,7 @@ class _RegisterCitizenScreenState extends State<RegisterCitizenScreen> {
|
||||
selectCountry = value;
|
||||
if(selectCountry=='OUTRO'){
|
||||
cityController.text= 'MUNICIPIO IGNORADO - SP';
|
||||
resultListResid = [{"ID_MUNICIPIO":1,"CODIGO_IBGE":"000000","NO_MUNICIPIO":"MUNICIPIO IGNORADO","UF_ESTADO":"--","ID_PAIS":33}];
|
||||
codIBGEController.text = '000000';
|
||||
numberController.clear();
|
||||
selectVillage = null;
|
||||
@@ -1022,13 +1119,19 @@ class _RegisterCitizenScreenState extends State<RegisterCitizenScreen> {
|
||||
width: width*0.8,
|
||||
color: ColorPalette.white,
|
||||
child: ListTile(
|
||||
onTap: (){
|
||||
onTap: ()async{
|
||||
List splitted = [];
|
||||
setState(() {
|
||||
cityController.text = showResultSearchCity[index];
|
||||
codIBGEController.text = showResultSearchIbge[index];
|
||||
splitted = cityController.text.split(' - ');
|
||||
// print("IBGE ${showResultSearchIbge[index]}");
|
||||
Navigator.pop(context);
|
||||
});
|
||||
resultListResid = await DBQuerys().buscaMunicipio(splitted[0]);
|
||||
print(resultListResid[0]['ID_MUNICIPIO'],);
|
||||
print(resultListResid[0]['NO_MUNICIPIO'],);
|
||||
print(resultListResid[0]['UF_ESTADO'],);
|
||||
},
|
||||
title: TextDefault(
|
||||
color: ColorPalette.black54,
|
||||
@@ -1089,7 +1192,6 @@ class _RegisterCitizenScreenState extends State<RegisterCitizenScreen> {
|
||||
});
|
||||
idBairro = await DBQuerys().buscaBairro(selectVillage);
|
||||
},
|
||||
//aqui
|
||||
list: villageDB
|
||||
),
|
||||
selectClassification!='OUTRO MUNICIPIO' && selectVillage == null?ErrorDefault():Container(),
|
||||
@@ -1222,6 +1324,11 @@ class _RegisterCitizenScreenState extends State<RegisterCitizenScreen> {
|
||||
onChanged: (value){
|
||||
setState(() {
|
||||
selectZone = value;
|
||||
if(selectZone == 'URBANA'){
|
||||
selectZoneCod = 1;
|
||||
}else{
|
||||
selectZoneCod = 2;
|
||||
}
|
||||
});
|
||||
},
|
||||
list: ['URBANA','RURAL']
|
||||
@@ -1520,18 +1627,15 @@ class _RegisterCitizenScreenState extends State<RegisterCitizenScreen> {
|
||||
onChanged: (value){
|
||||
setState(() {
|
||||
selectTypeCertificate = value;
|
||||
for(int i = 0;ConstVariable().itensCertificate.length >i;i++){
|
||||
if(ConstVariable().itensCertificate[i].title == selectTypeCertificate){
|
||||
selectTypeCertificateCod = ConstVariable().itensCertificate[i].cod;
|
||||
print(selectTypeCertificateCod);
|
||||
}
|
||||
}
|
||||
});
|
||||
},
|
||||
list: [
|
||||
'NASCIMENTO',
|
||||
'CASAMENTO',
|
||||
'DIVÓRCIO',
|
||||
'ADMINISTRATIVA - ÍNDIO',
|
||||
'NASCIMENTO - N',
|
||||
'CASAMENTO - N',
|
||||
'DIVÓRCIO - N',
|
||||
'ADMINISTRATIVA - ÍNDIO - N',
|
||||
]
|
||||
list:typeCertificate
|
||||
),
|
||||
InputWithSubtitle(
|
||||
controller: numberCertificateController,
|
||||
|
||||
Reference in New Issue
Block a user