ajustes no sigtap e visita domiciliar

This commit is contained in:
Reginaldo
2024-01-31 16:38:18 -03:00
parent c9513ff6fd
commit cfdfb316f8
26 changed files with 695 additions and 484 deletions

View File

@@ -40,7 +40,7 @@ class _ServiceHomeScreenState extends State<ServiceHomeScreen> {
String date='';
String dateDB='';
String idUsuario='';
int idUsuario=0;
String idUnidade='';
String? nameCityApi;
String? mode;
@@ -129,36 +129,20 @@ class _ServiceHomeScreenState extends State<ServiceHomeScreen> {
getUser()async{
final PrefService _prefService = PrefService();
_prefService.readCacheIdUsuario('idUsuario').then((value){
if(value != null){
idUsuario = value;
_prefService.readCacheIDUser().then((value){
if(value != 0){
idUsuario = int.parse(value);
// print('idUsuario get');
// print(idUsuario);
loadData();
}
});
_prefService.readCacheUnidade('idUnidade').then((value){
_prefService.readCacheUnidade().then((value){
if(value!=null){
idUnidade = value[0];
CNES_UNIDADE.text = value[1];
}
});
await DbSqliteLoad().intialDB().then((db)async{
List list = await db.query('ARGS');
urlAPI = list[0]['URLAPI'];
mode = list[0]['MODE'];
nameCityApi = list[0]['NAME_CITY_API'];
}).then((value)async{
await ApiDataImportSigtap().loadSIGTAP(urlAPI, mode, nameCityApi).then((value)async{
await DbSqliteSigtap().saveProceduresSigtapDB(value).then((db)async{
List list = await db.query('PROCEDIMENTOS_SIGTAP');
for(int i = 0; list.length>i;i++){
if(list[i]['COD_PROC_SIGTAP']!=null && list[i]['DESC_PROC_SIGTAP']!=null){
PROCEDIMENTOS_SIGTAP.add(list[i]['COD_PROC_SIGTAP']+' - ' + list[i]['DESC_PROC_SIGTAP']);
}
}
setState(() {});
});
});
});
await DBQuerys().buscaCIAP().then((list){
listCIAP.add(DropDownDataModel(cod: int.parse(list['CODIGO_CIAP']), title: list['DESC_CIAP']));
});
@@ -168,6 +152,8 @@ class _ServiceHomeScreenState extends State<ServiceHomeScreen> {
}
loadData()async{
// print('idUsuario');
// print(idUsuario);
await DBQuerys().buscaProfissionalCadInd(idUsuario).then((list){
ID_PROFISSIONAL = list['ID_PROFISSIONAL'];
NOME_PROFISSIONAL.text = list['NOME_PROFISSIONAL'];
@@ -177,15 +163,62 @@ class _ServiceHomeScreenState extends State<ServiceHomeScreen> {
}
setState(() {});
});
await DBQuerys().buscaCBOProfissional(idUsuario).then((list){
await DBQuerys().buscaCBOProfissional(idUsuario).then((list)async{
if(list.length!=0){
for(int i = 0; list.length>i;i++){
listCBO.add(list[i]['CODIGO_CBO'].toString());
}
}
if(listCBO.isNotEmpty){
await DbSqliteLoad().intialDB().then((db)async{
List list = await db.query('ARGS');
urlAPI = list[0]['URLAPI'];
mode = list[0]['MODE'];
nameCityApi = list[0]['NAME_CITY_API'];
}).then((value)async{
//sigtap
for(int i = 0; listCBO.length>i;i++){
print(listCBO[i]);
await DBQuerys().buscaCBOSProfissional(listCBO[i]).then((sigtap)async{
print('indice $i');
print(sigtap);
if(listCBO[i]==sigtap[0]['CODIGO_CBO']){
PROCEDIMENTOS_SIGTAP.add(sigtap[0]['CODIGO_CBO']+' - ' + sigtap[0]['DESCRICAO_CBO']);
List<String> aux = PROCEDIMENTOS_SIGTAP.toSet().toList();
PROCEDIMENTOS_SIGTAP = aux;
}
});
}
print(PROCEDIMENTOS_SIGTAP);
setState(() {});
// await ApiDataImportSigtap().loadSIGTAP(urlAPI, mode, nameCityApi).then((value)async{
// List<dynamic> procedimentos = value['procedimentos'];
// print(procedimentos.length);
// print(procedimentos);
// if(procedimentos.isNotEmpty){
// await DbSqliteSigtap().saveProceduresSigtapDB(procedimentos).then((db)async{
// List list = await db.query('PROCEDIMENTOS_SIGTAP');
// for(int i = 0; list.length>i;i++){
// if(list[i]['COD_PROC_SIGTAP']!=null && list[i]['DESC_PROC_SIGTAP']!=null){
// PROCEDIMENTOS_SIGTAP.add(list[i]['COD_PROC_SIGTAP']+' - ' + list[i]['DESC_PROC_SIGTAP']);
// List<String> aux = PROCEDIMENTOS_SIGTAP.toSet().toList();
// PROCEDIMENTOS_SIGTAP = aux;
// }
// }
// setState(() {
// loadSIGTAP = false;
// });
// });
// }
// });
});
}
CBO_RESP_CADASTRO = list.length == 0?null:list[0]['CODIGO_CBO'].toString();
setState(() {});
});
// print('IdUsuario: ${idUsuario}');
// print('IdUnidade: '+idUnidade);
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']}';
@@ -198,7 +231,7 @@ class _ServiceHomeScreenState extends State<ServiceHomeScreen> {
// adicionar depois e usar um usuário real
// CBO_RESP_CADASTRO
//ok
if(date.isEmpty || dateDB.isEmpty || LOCAL_ATENDIMENTO_COD==0 || TIPO_ATENDIMENTO_COD ==0 || MODALIDADE_COD == 0 || TURNO_COD == 0
if(date.isEmpty || dateDB.isEmpty || LOCAL_ATENDIMENTO_COD==0 || TIPO_ATENDIMENTO_COD ==0 || MODALIDADE_COD == 0 || TURNO_COD == 0 || CBO_PROFISSIONAL == null
){
print('erro');
setState(() {
@@ -219,7 +252,7 @@ class _ServiceHomeScreenState extends State<ServiceHomeScreen> {
Map<String, dynamic> row = {
'ID_CIDADAO' : ID_CIDADAO,
'CD_USUARIO_SUS' : CD_USUARIO_SUS,
'ID_PROFISSIONAL' : int.parse(idUsuario),
'ID_PROFISSIONAL' : idUsuario,
'CBO_PROFISSIONAL' : CBO_PROFISSIONAL,
'INE_PROFISSIONAL' : INE_PROFISSIONAL,
'CNES_UNIDADE' : CNES_UNIDADE.text,
@@ -261,15 +294,16 @@ class _ServiceHomeScreenState extends State<ServiceHomeScreen> {
CD_USUARIO_SUS = list[0]['CD_USUARIO_SUS'];
});
List list = await DBQuerys().buscaDadosProfissional(idUnidade,idUsuario);
INE_PROFISSIONAL = list[0]['INE'];
ID_EQUIPE = list[0]['ID_EQUIPE'];
INE_PROFISSIONAL = list[0]['INE']??'';
ID_EQUIPE = list[0]['ID_EQUIPE']??0;
}
@override
void initState() {
super.initState();
dadosCidadao();
getUser();
dadosCidadao();
loadLists();
}
@@ -328,7 +362,7 @@ class _ServiceHomeScreenState extends State<ServiceHomeScreen> {
onChanged: (v)=>setState((){}),
),
DropdownWithSubtitle(
list: listCBO,
list: PROCEDIMENTOS_SIGTAP,
widthSubtitle: width*0.7,
subtitle: 'CBO',
hintDropdown: 'CBO',