Ir para conteúdo

jardeldint

Members
  • Total de itens

    10
  • Registro em

  • Última visita

Posts postados por jardeldint


  1. Olá pessoal!
    Acredito que alguns daqui do grupo conhece o sistema de Ordens de Serviço MAPOS, que foi desenvolvido em CodeIgniter.

    Estou fazendo uma alteração nele, para que quando o usuário for receber uma parte de um pagamento do cliente, o restante apareça no cadastro de cliente. Por exemplo: O Cliente X tinha um débito de R$ 500,00. Más no dia Y ele pagou R$ 100,00, restando então R$ 400,00.

    No Models do Financeiro, fiz essa alteração abaixo na linha do "function edit":

    <?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');

    class Financeiro_model extends CI_Model {

    function __construct() {
    parent::__construct();
    }


    function get($table,$fields,$where='',$perpage=0,$start=0,$one=false,$array='array'){

    $this
    ->db->select($fields);
    $this->db->from($table);
    $this->db->order_by('data_vencimento', 'asc');
    $this->db->limit($perpage,$start);
    if($where){
    $this->db->where($where);
    }

    $query
    = $this->db->get();

    $result
    = !$one ? $query->result() : $query->row();
    return $result;
    }


    function getById($id){
    $this->db->where('idClientes',$id);
    $this->db->limit(1);
    return $this->db->get('clientes')->row();
    }

    function add($table,$data){
    $this->db->insert($table, $data);
    if ($this->db->affected_rows() == '1')
    {
    return TRUE;
    }

    return FALSE;
    }

    function edit($table,$data,$fieldID,$ID){
    $this->db->select('clientes.saldoDevedor, lancamentos.clientes_id, lancamentos.valor, lancamentos.idLancamentos');
    $this->db->from('lancamentos,clientes');
    $this->db->where($fieldID,$ID);
    $this->db->update($table, $data);

    if ($this->db->affected_rows() >= 0)
    {
    return TRUE;
    }

    return FALSE;
    }



    function delete($table,$fieldID,$ID){
    $this->db->where($fieldID,$ID);
    $this->db->delete($table);
    if ($this->db->affected_rows() == '1')
    {
    return TRUE;
    }

    return FALSE;
    }

    function count($table) {
    return $this->db->count_all($table);
    }

    }


    E no Views do lançamento criei esse campo, dentro do Modal de Editar Lançamento:

    <div class="span4" style="margin-left: 0">
    <label for="valor-pagar">Valor a Receber/Pagar</label>
    <input type="text" name="tipoPagar" value="" />
    <input type="hidden" id="Pagar" name="idPagar" value="" />
    </div>

    E no Controlers na função Editar, alterei com essas informações:
    Eu so inseri esses comandos que vocês odem olhar no codigo abaixo:

    public function editar(){
    if(!$this->permission->

    checkPermission($this->session->userdata('permissao'),'eLancamento')){
    $this->session->set_flashdata('error','Você não tem permissão para editar lançamentos.');
    redirect(base_url());
    }

    $this->load->library('form_validation');
    $this->data['custom_error'] = '';
    $urlAtual = $this->input->post('urlAtual');

    $this->form_validation->set_rules('descricao', '', 'trim|required|xss_clean');
    $this->form_validation->set_rules('fornecedor', '', 'trim|required|xss_clean');
    $this->form_validation->set_rules('valor', '', 'trim|required|xss_clean');
    $this->form_validation->set_rules('vencimento', '', 'trim|required|xss_clean');
    $this->form_validation->set_rules('pagamento', '', 'trim|xss_clean');

    if ($this->form_validation->run() == false) {
    $this->data['custom_error'] = (validation_errors() ? '<div class="form_error">' . validation_errors() . '</div>' : false);
    } else {

    $vencimento = $this->input->post('vencimento');
    $pagamento = $this->input->post('pagamento');

    try {

    $vencimento = explode('/', $vencimento);
    $vencimento = $vencimento[2].'-'.$vencimento[1].'-'.$vencimento[0];

    $pagamento = explode('/', $pagamento);
    $pagamento = $pagamento[2].'-'.$pagamento[1].'-'.$pagamento[0];

    } catch (Exception $e) {
    $vencimento = date('Y/m/d');
    }


    $capturaValorTotal = $this->input->post('valor');
    $capturaValorPagar = $this->input->post('valor-pagar');

    $valorDevido = $capturaValorTotal - $capturaValorPagar;

    $inserindoBanco = "INSERT INTO `clientes` set `saldoDevedor`='".$valorDevido."'";

    $executandoQuery = mysql_query($inserindoBanco);


    $data = array(
    'descricao' => $this->input->post('descricao'),
    'valor' => $this->input->post('valor'),
    'valor-pagar' => $this->input->post('valor-pagar'),
    'data_vencimento' => $vencimento,
    'data_pagamento' => $pagamento,
    'baixado' => $this->input->post('pago'),
    'cliente_fornecedor' => $this->input->post('fornecedor'),
    'forma_pgto' => $this->input->post('formaPgto'),
    'numCheque' => $this->input->post('numCheque'),
    'numCartao' => $this->input->post('numCartao'),
    'valCartao' => $this->input->post('valCartao'),
    'tipo' => $this->input->post('tipo')
    );





    if ($this->financeiro_model->edit('lancamentos',$data,'idLancamentos',$this->input->post('id')) == TRUE) {
    $this->session->set_flashdata('success','lançamento editado com sucesso!');
    redirect($urlAtual);
    } else {
    $this->session->set_flashdata('error','Ocorreu um erro ao tentar editar lançamento!');
    redirect($urlAtual);
    }
    }

    $this->session->set_flashdata('error','Ocorreu um erro ao tentar editar lançamento.');
    redirect($urlAtual);

    $data = array(
    'descricao' => $this->input->post('descricao'),
    'valor' => $this->input->post('valor'),
    'data_vencimento' => $this->input->post('vencimento'),
    'data_pagamento' => $this->input->post('pagamento'),
    'baixado' => $this->input->post('pago'),
    'cliente_fornecedor' => set_value('fornecedor'),
    'forma_pgto' => $this->input->post('formaPgto'),
    'tipo' => $this->input->post('tipo')
    );
    print_r($data);

    }
    public function editar(){
    if(!$this->permission->checkPermission($this->session->userdata('permissao'),'eLancamento')){
    $this->session->set_flashdata('error','Você não tem permissão para editar lançamentos.');
    redirect(base_url());
    }

    $this->load->library('form_validation');
    $this->data['custom_error'] = '';
    $urlAtual = $this->input->post('urlAtual');

    $this->form_validation->set_rules('descricao', '', 'trim|required|xss_clean');
    $this->form_validation->set_rules('fornecedor', '', 'trim|required|xss_clean');
    $this->form_validation->set_rules('valor', '', 'trim|required|xss_clean');
    $this->form_validation->set_rules('vencimento', '', 'trim|required|xss_clean');
    $this->form_validation->set_rules('pagamento', '', 'trim|xss_clean');

    if ($this->form_validation->run() == false) {
    $this->data['custom_error'] = (validation_errors() ? '<div class="form_error">' . validation_errors() . '</div>' : false);
    } else {

    $vencimento = $this->input->post('vencimento');
    $pagamento = $this->input->post('pagamento');

    try {

    $vencimento
    = explode('/', $vencimento);
    $vencimento = $vencimento[2].'-'.$vencimento[1].'-'.$vencimento[0];

    $pagamento = explode('/', $pagamento);
    $pagamento = $pagamento[2].'-'.$pagamento[1].'-'.$pagamento[0];

    } catch (Exception $e) {
    $vencimento = date('Y/m/d');
    }


    $capturaValorTotal
    = $this->input->post('valor');
    $capturaValorPagar = $this->input->post('valor-pagar');

    $valorDevido
    = $capturaValorTotal - $capturaValorPagar;

    $inserindoBanco
    = "INSERT INTO `clientes` set `saldoDevedor`='".$valorDevido."'";

    $executandoQuery
    = mysql_query($inserindoBanco);


    $data
    = array(
    'descricao' => $this->input->post('descricao'),
    'valor' => $this->input->post('valor'),
    'valor-pagar' => $this->input->post('valor-pagar'),
    'data_vencimento' => $vencimento,
    'data_pagamento' => $pagamento,
    'baixado' => $this->input->post('pago'),
    'cliente_fornecedor' => $this->input->post('fornecedor'),
    'forma_pgto' => $this->input->post('formaPgto'),
    'numCheque' => $this->input->post('numCheque'),
    'numCartao' => $this->input->post('numCartao'),
    'valCartao' => $this->input->post('valCartao'),
    'tipo' => $this->input->post('tipo')
    );





    if ($this->financeiro_model->edit('lancamentos',$data,'idLancamentos',$this->input->post('id')) == TRUE) {
    $this->session->set_flashdata('success','lançamento editado com sucesso!');
    redirect($urlAtual);
    } else {
    $this->session->set_flashdata('error','Ocorreu um erro ao tentar editar lançamento!');
    redirect($urlAtual);
    }
    }

    $this->session->set_flashdata('error','Ocorreu um erro ao tentar editar lançamento.');
    redirect($urlAtual);

    $data = array(
    'descricao' => $this->input->post('descricao'),
    'valor' => $this->input->post('valor'),
    'data_vencimento' => $this->input->post('vencimento'),
    'data_pagamento' => $this->input->post('pagamento'),
    'baixado' => $this->input->post('pago'),
    'cliente_fornecedor' => set_value('fornecedor'),
    'forma_pgto' => $this->input->post('formaPgto'),
    'tipo' => $this->input->post('tipo')
    );
    print_r($data);

    }

    O que eu não estou entendendo é onde esta ou onde estão os meus erros, pois não grava nada no Banco de Dados, sendo q eu criei na tablea clienes o campo saldoDevedor. E ainda por cima, quando faço o teste, utilizando o debito de cliente já existente, informo o valor que foi pago, e diz que foi alterando com sucesso, más na realidade nada acontece.

    Fico no aguardo se alguém puder me ajudar!

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.