PRAGMA foreign_keys=OFF; 

CREATE TABLE notificacao_telegram( 
      id  INTEGER    NOT NULL  , 
      nome_notificacao varchar  (255)   , 
      token_preferencial varchar  (50)   , 
 PRIMARY KEY (id)) ; 

CREATE TABLE notificacao_telegram_fazenda( 
      id  INTEGER    NOT NULL  , 
      cod_notificacao_usuario int   , 
      cod_fazenda int   NOT NULL  , 
 PRIMARY KEY (id),
FOREIGN KEY(cod_notificacao_usuario) REFERENCES notificacao_telegram_usuario(id),
FOREIGN KEY(cod_fazenda) REFERENCES tabcadfazenda(codfaz)) ; 

CREATE TABLE notificacao_telegram_usuario( 
      id  INTEGER    NOT NULL  , 
      id_notificacao int   NOT NULL  , 
      cod_usuario int   NOT NULL  , 
      ignorar_fazenda char  (1)   NOT NULL  , 
 PRIMARY KEY (id),
FOREIGN KEY(id_notificacao) REFERENCES notificacao_telegram(id),
FOREIGN KEY(cod_usuario) REFERENCES tabusuarios(coduser)) ; 

CREATE TABLE system_group( 
      id  INTEGER    NOT NULL  , 
      name text   NOT NULL  , 
 PRIMARY KEY (id)) ; 

CREATE TABLE system_group_program( 
      id  INTEGER    NOT NULL  , 
      system_group_id int   NOT NULL  , 
      system_program_id int   NOT NULL  , 
 PRIMARY KEY (id),
FOREIGN KEY(system_group_id) REFERENCES system_group(id),
FOREIGN KEY(system_program_id) REFERENCES system_program(id)) ; 

CREATE TABLE system_permissoes( 
      id  INTEGER    NOT NULL  , 
      dtultimaatualizacao datetime   , 
      nome varchar  (100)   , 
      grupo varchar  (255)   , 
      informacoes text   , 
 PRIMARY KEY (id)) ; 

CREATE TABLE system_permissoes_users( 
      id  INTEGER    NOT NULL  , 
      dtultimaatualizacao datetime   , 
      permissao_id int   NOT NULL  , 
      usuario_id int   , 
 PRIMARY KEY (id),
FOREIGN KEY(permissao_id) REFERENCES system_permissoes(id),
FOREIGN KEY(usuario_id) REFERENCES tabusuarios(coduser)) ; 

CREATE TABLE system_preference( 
      id varchar  (255)   NOT NULL  , 
      preference text   NOT NULL  , 
 PRIMARY KEY (id)) ; 

CREATE TABLE system_program( 
      id  INTEGER    NOT NULL  , 
      name text   NOT NULL  , 
      controller text   NOT NULL  , 
 PRIMARY KEY (id)) ; 

CREATE TABLE system_unit( 
      id  INTEGER    NOT NULL  , 
      name text   NOT NULL  , 
 PRIMARY KEY (id)) ; 

CREATE TABLE system_user_group( 
      id  INTEGER    NOT NULL  , 
      system_user_id int   NOT NULL  , 
      system_group_id int   NOT NULL  , 
 PRIMARY KEY (id),
FOREIGN KEY(system_group_id) REFERENCES system_group(id),
FOREIGN KEY(system_user_id) REFERENCES tabusuarios(coduser)) ; 

CREATE TABLE system_user_program( 
      id  INTEGER    NOT NULL  , 
      system_user_id int   NOT NULL  , 
      system_program_id int   NOT NULL  , 
 PRIMARY KEY (id),
FOREIGN KEY(system_program_id) REFERENCES system_program(id),
FOREIGN KEY(system_user_id) REFERENCES tabusuarios(coduser)) ; 

CREATE TABLE system_users( 
      id  INTEGER    NOT NULL  , 
      name text   NOT NULL  , 
      login text   NOT NULL  , 
      password text   NOT NULL  , 
      email text   , 
      frontpage_id int   , 
      system_unit_id int   , 
      active char  (1)   , 
 PRIMARY KEY (id),
FOREIGN KEY(frontpage_id) REFERENCES system_program(id),
FOREIGN KEY(system_unit_id) REFERENCES system_unit(id)) ; 

CREATE TABLE system_user_unit( 
      id  INTEGER    NOT NULL  , 
      system_user_id int   NOT NULL  , 
      system_unit_id int   NOT NULL  , 
 PRIMARY KEY (id),
FOREIGN KEY(system_unit_id) REFERENCES system_unit(id),
FOREIGN KEY(system_user_id) REFERENCES system_users(id)) ; 

CREATE TABLE tabagendamentoconfig( 
      id  INTEGER    NOT NULL  , 
      dtultimaatualizacao datetime   , 
      numero_prorrogado int   NOT NULL  , 
      numero_gelar_caminhao int   , 
      diasmaximoagendamento int   , 
      dias_maximo_retroativo int   , 
 PRIMARY KEY (id)) ; 

CREATE TABLE tabagexameitens( 
      codagexame  INTEGER    NOT NULL  , 
      dtultimaatualizacao datetime   , 
      dthoracriacao datetime   , 
      dt date   , 
      tipoex int   , 
      codfunc int   , 
      codclinica int   , 
      nomeclinica varchar  (255)   , 
      codexame int   , 
      nomeexame varchar  (255)   , 
      validade varchar  (255)   , 
      retorno date   , 
      situacao varchar  (10)   , 
      baixa date   , 
      id_aso int   , 
 PRIMARY KEY (codagexame),
FOREIGN KEY(id_aso) REFERENCES tabcad_aso(id_aso),
FOREIGN KEY(codfunc) REFERENCES tabcadfuncionario(codfuncionario),
FOREIGN KEY(codclinica) REFERENCES tabcadclinica(codclinica),
FOREIGN KEY(codagexame) REFERENCES tabcadexame(codexame)) ; 

CREATE TABLE tabapjus( 
      codapjus  INTEGER    NOT NULL  , 
      dtultimaatualizacao datetime   , 
      codfunc int   , 
      codjus int   NOT NULL  , 
      dataini date   , 
      datafim date   , 
      horaini text   , 
      horafim text   , 
      horaalmoco varchar  (255)   , 
      valor double  (10,2)   , 
      desconto_fiscal varchar  (1)   , 
      sabado varchar  (1)   , 
      domingo varchar  (1)   , 
      ap_faltas varchar  (1)   , 
      pg_premiacoes varchar  (1)   , 
      considerar_intineres varchar  (1)   , 
      desc_cesta varchar  (1)   , 
      fazenda_id int   , 
 PRIMARY KEY (codapjus),
FOREIGN KEY(fazenda_id) REFERENCES tabcadfazenda(codfaz),
FOREIGN KEY(codfunc) REFERENCES tabcadfuncionario(codfuncionario),
FOREIGN KEY(codjus) REFERENCES tabcadjus(codjus)) ; 

CREATE TABLE tabapmedia( 
      codmedia  INTEGER    NOT NULL  , 
      codfaz int  (11)     DEFAULT NULL, 
      codfunc int  (11)     DEFAULT NULL, 
      codveic int  (11)     DEFAULT NULL, 
      motivosupervisor varchar  (255)     DEFAULT NULL, 
      horkm double  (10,)     DEFAULT NULL, 
      bbini double  (10,)     DEFAULT 0.00, 
      bbfim double  (10,)     DEFAULT 0.00, 
      ltsgas double  (10,)     DEFAULT 0.00, 
      ltsalc double  (10,)     DEFAULT 0.00, 
      ltsdie double  (10,)     DEFAULT 0.00, 
      codestoque int  (11)     DEFAULT NULL, 
      tipolanc varchar  (255)     DEFAULT NULL, 
      hora datetime   , 
      estoqueatual double  (10,)     DEFAULT NULL, 
      mediaatual double  (10,)     DEFAULT NULL, 
      numtrn int  (11)     DEFAULT NULL, 
      coduser int  (11)     DEFAULT NULL, 
      placa varchar  (8)     DEFAULT NULL, 
      idmotorista int  (11)     DEFAULT NULL, 
      veiculo_terceiro int  (11)     DEFAULT NULL, 
      liberacao varchar  (255)     DEFAULT NULL, 
      codliberacao int  (11)     DEFAULT NULL, 
      codcomboio int  (11)     DEFAULT NULL, 
      codpatrimonio int  (11)     DEFAULT NULL, 
      dispositivo char  (50)     DEFAULT NULL, 
 PRIMARY KEY (codmedia),
FOREIGN KEY(codveic) REFERENCES tabcadtrator(codtrator)) ; 

CREATE TABLE tabappponto( 
      id  INTEGER    NOT NULL  , 
      NSR int  (10)   NOT NULL  , 
      DataPonto date   NOT NULL  , 
      HoraPonto datetime   NOT NULL  , 
      PIS char  (12)   NOT NULL  , 
      Cod_TabFuncionario int  (10)   NOT NULL  , 
      Nome_Funcionario varchar  (255)   NOT NULL  , 
      datahora_sincronizacao datetime   , 
 PRIMARY KEY (id)) ; 

CREATE TABLE tabappraga( 
      id  INTEGER    NOT NULL  , 
      codaptrator int  (11)     DEFAULT 0, 
      codpraga int  (11)     DEFAULT 0, 
      tipopraga varchar  (255)     DEFAULT NULL, 
      codemp int  (11)     DEFAULT NULL, 
 PRIMARY KEY (id),
FOREIGN KEY(codaptrator) REFERENCES tabaptrator(codaptrator),
FOREIGN KEY(codpraga) REFERENCES tabcadpraga(codpraga)) ; 

CREATE TABLE tabapprod( 
      id  INTEGER    NOT NULL  , 
      codaptrator int  (11)     DEFAULT 0, 
      codfaz int  (11)     DEFAULT NULL, 
      codprod int  (11)     DEFAULT 0, 
      doseprod double  (10,3)     DEFAULT 0.000, 
      qtdeprod double  (20,4)     DEFAULT 0.0000, 
      unitprod double  (10,2)     DEFAULT 0.00, 
      totalprod double  (10,2)     DEFAULT 0.00, 
      codemp int  (11)     DEFAULT NULL, 
      estoque_negativo varchar  (50)     DEFAULT NULL, 
      id_pulv int  (11)     DEFAULT NULL, 
 PRIMARY KEY (id),
FOREIGN KEY(codaptrator) REFERENCES tabaptrator(codaptrator),
FOREIGN KEY(codprod) REFERENCES tabcadmaterial(codmaterial)) ; 

CREATE TABLE tabapquadra( 
      id  INTEGER    NOT NULL  , 
      codaptrator int  (11)     DEFAULT NULL, 
      codquadra int  (11)     DEFAULT NULL, 
      bombas double  (10,4)     DEFAULT 0.0000, 
      codemp int  (11)     DEFAULT NULL, 
 PRIMARY KEY (id),
FOREIGN KEY(codaptrator) REFERENCES tabaptrator(codaptrator),
FOREIGN KEY(codquadra) REFERENCES tabitensquadra(codquadra)) ; 

CREATE TABLE tabaptrator( 
      codaptrator  INTEGER    NOT NULL  , 
      codfaz int  (11)     DEFAULT 0, 
      codfunc int  (11)     DEFAULT 0, 
      codtrator int  (11)     DEFAULT 0, 
      codimp int  (11)     DEFAULT 0, 
      horiini int  (11)     DEFAULT 0, 
      horifim int  (11)     DEFAULT 0, 
      horaini datetime   , 
      horafim datetime   , 
      codpreparo int  (11)     DEFAULT 0, 
      obs text   , 
      codemp int  (11)     DEFAULT NULL, 
      codturma int  (11)     DEFAULT NULL, 
      almoco varchar  (255)     DEFAULT NULL, 
      horaextra varchar  (255)     DEFAULT NULL, 
      turno varchar  (255)     DEFAULT NULL, 
      continuacao varchar  (255)     DEFAULT 'N', 
      erroficha varchar  (255)     DEFAULT NULL, 
      tempoap datetime   , 
      checklist varchar  (255)     DEFAULT NULL, 
      codliberacao int  (11)     DEFAULT NULL, 
      liberacao varchar  (255)     DEFAULT NULL, 
      status varchar  (255)     DEFAULT NULL, 
      tipolanc varchar  (255)     DEFAULT NULL, 
      dispositivo char  (50)     DEFAULT NULL, 
 PRIMARY KEY (codaptrator),
FOREIGN KEY(codtrator) REFERENCES tabcadtrator(codtrator),
FOREIGN KEY(codfaz) REFERENCES tabcadfazenda(codfaz),
FOREIGN KEY(codfunc) REFERENCES tabcadfuncionario(codfuncionario),
FOREIGN KEY(codpreparo) REFERENCES tabcadpreparo(codpreparo),
FOREIGN KEY(codimp) REFERENCES tabcadtrator(codtrator)) ; 

CREATE TABLE tabcadacidentes( 
      id_acidente  INTEGER    NOT NULL  , 
      dtultimaatualizacao datetime   , 
      dthoracriacao datetime   , 
      nomeacidente varchar  (100)   , 
      situacao varchar  (10)   , 
      descricao text   , 
 PRIMARY KEY (id_acidente)) ; 

CREATE TABLE tabcadadiantamentoscfg( 
      id  INTEGER    NOT NULL  , 
      dtultimaatualizacao datetime   , 
      planocontas_id int   , 
      operacao_id int   , 
      serie varchar  (10)   , 
      forma_id int   , 
 PRIMARY KEY (id)) ; 

CREATE TABLE tabcadagencias( 
      id  INTEGER    NOT NULL  , 
      NUMBAN int   , 
      CNPJ_Base varchar  (10)   , 
      CNPJ_Sequencial varchar  (10)   , 
      CNPJ_DV char  (2)   , 
      Nome_Instituicao varchar  (150)   , 
      Segmento varchar  (50)   , 
      Codigo_Compe char  (5)   , 
      Nome_Agencia varchar  (50)   , 
      Endereco varchar  (100)   , 
      Numero varchar  (5)   , 
      Complemento varchar  (50)   , 
      Bairro varchar  (50)   , 
      CEP char  (8)   , 
      Municipio_IBGE char  (7)   , 
      Municipio varchar  (40)   , 
      UF char  (2)   , 
      Data_Inicio date   , 
      DDD char  (2)   , 
      Telefone char  (10)   , 
      Posicao date   , 
      dtultimaatualizacao datetime   , 
 PRIMARY KEY (id),
FOREIGN KEY(NUMBAN) REFERENCES tabcadbanco(NUMBAN)) ; 

CREATE TABLE tabcadagendamento( 
      id  INTEGER    NOT NULL  , 
      dtultimaatualizacao datetime   , 
      dataorigem date   , 
      datalancamento date   , 
      dataagenda date   NOT NULL  , 
      codfaz int   NOT NULL  , 
      dataagendaaux date   , 
      tabcadClientes_id int   NOT NULL  , 
      tabcadvariedade_id int   NOT NULL  , 
      motorista varchar  (500)   NOT NULL  , 
      observacao text   , 
      tabcadagendamentostatus_id int   NOT NULL  , 
 PRIMARY KEY (id),
FOREIGN KEY(codfaz) REFERENCES tabcadfazenda(codfaz),
FOREIGN KEY(tabcadClientes_id) REFERENCES tabcadclientes(id),
FOREIGN KEY(tabcadvariedade_id) REFERENCES tabcadvariedade(codvari),
FOREIGN KEY(tabcadagendamentostatus_id) REFERENCES tabcadagendamentostatus(id)) ; 

CREATE TABLE tabcadagendamentohist( 
      id  INTEGER    NOT NULL  , 
      dtultimaatualizacao datetime   , 
      datahist datetime   NOT NULL  , 
      tabcadagendamentostatus_id int   NOT NULL  , 
      tabcadagendamento_id int   NOT NULL  , 
      tabusuarios_id int   NOT NULL  , 
      observacao text   , 
 PRIMARY KEY (id),
FOREIGN KEY(tabcadagendamentostatus_id) REFERENCES tabcadagendamentostatus(id),
FOREIGN KEY(tabcadagendamento_id) REFERENCES tabcadagendamento(id),
FOREIGN KEY(tabusuarios_id) REFERENCES tabusuarios(coduser)) ; 

CREATE TABLE tabcadagendamentostatus( 
      id  INTEGER    NOT NULL  , 
      dtultimaatualizacao datetime   , 
      nome varchar  (255)   NOT NULL  , 
 PRIMARY KEY (id)) ; 

CREATE TABLE tabcad_agenda_tarefas( 
      id  INTEGER    NOT NULL  , 
      usuario_id int  (11)     DEFAULT NULL, 
      usuario_responsavel_id int  (11)     DEFAULT NULL, 
      descricao_tarefa text     DEFAULT NULL, 
      data_inicial date   , 
      repetir_x_dias int  (255)     DEFAULT NULL, 
      repetir_dia int   , 
      repetir_dia_semana char  (3)   , 
      dtultimaatualizacao datetime   , 
      dthoracriacao datetime   , 
      qtd_arquivos int  (2)   , 
      situacao char  (1)   , 
      dias_tolerancia int  (2)   , 
      executar_sql text   , 
      enviar_excel_whats char  (1)   , 
      ativar_lembrete char  (1)   , 
      enviar_lembrete_x_horas int  (2)   , 
      lembrete_hora_inicial text   , 
      lembrete_hora_final text   , 
 PRIMARY KEY (id),
FOREIGN KEY(usuario_id) REFERENCES tabusuarios(coduser),
FOREIGN KEY(usuario_responsavel_id) REFERENCES tabusuarios(coduser)) ; 

CREATE TABLE tabcad_agenda_tarefas_historicos( 
      id  INTEGER    NOT NULL  , 
      agenda_tarefa_id int  (255)     DEFAULT NULL, 
      data_tarefa date   , 
      data_conclusao date   , 
      path_anexo text     DEFAULT NULL, 
 PRIMARY KEY (id),
FOREIGN KEY(agenda_tarefa_id) REFERENCES tabcad_agenda_tarefas(id)) ; 

CREATE TABLE tabcadaplicacao( 
      id  INTEGER    NOT NULL  , 
      Tabela int   , 
      ValorHA double  (10,2)   , 
      Dosemin double  (10,2)   , 
      Dosemax double  (10,2)   , 
 PRIMARY KEY (id)) ; 

CREATE TABLE tabcad_aso( 
      id_aso  INTEGER    NOT NULL  , 
      dtultimaatualizacao datetime   , 
      dthoracriacao datetime   , 
      data_aso date   , 
      codemp_aso int   , 
      codfunc_aso int   , 
      codmedico_pcmso_aso int   , 
      cidade_uf_medico int   , 
      riscos_fisicos text   , 
      riscos_quimicos text   , 
      riscos_biologicos text   , 
      riscos_especificos text   , 
      acidentes text   , 
      codtipoexame int   , 
      idade_func int   , 
      apto char  (1)   , 
      inapto char  (1)   , 
      apto_restricao char  (1)   , 
      desistiu char  (1)   , 
      obs_aso text   , 
      arquivo_aso text   , 
 PRIMARY KEY (id_aso),
FOREIGN KEY(codmedico_pcmso_aso) REFERENCES tabcad_medico_pcmso(cod_medico),
FOREIGN KEY(codfunc_aso) REFERENCES tabcadfuncionario(codfuncionario),
FOREIGN KEY(codemp_aso) REFERENCES tabcadempresas(CODEMP)) ; 

CREATE TABLE tabcad_aso_acidentes( 
      id  INTEGER    NOT NULL  , 
      dtultimaatualizacao datetime   , 
      dthoracriacao datetime   , 
      id_aso int   NOT NULL  , 
      cod_acidente int   , 
 PRIMARY KEY (id),
FOREIGN KEY(id_aso) REFERENCES tabcad_aso(id_aso),
FOREIGN KEY(cod_acidente) REFERENCES tabcadacidentes(id_acidente)) ; 

CREATE TABLE tabcad_aso_exames_1( 
      id  INTEGER    NOT NULL  , 
      dtultimaatualizacao datetime   , 
      dthoracriacao datetime   , 
      id_aso int   , 
      id_exame int   , 
      data_exame_aso date   , 
      id_clinica int   , 
      valor double  (10,2)   , 
 PRIMARY KEY (id),
FOREIGN KEY(id_aso) REFERENCES tabcad_aso(id_aso),
FOREIGN KEY(id_exame) REFERENCES tabcadexame(codexame),
FOREIGN KEY(id_clinica) REFERENCES tabcadclinica(codclinica)) ; 

CREATE TABLE tabcad_aso_exames_2( 
      id  INTEGER    NOT NULL  , 
      dtultimaatualizacao datetime   , 
      dthoracriacao datetime   , 
      id_aso int   , 
      id_exame int   , 
      data_exame_aso date   , 
      id_clinica int   , 
      valor double  (10,2)   , 
 PRIMARY KEY (id),
FOREIGN KEY(id_aso) REFERENCES tabcad_aso(id_aso),
FOREIGN KEY(id_exame) REFERENCES tabcadexame(codexame),
FOREIGN KEY(id_clinica) REFERENCES tabcadclinica(codclinica)) ; 

CREATE TABLE tabcad_aso_riscos_biologicos( 
      id  INTEGER    NOT NULL  , 
      dtultimaatualizacao datetime   , 
      dthoracriacao datetime   , 
      id_aso int   NOT NULL  , 
      cod_riscobiologico int   , 
 PRIMARY KEY (id),
FOREIGN KEY(id_aso) REFERENCES tabcad_aso(id_aso),
FOREIGN KEY(cod_riscobiologico) REFERENCES tabcadriscosbiologicos(id_riscobiologico)) ; 

CREATE TABLE tabcad_aso_riscos_especificos( 
      id  INTEGER    NOT NULL  , 
      dtultimaatualizacao datetime   , 
      dthoracriacao datetime   , 
      id_aso int   NOT NULL  , 
      cod_riscoespecifico int   , 
 PRIMARY KEY (id),
FOREIGN KEY(id_aso) REFERENCES tabcad_aso(id_aso),
FOREIGN KEY(cod_riscoespecifico) REFERENCES tabcadriscosespecificos(id_riscoespecifico)) ; 

CREATE TABLE tabcad_aso_riscos_fisicos( 
      id  INTEGER    NOT NULL  , 
      dtultimaatualizacao datetime   , 
      dthoracriacao datetime   , 
      id_aso int   NOT NULL  , 
      cod_riscofisico int   , 
 PRIMARY KEY (id),
FOREIGN KEY(id_aso) REFERENCES tabcad_aso(id_aso),
FOREIGN KEY(cod_riscofisico) REFERENCES tabcadriscosfisicos(id_riscofisico)) ; 

CREATE TABLE tabcad_aso_riscos_quimicos( 
      id  INTEGER    NOT NULL  , 
      dtultimaatualizacao datetime   , 
      dthoracriacao datetime   , 
      id_aso int   NOT NULL  , 
      cod_riscoquimico int   , 
 PRIMARY KEY (id),
FOREIGN KEY(id_aso) REFERENCES tabcad_aso(id_aso),
FOREIGN KEY(cod_riscoquimico) REFERENCES tabcadriscosquimicos(id_riscoquimico)) ; 

CREATE TABLE tabcad_aso_setores( 
      id  INTEGER    NOT NULL  , 
      dtultimaatualizacao datetime   , 
      dthoracriacao datetime   , 
      nome_setor varchar  (100)   , 
      situacao varchar  (10)   , 
 PRIMARY KEY (id)) ; 

CREATE TABLE tabcad_ata( 
      id  INTEGER    NOT NULL  , 
      dtultimaatualizacao datetime   , 
      dthoracriacao datetime   , 
      dia date   , 
      hora text   , 
      responsavel_user_id int   , 
      titulo varchar  (100)   , 
      resumo text   , 
 PRIMARY KEY (id),
FOREIGN KEY(responsavel_user_id) REFERENCES tabusuarios(coduser)) ; 

CREATE TABLE tabcad_ata_presentes( 
      id  INTEGER    NOT NULL  , 
      dtultimaatualizacao datetime   , 
      dthoracriacao datetime   , 
      ata_id int   , 
      user_id int   , 
      presente_nome varchar  (250)   , 
      whatsapp varchar  (50)   , 
 PRIMARY KEY (id),
FOREIGN KEY(ata_id) REFERENCES tabcad_ata(id),
FOREIGN KEY(user_id) REFERENCES tabusuarios(coduser)) ; 

CREATE TABLE tabcad_ata_topicos( 
      id  INTEGER    NOT NULL  , 
      dtultimaatualizacao datetime   , 
      dthoracriacao datetime   , 
      ata_id int   , 
      topicos varchar  (500)   , 
      status char  (1)   , 
      previsao date   , 
      responsavel_user_id int   , 
 PRIMARY KEY (id),
FOREIGN KEY(ata_id) REFERENCES tabcad_ata(id),
FOREIGN KEY(responsavel_user_id) REFERENCES tabusuarios(coduser)) ; 

CREATE TABLE tabcadativo( 
      codativo  INTEGER    NOT NULL  , 
      nomeativo varchar  (255)   , 
      situacao varchar  (255)   , 
      codemp int  (11)   , 
      CodExt int  (11)   , 
 PRIMARY KEY (codativo)) ; 

CREATE TABLE tabcadautuacao( 
      id  INTEGER    NOT NULL  , 
      dtultimaatualizacao datetime   , 
      dthoracriacao datetime   , 
      data_ocorrencia date   , 
      aplicado_por_usuario_id int   , 
      funcionario_id int   , 
      motivo text   , 
      qtd_pontos int  (11)   , 
 PRIMARY KEY (id),
FOREIGN KEY(aplicado_por_usuario_id) REFERENCES tabusuarios(coduser),
FOREIGN KEY(funcionario_id) REFERENCES tabcadfuncionario(codfuncionario)) ; 

CREATE TABLE tabcadbalancas( 
      id  INTEGER    NOT NULL  , 
      dtultimaatualizacao datetime   , 
      nome varchar  (30)   , 
      ticket int   , 
      situacao varchar  (1)   , 
 PRIMARY KEY (id)) ; 

CREATE TABLE tabcadbalancastickets( 
      id  INTEGER    NOT NULL  , 
      dtultimaatualizacao datetime   , 
      balanca_id int   NOT NULL  , 
      ticket int   , 
      motivo text   , 
 PRIMARY KEY (id),
FOREIGN KEY(balanca_id) REFERENCES tabcadbalancas(id)) ; 

CREATE TABLE tabcadbanco( 
      NUMBAN  INTEGER    NOT NULL  , 
      NOMBAN char  (50)   , 
 PRIMARY KEY (NUMBAN)) ; 

CREATE TABLE tabcadcartaoponto_escalas( 
      id  INTEGER    NOT NULL  , 
      dtultimaatualizacao datetime   , 
      dthoracriacao datetime   , 
      nome varchar  (100)   , 
      hr_segunda int   NOT NULL  , 
      hr_terca int   NOT NULL  , 
      hr_quarta int   NOT NULL  , 
      hr_quinta int   NOT NULL  , 
      hr_sexta int   NOT NULL  , 
      hr_sabado int   NOT NULL  , 
      hr_domingo int   NOT NULL  , 
 PRIMARY KEY (id),
FOREIGN KEY(hr_segunda) REFERENCES tabcadcartaoponto_horarios(id),
FOREIGN KEY(hr_terca) REFERENCES tabcadcartaoponto_horarios(id),
FOREIGN KEY(hr_quarta) REFERENCES tabcadcartaoponto_horarios(id),
FOREIGN KEY(hr_quinta) REFERENCES tabcadcartaoponto_horarios(id),
FOREIGN KEY(hr_sexta) REFERENCES tabcadcartaoponto_horarios(id),
FOREIGN KEY(hr_sabado) REFERENCES tabcadcartaoponto_horarios(id),
FOREIGN KEY(hr_domingo) REFERENCES tabcadcartaoponto_horarios(id)) ; 

CREATE TABLE tabcadcartaoponto_horarios( 
      id  INTEGER    NOT NULL  , 
      dtultimaatualizacao datetime   , 
      dthoracriacao datetime   , 
      inicio text   , 
      fim text   , 
      intervalo_inicio text   , 
      intervalor_fim text   , 
      horas text   , 
 PRIMARY KEY (id)) ; 

CREATE TABLE tabcadcc( 
      codcentrodecustos  INTEGER    NOT NULL  , 
      nomecentrodecustos varchar  (255)   , 
      situacao varchar  (255)   , 
      codemp int  (11)   , 
      coduser int  (11)   , 
      padrao varchar  (1)   , 
      semrequisicao varchar  (1)   , 
 PRIMARY KEY (codcentrodecustos),
FOREIGN KEY(coduser) REFERENCES tabusuarios(coduser)) ; 

CREATE TABLE tabcadcfop( 
      NATOPE  INTEGER    NOT NULL  , 
      CFOP char  (5)   , 
      NOMCFO char  (27)   , 
      ESTOQUE int  (1)   , 
 PRIMARY KEY (NATOPE)) ; 

CREATE TABLE tabcadcidade( 
      codcidade  INTEGER    NOT NULL  , 
      cidade varchar  (255)   , 
      uf char  (2)   , 
 PRIMARY KEY (codcidade)) ; 

CREATE TABLE tabcadclasseprod( 
      codclasse  INTEGER    NOT NULL  , 
      dtultimaatualizacao datetime   , 
      dthoracriacao datetime   , 
      nomeclasse varchar  (255)   , 
      situacao varchar  (255)     DEFAULT 'ATIVADO', 
      codemp varchar  (255)     DEFAULT '1', 
 PRIMARY KEY (codclasse)) ; 

CREATE TABLE tabcadcliente( 
      NUMCLI  INTEGER    NOT NULL  , 
      DATCAD date   , 
      NOMCLI char  (59)   , 
      ENDCLI char  (40)   , 
      NUMCID int  (4)   , 
      NUMCEP char  (9)   , 
      SIGEST char  (2)   , 
      NUMTEL char  (20)   , 
      EMAIL char  (50)   , 
      NOMCTT char  (59)   , 
      CGCCPF char  (20)   , 
      IERG char  (20)   , 
      NUMCOND int  (4)   , 
      ENDCOB char  (40)   , 
      CIDCOB int  (4)   , 
      CEPCOB char  (9)   , 
      SIGCOB char  (2)   , 
      TELCOB char  (15)   , 
      VLRUNI double  (9,2)   , 
      TIPPRECO char  (1)   , 
      PAGAFRETE char  (1)   , 
      NOMFAN char  (40)   , 
      NOMPRO char  (58)   , 
      NOMMOT char  (58)   , 
      OBS001 char  (68)   , 
      OBS002 char  (73)   , 
      SITCLI char  (1)   , 
      RCNOME1 char  (32)   , 
      RCFONE1 char  (20)   , 
      RCFALA1 char  (20)   , 
      RCNOME2 char  (32)   , 
      RCFONE2 char  (20)   , 
      RCFALA2 char  (20)   , 
      RCNOME3 char  (32)   , 
      RCFONE3 char  (20)   , 
      RCFALA3 char  (20)   , 
      RCNOME4 char  (32)   , 
      RCFONE4 char  (20)   , 
      RCFALA4 char  (20)   , 
      RCNOME5 char  (32)   , 
      RCFONE5 char  (20)   , 
      RCFALA5 char  (20)   , 
      RBNOME1 char  (32)   , 
      RBFONE1 char  (20)   , 
      RBFALA1 char  (20)   , 
      RBNOME2 char  (32)   , 
      RBFONE2 char  (20)   , 
      RBFALA2 char  (20)   , 
      RBNOME3 char  (32)   , 
      RBFONE3 char  (20)   , 
      RBFALA3 char  (20)   , 
      RBNOME4 char  (32)   , 
      RBFONE4 char  (20)   , 
      RBFALA4 char  (20)   , 
      RBNOME5 char  (32)   , 
      RBFONE5 char  (20)   , 
      RBFALA5 char  (20)   , 
      NUMCOB char  (9)   , 
      BAICOB char  (34)   , 
      CMPCOB char  (11)   , 
      FAZCOB char  (15)   , 
      CELCOB char  (13)   , 
      NUMERO char  (3)   , 
      CELULAR char  (12)   , 
      BAIRRO char  (34)   , 
      COMPL char  (11)   , 
      FAXCOB char  (15)   , 
      TIPOCLI char  (1)   , 
      FUNRURAL double  (9,2)   , 
      FUNDCITRUS double  (9,2)   , 
      BCOTIT char  (60)   , 
      BCODOC char  (18)   , 
      BCONUM char  (3)   , 
      BCOTIP int  (1)   , 
      BCOAG char  (15)   , 
      BCOCON char  (15)   , 
      BCOOBS char  (60)   , 
      PESSOA int  (1)   , 
      lp_transporte char  (3)   , 
      SNNFE char  (1)   , 
      IBGE int  (11)   , 
      CIDADE varchar  (150)   , 
 PRIMARY KEY (NUMCLI)) ; 

CREATE TABLE tabcadclientes( 
      id  INTEGER    NOT NULL  , 
      Pessoa char  (1)   , 
      Nome_Fantasia varchar  (255)   , 
      Nome_Social varchar  (255)   , 
      Nome_Proprietario varchar  (255)   , 
      CNPJ_CPF char  (14)   , 
      IE_RG char  (14)   , 
      Status char  (1)   , 
      OBS text   , 
      TipoIM char  (1)   , 
      lp_transporte char  (1)   , 
      SNNFE char  (1)   , 
      FUNRURAL char  (1)   , 
      FUNDCITRUS double  (9,2)   , 
      dtultimaatualizacao datetime   , 
      status_lr varchar  (1)     DEFAULT 'N', 
      nfe varchar  (1)     DEFAULT 'N', 
      enquadramento varchar  (1)   , 
      agendar_carga char  (1)   , 
 PRIMARY KEY (id)) ; 

CREATE TABLE tabcadclientes_endereco( 
      id  INTEGER    NOT NULL  , 
      tabcadClientes_id int   NOT NULL  , 
      dtultimaatualizacao datetime   , 
      cep varchar  (50)   NOT NULL  , 
      endereco varchar  (500)   NOT NULL  , 
      endereco_numero varchar  (20)   NOT NULL  , 
      complemento varchar  (500)   , 
      bairro varchar  (500)   NOT NULL  , 
      cidade int   NOT NULL  , 
      uf char  (2)   NOT NULL  , 
      ibge varchar  (20)   NOT NULL  , 
 PRIMARY KEY (id),
FOREIGN KEY(tabcadClientes_id) REFERENCES tabcadclientes(id),
FOREIGN KEY(ibge) REFERENCES tabcadcidade(codcidade)) ; 

CREATE TABLE tabcadclinica( 
      codclinica  INTEGER    NOT NULL  , 
      dtultimaatualizacao datetime   , 
      dthoracriacao datetime   , 
      nomeclinica varchar  (50)   , 
      codemp int   , 
      situacao varchar  (10)   , 
      fornecedor_id int   , 
 PRIMARY KEY (codclinica),
FOREIGN KEY(fornecedor_id) REFERENCES tabcadfornecedor(codfornecedor)) ; 

CREATE TABLE tabcadcondpagto( 
      NUMCOND  INTEGER    NOT NULL  , 
      DESCR char  (28)   , 
      QTDEPAR int  (3)   , 
      DIAS01 int  (3)   , 
      DIAS02 int  (3)   , 
      DIAS03 int  (3)   , 
      DIAS04 int  (3)   , 
      DIAS05 int  (3)   , 
      DIAS06 int  (3)   , 
      DIAS07 int  (3)   , 
      DIAS08 int  (3)   , 
      DIAS09 int  (3)   , 
      DIAS10 int  (3)   , 
      FMES char  (1)   , 
 PRIMARY KEY (NUMCOND)) ; 

