Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- class vendas extends CI_Controller {
- /**
- * author: Ramon Silva
- * email: silva018-mg@yahoo.com.br
- *
- */
- function __construct() {
- parent::__construct();
- if( (!session_id()) || (!$this->session->userdata('logado'))){
- redirect('mapos/login');
- }
- $this->load->helper(array('form','codegen_helper'));
- $this->load->model('vendas_model','',TRUE);
- $this->load->model('financeiro_model','',TRUE);
- $this->load->model('filiais_model','',TRUE);
- $this->load->model('pessoas_model','',TRUE);
- $this->load->model('cidades_model','',TRUE);
- $this->load->model('estados_model','',TRUE);
- $this->load->model('cadncm_model','',TRUE);
- $this->load->model('unidades_model','',TRUE);
- $this->data['menuVendas'] = 'vendas';
- }
- public function getNf() {
- $nf = new stdClass();
- $idNfe = 85;
- $nfDB = $this->vendas_model->getById($idNfe);
- $filialDB = $this->filiais_model->getById(11);
- $filialCidadeDB = $this->cidades_model->getById($filialDB->cidade);
- $filialEstadoDB = $this->estados_model->getById($filialCidadeDB->estados_id);
- $clienteDB = $this->pessoas_model->getById($nfDB->pessoas_id);
- $clienteCidadeDB = $this->cidades_model->getById($clienteDB->cidades_id);
- $clienteEstadoDB = $this->estados_model->getById($clienteCidadeDB->estados_id);
- $produtosDB = $this->vendas_model->getProdutos($idNfe);
- // Info
- $nf->data_emissao = date('c');
- $nf->natureza_operacao = 'Venda de Produtos';
- $nf->codigo_nf = $idNfe;
- // Emitente
- $nf->nome_emitente = $filialDB->razaoSocial;
- $nf->cnpj_emitente = $filialDB->cpfCgc;
- $nf->inscricao_estadual_emitente = $filialDB->inscEstadual;
- $nf->cod_municipio_emitente = $filialCidadeDB->codFiscalMunic;
- $nf->cod_uf_emitente = $filialEstadoDB->codigo;
- $nf->logradouro_emitente = $filialDB->endereco;
- $nf->numero_emitente = $filialDB->numero;
- $nf->bairro_emitente = $filialDB->bairro;
- $nf->municipio_emitente = $filialCidadeDB->cidade;
- $nf->uf_emitente = $filialCidadeDB->estados_id;
- $nf->pais_emitente = $clienteEstadoDB->pais;
- $nf->cep_emitente = $filialDB->cep;
- // Destinatario
- $nf->nome_destinatario = "NF-E EMITIDA EM AMBIENTE DE HOMOLOGACAO - SEM VALOR FISCAL";
- //$nf->nome_destinatario = $clienteDB->razaoSocial;
- $nf->cnpj_destinatario = $clienteDB->cpfCgc;
- $nf->inscricao_estadual_destinatario = $clienteDB->inscEstadual;
- $nf->logradouro_destinatario = $clienteDB->endereco;
- $nf->numero_destinatario = $clienteDB->numero;
- $nf->bairro_destinatario = $clienteDB->bairro;
- $nf->municipio_destinatario = $clienteCidadeDB->cidade;
- $nf->cod_municipio_destinatario = $clienteCidadeDB->codFiscalMunic;
- $nf->uf_destinatario = $clienteCidadeDB->estados_id;
- $nf->pais_destinatario = $clienteEstadoDB->pais;
- $nf->cep_destinatario = $clienteDB->cep;
- $saidaInterna = true;
- if($clienteCidadeDB->estados_id != $filialDB->estado) {
- $saidaInterna = false;
- }
- // Itens da venda
- $nf->itens = array();
- foreach ($produtosDB as $key => $itemDb) {
- $ncmDB = $this->cadncm_model->getById($itemDb->ncm_id);
- if($ncmDB == null) {
- // Erro caso NCM for nulo
- }
- // Info basica
- $item = new stdClass();
- $item->codigo_produto = $itemDb->produtos_id;
- $item->descricao = $itemDb->descVend;
- $cfop = null;
- if($saidaInterna) {
- $cfop = $ncmDB->cfop_saida_interna;
- }
- else {
- $cfop = $ncmDB->cfop_saida_interestadual;
- }
- $item->cfop = $cfop;
- $unidadesDB = $this->unidades_model->getById($itemDb->unidades_id);
- $item->unidade_comercial = $unidadesDB->abreviatura;
- $item->quantidade_comercial = $itemDb->quantidade;
- $item->valor_unitario_comercial = $itemDb->precoUnitario;
- $item->valor_unitario_tributavel = $itemDb->precoUnitario;
- $item->unidade_tributavel = $unidadesDB->abreviatura;
- $item->codigo_ncm = $ncmDB->ncm;
- $item->quantidade_tributavel = $itemDb->quantidade;
- $item->valor_bruto = $itemDb->vlrLiquido;
- //var_dump($itemDb);
- array_push($nf->itens, $item);
- }
- //var_dump($nf);
- return $nf;
- }
- public function enviaNfe() {
- $dados = new stdClass();
- $dados->codigo_empresa = 1;
- $dados->codigo_filial = 11;
- $dados->nf = $this->getNf();
- $this->load->library('Restclient');
- $result = $this->restclient->post("http://localhost/flexdfe/index.php/dfe/recebeNfe", array("dados" => json_encode($dados)));
- //var_dump($result);
- var_dump($result->decode_response());
- }
- function index(){
- $this->gerenciar();
- }
- function corrige_float($valor) {
- $valor = str_replace(".", "", $valor);
- $valor = str_replace(",", ".", $valor);
- return $valor;
- }
- function gerenciar(){
- if(!$this->permission->checkPermission($this->session->userdata('permissao'),'vVenda')){
- $this->session->set_flashdata('error','Você não tem permissão para visualizar vendas.');
- redirect(base_url());
- }
- $this->load->library('pagination');
- $config['base_url'] = base_url().'index.php/vendas/gerenciar/';
- $config['total_rows'] = $this->vendas_model->count('vendas');
- $config['per_page'] = 10;
- $config['next_link'] = 'Próxima';
- $config['prev_link'] = 'Anterior';
- $config['full_tag_open'] = '<div class="pagination alternate"><ul>';
- $config['full_tag_close'] = '</ul></div>';
- $config['num_tag_open'] = '<li>';
- $config['num_tag_close'] = '</li>';
- $config['cur_tag_open'] = '<li><a style="color: #2D335B"><b>';
- $config['cur_tag_close'] = '</b></a></li>';
- $config['prev_tag_open'] = '<li>';
- $config['prev_tag_close'] = '</li>';
- $config['next_tag_open'] = '<li>';
- $config['next_tag_close'] = '</li>';
- $config['first_link'] = 'Primeira';
- $config['last_link'] = 'Última';
- $config['first_tag_open'] = '<li>';
- $config['first_tag_close'] = '</li>';
- $config['last_tag_open'] = '<li>';
- $config['last_tag_close'] = '</li>';
- $this->pagination->initialize($config);
- $this->data['vendas'] = $this->vendas_model->get('vendas','*','',$config['per_page'],$this->uri->segment(3));
- $this->load->view('tema/topo',$this->data);
- $this->load->view('tema/wrapper');
- $this->load->view('vendas/vendas');
- $this->load->view('tema/rodape');
- }
- function adicionar(){
- if(!$this->permission->checkPermission($this->session->userdata('permissao'),'aVenda')){
- $this->session->set_flashdata('error','Você não tem permissão para adicionar vendas.');
- redirect(base_url());
- }
- $this->load->library('form_validation');
- $this->data['custom_error'] = '';
- if ($this->form_validation->run('vendas') == false) {
- $this->data['custom_error'] = (validation_errors() ? true : false);
- } else {
- $dataVenda = $this->input->post('dataVenda');
- try {
- $dataVenda = explode('/', $dataVenda);
- $dataVenda = $dataVenda[2].'-'.$dataVenda[1].'-'.$dataVenda[0];
- } catch (Exception $e) {
- $dataVenda = date('Y/m/d');
- }
- $data = array(
- 'dataVenda' => $dataVenda,
- 'pessoas_id' => $this->input->post('pessoas_id'),
- // 'transportadoras_id' => $this->input->post('transportadoras_id'),
- 'usuarios_id' => $_SESSION['id'],
- 'faturado' => 0
- );
- if (is_numeric($id = $this->vendas_model->add('vendas', $data, true)) ) {
- $this->session->set_flashdata('success','Venda iniciada com sucesso, adicione os produtos.');
- redirect('vendas/editar/'.$id);
- } else {
- $this->data['custom_error'] = '<div class="form_error"><p>Ocorreu um erro.</p></div>';
- }
- }
- $this->data['view'] = 'vendas/adicionar';
- $this->load->view('tema/topo', $this->data);
- $this->load->view('tema/wrapper');
- $this->load->view('vendas/adicionar');
- $this->load->view('tema/rodape');
- }
- function editar() {
- if(!$this->uri->segment(3) || !is_numeric($this->uri->segment(3))){
- $this->session->set_flashdata('error','Item não pode ser encontrado, parâmetro não foi passado corretamente.');
- redirect('mapos');
- }
- if(!$this->permission->checkPermission($this->session->userdata('permissao'),'eVenda')){
- $this->session->set_flashdata('error','Você não tem permissão para editar vendas');
- redirect(base_url());
- }
- $this->load->library('form_validation');
- $this->data['custom_error'] = '';
- if ($this->form_validation->run('vendas') == false) {
- $this->data['custom_error'] = (validation_errors() ? '<div class="form_error">' . validation_errors() . '</div>' : false);
- } else {
- $dataVenda = $this->input->post('dataVenda');
- try {
- $dataVenda = explode('/', $dataVenda);
- $dataVenda = $dataVenda[2].'-'.$dataVenda[1].'-'.$dataVenda[0];
- } catch (Exception $e) {
- $dataVenda = date('Y/m/d');
- }
- $data = array(
- 'dataVenda' => $dataVenda,
- // 'transportadoras_id' => $this->input->post('transportadoras_id'),
- 'pessoas_id' => $this->input->post('pessoas_id')
- );
- if ($this->vendas_model->edit('vendas', $data, 'idVenda', $this->input->post('idVenda')) == TRUE) {
- $this->session->set_flashdata('success','Venda editada com sucesso!');
- redirect(base_url() . 'index.php/vendas/editar/'.$this->input->post('idVenda'));
- } else {
- $this->data['custom_error'] = '<div class="form_error"><p>Ocorreu um erro</p></div>';
- }
- }
- $venda = $this->vendas_model->getById($this->uri->segment(3));
- $this->data['result'] = $venda;
- $this->data['produtos'] = $this->vendas_model->getProdutos($this->uri->segment(3));
- $saldoVale = $this->vendas_model->getSaldoVale($venda->pessoas_id);
- $this->data['saldoVale'] = $saldoVale;
- $this->load->view('tema/topo', $this->data);
- $this->load->view('tema/wrapper');
- $this->load->view('vendas/editar');
- $this->load->view('tema/rodape');
- }
- public function visualizar(){
- if(!$this->uri->segment(3) || !is_numeric($this->uri->segment(3))){
- $this->session->set_flashdata('error','Item não pode ser encontrado, parâmetro não foi passado corretamente.');
- redirect('mapos');
- }
- if(!$this->permission->checkPermission($this->session->userdata('permissao'),'vVenda')){
- $this->session->set_flashdata('error','Você não tem permissão para visualizar vendas.');
- redirect(base_url());
- }
- $this->data['custom_error'] = '';
- $this->data['result'] = $this->vendas_model->getById($this->uri->segment(3));
- $this->data['produtos'] = $this->vendas_model->getProdutos($this->uri->segment(3));
- $this->data['view'] = 'vendas/visualizarVenda';
- $this->load->view('tema/topo', $this->data);
- $this->load->view('tema/wrapper');
- $this->load->view('vendas/visualizar');
- $this->load->view('tema/rodape');
- }
- function excluir(){
- if(!$this->permission->checkPermission($this->session->userdata('permissao'),'dVenda')){
- $this->session->set_flashdata('error','Você não tem permissão para excluir vendas');
- redirect(base_url());
- }
- $id = $this->uri->segment(3);
- try {
- $ret = $this->vendas_model->delete('vendas','idVenda',$id);
- } catch (\Exception $e) {
- if($e->getCode() == 1451) {
- $this->session->set_flashdata('error','Vendas não pode ser excluida pois está sendo utilizada!');
- redirect(base_url().'index.php/vendas/');
- }
- }
- $this->session->set_flashdata('success','Venda excluída com sucesso!');
- redirect(base_url().'index.php/vendas/');
- }
- public function autoCompleteProduto(){
- if (isset($_GET['term'])){
- $q = strtolower($_GET['term']);
- $this->vendas_model->autoCompleteProduto($q);
- }
- }
- public function autoCompleteEtiqueta(){
- if (isset($_GET['term'])){
- $q = strtolower($_GET['term']);
- $this->vendas_model->autoCompleteEtiqueta($q);
- }
- }
- public function autoCompletePessoa(){
- if (isset($_GET['term'])){
- $q = strtolower($_GET['term']);
- $this->vendas_model->autoCompletePessoa($q);
- }
- }
- public function autoCompleteUsuario(){
- if (isset($_GET['term'])){
- $q = strtolower($_GET['term']);
- $this->vendas_model->autoCompleteUsuario($q);
- }
- }
- public function consultaCep(){
- $cep = $this->uri->segment(3);
- $row = $this->vendas_model->getCEP($cep);
- echo json_encode(array('row'=> $row));
- }
- public function adicionaCidade(){
- $cep = $this->input->post('cep');
- $data= array(
- 'logradouro' => $this->input->post('logradouro'),
- 'bairro' => $this->input->post('bairro'),
- 'localidade' => $this->input->post('localidade'),
- 'uf' => $this->input->post('uf')
- );
- $returned = $this->vendas_model->addCidade('cidades',$data,true);
- if($returned==false){
- echo json_encode(array('result' => false));
- }else{
- echo json_encode(array('id'=>$returned));
- }
- }
- // public function autoCompleteTransportadora(){
- // if (isset($_GET['term'])){
- // $q = strtolower($_GET['term']);
- // $this->vendas_model->autoCompleteTransportadora($q);
- // }
- //}
- public function adicionarProduto(){
- if(!$this->permission->checkPermission($this->session->userdata('permissao'),'eVenda')){
- $this->session->set_flashdata('error','Você não tem permissão para editar vendas.');
- redirect(base_url());
- }
- $idProduto = set_value('idProduto');
- $idVenda = set_value('idVenda');
- $quantidade = set_value('quantidade');
- $preco = set_value('preco');
- $descricao = set_value('descricao');
- $codBarra = set_value('codBarra');
- $percDesconto = set_value('perc_desconto');
- $valorDesconto = set_value('valor_desconto');
- $valorTotal = $quantidade*$preco;
- $valorLiquido = $valorTotal - $valorDesconto;
- $dataCadastro = date('Y/m/d');
- $precoCompra = $this->corrige_float(set_value('precoCompra'));
- $data = array(
- 'produtos_id'=> $idProduto,
- 'quantidade'=> $quantidade,
- 'precoUnitario'=> $preco,
- 'codBarra'=> $codBarra,
- 'descricao'=> $descricao,
- 'percentualDesconto' => $percDesconto,
- 'vlrDesconto' => $valorDesconto,
- 'vlrTotal' => $valorTotal,
- 'vlrLiquido' => $valorLiquido,
- 'vendas_id'=> $idVenda,
- );
- if($codBarra == null) {
- $etiqueta_id = $this->vendas_model->addEtiqueta($idVenda, $idProduto, $descricao, $quantidade, $preco, $precoCompra, $dataCadastro, $valorLiquido);
- $data['etiquetas_id'] = $etiqueta_id;
- }
- else {
- $data['etiquetas_id'] = set_value('idEtiqueta');
- }
- $this->vendas_model->add('vendas_produtos', $data);
- echo json_encode(array('result'=> true));
- }
- function excluirProduto(){
- if(!$this->permission->checkPermission($this->session->userdata('permissao'),'eVenda')){
- $this->session->set_flashdata('error','Você não tem permissão para editar vendas');
- redirect(base_url());
- }
- $ID = $this->input->post('idVenda_produto');
- if($this->vendas_model->delete('vendas_produtos','idVenda_produto',$ID) == true){
- echo json_encode(array('result'=> true));
- }
- else{
- echo json_encode(array('result'=> false));
- }
- }
- public function faturar() {
- $idVenda = $this->input->post('idVenda');
- $this->vendas_model->edit('vendas', array('faturado' => 1), 'idVenda', $idVenda);
- $qtdparcelas = set_value("qtdparcelas");
- $descricao = set_value('descricaoFaturar');
- $pessoa = set_value('fornecedor');
- $pessoas_id = set_value('pessoa_id');
- $formaPgto = set_value('formaPgto');
- $tipo = "Receita";
- $vencimento = $this->input->post('vencimento');
- $usaVale = set_value('usa_vale');
- $saldoVale = $this->corrige_float(set_value('saldo_vale'));
- $valorVale = $this->corrige_float(set_value('valor_vale'));
- $valor = $this->corrige_float(set_value('valor'));
- //Usa vale
- if($usaVale && $valorVale > 0) {
- $lancVale = array(
- 'descricao' => $descricao,
- 'valor' => $valorVale,
- 'dataVencimento' => $vencimento,
- 'baixado' => 0,
- 'clienteFornecedor' => $pessoa,
- 'pessoas_id' => $pessoas_id,
- 'formaPgto' => 'Vale',
- 'tipo' => 'Receita'
- );
- $idLancamento = $this->financeiro_model->addReturnId('lancamentos', $lancVale);
- $this->vendas_model->addLancamento($idVenda, $idLancamento);
- }
- try {
- $vencimento = explode('/', $vencimento);
- $vencimento = $vencimento[2].'-'.$vencimento[1].'-'.$vencimento[0];
- } catch (Exception $e) {
- $vencimento = date('Y/m/d');
- }
- // Pagamento a vista
- if($qtdparcelas == 0) {
- $data = array(
- 'descricao' => $descricao,
- 'valor' => $valor,
- 'dataVencimento' => $vencimento,
- 'baixado' => 0,
- 'clienteFornecedor' => $pessoa,
- 'pessoas_id' => $pessoas_id,
- 'formaPgto' => $formaPgto,
- 'tipo' => $tipo
- );
- $idLancamento = $this->financeiro_model->addReturnId('lancamentos', $data);
- $this->vendas_model->addLancamento($idVenda, $idLancamento);
- $this->session->set_flashdata('success','Ordem de serviço faturada com sucesso!');
- echo json_encode(array("resultado" => true));
- }
- else {
- for ($i=1; $i <= $qtdparcelas; $i++) {
- $val_parc = $this->corrige_float(set_value('parc_'. $i .'_valor'));
- $venc_parc = set_value('parc_'. $i .'_vencimento');
- $venc_parc = explode('/', $venc_parc);
- $venc_parc = $venc_parc[2].'-'.$venc_parc[1].'-'.$venc_parc[0];
- $data = array(
- 'descricao' => $descricao . ' (' . $i .'/'. $qtdparcelas .')',
- 'valor' => $val_parc,
- 'dataVencimento' => $venc_parc,
- 'baixado' => 0,
- 'clienteFornecedor' => $pessoa,
- 'pessoas_id' => $pessoas_id,
- 'formaPgto' => $formaPgto,
- 'tipo' => $tipo
- );
- $idLancamento = $this->financeiro_model->addReturnId('lancamentos', $data);
- $this->vendas_model->addLancamento($idVenda, $idLancamento);
- }
- $this->session->set_flashdata('success','Ordem de serviço faturada com sucesso!');
- echo json_encode(array("resultado" => true));
- }
- }
- public function imprimirCupom() {
- $venda = $this->vendas_model->getById($this->uri->segment(3));
- $this->data['result'] = $venda;
- $saldoVale = $this->vendas_model->getSaldoVale($venda->pessoas_id);
- $this->data['saldoVale'] = $saldoVale;
- $this->data['result'] = $this->vendas_model->getById($this->uri->segment(3));
- $this->data['produtos'] = $this->vendas_model->getProdutos($this->uri->segment(3));
- $dados =$this->vendas_model->getLancamentos($this->uri->segment(3));
- $this->data['dados'] = $dados;
- $this->load->view('tema/wrapper', $this->data);
- $this->load->view('vendas/cupom');
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement