<?php

class Sinistro_Model_TransmissaoAvisos extends Agro_Db_Table_Abstract {
	protected $_schema = 'sinistro';
	protected $_name = 'avisos';
	protected $_view = 'v_avisos_transmissao';
	protected $_primary = 'id';

	public function save($dados) {

	}

	public function getData($where=false) {
		$select = $this->select();

		if ($this->_view) {
			$select->setIntegrityCheck(false);
			$select->from("{$this->_schema}.{$this->_view}");
			$select->join(array('u' => 'sistema.usuarios'), 'v_avisos_transmissao.id_usuario = u.id', false);
			$select->join(array('p' => 'seguro.propostas'), 'v_avisos_transmissao.id_proposta = p.id', false);
			$select->join(array('pp' => 'seguro.propostas_proponentes'), 'v_avisos_transmissao.id_proposta = pp.id_proposta', false);
			$select->join(array('pr' => 'produto.produtos'), 'v_avisos_transmissao.id_produto = pr.id and p.id_produto = pr.id', false);
			$select->join(array('prg' => 'produto.produtos_geral'), 'prg.id = pr.id_produto_geral', 'id_cultura');
			$select->join(array('sa' => 'produto.safras'), 'pr.id_safra = sa.id', false);
			$select->where('sa.id < 16');
		}

		if ($this->_order) {
			$select->order($this->_order);
		}

		if (is_array($where)) {
			foreach ($where as $clause) {
				if (is_array($clause)) {
					$field = $clause['field'];
					$operator = $clause['operator'];
					$value = $clause['value'];

					if (is_numeric($value)) {
						$select->where("$field $operator ?", $value);
					} else {
						$select->where("normalize($field) $operator normalize(?)", $value);
					}
				} else {
					$select->where($clause, '');
				}
			}
		} elseif ($where != '') {
			$select->where($where);
		}

		return $select;
	}

	public function atualizaStatusSeguradora($data, $chave) {
		$Row = $this->find($data['id_proposta'])->current();
		$Row->id_status = $this->getIdStatus($chave);

		if ($Row->save()) {
			$values = array(
				'id_status' => $Row->id_status,
				'id_proposta' => $data['id_proposta'],
				'ds_observacao' => $data['ds_observacao']
			);

			$PropostaStatus = new Seguro_Model_PropostaStatus();
			return $PropostaStatus->save($values);
		} else {
			return false;
		}
	}

/*
	public function fetchAllPaginator($where, $pageNumber=false, $itemCountPerPage = 10, $paginator='') {

			Zend_View_Helper_PaginationControl::setDefaultViewPartial('paginator.phtml');
	        $paginator = Zend_Paginator::factory($this->getData($where));
	        $paginator->setItemCountPerPage(1000);
	        $paginator->setCurrentPageNumber($pageNumber);
	        $paginator->setPageRange(20);

	        return $paginator;

    }*/

}
