<?php

class Produto_EstadiosfenologicosController extends Agro_Controller_Action {
	public $_columnList = array(
		'ds_nome_grupo' => 'Grupo',
		'ds_nome_estadio_fenologico' => 'Estadio Fenológico',
		'ds_chave' => 'Chave'
	);
	
	public function init() {
		$this->view->title = 'Produto » Cadastro » Estádios Fenológicos';
	}
	
	public function setBack() {
		$this->view->back = '/produto/estadiosfenologicos';
	}
	
	public function getModel() {
		return new Produto_Model_EstadiosFenologicos();
	}
	
	public function getForm() {
		return new Produto_Form_EstadiosFenologicos();
	}
	
	public function getFilter() {
		$where = array();
		
		if ($this->getRequest()->getParam('id_grupo_estadio_fenologico')) {
			$where[] = array (
				'field' => 'e.id_grupo_estadio_fenologico',
				'operator' => '=',
				'value' => $this->getRequest()->getParam('id_grupo_estadio_fenologico')
			);
		}
		
		if ($this->getRequest()->getParam('ds_nome_estadio_fenologico')) {
			$where[] = array (
				'field' => 'e.ds_nome_estadio_fenologico',
				'operator' => 'ilike',
				'value' => '%'.$this->getRequest()->getParam('ds_nome_estadio_fenologico').'%'
			);
		}
		
		if ($this->getRequest()->getParam('ds_chave')) {
			$where[] = array (
				'field' => 'e.ds_chave',
				'operator' => 'ilike',
				'value' => '%'.$this->getRequest()->getParam('ds_chave').'%'
			);
		}
		
		if ($this->getRequest()->getParam('e.fl_ativo')) {
			$where[] = array (
				'field' => 'fl_ativo',
				'operator' => '=',
				'value' => $this->getRequest()->getParam('fl_ativo')
			);
		}
		
		return $where;
	}

	public function activeAction()
	{
		parent::activeAction();
		try {
            $adp = Zend_Db_Table_Abstract::getDefaultAdapter();
            $stat = $adp->query('SELECT id FROM sistema.versao_zoneamento WHERE fl_importado_zoneamento = TRUE AND fl_exportado_tablet = FALSE');
            $result = $stat->fetchAll();

            if (empty($result)) {

				$user = Zend_Auth::getInstance()->getIdentity();

				$modelSafras = new Produto_Model_Safras();
				$dadosSafra = $modelSafras->getSafraAtual();
				$idSafra = $dadosSafra['id'];

                $adp->query('
                INSERT INTO sistema.versao_zoneamento (
                    id_usuario_criacao,
                    id_usuario_alteracao,
                    dt_criacao,
                    dt_alteracao,
                    fl_ativo,
                    fl_del,
                    id,
                    id_safra,
                    ds_nome_arquivo,
                    md5,
                    fl_importado_zoneamento,
                    fl_exportado_tablet
                ) VALUES (
                    ' . $user->id . ',
                    NULL,
                    NOW(),
                    NULL,
                    FALSE,
                    FALSE,
                    NEXTVAL(\'sistema.versao_zoneamento_id_seq\'),
                    ' . $idSafra . ',
                    \'\',
                    \'\',
                    TRUE,
                    FALSE
                );');
            }

            return true;
        } catch (Exception $e) {
	        Agro_Util::zf_debug($e->getMessage());
	        return false;
        }
	}
}