CREATE TABLE tabcadconta_banco( 
      id  INTEGER    NOT NULL  , 
      Id_Cliente int   , 
      NUMBAN int   , 
      Tipo_Conta_Banco int  (1)   , 
      Cod_Agencia int   , 
      Numero_Conta_Digito char  (10)   , 
      CNPJCPF_Titular char  (14)   , 
      Nome_Titular varchar  (150)   , 
      dtultimaatualizacao datetime   , 
      num_dig_conta int   , 
      num_dig_agencia int   , 
      numban_emp int   , 
      cod_agencia_emp int   , 
      num_dig_agencia_emp char  (1)   , 
      numero_conta_emp int   , 
      num_dig_conta_emp char  (1)   , 
      id_funcionario int   , 
 PRIMARY KEY (id),
FOREIGN KEY(NUMBAN) REFERENCES tabcadbanco(NUMBAN),
FOREIGN KEY(Id_Cliente) REFERENCES tabcadclientes(id),
FOREIGN KEY(Tipo_Conta_Banco) REFERENCES tabtipo_conta_banco(id),
FOREIGN KEY(numban_emp) REFERENCES tabcadbanco(NUMBAN),
FOREIGN KEY(id_funcionario) REFERENCES tabcadfuncionario(codfuncionario)) ; 

CREATE TABLE tabcadcontratosfat( 
      id  INTEGER    NOT NULL  , 
      dtultimaatualizacao datetime   , 
      cliente_id int   , 
      dt_inicial date   , 
      dt_final date   , 
      situacao varchar  (1)   , 
      identificacao varchar  (20)   , 
 PRIMARY KEY (id),
FOREIGN KEY(cliente_id) REFERENCES tabcadclientes(id)) ; 

CREATE TABLE tabcadcontratosfatadd( 
      id  INTEGER    NOT NULL  , 
      dtultimaatualizacao datetime   , 
      contrato_id int   NOT NULL  , 
      adiantamento_id int   , 
 PRIMARY KEY (id),
FOREIGN KEY(contrato_id) REFERENCES tabcadcontratosfat(id),
FOREIGN KEY(adiantamento_id) REFERENCES tabcadcreditodebito(id)) ; 

CREATE TABLE tabcadcontratosfataddcfg( 
      id  INTEGER    NOT NULL  , 
      dtultimaatualizacao datetime   , 
      serie varchar  (10)   , 
      centrocustos_id int   , 
      planocontas_id int   , 
      operacao_id int   , 
      forma_id int   , 
 PRIMARY KEY (id)) ; 

CREATE TABLE tabcadcontratosfattickets( 
      id  INTEGER    NOT NULL  , 
      dtultimaatualizacao datetime   , 
      contrato_id int   NOT NULL  , 
      variedade_id int   , 
      qtd_caixas double  (10,2)   , 
      vl_caixa double  (10,2)   , 
      vl_total double  (10,2)   , 
 PRIMARY KEY (id),
FOREIGN KEY(contrato_id) REFERENCES tabcadcontratosfat(id),
FOREIGN KEY(variedade_id) REFERENCES tabcadvariedade(codvari)) ; 

CREATE TABLE tabcadcontratosfatvariedades( 
      id  INTEGER    NOT NULL  , 
      dtultimaatualizacao datetime   , 
      contrato_id int   NOT NULL  , 
      variedade_id int   , 
      qtd_caixas int   , 
      vl_caixa double  (10,2)   , 
 PRIMARY KEY (id),
FOREIGN KEY(contrato_id) REFERENCES tabcadcontratosfat(id),
FOREIGN KEY(variedade_id) REFERENCES tabcadvariedade(codvari)) ; 

CREATE TABLE tabcadconversa( 
      id  INTEGER    NOT NULL  , 
      data_hora datetime   , 
      tabela varchar  (255)   NOT NULL  , 
      tabela_id int  (10)   NOT NULL  , 
      user_id int  (10)   NOT NULL  , 
      mensagem text   NOT NULL  , 
      files text     DEFAULT NULL, 
 PRIMARY KEY (id),
FOREIGN KEY(user_id) REFERENCES tabusuarios(coduser)) ; 

CREATE TABLE tabcadconversa_prorrogacao( 
      id  INTEGER    NOT NULL  , 
      data_hora datetime   , 
      tabela varchar  (255)   NOT NULL  , 
      tabela_id int  (10)   NOT NULL  , 
      user_id int  (10)   NOT NULL  , 
      mensagem text   NOT NULL  , 
      files text     DEFAULT NULL, 
      dias_prorrogar int  (3)     DEFAULT NULL, 
 PRIMARY KEY (id),
FOREIGN KEY(user_id) REFERENCES tabusuarios(coduser)) ; 

CREATE TABLE tabcadcreditodebito( 
      id  INTEGER    NOT NULL  , 
      datamov date   , 
      dataatualizacao datetime   , 
      CreditoDebito char  (1)   , 
      Descricao varchar  (255)   , 
      Valor double  (10,2)   , 
      CodCliente int   , 
      CodTerceiro int   , 
      fornecedor_id int   , 
      status_pg varchar  (1)   , 
      status_ap varchar  (1)   , 
      centrocustos_id int   , 
      cliente_id int   , 
      vl_saldo double  (10,2)   , 
      movimentacao_id int   NOT NULL  , 
      qtd double  (10,2)   , 
      vl_unitario double  (10,2)   , 
      central_id int   , 
      origem varchar  (1)   , 
      tipo_lancamento int   , 
 PRIMARY KEY (id),
FOREIGN KEY(CodCliente) REFERENCES tabcadcliente(NUMCLI),
FOREIGN KEY(CodTerceiro) REFERENCES tabcadmotorista_responsavel(id),
FOREIGN KEY(fornecedor_id) REFERENCES tabcadfornecedor(codfornecedor),
FOREIGN KEY(centrocustos_id) REFERENCES tabcadcc(codcentrodecustos),
FOREIGN KEY(cliente_id) REFERENCES tabcadclientes(id),
FOREIGN KEY(movimentacao_id) REFERENCES tabfinmovimentacoes(id)) ; 

CREATE TABLE tabcadcreditodebitobaixas( 
      id  INTEGER    NOT NULL  , 
      dtultimaatualizacao datetime   , 
      creditodebito_id int   NOT NULL  , 
      dt_baixa date   , 
      vl_baixa double  (10,2)   , 
      central_id int   , 
      cheque_id int   , 
      forma_id int   , 
 PRIMARY KEY (id),
FOREIGN KEY(creditodebito_id) REFERENCES tabcadcreditodebito(id),
FOREIGN KEY(central_id) REFERENCES tabfinmovimentacoesrecebimentoscentral(id),
FOREIGN KEY(cheque_id) REFERENCES tabfincheques(id),
FOREIGN KEY(forma_id) REFERENCES tabcadformapgto(id)) ; 

CREATE TABLE tabcadcultura( 
      codcultura  INTEGER    NOT NULL  , 
      nomecultura varchar  (255)   , 
      satbase int  (11)   , 
      codemp int  (11)   , 
      situacao varchar  (255)   , 
      tipocultura varchar  (255)   , 
 PRIMARY KEY (codcultura)) ; 

CREATE TABLE tabcadempresas( 
      CODEMP  INTEGER    NOT NULL  , 
      NOMUSU char  (10)   , 
      NOMEMP char  (40)   , 
      IEEMP char  (18)   , 
      CNPJEMP char  (18)   , 
      caepf_emp varchar  (20)   , 
      CEI_Registro varchar  (100)   , 
      TELEMP char  (14)   , 
      ENDEMP char  (40)   , 
      NUMEMP char  (10)   , 
      CIDEMP int  (3)   , 
      UFEMP char  (2)   , 
      BAIEMP char  (30)   , 
      CEPEMP char  (10)   , 
      DATCAD date   , 
      SITEMP char  (1)   , 
      CODUSU int  (6)   , 
      DATAHORA char  (19)   , 
      tipopessoa varchar  (1)   , 
      DATAHORAATUALIZACAO datetime   , 
      centrocustos_id int   , 
      grupo_id int   , 
      endereco_aso varchar  (255)   , 
      numero_endereco_aso varchar  (11)   , 
      bairro_aso varchar  (255)   , 
      cep_aso varchar  (255)   , 
      codcidade_ibge_aso int  (11)   , 
 PRIMARY KEY (CODEMP),
FOREIGN KEY(centrocustos_id) REFERENCES tabcadcc(codcentrodecustos),
FOREIGN KEY(grupo_id) REFERENCES tabcadempresasgrupos(id)) ; 

CREATE TABLE tabcadempresasgrupos( 
      id  INTEGER    NOT NULL  , 
      dtultimaatualizacao datetime   , 
      nome varchar  (100)   , 
      apelido varchar  (100)   , 
 PRIMARY KEY (id)) ; 

CREATE TABLE tabcadenxerto( 
      codenxerto  INTEGER    NOT NULL  , 
      nomeenxerto varchar  (255)   , 
      situacao varchar  (255)   , 
      codemp int  (11)   , 
      codext int  (11)   , 
 PRIMARY KEY (codenxerto)) ; 

CREATE TABLE tabcadepi( 
      codepi  INTEGER    NOT NULL  , 
      dtultimaatualizacao datetime   , 
      dthoracriacao datetime   , 
      nomeepi varchar  (200)   , 
      situacao varchar  (20)   , 
      caepi varchar  (200)   , 
      validadeca date   , 
      diastrocaepi int   , 
 PRIMARY KEY (codepi)) ; 

CREATE TABLE tabcad_estadocivil( 
      id  INTEGER    NOT NULL  , 
      dtultimaatualizacao datetime   , 
      dthoracriacao datetime   , 
      nomeestadocivil varchar  (100)   , 
      cod_banco_do_brasil int   , 
 PRIMARY KEY (id)) ; 

CREATE TABLE tabcadeventofolha( 
      id  INTEGER    NOT NULL  , 
      NUMJUS double  (3,2)     DEFAULT NULL, 
      NOMJUS char  (22)     DEFAULT NULL, 
      ATESTA char  (1)     DEFAULT NULL, 
      AFASTA char  (1)     DEFAULT NULL, 
      EVENTO char  (1)     DEFAULT NULL, 
      NUMEVE double  (4,2)     DEFAULT NULL, 
      TIPEVE char  (1)     DEFAULT NULL, 
      NUMROT double  (2,2)     DEFAULT NULL, 
      PERACR double  (6,2)     DEFAULT NULL, 
      ACEITA double  (1,2)     DEFAULT NULL, 
      AUTOMA char  (1)     DEFAULT NULL, 
      INSS char  (6)     DEFAULT NULL, 
      FGTS char  (6)     DEFAULT NULL, 
      IRRF char  (6)     DEFAULT NULL, 
      RAIS char  (6)     DEFAULT NULL, 
      SFAM char  (6)     DEFAULT NULL, 
      DSR char  (6)     DEFAULT NULL, 
      SIND char  (6)     DEFAULT NULL, 
      PJUD char  (6)     DEFAULT NULL, 
      EMIREF char  (1)     DEFAULT NULL, 
      EVEFOLHA double  (4,2)     DEFAULT NULL, 
      INTEGRA char  (1)     DEFAULT NULL, 
      EVEHE char  (1)     DEFAULT NULL, 
      abrev varchar  (20)   , 
 PRIMARY KEY (id)) ; 

CREATE TABLE tabcadexame( 
      codexame  INTEGER    NOT NULL  , 
      dtultimaatualizacao datetime   , 
      dthoracriacao datetime   , 
      nomeexame varchar  (100)   , 
      codemp int   , 
      situacao varchar  (10)   , 
      validade int   , 
 PRIMARY KEY (codexame)) ; 

CREATE TABLE tabcadexameclinica( 
      id  INTEGER    NOT NULL  , 
      dtultimaatualizacao datetime   , 
      dthoracriacao datetime   , 
      codexame int   , 
      codclinica int   , 
      valor double  (10,2)   , 
 PRIMARY KEY (id),
FOREIGN KEY(codclinica) REFERENCES tabcadclinica(codclinica),
FOREIGN KEY(codexame) REFERENCES tabcadexame(codexame)) ; 

CREATE TABLE tabcadfaturamento( 
      id  INTEGER    NOT NULL  , 
      dtultimaatualizacao datetime   , 
      tiketind varchar  (500)   , 
      datafaturamento date   NOT NULL  , 
      dataapontamento date   NOT NULL  , 
      tabcadfazenda_id int   NOT NULL  , 
      tabcadfaturamentostatus_id int   NOT NULL  , 
      tabcadClientes_id int   NOT NULL  , 
      tabcadfiscal_id int   NOT NULL  , 
      tabcadmotorista_terceiro_id int   NOT NULL  , 
      tabitensquadra_id int   NOT NULL  , 
      tipofat char  (1)   NOT NULL  , 
      tipocarregamento char  (1)   NOT NULL  , 
      tipocolheita char  (1)   NOT NULL  , 
      vlbase double   , 
      vlturma double   , 
      vlcarrego double   , 
      vltara double   , 
      vlrefugo double   , 
      vlfrete double   , 
      pesoliquido double   , 
      pesobruto double   , 
      balanca_id int   , 
      balanca_ticket int   , 
      transbordo_id int   , 
      transbordo_ticket int   , 
      vltransb double   , 
      vltransbtotal double  (10,2)   , 
      totalcaixa int   , 
      vltotal double   , 
      vlcaixa double  (10,2)   , 
      vcto date   , 
      forma_id int   , 
      vldesconto_caixas double  (10,2)   , 
      vldesconto double  (10,2)   , 
      vlfunrural double  (10,2)   , 
      vlfundecitrus double  (10,2)   , 
      ticketind_usuario int   , 
      transportadora_id int   , 
      destino_id int   , 
      st_transportadora varchar  (1)   , 
      contrato_id int   , 
      contrato_variedade_id int   , 
      veiculo_id int   , 
      st_fiscal varchar  (1)   , 
      valor_refugo double  (10,2)   , 
      nfe int   , 
      nfe_complementar int   , 
      qtd_cx_caminhao double  (10,2)   , 
 PRIMARY KEY (id),
FOREIGN KEY(tabcadfazenda_id) REFERENCES tabcadfazenda(codfaz),
FOREIGN KEY(tabcadClientes_id) REFERENCES tabcadclientes(id),
FOREIGN KEY(tabcadfiscal_id) REFERENCES tabcadfiscal(NUMTUR),
FOREIGN KEY(tabcadfaturamentostatus_id) REFERENCES tabcadfaturamentostatus(id),
FOREIGN KEY(tabcadmotorista_terceiro_id) REFERENCES tabcadmotorista_terceiro(id),
FOREIGN KEY(tabitensquadra_id) REFERENCES tabitensquadra(codquadra),
FOREIGN KEY(forma_id) REFERENCES tabcadformapgto(id),
FOREIGN KEY(balanca_id) REFERENCES tabcadbalancas(id),
FOREIGN KEY(transbordo_id) REFERENCES tabcadtransbordo(id),
FOREIGN KEY(transportadora_id) REFERENCES tabcadtransportadora(NUMTRN),
FOREIGN KEY(destino_id) REFERENCES tabcadclientes_endereco(id),
FOREIGN KEY(contrato_id) REFERENCES tabcadcontratosfat(id),
FOREIGN KEY(veiculo_id) REFERENCES tabcadveiculo_terceiro(id),
FOREIGN KEY(contrato_variedade_id) REFERENCES tabcadvariedade(codvari),
FOREIGN KEY(nfe) REFERENCES tabnfe(id),
FOREIGN KEY(nfe_complementar) REFERENCES tabnfe(id)) ; 

CREATE TABLE tabcadfaturamentostatus( 
      id  INTEGER    NOT NULL  , 
      dtultimaatualizacao datetime   , 
      nome varchar  (255)   NOT NULL  , 
 PRIMARY KEY (id)) ; 

CREATE TABLE tabcadfazenda( 
      codfaz  INTEGER    NOT NULL  , 
      codext int  (11)   , 
      usualfaz varchar  (255)   , 
      situacao varchar  (255)   , 
      nomefaz varchar  (255)   , 
      codcidade int  (11)   , 
      cep varchar  (255)   , 
      tel1 varchar  (255)   , 
      tel2 varchar  (255)   , 
      tel3 varchar  (255)   , 
      cnpj varchar  (255)   , 
      inscricao varchar  (255)   , 
      baixaestoque varchar  (255)   , 
      localestoque int  (11)   , 
      notafiscal int  (11)   , 
      totalm3 double  (10,2)   , 
      codempfaz int  (11)   , 
      apestzero varchar  (255)   , 
      datadissidio date   , 
      fazenda_grupo int   , 
      info_faturamento text   , 
      centrocustos_id int   , 
      centrocustos_fazenda int   , 
      codfolha int   , 
 PRIMARY KEY (codfaz),
FOREIGN KEY(codcidade) REFERENCES tabcadcidade(codcidade),
FOREIGN KEY(fazenda_grupo) REFERENCES tabcadfazenda_grupo(id),
FOREIGN KEY(centrocustos_id) REFERENCES tabcadcc(codcentrodecustos),
FOREIGN KEY(centrocustos_fazenda) REFERENCES tabcadcc(codcentrodecustos),
FOREIGN KEY(codempfaz) REFERENCES tabcadempresas(CODEMP)) ; 

CREATE TABLE tabcadfazendabalancas( 
      id  INTEGER    NOT NULL  , 
      dtultimaatualizacao datetime   , 
      fazenda_id int   , 
      balanca_id int   NOT NULL  , 
 PRIMARY KEY (id),
FOREIGN KEY(fazenda_id) REFERENCES tabcadfazenda(codfaz),
FOREIGN KEY(balanca_id) REFERENCES tabcadbalancas(id)) ; 

CREATE TABLE tabcadfazenda_fiscais( 
      id  INTEGER    NOT NULL  , 
      dtultimaatualizacao datetime   , 
      grupo_id int   NOT NULL  , 
      vl_caixa double  (10,2)   , 
      fiscal_id int   , 
 PRIMARY KEY (id),
FOREIGN KEY(grupo_id) REFERENCES tabcadfazenda_grupo(id),
FOREIGN KEY(fiscal_id) REFERENCES tabcadfiscal(NUMTUR)) ; 

CREATE TABLE tabcadfazenda_grupo( 
      id  INTEGER    NOT NULL  , 
      descricao varchar  (255)   NOT NULL  , 
 PRIMARY KEY (id)) ; 

CREATE TABLE tabcadfazendalp( 
      id  INTEGER    NOT NULL  , 
      Nome varchar  (255)   , 
      Cod_cliente int   , 
 PRIMARY KEY (id),
FOREIGN KEY(Cod_cliente) REFERENCES tabcadcliente(NUMCLI)) ; 

CREATE TABLE tabcadfazendalp_lotebloco( 
      id  INTEGER    NOT NULL  , 
      cod_fazendaLP int   NOT NULL  , 
      Nome varchar  (255)   , 
      DataPrimeiraAplicacao date   , 
 PRIMARY KEY (id),
FOREIGN KEY(cod_fazendaLP) REFERENCES tabcadfazendalp(id)) ; 

CREATE TABLE tabcadfazendalp_quadra( 
      id  INTEGER    NOT NULL  , 
      LoteBloco int   , 
      Quadra varchar  (50)   , 
      Area double  (10,2)   , 
 PRIMARY KEY (id),
FOREIGN KEY(LoteBloco) REFERENCES tabcadfazendalp_lotebloco(id)) ; 

CREATE TABLE tabcadfiscal( 
      NUMTUR  INTEGER    NOT NULL  , 
      NOMTUR char  (30)   , 
      PRECO double  (9)   , 
      PRCHO double  (9)   , 
      DATUPGT date   , 
      OBSPGTO char  (50)   , 
      NUMCPF char  (14)   , 
      VBZERO char  (1)   , 
      STATUS char  (1)   , 
      DATCAD date   , 
      fornecedor_id int   , 
      nome_usual_fiscal varchar  (50)   , 
 PRIMARY KEY (NUMTUR),
FOREIGN KEY(fornecedor_id) REFERENCES tabcadfornecedor(codfornecedor)) ; 

CREATE TABLE tabcadfolha( 
      id  INTEGER    NOT NULL  , 
      dtultimaatualizacao datetime   , 
      empresa int   , 
      mes int   , 
      ano int   , 
      vcto date   , 
      centrocustos_id int   , 
      folhatipo_id int   NOT NULL  , 
      integrado varchar  (1)   , 
 PRIMARY KEY (id),
FOREIGN KEY(empresa) REFERENCES tabcadempresas(CODEMP),
FOREIGN KEY(centrocustos_id) REFERENCES tabcadcc(codcentrodecustos),
FOREIGN KEY(folhatipo_id) REFERENCES tabcadfolhatipo(id)) ; 

CREATE TABLE tabcadfolhaconfig( 
      id  INTEGER    NOT NULL  , 
      dtultimaatualizacao datetime   , 
      planocontas_id int   , 
      centrocustos_id int   , 
      operacao_id int   , 
      serie varchar  (10)   , 
      forma_id int   , 
      fornecedor_id int   , 
      evento_id int   NOT NULL  , 
      tipo varchar  (1)   , 
      agrupado varchar  (1)   , 
      codfolha int   , 
 PRIMARY KEY (id),
FOREIGN KEY(evento_id) REFERENCES tabcadeventofolha(id),
FOREIGN KEY(planocontas_id) REFERENCES tabcadplanocontas(id),
FOREIGN KEY(centrocustos_id) REFERENCES tabcadcc(codcentrodecustos),
FOREIGN KEY(operacao_id) REFERENCES tabcadoperacoes(id),
FOREIGN KEY(forma_id) REFERENCES tabcadformapgto(id)) ; 

CREATE TABLE tabcadfolhaevento( 
      id  INTEGER    NOT NULL  , 
      dtultimaatualizacao datetime   , 
      funcionario_id int   NOT NULL  , 
      evento_id int   NOT NULL  , 
      valor double  (10,2)   , 
 PRIMARY KEY (id),
FOREIGN KEY(funcionario_id) REFERENCES tabcadfolhafuncionario(id),
FOREIGN KEY(evento_id) REFERENCES tabcadeventofolha(id)) ; 

CREATE TABLE tabcadfolhafuncionario( 
      id  INTEGER    NOT NULL  , 
      dtultimaatualizacao datetime   , 
      tabcadfolha_id int   NOT NULL  , 
      fornecedor_id int   , 
      funcionario int   , 
      centrocustos_id int   , 
      arquivo int   , 
 PRIMARY KEY (id),
FOREIGN KEY(tabcadfolha_id) REFERENCES tabcadfolha(id),
FOREIGN KEY(fornecedor_id) REFERENCES tabcadfornecedor(codfornecedor),
FOREIGN KEY(centrocustos_id) REFERENCES tabcadcc(codcentrodecustos),
FOREIGN KEY(funcionario) REFERENCES tabcadfuncionario(codfuncionario)) ; 

CREATE TABLE tabcadfolhatipo( 
      id  INTEGER    NOT NULL  , 
      dtultimaatualizacao datetime   , 
      nome varchar  (50)   , 
      fgts varchar  (1)   , 
 PRIMARY KEY (id)) ; 

CREATE TABLE tabcadformapgto( 
      id  INTEGER    NOT NULL  , 
      nome varchar  (30)   , 
      dtultimaatualizacao datetime   , 
      tp_cheque varchar  (1)   , 
      tp_add varchar  (1)   , 
      tp_boleto varchar  (1)   , 
      tp_importacao varchar  (1)   , 
      tp_banco varchar  (1)   , 
      abrev varchar  (5)   , 
 PRIMARY KEY (id)) ; 

CREATE TABLE tabcadfornecedor( 
      codfornecedor  INTEGER    NOT NULL  , 
      nomefantasia varchar  (255)   , 
      nomefornecedor varchar  (255)   , 
      codemp int  (11)   , 
      codext int  (11)   , 
      cidade varchar  (255)   , 
      uf varchar  (255)   , 
      tel varchar  (255)   , 
      fax varchar  (255)   , 
      email varchar  (255)   , 
      situacao varchar  (255)   , 
      cnpjforn varchar  (20)   , 
      lp_transporte char  (3)   , 
      ieforn varchar  (20)   , 
      enderecoforn varchar  (255)   , 
      numendforn varchar  (11)   , 
      dataabert date   , 
      cepforn varchar  (255)   , 
      atividadeprin varchar  (255)   , 
      sitcad varchar  (255)   , 
      tipo_id int   , 
      status_lr varchar  (1)     DEFAULT 'N', 
      bairroforn varchar  (100)   , 
      ignorarNFS char  (1)   , 
 PRIMARY KEY (codfornecedor),
FOREIGN KEY(tipo_id) REFERENCES tabcadfornecedor_tipo(id)) ; 

CREATE TABLE tabcadfornecedor_representante( 
      id  INTEGER    NOT NULL  , 
      dtultimaatualizacao datetime   , 
      fornecedor_id int   NOT NULL  , 
      representante_id int   NOT NULL  , 
 PRIMARY KEY (id),
FOREIGN KEY(fornecedor_id) REFERENCES tabcadfornecedor(codfornecedor),
FOREIGN KEY(representante_id) REFERENCES tabcadfornecedor(codfornecedor)) ; 

CREATE TABLE tabcadfornecedor_tipo( 
      id  INTEGER    NOT NULL  , 
      dtultimaatualizacao datetime   , 
      nome varchar  (100)   , 
 PRIMARY KEY (id)) ; 

CREATE TABLE tabcadfuncao( 
      codfuncao  INTEGER    NOT NULL  , 
      dtultimaatualizacao datetime   , 
      nomefuncao varchar  (255)   , 
      situacao varchar  (255)   , 
      valorfuncao double  (10,2)   , 
      codemp int   , 
      codext int   , 
      epiporimp varchar  (255)   , 
      codsetor_aso int   NOT NULL  , 
      descricao text   , 
      procedimentos text   , 
      detalhamento text   , 
      termo text   , 
      doc_ata varchar  (1)   , 
      doc_sindicato varchar  (1)   , 
      doc_advepi varchar  (1)   , 
      doc_advhorarioalmoco varchar  (1)   , 
      doc_intcolheita varchar  (1)   , 
      doc_intrh varchar  (1)   , 
      doc_ordemservico varchar  (1)   , 
      cbo varchar  (10)   , 
 PRIMARY KEY (codfuncao),
FOREIGN KEY(codsetor_aso) REFERENCES tabcad_aso_setores(id)) ; 

CREATE TABLE tabcadfuncao_acidentes( 
      id  INTEGER    NOT NULL  , 
      dtultimaatualizacao datetime   , 
      dthoracriacao datetime   , 
      id_acidente int   NOT NULL  , 
      id_funcao int   NOT NULL  , 
 PRIMARY KEY (id),
FOREIGN KEY(id_acidente) REFERENCES tabcadacidentes(id_acidente),
FOREIGN KEY(id_funcao) REFERENCES tabcadfuncao(codfuncao)) ; 

CREATE TABLE tabcadfuncao_advertencias( 
      id  INTEGER    NOT NULL  , 
      dtultimaatualizacao datetime   , 
      dthoracriacao datetime   , 
      funcao_id int   NOT NULL  , 
      advertencia_id int   , 
 PRIMARY KEY (id),
FOREIGN KEY(funcao_id) REFERENCES tabcadfuncao(codfuncao),
FOREIGN KEY(advertencia_id) REFERENCES tabcoladvertencias_tipo(id)) ; 

CREATE TABLE tabcadfuncao_documentos( 
      id  INTEGER    NOT NULL  , 
      dtultimaatualizacao datetime   , 
      dthoracriacao datetime   , 
      funcao_id int   NOT NULL  , 
      documento_id int   NOT NULL  , 
 PRIMARY KEY (id),
FOREIGN KEY(funcao_id) REFERENCES tabcadfuncao(codfuncao),
FOREIGN KEY(documento_id) REFERENCES tabdocumentos_cadastro(id)) ; 

CREATE TABLE tabcadfuncao_documentos_rescisao( 
      id  INTEGER    NOT NULL  , 
      dtultimaatualizacao datetime   , 
      dthoracriacao datetime   , 
      funcao_id int   NOT NULL  , 
      documento_id int   NOT NULL  , 
 PRIMARY KEY (id),
FOREIGN KEY(funcao_id) REFERENCES tabcadfuncao(codfuncao),
FOREIGN KEY(documento_id) REFERENCES tabdocumentos_cadastro(id)) ; 

CREATE TABLE tabcadfuncao_documentos_troca( 
      id  INTEGER    NOT NULL  , 
      dtultimaatualizacao datetime   , 
      dthoracriacao datetime   , 
      funcao_id int   NOT NULL  , 
      documento_id int   NOT NULL  , 
 PRIMARY KEY (id),
FOREIGN KEY(funcao_id) REFERENCES tabcadfuncao(codfuncao),
FOREIGN KEY(documento_id) REFERENCES tabdocumentos_cadastro(id)) ; 

CREATE TABLE tabcadfuncao_epi( 
      id  INTEGER    NOT NULL  , 
      dtultimaatualizacao datetime   , 
      dthoracriacao datetime   , 
      codepi int   , 
      codfuncao int   , 
 PRIMARY KEY (id),
FOREIGN KEY(codepi) REFERENCES tabcadepi(codepi),
FOREIGN KEY(codfuncao) REFERENCES tabcadfuncao(codfuncao)) ; 

CREATE TABLE tabcadfuncao_exames( 
      id  INTEGER    NOT NULL  , 
      dtultimaatualizacao datetime   , 
      dthoracriacao datetime   , 
      id_exame int   NOT NULL  , 
      id_funcao int   NOT NULL  , 
 PRIMARY KEY (id),
FOREIGN KEY(id_exame) REFERENCES tabcadexame(codexame),
FOREIGN KEY(id_funcao) REFERENCES tabcadfuncao(codfuncao)) ; 

CREATE TABLE tabcadfuncao_riscosbiologicos( 
      id  INTEGER    NOT NULL  , 
      dtultimaatualizacao datetime   , 
      dthoracriacao datetime   , 
      id_funcao int   NOT NULL  , 
      id_riscobiologico int   NOT NULL  , 
 PRIMARY KEY (id),
FOREIGN KEY(id_funcao) REFERENCES tabcadfuncao(codfuncao),
FOREIGN KEY(id_riscobiologico) REFERENCES tabcadriscosbiologicos(id_riscobiologico)) ; 

CREATE TABLE tabcadfuncao_riscosespecificos( 
      id  INTEGER    NOT NULL  , 
      dtultimaatualizacao datetime   , 
      dthoracriacao datetime   , 
      id_riscoespecifico int   NOT NULL  , 
      id_funcao int   NOT NULL  , 
 PRIMARY KEY (id),
FOREIGN KEY(id_riscoespecifico) REFERENCES tabcadriscosespecificos(id_riscoespecifico),
FOREIGN KEY(id_funcao) REFERENCES tabcadfuncao(codfuncao)) ; 

CREATE TABLE tabcadfuncao_riscosfisicos( 
      id  INTEGER    NOT NULL  , 
      dtultimaatualizacao datetime   , 
      dthoracriacao datetime   , 
      id_riscofisico int   NOT NULL  , 
      id_funcao int   NOT NULL  , 
 PRIMARY KEY (id),
FOREIGN KEY(id_riscofisico) REFERENCES tabcadriscosfisicos(id_riscofisico),
FOREIGN KEY(id_funcao) REFERENCES tabcadfuncao(codfuncao)) ; 

CREATE TABLE tabcadfuncao_riscosquimicos( 
      id  INTEGER    NOT NULL  , 
      dtultimaatualizacao datetime   , 
      dthoracriacao datetime   , 
      id_riscoquimico int   NOT NULL  , 
      id_funcao int   NOT NULL  , 
 PRIMARY KEY (id),
FOREIGN KEY(id_riscoquimico) REFERENCES tabcadriscosquimicos(id_riscoquimico),
FOREIGN KEY(id_funcao) REFERENCES tabcadfuncao(codfuncao)) ; 

CREATE TABLE tabcadfuncionario( 
      nomefuncionario varchar  (255)   , 
      codfuncionario  INTEGER    NOT NULL  , 
      situacao varchar  (255)   , 
      codemp int  (11)   , 
      codext varchar  (255)   , 
      codfaz int  (11)   , 
      codfuncao int  (11)   , 
      codlocal int  (11)   , 
      folhaponto varchar  (255)   , 
      ultimodia date   , 
      horapadrao varchar  (255)   , 
      dataregistro date   , 
      cpf varchar  (255)   , 
      rg varchar  (255)   , 
      tel1 varchar  (255)   , 
      tel2 varchar  (255)   , 
      datanasc date   , 
      codturma int  (255)   , 
      ctps varchar  (255)   , 
      serie varchar  (255)   , 
      pis varchar  (255)   , 
      titulo varchar  (255)   , 
      cbo varchar  (255)   , 
      sexo varchar  (255)   , 
      endereco varchar  (255)   , 
      numero varchar  (255)   , 
      cidade varchar  (255)   , 
      uf varchar  (255)   , 
      reservista varchar  (255)   , 
      cnh varchar  (255)   , 
      bairro varchar  (255)   , 
      complemento varchar  (255)   , 
      cep varchar  (255)   , 
      pegagrat varchar  (255)   , 
      urlfoto varchar  (500)   , 
      tiposalario varchar  (255)   , 
      temporario varchar  (255)   , 
      motivorecisao varchar  (255)   , 
      categoriacnh varchar  (255)   , 
      validadecnh date   , 
      estabilidadeate date   , 
      lp_transporte char  (3)   , 
      codfiscal int   , 
      codfolha int   , 
      cartao char  (11)   , 
      sindicato_data varchar  (100)   , 
      sindicato_hora varchar  (20)   , 
      estado_civil int   NOT NULL  , 
      cod_ibge_cidade_atual varchar  (7)   , 
      cod_ibge_cidade_natural varchar  (7)   , 
      orgao_emissor_rg varchar  (5)   , 
      uf_emissao_rg varchar  (2)   , 
      data_emissao_rg date   , 
      dtultimaatualizacao datetime   , 
      pagto_banco varchar  (1)   , 
      afastado_aposentado varchar  (3)   , 
      cartao_banco_entregue varchar  (3)   , 
      escala int   NOT NULL  , 
      tipoatualizacao int  (1)   , 
 PRIMARY KEY (codfuncionario),
FOREIGN KEY(codfaz) REFERENCES tabcadfazenda(codfaz),
FOREIGN KEY(codfiscal) REFERENCES tabcadfiscal(NUMTUR),
FOREIGN KEY(codfuncao) REFERENCES tabcadfuncao(codfuncao),
FOREIGN KEY(estado_civil) REFERENCES tabcad_estadocivil(id),
FOREIGN KEY(escala) REFERENCES tabcadcartaoponto_escalas(id)) ; 

CREATE TABLE tabcadfuncionario_hist_fiscais( 
      id  INTEGER    NOT NULL  , 
      dtultimaatualizacao datetime   , 
      dthoracriacao datetime   , 
      dt_inicio datetime   , 
      dt_fim datetime   , 
      funcionario_id int   NOT NULL  , 
      fiscal_id int   , 
 PRIMARY KEY (id),
FOREIGN KEY(funcionario_id) REFERENCES tabcadfuncionario(codfuncionario),
FOREIGN KEY(fiscal_id) REFERENCES tabcadfiscal(NUMTUR)) ; 

CREATE TABLE tabcadfuncionario_hist_funcoes( 
      id  INTEGER    NOT NULL  , 
      dtultimaatualizacao datetime   , 
      dthoracriacao datetime   , 
      dt_inicio date   , 
      dt_fim date   , 
      funcionario_id int   NOT NULL  , 
      funcao_id int   NOT NULL  , 
 PRIMARY KEY (id),
FOREIGN KEY(funcionario_id) REFERENCES tabcadfuncionario(codfuncionario),
FOREIGN KEY(funcao_id) REFERENCES tabcadfuncao(codfuncao)) ; 

