Пример #1
0
 /**
  * Atualiza o término de exeução do relatório
  *
  * @param int $numRows Quantidade de Registro Processado
  * @return \Log_Context_Relatorio 
  */
 public function finish($numRows = '')
 {
     if ($this->_session) {
         $this->setQtdReg($numRows)->setDhFimRelat(ZendT_Type_Date::nowDateTime())->update();
     }
     return $this;
 }
Пример #2
0
 protected function _getSqlBase()
 {
     $idPedido = Zend_Controller_Front::getInstance()->getRequest()->getParam('id_pedido');
     $idCliente = Zend_Controller_Front::getInstance()->getRequest()->getParam('id_cliente');
     if ($this->_idClienteCon) {
         $idCliente = $this->_idClienteCon;
     }
     if (!$idCliente) {
         if ($idPedido) {
             $_pedido = new Vendas_DataView_Pedido_MapperView();
             $_pedido->setId($idPedido)->retrieve();
             $idCliente = $_pedido->getIdClienteCon(true)->toPhp();
             if ($idCliente) {
                 $idCliente = $_pedido->getIdCliente(true)->toPhp();
             }
         }
         if (!$idCliente) {
             $idCliente = 0;
         }
     }
     $hoje = ZendT_Type_Date::nowDate()->getValueToDb();
     $sql = parent::_getSqlBase();
     $sql .= " LEFT JOIN " . Ca_DataView_Contrato_MapperView::$table . " contrato ON ('" . $hoje . "' BETWEEN contrato.dt_vig_ini AND contrato.dt_vig_fim AND contrato.status = 'A' AND contrato.id_cliente = " . $idCliente . ") ";
     $sql .= " LEFT JOIN " . Ca_DataView_RegraContrato_MapperView::$table . " regra_contrato ON (regra_contrato.id_produto = cv_produto.id AND regra_contrato.status = 'A' AND regra_contrato.tipo IN ('PA','PD') ) ";
     return $sql;
 }
Пример #3
0
 /**
  * 
  */
 public function run()
 {
     $_job = new Tools_DataView_Job_MapperView();
     $_job->setId($this->jobId)->retrieve();
     try {
         $start = ZendT_Type_Date::nowDateTime();
         $config = array('useragent' => 'Mozilla/5.0 (Windows NT 6.1; rv:22.0) Gecko/20100101 Firefox/44.0', 'encodecookies' => false, 'timeout' => 60 * 60);
         $params = Tools_Interface_Job::prepareParams($_job->getParametro()->toPhp());
         $_client = new Zend_Http_Client($_job->getProcedimento()->toPhp(), $config);
         if (count($params) > 0) {
             foreach ($params as $name => $value) {
                 $_client->setParameterGet($name, $value);
             }
         }
         $response = $_client->request();
         $message = $response->getBody();
         if ($message == '' || $message == 'OK') {
         } else {
             Tools_Model_LogErro_Mapper::log($_job->getProcedimento()->toPhp(), $message);
         }
         $finish = ZendT_Type_Date::nowDateTime();
         $diff = $start->diff($finish);
         $_job->setTempoUlExec($diff->i);
     } catch (Exception $ex) {
         $message = 'Mensagem: ' . $ex->getMessage() . "\n";
         $message .= 'Erro: ' . $ex->getTraceAsString() . "\n";
         Tools_Model_LogErro_Mapper::log($_job->getProcedimento()->toPhp(), $message);
         $_job->setTempoUlExec(0);
     }
     $_job->setDhUltExec(ZendT_Type_Date::nowDateTime());
     $_job->setStatus('A');
     $_job->update();
     return true;
 }
