<?php
/**
 * Model
 *
 * Laudo final Tipo LF008 / Safra17 - Item Segurado
 *
 * @author Fernando Nunes
 * @date 18/02/2011
 *
 */
class Regulacao_Model_Lf008ItensSegurados extends Agro_Db_Table_Abstract {
	protected $_rowClass = 'Regulacao_Model_Row_Lf008ItemSegurado';
	protected $_schema 	= 'regulacao';
	protected $_name 	= 'lf008_itens_segurados';
	protected $_primary = 'id_laudo_final_item_segurado';
	public 	  $_order 	= 'id_laudo_final_item_segurado';

	public function save($dados) {
	    $Model_LaudosFinaisItensSegurados = new Sinistro2_Model_LaudosFinaisItensSegurados();

	    $idLaudoFinalItemSegurado = $Model_LaudosFinaisItensSegurados->save($dados);

	    if($idLaudoFinalItemSegurado) {
    		try {

    		    $Row = $this->getRow($idLaudoFinalItemSegurado);
    		    if(!$Row) {
    		        $Row = $this->createRow();
    		    }
    		    $Row->id_laudo_final_item_segurado  = $idLaudoFinalItemSegurado;
    		    $Row->vl_percent_producao_recolhida = $dados['vl_percent_producao_recolhida'];
    		    $Row->dt_recolhimento_producao      = Agro_Util::formatDate($dados['dt_recolhimento_producao'], Zend_Date::W3C);
    		    $Row->dt_inicio_colheita            = Agro_Util::formatDate($dados['dt_inicio_colheita'], Zend_Date::W3C);
    			$Row->save();
  
				return $idLaudoFinalItemSegurado;

    		} catch (Exception $e) {
    		    $this->setMessage($e->getMessage());
    		    return false;
    		}
	    } else {
			$this->setMessage($Model_LaudosFinaisItensSegurados->getMessages());
	        return false;
	    }
	}

    public function getDataLaudoFinalItemSegurado($idLaudoFinalItemSegurado) {

        $Model_LaudosFinaisItensSegurados = new Sinistro2_Model_LaudosFinaisItensSegurados();
		$Model_ItensSegurados = new Seguro_Model_ItensSegurados();
        $DataGeneralizacao = $Model_LaudosFinaisItensSegurados->getDataLaudoFinalItemSegurado($idLaudoFinalItemSegurado);

        $select = $this->select()->setIntegrityCheck(false);
        $select->from(array('lfis008'=>$this->_schema.'.'.$this->_name), array('id_laudo_final_item_segurado','vl_percent_producao_recolhida','id',"to_char(dt_recolhimento_producao, 'dd/mm/yyyy') as dt_recolhimento_producao","to_char(dt_inicio_colheita, 'dd/mm/yyyy') as dt_inicio_colheita"));
        $select->where('id_laudo_final_item_segurado = ?', $idLaudoFinalItemSegurado);

        $Rs = $this->fetchRow($select);

		// Nesse laudo o valor do campo vl_area_sinistrada deve ser igual a área total da quadra
		$DataGeneralizacao['vl_area_sinistrada'] = $Model_ItensSegurados->getArea($DataGeneralizacao['id_item_segurado']);

    	if($Rs){
    		$DataEspecializacao = $Rs->toArray(); 
			return array_merge($DataGeneralizacao, $DataEspecializacao);
		}else{
			return $DataGeneralizacao;
		}		
    }

	public function delete($id_laudo_final){
		parent::delete($id_laudo_final, "id_laudo_final");
	}

	
}
