147 lines
6.0 KiB
JavaScript
147 lines
6.0 KiB
JavaScript
function validateForm(form) {
|
||
var atividade = parseInt(getValue("WKNumState"));
|
||
var nextAtividade = getValue("WKNextState");
|
||
var completTask = getValue("WKCompletTask");
|
||
|
||
var hasErros = false;
|
||
var message = "";
|
||
|
||
log.info("Atividade Inicial Para Transferência de Mercadoria");
|
||
log.info("Abertura de solcitação: " + atividade);
|
||
|
||
if (completTask.equals("true")) {
|
||
if (atividade == 4 && String(nextAtividade) == "39") {
|
||
if (String(form.getValue("justificativaDecisaoGestor") || "").trim() == "") {
|
||
message += getMessage("Justificativa da decisão", 1, form);
|
||
hasErros = true;
|
||
}
|
||
}
|
||
|
||
switch (atividade) {
|
||
case EMISSAO:
|
||
log.info("Validando rastreabilidade da emissao da NFe");
|
||
var chaveNfe = String(form.getValue("chaveNfe") || "").replace(/\D/g, "");
|
||
if (chaveNfe == "") {
|
||
message += getMessage("Chave de acesso da NFe", 1, form);
|
||
hasErros = true;
|
||
}
|
||
if (chaveNfe != "" && chaveNfe.length != 44) {
|
||
message += "Campo \"Chave de acesso da NFe\" deve conter 44 digitos.<br>";
|
||
hasErros = true;
|
||
}
|
||
if (form.getValue("invoiceIdNfeConsulta") == "") {
|
||
message += "Consulte a chave da NFe antes de enviar esta etapa.<br>";
|
||
hasErros = true;
|
||
}
|
||
if (form.getValue("fnAnexo_Nfe") == "") {
|
||
message += getMessage("Anexo da Nota Fiscal", 3, form);
|
||
hasErros = true;
|
||
}
|
||
if (form.getValue("usuarioEmissorNfe") == "") {
|
||
message += getMessage("Usuário emissor da NFe", 1, form);
|
||
hasErros = true;
|
||
}
|
||
if (form.getValue("dataEmissaoNfe") == "") {
|
||
message += getMessage("Data da emissão", 1, form);
|
||
hasErros = true;
|
||
}
|
||
break;
|
||
|
||
case COLETA:
|
||
log.info("Validando dados da coleta");
|
||
if (form.getValue("motoristaColetaNome") == "") {
|
||
message += getMessage("Motorista responsável pela coleta", 1, form);
|
||
hasErros = true;
|
||
}
|
||
if (form.getValue("dataColeta") == "") {
|
||
message += getMessage("Data da coleta", 1, form);
|
||
hasErros = true;
|
||
}
|
||
if (form.getValue("fdAnexo_Coleta") == "") {
|
||
message += getMessage("Anexo da Coleta", 3, form);
|
||
hasErros = true;
|
||
}
|
||
var tipoMotoristaEntregaColeta = String(form.getValue("tipoMotoristaEntrega") || "");
|
||
if (tipoMotoristaEntregaColeta == "") {
|
||
message += getMessage("Quem vai fazer a entrega", 2, form);
|
||
hasErros = true;
|
||
}
|
||
if (tipoMotoristaEntregaColeta == "outro" && form.getValue("motoristaEntregaLogin") == "") {
|
||
message += getMessage("Selecionar outro motorista", 1, form);
|
||
hasErros = true;
|
||
}
|
||
if (tipoMotoristaEntregaColeta == "mesmo" && form.getValue("motoristaColetaLogin") == "") {
|
||
message += getMessage("Login do motorista da coleta", 1, form);
|
||
hasErros = true;
|
||
}
|
||
break;
|
||
|
||
case ENTREGA:
|
||
log.info("Validando dados da entrega");
|
||
if (form.getValue("motoristaEntregaLogin") == "") {
|
||
message += getMessage("Motorista da entrega definido na coleta", 1, form);
|
||
hasErros = true;
|
||
}
|
||
if (form.getValue("motoristaEntregaNome") == "") {
|
||
message += getMessage("Motorista responsável pela entrega", 1, form);
|
||
hasErros = true;
|
||
}
|
||
if (form.getValue("dataEntrega") == "") {
|
||
message += getMessage("Data da entrega", 1, form);
|
||
hasErros = true;
|
||
}
|
||
if (String(form.getValue("nomerecebedor") || "").trim() == "") {
|
||
message += getMessage("Nome de quem recebeu a mercadoria", 1, form);
|
||
hasErros = true;
|
||
}
|
||
break;
|
||
|
||
case RECEBIMENTO:
|
||
log.info("Validando recebimento e conferencia dos itens");
|
||
var validacaoItens = String(form.getValue("validacaoItens") || "");
|
||
if (validacaoItens == "") {
|
||
message += getMessage("Validação do recebimento", 2, form);
|
||
hasErros = true;
|
||
}
|
||
|
||
if (
|
||
(validacaoItens == "divergencia" || validacaoItens == "naoEntregue" || validacaoItens == "incorreto") &&
|
||
form.getValue("justificativaDecisaoItens") == ""
|
||
) {
|
||
message += getMessage("Descreva a divergência encontrada", 1, form);
|
||
hasErros = true;
|
||
}
|
||
break;
|
||
default:
|
||
break;
|
||
}
|
||
|
||
if (hasErros) {
|
||
if (isMobile(form)) throw message;
|
||
throw (
|
||
"<ul style='list-style-type: disc; padding-left: 90px;' class='alert alert-danger'>" +
|
||
message +
|
||
"</ul>"
|
||
)
|
||
}
|
||
|
||
}
|
||
|
||
}
|
||
|
||
function isMobile(form) {
|
||
return form.getMobile() != null && form.getMobile();
|
||
}
|
||
|
||
function getMessage(texto, tipo, form) {
|
||
if (tipo == 1) {
|
||
return 'Campo "' + texto + '" nao pode estar vazio.<br>';
|
||
} else if (tipo == 2) {
|
||
return 'Selecione uma das opcoes do Campo "' + texto + '".<br>';
|
||
} else if (tipo == 3) {
|
||
return 'Campo "' + texto + '" nao pode estar sem anexo.<br>';
|
||
} else {
|
||
return 'A quantidade existente de campos "' + texto + '" deve ser maior do que 0.'
|
||
}
|
||
}
|