Пример #4
0
 public function _beforeSave()
 {
     parent::_beforeSave();
     if ($this->_action != 'delete') {
         if ($this->getIdEmpresa(true)->toPhp() == '') {
             $this->setIdEmpresa(Auth_Session_User::getInstance()->getIdEmpresa());
         }
         if ($this->getIdCliente(true)->toPhp() == '') {
             $_pessoa = new Ca_DataView_Pessoa_MapperView();
             $_pessoa->setNome(_i18n('CONSUMIDOR'));
             $_pessoa->retrieve();
             $this->setIdCliente($_pessoa->getId());
         }
         if ($this->getIdClienteCon(true)->toPhp() == '') {
             $this->setIdClienteCon($this->getIdCliente());
         }
         if ($this->getIdUsuInc(true)->toPhp() == '') {
             $this->setIdUsuInc(Auth_Session_User::getInstance()->getId());
         }
         if ($this->getTipo(true)->toPhp() == '') {
             $this->setTipo('V');
         }
         if ($this->getStatus(true)->toPhp() == '') {
             $this->setStatus('A');
         }
         if ($this->getStatusEdi(true)->toPhp() == '') {
             $this->setStatusEdi('N');
         }
         if ($this->getDtEmis(true)->toPhp() == '') {
             $this->setDtEmis(ZendT_Type_Date::nowDate());
         }
         if ($this->getDhInc(true)->toPhp() == '') {
             $this->setDhInc(ZendT_Type_Date::nowDateTime());
         }
         $this->setIdUsuAlt(Auth_Session_User::getInstance()->getId());
         if ($this->getIdFuncionario(true)->toPhp() == '') {
             $_pessoa = new Ca_DataView_Pessoa_MapperView();
             $_pessoa->setEmail(Auth_Session_User::getInstance()->getLogin());
             $_pessoa->retrieve();
             $this->setIdFuncionario($_pessoa->getId());
         }
         if ($this->_action == 'update') {
             /*if ($this->getStatus()->toPhp() == 'A') {
                   $this->_pagamento = new Vendas_DataView_Pagamento_MapperView();
                   $this->_saldoPagto = $this->_pagamento->getSaldoPagar($this->getId());
                   if ($this->_saldoPagto == 0) {
                       $this->setStatus('P'); // pago
                   }
               }*/
         }
     }
     if ($this->_action == 'insert' && !$this->getNumero(true)->toPhp()) {
         $_numeracao = new Ca_Model_Numeracao_Mapper();
         $numero = $_numeracao->proximo(self::$table . '.numero', $this->getIdEmpresa()->toPhp());
         $this->setNumero($numero);
     }
 }
Пример #5
0
 public static function log($id, $message)
 {
     if (self::$_instance == null) {
         self::$_instance = new Vendas_Model_LogPedido_Mapper();
     }
     self::$_instance->newRow();
     self::$_instance->setIdPedido($id)->setDhLog(ZendT_Type_Date::nowDateTime())->setMensagem(substr($message, 0, 999))->insert();
     return true;
 }
Пример #6
0
 public static function log($proc, $message)
 {
     if (self::$_instance == null) {
         self::$_instance = new Tools_Model_LogErro_Mapper();
     }
     self::$_instance->newRow();
     self::$_instance->setProcedimento($proc)->setDhLog(ZendT_Type_Date::nowDateTime())->setMensagem(substr($message, 0, 999))->insert();
     return true;
 }
Пример #7
0
 public function diaAction()
 {
     $this->_disableRender(true, false);
     $_mapper = $this->getMapper();
     $_mapper->setDtExibe(ZendT_Type_Date::nowDate());
     $recordset = $_mapper->recordset($_mapper->getWhere(), false, false, 'sigla_filial');
     $data = array();
     while ($row = $recordset->getRow()) {
         $data[] = $row;
     }
     $this->view->data = $data;
 }
Пример #8
0
 public function processLanc()
 {
     $_lancamentos = new Financeiro_DataView_Lancamento_MapperView();
     $_where = new ZendT_Db_Where();
     $_where->addFilter('fc_lancamento.dt_lanc', ZendT_Type_Date::nowDate(), '<=');
     if (Auth_Session_User::getInstance()->getIdEmpresa()) {
         $_where->addFilter('fc_lancamento.id_empresa', Auth_Session_User::getInstance()->getIdEmpresa());
     }
     $_where->addFilter('fc_lancamento.vlr_saldo', '', '=', '', true);
     $_lancamentos->findAll($_where);
     while ($_lancamentos->fetch()) {
         $_lancamentos->update();
     }
 }
Пример #9
0
 public function run()
 {
     $_job = new Tools_DataView_Job_MapperView();
     $_where = new ZendT_Db_Where();
     $_where->addFilter('job.dh_pro_exec', ZendT_Type_Date::nowDateTime(), '<=');
     $_where->addFilter('job.dh_fim_exec', ZendT_Type_Date::nowDateTime(), '>=');
     $_where->addFilter('job.status', 'A');
     $_job->findAll($_where, '*');
     while ($_job->fetch()) {
         $_now = ZendT_Type_Date::nowDateTime();
         while ($_job->getDhProExec()->toPhp() <= $_now->toPhp()) {
             if ($_job->getTpFrequencia()->toPhp() == 'H') {
                 $_job->getDhProExec()->addHour($_job->getNumFrequencia()->toPhp());
             } else {
                 if ($_job->getTpFrequencia()->toPhp() == 'D') {
                     $_job->getDhProExec()->addDay($_job->getNumFrequencia()->toPhp());
                 } else {
                     if ($_job->getTpFrequencia()->toPhp() == 'M') {
                         $_job->getDhProExec()->addMonth($_job->getNumFrequencia()->toPhp());
                     }
                 }
             }
         }
         $_job->setStatus('E');
         $_job->update();
         try {
             if ($_job->getFormaExec()->toPhp() == 'C') {
                 $_adapter = new Tools_Interface_Job_Php();
             } else {
                 $_adapter = new Tools_Interface_Job_Http();
             }
             $_adapter->jobId = $_job->getId()->toPhp();
             $_th = new ZendT_Thread();
             $_th->start($_adapter, 'run');
         } catch (Exception $ex) {
             $message = 'Mensagem: ' . $ex->getMessage() . "\n";
             $message .= 'Erro: ' . $ex->getTraceAsString() . "\n";
             Tools_Model_LogErro_Mapper::log($_job->getProcedimento()->toPhp(), $message);
         }
     }
 }