CREATE TABLE tabcadfuncionario_hist_salario( 
      id  INTEGER    NOT NULL  , 
      funcionario_id int   NOT NULL  , 
      dtultimaatualizacao datetime   , 
      dthoracriacao datetime   , 
      datapgto date   , 
      tipopgto varchar  (10)   , 
      valorpgto double  (10,2)   , 
      holerite_id int   , 
 PRIMARY KEY (id),
FOREIGN KEY(funcionario_id) REFERENCES tabcadfuncionario(codfuncionario),
FOREIGN KEY(holerite_id) REFERENCES tabcadfolha(id)) ; 

CREATE TABLE tabcadgrupo( 
      codgrupo  INTEGER    NOT NULL  , 
      nomegrupo varchar  (255)   , 
      situacao varchar  (255)   , 
      codemp int  (11)   , 
      codext int  (11)   , 
 PRIMARY KEY (codgrupo)) ; 

CREATE TABLE tabcadjus( 
      codjus  INTEGER    NOT NULL  , 
      dtultimaatualizacao datetime   , 
      nomejus varchar  (255)   , 
      codemp int   , 
      codext int   , 
      situacao varchar  (255)   , 
      atestado varchar  (255)   , 
      vl double  (10,2)   , 
      remunerada varchar  (1)   , 
      falta varchar  (1)   , 
      feriado varchar  (1)   , 
      horas_initinere varchar  (1)   , 
 PRIMARY KEY (codjus)) ; 

CREATE TABLE tabcadmaterial( 
      codext int  (11)   , 
      codmaterial  INTEGER    NOT NULL  , 
      nomematerial varchar  (255)   , 
      unid varchar  (255)   , 
      codgrupo int  (11)   , 
      manutencao varchar  (255)   , 
      valor double  (10)   , 
      aplicacao varchar  (255)   , 
      qtdeestoque double  (10)   , 
      codfabricante varchar  (255)   , 
      codnomefabricante int  (11)   , 
      codclasse int  (11)   , 
      codgrupoquimico int  (11)   , 
      codativo int  (11)   , 
      codpraga int  (11)   , 
      situacao varchar  (255)   , 
      concentracao varchar  (255)   , 
      codtipoacao int  (11)   , 
      codformulacao int  (11)   , 
      linkbula varchar  (255)   , 
      codempmateriais int  (11)   , 
      doseprod double  (10)   , 
      mlprod int  (11)   , 
      mlm3 double  (10)   , 
      calcativom3 varchar  (255)   , 
      mlprodm3 double  (10)   , 
      limitarprod varchar  (255)   , 
      dosemax double  (10)   , 
      ltsbb int  (11)   , 
      tipocalcdose double  (10)   , 
      tipocalc varchar  (255)   , 
      tipocalcltsbb int  (11)   , 
      reentrada int  (11)   , 
      registro varchar  (255)   , 
      lp_transporte char  (3)   , 
      tabncm_id int   , 
      SNNFE char  (1)   , 
      peso double  (10,2)   , 
      origem varchar  (1)   , 
      id_tributacao int   , 
      ncm int   , 
      estoque_min double   , 
      estoque_ideal double   , 
      estoque_max double   , 
      cod_substituto int  (10,2)   , 
 PRIMARY KEY (codmaterial),
FOREIGN KEY(codgrupo) REFERENCES tabcadgrupo(codgrupo),
FOREIGN KEY(codativo) REFERENCES tabcadativo(codativo),
FOREIGN KEY(tabncm_id) REFERENCES tabncm(id),
FOREIGN KEY(id_tributacao) REFERENCES tabnfetributacao(id),
FOREIGN KEY(ncm) REFERENCES tabncm(id),
FOREIGN KEY(codclasse) REFERENCES tabcadclasseprod(codclasse)) ; 

CREATE TABLE tabcadmecanico( 
      codmec  INTEGER    NOT NULL  , 
      nomemec varchar  (255)   , 
      codemp int  (11)   , 
      situacao varchar  (255)   , 
      codext int  (11)   , 
 PRIMARY KEY (codmec)) ; 

CREATE TABLE tabcad_medico_pcmso( 
      cod_medico  INTEGER    NOT NULL  , 
      dtultimaatualizacao datetime   , 
      dthoracriacao datetime   , 
      nome_medico varchar  (200)   , 
      crm_medico varchar  (20)   , 
      rqe_medico varchar  (20)   , 
      endereco_medico varchar  (255)   , 
      numero_end_medico int   , 
      cod_cidade_medico_ibge int   , 
      bairro varchar  (100)   , 
      telefone_medico varchar  (20)   , 
 PRIMARY KEY (cod_medico)) ; 

CREATE TABLE tabcadmotorista( 
      id  INTEGER    NOT NULL  , 
      NUMTRN int  (4)   , 
      NUMMOT int  (4)   , 
      NOMMOT char  (30)   , 
      PLACA char  (8)   , 
      UFPLACA char  (2)   , 
      MUNMOT char  (20)   , 
      SITMOT char  (1)   , 
      MUNIBGE char  (7)   , 
      NUMTEL char  (15)   , 
      CodResponsavel int   , 
      CTe char  (1)   , 
 PRIMARY KEY (id),
FOREIGN KEY(NUMTRN) REFERENCES tabcadtransportadora(NUMTRN),
FOREIGN KEY(CodResponsavel) REFERENCES tabcadmotorista_responsavel(id)) ; 

CREATE TABLE tabcadmotorista_responsavel( 
      id  INTEGER    NOT NULL  , 
      Nome varchar  (255)   , 
 PRIMARY KEY (id)) ; 

CREATE TABLE tabcadmotorista_terceiro( 
      id  INTEGER    NOT NULL  , 
      cpf int  (11)   NOT NULL  , 
      nome_completo varchar  (255)   NOT NULL  , 
      apelido varchar  (255)   , 
      telefone int   , 
      CTe text   , 
      dtultimaatualizacao datetime   NOT NULL  , 
      tipoatualizacao int   NOT NULL    DEFAULT 2, 
      cod_transportadora int   , 
 PRIMARY KEY (id),
FOREIGN KEY(cod_transportadora) REFERENCES tabcadtransportadora(NUMTRN)) ; 

CREATE TABLE tabcadoperacoes( 
      id  INTEGER    NOT NULL  , 
      dtultimaatualizacao datetime   , 
      nome varchar  (50)   , 
      tipo varchar  (1)   , 
 PRIMARY KEY (id)) ; 

CREATE TABLE tabcadpatrimonio_tipo( 
      CODTPAT  INTEGER    NOT NULL  , 
      DESCTPAT char  (20)   NOT NULL  , 
      SITTPAT char  (1)   NOT NULL  , 
      NUMFRO char  (1)   , 
      NUMTRN char  (1)   , 
      ESTOQUE char  (1)   , 
      NUMFAZ char  (2)   , 
      CTHORI char  (1)   , 
 PRIMARY KEY (CODTPAT)) ; 

CREATE TABLE tabcadpedidotransporte( 
      Pedido  INTEGER    NOT NULL  , 
      cobrar_pedagio text   NOT NULL  , 
      valor_ton_pedagio double   , 
      cod_cliente int   NOT NULL  , 
      tonelada_total double  (10,3)   NOT NULL  , 
      situacao char   NOT NULL  , 
 PRIMARY KEY (Pedido),
FOREIGN KEY(cod_cliente) REFERENCES tabcadcliente(NUMCLI)) ; 

CREATE TABLE tabcadpedidotransporte_valor( 
      id  INTEGER    NOT NULL  , 
      Pedido int   NOT NULL  , 
      Descricao_Destino varchar  (255)   NOT NULL  , 
      CEP int  (8)   , 
      Cidade varchar  (255)   , 
      KM int   , 
      Valor_tonelada double  (10,2)   , 
      Valor_KM double  (10,2)   , 
      Valor_tonelada_terceiro double  (10,2)   , 
      Valor_KM_terceiro double  (10,2)   , 
      Cod_FazendaLP int   , 
      Cod_LoteBloco int   , 
 PRIMARY KEY (id),
FOREIGN KEY(Pedido) REFERENCES tabcadpedidotransporte(Pedido),
FOREIGN KEY(Cod_FazendaLP) REFERENCES tabcadfazendalp(id),
FOREIGN KEY(Cod_LoteBloco) REFERENCES tabcadfazendalp_lotebloco(id)) ; 

CREATE TABLE tabcadplanocontas( 
      id  INTEGER    NOT NULL  , 
      dtultimaatualizacao datetime   , 
      numero varchar  (10)   , 
      nome varchar  (50)   , 
      lacamentos varchar  (1)   , 
      mae int   , 
      tipo varchar  (1)   , 
      situacao varchar  (1)   , 
      estoque varchar  (1)   , 
      livroCaixaSemNota char  (1)   , 
      fechamento_empresas varchar  (1)   , 
      semrequisicao varchar  (1)   , 
      outras_receitas char  (1)   , 
 PRIMARY KEY (id)) ; 

CREATE TABLE tabcadponto( 
      id  INTEGER    NOT NULL  , 
      Data_Ponto date   , 
      Cod_Fazenda int  (3)   , 
      Cod_Turma int  (3)   , 
      Nome_Fiscal varchar  (150)   , 
      Cod_Funcionario int  (4)   , 
      Nome_Funcionario varchar  (150)   , 
      Hora_Inicial text   , 
      Hora_Final text   , 
      dtultimaatualizacao datetime   , 
      NSR_Entrada char  (11)   , 
      NSR_Saida char  (11)   , 
      NFR char  (17)   , 
      id_REP int   , 
      Nome_Rep varchar  (150)   , 
      Cod_TabFuncionario int   , 
      Cod_TabFazenda int   , 
      Cod_TabTurma int   , 
      app char  (1)   , 
 PRIMARY KEY (id),
FOREIGN KEY(Cod_TabFuncionario) REFERENCES tabcadfuncionario(codfuncionario),
FOREIGN KEY(Cod_TabFazenda) REFERENCES tabcadfazenda(codfaz),
FOREIGN KEY(Cod_TabTurma) REFERENCES tabcadturma(codturma)) ; 

CREATE TABLE tabcadponto_justificativa( 
      id  INTEGER    NOT NULL  , 
      Justificativa text   , 
      dtultimaatualizacao datetime   , 
      cod_usuario int   , 
      cod_ponto int   , 
      Hora_Inicial text   , 
      Hora_Final text   , 
 PRIMARY KEY (id),
FOREIGN KEY(cod_ponto) REFERENCES tabcadponto(id)) ; 

CREATE TABLE tabcadpraga( 
      codpraga  INTEGER    NOT NULL  , 
      codext int  (11)     DEFAULT NULL, 
      nomepraga varchar  (255)     DEFAULT NULL, 
      situacao varchar  (255)     DEFAULT NULL, 
      codemppraga int  (11)     DEFAULT NULL, 
      dtultimaatualizacao datetime   , 
      tipoatualizacao int  (4)     DEFAULT 'NULL COMMENT 1 - Inserção', 
 PRIMARY KEY (codpraga)) ; 

CREATE TABLE tabcadpreparo( 
      codpreparo  INTEGER    NOT NULL  , 
      eletrostatica varchar  (3)     DEFAULT NULL, 
      codfaz int  (11)   NOT NULL    DEFAULT 0, 
      datapreparo date   , 
      mlpreparo int  (11)     DEFAULT NULL, 
      tanqueatual int  (11)     DEFAULT NULL, 
      cTotalBombas double  (10,)     DEFAULT NULL, 
      variavel varchar  (255)     DEFAULT NULL, 
      ltsnabomba int  (11)     DEFAULT NULL, 
      marcha varchar  (255)     DEFAULT NULL, 
      mtstempo int  (11)     DEFAULT NULL, 
      temposeg int  (11)     DEFAULT NULL, 
      velocidade double  (10,)     DEFAULT NULL, 
      ltsbicomin double  (10,)     DEFAULT NULL, 
      libras int  (11)     DEFAULT NULL, 
      bicos int  (11)     DEFAULT NULL, 
      uM3planta int  (11)     DEFAULT NULL, 
      uPlphect int  (11)     DEFAULT NULL, 
      uTotalplantas int  (11)     DEFAULT NULL, 
      uEsplinha double  (10,)     DEFAULT NULL, 
      uEsppl double  (10,)     DEFAULT NULL, 
      cMLm3 int  (11)     DEFAULT NULL, 
      cPlantaspBB int  (11)     DEFAULT NULL, 
      cHectBB double  (10,)     DEFAULT NULL, 
      cLtsHect int  (11)     DEFAULT NULL, 
      cTempoumaBB datetime   , 
      cLtspPL double  (10,)     DEFAULT NULL, 
      cVrBomba double  (10,)     DEFAULT NULL, 
      cVrPlanta double  (10,)     DEFAULT NULL, 
      cVrTotal double  (10,)     DEFAULT NULL, 
      eMLm3 double  (10,)     DEFAULT 0.00, 
      ePlantaspBB int  (11)     DEFAULT NULL, 
      eHectBB double  (10,)     DEFAULT NULL, 
      eLtsHect int  (11)     DEFAULT NULL, 
      eTempoumaBB datetime   , 
      eLtspPL double  (10,)     DEFAULT NULL, 
      eVrBomba double  (10,)     DEFAULT NULL, 
      eVrPlanta double  (10,)     DEFAULT NULL, 
      eVrTotal double  (10,)     DEFAULT NULL, 
      eTotalBB double  (10,)     DEFAULT NULL, 
      codemp int  (11)     DEFAULT NULL, 
      status int  (1)     DEFAULT 0, 
      dtultimaatualizacao datetime   , 
      tipoatualizacao int  (4)     DEFAULT 'NULL COMMENT 1 - Inserção', 
 PRIMARY KEY (codpreparo),
FOREIGN KEY(codfaz) REFERENCES tabcadfazenda(codfaz)) ; 

CREATE TABLE tabcadpre_transferencia( 
      id  INTEGER    NOT NULL  , 
      data_movimentacao date   , 
      codmovitem int  (255)     DEFAULT NULL, 
      codprod int  (255)     DEFAULT NULL, 
      nomematerial varchar  (255)     DEFAULT NULL, 
      qtd double  (10,2)     DEFAULT NULL, 
      codestoque int  (255)     DEFAULT NULL, 
      estoque varchar  (255)     DEFAULT NULL, 
      usuario varchar  (255)     DEFAULT NULL, 
      status varchar  (30)     DEFAULT NULL, 
      codmov int  (10)   , 
      tipo varchar  (50)   , 
 PRIMARY KEY (id)) ; 

CREATE TABLE tabcadquilometragem( 
      codkm  INTEGER    NOT NULL  , 
      codtrator int  (11)     DEFAULT NULL, 
      coduser int  (11)     DEFAULT NULL, 
      datahora datetime   , 
      hodometroinicio int  (11)     DEFAULT NULL, 
      hodometrofim int  (11)     DEFAULT NULL, 
      observacao varchar  (255)     DEFAULT NULL, 
      origem varchar  (255)   NOT NULL  , 
      destino varchar  (255)   NOT NULL  , 
      liberacao varchar  (255)     DEFAULT NULL, 
      codliberacao int  (11)     DEFAULT NULL, 
      dispositivo char  (50)     DEFAULT NULL, 
 PRIMARY KEY (codkm),
FOREIGN KEY(codtrator) REFERENCES tabcadtrator(codtrator)) ; 

CREATE TABLE tabcadrep( 
      id  INTEGER    NOT NULL  , 
      Nome varchar  (255)   NOT NULL  , 
      IP_URL varchar  (255)   , 
      Senha int   , 
      NFR char  (17)   NOT NULL  , 
      PIN char  (64)   , 
      CodPatrimonio int   , 
      Empresa_CNPJ char  (14)   , 
      Empresa_CEI char  (12)   , 
      Empresa_Tipo char  (1)     DEFAULT '1', 
      Empresa_Nome varchar  (150)   , 
      Empresa_End varchar  (100)   , 
      Empresa_Responsavel_CPF char  (11)   , 
      Status char  (1)   NOT NULL  , 
      ultima_tentativa_conexao datetime   , 
      resultado_tentativa char  (3)   , 
      ultima_importacao datetime   , 
      grupofaz int   , 
 PRIMARY KEY (id)) ; 

CREATE TABLE tabcadrepponto( 
      id  INTEGER    NOT NULL  , 
      NSR int   , 
      DataPonto date   , 
      HoraPonto text   , 
      PIS char  (12)   , 
      NFR char  (17)   NOT NULL  , 
      id_REP int   , 
      Nome_Rep varchar  (150)   , 
      Cod_Funcionario int  (4)   , 
      Nome_Funcionario varchar  (150)   , 
      dtultimaatualizacao datetime   , 
      Cod_TabFuncionario int  (10)   , 
      editado_user_id int  (10)   , 
      justificativa text   , 
 PRIMARY KEY (id),
FOREIGN KEY(Cod_TabFuncionario) REFERENCES tabcadfuncionario(codfuncionario)) ; 

CREATE TABLE tabcadrequisicao( 
      id  INTEGER    NOT NULL  , 
      n_requisicao int  (9)   , 
      dataehora datetime   NOT NULL  , 
      id_faturamento int   , 
      tabcadfazenda_id int   NOT NULL  , 
      tabcadfornecedor_id int   NOT NULL  , 
      tabcadpatrimonio_id int   , 
      tabcadtransportadora_id int  (6)   , 
      tabcadmotorista_id int  (6)   , 
      tabcadmecanico_id int  (11)   , 
      TIPPAT int  (6)   , 
      cod_patrimonio int  (6)   , 
      cod_frota int  (6)   , 
      horimetro int  (6)   , 
      estoque int  (11)   , 
      documento varchar  (255)   , 
      observacao varchar  (255)   , 
      status varchar  (255)   , 
      valor_total_requisicao double  (10,2)   , 
      valor_desconto double  (10,2)   , 
      valor_desconto_servico double  (10,2)   , 
      user_id int   NOT NULL  , 
      dtultimaatualizacao datetime   , 
      motivos_pendencia text   , 
      digitacao_horimetro text   , 
      user_id_autorizacao int   , 
      user_id_cancelamento int   , 
      motivo_cancelamento text   , 
      dataehora_autorizacao datetime   , 
      status_estoque varchar  (255)   , 
      status_financeiro varchar  (20)     DEFAULT ''PENDENTE'', 
      detalhes text   , 
      entra_fechamento char   , 
      revisar char  (2)   , 
      media_atual double   , 
      compra_patrimonio char  (1)   , 
      revisado_pelo_suprimentos char  (1)   , 
      revisado_obs text   , 
      revisado_aguardando_resposta char  (1)   , 
      revisado_pelo_suprimentos_user_id int   , 
      revisado_nao_exibir char  (1)   , 
      revisado_datahora datetime   , 
      industria_cliente_id int  (10)   , 
      contrato_id int  (10)   , 
      variedade_contrato_id int  (10)   , 
 PRIMARY KEY (id),
FOREIGN KEY(tabcadfazenda_id) REFERENCES tabcadfazenda(codfaz),
FOREIGN KEY(tabcadmecanico_id) REFERENCES tabcadmecanico(codmec),
FOREIGN KEY(tabcadpatrimonio_id) REFERENCES tabcadtrator(codtrator),
FOREIGN KEY(tabcadfornecedor_id) REFERENCES tabcadfornecedor(codfornecedor),
FOREIGN KEY(tabcadtransportadora_id) REFERENCES tabcadtransportadora(NUMTRN),
FOREIGN KEY(user_id) REFERENCES tabusuarios(coduser),
FOREIGN KEY(id_faturamento) REFERENCES tabcadrequisicao_faturamento(id),
FOREIGN KEY(user_id_cancelamento) REFERENCES tabusuarios(coduser),
FOREIGN KEY(TIPPAT) REFERENCES tabcadpatrimonio_tipo(CODTPAT),
FOREIGN KEY(estoque) REFERENCES tabestoque(codestoque),
FOREIGN KEY(user_id_autorizacao) REFERENCES tabusuarios(coduser),
FOREIGN KEY(revisado_pelo_suprimentos_user_id) REFERENCES tabusuarios(coduser)) ; 

CREATE TABLE tabcadrequisicao_autorizacao( 
      id  INTEGER    NOT NULL  , 
      tabusuarios_id int  (11)   , 
      responsavel_tabusuarios_id int  (11)   , 
      dtultimaatualizacao datetime   , 
      dthoracriacao datetime   , 
 PRIMARY KEY (id),
FOREIGN KEY(tabusuarios_id) REFERENCES tabusuarios(coduser),
FOREIGN KEY(responsavel_tabusuarios_id) REFERENCES tabusuarios(coduser)) ; 

CREATE TABLE tabcadrequisicao_entregafutura( 
      id  INTEGER    NOT NULL  , 
      id_requisicao int   , 
      n_requisicao int   , 
      n_entrega int   , 
      cod_estoque int   , 
      data_solicitacao datetime   , 
      data_confirmacao datetime   , 
      user_solicitacao int   , 
      user_confirmacao int   , 
      status varchar  (50)   , 
      obs text   , 
      dtultimaatualizacao datetime   , 
 PRIMARY KEY (id),
FOREIGN KEY(id_requisicao) REFERENCES tabcadrequisicao(id),
FOREIGN KEY(user_solicitacao) REFERENCES tabusuarios(coduser),
FOREIGN KEY(user_confirmacao) REFERENCES tabusuarios(coduser),
FOREIGN KEY(cod_estoque) REFERENCES tabestoque(codestoque)) ; 

CREATE TABLE tabcadrequisicao_entregafutura_confirmacao( 
      id  INTEGER    NOT NULL  , 
      user_confirmacao int   , 
      data_confirmacao datetime   , 
      id_entregafutura int   , 
      dtultimaatualizacao datetime   , 
 PRIMARY KEY (id),
FOREIGN KEY(id_entregafutura) REFERENCES tabcadrequisicao_entregafutura(id)) ; 

CREATE TABLE tabcadrequisicao_entregafutura_confirmacao_itens( 
      id  INTEGER    NOT NULL  , 
      id_entregafutura_confirmacao int   , 
      id_material int   , 
      qtd_confirmada double  (10,3)   , 
      dtultimaatualizacao datetime   , 
 PRIMARY KEY (id),
FOREIGN KEY(id_entregafutura_confirmacao) REFERENCES tabcadrequisicao_entregafutura_confirmacao(id),
FOREIGN KEY(id_material) REFERENCES tabcadmaterial(codmaterial)) ; 

CREATE TABLE tabcadrequisicao_entregafutura_itens( 
      id  INTEGER    NOT NULL  , 
      id_entregafutura int   , 
      id_material int   , 
      qtd double  (10,3)   , 
      saldo double  (10,3)   , 
      valor_uni double  (10,3)   , 
      valor_total double  (10,3)   , 
      dtultimaatualizacao datetime   , 
 PRIMARY KEY (id),
FOREIGN KEY(id_entregafutura) REFERENCES tabcadrequisicao_entregafutura(id),
FOREIGN KEY(id_material) REFERENCES tabcadmaterial(codmaterial)) ; 

CREATE TABLE tabcadrequisicao_faturamento( 
      id  INTEGER    NOT NULL  , 
      dtultimaatualizacao datetime   , 
      apelido varchar  (150)   , 
      informacao text   , 
      limite_diesel_s500 int  (11)   , 
      tempo_limite_dias int  (11)   , 
      id_empresa int   , 
      tempo_limite_meses int   , 
 PRIMARY KEY (id),
FOREIGN KEY(id_empresa) REFERENCES tabcadempresas(CODEMP)) ; 

CREATE TABLE tabcadrequisicao_itens( 
      id  INTEGER    NOT NULL  , 
      tabcadrequisicao_id int   NOT NULL  , 
      tabcadmaterial_id int   NOT NULL  , 
      qtd int  (6)   NOT NULL  , 
      valor double  (10,2)   NOT NULL  , 
      Justificativa_preco_maior text   , 
      qtd_est_barracao double  (10,2)   , 
      justificativa_est_barracao text   , 
 PRIMARY KEY (id),
FOREIGN KEY(tabcadmaterial_id) REFERENCES tabcadmaterial(codmaterial),
FOREIGN KEY(tabcadrequisicao_id) REFERENCES tabcadrequisicao(id)) ; 

CREATE TABLE tabcadrequisicao_regras( 
      id  INTEGER    NOT NULL    DEFAULT '0 AUTO_INCREMENT', 
      id_material int  (11)     DEFAULT NULL, 
      id_usuario int  (11)     DEFAULT NULL, 
      id_fornecedor int  (11)     DEFAULT NULL, 
      porcentagem_maior int  (11)     DEFAULT NULL, 
      compra_acima_do_minimo char  (3)     DEFAULT NULL, 
      compra_acima_do_ideal char  (3)     DEFAULT NULL, 
      compra_com_estoque_disponivel char  (3)     DEFAULT NULL, 
      valor_maximo double  (10,2)   , 
      detalhes char  (1)   , 
 PRIMARY KEY (id),
FOREIGN KEY(id_material) REFERENCES tabcadmaterial(codmaterial),
FOREIGN KEY(id_usuario) REFERENCES tabusuarios(coduser),
FOREIGN KEY(id_fornecedor) REFERENCES tabcadfornecedor(codfornecedor)) ; 

CREATE TABLE tabcadrequisicao_servico( 
      id  INTEGER    NOT NULL  , 
      tabcadservico_id int   NOT NULL  , 
      tabcadrequisicao_id int   NOT NULL  , 
      detalhes_servico text   , 
      qtd int  (6)   NOT NULL  , 
      valor double  (10,2)   NOT NULL  , 
 PRIMARY KEY (id),
FOREIGN KEY(tabcadrequisicao_id) REFERENCES tabcadrequisicao(id),
FOREIGN KEY(tabcadservico_id) REFERENCES tabcadmaterial(codmaterial)) ; 

CREATE TABLE tabcadriscosbiologicos( 
      id_riscobiologico  INTEGER    NOT NULL  , 
      dtultimaatualizacao datetime   , 
      dthoracriacao datetime   , 
      situacao varchar  (10)   , 
      nomeriscobiologico varchar  (200)   , 
      descricao text   , 
      idade_maxima int   , 
 PRIMARY KEY (id_riscobiologico)) ; 

CREATE TABLE tabcadriscosespecificos( 
      id_riscoespecifico  INTEGER    NOT NULL  , 
      dtultimaatualizacao datetime   , 
      dthoracriacao datetime   , 
      nomeriscoespecifico varchar  (100)   , 
      situacao varchar  (10)   , 
      descricao text   , 
      idade_maxima int   , 
 PRIMARY KEY (id_riscoespecifico)) ; 

CREATE TABLE tabcadriscosfisicos( 
      id_riscofisico  INTEGER    NOT NULL  , 
      dtultimaatualizacao datetime   , 
      dthoracriacao datetime   , 
      nomeriscofisico varchar  (100)   , 
      situacao varchar  (10)   , 
      descricao text   , 
      idade_maxima int   , 
 PRIMARY KEY (id_riscofisico)) ; 

CREATE TABLE tabcadriscosquimicos( 
      id_riscoquimico  INTEGER    NOT NULL  , 
      dtultimaatualizacao datetime   , 
      dthoracriacao datetime   , 
      nomeriscoquimico varchar  (100)   , 
      situacao varchar  (10)   , 
      descricao text   , 
      idade_maxima int   , 
 PRIMARY KEY (id_riscoquimico)) ; 

CREATE TABLE tabcadservico( 
      CODSER  INTEGER    NOT NULL  , 
      SERVICO char  (30)   , 
      VALOR double  (12,2)   , 
      SITUACAO char  (1)   , 
 PRIMARY KEY (CODSER)) ; 

CREATE TABLE tabcadsindicato( 
      CODSIND  INTEGER    NOT NULL  , 
      dtultimaatualizacao datetime   , 
      CNPJSIND varchar  (20)   , 
      NOMSIND varchar  (100)   , 
      CIDSIND varchar  (50)   , 
      UFSIND varchar  (2)   , 
      ENDSIND varchar  (100)   , 
      BAISIND varchar  (50)   , 
      SITSIND varchar  (1)   , 
      RSOCSIND varchar  (60)   , 
      IESIND varchar  (18)   , 
      NUMSIND int   , 
      COMPSIND varchar  (20)   , 
      CEPSIND varchar  (10)   , 
      TEL1SIND varchar  (14)   , 
      TEL2SIND varchar  (14)   , 
      TEL3SIND varchar  (14)   , 
      EMAILSIND varchar  (100)   , 
      SITESIND varchar  (60)   , 
      CONTSIND varchar  (40)   , 
      OBSSIND varchar  (60)   , 
      presidente varchar  (100)   , 
      mr varchar  (100)   , 
 PRIMARY KEY (CODSIND)) ; 

CREATE TABLE tabcadsolicitacao_melhorias( 
      id  INTEGER    NOT NULL  , 
      user_id int  (10)     DEFAULT NULL, 
      datahora_solicitacao datetime   , 
      descricao text     DEFAULT NULL, 
      n_chamado int  (10)     DEFAULT NULL, 
      status varchar  (255)     DEFAULT NULL, 
      datahora_conclusao datetime   , 
 PRIMARY KEY (id),
FOREIGN KEY(user_id) REFERENCES tabusuarios(coduser)) ; 

CREATE TABLE tabcadtabelafretes( 
      id  INTEGER    NOT NULL  , 
      dtultimaatualizacao datetime   , 
      origem_id int   , 
      destino_id int   , 
      dt_inicial date   , 
      dt_final date   , 
      vl_frete double  (10,2)   , 
      situacao varchar  (1)   , 
 PRIMARY KEY (id),
FOREIGN KEY(origem_id) REFERENCES tabcadcidade(codcidade),
FOREIGN KEY(destino_id) REFERENCES tabcadcidade(codcidade)) ; 

CREATE TABLE tabcadtabelafretesvalidade( 
      id  INTEGER    NOT NULL  , 
      dtultimaatualizacao datetime   , 
      meses int   , 
 PRIMARY KEY (id)) ; 

CREATE TABLE tabcadtabelasfretes_hist( 
      id  INTEGER    NOT NULL  , 
      dtultimaatualizacao datetime   , 
      tabela_id int   NOT NULL  , 
      dt_inicial date   , 
      dt_final date   , 
      valor double  (10,2)   , 
      situacao varchar  (1)   , 
 PRIMARY KEY (id),
FOREIGN KEY(tabela_id) REFERENCES tabcadtabelafretes(id)) ; 

CREATE TABLE tabcadtipo_contato( 
      id  INTEGER    NOT NULL  , 
      Tipo_Contato varchar  (100)   , 
      Mascara varchar  (50)   , 
      dtultimaatualizacao datetime   , 
 PRIMARY KEY (id)) ; 

CREATE TABLE tabcadtipoexame( 
      codtipoexame  INTEGER    NOT NULL  , 
      nometipoexame varchar  (255)     DEFAULT NULL, 
      codemp int  (11)     DEFAULT NULL, 
      situacao varchar  (255)     DEFAULT NULL, 
 PRIMARY KEY (codtipoexame)) ; 

CREATE TABLE tabcadtipopagto( 
      id  INTEGER    NOT NULL  , 
      Nome_Tipo varchar  (100)   , 
      Observacao text   , 
      dtultimaatualizacao datetime   , 
 PRIMARY KEY (id)) ; 

CREATE TABLE tabcadtransbordo( 
      id  INTEGER    NOT NULL  , 
      dtultimaatualizacao datetime   , 
      fornecedor_id int   , 
      vl_caixa double  (10,2)   , 
      st_padrao varchar  (1)   , 
      situacao varchar  (1)   , 
 PRIMARY KEY (id),
FOREIGN KEY(fornecedor_id) REFERENCES tabcadfornecedor(codfornecedor)) ; 

CREATE TABLE tabcadtransportadora( 
      NUMTRN  INTEGER    NOT NULL  , 
      NOMTRN char  (60)   , 
      NOMEND char  (30)   , 
      NUMCEP int  (8)   , 
      NOMCID char  (20)   , 
      SIGEST char  (2)   , 
      NUMTEL char  (15)   , 
      NUMFAX char  (15)   , 
      CGCTRN char  (18)   , 
      INSEST char  (15)   , 
      NOMBAI char  (25)   , 
      DATFINI date   , 
      DATFFIN date   , 
      TITULAR char  (60)   , 
      BANCO char  (20)   , 
      AGENCIA char  (20)   , 
      CONTA char  (20)   , 
      CPF char  (20)   , 
      PFRETE char  (1)   , 
      NUMTEL2 char  (15)   , 
      DIGAG char  (2)   , 
      DIGCON char  (2)   , 
      NUMBAN char  (3)   , 
      PESSOA int  (1)   , 
      BCONUM char  (3)   , 
      BCOTIP int  (1)   , 
      BCOOBS char  (30)   , 
      RNTRC int   , 
      dtultimaatualizacao datetime   , 
      tipoatualizacao int   , 
      codcidadeibge_transp int   , 
      codcidadeibge_conta int   , 
      email_transp varchar  (255)   , 
      email_conta varchar  (255)   , 
      situacao varchar  (20)   , 
      pixtipo varchar  (15)   , 
      chavepix varchar  (100)   , 
 PRIMARY KEY (NUMTRN)) ; 

CREATE TABLE tabcadtrator( 
      codtrator  INTEGER    NOT NULL  , 
      situacao char  (10)   NOT NULL  , 
      nometrator varchar  (255)   NOT NULL  , 
      codtipopat int  (6)   NOT NULL  , 
      codfrotatrat int  (6)   , 
      codpatrimonio int  (6)   NOT NULL  , 
      lp_transporte char  (3)   , 
      numhorimetro int   , 
      codfaz int   , 
      codlocalpat int  (11)   , 
      capacidadetanque int   , 
 PRIMARY KEY (codtrator),
FOREIGN KEY(codtipopat) REFERENCES tabcadpatrimonio_tipo(CODTPAT),
FOREIGN KEY(codfaz) REFERENCES tabcadfazenda(codfaz),
FOREIGN KEY(codlocalpat) REFERENCES tbcadlocalpat(CODLPAT)) ; 

CREATE TABLE tabcadtreinamentos( 
      id  INTEGER    NOT NULL  , 
      modelo_id int   , 
      dtultimaatualizacao datetime   , 
      dthoracriacao datetime   , 
      local_id int  (250)   , 
      setor varchar  (250)   , 
      Instrutor_id int   , 
 PRIMARY KEY (id),
FOREIGN KEY(local_id) REFERENCES tabcadtreinamentos_local(id),
FOREIGN KEY(Instrutor_id) REFERENCES tabcadtreinamentos_instrutor(id),
FOREIGN KEY(modelo_id) REFERENCES tabcadtreinamentos_modelo(id)) ; 

CREATE TABLE tabcadtreinamentos_conteudo( 
      id  INTEGER    NOT NULL  , 
      dtultimaatualizacao datetime   , 
      dthoracriacao datetime   , 
      treinamento_id int   , 
      dia int   , 
      conteudo text   , 
 PRIMARY KEY (id),
FOREIGN KEY(treinamento_id) REFERENCES tabcadtreinamentos_modelo(id)) ; 

CREATE TABLE tabcadtreinamentos_data_conteudo( 
      id  INTEGER    NOT NULL  , 
      dtultimaatualizacao datetime   , 
      dthoracriacao datetime   , 
      treinamento_id int   , 
      dt_treinamento date   , 
      id_conteudo int   , 
 PRIMARY KEY (id),
FOREIGN KEY(treinamento_id) REFERENCES tabcadtreinamentos(id),
FOREIGN KEY(id_conteudo) REFERENCES tabcadtreinamentos_conteudo(id)) ; 

CREATE TABLE tabcadtreinamentos_funcionarios( 
      id  INTEGER    NOT NULL  , 
      dtultimaatualizacao datetime   , 
      dthoracriacao datetime   , 
      treinamento_id int   , 
      funcionario_id int   , 
      realizado varchar  (1)     DEFAULT ''N'', 
      pendente varchar  (1)   , 
 PRIMARY KEY (id),
FOREIGN KEY(treinamento_id) REFERENCES tabcadtreinamentos(id),
FOREIGN KEY(funcionario_id) REFERENCES tabcadfuncionario(codfuncionario)) ; 

