This commit is contained in:
Andrey Cunha
2026-03-21 13:24:57 -03:00
parent 5f7c2f99d1
commit b836b0a5d2
13 changed files with 4099 additions and 2322 deletions
@@ -8,7 +8,7 @@
<instruction>Este flow permite abertura de solicitação de transferências automatizadas, informando qual item será transferido e direcionado para as aprovações corretas.</instruction>
<active>true</active>
<publicProcess>false</publicProcess>
<volumeId>Default</volumeId>
<volumeId>Fluig teste</volumeId>
<categoryId>Transferência</categoryId>
<managerEngineAllocationId>Usuário</managerEngineAllocationId>
<managerEngineAllocationConfiguration>&lt;AssignmentController&gt;&lt;User&gt;projetos&lt;/User&gt;&lt;/AssignmentController&gt;</managerEngineAllocationConfiguration>
@@ -33,6 +33,7 @@
</processDefinitionVersionPK>
<versionDescription></versionDescription>
<formId>590</formId>
<formIdV2>0</formIdV2>
<editionMode>true</editionMode>
<updateAttachmentsVersion>true</updateAttachmentsVersion>
<controlsAttachmentsSecurity>false</controlsAttachmentsSecurity>
@@ -1033,7 +1034,7 @@
</processLinkPK>
<actionLabel>Enviar para coleta</actionLabel>
<returnPermited>false</returnPermited>
<initialStateSequence>6</initialStateSequence>
<initialStateSequence>68</initialStateSequence>
<finalStateSequence>31</finalStateSequence>
<returnLabel></returnLabel>
<name>Enviar para coleta</name>
@@ -1153,54 +1154,54 @@
<processId>Transferência Ginseng</processId>
<version>1</version>
</workflowProcessEventPK>
<eventDescription>function servicetask99(attempt, message) {
try {
var validacaoItens = safeTrim(hAPI.getCardValue(&quot;validacaoItens&quot;));
// Só precisa consultar entrada da NFe quando o recebimento foi validado como entregue.
if (validacaoItens !== &quot;entregue&quot;) return;
var dataEntrada = safeTrim(hAPI.getCardValue(&quot;dataEntradaNfeConsulta&quot;));
if (dataEntrada !== &quot;&quot;) return;
var chaveNfe = onlyDigits(hAPI.getCardValue(&quot;chaveNfe&quot;));
if (chaveNfe === &quot;&quot;) {
log.warn(&quot;[servicetask99] Chave NFe vazia. Nao foi possivel consultar entrada.&quot;);
return;
}
var cKey = DatasetFactory.createConstraint(&quot;key&quot;, chaveNfe, chaveNfe, ConstraintType.MUST);
var dsNfe = DatasetFactory.getDataset(&quot;ds_fiscal_invoice_by_keys&quot;, null, [cKey], null);
if (!dsNfe || dsNfe.rowsCount &lt; 1) {
log.warn(&quot;[servicetask99] Dataset sem retorno para chave: &quot; + chaveNfe);
return;
}
var dsSuccess = safeTrim(dsNfe.getValue(0, &quot;success&quot;)).toLowerCase() === &quot;true&quot;;
var dsUpdatedAt = safeTrim(dsNfe.getValue(0, &quot;updatedAt&quot;));
if (dsSuccess &amp;&amp; dsUpdatedAt !== &quot;&quot;) {
hAPI.setCardValue(&quot;dataEntradaNfeConsulta&quot;, dsUpdatedAt);
log.info(&quot;[servicetask99] Data de entrada atualizada automaticamente: &quot; + dsUpdatedAt);
return;
}
var dsMessage = safeTrim(dsNfe.getValue(0, &quot;message&quot;));
log.warn(&quot;[servicetask99] Consulta executada sem data de entrada. message=&quot; + dsMessage);
} catch (e) {
log.error(&quot;[servicetask99] Erro na consulta automatica da NFe: &quot; + e);
throw e;
}
}
function safeTrim(value) {
return String(value == null ? &quot;&quot; : value).trim();
}
function onlyDigits(value) {
return String(value == null ? &quot;&quot; : value).replace(/\D/g, &quot;&quot;);
}
<eventDescription>function servicetask99(attempt, message) {&#xd;
try {&#xd;
var validacaoItens = safeTrim(hAPI.getCardValue(&quot;validacaoItens&quot;));&#xd;
&#xd;
// Só precisa consultar entrada da NFe quando o recebimento foi validado como entregue.&#xd;
if (validacaoItens !== &quot;entregue&quot;) return;&#xd;
&#xd;
var dataEntrada = safeTrim(hAPI.getCardValue(&quot;dataEntradaNfeConsulta&quot;));&#xd;
if (dataEntrada !== &quot;&quot;) return;&#xd;
&#xd;
var chaveNfe = onlyDigits(hAPI.getCardValue(&quot;chaveNfe&quot;));&#xd;
if (chaveNfe === &quot;&quot;) {&#xd;
log.warn(&quot;[servicetask99] Chave NFe vazia. Nao foi possivel consultar entrada.&quot;);&#xd;
return;&#xd;
}&#xd;
&#xd;
var cKey = DatasetFactory.createConstraint(&quot;key&quot;, chaveNfe, chaveNfe, ConstraintType.MUST);&#xd;
var dsNfe = DatasetFactory.getDataset(&quot;ds_fiscal_invoice_by_keys&quot;, null, [cKey], null);&#xd;
&#xd;
if (!dsNfe || dsNfe.rowsCount &lt; 1) {&#xd;
log.warn(&quot;[servicetask99] Dataset sem retorno para chave: &quot; + chaveNfe);&#xd;
return;&#xd;
}&#xd;
&#xd;
var dsSuccess = safeTrim(dsNfe.getValue(0, &quot;success&quot;)).toLowerCase() === &quot;true&quot;;&#xd;
var dsUpdatedAt = safeTrim(dsNfe.getValue(0, &quot;updatedAt&quot;));&#xd;
&#xd;
if (dsSuccess &amp;&amp; dsUpdatedAt !== &quot;&quot;) {&#xd;
hAPI.setCardValue(&quot;dataEntradaNfeConsulta&quot;, dsUpdatedAt);&#xd;
log.info(&quot;[servicetask99] Data de entrada atualizada automaticamente: &quot; + dsUpdatedAt);&#xd;
return;&#xd;
}&#xd;
&#xd;
var dsMessage = safeTrim(dsNfe.getValue(0, &quot;message&quot;));&#xd;
log.warn(&quot;[servicetask99] Consulta executada sem data de entrada. message=&quot; + dsMessage);&#xd;
} catch (e) {&#xd;
log.error(&quot;[servicetask99] Erro na consulta automatica da NFe: &quot; + e);&#xd;
throw e;&#xd;
}&#xd;
}&#xd;
&#xd;
function safeTrim(value) {&#xd;
return String(value == null ? &quot;&quot; : value).trim();&#xd;
}&#xd;
&#xd;
function onlyDigits(value) {&#xd;
return String(value == null ? &quot;&quot; : value).replace(/\D/g, &quot;&quot;);&#xd;
}&#xd;
</eventDescription>
</WorkflowProcessEvent>
</list>