D7net
Home
Console
Upload
information
Create File
Create Folder
About
Tools
:
/
var
/
www
/
html
/
rosario
/
adm
/
app
/
gre
/
Models
/
Filename :
ModVendaSemestreListar.php
back
Copy
<?php namespace App\gre\Models; if (!defined('URL')) { header("Location: /"); exit(); } /** * Description of ModRupturaListarProduto * * @copyright (c) year, Carlos Marques - CM */ class ModVendaSemestreListar { private $Resultado; private $Dados; private $DadoG; private $diase; public function listVenSem() { $this->Dados = filter_input_array(INPUT_POST, FILTER_DEFAULT); $this->DadosG = filter_input_array(INPUT_GET, FILTER_DEFAULT); // var_dump($this->Dados); if(isset($this->DadosG['opcao'])) { if($this->DadosG['opcao']=='V') { $this->Dados['curva'] = $this->DadosG['curva']; $this->Dados['prod_id'] = $this->DadosG['prod_id']; $this->Dados['data'] = $this->DadosG['data']; } } if(isset($this->Dados['LisVenSem'])) { $GerarSem = new \App\adms\Models\helper\AdmsProcedure5; $GerarSem->exeProcedure("monta_venda_sem", $this->Dados['filial_id'], $this->Dados['secao_id'], $this->Dados['grupo_id'], $this->Dados['subgrupo_id'], $this->Dados['classe_id']); //AdmsProcedure5 // $this->Dados = $this->DadosG; setlocale(LC_TIME, 'portuguese'); $lerLanc = new \App\adms\Models\helper\AdmsRead(); if ($this->Dados['exclui'] == 'N') { $lerLanc->fullRead("select ven.sem_ano, ven.sem_filial_id, ven.sem_produto_id, ven.sem_secao_id, ven.sem_grupo_id, ven.sem_subgrupo_id, ven.sem_classe_id, coalesce(ven.sem_1,0) sem_1, coalesce(ven.sem_2,0) sem_2, coalesce(ven.sem_3,0) sem_3, coalesce(ven.sem_4,0) sem_4, coalesce(ven.sem_5,0) sem_5, coalesce(ven.sem_6,0) sem_6, coalesce(ven.sem_1,0)+ coalesce(ven.sem_2,0) + coalesce(ven.sem_3,0) + coalesce(ven.sem_4,0) + coalesce(ven.sem_5,0) + coalesce(ven.sem_6,0) + coalesce(ven.sem_curso,0) sem_total, coalesce(ven.sem_curso,0) sem_curso, fili.nome fili_nome, prod.nome prod_nome, sec.nome secao_nome, gru.nome grupo_nome, COALESCE(sgru.nome, 'TODOS') subgrupo_nome, COALESCE(cla.nome, 'TODAS') classe_nome, date_sub(curdate(), interval 6 month) data1, date_sub(curdate(), interval 5 month) data2, date_sub(curdate(), interval 4 month) data3, date_sub(curdate(), interval 3 month) data4, date_sub(curdate(), interval 2 month) data5, date_sub(curdate(), interval 1 month) data6, case when datediff( date_sub(curdate(), interval 1 day),prod.data_inclusao) < 180 then datediff( date_sub(curdate(), interval 1 day),prod.data_inclusao) else datediff( curdate(),date_sub(concat(date_format(curdate(), '%Y-%m-'),'01'), interval 6 month)) end dias, (select date_format(max(v.data), '%d/%m/%Y') from ro_venda v where v.filial_id = ven.sem_filial_id) ult_venda from w_res_sem ven inner join ro_secao sec on ven.sem_secao_id = sec.id left join ro_grupo gru on ven.sem_grupo_id = gru.id left join ro_subgrupo sgru on ven.sem_subgrupo_id = sgru.id left join ro_classe cla on ven.sem_classe_id = cla.id inner join ro_filial fili on ven.sem_filial_id = fili.id inner join ro_produto prod on ven.sem_produto_id = prod.id where ven.sem_total <= :qtde order by sem_total desc , qtde_estoque desc", "qtde={$this->Dados['qtde']}"); }else{ $lerLanc->fullRead("select ven.sem_ano, ven.sem_filial_id, ven.sem_produto_id, ven.sem_secao_id, ven.sem_grupo_id, ven.sem_subgrupo_id, ven.sem_classe_id, coalesce(ven.sem_1,0) sem_1, coalesce(ven.sem_2,0) sem_2, coalesce(ven.sem_3,0) sem_3, coalesce(ven.sem_4,0) sem_4, coalesce(ven.sem_5,0) sem_5, coalesce(ven.sem_6,0) sem_6, coalesce(ven.sem_1,0)+ coalesce(ven.sem_2,0) + coalesce(ven.sem_3,0) + coalesce(ven.sem_4,0) + coalesce(ven.sem_5,0) + coalesce(ven.sem_6,0) + coalesce(ven.sem_curso,0) sem_total, coalesce(ven.sem_curso,0) sem_curso, fili.nome fili_nome, prod.nome prod_nome, sec.nome secao_nome, gru.nome grupo_nome, COALESCE(sgru.nome, 'TODOS') subgrupo_nome, COALESCE(cla.nome, 'TODAS') classe_nome, date_sub(curdate(), interval 6 month) data1, date_sub(curdate(), interval 5 month) data2, date_sub(curdate(), interval 4 month) data3, date_sub(curdate(), interval 3 month) data4, date_sub(curdate(), interval 2 month) data5, date_sub(curdate(), interval 1 month) data6, case when datediff( date_sub(curdate(), interval 1 day),prod.data_inclusao) < 180 then datediff( date_sub(curdate(), interval 1 day),prod.data_inclusao) else datediff( date_sub(curdate(), interval 1 day),concat(date_format(date_sub(curdate(), interval 6 month), '%Y-%m-'),'01')) end dias, (select date_format(max(v.data), '%d/%m/%Y') from ro_venda v where v.filial_id = ven.sem_filial_id) ult_venda, (select e.qtde from ro_estoque e where e.data = (select max(w.data)from ro_estoque w) and e.filial_id = ven.sem_filial_id and e.produto_id = ven.sem_produto_id ) qtde_estoque from w_res_sem ven inner join ro_secao sec on ven.sem_secao_id = sec.id left join ro_grupo gru on ven.sem_grupo_id = gru.id left join ro_subgrupo sgru on ven.sem_subgrupo_id = sgru.id left join ro_classe cla on ven.sem_classe_id = cla.id inner join ro_filial fili on ven.sem_filial_id = fili.id inner join ro_produto prod on ven.sem_produto_id = prod.id where ven.sem_total <= :qtde and (coalesce(ven.sem_4,0) + coalesce(ven.sem_5,0)+ coalesce(ven.sem_6,0) + coalesce(ven.sem_curso,0))= 0 order by sem_total desc, qtde_estoque desc", "qtde={$this->Dados['qtde']}"); } $this->Resultado= $lerLanc->getResultado(); if($this->Resultado) { $this->Resultado[0]['exclui'] = $this->Dados['exclui']; $this->Resultado[0]['qtde_limite'] = $this->Dados['qtde']; setlocale(LC_ALL, 'pt_BR', 'pt_BR.utf-8', 'pt_BR.utf-8', 'portuguese'); $this->Resultado[0]['data1'] = ucfirst( utf8_encode( strftime("%b/%Y", strtotime("{$this->Resultado[0]['data1']}") ) ) ); $this->Resultado[0]['data2'] = ucfirst( utf8_encode( strftime("%b/%Y", strtotime("{$this->Resultado[0]['data2']}") ) ) ); $this->Resultado[0]['data3'] = ucfirst( utf8_encode( strftime("%b/%Y", strtotime("{$this->Resultado[0]['data3']}") ) ) ); $this->Resultado[0]['data4'] = ucfirst( utf8_encode( strftime("%b/%Y", strtotime("{$this->Resultado[0]['data4']}") ) ) ); $this->Resultado[0]['data5'] = ucfirst( utf8_encode( strftime("%b/%Y", strtotime("{$this->Resultado[0]['data5']}") ) ) ); $this->Resultado[0]['data6'] = ucfirst( utf8_encode( strftime("%b/%Y", strtotime("{$this->Resultado[0]['data6']}") ) ) ); // var_dump($this->Resultado[0]); return $this->Resultado; }else{ $this->Resultado = false; } } } }