Пример #10
0
 /**
  * 
  */
 public function run()
 {
     $_job = new Tools_DataView_Job_MapperView();
     $_job->setId($this->jobId)->retrieve();
     try {
         $start = ZendT_Type_Date::nowDateTime();
         $params = Tools_Interface_Job::prepareParams($_job->getParametro()->toPhp());
         $procedimento = explode("::", $_job->getProcedimento()->toPhp());
         $_obj = new $procedimento[0]();
         $_obj->{$procedimento[1]}($params);
         $finish = ZendT_Type_Date::nowDateTime();
         $diff = $start->diff($finish);
         $_job->setTempoUlExec($diff->i);
     } catch (Exception $ex) {
         $message = 'Mensagem: ' . $ex->getMessage() . "\n";
         $message .= 'Erro: ' . $ex->getTraceAsString() . "\n";
         Tools_Model_LogErro_Mapper::log($_job->getProcedimento()->toPhp(), $message);
         $_job->setTempoUlExec(0);
     }
     $_job->setDhUltExec(ZendT_Type_Date::nowDateTime());
     $_job->setStatus('A');
     $_job->update();
     return true;
 }
Пример #11
0
 /**
  * Prepara o valor que será carregado no elemento,
  * esse valor pode conter macros de data e sessão do logon.
  * 
  * @param string $value
  * @param ZendT_Form_Element_Date $element
  * @return string
  */
 public function _parseValue($value, $element = null, $type = '')
 {
     if ($element instanceof ZendT_Form_Element_Date || $element instanceof ZendT_Form_Element_DateTime || $element instanceof ZendT_Form_Element_DateMulti || $element instanceof ZendT_Form_Element_DateDynamic) {
         $value = trim($value);
         $values = array();
         if (strpos($value, ';')) {
             $sep = ';';
             $values = explode(';', $value);
         } else {
             if (strpos($value, ' ')) {
                 $sep = ' ';
                 $values = explode(' ', $value);
             } else {
                 if ($value != '') {
                     $sep = '';
                     $values = array($value);
                 }
             }
         }
         if ($element instanceof ZendT_Form_Element_DateTime) {
             $type = 'DateTime';
         } else {
             $type = 'Date';
         }
         $value = '';
         foreach ($values as $newValue) {
             $date = ZendT_Type_Date::parse($newValue, $type);
             if ($value) {
                 $value .= $sep . str_replace(" ", "-", $date->get());
             } else {
                 if ($type == 'DateTime') {
                     $value = $date->get();
                 } else {
                     $value = str_replace(" ", "-", $date->get());
                 }
             }
         }
     } else {
         if (strtolower(substr($value, 0, 5)) == 'logon') {
             $levels = explode('.', $value);
             $_sessionValue = $_SESSION;
             foreach ($levels as $level) {
                 $_sessionValue = $_sessionValue[$level];
             }
             $value = $_sessionValue;
         }
     }
     if ($element instanceof ZendT_Form_Element_Seeker) {
         $_mapperView = $element->getMapperView();
         if ($_mapperView) {
             $_mapperView = new $_mapperView();
             $where = $_mapperView->getColumns()->mountWhere('id', $value);
             $value = $_mapperView->recordset($where);
         }
     }
     return $value;
 }
Пример #12
0
 private function _parseValue($value, $type)
 {
     $valueParse = $value;
     if (in_array($type, array('Date', 'DateTime'))) {
         $values = array();
         if (strpos($valueParse, ';')) {
             $sep = ';';
             $values = explode(';', $valueParse);
         } else {
             if (strpos($valueParse, ' ')) {
                 $sep = ' ';
                 $values = explode(' ', $valueParse);
             } else {
                 if ($value != '') {
                     $sep = '';
                     $values = array($valueParse);
                 } else {
                     if ($valueParse) {
                         $sep = '';
                         $values = array($valueParse);
                     }
                 }
             }
         }
         $valueParse = '';
         foreach ($values as $value) {
             $date = ZendT_Type_Date::parse($value, $type);
             if ($valueParse) {
                 $valueParse .= $sep . str_replace(" ", "-", $date->get());
             } else {
                 $valueParse = str_replace(" ", "-", $date->get());
             }
         }
     }
     return $valueParse;
 }