CREATE TABLE tabcadtreinamentos_funcionarios_presenca( 
      id  INTEGER    NOT NULL  , 
      dtultimaatualizacao datetime   , 
      dthoracriacao datetime   , 
      data_conteudo_id int   , 
      treinamento_funcionario_id int   , 
      presenca char  (1)   , 
 PRIMARY KEY (id),
FOREIGN KEY(data_conteudo_id) REFERENCES tabcadtreinamentos_data_conteudo(id),
FOREIGN KEY(treinamento_funcionario_id) REFERENCES tabcadtreinamentos_funcionarios(id)) ; 

CREATE TABLE tabcadtreinamentos_instrutor( 
      id  INTEGER    NOT NULL  , 
      dtultimaatualizacao datetime   , 
      dthoracriacao datetime   , 
      nome_completo varchar  (250)   , 
      cpf int  (11)   , 
      endereco varchar  (250)   , 
      numero varchar  (20)   , 
      bairro varchar  (50)   , 
      cep int  (8)   , 
      cidade varchar  (30)   , 
      telefone varchar  (20)   , 
      email varchar  (100)   , 
      n_registro varchar  (50)   , 
      formacao varchar  (100)   , 
      padrao varchar  (1)   , 
 PRIMARY KEY (id)) ; 

CREATE TABLE tabcadtreinamentos_local( 
      id  INTEGER    NOT NULL  , 
      dtultimaatualizacao datetime   , 
      dthoracriacao datetime   , 
      Instituicao varchar  (250)   , 
      endereco varchar  (250)   , 
      numero varchar  (20)   , 
      bairro varchar  (50)   , 
      cep int  (8)   , 
      cidade varchar  (30)   , 
      telefone varchar  (20)   , 
      email varchar  (100)   , 
      fazenda_id int   , 
 PRIMARY KEY (id),
FOREIGN KEY(fazenda_id) REFERENCES tabcadfazenda(codfaz)) ; 

CREATE TABLE tabcadtreinamentos_modelo( 
      id  INTEGER    NOT NULL  , 
      dtultimaatualizacao datetime   , 
      dthoracriacao datetime   , 
      titulo varchar  (250)   , 
      qthoras int   , 
      qtdias int   , 
      frenquencia int   , 
      anexo_apresentacao varchar  (250)   , 
      obrigatorio_admissao char  (1)   , 
      treinamento_unico char   , 
      exige_avaliacao char  (1)   , 
      documento_certificado int   , 
      documento_lista_presenca int   , 
      prazo int   , 
      local_id int   , 
 PRIMARY KEY (id),
FOREIGN KEY(local_id) REFERENCES tabcadtreinamentos_local(id)) ; 

CREATE TABLE tabcadtreinamentos_modelo_funcoes_obrigatorias( 
      id  INTEGER    NOT NULL  , 
      dtultimaatualizacao datetime   , 
      dthoracriacao datetime   , 
      funcao_id int   , 
      modelo_id int   , 
 PRIMARY KEY (id),
FOREIGN KEY(funcao_id) REFERENCES tabcadfuncao(codfuncao),
FOREIGN KEY(modelo_id) REFERENCES tabcadtreinamentos_modelo(id)) ; 

CREATE TABLE tabcadturma( 
      codturma  INTEGER    NOT NULL  , 
      nometurma varchar  (255)   , 
      codemp int  (11)   , 
      codext int  (11)   , 
      situacao varchar  (255)   , 
      id_fiscal int   NOT NULL  , 
 PRIMARY KEY (codturma),
FOREIGN KEY(id_fiscal) REFERENCES tabcadfiscal(NUMTUR)) ; 

CREATE TABLE tabcad_unidades_medidas( 
      id  INTEGER    NOT NULL  , 
      dtultimaatualizacao datetime   , 
      dthoracriacao datetime   , 
      descricao varchar  (20)   , 
      tipo int   , 
      qtde double  (10,2)   , 
      sigla varchar  (2)   , 
 PRIMARY KEY (id)) ; 

CREATE TABLE tabcadvariedade( 
      codvari  INTEGER    NOT NULL  , 
      nomevari varchar  (255)   , 
      situacao varchar  (255)   , 
      codemp int  (11)   , 
      codext int  (11)   , 
      cod_material int   , 
 PRIMARY KEY (codvari),
FOREIGN KEY(cod_material) REFERENCES tabcadmaterial(codmaterial)) ; 

CREATE TABLE tabcadveiculo_terceiro( 
      id  INTEGER    NOT NULL  , 
      placa char  (7)   NOT NULL  , 
      descricao varchar  (255)   NOT NULL  , 
      capacidade_tanque int   NOT NULL  , 
      horimetro int   NOT NULL  , 
      ativado char   NOT NULL  , 
      dtultimaatualizacao datetime   , 
      tipoatualizacao int     DEFAULT 2, 
      cod_motorista int   , 
      cod_transportadora int   , 
 PRIMARY KEY (id),
FOREIGN KEY(cod_transportadora) REFERENCES tabcadtransportadora(NUMTRN),
FOREIGN KEY(cod_motorista) REFERENCES tabcadmotorista_terceiro(id)) ; 

CREATE TABLE tabchamados( 
      id  INTEGER    NOT NULL  , 
      dtultimaatualizacao datetime   , 
      dt_abertura date   , 
      dt_andamento datetime   , 
      dt_conclusao datetime   , 
      titulo varchar  (200)   , 
      servico_id int   NOT NULL  , 
      detalhamento text   , 
      usuario_id int   , 
      fazenda_id int   , 
      cod_patrimonio int   , 
      status_id int   NOT NULL  , 
      TIPPAT int   , 
      estoque int   , 
      cod_frota int   , 
      tabcadpatrimonio_id int   , 
      tabcadmotorista_id int   , 
      tabcadtransportadora_id int   , 
      horimetro int   , 
      trator_id int   , 
 PRIMARY KEY (id),
FOREIGN KEY(trator_id) REFERENCES tabcadtrator(codtrator),
FOREIGN KEY(status_id) REFERENCES tabchamadosstatus(id),
FOREIGN KEY(TIPPAT) REFERENCES tabcadpatrimonio_tipo(CODTPAT),
FOREIGN KEY(estoque) REFERENCES tabestoque(codestoque),
FOREIGN KEY(servico_id) REFERENCES tabchamadosservico(id),
FOREIGN KEY(usuario_id) REFERENCES tabusuarios(coduser),
FOREIGN KEY(fazenda_id) REFERENCES tabcadfazenda(codfaz),
FOREIGN KEY(tabcadpatrimonio_id) REFERENCES tabcadtrator(codtrator),
FOREIGN KEY(tabcadtransportadora_id) REFERENCES tabcadtransportadora(NUMTRN)) ; 

CREATE TABLE tabchamadosnotas( 
      id  INTEGER    NOT NULL  , 
      dtultimaatualizacao datetime   , 
      dt datetime   , 
      chamado_id int   NOT NULL  , 
      usuarios_id int   , 
      status_id int   NOT NULL  , 
      obs text   , 
 PRIMARY KEY (id),
FOREIGN KEY(chamado_id) REFERENCES tabchamados(id),
FOREIGN KEY(status_id) REFERENCES tabchamadosstatus(id)) ; 

CREATE TABLE tabchamadosservico( 
      id  INTEGER    NOT NULL  , 
      dtultimaatualizacao datetime   , 
      nome varchar  (100)   , 
      funcao_id int   , 
 PRIMARY KEY (id),
FOREIGN KEY(funcao_id) REFERENCES tabcadfuncao(codfuncao)) ; 

CREATE TABLE tabchamadosstatus( 
      id  INTEGER    NOT NULL  , 
      dtultimaatualizacao datetime   , 
      descricao varchar  (100)   , 
 PRIMARY KEY (id)) ; 

CREATE TABLE tabclientes_contato( 
      id  INTEGER    NOT NULL  , 
      id_Cliente int   , 
      id_Tipo int   , 
      Contato varchar  (50)   , 
      OBS text   , 
      dtultimaatualizacao datetime   , 
 PRIMARY KEY (id),
FOREIGN KEY(id_Cliente) REFERENCES tabcadclientes(id),
FOREIGN KEY(id_Tipo) REFERENCES tabcadtipo_contato(id)) ; 

CREATE TABLE tabcoladvertencias( 
      id  INTEGER    NOT NULL  , 
      dtultimaatualizacao datetime   , 
      tipo_id int   NOT NULL  , 
      funcionario_id int   , 
      dt date   , 
      complemento varchar  (200)   , 
      cidade varchar  (100)   , 
      tp_advertencia varchar  (1)   , 
      dias int   , 
      retirar_cestabasica varchar  (1)   , 
      retirar_premio varchar  (1)   , 
 PRIMARY KEY (id),
FOREIGN KEY(tipo_id) REFERENCES tabcoladvertencias_tipo(id),
FOREIGN KEY(funcionario_id) REFERENCES tabcadfuncionario(codfuncionario)) ; 

CREATE TABLE tabcoladvertencias_tipo( 
      id  INTEGER    NOT NULL  , 
      dtultimaatualizacao datetime   , 
      nome varchar  (100)   , 
      imprimir_data varchar  (1)   , 
 PRIMARY KEY (id)) ; 

CREATE TABLE tabcolcestabasica_funcionarios( 
      id  INTEGER    NOT NULL  , 
      dtultimaatualizacao datetime   , 
      dthoracriacao datetime   , 
      mes int   , 
      ano int   , 
      funcionario_id int   , 
      motivo varchar  (100)   , 
 PRIMARY KEY (id),
FOREIGN KEY(funcionario_id) REFERENCES tabcadfuncionario(codfuncionario)) ; 

CREATE TABLE tabcolempresa_fechamento( 
      id  INTEGER    NOT NULL  , 
      dtultimaatualizacao datetime   , 
      empresa_id int   , 
      dt_inicial date   , 
      dt_final date   , 
      vl_bruto double  (10,2)   , 
      vl_folha double  (10,2)   , 
      vl_impostos double  (10,2)   , 
      vl_escritorio double  (10,2)   , 
      vl_epi double  (10,2)   , 
      vl_transbordo double  (10,2)   , 
      vl_transporte double  (10,2)   , 
      vl_despesas double  (10,2)   , 
      vl_geral double  (10,2)   , 
      situacao varchar  (1)   , 
      dt_tipo int   , 
 PRIMARY KEY (id),
FOREIGN KEY(empresa_id) REFERENCES tabcadempresas(CODEMP)) ; 

CREATE TABLE tabcolempresa_fechamento_despesas( 
      id  INTEGER    NOT NULL  , 
      dtultimaatualizacao datetime   , 
      fechamento_id int   NOT NULL  , 
      despesa_id int   NOT NULL  , 
 PRIMARY KEY (id),
FOREIGN KEY(fechamento_id) REFERENCES tabcolempresa_fechamento(id),
FOREIGN KEY(despesa_id) REFERENCES tabcolempresa_lctos(id)) ; 

CREATE TABLE tabcolempresa_fechamento_fiscal( 
      id  INTEGER    NOT NULL  , 
      dtultimaatualizacao datetime   , 
      fechamento_id int   NOT NULL  , 
      fiscal_id int   , 
      cx_peso double  (10,2)   , 
      vl_bruto double  (10,2)   , 
      qtd_func int   , 
      vl_folha double  (10,2)   , 
      vl_impostos double  (10,2)   , 
      vl_escritorio double  (10,2)   , 
      vl_epi double  (10,2)   , 
      vl_transbordo double  (10,2)   , 
      cx_transbordo double  (10,2)   , 
      vl_transporte double  (10,2)   , 
      vl_total double  (10,2)   , 
      media double  (10,2)   , 
 PRIMARY KEY (id),
FOREIGN KEY(fechamento_id) REFERENCES tabcolempresa_fechamento(id),
FOREIGN KEY(fiscal_id) REFERENCES tabcadfiscal(NUMTUR)) ; 

CREATE TABLE tabcolempresa_fechamento_folha( 
      id  INTEGER    NOT NULL  , 
      dtultimaatualizacao datetime   , 
      dt date   , 
      fiscal_id int   , 
      fazenda_id int   , 
      funcionario_id int   , 
      evento_id int   , 
      referencia varchar  (20)   , 
      complemento varchar  (20)   , 
      vl_provento double  (10,2)   , 
      vl_desconto double  (10,2)   , 
 PRIMARY KEY (id),
FOREIGN KEY(fiscal_id) REFERENCES tabcadfiscal(NUMTUR),
FOREIGN KEY(fazenda_id) REFERENCES tabcadfazenda(codfaz),
FOREIGN KEY(funcionario_id) REFERENCES tabcadfuncionario(codfuncionario),
FOREIGN KEY(evento_id) REFERENCES tabcadeventofolha(id)) ; 

CREATE TABLE tabcolempresa_lctos( 
      id  INTEGER    NOT NULL  , 
      dtultimaatualizacao datetime   , 
      empresa_id int   , 
      dt date   , 
      vl double  (10,2)   , 
      fiscal_id int   , 
      fazenda_id int   , 
      planocontas_id int   , 
      detalhamento varchar  (100)   , 
      qtd double  (10,2)   , 
      vl_unitario double  (10,2)   , 
 PRIMARY KEY (id),
FOREIGN KEY(empresa_id) REFERENCES tabcadempresas(CODEMP),
FOREIGN KEY(fiscal_id) REFERENCES tabcadfiscal(NUMTUR),
FOREIGN KEY(fazenda_id) REFERENCES tabcadfazenda(codfaz),
FOREIGN KEY(planocontas_id) REFERENCES tabcadplanocontas(id)) ; 

CREATE TABLE tabcolfiscal_avulsas( 
      id  INTEGER    NOT NULL  , 
      dtultimaatualizacao datetime   , 
      dthoracriacao datetime   , 
      caixas int   , 
      bags int   , 
      dt date   , 
      fiscal_id int   , 
      vl double  (10,2)   , 
 PRIMARY KEY (id),
FOREIGN KEY(fiscal_id) REFERENCES tabcadfiscal(NUMTUR)) ; 

CREATE TABLE tabcolfiscal_fechamento( 
      id  INTEGER    NOT NULL  , 
      dtultimaatualizacao datetime   , 
      dt_inicial date   , 
      dt_final date   , 
      fiscal_id int   , 
      situacao varchar  (1)   , 
      vl_tickets double  (10,2)   , 
      vl_creditos double  (10,2)   , 
      vl_debitos double  (10,2)   , 
      vl_liquido double  (10,2)   , 
      cx_carregadas double   , 
      cx_apontadas double  (10,2)   , 
      media double  (10,2)   , 
      vl_dif_credito double  (10,2)   , 
      vl_dif_debito double  (10,2)   , 
      cx_descontar double  (10,2)   , 
      cx_media double  (10,2)   , 
      bg_carregados double  (10,2)   , 
      bg_apontados double  (10,2)   , 
      bg_media double  (10,2)   , 
      bg_descontar double  (10,2)   , 
      bg_vl_tickets double  (10,2)   , 
      mediaBG double  (10,2)   , 
      vl_dif_creditoBG double  (10,2)   , 
      vl_dif_debitoBG double  (10,2)   , 
      cx_descontar_carregadas double  (10,2)   , 
      bg_descontar_carregadas double  (10,2)   , 
 PRIMARY KEY (id),
FOREIGN KEY(fiscal_id) REFERENCES tabcadfiscal(NUMTUR)) ; 

CREATE TABLE tabcolfiscal_fechamento_cd( 
      id  INTEGER    NOT NULL  , 
      dtultimaatualizacao datetime   , 
      fechamento_id int   NOT NULL  , 
      cd_id int   , 
 PRIMARY KEY (id),
FOREIGN KEY(fechamento_id) REFERENCES tabcolfiscal_fechamento(id),
FOREIGN KEY(cd_id) REFERENCES tabcadcreditodebito(id)) ; 

CREATE TABLE tabcolfiscal_fechamento_cfg( 
      id  INTEGER    NOT NULL  , 
      dtultimaatualizacao datetime   , 
      centrocustos_id int   , 
      planocontas_id int   , 
      forma_id int   , 
      serie varchar  (15)   , 
      operacao_id int   , 
 PRIMARY KEY (id),
FOREIGN KEY(centrocustos_id) REFERENCES tabcadcc(codcentrodecustos),
FOREIGN KEY(planocontas_id) REFERENCES tabcadplanocontas(id),
FOREIGN KEY(forma_id) REFERENCES tabcadformapgto(id),
FOREIGN KEY(operacao_id) REFERENCES tabcadoperacoes(id)) ; 

CREATE TABLE tabcolfiscal_fechamento_tickets( 
      id  INTEGER    NOT NULL  , 
      dtultimaatualizacao datetime   , 
      fechamento_id int   NOT NULL  , 
      ticket_id int   , 
 PRIMARY KEY (id),
FOREIGN KEY(fechamento_id) REFERENCES tabcolfiscal_fechamento(id),
FOREIGN KEY(ticket_id) REFERENCES tabcadfaturamento(id)) ; 

CREATE TABLE tabcolheita( 
      col_id  INTEGER    NOT NULL  , 
      dtultimaatualizacao datetime   , 
      col_data date   , 
      codfiscal int   , 
      codfaz int   , 
      importado varchar  (1)   , 
 PRIMARY KEY (col_id),
FOREIGN KEY(codfiscal) REFERENCES tabcadfiscal(NUMTUR),
FOREIGN KEY(codfaz) REFERENCES tabcadfazenda(codfaz)) ; 

CREATE TABLE tabcolheitaapontamento( 
      apcol_id  INTEGER    NOT NULL  , 
      dtultimaatualizacao datetime   , 
      apcol_falta int   , 
      apcol_banco int   , 
      apcol_outrafazenda int   , 
      apcol_semproducao int   , 
      col_id int   , 
      codfuncionario int   , 
 PRIMARY KEY (apcol_id),
FOREIGN KEY(col_id) REFERENCES tabcolheita(col_id),
FOREIGN KEY(codfuncionario) REFERENCES tabcadfuncionario(codfuncionario)) ; 

CREATE TABLE tabcolheitaaptotipo( 
      apcoltipo_id  INTEGER    NOT NULL  , 
      dtultimaatualizacao datetime   , 
      apcol_id int   NOT NULL  , 
      codquadra int   , 
      apcoltipo_bagvalor double  (10,2)   , 
      apcoltipo_bagqtde int   , 
      apcoltipo_caixavalor double  (10,2)   , 
      apcoltipo_caixaqtde int   , 
      apcoltipo_carregovalor double  (10,2)   , 
      apcoltipo_carregoqtde int   , 
      apcoltipo_diariavalor double  (10,2)   , 
      apcoltipo_diariaqtde double  (10,2)   , 
      apcoltipo_diariachuvavalor double  (10,2)   , 
      apcoltipo_diariachuvaqtde double  (10,2)   , 
      importado varchar  (1)   , 
      apcoltipo_vl_assiduidade double  (10,2)   , 
      apcoltipo_vl_premio double  (10,2)   , 
 PRIMARY KEY (apcoltipo_id),
FOREIGN KEY(apcol_id) REFERENCES tabcolheitaapontamento(apcol_id),
FOREIGN KEY(codquadra) REFERENCES tabitensquadra(codquadra)) ; 

CREATE TABLE tabcolholerite( 
      id  INTEGER    NOT NULL  , 
      dtultimaatualizacao datetime   , 
      mes int   , 
      ano int   , 
      tipo varchar  (10)   , 
      situacao varchar  (1)   , 
      descontar_cx varchar  (1)   , 
      funcionario_id int   , 
      dt_ultimodia date   , 
      fiscal_id int   , 
      complemento varchar  (1)   , 
      premio varchar  (1)   , 
 PRIMARY KEY (id),
FOREIGN KEY(funcionario_id) REFERENCES tabcadfuncionario(codfuncionario),
FOREIGN KEY(fiscal_id) REFERENCES tabcadfiscal(NUMTUR)) ; 

CREATE TABLE tabcolholerite_evento( 
      id  INTEGER    NOT NULL  , 
      dtultimaatualizacao datetime   , 
      holerite_funcionario_id int   NOT NULL  , 
      evento_id int   , 
      complemento varchar  (10)   , 
      referencia double  (10,2)   , 
      valor double  (10,2)   , 
      tipo varchar  (1)   , 
 PRIMARY KEY (id),
FOREIGN KEY(holerite_funcionario_id) REFERENCES tabcolholerite_funcionario(id),
FOREIGN KEY(evento_id) REFERENCES tabcadeventofolha(id)) ; 

CREATE TABLE tabcolholerite_funcionario( 
      id  INTEGER    NOT NULL  , 
      dtultimaatualizacao datetime   , 
      holerite_id int   NOT NULL  , 
      funcionario_id int   , 
      vl_proventos double  (10,2)   , 
      vl_descontos double  (10,2)   , 
      vl_liquido double  (10,2)   , 
      vl_dificuldade double  (10,2)   , 
      vl_assiduidade double  (10,2)   , 
      vl_premio double  (10,2)   , 
      vl_vale double  (10,2)   , 
      per_vale double  (10,2)   , 
 PRIMARY KEY (id),
FOREIGN KEY(holerite_id) REFERENCES tabcolholerite(id),
FOREIGN KEY(funcionario_id) REFERENCES tabcadfuncionario(codfuncionario)) ; 

CREATE TABLE tabcolholerite_historico( 
      id  INTEGER    NOT NULL  , 
      dtultimaatualizacao datetime   , 
      dt date   , 
      status varchar  (20)   , 
      holerite_id int   NOT NULL  , 
      detalhamento varchar  (200)   , 
      usuario_id int   , 
 PRIMARY KEY (id),
FOREIGN KEY(holerite_id) REFERENCES tabcolholerite(id),
FOREIGN KEY(usuario_id) REFERENCES tabusuarios(coduser)) ; 

CREATE TABLE tabcolholerite_rescisao( 
      id  INTEGER    NOT NULL  , 
      dtultimaatualizacao datetime   , 
      dthoracriacao datetime   , 
      holerite_id int   NOT NULL  , 
      funcionario_id int   , 
 PRIMARY KEY (id),
FOREIGN KEY(holerite_id) REFERENCES tabcolholerite(id),
FOREIGN KEY(funcionario_id) REFERENCES tabcadfuncionario(codfuncionario)) ; 

CREATE TABLE tabcolimpostos( 
      id  INTEGER    NOT NULL  , 
      dtultimaatualizacao datetime   , 
      fiscal_id int   , 
      ano int   , 
      mes int   , 
      vl_folha double  (10,2)   , 
      vl_impostos double  (10,2)   , 
      vl_escritorio double  (10,2)   , 
 PRIMARY KEY (id),
FOREIGN KEY(fiscal_id) REFERENCES tabcadfiscal(NUMTUR)) ; 

CREATE TABLE tabcolparametros_cesta( 
      id  INTEGER    NOT NULL  , 
      dtultimaatualizacao datetime   , 
      nome varchar  (200)   , 
      vl varchar  (10)   , 
 PRIMARY KEY (id)) ; 

CREATE TABLE tabcolparametros_cesta_itens( 
      id  INTEGER    NOT NULL  , 
      dtultimaatualizacao datetime   , 
      descricao varchar  (200)   , 
      unidade varchar  (2)   , 
      qtd int   , 
 PRIMARY KEY (id)) ; 

CREATE TABLE tabcolparametros_fiscal( 
      id  INTEGER    NOT NULL  , 
      dtultimaatualizacao datetime   , 
      periodo_id int   NOT NULL  , 
      fiscal_id int   , 
      peso_bag double  (10,2)   , 
      peso_bag_max double  (10,2)   , 
      kg_caixa double  (10,2)   , 
      kg_caixa_max double  (10,2)   , 
      per_vale double  (10,2)   , 
      desc_caixa double  (10,2)   , 
      desc_desconto double  (10,2)   , 
      vl_colhedor double  (10,2)   , 
      vl_carregador double  (10,2)   , 
 PRIMARY KEY (id),
FOREIGN KEY(periodo_id) REFERENCES tabcolparametros_fiscal_periodo(id)) ; 

CREATE TABLE tabcolparametros_fiscal_periodo( 
      id  INTEGER    NOT NULL  , 
      dtultimaatualizacao datetime   , 
      mes int   , 
      ano int   , 
      status varchar  (10)   , 
 PRIMARY KEY (id)) ; 

CREATE TABLE tabcolparametros_ponto( 
      id  INTEGER    NOT NULL  , 
      dtultimaatualizacao datetime   , 
      nome varchar  (200)   , 
      vl varchar  (10)   , 
 PRIMARY KEY (id)) ; 

CREATE TABLE tabcolparametros_premiacao( 
      id  INTEGER    NOT NULL  , 
      dtultimaatualizacao datetime   , 
      mes int   , 
      ano int   , 
      fiscal_id int   , 
      funcao_id int   , 
      fazenda_id int   , 
      faltas_assiduidade int   , 
      faltas_dificuldade int   , 
      horas int   , 
 PRIMARY KEY (id),
FOREIGN KEY(fiscal_id) REFERENCES tabcadfiscal(NUMTUR),
FOREIGN KEY(funcao_id) REFERENCES tabcadfuncao(codfuncao),
FOREIGN KEY(fazenda_id) REFERENCES tabcadfazenda(codfaz)) ; 

CREATE TABLE tabcolparametros_premio( 
      id  INTEGER    NOT NULL  , 
      dtultimaatualizacao datetime   , 
      fazenda_id int   , 
      variedade_id int   NOT NULL  , 
      faixa int   , 
      vl_de int   , 
      vl_ate int   , 
      premio double  (10,2)   , 
      tipo varchar  (1)   , 
 PRIMARY KEY (id),
FOREIGN KEY(fazenda_id) REFERENCES tabcadfazenda(codfaz),
FOREIGN KEY(variedade_id) REFERENCES tabcadvariedade(codvari)) ; 

CREATE TABLE tabcontrolecolheita( 
      ctrcol_id  INTEGER    NOT NULL  , 
      ctrcol_data date   NOT NULL  , 
      ctrcol_valor double  (11,2)   NOT NULL  , 
      ctrcol_tipocarregamento int  (6)   NOT NULL  , 
      ctrcol_tipocarga int  (6)   NOT NULL  , 
      ctrcol_tipocolheita int  (6)   NOT NULL  , 
      ctrcol_epoca int  (6)   NOT NULL  , 
      codfiscal int  (11)   NOT NULL  , 
      codfaz int  (11)   NOT NULL  , 
      codquadra int  (11)   NOT NULL  , 
      codcliente int  (11)     DEFAULT NULL, 
      codendereco int  (11)     DEFAULT NULL, 
      codmotorista int  (11)   NOT NULL  , 
 PRIMARY KEY (ctrcol_id),
FOREIGN KEY(codcliente) REFERENCES tabcadclientes(id),
FOREIGN KEY(codendereco) REFERENCES tabcadclientes_endereco(id),
FOREIGN KEY(codfaz) REFERENCES tabcadfazenda(codfaz),
FOREIGN KEY(codfiscal) REFERENCES tabcadfiscal(NUMTUR),
FOREIGN KEY(codmotorista) REFERENCES tabcadmotorista(id),
FOREIGN KEY(codquadra) REFERENCES tabitensquadra(codquadra)) ; 

CREATE TABLE tabdashboard_usuarios( 
      id  INTEGER    NOT NULL  , 
      dtultimaatualizacao datetime   , 
      dashboard char   , 
      user int   , 
      ultimo_filtro varchar  (50)   , 
 PRIMARY KEY (id),
FOREIGN KEY(user) REFERENCES tabusuarios(coduser)) ; 

CREATE TABLE tab_dash_recursos_humanos( 
      id  INTEGER    NOT NULL  , 
      id_grupo_faz int  (11)     DEFAULT NULL, 
      nome_grupo_faz varchar  (255)     DEFAULT NULL, 
      anomes date   , 
      horas50 int  (255)     DEFAULT NULL, 
      horas100 int  (11)     DEFAULT NULL, 
      adnot int  (11)     DEFAULT NULL, 
      faltas int  (11)     DEFAULT NULL, 
      atestados int  (11)     DEFAULT NULL, 
      cestas int  (11)     DEFAULT NULL, 
      qtdefunc int  (11)     DEFAULT NULL, 
      gratificacao int  (11)     DEFAULT NULL, 
      hectares double  (10,2)     DEFAULT NULL, 
 PRIMARY KEY (id)) ; 

CREATE TABLE tabdocumentos_cadastro( 
      id  INTEGER    NOT NULL  , 
      descricao varchar  (255)     DEFAULT NULL, 
      codemp int  (255)     DEFAULT NULL, 
      codext int  (255)     DEFAULT NULL, 
      situacao varchar  (255)     DEFAULT NULL, 
      dia_padrao int  (2)     DEFAULT NULL, 
      fisico varchar  (1)   , 
 PRIMARY KEY (id)) ; 

CREATE TABLE tabdocumentos_pendentes( 
      id  INTEGER    NOT NULL  , 
      id_documento int  (11)     DEFAULT NULL, 
      id_funcionario int  (11)     DEFAULT NULL, 
      data date   , 
      id_protocolo int  (255)     DEFAULT NULL, 
      data_lcto date   , 
      data_protocolo date   , 
      data_confirmacao_protocolo date   , 
      tipo varchar  (1)     DEFAULT ''M'', 
      data_nova date   , 
 PRIMARY KEY (id),
FOREIGN KEY(id_documento) REFERENCES tabdocumentos_cadastro(id)) ; 

CREATE TABLE tabestoque( 
      codestoque  INTEGER    NOT NULL  , 
      nomeestoque varchar  (255)   , 
      codemp int  (11)   , 
      situacao varchar  (255)   , 
      combustivel varchar  (255)   , 
      codext int  (11)   , 
 PRIMARY KEY (codestoque),
FOREIGN KEY(codemp) REFERENCES tbcadempresa(CODEMP)) ; 

CREATE TABLE tabestoquefaz( 
      id  INTEGER    NOT NULL  , 
      codfaz int  (11)   , 
      codestoque int  (11)   , 
 PRIMARY KEY (id),
FOREIGN KEY(codfaz) REFERENCES tabcadfazenda(codfaz),
FOREIGN KEY(codestoque) REFERENCES tabestoque(codestoque)) ; 

CREATE TABLE tabfaturamento_diesel_2020( 
      id  INTEGER    NOT NULL  , 
      dtultimaatualizacao datetime   , 
      id_faturamento int   , 
      dt date   , 
      qtd int   , 
 PRIMARY KEY (id),
FOREIGN KEY(id_faturamento) REFERENCES tabcadrequisicao_faturamento(id)) ; 

CREATE TABLE tabfechamentostabile( 
      id  INTEGER    NOT NULL  , 
      dtultimaatualizacao datetime   , 
      mes int   , 
      ano int   , 
      grupo varchar  (100)   , 
      url_pdf varchar  (250)   , 
      relatorio_id int   , 
      url_pdf_detalhado varchar  (250)   , 
      relatorio_detalhado_id int   , 
      valor_total double   , 
      status varchar  (50)   , 
 PRIMARY KEY (id),
FOREIGN KEY(relatorio_id) REFERENCES tabfechamentostabile_relatorios(id),
FOREIGN KEY(relatorio_detalhado_id) REFERENCES tabfechamentostabile_relatorios(id)) ; 

CREATE TABLE tabfechamentostabile_inconsistencias( 
      id  INTEGER    NOT NULL  , 
      id_pagamento int  (255)     DEFAULT 'NULL COMMENT tabfinmovimentacoesrecebimentos', 
      valor_requisicoes double  (10,2)     DEFAULT NULL, 
      valor_pagamento double  (10,2)     DEFAULT NULL, 
      valor_personalizado double  (10,2)     DEFAULT NULL, 
      valor_utilizado varchar  (255)     DEFAULT 'NULL COMMENT \REQUISICOES\', 
      justificativa text   , 
      data_pagamento date   , 
      nota varchar  (255)   , 
      fornecedor varchar  (255)   , 
      c_custos varchar  (255)   , 
      plano_contas varchar  (255)   , 
      id_parcela int   , 
      c_custos_id int   , 
      dthoracriacao datetime   , 
      dtultimaatualizacao datetime   , 
      criacao_user_id int   , 
 PRIMARY KEY (id),
FOREIGN KEY(id_pagamento) REFERENCES tabfinmovimentacoesrecebimentos(id),
FOREIGN KEY(criacao_user_id) REFERENCES tabusuarios(coduser)) ; 

CREATE TABLE tabfechamentostabile_relatorios( 
      id  INTEGER    NOT NULL  , 
      data_inicial date   , 
      data_final date   , 
      grupo_empresas varchar  (50)     DEFAULT NULL, 
      grupo_fazendas varchar  (50)     DEFAULT NULL, 
      custo_medio_geral_caixa double  (10,2)     DEFAULT NULL, 
      agrupar_requisicoes char  (1)     DEFAULT NULL, 
      detalhar_transferencias char  (1)     DEFAULT NULL, 
      mostrar_resumo_final char  (1)     DEFAULT NULL, 
      incluir_entrega_futura char  (1)     DEFAULT NULL, 
      mostrar_manutencoes char  (1)     DEFAULT NULL, 
      renomear_centro_custos_srmarcio char  (1)     DEFAULT NULL, 
      emitido_por_user_id int  (10)     DEFAULT NULL, 
      data_hora datetime   , 
      qtd_pagamentos int  (10)   , 
      valor_total double  (10,2)   , 
      arquivo_pdf varchar  (255)   , 
      faturamento_bruto_caixas double  (10,2)   , 
      faturamento_bruto_valor_total double  (10,2)   , 
      faturamento_bruto_media double  (10,2)   , 
      faturamento_frete_caixas double  (10,2)   , 
      faturamento_frete_valor double  (10,2)   , 
      faturamento_frete_media double  (10,2)   , 
      colheita_media_geral_caixa_valor double  (10,2)   , 
      colheita_media_geral_caixa_porcentagem double  (10,2)   , 
      media_geral_fundecitrus_valor double  (10,2)   , 
      media_geral_fundecitrus_porcentagem double  (10,2)   , 
      media_geral_funrural_valor double  (10,2)   , 
      media_geral_funrural_porcentagem double  (10,2)   , 
      media_geral_refugo_valor double  (10,2)   , 
      media_geral_refugo_porcentagem double  (10,2)   , 
      resumo_notas double  (10,2)   , 
      resumo_pagamento_avulso double  (10,2)   , 
      resumo_transferencias double  (10,2)   , 
      resumo_entregas_futuras double  (10,2)   , 
      resumo_manutencoes double  (10,2)   , 
      valor_total_fechado double  (10,2)   , 
 PRIMARY KEY (id),
FOREIGN KEY(emitido_por_user_id) REFERENCES tabusuarios(coduser),
FOREIGN KEY(grupo_empresas) REFERENCES tabcadempresasgrupos(id),
FOREIGN KEY(grupo_fazendas) REFERENCES tabcadfazenda_grupo(id)) ; 

CREATE TABLE tabfechamentostabile_relatorios_avulso( 
      id  INTEGER    NOT NULL  , 
      relatorio_id int  (11)     DEFAULT NULL, 
      avulso_id int  (11)     DEFAULT NULL, 
      historico text   , 
      data_pagamento date   , 
      cc_id int  (11)     DEFAULT NULL, 
      cc_descricao varchar  (255)     DEFAULT NULL, 
      plano_contas_id int  (11)     DEFAULT NULL, 
      plano_contas_descricao varchar  (255)     DEFAULT NULL, 
      qtd double  (10, 2)     DEFAULT NULL, 
      v_unitario double  (10, 2)     DEFAULT NULL, 
      v_total double  (10, 2)     DEFAULT NULL, 
 PRIMARY KEY (id),
FOREIGN KEY(relatorio_id) REFERENCES tabfechamentostabile_relatorios(id),
FOREIGN KEY(avulso_id) REFERENCES tablanavulso(id)) ; 

