ajustes para salvar dados do cadastro de renda total, emprestimo, veiculo e financiamento.
This commit is contained in:
23
lib/models/equipe_modelo.dart
Normal file
23
lib/models/equipe_modelo.dart
Normal file
@@ -0,0 +1,23 @@
|
|||||||
|
class EquipeModelo{
|
||||||
|
int ID_EQUIPE;
|
||||||
|
int ID_UNIDADE;
|
||||||
|
String INE;
|
||||||
|
int AREA;
|
||||||
|
int ID_ATB_MICROAREA;
|
||||||
|
int ID_ATB_AREA;
|
||||||
|
int MICROAREA;
|
||||||
|
int ID_PROFISSIONAL;
|
||||||
|
int ATIVO;
|
||||||
|
|
||||||
|
EquipeModelo({
|
||||||
|
required this.ID_EQUIPE,
|
||||||
|
required this.ID_UNIDADE,
|
||||||
|
required this.INE,
|
||||||
|
required this.AREA,
|
||||||
|
required this.ID_ATB_MICROAREA,
|
||||||
|
required this.ID_ATB_AREA,
|
||||||
|
required this.MICROAREA,
|
||||||
|
required this.ID_PROFISSIONAL,
|
||||||
|
required this.ATIVO,
|
||||||
|
});
|
||||||
|
}
|
||||||
@@ -30,7 +30,8 @@ class _HomeScreenState extends State<HomeScreen> {
|
|||||||
loadCitizen()async{
|
loadCitizen()async{
|
||||||
await DbSqliteLoad().intialDB().then((db)async {
|
await DbSqliteLoad().intialDB().then((db)async {
|
||||||
dataCitizen = await db.query('CIDADAOS ORDER BY NOME_CIDADAO');
|
dataCitizen = await db.query('CIDADAOS ORDER BY NOME_CIDADAO');
|
||||||
// print(await db.rawQuery("SELECT * FROM CIDADAOS WHERE NOME_PAI='REGINALDO OLIVEIRA'"));
|
print(dataCitizen.length);
|
||||||
|
// print(await db.rawQuery("SELECT * FROM CIDADAOS"));
|
||||||
});
|
});
|
||||||
searchCitizen();
|
searchCitizen();
|
||||||
return 'complete';
|
return 'complete';
|
||||||
|
|||||||
@@ -8,10 +8,12 @@ import 'package:rkm/widgets/input_text.dart';
|
|||||||
import 'package:rkm/widgets/text_default.dart';
|
import 'package:rkm/widgets/text_default.dart';
|
||||||
import 'package:sqflite/sqflite.dart';
|
import 'package:sqflite/sqflite.dart';
|
||||||
import '../../controllers/main_controllers.dart';
|
import '../../controllers/main_controllers.dart';
|
||||||
|
import '../../models/equipe_modelo.dart';
|
||||||
import '../../service/api/api_data_load.dart';
|
import '../../service/api/api_data_load.dart';
|
||||||
import '../../service/api/api_data_sync.dart';
|
import '../../service/api/api_data_sync.dart';
|
||||||
import '../../service/db/db_sqlite_load.dart';
|
import '../../service/db/db_sqlite_load.dart';
|
||||||
import '../../service/shared_preferences/shared_preferences_service.dart';
|
import '../../service/shared_preferences/shared_preferences_service.dart';
|
||||||
|
import '../../widgets/dropdown_equipe.dart';
|
||||||
import '../../widgets/title_input.dart';
|
import '../../widgets/title_input.dart';
|
||||||
class SyncLoginScreen extends StatefulWidget {
|
class SyncLoginScreen extends StatefulWidget {
|
||||||
|
|
||||||
@@ -26,7 +28,7 @@ class _SyncLoginScreenState extends State<SyncLoginScreen> {
|
|||||||
String error = '';
|
String error = '';
|
||||||
String? now;
|
String? now;
|
||||||
String? selectUnit;
|
String? selectUnit;
|
||||||
String? selectTeam;
|
EquipeModelo? selectTeam;
|
||||||
bool validatorDropDown= false;
|
bool validatorDropDown= false;
|
||||||
bool citizenOutArea = false;
|
bool citizenOutArea = false;
|
||||||
int contLogo = 0;
|
int contLogo = 0;
|
||||||
@@ -36,9 +38,11 @@ class _SyncLoginScreenState extends State<SyncLoginScreen> {
|
|||||||
bool loading = false;
|
bool loading = false;
|
||||||
List<String> listUnit=[];
|
List<String> listUnit=[];
|
||||||
List searchUnitCodList=[];
|
List searchUnitCodList=[];
|
||||||
List<String> listTeam = [];
|
List<EquipeModelo> listTeam = [];
|
||||||
String idUnidade ='';
|
String idUnidade ='';
|
||||||
int idUsuario =0;
|
int idUsuario =0;
|
||||||
|
int ID_ATB_AREA = 0;
|
||||||
|
int ID_ATB_MICROAREA = 0;
|
||||||
|
|
||||||
final PrefService _prefService = PrefService();
|
final PrefService _prefService = PrefService();
|
||||||
|
|
||||||
@@ -155,15 +159,29 @@ class _SyncLoginScreenState extends State<SyncLoginScreen> {
|
|||||||
var query = "SELECT * FROM EQUIPES JOIN PROFISSIONAIS_EQUIPE ON PROFISSIONAIS_EQUIPE.ID_EQUIPE = EQUIPES.ID_EQUIPE WHERE ID_UNIDADE = $idUnidade AND ID_PROFISSIONAL = $value";
|
var query = "SELECT * FROM EQUIPES JOIN PROFISSIONAIS_EQUIPE ON PROFISSIONAIS_EQUIPE.ID_EQUIPE = EQUIPES.ID_EQUIPE WHERE ID_UNIDADE = $idUnidade AND ID_PROFISSIONAL = $value";
|
||||||
List list = await db.rawQuery(query);
|
List list = await db.rawQuery(query);
|
||||||
listTeam.clear();
|
listTeam.clear();
|
||||||
|
print(list);
|
||||||
for(int i=0; list.length > i;i++){
|
for(int i=0; list.length > i;i++){
|
||||||
listTeam.add('INE: ${list[i]['INE']} / Área: ${list[i]['AREA']} - Microárea : ${list[i]['MICROAREA']==null?'':list[i]['MICROAREA']}');
|
listTeam.add(
|
||||||
|
EquipeModelo(
|
||||||
|
AREA:list[i]['AREA'],
|
||||||
|
ID_EQUIPE:list[i]['ID_EQUIPE'],
|
||||||
|
INE:list[i]['INE'].toString(),
|
||||||
|
ID_ATB_AREA:list[i]['ID_ATB_AREA'],
|
||||||
|
ID_ATB_MICROAREA:list[i]['ID_ATB_MICROAREA'],
|
||||||
|
MICROAREA:list[i]['MICROAREA'],
|
||||||
|
ID_PROFISSIONAL:list[i]['ID_PROFISSIONAL'],
|
||||||
|
ATIVO:list[i]['ATIVO'],
|
||||||
|
ID_UNIDADE:list[i]['ID_UNIDADE'],
|
||||||
|
)
|
||||||
|
);
|
||||||
|
// listTeam.add('INE: ${list[i]['INE']} / Área: ${list[i]['AREA']} - Microárea : ${list[i]['MICROAREA']==null?'':list[i]['MICROAREA']}');
|
||||||
}
|
}
|
||||||
var query1 = "SELECT * FROM EQUIPES WHERE ID_EQUIPE = $idUnidade";
|
var query1 = "SELECT * FROM EQUIPES WHERE ID_EQUIPE = $idUnidade";
|
||||||
List list1 = await db.rawQuery(query1);
|
List list1 = await db.rawQuery(query1);
|
||||||
print(list1);
|
// print(list1);
|
||||||
var query2 = "SELECT * FROM PROFISSIONAIS_EQUIPE WHERE ID_PROFISSIONAL = $idUsuario";
|
var query2 = "SELECT * FROM PROFISSIONAIS_EQUIPE WHERE ID_PROFISSIONAL = $idUsuario";
|
||||||
List list2 = await db.rawQuery(query2);
|
List list2 = await db.rawQuery(query2);
|
||||||
print(list2);
|
// print(list2);
|
||||||
print(list2.length);
|
print(list2.length);
|
||||||
print('idUsuario');
|
print('idUsuario');
|
||||||
print(idUsuario);
|
print(idUsuario);
|
||||||
@@ -252,7 +270,7 @@ class _SyncLoginScreenState extends State<SyncLoginScreen> {
|
|||||||
},
|
},
|
||||||
),
|
),
|
||||||
TitleInput(title:'Equipe'),
|
TitleInput(title:'Equipe'),
|
||||||
DropDownButtonDefault(
|
DropDownEquipe(
|
||||||
width: width*0.7,
|
width: width*0.7,
|
||||||
title: 'Equipe',
|
title: 'Equipe',
|
||||||
list: listTeam,
|
list: listTeam,
|
||||||
@@ -260,6 +278,7 @@ class _SyncLoginScreenState extends State<SyncLoginScreen> {
|
|||||||
onChanged: (value){
|
onChanged: (value){
|
||||||
setState(() {
|
setState(() {
|
||||||
selectTeam = value!;
|
selectTeam = value!;
|
||||||
|
print(selectTeam!.ID_ATB_MICROAREA.toString());
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
),
|
),
|
||||||
|
|||||||
@@ -452,7 +452,6 @@ class _RegisterCitizenScreenState extends State<RegisterCitizenScreen> {
|
|||||||
'NUM_PIS_PASEP' : PISController.text.isNotEmpty?int.parse(PISController.text):0,
|
'NUM_PIS_PASEP' : PISController.text.isNotEmpty?int.parse(PISController.text):0,
|
||||||
'FL_RETIROU_CARTAO' : enableCityCard?'S':'N',
|
'FL_RETIROU_CARTAO' : enableCityCard?'S':'N',
|
||||||
'NUM_NIS' : NISController.text.isNotEmpty?int.parse(NISController.text):0,
|
'NUM_NIS' : NISController.text.isNotEmpty?int.parse(NISController.text):0,
|
||||||
//aqui
|
|
||||||
'NUM_PROT_CROSS' : '',
|
'NUM_PROT_CROSS' : '',
|
||||||
'RENDA_MENSAL' : incomeController.text.isNotEmpty?double.parse(incomeController.text.replaceAll('R\$ ', '').replaceAll('.', '').replaceAll(',', '.')):0,
|
'RENDA_MENSAL' : incomeController.text.isNotEmpty?double.parse(incomeController.text.replaceAll('R\$ ', '').replaceAll('.', '').replaceAll(',', '.')):0,
|
||||||
'PROFISSAO' : professionalController.text,
|
'PROFISSAO' : professionalController.text,
|
||||||
@@ -461,11 +460,6 @@ class _RegisterCitizenScreenState extends State<RegisterCitizenScreen> {
|
|||||||
'BLOQUEIO' : enableBlocked?1:0,
|
'BLOQUEIO' : enableBlocked?1:0,
|
||||||
'ORIGEM' : 'A',
|
'ORIGEM' : 'A',
|
||||||
'DT_HORA_CADASTRO' : DateTime.now().toString(),
|
'DT_HORA_CADASTRO' : DateTime.now().toString(),
|
||||||
// 'ID_USUARIO_CADASTRO' : '',
|
|
||||||
//só quando for feito o atendimento domicíliar
|
|
||||||
'ID_DOMICILIO' : '',
|
|
||||||
//só quando for feito um atendimento
|
|
||||||
'ATENDIMENTOS' : '',
|
|
||||||
'SINCRONIZADO' : 'N',
|
'SINCRONIZADO' : 'N',
|
||||||
};
|
};
|
||||||
await DbSqliteSync().insertCidadaos(row,editing?'update':'new',codSus).then((value){
|
await DbSqliteSync().insertCidadaos(row,editing?'update':'new',codSus).then((value){
|
||||||
@@ -2062,7 +2056,7 @@ class _RegisterCitizenScreenState extends State<RegisterCitizenScreen> {
|
|||||||
mainAxisSize: MainAxisSize.min,
|
mainAxisSize: MainAxisSize.min,
|
||||||
children: [
|
children: [
|
||||||
Container(
|
Container(
|
||||||
color: ColorPalette.white,
|
color: edit?Colors.grey[200]:ColorPalette.disable,
|
||||||
margin: EdgeInsets.only(top: 5),
|
margin: EdgeInsets.only(top: 5),
|
||||||
width: width*0.7,
|
width: width*0.7,
|
||||||
child: TextFormField(
|
child: TextFormField(
|
||||||
|
|||||||
@@ -34,7 +34,17 @@ class _RegisterHomeScreenState extends State<RegisterHomeScreen> {
|
|||||||
var NOME_RESP_CADASTRO = TextEditingController();
|
var NOME_RESP_CADASTRO = TextEditingController();
|
||||||
var CNES_RESP_CADASTRO = TextEditingController();
|
var CNES_RESP_CADASTRO = TextEditingController();
|
||||||
var DT_CADASTRO = TextEditingController();
|
var DT_CADASTRO = TextEditingController();
|
||||||
|
var RENDA_TOTAL_FAMILIAR = TextEditingController();
|
||||||
|
var RENDA_MENSAL = TextEditingController();
|
||||||
|
var ANO_VEICULO = TextEditingController();
|
||||||
|
var MODELO_VEICULO = TextEditingController();
|
||||||
|
var VALOR_PARCELA_FINANCIAMENTO = TextEditingController();
|
||||||
|
var VALOR_PARCELA_EMPRESTIMO = TextEditingController();
|
||||||
|
var PROFISSAO = TextEditingController();
|
||||||
|
|
||||||
|
bool POSSUI_FINANCIAMENTO = false;
|
||||||
|
bool POSSUI_EMPRESTIMO = false;
|
||||||
|
bool POSSUI_VEICULO = false;
|
||||||
bool FORA_AREA = false;
|
bool FORA_AREA = false;
|
||||||
bool DISPONIBILIDADE_ENERGIA = false;
|
bool DISPONIBILIDADE_ENERGIA = false;
|
||||||
bool FL_ANIMAIS = false;
|
bool FL_ANIMAIS = false;
|
||||||
@@ -184,7 +194,28 @@ class _RegisterHomeScreenState extends State<RegisterHomeScreen> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
loadRegisterHome()async{
|
loadRegisterHome()async{
|
||||||
ID_DOMICILIO = widget.listData[0]['ID_DOMICILIO']==null || widget.listData[0]['ID_DOMICILIO'] == ''?0:int.parse(widget.listData[0]['ID_DOMICILIO']);
|
//dados
|
||||||
|
PROFISSAO.text = widget.listData[0]['PROFISSAO']??'';
|
||||||
|
RENDA_TOTAL_FAMILIAR.text = widget.listData[0]['RENDA_TOTAL_FAMILIAR']==null?'0,00':'${widget.listData[0]['RENDA_TOTAL_FAMILIAR'].toString().replaceAll('.', ',')}';
|
||||||
|
MODELO_VEICULO.text = widget.listData[0]['MODELO_VEICULO'];
|
||||||
|
ANO_VEICULO.text = widget.listData[0]['ANO_VEICULO'].toString();
|
||||||
|
VALOR_PARCELA_FINANCIAMENTO.text = widget.listData[0]['VALOR_PARCELA_FINANCIAMENTO'].toString();
|
||||||
|
VALOR_PARCELA_EMPRESTIMO.text = widget.listData[0]['VALOR_PARCELA_EMPRESTIMO'].toString();
|
||||||
|
RENDA_MENSAL.text = widget.listData[0]['RENDA_MENSAL']==null?'0,00':'${widget.listData[0]['RENDA_MENSAL'].toString().replaceAll('.', ',')}';
|
||||||
|
POSSUI_VEICULO = widget.listData[0]['POSSUI_VEICULO']=='S'?true:false;
|
||||||
|
POSSUI_FINANCIAMENTO = widget.listData[0]['POSSUI_FINANCIAMENTO']=='S'?true:false;
|
||||||
|
POSSUI_EMPRESTIMO = widget.listData[0]['POSSUI_EMPRESTIMO']=='S'?true:false;
|
||||||
|
|
||||||
|
// print(RENDA_TOTAL_FAMILIAR.text);
|
||||||
|
// print(MODELO_VEICULO.text);
|
||||||
|
// print(ANO_VEICULO.text);
|
||||||
|
// print(VALOR_PARCELA_FINANCIAMENTO.text);
|
||||||
|
// print(VALOR_PARCELA_EMPRESTIMO.text);
|
||||||
|
// print(POSSUI_VEICULO);
|
||||||
|
// print(POSSUI_FINANCIAMENTO);
|
||||||
|
// print(POSSUI_EMPRESTIMO);
|
||||||
|
|
||||||
|
ID_DOMICILIO = widget.listData[0]['ID_DOMICILIO']==null || widget.listData[0]['ID_DOMICILIO'] == ''?0:widget.listData[0]['ID_DOMICILIO'];
|
||||||
ID_CIDADAO = widget.listData[0]['ID_CIDADAO'];
|
ID_CIDADAO = widget.listData[0]['ID_CIDADAO'];
|
||||||
CD_USUARIO_SUS = widget.listData[0]['CD_USUARIO_SUS'];
|
CD_USUARIO_SUS = widget.listData[0]['CD_USUARIO_SUS'];
|
||||||
DBQuerys().buscaCadDomiciliar(ID_DOMICILIO).then((dataHome)async{
|
DBQuerys().buscaCadDomiciliar(ID_DOMICILIO).then((dataHome)async{
|
||||||
@@ -290,20 +321,22 @@ class _RegisterHomeScreenState extends State<RegisterHomeScreen> {
|
|||||||
CBO_RESP_CADASTRO = list.length == 0?null:list[0]['CODIGO_CBO'].toString();
|
CBO_RESP_CADASTRO = list.length == 0?null:list[0]['CODIGO_CBO'].toString();
|
||||||
setState(() {});
|
setState(() {});
|
||||||
});
|
});
|
||||||
|
await DBQuerys().buscaProfissionalCadInd(dataHome[0]['ID_RESP_CADASTRO']).then((list)async{
|
||||||
|
ID_RESP_CADASTRO = list['ID_PROFISSIONAL'];
|
||||||
|
NOME_RESP_CADASTRO.text = list['NOME_PROFISSIONAL'];
|
||||||
|
String CNS_PROFISSIONAL = list['CNS_PROFISSIONAL'];
|
||||||
|
CNES_RESP_CADASTRO.text = await DBQuerys().buscaNomeUnidade(list['ID_UNIDADE']);
|
||||||
|
print(list);
|
||||||
|
if(CNS_PROFISSIONAL == 999999999999999 || CNS_PROFISSIONAL == '999999999999999'){
|
||||||
|
CNS_VALIDO = true;
|
||||||
|
}
|
||||||
|
});
|
||||||
});
|
});
|
||||||
List list = await DBQuerys().buscaDadosProfissional(idUnidade,idUsuario);
|
List list = await DBQuerys().buscaDadosProfissional(idUnidade,idUsuario);
|
||||||
for(int i=0; list.length > i;i++){
|
for(int i=0; list.length > i;i++){
|
||||||
INE_RESP_CADASTRO = 'INE: ${list[i]['INE']} / Área: ${list[i]['AREA']} - Microárea : ${list[i]['MICROAREA']}';
|
INE_RESP_CADASTRO = 'INE: ${list[i]['INE']} / Área: ${list[i]['AREA']} - Microárea : ${list[i]['MICROAREA']}';
|
||||||
listINEPROF.add('INE: ${list[i]['INE']} / Área: ${list[i]['AREA']} - Microárea : ${list[i]['MICROAREA']}');
|
listINEPROF.add('INE: ${list[i]['INE']} / Área: ${list[i]['AREA']} - Microárea : ${list[i]['MICROAREA']}');
|
||||||
}
|
}
|
||||||
await DBQuerys().buscaProfissionalCadInd(idUsuario).then((list){
|
|
||||||
ID_RESP_CADASTRO = list['ID_PROFISSIONAL'];
|
|
||||||
NOME_RESP_CADASTRO.text = list['NOME_PROFISSIONAL'];
|
|
||||||
String CNS_PROFISSIONAL = list['CNS_PROFISSIONAL'];
|
|
||||||
if(CNS_PROFISSIONAL == 999999999999999 || CNS_PROFISSIONAL == '999999999999999'){
|
|
||||||
CNS_VALIDO = true;
|
|
||||||
}
|
|
||||||
});
|
|
||||||
setState(() {});
|
setState(() {});
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -327,7 +360,21 @@ class _RegisterHomeScreenState extends State<RegisterHomeScreen> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
saveCitizenHome()async{
|
saveCitizenHome()async{
|
||||||
Map<String, dynamic> row = {
|
//save
|
||||||
|
Map<String, dynamic> rowCitizen = {
|
||||||
|
'PROFISSAO' : PROFISSAO.text.trim(),
|
||||||
|
'RENDA_TOTAL_FAMILIAR' : double.parse(RENDA_TOTAL_FAMILIAR.text.trim().replaceAll('.','').replaceAll(',', '.')),
|
||||||
|
'MODELO_VEICULO' : MODELO_VEICULO.text.trim(),
|
||||||
|
'ANO_VEICULO' : int.parse(ANO_VEICULO.text.trim().replaceAll('.', '')),
|
||||||
|
'VALOR_PARCELA_FINANCIAMENTO' : double.parse(VALOR_PARCELA_FINANCIAMENTO.text.trim().replaceAll('.','').replaceAll(',', '.')),
|
||||||
|
'VALOR_PARCELA_EMPRESTIMO' : double.parse(VALOR_PARCELA_EMPRESTIMO.text.trim().replaceAll('.','').replaceAll(',', '.')),
|
||||||
|
'RENDA_MENSAL' : double.parse(RENDA_MENSAL.text.trim().replaceAll('.','').replaceAll(',', '.')),
|
||||||
|
'POSSUI_VEICULO' : POSSUI_VEICULO?'S':'N',
|
||||||
|
'POSSUI_FINANCIAMENTO' : POSSUI_FINANCIAMENTO?'S':'N',
|
||||||
|
'POSSUI_EMPRESTIMO' : POSSUI_EMPRESTIMO?'S':'N',
|
||||||
|
};
|
||||||
|
|
||||||
|
Map<String, dynamic> rowHome = {
|
||||||
'TIPO_IMOVEL' : TIPO_IMOVEL_COD,
|
'TIPO_IMOVEL' : TIPO_IMOVEL_COD,
|
||||||
'ID_AREA_DOMICILIO' : ID_AREA_DOMICILIO,
|
'ID_AREA_DOMICILIO' : ID_AREA_DOMICILIO,
|
||||||
'ID_MICROAREA_DOMICILIO' : ID_MICROAREA_DOMICILIO,
|
'ID_MICROAREA_DOMICILIO' : ID_MICROAREA_DOMICILIO,
|
||||||
@@ -365,7 +412,8 @@ class _RegisterHomeScreenState extends State<RegisterHomeScreen> {
|
|||||||
'CARGO_RESP_TECNICO_INST' : CARGO_RESP_TECNICO_INST,
|
'CARGO_RESP_TECNICO_INST' : CARGO_RESP_TECNICO_INST,
|
||||||
'TEL_RESP_TECNICO_INST' : TEL_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(rowHome,TIPO_SALVAR,ID_DOMICILIO,ID_CIDADAO,CD_USUARIO_SUS).then((value)async{
|
||||||
|
await DbSqliteSync().insertCidadaos(rowCitizen,editing?'update':'new',widget.listData[0]['CD_USUARIO_SUS']).then((value){
|
||||||
AlertDialogDefault().alert(
|
AlertDialogDefault().alert(
|
||||||
context,
|
context,
|
||||||
'Aviso',
|
'Aviso',
|
||||||
@@ -377,6 +425,7 @@ class _RegisterHomeScreenState extends State<RegisterHomeScreen> {
|
|||||||
Navigator.pushAndRemoveUntil(context, MaterialPageRoute(builder: (context)=>HomeScreen(username: widget.username)), (route) => false);
|
Navigator.pushAndRemoveUntil(context, MaterialPageRoute(builder: (context)=>HomeScreen(username: widget.username)), (route) => false);
|
||||||
// print(value);
|
// print(value);
|
||||||
});
|
});
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
@@ -761,7 +810,7 @@ class _RegisterHomeScreenState extends State<RegisterHomeScreen> {
|
|||||||
margin: EdgeInsets.all(10),
|
margin: EdgeInsets.all(10),
|
||||||
child: Column(
|
child: Column(
|
||||||
children: [
|
children: [
|
||||||
TitleContainers(title: 'Outros'),
|
TitleContainers(title: 'Profissional Responsável'),
|
||||||
Row(
|
Row(
|
||||||
children: [
|
children: [
|
||||||
Container(
|
Container(
|
||||||
@@ -845,6 +894,177 @@ class _RegisterHomeScreenState extends State<RegisterHomeScreen> {
|
|||||||
],
|
],
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
|
Card(
|
||||||
|
margin: EdgeInsets.all(10),
|
||||||
|
child: Column(
|
||||||
|
children: [
|
||||||
|
TitleContainers(title: 'Outros'),
|
||||||
|
Row(
|
||||||
|
children: [
|
||||||
|
Container(
|
||||||
|
height: heigth*0.4,
|
||||||
|
width: width*0.2,
|
||||||
|
child: Icon(Icons.tag,size: 80,),
|
||||||
|
),
|
||||||
|
Padding(
|
||||||
|
padding: const EdgeInsets.symmetric(horizontal: 0.0),
|
||||||
|
child: Column(
|
||||||
|
mainAxisAlignment: MainAxisAlignment.start,
|
||||||
|
mainAxisSize: MainAxisSize.min,
|
||||||
|
children: [
|
||||||
|
Row(
|
||||||
|
children: [
|
||||||
|
Container(width: width*0.05,child: TextDefault(text: 'R\$',color: Colors.black87)),
|
||||||
|
InputWithSubtitle(
|
||||||
|
controller: RENDA_MENSAL,
|
||||||
|
subtitle: 'Renda Mensal',
|
||||||
|
errorInput: 'Campo Obrigatório',
|
||||||
|
labelInput: 'Renda Mensal',
|
||||||
|
widthInput: width*0.65,
|
||||||
|
widthSubtitle: width*0.65,
|
||||||
|
hintInput: 'Escreva aqui',
|
||||||
|
enabled: editing,
|
||||||
|
onChanged: (v)=>setState((){}),
|
||||||
|
),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
Row(
|
||||||
|
children: [
|
||||||
|
Container(width: width*0.05,child: TextDefault(text: '',color: Colors.black87)),
|
||||||
|
InputWithSubtitle(
|
||||||
|
controller: PROFISSAO,
|
||||||
|
subtitle: 'Profissão',
|
||||||
|
errorInput: 'Campo Obrigatório',
|
||||||
|
labelInput: 'Profissão',
|
||||||
|
widthInput: width*0.65,
|
||||||
|
widthSubtitle: width*0.65,
|
||||||
|
hintInput: 'Escreva aqui',
|
||||||
|
enabled: editing,
|
||||||
|
onChanged: (v)=>setState((){}),
|
||||||
|
),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
Row(
|
||||||
|
children: [
|
||||||
|
Container(width: width*0.05,child: TextDefault(text: 'R\$',color: Colors.black87)),
|
||||||
|
InputWithSubtitle(
|
||||||
|
textInputType: TextInputType.number,
|
||||||
|
controller: RENDA_TOTAL_FAMILIAR,
|
||||||
|
subtitle: 'Renda Total Familiar',
|
||||||
|
errorInput: 'Campo Obrigatório',
|
||||||
|
labelInput: 'Renda Total Familiar',
|
||||||
|
widthInput: width*0.65,
|
||||||
|
widthSubtitle: width*0.65,
|
||||||
|
hintInput: 'Escreva aqui',
|
||||||
|
enabled: editing,
|
||||||
|
onChanged: (v)=>setState((){}),
|
||||||
|
),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
Row(
|
||||||
|
children: [
|
||||||
|
Container(width: width*0.05,child: TextDefault(text: '',color: Colors.black87)),
|
||||||
|
SwitchWithSubtitle(
|
||||||
|
width: width*0.65,
|
||||||
|
title: 'Possui Veículo Próprio',
|
||||||
|
value: POSSUI_VEICULO,
|
||||||
|
onChanged: !editing?null: (value)=>setState(()=>POSSUI_VEICULO = value!),
|
||||||
|
),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
Container(
|
||||||
|
width: width*0.7,
|
||||||
|
child: Row(
|
||||||
|
children: [
|
||||||
|
Container(width: width*0.05,child: TextDefault(text: '',color: Colors.black87)),
|
||||||
|
InputWithSubtitle(
|
||||||
|
controller: MODELO_VEICULO,
|
||||||
|
subtitle: 'Modelo Veículo',
|
||||||
|
errorInput: 'Campo Obrigatório',
|
||||||
|
labelInput: 'Modelo Veículo',
|
||||||
|
widthInput: width*0.53,
|
||||||
|
widthSubtitle: width*0.53,
|
||||||
|
hintInput: 'Escreva aqui',
|
||||||
|
enabled: editing && POSSUI_VEICULO,
|
||||||
|
onChanged: (v)=>setState((){}),
|
||||||
|
),
|
||||||
|
Spacer(),
|
||||||
|
InputWithSubtitle(
|
||||||
|
controller: ANO_VEICULO,
|
||||||
|
subtitle: 'Ano Veículo',
|
||||||
|
errorInput: 'Campo Obrigatório',
|
||||||
|
labelInput: 'Ano Veículo',
|
||||||
|
widthInput: width*0.1,
|
||||||
|
widthSubtitle: width*0.1,
|
||||||
|
hintInput: 'Escreva aqui',
|
||||||
|
enabled: editing && POSSUI_VEICULO,
|
||||||
|
onChanged: (v)=>setState((){}),
|
||||||
|
),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
),
|
||||||
|
Row(
|
||||||
|
children: [
|
||||||
|
Container(width: width*0.05,child: TextDefault(text: '',color: Colors.black87)),
|
||||||
|
SwitchWithSubtitle(
|
||||||
|
width: width*0.65,
|
||||||
|
title: 'Possui Financiamento',
|
||||||
|
value: POSSUI_FINANCIAMENTO,
|
||||||
|
onChanged: !editing?null: (value)=>setState(()=>POSSUI_FINANCIAMENTO = value!),
|
||||||
|
),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
Row(
|
||||||
|
children: [
|
||||||
|
Container(width: width*0.05,child: TextDefault(text: 'R\$',color: Colors.black87)),
|
||||||
|
InputWithSubtitle(
|
||||||
|
controller: VALOR_PARCELA_FINANCIAMENTO,
|
||||||
|
subtitle: 'Valor Parcela Financiamento',
|
||||||
|
errorInput: 'Campo Obrigatório',
|
||||||
|
labelInput: 'Valor Parcela Financiamento',
|
||||||
|
widthInput: width*0.65,
|
||||||
|
widthSubtitle: width*0.65,
|
||||||
|
hintInput: 'Escreva aqui',
|
||||||
|
enabled: editing && POSSUI_FINANCIAMENTO,
|
||||||
|
onChanged: (v)=>setState((){}),
|
||||||
|
),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
Row(
|
||||||
|
children: [
|
||||||
|
Container(width: width*0.05,child: TextDefault(text: '',color: Colors.black87)),
|
||||||
|
SwitchWithSubtitle(
|
||||||
|
width: width*0.65,
|
||||||
|
title: 'Possui Veículo Empréstimo',
|
||||||
|
value: POSSUI_EMPRESTIMO,
|
||||||
|
onChanged: !editing?null: (value)=>setState(()=>POSSUI_EMPRESTIMO = value!),
|
||||||
|
),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
Row(
|
||||||
|
children: [
|
||||||
|
Container(width: width*0.05,child: TextDefault(text: 'R\$',color: Colors.black87)),
|
||||||
|
InputWithSubtitle(
|
||||||
|
controller: VALOR_PARCELA_EMPRESTIMO,
|
||||||
|
subtitle: 'Valor Parcela Empréstimo',
|
||||||
|
errorInput: 'Campo Obrigatório',
|
||||||
|
labelInput: 'Valor Parcela Empréstimo',
|
||||||
|
widthInput: width*0.65,
|
||||||
|
widthSubtitle: width*0.65,
|
||||||
|
hintInput: 'Escreva aqui',
|
||||||
|
enabled: editing && POSSUI_EMPRESTIMO,
|
||||||
|
onChanged: (v)=>setState((){}),
|
||||||
|
),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
),
|
||||||
|
]
|
||||||
|
),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
),
|
||||||
CNS_VALIDO?Card(
|
CNS_VALIDO?Card(
|
||||||
margin: EdgeInsets.all(10),
|
margin: EdgeInsets.all(10),
|
||||||
child: Container(
|
child: Container(
|
||||||
|
|||||||
@@ -144,6 +144,7 @@ class _RegisterIndividualScreenState extends State<RegisterIndividualScreen> {
|
|||||||
int ID_AREA_CIDADAO = 0;
|
int ID_AREA_CIDADAO = 0;
|
||||||
int ID_MICROAREA_CIDADAO = 0;
|
int ID_MICROAREA_CIDADAO = 0;
|
||||||
String TIPO_SALVAR = 'new';
|
String TIPO_SALVAR = 'new';
|
||||||
|
int ID_PROFISSIONAL = 0;
|
||||||
|
|
||||||
var NOME_RESPONSAVEL_FAMILIAR = TextEditingController();
|
var NOME_RESPONSAVEL_FAMILIAR = TextEditingController();
|
||||||
var NATURALIDADE = TextEditingController(text: 'BRASILEIRO');
|
var NATURALIDADE = TextEditingController(text: 'BRASILEIRO');
|
||||||
@@ -158,7 +159,7 @@ class _RegisterIndividualScreenState extends State<RegisterIndividualScreen> {
|
|||||||
var OUTRAS_CONDICOES = TextEditingController();
|
var OUTRAS_CONDICOES = TextEditingController();
|
||||||
var ACOMP_INTITUICAO_QUAL = TextEditingController();
|
var ACOMP_INTITUICAO_QUAL = TextEditingController();
|
||||||
var PARENTESCO_VISITA = TextEditingController();
|
var PARENTESCO_VISITA = TextEditingController();
|
||||||
var ID_RESP_CADASTRO = TextEditingController();
|
var USUARIO_RESP_CADASTRO = TextEditingController();
|
||||||
var CNES_RESP_CADASTRO = TextEditingController();
|
var CNES_RESP_CADASTRO = TextEditingController();
|
||||||
var DT_CADASTRO = TextEditingController();
|
var DT_CADASTRO = TextEditingController();
|
||||||
final PrefService _prefService = PrefService();
|
final PrefService _prefService = PrefService();
|
||||||
@@ -223,21 +224,14 @@ class _RegisterIndividualScreenState extends State<RegisterIndividualScreen> {
|
|||||||
print(widget.listData[0]['ID_USUARIO_CADASTRO']);
|
print(widget.listData[0]['ID_USUARIO_CADASTRO']);
|
||||||
|
|
||||||
Database db = await DbSqliteLoad().intialDB();
|
Database db = await DbSqliteLoad().intialDB();
|
||||||
// print('ID_PROFISSIONAL');
|
|
||||||
// print(ID_PROFISSIONAL);
|
|
||||||
var query = "SELECT ID_PROFISSIONAL FROM PROFISSIONAIS";
|
|
||||||
// var query = "SELECT * FROM PROFISSIONAIS";
|
|
||||||
List list = await db.rawQuery(query);
|
|
||||||
print(list);
|
|
||||||
// if(widget.listData[0]['ID_USUARIO_CADASTRO']!='' && widget.listData[0]['ID_USUARIO_CADASTRO']!=null){
|
|
||||||
// await DBQuerys().buscaProfissionalCadInd(widget.listData[0]['ID_USUARIO_CADASTRO']).then((value){
|
|
||||||
// print(value);
|
|
||||||
// });
|
|
||||||
// }
|
|
||||||
|
|
||||||
await DBQuerys().buscaCadInvidual(ID_CIDADAO).then((dataCitizen)async{
|
await DBQuerys().buscaCadInvidual(ID_CIDADAO).then((dataCitizen)async{
|
||||||
// print(CD_USUARIO_SUS);
|
// print(CD_USUARIO_SUS);
|
||||||
if(dataCitizen.length != 0) {
|
if(dataCitizen.length != 0) {
|
||||||
|
ID_PROFISSIONAL = dataCitizen[0]['ID_RESP_CADASTRO'];
|
||||||
|
print(dataCitizen[0]['ID_RESP_CADASTRO']);
|
||||||
|
// print(dataCitizen[0]['FIBROMIALGIA']);
|
||||||
|
// print(dataCitizen[0]['TRANSTORNO_ESPECTRO_AUTISTA']);
|
||||||
TIPO_SALVAR = 'update';
|
TIPO_SALVAR = 'update';
|
||||||
showTab = true;
|
showTab = true;
|
||||||
FORA_AREA = dataCitizen[0]['FORA_AREA'] == 1 ? true : false;
|
FORA_AREA = dataCitizen[0]['FORA_AREA'] == 1 ? true : false;
|
||||||
@@ -404,7 +398,6 @@ class _RegisterIndividualScreenState extends State<RegisterIndividualScreen> {
|
|||||||
SANITARIO = dataCitizen[0]['SANITARIO'] == 1 ? true : false;
|
SANITARIO = dataCitizen[0]['SANITARIO'] == 1 ? true : false;
|
||||||
HIGIENE_BUCAL = dataCitizen[0]['HIGIENE_BUCAL'] == 1 ? true : false;
|
HIGIENE_BUCAL = dataCitizen[0]['HIGIENE_BUCAL'] == 1 ? true : false;
|
||||||
OUTROS_HIGIENE = dataCitizen[0]['OUTROS_HIGIENE'] == 1 ? true : false;
|
OUTROS_HIGIENE = dataCitizen[0]['OUTROS_HIGIENE'] == 1 ? true : false;
|
||||||
CNES_RESP_CADASTRO.text = await DBQuerys().buscaNomeUnidade(idUnidade);
|
|
||||||
CBO_RESP_CADASTRO = dataCitizen[0]['CBO_RESP_CADASTRO'].toString();
|
CBO_RESP_CADASTRO = dataCitizen[0]['CBO_RESP_CADASTRO'].toString();
|
||||||
date_cad = dataCitizen[0]['DT_CADASTRO']??'';
|
date_cad = dataCitizen[0]['DT_CADASTRO']??'';
|
||||||
// print('data $date_cad');
|
// print('data $date_cad');
|
||||||
@@ -428,13 +421,13 @@ class _RegisterIndividualScreenState extends State<RegisterIndividualScreen> {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
await DBQuerys().buscaProfissionalCadInd(idUsuario).then((list){
|
await DBQuerys().buscaProfissionalCadInd(idUsuario).then((list){
|
||||||
ID_RESP_CADASTRO.text = list['NOME_PROFISSIONAL'];
|
USUARIO_RESP_CADASTRO.text = list['NOME_PROFISSIONAL'];
|
||||||
CNS_PROFISSIONAL = list['CNS_PROFISSIONAL'];
|
CNS_PROFISSIONAL = list['CNS_PROFISSIONAL'];
|
||||||
if(CNS_PROFISSIONAL == 999999999999999 || CNS_PROFISSIONAL == '999999999999999'){
|
if(CNS_PROFISSIONAL == 999999999999999 || CNS_PROFISSIONAL == '999999999999999'){
|
||||||
CNS_VALIDO = true;
|
CNS_VALIDO = true;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
CNES_RESP_CADASTRO.text = await DBQuerys().buscaNomeUnidade(idUnidade);
|
// CNES_RESP_CADASTRO.text = await DBQuerys().buscaNomeUnidade(idUnidade);
|
||||||
await DBQuerys().buscaCBOProfissional(idUsuario).then((list){
|
await DBQuerys().buscaCBOProfissional(idUsuario).then((list){
|
||||||
if(list.length!=0){
|
if(list.length!=0){
|
||||||
for(int i = 0; list.length>i;i++){
|
for(int i = 0; list.length>i;i++){
|
||||||
@@ -443,6 +436,14 @@ class _RegisterIndividualScreenState extends State<RegisterIndividualScreen> {
|
|||||||
}
|
}
|
||||||
CBO_RESP_CADASTRO = list.length == 0?null:list[0]['CODIGO_CBO'].toString();
|
CBO_RESP_CADASTRO = list.length == 0?null:list[0]['CODIGO_CBO'].toString();
|
||||||
});
|
});
|
||||||
|
if(ID_PROFISSIONAL!=0){
|
||||||
|
await DBQuerys().buscaProfissionalCadInd(ID_PROFISSIONAL).then((value)async{
|
||||||
|
print(value);
|
||||||
|
USUARIO_RESP_CADASTRO.text = value['NOME_PROFISSIONAL'];
|
||||||
|
//aguardando unidade
|
||||||
|
CNES_RESP_CADASTRO.text = await DBQuerys().buscaNomeUnidade(value['ID_UNIDADE']);
|
||||||
|
});
|
||||||
|
}
|
||||||
});
|
});
|
||||||
setState(() {});
|
setState(() {});
|
||||||
}
|
}
|
||||||
@@ -1495,7 +1496,7 @@ class _RegisterIndividualScreenState extends State<RegisterIndividualScreen> {
|
|||||||
mainAxisSize: MainAxisSize.min,
|
mainAxisSize: MainAxisSize.min,
|
||||||
children: [
|
children: [
|
||||||
InputWithSubtitle(
|
InputWithSubtitle(
|
||||||
controller: ID_RESP_CADASTRO,
|
controller: USUARIO_RESP_CADASTRO,
|
||||||
subtitle: 'Usuário responsável Pelo Cadastro',
|
subtitle: 'Usuário responsável Pelo Cadastro',
|
||||||
errorInput: 'Campo Obrigatório!',
|
errorInput: 'Campo Obrigatório!',
|
||||||
labelInput: 'Usuário responsável Pelo Cadastro',
|
labelInput: 'Usuário responsável Pelo Cadastro',
|
||||||
|
|||||||
@@ -26,8 +26,8 @@ class _SyncInitScreenState extends State<SyncInitScreen> {
|
|||||||
String idUsuario = '';
|
String idUsuario = '';
|
||||||
String idUnidade = '';
|
String idUnidade = '';
|
||||||
String nomeUnidade = '';
|
String nomeUnidade = '';
|
||||||
String area = '';
|
int idArea = 0;
|
||||||
String microarea = '';
|
int idMicroarea = 0;
|
||||||
bool foraArea = false;
|
bool foraArea = false;
|
||||||
String urlAPI='';
|
String urlAPI='';
|
||||||
String mode = '';
|
String mode = '';
|
||||||
@@ -64,12 +64,12 @@ class _SyncInitScreenState extends State<SyncInitScreen> {
|
|||||||
|
|
||||||
dataUser()async{
|
dataUser()async{
|
||||||
_prefService.readCacheUnidade().then((listUnidade)async{
|
_prefService.readCacheUnidade().then((listUnidade)async{
|
||||||
_prefService.readCacheSync('area', false).then((list){
|
_prefService.readCacheSync().then((list){
|
||||||
foraArea = list[1];
|
print(list);
|
||||||
List splited = list[0].split(': ');
|
foraArea = list[8];
|
||||||
area = splited[2].toString().substring(0,1);
|
idArea = list[2];
|
||||||
microarea = splited[3];
|
idMicroarea = list[4];
|
||||||
idUnidade = listUnidade[0];
|
idUnidade = listUnidade[0].toString();
|
||||||
nomeUnidade = listUnidade[1];
|
nomeUnidade = listUnidade[1];
|
||||||
initSync();
|
initSync();
|
||||||
});
|
});
|
||||||
@@ -133,7 +133,7 @@ class _SyncInitScreenState extends State<SyncInitScreen> {
|
|||||||
await DbSqliteSync().insertProfissionaisCBOs(value).then((value)async{
|
await DbSqliteSync().insertProfissionaisCBOs(value).then((value)async{
|
||||||
countProg = 0.7;
|
countProg = 0.7;
|
||||||
setState(() {});
|
setState(() {});
|
||||||
await ApiDataSync().syncCidadaos(urlAPI,mode,nameCityApi,user,idUnidade,area,microarea,foraArea).then((value)async{
|
await ApiDataSync().syncCidadaos(urlAPI,mode,nameCityApi,user,idUnidade,idArea,idMicroarea,foraArea).then((value)async{
|
||||||
if(value.length == 0){
|
if(value.length == 0){
|
||||||
setState(()=> messageSteps = "ERRO: Erro para carregar os Cadastros dos Cidadãos - Por favor, tente novamente!");
|
setState(()=> messageSteps = "ERRO: Erro para carregar os Cadastros dos Cidadãos - Por favor, tente novamente!");
|
||||||
}else{
|
}else{
|
||||||
@@ -141,7 +141,7 @@ class _SyncInitScreenState extends State<SyncInitScreen> {
|
|||||||
await DbSqliteSync().insertCidadaos(value,'sync','').then((value)async{
|
await DbSqliteSync().insertCidadaos(value,'sync','').then((value)async{
|
||||||
countProg = 0.8;
|
countProg = 0.8;
|
||||||
setState(() {});
|
setState(() {});
|
||||||
await ApiDataSync().syncCadastrosDomiciliares(urlAPI,mode,nameCityApi,user,idUnidade,area,microarea,foraArea).then((value)async{
|
await ApiDataSync().syncCadastrosDomiciliares(urlAPI,mode,nameCityApi,user,idUnidade,idArea,idMicroarea,foraArea).then((value)async{
|
||||||
if(value.length == 0){
|
if(value.length == 0){
|
||||||
setState(()=> messageSteps = "ERRO: Erro para carregar os Cadastros Domiciliares - Por favor, tente novamente!");
|
setState(()=> messageSteps = "ERRO: Erro para carregar os Cadastros Domiciliares - Por favor, tente novamente!");
|
||||||
}else{
|
}else{
|
||||||
@@ -149,13 +149,13 @@ class _SyncInitScreenState extends State<SyncInitScreen> {
|
|||||||
await DbSqliteSync().insertCadastrosDomiciliares(value,'sync',0,0,'').then((value)async{
|
await DbSqliteSync().insertCadastrosDomiciliares(value,'sync',0,0,'').then((value)async{
|
||||||
countProg = 0.9;
|
countProg = 0.9;
|
||||||
setState(() {});
|
setState(() {});
|
||||||
await ApiDataSync().syncCadastrosIndividuais(urlAPI,mode,nameCityApi,user,idUnidade,area,microarea,foraArea).then((value)async{
|
await ApiDataSync().syncCadastrosIndividuais(urlAPI,mode,nameCityApi,user,idUnidade,idArea,idMicroarea,foraArea).then((value)async{
|
||||||
if(value.length == 0){
|
if(value.length == 0){
|
||||||
setState(()=> messageSteps = "ERRO: Erro para carregar os Cadastros Individuais - Por favor, tente novamente!");
|
setState(()=> messageSteps = "ERRO: Erro para carregar os Cadastros Individuais - Por favor, tente novamente!");
|
||||||
}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,'sync',0).then((value)async{
|
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{
|
await DbSqliteSync().saveSync(codCity,codState,urlAPI,mode,nameCityApi,nameCityFront,codCityIbge,user,idUnidade,nomeUnidade,idArea,idMicroarea).then((value)async{
|
||||||
countProg = 1;
|
countProg = 1;
|
||||||
setState(() {});
|
setState(() {});
|
||||||
Navigator.pushReplacement(context, MaterialPageRoute(builder: (context)=>HomeScreen(username: user)));
|
Navigator.pushReplacement(context, MaterialPageRoute(builder: (context)=>HomeScreen(username: user)));
|
||||||
|
|||||||
@@ -57,6 +57,7 @@ class ApiDataSync{
|
|||||||
Future syncCidadaos(urlAPI,mode,nameCityApi,user,idUnidade,area,microarea,foraArea)async{
|
Future syncCidadaos(urlAPI,mode,nameCityApi,user,idUnidade,area,microarea,foraArea)async{
|
||||||
// http://192.168.0.42:8010/api/atb/desenvolvimento/corumbatai/admin/sync/3/cidadaos/1/1/true
|
// http://192.168.0.42:8010/api/atb/desenvolvimento/corumbatai/admin/sync/3/cidadaos/1/1/true
|
||||||
final url = '${urlAPI}${mode}/${nameCityApi}/${user}/sync/${idUnidade}/cidadaos/$area/$microarea/$foraArea';
|
final url = '${urlAPI}${mode}/${nameCityApi}/${user}/sync/${idUnidade}/cidadaos/$area/$microarea/$foraArea';
|
||||||
|
print(url);
|
||||||
final response = await http.get(Uri.parse(url));
|
final response = await http.get(Uri.parse(url));
|
||||||
final map = json.decode(response.body);
|
final map = json.decode(response.body);
|
||||||
return map;
|
return map;
|
||||||
|
|||||||
@@ -54,29 +54,47 @@ class DBQuerys{
|
|||||||
var query = "SELECT * FROM PROFISSIONAIS WHERE ID_PROFISSIONAL = $ID_PROFISSIONAL";
|
var query = "SELECT * FROM PROFISSIONAIS WHERE ID_PROFISSIONAL = $ID_PROFISSIONAL";
|
||||||
// var query = "SELECT * FROM PROFISSIONAIS";
|
// var query = "SELECT * FROM PROFISSIONAIS";
|
||||||
List list = await db.rawQuery(query);
|
List list = await db.rawQuery(query);
|
||||||
|
if(list.isEmpty){
|
||||||
|
return '';
|
||||||
|
}else{
|
||||||
// print(list);
|
// print(list);
|
||||||
return list[0];
|
return list[0];
|
||||||
}
|
}
|
||||||
buscaNomeUnidade(String ID_UNIDADE)async{
|
}
|
||||||
|
buscaNomeUnidade(int ID_UNIDADE)async{
|
||||||
Database db = await DbSqliteLoad().intialDB();
|
Database db = await DbSqliteLoad().intialDB();
|
||||||
var query = "SELECT * FROM UNIDADES WHERE ID_UNIDADE = $ID_UNIDADE";
|
var query = "SELECT * FROM UNIDADES WHERE ID_UNIDADE = $ID_UNIDADE";
|
||||||
List list = await db.rawQuery(query);
|
List list = await db.rawQuery(query);
|
||||||
|
if(list.isEmpty){
|
||||||
|
return '';
|
||||||
|
}else{
|
||||||
// print(list);
|
// print(list);
|
||||||
return list[0]['NOME_UNIDADE'];
|
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'");
|
||||||
// print(await db.rawQuery('SELECT NO_BAIRRO FROM BAIRROS'));
|
// print(await db.rawQuery('SELECT NO_BAIRRO FROM BAIRROS'));
|
||||||
// print(list[0]['ID_BAIRRO']);
|
// print(list[0]['ID_BAIRRO']);
|
||||||
|
if(list.isEmpty){
|
||||||
|
return '';
|
||||||
|
}else{
|
||||||
|
// print(list);
|
||||||
return list[0]['ID_BAIRRO'].toString();
|
return list[0]['ID_BAIRRO'].toString();
|
||||||
}
|
}
|
||||||
|
}
|
||||||
buscaTipoLogradouro(tipo)async{
|
buscaTipoLogradouro(tipo)async{
|
||||||
Database db = await DbSqliteLoad().intialDB();
|
Database db = await DbSqliteLoad().intialDB();
|
||||||
List list = await db.rawQuery("SELECT * FROM LOGRADOUROS_TIPOS WHERE NO_LOGR_TIPO = '$tipo'");
|
List list = await db.rawQuery("SELECT * FROM LOGRADOUROS_TIPOS WHERE NO_LOGR_TIPO = '$tipo'");
|
||||||
// print(list[0]['ID_LOGR_TIPO']);
|
// print(list[0]['ID_LOGR_TIPO']);
|
||||||
|
if(list.isEmpty){
|
||||||
|
return '';
|
||||||
|
}else{
|
||||||
|
// print(list);
|
||||||
return list[0]['ID_LOGR_TIPO'];
|
return list[0]['ID_LOGR_TIPO'];
|
||||||
}
|
}
|
||||||
|
}
|
||||||
buscaprocedimento()async{
|
buscaprocedimento()async{
|
||||||
Database db = await DbSqliteLoad().intialDB();
|
Database db = await DbSqliteLoad().intialDB();
|
||||||
var query = "SELECT * FROM PROCEDIMENTOS_SIGTAP";
|
var query = "SELECT * FROM PROCEDIMENTOS_SIGTAP";
|
||||||
@@ -130,7 +148,7 @@ class DBQuerys{
|
|||||||
var query = 'SELECT * FROM LOGRADOUROS_LOTEAMENTOS WHERE DESC_LOGR_LOTEAMENTO = "$DESC_LOGR_LOTEAMENTO"';
|
var query = 'SELECT * FROM LOGRADOUROS_LOTEAMENTOS WHERE DESC_LOGR_LOTEAMENTO = "$DESC_LOGR_LOTEAMENTO"';
|
||||||
List list = await db.rawQuery(query);
|
List list = await db.rawQuery(query);
|
||||||
// print(list);
|
// print(list);
|
||||||
int result = list[0]['ID_LOGR_LOTEAMENTO'];
|
int result = list.length==0?0:list[0]['ID_LOGR_LOTEAMENTO'];
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
buscaLoteamentoPorID(int ID_LOGR_LOTEAMENTO)async{
|
buscaLoteamentoPorID(int ID_LOGR_LOTEAMENTO)async{
|
||||||
@@ -138,7 +156,7 @@ class DBQuerys{
|
|||||||
var query = 'SELECT * FROM LOGRADOUROS_LOTEAMENTOS WHERE ID_LOGR_LOTEAMENTO = $ID_LOGR_LOTEAMENTO';
|
var query = 'SELECT * FROM LOGRADOUROS_LOTEAMENTOS WHERE ID_LOGR_LOTEAMENTO = $ID_LOGR_LOTEAMENTO';
|
||||||
List list = await db.rawQuery(query);
|
List list = await db.rawQuery(query);
|
||||||
// print(list);
|
// print(list);
|
||||||
String result = list[0]['DESC_LOGR_LOTEAMENTO'];
|
String result = list.length==0?'':list[0]['DESC_LOGR_LOTEAMENTO'];
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
buscaTodosMunicipios()async{
|
buscaTodosMunicipios()async{
|
||||||
|
|||||||
@@ -30,10 +30,10 @@ 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 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 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, FIBROMIALGIA INTEGER, TRANSTORNO_ESPECTRO_AUTISTA 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, RENDA_TOTAL_FAMILIAR REAL , POSSUI_VEICULO TEXT , MODELO_VEICULO TEXT , ANO_VEICULO INTEGER , POSSUI_FINANCIAMENTO TEXT , VALOR_PARCELA_FINANCIAMENTO REAL , POSSUI_EMPRESTIMO TEXT , VALOR_PARCELA_EMPRESTIMO REAL);');
|
||||||
db.execute('CREATE TABLE IF NOT EXISTS CIDADAO_DOMICILIO (ID_DOMICILIO INTEGER PRIMARY KEY AUTOINCREMENT, TIPO_IMOVEL INTEGER, ID_AREA_DOMICILIO INTEGER, ID_MICROAREA_DOMICILIO INTEGER, FORA_AREA INTEGER, SITUACAO_MORADIA INTEGER, TIPO_LOCALIDADE INTEGER, TIPO_DOMICILIO INTEGER, NUM_MORADORES INTEGER, NUM_COMODOS INTEGER, SITUACAO_RURAL INTEGER, TIPO_ACESSO INTEGER, MAT_PREDOMINANTE INTEGER, DISPONIBILIDADE_ENERGIA INTEGER, TIPO_ABASTECIMENTO INTEGER, TRATAMENTO_AGUA INTEGER, DESTINO_LIXO INTEGER, ESCOAMENTO INTEGER, FL_ANIMAIS INTEGER, ANIMAIS_GATO INTEGER, ANIMAIS_CACHORRO INTEGER, ANIMAIS_PASSARO INTEGER, ANIMAIS_OUTROS INTEGER, QTDE_ANIMAIS INTEGER, CBO_RESP_CADASTRO TEXT, ID_RESP_CADASTRO INTEGER, CNES_RESP_CADASTRO TEXT, INE_RESP_CADASTRO TEXT, DT_CADASTRO TEXT, ID_EQUIPE INTEGER, ORIGEM TEXT, SINCRONIZADO TEXT, NOME_INSTITUICAO_PERMANENCIA TEXT, PROFISSIONAIS_VINCULADOS_INST INTEGER, RESPONSAVEL_TECNICO_INST TEXT, CNS_RESP_TECNICO_INST TEXT, CARGO_RESP_TECNICO_INST TEXT, TEL_RESP_TECNICO_INST TEXT);');
|
db.execute('CREATE TABLE IF NOT EXISTS CIDADAO_DOMICILIO (ID_DOMICILIO INTEGER PRIMARY KEY AUTOINCREMENT, TIPO_IMOVEL INTEGER, ID_AREA_DOMICILIO INTEGER, ID_MICROAREA_DOMICILIO INTEGER, FORA_AREA INTEGER, SITUACAO_MORADIA INTEGER, TIPO_LOCALIDADE INTEGER, TIPO_DOMICILIO INTEGER, NUM_MORADORES INTEGER, NUM_COMODOS INTEGER, SITUACAO_RURAL INTEGER, TIPO_ACESSO INTEGER, MAT_PREDOMINANTE INTEGER, DISPONIBILIDADE_ENERGIA INTEGER, TIPO_ABASTECIMENTO INTEGER, TRATAMENTO_AGUA INTEGER, DESTINO_LIXO INTEGER, ESCOAMENTO INTEGER, FL_ANIMAIS INTEGER, ANIMAIS_GATO INTEGER, ANIMAIS_CACHORRO INTEGER, ANIMAIS_PASSARO INTEGER, ANIMAIS_OUTROS INTEGER, QTDE_ANIMAIS INTEGER, CBO_RESP_CADASTRO TEXT, ID_RESP_CADASTRO INTEGER, CNES_RESP_CADASTRO TEXT, INE_RESP_CADASTRO TEXT, DT_CADASTRO TEXT, ID_EQUIPE INTEGER, ORIGEM TEXT, SINCRONIZADO TEXT, NOME_INSTITUICAO_PERMANENCIA TEXT, PROFISSIONAIS_VINCULADOS_INST INTEGER, RESPONSAVEL_TECNICO_INST TEXT, CNS_RESP_TECNICO_INST TEXT, CARGO_RESP_TECNICO_INST TEXT, TEL_RESP_TECNICO_INST TEXT);');
|
||||||
db.execute('CREATE TABLE IF NOT EXISTS CIDS (CODIGO_CID TEXT, DESCRICAO_CID TEXT, RESTRICAO_SEXO INTEGER);');
|
db.execute('CREATE TABLE IF NOT EXISTS CIDS (CODIGO_CID TEXT, DESCRICAO_CID TEXT, RESTRICAO_SEXO INTEGER);');
|
||||||
db.execute( 'CREATE TABLE IF NOT EXISTS CONTROLE_INTERNO (CARGA_INICIAL INTEGER, SYNC_UNIDADE INTEGER, CIDADE_LOAD TEXT, NOME_CIDADE TEXT, ID_MUNICIPIO INTEGER, UF_ESTADO TEXT, UNIDADE_SYNC TEXT, CODIGO_IBGE INTEGER, NOME_UNIDADE TEXT, AMBIENTE TEXT, ULTIMA_SINCRONIZACAO TEXT, COMPETENCIA TEXT, AREA INTEGER, MICROAREA INTEGER);');
|
db.execute( 'CREATE TABLE IF NOT EXISTS CONTROLE_INTERNO (CARGA_INICIAL INTEGER, SYNC_UNIDADE INTEGER, CIDADE_LOAD TEXT, NOME_CIDADE TEXT, ID_MUNICIPIO INTEGER, UF_ESTADO TEXT, UNIDADE_SYNC TEXT, CODIGO_IBGE INTEGER, NOME_UNIDADE TEXT, AMBIENTE TEXT, ULTIMA_SINCRONIZACAO TEXT, COMPETENCIA TEXT, AREA INTEGER, MICROAREA INTEGER);');
|
||||||
@@ -55,7 +55,7 @@ class DbSqliteLoad{
|
|||||||
db.execute('CREATE TABLE IF NOT EXISTS PROCEDIMENTOS_SIGTAP_CBO (COD_PROC_SIGTAP TEXT, CODIGO_CBO TEXT);');
|
db.execute('CREATE TABLE IF NOT EXISTS PROCEDIMENTOS_SIGTAP_CBO (COD_PROC_SIGTAP TEXT, CODIGO_CBO TEXT);');
|
||||||
db.execute('CREATE TABLE IF NOT EXISTS PROCEDIMENTOS_SIGTAP_CID (COD_PROC_SIGTAP TEXT, CODIGO_CID TEXT);');
|
db.execute('CREATE TABLE IF NOT EXISTS PROCEDIMENTOS_SIGTAP_CID (COD_PROC_SIGTAP TEXT, CODIGO_CID TEXT);');
|
||||||
db.execute('CREATE TABLE IF NOT EXISTS PROCEDIMENTOS_SIGTAP_REGISTRO (COD_PROC_SIGTAP TEXT, CODIGO_REGISTRO INTEGER);');
|
db.execute('CREATE TABLE IF NOT EXISTS PROCEDIMENTOS_SIGTAP_REGISTRO (COD_PROC_SIGTAP TEXT, CODIGO_REGISTRO INTEGER);');
|
||||||
db.execute('CREATE TABLE IF NOT EXISTS PROFISSIONAIS (ID_PROFISSIONAL INTEGER PRIMARY KEY AUTOINCREMENT, NOME_PROFISSIONAL TEXT, CNS_PROFISSIONAL TEXT, USERNAME TEXT, SENHA TEXT, BLOQUEIO_ACESSO INTEGER);');
|
db.execute('CREATE TABLE IF NOT EXISTS PROFISSIONAIS (ID_PROFISSIONAL INTEGER PRIMARY KEY AUTOINCREMENT, NOME_PROFISSIONAL TEXT, CNS_PROFISSIONAL TEXT, USERNAME TEXT, SENHA TEXT, BLOQUEIO_ACESSO INTEGER, ID_UNIDADE INTEGER);');
|
||||||
db.execute('CREATE TABLE IF NOT EXISTS PROFISSIONAIS_CBOS (ID_PROFISSIONAL INTEGER, CODIGO_CBO TEXT);');
|
db.execute('CREATE TABLE IF NOT EXISTS PROFISSIONAIS_CBOS (ID_PROFISSIONAL INTEGER, CODIGO_CBO TEXT);');
|
||||||
db.execute('CREATE TABLE IF NOT EXISTS PROFISSIONAIS_EQUIPE (ID_EQUIPE INTEGER, ID_PROFISSIONAL INTEGER, ATIVO INTEGER);');
|
db.execute('CREATE TABLE IF NOT EXISTS PROFISSIONAIS_EQUIPE (ID_EQUIPE INTEGER, ID_PROFISSIONAL INTEGER, ATIVO INTEGER);');
|
||||||
db.execute('CREATE TABLE IF NOT EXISTS UNIDADES (ID_UNIDADE INTEGER PRIMARY KEY AUTOINCREMENT, NOME_UNIDADE TEXT, CNES_UNIDADE TEXT);');
|
db.execute('CREATE TABLE IF NOT EXISTS UNIDADES (ID_UNIDADE INTEGER PRIMARY KEY AUTOINCREMENT, NOME_UNIDADE TEXT, CNES_UNIDADE TEXT);');
|
||||||
|
|||||||
@@ -130,6 +130,7 @@ class DbSqliteSync{
|
|||||||
'USERNAME' : value[i]['username'],
|
'USERNAME' : value[i]['username'],
|
||||||
'SENHA' : value[i]['senha'],
|
'SENHA' : value[i]['senha'],
|
||||||
'BLOQUEIO_ACESSO' : value[i]['bloqueioAcesso'],
|
'BLOQUEIO_ACESSO' : value[i]['bloqueioAcesso'],
|
||||||
|
'ID_UNIDADE' : value[i]['idUnidade'],
|
||||||
};
|
};
|
||||||
rows.add(row);
|
rows.add(row);
|
||||||
}
|
}
|
||||||
@@ -258,6 +259,14 @@ class DbSqliteSync{
|
|||||||
'ID_USUARIO_CADASTRO' : value[i]['idUsuarioCadastro'],
|
'ID_USUARIO_CADASTRO' : value[i]['idUsuarioCadastro'],
|
||||||
'ID_DOMICILIO' : value[i]['cdDomicilio'],
|
'ID_DOMICILIO' : value[i]['cdDomicilio'],
|
||||||
'ATENDIMENTOS' : value[i]['atendimentos'],
|
'ATENDIMENTOS' : value[i]['atendimentos'],
|
||||||
|
'RENDA_TOTAL_FAMILIAR': value[i]['rendaTotalFamiliar'],
|
||||||
|
'POSSUI_VEICULO': value[i]['possuiVeiculo'],
|
||||||
|
'MODELO_VEICULO': value[i]['modeloVeiculo'] ,
|
||||||
|
'ANO_VEICULO': value[i]['anoVeiculo'],
|
||||||
|
'POSSUI_FINANCIAMENTO': value[i]['possuiFinanciamento'] ,
|
||||||
|
'VALOR_PARCELA_FINANCIAMENTO': value[i]['valorParcelaFinanciamento'] ,
|
||||||
|
'POSSUI_EMPRESTIMO': value[i]['possuiEmprestimo'] ,
|
||||||
|
'VALOR_PARCELA_EMPRESTIMO': value[i]['valorParcelaEmprestimo'],
|
||||||
'SINCRONIZADO' : '',
|
'SINCRONIZADO' : '',
|
||||||
};
|
};
|
||||||
rows.add(row);
|
rows.add(row);
|
||||||
@@ -284,12 +293,13 @@ class DbSqliteSync{
|
|||||||
return db;
|
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)async{
|
||||||
List list = value;
|
|
||||||
List<Map<String, dynamic>> rows = [];
|
List<Map<String, dynamic>> rows = [];
|
||||||
Database db = await DbSqliteLoad().intialDB();
|
Database db = await DbSqliteLoad().intialDB();
|
||||||
Batch batch = db.batch();
|
Batch batch = db.batch();
|
||||||
|
|
||||||
if(type=='sync'){
|
if(type=='sync'){
|
||||||
|
List list = value;
|
||||||
for (int i = 0; i < list.length; i++) {
|
for (int i = 0; i < list.length; i++) {
|
||||||
Map<String, dynamic> row = {
|
Map<String, dynamic> row = {
|
||||||
'ID_DOMICILIO': value[i]['cdDomicilio'],
|
'ID_DOMICILIO': value[i]['cdDomicilio'],
|
||||||
@@ -372,12 +382,13 @@ class DbSqliteSync{
|
|||||||
return db;
|
return db;
|
||||||
}
|
}
|
||||||
Future insertCadastrosIndividuais(var value,String type,int ID_CIDADAO)async{
|
Future insertCadastrosIndividuais(var value,String type,int ID_CIDADAO)async{
|
||||||
List list = value;
|
|
||||||
List<Map<String, dynamic>> rows = [];
|
List<Map<String, dynamic>> rows = [];
|
||||||
Database db = await DbSqliteLoad().intialDB();
|
Database db = await DbSqliteLoad().intialDB();
|
||||||
Batch batch = db.batch();
|
Batch batch = db.batch();
|
||||||
|
|
||||||
if(type=='sync'){
|
if(type=='sync'){
|
||||||
|
List list = value;
|
||||||
for (int i = 0; i < list.length; i++) {
|
for (int i = 0; i < list.length; i++) {
|
||||||
Map<String, dynamic> row = {
|
Map<String, dynamic> row = {
|
||||||
'ID_CAD_INDIVIDUAL': value[i]['idCadIndividual'],
|
'ID_CAD_INDIVIDUAL': value[i]['idCadIndividual'],
|
||||||
@@ -470,6 +481,8 @@ class DbSqliteSync{
|
|||||||
'CRIANCAS_CRECHE': value[i]['criancasCresce'],
|
'CRIANCAS_CRECHE': value[i]['criancasCresce'],
|
||||||
'CRIANCAS_OUTRO': value[i]['criancasOutro'],
|
'CRIANCAS_OUTRO': value[i]['criancasOutro'],
|
||||||
'IDENTIDADE_GENERO': value[i]['identidadeGenero'],
|
'IDENTIDADE_GENERO': value[i]['identidadeGenero'],
|
||||||
|
'FIBROMIALGIA': value[i]['fibromialgia'],
|
||||||
|
'TRANSTORNO_ESPECTRO_AUTISTA': value[i]['transtornoEspectroAutista'],
|
||||||
};
|
};
|
||||||
rows.add(row);
|
rows.add(row);
|
||||||
}
|
}
|
||||||
@@ -483,10 +496,12 @@ class DbSqliteSync{
|
|||||||
List<Map<String, dynamic>> CADASTROS_INDIVIDUAIS = await db.query('CADASTROS_INDIVIDUAIS');
|
List<Map<String, dynamic>> CADASTROS_INDIVIDUAIS = await db.query('CADASTROS_INDIVIDUAIS');
|
||||||
print('Total de CADASTROS_INDIVIDUAIS : ${CADASTROS_INDIVIDUAIS.length}');
|
print('Total de CADASTROS_INDIVIDUAIS : ${CADASTROS_INDIVIDUAIS.length}');
|
||||||
}else if(type=='new'){
|
}else if(type=='new'){
|
||||||
int id = await db.insert('CADASTROS_INDIVIDUAIS', value);
|
Map<String, dynamic> dataMap = value;
|
||||||
|
int id = await db.insert('CADASTROS_INDIVIDUAIS', dataMap);
|
||||||
// print('novo id $id');
|
// print('novo id $id');
|
||||||
}else if(type=='update'){
|
}else if(type=='update'){
|
||||||
await db.update('CADASTROS_INDIVIDUAIS', value,where: "ID_CIDADAO = $ID_CIDADAO");
|
Map<String, dynamic> dataMap = value;
|
||||||
|
await db.update('CADASTROS_INDIVIDUAIS', dataMap ,where: "ID_CIDADAO = $ID_CIDADAO");
|
||||||
}
|
}
|
||||||
return db;
|
return db;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,5 +1,7 @@
|
|||||||
import 'package:shared_preferences/shared_preferences.dart';
|
import 'package:shared_preferences/shared_preferences.dart';
|
||||||
|
|
||||||
|
import '../../models/equipe_modelo.dart';
|
||||||
|
|
||||||
class PrefService{
|
class PrefService{
|
||||||
|
|
||||||
Future createCacheidUsuario(String idUsuario)async{
|
Future createCacheidUsuario(String idUsuario)async{
|
||||||
@@ -20,10 +22,17 @@ class PrefService{
|
|||||||
_preferences.setString('idUnidade', idUnidade);
|
_preferences.setString('idUnidade', idUnidade);
|
||||||
_preferences.setString('nomeUnidade', nomeUnidade);
|
_preferences.setString('nomeUnidade', nomeUnidade);
|
||||||
}
|
}
|
||||||
Future createCacheSync(String area,bool foraArea)async{
|
Future createCacheSync(EquipeModelo equipe,bool foraArea)async{
|
||||||
|
|
||||||
SharedPreferences _preferences = await SharedPreferences.getInstance();
|
SharedPreferences _preferences = await SharedPreferences.getInstance();
|
||||||
_preferences.setString('area', area);
|
_preferences.setInt('idEquipe',equipe.ID_EQUIPE);
|
||||||
|
_preferences.setString('ine',equipe.INE);
|
||||||
|
_preferences.setInt('area',equipe.AREA);
|
||||||
|
_preferences.setInt('idAtbMicroarea',equipe.ID_ATB_MICROAREA);
|
||||||
|
_preferences.setInt('idAtbArea',equipe.ID_ATB_AREA);
|
||||||
|
_preferences.setInt('microarea',equipe.MICROAREA);
|
||||||
|
_preferences.setInt('idProfissional',equipe.ID_PROFISSIONAL);
|
||||||
|
_preferences.setInt('ativo',equipe.ATIVO);
|
||||||
_preferences.setBool('foraArea', foraArea);
|
_preferences.setBool('foraArea', foraArea);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -65,12 +74,26 @@ class PrefService{
|
|||||||
];
|
];
|
||||||
return list;
|
return list;
|
||||||
}
|
}
|
||||||
Future readCacheSync(String area,bool foraArea) async{
|
Future readCacheSync() async{
|
||||||
SharedPreferences _preferences = await SharedPreferences.getInstance();
|
SharedPreferences _preferences = await SharedPreferences.getInstance();
|
||||||
String? area = _preferences.getString('area');
|
int? area = _preferences.getInt('area');
|
||||||
|
int? idEquipe = _preferences.getInt('idEquipe');
|
||||||
|
String? ine = _preferences.getString('ine');
|
||||||
|
int? idAtbMicroarea = _preferences.getInt('idAtbMicroarea');
|
||||||
|
int? idAtbArea = _preferences.getInt('idAtbArea');
|
||||||
|
int? microarea = _preferences.getInt('microarea');
|
||||||
|
int? idProfissional = _preferences.getInt('idProfissional');
|
||||||
|
int? ativo = _preferences.getInt('ativo');
|
||||||
bool? foraArea = _preferences.getBool('foraArea');
|
bool? foraArea = _preferences.getBool('foraArea');
|
||||||
List list =[
|
List list =[
|
||||||
|
idEquipe,
|
||||||
|
ine,
|
||||||
|
idAtbArea,
|
||||||
area,
|
area,
|
||||||
|
idAtbMicroarea,
|
||||||
|
microarea,
|
||||||
|
idProfissional,
|
||||||
|
ativo,
|
||||||
foraArea
|
foraArea
|
||||||
];
|
];
|
||||||
return list;
|
return list;
|
||||||
|
|||||||
65
lib/widgets/dropdown_equipe.dart
Normal file
65
lib/widgets/dropdown_equipe.dart
Normal file
@@ -0,0 +1,65 @@
|
|||||||
|
import 'package:flutter/material.dart';
|
||||||
|
import 'package:rkm/widgets/text_default.dart';
|
||||||
|
import '../config/color_palette.dart';
|
||||||
|
import '../config/const_variable.dart';
|
||||||
|
import '../models/equipe_modelo.dart';
|
||||||
|
|
||||||
|
class DropDownEquipe extends StatelessWidget {
|
||||||
|
var onChanged;
|
||||||
|
EquipeModelo? select;
|
||||||
|
String title;
|
||||||
|
double fontSize;
|
||||||
|
List<EquipeModelo> list;
|
||||||
|
double width;
|
||||||
|
double widthContainer;
|
||||||
|
|
||||||
|
DropDownEquipe({
|
||||||
|
required this.onChanged,
|
||||||
|
required this.select,
|
||||||
|
required this.title,
|
||||||
|
required this.list,
|
||||||
|
required this.width,
|
||||||
|
this.fontSize = 15,
|
||||||
|
this.widthContainer = 300
|
||||||
|
});
|
||||||
|
|
||||||
|
@override
|
||||||
|
Widget build(BuildContext context) {
|
||||||
|
|
||||||
|
return Column(
|
||||||
|
children: [
|
||||||
|
Container(
|
||||||
|
width: width*0.95,
|
||||||
|
margin: ConstVariable().marginHightInput,
|
||||||
|
color: ColorPalette.white,
|
||||||
|
child: DropdownButtonHideUnderline(
|
||||||
|
child: DropdownButton(
|
||||||
|
hint: Padding(
|
||||||
|
padding: const EdgeInsets.symmetric(horizontal: 0.0),
|
||||||
|
child: TextDefault(text: title,fontSize: ConstVariable().fontSizeInput,textAlign: TextAlign.end,color: Colors.black,),
|
||||||
|
),
|
||||||
|
value: select,
|
||||||
|
items: list.map((value) => DropdownMenuItem<EquipeModelo>(
|
||||||
|
value: value,
|
||||||
|
child: Container(
|
||||||
|
width: widthContainer,
|
||||||
|
child: Padding(
|
||||||
|
padding: EdgeInsets.symmetric(horizontal: 0.0),
|
||||||
|
child: TextDefault(
|
||||||
|
text: 'INE: ${value.INE} / Área: ${value.AREA} - Microárea : ${value.MICROAREA==null?'':value.MICROAREA}',
|
||||||
|
maxLines: 2,
|
||||||
|
fontSize: fontSize,
|
||||||
|
color: Colors.black,
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
)
|
||||||
|
).toList(),
|
||||||
|
onChanged:onChanged
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
],
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user