Пример #13
0
 /**
  *
  * @return \ZendT_Db_Where 
  */
 public function getWhere($onlyValidParam = false)
 {
     $params = Zend_Controller_Front::getInstance()->getRequest()->getParams();
     $columnsMapper = $this->_mapper->getColumns()->toArray();
     $columns = $this->_mapper->getColumns()->getColumnsMapper();
     $columns->add('*', get_class($this->_mapper));
     $paramValid = array();
     $binds = array();
     /**
      * Verifica se no profile existe filtro padrão configurado 
      */
     $columnsFilters = $this->_options['cols-filter']['fields'];
     #var_dump($columnsMapper);die;
     foreach ($params as $key => $val) {
         if (!array_key_exists($key, $columnsFilters)) {
             if ($columnsMapper[$key]) {
                 $value = $params[$key];
                 if (isset($columnsMapper[$key]['listOptions'][$value])) {
                     $value = $columnsMapper[$key]['listOptions'][$value];
                 }
                 $columnsFilters[$key] = array('label' => $columnsMapper[$key]['label'], 'value' => $value);
             }
         }
     }
     #var_dump($columnsFilters);die;
     if (isset($columnsFilters)) {
         foreach ($columnsFilters as $columnName => $column) {
             /* echo $columnName;
                print_r($this->_options);
                exit; */
             if ($columnsMapper[$columnName]['expression']) {
                 $field = 'expression-' . $columnName;
             } else {
                 $field = str_replace('.', '-', $columnsMapper[$columnName]['column']);
             }
             $label = $columnsFilters[$columnName]['label'];
             if (!$label) {
                 $label = $columnsMapper[$columnName]['label'];
             }
             if ($params[$columnName . '-multiple']) {
                 $this->_params[$columnName] = $params[$columnName . '-multiple'];
                 $labelWhere[str_replace('-', '.', $field)] = $label;
                 $labelWhere[$columnName] = $label;
                 $params[$field] = $params[$columnName . '-multiple'];
                 $paramValid[$columnName] = true;
                 unset($params[$columnName . '-multiple']);
                 if (is_array($columnsMapper[$columnName]['bind'])) {
                     $binds[$columnName] = $columnsMapper[$columnName]['bind'];
                 }
                 continue;
             }
             if ($params[$columnName]) {
                 $this->_params[$columnName] = $params[$columnName];
                 $labelWhere[str_replace('-', '.', $field)] = $label;
                 $labelWhere[$columnName] = $label;
                 $params[$field] = $params[$columnName];
                 $paramValid[$columnName] = true;
                 if (is_array($columnsMapper[$columnName]['bind'])) {
                     $binds[$columnName] = $columnsMapper[$columnName]['bind'];
                 }
                 unset($params[$columnName]);
                 continue;
             }
             if (isset($params[$columnName . '-multiple'])) {
                 unset($params[$columnName . '-multiple']);
             }
             #if ($params[str_replace('.','-',$columnsMapper[$columnName]['column'])]){
             #    continue;
             #}
             $valueParse = $columnsFilters[$columnName]['value'];
             if (in_array($columnsMapper[$columnName]['type'], array('Date', 'DateTime'))) {
                 $values = array();
                 if (strpos($valueParse, ';')) {
                     $sep = ';';
                     $values = explode(';', $valueParse);
                 } else {
                     if (strpos($valueParse, ' ')) {
                         $sep = ' ';
                         $values = explode(' ', $valueParse);
                     } else {
                         if ($config['value'] != '') {
                             $sep = '';
                             $values = array($valueParse);
                         } else {
                             if ($valueParse) {
                                 $sep = '';
                                 $values = array($valueParse);
                             }
                         }
                     }
                 }
                 $valueParse = '';
                 foreach ($values as $value) {
                     $date = ZendT_Type_Date::parse($value, $columnsMapper[$columnName]['type']);
                     if ($valueParse) {
                         $valueParse .= $sep . str_replace(" ", "-", $date->get());
                     } else {
                         $valueParse = str_replace(" ", "-", $date->get());
                     }
                 }
             } else {
                 if (strtolower(substr($valueParse, 0, 5)) == 'logon') {
                     $levels = explode('.', $valueParse);
                     $_sessionValue = $_SESSION;
                     foreach ($levels as $level) {
                         $_sessionValue = $_sessionValue[$level];
                     }
                     $valueParse = $_sessionValue;
                 }
             }
             if ($valueParse) {
                 $labelWhere[str_replace('-', '.', $field)] = $label;
                 $labelWhere[$columnName] = $label;
                 $params[$field] = $valueParse;
                 $paramValid[$columnName] = true;
                 $this->_params[$columnName] = $valueParse;
                 if (is_array($columnsMapper[$columnName]['bind'])) {
                     $binds[$columnName] = $columnsMapper[$columnName]['bind'];
                 }
             }
         }
     }
     #
     foreach ($columnsMapper as $columnName => $column) {
         if ($column['required'] && !$paramValid[$columnName]) {
             throw new ZendT_Exception_Alert($column['required']);
         }
     }
     #var_dump($params);die;
     $where = ZendT_Db_Where::fromAutoFilter($params, $columns, null, $binds);
     if (method_exists($this->_mapper, 'setWhere')) {
         $this->_mapper->setWhere($where);
     }
     if (method_exists($this->_mapper, 'paramIsValid')) {
         $this->_mapper->paramIsValid($where);
     }
     if ($onlyValidParam) {
         return $where;
     }
     /**
      * Trata parâmetros a serem impressos no PDF e XLS
      */
     #print_r($labelWhere);
     if ($this->_options['printLabelFilters']) {
         $this->_labelFilters = $where->getFriendlyFilter($labelWhere);
         /**
          * Realiza a substituição dos ids pela descrição dos campos configurados na seeker
          */
         foreach ($this->_configColumns as $array => $field) {
             if (is_array($field['seeker'])) {
                 $newfield = $field['aliasTable'] . "." . $field['columnName'];
                 /*
                  * Monta uma lista dos ids a partir da label atual para aplicar filtro no banco
                  */
                 $value = $this->_labelFilters[$newfield]['value'];
                 $union = '';
                 if (strpos($value, ',') !== false) {
                     $values = explode(',', $value);
                     $union = ',';
                 } else {
                     $values = explode(' e ', $value);
                     $union = ' e ';
                 }
                 $value = implode(';', $values);
                 $_mapperView = new $field['seeker']['mapperView']();
                 $_whereLabel = $_mapperView->getColumns()->mountWhere('id', $value);
                 $data = $_mapperView->recordset($_whereLabel);
                 /**
                  * Define os campos que serão exibidos, conforme a quantidade de labels informada
                  */
                 $countLabels = 0;
                 $maxLabels = !$field['seeker']['maxLabels'] ? 1 : $field['seeker']['maxLabels'];
                 $fields = array();
                 foreach ($field['seeker']['fields'] as $_field => $_value) {
                     array_push($fields, $_field);
                     if (++$countLabels >= $maxLabels) {
                         break;
                     }
                 }
                 /**
                  * Monta uma nova label para exibir os campos definidos acima
                  */
                 $newLabel = '';
                 while ($row = $data->getRow()) {
                     if ($newLabel) {
                         $newLabel .= $union;
                     }
                     $labels = '';
                     for ($i = 0; $i < count($fields); $i++) {
                         if ($labels) {
                             $labels .= ' - ';
                         }
                         $labels .= $row[$fields[$i]]->get();
                     }
                     $newLabel .= $labels;
                 }
                 if ($newLabel) {
                     $this->_labelFilters[$newfield]['value'] = $newLabel;
                 }
                 #echo $newLabel;die;
             }
         }
     }
     return $where;
 }