CREATE TABLE tabfechamentostabile_relatorios_cc( 
      id  INTEGER    NOT NULL  , 
      relatorio_id int  (11)     DEFAULT NULL, 
      cc_id int  (11)     DEFAULT NULL, 
 PRIMARY KEY (id),
FOREIGN KEY(relatorio_id) REFERENCES tabfechamentostabile_relatorios(id),
FOREIGN KEY(cc_id) REFERENCES tabcadcc(codcentrodecustos)) ; 

CREATE TABLE tabfechamentostabile_relatorios_entrega_futura( 
      id  INTEGER    NOT NULL  , 
      relatorio_id int  (11)     DEFAULT NULL, 
      material_id int  (11)     DEFAULT NULL, 
      material_descriacao varchar  (255)     DEFAULT NULL, 
      und varchar  (10)     DEFAULT NULL, 
      entrada int  (11)     DEFAULT NULL, 
      v_medio double  (10, 2)     DEFAULT NULL, 
      v_total_consolidado double  (10, 2)     DEFAULT NULL, 
      data_entrega date   , 
      requisicao_id int  (11)     DEFAULT NULL, 
      requisicao_numero int  (11)     DEFAULT NULL, 
      estoque_id int  (11)     DEFAULT NULL, 
      estoque_descricao varchar  (255)     DEFAULT NULL, 
      qtd double  (10, 2)     DEFAULT NULL, 
      v_unitario double  (10, 2)     DEFAULT NULL, 
      v_total double  (10, 2)     DEFAULT NULL, 
 PRIMARY KEY (id),
FOREIGN KEY(relatorio_id) REFERENCES tabfechamentostabile_relatorios(id),
FOREIGN KEY(material_id) REFERENCES tabcadmaterial(codmaterial),
FOREIGN KEY(requisicao_id) REFERENCES tabcadrequisicao(id),
FOREIGN KEY(estoque_id) REFERENCES tabestoque(codestoque)) ; 

CREATE TABLE tabfechamentostabile_relatorios_itens( 
      id  INTEGER    NOT NULL  , 
      relatorio_id int  (11)     DEFAULT NULL, 
      data_pagamento date   , 
      nota_requisicao varchar  (50)     DEFAULT NULL, 
      fornecedor varchar  (255)     DEFAULT NULL, 
      centro_custos varchar  (255)     DEFAULT NULL, 
      plano_contas varchar  (255)     DEFAULT NULL, 
      valor double  (10,2)     DEFAULT NULL, 
      centro_custos_id int  (10)   , 
      plano_contas_id int  (10)   , 
      id_pagamento int   , 
      id_parcela int   , 
 PRIMARY KEY (id),
FOREIGN KEY(relatorio_id) REFERENCES tabfechamentostabile_relatorios(id)) ; 

CREATE TABLE tabfechamentostabile_relatorios_manutencao( 
      id  INTEGER    NOT NULL  , 
      relatorio_id int  (11)     DEFAULT NULL, 
      manutencao_id int   , 
      frota_cod int  (11)     DEFAULT NULL, 
      frota_descricao varchar  (255)     DEFAULT NULL, 
      v_total_consolidado double  (10, 2)     DEFAULT NULL, 
      data_manutencao date   , 
      material_id int  (11)     DEFAULT NULL, 
      material_descricao varchar  (255)     DEFAULT NULL, 
      qtd double  (10, 2)     DEFAULT NULL, 
      v_unitario double  (10, 2)     DEFAULT NULL, 
      v_total double  (10, 2)     DEFAULT NULL, 
 PRIMARY KEY (id),
FOREIGN KEY(relatorio_id) REFERENCES tabfechamentostabile_relatorios(id),
FOREIGN KEY(material_id) REFERENCES tabcadmaterial(codmaterial),
FOREIGN KEY(manutencao_id) REFERENCES tablancmanu(codmanu)) ; 

CREATE TABLE tabfechamentostabile_relatorios_transferencia( 
      id  INTEGER    NOT NULL  , 
      relatorio_id int  (11)     DEFAULT NULL, 
      material_id int  (11)     DEFAULT NULL, 
      material_descricao varchar  (255)     DEFAULT NULL, 
      und varchar  (10)     DEFAULT NULL, 
      entrada double  (10, 2)     DEFAULT NULL, 
      saida double  (10, 2)     DEFAULT NULL, 
      saldo double  (10, 2)     DEFAULT NULL, 
      v_medio double  (10, 2)     DEFAULT NULL, 
      v_total double  (10, 2)     DEFAULT NULL, 
      codmov int  (11)     DEFAULT NULL, 
      data_transferencia date   , 
      usuario_id int  (11)     DEFAULT NULL, 
      usuario_nome varchar  (255)     DEFAULT NULL, 
      estoque_origem_id int  (11)     DEFAULT NULL, 
      estoque_origem_nome varchar  (255)     DEFAULT NULL, 
      estoque_destino_id int  (11)     DEFAULT NULL, 
      estoque_destino_nome varchar  (255)     DEFAULT NULL, 
      qtd double  (10, 2)     DEFAULT NULL, 
 PRIMARY KEY (id),
FOREIGN KEY(relatorio_id) REFERENCES tabfechamentostabile_relatorios(id),
FOREIGN KEY(material_id) REFERENCES tabcadmaterial(codmaterial),
FOREIGN KEY(codmov) REFERENCES tabmovestoque(codmov),
FOREIGN KEY(usuario_id) REFERENCES tabusuarios(coduser),
FOREIGN KEY(estoque_origem_id) REFERENCES tabestoque(codestoque),
FOREIGN KEY(estoque_destino_id) REFERENCES tabestoque(codestoque)) ; 

CREATE TABLE tabferiados( 
      id  INTEGER    NOT NULL  , 
      dtultimaatualizacao datetime   , 
      column_3 int   , 
 PRIMARY KEY (id)) ; 

CREATE TABLE tabfiltros_vwpulverizacaolist( 
      id  INTEGER    NOT NULL  , 
      pulverizacao date   , 
      pulverizacao_final date   , 
      fazenda int  (10)     DEFAULT NULL, 
      codquadra int  (10)     DEFAULT NULL, 
      produto int  (10)     DEFAULT NULL, 
      xDiasCarencia int  (10)     DEFAULT NULL, 
      ignorar_apontamento int  (1)     DEFAULT NULL, 
      agruparPeriodoData int  (1)     DEFAULT NULL, 
      produtos_substitutos int  (1)     DEFAULT NULL, 
      adubo int  (1)     DEFAULT NULL, 
      produto_uma_vez int  (1)     DEFAULT NULL, 
      fungicida int  (1)     DEFAULT NULL, 
      certificacao int  (1)     DEFAULT NULL, 
      destaca_faturamento int  (1)     DEFAULT NULL, 
      faturamento_extra int  (1)     DEFAULT NULL, 
      ignorar_pulverizacoes_conflitantes int  (1)   , 
 PRIMARY KEY (id)) ; 

CREATE TABLE tabfinaso( 
      id  INTEGER    NOT NULL  , 
      dtultimaatualizacao datetime   , 
      dthoracriacao datetime   , 
      dt_inicial date   , 
      dt_final date   , 
      dt_pgto date   , 
      vl_exames double  (10,2)   , 
      vl_total double  (10,2)   , 
      fornecedor_id int   , 
      integrado varchar  (1)   , 
      clinica_id int   , 
 PRIMARY KEY (id),
FOREIGN KEY(fornecedor_id) REFERENCES tabcadfornecedor(codfornecedor),
FOREIGN KEY(clinica_id) REFERENCES tabcadclinica(codclinica)) ; 

CREATE TABLE tabfinaso_exames( 
      id  INTEGER    NOT NULL  , 
      dtultimaatualizacao datetime   , 
      dthoracriacao datetime   , 
      fechamento_id int   NOT NULL  , 
      exame_id int   , 
      fazenda_id int   , 
      dt date   , 
      vl double  (10,2)   , 
      tabela_exame varchar  (20)   , 
      chave_exame int   , 
 PRIMARY KEY (id),
FOREIGN KEY(exame_id) REFERENCES tabcadexame(codexame),
FOREIGN KEY(fechamento_id) REFERENCES tabfinaso(id),
FOREIGN KEY(fazenda_id) REFERENCES tabcadfazenda(codfaz)) ; 

CREATE TABLE tabfincaixas( 
      id  INTEGER    NOT NULL  , 
      dtultimaatualizacao datetime   , 
      nome varchar  (100)   , 
      saldo double  (10,2)   , 
      situacao varchar  (1)   , 
      banco int   , 
      agencia varchar  (20)   , 
      conta varchar  (20)   , 
      doc varchar  (20)   , 
      doc_nome varchar  (200)   , 
      tp_add varchar  (1)   , 
      fornecedor_id int   , 
      cliente_id int   , 
 PRIMARY KEY (id),
FOREIGN KEY(fornecedor_id) REFERENCES tabcadfornecedor(codfornecedor),
FOREIGN KEY(banco) REFERENCES tabcadbanco(NUMBAN)) ; 

CREATE TABLE tabfincaixasdepositos( 
      id  INTEGER    NOT NULL  , 
      dtultimaatualizacao datetime   , 
      caixa_id int   , 
      forma_id int   , 
      dt date   , 
      valor double  (10,2)   , 
      usuario int   , 
      historico varchar  (200)   , 
 PRIMARY KEY (id),
FOREIGN KEY(caixa_id) REFERENCES tabfincaixas(id),
FOREIGN KEY(forma_id) REFERENCES tabcadformapgto(id)) ; 

CREATE TABLE tabfincaixasestornos( 
      id  INTEGER    NOT NULL  , 
      dtultimaatualizacao datetime   , 
      central_id int   , 
      usuario_id int   , 
      data_hora datetime   , 
      motivo text   , 
 PRIMARY KEY (id),
FOREIGN KEY(usuario_id) REFERENCES tabusuarios(coduser)) ; 

CREATE TABLE tabfincaixaslctos( 
      id  INTEGER    NOT NULL  , 
      dtultimaatualizacao datetime   , 
      caixa_id int   NOT NULL  , 
      forma_id int   NOT NULL  , 
      dt date   , 
      hora text   , 
      valor double  (10,2)   , 
      historico varchar  (100)   , 
      tipo varchar  (1)   , 
      int_local varchar  (20)   , 
      int_chave int   , 
      extra_01 varchar  (100)   , 
      extra_02 varchar  (100)   , 
      estorno_id int   , 
      fornecedor_id int   , 
      cliente_id int   , 
 PRIMARY KEY (id),
FOREIGN KEY(caixa_id) REFERENCES tabfincaixas(id),
FOREIGN KEY(forma_id) REFERENCES tabcadformapgto(id)) ; 

CREATE TABLE tabfincaixaslctos_backup( 
      id  INTEGER    NOT NULL  , 
      dtultimaatualizacao datetime   , 
      caixa_id int   , 
      forma_id int   , 
      dt date   , 
      hora text   , 
      valor double  (10,2)   , 
      historico varchar  (100)   , 
      tipo varchar  (1)   , 
      int_local varchar  (20)   , 
      int_chave int   , 
      extra_01 varchar  (100)   , 
      extra_02 varchar  (100)   , 
      estorno_id int   , 
      fornecedor_id int   , 
      cliente_id int   , 
 PRIMARY KEY (id)) ; 

CREATE TABLE tabfincaixaspermissao( 
      id  INTEGER    NOT NULL  , 
      dtultimaatualizacao datetime   , 
      usuario_id int   , 
      caixa_id int   NOT NULL  , 
 PRIMARY KEY (id),
FOREIGN KEY(usuario_id) REFERENCES tabusuarios(coduser),
FOREIGN KEY(caixa_id) REFERENCES tabfincaixas(id)) ; 

CREATE TABLE tabfincaixasrapido( 
      id  INTEGER    NOT NULL  , 
      dtultimaatualizacao datetime   , 
      tipo varchar  (1)   , 
      forma_id int   , 
      caixa_id int   , 
      fornecedor_id int   , 
      cliente_id int   , 
      planocontas_id int   , 
      centrocustos_id int   , 
      central_id int   , 
 PRIMARY KEY (id),
FOREIGN KEY(forma_id) REFERENCES tabcadformapgto(id),
FOREIGN KEY(caixa_id) REFERENCES tabfincaixas(id),
FOREIGN KEY(fornecedor_id) REFERENCES tabcadfornecedor(codfornecedor),
FOREIGN KEY(cliente_id) REFERENCES tabcadclientes(id),
FOREIGN KEY(planocontas_id) REFERENCES tabcadplanocontas(id),
FOREIGN KEY(centrocustos_id) REFERENCES tabcadcc(codcentrodecustos),
FOREIGN KEY(central_id) REFERENCES tabfinmovimentacoesrecebimentoscentral(id)) ; 

CREATE TABLE tabfincaixasrapidolctos( 
      id  INTEGER    NOT NULL  , 
      dtultimaatualizacao datetime   , 
      tabfincaixasrapido_id int   NOT NULL  , 
      dt_credito date   , 
      vl double  (10,2)   , 
      detalhamento varchar  (200)   , 
 PRIMARY KEY (id),
FOREIGN KEY(tabfincaixasrapido_id) REFERENCES tabfincaixasrapido(id)) ; 

CREATE TABLE tabfincaixassaldos( 
      id  INTEGER    NOT NULL  , 
      dtultimaatualizacao datetime   , 
      caixa_id int   NOT NULL  , 
      dt date   , 
      vl_inicial double  (10,2)   , 
      vl_creditos double  (10,2)   , 
      vl_debitos double  (10,2)   , 
      vl_final double  (10,2)   , 
 PRIMARY KEY (id),
FOREIGN KEY(caixa_id) REFERENCES tabfincaixas(id)) ; 

CREATE TABLE tabfincaixassaldosformas( 
      id  INTEGER    NOT NULL  , 
      dtultimaatualizacao datetime   , 
      caixa_id int   , 
      forma_id int   , 
      vl_inicial double  (10,2)   , 
      vl_final double  (10,2)   , 
      vl_debitos double  (10,2)   , 
      vl_creditos double  (10,2)   , 
      dt date   , 
 PRIMARY KEY (id),
FOREIGN KEY(caixa_id) REFERENCES tabfincaixas(id),
FOREIGN KEY(forma_id) REFERENCES tabcadformapgto(id)) ; 

CREATE TABLE tabfincaixastransferencias( 
      id  INTEGER    NOT NULL  , 
      dtultimaatualizacao datetime   , 
      origem_id int   NOT NULL  , 
      destino_id int   NOT NULL  , 
      forma_id int   , 
      dt date   , 
      valor double  (10,2)   , 
      usuario int   , 
      historico varchar  (250)   , 
      tipo_transferencia char  (1)   NOT NULL    DEFAULT '1', 
 PRIMARY KEY (id),
FOREIGN KEY(origem_id) REFERENCES tabfincaixas(id),
FOREIGN KEY(destino_id) REFERENCES tabfincaixas(id),
FOREIGN KEY(forma_id) REFERENCES tabcadformapgto(id)) ; 

CREATE TABLE tabfincaixastransferencias_cheques( 
      id  INTEGER    NOT NULL  , 
      dtultimaatualizacao datetime   , 
      transferencia_id int   NOT NULL  , 
      cheque_id int   , 
 PRIMARY KEY (id),
FOREIGN KEY(cheque_id) REFERENCES tabfincheques(id),
FOREIGN KEY(transferencia_id) REFERENCES tabfincaixastransferencias(id)) ; 

CREATE TABLE tabfincheques( 
      id  INTEGER    NOT NULL  , 
      dtultimaatualizacao datetime   , 
      banco int   , 
      agencia varchar  (10)   , 
      conta varchar  (10)   , 
      numero int   , 
      favorecido_doc varchar  (20)   , 
      favorecido_nome varchar  (100)   , 
      valor double  (10,2)   , 
      situacao varchar  (1)   , 
      cliente_id int   , 
      fornecedor_id int   , 
      dt date   , 
      caixa_id int   , 
      cidade_id int   , 
      dt_credito date   , 
 PRIMARY KEY (id),
FOREIGN KEY(banco) REFERENCES tabcadbanco(NUMBAN),
FOREIGN KEY(cliente_id) REFERENCES tabcadclientes(id),
FOREIGN KEY(fornecedor_id) REFERENCES tabcadfornecedor(codfornecedor),
FOREIGN KEY(caixa_id) REFERENCES tabfincaixas(id),
FOREIGN KEY(cidade_id) REFERENCES tabcadcidade(codcidade)) ; 

CREATE TABLE tabfinchequeshistorico( 
      id  INTEGER    NOT NULL  , 
      dtultimaatualizacao datetime   , 
      cheque_id int   NOT NULL  , 
      dt date   , 
      historico varchar  (200)   , 
      movimento varchar  (1)   , 
 PRIMARY KEY (id),
FOREIGN KEY(cheque_id) REFERENCES tabfincheques(id)) ; 

CREATE TABLE tabfincontratos( 
      id  INTEGER    NOT NULL  , 
      dtultimaatualizacao datetime   , 
      dt_inicial date   , 
      dt_final date   , 
      situacao varchar  (1)   , 
      valor double  (10,2)   , 
      dia_vcto int   , 
      fornecedor_id int   , 
      centrocustos_id int   , 
      tipo varchar  (20)   , 
      dt_termino date   , 
 PRIMARY KEY (id),
FOREIGN KEY(fornecedor_id) REFERENCES tabcadfornecedor(codfornecedor),
FOREIGN KEY(centrocustos_id) REFERENCES tabcadcc(codcentrodecustos)) ; 

CREATE TABLE tabfincontratosadiantamentos( 
      id  INTEGER    NOT NULL  , 
      contrato_id int   NOT NULL  , 
      adiantamentos_id int   , 
      dtultimaatualizacao datetime   , 
      fornecedor_id int   , 
 PRIMARY KEY (id),
FOREIGN KEY(contrato_id) REFERENCES tabfincontratos(id),
FOREIGN KEY(adiantamentos_id) REFERENCES tabcadcreditodebito(id),
FOREIGN KEY(fornecedor_id) REFERENCES tabcadfornecedor(codfornecedor)) ; 

CREATE TABLE tabfincontratoscfg( 
      id  INTEGER    NOT NULL  , 
      dtultimaatualizacao datetime   , 
      planocontas_id int   , 
      operacao_id int   , 
      forma_id int   , 
      serie varchar  (10)   , 
      planocontas_mudas_id int   , 
 PRIMARY KEY (id)) ; 

CREATE TABLE tabfincontratoscobrancas( 
      id  INTEGER    NOT NULL  , 
      dtultimaatualizacao datetime   , 
      contrato_id int   NOT NULL  , 
      valor double  (10,2)   , 
      dt_vcto date   , 
      situacao varchar  (1)   , 
      dt_pgto date   , 
      valor_pago double  (10,2)   , 
      mes int   , 
      ano int   , 
 PRIMARY KEY (id),
FOREIGN KEY(contrato_id) REFERENCES tabfincontratos(id)) ; 

CREATE TABLE tabfincontratoscobrancatitulos( 
      id  INTEGER    NOT NULL  , 
      dtultimaatualizacao datetime   , 
      cobranca_id int   NOT NULL  , 
      valor double  (10,2)   , 
      dt_vcto date   , 
      situacao varchar  (1)   , 
      dt_pgto date   , 
      valor_pago double  (10,2)   , 
      fornecedor_id int   , 
 PRIMARY KEY (id),
FOREIGN KEY(cobranca_id) REFERENCES tabfincontratoscobrancas(id),
FOREIGN KEY(fornecedor_id) REFERENCES tabcadfornecedor(codfornecedor)) ; 

CREATE TABLE tabfincontratosfornecedores( 
      id  INTEGER    NOT NULL  , 
      dtultimaatualizacao datetime   , 
      contrato_id int   NOT NULL  , 
      fornecedor_id int   , 
      valor double  (10,2)   , 
 PRIMARY KEY (id),
FOREIGN KEY(contrato_id) REFERENCES tabfincontratos(id),
FOREIGN KEY(fornecedor_id) REFERENCES tabcadfornecedor(codfornecedor)) ; 

CREATE TABLE tabfincontratosperiodo( 
      id  INTEGER    NOT NULL  , 
      contrato_id int   NOT NULL  , 
      dtultimaatualizacao datetime   , 
      mes int   NOT NULL  , 
 PRIMARY KEY (id),
FOREIGN KEY(contrato_id) REFERENCES tabfincontratos(id)) ; 

CREATE TABLE tabfindespesasfixas( 
      id  INTEGER    NOT NULL  , 
      dtultimaatualizacao datetime   , 
      fornecedor_id int   , 
      centrocustos_id int   , 
      planocontas_id int   , 
      forma_id int   , 
      operacao_id int   , 
      dia_vcto int   , 
      valor double  (10,2)   , 
      complemento text   , 
      situacao varchar  (1)   , 
      id_faturamento int   , 
 PRIMARY KEY (id),
FOREIGN KEY(fornecedor_id) REFERENCES tabcadfornecedor(codfornecedor),
FOREIGN KEY(centrocustos_id) REFERENCES tabcadcc(codcentrodecustos),
FOREIGN KEY(planocontas_id) REFERENCES tabcadplanocontas(id),
FOREIGN KEY(forma_id) REFERENCES tabcadformapgto(id),
FOREIGN KEY(operacao_id) REFERENCES tabcadoperacoes(id),
FOREIGN KEY(id_faturamento) REFERENCES tabcadrequisicao_faturamento(id)) ; 

CREATE TABLE tabfindespesasfixasperiodo( 
      id  INTEGER    NOT NULL  , 
      dtultimaatualizacao datetime   , 
      despesa_id int   NOT NULL  , 
      mes int   , 
 PRIMARY KEY (id),
FOREIGN KEY(despesa_id) REFERENCES tabfindespesasfixas(id)) ; 

CREATE TABLE tabfinfaturamentocfg( 
      id  INTEGER    NOT NULL  , 
      dtultimaatualizacao datetime   , 
      serie varchar  (10)   , 
      planocontas_id int   , 
      centrocustos_id int   , 
      operacao_id int   , 
      produto_id int   , 
 PRIMARY KEY (id)) ; 

CREATE TABLE tabfinfretes( 
      id  INTEGER    NOT NULL  , 
      dtultimaatualizacao datetime   , 
      dthoracriacao datetime   , 
      veiculo_id int   , 
      dt date   , 
      fazenda_id int   , 
      vl_unitario double  (10,2)   , 
      unidade double  (10,2)   , 
      vl_total double  (10,2)   , 
      motorista_id int   , 
      descricao varchar  (200)   , 
 PRIMARY KEY (id),
FOREIGN KEY(veiculo_id) REFERENCES tabcadveiculo_terceiro(id),
FOREIGN KEY(fazenda_id) REFERENCES tabcadfazenda(codfaz),
FOREIGN KEY(motorista_id) REFERENCES tabcadmotorista_terceiro(id)) ; 

CREATE TABLE tabfinimpostos( 
      id  INTEGER    NOT NULL  , 
      dtultimaatualizacao datetime   , 
      funrural double  (10,2)   , 
      pc_debito double  (10,2)   , 
      pc_credito double  (10,2)   , 
 PRIMARY KEY (id)) ; 

CREATE TABLE tabfinmovimentacoes( 
      id  INTEGER    NOT NULL  , 
      dt_emissao date   , 
      hr_emissao text   , 
      ide_tipo varchar  (1)   , 
      centrocustos_id int  (11)   NOT NULL  , 
      planocontas_id int  (11)   NOT NULL  , 
      pessoa_id int  (11)   , 
      pessoanf_id int  (11)   , 
      pessoafaturar_id int  (11)   , 
      operacao_id int  (11)   , 
      detalhamento varchar  (200)   , 
      vl_despesas double  (10,2)   , 
      vl_descontos double  (10,2)   , 
      vl_frete double  (10,2)   , 
      vl_ret_iss double  (10,2)   , 
      vl_ret_funrural double  (10,2)   , 
      vl_ret_fundecitros double  (10,2)   , 
      vl_produtos double  (10,2)   , 
      vl_total double   , 
      exc varchar  (1)   , 
      exc_motivo varchar  (100)   , 
      exc_dt datetime   , 
      exc_usuario int  (11)   , 
      cli_documento varchar  (20)   , 
      cli_nome varchar  (100)   , 
      ide_numero int  (11)   , 
      ide_serie varchar  (10)   , 
      ide_modelo varchar  (5)   , 
      ide_nfsnumero int  (11)   , 
      ide_nfsserie varchar  (1)   , 
      ide_nfsmodelo varchar  (3)   , 
      int_local varchar  (10)   , 
      int_chave int  (11)   , 
      ide_clas varchar  (1)   , 
      ide_chave varchar  (44)   , 
      id_faturamento int   , 
 PRIMARY KEY (id),
FOREIGN KEY(id_faturamento) REFERENCES tabcadrequisicao_faturamento(id),
FOREIGN KEY(centrocustos_id) REFERENCES tabcadcc(codcentrodecustos),
FOREIGN KEY(planocontas_id) REFERENCES tabcadplanocontas(id),
FOREIGN KEY(operacao_id) REFERENCES tabcadoperacoes(id)) ; 

CREATE TABLE tabfinmovimentacoescc( 
      id  INTEGER    NOT NULL  , 
      dtultimaatualizacao datetime   , 
      movimentacao_id int   NOT NULL  , 
      cc_id int   , 
      vl double  (10,2)   , 
      detalhamento text   , 
 PRIMARY KEY (id),
FOREIGN KEY(movimentacao_id) REFERENCES tabfinmovimentacoes(id),
FOREIGN KEY(cc_id) REFERENCES tabcadcc(codcentrodecustos)) ; 

CREATE TABLE tabfinmovimentacoesfinanceiro( 
      id  INTEGER    NOT NULL  , 
      movimentacao_id int  (11)   NOT NULL  , 
      seq int  (11)   , 
      dt_vcto date   NOT NULL  , 
      vl_parcela double   NOT NULL  , 
      vl_baixa double  (10,2)   , 
      situacao varchar  (1)   , 
      forma_id int   NOT NULL  , 
      conferido varchar  (1)     DEFAULT 'S', 
      cancel_motivo varchar  (200)   , 
      cancel_data date   , 
      calcel_usuario int   , 
      previsao_forma_id int   , 
 PRIMARY KEY (id),
FOREIGN KEY(movimentacao_id) REFERENCES tabfinmovimentacoes(id),
FOREIGN KEY(forma_id) REFERENCES tabcadformapgto(id),
FOREIGN KEY(calcel_usuario) REFERENCES tabusuarios(coduser)) ; 

CREATE TABLE tabfinmovimentacoesitens( 
      id  INTEGER    NOT NULL  , 
      movimentacao_id int  (11)   NOT NULL  , 
      produto_id int  (11)   , 
      seq int  (11)   , 
      vl_unitario double  (10)   , 
      qtd double  (10)   , 
      vl_total double  (10)   , 
      vl_desconto double  (10)   , 
      unidade_id int   NOT NULL  , 
 PRIMARY KEY (id),
FOREIGN KEY(movimentacao_id) REFERENCES tabfinmovimentacoes(id),
FOREIGN KEY(produto_id) REFERENCES tabcadmaterial(codmaterial),
FOREIGN KEY(unidade_id) REFERENCES tabcad_unidades_medidas(id)) ; 

CREATE TABLE tabfinmovimentacoesrecebimentos( 
      id  INTEGER    NOT NULL  , 
      parcela_id int  (11)   NOT NULL  , 
      caixa_id int   NOT NULL  , 
      forma_id int  (11)   , 
      dt_rcbto date   , 
      vl_parcela double   , 
      vl_juro double   , 
      vl_multa double   , 
      vl_desconto double   , 
      vl_total double   , 
      situacao varchar  (1)   , 
      cheque_id int   NOT NULL  , 
      central_id int   NOT NULL  , 
 PRIMARY KEY (id),
FOREIGN KEY(parcela_id) REFERENCES tabfinmovimentacoesfinanceiro(id),
FOREIGN KEY(caixa_id) REFERENCES tabfincaixas(id),
FOREIGN KEY(forma_id) REFERENCES tabcadformapgto(id),
FOREIGN KEY(cheque_id) REFERENCES tabfincheques(id),
FOREIGN KEY(central_id) REFERENCES tabfinmovimentacoesrecebimentoscentral(id)) ; 

CREATE TABLE tabfinmovimentacoesrecebimentoscentral( 
      id  INTEGER    NOT NULL  , 
      tipo varchar  (1)   , 
      dt date   , 
      dtultimaatualizacao datetime   , 
      vl_desconto double  (10,2)   , 
      vl_juro double  (10,2)   , 
      vl_multa double  (10,2)   , 
      vl_outras double  (10,2)   , 
      vl_titulos double  (10,2)   , 
      vl_creditos double  (10,2)   , 
      vl_debitos double  (10,2)   , 
      vl_saldo double  (10,2)   , 
      usuario_id int   , 
      cadastro datetime   , 
      obs_desconto text   , 
      obs_acrescimo text   , 
      estorno varchar  (1)   , 
      recibo varchar  (1)   , 
      agrupar_extrato varchar  (1)   , 
 PRIMARY KEY (id),
FOREIGN KEY(usuario_id) REFERENCES tabusuarios(coduser)) ; 

CREATE TABLE tabfinmovimentacoesrecebimentoscentralcd( 
      id  INTEGER    NOT NULL  , 
      dtultimaatualizacao datetime   , 
      central_id int   NOT NULL  , 
      cd_id int   , 
 PRIMARY KEY (id),
FOREIGN KEY(central_id) REFERENCES tabfinmovimentacoesrecebimentoscentral(id),
FOREIGN KEY(cd_id) REFERENCES tabcadcreditodebito(id)) ; 

CREATE TABLE tabfinmovimentacoesrecebimentoscentralformas( 
      id  INTEGER    NOT NULL  , 
      dtultimaatualizacao datetime   , 
      central_id int   NOT NULL  , 
      vl_total double  (10,2)   , 
      forma_id int   NOT NULL  , 
      cheque_id int   NOT NULL  , 
      conta_id int   , 
      dt_credito date   , 
 PRIMARY KEY (id),
FOREIGN KEY(central_id) REFERENCES tabfinmovimentacoesrecebimentoscentral(id),
FOREIGN KEY(forma_id) REFERENCES tabcadformapgto(id),
FOREIGN KEY(cheque_id) REFERENCES tabfincheques(id),
FOREIGN KEY(conta_id) REFERENCES tabfincaixas(id)) ; 

CREATE TABLE tabfinmovimentacoesrequisicoes( 
      id  INTEGER    NOT NULL  , 
      dtultimaatualizacao datetime   , 
      movimentacao_id int   NOT NULL  , 
      requisicao_id int   , 
      valor double  (10,2)   , 
      horario datetime   , 
      usuario int   , 
      id_centrocustos int   , 
 PRIMARY KEY (id),
FOREIGN KEY(id_centrocustos) REFERENCES tabcadcc(codcentrodecustos),
FOREIGN KEY(movimentacao_id) REFERENCES tabfinmovimentacoes(id),
FOREIGN KEY(requisicao_id) REFERENCES tabcadrequisicao(id),
FOREIGN KEY(usuario) REFERENCES tabusuarios(coduser)) ; 

CREATE TABLE tabfinperiodo( 
      id  INTEGER    NOT NULL  , 
      dtultimaatualizacao datetime   , 
      mes int   , 
      ano int   , 
      status varchar  (1)   , 
 PRIMARY KEY (id)) ; 

CREATE TABLE tabfinperiodocaixa( 
      id  INTEGER    NOT NULL  , 
      periodo_id int   NOT NULL  , 
      dtultimaatualizacao datetime   , 
      status varchar  (1)   , 
      caixa_id int   , 
 PRIMARY KEY (id),
FOREIGN KEY(periodo_id) REFERENCES tabfinperiodo(id),
FOREIGN KEY(caixa_id) REFERENCES tabfincaixas(id)) ; 

CREATE TABLE tabfinperiodohistorico( 
      id  INTEGER    NOT NULL  , 
      dtultimaatualizacao datetime   , 
      processo varchar  (10)   , 
      dt datetime   , 
      usuario_id int   , 
      periodocaixa_id int   NOT NULL  , 
      justificativa varchar  (200)   , 
 PRIMARY KEY (id),
FOREIGN KEY(usuario_id) REFERENCES tabusuarios(coduser),
FOREIGN KEY(periodocaixa_id) REFERENCES tabfinperiodocaixa(id)) ; 

CREATE TABLE tabfinprevisao( 
      id  INTEGER    NOT NULL  , 
      dtultimaatualizacao datetime   , 
      dt_pgto date   , 
 PRIMARY KEY (id)) ; 

CREATE TABLE tabfinprevisao_formas( 
      id  INTEGER    NOT NULL  , 
      dtultimaatualizacao datetime   , 
      previsao_id int   NOT NULL  , 
      forma_id int   , 
      banco_id int   , 
 PRIMARY KEY (id),
FOREIGN KEY(previsao_id) REFERENCES tabfinprevisao(id),
FOREIGN KEY(forma_id) REFERENCES tabcadformapgto(id),
FOREIGN KEY(banco_id) REFERENCES tabcadbanco(NUMBAN)) ; 

CREATE TABLE tabfintransp( 
      id  INTEGER    NOT NULL  , 
      dtultimaatualizacao datetime   , 
      dt_inicial date   , 
      dt_final date   , 
      empresa_id int   , 
      integrado varchar  (1)   , 
 PRIMARY KEY (id),
FOREIGN KEY(empresa_id) REFERENCES tabcadempresasgrupos(id)) ; 

CREATE TABLE tabfintransp_cd( 
      id  INTEGER    NOT NULL  , 
      dtultimaatualizacao datetime   , 
      transp_fornec_id int   NOT NULL  , 
      cd_id int   , 
 PRIMARY KEY (id),
FOREIGN KEY(transp_fornec_id) REFERENCES tabfintransp_fornec(id),
FOREIGN KEY(cd_id) REFERENCES tabcadcreditodebito(id)) ; 

CREATE TABLE tabfintransp_config( 
      id  INTEGER    NOT NULL  , 
      dtultimaatualizacao datetime   , 
      centrocustos_id int   , 
      planocontas_id int   , 
      forma_id int   , 
      serie varchar  (15)   , 
      operacao_id int   , 
 PRIMARY KEY (id)) ; 

CREATE TABLE tabfintransp_fornec( 
      id  INTEGER    NOT NULL  , 
      dtultimaatualizacao datetime   , 
      transp_id int   NOT NULL  , 
      transportadora_id int   , 
      vl_tickets double  (10,2)   , 
      vl_fretes double  (10,2)   , 
      vl_debitos double  (10,2)   , 
      vl_creditos double  (10,2)   , 
      vl_liquido double  (10,2)   , 
      fornecedor_id int   , 
 PRIMARY KEY (id),
FOREIGN KEY(transp_id) REFERENCES tabfintransp(id),
FOREIGN KEY(transportadora_id) REFERENCES tabcadtransportadora(NUMTRN),
FOREIGN KEY(fornecedor_id) REFERENCES tabcadfornecedor(codfornecedor)) ; 

CREATE TABLE tabfintransp_fretes( 
      id  INTEGER    NOT NULL  , 
      dtultimaatualizacao datetime   , 
      dthoracriacao datetime   , 
      transp_fornec_id int   NOT NULL  , 
      frete_id int   NOT NULL  , 
 PRIMARY KEY (id),
FOREIGN KEY(transp_fornec_id) REFERENCES tabfintransp_fornec(id),
FOREIGN KEY(frete_id) REFERENCES tabfinfretes(id)) ; 

