<?php

class Safra14_Model_Lp001ItensSegurados extends Agro_Db_Table_Abstract {
	protected $_rowClass = 'Safra14_Model_Row_Lp001ItemSegurado';
	protected $_schema = 'safra14';
	protected $_name = 'lp001_itens_segurados';
	protected $_primary = 'id_laudo_preliminar_item_segurado';
	public $_order = 'id_laudo_preliminar_item_segurado';
	protected $_sequence = false;

    public function save($dados) {
        $Model_LaudosPreliminaresItensSegurados = new Sinistro_Model_LaudosPreliminaresItensSegurados();
        
        $idLaudoPreliminarItemSegurado = $Model_LaudosPreliminaresItensSegurados->save($dados);
        if($idLaudoPreliminarItemSegurado) {
            try {
                
                $Row = $this->getRow($idLaudoPreliminarItemSegurado);
                
                if(!$Row) {
                    $Row = $this->createRow();
                }
                
                $Row->id_laudo_preliminar_item_segurado = $idLaudoPreliminarItemSegurado;
                $Row->vl_diametro_medio_frutos          = $dados['vl_diametro_medio_frutos'];
                
                $Row->save();

                return $idLaudoPreliminarItemSegurado;
                
            } catch (Exception $e) {
                $this->setMessage($e->getMessage());
                return false;
            }
        } else {
            return false;
        }
    }

	public function delete($idLaudoPreliminarItemSegurado) {
		$this->_db->query("delete from {$this->_schema}.{$this->_name} where id_laudo_preliminar_item_segurado = $idLaudoPreliminarItemSegurado");
	}

	public function getItensLaudoPreliminar($idLaudoPreliminar) {
		
        $ItensSegurados = array();
        
		$select = $this->select();
		$select->setIntegrityCheck(false);
		$select->from(array('it'=>"$this->_schema.$this->_name"), array('id_laudo_preliminar_item_segurado','vl_diametro_medio_frutos'));
		$select->join(array('item'=>'sinistro.laudos_preliminares_itens_segurados'), 'item.id = it.id_laudo_preliminar_item_segurado', array('id_item_segurado', 'dt_colheita', 'id_intensidade', 'id_estadio_fenologico', "to_char(dt_prevista_inicio_colheita,'dd/MM/yyyy') as dt_prevista_inicio_colheita", 'fl_direito_fitossanitaria'));
        $select->join(array('iseg'=>'seguro.itens_segurados'), 'iseg.id = item.id_item_segurado', null);
		$select->where('item.id_laudo_preliminar = ?', $idLaudoPreliminar);
        $select->order('iseg.nr_item_segurado');
        
        $rs = $this->fetchAll($select)->toArray();
        foreach ($rs as $ItemSegurado) {
            $ItensSegurados[$ItemSegurado['id_item_segurado']] = $ItemSegurado;
        }
        
        return $ItensSegurados;
	}
    
    public function preparaItemSegurado($post, $idItemSegurado, $dados) {
       
        $ItemSegurado = array();
       
        // Generalização
        
        $ItemSegurado['id_item_segurado']             = $idItemSegurado;
        $ItemSegurado['id_laudo_preliminar']          = $dados['id_laudo_preliminar'];
        $ItemSegurado['dt_colheita']                  = $post['dt_colheita'][$idItemSegurado];
        $ItemSegurado['id_intensidade']               = $post['id_intensidade'][$idItemSegurado];
        $ItemSegurado['id_estadio_fenologico']        = $post['id_estadio_fenologico'][$idItemSegurado];
        $ItemSegurado['dt_prevista_inicio_colheita']  = $post['dt_prevista_inicio_colheita'][$idItemSegurado];
        $ItemSegurado['fl_direito_fitossanitaria']    = $post['fl_direito_fitossanitaria'][$idItemSegurado] ? 1 : 0;
        $ItemSegurado['id_vistoria']                  = $dados['id_vistoria'];
        
        // Especializacao
        
        $ItemSegurado['vl_diametro_medio_frutos']     = $post['vl_diametro_medio_frutos'][$idItemSegurado];
        
        return $ItemSegurado;
    }
        
	
}