· 5 years ago · Sep 16, 2020, 09:38 PM
1import 'dart:async';
2
3import 'package:path/path.dart';
4import 'package:sqflite/sqflite.dart';
5
6class CreateDatabaseHelper {
7 static final CreateDatabaseHelper _instance = CreateDatabaseHelper.internal();
8 final int databaseVersion = 37;
9
10 factory CreateDatabaseHelper() => _instance;
11
12 CreateDatabaseHelper.internal();
13
14 Database _db;
15
16 Future<Database> get db async {
17 _db = await initDb();
18 return _db;
19 }
20
21 Future<Database> initDb() async {
22 print('--> Buscando path');
23 final databasePath = await getDatabasesPath();
24
25 print('--> Buscando BD');
26 final path = join(databasePath, "demo.db");
27
28 print('--> Criando tabelas do banco');
29 return await openDatabase(path, version: databaseVersion,
30 onCreate: (Database db, int version) async {
31 print('Criando tabela Configuracoes');
32 await db.execute(
33 " CREATE TABLE IF NOT EXISTS Config(id INTEGER PRIMARY KEY, codigoTecnico INTEGER, codigoFilial INTEGER, ambiente TEXT, dtAtualizacao TEXT, dtAtualizacaoTabelaPreco TEXT, dtAtualizacaoAnaliseMargem TEXT, dtAtualizacaoAnaliseMeta TEXT, dtAtualizacaoTecnico TEXT, dtAtualizacaoCapCafe TEXT, dtAtualizacaoAnaliseCap TEXT, codigoUsuario INTEGER, perfil TEXT, versao TEXT) ");
34
35 print('Criando tabela TipoTitulo');
36 await db.execute(
37 " CREATE TABLE IF NOT EXISTS TipoTitulo(id INTEGER, codigo TEXT PRIMARY KEY, descricao TEXT) ");
38
39 print('Criando tabela Filial');
40 await db.execute(
41 " CREATE TABLE IF NOT EXISTS Filial(codigo INTEGER PRIMARY KEY, nome TEXT, UF VARCHAR(2)) ");
42
43 print('Criando tabela Cultura');
44 await db.execute(
45 " CREATE TABLE IF NOT EXISTS Cultura(codigo INTEGER PRIMARY KEY, descricao TEXT) ");
46
47 print('Criando tabela Produtor');
48 await db.execute(
49 " CREATE TABLE IF NOT EXISTS Produtor(codigo INTEGER PRIMARY KEY, nome TEXT, endereco TEXT, endNumero TEXT, endBairro TEXT, endCidade TEXT, endComplemento TEXT, endUF TEXT, endCep VARCHAR(8), telFixo TEXT, telCelular TEXT, observacao TEXT, opeExe TEXT) ");
50
51 print('Criando tabela Propriedade');
52 await db.execute(
53 " CREATE TABLE IF NOT EXISTS Propriedade(codigo INTEGER, codigoProdutor INTEGER, nome TEXT, endereco TEXT, endNumero TEXT, endBairro TEXT, endCidade TEXT, endComplemento TEXT, endUF TEXT, endCep VARCHAR(8), telFixo TEXT, telCelular TEXT, observacao TEXT, latitude TEXT, longitude TEXT, latitudeUTM TEXT, longitudeUTM TEXT, treinamentoSocioAmbiental TEXT, dataTreinamentoSocioAmbiental DATE, obsTreinamentoSocioAmbiental TEXT, recomendacaoComodoAgrotoxico TEXT, dataRecomendacaoComodoAgrotoxico DATE, obsRecomendacaoComodoAgrotoxico TEXT, recomendacaoDevolucaoEmbalagem TEXT, dataRecomendacaoDevolucaoEmbalagem DATE, obsRecomendacaoDevolucaoEmbalagem TEXT, codigoCAR TEXT, ACU_Aves TEXT, GCO_BezerrosFemea TEXT, GCO_BezerrosMachos TEXT, GCO_Garrotes TEXT, GCO_Matrizes TEXT, GCO_Novilhas TEXT, GCO_Touros TEXT, GLE_ProducaoLeiteMes TEXT, LAN_AreaLavoura TEXT, LAN_CodLavoura TEXT, OCU_Cria TEXT, OCU_Engorda TEXT, OCU_Machos TEXT, OCU_Matrizes TEXT, OCU_Recria TEXT, SCU_EmCrescimento TEXT, SCU_EmTerminacao TEXT, SCU_Leitoes TEXT, SCU_Matrizes TEXT, opeExe VARCHAR(1), " +
54 " PRIMARY KEY (codigoProdutor, codigo) " +
55 " FOREIGN KEY (codigoProdutor) REFERENCES Produtor(codigo)) ");
56
57 print('Criando tabela AreasDemarcadas');
58 await db.execute("CREATE TABLE IF NOT EXISTS AreasDemarcadas(codigo INTEGER PRIMARY KEY, codigoProdutor INTEGER, codigoPropriedade INTEGER, descricaoArea TEXT, seqArea INTEGER, " +
59 " FOREIGN KEY(codigoPropriedade) REFERENCES Propriedade(codigo) " +
60 " FOREIGN KEY(codigoProdutor) REFERENCES Produtor(codigo)) ");
61
62 print('Criando tabela Ponto');
63 await db.execute("CREATE TABLE IF NOT EXISTS Pontos(codigo INTEGER PRIMARY KEY, codigoArea INTEGER, sequenciaPonto INTEGER, latitude TEXT, longitude TEXT, " +
64 " FOREIGN KEY(codigoArea) REFERENCES AreasDemarcadas(codigo)) ");
65
66 print('Criando tabela Safra');
67 await db.execute(
68 " CREATE TABLE IF NOT EXISTS Safra(codigo VARCHAR(10) PRIMARY KEY, descricao TEXT) ");
69
70 print('Criando tabela Talhao');
71 await db.execute(
72 " CREATE TABLE IF NOT EXISTS Talhao(id INTEGER, codigo INTEGER, nome TEXT, codigoProdutor INTEGER, codigoPropriedade INTEGER, codigoCultura INTEGER, codigoSafra TEXT, espacoPlantas NUMBER(9,2), espacoCarreiras NUMBER(9,2), idTalhao NUMBER(11,0), numPlantas NUMBER(11,2), anoPlantio DATE, areaTotal NUMBER(11,2), prodPrevista NUMBER(11,2), prodRealizada NUMBER(11,2), opeExe VARCHAR(1), talhaoOrigem INTEGER, talhaoPai INTEGER, idMobile TEXT, " +
73 " PRIMARY KEY (codigoProdutor, codigoPropriedade, codigoCultura, codigoSafra, codigo) " +
74 " FOREIGN KEY (codigoProdutor) REFERENCES Produtor(codigo) " +
75 " FOREIGN KEY (codigoPropriedade) REFERENCES Propriedade(codigo) " +
76 " FOREIGN KEY (codigoCultura) REFERENCES Cultura0(codigo) " +
77 " FOREIGN KEY (codigoSafra) REFERENCES Safra(codigo)) ");
78
79 print('Criando tabela NotificacoesPropriedade');
80 await db.execute(
81 " CREATE TABLE IF NOT EXISTS NotificacoesPropriedade(codigo INTEGER, codigoProdutor INTEGER, codigoPropriedade INTEGER, descricao TEXT, data DATE, situacao TEXT, titulo TEXT, " +
82 " PRIMARY KEY (codigoProdutor, codigoPropriedade, codigo) " +
83 " FOREIGN KEY (codigoProdutor) REFERENCES Produtor(codigo) " +
84 " FOREIGN KEY (codigoPropriedade) REFERENCES Propriedade(codigo)) ");
85
86 print('Criando tabela NotificacoesCooperado');
87 await db.execute(
88 " CREATE TABLE IF NOT EXISTS NotificacoesCooperado(codigo INTEGER, codigoProdutor INT, descricao TEXT, data DATE, situacao TEXT, titulo TEXT, " +
89 " PRIMARY KEY (codigoProdutor, codigo) " +
90 " FOREIGN KEY (codigoProdutor) REFERENCES Produtor(codigo)) ");
91
92 print('Criando tabela Notificacoes');
93 await db.execute(
94 " CREATE TABLE IF NOT EXISTS Notificacoes(id INTEGER, codigo INTEGER PRIMARY KEY, descricao TEXT, data DATE, situacao TEXT, titulo TEXT) ");
95
96 print('Criando tabela TitulosCP');
97 await db.execute(
98 " CREATE TABLE IF NOT EXISTS TitulosCP(numTitulo VARCHAR(15), codigoFilial NUMBER(4), codigoTipoTitulo VARCHAR(3), codigoProdutor NUMBER(9), dtEmissao DATE, dtVencimento DATE, valor NUMBER(11,2), observacao TEXT, " +
99 " PRIMARY KEY (codigoFilial, codigoTipoTitulo, codigoProdutor, numTitulo) " +
100 " FOREIGN KEY (codigoFilial) REFERENCES Filial(codigoFilial) " +
101 " FOREIGN KEY (codigoTipoTitulo) REFERENCES TipoTitulo(codigoTipoTitulo) " +
102 " FOREIGN KEY (codigoProdutor) REFERENCES Produtor(codigo)) ");
103
104 print('Criando tabela TitulosCR');
105 await db.execute(
106 " CREATE TABLE IF NOT EXISTS TitulosCR(numTitulo VARCHAR(15), codigoFilial NUMBER(4), codigoTipoTitulo VARCHAR(3), codigoProdutor NUMBER(9), numBoleto VARCHAR(20), dtEmissao DATE, dtVencimento DATE, valor NUMBER(11,2), observacao TEXT, " +
107 " PRIMARY KEY (codigoFilial, codigoTipoTitulo, codigoProdutor, numTitulo) " +
108 " FOREIGN KEY (codigoFilial) REFERENCES Filial(codigoFilial) " +
109 " FOREIGN KEY (codigoTipoTitulo) REFERENCES TipoTitulo(codigoTipoTitulo) " +
110 " FOREIGN KEY (codigoProdutor) REFERENCES Produtor(codigoProdutor)) ");
111
112 print('Criando tabela Tecnicos');
113 await db.execute(
114 " CREATE TABLE IF NOT EXISTS Tecnico(id INTEGER, codTecnico INTEGER PRIMARY KEY, nomTecnico TEXT, codigoFilial INTEGER, filialTecnico TEXT, qtdAtualizado INTEGER, qtdTotal INTEGER, percentAtualizado NUMBER(11,2)," +
115 " FOREIGN KEY (filialTecnico) REFERENCES Filial(codigoFilial)) ");
116
117 print('Criando tabela TabelaPreco');
118 await db.execute(
119 " CREATE TABLE IF NOT EXISTS TabelaPreco(id INTEGER, codDerivacao TEXT, codProduto TEXT, descProduto TEXT, codAgpComercial TEXT, codAgpEstoque TEXT, valor1 TEXT, valor2 TEXT, valor3 TEXT, valor4 TEXT, valor5 TEXT, valor6 TEXT, valor7 TEXT, valor8 TEXT, valor9 TEXT, valor10 TEXT, tabela1 TEXT, tabela2 TEXT, tabela3 TEXT, tabela4 TEXT, tabela5 TEXT, tabela6 TEXT, tabela7 TEXT, tabela8 TEXT, tabela9 TEXT, tabela10 TEXT, " +
120 " PRIMARY KEY (codProduto, codDerivacao)) ");
121
122 print('Criando tabela Agrupamento');
123 await db.execute(
124 " CREATE TABLE IF NOT EXISTS Agrupamento(codAgrupamento TEXT, codSegmento TEXT, descAgrupamento TEXT, tipoAgrupamento TEXT," +
125 " PRIMARY KEY (codAgrupamento, codSegmento)) ");
126
127 print('Criando tabela TabelasPreco');
128 await db.execute(
129 " CREATE TABLE IF NOT EXISTS TabelasPreco(id INTEGER, tabela1 TEXT, tabela2 TEXT, tabela3 TEXT, tabela4 TEXT, tabela5 TEXT, tabela6 TEXT, tabela7 TEXT, tabela8 TEXT,tabela9 TEXT, tabela10 TEXT) ");
130
131 print('Criando tabela BiAnaliseMargem');
132 await db.execute(
133 " CREATE TABLE IF NOT EXISTS BiAnaliseMargem(codEmpresa INTEGER, codFilial INTEGER, codSegmento TEXT, mes INTEGER, ano INTEGER, metaMargem REAL, metaVenda REAL, valorLiquido REAL, vlrAntecipado REAL, vlrCmv REAL, vlrMargem REAL, vlrPedido REAL, vlrProjetado REAL, vlrVenda REAL, " +
134 " PRIMARY KEY (codEmpresa, codFilial, codSegmento, mes, ano) " +
135 " FOREIGN KEY (codFilial) REFERENCES Filial(codigoFilial) " +
136 " FOREIGN KEY (codSegmento) REFERENCES Agrupamento(codSegmento)) ");
137
138 print('Criando tabela BiAnaliseMeta');
139 await db.execute(
140 " CREATE TABLE IF NOT EXISTS BiAnaliseMeta(codEmpresa INTEGER, codFilial INTEGER, codSegmento TEXT, codAgpComercial TEXT, codRepresentante INTEGER, mes INTEGER, ano INTEGER, metaMargem REAL, metaVenda REAL, vlrMargem REAL, vlrVenda REAL, " +
141 " PRIMARY KEY (codEmpresa, codFilial, codSegmento, codAgpComercial, mes, ano) " +
142 " FOREIGN KEY (codFilial) REFERENCES Filial(codigoFilial) " +
143 " FOREIGN KEY (codSegmento) REFERENCES Agrupamento(codSegmento)" +
144 " FOREIGN KEY (codRepresentante) REFERENCES Tecnico(codTecnico)) ");
145
146 print('Criando tabela CaptacaoCafe');
147 await db.execute(
148 " CREATE TABLE IF NOT EXISTS CaptacaoCafe(codEmpresa INTEGER, codFilial INTEGER, mes INTEGER, ano INTEGER, sacasMeta INTEGER, sacasRemessa INTEGER, sacasAmostra INTEGER, " +
149 " PRIMARY KEY (codEmpresa, codFilial, mes, ano) " +
150 " FOREIGN KEY (codFilial) REFERENCES Filial(codigoFilial)) ");
151
152 await db.execute(
153 " CREATE TABLE IF NOT EXISTS AnaliseCaptacao(codEmpresa INTEGER, codFilial INTEGER, mes INTEGER, ano INTEGER, sacasMeta INTEGER, sacasRemessa INTEGER, " +
154 " PRIMARY KEY (codEmpresa, codFilial, mes, ano) " +
155 " FOREIGN KEY (codFilial) REFERENCES Filial(codigoFilial)) ");
156
157 // print('Criando tabela QuestionarioFairTrade');
158 // await db.execute(
159 // " CREATE TABLE IF NOT EXISTS QuestionarioFairTrade(ID INTEGER, CodEmpresa INTEGER, CodProdutor INTEGER, CodPropriedade INTEGER, TreSoc TEXT, DataTreSoc DATE, ObsTreSoc TEXT, RecCag TEXT, DataRecCag DATE, ObsRecCag TEXT, RecEmb TEXT, DataRecEmb DATE, ObsRecEmb TEXT, CodCar TEXT, " +
160 // " PRIMARY KEY (CodEmpresa, CodProdutor, CodPropriedade) " +
161 // " FOREIGN KEY (CodProdutor) REFERENCES Produtor(codigoProdutor) " +
162 // " FOREIGN KEY (CodPropriedade) REFERENCES Propriedade(codigo)) "
163 // );
164 }, onUpgrade: (Database db, int oldVersion, int newVersion) async {
165 print("Versão Antiga: " + oldVersion.toString());
166 print("Versão Nova: " + newVersion.toString());
167
168 print('--> Criando tabela Configuracoes');
169 await db.execute(
170 " CREATE TABLE IF NOT EXISTS Config(id INTEGER PRIMARY KEY, codigoTecnico INTEGER, ambiente TEXT, dtAtualizacao DATETIME) ");
171
172 print('--> Alterando tabela TitulosCP');
173 await db.execute(" PRAGMA foreign_keys=off; " +
174 " BEGIN TRANSACTION; " +
175 " ALTER TABLE TitulosCP RENAME old_TitulosCP; " +
176 " CREATE TABLE TitulosCP(numTitulo VARCHAR(15), codigoFilial NUMBER(4), codigoTipoTitulo VARCHAR(3), codigoProdutor NUMBER(9), dtEmissao DATE, dtVencimento DATE, valor NUMBER(11,2), observacao TEXT, " +
177 " PRIMARY KEY (codigoFilial, codigoTipoTitulo, codigoProdutor, numTitulo) " +
178 " FOREIGN KEY (codigoFilial) REFERENCES Filial(codigoFilial) " +
179 " FOREIGN KEY (codigoTipoTitulo) REFERENCES TipoTitulo(codigoTipoTitulo) " +
180 " FOREIGN KEY (codigoProdutor) REFERENCES Produtor(codigo)); " +
181 " INSERT INTO TitulosCP SELECT * FROM old_TitulosCP " +
182 " COMMIT; " +
183 " PRAGMA foreign_keys=on; " +
184 " DROP TABLE old_TitulosCP ");
185
186 print('--> Alterando tabela TitulosCR');
187 await db.execute(" PRAGMA foreign_keys=off; " +
188 " BEGIN TRANSACTION; " +
189 " ALTER TABLE TitulosCR RENAME old_TitulosCR; " +
190 " CREATE TABLE TitulosCR(numTitulo VARCHAR(15), codigoFilial NUMBER(4), codigoTipoTitulo VARCHAR(3), codigoProdutor NUMBER(9), dtEmissao DATE, dtVencimento DATE, valor NUMBER(11,2), observacao TEXT, " +
191 " PRIMARY KEY (codigoFilial, codigoTipoTitulo, codigoProdutor, numTitulo) " +
192 " FOREIGN KEY (codigoFilial) REFERENCES Filial(codigoFilial) " +
193 " FOREIGN KEY (codigoTipoTitulo) REFERENCES TipoTitulo(codigoTipoTitulo) " +
194 " FOREIGN KEY (codigoProdutor) REFERENCES Produtor(codigo)); " +
195 " INSERT INTO TitulosCR SELECT * FROM old_TitulosCR " +
196 " COMMIT; " +
197 " PRAGMA foreign_keys=on; " +
198 " DROP TABLE old_TitulosCR ");
199
200 print("--> Alterando tabela Talhão");
201 List tblTalhao = await db.rawQuery("PRAGMA table_info(Talhao)", null);
202
203 if (tblTalhao != null) {
204 bool colunaExiste = false;
205 for (Map m in tblTalhao) {
206 String name = m["name"];
207 if (name == "talhaoOrigem") {
208 colunaExiste = true;
209 }
210 }
211
212 if (!colunaExiste) {
213 await db.execute(" ALTER TABLE Talhao ADD talhaoOrigem INTEGER ");
214 }
215 }
216
217 print("--> Alterando tabela Talhão");
218 List tblTalhao2 = await db.rawQuery("PRAGMA table_info(Talhao)", null);
219
220 if (tblTalhao2 != null) {
221 bool colunaExiste = false;
222 for (Map m in tblTalhao2) {
223 String name = m["name"];
224 if (name == "talhaoPai") {
225 colunaExiste = true;
226 }
227 }
228
229 if (!colunaExiste) {
230 await db.execute(" ALTER TABLE Talhao ADD talhaoPai INTEGER ");
231 }
232 }
233
234 print("--> Alterando tabela Notificações");
235 List tblNot = await db.rawQuery("PRAGMA table_info(Notificacoes)", null);
236
237 if (tblNot != null) {
238 bool colunaExiste = false;
239 for (Map m in tblNot) {
240 String name = m["name"];
241 if (name == "titulo") {
242 colunaExiste = true;
243 }
244 }
245
246 if (!colunaExiste) {
247 await db.execute(" ALTER TABLE Notificacoes ADD titulo TEXT ");
248 }
249 }
250
251 print("--> Alterando tabela Notificações do Cooperado");
252 List tblNotCoop =
253 await db.rawQuery("PRAGMA table_info(NotificacoesCooperado)", null);
254
255 if (tblNotCoop != null) {
256 bool colunaExiste = false;
257 for (Map m in tblNotCoop) {
258 String name = m["name"];
259 if (name == "titulo") {
260 colunaExiste = true;
261 }
262 }
263
264 if (!colunaExiste) {
265 await db
266 .execute(" ALTER TABLE NotificacoesCooperado ADD titulo TEXT ");
267 }
268 }
269
270 print("--> Alterando tabela Notificações da Propriedade");
271 List tblNotProp =
272 await db.rawQuery("PRAGMA table_info(NotificacoesPropriedade)", null);
273
274 if (tblNotProp != null) {
275 bool colunaExiste = false;
276 for (Map m in tblNotProp) {
277 String name = m["name"];
278 if (name == "titulo") {
279 colunaExiste = true;
280 }
281 }
282
283 if (!colunaExiste) {
284 await db
285 .execute(" ALTER TABLE NotificacoesPropriedade ADD titulo TEXT ");
286 }
287 }
288
289 print("--> Alterando tabela Talhão");
290 List tblTalhao3 = await db.rawQuery("PRAGMA table_info(Talhao)", null);
291
292 if (tblTalhao3 != null) {
293 bool colunaExiste = false;
294 for (Map m in tblTalhao3) {
295 String name = m["name"];
296 if (name == "idMobile") {
297 colunaExiste = true;
298 }
299 }
300
301 if (!colunaExiste) {
302 await db.execute(" ALTER TABLE Talhao ADD idMobile TEXT ");
303 }
304 }
305
306 print("--> Alterando tabela Configurações");
307 List tblConfig = await db.rawQuery("PRAGMA table_info(Config)", null);
308 if (tblConfig != null) {
309 List<String> colunas = new List<String>();
310 colunas.add("codigoUsuario");
311 colunas.add("dtAtualizacaoAnaliseCap");
312 colunas.add("perfil");
313 colunas.add("versao");
314
315 for (String item in colunas) {
316 bool colunaExiste = false;
317
318 for (Map m in tblConfig) {
319 String name = m["name"];
320
321 if (name == item) {
322 colunaExiste = true;
323 continue;
324 }
325 }
326
327 if (!colunaExiste) {
328 await db.execute(" ALTER TABLE Config ADD $item INTEGER ");
329 }
330 }
331 }
332
333 print('--> Criando tabela Tecnicos');
334 await db.execute(
335 " CREATE TABLE IF NOT EXISTS Tecnico(id INTEGER, codTecnico INTEGER PRIMARY KEY, nomTecnico TEXT) ");
336
337 print('--> Criando tabela TabelaPreco');
338 await db.execute(
339 " CREATE TABLE IF NOT EXISTS TabelaPreco(id INTEGER, codDerivacao TEXT, codProduto TEXT, descProduto TEXT, tabPreco TEXT, " +
340 " PRIMARY KEY (codProduto, codDerivacao)) ");
341
342 print("--> Alterando tabela Tabela de Preço");
343 List tblTabPreco1 =
344 await db.rawQuery("PRAGMA table_info(TabelaPreco)", null);
345
346 if (tblTabPreco1 != null) {
347 bool colunaExiste = false;
348 for (Map m in tblTabPreco1) {
349 String name = m["name"];
350 if (name == "codAgpComercial") {
351 colunaExiste = true;
352 }
353 }
354
355 if (!colunaExiste) {
356 await db
357 .execute(" ALTER TABLE TabelaPreco ADD codAgpComercial TEXT ");
358 }
359 }
360
361 if (tblTabPreco1 != null) {
362 bool colunaExiste = false;
363 for (Map m in tblTabPreco1) {
364 String name = m["name"];
365 if (name == "codAgpEstoque") {
366 colunaExiste = true;
367 }
368 }
369
370 if (!colunaExiste) {
371 await db.execute(" ALTER TABLE TabelaPreco ADD codAgpEstoque TEXT ");
372 }
373 }
374
375 if (tblTabPreco1 != null) {
376 bool colunaExiste = false;
377 for (Map m in tblTabPreco1) {
378 String name = m["name"];
379 if (name == "tabela1") {
380 colunaExiste = true;
381 }
382 }
383
384 if (!colunaExiste) {
385 await db.execute(" ALTER TABLE TabelaPreco ADD tabela1 TEXT ");
386 }
387 }
388
389 if (tblTabPreco1 != null) {
390 bool colunaExiste = false;
391 for (Map m in tblTabPreco1) {
392 String name = m["name"];
393 if (name == "tabela2") {
394 colunaExiste = true;
395 }
396 }
397
398 if (!colunaExiste) {
399 await db.execute(" ALTER TABLE TabelaPreco ADD tabela2 TEXT ");
400 }
401 }
402
403 if (tblTabPreco1 != null) {
404 bool colunaExiste = false;
405 for (Map m in tblTabPreco1) {
406 String name = m["name"];
407 if (name == "tabela3") {
408 colunaExiste = true;
409 }
410 }
411
412 if (!colunaExiste) {
413 await db.execute(" ALTER TABLE TabelaPreco ADD tabela3 TEXT ");
414 }
415 }
416
417 if (tblTabPreco1 != null) {
418 bool colunaExiste = false;
419 for (Map m in tblTabPreco1) {
420 String name = m["name"];
421 if (name == "tabela4") {
422 colunaExiste = true;
423 }
424 }
425
426 if (!colunaExiste) {
427 await db.execute(" ALTER TABLE TabelaPreco ADD tabela4 TEXT ");
428 }
429 }
430
431 if (tblTabPreco1 != null) {
432 bool colunaExiste = false;
433 for (Map m in tblTabPreco1) {
434 String name = m["name"];
435 if (name == "tabela5") {
436 colunaExiste = true;
437 }
438 }
439
440 if (!colunaExiste) {
441 await db.execute(" ALTER TABLE TabelaPreco ADD tabela5 TEXT ");
442 }
443 }
444
445 if (tblTabPreco1 != null) {
446 bool colunaExiste = false;
447 for (Map m in tblTabPreco1) {
448 String name = m["name"];
449 if (name == "tabela6") {
450 colunaExiste = true;
451 }
452 }
453
454 if (!colunaExiste) {
455 await db.execute(" ALTER TABLE TabelaPreco ADD tabela6 TEXT ");
456 }
457 }
458
459 if (tblTabPreco1 != null) {
460 bool colunaExiste = false;
461 for (Map m in tblTabPreco1) {
462 String name = m["name"];
463 if (name == "tabela7") {
464 colunaExiste = true;
465 }
466 }
467
468 if (!colunaExiste) {
469 await db.execute(" ALTER TABLE TabelaPreco ADD tabela7 TEXT ");
470 }
471 }
472
473 if (tblTabPreco1 != null) {
474 bool colunaExiste = false;
475 for (Map m in tblTabPreco1) {
476 String name = m["name"];
477 if (name == "tabela8") {
478 colunaExiste = true;
479 }
480 }
481
482 if (!colunaExiste) {
483 await db.execute(" ALTER TABLE TabelaPreco ADD tabela8 TEXT ");
484 }
485 }
486
487 if (tblTabPreco1 != null) {
488 bool colunaExiste = false;
489 for (Map m in tblTabPreco1) {
490 String name = m["name"];
491 if (name == "tabela9") {
492 colunaExiste = true;
493 }
494 }
495
496 if (!colunaExiste) {
497 await db.execute(" ALTER TABLE TabelaPreco ADD tabela9 TEXT ");
498 }
499 }
500
501 if (tblTabPreco1 != null) {
502 bool colunaExiste = false;
503 for (Map m in tblTabPreco1) {
504 String name = m["name"];
505 if (name == "tabela10") {
506 colunaExiste = true;
507 }
508 }
509
510 if (!colunaExiste) {
511 await db.execute(" ALTER TABLE TabelaPreco ADD tabela10 TEXT ");
512 }
513 }
514
515 if (tblTabPreco1 != null) {
516 bool colunaExiste = false;
517 for (Map m in tblTabPreco1) {
518 String name = m["name"];
519 if (name == "valor1") {
520 colunaExiste = true;
521 }
522 }
523
524 if (!colunaExiste) {
525 await db.execute(" ALTER TABLE TabelaPreco ADD valor1 TEXT ");
526 }
527 }
528
529 if (tblTabPreco1 != null) {
530 bool colunaExiste = false;
531 for (Map m in tblTabPreco1) {
532 String name = m["name"];
533 if (name == "valor2") {
534 colunaExiste = true;
535 }
536 }
537
538 if (!colunaExiste) {
539 await db.execute(" ALTER TABLE TabelaPreco ADD valor2 TEXT ");
540 }
541 }
542
543 if (tblTabPreco1 != null) {
544 bool colunaExiste = false;
545 for (Map m in tblTabPreco1) {
546 String name = m["name"];
547 if (name == "valor3") {
548 colunaExiste = true;
549 }
550 }
551
552 if (!colunaExiste) {
553 await db.execute(" ALTER TABLE TabelaPreco ADD valor3 TEXT ");
554 }
555 }
556
557 if (tblTabPreco1 != null) {
558 bool colunaExiste = false;
559 for (Map m in tblTabPreco1) {
560 String name = m["name"];
561 if (name == "valor4") {
562 colunaExiste = true;
563 }
564 }
565
566 if (!colunaExiste) {
567 await db.execute(" ALTER TABLE TabelaPreco ADD valor4 TEXT ");
568 }
569 }
570
571 if (tblTabPreco1 != null) {
572 bool colunaExiste = false;
573 for (Map m in tblTabPreco1) {
574 String name = m["name"];
575 if (name == "valor5") {
576 colunaExiste = true;
577 }
578 }
579
580 if (!colunaExiste) {
581 await db.execute(" ALTER TABLE TabelaPreco ADD valor5 TEXT ");
582 }
583 }
584
585 if (tblTabPreco1 != null) {
586 bool colunaExiste = false;
587 for (Map m in tblTabPreco1) {
588 String name = m["name"];
589 if (name == "valor6") {
590 colunaExiste = true;
591 }
592 }
593
594 if (!colunaExiste) {
595 await db.execute(" ALTER TABLE TabelaPreco ADD valor6 TEXT ");
596 }
597 }
598
599 if (tblTabPreco1 != null) {
600 bool colunaExiste = false;
601 for (Map m in tblTabPreco1) {
602 String name = m["name"];
603 if (name == "valor7") {
604 colunaExiste = true;
605 }
606 }
607
608 if (!colunaExiste) {
609 await db.execute(" ALTER TABLE TabelaPreco ADD valor7 TEXT ");
610 }
611 }
612
613 if (tblTabPreco1 != null) {
614 bool colunaExiste = false;
615 for (Map m in tblTabPreco1) {
616 String name = m["name"];
617 if (name == "valor8") {
618 colunaExiste = true;
619 }
620 }
621
622 if (!colunaExiste) {
623 await db.execute(" ALTER TABLE TabelaPreco ADD valor8 TEXT ");
624 }
625 }
626
627 if (tblTabPreco1 != null) {
628 bool colunaExiste = false;
629 for (Map m in tblTabPreco1) {
630 String name = m["name"];
631 if (name == "valor9") {
632 colunaExiste = true;
633 }
634 }
635
636 if (!colunaExiste) {
637 await db.execute(" ALTER TABLE TabelaPreco ADD valor9 TEXT ");
638 }
639 }
640
641 if (tblTabPreco1 != null) {
642 bool colunaExiste = false;
643 for (Map m in tblTabPreco1) {
644 String name = m["name"];
645 if (name == "valor10") {
646 colunaExiste = true;
647 }
648 }
649
650 if (!colunaExiste) {
651 await db.execute(" ALTER TABLE TabelaPreco ADD valor10 TEXT ");
652 }
653 }
654
655 print('--> Criando tabela Agrupamento');
656 await db.execute(
657 " CREATE TABLE IF NOT EXISTS Agrupamento(codAgrupamento TEXT, codSegmento TEXT, descAgrupamento TEXT, tipoAgrupamento TEXT," +
658 " PRIMARY KEY (codAgrupamento, codSegmento)) ");
659
660 print("--> Alterando tabela Produtor");
661 List tblProdutor1 =
662 await db.rawQuery("PRAGMA table_info(Produtor)", null);
663
664 if (tblProdutor1 != null) {
665 bool colunaExiste = false;
666 for (Map m in tblProdutor1) {
667 String name = m["name"];
668 if (name == "opeExe") {
669 colunaExiste = true;
670 }
671 }
672
673 if (!colunaExiste) {
674 await db.execute(" ALTER TABLE Produtor ADD opeExe TEXT ");
675 }
676 }
677
678 print('--> Criando tabela TabelasPreco');
679 await db.execute(
680 " CREATE TABLE IF NOT EXISTS TabelasPreco(id INTEGER, tabela1 TEXT, tabela2 TEXT, tabela3 TEXT, tabela4 TEXT, tabela5 TEXT, tabela6 TEXT, tabela7 TEXT, tabela8 TEXT,tabela9 TEXT, tabela10 TEXT) ");
681
682 print("--> Alterando tabela Config");
683 List tblConfig1 = await db.rawQuery("PRAGMA table_info(Config)", null);
684
685 if (tblConfig1 != null) {
686 bool colunaExiste = false;
687 for (Map m in tblConfig1) {
688 String name = m["name"];
689 if (name == "dtAtualizacaoTabelaPreco") {
690 colunaExiste = true;
691 }
692 }
693
694 if (!colunaExiste) {
695 await db.execute(
696 " ALTER TABLE Config ADD dtAtualizacaoTabelaPreco TEXT ");
697 }
698 }
699
700 print("--> Alterando tabela Tecnicos");
701 List tblTecnico = await db.rawQuery("PRAGMA table_info(Tecnico)", null);
702
703 if (tblTecnico != null) {
704 bool colunaExiste = false;
705 for (Map m in tblTecnico) {
706 String name = m["name"];
707 if (name == "codigoFilial") {
708 colunaExiste = true;
709 }
710 }
711
712 if (!colunaExiste) {
713 await db.execute(
714 " ALTER TABLE Tecnico ADD codigoFilial INTEGER REFERENCES Filial(codigoFilial) ");
715 }
716 }
717
718 if (tblTecnico != null) {
719 bool colunaExiste = false;
720 for (Map m in tblTecnico) {
721 String name = m["name"];
722 if (name == "qtdAtualizado") {
723 colunaExiste = true;
724 }
725 }
726
727 if (!colunaExiste) {
728 await db.execute(" ALTER TABLE Tecnico ADD qtdAtualizado INTEGER ");
729 }
730 }
731
732 if (tblTecnico != null) {
733 bool colunaExiste = false;
734 for (Map m in tblTecnico) {
735 String name = m["name"];
736 if (name == "qtdTotal") {
737 colunaExiste = true;
738 }
739 }
740
741 if (!colunaExiste) {
742 await db.execute(" ALTER TABLE Tecnico ADD qtdTotal INTEGER ");
743 }
744 }
745
746 if (tblTecnico != null) {
747 bool colunaExiste = false;
748 for (Map m in tblTecnico) {
749 String name = m["name"];
750 if (name == "percentAtualizado") {
751 colunaExiste = true;
752 }
753 }
754
755 if (!colunaExiste) {
756 await db.execute(
757 " ALTER TABLE Tecnico ADD percentAtualizado NUMBER(11,2) ");
758 }
759 }
760
761 if (tblTecnico != null) {
762 bool colunaExiste = false;
763 for (Map m in tblTecnico) {
764 String name = m["name"];
765 if (name == "filialTecnico") {
766 colunaExiste = true;
767 }
768 }
769
770 if (!colunaExiste) {
771 await db.execute(" ALTER TABLE Tecnico ADD filialTecnico TEXT ");
772 }
773 }
774
775 print('--> Criando tabela BiAnaliseMargem');
776 await db.execute(
777 " CREATE TABLE IF NOT EXISTS BiAnaliseMargem(codEmpresa INTEGER, codFilial INTEGER, codSegmento TEXT, mes INTEGER, ano INTEGER, metaMargem REAL, metaVenda REAL, valorLiquido REAL, vlrAntecipado REAL, vlrCmv REAL, vlrMargem REAL, vlrPedido REAL, vlrProjetado REAL, vlrVenda REAL, " +
778 " PRIMARY KEY (codEmpresa, codFilial, codSegmento, mes, ano) " +
779 " FOREIGN KEY (codFilial) REFERENCES Filial(codigoFilial) " +
780 " FOREIGN KEY (codSegmento) REFERENCES Agrupamento(codSegmento)) ");
781
782 print('--> Criando tabela BiAnaliseMeta');
783 await db.execute(
784 " CREATE TABLE IF NOT EXISTS BiAnaliseMeta(codEmpresa INTEGER, codFilial INTEGER, codSegmento TEXT, codAgpComercial TEXT, codRepresentante INTEGER, mes INTEGER, ano INTEGER, metaMargem REAL, metaVenda REAL, vlrMargem REAL, vlrVenda REAL, " +
785 " PRIMARY KEY (codEmpresa, codFilial, codSegmento, codAgpComercial, mes, ano) " +
786 " FOREIGN KEY (codFilial) REFERENCES Filial(codigoFilial) " +
787 " FOREIGN KEY (codSegmento) REFERENCES Agrupamento(codSegmento)" +
788 " FOREIGN KEY (codRepresentante) REFERENCES Tecnico(codTecnico)) ");
789
790 print('--> Alterando tabela Configuracoes');
791 List tblConfig4 = await db.rawQuery("PRAGMA table_info(Config)", null);
792
793 if (tblConfig4 != null) {
794 bool colunaExiste = false;
795 for (Map m in tblConfig4) {
796 String name = m["name"];
797 if (name == "codigoFilial") {
798 colunaExiste = true;
799 }
800 }
801
802 if (!colunaExiste) {
803 await db.execute(" ALTER TABLE Config ADD codigoFilial INTEGER ");
804 }
805 }
806
807 if (tblConfig4 != null) {
808 bool colunaExiste = false;
809 for (Map m in tblConfig4) {
810 String name = m["name"];
811 if (name == "dtAtualizacaoAnaliseMargem") {
812 colunaExiste = true;
813 }
814 }
815
816 if (!colunaExiste) {
817 await db.execute(
818 " ALTER TABLE Config ADD dtAtualizacaoAnaliseMargem TEXT ");
819 }
820 }
821
822 if (tblConfig4 != null) {
823 bool colunaExiste = false;
824 for (Map m in tblConfig4) {
825 String name = m["name"];
826 if (name == "dtAtualizacaoAnaliseMeta") {
827 colunaExiste = true;
828 }
829 }
830
831 if (!colunaExiste) {
832 await db.execute(
833 " ALTER TABLE Config ADD dtAtualizacaoAnaliseMeta TEXT ");
834 }
835 }
836
837 if (tblConfig4 != null) {
838 bool colunaExiste = false;
839 for (Map m in tblConfig4) {
840 String name = m["name"];
841 if (name == "dtAtualizacaoTecnico") {
842 colunaExiste = true;
843 }
844 }
845
846 if (!colunaExiste) {
847 await db
848 .execute(" ALTER TABLE Config ADD dtAtualizacaoTecnico TEXT ");
849 }
850 }
851
852 if (tblConfig4 != null) {
853 bool colunaExiste = false;
854 for (Map m in tblConfig1) {
855 String name = m["name"];
856 if (name == "dtAtualizacaoCapCafe") {
857 colunaExiste = true;
858 }
859 }
860
861 if (!colunaExiste) {
862 await db
863 .execute(" ALTER TABLE Config ADD dtAtualizacaoCapCafe TEXT ");
864 }
865 }
866
867 print('Criando tabela CaptacaoCafe');
868 await db.execute(
869 " CREATE TABLE IF NOT EXISTS CaptacaoCafe(codEmpresa INTEGER, codFilial INTEGER, mes INTEGER, ano INTEGER, sacasMeta INTEGER, sacasRemessa INTEGER, sacasAmostra INTEGER, " +
870 " PRIMARY KEY (codEmpresa, codFilial, mes, ano) " +
871 " FOREIGN KEY (codFilial) REFERENCES Filial(codigoFilial)) ");
872
873 print('Criando tabela AnaliseCaptacao');
874 await db.execute(
875 " CREATE TABLE IF NOT EXISTS AnaliseCaptacao(codEmpresa INTEGER, codFilial INTEGER, mes INTEGER, ano INTEGER, sacasMeta INTEGER, sacasRemessa INTEGER, " +
876 " PRIMARY KEY (codEmpresa, codFilial, mes, ano) " +
877 " FOREIGN KEY (codFilial) REFERENCES Filial(codigoFilial)) ");
878
879 print('Criando tabela AreasDemarcadas');
880 await db.execute("CREATE TABLE IF NOT EXISTS AreasDemarcadas(codigo INTEGER PRIMARY KEY, codigoProdutor INTEGER, codigoPropriedade INTEGER, descricaoArea TEXT, seqArea INTEGER, " +
881 " FOREIGN KEY(codigoPropriedade) REFERENCES Propriedade(codigo) " +
882 " FOREIGN KEY(codigoProdutor) REFERENCES Produtor(codigo)) ");
883
884 print('Criando tabela Ponto');
885 await db.execute("CREATE TABLE IF NOT EXISTS Pontos(codigo INTEGER PRIMARY KEY, codigoArea INTEGER, sequenciaPonto INTEGER, latitude TEXT, longitude TEXT, " +
886 " FOREIGN KEY(codigoArea) REFERENCES AreasDemarcadas(codigo)) ");
887
888 // print('Criando tabela QuestionarioFairTrade');
889 // await db.execute(
890 // " CREATE TABLE IF NOT EXISTS QuestionarioFairTrade(ID INTEGER, CodEmpresa INTEGER, CodProdutor INTEGER, CodPropriedade INTEGER, TreSoc TEXT, DataTreSoc DATE, ObsTreSoc TEXT, RecCag TEXT, DataRecCag DATE, ObsRecCag TEXT, RecEmb TEXT, DataRecEmb DATE, ObsRecEmb TEXT, CodCar TEXT, " +
891 // " PRIMARY KEY (CodEmpresa, CodProdutor, CodPropriedade) " +
892 // " FOREIGN KEY (CodProdutor) REFERENCES Produtor(codigoProdutor) " +
893 // " FOREIGN KEY (CodPropriedade) REFERENCES Propriedade(codigo)) "
894 // );
895
896 List tblConfig5 = await db.rawQuery("PRAGMA table_info(Propriedade)", null);
897 if (tblConfig5 != null) {
898 bool colunaExiste = false;
899 for (Map m in tblConfig5) {
900 String name = m["name"];
901 if (name == "latitude") {
902 colunaExiste = true;
903 }
904 }
905
906 if (!colunaExiste) {
907 await db.execute(" ALTER TABLE Propriedade ADD latitude TEXT ");
908 }
909 }
910
911 if (tblConfig5 != null) {
912 bool colunaExiste = false;
913 for (Map m in tblConfig5) {
914 String name = m["name"];
915 if (name == "longitude") {
916 colunaExiste = true;
917 }
918 }
919
920 if (!colunaExiste) {
921 await db.execute(" ALTER TABLE Propriedade ADD longitude TEXT ");
922 }
923 }
924
925 if (tblConfig5 != null) {
926 bool colunaExiste = false;
927 for (Map m in tblConfig5) {
928 String name = m["name"];
929 if (name == "latitudeUTM") {
930 colunaExiste = true;
931 }
932 }
933
934 if (!colunaExiste) {
935 await db.execute(" ALTER TABLE Propriedade ADD latitudeUTM TEXT ");
936 }
937 }
938
939 if (tblConfig5 != null) {
940 bool colunaExiste = false;
941 for (Map m in tblConfig5) {
942 String name = m["name"];
943 if (name == "longitudeUTM") {
944 colunaExiste = true;
945 }
946 }
947
948 if (!colunaExiste) {
949 await db.execute(" ALTER TABLE Propriedade ADD longitudeUTM TEXT ");
950 }
951 }
952
953 if (tblConfig5 != null) {
954 bool colunaExiste = false;
955 for (Map m in tblConfig5) {
956 String name = m["name"];
957 if (name == "treinamentoSocioAmbiental") {
958 colunaExiste = true;
959 }
960 }
961
962 if (!colunaExiste) {
963 await db.execute(" ALTER TABLE Propriedade ADD treinamentoSocioAmbiental TEXT ");
964 }
965 }
966
967 if (tblConfig5 != null) {
968 bool colunaExiste = false;
969 for (Map m in tblConfig5) {
970 String name = m["name"];
971 if (name == "dataTreinamentoSocioAmbiental") {
972 colunaExiste = true;
973 }
974 }
975
976 if (!colunaExiste) {
977 await db.execute(" ALTER TABLE Propriedade ADD dataTreinamentoSocioAmbiental TEXT ");
978 }
979 }
980
981 if (tblConfig5 != null) {
982 bool colunaExiste = false;
983 for (Map m in tblConfig5) {
984 String name = m["name"];
985 if (name == "obsTreinamentoSocioAmbiental") {
986 colunaExiste = true;
987 }
988 }
989
990 if (!colunaExiste) {
991 await db.execute(" ALTER TABLE Propriedade ADD obsTreinamentoSocioAmbiental TEXT ");
992 }
993 }
994
995 if (tblConfig5 != null) {
996 bool colunaExiste = false;
997 for (Map m in tblConfig5) {
998 String name = m["name"];
999 if (name == "recomendacaoComodoAgrotoxico") {
1000 colunaExiste = true;
1001 }
1002 }
1003
1004 if (!colunaExiste) {
1005 await db.execute(" ALTER TABLE Propriedade ADD recomendacaoComodoAgrotoxico TEXT ");
1006 }
1007 }
1008
1009 if (tblConfig5 != null) {
1010 bool colunaExiste = false;
1011 for (Map m in tblConfig5) {
1012 String name = m["name"];
1013 if (name == "dataRecomendacaoComodoAgrotoxico") {
1014 colunaExiste = true;
1015 }
1016 }
1017
1018 if (!colunaExiste) {
1019 await db.execute(" ALTER TABLE Propriedade ADD dataRecomendacaoComodoAgrotoxico TEXT ");
1020 }
1021 }
1022
1023 if (tblConfig5 != null) {
1024 bool colunaExiste = false;
1025 for (Map m in tblConfig5) {
1026 String name = m["name"];
1027 if (name == "obsRecomendacaoComodoAgrotoxico") {
1028 colunaExiste = true;
1029 }
1030 }
1031
1032 if (!colunaExiste) {
1033 await db.execute(" ALTER TABLE Propriedade ADD obsRecomendacaoComodoAgrotoxico TEXT ");
1034 }
1035 }
1036
1037 if (tblConfig5 != null) {
1038 bool colunaExiste = false;
1039 for (Map m in tblConfig5) {
1040 String name = m["name"];
1041 if (name == "recomendacaoDevolucaoEmbalagem") {
1042 colunaExiste = true;
1043 }
1044 }
1045
1046 if (!colunaExiste) {
1047 await db.execute(" ALTER TABLE Propriedade ADD recomendacaoDevolucaoEmbalagem TEXT ");
1048 }
1049 }
1050
1051 if (tblConfig5 != null) {
1052 bool colunaExiste = false;
1053 for (Map m in tblConfig5) {
1054 String name = m["name"];
1055 if (name == "dataRecomendacaoDevolucaoEmbalagem") {
1056 colunaExiste = true;
1057 }
1058 }
1059
1060 if (!colunaExiste) {
1061 await db.execute(" ALTER TABLE Propriedade ADD dataRecomendacaoDevolucaoEmbalagem TEXT ");
1062 }
1063 }
1064
1065 if (tblConfig5 != null) {
1066 bool colunaExiste = false;
1067 for (Map m in tblConfig5) {
1068 String name = m["name"];
1069 if (name == "obsRecomendacaoDevolucaoEmbalagem") {
1070 colunaExiste = true;
1071 }
1072 }
1073
1074 if (!colunaExiste) {
1075 await db.execute(" ALTER TABLE Propriedade ADD obsRecomendacaoDevolucaoEmbalagem TEXT ");
1076 }
1077 }
1078
1079 if (tblConfig5 != null) {
1080 bool colunaExiste = false;
1081 for (Map m in tblConfig5) {
1082 String name = m["name"];
1083 if (name == "codigoCAR") {
1084 colunaExiste = true;
1085 }
1086 }
1087
1088 if (!colunaExiste) {
1089 await db.execute(" ALTER TABLE Propriedade ADD codigoCAR TEXT ");
1090 }
1091 }
1092
1093 if (tblConfig5 != null) {
1094 bool colunaExiste = false;
1095 for (Map m in tblConfig5) {
1096 String name = m["name"];
1097 if (name == "ACU_Aves") {
1098 colunaExiste = true;
1099 }
1100 }
1101
1102 if (!colunaExiste) {
1103 await db.execute(" ALTER TABLE Propriedade ADD ACU_Aves TEXT ");
1104 }
1105 }
1106
1107 if (tblConfig5 != null) {
1108 bool colunaExiste = false;
1109 for (Map m in tblConfig5) {
1110 String name = m["name"];
1111 if (name == "GCO_BezerrosFemea") {
1112 colunaExiste = true;
1113 }
1114 }
1115
1116 if (!colunaExiste) {
1117 await db.execute(" ALTER TABLE Propriedade ADD GCO_BezerrosFemea TEXT ");
1118 }
1119 }
1120
1121 if (tblConfig5 != null) {
1122 bool colunaExiste = false;
1123 for (Map m in tblConfig5) {
1124 String name = m["name"];
1125 if (name == "GCO_BezerrosMachos") {
1126 colunaExiste = true;
1127 }
1128 }
1129
1130 if (!colunaExiste) {
1131 await db.execute(" ALTER TABLE Propriedade ADD GCO_BezerrosMachos TEXT ");
1132 }
1133 }
1134
1135 if (tblConfig5 != null) {
1136 bool colunaExiste = false;
1137 for (Map m in tblConfig5) {
1138 String name = m["name"];
1139 if (name == "GCO_Garrotes") {
1140 colunaExiste = true;
1141 }
1142 }
1143
1144 if (!colunaExiste) {
1145 await db.execute(" ALTER TABLE Propriedade ADD GCO_Garrotes TEXT ");
1146 }
1147 }
1148
1149 if (tblConfig5 != null) {
1150 bool colunaExiste = false;
1151 for (Map m in tblConfig5) {
1152 String name = m["name"];
1153 if (name == "GCO_Matrizes") {
1154 colunaExiste = true;
1155 }
1156 }
1157
1158 if (!colunaExiste) {
1159 await db.execute(" ALTER TABLE Propriedade ADD GCO_Matrizes TEXT ");
1160 }
1161 }
1162
1163 if (tblConfig5 != null) {
1164 bool colunaExiste = false;
1165 for (Map m in tblConfig5) {
1166 String name = m["name"];
1167 if (name == "GCO_Novilhas") {
1168 colunaExiste = true;
1169 }
1170 }
1171
1172 if (!colunaExiste) {
1173 await db.execute(" ALTER TABLE Propriedade ADD GCO_Novilhas TEXT ");
1174 }
1175 }
1176
1177 if (tblConfig5 != null) {
1178 bool colunaExiste = false;
1179 for (Map m in tblConfig5) {
1180 String name = m["name"];
1181 if (name == "GCO_Touros") {
1182 colunaExiste = true;
1183 }
1184 }
1185
1186 if (!colunaExiste) {
1187 await db.execute(" ALTER TABLE Propriedade ADD GCO_Touros TEXT ");
1188 }
1189 }
1190
1191 if (tblConfig5 != null) {
1192 bool colunaExiste = false;
1193 for (Map m in tblConfig5) {
1194 String name = m["name"];
1195 if (name == "GLE_ProducaoLeiteMes") {
1196 colunaExiste = true;
1197 }
1198 }
1199
1200 if (!colunaExiste) {
1201 await db.execute(" ALTER TABLE Propriedade ADD GLE_ProducaoLeiteMes TEXT ");
1202 }
1203 }
1204
1205 if (tblConfig5 != null) {
1206 bool colunaExiste = false;
1207 for (Map m in tblConfig5) {
1208 String name = m["name"];
1209 if (name == "LAN_AreaLavoura") {
1210 colunaExiste = true;
1211 }
1212 }
1213
1214 if (!colunaExiste) {
1215 await db.execute(" ALTER TABLE Propriedade ADD LAN_AreaLavoura TEXT ");
1216 }
1217 }
1218
1219 if (tblConfig5 != null) {
1220 bool colunaExiste = false;
1221 for (Map m in tblConfig5) {
1222 String name = m["name"];
1223 if (name == "LAN_CodLavoura") {
1224 colunaExiste = true;
1225 }
1226 }
1227
1228 if (!colunaExiste) {
1229 await db.execute(" ALTER TABLE Propriedade ADD LAN_CodLavoura TEXT ");
1230 }
1231 }
1232
1233 if (tblConfig5 != null) {
1234 bool colunaExiste = false;
1235 for (Map m in tblConfig5) {
1236 String name = m["name"];
1237 if (name == "OCU_Cria") {
1238 colunaExiste = true;
1239 }
1240 }
1241
1242 if (!colunaExiste) {
1243 await db.execute(" ALTER TABLE Propriedade ADD OCU_Cria TEXT ");
1244 }
1245 }
1246
1247 if (tblConfig5 != null) {
1248 bool colunaExiste = false;
1249 for (Map m in tblConfig5) {
1250 String name = m["name"];
1251 if (name == "OCU_Engorda") {
1252 colunaExiste = true;
1253 }
1254 }
1255
1256 if (!colunaExiste) {
1257 await db.execute(" ALTER TABLE Propriedade ADD OCU_Engorda TEXT ");
1258 }
1259 }
1260
1261 if (tblConfig5 != null) {
1262 bool colunaExiste = false;
1263 for (Map m in tblConfig5) {
1264 String name = m["name"];
1265 if (name == "OCU_Machos") {
1266 colunaExiste = true;
1267 }
1268 }
1269
1270 if (!colunaExiste) {
1271 await db.execute(" ALTER TABLE Propriedade ADD OCU_Machos TEXT ");
1272 }
1273 }
1274
1275 if (tblConfig5 != null) {
1276 bool colunaExiste = false;
1277 for (Map m in tblConfig5) {
1278 String name = m["name"];
1279 if (name == "OCU_Matrizes") {
1280 colunaExiste = true;
1281 }
1282 }
1283
1284 if (!colunaExiste) {
1285 await db.execute(" ALTER TABLE Propriedade ADD OCU_Matrizes TEXT ");
1286 }
1287 }
1288
1289 if (tblConfig5 != null) {
1290 bool colunaExiste = false;
1291 for (Map m in tblConfig5) {
1292 String name = m["name"];
1293 if (name == "OCU_Recria") {
1294 colunaExiste = true;
1295 }
1296 }
1297
1298 if (!colunaExiste) {
1299 await db.execute(" ALTER TABLE Propriedade ADD OCU_Recria TEXT ");
1300 }
1301 }
1302
1303 if (tblConfig5 != null) {
1304 bool colunaExiste = false;
1305 for (Map m in tblConfig5) {
1306 String name = m["name"];
1307 if (name == "SCU_EmCrescimento") {
1308 colunaExiste = true;
1309 }
1310 }
1311
1312 if (!colunaExiste) {
1313 await db.execute(" ALTER TABLE Propriedade ADD SCU_EmCrescimento TEXT ");
1314 }
1315 }
1316
1317 if (tblConfig5 != null) {
1318 bool colunaExiste = false;
1319 for (Map m in tblConfig5) {
1320 String name = m["name"];
1321 if (name == "SCU_EmTerminacao") {
1322 colunaExiste = true;
1323 }
1324 }
1325
1326 if (!colunaExiste) {
1327 await db.execute(" ALTER TABLE Propriedade ADD SCU_EmTerminacao TEXT ");
1328 }
1329 }
1330
1331 if (tblConfig5 != null) {
1332 bool colunaExiste = false;
1333 for (Map m in tblConfig5) {
1334 String name = m["name"];
1335 if (name == "SCU_Leitoes") {
1336 colunaExiste = true;
1337 }
1338 }
1339
1340 if (!colunaExiste) {
1341 await db.execute(" ALTER TABLE Propriedade ADD SCU_Leitoes TEXT ");
1342 }
1343 }
1344
1345 if (tblConfig5 != null) {
1346 bool colunaExiste = false;
1347 for (Map m in tblConfig5) {
1348 String name = m["name"];
1349 if (name == "SCU_Matrizes") {
1350 colunaExiste = true;
1351 }
1352 }
1353
1354 if (!colunaExiste) {
1355 await db.execute(" ALTER TABLE Propriedade ADD SCU_Matrizes TEXT ");
1356 }
1357 }
1358
1359 if (tblConfig5 != null) {
1360 bool colunaExiste = false;
1361 for (Map m in tblConfig5) {
1362 String name = m["name"];
1363 if (name == "opeExe") {
1364 colunaExiste = true;
1365 }
1366 }
1367
1368 if (!colunaExiste) {
1369 await db.execute(" ALTER TABLE Propriedade ADD opeExe TEXT ");
1370 }
1371 }
1372 });
1373 }
1374
1375 void iniciarDB() async {
1376 print('--> Iniciar BD');
1377 await initDb();
1378 }
1379}
1380