Example #1
0
 protected function _afterSave()
 {
     parent::_afterSave();
     $oldHierarquia = $this->getHierarquia(true)->toPhp();
     $idResp = $this->getIdPessoaResp(true)->toPhp();
     if ($idResp) {
         $_mapper = new Ca_Model_Pessoa_Mapper();
         $_mapper->setId($idResp)->retrieve();
         $hirarquia = $_mapper->getHierarquia(true)->toPhp() . '.' . $this->getId()->toPhp();
     } else {
         $hirarquia = $this->getId()->toPhp();
     }
     $hierarquiaComp = substr($hirarquia, 0, strlen($oldHierarquia));
     if ($hierarquiaComp && $oldHierarquia == $hierarquiaComp && $hierarquiaComp != $this->getId()->toPhp()) {
         //throw new ZendT_Exception_Alert(_i18n('Não é possível associar a empresa responvável para este registro, devido a infringir a hierarquia!'));
     }
     if ($oldHierarquia != $hirarquia) {
         $data = array();
         $data['hierarquia'] = $hirarquia;
         $this->getModel()->getAdapter()->update($this->getModel()->getName(), $data, 'id = ' . $this->getId()->toPhp());
     }
     $this->setHierarquia($hirarquia);
     if ($this->_action == 'update' && $oldHierarquia && $oldHierarquia != $hirarquia) {
         $_where = new ZendT_Db_Where();
         $_where->addFilter($this->getModel()->getName() . '.hierarquia', $oldHierarquia, '?%');
         $_where->addFilter($this->getModel()->getName() . '.id', $this->getId(), '!=');
         $_mapper = new Ca_DataView_Pessoa_MapperView();
         $_mapper->findAll($_where, '*');
         while ($_mapper->fetch()) {
             $_mapper->update();
         }
     }
 }
Example #2
0
 /**
  * Retorna o valor antigo do registro antes de realizar a atualização
  *
  * @return Ca_Model_Pessoa_Mapper
  */
 public function getValueOld()
 {
     if (!$this->_dataOld instanceof Ca_Model_Pessoa_Mapper) {
         $this->_dataOld = new Ca_Model_Pessoa_Mapper();
         $this->_dataOld->setId($this->getId());
         $this->_dataOld->retrive();
     }
     return $this->_dataOld;
 }
Example #3
0
 public function importXls($fileName = '')
 {
     $cnpj = '';
     $_pessoa = new Ca_Model_Pessoa_Mapper();
     $_pessoa->setCodigo($cnpj)->retrieve();
     $idCliente = $_pessoa->getId();
     if (!$fileName) {
         $fileName = APPLICATION_PATH . '/modules/vendas/contexts/Vsp/tokio.xls';
     }
     $objReader = ZendT_Excel_IOFactory::createReader('Excel5');
     $objPHPExcel = $objReader->load($fileName);
     $data = $objPHPExcel->getSheet()->toArray(null, true, true, true);
     if (count($data) > 0) {
         $_pedido = new Vendas_DataView_Pedido_MapperView();
         $_veiculo = new Frota_DataView_Veiculo_MapperView();
         unset($data[0]);
         foreach ($data as $row) {
             $_veiculo->newRow()->setPlaca($row['D']);
             if ($_veiculo->exists()) {
                 $_veiculo->setDescricao($row['C'])->setChassi($row['E'])->setChassi()->update();
             } else {
                 $_veiculo->setDescricao($row['C'])->setChassi($row['E'])->setChassi()->insert();
             }
             $_pedido->newRow()->setIdCliente($idCliente)->setDtEmis($row['A'])->setSinistro($row['B'])->setIdVeiculo($_veiculo->getId());
             if (!$_pedido->exists()) {
                 $_pedido->insert();
             }
         }
     }
     echo '<pre>';
     print_r($data);
     echo '</pre>';
 }