select tabela.cod_grupoempresa,
       tabela.cod_empresa,
       tabela.cod_filial,
       tabela.data_inicio,
       tabela.ano_ordemservico,
       tabela.nr_ordemservico,
       tabela.item_ordemservico,
       tabela.cod_fazenda,
       tabela.descricao_fazenda,
       tabela.zona,
       tabela.cod_talhao,
       tabela.numerocorte,
       tabela.cod_safra,
       tabela.cod_cultura,
       tabela.descricao_cultura,
       tabela.cod_operacao,
       tabela.descricao_operacao,
       tabela.negocio,
       tabela.descricao_negocio,
       tabela.processo,
       tabela.descricao_processo,
       tabela.subprocesso,
       tabela.descricao_subprocesso,
       tabela.atividade,
       tabela.cod_objetocusto,
       tabela.descricao_objetocusto,
       tabela.validacao
from (
select dados.cod_grupoempresa,
       dados.cod_empresa,
       dados.cod_filial,
       dados.data_inicio,
       dados.ano_ordemservico,
       dados.nr_ordemservico,
       dados.item_ordemservico,
       dados.cod_fazenda,
       dados.descricao_fazenda,
       dados.zona,
       dados.cod_talhao,
       dados.numerocorte,
       dados.cod_safra,
       dados.cod_cultura,
       dados.descricao_cultura,
       dados.cod_operacao,
       dados.descricao_operacao,
       dados.negocio,
       dados.descricao_negocio,
       dados.processo,
       dados.descricao_processo,
       dados.subprocesso,
       dados.descricao_subprocesso,
       dados.atividade,
       dados.cod_objetocusto,
       dados.descricao_objetocusto,
       case when dados.negocio = 2 and dados.processo = 2 and dados.subprocesso = 2 and dados.cod_cultura = 1 and dados.numerocorte > 0 then 'OK'
            when dados.negocio = 2 and dados.processo = 2 and dados.subprocesso = 2 and dados.cod_cultura = 1 and dados.numerocorte <= 0 then 'VERIFICAR'
            when dados.negocio = 2 and dados.processo = 1 and dados.subprocesso = 2 and dados.cod_cultura = 1 and dados.numerocorte = 1 then 'OK'
            when dados.negocio = 2 and dados.processo = 1 and dados.cod_cultura = 1 and dados.numerocorte > 0 then 'VERIFICAR'  
            when dados.negocio = 2 and dados.processo = 1 and dados.cod_cultura = 1 and dados.numerocorte <= 0 then 'OK'
            when dados.negocio = 2 and dados.processo = 2 and dados.subprocesso = 1 and dados.cod_cultura = 1 and dados.numerocorte > 1 then 'VERIFICAR'
            when dados.negocio = 2 and dados.processo = 2 and dados.subprocesso = 1 and dados.cod_cultura = 1 and dados.numerocorte = 0 then 'VERIFICAR'
            when dados.negocio = 2 and dados.processo = 2 and dados.subprocesso = 1 and dados.cod_cultura = 1 and dados.numerocorte = 1 then 'OK'  
              else 'OK' end VALIDACAO
from (
select a.cod_grupoempresa
     , a.cod_empresa
     , a.cod_filial
     , a.data_inicio
     , a.ano_ordemservico
     , a.nr_ordemservico
     , b.item_ordemservico
     , b.cod_fazenda
     , j.descricao descricao_fazenda
     , b.zona
     , b.cod_talhao
     , to_number(decode(nvl(d.numerocorte,0),'N/A',0,'12M',1,'18M',1,'00',0,nvl(d.numerocorte,0))) numerocorte
     , b.cod_safra
     , d.cod_cultura
     , k.desc_cultura descricao_cultura
     , b.cod_operacao
     , e.descricao descricao_operacao
     , g.negocio
     , g.descricao descricao_negocio
     , h.processo
     , h.descricao descricao_processo
     , i.subprocesso
     , i.descricao descricao_subprocesso
     , f.atividade
     , b.cod_objetocusto
     , f.descricao descricao_objetocusto
            
from agricola.ordemservico a
   , agricola.ordemservicoitem b
   , agricola.ordemservicoinsumo c
   , agricola.talhao d
   , rh.operacaoagricola e
   , rh.objetocusto f
   , rh.objetocusto g
   , rh.objetocusto h
   , rh.objetocusto i
   , agricola.fazenda j
   , agricola.cultura k
where b.cod_grupoempresa     = a.cod_grupoempresa
  and a.nr_ordemservico > 2571
  and b.cod_empresa          = a.cod_empresa
  and b.cod_filial           = a.cod_filial
  and b.ano_ordemservico     = a.ano_ordemservico
  and b.nr_ordemservico      = a.nr_ordemservico
  and c.cod_grupoempresa     = b.cod_grupoempresa
  and c.cod_empresa          = b.cod_empresa
  and c.cod_filial           = b.cod_filial
  and c.ano_ordemservico     = b.ano_ordemservico
  and c.nr_ordemservico      = b.nr_ordemservico
  and c.item_ordemservico    = b.item_ordemservico
  and d.cod_fazenda          = b.cod_fazenda
  and d.zona                 = b.zona
  and d.cod_talhao           = b.cod_talhao
  and d.cod_safra            = b.cod_safra
  and e.cod_operacaoagricola = b.cod_operacao 
  and f.cod_objetocusto      = b.cod_objetocusto
  and g.negocio              = f.negocio
  and g.processo             = 0
  and h.negocio              = f.negocio
  and h.processo             = f.processo
  and h.subprocesso          = 0
  and i.negocio              = f.negocio
  and i.processo             = f.processo
  and i.subprocesso          = f.subprocesso
  and i.atividade            = 0  
  and j.cod_fazenda          = b.cod_fazenda
  and k.cod_cultura          = d.cod_cultura
  and d.cod_cultura          = 1
  and b.cod_safra >= 13 ) dados ) tabela
where tabela.validacao not like 'OK'
  and tabela.data_inicio >= to_date('01/01/2025','dd/mm/rrrr')
 -- and tabela.cod_fazenda in (50,44001)
order by tabela.cod_grupoempresa,
       tabela.cod_empresa,
       tabela.cod_filial,
       tabela.cod_fazenda,
       tabela.zona,
       tabela.cod_talhao,
       tabela.cod_safra,
       tabela.cod_operacao,
       tabela.negocio,
       tabela.processo,
       tabela.subprocesso,
       tabela.atividade,
       tabela.cod_objetocusto,
       tabela.ano_ordemservico,
       tabela.nr_ordemservico,
       tabela.item_ordemservico
