Ejemplo n.º 1
0
 public function inserirPreco()
 {
     try {
         if (!$this->load->checkPermissao->check(false, URL . 'produtos/gerenciar/cadastrarprecos')) {
             $this->http->response("Ação não permitida");
             return false;
         }
         //carregamento das classes
         $this->load->library('dataFormat');
         $this->load->library('dataValidator');
         $this->load->model('produtos/produtosModel');
         $this->load->model('produtos/precosModel');
         $this->load->dao('produtos/precosDao');
         $dataFormat = new dataFormat();
         //obtenção dos dados
         $idProduto = (int) $this->http->getRequest('idProduto');
         $preco = (double) $dataFormat->formatar($this->http->getRequest('preco'), 'decimal', 'banco');
         $padrao = (bool) $this->http->getRequest('padrao');
         $de = $dataFormat->formatar($this->http->getRequest('de'), 'data', 'banco');
         $ate = $dataFormat->formatar($this->http->getRequest('ate'), 'data', 'banco');
         //validação dos dados
         $dataValidator = new dataValidator();
         $dataValidator->set('Preço', $preco, 'preco')->is_required()->is_num();
         if ($padrao == false) {
             $dataValidator->set('De', $de, 'de')->is_required()->is_date('Y-m-d');
             $dataValidator->set('Até', $ate, 'ate')->is_required()->is_date('Y-m-d');
         }
         if ($dataValidator->validate()) {
             //PRODUTOS
             $produtosModel = new produtosModel();
             $produtosModel->setId($idProduto);
             //PREÇOS MODEL
             $precosModel = new precosModel();
             $precosModel->setPreco($preco);
             $precosModel->setDataInicio($de);
             $precosModel->setDataFim($ate);
             $precosModel->setPadrao($padrao);
             $precosModel->setDataCadastro(date('Y-m-d'));
             //PRECOS DAO
             $precosDao = new precosDao();
             $this->http->response($precosDao->inserir($produtosModel, $precosModel));
         } else {
             $todos_erros = $dataValidator->get_errors();
             $this->http->response(json_encode($todos_erros));
         }
     } catch (dbException $e) {
         $this->http->response($e->getMessageError());
     }
 }
Ejemplo n.º 2
0
 /**
  * consulta o preço de venda
  * Caso esteja em um período, retornará o ultimo preço no período cadastrado
  * senão retornará o preço definido como padrão
  * */
 public function consultarPrecoVenda(produtosModel $produto)
 {
     try {
         $this->load->model('produtos/precosModel');
         $precosModel = new precosModel();
         $this->db->clear();
         $sql = "SELECT *\n\t\t\t\t\tFROM produtos_preco as P\n\t\t\t\t\tWHERE P.id_produto = ? \n\t\t\t\t\tAND id_produto_preco = \n\t\t\t\t\t\tCASE\n\t\t\t\t\t    \tWHEN (CURDATE() BETWEEN P.data_inicio  AND P.data_fim) THEN (\n\t\t\t\t\t        \tselect PP.id_produto_preco \n\t\t\t\t\t            from produtos_preco as PP \n\t\t\t\t\t            where PP.id_produto = P.id_produto \n\t\t\t\t\t            AND CURDATE() BETWEEN PP.data_inicio AND PP.data_fim \n\t\t\t\t\t            LIMIT 1\n\t\t\t\t\t    )\n\t\t\t\t\t    ELSE (\n\t\t\t\t\t        select PP.id_produto_preco \n\t\t\t\t\t            from produtos_preco as PP \n\t\t\t\t\t            where PP.id_produto = P.id_produto \n\t\t\t\t\t        AND PP.preco_padrao = TRUE LIMIT 1 \n\t\t\t\t\t    )\n\t\t\t\t\tEND\n\t\t\t\t\tORDER BY `P`.`id_produto_preco`  DESC LIMIT 1";
         $this->db->setParameter(1, $produto->getId());
         if ($this->db->query($sql)) {
             $result = $this->db->result();
             $precosModel->setId($result['id_produto_preco']);
             $precosModel->setPreco($result['preco_produto']);
             $precosModel->setDataInicio($result['data_inicio']);
             $precosModel->setDataFim($result['data_fim']);
             $precosModel->setPadrao($result['preco_padrao']);
             $precosModel->setDataCadastro($result['data_cadastro']);
         }
         return $precosModel;
     } catch (dbException $e) {
         return $e->getMessageError();
     }
 }