CREATE TABLE tabfintransp_tickets( 
      id  INTEGER    NOT NULL  , 
      dtultimaatualizacao datetime   , 
      transp_fornec_id int   NOT NULL  , 
      ticket_id int   , 
      vl_total double  (10,2)   , 
 PRIMARY KEY (id),
FOREIGN KEY(transp_fornec_id) REFERENCES tabfintransp_fornec(id),
FOREIGN KEY(ticket_id) REFERENCES tabcadfaturamento(id)) ; 

CREATE TABLE tabformdem_aviso( 
      id  INTEGER    NOT NULL  , 
      dthoracriacao datetime   , 
      dtultimaatualizacao datetime   , 
      data_aviso date   , 
      tipo_aviso_id int   , 
      fazenda_registro_id int   , 
      fiscal_id int   , 
      solicitado_user int   , 
      status varchar  (100)   , 
      anexo_GRRF varchar  (255)   , 
      valor_GRRF double  (10,2)   , 
      extrato_GRRF varchar  (250)   , 
      data_vencimento_GRRF date   , 
      cod_identificador int   , 
      motivo_desligamento varchar  (255)   , 
      dias_aviso int   , 
      data_homologacao date   , 
 PRIMARY KEY (id),
FOREIGN KEY(tipo_aviso_id) REFERENCES tabformdem_tipo_aviso(id),
FOREIGN KEY(fazenda_registro_id) REFERENCES tabcadfazenda(codfaz),
FOREIGN KEY(fiscal_id) REFERENCES tabcadfiscal(NUMTUR),
FOREIGN KEY(solicitado_user) REFERENCES tabusuarios(coduser)) ; 

CREATE TABLE tabformdem_aviso_funcionarios( 
      id  INTEGER    NOT NULL  , 
      aviso_id int   , 
      dtultimaatualizacao datetime   , 
      dthoracriacao datetime   , 
      funcionario_id int   , 
      anexo_aviso varchar  (250)   , 
      anexo_fechamento varchar  (250)   , 
      forma_pagamento char  (1)   , 
      anexo_rescisao int   , 
 PRIMARY KEY (id),
FOREIGN KEY(aviso_id) REFERENCES tabformdem_aviso(id),
FOREIGN KEY(funcionario_id) REFERENCES tabcadfuncionario(codfuncionario)) ; 

CREATE TABLE tabformdem_aviso_historico( 
      id  INTEGER    NOT NULL  , 
      dtultimaatualizacao datetime   , 
      dthoracriacao datetime   , 
      aviso_id int   , 
      user_id int  (10)   , 
      acao varchar  (100)   , 
      justificativa text   , 
 PRIMARY KEY (id),
FOREIGN KEY(aviso_id) REFERENCES tabformdem_aviso(id),
FOREIGN KEY(user_id) REFERENCES tabusuarios(coduser)) ; 

CREATE TABLE tabformdem_tipo_aviso( 
      id  INTEGER    NOT NULL  , 
      dtultimaatualizacao datetime   , 
      dthoracriacao datetime   , 
      descricao varchar  (250)   , 
      gera_GRRF char  (1)   , 
      tipo char  (1)   , 
      prazo_GRRF int  (2)   , 
      cumpre_aviso char  (1)   NOT NULL  , 
 PRIMARY KEY (id)) ; 

CREATE TABLE tabfornecedor_planocontas( 
      id  INTEGER    NOT NULL  , 
      dtultimaatualizacao datetime   , 
      cod_fornecedor int   NOT NULL  , 
      cod_planocontas int   NOT NULL  , 
 PRIMARY KEY (id),
FOREIGN KEY(cod_fornecedor) REFERENCES tabcadfornecedor(codfornecedor),
FOREIGN KEY(cod_planocontas) REFERENCES tabcadplanocontas(id)) ; 

CREATE TABLE tabfuncionario_rep( 
      id  INTEGER    NOT NULL  , 
      NUMFUN int   , 
      REP_ID int   , 
      dtultimaatualizacao datetime   , 
      data_exclusao datetime   , 
      user_cadastro int   , 
      user_exclusao int   , 
      data_inclusao datetime   , 
      Cod_TabFuncionario int   , 
      cartao char  (11)   , 
 PRIMARY KEY (id),
FOREIGN KEY(NUMFUN) REFERENCES tbcadfuncionario(NUMFUN),
FOREIGN KEY(REP_ID) REFERENCES tabcadrep(id)) ; 

CREATE TABLE tabitensmanu( 
      cotitens  INTEGER    NOT NULL  , 
      codmanu int  (11)     DEFAULT NULL, 
      qtdeoco double  (10)   , 
      codoco int  (11)     DEFAULT NULL, 
      unitoco double  (10)   , 
      totaloco double  (10)   , 
      ultima date   , 
 PRIMARY KEY (cotitens),
FOREIGN KEY(codmanu) REFERENCES tablancmanu(codmanu),
FOREIGN KEY(codoco) REFERENCES tabcadmaterial(codmaterial)) ; 

CREATE TABLE tabitensquadra( 
      codquadra  INTEGER    NOT NULL  , 
      codext int  (11)   , 
      codfaz int  (11)   , 
      situacao varchar  (255)   , 
      arrendamento varchar  (255)   , 
      nomequadra varchar  (255)   , 
      metroscubicos double  (10,2)   , 
      qtdebicos int  (11)   , 
      cqtdebicos int  (11)   , 
      codvari int  (11)   , 
      plantas int  (11)   , 
      plantio date   , 
      codenxerto int  (11)   , 
      esp1 double  (10,2)   , 
      esp2 double  (10,2)   , 
      area double  (10,2)   , 
      ordem int  (11)   , 
      codempquadra int  (11)   , 
      codcultura int  (11)   , 
      tipoplantio varchar  (255)   , 
      dtultimaatualizacao datetime   , 
      tipoatualizacao int  (4)   , 
      peso_bag double  (10,2)   , 
      peso_bag_max double  (10,2)   , 
      peso_cx double  (10,2)   , 
      peso_cx_max double  (10,2)   , 
 PRIMARY KEY (codquadra),
FOREIGN KEY(codvari) REFERENCES tabcadvariedade(codvari)) ; 

CREATE TABLE tablanagedacarga( 
      SEQAGCAR int  (8)   , 
      DATLCT date   , 
      id  INTEGER    NOT NULL  , 
      NUMFAZ int  (4)   , 
      NUMCLI int  (6)   , 
      NUMVAR int  (2)   , 
      DIASPRO int  (2)   , 
      OBS1 char  (50)   , 
      OBS2 char  (50)   , 
      STATUS char  (9)   , 
      SEQFAT int  (6)   , 
      NOMMOT char  (50)   , 
 PRIMARY KEY (id)) ; 

CREATE TABLE tablanaplicacao( 
      id  INTEGER    NOT NULL  , 
      Hora_inicio text   , 
      Hora_fim text   , 
      Data_aplicacao date   , 
      Horimetro_inicio int   , 
      Horimetro_fim int   , 
      KM_inicio int   , 
      KM_fim int   , 
      Nota_Chave int  (55)   , 
      Cod_produto_interno int   , 
      Descricao_produto_interno varchar  (255)   , 
      Cod_Fazenda int   , 
      Cod_BlocoLote int   , 
      Descricao_destino_id int   , 
      Descricao_destino varchar  (255)   , 
      Cidade varchar  (255)   , 
      Cod_Cliente int   , 
      Cliente varchar  (255)   , 
      N_pedido int   , 
      Concentracao double  (10,2)   , 
      Condicao_terreno varchar  (255)   , 
      Cod_cultura int   , 
      Qtd_aplicada_quilo double  (10,2)   , 
      Ha_aplicado double  (10,2)   , 
      Cod_frota int   , 
      Cod_motorista int   , 
 PRIMARY KEY (id),
FOREIGN KEY(Cod_frota) REFERENCES tabcadtrator(codtrator),
FOREIGN KEY(Cod_motorista) REFERENCES tabcadfuncionario(codfuncionario),
FOREIGN KEY(Cod_produto_interno) REFERENCES tabprodutoEx_In(id),
FOREIGN KEY(Cod_Fazenda) REFERENCES tabcadfazendalp(id),
FOREIGN KEY(Cod_Cliente) REFERENCES tabcadcliente(NUMCLI),
FOREIGN KEY(Cod_BlocoLote) REFERENCES tabcadfazendalp_lotebloco(id)) ; 

CREATE TABLE tablanaplicacao_itens( 
      id  INTEGER    NOT NULL  , 
      Cod_tablanaplicacao int   , 
      N_Nota int   , 
      Qtd_nota_quilo double  (10,2)   , 
      Qtd_total_quadra double   , 
      Dosagem_quilo double  (10,2)   , 
      Cod_Quadra int   , 
      QuadraParcial char  (3)   , 
      Ha_total double  (10,2)   , 
      Kg_ing_ativo_ha int   , 
 PRIMARY KEY (id),
FOREIGN KEY(Cod_Quadra) REFERENCES tabcadfazendalp_quadra(id),
FOREIGN KEY(Cod_tablanaplicacao) REFERENCES tablanaplicacao(id)) ; 

CREATE TABLE tablanavulso( 
      id  INTEGER    NOT NULL  , 
      dtultimaatualizacao datetime   , 
      pagamento date   NOT NULL  , 
      historico text   , 
      qtd double  (10,2)   , 
      uni double  (10,2)   , 
      total double  (10,2)   , 
      planodecontas_id int   , 
      centrodecustos_id int   , 
      tipo_movimentacao varchar  (10)   , 
 PRIMARY KEY (id),
FOREIGN KEY(planodecontas_id) REFERENCES tabcadplanocontas(id),
FOREIGN KEY(centrodecustos_id) REFERENCES tabcadcc(codcentrodecustos)) ; 

CREATE TABLE tablanbscarga( 
      id  INTEGER    NOT NULL  , 
      NUMFAZ int  (4)   , 
      CCARGA int  (8)   , 
      NOMOBS char  (50)   , 
      DATA date   , 
      HORA datetime   , 
      USUARIO char  (10)   , 
 PRIMARY KEY (id)) ; 

CREATE TABLE tablancmanu( 
      codmanu  INTEGER    NOT NULL  , 
      dtmanu date   , 
      doc varchar  (255)     DEFAULT NULL, 
      codmec int  (11)     DEFAULT NULL, 
      obs varchar  (255)     DEFAULT NULL, 
      codtrator int  (11)     DEFAULT NULL, 
      codimp int  (11)     DEFAULT 0, 
      horatrator int  (11)     DEFAULT 0, 
      codfaz int  (11)     DEFAULT 0, 
      tipomanu varchar  (255)     DEFAULT '0', 
      trocaoleo varchar  (255)     DEFAULT 'NAO', 
      codestoque int  (11)     DEFAULT NULL, 
      coduser int  (11)     DEFAULT NULL, 
      dispositivo char  (50)     DEFAULT NULL, 
      fechamento_stabile char  (3)   , 
      assinatura_mecanico text   , 
 PRIMARY KEY (codmanu),
FOREIGN KEY(codtrator) REFERENCES tabcadtrator(codtrator),
FOREIGN KEY(codmec) REFERENCES tabcadmecanico(codmec),
FOREIGN KEY(codfaz) REFERENCES tabcadfazenda(codfaz),
FOREIGN KEY(coduser) REFERENCES tabusuarios(coduser),
FOREIGN KEY(codestoque) REFERENCES tabestoque(codestoque)) ; 

CREATE TABLE tablancontbalanca( 
      id  INTEGER    NOT NULL  , 
      CODBAL int  (2)   , 
      NOMBAL char  (24)   , 
      CCARGA int  (8)   , 
      FAZ001 int  (4)   , 
      FAZ002 int  (4)   , 
      FAZ003 int  (4)   , 
      FAZ004 int  (4)   , 
      FAZ005 int  (4)   , 
      FAZ006 int  (4)   , 
      FAZ007 int  (4)   , 
      FAZ008 int  (4)   , 
      FAZ009 int  (4)   , 
      FAZ010 int  (4)   , 
      FAZ011 int  (4)   , 
      FAZ012 int  (4)   , 
      FAZ013 int  (4)   , 
      FAZ014 int  (4)   , 
 PRIMARY KEY (id)) ; 

CREATE TABLE tablanctlaranja( 
      id  INTEGER    NOT NULL  , 
      cod_remetente int   , 
      cod_destinatario int   , 
      cod_produto int   , 
      qtdCaixas double  (10,3)   , 
      valorCaixa double  (10,2)   , 
      peso double  (10,2)   , 
      valorTotal double  (10)   , 
      valorCTe double  (10,2)   , 
      numeroCTe int   , 
      chaveCTe char  (44)   , 
      dtultimaatualizacao datetime   , 
      fileDACTE text   , 
      fileXML text   , 
 PRIMARY KEY (id),
FOREIGN KEY(cod_remetente) REFERENCES tabcadempresas(CODEMP),
FOREIGN KEY(cod_destinatario) REFERENCES tabcadcliente(NUMCLI)) ; 

CREATE TABLE tablantransporte( 
      id  INTEGER    NOT NULL  , 
      ChaveNotaOrigem char  (44)   , 
      DataNota date   , 
      HoraNota text   , 
      Pedido int   , 
      ValorPedagio double  (10,2)   , 
      NumeroNota int   , 
      ValorNota double  (10,2)   , 
      Natureza varchar  (255)   , 
      UF int   , 
      Placa char  (8)   , 
      Rntrc int   , 
      cNF int   , 
      Serie int   , 
      cMunFG int   , 
      modFrete int   , 
      qVol int   , 
      esp char   , 
      marca varchar  (255)   , 
      pesoL double  (10,3)   , 
      pesoB double  (10,3)   , 
      nLacre varchar  (255)   , 
      nFat int   , 
      vOrig double  (10,2)   , 
      vDesc double  (10,2)   , 
      vLiq double  (10,2)   , 
      infCpl text   , 
      nProt int   , 
      ValorQuiloKM double  (10,2)   , 
      dosagem double  (10,2)   , 
      Valor_CTe double  (10,2)   , 
      Valor_Servico double  (10,2)   , 
      Valor_por_HA double   , 
      Transportadora_terceira int   , 
      Motorista_terceiro int   , 
      TransportadorResponsavel int   , 
      tablantransporteDestinatario int   , 
      tablantransporteEmitente int   , 
      ValorUniCTe double  (10,2)   , 
      LimiteHA double  (10,2)   , 
      Valor_transporte double  (10,2)   , 
      Valor_aplicacao double  (10,2)   , 
      Valor_total double  (10,2)   , 
      Destino int  (11)   , 
      Cod_Cliente int   , 
      N_Cte int   , 
      chave_Cte char  (44)   , 
      DataHoraCriacao datetime   , 
      DataHoraAlteracao datetime   , 
      Tomador int   , 
      DataVencimento date   , 
 PRIMARY KEY (id),
FOREIGN KEY(Transportadora_terceira) REFERENCES tabcadtransportadora(NUMTRN),
FOREIGN KEY(Motorista_terceiro) REFERENCES tabcadmotorista(id),
FOREIGN KEY(Cod_Cliente) REFERENCES tabcadcliente(NUMCLI)) ; 

CREATE TABLE tablantransportedestinatario( 
      id  INTEGER    NOT NULL  , 
      CNPJ char  (18)   , 
      XNome varchar  (255)   , 
      XFant varchar  (255)   , 
      xLgr varchar  (255)   , 
      nro char   , 
      xBairro varchar  (255)   , 
      cMun int   , 
      xMun varchar  (255)   , 
      UF char  (2)   , 
      CEP int   , 
      cPais int   , 
      xPais varchar  (255)   , 
      fone int   , 
      IndIEDest int   , 
      IE char  (15)   , 
 PRIMARY KEY (id)) ; 

CREATE TABLE tablantransporteemitente( 
      id  INTEGER    NOT NULL  , 
      CNPJ char  (18)   , 
      xNome varchar  (255)   , 
      XFant varchar  (255)   , 
      xLgr varchar  (255)   , 
      nro char   , 
      xBairro varchar  (255)   , 
      cMun int   , 
      xMun varchar  (255)   , 
      UF char  (2)   , 
      CEP int  (8)   , 
      cPais int   , 
      XPais varchar  (255)   , 
      fone int   , 
      IE char  (15)   , 
      CRT int   , 
 PRIMARY KEY (id)) ; 

CREATE TABLE tablantransporteproduto( 
      id  INTEGER    NOT NULL  , 
      id_tablantransporte int   NOT NULL  , 
      cProd int   , 
      cEAN varchar  (255)   , 
      xProd varchar  (255)   , 
      NCM int   , 
      EXTIPI int   , 
      CFOP int   , 
      uCom char   , 
      qCom double  (10,4)   , 
      vUnCom double  (10,10)   , 
      vProd double  (10,2)   , 
      cEANTrib varchar  (255)   , 
      uTrib char   , 
      qTrib double  (10,4)   , 
      vUnTrib double  (10,10)   , 
      indTot int   , 
 PRIMARY KEY (id),
FOREIGN KEY(id_tablantransporte) REFERENCES tablantransporte(id)) ; 

CREATE TABLE tabmenus( 
      codmenu  INTEGER    NOT NULL  , 
      nome varchar  (25)   NOT NULL  , 
      ativo int  (11)   NOT NULL  , 
      dtultimaatualizacao datetime   , 
      tipoatualizacao int  (11)     DEFAULT NULL, 
 PRIMARY KEY (codmenu)) ; 

CREATE TABLE tabmovestoque( 
      codmov  INTEGER    NOT NULL  , 
      tipomov varchar  (255)   , 
      transf varchar  (255)   , 
      manu varchar  (255)   , 
      codmanu int  (11)   , 
      apto varchar  (255)   , 
      codcc int  (11)   , 
      codestoque int  (11)   , 
      codforn int  (11)   , 
      doc varchar  (255)   , 
      datamov date   , 
      atualizaval varchar  (255)   , 
      vtotalgeral double  (10,2)   , 
      EstOrigem int  (10)   , 
      EstDestino int  (11)   , 
      codemp int  (11)   , 
      obs text   , 
      codapont int  (11)   , 
      media varchar  (255)   , 
      codapmedia int  (11)   , 
      QuemLevou varchar  (255)   NOT NULL  , 
      placa varchar  (7)   NOT NULL  , 
      tipolanc varchar  (255)   , 
      caminho_foto varchar  (255)   , 
      codfiscal int  (11)   , 
      id_func int  (11)   , 
 PRIMARY KEY (codmov),
FOREIGN KEY(EstOrigem) REFERENCES tabestoque(codestoque),
FOREIGN KEY(EstDestino) REFERENCES tabestoque(codestoque),
FOREIGN KEY(codcc) REFERENCES tabusuarios(coduser),
FOREIGN KEY(codfiscal) REFERENCES tabcadturma(codturma)) ; 

CREATE TABLE tabmovestoqueitens( 
      id  INTEGER    NOT NULL  , 
      codmov int  (11)   , 
      tipo varchar  (255)   , 
      tipomov varchar  (255)   , 
      codprod int  (11)   , 
      qtdeprod double  (20,3)   , 
      vunitprod double  (10,2)   , 
      vtotalprod double  (10,2)   , 
      codemp varchar  (255)   , 
      codestoque int  (11)   , 
      usuario varchar  (255)   , 
      hora text   , 
      saldoanterior double  (10,2)   , 
      saldoajustado double  (10,2)   , 
 PRIMARY KEY (id),
FOREIGN KEY(codmov) REFERENCES tabmovestoque(codmov),
FOREIGN KEY(codprod) REFERENCES tabcadmaterial(codmaterial)) ; 

CREATE TABLE tabnatoper( 
      id  INTEGER    NOT NULL  , 
      codigo varchar  (4)   NOT NULL  , 
      nome varchar  (500)   NOT NULL  , 
      finnfe int   NOT NULL  , 
      consumidor varchar  (1)   , 
      tp_documento int   , 
      ind_presenca int   , 
      cfop_externo varchar  (4)   , 
 PRIMARY KEY (id)) ; 

CREATE TABLE tabncm( 
      id  INTEGER    NOT NULL  , 
      codigo varchar  (500)   NOT NULL  , 
      nome varchar  (255)   NOT NULL  , 
 PRIMARY KEY (id)) ; 

CREATE TABLE tabnfe( 
      id  INTEGER    NOT NULL  , 
      tabcadcliente_id int   NOT NULL  , 
      tabcadempresas_id int   NOT NULL  , 
      tabnatoper_id int   NOT NULL  , 
      tabnfeserie_id int   NOT NULL  , 
      cliente_id int   , 
      cUF int   , 
      cNF varchar  (50)   , 
      modelo varchar  (500)   NOT NULL  , 
      nNF varchar  (50)   NOT NULL  , 
      dhEmi datetime   NOT NULL  , 
      dhSaiEnt datetime   , 
      tpNF int   NOT NULL  , 
      idDest int   NOT NULL  , 
      cMunFG int   , 
      tpEmis int   NOT NULL  , 
      tpAmb int   NOT NULL  , 
      finNFe int   NOT NULL  , 
      vBC double     DEFAULT 0, 
      vICMS double     DEFAULT 0, 
      vICMSDeson double     DEFAULT 0, 
      vBCST double     DEFAULT 0, 
      vST double     DEFAULT 0, 
      vProd double     DEFAULT 0, 
      vFrete double     DEFAULT 0, 
      vSeg double     DEFAULT 0, 
      vDesc double     DEFAULT 0, 
      vIPI double     DEFAULT 0, 
      vIPIDevol double     DEFAULT 0, 
      vPIS double     DEFAULT 0, 
      vCOFINS double     DEFAULT 0, 
      vOutro double     DEFAULT 0, 
      vNF double     DEFAULT 0, 
      tabcadtransportadora_id int   , 
      tabcadmotorista_id int   , 
      vtottrib double   , 
      modFrete int   , 
      qVol double     DEFAULT 0, 
      pesoL double     DEFAULT 0, 
      pesoB double     DEFAULT 0, 
      tPag int   , 
      vPag double   , 
      infAdFisco text   , 
      infCpl text   , 
      chave varchar  (500)   , 
      status varchar  (500)   , 
      mensagem text   , 
      caminhodanfe text   , 
      xJust text   , 
      xMotivo text   , 
      enderecocliente varchar  (100)   , 
      bairrocliente varchar  (45)   , 
      cidadecliente varchar  (100)   , 
      numeroenderecocliente varchar  (10)   , 
      codigomunicipiocliente int   , 
      estadocliente char  (2)   , 
      telefonecliente varchar  (15)   , 
      contraNota_id int  (10)   , 
      justificativa_preco_contraNota text   , 
 PRIMARY KEY (id),
FOREIGN KEY(tabnatoper_id) REFERENCES tabnatoper(id),
FOREIGN KEY(tabcadempresas_id) REFERENCES tabcadempresas(CODEMP),
FOREIGN KEY(tabcadcliente_id) REFERENCES tabcadcliente(NUMCLI),
FOREIGN KEY(tabcadtransportadora_id) REFERENCES tabcadtransportadora(NUMTRN),
FOREIGN KEY(tabnfeserie_id) REFERENCES tabnfeserie(id),
FOREIGN KEY(tabcadmotorista_id) REFERENCES tabcadmotorista(id),
FOREIGN KEY(cliente_id) REFERENCES tabcadclientes(id)) ; 

CREATE TABLE tabnfecartacorrecao( 
      id  INTEGER    NOT NULL  , 
      tabnfe_id int   NOT NULL  , 
      seqevento int   NOT NULL  , 
      motivo text   NOT NULL  , 
      dataevento datetime   , 
      ccexml text   , 
      ccepdf text   , 
 PRIMARY KEY (id),
FOREIGN KEY(tabnfe_id) REFERENCES tabnfe(id)) ; 

CREATE TABLE tabnfeconfig( 
      id  INTEGER    NOT NULL  , 
      tabcadempresas_id int   NOT NULL  , 
      certificado text   NOT NULL  , 
      senha text   NOT NULL  , 
      ambiente int   NOT NULL  , 
      codigomunicipio int   NOT NULL  , 
      regime int   NOT NULL  , 
      diasparavencimento int   , 
      obs_complementar text   , 
      obs_fiscal text   , 
 PRIMARY KEY (id),
FOREIGN KEY(tabcadempresas_id) REFERENCES tabcadempresas(CODEMP)) ; 

CREATE TABLE tabnfedev( 
      id  INTEGER    NOT NULL  , 
      dtultimaatualizacao datetime   , 
      chavedev varchar  (44)   NOT NULL  , 
      numeronfdev int   , 
      serienfdev int   , 
      tabnfe_id int   NOT NULL  , 
 PRIMARY KEY (id),
FOREIGN KEY(tabnfe_id) REFERENCES tabnfe(id)) ; 

CREATE TABLE tabnfedevevento( 
      id  INTEGER    NOT NULL  , 
      tabnfedevolucao_id int   NOT NULL  , 
      dataevento datetime   , 
      protocolo text   , 
      status text   , 
      mensagem text   , 
 PRIMARY KEY (id),
FOREIGN KEY(tabnfedevolucao_id) REFERENCES tabnfedevolucao(id)) ; 

CREATE TABLE tabnfedevolucao( 
      id  INTEGER    NOT NULL  , 
      tabnfeserie_id int   NOT NULL  , 
      tabcadempresas_id int   NOT NULL  , 
      tabnatoper_id int   NOT NULL  , 
      tabcadtransportadora_id int   NOT NULL  , 
      tabcadmotorista_id int   NOT NULL  , 
      chave text   , 
      nNF int   , 
      dhEmi datetime   , 
      dhSaiEnt datetime   , 
      tpAmb int   , 
      finNfe int   , 
      dest_CNPJ_CPF varchar  (20)   , 
      dest_xNome varchar  (100)   , 
      dest_xLgr varchar  (60)   , 
      dest_nro varchar  (10)   , 
      dest_xCpl varchar  (100)   , 
      dest_xBairro varchar  (100)   , 
      dest_cMun int   , 
      dest_xMun varchar  (100)   , 
      dest_UF char  (2)   , 
      dest_CEP int   , 
      dest_cPais int   , 
      dest_xPais varchar  (100)   , 
      dest_fone varchar  (14)   , 
      dest_IE varchar  (20)   , 
      vBC double   , 
      vICMS double   , 
      vICMSDeson double   , 
      vFCP double   , 
      vBCST double   , 
      vSTl double   , 
      vFCPST double   , 
      vFCPSTRet double   , 
      vProd double   , 
      vFrete double   , 
      vSeg double   , 
      vDesc double   , 
      vII double   , 
      vIPI double   , 
      vIPIDevol double   , 
      vPIS double   , 
      vCOFINS double   , 
      vOutro double   , 
      vNF double   , 
      modFrete char  (2)   , 
      qVol double   , 
      pesoL double   , 
      pesoB double   , 
      tPag char  (2)   , 
      vPag double   , 
      infAdic text   , 
      cStat int   , 
      cMsg text   , 
      chavenfref text   , 
      caminhodanfe text   , 
      xJust text   , 
      xMotivo text   , 
      vtottrib double  (10,2)   , 
 PRIMARY KEY (id),
FOREIGN KEY(tabnfeserie_id) REFERENCES tabnfeserie(id),
FOREIGN KEY(tabcadempresas_id) REFERENCES tabcadempresas(CODEMP),
FOREIGN KEY(tabnatoper_id) REFERENCES tabnatoper(id),
FOREIGN KEY(tabcadtransportadora_id) REFERENCES tabcadtransportadora(NUMTRN),
FOREIGN KEY(tabcadmotorista_id) REFERENCES tabcadmotorista(id)) ; 

CREATE TABLE tabnfedevolucaoitem( 
      id  INTEGER    NOT NULL  , 
      tabnfedevolucao_id int   NOT NULL  , 
      tabnatoper_id int   NOT NULL  , 
      cProd varchar  (60)   , 
      cEAN varchar  (30)   , 
      xProd varchar  (120)   , 
      NCM int   , 
      CEST int   , 
      uCom char  (6)   , 
      qCom double   , 
      vUnCom double   , 
      vProd double   , 
      cEANTrib varchar  (30)   , 
      uTrib varchar  (6)   , 
      qTrib double   , 
      vUnTrib double   , 
      vFrete double   , 
      vSeg double   , 
      vDesc double   , 
      vOutro double   , 
      vTotTrib double   , 
      indTot int   , 
      icmsorig char  (2)   , 
      icmsCST char  (2)   , 
      modBC char  (1)   , 
      icmsvBC double   , 
      vICMS double   , 
      PISCST char  (2)   , 
      PISvBC double   , 
      pPIS double   , 
      vPIS double   , 
      COFINSCST char  (2)   , 
      COFINSvBC double   , 
      pCOFINS double   , 
      vCOFINS double   , 
      vIPIDevol double   , 
      infAdProd text   , 
      pICMS double   , 
      IPIcEnq char  (3)   , 
      IPICST char  (3)   , 
      vIPI double   , 
      IPIvBC double   , 
      pIPI double   , 
      somaIPIBaseICMS char  (1)     DEFAULT 'N', 
      pMVAST double  (10,2)   , 
      pRedBCST double  (10,2)   , 
      vl_bc_icms_st double  (10,2)   , 
      aliq_st double  (10,2)   , 
      vl_icms_st double  (10,2)   , 
      modBCST varchar  (1)   , 
      vBCSTRet double  (10,2)   , 
      pST double  (10,2)   , 
      vICMSSubstituto double  (10,2)   , 
      vICMSSTRet double  (10,2)   , 
      pRedBCEfet double  (10,2)   , 
      vBCEfet double  (10,2)   , 
      pICMSEfet double  (10,2)   , 
      vICMSEfet double  (10,2)   , 
 PRIMARY KEY (id),
FOREIGN KEY(tabnfedevolucao_id) REFERENCES tabnfedevolucao(id),
FOREIGN KEY(tabnatoper_id) REFERENCES tabnatoper(id)) ; 

CREATE TABLE tabnfeempresaemail( 
      id  INTEGER    NOT NULL  , 
      tabcadempresas_id int   NOT NULL  , 
      email text   NOT NULL  , 
 PRIMARY KEY (id),
FOREIGN KEY(tabcadempresas_id) REFERENCES tabcadempresas(CODEMP)) ; 

CREATE TABLE tabnfeevento( 
      id  INTEGER    NOT NULL  , 
      tabnfe_id int   NOT NULL  , 
      dataevento datetime   NOT NULL  , 
      tipo char  (2)   NOT NULL  , 
      status varchar  (500)   , 
      protocolo varchar  (50)   , 
      mensagem text   , 
 PRIMARY KEY (id),
FOREIGN KEY(tabnfe_id) REFERENCES tabnfe(id)) ; 

CREATE TABLE tabnfeitem( 
      id  INTEGER    NOT NULL  , 
      tabnfe_id int   NOT NULL  , 
      tabcadmaterial_id int   , 
      tabnatoper_id int   , 
      item int   , 
      cProd varchar  (500)   , 
      cEAN varchar  (500)   , 
      xProd varchar  (500)   , 
      uCom varchar  (10)   , 
      qCom double     DEFAULT 0, 
      tabncm_id int   NOT NULL  , 
      vUnCom double     DEFAULT 0, 
      vProd double     DEFAULT 0, 
      cEANTrib varchar  (500)   , 
      uTrib varchar  (50)   , 
      qTrib double     DEFAULT 0, 
      vUnTrib double     DEFAULT 0, 
      indTot varchar  (50)   , 
      icmsorig int   , 
      icmsCST varchar  (20)   , 
      pisCST varchar  (20)   , 
      cofinsCST varchar  (20)   , 
      ipiCST varchar  (20)   , 
      vfrete double   , 
      vseg double   , 
      vdesc double   , 
      voutro double   , 
      infadprod text   , 
      vtottrib double   , 
      aliquotaPis double  (10,2)   , 
      aliquotaCofins double  (10,2)   , 
      aliquotaICMS double  (10,2)   , 
      aliquotaIPI double  (10,2)   , 
      basePis double  (10,2)   , 
      baseCofins double  (10,2)   , 
      baseICMS double  (10,2)   , 
      baseICMSST double  (10,2)   , 
      baseIPI double  (10,2)   , 
      vlPis double  (10,2)   , 
      vlCofins double  (10,2)   , 
      vlICMS double  (10,2)   , 
      vlICMSST double  (10,2)   , 
      vlIPI double  (10,2)   , 
      cfop varchar  (4)   , 
      vlOperacao double  (10,2)   , 
      aliquotaICMSST double  (10,2)   , 
 PRIMARY KEY (id),
FOREIGN KEY(tabnfe_id) REFERENCES tabnfe(id),
FOREIGN KEY(tabnatoper_id) REFERENCES tabnatoper(id),
FOREIGN KEY(tabcadmaterial_id) REFERENCES tabcadmaterial(codmaterial),
FOREIGN KEY(tabncm_id) REFERENCES tabncm(id)) ; 

CREATE TABLE tabnferef( 
      id  INTEGER    NOT NULL  , 
      dtultimaatualizacao datetime   , 
      tabnfe_id int   , 
      codchavenferef varchar  (50)   , 
      nnotaref varchar  (10)   , 
      emitida date   , 
      motorista varchar  (100)   , 
      placa char  (8)   , 
 PRIMARY KEY (id),
FOREIGN KEY(tabnfe_id) REFERENCES tabnfe(id)) ; 

CREATE TABLE tabnfeserie( 
      id  INTEGER    NOT NULL  , 
      codigo int   NOT NULL  , 
      ultimanota int   NOT NULL  , 
      descricao text   NOT NULL  , 
      tabcadempresas_id int   NOT NULL  , 
 PRIMARY KEY (id),
FOREIGN KEY(tabcadempresas_id) REFERENCES tabcadempresas(CODEMP)) ; 

CREATE TABLE tabnfetributacao( 
      id  INTEGER    NOT NULL  , 
      dtultimaatualizacao datetime   , 
      nome varchar  (50)   , 
 PRIMARY KEY (id)) ; 

CREATE TABLE tabnfetributacaoempresas( 
      id  INTEGER    NOT NULL  , 
      dtultimaatualizacao datetime   , 
      dthoracriacao datetime   , 
      id_tributacao int   NOT NULL  , 
      id_empresa int   , 
      descricao varchar  (50)   , 
 PRIMARY KEY (id),
FOREIGN KEY(id_tributacao) REFERENCES tabnfetributacao(id),
FOREIGN KEY(id_empresa) REFERENCES tabcadempresas(CODEMP)) ; 

CREATE TABLE tabnfetributacao_impostos( 
      id  INTEGER    NOT NULL  , 
      dtultimaatualizacao datetime   , 
      id_tributacao_empresa int   NOT NULL  , 
      id_tributo int   NOT NULL  , 
      uf_origem varchar  (2)   , 
      uf_destino varchar  (2)   , 
      cst varchar  (3)   , 
      base_calculo double  (10,2)   , 
      aliquota double  (10,2)   , 
      tipo_cliente varchar  (1)   , 
      enquadramento varchar  (1)   , 
      mva double  (10,2)   , 
 PRIMARY KEY (id),
FOREIGN KEY(id_tributo) REFERENCES tabnfetributos(id),
FOREIGN KEY(id_tributacao_empresa) REFERENCES tabnfetributacaoempresas(id)) ; 

CREATE TABLE tabnfetributos( 
      id  INTEGER    NOT NULL  , 
      dtultimaatualizacao datetime   , 
      nome varchar  (20)   , 
 PRIMARY KEY (id)) ; 

CREATE TABLE tabnotasmanuais( 
      id  INTEGER    NOT NULL  , 
      fornecedor_id int   NOT NULL  , 
      remetente_id int  (11)   NOT NULL  , 
      naturezaOperacao text   , 
      dataEmissao date   NOT NULL  , 
      dataVencimento date   , 
      numeroNota int   , 
      freteTipo int  (1)   NOT NULL  , 
      dtultimaatualizacao datetime   , 
      vlNota double  (10)   NOT NULL  , 
 PRIMARY KEY (id),
FOREIGN KEY(fornecedor_id) REFERENCES tabcadfornecedor(codfornecedor),
FOREIGN KEY(remetente_id) REFERENCES tabcadfazenda(codfaz)) ; 

