violin101
-
Content count
303 -
Joined
-
Last visited
Posts posted by violin101
-
-
Caros amigos, saudações.
Estou escrevendo um Sistema Java Web e quando clico no Botão Salvar, o Java acusa esse erro:
ERROR: Cannot invoke "Object.toString()" because the return value of "java.util.Map.get(Object)" is nullJá tentei de várias formas resolver esse problema, mas não estou conseguindo.
Por favor, alguém pode me ajudar identificar a origem e resolver o problema acima ?
Grato,Cesar
-
Caros amigos, saudações.
Estou enfrentando um problema que não consigo entender.
Após Instalar o MySql versão 8.0.36, funciona corretamente realizando as conexões.
O problema é:
---[ após reiniciar o micro, o MySql não faz as conexões.--[ tenta localizar este arquivo, mas não acha: my.ini
Onde localizo ou configuro este arquivo na Pasta MySql ?
Grato,Cesar
-
Caro amigo Omar, saudações.
Estou usando o Eclipse v4.5.2.
Conforme sua orientação acima, o Jasper Reports pelo o que entendi, não é mais uma plataforma aberta como antes.
Minha dúvida:
- após baixar o o Jasper diretamente do Site, como faço para interagir/implementar aos meus arquivos no Eclipse ?
Tem alguma vídeo aula, explicando esta parte ?
Grato,Cesar
-
Pessoal, alguém por favor pode me ajudar ?
Atenciosamente ,
Cesar
-
Caros amigos, saudações.
Por favor, preciso de ajuda em Relação a Instalar o Jasper Reports no Eclipse, pois a opção de Eclipse Marketplace, não encontra para instalar.
Já tentei de todas as formas mas não consegui, alguém conhece alguma rotina explicando este procedimento ?
Grato,
Cesar
-
Caros amantes da informática.
Saudações.
Após algumas tentativas sem sucesso e muita pesquisa, consegui resolver o problema de Instalação do JBoss Tools no Eclipse.
Segui as instruções deste site e deu certo, link abaixo:
https://docs.jboss.org/tools/4.0.1.Final/en/GettingStartedGuide/html/ch01.htmlEspero ajudar quem tiver dúvida como eu tive.
Grato,
Cesar
-
Caros amantes da informática.
Saudações.
Estou usando o Eclipse Mars versão 4.5.0 e o 4.5.2, acredito que deva ter versões mais novas.
Sou novato em JAVA e estou encontrando alguns problema em Instalação de alguns plugins, como por exemplo:
1) quando tento instalar o JBoss Tools através do Eclipse Marteplace, o Eclipse não o encontra na lista de plugins.
2) se tento instalar através do Install New Software, abaixa alguns arquivos, mas também não instala o JBoss.
3) se abro o site e arrasto o download para a área de trabalho do Eclipse, também não instala o JBoss.
Caros amigos, existe outra alguma forma de instalar o JBoss Tools no Eclipse e como seria ?
Grato,
Cesar
-
Caros amigos, saudações.
Por favor, me permita tirar uma dúvida com os amigos.
Tenho um Formulário onde o Usuário digita todos os Dados necessários.
Minha dúvida:
--> como faço após o usuário digitar os dados e salvar, o Sistema chamar uma Modal ou mensagem perguntando se deseja imprimir agora ?
Grato,Cesar
-
Caros amigos, saudações.
Gostaria de tirar uma dúvida com os amigos, referente a PDV.
Estou escrevendo um Sistema com Ponto de Vendas, a minha dúvida é o seguinte, referente ao procedimento mais correto.
Conforme o caixa vai efetuando a venda, o Sistema de PDV já realiza:
a baixa direto dos produtos no estoqueou
somente após concretizar a venda o sistema baixa os produtos do estoque ?
Grato,
Cesar
-
Amigo Williams, saudações.
Obrigado por sua dica, fiz desta forma e deu certo.
document.addEventListener( 'keydown', evt => { if (!evt.ctrlKey || evt.key.toLowerCase() !== 'r' ) return; evt.preventDefault(); });
Grato,
Cesar
-
Caros amigos do grupo, saudações e um feliz 2025.
Estou com uma pequena dúvida referente a Teclas de Atalho.
Quando o Caps Lock está ativado o Comando da Tecla de Atalho não funciona.
ou seja:
se estiver para letra minúscula ====> funcionase estiver para letra maiúscula ====> não funciona
Como consigo evitar essa falha, tanto para Letra Maiúscula quanto Minúscula ?
o Código está assim:document.addEventListener( 'keydown', evt => { if (!evt.ctrlKey || evt.key !== 'r' ) return;// Não é Ctrl+r, portanto interrompemos o script evt.preventDefault(); });
Grato,
Cesar
-
Caro amigo, Williams.
Obrigado, tu és 10... 10... 10... 10... 10... 10... 10... 10... 10... 10... 10... 10... 10... 10...
-
Caros amigos, saudações.
Depois de revisar e revisar, consegui resolver o problema de Cálculo em Tempo Real.
o fonte ficou assim:
jQuery('input').on('keyup',function(){ //já está no Formato(0.00) var resto = document.getElementById("pgRest").value; //já está no Formato(0.00) var desct = document.getElementById("pgDsct").value; resto = parseFloat(jQuery('#pgRest').val() != '' ? jQuery('#pgRest').val() : 0); desct = parseFloat(jQuery('#pgDsct').val() != '' ? jQuery('#pgDsct').val() : 0); //Mostra o Resultado em Tempo Real com 2 casas decimais jQuery('#pgTroco').val((resto + desct).toFixed(2).replace('.', ',')); })
Grato,
Cesar
-
Caros amigos, saudações.
Estou com uma dúvida, referente cálculo de valores em tempo real.
Tenho uma rotina, que faz o cálculo, o problema é mostrar o resultado.
Quero mostrar o RESULTADO assim: 0,00 ou 0.00
Abaixo posto o código.jQuery('input').on('keyup',function(){ //Remover ponto e trocar a virgula por ponto var m = document.getElementById("pgRest").value; while (m.indexOf(".") >= 0) { m = m.replace(".", ""); } m = m.replace(",","."); //Remover ponto e trocar a virgula por ponto var j = document.getElementById("pgDsct").value; while (j.indexOf(".") >= 0) { j = j.replace(".", ""); } j = j.replace(",","."); m = parseFloat(jQuery('#pgRest').val() != '' ? jQuery('#pgRest').val() : 0); j = parseFloat(jQuery('#pgDsct').val() != '' ? jQuery('#pgDsct').val() : 0); //Mostra o Resultado em Tempo Real jQuery('#pgTroco').val(m - j); <<=== aqui estou errando })
Grato,
Cesar
-
Caro amigos, saudações.
Tenho uma tabela escrita em JS que funciona corretamente.Minha dúvida:
- como devo fazer para quando a Tabela HTML estiver vazia, exibir o LOGO da Empresa ?
Abaixo posto o script:document.addEventListener( 'keydown', evt => { if (!evt.ctrlKey || evt.key !== 'i' ) return;// Não é Ctrl+A, portanto interrompemos o script evt.preventDefault(); //Chama a Função Calcular Qtde X Valor Venda calcvda(); var idProdutos = document.getElementById("idProdutos").value; var descricao = document.getElementById("descricao").value; var prd_unid = document.getElementById("prd_unid").value; var estoque_atual = document.getElementById("estoque_atual").value; var qtde = document.getElementById("qtde").value; var vlrunit = document.getElementById("vlrunit").value; var vlrtotals = document.getElementById("vlrtotal").value; var vlrtotal = vlrtotals.toLocaleString('pt-br', {minimumFractionDigits: 2}); if(validarConsumo(estoque_atual)){ //Chama a Modal com Alerta. $("#modal_qtdemaior").modal(); } else { if(qtde == "" || vlrunit == "" || vlrtotal == ""){ //Chama a Modal com Alerta. $("#modal_quantidade").modal(); } else { //Monta a Tabela com os Itens html = "<tr style='font-size:13px;'>"; html += "<td width='10%' height='10' style='text-align:center;'>"+ "<input type='hidden' name='id_prds[]' value='"+idProdutos+"'>"+idProdutos+"</td>"; html += "<td width='47%' height='10'>"+ "<input type='hidden' name='descricao[]' value='"+descricao+"'>"+descricao+ "<input type='hidden' name='esp[]' value='"+prd_unid+"'> - ESP:"+prd_unid+ "<input type='hidden' name='estoq[]' value='"+estoque_atual+"'></td>"; html += "<td width='10%' height='10' style='text-align:center;'>"+ "<input type='hidden' name='qtde[]' value='"+qtde+"'>"+qtde+"</td>"; html += "<td width='12%' height='10' style='text-align:right;'>"+ "<input type='hidden' name='vlrunit[]' value='"+vlrunit+"'>"+vlrunit+"</td>"; html += "<td width='14%' height='10' style='text-align:right;'>"+ "<input type='hidden' name='vlrtotal[]' value='"+vlrtotal+"'>"+vlrtotal+"</td>"; html += "<td width='12%' height='10' style='text-align:center;'>"+ "<button type='button' class='btn btn-uvas btn-remove-produto' style='margin-right:1%; padding:1px 3px; font-size:12px;' title='Remover Item da Lista'>"+ "<span class='fa fa-minus' style='font-size:12px;'></span></button></td>"; html += "</tr>"; $("#tbventas tbody").append(html); //Função para Somar os Itens do Lançamento somar(); $("#idProdutos").val(null); $("#descricao").val(null); $("#prd_unid").val(null); $("#qtde").val(null); $("#vlrunit").val(null); $("#vlrtotal").val(null); $("#idProdutos").focus(); //Se INCLUIR NOVO produto - Limpa a Forma de Pagamento $("#pgSoma").val(null); $("#pgRest").val(null); $("#pgDsct").val(null); $("#pgTroco").val(null); $("#tbpagar tbody").empty(); }//Fim do IF-qtde }//Fim do Validar Consumo });//Fim da Função btn-agregar
Grato,
Cesar
-
amigo Williams, saudações.
Deus o abençoa, realmente faltou declarar no início do JS.let timeoutId; // Declaração da variávelFiz a Declaração e funcionou corretamente.
Muito Obrigado.
Deus o abençoa.Atenciosamente,
Cesar
-
Amigo Williams, saudações.
Conforme sua orientação acima, fiz a adequação no meu sistema, mas infelizmente não tive sucesso.
Após digitar o Código no INPUT não fez a contagem de tempo e não mostrou a descrição.
O meu INPUT está assim:
<form action="<?php echo current_url(); ?>" id="frmPdv" method="post"> <div class="row"> <div class="col-md-3"> <label for="idProdutos">Código:</label> <input type="text" class="form-control" id="idProdutos" name="idProdutos" style="margin-top:-7px; font-size:15px; width:100%; font-weight:normal; background:#FFFFFF;" placeholder="Apenas Número"> </div> <div class="col-md-9"> <label for="descricao">Produto:</label> <input type="text" class="form-control" id="descricao" name="descricao" style="margin-top:-7px; font-size:15px; width:100%; font-weight:normal; background:#FFFFFF;" placeholder="Pesquisar por descrição do produto" > </div> </div> </form>
O meu JS está assim:
<script type="text/javascript"> $(document).ready(function(){ $('#idProdutos').on('input', function() { clearTimeout(timeoutId); const idprd = $(this).val(); timeoutId = setTimeout(function() { if (idprd ) { $.ajax({ url: "<?php echo base_url(); ?>vendas/pdvcaixa/buscarID/", type: "POST", data: { idprd : idprd }, success: function(response) { // Exibe o resultado if (response.success) { //Exibe no INPUT da Descrição $("#descricao").val(response.produto.descricao); } } }); } }, 1500); // 1.5 segundos de delay }); }); </script>
O meu Controller está assim:
public function buscarID() { $idprd = $this->input->post('idProdutos'); $produto = $this->pdvcaixa_model->buscarCodigo($idprd); echo json_encode([ 'success' => true, 'produto' => $produto ]); }
O meu MODEL está assim:
public function buscarCodigo($idprd) { $this->db->select('*'); $this->db->from('produtos'); $this->db->where('produtos.idProdutos', $idprd); $this->db->where('produtos.statusProd', 1); $this->db->order_by('produtos.descricao', 'ASC'); return $this->db->get()->result(); }
Grato
Cesar
-
Caros amigos, saudações.
Por favor, poderiam me ajudar.
Estou com a seguinte dúvida:
--> como faço para para implementar o input código do produto, para quando o usuário digitar o ID o sistema espera de 1s a 2s, sem ter que pressionar a tecla ENTER.
exemplo:
código ---- descrição
1 ----- produto_AGrato,
Cesar
-
Caro amigo Williams
saudações.
Deus o abençoa, deu certo, obrigado,
Atenciosamente,
Cesar
-
Caro amigo, Williams
saudações.
Deu certo, gravou com as Hierarquias corretamente.
Amigo Williams
esta linha mostra o tamanho do campo do mysql:->where('LENGTH(pl_idconta) <=', 4) // Limita a 2 níveis (1 ou 1.01)Alterei para esta e trouxe os níveis:
->where('CHAR_LENGTH(pl_idconta) <=', 4) // Limita a 2 níveis (1 ou 1.01)Observação:
apenas curiosidade.se precisar criar mais um nível, como devo fazer, por exemplo:
1 - principal
1.01 - nível_11.01.001 - nível_2
1.01.001.0001 - conta_1
-
Amigo Williams, saudações.
POR FAVOR, me PERDOA em recorrer a ajuda do amigo novamente, testando o código que o amigo enviou, continua dando erro de DUPLICIDADE, agora está assim.
1 - TESTE A1.01 - GRAVA NORMAL
1.01.0001 - GRAVA NORMAL
1.01.0002 ========> AQUI JÁ DÁ ERRO, O SISTEMA NÃO GRAVA .0002 ---- DUPLICA o .0001 novamente
2 - TESTE B
2.01 - GRAVA NORMAL
2.01.0001 - GRAVA NORMAL
2.01.0002 ========> AQUI JÁ DÁ ERRO, O SISTEMA NÃO GRAVA .0002 ---- DUPLICA o .0001 novamente
-
Caro amigo Williams.
Consegui fazer o INSERT.
Agora estou com o seguinte problema.
Quando salvo os Registro não faz a soma, ou seja, duplica o 1, para todos.
Salva assim:
1 - teste
1.01 testeA
1.01.01 testeB1.01.01.0 testeC
Segui todas as suas orientações conforme a MODEL, só não entendo porque não está fazendo o ++.
O meu controller ficou assim:function adicionar() { if (!$this->permission->checkPermission($this->session->userdata('permissao'), 'aContas')) { $this->session->set_flashdata('error', 'Você não tem permissão para adicionar plano de contas.'); redirect(base_url()); } $this->load->library('form_validation'); $this->data['custom_error'] = ''; if ($this->form_validation->run('planocontas') == false) { $this->data['custom_error'] = (validation_errors() ? '<div class="form_error">' . validation_errors() . '</div>' : false); } else { $data = [ 'parent_code' => $this->input->post('parent_code'), 'pl_descricao' => $this->input->post('pl_descricao'), 'pl_titulo' => 1, 'pl_status' => 1 ]; /* echo '<pre>'; var_dump($data); echo '</pre>'; exit(); */ $result = $this->planocontas_model->insert($data); if ($result) { $this->session->set_flashdata('success', 'Conta adicionada com sucesso!'); redirect(base_url() . 'faturamento/planocontas/adicionar/'); } else { $this->data['custom_error'] = '<div class="form_error"><p>Ocorreu um erro.</p></div>'; } } $this->novo(); $this->load->view('estilo/header', $this->data); $this->load->view('faturamento/planocontas/adicionarConta'); } public function novo() { // Carrega todos os códigos possíveis de serem pai $this->load->model('planocontas_model'); $data['plcta'] = $this->db ->select('*') ->from('planocontas') ->where('pl_status', 1) ->order_by('pl_idconta') ->get() ->result(); $this->load->view('estilo/header', $this->data); $this->load->view('faturamento/planocontas/adicionarConta', $data); }
A MODEL, ficou assim:
<?php class Planocontas_model extends CI_Model { function __construct() { parent::__construct(); $this->load->database(); } 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('pl_idconta', '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('idPlanocontas', $id); $this->db->limit(1); return $this->db->get('planocontas')->row(); } 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; } 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); } public function getNextCode($parent_code = null) { if (!$parent_code) { // Busca próximo código raiz (1, 2, 3...) $query = $this->db->select('MAX(SUBSTRING_INDEX(pl_idconta, ".", 1)) as max_code') ->from('planocontas') ->where('LENGTH(pl_idconta) = 1') ->get(); $result = $query->row(); return ($result->max_code ?? 0) + 1; } else { // Busca próximo subcódigo $like_pattern = $parent_code . '.%'; $length = strlen($parent_code) + 3; $query = $this->db->select('MAX(SUBSTRING_INDEX(pl_idconta, ".", -1)) as max_code') ->from('planocontas') ->like('pl_idconta', $like_pattern, 'after') ->where('LENGTH(pl_idconta) =', $length) ->get(); $result = $query->row(); $next_number = str_pad(($result->max_code ?? 0) + 1, 2, '0', STR_PAD_LEFT); return $parent_code . '.' . $next_number; } } public function insert($data) { if (empty($data['parent_code'])) { $data['pl_idconta'] = $this->getNextCode(); } else { $data['pl_idconta'] = $this->getNextCode($data['parent_code']); } return $this->db->insert('planocontas', [ 'pl_idconta' => $data['pl_idconta'], 'pl_descricao' => $data['pl_descricao'], 'pl_titulo' => $data['pl_titulo'], 'pl_status' => $data['pl_status'] ]); } }
A VIEW está assim:
<?php defined('BASEPATH') OR exit('No direct script access allowed'); $this->load->view('faturamento/tema/topo'); ?> <!-- Content Wrapper. Contains page content --> <div class="content-wrapper"> <!-- Content Header (Page header) --> <section class="content-header"> <div class="container-fluid"> <div class="row mb-2"> <div class="col-sm-6"> <h1>Condição de Pagamento</h1> </div> <div class="col-sm-6"> <ol class="breadcrumb float-sm-right"> <li class="breadcrumb-item"><a href="<?php echo base_url()?>faturamento/controle">Home</a></li> <li class="breadcrumb-item active">Condição de Pagamento</li> </ol> </div> </div> </div><!-- /.container-fluid --> </section> <section class="content"> <div class="container-fluid"> <!-- Mensagem de Sucesso / Erro --> <?php $this->load->view('estilo/acao'); ?> <div class="row"> <!-- left column --> <div class="col-md-12"> <div class="card card-success"> <div class="card-header"> <h3 class="card-title">Adicionar</h3> </div> <!-- /.card-header --> <!-- form start --> <form action="<?php echo current_url(); ?>" id="frmPlanoconta" method="post" > <div class="card-body"> <div class="form-group"> <label for="parent_code" class="control-label">Conta<span class="required">*</span></label> <select name="parent_code" id="parent_code" style="width:230px" class="form-control"> <option value="">Selecione uma Conta</option> <?php foreach ($plcta as $ct) { echo '<option value="'.$ct->pl_idconta.'">'.$ct->pl_idconta. '-'.$ct->pl_descricao.'</option>'; } ?> </select> </div> <div class="form-group"> <label for="pl_descricao">Descrição<span class="required">*</span></label> <input id="pl_descricao" type="text" name="pl_descricao" style="width:100%" class="form-control" value="<?php echo set_value('pl_descricao'); ?>" /> </div> <div class="card-footer" style="text-align:center;"> <a href="<?php echo base_url() ?>faturamento/planocontas" id="" class="btn btn-danger"><i class="fa fa-undo"></i> Voltar</a> <button type="submit" class="btn btn-primary">Adicionar</button> </div> </div> </form> </div> </div> </div> </section> </div> <?php $this->load->view('estilo/footer'); ?>
Grato,
Cesar
-
Amigo Williams, saudações.
Desculpa minha dúvida.Qual campo no Formulário POST seria essa linha:
$parent_code = nullSeguindo sua orientação acima, o sistema salva os campos:
Código e Descrição somente com 1.
Grato,Cesar
-
Caros amigos, saudações.
Humildemente peço desculpa por postar uma dúvida que tenho.
Preciso salvar no MySql, os seguinte Registro:
1 - Principal====> minha dúvida começa aqui
==========> como faço para o Sistema Contar Automaticamente o que estiver despois do 1.____?1.01 - Matriz
1.01.0001 - Estoque
1.01.0002 - Oficina
etc
2 - Secundário2.01 - Loja_1
2.01.0001 - Caixa
2.01.0002 - Recepção
etcResumindo seria como se fosse um Cadastro de PLANO de CONTAS CONTÁBEIL.
Grato,
Cesar
JAVA - Ajuda com erro.
in Java
Posted
Caros amigos, alguém por favor pode me ajudar a identificar e corrigir esse erro, que está me deixando louco.
ERROR: br.com.systemweb.model.dao.impl.CustomerDaoImpl.getObjectByTypeDocAndNumdoc Error:You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'where c.c_type_doc='1' and c.c_num_doc='12345678' ' at line 1
ERROR: Cannot invoke "Object.toString()" because the return value of "java.util.Map.get(Object)" is null
OBSERVAÇÃO: não entendo porque o sistema me traz essa linha assim ==[ c.c_num_doc='12345678' ' ]===
o CustomerDao, está assim:
o CustomerDaoImpl, está assim: