<?

class Nobre_Model_LiquidacoesPrevisaoPagamento extends Agro_Db_Table_Abstract {
	
	protected $_schema = 'sinistro';
	protected $_name = 'liquidacoes_previsao_pagamento';
	protected $_primary = 'id';
	public $_order = 'id';

	public function save($dados){
		try {
			$Row = $this->getRow($dados['id']);

			$Row->id_liquidacao 			= $dados["id_liquidacao"];
			$Row->dt_pagamento 				= Agro_Util::formatDate($dados["dt_pagamento"], 'yyyy-MM-dd');
			$Row->vl_pagamento 				= $dados["vl_pagamento"] ? Agro_Util::formatCurrencyDb($dados["vl_pagamento"]) : null;
			$Row->dt_confirmacao_pagamento 	= $dados["dt_confirmacao_pagamento"] ? Agro_Util::formatDate($dados["dt_confirmacao_pagamento"], 'yyyy-MM-dd') : null;
			$Row->fl_subvencao_descontada 	= ($dados["fl_subvencao_descontada"] ? 1 : 0);
			$Row->id_arquivo_processo       = ($dados['id_arquivo_processo'] ? $dados['id_arquivo_processo'] : null);
			$Row->id_documento_liquidacao   = ($dados['id_documento_liquidacao'] ? $dados['id_documento_liquidacao'] : null);

			return $Row->save();

		} catch (Exception $e) {
			throw new Exception($e->getMessage());
		}
	}

	//para sinistro2
	public function saveSinistro2($dados){
	
		try {
			$Row = $this->getRow($dados['id']);
		
			$Row->dt_pagamento 				= Agro_Util::formatDate($dados["dt_pagamento"], 'yyyy-MM-dd');
			$Row->vl_pagamento 				= $dados["vl_pagamento"] ? Agro_Util::formatCurrencyDb($dados["vl_pagamento"]) : null;
			$Row->dt_confirmacao_pagamento 	= $dados["dt_confirmacao_pagamento"] ? Agro_Util::formatDate($dados["dt_confirmacao_pagamento"], 'yyyy-MM-dd') : null;
			$Row->fl_subvencao_descontada 	= ($dados["fl_subvencao_descontada"] ? 1 : 0);
			$Row->id_arquivo_processo       = ($dados['id_arquivo_processo'] ? $dados['id_arquivo_processo'] : null);
		
			return $Row->save();
		
		} catch (Exception $e) {
			throw new Exception($e->getMessage());
		}
	}	
	
	public function getListPagamentos($id_pagamento){
	
		$User = new Sistema_Model_Usuarios();
		$File = new Sinistro_Model_ProcessosArquivos();
	
		$Row = $this->fetchRow("id=".$id_pagamento);
		$usuario = $User->find($Row['id_usuario_criacao'])->current();
	
		if ($Row['id_arquivo_processo']) {
			$arquivo = $File->fetchRow("id=".$Row['id_arquivo_processo']." AND fl_ativo = true");
		}
	
		$ModelPag = new Sinistro2_Model_LiquidacoesPagamentos();
		$pagamentos = $ModelPag->fetchAll('id_liquidacao_previsao_pagamento='.$id_pagamento)->toArray();
	
		//if()
	
			$result = array(
					"id" => $Row['id'],
					"dt_pagamento" => Agro_Util::formatDate($Row['dt_pagamento'], Zend_Date::DATES),
					"vl_pagamento" => Agro_Util::formatDbCurrency($Row['vl_pagamento']),
					"dt_confirmacao_pagamento" => Agro_Util::formatDate($Row['dt_confirmacao_pagamento'], Zend_Date::DATES),
					"fl_subvencao_descontada" => ($Row['fl_subvencao_descontada'] ? "Sim" : "Não"),
					"comprovante" => $arquivo['ds_nome_arquivo'],
					"id_comprovante" => $arquivo['id'],
					"user" => $usuario['ds_nome_usuario']
			);
	
			
			
			return $result;
	}
	////////////////////
	

	public function getList($id_liquidacao){

		$User = new Sistema_Model_Usuarios();
		$File = new Sinistro_Model_ProcessosArquivos();

		$Row = $this->fetchRow("id_liquidacao=$id_liquidacao");
		$usuario = $User->find($Row['id_usuario_criacao'])->current();

		if ($Row['id_arquivo_processo']) {
			$arquivo = $File->fetchRow("id=".$Row['id_arquivo_processo']." AND fl_ativo = true");
		}

		$result = array(
			"id" => $Row['id'],
			"id_liquidacao" => $Row['id_liquidacao'],
			"dt_pagamento" => Agro_Util::formatDate($Row['dt_pagamento'], Zend_Date::DATES),
			"vl_pagamento" => Agro_Util::formatDbCurrency($Row['vl_pagamento']),
			"dt_confirmacao_pagamento" => Agro_Util::formatDate($Row['dt_confirmacao_pagamento'], Zend_Date::DATES),
			"fl_subvencao_descontada" => ($Row['fl_subvencao_descontada'] ? "Sim" : "Não"),
			"comprovante" => $arquivo['ds_nome_arquivo'],
			"id_comprovante" => $arquivo['id'],
			"user" => $usuario['ds_nome_usuario']
		);

		return $result;
	}

}