CREATE TABLE tabnotasmanuaisitens( 
      id  INTEGER    NOT NULL  , 
      tabnotasmanuais_id int   NOT NULL  , 
      produto_id int  (250)   NOT NULL  , 
      unidade varchar  (10)   , 
      quantidade double  (11)   NOT NULL  , 
      vlrUnit double  (11)   NOT NULL  , 
      vlrTotal double  (11)   NOT NULL  , 
      aliqIcms double  (11)   , 
      dtultimaatualizacao datetime   , 
 PRIMARY KEY (id),
FOREIGN KEY(tabnotasmanuais_id) REFERENCES tabnotasmanuais(id),
FOREIGN KEY(produto_id) REFERENCES tabcadmaterial(codmaterial)) ; 

CREATE TABLE tabpitenspraga( 
      codpreparo int  (11)   NOT NULL    DEFAULT 0, 
      codpraga int  (11)   NOT NULL    DEFAULT 0, 
      tipopraga varchar  (255)     DEFAULT NULL, 
      codemp int  (11)     DEFAULT NULL, 
      codpitenspraga  INTEGER    NOT NULL  , 
 PRIMARY KEY (codpitenspraga),
FOREIGN KEY(codpreparo) REFERENCES tabcadpreparo(codpreparo),
FOREIGN KEY(codpraga) REFERENCES tabcadpraga(codpraga)) ; 

CREATE TABLE tabpitensprod( 
      codpreparo int  (11)   NOT NULL    DEFAULT 0, 
      codprod int  (11)   NOT NULL    DEFAULT 0, 
      doseantiga double  (10,)     DEFAULT NULL, 
      ordem int  (11)     DEFAULT NULL, 
      mlmtcub int  (11)     DEFAULT NULL, 
      dosenova double  (10,)     DEFAULT NULL, 
      totalprod double  (10,)     DEFAULT NULL, 
      valorprod double  (10,)     DEFAULT NULL, 
      codemp int  (11)     DEFAULT NULL, 
      codpitensprod  INTEGER    NOT NULL  , 
 PRIMARY KEY (codpitensprod),
FOREIGN KEY(codpreparo) REFERENCES tabcadpreparo(codpreparo),
FOREIGN KEY(codprod) REFERENCES tabcadmaterial(codmaterial)) ; 

CREATE TABLE tabpitensquadra( 
      codpreparo int  (11)   NOT NULL    DEFAULT 0, 
      codquadra int  (11)   NOT NULL    DEFAULT 0, 
      codemp int  (11)     DEFAULT NULL, 
      mlm3 double  (10,)     DEFAULT 0.00, 
      codpquadra int   , 
 PRIMARY KEY (codpquadra),
FOREIGN KEY(codquadra) REFERENCES tabitensquadra(codquadra),
FOREIGN KEY(codpreparo) REFERENCES tabcadpreparo(codpreparo)) ; 

CREATE TABLE tabplanilha_online( 
      id  INTEGER    NOT NULL  , 
      dtultimaatualizacao datetime   , 
      nome text   , 
      descricao text   , 
      link text   , 
 PRIMARY KEY (id)) ; 

CREATE TABLE tabplanilha_online_usuarios( 
      id  INTEGER    NOT NULL  , 
      dtultimaatualizacao datetime   , 
      id_usuario int   , 
      id_planilha int   , 
 PRIMARY KEY (id),
FOREIGN KEY(id_usuario) REFERENCES tabusuarios(coduser),
FOREIGN KEY(id_planilha) REFERENCES tabplanilha_online(id)) ; 

CREATE TABLE tabplanocontas_cc_semrequisicao( 
      id  INTEGER    NOT NULL  , 
      planocontas_id int   , 
      centrocustos_id int   , 
      dtultimaatualizacao datetime   , 
 PRIMARY KEY (id),
FOREIGN KEY(planocontas_id) REFERENCES tabcadplanocontas(id),
FOREIGN KEY(centrocustos_id) REFERENCES tabcadcc(codcentrodecustos)) ; 

CREATE TABLE tabprocedimento_html( 
      id  INTEGER    NOT NULL  , 
      titulo varchar  (255)   , 
      html text   , 
      dtcriacao datetime   , 
      dtultimaatualizacao datetime   , 
      criado_user_id int   , 
      alterado_user_id int   , 
 PRIMARY KEY (id),
FOREIGN KEY(criado_user_id) REFERENCES tabusuarios(coduser),
FOREIGN KEY(alterado_user_id) REFERENCES tabusuarios(coduser)) ; 

CREATE TABLE tabprocedimento_html_usuarios( 
      id  INTEGER    NOT NULL  , 
      dtultimaatualizacao datetime   , 
      id_usuario int   , 
      id_procedimento int   , 
 PRIMARY KEY (id),
FOREIGN KEY(id_usuario) REFERENCES tabusuarios(coduser),
FOREIGN KEY(id_procedimento) REFERENCES tabprocedimento_html(id)) ; 

CREATE TABLE tabprodutoEx_In( 
      id  INTEGER    NOT NULL  , 
      Cod_Externo varchar  (20)   , 
      Cod_Fornecedor int  (20)   , 
      Cod_Interno int   , 
      fator_conversao double  (10,2)   , 
 PRIMARY KEY (id),
FOREIGN KEY(Cod_Fornecedor) REFERENCES tabcadfornecedor(codfornecedor),
FOREIGN KEY(Cod_Interno) REFERENCES tabcadmaterial(codmaterial)) ; 

CREATE TABLE tabprorrogacao( 
      id  INTEGER    NOT NULL  , 
      dtultimaatualizacao datetime   , 
      dthoracriacao datetime   , 
      Id_movimentacao int   , 
      tipo_movimentacao varchar  (50)   , 
      qtd_dias int   , 
      user int  (5)   , 
      justificativa text   , 
 PRIMARY KEY (id),
FOREIGN KEY(user) REFERENCES tabusuarios(coduser)) ; 

CREATE TABLE tabprotocolo( 
      codproto  INTEGER    NOT NULL  , 
      dtultimaatualizacao datetime   , 
      dthoracriacao datetime   , 
      dataabre date   , 
      datafech date   , 
      codorigem int   , 
      nomeorigem varchar  (200)   , 
      coddest int   , 
      nomedestino varchar  (200)   , 
      status varchar  (10)   , 
      editando varchar  (10)   , 
      usuario varchar  (100)   , 
      confirmado varchar  (10)   , 
      nome varchar  (100)   , 
      datahora datetime   , 
      obs text   , 
      quemlevou varchar  (200)   , 
      tipo varchar  (5)   , 
 PRIMARY KEY (codproto),
FOREIGN KEY(codorigem) REFERENCES tabprotocolodest(coddestino),
FOREIGN KEY(coddest) REFERENCES tabprotocolodest(coddestino)) ; 

CREATE TABLE tabprotocolodest( 
      coddestino  INTEGER    NOT NULL  , 
      dtultimaatualizacao datetime   , 
      dthoracriacao datetime   , 
      nomedestino varchar  (200)   , 
      situacao varchar  (20)   , 
      codemp int   , 
      autorizado varchar  (20)   , 
      atedata date   , 
      arquivo varchar  (3)   , 
      usuario_id int   , 
 PRIMARY KEY (coddestino),
FOREIGN KEY(usuario_id) REFERENCES tabusuarios(coduser),
FOREIGN KEY(codemp) REFERENCES tabcadempresas(CODEMP)) ; 

CREATE TABLE tabprotocoloitens( 
      id  INTEGER    NOT NULL  , 
      dtultimaatualizacao datetime   , 
      dthoracriacao datetime   , 
      codproto int   NOT NULL  , 
      dataitem date   , 
      data_doc date   , 
      id_func int   , 
      nomefunc varchar  (100)   , 
      sit varchar  (200)   , 
      id_doc int   , 
      descricao int  (255)   , 
      id_user int   , 
      confirmado varchar  (255)   , 
 PRIMARY KEY (id),
FOREIGN KEY(codproto) REFERENCES tabprotocolo(codproto),
FOREIGN KEY(id_func) REFERENCES tabcadfuncionario(codfuncionario),
FOREIGN KEY(id_doc) REFERENCES tabdocumentos_cadastro(id),
FOREIGN KEY(id_user) REFERENCES system_users(id)) ; 

CREATE TABLE tabrepresentante_cliente( 
      id  INTEGER    NOT NULL  , 
      Id_Cliente_Representante int   , 
      Id_Cliente int   , 
      dtultimaatualizacao datetime   , 
 PRIMARY KEY (id),
FOREIGN KEY(Id_Cliente) REFERENCES tabcadclientes(id),
FOREIGN KEY(Id_Cliente_Representante) REFERENCES tabcadclientes(id)) ; 

CREATE TABLE tabtipo_conta_banco( 
      id  INTEGER    NOT NULL  , 
      Descricao_Tipo varchar  (100)   , 
      dtultimaatualizacao datetime   , 
 PRIMARY KEY (id)) ; 

CREATE TABLE tabtmpnotas( 
      id  INTEGER    NOT NULL  , 
      id_empresa int  (10)   NOT NULL  , 
      chave_nfe varchar  (100)   , 
      ind_oper char  (1)   , 
      ind_emit char  (1)   , 
      serie char  (3)   , 
      num_doc int  (10)   , 
      dt_doc datetime   , 
      dt_e_s datetime   , 
      vl_doc double  (10,2)   , 
      vl_desc double  (10,2)   , 
      vl_merc double  (10,2)   , 
      vl_abat_nt double  (10,2)   , 
      ind_frt int  (10)   , 
      ind_pagto int  (10)   , 
      vl_frt double  (10,2)   , 
      vl_seg double  (10,2)   , 
      vl_out_da double  (10,2)   , 
      vl_bc_icms double  (10,2)   , 
      vl_icms double  (10,2)   , 
      vl_bc_icms_st double  (10,2)   , 
      vl_icms_st double  (10,2)   , 
      vl_ipi double  (10,2)   , 
      vl_pis double  (10,2)   , 
      vl_cofins double  (10,2)   , 
      vl_pis_st double  (10,2)   , 
      vl_cofins_st double  (10,2)   , 
      resumo_cfop varchar  (60)   , 
      dtultimaatualizacao datetime   , 
      hora_inclusao datetime   , 
      qvol double  (10,2)   , 
      esp varchar  (60)   , 
      marca varchar  (60)   , 
      nvol varchar  (60)   , 
      pesol double  (10,2)   , 
      pesob double  (10,2)   , 
      inf_fisco text   , 
      inf_comp text   , 
      cd_transportador int  (10)   , 
      cd_status int  (10)   , 
      vl_funrural double  (10,2)   , 
      aliq_funrural double  (10,2)   , 
      protocolo_autorizacao varchar  (30)   , 
      dt_autorizacao datetime   , 
      protocolo_cancelamento varchar  (30)   , 
      dt_cancelamento datetime   , 
      motivo_cancelamento text   , 
      dt_entrada date   , 
      digval varchar  (30)   , 
      pronta char  (1)   , 
      nota_dev int  (11)   , 
      serie_dev char  (3)   , 
      emit_cnpj_cpf varchar  (14)   , 
      emit_xnome varchar  (60)   , 
      emit_xfant varchar  (60)   , 
      emit_xlgr varchar  (60)   , 
      emit_nro varchar  (60)   , 
      emit_cnae varchar  (10)   , 
      emit_xbairro varchar  (60)   , 
      emit_cmun int  (60)   , 
      emit_xmun varchar  (60)   , 
      emit_uf varchar  (3)   , 
      emit_cep varchar  (10)   , 
      emit_cpais int  (11)   , 
      emit_xpais varchar  (60)   , 
      emit_fone varchar  (60)   , 
      emit_ie varchar  (60)   , 
      emit_crt int  (1)   , 
      emit_email varchar  (200)   , 
      ret_irrf double  (10,2)   , 
      ret_inss double  (10,2)   , 
      ret_iss double  (10,2)   , 
      ret_csll double  (10,2)   , 
      ret_pis double  (10,2)   , 
      ret_cofins double  (10,2)   , 
      ret_pcc double  (10,2)   , 
      id_conta int   , 
      id_operacao int   , 
      id_centrocustos int   , 
      id_pessoa int   , 
      obs text   , 
      xml text   , 
      numnsu int   , 
      modelo varchar  (10)   , 
      ind_fin char  (1)   , 
      nfe_ref varchar  (44)   , 
      vl_icms_deson double  (10,2)   , 
      vl_fcp double  (10,2)   , 
      vl_fcp_st double  (10,2)   , 
      vl_fcp_st_ret double  (10,2)   , 
      vl_ii double  (10,2)   , 
      vl_ipi_dev double  (10,2)   , 
      nat_ope varchar  (200)   , 
      tPag varchar  (2)   , 
 PRIMARY KEY (id),
FOREIGN KEY(id_empresa) REFERENCES tabcadempresas(CODEMP)) ; 

CREATE TABLE tabtmpnotasitens( 
      id  INTEGER    NOT NULL  , 
      nfe_id int   NOT NULL  , 
      num_item int  (10)   , 
      cod_item varchar  (60)   , 
      descricao_produto varchar  (60)   , 
      descr_compl varchar  (60)   , 
      ncm varchar  (10)   , 
      ean varchar  (50)   , 
      qtd double  (10,4)   , 
      unid char  (2)   , 
      vl_unit double  (10,2)   , 
      vl_item double  (10,2)   , 
      vl_desc double  (10,2)   , 
      cst_icms varchar  (3)   , 
      cfop int  (10)   , 
      vl_bc_icms double  (10,2)   , 
      aliq_icms double  (10,2)   , 
      vl_icms double  (10,2)   , 
      vl_bc_icms_st double  (10,2)   , 
      aliq_st double  (10,2)   , 
      vl_icms_st double  (10,2)   , 
      cst_ipi varchar  (2)   , 
      cod_enq int  (10)   , 
      vl_bc_ipi double  (10,2)   , 
      aliq_ipi double  (10,2)   , 
      vl_ipi double  (10,2)   , 
      cst_pis varchar  (2)   , 
      vl_bc_pis double  (10,2)   , 
      vl_pis double  (10,2)   , 
      cst_cofins varchar  (2)   , 
      vl_bc_cofins double  (10,2)   , 
      aliq_pis double  (5)   , 
      vl_cofins double  (10,2)   , 
      id_produtos int   , 
      vl_frete double  (10,2)   , 
      aliq_cofins double  (5,2)   , 
      vl_seg double  (10,2)   , 
      estoque char  (1)   , 
      vlr_custo double  (10,2)   , 
      atualizado char  (1)   , 
      fator_conversao double  (20,2)   , 
      qt_estoque double  (20,2)   , 
      dt_inclusao date   , 
      custo_final double  (10,2)   , 
      vl_outros double  (10,2)   , 
      orig_icms char  (1)   , 
      pMVAST double  (10,2)   , 
      pRedBCST double  (10,2)   , 
      modBCST varchar  (1)   , 
 PRIMARY KEY (id),
FOREIGN KEY(nfe_id) REFERENCES tabtmpnotas(id)) ; 

CREATE TABLE tabtmpnotasrequisicoes( 
      id  INTEGER    NOT NULL  , 
      dtultimaatualizacao datetime   , 
      nfe_id int   NOT NULL  , 
      requisicao_id int   , 
      valor double  (10,2)   , 
 PRIMARY KEY (id),
FOREIGN KEY(nfe_id) REFERENCES tabtmpnotas(id),
FOREIGN KEY(requisicao_id) REFERENCES tabcadrequisicao(id)) ; 

CREATE TABLE tabtmpnotastitulos( 
      id  INTEGER    NOT NULL  , 
      nfe_id int   NOT NULL  , 
      fatura varchar  (20)   NOT NULL  , 
      parcela_numero int  (11)   NOT NULL  , 
      vencimento date   , 
      vlr_parcela double  (10,2)   , 
      vencimento_dig date   , 
      vlr_parcela_dig double  (10,2)   , 
      excluido char  (1)   , 
      forma_id int   , 
      atualizado varchar  (1)   , 
 PRIMARY KEY (id),
FOREIGN KEY(nfe_id) REFERENCES tabtmpnotas(id),
FOREIGN KEY(forma_id) REFERENCES tabcadformapgto(id)) ; 

CREATE TABLE tabusuariomenu( 
      codmenu int  (11)   NOT NULL  , 
      coduser int  (11)   NOT NULL  , 
      dtultimaatualizacao datetime   , 
      id  INTEGER    NOT NULL  , 
 PRIMARY KEY (id),
FOREIGN KEY(codmenu) REFERENCES tabmenus(codmenu),
FOREIGN KEY(coduser) REFERENCES tabusuarios(coduser)) ; 

CREATE TABLE tabusuarios( 
      coduser  INTEGER    NOT NULL  , 
      usuario varchar  (255)   NOT NULL  , 
      nomeuser varchar  (255)   NOT NULL  , 
      cpf varchar  (11)   , 
      email varchar  (100)   , 
      frontpage_id int  (11)   , 
      id int   , 
      system_unit_id int  (11)   , 
      active char  (1)   , 
      senha varchar  (255)   , 
      tipo varchar  (255)   , 
      codemp int  (11)   , 
      situacao varchar  (255)   , 
      atualiza varchar  (255)   , 
      mensagem varchar  (255)   , 
      token_telegram varchar  (255)   , 
      chatid_telegram varchar  (255)   , 
      bot_telegram varchar  (255)   , 
      dtultimaatualizacao datetime   , 
      codfuncionario int   , 
      supervisor char  (1)   , 
      tipoatualizacao char  (1)   , 
      pendencia char  (1)   , 
      whatsapp_notificacao varchar  (255)   , 
 PRIMARY KEY (coduser),
FOREIGN KEY(frontpage_id) REFERENCES system_program(id),
FOREIGN KEY(codfuncionario) REFERENCES tabcadfuncionario(codfuncionario)) ; 

CREATE TABLE tabusuariosest( 
      coduser int  (11)   , 
      id  INTEGER    NOT NULL  , 
      codest int  (11)   , 
 PRIMARY KEY (id),
FOREIGN KEY(codest) REFERENCES tabestoque(codestoque),
FOREIGN KEY(coduser) REFERENCES tabusuarios(coduser)) ; 

CREATE TABLE tabusuariosfaz( 
      id  INTEGER    NOT NULL  , 
      coduser int  (11)   , 
      codfaz int  (11)   , 
 PRIMARY KEY (id),
FOREIGN KEY(codfaz) REFERENCES tabcadfazenda(codfaz),
FOREIGN KEY(coduser) REFERENCES tabusuarios(coduser)) ; 

CREATE TABLE tabusuariosforn( 
      coduser int  (11)   , 
      id  INTEGER    NOT NULL  , 
      codforn int  (11)   , 
 PRIMARY KEY (id),
FOREIGN KEY(codforn) REFERENCES tabcadfornecedor(codfornecedor),
FOREIGN KEY(coduser) REFERENCES tabusuarios(coduser)) ; 

CREATE TABLE tabusuariosmec( 
      coduser int  (11)   , 
      codmec int  (11)   , 
      id  INTEGER    NOT NULL  , 
 PRIMARY KEY (id)) ; 

CREATE TABLE tabusuariospat( 
      coduser int  (11)   , 
      codpat int  (11)   , 
      id  INTEGER    NOT NULL  , 
 PRIMARY KEY (id)) ; 

CREATE TABLE tbcadempresa( 
      CODEMP  INTEGER    NOT NULL  , 
      NOMEMP int   , 
      DATAHORAATUALIZACAO datetime   , 
      NOMUSU varchar  (255)   , 
 PRIMARY KEY (CODEMP)) ; 

CREATE TABLE tbcadfazenda( 
      NUMFAZ  INTEGER    NOT NULL  , 
      NOMFAZ char  (40)     DEFAULT NULL, 
      ENDFAZ char  (40)     DEFAULT NULL, 
      CIDFAZ char  (20)     DEFAULT NULL, 
      CEPFAZ char  (9)     DEFAULT NULL, 
      ESTFAZ char  (2)     DEFAULT NULL, 
      TELFAZ char  (25)     DEFAULT NULL, 
      FAXFAZ char  (25)     DEFAULT NULL, 
      CGCFAZ char  (20)     DEFAULT NULL, 
      IEFAZ char  (20)     DEFAULT NULL, 
      SEQQUA int  (2)     DEFAULT NULL, 
      FAZAPO int  (4)     DEFAULT NULL, 
      BOMFINAL double  (15,2)     DEFAULT NULL, 
      ESTOQUE char  (1)     DEFAULT NULL, 
      CODEST int  (4)     DEFAULT NULL, 
      USUAL char  (15)     DEFAULT NULL, 
      NUMNTF int  (9)     DEFAULT NULL, 
      LOCAL char  (20)     DEFAULT NULL, 
      SERIE char  (3)     DEFAULT NULL, 
      MODELO char  (2)     DEFAULT NULL, 
      MAXFUN int  (6)     DEFAULT NULL, 
      QFUNC int  (6)     DEFAULT NULL, 
      XMLENTRADA char  (40)     DEFAULT NULL, 
      XMLBAIXADO char  (40)     DEFAULT NULL, 
      ENTRAREL char  (1)     DEFAULT NULL, 
      QTDHINT int  (2)     DEFAULT NULL, 
      EMITENFE char  (1)     DEFAULT NULL, 
      NUMCID int  (3)     DEFAULT NULL, 
      RSOC char  (40)     DEFAULT NULL, 
      CEIFAZ char  (19)     DEFAULT NULL, 
      CODFOLHA int  (6)     DEFAULT NULL, 
 PRIMARY KEY (NUMFAZ)) ; 

CREATE TABLE tbcadfuncionario( 
      NUMFUN  INTEGER    NOT NULL  , 
      NOMFUN char  (40)   , 
      ENDFUN char  (40)   , 
      NOMBAI char  (40)   , 
      NOMCID char  (26)   , 
      SIGEST char  (2)   , 
      NUMCEP char  (10)   , 
      NUMTEL char  (28)   , 
      NOMOBS char  (135)   , 
      NUMCPF char  (19)   , 
      NUMREG char  (19)   , 
      USUAL char  (10)   , 
      NUMOPE int  (3)   , 
      STATUS char  (1)   , 
      NUMFAZ int  (4)   , 
      CTPS char  (15)   , 
      SERIE char  (10)   , 
      DATA date   , 
      PONTO char  (1)   , 
      DATADM date   , 
      HORPAD char  (1)   , 
      DATDEM date   , 
      NUMTUR int  (4)   , 
      CODFUN int  (4)   , 
      APFALTA char  (1)   , 
      PIS char  (19)   , 
      TITULO char  (18)   , 
      DATNAS date   , 
      SEXO char  (1)   , 
      NUMRES char  (16)   , 
      CNH char  (18)   , 
      NUMERO char  (7)   , 
      COMPL char  (9)   , 
      CIDEXA int  (3)   , 
      FONE2 char  (15)   , 
      FONE3 char  (15)   , 
      CBO char  (13)   , 
      TIPSAL int  (2)   , 
      NUMDEP int  (3)   , 
      MOTDES char  (49)   , 
      NFALTA int  (4)   , 
      NATEST int  (4)   , 
      EXAADM date   , 
      EXADEM date   , 
      MAISAL double  (12)   , 
      MENSAL double  (12)   , 
      ULTSAL double  (12)   , 
      MEDSAL double  (12)   , 
      MESMAI char  (6)   , 
      MESMEN char  (6)   , 
      MESULT char  (6)   , 
      MESES int  (6)   , 
      TEMPORA char  (1)   , 
      CIDFAZ int  (3)   , 
      NUMCID int  (3)   , 
      AGROTO char  (1)   , 
      DATAPO date   , 
      MOTDES2 char  (73)   , 
      DB_BCO char  (3)   , 
      DB_AG char  (6)   , 
      DB_TPCON char  (10)   , 
      DB_NUMCON char  (10)   , 
      DB_CARTENT char  (1)   , 
      DB_OBS char  (60)   , 
      EXP1 date   , 
      EXP2 date   , 
      BCOTIT char  (60)   , 
      BCODOC char  (18)   , 
      BCONUM char  (3)   , 
      BCOTIP int  (1)   , 
      BCOAG char  (15)   , 
      BCOCON char  (15)   , 
      BCOOBS char  (60)   , 
      DESTAQUE char  (10)   , 
      AVISFER1 char  (1)   , 
      CODFOLHA int  (6)   , 
      NUMJTR int  (3)   , 
      NATCID int  (3)   , 
      NATUF char  (2)   , 
      EMAIL char  (40)   , 
      NOMMAE char  (40)   , 
      NOMPAI char  (40)   , 
      NAC int  (2)   , 
      NACMAE int  (2)   , 
      NACPAI int  (2)   , 
      RACCOR int  (2)   , 
      ESTCIV int  (2)   , 
      INSTRU int  (2)   , 
      TIPSAN int  (2)   , 
      CTPSUF char  (2)   , 
      RGDEMIS date   , 
      RGOEMIS char  (10)   , 
      RGUF char  (2)   , 
      RESCAT char  (16)   , 
      TITZON char  (10)   , 
      TITSEC char  (10)   , 
      CNHCAT char  (2)   , 
      CNHVEN date   , 
      CNHUF char  (2)   , 
      PISCAD date   , 
      PISBAN char  (3)   , 
      PISAG char  (6)   , 
      PISEND char  (45)   , 
      MOVCAG int  (2)   , 
      TPRAIS int  (2)   , 
      VIRAIS int  (2)   , 
      VEXANU date   , 
      VEXADM date   , 
      OPFGTS char  (1)   , 
      DATOP date   , 
      DATRET date   , 
      BANDEP char  (3)   , 
      CATGFIP int  (2)   , 
      HORATI double  (12)   , 
      DSR char  (1)   , 
      ULTADI double  (12)   , 
      DEPSAL char  (1)   , 
      TIPADI int  (1)   , 
      PERADI double  (12)   , 
      VLRADI double  (12)   , 
      ANTSAL double  (12)   , 
      JUSSED char  (100)   , 
      SANGUE char  (3)   , 
      TIPDEP int  (2)   , 
      DEFFIS char  (1)   , 
      CODSIND int  (6)   , 
      ESTAB char  (10)   , 
      NUMCTA char  (10)   , 
      CARTAO char  (11)   , 
 PRIMARY KEY (NUMFUN)) ; 

CREATE TABLE tbcadlocalpat( 
      CODLPAT  INTEGER    NOT NULL  , 
      DESCLPAT char  (30)     DEFAULT NULL, 
      SITLPAT char  (1)     DEFAULT NULL, 
      USUCAD varchar  (255)     DEFAULT NULL, 
      DHCAD char  (19)     DEFAULT NULL, 
      codext int  (11)     DEFAULT NULL, 
      CODFAZ int  (255)     DEFAULT NULL, 
 PRIMARY KEY (CODLPAT),
FOREIGN KEY(CODFAZ) REFERENCES tabcadfazenda(codfaz)) ; 

CREATE TABLE tbcadmaterial( 
      NUMPRD  INTEGER    NOT NULL  , 
      NOMPRD char  (40)   NOT NULL  , 
      UNDPRD char  (3)   NOT NULL  , 
      AUTORIZA char  (1)   , 
 PRIMARY KEY (NUMPRD)) ; 

CREATE TABLE xparametros_estoque( 
      id  INTEGER    NOT NULL  , 
      dtultimaatualizacao datetime   , 
      parametro varchar  (255)   , 
      valor varchar  (255)   , 
      descricao text   , 
 PRIMARY KEY (id)) ; 

CREATE TABLE xparametros_lp( 
      id  INTEGER    NOT NULL  , 
      parametro varchar  (255)   , 
      valor varchar  (255)   , 
      descricao text   , 
 PRIMARY KEY (id)) ; 

CREATE TABLE xparametros_requisicao( 
      id  INTEGER    NOT NULL  , 
      parametro varchar  (255)   , 
      valor varchar  (255)   , 
      descricao text   , 
 PRIMARY KEY (id)) ; 

 
 CREATE UNIQUE INDEX unique_idx_tabcadfornecedor_nomefantasia ON tabcadfornecedor(nomefantasia);
 CREATE UNIQUE INDEX unique_idx_tabcadmotorista_terceiro_cpf ON tabcadmotorista_terceiro(cpf);
 CREATE UNIQUE INDEX unique_idx_tabcadrep_Nome ON tabcadrep(Nome);
 CREATE UNIQUE INDEX unique_idx_tabcadrep_NFR ON tabcadrep(NFR);
 CREATE UNIQUE INDEX unique_idx_tabcadrepponto_NFR ON tabcadrepponto(NFR);
 CREATE UNIQUE INDEX unique_idx_tabcadrequisicao_n_requisicao ON tabcadrequisicao(n_requisicao);
 CREATE UNIQUE INDEX unique_idx_tabcadtrator_codfrotatrat ON tabcadtrator(codfrotatrat);
 CREATE UNIQUE INDEX unique_idx_tabcadtrator_codpatrimonio ON tabcadtrator(codpatrimonio);
 CREATE UNIQUE INDEX unique_idx_tabdocumentos_cadastro_descricao ON tabdocumentos_cadastro(descricao);
 
 CREATE VIEW v_agendamento_fazenda AS select 
f.nomefaz nomefazenda,
f.codfaz codfaz,
(select count(*) from tabcadagendamento where codfaz = f.codfaz and tabcadagendamentostatus_id = 1 and dataagenda = a.dataagenda) pendente, 
(select count(*) from tabcadagendamento where codfaz = f.codfaz and tabcadagendamentostatus_id = 2 and dataagenda = a.dataagenda) lancado, 
(select count(*) from tabcadagendamento where codfaz = f.codfaz and tabcadagendamentostatus_id = 3 and dataagenda = a.dataagenda) cancelado,
(select count(*) from tabcadagendamento where codfaz = f.codfaz and tabcadagendamentostatus_id = 4 and dataagenda = a.dataagenda) adiado,
(select count(*) from tabcadagendamento where codfaz = f.codfaz and tabcadagendamentostatus_id = 5 and dataagenda = a.dataagenda) prorrogado,
dataagenda dataagenda 
from tabcadagendamento a,  
	   tabcadfazenda f  where f.codfaz = a.codfaz group by a.codfaz, dataagenda
; 
CREATE VIEW view_nota AS select 
	   'Venda' tipo,
       concat('v', n.id) chave,       
       n.tabcadempresas_id empresa_id,
       e.nomemp empresa_nome,
			 n.cliente_id cliente_id,
       c.Nome_Fantasia cliente_nome,
       n.tabnatoper_id natoper_id,
       natoper.nome natoper_nome, 
       n.nNF numeronota,
       n.dhemi dataemissao,
       n.status status,
       n.mensagem mensagem,
       n.contraNota_id as contra_nota_id
from tabnfe n,
	 tabcadclientes c,
     tabcadempresas e,
     tabnatoper natoper
where c.id = n.cliente_id
and e.codemp = n.tabcadempresas_id
and natoper.id = n.tabnatoper_id
union all
select 
	   'Devolução' tipo,
       concat('d', n.id) chave,
	   n.tabcadempresas_id empresa_id,
       e.nomemp empresa_nome,
	   null cliente_id,
       n.dest_XNome cliente_nome,
       n.tabnatoper_id natoper_id,
       natoper.nome natoper_nome, 
       n.nNF numeronota,
       n.dhemi dataemissao,
       n.cStat status,
       n.cMsg mensagem
	   '' as contra_nota_id       
from tabnfedevolucao n,
     tabcadempresas e,
     tabnatoper natoper
where e.codemp = n.tabcadempresas_id
and  natoper.id = n.tabnatoper_id ; 
CREATE VIEW vw_apontamento_importar_colheita AS select tabcolheitaaptotipo.apcoltipo_id AS apcoltipo_id, 
tabcolheita.col_data AS Data, tabcolheita.codfiscal AS Cod_Fiscal, tabcadfiscal.NOMTUR AS Nome_Fiscal, tabcolheita.codfaz AS Cod_Faz, tabcadfazenda.nomefaz AS Nome_Faz, tabcadfuncionario.codfuncionario AS Cod_Func, tabcadfuncionario.nomefuncionario AS Nome_Func, tabcolheitaapontamento.apcol_falta AS Falta, tabcolheitaapontamento.apcol_semproducao AS Sem_Prod, 
tabcolheitaaptotipo.codquadra AS Cod_Quadra, tabitensquadra.nomequadra AS Nome_Quadra, tabitensquadra.codvari AS Cod_Vari, 
tabcadvariedade.nomevari AS Nome_Vari, tabcolheitaaptotipo.apcoltipo_bagqtde AS Qtde_Bag, tabcolheitaaptotipo.apcoltipo_bagvalor AS Valor_Bag, tabcolheitaaptotipo.apcoltipo_caixaqtde AS Qtde_Caixa, tabcolheitaaptotipo.apcoltipo_caixavalor AS Valor_caixa, tabcolheitaaptotipo.apcoltipo_diariaqtde AS Qtde_Diaria, tabcolheitaaptotipo.apcoltipo_diariavalor AS Valor_Diaria, tabcolheitaaptotipo.apcoltipo_diariachuvaqtde AS Qtde_dia_Chuva, tabcolheitaaptotipo.apcoltipo_diariachuvavalor AS Valor_dia_Chuva, tabcolheitaaptotipo.apcoltipo_carregoqtde AS Qtde_Carrego, tabcolheitaaptotipo.apcoltipo_carregovalor AS Valor_Carrego, tabcolheitaaptotipo.apcoltipo_vl_assiduidade AS Valor_Assiduidade, tabcolheitaaptotipo.apcoltipo_vl_premio AS Valor_Premio, tabcadfuncao.nomefuncao AS Nome_Funcao, tabcadfuncao.codfuncao AS Cod_Funcao
from ((((((((tabcolheita 
left join tabcadfiscal on(tabcadfiscal.NUMTUR = tabcolheita.codfiscal)) 
left join tabcadfazenda on (tabcadfazenda.codfaz = tabcolheita.codfaz)) 
left join tabcolheitaapontamento on(tabcolheitaapontamento.col_id = tabcolheita.col_id)) 
left join tabcadfuncionario on (tabcadfuncionario.codfuncionario = tabcolheitaapontamento.codfuncionario)) 
left join tabcolheitaaptotipo on(tabcolheitaapontamento.apcol_id = tabcolheitaaptotipo.apcol_id)) 
left join tabitensquadra on(tabcolheitaaptotipo.codquadra = tabitensquadra.codquadra)) 
left join tabcadvariedade on(tabcadvariedade.codvari = tabitensquadra.codvari)) 
left join tabcadfuncao on(tabcadfuncao.codfuncao = tabcadfuncionario.codfuncao)) 
where 
	tabcadfuncionario.situacao like 'ATIVADO' and tabcolheitaaptotipo.codquadra IS NOT NULL and tabcolheitaapontamento.apcol_falta = 0 and tabcolheitaapontamento.apcol_semproducao = 0 and ((tabcolheitaaptotipo.importado LIKE 'NAO')
	OR (
	(tabcolheitaaptotipo.apcoltipo_vl_assiduidade is null or tabcolheitaaptotipo.apcoltipo_vl_premio is null) 
		AND (tabcolheitaaptotipo.apcoltipo_bagqtde is NOT null or tabcolheitaaptotipo.apcoltipo_caixaqtde is NOT null)
	)
	OR (tabcolheitaaptotipo.apcoltipo_bagqtde is null AND tabcolheitaaptotipo.apcoltipo_caixaqtde is null and tabcolheitaaptotipo.apcoltipo_diariachuvaqtde is null and tabcolheitaaptotipo.apcoltipo_diariaqtde is null))
