<?php

class Atendimento_Model_Proposta_Observacoes extends Agro_Db_Table_Abstract {
	protected $_name = 'propostas_observacoes';
	protected $_schema = 'seguro';
	protected $_primary = 'id';
	
	public function save($data) {
		$Row = $this->getRow($data['id_observacao']);

		$Row->id_proposta = $data['id_proposta'];
		$Row->ds_observacao = ($data['ds_observacao'] ? $data['ds_observacao'] : '');
		$Row->fl_principal = ($data['fl_principal'] ? 1 : 0);
		$Row->fl_observacao_endosso = ($data['fl_observacao_endosso'] ? 1 : 0);
		$Row->fl_ocultar_itens_segurados = ($data['fl_ocultar_itens_segurados'] ? 1 : 0);

		return $Row->save();
	}
	
	public function getInformacoesAdicionais($proposta) {
		try {
			$Select = $this->select()->setIntegrityCheck(false);
			$Select->from(array('o' => 'seguro.propostas_observacoes'),array("id","ds_observacao", new Zend_Db_Expr("to_char(o.dt_criacao,'dd/mm/yyyy') as dt_criacao")));
			$Select->join(array('u' => 'sistema.usuarios'), 'o.id_usuario_criacao = u.id', 'ds_nome_usuario');
			$Select->joinLeft(array('po' => 'seguro.propostas_observacoes_arquivos'), 'po.id_observacao = o.id', 'po.id as id_arquivo');
			$Select->joinLeft(array('f' => 'sistema.funcionarios'), 'u.id = f.id_usuario', 'ds_nome_funcionario');
			$Select->joinLeft(array('c' => 'sistema.corretores'), 'u.id = c.id_usuario', 'ds_nome_corretor');
			$Select->joinLeft(array('p' => 'sistema.prepostos'), 'u.id = p.id_usuario', 'ds_nome_preposto');
			$Select->where('id_proposta = ?', $proposta);
			$Select->where('fl_principal = false');
			$Select->order('o.dt_criacao desc');

			return $this->fetchAll($Select)->toArray();
		} catch (Exception $e) {
			return array();
		}
	}
}