<?php

class Regulacao_Model_Lp003ItensSegurados extends Agro_Db_Table_Abstract {
	protected $_rowClass = 'Regulacao_Model_Row_Lp003ItemSegurado';
	protected $_schema = 'regulacao';
	protected $_name = 'lp003_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 Sinistro2_Model_LaudosPreliminaresItensSegurados();

        $idLaudoPreliminarItemSegurado = $Model_LaudosPreliminaresItensSegurados->save($dados);
        if($idLaudoPreliminarItemSegurado) {
            try {

                $Row = $this->getRow($idLaudoPreliminarItemSegurado);

                $Row->id_laudo_preliminar_item_segurado = $idLaudoPreliminarItemSegurado;
                $Row->vl_area_sinistrada     = $dados['vl_area_sinistrada'];
                $Row->vl_tamanho_planta     = $dados['vl_tamanho_planta'];
                $Row->dt_final_replantio	= Agro_Util::formatDate($dados['dt_final_replantio'], Zend_Date::W3C);
                $Row->fl_plantio_dentro_zoneamento = $dados['fl_plantio_dentro_zoneamento'];
                $Row->dt_semeadura = Agro_Util::formatDate($dados['dt_semeadura'], Zend_Date::W3C);

                $Row->save();

                return $idLaudoPreliminarItemSegurado;

            } catch (Exception $e) {
            	die($e);
                $this->setMessage($e->getMessage());
                return false;
            }
        } else {
            $this->setMessage($Model_LaudosPreliminaresItensSegurados->getMessages());
            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_tamanho_planta','dt_final_replantio','vl_area_sinistrada', "to_char(dt_semeadura,'dd/MM/yyyy') as dt_semeadura", 'fl_plantio_dentro_zoneamento'));
		$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_quadra_sinistrada'));
        $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) {
        	if($ItemSegurado['dt_final_replantio']){
        		$ItemSegurado['dt_final_replantio'] = Agro_Util::formatDate($ItemSegurado['dt_final_replantio'], Zend_Date::DATES);
        	}
            $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['id_vistoria']                  = $dados['id_vistoria'];
        $ItemSegurado['dt_final_replantio']           = $dados['dt_final_replantio'];
        $ItemSegurado['fl_quadra_sinistrada']         = $dados['fl_quadra_sinistrada'];

        // Especializacao

        $ItemSegurado['vl_tamanho_planta']	= $post['vl_tamanho_planta'][$idItemSegurado];
		$ItemSegurado['dt_final_replantio']	= $post['dt_final_replantio'][$idItemSegurado];
		$ItemSegurado['vl_area_sinistrada']	= $post['vl_area_sinistrada'][$idItemSegurado];
		$ItemSegurado['fl_quadra_sinistrada'] = $post['fl_quadra_sinistrada'][$idItemSegurado];
        $ItemSegurado['dt_semeadura'] = $post['dt_semeadura'][$idItemSegurado];
        $ItemSegurado['fl_plantio_dentro_zoneamento'] = $post['fl_plantio_dentro_zoneamento'][$idItemSegurado];

        return $ItemSegurado;
    }


}