group by tabcolheita.col_data, tabcolheita.codfiscal, tabcolheita.codfaz, tabcolheitaaptotipo.codquadra, tabcadfuncao.codfuncao 
order by tabcolheita.col_data ; 
CREATE VIEW vw_apontamentos_por_funcionario AS SELECT
	a.codaptrator as codaptrator,
	a.DATA as dia,
	f.nomefaz as nomefaz,
	b.nomefuncionario as nomefuncionario,
	( SELECT codfrotatrat FROM tabcadtrator WHERE codtrator = a.codtrator ) AS Trator,
	( SELECT codfrotatrat FROM tabcadtrator WHERE codtrator = a.codimp ) AS Implemento,
	( SELECT nometrator FROM tabcadtrator WHERE codtrator = a.codimp ) AS Descricao,
	t.agroquimico as agroquimico,
	a.codpreparo as codpreparo 
FROM
	tabaptrator AS a
	LEFT JOIN tabcadfazenda AS f ON f.codfaz = a.codfaz
	LEFT JOIN tabcadfuncionario AS b ON b.codfuncionario = a.codfunc
	LEFT JOIN tabcadtrator AS t ON t.codtrator = a.codimp 
WHERE
	a.continuacao = 'N' 
ORDER BY
	b.nomefuncionario ASC,
	a.DATA ASC; 
CREATE VIEW vw_aso_exames_unificados AS SELECT id_aso as id_aso, id_exame as id_exame, nomeexame as nomeexame, data_exame_aso as data_exame_aso, id_clinica as id_clinica, nomeclinica as nomeclinica, valor as valor FROM (
  (
		SELECT id_aso, id_exame, nomeexame, data_exame_aso, id_clinica, nomeclinica, valor 
		FROM 
		tabcad_aso_exames_1 E 
		join tabcadexame C on (E.id_exame = C.codexame)
		join tabcadclinica I on (E.id_clinica = I.codclinica)
	)
UNION ALL
  (
	SELECT id_aso, id_exame, nomeexame, data_exame_aso, id_clinica, nomeclinica, valor 
		FROM 
		tabcad_aso_exames_2 E 
		join tabcadexame C on (E.id_exame = C.codexame)
		join tabcadclinica I on (E.id_clinica = I.codclinica)
	)
) tabcad_aso_exames_view; 
CREATE VIEW vw_aso_parecer AS SELECT 
id as id,
nomeclinica as nomeclinica,
nomefaz as nomefaz,
data_aso as data_aso,
data_exame_aso as data_exame_aso,
id_aso as id_aso,
nometipoexame as nometipoexame,
codfuncionario as codfuncionario,
nomefuncionario as nomefuncionario,
nomeexame as nomeexame,
valor as valor,
parecer as parecer
FROM (
SELECT e.id, c.nomeclinica, v.nomefaz, a.data_aso, e.data_exame_aso, a.id_aso, t.nometipoexame,
f.codfuncionario, f.nomefuncionario, u.nomeexame, e.valor,
CASE
	WHEN a.apto           = 'X' THEN 'Apto'
	WHEN a.inapto         = 'X' THEN 'Inapto'
	WHEN a.apto_restricao = 'X' THEN 'Apto Restricao'
	WHEN a.desistiu       = 'X' THEN 'Desistiu'
	ELSE                             'Não Lançado'
END as 'parecer'
FROM tabcad_aso_exames_1 as e
JOIN tabcad_aso 				 as a ON a.id_aso 					= e.id_aso
JOIN tabcadfuncionario 	 as f ON f.codfuncionario 	= a.codfunc_aso
JOIN tabcadclinica       as c ON c.codclinica       = e.id_clinica
JOIN tabcadtipoexame     as t ON t.codtipoexame     = a.codtipoexame
JOIN tabcadexame         as u ON u.codexame         = e.id_exame
JOIN tabcadfazenda       as v ON v.codfaz           = f.codfaz
WHERE e.valor IS NOT NULL

UNION 

SELECT e.id * 1000000, c.nomeclinica, v.nomefaz, a.data_aso, e.data_exame_aso, a.id_aso, t.nometipoexame,
f.codfuncionario, f.nomefuncionario, u.nomeexame, e.valor,
CASE
	WHEN a.apto           = 'X' THEN 'Apto'
	WHEN a.inapto         = 'X' THEN 'Inapto'
	WHEN a.apto_restricao = 'X' THEN 'Apto Restricao'
	WHEN a.desistiu       = 'X' THEN 'Desistiu'
	ELSE                             'Não Lançado'
END as 'parecer'
FROM tabcad_aso_exames_2 as e
JOIN tabcad_aso 				 as a ON a.id_aso 					= e.id_aso
JOIN tabcadfuncionario 	 as f ON f.codfuncionario 	= a.codfunc_aso
JOIN tabcadclinica       as c ON c.codclinica       = e.id_clinica
JOIN tabcadtipoexame     as t ON t.codtipoexame     = a.codtipoexame
JOIN tabcadexame         as u ON u.codexame         = e.id_exame
JOIN tabcadfazenda       as v ON v.codfaz           = f.codfaz
WHERE e.valor IS NOT NULL
) as xTab1
ORDER BY data_exame_aso, parecer, data_aso ASC ; 
CREATE VIEW vw_caixa_pagamentos AS SELECT
	mvf.id as mvf_id,
	mv.id as mv_id,	
	mvf.situacao as situacao,
	mvf.conferido as conferido,
	mvf.seq as parcela_atual,
	(select count(movimentacao_id) from tabfinmovimentacoesfinanceiro where movimentacao_id = mvf.movimentacao_id) as qtd_parcelas,
	mv.pessoa_id as fornecedor_id,
	f.nomefantasia as fornecedor,
	f.nomefornecedor AS fornecedor_razao_social,
	f.cnpjforn AS fornecedor_cnpj,	
	mv.planocontas_id as plano_contas_id,
	pc.nome as plano_contas,
	mv.dt_emissao as data_emissao, 
	mvf.dt_vcto as data_vencimento,
	centralformas.dt_credito as data_pagamento,
	recebimento.central_id as central_id,
	mvf.vl_parcela as valor_parcela,
    mvf.vl_baixa as valor_baixa,
	mv.ide_numero as n_documento,
	mv.detalhamento as detalhamento,
	mv.ide_chave as ide_chave
FROM tabfinmovimentacoesfinanceiro mvf
JOIN
	tabfinmovimentacoes mv ON mv.id = mvf.movimentacao_id
JOIN
	tabcadfornecedor f ON f.codfornecedor = mv.pessoa_id
JOIN
	tabcadplanocontas pc ON pc.id = mv.planocontas_id
LEFT JOIN
	Tabfinmovimentacoesrecebimentos recebimento ON recebimento.parcela_id = mvf.id
LEFT JOIN 
	Tabfinmovimentacoesrecebimentoscentralformas centralformas ON centralformas.central_id = recebimento.central_id
WHERE
	mv.ide_tipo = 'E'
GROUP BY mvf_id ; 
CREATE VIEW vw_clienteFanSoc AS SELECT id as id, Nome_Fantasia as nome, status as status
from tabcadClientes
UNION
SELECT id as id, Nome_Social as nome, status as status
from tabcadClientes; 
CREATE VIEW vw_colheita AS SELECT 
colheita.col_data as coldata,
colheita.codfaz as codfaz,
faz.nomefaz as nomefaz, 
apontamento.codfuncionario as codfun,
fun.nomefuncionario as nomefun,
SUM(tipo.apcoltipo_caixaqtde) CX_QTD,
SUM(tipo.apcoltipo_bagqtde) BG_QTD,
SUM(tipo.apcoltipo_carregoqtde) CARREGO_QTD,
SUM(tipo.apcoltipo_diariaqtde) DIARIA_QTD,
SUM(tipo.apcoltipo_diariavalor) DIARIA_VLR,
SUM(tipo.apcoltipo_diariachuvaqtde) DIARIA_CHUVA_QTD,
SUM(tipo.apcoltipo_diariachuvavalor) DIARIA_CHUVA_VLR,
tipo.apcoltipo_vl_assiduidade as ASSIDUIDADE_VLR,
tipo.apcoltipo_vl_premio as PREMIO_VLR,
fun.temporario as TEMPORARIO,
(SELECT TIMEDIFF(Hora_Final,Hora_Inicial) FROM tabcadponto WHERE Data_Ponto = colheita.col_data AND Cod_TabFuncionario = apontamento.codfuncionario LIMIT 1) as Horas_QTD
FROM tabcolheita colheita
JOIN tabcolheitaapontamento apontamento ON apontamento.col_id = colheita.col_id
JOIN tabcolheitaaptotipo tipo ON tipo.apcol_id = apontamento.apcol_id
JOIN tabcadfuncionario fun ON fun.codfuncionario = apontamento.codfuncionario
JOIN tabcadfazenda faz ON faz.codfaz = colheita.codfaz
GROUP BY apontamento.codfuncionario, colheita.col_data, tipo.apcoltipo_vl_assiduidade, tipo.apcoltipo_vl_premio; 
CREATE VIEW vw_consulta_apontamentos AS                 SELECT
                	a.codaptrator as codaptrator,
                	a.codpreparo as codpreparo,
                	a.DATA AS xData,
                	if (horaini = '07:00:00', 'DIURNO', 'NOTURNO') as turno,
                	b.codfuncionario as n_operador,
                	b.nomefuncionario as nomefuncionario,
                	t.codfrotatrat as codfrotatrat,
                	( SELECT sum( horifim - horiini ) FROM tabaptrator WHERE codfunc = a.codfunc AND DATA = a.DATA ) AS xHoras,
                	'' as XParadas,
                	'' as XHTotais,
                	sum( q.bombas ) AS xBombas,
                	(p.cHectBB * sum( q.bombas )) AS xHectares,
                	(p.cPlantaspBB * sum( q.bombas )) AS xPlantas,
                	g.id as grupofazendas_id
                FROM
					tabaptrator AS a
                	LEFT JOIN tabapquadra AS q ON q.codaptrator = a.codaptrator
                	LEFT JOIN tabcadfazenda AS f ON f.codfaz = a.codfaz
                	LEFT JOIN tabcadfazenda_grupo AS g ON g.id = f.fazenda_grupo
                	LEFT JOIN tabcadfuncionario AS b ON b.codfuncionario = a.codfunc
                	LEFT JOIN tabitensquadra AS c ON c.codquadra = q.codquadra
                	LEFT JOIN tabcadtrator AS t ON t.codtrator = a.codtrator
                	LEFT JOIN tabcadpreparo AS p ON p.codpreparo = a.codpreparo 
                WHERE data = '2022-03-14'
                AND g.id = 3
	            GROUP BY
                	a.codaptrator,
                	b.nomefuncionario 
                ORDER BY
                	a.horaini ASC,
                	xBombas DESC,
                	xHoras DESC; 
CREATE VIEW vw_contratos_variedades_carregadas AS select fat.id as id, contrato_id as contrato_id, v.nomevari as nomevari, sum(fat.totalcaixa) as Qtd_Caixas, (sum(fat.vltotal)/sum(fat.totalcaixa)) as Valor_Medio_Caixa, (sum(fat.vltotal)) as Valor_Total
from tabcadfaturamento as fat
join tabitensquadra as iq ON fat.tabitensquadra_id = iq.codquadra
join tabcadvariedade as v ON iq.codvari = v.codvari
where contrato_id is not null
GROUP BY contrato_id, v.codvari; 
CREATE VIEW vw_fechamento_empresas_epi AS SELECT e.datamov as datamov, e.codfiscal as fiscal, c.codemp as codemp, vtotalgeral as total
FROM tabmovestoque  as e
JOIN tabcadturma    as t ON t.codturma   = e.codfiscal
JOIN tabestoquefaz  as a ON a.codestoque = e.codestoque
JOIN tabcadfazenda  as b ON b.codfaz     = a.codfaz
JOIN tabcadempresas as c ON c.codemp     = b.codempfaz ; 
CREATE VIEW vw_fechamento_empresas_funcionarios AS SELECT
	DISTINCT(codfuncionario) as funcionario_id,
	col_data AS dt,
	tabcolheita.codfiscal AS fiscal_id,
	tabcolheita.codfaz AS fazenda_id
FROM
	tabcolheita
	LEFT JOIN tabcolheitaapontamento ON tabcolheitaapontamento.col_id = tabcolheita.col_id
	LEFT JOIN tabcolheitaaptotipo ON tabcolheitaapontamento.apcol_id = tabcolheitaaptotipo.apcol_id 
WHERE
	tabcolheitaaptotipo.importado = 'SIM' and (tabcolheitaaptotipo.apcoltipo_bagqtde > 0 or tabcolheitaaptotipo.apcoltipo_caixaqtde > 0 or tabcolheitaaptotipo.apcoltipo_diariaqtde > 0 or tabcolheitaaptotipo.apcoltipo_diariachuvaqtde > 0 or tabcolheitaaptotipo.apcoltipo_carregoqtde > 0)
GROUP BY
	col_data,	
	codfaz,
	codfuncionario ; 
CREATE VIEW vw_fechamento_empresas_producao AS SELECT
	col_data AS dt,
	tabcolheita.codfiscal AS fiscal_id,
	tabcolheita.codfaz AS fazenda_id,
	SUM(
	  coalesce(( tabcolheitaaptotipo.apcoltipo_bagqtde * tabcolheitaaptotipo.apcoltipo_bagvalor ) ,0)
	+ coalesce(( tabcolheitaaptotipo.apcoltipo_caixaqtde * tabcolheitaaptotipo.apcoltipo_caixavalor ) ,0)
	+ coalesce(( tabcolheitaaptotipo.apcoltipo_diariaqtde * tabcolheitaaptotipo.apcoltipo_diariavalor ) ,0)
	+ coalesce(( tabcolheitaaptotipo.apcoltipo_diariachuvaqtde * tabcolheitaaptotipo.apcoltipo_diariachuvavalor ) ,0)
	+ coalesce(( tabcolheitaaptotipo.apcoltipo_carregoqtde * tabcolheitaaptotipo.apcoltipo_carregovalor ),0) 
	) AS vl_total 
FROM
	tabcolheita
	LEFT JOIN tabcolheitaapontamento ON tabcolheitaapontamento.col_id = tabcolheita.col_id
	LEFT JOIN tabcolheitaaptotipo ON tabcolheitaapontamento.apcol_id = tabcolheitaaptotipo.apcol_id 
WHERE
	tabcolheitaaptotipo.importado = 'SIM' 
GROUP BY
	col_data,
	codfiscal,
	codfaz ; 
CREATE VIEW vw_feriados AS SELECT id AS id, data as dt, codfaz as fazenda_id
FROM tabferiados; 
CREATE VIEW vw_fiscais_epi AS SELECT
    e.codmov as codmov,
	e.datamov AS datamov,
	t.nometurma as Fiscal,
	c.NOMUSU AS nomeempresa,
	e.vtotalgeral AS total 
FROM
	(
		(
			(
				( tabmovestoque e JOIN tabcadturma t ON ( t.codturma = e.codfiscal ) )
				JOIN tabestoquefaz a ON ( a.codestoque = e.codestoque ) 
			)
			JOIN tabcadfazenda b ON ( b.codfaz = a.codfaz ) 
		)
	JOIN tabcadempresas c ON ( c.CODEMP = b.codempfaz ) 
	)
	GROUP BY c.CODEMP, t.codext; 
CREATE VIEW vw_fornecedorFanSoc AS SELECT codfornecedor as codfornecedor, nomefantasia as nome
from tabcadfornecedor
UNION
SELECT codfornecedor as codfornecedor, nomefornecedor as nome
from tabcadfornecedor; 
CREATE VIEW vw_historico_abastecimento AS SELECT
	m.codmedia AS codmedia,
	m.data AS dia,
	m.tipolanc AS tipolanc,
	f.nomefaz AS nomefaz,
	e.nomeestoque AS nomeestoque,
	b.nomefuncionario AS nomefuncionario,
	IF(m.numtrn IS NULL,'-',m.numtrn) as CodTransp,
	IF(m.numtrn IS NULL,Fazenda,(SELECT NOMTRN FROM tabcadtransportadora WHERE NUMTRN = m.NUMTRN)) as Transportadora,
CASE
		
		WHEN t.codfrotatrat > 0 THEN
		t.codfrotatrat 
		WHEN t.codfrotatrat IS NULL THEN
	IF
		((
			SELECT
				tabcadveiculo_terceiro.placa 
			FROM
				tabcadveiculo_terceiro 
			WHERE
				tabcadveiculo_terceiro.id = m.veiculo_terceiro 
				LIMIT 1 
				) IS NULL,(
			SELECT
				tabcadcomboio.numcomboio 
			FROM
				tabcadcomboio 
			WHERE
				tabcadcomboio.codcomboio = m.codcomboio 
				LIMIT 1 
				),(
			SELECT
				tabcadveiculo_terceiro.placa 
			FROM
				tabcadveiculo_terceiro 
			WHERE
				tabcadveiculo_terceiro.id = m.veiculo_terceiro 
				LIMIT 1 
			)) 
		WHEN t.codfrotatrat = 0 THEN
		( SELECT tabcadtrator.nometrator FROM tabcadtrator WHERE tabcadtrator.codtrator = m.codveic ) 
	END AS xFrota,
	m.horkm AS horkm,
	m.bbini AS bbini,
	m.bbfim AS bbfim,
	m.ltsdie AS ltsdie,
	IF(m.ltsalc IS NULL,0,m.ltsalc) AS ltsalc,
	IF(m.ltsgas IS NULL,0,m.ltsgas) AS ltsgas,
	m.mediaatual as media,
	IF(m.estoqueatual IS NULL,0,m.estoqueatual) AS estoqueatual,
	m.vl_unitario as vl_unitario,
	m.vl_total as vl_total,
	m.coduser as coduser,
	u.nomeuser as nomeuser
	
FROM
	
					tabapmedia m
					LEFT JOIN tabcadtrator t ON ( t.codtrator = m.codveic )
				JOIN tabcadfazenda f ON ( f.codfaz = m.codfaz )
			JOIN tabcadfuncionario b ON ( b.codfuncionario = m.codfunc )
	JOIN tabestoque e ON ( e.codestoque = m.codestoque )
	LEFT JOIN tabusuarios u ON (u.coduser = m.coduser)
WHERE
	m.data IS NOT NULL 
ORDER BY
	m.data DESC ; 
CREATE VIEW vw_historico_produto_no_estoque AS SELECT 
    id as id, 
	mov.codmov as codmov, 
	mov.datamov as data_movimentacao, 
	itens.hora as hora, 
	itens.data as data_confirmacao,
	itens.hora as hora_confirmacao,
	mov.tipomov as mov_tipomov, 
	itens.codestoque as codestoque,	
	itens.tipomov as itens_tipomov, 
	itens.codprod as codprod,
    (select nomematerial from tabcadmaterial where codmaterial = itens.codprod) as nome_produto,	
	itens.qtdeprod as qtdprod, 
	SUM(qtdeprod) OVER(ORDER BY id) AS saldo,
	itens.vunitprod as valor_unitario,
	itens.vtotalprod as valor_total,
	itens.usuario as cod_usuario,
	(select nomeuser from tabusuarios where coduser = itens.usuario) as nome_usuario,
	mov.EstOrigem as cod_EstOrigem,
	(select nomeestoque from tabestoque where codestoque = mov.EstOrigem) as Estoque_Origem,
	mov.EstDestino as cod_EstDestino,
	(select nomeestoque from tabestoque where codestoque = mov.EstDestino) as Estoque_Destino,
	mov.doc as doc,
	mov.obs as obs
FROM
	tabmovestoqueitens itens
JOIN
	tabmovestoque mov ON itens.codmov = mov.codmov; 
CREATE VIEW vw_holerites_carregadores_geral AS SELECT 
	tabcolheita.col_data as dt,
	tabcolheita.codfaz as fazenda_id,
	count(*) as carregadores,
	SUM(tabcolheitaaptotipo.apcoltipo_carregoqtde) AS cx_total,
	SUM(tabcolheitaaptotipo.apcoltipo_carregoqtde) * 0.055 AS vl_total
FROM
	tabcolheita
	LEFT JOIN tabcolheitaapontamento ON tabcolheitaapontamento.col_id = tabcolheita.col_id
	LEFT JOIN tabcolheitaaptotipo ON tabcolheitaaptotipo.apcol_id = tabcolheitaapontamento.apcol_id
	LEFT JOIN tabcadfuncionario ON tabcadfuncionario.codfuncionario = tabcolheitaapontamento.codfuncionario
WHERE
	tabcolheitaaptotipo.importado like 'SIM'
	AND tabcolheitaaptotipo.apcoltipo_carregoqtde > 0
GROUP BY
	tabcolheita.col_data,
	tabcolheita.codfaz
ORDER BY
	tabcolheita.col_data ; 
CREATE VIEW vw_holerites_carregadores_individual AS SELECT 
	tabcolheita.col_data as dt,
	tabcolheita.codfaz as fazenda_id,
	tabcolheitaapontamento.codfuncionario as funcionario_id,
		coalesce((tabcolheitaaptotipo.apcoltipo_bagqtde),0) as bag,
	coalesce((tabcolheitaaptotipo.apcoltipo_bagvalor),0) as bag_vl,
	coalesce((tabcolheitaaptotipo.apcoltipo_caixaqtde),0) as caixa,
	coalesce((tabcolheitaaptotipo.apcoltipo_caixavalor),0) as caixa_vl,
	coalesce((tabcolheitaaptotipo.apcoltipo_diariachuvaqtde),0) as diariachuva_qtd,
	coalesce((tabcolheitaaptotipo.apcoltipo_diariachuvavalor),0) as diariachuva_vl,
	coalesce((tabcolheitaaptotipo.apcoltipo_diariaqtde),0) as diaria_qtd,
	coalesce((tabcolheitaaptotipo.apcoltipo_diariavalor),0) as diaria_vl,
	SUM(	  
		coalesce((tabcolheitaaptotipo.apcoltipo_diariaqtde * tabcolheitaaptotipo.apcoltipo_diariavalor) ,0)
	+ coalesce((tabcolheitaaptotipo.apcoltipo_diariachuvaqtde * tabcolheitaaptotipo.apcoltipo_diariachuvavalor),0) 
	+ coalesce((tabcolheitaaptotipo.apcoltipo_bagqtde * tabcolheitaaptotipo.apcoltipo_bagvalor),0) 
	+ coalesce((tabcolheitaaptotipo.apcoltipo_caixaqtde * tabcolheitaaptotipo.apcoltipo_caixavalor),0) 
	) AS vl_total
	
FROM
	tabcolheita
	LEFT JOIN tabcolheitaapontamento ON tabcolheitaapontamento.col_id = tabcolheita.col_id
	LEFT JOIN tabcolheitaaptotipo ON tabcolheitaaptotipo.apcol_id = tabcolheitaapontamento.apcol_id
	LEFT JOIN tabcadfuncionario ON tabcadfuncionario.codfuncionario = tabcolheitaapontamento.codfuncionario
WHERE
	(tabcolheitaaptotipo.apcoltipo_diariachuvaqtde > 0 OR tabcolheitaaptotipo.apcoltipo_diariaqtde > 0 OR tabcolheitaaptotipo.apcoltipo_caixaqtde > 0 OR tabcolheitaaptotipo.apcoltipo_bagqtde > 0)
GROUP BY
	tabcolheita.col_data,
	tabcolheitaapontamento.codfuncionario
ORDER BY
	tabcolheita.col_data DESC ; 
CREATE VIEW vw_holerites_carregadores_individual_carrego AS SELECT 
	tabcolheita.col_data as dt,
	tabcolheita.codfaz as fazenda_id,
	tabcolheitaapontamento.codfuncionario as funcionario_id,
	coalesce((tabcolheitaaptotipo.apcoltipo_carregoqtde),0) as carrego,
	coalesce((tabcolheitaaptotipo.apcoltipo_carregovalor),0) as carrego_vl,
	SUM(
		coalesce((tabcolheitaaptotipo.apcoltipo_carregoqtde * tabcolheitaaptotipo.apcoltipo_carregovalor),0) 
		) AS vl_total
FROM
	tabcolheita
	LEFT JOIN tabcolheitaapontamento ON tabcolheitaapontamento.col_id = tabcolheita.col_id
	LEFT JOIN tabcolheitaaptotipo ON tabcolheitaaptotipo.apcol_id = tabcolheitaapontamento.apcol_id
	LEFT JOIN tabcadfuncionario ON tabcadfuncionario.codfuncionario = tabcolheitaapontamento.codfuncionario
WHERE
	tabcolheitaaptotipo.apcoltipo_carregoqtde > 0
GROUP BY
	tabcolheita.col_data,
	tabcolheita.codfaz,
	tabcolheita.codfiscal,
	tabcolheitaapontamento.codfuncionario
ORDER BY
	tabcolheita.col_data DESC ; 
CREATE VIEW vw_manutencao AS SELECT
	i.cotitens as id,
	m.codmanu as codmanu,
	m.dtmanu as dtmanu,
	e.nome_usual as nome_usual,
	t.codfrotatrat as codfrotatrat,
	m.trocaoleo as trocaoleo,
	m.horatrator as horatrator,
	u.nomeuser as nomeuser,
	a.codmaterial as codmaterial,
	a.nomematerial as nomematerial,
	i.qtdeoco as qtdeoco,
	m.assinatura_mecanico as assinatura_mecanico
FROM
	tabitensmanu AS i
	LEFT JOIN tablancmanu AS m ON m.codmanu = i.codmanu
	LEFT JOIN tabcadmaterial AS a ON a.codmaterial = i.codoco
	LEFT JOIN tabcadtrator AS t ON t.codtrator = m.codtrator
	LEFT JOIN tabestoque AS e ON e.codestoque = m.codestoque
	LEFT JOIN tabusuarios AS u ON u.coduser = m.coduser 
WHERE 
	m.dtmanu is not null 	; 
CREATE VIEW vw_manutencoes_entra_fechamento AS SELECT
    i.cotitens as cotitens,
	m.dtmanu as dia,
	t.codfrotatrat as cod_frota,
	t.nometrator as nome_frota,
	codoco as cod_ocorrencia,
	n.nomematerial as nomematerial,
	qtdeoco AS Qtde,
	unitoco AS Unit,
	totaloco AS Total 
FROM
	tabitensmanu AS i
	JOIN tablancmanu AS m ON m.codmanu = i.codmanu
	JOIN tabcadtrator AS t ON t.codtrator = m.codtrator
	JOIN tabcadmaterial AS n ON n.codmaterial = i.codoco
	LEFT JOIN tabusuarios AS u ON u.coduser = m.coduser 
WHERE
    m.codfaz = 10 
ORDER BY
	t.codfrotatrat,
	n.codmaterial,
	m.dtmanu desc; 
CREATE VIEW vw_movestoqueitens_saldo AS select i.id as id, i.codprod as codprod, m.nomematerial as nomematerial, m.unid as unidade, m.codgrupo as codgrupo, i.codestoque as codestoque, e.nomeestoque as nomeestoque, sum(i.qtdeprod) as saldo, (i.vunitprod) as unitario, (sum(i.qtdeprod) * i.vunitprod) as total
from tabmovestoqueitens i
join tabcadmaterial as m on m.codmaterial = i.codprod
join tabestoque as e on e.codestoque = i.codestoque
GROUP BY codprod, codestoque ; 
CREATE VIEW vw_pulverizacao AS SELECT
  produto.id as id,
	trator.codaptrator as codaptrator,
	trator.codfaz as fazenda,
	fazenda.usualfaz as nome_fazenda,
	quadra.codquadra as codquadra,
	iquadra.nomequadra as quadra,
	produto.codprod as codprod,
	material.nomematerial as produto,
	material.unid as und,
	produto.doseprod as dose,
	material.reentrada as carencia,
	trator.DATA as pulverizacao,
	if (material.reentrada > 0 , date_add( trator.DATA, INTERVAL material.reentrada + 1 DAY ), material.reentrada) Reentrada 
FROM
	tabaptrator trator
	JOIN tabcadfazenda fazenda ON fazenda.codfaz = trator.codfaz
	JOIN tabapquadra quadra ON quadra.codaptrator = trator.codaptrator
	JOIN tabitensquadra iquadra ON iquadra.codquadra = quadra.codquadra
	JOIN tabapprod produto ON produto.codaptrator = trator.codaptrator
	JOIN tabcadmaterial material ON material.codmaterial = produto.codprod 
	ORDER BY fazenda, quadra, Reentrada desc ; 
CREATE VIEW vw_requisicao_itenseservicos AS SELECT
	i.id AS id,
	r.dataehora AS dia,
	r.tabcadpatrimonio_id AS tabcadpatrimonio_id,
	r.horimetro AS horimetro,
	r.tabcadfazenda_id AS tabcadfazenda_id,
	r.media_atual AS media_atual,	
	tabcadrequisicao_id AS tabcadrequisicao_id,
	tabcadmaterial_id AS item,
	( m.nomematerial ) AS descricao,
	qtd AS qtd,
	( i.valor ) AS valor,
	Justificativa_preco_maior AS justificativa,
	r.tabcadfornecedor_id AS tabcadfornecedor_id,
	f.nomefantasia AS fornecedor,
    u.nomeuser AS usuario,
    r.industria_cliente_id as industria_cliente_id,
    r.contrato_id as contrato_id,
    r.variedade_contrato_id as variedade_contrato_id
FROM
	tabcadrequisicao_itens AS i
	JOIN tabcadrequisicao AS r ON r.id = i.tabcadrequisicao_id
	JOIN tabcadmaterial AS m ON m.codmaterial = i.tabcadmaterial_id
	JOIN tabcadfornecedor AS f ON f.codfornecedor = r.tabcadfornecedor_id
  JOIN tabusuarios as u ON u.coduser = r.user_id
	WHERE r.status <> 'CANCELADO'
	
UNION

SELECT
	( rs.id + 1000000 ) AS id,
	r.dataehora AS dia,
	r.tabcadpatrimonio_id AS tabcadpatrimonio_id,
	r.horimetro AS horimetro,
	r.tabcadfazenda_id AS tabcadfazenda_id,
	r.media_atual AS media_atual,	
	tabcadrequisicao_id AS tabcadrequisicao_id,
	tabcadservico_id AS item,
	( s.nomematerial ) AS descricao,
	qtd AS qtd,
	( rs.valor ) AS valor,
	detalhes_servico AS justificativa,
	r.tabcadfornecedor_id AS tabcadfornecedor_id,
	f.nomefantasia AS fornecedor,
	u.nomeuser AS usuario,
    '' as industria_cliente_id,
    '' as contrato_id,
    '' as variedade_contrato_id	
FROM
	tabcadrequisicao_servico AS rs
	JOIN tabcadrequisicao AS r ON r.id = rs.tabcadrequisicao_id
	JOIN tabcadmaterial AS s ON s.codmaterial = rs.tabcadservico_id
	JOIN tabcadfornecedor AS f ON f.codfornecedor = r.tabcadfornecedor_id 
	JOIN tabusuarios as u ON u.coduser = r.user_id
	WHERE r.status <> 'CANCELADO'

UNION

SELECT 
	( manu.codmanu + 10000000 ) AS id,
	manu.dtmanu as dia,
	manu.codtrator as tabcadpatrimonio_id,
	manu.horatrator as horimetro,
	manu.codfaz AS tabcadfazenda_id,
	('') as media_atual,	
	('0') as tabcadrequisicao_id,
	imanu.codoco as item,
	m.nomematerial as descricao,
	imanu.qtdeoco as qtd,
	imanu.unitoco as valor,
	('MANUTENÇÃO') as justificativa,
	('0') as tabcadfornecedor_id,
	CONCAT('ESTOQUE ', e.nomeestoque) as fornecedor,
    u.nomeuser AS usuario,
    '' as industria_cliente_id,
    '' as contrato_id,
    '' as variedade_contrato_id		
	FROM
	tabitensmanu as imanu
	JOIN tablancmanu as manu ON manu.codmanu = imanu.codmanu
	JOIN tabcadmaterial AS m ON m.codmaterial = imanu.codoco
	JOIN tabestoque as e ON e.codestoque = manu.codestoque 
	JOIN tabusuarios as u ON u.coduser = manu.coduser; 
CREATE VIEW vw_requisicoes_entra_fechamento AS SELECT
	r.id as requisicao_item_id,
	r.tabcadpatrimonio_id AS id_pat,
	s.n_requisicao as n_requisicao,
	dia as dia,
	u.coduser as coduser,
	u.usuario as usuario,
	r.tabcadfazenda_id as id_fazenda,
	COALESCE ( t.codfrotatrat, '' ) AS cod_Frota,
	COALESCE ( t.nometrator, '' ) AS nome_Patrimonio,
	r.tabcadfornecedor_id AS id_forn,
	r.fornecedor as nome_forn,
	r.item as item,
	r.descricao as descricao,
	r.qtd as qtd,
	r.valor as valor,
	( r.valor * r.qtd ) AS Total 
FROM
	vw_requisicao_itenseservicos AS r
	JOIN tabcadrequisicao AS s ON s.id = r.tabcadrequisicao_id
	LEFT JOIN tabcadtrator AS t ON t.codtrator = s.tabcadpatrimonio_id
	LEFT JOIN tabusuarios AS u ON u.coduser = s.user_id 
WHERE
	s.entra_fechamento = "S" 
ORDER BY
	fornecedor ASC; 
CREATE VIEW vw_requisicoes_pendentes AS SELECT
	i.id												AS id,
	r.dataehora     				 		AS dataehora,
	t.DESCTPAT 									AS Tipo,
	u.nomeuser      				 		AS nomeuser,
	fo.nomefantasia 				 		AS nomefantasia,
	m.nomematerial  				 		AS nomematerial,
	i.qtd 				  				 		AS qtd,
	i.valor 			  				 		AS valor,
	r.valor_total_requisicao		AS valor_total_requisicao,
	i.justificativa AS justificativa 
FROM
	( 
	SELECT id, tabcadrequisicao_id, tabcadmaterial_id, qtd, valor, (Justificativa_preco_maior) as justificativa from tabcadrequisicao_itens
	UNION
	SELECT (id * 1000000) as id, tabcadrequisicao_id, (tabcadservico_id) as tabcadmaterial_id, qtd, valor, (detalhes_servico) as justificativa from tabcadrequisicao_servico
	) as i
	JOIN tabcadrequisicao r  ON r.id = i.tabcadrequisicao_id
	JOIN tabcadmaterial m    ON m.codmaterial = i.tabcadmaterial_id
	JOIN tabcadfornecedor fo ON fo.codfornecedor = r.tabcadfornecedor_id
	JOIN tabusuarios u       ON r.user_id = u.coduser
	JOIN tabcadpatrimonio_tipo as t ON t.CODTPAT = r.TIPPAT
WHERE
	ISNULL(n_requisicao)
ORDER BY 
	dataehora DESC ; 
CREATE VIEW vw_tabaptrator AS select codaptrator as codaptrator, data as data_apontamento, codtrator as codtrator, t.codfaz as codfaz, f.nomefaz as nomefaz, t.codfunc as codfunc, fun.nomefuncionario as nomefuncionario,
horiini as horiini, horifim as horifim
from tabaptrator t
join tabcadfazenda as f on  f.codfaz = t.codfaz
join tabcadfuncionario as fun on fun.codfuncionario = t.codfunc; 
CREATE VIEW vw_tickets_faturados_justificados AS SELECT id as id, data as datahora, balanca_id as balanca_id, ticket as ticket, motivo as motivo, Justificado as justificado FROM 
(
SELECT id, dtultimaatualizacao as data, balanca_id, ticket, motivo, 'SIM' as Justificado FROM tabcadbalancastickets

UNION 

SELECT (f.id * 1000000) as id, datafaturamento as data, balanca_id, balanca_ticket as ticket, (CONCAT('Faturado para cliente ',c.Nome_Fantasia)) as motivo, 'NAO' as Justificado 
FROM tabcadfaturamento f JOIN tabcadclientes c ON c.id = f.tabcadClientes_id WHERE tiketind is null
) 
union_table

ORDER BY ticket Desc; 
 
