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{
|
||||
await DbSqliteLoad().intialDB().then((db)async {
|
||||
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();
|
||||
return 'complete';
|
||||
|
||||
@@ -8,10 +8,12 @@ import 'package:rkm/widgets/input_text.dart';
|
||||
import 'package:rkm/widgets/text_default.dart';
|
||||
import 'package:sqflite/sqflite.dart';
|
||||
import '../../controllers/main_controllers.dart';
|
||||
import '../../models/equipe_modelo.dart';
|
||||
import '../../service/api/api_data_load.dart';
|
||||
import '../../service/api/api_data_sync.dart';
|
||||
import '../../service/db/db_sqlite_load.dart';
|
||||
import '../../service/shared_preferences/shared_preferences_service.dart';
|
||||
import '../../widgets/dropdown_equipe.dart';
|
||||
import '../../widgets/title_input.dart';
|
||||
class SyncLoginScreen extends StatefulWidget {
|
||||
|
||||
@@ -26,7 +28,7 @@ class _SyncLoginScreenState extends State<SyncLoginScreen> {
|
||||
String error = '';
|
||||
String? now;
|
||||
String? selectUnit;
|
||||
String? selectTeam;
|
||||
EquipeModelo? selectTeam;
|
||||
bool validatorDropDown= false;
|
||||
bool citizenOutArea = false;
|
||||
int contLogo = 0;
|
||||
@@ -36,9 +38,11 @@ class _SyncLoginScreenState extends State<SyncLoginScreen> {
|
||||
bool loading = false;
|
||||
List<String> listUnit=[];
|
||||
List searchUnitCodList=[];
|
||||
List<String> listTeam = [];
|
||||
List<EquipeModelo> listTeam = [];
|
||||
String idUnidade ='';
|
||||
int idUsuario =0;
|
||||
int ID_ATB_AREA = 0;
|
||||
int ID_ATB_MICROAREA = 0;
|
||||
|
||||
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";
|
||||
List list = await db.rawQuery(query);
|
||||
listTeam.clear();
|
||||
print(list);
|
||||
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";
|
||||
List list1 = await db.rawQuery(query1);
|
||||
print(list1);
|
||||
// print(list1);
|
||||
var query2 = "SELECT * FROM PROFISSIONAIS_EQUIPE WHERE ID_PROFISSIONAL = $idUsuario";
|
||||
List list2 = await db.rawQuery(query2);
|
||||
print(list2);
|
||||
// print(list2);
|
||||
print(list2.length);
|
||||
print('idUsuario');
|
||||
print(idUsuario);
|
||||
@@ -252,7 +270,7 @@ class _SyncLoginScreenState extends State<SyncLoginScreen> {
|
||||
},
|
||||
),
|
||||
TitleInput(title:'Equipe'),
|
||||
DropDownButtonDefault(
|
||||
DropDownEquipe(
|
||||
width: width*0.7,
|
||||
title: 'Equipe',
|
||||
list: listTeam,
|
||||
@@ -260,6 +278,7 @@ class _SyncLoginScreenState extends State<SyncLoginScreen> {
|
||||
onChanged: (value){
|
||||
setState(() {
|
||||
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,
|
||||
'FL_RETIROU_CARTAO' : enableCityCard?'S':'N',
|
||||
'NUM_NIS' : NISController.text.isNotEmpty?int.parse(NISController.text):0,
|
||||
//aqui
|
||||
'NUM_PROT_CROSS' : '',
|
||||
'RENDA_MENSAL' : incomeController.text.isNotEmpty?double.parse(incomeController.text.replaceAll('R\$ ', '').replaceAll('.', '').replaceAll(',', '.')):0,
|
||||
'PROFISSAO' : professionalController.text,
|
||||
@@ -461,11 +460,6 @@ class _RegisterCitizenScreenState extends State<RegisterCitizenScreen> {
|
||||
'BLOQUEIO' : enableBlocked?1:0,
|
||||
'ORIGEM' : 'A',
|
||||
'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',
|
||||
};
|
||||
await DbSqliteSync().insertCidadaos(row,editing?'update':'new',codSus).then((value){
|
||||
@@ -2062,7 +2056,7 @@ class _RegisterCitizenScreenState extends State<RegisterCitizenScreen> {
|
||||
mainAxisSize: MainAxisSize.min,
|
||||
children: [
|
||||
Container(
|
||||
color: ColorPalette.white,
|
||||
color: edit?Colors.grey[200]:ColorPalette.disable,
|
||||
margin: EdgeInsets.only(top: 5),
|
||||
width: width*0.7,
|
||||
child: TextFormField(
|
||||
|
||||
@@ -34,7 +34,17 @@ class _RegisterHomeScreenState extends State<RegisterHomeScreen> {
|
||||
var NOME_RESP_CADASTRO = TextEditingController();
|
||||
var CNES_RESP_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 DISPONIBILIDADE_ENERGIA = false;
|
||||
bool FL_ANIMAIS = false;
|
||||
@@ -184,7 +194,28 @@ class _RegisterHomeScreenState extends State<RegisterHomeScreen> {
|
||||
}
|
||||
|
||||
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'];
|
||||
CD_USUARIO_SUS = widget.listData[0]['CD_USUARIO_SUS'];
|
||||
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();
|
||||
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);
|
||||
for(int i=0; list.length > i;i++){
|
||||
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']}');
|
||||
}
|
||||
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(() {});
|
||||
}
|
||||
|
||||
@@ -327,7 +360,21 @@ class _RegisterHomeScreenState extends State<RegisterHomeScreen> {
|
||||
}
|
||||
|
||||
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,
|
||||
'ID_AREA_DOMICILIO' : ID_AREA_DOMICILIO,
|
||||
'ID_MICROAREA_DOMICILIO' : ID_MICROAREA_DOMICILIO,
|
||||
@@ -365,17 +412,19 @@ class _RegisterHomeScreenState extends State<RegisterHomeScreen> {
|
||||
'CARGO_RESP_TECNICO_INST' : CARGO_RESP_TECNICO_INST,
|
||||
'TEL_RESP_TECNICO_INST' : TEL_RESP_TECNICO_INST,
|
||||
};
|
||||
await DbSqliteSync().insertCadastrosDomiciliares(row,TIPO_SALVAR,ID_DOMICILIO,ID_CIDADAO,CD_USUARIO_SUS).then((value){
|
||||
AlertDialogDefault().alert(
|
||||
context,
|
||||
'Aviso',
|
||||
TIPO_SALVAR!='new'?
|
||||
'Cadastro Domiciliar alterado com sucesso!':
|
||||
'Cadastro Domiciliar realizado com sucesso!',
|
||||
'OK'
|
||||
);
|
||||
Navigator.pushAndRemoveUntil(context, MaterialPageRoute(builder: (context)=>HomeScreen(username: widget.username)), (route) => false);
|
||||
// print(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(
|
||||
context,
|
||||
'Aviso',
|
||||
TIPO_SALVAR!='new'?
|
||||
'Cadastro Domiciliar alterado com sucesso!':
|
||||
'Cadastro Domiciliar realizado com sucesso!',
|
||||
'OK'
|
||||
);
|
||||
Navigator.pushAndRemoveUntil(context, MaterialPageRoute(builder: (context)=>HomeScreen(username: widget.username)), (route) => false);
|
||||
// print(value);
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
@@ -761,7 +810,7 @@ class _RegisterHomeScreenState extends State<RegisterHomeScreen> {
|
||||
margin: EdgeInsets.all(10),
|
||||
child: Column(
|
||||
children: [
|
||||
TitleContainers(title: 'Outros'),
|
||||
TitleContainers(title: 'Profissional Responsável'),
|
||||
Row(
|
||||
children: [
|
||||
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(
|
||||
margin: EdgeInsets.all(10),
|
||||
child: Container(
|
||||
|
||||
@@ -144,6 +144,7 @@ class _RegisterIndividualScreenState extends State<RegisterIndividualScreen> {
|
||||
int ID_AREA_CIDADAO = 0;
|
||||
int ID_MICROAREA_CIDADAO = 0;
|
||||
String TIPO_SALVAR = 'new';
|
||||
int ID_PROFISSIONAL = 0;
|
||||
|
||||
var NOME_RESPONSAVEL_FAMILIAR = TextEditingController();
|
||||
var NATURALIDADE = TextEditingController(text: 'BRASILEIRO');
|
||||
@@ -158,7 +159,7 @@ class _RegisterIndividualScreenState extends State<RegisterIndividualScreen> {
|
||||
var OUTRAS_CONDICOES = TextEditingController();
|
||||
var ACOMP_INTITUICAO_QUAL = TextEditingController();
|
||||
var PARENTESCO_VISITA = TextEditingController();
|
||||
var ID_RESP_CADASTRO = TextEditingController();
|
||||
var USUARIO_RESP_CADASTRO = TextEditingController();
|
||||
var CNES_RESP_CADASTRO = TextEditingController();
|
||||
var DT_CADASTRO = TextEditingController();
|
||||
final PrefService _prefService = PrefService();
|
||||
@@ -223,21 +224,14 @@ class _RegisterIndividualScreenState extends State<RegisterIndividualScreen> {
|
||||
print(widget.listData[0]['ID_USUARIO_CADASTRO']);
|
||||
|
||||
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{
|
||||
// print(CD_USUARIO_SUS);
|
||||
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';
|
||||
showTab = true;
|
||||
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;
|
||||
HIGIENE_BUCAL = dataCitizen[0]['HIGIENE_BUCAL'] == 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();
|
||||
date_cad = dataCitizen[0]['DT_CADASTRO']??'';
|
||||
// print('data $date_cad');
|
||||
@@ -428,13 +421,13 @@ class _RegisterIndividualScreenState extends State<RegisterIndividualScreen> {
|
||||
}
|
||||
}
|
||||
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'];
|
||||
if(CNS_PROFISSIONAL == 999999999999999 || CNS_PROFISSIONAL == '999999999999999'){
|
||||
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){
|
||||
if(list.length!=0){
|
||||
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();
|
||||
});
|
||||
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(() {});
|
||||
}
|
||||
@@ -1495,7 +1496,7 @@ class _RegisterIndividualScreenState extends State<RegisterIndividualScreen> {
|
||||
mainAxisSize: MainAxisSize.min,
|
||||
children: [
|
||||
InputWithSubtitle(
|
||||
controller: ID_RESP_CADASTRO,
|
||||
controller: USUARIO_RESP_CADASTRO,
|
||||
subtitle: 'Usuário responsável Pelo Cadastro',
|
||||
errorInput: 'Campo Obrigatório!',
|
||||
labelInput: 'Usuário responsável Pelo Cadastro',
|
||||
|
||||
@@ -26,8 +26,8 @@ class _SyncInitScreenState extends State<SyncInitScreen> {
|
||||
String idUsuario = '';
|
||||
String idUnidade = '';
|
||||
String nomeUnidade = '';
|
||||
String area = '';
|
||||
String microarea = '';
|
||||
int idArea = 0;
|
||||
int idMicroarea = 0;
|
||||
bool foraArea = false;
|
||||
String urlAPI='';
|
||||
String mode = '';
|
||||
@@ -64,12 +64,12 @@ class _SyncInitScreenState extends State<SyncInitScreen> {
|
||||
|
||||
dataUser()async{
|
||||
_prefService.readCacheUnidade().then((listUnidade)async{
|
||||
_prefService.readCacheSync('area', false).then((list){
|
||||
foraArea = list[1];
|
||||
List splited = list[0].split(': ');
|
||||
area = splited[2].toString().substring(0,1);
|
||||
microarea = splited[3];
|
||||
idUnidade = listUnidade[0];
|
||||
_prefService.readCacheSync().then((list){
|
||||
print(list);
|
||||
foraArea = list[8];
|
||||
idArea = list[2];
|
||||
idMicroarea = list[4];
|
||||
idUnidade = listUnidade[0].toString();
|
||||
nomeUnidade = listUnidade[1];
|
||||
initSync();
|
||||
});
|
||||
@@ -133,7 +133,7 @@ class _SyncInitScreenState extends State<SyncInitScreen> {
|
||||
await DbSqliteSync().insertProfissionaisCBOs(value).then((value)async{
|
||||
countProg = 0.7;
|
||||
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){
|
||||
setState(()=> messageSteps = "ERRO: Erro para carregar os Cadastros dos Cidadãos - Por favor, tente novamente!");
|
||||
}else{
|
||||
@@ -141,7 +141,7 @@ class _SyncInitScreenState extends State<SyncInitScreen> {
|
||||
await DbSqliteSync().insertCidadaos(value,'sync','').then((value)async{
|
||||
countProg = 0.8;
|
||||
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){
|
||||
setState(()=> messageSteps = "ERRO: Erro para carregar os Cadastros Domiciliares - Por favor, tente novamente!");
|
||||
}else{
|
||||
@@ -149,13 +149,13 @@ class _SyncInitScreenState extends State<SyncInitScreen> {
|
||||
await DbSqliteSync().insertCadastrosDomiciliares(value,'sync',0,0,'').then((value)async{
|
||||
countProg = 0.9;
|
||||
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){
|
||||
setState(()=> messageSteps = "ERRO: Erro para carregar os Cadastros Individuais - Por favor, tente novamente!");
|
||||
}else{
|
||||
setState(()=> messageSteps = "Etapa 10 de 10 - Gravando os Cadastros Individuais no Aplicativo");
|
||||
await DbSqliteSync().insertCadastrosIndividuais(value,'sync',0).then((value)async{
|
||||
await DbSqliteSync().saveSync(codCity,codState,urlAPI,mode,nameCityApi,nameCityFront,codCityIbge,user,idUnidade,nomeUnidade,area,microarea).then((value)async{
|
||||
await DbSqliteSync().saveSync(codCity,codState,urlAPI,mode,nameCityApi,nameCityFront,codCityIbge,user,idUnidade,nomeUnidade,idArea,idMicroarea).then((value)async{
|
||||
countProg = 1;
|
||||
setState(() {});
|
||||
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{
|
||||
// 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';
|
||||
print(url);
|
||||
final response = await http.get(Uri.parse(url));
|
||||
final map = json.decode(response.body);
|
||||
return map;
|
||||
|
||||
@@ -54,28 +54,46 @@ class DBQuerys{
|
||||
var query = "SELECT * FROM PROFISSIONAIS WHERE ID_PROFISSIONAL = $ID_PROFISSIONAL";
|
||||
// var query = "SELECT * FROM PROFISSIONAIS";
|
||||
List list = await db.rawQuery(query);
|
||||
// print(list);
|
||||
return list[0];
|
||||
if(list.isEmpty){
|
||||
return '';
|
||||
}else{
|
||||
// print(list);
|
||||
return list[0];
|
||||
}
|
||||
}
|
||||
buscaNomeUnidade(String ID_UNIDADE)async{
|
||||
buscaNomeUnidade(int 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(list);
|
||||
return list[0]['NOME_UNIDADE'];
|
||||
if(list.isEmpty){
|
||||
return '';
|
||||
}else{
|
||||
// print(list);
|
||||
return list[0]['NOME_UNIDADE'];
|
||||
}
|
||||
}
|
||||
buscaBairro(nomeBairro)async{
|
||||
Database db = await DbSqliteLoad().intialDB();
|
||||
List list = await db.rawQuery("SELECT * FROM BAIRROS WHERE NO_BAIRRO = '$nomeBairro'");
|
||||
// print(await db.rawQuery('SELECT NO_BAIRRO FROM BAIRROS'));
|
||||
// print(list[0]['ID_BAIRRO']);
|
||||
return list[0]['ID_BAIRRO'].toString();
|
||||
if(list.isEmpty){
|
||||
return '';
|
||||
}else{
|
||||
// print(list);
|
||||
return list[0]['ID_BAIRRO'].toString();
|
||||
}
|
||||
}
|
||||
buscaTipoLogradouro(tipo)async{
|
||||
Database db = await DbSqliteLoad().intialDB();
|
||||
List list = await db.rawQuery("SELECT * FROM LOGRADOUROS_TIPOS WHERE NO_LOGR_TIPO = '$tipo'");
|
||||
// print(list[0]['ID_LOGR_TIPO']);
|
||||
return list[0]['ID_LOGR_TIPO'];
|
||||
if(list.isEmpty){
|
||||
return '';
|
||||
}else{
|
||||
// print(list);
|
||||
return list[0]['ID_LOGR_TIPO'];
|
||||
}
|
||||
}
|
||||
buscaprocedimento()async{
|
||||
Database db = await DbSqliteLoad().intialDB();
|
||||
@@ -130,7 +148,7 @@ class DBQuerys{
|
||||
var query = 'SELECT * FROM LOGRADOUROS_LOTEAMENTOS WHERE DESC_LOGR_LOTEAMENTO = "$DESC_LOGR_LOTEAMENTO"';
|
||||
List list = await db.rawQuery(query);
|
||||
// print(list);
|
||||
int result = list[0]['ID_LOGR_LOTEAMENTO'];
|
||||
int result = list.length==0?0:list[0]['ID_LOGR_LOTEAMENTO'];
|
||||
return result;
|
||||
}
|
||||
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';
|
||||
List list = await db.rawQuery(query);
|
||||
// print(list);
|
||||
String result = list[0]['DESC_LOGR_LOTEAMENTO'];
|
||||
String result = list.length==0?'':list[0]['DESC_LOGR_LOTEAMENTO'];
|
||||
return result;
|
||||
}
|
||||
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_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 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 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 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);');
|
||||
@@ -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_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 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_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);');
|
||||
|
||||
@@ -130,6 +130,7 @@ class DbSqliteSync{
|
||||
'USERNAME' : value[i]['username'],
|
||||
'SENHA' : value[i]['senha'],
|
||||
'BLOQUEIO_ACESSO' : value[i]['bloqueioAcesso'],
|
||||
'ID_UNIDADE' : value[i]['idUnidade'],
|
||||
};
|
||||
rows.add(row);
|
||||
}
|
||||
@@ -258,6 +259,14 @@ class DbSqliteSync{
|
||||
'ID_USUARIO_CADASTRO' : value[i]['idUsuarioCadastro'],
|
||||
'ID_DOMICILIO' : value[i]['cdDomicilio'],
|
||||
'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' : '',
|
||||
};
|
||||
rows.add(row);
|
||||
@@ -284,12 +293,13 @@ class DbSqliteSync{
|
||||
return db;
|
||||
}
|
||||
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 = [];
|
||||
Database db = await DbSqliteLoad().intialDB();
|
||||
Batch batch = db.batch();
|
||||
|
||||
if(type=='sync'){
|
||||
List list = value;
|
||||
for (int i = 0; i < list.length; i++) {
|
||||
Map<String, dynamic> row = {
|
||||
'ID_DOMICILIO': value[i]['cdDomicilio'],
|
||||
@@ -372,12 +382,13 @@ class DbSqliteSync{
|
||||
return db;
|
||||
}
|
||||
Future insertCadastrosIndividuais(var value,String type,int ID_CIDADAO)async{
|
||||
List list = value;
|
||||
|
||||
List<Map<String, dynamic>> rows = [];
|
||||
Database db = await DbSqliteLoad().intialDB();
|
||||
Batch batch = db.batch();
|
||||
|
||||
if(type=='sync'){
|
||||
List list = value;
|
||||
for (int i = 0; i < list.length; i++) {
|
||||
Map<String, dynamic> row = {
|
||||
'ID_CAD_INDIVIDUAL': value[i]['idCadIndividual'],
|
||||
@@ -470,6 +481,8 @@ class DbSqliteSync{
|
||||
'CRIANCAS_CRECHE': value[i]['criancasCresce'],
|
||||
'CRIANCAS_OUTRO': value[i]['criancasOutro'],
|
||||
'IDENTIDADE_GENERO': value[i]['identidadeGenero'],
|
||||
'FIBROMIALGIA': value[i]['fibromialgia'],
|
||||
'TRANSTORNO_ESPECTRO_AUTISTA': value[i]['transtornoEspectroAutista'],
|
||||
};
|
||||
rows.add(row);
|
||||
}
|
||||
@@ -483,10 +496,12 @@ class DbSqliteSync{
|
||||
List<Map<String, dynamic>> CADASTROS_INDIVIDUAIS = await db.query('CADASTROS_INDIVIDUAIS');
|
||||
print('Total de CADASTROS_INDIVIDUAIS : ${CADASTROS_INDIVIDUAIS.length}');
|
||||
}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');
|
||||
}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;
|
||||
}
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
import 'package:shared_preferences/shared_preferences.dart';
|
||||
|
||||
import '../../models/equipe_modelo.dart';
|
||||
|
||||
class PrefService{
|
||||
|
||||
Future createCacheidUsuario(String idUsuario)async{
|
||||
@@ -20,10 +22,17 @@ class PrefService{
|
||||
_preferences.setString('idUnidade', idUnidade);
|
||||
_preferences.setString('nomeUnidade', nomeUnidade);
|
||||
}
|
||||
Future createCacheSync(String area,bool foraArea)async{
|
||||
Future createCacheSync(EquipeModelo equipe,bool foraArea)async{
|
||||
|
||||
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);
|
||||
}
|
||||
|
||||
@@ -65,12 +74,26 @@ class PrefService{
|
||||
];
|
||||
return list;
|
||||
}
|
||||
Future readCacheSync(String area,bool foraArea) async{
|
||||
Future readCacheSync() async{
|
||||
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');
|
||||
List list =[
|
||||
idEquipe,
|
||||
ine,
|
||||
idAtbArea,
|
||||
area,
|
||||
idAtbMicroarea,
|
||||
microarea,
|
||||
idProfissional,
|
||||
ativo,
|
||||
foraArea
|
||||
];
|
||||
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