Пример #14
0
 /**
  * Transforma o valor para o formato de armazenamento do Banco de Dados
  * 
  * @param string|int|ZendT_Type_Date|ZendT_Type_Number $value
  * @return \ZendT_Type_Number 
  */
 private function getValueToDb($value)
 {
     if ($value instanceof ZendT_Type) {
         return $value->getValueToDb();
     } else {
         return $value;
     }
 }
Пример #15
0
 /**
  * 
  * @param string|int $categoria
  * @param string $orderBy
  * @return array
  */
 protected function _list($categoria, $idConteudoPai = '', $orderBy = '')
 {
     $this->_removeLob = false;
     $_fileSystem = new Ged_Model_Arquivo_FileSystem();
     $idUsuario = Auth_Session_User::getInstance()->getId();
     $_auth = new Auth_Model_Usuario_Mapper();
     $_auth->setLogin('GUEST')->retrieve();
     $avatarGuest = $_auth->getAvatar(true)->toPhp();
     /**
      * caso seja uma string retorna o id
      */
     $idCategoria = $this->_getIdCategoria($categoria);
     if (!$orderBy) {
         $orderBy = 'cms_conteudo.dh_ini_pub';
     }
     $_whereGroup = new ZendT_Db_Where_Group('AND');
     $_where = new ZendT_Db_Where();
     $_where->addFilter("cms_conteudo.id_categoria", $idCategoria);
     if ($idConteudoPai) {
         $_where->addFilter("cms_conteudo.id_conteudo_pai", $idConteudoPai);
     }
     $_where->addFilter("cms_conteudo.dh_ini_pub", ZendT_Type_Date::nowDateTime(), "<=");
     $_where->addFilter("status.acao", "A");
     $_whereGroup->addWhere($_where);
     $_where = new ZendT_Db_Where('OR');
     $_where->addFilter("cms_conteudo.dh_fim_pub", ZendT_Type_Date::nowDateTime(), ">=");
     $_where->addFilter("cms_conteudo.dh_fim_pub", "", "NULL");
     $_whereGroup->addWhere($_where);
     //($where, $retrieve = false, $found = false, $orderBy='1')
     $_recordset = $this->recordset($_whereGroup, false, false, $orderBy);
     $data = array();
     $result = array();
     while ($data = $_recordset->getRow()) {
         $data['url'] = ZendT_Url::getBaseUrl() . '/cms/conteudo/view/id/' . $data['id']->toPhp();
         $thumbnail = $data['thumbnail']->toPhp();
         if (!$thumbnail) {
             $_conteudo = new Cms_Model_Conteudo_Mapper();
             $_conteudo->setChave('generic')->retrieve();
             $thumbnail = $_conteudo->getThumbnail(true)->toPhp();
         }
         $data['thumbnail'] = $_fileSystem->getDirectoryAdress($thumbnail);
         $data['banner'] = $_fileSystem->getDirectoryAdress($data['banner']->toPhp());
         $avatar = $data['avatar_usuario_inc']->toPhp();
         if (!$avatar) {
             $avatar = $avatarGuest;
             //avatar genérico
         }
         $data['avatar_usuario_inc'] = $_fileSystem->getDirectoryAdress($avatar);
         $data['html_like'] = Cms_Helper_Likes::button($data['id']);
         $data['html_comment'] = Cms_Helper_Feeds::button($data['id']);
         if ($data['id_usuario_inc']->toPhp() == $idUsuario) {
             $data['nome_usuario_inc'] = 'Você';
         }
         $result[] = $data;
     }
     return $result;
 }
