ajustes em diversos para exibir o calendário BR, ajuste para cadastro individual

This commit is contained in:
Reginaldo
2024-02-05 15:34:32 -03:00
parent 2450a76f4b
commit dd5a718083
14 changed files with 80 additions and 33 deletions

View File

@@ -1,5 +1,6 @@
import 'dart:io';
import 'package:flutter/material.dart';
import 'package:flutter_localizations/flutter_localizations.dart';
import 'package:rkm/config/color_palette.dart';
import 'package:rkm/config/routes.dart';
@@ -18,9 +19,20 @@ void main() {
//Cadastro e edição do Cadastro do Cidadão, Cadastro Individual, Cadastro Domiciliar e Visita Domiciliar
class MyApp extends StatelessWidget {
const MyApp({super.key});
@override
Widget build(BuildContext context) {
return MaterialApp(
locale: const Locale('pt'),
localizationsDelegates: [
GlobalMaterialLocalizations.delegate,
GlobalCupertinoLocalizations.delegate,
GlobalWidgetsLocalizations.delegate,
],
supportedLocales: [
const Locale('pt', 'BR'), // Adicione os locales que você precisa
],
theme: ThemeData(
primaryColor: ColorPalette.primary,
appBarTheme: AppBarTheme(

View File

@@ -105,7 +105,7 @@ class _HomeScreenState extends State<HomeScreen> {
InputSearchText(
hint: 'Busca cidadão (Por NOME ou CNS ou PRONTUÁRIO ou DATA NASCIMENTO)',
fontSize: 20,
fontSizeHint: 11,
fontSizeHint: 13,
controller: inputSearch,
width: width*0.72,
),

View File

@@ -150,12 +150,15 @@ class _RegisterCitizenScreenState extends State<RegisterCitizenScreen> {
var pickDate = await showDatePicker(
context: context,
locale: Locale('pt','BR'),
initialDate: DateTime.now(),
firstDate: DateTime(1900),
lastDate: DateTime(2024));
lastDate: DateTime(DateTime.now().year,12,31)
);
if (pickDate != null) {
setState(() {
if(type == 'birth'){
dateDB = '${pickDate.year}-${pickDate.month<10?'0':''}${pickDate.month}-${pickDate.day<10?'0':''}${pickDate.day}';
date = formatData(year: pickDate.year, month: pickDate.month, day: pickDate.day);
}
@@ -215,8 +218,10 @@ class _RegisterCitizenScreenState extends State<RegisterCitizenScreen> {
for(int i=0; listVillageDB.length > i;i++){
villageDB.add('${listVillageDB[i]['NO_BAIRRO']}');
}
if(widget.listData[0]['NO_BAIRRO_LOGR']!=null && widget.listData[0]['NO_BAIRRO_LOGR']!='' && !villageDB.contains(widget.listData[0]['NO_BAIRRO_LOGR'])){
villageDB.add(widget.listData[0]['NO_BAIRRO_LOGR']);
if(widget.listData.isNotEmpty){
if(widget.listData[0]['NO_BAIRRO_LOGR']!=null && widget.listData[0]['NO_BAIRRO_LOGR']!='' && !villageDB.contains(widget.listData[0]['NO_BAIRRO_LOGR'])){
villageDB.add(widget.listData[0]['NO_BAIRRO_LOGR']);
}
}
// print(villageDB);
setState(() {});
@@ -514,7 +519,7 @@ class _RegisterCitizenScreenState extends State<RegisterCitizenScreen> {
getData()async{
// print('passou');
// print(widget.listData);
// print(widget.listData[0]['ID_USUARIO_CADASTRO']);
idCidadao = widget.listData[0]['ID_CIDADAO'];
codSus = widget.listData[0]['CD_USUARIO_SUS'];
nameController.text = widget.listData[0]['NOME_CIDADAO'];
@@ -635,7 +640,12 @@ class _RegisterCitizenScreenState extends State<RegisterCitizenScreen> {
RGOrganController.text = widget.listData[0]['RG_ORGAO']==null?'':widget.listData[0]['RG_ORGAO'];
RGDateController.text = widget.listData[0]['RG_DATA_EMISSAO']==null?'':widget.listData[0]['RG_DATA_EMISSAO'];
RGDateDB = RGDateController.text;
selectTypeCertificateCod = int.parse(widget.listData[0]['TIPO_CERTIDAO']=='' || widget.listData[0]['TIPO_CERTIDAO']==null?'0':widget.listData[0]['TIPO_CERTIDAO']);
if(widget.listData[0]['TIPO_CERTIDAO'] is int){
selectTypeCertificateCod = widget.listData[0]['TIPO_CERTIDAO'];
}else{
selectTypeCertificateCod = int.parse(widget.listData[0]['TIPO_CERTIDAO']=='' || widget.listData[0]['TIPO_CERTIDAO']==null?'0':widget.listData[0]['TIPO_CERTIDAO']);
}
for(int i = 0;ConstVariable().itensCertificate.length >i;i++){
if(ConstVariable().itensCertificate[i].cod == selectTypeCertificateCod){
selectTypeCertificate = ConstVariable().itensCertificate[i].title;

View File

@@ -129,9 +129,9 @@ class _RegisterHomeScreenState extends State<RegisterHomeScreen> {
getUser(){
final PrefService _prefService = PrefService();
_prefService.readCacheIdUsername('idUsuario').then((value){
_prefService.readCacheIDUser().then((value){
if(value != null){
idUsuario = value;
idUsuario = int.parse(value);
}
});
_prefService.readCacheUnidade().then((value){
@@ -632,7 +632,7 @@ class _RegisterHomeScreenState extends State<RegisterHomeScreen> {
),
SwitchWithSubtitle(
width: width*0.7,
title: 'Disponibilidade de Energia Elétroca',
title: 'Disponibilidade de Energia Elétrica',
value: DISPONIBILIDADE_ENERGIA,
onChanged:!editing?null: (value)=>setState(()=>DISPONIBILIDADE_ENERGIA = value),
),

View File

@@ -7,6 +7,8 @@ import 'package:rkm/service/db/db_querys.dart';
import 'package:rkm/widgets/button_default.dart';
import 'package:rkm/widgets/text_default.dart';
import 'package:rkm/widgets/title_containers.dart';
import 'package:sqflite/sqflite.dart';
import '../../service/db/db_sqlite_load.dart';
import '../../service/db/db_sqlite_sync.dart';
import '../../service/shared_preferences/shared_preferences_service.dart';
import '../../widgets/alert_dialog_default.dart';
@@ -162,9 +164,9 @@ class _RegisterIndividualScreenState extends State<RegisterIndividualScreen> {
final PrefService _prefService = PrefService();
getUser(){
_prefService.readCacheIdUsername('idUsuario').then((value){
_prefService.readCacheIDUser().then((value){
if(value != null){
idUsuario = value;
idUsuario = int.parse(value);
}
});
_prefService.readCacheUnidade().then((value){
@@ -218,6 +220,20 @@ class _RegisterIndividualScreenState extends State<RegisterIndividualScreen> {
loadCadIndividual()async{
ID_CIDADAO = widget.listData[0]['ID_CIDADAO'];
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);

View File

@@ -1,4 +1,5 @@
import 'package:flutter/material.dart';
import 'package:rkm/screens/home_screen.dart';
import 'package:rkm/screens/login/sync_login_screen.dart';
import 'package:rkm/service/api/api_data_sync.dart';
import 'package:rkm/service/db/db_sqlite_sync.dart';
@@ -157,7 +158,7 @@ class _SyncInitScreenState extends State<SyncInitScreen> {
await DbSqliteSync().saveSync(codCity,codState,urlAPI,mode,nameCityApi,nameCityFront,codCityIbge,user,idUnidade,nomeUnidade,area,microarea).then((value)async{
countProg = 1;
setState(() {});
Navigator.pushNamed(context, '/import_sigtap');
Navigator.pushReplacement(context, MaterialPageRoute(builder: (context)=>HomeScreen(username: user)));
});
});
}

View File

@@ -42,6 +42,7 @@ class ApiDataSync{
Future syncProfissionais(urlAPI,mode,nameCityApi,user,idUnidade)async{
// http://192.168.0.42:8010/api/atb/desenvolvimento/corumbatai/admin/sync/3/profissionais
final url = '${urlAPI}${mode}/${nameCityApi}/${user}/sync/${idUnidade}/profissionais';
print(url);
final response = await http.get(Uri.parse(url));
final map = json.decode(response.body);
return map;

View File

@@ -167,7 +167,7 @@ class DBQuerys{
Database db = await DbSqliteLoad().intialDB();
var query = 'SELECT * FROM CIDADAOS WHERE NOME_CIDADAO = "$NOME_CIDADAO"';
List list = await db.rawQuery(query);
// print(list);
// print(list[0]['ID_USUARIO_CADASTRO']);
return list;
}
Future buscaCBOProfissional(ID_PROFISSIONAL)async{

View File

@@ -168,13 +168,17 @@ class DbSqliteSync{
return db;
}
Future insertCidadaos(var value,String type,String CD_USUARIO_SUS)async{
List list = value;
//para a carga inicial o datalista funciona
List dataLista = value;
//testar depois ao incluir um novo cidadao se precisara do map data
// Map<String, dynamic> data = value;
List<Map<String, dynamic>> rows = [];
Database db = await DbSqliteLoad().intialDB();
Batch batch = db.batch();
if(type=='sync'){
for (int i = 0; i < list.length; i++) {
for (int i = 0; i < dataLista.length; i++) {
Map<String, dynamic> row = {
'ID_CIDADAO' : value[i]['idCidadao'],
'CD_USUARIO_SUS' : value[i]['cdUsuarioSus'],

View File

@@ -69,7 +69,7 @@ class AlertDialogSettings {
Navigator.push(context,MaterialPageRoute(builder:(context) => SyncDataScreen(username: username,)));
},
title: 'Sincronia de Envio',
body: 'Efetua a Sincronia de Envio levandoas informações\n'
body: 'Efetua a Sincronia de Envio levando as informações\n'
'do dispositivo para o ConectaSUS.',
icon: Icons.send
),

View File

@@ -24,12 +24,8 @@ class AppBarDefault{
IconButtonDefault(
icon: Icons.logout,
color: ColorPalette.white,
onPressed: (){
Navigator.push(
context,
MaterialPageRoute(builder: (context) => LoginSavedScreen(listControl: [])),
);
}),
onPressed: ()=>Navigator.pushAndRemoveUntil(context,MaterialPageRoute(builder: (context) => LoginSavedScreen(listControl: [])),(Route<dynamic> route) => false)
),
],
),
);

View File

@@ -40,9 +40,9 @@ class InputSearchText extends StatelessWidget {
fillColor: ColorPalette.appBar,
prefixIcon: Icon(Icons.search),
border: border?OutlineInputBorder():null,
// hintText: this.hint,
hintText: this.hint,
hintStyle: TextStyle(
color: Colors.black,
color: Colors.black87,
fontSize: this.fontSizeHint,
)
)

View File

@@ -134,6 +134,11 @@ packages:
url: "https://pub.dev"
source: hosted
version: "2.0.1"
flutter_localizations:
dependency: "direct main"
description: flutter
source: sdk
version: "0.0.0"
flutter_test:
dependency: "direct dev"
description: flutter
@@ -180,10 +185,10 @@ packages:
dependency: "direct main"
description:
name: intl
sha256: a3715e3bc90294e971cb7dc063fbf3cd9ee0ebf8604ffeafabd9e6f16abbdbe6
sha256: "3bc132a9dbce73a7e4a21a17d06e1878839ffbf975568bc875c60537824b0c4d"
url: "https://pub.dev"
source: hosted
version: "0.18.0"
version: "0.18.1"
js:
dependency: transitive
description:
@@ -292,10 +297,10 @@ packages:
dependency: transitive
description:
name: plugin_platform_interface
sha256: "6a2128648c854906c53fa8e33986fc0247a1116122f9534dd20e3ab9e16a32bc"
sha256: "4820fbfdb9478b1ebae27888254d445073732dae3d6ea81f0b7e06d5dedc3f02"
url: "https://pub.dev"
source: hosted
version: "2.1.4"
version: "2.1.8"
pointycastle:
dependency: transitive
description:
@@ -316,10 +321,10 @@ packages:
dependency: "direct main"
description:
name: shared_preferences
sha256: "858aaa72d8f61637d64e776aca82e1c67e6d9ee07979123c5d17115031c1b13b"
sha256: "81429e4481e1ccfb51ede496e916348668fd0921627779233bd24cc3ff6abd02"
url: "https://pub.dev"
source: hosted
version: "2.1.0"
version: "2.2.2"
shared_preferences_android:
dependency: transitive
description:
@@ -348,10 +353,10 @@ packages:
dependency: transitive
description:
name: shared_preferences_platform_interface
sha256: fb5cf25c0235df2d0640ac1b1174f6466bd311f621574997ac59018a6664548d
sha256: "22e2ecac9419b4246d7c22bfbbda589e3acf5c0351137d87dd2939d984d37c3b"
url: "https://pub.dev"
source: hosted
version: "2.2.0"
version: "2.3.2"
shared_preferences_web:
dependency: transitive
description:
@@ -487,4 +492,4 @@ packages:
version: "1.0.0"
sdks:
dart: ">=3.2.3 <4.0.0"
flutter: ">=3.3.0"
flutter: ">=3.10.0"

View File

@@ -21,6 +21,8 @@ dependencies:
shared_preferences: ^2.0.15
get:
brasil_fields:
flutter_localizations:
sdk: flutter
dev_dependencies:
flutter_test: