<?php

class Sinistro2_Model_MotivosLiquidacaoSemIndenizacao extends Agro_Db_Table_Abstract {
    protected $_schema = 'sinistro';
    protected $_name = 'motivos_liquidacao_sem_indenizacao';
    protected $_primary = 'id';
    public $_order = 'ds_motivo';

    const MOTIVO_UNICO_AVISO_REPLANTIO = 8;
    const MOTIVO_UNICO_AVISO_QUEDA_PARREIRAL = 9;

    public function getAll() {
        $Select = $this->select()->setIntegrityCheck(false);
        $Select->from('sinistro.motivos_liquidacao_sem_indenizacao', array('id', 'ds_motivo'));
        $Select->joinLeft('sinistro.liquidacoes_motivos_liquidacao_sem_indenizacao', 'motivos_liquidacao_sem_indenizacao.id = liquidacoes_motivos_liquidacao_sem_indenizacao.id_motivos_liquidacao_sem_indenizacao', 'id_liquidacao');
        $Select->where('motivos_liquidacao_sem_indenizacao.fl_ativo = true');
        $Select->where('motivos_liquidacao_sem_indenizacao.fl_del = false');
        $Select->order('ds_motivo');

        return $this->fetchAll($Select)->toArray();
    }

    public function getByLiquidacao($idLiquidacao) {
        $Select = $this->select()->setIntegrityCheck(false);
        $Select->from('sinistro.motivos_liquidacao_sem_indenizacao', array('id', 'ds_motivo'));
        $Select->joinLeft('sinistro.liquidacoes_motivos_liquidacao_sem_indenizacao',
            "motivos_liquidacao_sem_indenizacao.id = liquidacoes_motivos_liquidacao_sem_indenizacao.id_motivos_liquidacao_sem_indenizacao and
            liquidacoes_motivos_liquidacao_sem_indenizacao.id_liquidacao = $idLiquidacao", 'id_liquidacao');
        $Select->where('motivos_liquidacao_sem_indenizacao.fl_ativo = true');
        $Select->where('motivos_liquidacao_sem_indenizacao.fl_del = false');
        $Select->order('ds_motivo');

        return $this->fetchAll($Select)->toArray();
    }
    
    // Recupera os motivos pelos quais a liquidação não teve indenização
    public function getMotivosByLiquidacao($idLiquidacao) {
    	$Select = $this->select()->setIntegrityCheck(false);
    	$Select->from(array('mlsi' => 'sinistro.motivos_liquidacao_sem_indenizacao'), array('id', 'ds_motivo'));
    	$Select->join(array('lmlsi' => 'sinistro.liquidacoes_motivos_liquidacao_sem_indenizacao'), 'mlsi.id = lmlsi.id_motivos_liquidacao_sem_indenizacao', false);
    	$Select->where('mlsi.fl_ativo = true');
    	$Select->where('mlsi.fl_del = false');
    	$Select->where('lmlsi.id_liquidacao = ?', $idLiquidacao);

    	return $this->fetchAll($Select)->toArray();
    }
}