Пример #16
0
 /**
  * Salva o arquivo no diretório e na tabela (inclui / altera)
  * 
  * @param ZendT_File $file - arquivo
  * @param array $configs - configurações de propriedades do arquivo
  * @param array $param - propriedades do arquivo
  * @return integer - id do arquivo salvo
  */
 private function _saveFile($file, $configs, &$param)
 {
     $_propDocto = $this->_getPropDocto($param->propName);
     $param->fileName = $file->getName();
     $fileContent = $file->getContent();
     $fileType = $file->getContentType();
     $hashCode = md5($fileContent);
     $fileName = $this->_formatFileName($hashCode, $param->fileName);
     $propName = $param->propName;
     $dtExpira = '';
     $_arquivo = new Ged_DataView_Arquivo_MapperView();
     $_arquivo->setHashcode($hashCode);
     $path = $this->getFilePath($configs['bkpProp'], $propName, $fileName);
     $_arquivo->setPathArq($path['path']);
     if (!$_arquivo->exists()) {
         #$_arquivo->setPathArq($path['path']);
     } else {
         $_arquivo_aux = clone $_arquivo;
         $dtExpira = $_arquivo_aux->retrieve()->getDtExpira()->toPhp();
     }
     if ($configs['lifeTime'] && !$dtExpira) {
         $dtExpira = ZendT_Type_Date::nowDate()->addDay($configs['lifeTime']);
         $_arquivo->setDtExpira($dtExpira);
     }
     $_arquivo->setConteudoName($param->fileName);
     $_arquivo->setIdPropDocto($_propDocto->getId());
     $_arquivo->setConteudoType($fileType);
     if ($configs['bkpProp'] == 2 && $param->fileId) {
         $_arquivo->setId($param->fileId);
         $_arquivo_aux = new Ged_DataView_Arquivo_MapperView();
         $_arquivo_aux->setId($_arquivo->getId());
         if ($_arquivo_aux->exists()) {
             $_arquivo_aux->retrieve();
             if ($_arquivo_aux->getHashCode()->toPhp() != $_arquivo->getHashcode()->toPhp()) {
                 $this->remove($_arquivo->getId(), false);
                 $_arquivo->update();
                 //$path_aux = $this->_getArquivoPath($_arquivo->getId()->toPhp());
             }
         }
     }
     $idArquivo = $_arquivo->save(true);
     //echo "Path: " . $path['full'] . "\n";
     if (!file_exists($path['full'])) {
         if (!file_exists($path['pathBase'])) {
             //mkdir($path['pathBase'], null, true);
             $this->mkdirRecursive($path['pathBase']);
         }
         $result = file_put_contents($path['full'], $file->getContent());
         if (!$result) {
             throw new ZendT_Exception('Erro ao armazenar o arquivo no servidor "' . $path['full'] . '". Erro: "' . $php_errormsg . '" ');
         }
         if (!$result) {
             throw new ZendT_Exception('Não foi possível salvar o arquivo "' . $path['full'] . '"');
         } else {
             if ($this->_config['linux']) {
                 $this->_execCmd("chmod 777 {$path['full']} -R");
             }
         }
     }
     if ($param->parentId) {
         $_docto = new Ged_DataView_Docto_MapperView();
         $_docto->setIdPropRelac($param->parentId);
         $_docto->setDescricao($param->desc);
         $_docto->setDhInclusao("SYSDATE");
         $_docto->setIdArquivo($idArquivo);
         $_docto->setIdTipoDocto($param->typeId);
         $_docto->setIdUsuIncl($param->userId);
         $idDocto = $_docto->save();
     }
     return $idArquivo;
 }
