Este documento é material de especificação dos requisitos de inovação, trata-se de conteúdo extremamente técnico. |
|---|
Informações Gerais
Especificação | |||
Produto | SARA | Módulo | Portaria |
Segmento Executor |
| ||
Projeto1 | L_DL_SARA01 | IRM1 | PCREQ-2696 |
Requisito1 | PCREQ7581 | Subtarefa1 | PDRDL-1949 |
Chamado2 |
| ||
Release de Entrega Planejada |
| Réplica |
|
País | ( X ) Brasil ( ) Argentina ( ) Mexico ( ) Chile ( ) Paraguai ( ) Equador ( ) USA ( ) Colombia ( ) Outro _____________. | ||
Outros | <Caso necessário informe outras referências que sejam pertinentes a esta especificação. Exemplo: links de outros documentos ou subtarefas relacionadas>. | ||
Legenda: 1 – Inovação 2 – Manutenção (Os demais campos devem ser preenchidos para ambos os processos).
Objetivo
Permitir pesagem manual caso a máquina possua autorização mesmo a conexão com a balança estando em correto funcionamento.
Definição da Regra de Negócio
Criar parâmetro (tab_parametro) PERMITE_PESAGEM_MANUAL_CONECTADO_BALANCA. O valor padrão para este parâmetro deverá ser 'N'.
if not exists (select 1
from tab_parametro
where param_desc = 'PERMITE_PESAGEM_MANUAL_CONECTADO_BALANCA')
begin
exec proc_diu_parametro
'I',
'PERMITE_PESAGEM_MANUAL_CONECTADO_BALANCA',
'N',
1,
'Permitir pesagem manual caso a máquina possua autorização mesmo a conexão com a balança estando em correto funcionamento.'
PRINT 'Parametro incluido com sucesso...'
end
else
PRINT 'Parametro ja existente...'
MENU - Portaria
- Realizar leitura do novo parâmetro PERMITE_PESAGEM_MANUAL_CONECTADO_BALANCA (getParam).
vPERMITE_PESAGEM_MANUAL_CONECTADO_BALANCA := getparam('PERMITE_PESAGEM_MANUAL_CONECTADO_BALANCA ')='S';
MENU - Portaria - Pesagem (frm_cad_balanca2)
- Criar novo componente do tipo checkbox (chkRealizarPesagemManual) conforme abaixo:
- Por padrão este campo deverá estar não visível. Este novo campo só deverá estar visível caso o parâmetro PERMITE_PESAGEM_MANUAL_CONECTADO_BALANCA = 'S' e a máquina possua uma autorização de pesagem manual cadastrada (tab_permissao_pesagem). Para isso realizar a seguinte alteração:
- Alterar a função VerificaBalanca, quando o TipoCapturaPeso <> 0 e ConectadoComaBalanca = true. Verificar se o parâmetro vPERMITE_PESAGEM_MANUAL_CONECTADO_BALANCA está habilitado e se existe autorização de pesagem para a máquina através da procedure SPConsiste. Caso o retorno do parâmetro output @w_liberado seja igual a 1, então tornar o novo componente chkRealizarPesagemManual visível.
if vPERMITE_PESAGEM_MANUAL_CONECTADO_BALANCA then
begin
SPConsiste.close;
SPConsiste.ParamByName('@w_equipamento').Value:= RetornaCampo('select host_name()');
SPConsiste.ExecProc;
if (SPConsiste.ParamByName('@w_liberado').AsInteger = 1) then
chkRealizarPesagemManual.Visible := true;
end;
- Alterar a função VerificaBalanca, quando o TipoCapturaPeso <> 0 e ConectadoComaBalanca = true. Verificar se o parâmetro vPERMITE_PESAGEM_MANUAL_CONECTADO_BALANCA está habilitado e se existe autorização de pesagem para a máquina através da procedure SPConsiste. Caso o retorno do parâmetro output @w_liberado seja igual a 1, então tornar o novo componente chkRealizarPesagemManual visível.
- Ao clicar em "Realizar pesagem manual" ( evento chkRealizarPesagemManualClick) , "desligar" a leitura de peso da balança, limpar o campo peso (edtPeso) e permitir informar o peso manualmente. Para isso, realizar a seguinte alteração:
// simula clica no componente rxswBalanca para "desligar " a captura da balança
if rxswBalanca.StateOn then
begin
rxswBalanca.Perform(WM_LBUTTONDOWN, 0, 0); //Simula apertar o botão
rxswBalanca.Perform(WM_LBUTTONUP, 0, 0); //Simula soltar o botão
end;edtPeso.Enabled := true;
edtPeso.ReadOnly := false;
edtPeso.Clear;
edtPeso.SetFocus;
- Por padrão este campo deverá estar não visível. Este novo campo só deverá estar visível caso o parâmetro PERMITE_PESAGEM_MANUAL_CONECTADO_BALANCA = 'S' e a máquina possua uma autorização de pesagem manual cadastrada (tab_permissao_pesagem). Para isso realizar a seguinte alteração:
- Ao clicar em "ligar" a leitura de peso da balança, tornar o campo de peso somente leitura novamente. Para isso, realizar a seguinte alteração:
Alterar a função rxswBalancaOn para que caso o tipo de captura (TipoCapturaPeso) seja igual a 0 (SARA), além dos procedimentos já implementados, deixe o campo peso somente leitura.
if rxswBalanca.StateOn then
edtPeso.ReadOnly := rxswBalanca.StateOn;
- Ao clicar em "ligar" a leitura de peso da balança, tornar o campo de peso somente leitura novamente. Para isso, realizar a seguinte alteração:
- Ao gravar pesagem com o checkbox "Realizar pesagem manual", registrar que o peso foi gravado manualmente. Para isso, realizar a seguinte alteração:
Substituir os locais onde encontra-se o código:
de:
if rxswBalanca.Visible then
w_bal_tipo := 'MN'
else
w_bal_tipo := 'AT'
- Ao gravar pesagem com o checkbox "Realizar pesagem manual", registrar que o peso foi gravado manualmente. Para isso, realizar a seguinte alteração:
para:
if rxswBalanca.Visible then
begin
if chkRealizarPesagemManual.Checked then
w_bal_tipo := 'MN'
else
w_bal_tipo := 'AT'
end
else
w_bal_tipo := 'MN';
- O novo campo deve respeitar o comportamento dos demais com relação a estar disponível para edição somente enquanto o registro estiver em modo de edição.
- O novo campo deve ter seu valor limpo após cancelamento, inclusão, e exclusão de registro.
- Criar atalho (ALT + M) para que o campo possa ser acionado diretamente do teclado. Para isso, adicionar o caracter & antes da palavra Manual na propriedade do componente Caption (Realizar pesagem &manual).
- Quando a pesagem manual, obrigar usuário informar observação. Ou seja, quando o componente rxswBalanca estiver invisível ou o chkRealizarPesagemManual.Checked, verificar se o campo observação está vazio. Estando vazio, informar ao usuário "Observação obrigatória para pesagem manual."
Rotina | Tipo de Operação | Opção de Menu | Regras de Negócio |
| mdi_mod_portaria | [Alteração] | Portaria |
|
frm_cad_balanca2 | [Alteração] | Portaria - Pesagem |
|
CENÁRIOS DE TESTE
COM PARÂMETRO PERMITE_PESAGEM_MANUAL_CONECTADO_BALANCA = 'N'
Cenário 1
- No SARA - Portaria, criar um CESV. Operação = DESCARGA;
- Sem nenhuma permissão de pesagem cadastrada para a máquina (Conferir em Portaria - Permissão de Pesagem);
- Acessar SARA - Portaria Pesagem - Novo - Informar placa do veículo do CESV criado anteriormente.
- O sistema não deve exibir o novo campo "Realizar pesagem manual".
- Tentar realizar a gravação da pesagem. O sistema não permitir permitir pois não existe permissão para pesagem manual.
Cenário 2
- No SARA - Portaria, criar um CESV. Operação = DESCARGA;
- Acessar Portaria - Permissão de Pesagem e cadastrar uma nova permissão de pesagem para o veículo;
- Acessar SARA - Portaria Pesagem - Novo - Informar placa do veículo do CESV criado anteriormente.
- Informar um peso e realizar a gravação da pesagem. O campo Peso deve ser gravado conforme informado pelo usuário e o tipo de pesagem deve ser gravado como MN - Manual.
- O sistema não deve exibir o novo campo "Realizar pesagem manual".
COM PARÂMETRO PERMITE_PESAGEM_MANUAL_CONECTADO_BALANCA = 'S'
- Instalar e configurar programa para simular paridade entre as portas COM: \\totvsjoi-fs01\Sara\Util\SetupVSPE. Acessar o menu Device -> Create -> Device Type = Pair. Deixe o programa aberto;
- Gerar executável do projeto simulador de balança $/SARA/Fontes_Doc/Sustentacao/VS11.00/Delphi7/BalancaEmulador. Abrir o simulador de balança EmulaBAL.exe -> Porta = COM2 -> Peso a enviar = 20000 -> Variar peso automaticamente = Marcado -> Auto Enviar = Marcado.
- Acessar o SARA - Portaria - Pesagem. Ao lado esquerdo do botão OK existe a opção de configuração da balança (botão com engrenagem). Clicar neste botão e configurar para comunicar com a porta COM4. Confirmar as demais informações.
Cenário 1
- No SARA - Portaria, criar um CESV. Operação = DESCARGA;
- Sem nenhuma permissão de pesagem cadastrada para a máquina (Conferir em Portaria - Permissão de Pesagem);
- Acessar SARA - Portaria Pesagem - Novo - Informar placa do veículo do CESV criado anteriormente. O sistema deve ler o peso da balança e possibilitar gravação. O novo campo criado "Realizar pesagem manual" deve estar invisível, e o campo Peso não deve permitir alteração.
- Realizar a gravação da pesagem. O campo Peso deve ser gravado conforme capturado pelo simulador de balança, e o "Tipo" de pesagem deve ser gravado como AT - Automático;
- Excluir a pesagem para reutilizar o veículo.
Cenário 2
- Ainda utilizando o simular de balança, acessar Portaria - Permissão de Pesagem - Cadastrar uma permissão de pesagem para a máquina;
- Acessar SARA - Portaria - Pesagem - Novo - informar placa do veículo do CESV criado no cenário 1. O sistema deve ler o peso da balança e possibilitar gravação (não gravar ainda);
- O sistema deve exibir o novo campo criado "Realizar pesagem manual".
- Marcar o novo campo "Realizar pesagem manual". O sistema deve interromper a captura de peso da balança, e colocar o foco no campo Peso permitindo que seja informado manualmente.
- Informar um Peso manualmente e gravar. O campo Peso deve ser gravado conforme informado pelo usuário e o tipo de pesagem deve ser gravado como MN - Manual.
- Excluir a pesagem para reutilizar o veículo.
Este documento é material de especificação dos requisitos de inovação, trata-se de conteúdo extremamente técnico. |
|---|
