Leverage data from a record by creating a new record

0

I have the following codes:     function add ($ table, $ data, $ returnId = false) {

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

    return FALSE;       
}

function edit($table,$data,$fieldID,$ID){
    $this->db->where($fieldID,$ID);
    $this->db->update($table, $data);

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

    return FALSE;       
}

One add (add) and the other edit (edit) the registry.

The other function that manipulates the fields:

function adicionar(){


    if(!$this->permission->checkPermission($this->session->userdata('permissao'),'aOs')){
       $this->session->set_flashdata('error','Você não tem permissão para adicionar O.S.');
       redirect(base_url());
    }

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

    if ($this->form_validation->run('os') == false) {
       $this->data['custom_error'] = (validation_errors() ? true : false);
    } else {

        $dataInicial = $this->input->post('dataInicial');

        try {

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


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


         }

        $data = array(
            'clientes_id' => $this->input->post('clientes_id'),//set_value('idCliente'),
            'usuarios_id' => $this->input->post('usuarios_id'),//set_value('idUsuario'),
            'contatos' => set_value('contatos'),
            'email_contato1' => set_value('email_contato1'),
            'email_contato2' => set_value('email_contato2'),
            'status' => set_value('status'),
            'dataInicial' => $dataInicial,
            'tipo_produto' => set_value('tipo_produto'),
            'cod_bar' => set_value('cod_bar'),
            'codigo' => set_value('codigo'),
            'versao' => set_value('versao'),
            'descricao_produto' => set_value('descricao_produto'),
            'tipo_trabalho' => set_value('tipo_trabalho'),
            'tipo_corte' => set_value('tipo_corte'),
            'referencia' => $this->input->post('referencia'),//set_value('idReferencia'),
            'amostra' => set_value('amostra'),
            'substrato_imprime' => set_value('substrato_imprime'),
            'substrato_lamina' => set_value('substrato_lamina'),
            'print' => set_value('print'),
            'faca_id' => $this->input->post('faca_id'),//set_value('idFacas'),
            'observacoes' => set_value('observacoes'),
            'laudoTecnico' => set_value('laudoTecnico'),
            'impressora' => $this->input->post('impressora'),
            'passo' => set_value('passo'),
            'altura' => set_value('altura'),
            'largura' => set_value('largura'),
            'quanti_imagens' => set_value('quanti_imagens'),
            'qua_carreira_imprime' => set_value('qua_carreira_imprime'),
            'qua_carreira_rebobina' => set_value('qua_carreira_rebobina'),
            'quan_rolo_bloco_peso' => set_value('quan_rolo_bloco_peso'),
            'transporte' => set_value('transporte'),
            'embobinamento' => set_value('embobinamento'),
            'tubete' => set_value('tubete'),
            'unidade_medida' => set_value('unidade_medida'),
            'camada' => set_value('camada'),
            'rotulagem' => set_value('rotulagem'),
            'produto_acabado' => set_value('produto_acabado'),
            'verniz' => set_value('verniz'),
            'sentido' => set_value('sentido'),
            'layflat' => set_value('layflat'),
            'largura_material' => set_value('largura_material'),
            'cor_frasco' => set_value('cor_frasco'),
            'cor_liquido' => set_value('cor_liquido'),
            'tunel' => set_value('tunel'),
            'serrilha' => set_value('serrilha'),
            'microfuro' => set_value('microfuro'),
            'hot_heat' => set_value('hot_heat'),
        );


        if ( is_numeric($id = $this->os_model->add('os', $data, true)) ) {
            $this->session->set_flashdata('success','OS adicionada com sucesso.');
            redirect('os/adicionar/'.$id);

        } else {

            $this->data['custom_error'] = '<div class="form_error"><p>An Error Occured.</p></div>';
        }
    }

    $this->data['view'] = 'os/adicionarOs';
    $this->load->view('tema/topo', $this->data);
}  

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'),'eOs')){
       $this->session->set_flashdata('error','Você não tem permissão para editar O.S.');
       redirect(base_url());
    }

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

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

        $dataInicial = $this->input->post('dataInicial');
        $data_enviojpg = $this->input->post('data_enviojpg');
        $data_aprovacao = $this->input->post('data_aprovacao');
        $dataInicial = $this->input->post('dataInicial');
        $data_solicitacliche = $this->input->post('data_solicitacliche');
        $data_chegoucliche = $this->input->post('data_chegoucliche');


        try {

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

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

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

        $data = array(
            'dataInicial' => $dataInicial,
            'clientes_id' => $this->input->post('clientes_id'),//set_value('idCliente'),
            'usuarios_id' => $this->input->post('usuarios_id'),//set_value('idUsuario'),
            'contatos' => $this->input->post('contatos'),
            'email_contato1' => $this->input->post('email_contato1'),
            'email_contato2' => $this->input->post('email_contato2'),
            'status' => $this->input->post('status'),
            'dataInicial' => $dataInicial,
            'tipo_produto' => $this->input->post('tipo_produto'),
            'cod_bar' => $this->input->post('cod_bar'),
            'codigo' => $this->input->post('codigo'),
            'versao' => $this->input->post('versao'),
            'descricao_produto' => $this->input->post('descricao_produto'),
            'tipo_trabalho' => $this->input->post('tipo_trabalho'),
            'tipo_corte' => $this->input->post('tipo_corte'),
            'referencia' => $this->input->post('referencia'),//set_value('idReferencia'),
            'amostra' => $this->input->post('amostra'),
            'substrato_imprime' => $this->input->post('substrato_imprime'),
            'substrato_lamina' => $this->input->post('substrato_lamina'),
            'print' => $this->input->post('print'),
            'faca_id' => $this->input->post('faca_id'),//set_value('idFacas'),
            'observacoes' => $this->input->post('observacoes'),
            'laudoTecnico' => $this->input->post('laudoTecnico'),
            'impressora' => $this->input->post('impressora'),
            'passo' => $this->input->post('passo'),
            'altura' => $this->input->post('altura'),
            'largura' => $this->input->post('largura'),
            'quanti_imagens' => $this->input->post('quanti_imagens'),
            'qua_carreira_imprime' => $this->input->post('qua_carreira_imprime'),
            'qua_carreira_rebobina' => $this->input->post('qua_carreira_rebobina'),
            'quan_rolo_bloco_peso' => $this->input->post('quan_rolo_bloco_peso'),
            'transporte' => set_value('transporte'),
            'embobinamento' => $this->input->post('embobinamento'),
            'tubete' => $this->input->post('tubete'),
            'unidade_medida' => $this->input->post('unidade_medida'),
            'camada' => $this->input->post('camada'),
            'rotulagem' => $this->input->post('rotulagem'),
            'produto_acabado' => set_value('produto_acabado'),
            'verniz' => $this->input->post('verniz'),
            'sentido' => set_value('sentido'),
            'layflat' => $this->input->post('layflat'),
            'largura_material' => $this->input->post('largura_material'),
            'cor_frasco' => $this->input->post('cor_frasco'),
            'cor_liquido' => $this->input->post('cor_liquido'),
            'tunel' => $this->input->post('tunel'),
            'serrilha' => $this->input->post('serrilha'),
            'microfuro' => $this->input->post('microfuro'),
            'hot_heat' => $this->input->post('hot_heat'),
            'data_chegoucliche' => $data_chegoucliche,
            'distorcao' => $this->input->post('distorcao'),
            'referencia_cor' => $this->input->post('referencia_cor'),
            'conjugado' => $this->input->post('conjugado'),
            'clicheria' => $this->input->post('clicheria'),
            'cores_comum' => $this->input->post('cores_comum'),
            'data_enviojpg'  => $data_enviojpg,
            'data_aprovacao'  => $data_aprovacao,
            'data_solicitacliche'  => $data_solicitacliche,
            'referencia_pantone' => $this->input->post('referencia_pantone'),
            'cor1' => $this->input->post('cor1'),
            'cor2' => $this->input->post('cor2'),
            'cor3' => $this->input->post('cor3'),
            'cor4' => $this->input->post('cor4'),
            'cor5' => $this->input->post('cor5'),
            'cor6' => $this->input->post('cor6'),
            'cor7' => $this->input->post('cor7'),
            'cor8' => $this->input->post('cor8'),
            'cor9' => $this->input->post('cor9'),
            'cor10' => $this->input->post('cor10'),
            'cor11' => $this->input->post('cor11'),
            'cor12' => $this->input->post('cor12'),
            'rolinho' => $this->input->post('rolinho'),
            'corredor_fc' => $this->input->post('corredor_fc'),
            'anilox1' => $this->input->post('anilox1'),
            'anilox2' => $this->input->post('anilox2'),
            'anilox3' => $this->input->post('anilox3'),
            'anilox4' => $this->input->post('anilox4'),
            'anilox5' => $this->input->post('anilox5'),
            'anilox6' => $this->input->post('anilox6'),
            'anilox7' => $this->input->post('anilox7'),
            'anilox8' => $this->input->post('anilox8'),
            'bcm1' => $this->input->post('bcm1'),
            'bcm2' => $this->input->post('bcm2'),
            'bcm3' => $this->input->post('bcm3'),
            'bcm4' => $this->input->post('bcm4'),
            'bcm5' => $this->input->post('bcm5'),
            'bcm6' => $this->input->post('bcm6'),
            'bcm7' => $this->input->post('bcm7'),
            'bcm8' => $this->input->post('bcm8'),
        );

        if ($this->os_model->edit('os', $data, 'idOs', $this->input->post('idOs')) == TRUE) {
            $this->session->set_flashdata('success','Os editada com sucesso!');
            redirect(base_url() . 'index.php/os/editar/'.$this->input->post('idOs'));
        } else {
            $this->data['custom_error'] = '<div class="form_error"><p>Ocorreu um erro</p></div>';
        }
    }

    $this->data['result'] = $this->os_model->getById($this->uri->segment(3));
    $this->data['view'] = 'os/editarOs';
    $this->load->view('tema/topo', $this->data);

}

I need to create the Duplicate Function. I edit the already existing data where I will change some information from the product description field, for example, the fields product code and version would be blank to be informed with other numbers and instead save the same record, be saved as another new id.

    
asked by anonymous 06.08.2018 / 16:03

0 answers