Пример #17
0
 public function isValidLastTime($hours = 0, $minutes = 0, $seconds = 0)
 {
     $_conteudo = new Cms_DataView_Conteudo_MapperView();
     $_conteudo->setIdCategoria($this->getIdCategoria())->setIdConteudoPai($this->getIdConteudoPai())->setIdUsuarioInc($this->getIdUsuarioInc())->findAll(null, '*', 'dh_ini_pub desc');
     if (!$_conteudo->exists()) {
         return true;
     }
     $_conteudo->fetch();
     $hours *= 60 * 60;
     $minutes *= 60;
     $total = $hours + $minutes + $seconds;
     $now = ZendT_Type_Date::nowDateTime()->toPhp();
     $last = $_conteudo->getDhIniPub()->toPhp();
     $last += $total;
     if ($now > $last) {
         return true;
     }
     return false;
 }
Пример #18
0
 /**
  * Formata um dado de acordo com o tipo e a máscara definido
  * que será apresentado para o usuário
  *
  * @param string $value
  * @param string $format
  * @param string $locale
  * @return string
  */
 public function format($value, $format = null, $locale = null)
 {
     if ($format === null) {
         $format = $this->_mask;
     }
     if (!is_object($this->_mapper)) {
         if ($this->_mapper != '') {
             $this->_mapper = new $this->_mapper();
         }
     }
     if (is_object($this->_mapper)) {
         $columnName = substr($this->_index, strpos($this->_index, '.') + 1);
         return $this->_mapper->format($value, $columnName, $format, $locale);
     } else {
         $type = $this->getType();
         if ($type == 'Number' || $type == 'Numeric' || $type == 'Integer') {
             return ZendT_Type_Number::fromIso($value, $locale)->get($format);
         } else {
             if ($type == 'Date' || $type == 'DateTime') {
                 if ($format == '' || $format === null) {
                     if ($type == 'Date') {
                         $format = 'dd/MM/YYYY';
                     } else {
                         $format = 'dd/MM/YYYY HH:mm:s';
                     }
                 }
                 return ZendT_Type_Date::fromIso($value, $locale)->get($format);
             } else {
                 if ($this->_mask) {
                     return ZendT_Format::string($value, $this->_mask);
                 } else {
                     return $value;
                 }
             }
         }
     }
 }
Пример #19
0
 protected function _dateLine()
 {
     $_cell = new ZendT_Report_Cell();
     $_cell->setTextAlign('center');
     $_cell->setFontSize(7);
     $_cell->setTaStyle($this->_checkStyle($_cell));
     $styleId = $_cell->getTaStyle();
     if (!$styleId) {
         $styleId = 'String';
     }
     $date = ZendT_Type_Date::nowDateTime()->get();
     $this->_memObject->value .= "<Row>\n";
     $this->_memObject->value .= '<Cell ss:StyleID="' . $styleId . '"><Data ss:Type="String">' . $this->_escapeString($date) . '</Data></Cell>' . "\n";
     $this->_memObject->value .= "</Row>\n\n";
     $this->_rows++;
 }
