<?php

class Safra14_Model_LaudoPreviaFolha extends Agro_Db_Table_Abstract {
	protected $_schema = 'seguro';
	protected $_name = 'vistorias_previas_laudos_folhas';
	protected $_primary = 'id';
	public $_order = 'id';
	
	public function save($dados) {
		$id_vistoria_previa_laudo = $dados['id_vistoria_previa_laudo'];
		
		if(!$dados['id_vistoria_previa_laudo']) {
			$Select = $this->select()->setIntegrityCheck(false);
    		$Select->from(array('vplf' => 'seguro.vistorias_previas_laudos_folhas'), 'id_vistoria_previa_laudo');
			$Select->where('vplf.id = ?', $dados['id_folha']);

			$id_vistoria_previa_laudo =  $this->_db->fetchOne($Select);
		}

		$Select = $this->select()->setIntegrityCheck(false);
		$Select->from(array('vplf' => 'seguro.vistorias_previas_laudos_folhas'), array('MAX(cd_numero_folha), id_vistoria_previa_laudo'));
		$Select->where('vplf.id_vistoria_previa_laudo = ?', $id_vistoria_previa_laudo);
		$Select->group('id_vistoria_previa_laudo');	

		$Rs = $this->_db->fetchRow($Select);

		$arr = array();

		//cria um novo numero de folha
		$arr['cd_numero_folha'] = $Rs['max']+1;

		$Row = $this->createRow();
		$Row->id_vistoria_previa_laudo = $id_vistoria_previa_laudo;
		$Row->cd_numero_folha = $arr['cd_numero_folha'];

		$id_folha = $Row->save();

		$Select = $this->select()->setIntegrityCheck(false);
		$Select->from(array('s' => 'sistema.status'), 's.id');
		$Select->join(array('ts' => 'sistema.tipo_status'), 's.id_tipo_status = ts.id');
		$Select->where('ts.ds_chave = ?', 'VP');
		$Select->where('s.cd_status = ?', 3);

		$status = $this->_db->fetchOne($Select);

		$Select = $this->select()->setIntegrityCheck(false);
		$Select->from(array('vpl' => 'seguro.vistorias_previas_laudos'), 'id_vistoria');
		$Select->where('vpl.id = ?', $id_vistoria_previa_laudo);		
		
		$id_vistoria = $this->_db->fetchRow($Select);
		
		$Select = $this->select()->setIntegrityCheck(false);
		$Select->from(array('pvp' => 'seguro.propostas_vistorias_previas'), 'pvp.id');
		$Select->where('pvp.id_vistoria = ?', $id_vistoria);

		$id_propostas_vistorias_previas = $this->_db->fetchOne($Select);
		
		$ModelPrevias = new Seguro_Model_VistoriaPreviaEmpresa();
		$Row = $ModelPrevias->getRow($id_propostas_vistorias_previas);
		
		$Row->id_status = $status;
		
		$retorno['id_folha'] = $id_folha;
		$retorno['id_vistoria_previa_laudo'] = $id_vistoria_previa_laudo;		
		
		if($Row->save()) {
			return $retorno;
		} else {
			return false;
		}
		
	}
}
