Skip to content

Commit

Permalink
feature: Pacote de Atualização v4.26.0 (#1111)
Browse files Browse the repository at this point in the history
* Atualização v4.26.0
  • Loading branch information
seitbnao authored Jan 9, 2021
1 parent 35cb4d3 commit 7baeda3
Show file tree
Hide file tree
Showing 53 changed files with 1,260 additions and 176 deletions.
13 changes: 12 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,17 @@ Todas as alterações serão documentadas neste arquivo
Formato baseado em [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
e [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [4.26.0] - 2021-01-05

## Added
- Adiciona a cobrança ao lado do cliente;[@seitbnao](https://github.com/seitbnao)
- Permite reenviar a cobrança por email;[@seitbnao](https://github.com/seitbnao)
- Permite visualizar o boleto de cobrança;[@seitbnao](https://github.com/seitbnao)
- Permite atualizar o status de cobrança;[@seitbnao](https://github.com/seitbnao)
- Bloqueia o cliente de gerar uma cobrança, sendo restrito apenas para o administrador;[@seitbnao](https://github.com/seitbnao)
- Faz uma alteração na tabela cobrancas, para que a mesma receba o id do cliente.[@seitbnao](https://github.com/seitbnao)
- Altera a versão do mapos de 4.25.1 para 4.26.0

## [4.25.1] - 2021-01-04

## Fixed
Expand Down Expand Up @@ -621,4 +632,4 @@ Adicionado o campo valorTotal dentro do $this->data['results']. [Fábio Barbosa]
- Atualização de biblioteca mPDF para versão 6.1 [@Pr3d4dor](https://github.com/Pr3d4dor).

### Fixed
- Correção de erro ao gerar relatório sem emitente estar configurado [@RamonSilva20](https://github.com/RamonSilva20).
- Correção de erro ao gerar relatório sem emitente estar configurado [@RamonSilva20](https://github.com/RamonSilva20).
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@

![MapOS](https://raw.githubusercontent.com/RamonSilva20/mapos/master/assets/img/logo.png)

![version](https://img.shields.io/badge/version-4.25.1-blue.svg?longCache=true&style=flat-square)
![version](https://img.shields.io/badge/version-4.26.0-blue.svg?longCache=true&style=flat-square)
![license](https://img.shields.io/badge/license-MIT-green.svg?longCache=true&style=flat-square)
![theme](https://img.shields.io/badge/theme-Matrix--Admin-lightgrey.svg?longCache=true&style=flat-square)
![issues](https://img.shields.io/github/issues/RamonSilva20/mapos.svg?longCache=true&style=flat-square)
Expand Down
2 changes: 1 addition & 1 deletion application/config/config.php
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
/**
* App current version
*/
$config['app_version'] = '4.25.1';
$config['app_version'] = '4.26.0';

/**
* Nome do sistema
Expand Down
43 changes: 42 additions & 1 deletion application/controllers/Cobrancas.php
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ public function __construct()

$this->load->helper('form');
$this->load->model('cobrancas_model');
$this->data['menuCobrancas'] = 'cobrancas';
$this->data['menuFinanceiro'] = 'cobrancas';
}

public function index()
Expand Down Expand Up @@ -220,4 +220,45 @@ public function cancelar()
}
redirect(site_url('cobrancas/cobrancas/'));
}

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('cobrancas');
}

if (!$this->permission->checkPermission($this->session->userdata('permissao'), 'vCobranca')) {
$this->session->set_flashdata('error', 'Você não tem permissão para visualizar cobranças.');
redirect(base_url());
}
$this->load->model('cobrancas_model');

$this->data['result'] = $this->cobrancas_model->getByOs($this->uri->segment(3));
if ($this->data['result'] == null) {
$this->data['result'] = $this->cobrancas_model->getByVendas($this->uri->segment(3));
}
if ($this->data['result'] == null) {
$this->session->set_flashdata('error', 'Cobrança não encontrada.');
redirect(site_url('cobrancas/'));
}

$this->load->library('Gateways/GerencianetSdk', null, 'GerencianetSdk');
$this->load->model('pagamentos_model');

$change_id = intval($this->data['result']->charge_id);
$defaultPayment = $this->pagamentos_model->getPagamentos(0);

$pagamento = $this->GerencianetSdk->receberInfo(
$change_id,
$defaultPayment->client_id,
$defaultPayment->client_secret
);

$pagamento = json_decode($pagamento, true);
$this->data['gerencianet'] = json_decode(json_encode($pagamento), false);
$this->data['view'] = 'cobrancas/visualizarCobranca';

return $this->layout();
}
}
37 changes: 37 additions & 0 deletions application/controllers/Financeiro.php
Original file line number Diff line number Diff line change
Expand Up @@ -145,8 +145,15 @@ public function adicionarReceita()
'forma_pgto' => $this->input->post('formaPgto'),
'tipo' => set_value('tipo'),
'observacoes' => set_value('observacoes'),
'usuarios_id' => $this->session->userdata('id'),
];

if (set_value('idFornecedor')) {
$data['clientes_id'] = set_value('idFornecedor');
}
if (set_value('idCliente')) {
$data['clientes_id'] = set_value('idCliente');
}
if ($this->financeiro_model->add('lancamentos', $data) == true) {
$this->session->set_flashdata('success', 'Receita adicionada com sucesso!');
log_info('Adicionou uma receita');
Expand Down Expand Up @@ -208,8 +215,15 @@ public function adicionarDespesa()
'forma_pgto' => $this->input->post('formaPgto'),
'tipo' => set_value('tipo'),
'observacoes' => set_value('observacoes'),
'usuarios_id' => $this->session->userdata('id'),
];

if (set_value('idFornecedor')) {
$data['clientes_id'] = set_value('idFornecedor');
}
if (set_value('idCliente')) {
$data['clientes_id'] = set_value('idCliente');
}
if ($this->financeiro_model->add('lancamentos', $data) == true) {
$this->session->set_flashdata('success', 'Despesa adicionada com sucesso!');
log_info('Adicionou uma despesa');
Expand Down Expand Up @@ -267,8 +281,15 @@ public function editar()
'forma_pgto' => $this->input->post('formaPgto'),
'tipo' => $this->input->post('tipo'),
'observacoes' => $this->input->post('observacoes'),
'usuarios_id' => $this->session->userdata('id'),
];

if (set_value('idFornecedor')) {
$data['clientes_id'] = set_value('idFornecedor');
}
if (set_value('idCliente')) {
$data['clientes_id'] = set_value('idCliente');
}
if ($this->financeiro_model->edit('lancamentos', $data, 'idLancamentos', $this->input->post('id')) == true) {
$this->session->set_flashdata('success', 'lançamento editado com sucesso!');
log_info('Alterou um lançamento no financeiro. ID' . $this->input->post('id'));
Expand All @@ -291,7 +312,15 @@ public function editar()
'cliente_fornecedor' => set_value('fornecedor'),
'forma_pgto' => $this->input->post('formaPgto'),
'tipo' => $this->input->post('tipo'),
'usuarios_id' => $this->session->userdata('id'),
];
if (set_value('idFornecedor')) {
$data['clientes_id'] = set_value('idFornecedor');
}
if (set_value('idCliente')) {
$data['clientes_id'] = set_value('idCliente');
}

print_r($data);
}

Expand Down Expand Up @@ -328,6 +357,14 @@ public function autoCompleteClienteFornecedor()
}
}

public function autoCompleteClienteAddReceita()
{
if (isset($_GET['term'])) {
$q = strtolower($_GET['term']);
$this->financeiro_model->autoCompleteClienteReceita($q);
}
}

protected function getThisYear()
{
$dias = date("z");
Expand Down
3 changes: 3 additions & 0 deletions application/controllers/Mapos.php
Original file line number Diff line number Diff line change
Expand Up @@ -21,10 +21,12 @@ public function index()
{
$this->data['ordens'] = $this->mapos_model->getOsAbertas();
$this->data['ordens1'] = $this->mapos_model->getOsAguardandoPecas();
$this->data['ordens_andamento'] = $this->mapos_model->getOsAndamento();
$this->data['produtos'] = $this->mapos_model->getProdutosMinimo();
$this->data['os'] = $this->mapos_model->getOsEstatisticas();
$this->data['estatisticas_financeiro'] = $this->mapos_model->getEstatisticasFinanceiro();
$this->data['vendas_mes'] = $this->mapos_model->getEstatisticasVendasMes($this->input->get('year'));
$this->data['vendas_mesinadipl'] = $this->mapos_model->getEstatisticasVendasMesInadimplencia($this->input->get('year'));
$this->data['menuPainel'] = 'Painel';
$this->data['view'] = 'mapos/painel';
return $this->layout();
Expand Down Expand Up @@ -430,6 +432,7 @@ public function calendario()
case 'Aberto':
$cor = '#00cd00';
break;
case 'Negociação':
case 'Em Andamento':
$cor = '#436eee';
break;
Expand Down
176 changes: 136 additions & 40 deletions application/controllers/Mine.php
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ public function login()
$cliente = $this->db->get('clientes');
if ($cliente->num_rows() > 0) {
$cliente = $cliente->row();
$dados = ['nome' => $cliente->nomeCliente, 'cliente_id' => $cliente->idClientes, 'conectado' => true];
$dados = ['nome' => $cliente->nomeCliente, 'cliente_id' => $cliente->idClientes, 'email' => $cliente->email, 'conectado' => true, 'isCliente' => true];
$this->session->set_userdata($dados);

if ($ajax == true) {
Expand Down Expand Up @@ -172,6 +172,134 @@ public function compras()
$this->load->view('conecte/template', $data);
}

public function cobrancas()
{
if (!session_id() || !$this->session->userdata('conectado')) {
redirect('mine');
}

$data['menuCobrancas'] = 'cobrancas';
$this->load->library('pagination');

$config['base_url'] = base_url() . 'index.php/mine/cobrancas/';
$config['total_rows'] = $this->Conecte_model->count('cobrancas', $this->session->userdata('cliente_id'));
$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);

$data['results'] = $this->Conecte_model->getCobrancas('cobrancas', '*', '', $config['per_page'], $this->uri->segment(3), '', '', $this->session->userdata('cliente_id'));

$data['output'] = 'conecte/cobrancas';
$this->load->view('conecte/template', $data);
}

public function atualizarcobranca($id = null)
{
if (!session_id() || !$this->session->userdata('conectado')) {
redirect('mine');
}

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'), 'eCobranca')) {
$this->session->set_flashdata('error', 'Você não tem permissão para atualizar cobrança.');
redirect(base_url());
}

$this->load->library('Gateways/GerencianetSdk', null, 'GerencianetSdk');
$this->load->model('pagamentos_model');

$change_id = intval($this->uri->segment(3));
$defaultPayment = $this->pagamentos_model->getPagamentos(0);

//Pegamos o retorno para atualizar o banco
$pagamento = $this->GerencianetSdk->receberInfo(
$change_id,
$defaultPayment->client_id,
$defaultPayment->client_secret
);

$pagamento = json_decode($pagamento, true);
$obj = json_decode(json_encode($pagamento), false);

$data = [
'status' => $obj->data->status,
];

if ($this->pagamentos_model->edit('cobrancas', $data, 'charge_id', $change_id) == true) {
$this->session->set_flashdata('success', 'Cobrança atualizada com sucesso!');
log_info('Alterou um status de cobrança. ID' . $change_id);
//Cobrança foi paga ou foi confirmada de forma manual, então damos baixa
if ($obj->data->status == "paid" || $obj->data->status == "settled") {
//TODO: dar baixa no lançamento caso exista
}
} else {
$this->data['custom_error'] = '<div class="form_error"><p>Ocorreu um erro</p></div>';
}
redirect(site_url('mine/cobrancas/'));
}

public function enviarcobranca($id = null)
{
if (!session_id() || !$this->session->userdata('conectado')) {
redirect('mine');
}

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'), 'eCobranca')) {
$this->session->set_flashdata('error', 'Você não tem permissão para atualizar cobrança.');
redirect(base_url());
}

$this->load->library('Gateways/GerencianetSdk', null, 'GerencianetSdk');
$this->load->model('pagamentos_model');

$change_id = intval($this->uri->segment(3));
$defaultPayment = $this->pagamentos_model->getPagamentos(0);
//Pegamos o retorno para atualizar o banco
$pagamento = $this->GerencianetSdk->enviarBoletoEmail(
$change_id,
$this->session->userdata('email'),
$defaultPayment->client_id,
$defaultPayment->client_secret
);

$pagamento = json_decode($pagamento, true);
$obj = json_decode(json_encode($pagamento), false);

if ($obj->code == 200) {
$this->session->set_flashdata('success', 'Cobrança enviada para o email: '.$this->session->userdata('email'));
} else {
$this->data['custom_error'] = '<div class="form_error"><p>Ocorreu um erro</p></div>';
}
redirect(site_url('mine/cobrancas/'));
}

public function os()
{
if (!session_id() || !$this->session->userdata('conectado')) {
Expand Down Expand Up @@ -244,50 +372,18 @@ public function visualizarOs($id = null)

public function gerarPagamentoGerencianetBoleto()
{
$this->load->library('Gateways/GerencianetSdk', null, 'GerencianetSdk');

$this->load->model('pagamentos_model');
$pagamentoM = $this->pagamentos_model->getPagamentos($this->uri->segment(3));

$pagamento = $this->GerencianetSdk->gerarBoleto(
$pagamentoM->client_id,
$pagamentoM->client_secret,
$this->input->post('nomeCliente'),
$this->input->post('emailCliente'),
$this->input->post('documentoCliente'),
$this->input->post('celular_cliente'),
$this->input->post('ruaCliente'),
$this->input->post('numeroCliente'),
$this->input->post('bairroCliente'),
$this->input->post('cidadeCliente'),
$this->input->post('estadoCliente'),
$this->input->post('cepCliente'),
$this->input->post('idOs'),
$this->input->post('titleBoleto'),
$this->input->post('totalValor'),
intval($this->input->post('quantidade'))
);

print_r($pagamento);
$json = ['code' => 4001, 'error' => 'Erro interno' , 'errorDescription' => 'Cobrança não pode ser gerada pelo lado do cliente'];
print_r(json_encode($json));

return;
}

public function gerarPagamentoGerencianetLink()
{
$this->load->library('Gateways/GerencianetSdk', null, 'GerencianetSdk');

$this->load->model('pagamentos_model');
$pagamentoM = $this->pagamentos_model->getPagamentos($this->uri->segment(3));

$pagamento = $this->GerencianetSdk->gerarLink(
$pagamentoM->client_id,
$pagamentoM->client_secret,
$this->input->post('idOs'),
$this->input->post('titleLink'),
$this->input->post('totalValor'),
intval($this->input->post('quantidade'))
);
$json = ['code' => 4001, 'error' => 'Erro interno' , 'errorDescription' => 'Cobrança não pode ser gerada pelo lado do cliente'];
print_r(json_encode($json));

print_r($pagamento);
return;
}

public function imprimirOs($id = null)
Expand Down
Loading

0 comments on commit 7baeda3

Please sign in to comment.