Ir para conteúdo
Fórum Script Brasil
  • 0

Não estou conseguindo criar essas alterações no MAP OS


powerinformatica

Pergunta

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!

 

Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...