Пример #20
0
 public function efetivar($idPedido = false)
 {
     if (!$idPedido) {
         $idPedido = $this->getIdPedido();
     }
     $_pedido = new Vendas_DataView_Pedido_MapperView();
     $_pedido->setId($idPedido)->retrieve();
     $_pagtoLanc = new Vendas_DataView_PagtoLanc_MapperView();
     $_pagamento = new Vendas_DataView_Pagamento_MapperView();
     $_lancamento = new Financeiro_DataView_Lancamento_MapperView();
     $_where = new ZendT_Db_Where();
     $_where->addFilter('cv_pagto_pedido.id_pedido', $idPedido);
     $rows = $_pagamento->recordset($_where);
     $pago = false;
     $vlrTotal = 0;
     while ($row = $rows->getRow()) {
         if ($row['pago_forma_pagto']->toPhp() == 'S') {
             $pago = true;
         }
         $qtd = $row['qtd_parcela']->toPhp();
         if (!$qtd) {
             $qtd = 1;
         }
         for ($index = 0; $index < $qtd; $index++) {
             $dtVenc = $row['dt_venc_parc'];
             if ($dtVenc->toPhp() == '') {
                 $dtVenc = $row['dt_emis_pedido'];
             }
             if ($dtVenc->toPhp() == '') {
                 $dtVenc = ZendT_Type_Date::nowDate();
             }
             if ($index) {
                 $dtVenc->addMonths($index);
             }
             $vlrParc = $row['vlr_parc'];
             if ($vlrParc->toPhp() == '') {
                 $vlrParc = $row['vlr_a_pagar'];
             }
             if ($vlrParc->toPhp() == '') {
                 $vlrParc = $row['vlr_pago'];
             }
             $_lancamento->newRow()->setTipo('C')->setIdEmpresa($_pedido->getIdEmpresa())->setIdFavorecido($_pedido->getIdEmpresa())->setDescricao('VENDA DE PEDIDO')->setObservacao('PAGAMENTO ' . ($index + 1) . " de " . $qtd . '. PEDIDO: ' . $row['numero_pedido'])->setIdFormaPagto($row['id_forma_pago'])->setPago($row['pago_forma_pagto'])->setDtLanc($dtVenc)->setVlrLanc($vlrParc)->insert();
             $_pagtoLanc->newRow()->setIdPagtoPedido($row['id'])->setIdLancamento($_lancamento->getId())->insert();
             $vlrTotal = $vlrTotal + $vlrParc->toPhp();
         }
     }
     /**
      * Avalia se é preciso gerar débitos para o pedido
      * custos com imposto ou comissões
      */
     $dtPedido = $_pedido->getDtEmis();
     if ($dtPedido->toPhp() == '') {
         $dtPedido = ZendT_Type_Date::nowDate();
     }
     $dtVenc = $dtPedido;
     $_regra = new Ca_DataView_RegraContrato_MapperView();
     $_itemLanc = new Vendas_DataView_ItemLanc_MapperView();
     $_itens = new Vendas_DataView_ItemPedido_MapperView();
     $_itens->setIdPedido($idPedido);
     $_itens->findAll(null, '*');
     while ($_itens->fetch()) {
         $_where = new ZendT_Db_Where();
         $_where->addFilter('ca_regra_contrato.id_produto', $_itens->getIdProduto());
         $_where->addFilter('ca_regra_contrato.status', 'A');
         $_where->addFilter('ca_regra_contrato.tipo', 'CD');
         $_where->addFilter('ca_regra_contrato.favorecido', 'ca_pedido.', '?%');
         $_where->addFilter('contrato.dt_vig_ini', $dtPedido, '<=');
         $_where->addFilter('contrato.dt_vig_fim', $dtPedido, '>=');
         $_where->addFilter('contrato.id_cliente', $_pedido->getIdClienteCon());
         $_where->addFilter('contrato.status', 'A');
         $_regra->findAll($_where, '*');
         while ($_regra->fetch()) {
             $favorecido = $_regra->getFavorecido()->toPhp();
             $favorecido = str_replace('ca_pedido.', '', $favorecido);
             if ($favorecido == 'especifico') {
                 $idFavorecido = $_regra->getIdFavorecido();
             } else {
                 $idFavorecido = $_pedido->getData($favorecido);
             }
             $desc = $_regra->getDescLanc()->toPhp();
             if (!$desc) {
                 $desc = 'PEDIDO DE VENDA: ' . $_pedido->getNumero()->get();
             }
             if (!$idFavorecido) {
                 $idFavorecido = $_regra->getIdFavorecido();
             }
             //$vlrTotal
             if ($_regra->getVlrFixo()->toPhp() > 0) {
                 $vlrLanc = $_regra->getVlrFixo();
             } else {
                 if ($_regra->getVlrPerc()->toPhp() > 0) {
                     $vlrLanc = $vlrTotal * $_regra->getVlrPerc()->toPhp() / 100;
                 } else {
                     $vlrLanc = 0;
                 }
             }
             if ($idFavorecido) {
                 $_lancamento->newRow()->setTipo('D')->setIdContrato($_regra->getIdContrato())->setIdFavorecido($idFavorecido)->setDescricao($desc)->setObservacao('PEDIDO DE VENDA: ' . $_pedido->getNumero()->get())->setPago('N')->setDtLanc($dtVenc)->setVlrLanc($vlrLanc)->insert();
                 $_itemLanc->newRow()->setIdItemPedido($_itens->getId())->setIdLancamento($_lancamento->getId())->insert();
                 if (!$pago) {
                     $_lancamento->newRow()->setTipo('C')->setIdContrato($_regra->getIdContrato())->setIdFavorecido($idFavorecido)->setDescricao($desc)->setObservacao('CUSTEADO PELO CLIENTE')->setPago('S')->setDtLanc($dtVenc)->setVlrLanc($vlrLanc)->insert();
                     $_itemLanc->newRow()->setIdItemPedido($_itens->getId())->setIdLancamento($_lancamento->getId())->insert();
                 }
             }
         }
     }
 }
Пример #21
0
 protected function _consultorias($dtIni = '', $dtFim = '', $placa = '')
 {
     if (!$dtIni) {
         $dtIni = ZendT_Type_Date::nowDate()->addDay(-3)->getValueToDb();
     }
     if (!$dtFim) {
         $dtFim = ZendT_Type_Date::nowDate()->getValueToDb();
     }
     $params = array();
     $params['header']['Authorization'] = 'bearer ' . $this->_token;
     $params['get']['Placa'] = $placa;
     $params['get']['DataInicio'] = $dtIni;
     $params['get']['DataFim'] = $dtFim;
     #echo print_r($params);
     #echo "\n <br>";
     $result = $this->_request('https://servicos.vistoriasp.com.br/ECVCommunicationService/api/vistoria/consultaVistoria', $params, Zend_Http_Client::GET);
     #print_r($result);
     return $result;
 }