This commit is contained in:
Andrey Cunha 2026-03-12 23:05:52 -03:00
parent 40db0af098
commit 7113b026ef
33 changed files with 7939 additions and 2225 deletions

View File

@ -195,11 +195,20 @@
#canDisplayActionButton() {
const element = this.#input.get(0);
const hasEditPermission = parent.ECM.workflowView.userPermissions.indexOf("P") >= 0;
const isManagerMode = location.href.includes('ManagerMode');
const isTokenView = location.href.includes('token');
const hasMobileCameraBridge = (
(window.JSInterface && typeof window.JSInterface.showCamera === "function")
|| (parent && parent.JSInterface && typeof parent.JSInterface.showCamera === "function")
);
const isMobileUA = /android|iphone|ipad|ipod|mobile/i.test(navigator.userAgent || "");
const allowByContext = (isManagerMode && !isTokenView) || hasMobileCameraBridge || isMobileUA;
const allowByPermission = hasEditPermission || hasMobileCameraBridge || isMobileUA;
return this.#settings.showActionButton
&& parent.ECM.workflowView.userPermissions.indexOf("P") >= 0
&& location.href.includes('ManagerMode')
&& !location.href.includes('token')
&& allowByPermission
&& allowByContext
&& element.nodeName.toLowerCase() === "input"
&& !element.disabled
;

1
Lançamento de documentos/.gitignore vendored Normal file
View File

@ -0,0 +1 @@
/.metadata/

View File

@ -0,0 +1,18 @@
{
"version": "0.2.0",
"configurations": [
{
"type": "totvs_language_debug",
"request": "launch",
"name": "TOTVS Language Debug",
"program": "${command:AskForProgramName}",
"cwb": "${workspaceFolder}",
"smartclientBin": "../totvs/bin/smartclient/smartclient.exe",
"isMultiSession": true,
"enableTableSync": true,
"extendFeatures": {
"charDetails": false
}
}
]
}

View File

@ -0,0 +1,17 @@
{
"version": "1.0.0",
"configurations": [
{
"id": "cafi5jey9zammnjzp2n5z2h8lutld7",
"name": "Fluig produção",
"host": "comerciode188006.fluig.cloudtotvs.com.br",
"ssl": true,
"port": 443,
"username": "andrey.cunha",
"password": "eyJpdiI6ImQwNjBhYWU1NzM3ZjVhNzU0ZWExOWYwZGZiNDEzNWI3Iiwic2FsdCI6IjQ0NmVjYTQ4OTY3ZWViOTc3NmRjY2E4M2UyYzc2NGViIiwidGV4dCI6ImNmZWRiYzFlODFjY2EwOTUzOWZlMGVlMTMzZWIwNzA0In0=",
"userCode": "andrey.cunha",
"confirmExporting": false,
"companyId": 1
}
]
}

View File

@ -0,0 +1,18 @@
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>lançamentos</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>org.eclipse.wst.validation.validationbuilder</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.wst.jsdt.core.jsNature</nature>
<nature>com.totvs.tds.ecm.designer.nature</nature>
</natures>
</projectDescription>

View File

@ -0,0 +1,13 @@
eclipse.preferences.version=1
encoding//wcm/widget/portalfornecedor/src/main/resources/application.info=utf8
encoding//wcm/widget/portalfornecedor/src/main/resources/edit.ftl=utf8
encoding//wcm/widget/portalfornecedor/src/main/resources/portalfornecedor.properties=utf8
encoding//wcm/widget/portalfornecedor/src/main/resources/portalfornecedor_en_US.properties=utf8
encoding//wcm/widget/portalfornecedor/src/main/resources/portalfornecedor_es.properties=utf8
encoding//wcm/widget/portalfornecedor/src/main/resources/portalfornecedor_pt_BR.properties=utf8
encoding//wcm/widget/portalfornecedor/src/main/resources/view.ftl=utf8
encoding//wcm/widget/portalfornecedor/src/main/webapp/WEB-INF/jboss-web.xml=utf8
encoding//wcm/widget/portalfornecedor/src/main/webapp/WEB-INF/web.xml=utf8
encoding//wcm/widget/portalfornecedor/src/main/webapp/resources/css/portalfornecedor.css=utf8
encoding//wcm/widget/portalfornecedor/src/main/webapp/resources/images/icon.png=utf8
encoding//wcm/widget/portalfornecedor/src/main/webapp/resources/js/portalfornecedor.js=utf8

View File

@ -0,0 +1,42 @@
function createDataset(fields, constraints, sortFields) {
var dataset = DatasetBuilder.newDataset();
dataset.addColumn("STATUS");
dataset.addColumn("CAMPO");
dataset.addColumn("VALOR");
try {
dataset.addRow(["DEBUG", "__version__", "dsPortalFornecedorNF_debug_2026_03_12"]);
if (!constraints || constraints.length === 0) {
dataset.addRow(["DEBUG", "__constraints__", "vazio"]);
return dataset;
}
for (var i = 0; i < constraints.length; i++) {
var c = constraints[i];
var fieldName = getFieldNameSafe(c);
var initialValue = getInitialValueSafe(c);
dataset.addRow(["DEBUG", fieldName, initialValue]);
}
return dataset;
} catch (e) {
var erro = (e && e.message) ? e.message : ("" + e);
dataset.addRow(["ERRO", "__exception__", erro]);
return dataset;
}
}
function getFieldNameSafe(c) {
if (!c) return "";
if (typeof c.getFieldName === "function") return (c.getFieldName() || "") + "";
if (c.fieldName !== undefined && c.fieldName !== null) return (c.fieldName || "") + "";
return "";
}
function getInitialValueSafe(c) {
if (!c) return "";
if (typeof c.getInitialValue === "function") return (c.getInitialValue() || "") + "";
if (c.initialValue !== undefined && c.initialValue !== null) return (c.initialValue || "") + "";
return "";
}

View File

@ -0,0 +1,19 @@
application.type=widget
application.code=portalfornecedor
application.title=portalfornecedor
application.description=portalfornecedor
application.fluig.version=null
application.category=SYSTEM
application.renderer=freemarker
developer.code=DESKTOP-0E2LAA6
developer.name=Home
developer.url=http://www.fluig.com
application.uiwidget=true
application.mobileapp=false
application.version=${build.version}-${build.revision}
view.file=view.ftl
edit.file=edit.ftl
locale.file.base.name=portalfornecedor
application.resource.js.1=/resources/js/portalfornecedor.js
application.resource.css.2=/resources/css/portalfornecedor.css
hash=4a16315e9e66fa7d797b3f6b1fb365b69f9a4ce2

View File

@ -0,0 +1,5 @@
<div id="MyWidget_${instanceId}" class="super-widget wcm-widget-class fluig-style-guide" data-params="window.MyWidget && MyWidget.instance ? MyWidget.instance() : {}">
</div>

View File

@ -0,0 +1,184 @@
<div id="MyWidget_${instanceId}" class="super-widget wcm-widget-class fluig-style-guide"
data-params="MyWidget.instance()">
<link rel="stylesheet" href="/style-guide/css/fluig-style-guide.min.css">
<div class="page-wrapper portal-shell">
<div class="page-header">
<div class="page-eyebrow">Portal Fornecedor</div>
<h2 class="page-title">
<i class="flaticon flaticon-account-box"></i>
Portal de Envio de Documentos
</h2>
<p class="page-subtitle">Informe os dados da nota fiscal para comprovação no sistema.</p>
</div>
<div class="form-card">
<h4 class="titulo-secao">Dados do documento</h4>
<p class="sub-secao">Preencha os campos obrigatórios para iniciar a solicitação.</p>
<div class="row">
<div class="form-group col-md-3">
<label>Data</label>
<input type="text" name="data_abertura" id="data_abertura" class="form-control" readonly>
</div>
<div class="form-group col-md-3 divEmitidoPor alertaCampo">
<label>Emitido por <strong class="text-danger">*</strong></label>
<select name="emitido_por" id="emitido_por" class="form-control">
<option value="">Selecionar emissor</option>
<option value="fornecedor">Fornecedor</option>
<option value="colaborador">Colaborador</option>
</select>
</div>
<div class="form-group col-md-3 divEntidadeResponsavel alertaCampo">
<label>Responsavel pela emissão <strong class="text-danger">*</strong></label>
<input type="text" class="form-control"
name="entidade_responsavel"
id="entidade_responsavel"
placeholder="Empresa ou colaborador">
</div>
<div class="form-group col-md-3">
<label>E-mail do solicitante</label>
<input type="email"
name="emailSolicitante"
id="emailSolicitante"
class="form-control"
placeholder="email@empresa.com">
</div>
</div>
<div class="row">
<div class="form-group col-md-3 divTipoCadastro alertaCampo">
<label>Tipo de cadastro <strong class="text-danger">*</strong></label>
<select name="tipo_cadastro" id="tipo_cadastro" class="form-control">
<option value="">Selecionar</option>
<option value="cpf">CPF</option>
<option value="cnpj">CNPJ</option>
</select>
</div>
<div class="form-group col-md-3 divCnpj alertaCampo">
<label>CNPJ <strong class="text-danger">*</strong></label>
<input type="text"
name="cnpj"
id="cnpj"
class="form-control"
placeholder="00.000.000/0000-00"
mask="00.000.000/0000-00">
</div>
<div class="form-group col-md-3 divCpf alertaCampo" style="display:none;">
<label>CPF <strong class="text-danger">*</strong></label>
<input type="text"
name="cpf"
id="cpf"
class="form-control"
placeholder="000.000.000-00"
mask="000.000.000-00">
</div>
<div class="form-group col-md-3">
<label>Tipo de documento</label>
<select name="tipo_documento" id="tipo_documento" class="form-control">
<option value="">Selecionar</option>
<option value="danfe">Nota Fiscal Mercadoria</option>
<option value="nota_fiscal_servico">Nota Fiscal Servico</option>
</select>
</div>
</div>
<div class="row">
<div class="form-group col-md-6 alertaCampo">
<label>Numero do documento <strong class="text-danger">*</strong></label>
<input type="text"
name="numero_documento"
id="numero_documento"
class="form-control"
placeholder="Numero da nota">
</div>
<div class="form-group col-md-6">
<label>Valor do documento</label>
<div class="input-group">
<span class="input-group-addon">R$</span>
<input type="text"
name="valor"
id="valor"
class="form-control"
mask="#000.000.000,00"
placeholder="0,00">
</div>
</div>
</div>
<div class="row">
<div class="form-group col-md-12">
<label>Anexar documento <strong class="text-danger">*</strong></label>
<p class="text-muted">
Utilize o botão abaixo para anexar o documento.
</p>
<button type="button" class="btn btn-primary btn-anexo" id="anexaDocumento">
<i class="flaticon flaticon-paperclip"></i>
Anexar documento
</button>
<input type="file" id="arquivoLocal" style="display:none">
<div id="arquivoLocalNome" class="arquivo-nome"></div>
</div>
</div>
</div>
<div class="form-card">
<h4 class="titulo-secao">Descrição dos serviços</h4>
<p class="sub-secao">Inclua detalhes para facilitar a análise.</p>
<textarea class="form-control"
rows="4"
id="justificativa"
name="justificativa"
placeholder="Descreva os serviços prestados"></textarea>
</div>
<div id="envioStatus" class="envio-status hidden"></div>
<div class="text-center">
<button type="button" id="btnEnviarNota" class="btn btn-enviar btn-lg">
Enviar documento
</button>
</div>
</div>
</div>

View File

@ -0,0 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<jboss-web>
<context-root>/portalfornecedor</context-root>
<disable-cross-context>false</disable-cross-context>
</jboss-web>

View File

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
version="3.0">
</web-app>

View File

@ -0,0 +1,346 @@
.wcm-widget-class {
background:
radial-gradient(circle at 2px 2px, rgba(13, 109, 141, 0.06) 1px, transparent 0) 0 0 / 18px 18px,
linear-gradient(180deg, #f8fbfd 0%, #eef3f7 100%);
}
.portal-shell {
--pf-bg: #f2f5f8;
--pf-card: #ffffff;
--pf-border: #d9e2ec;
--pf-ink: #133045;
--pf-muted: #5f7282;
--pf-primary: #0a6d8d;
--pf-primary-strong: #085a74;
--pf-success: #0f766e;
--pf-success-bg: #ecfdf5;
--pf-danger: #b42318;
max-width: 980px;
margin: 28px auto;
padding: 0 12px 32px;
color: var(--pf-ink);
}
.page-header {
position: relative;
margin: 0 0 20px;
padding: 18px 16px 14px;
border: 1px solid #0b4a5f;
border-radius: 12px;
background: #0b556b;
box-shadow: 0 8px 20px rgba(11, 85, 107, 0.24);
}
.page-header::before {
content: "";
position: absolute;
top: 0;
left: 0;
width: 180px;
height: 4px;
border-radius: 99px;
background: rgba(255, 255, 255, 0.75);
}
.page-brand {
position: absolute;
right: 0;
top: 6px;
width: 188px;
height: 64px;
display: flex;
align-items: center;
justify-content: center;
border-radius: 0;
border: none;
background: transparent;
box-shadow: none;
padding: 0;
}
.page-brand img {
max-width: 94%;
max-height: 82%;
object-fit: contain;
}
.brand-fallback-text {
display: none;
font-size: 14px;
font-weight: 700;
color: #ffffff;
}
.page-brand.brand-fallback .brand-fallback-text {
display: inline-block;
}
.page-eyebrow {
display: inline-block;
font-size: 11px;
font-weight: 700;
letter-spacing: 0.08em;
text-transform: uppercase;
color: #d7f0f7;
margin-bottom: 6px;
}
.page-title {
margin: 0;
font-size: 34px;
line-height: 1.15;
font-weight: 800;
color: #ffffff;
}
.page-title i {
margin-right: 8px;
color: #d7f0f7;
}
.page-subtitle {
margin: 8px 0 0;
color: #d5e8ef;
font-size: 15px;
max-width: 70%;
}
.form-card {
background: var(--pf-card);
border: 1px solid var(--pf-border);
border-radius: 14px;
padding: 22px 20px 16px;
margin-bottom: 16px;
box-shadow: 0 8px 24px rgba(16, 24, 40, 0.06);
transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.portal-shell .page-header .page-title,
.portal-shell .page-header .page-title i {
color: #ffffff !important;
}
.portal-shell .page-header .page-subtitle {
color: #e6f2f6 !important;
}
.portal-shell .page-header .page-eyebrow {
color: #dff6ff !important;
}
.portal-shell .form-card {
background: #ffffff !important;
border-color: #cfdce8 !important;
}
.portal-shell .arquivo-nome:empty {
display: none;
}
.form-card:hover {
transform: translateY(-2px);
box-shadow: 0 12px 30px rgba(16, 24, 40, 0.08);
}
.titulo-secao {
margin: 0;
font-size: 22px;
line-height: 1.2;
font-weight: 800;
color: #0b3f55;
}
.sub-secao {
margin: 6px 0 18px;
color: var(--pf-muted);
font-size: 13px;
}
.form-group {
margin-bottom: 16px;
}
.form-group > label {
display: block;
margin-bottom: 6px;
font-size: 13px;
font-weight: 700;
color: #324b5d;
}
.portal-shell .form-control,
.portal-shell .input-group-addon,
.portal-shell select.form-control {
border-radius: 8px;
}
.portal-shell .form-control {
height: 40px;
border: 1px solid #c9d5e2;
transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
.portal-shell textarea.form-control {
min-height: 120px;
resize: vertical;
}
.portal-shell .form-control:hover {
border-color: #8fb5c3;
}
.portal-shell .form-control:focus {
border-color: #0a6d8d;
box-shadow: 0 0 0 3px rgba(10, 109, 141, 0.12);
}
.portal-shell .has-error .form-control,
.portal-shell .alertaCampo.has-error .form-control {
border-color: var(--pf-danger);
}
.btn-anexo {
background: #eef4f7;
border: 1px dashed #9db7c5;
color: #133045;
border-radius: 8px;
padding: 10px 14px;
font-weight: 700;
transition: background 0.15s ease;
}
.btn-anexo:hover {
background: #e4eef3;
}
.arquivo-nome {
margin-top: 10px;
padding: 8px 10px;
border-radius: 8px;
background: #f4f8fb;
border: 1px solid #d7e5ef;
color: #365266;
font-size: 13px;
}
.btn-enviar {
margin-top: 10px;
min-width: 220px;
border-radius: 10px;
background: linear-gradient(135deg, #0a6d8d 0%, #0f8f98 100%);
border: none;
padding: 12px 28px;
font-size: 16px;
font-weight: 700;
color: white;
transition: transform 0.15s ease, box-shadow 0.15s ease;
}
.btn-enviar:hover {
transform: translateY(-1px);
box-shadow: 0 10px 22px rgba(10, 109, 141, 0.25);
}
.envio-status {
margin: 0 0 14px;
padding: 12px 14px;
border-radius: 10px;
border: 1px solid transparent;
font-size: 14px;
font-weight: 600;
}
.envio-status.hidden {
display: none;
}
.envio-status.success {
color: #065f46;
background: var(--pf-success-bg);
border-color: #a7f3d0;
}
.envio-status.error {
color: #7a271a;
background: #fef3f2;
border-color: #fecdca;
}
.portal-success-state {
max-width: 760px;
margin: 32px auto;
padding: 26px 24px;
border: 1px solid #b7ebd8;
border-radius: 12px;
background: linear-gradient(180deg, #f4fffb 0%, #ecfdf5 100%);
animation: fadeIn 0.4s ease;
}
.portal-success-title {
margin: 0 0 8px;
color: #0f5132;
font-weight: 800;
}
.portal-success-desc {
margin: 0;
color: #1f5f46;
}
@keyframes fadeIn {
from {
opacity: 0;
transform: translateY(10px);
}
to {
opacity: 1;
transform: translateY(0);
}
}
@media (max-width: 991px) {
.portal-shell {
padding: 0 10px 24px;
}
.page-title {
font-size: 28px;
}
.page-subtitle {
max-width: 100%;
padding-right: 184px;
}
}
@media (max-width: 767px) {
.page-title {
font-size: 24px;
}
.page-header {
padding-top: 76px;
}
.page-brand {
left: 0;
right: auto;
top: 8px;
width: 164px;
height: 58px;
}
.page-subtitle {
padding-right: 0;
}
.form-card {
padding: 16px 14px 10px;
border-radius: 12px;
}
.btn-enviar {
width: 100%;
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.7 KiB

View File

@ -0,0 +1,460 @@
if (typeof window !== "undefined") {
window.WCMAPI = window.WCMAPI || {};
if (typeof window.WCMAPI.isMobileAppMode !== "function") {
window.WCMAPI.isMobileAppMode = function () { return false; };
}
}
function showCamera(param) {
if (typeof JSInterface !== "undefined" && JSInterface && typeof JSInterface.showCamera === "function") {
JSInterface.showCamera(param);
return true;
}
return false;
}
var MyWidget = SuperWidget.extend({
init: function () {
this.root = $("#MyWidget_" + this.instanceId);
this.anexoInfo = null;
this.gedParentFolderId = 10;
this.isSending = false;
this.bindEvents();
this.setupInitialValues();
},
bindEvents: function () {
var self = this;
this.root.find("#btnEnviarNota_" + this.instanceId + ", #btnEnviarNota").off("click").on("click", function () {
self.enviarDocumento();
});
this.root.find("#anexaDocumento").off("click").on("click", function () {
self.handleAnexo();
});
this.root.find("#arquivoLocal").off("change").on("change", function () {
self.onArquivoSelecionado(this);
});
this.root.find("#tipo_cadastro").off("change").on("change", function () {
self.toggleTipoCadastro(this.value);
self.clearFieldError("#cpf");
self.clearFieldError("#cnpj");
});
this.root.find("#cpf").off("input").on("input", function () {
this.value = self.mascaraCPF(this.value);
});
this.root.find("#cnpj").off("input").on("input", function () {
this.value = self.mascaraCNPJ(this.value);
});
},
setupInitialValues: function () {
this.root.find("#data_abertura").val(this.getCurrentDate());
this.root.find("#tipo_cadastro").val("cpf").trigger("change");
this.root.find("#emitido_por").val("fornecedor");
this.root.find("#tipo_documento").val("danfe");
this.clearStatus();
},
onArquivoSelecionado: function (inputEl) {
var file = inputEl && inputEl.files && inputEl.files[0] ? inputEl.files[0] : null;
if (!file) {
this.anexoInfo = null;
this.root.find("#arquivoLocalNome").text("");
return;
}
this.anexoInfo = {
fileName: file.name,
mimeType: file.type || "application/octet-stream",
fileSize: file.size || 0,
file: file
};
this.root.find("#arquivoLocalNome").text("Arquivo selecionado: " + file.name + " (" + this.formatFileSize(file.size || 0) + ")");
this.clearStatus();
console.log("[portalfornecedor] anexo preparado para envio:", {
fileName: this.anexoInfo.fileName,
mimeType: this.anexoInfo.mimeType,
fileSize: this.anexoInfo.fileSize
});
},
handleAnexo: function () {
if (showCamera("anexo_documento")) {
return;
}
if (this.openAttachmentTab()) {
return;
}
this.root.find("#arquivoLocal").trigger("click");
},
openAttachmentTab: function () {
try {
var parentDoc = window.parent && window.parent.document ? window.parent.document : document;
var selectors = [
"#tab-attachments",
"a[href*='attachments']",
"a[aria-controls*='attachments']",
"[data-tab*='attachments']"
];
for (var i = 0; i < selectors.length; i++) {
var el = parentDoc.querySelector(selectors[i]);
if (el) {
el.click();
return true;
}
}
} catch (e) {
// ignore
}
return false;
},
toggleTipoCadastro: function (tipo) {
tipo = this.normalizeTipoCadastro(tipo);
var divCpf = this.root.find(".divCpf");
var divCnpj = this.root.find(".divCnpj");
var cpf = this.root.find("#cpf");
var cnpj = this.root.find("#cnpj");
if (tipo === "cpf") {
divCpf.show();
divCnpj.hide();
cpf.prop("readonly", false);
cnpj.prop("readonly", true).val("");
return;
}
if (tipo === "cnpj") {
divCpf.hide();
divCnpj.show();
cnpj.prop("readonly", false);
cpf.prop("readonly", true).val("");
return;
}
divCpf.hide();
divCnpj.show();
cpf.prop("readonly", true).val("");
cnpj.prop("readonly", true).val("");
},
enviarDocumento: function () {
var self = this;
if (this.isSending) {
return;
}
if (!this.validateRequiredFields()) {
this.setStatus("error", "Revise os campos obrigatorios destacados para continuar.");
FLUIGC.toast({
title: "Aviso",
message: "Preencha os campos obrigatorios antes de enviar.",
type: "warning"
});
return;
}
if (!this.anexoInfo || !this.anexoInfo.file) {
this.setStatus("error", "Selecione um anexo antes de enviar o documento.");
FLUIGC.toast({
title: "Aviso",
message: "Selecione um anexo antes de enviar o documento.",
type: "warning"
});
return;
}
var tipoCadastro = this.normalizeTipoCadastro(this.value("#tipo_cadastro"));
var cpf = this.onlyDigits(this.value("#cpf"));
var cnpj = this.onlyDigits(this.value("#cnpj"));
var numeroDocumento = this.value("#numero_documento");
var valor = this.normalizeMoney(this.value("#valor"));
var documentoPessoa = tipoCadastro === "cpf" ? cpf : cnpj;
var cpfField = tipoCadastro === "cpf" ? cpf : "";
this.setLoading(true, "Enviando documento, aguarde...");
this.uploadAnexoToECM(this.anexoInfo.file)
.done(function (docData) {
var payloadProcesso = {
targetState: 0,
subProcessTargetState: 0,
comment: "Solicitacao criada via widget",
formFields: {
data_abertura: self.value("#data_abertura"),
emitido_por: self.value("#emitido_por"),
entidade_responsavel: self.value("#entidade_responsavel"),
tipo_cadastro: tipoCadastro,
emailSolicitante: self.value("#emailSolicitante"),
cpf: cpfField || documentoPessoa,
tipo_documento: self.value("#tipo_documento"),
numero_documento: numeroDocumento,
valor: valor,
justificativa: self.value("#justificativa"),
anexo_documento_id: String(docData.documentId || ""),
anexo_documento_nome: self.anexoInfo.fileName,
anexo_documento_mime: self.anexoInfo.mimeType
}
};
window.__portalfornecedor_lastProcessPayload = payloadProcesso;
console.log("[portalfornecedor] payload direto processo:", payloadProcesso);
self.enviarDiretoProcesso(payloadProcesso)
.done(function (response) {
console.log("[portalfornecedor] response processo direto:", response);
self.setLoading(false);
self.renderSuccessState(response);
})
.fail(function (xhrDireto) {
self.setLoading(false);
console.warn("[portalfornecedor] falha no envio direto:", xhrDireto);
console.error("[portalfornecedor] detalhe erro processo direto:", {
status: xhrDireto.status,
statusText: xhrDireto.statusText,
responseText: xhrDireto.responseText
});
self.setStatus("error", "Falha ao iniciar processo. Veja o console para detalhes.");
FLUIGC.toast({
title: "Erro",
message: "Falha ao iniciar processo. Veja o console para detalhes.",
type: "danger"
});
});
})
.fail(function (uploadErr) {
self.setLoading(false);
console.error("[portalfornecedor] falha upload documento ECM:", uploadErr);
self.setStatus("error", "Falha ao enviar anexo para o GED.");
FLUIGC.toast({
title: "Erro",
message: "Falha ao enviar anexo para o GED.",
type: "danger"
});
});
},
renderSuccessState: function (response) {
var processInstanceId = this.extractProcessInstanceId(response);
var idText = processInstanceId ? ("Solicitação " + processInstanceId) : "Solicitação";
var html = ""
+ "<div class='portal-success-state'>"
+ " <h3 class='portal-success-title'>" + idText + " enviada com sucesso.</h3>"
+ " <p class='portal-success-desc'>Sua Solicitação foi encaminhada para o Grupo Ginseng para análise.</p>"
+ "</div>";
this.root.html(html);
console.log("[portalfornecedor] success state renderizado.");
},
extractProcessInstanceId: function (response) {
if (!response) return "";
if (response.processInstanceId) return response.processInstanceId;
if (response.content && response.content.processInstanceId) return response.content.processInstanceId;
if (response.content && response.content.processInstanceid) return response.content.processInstanceid;
if (response.content && response.content.requestNumber) return response.content.requestNumber;
return "";
},
enviarDiretoProcesso: function (payloadProcesso) {
return $.ajax({
url: "/process-management/api/v2/processes/FlowEssentials_LancamentodeDocumento/start",
type: "POST",
contentType: "application/json",
data: JSON.stringify(payloadProcesso)
});
},
uploadAnexoToECM: function (file) {
var self = this;
var dfd = $.Deferred();
var fileName = file.name;
var uploadUrl = "/api/public/2.0/contentfiles/upload/?fileName=" + encodeURIComponent(fileName);
fetch(uploadUrl, {
method: "POST",
headers: {
"Content-Type": "application/octet-stream"
},
body: file
})
.then(function (resp) {
if (!resp.ok) throw new Error("Falha no upload binario");
return resp.text();
})
.then(function () {
var companyId = (window.WCMAPI && WCMAPI.organizationId) ? String(WCMAPI.organizationId) : "1";
var createPayload = {
companyId: companyId,
description: fileName,
parentId: self.gedParentFolderId,
immutable: true,
isPrivate: false,
downloadEnabled: true,
attachments: [{ fileName: fileName }]
};
return fetch("/api/public/ecm/document/createDocument", {
method: "POST",
headers: {
"Content-Type": "application/json;charset=utf-8"
},
body: JSON.stringify(createPayload)
});
})
.then(function (resp) {
if (!resp.ok) throw new Error("Falha ao criar documento no GED");
return resp.json();
})
.then(function (data) {
var content = data && data.content ? data.content : {};
var documentId = content.id || content.documentId;
if (!documentId) throw new Error("GED nao retornou documentId");
dfd.resolve({ documentId: documentId, raw: data });
})
.catch(function (err) {
dfd.reject(err);
});
return dfd.promise();
},
setLoading: function (isLoading, message) {
this.isSending = !!isLoading;
var btn = this.root.find("#btnEnviarNota");
if (isLoading) {
btn.prop("disabled", true).text("Enviando...");
this.setStatus("success", message || "Processando...");
return;
}
btn.prop("disabled", false).text("Enviar documento");
},
setStatus: function (type, message) {
var box = this.root.find("#envioStatus");
if (!box.length) return;
box.removeClass("hidden success error");
box.addClass(type === "error" ? "error" : "success");
box.text(message || "");
},
clearStatus: function () {
var box = this.root.find("#envioStatus");
if (!box.length) return;
box.removeClass("success error").addClass("hidden").text("");
},
validateRequiredFields: function () {
var ok = true;
var tipoCadastro = this.normalizeTipoCadastro(this.value("#tipo_cadastro"));
if (!this.value("#emitido_por")) ok = this.markRequired("#emitido_por") && ok;
if (!this.value("#entidade_responsavel")) ok = this.markRequired("#entidade_responsavel") && ok;
if (!this.value("#tipo_cadastro")) ok = this.markRequired("#tipo_cadastro") && ok;
if (!this.value("#numero_documento")) ok = this.markRequired("#numero_documento") && ok;
if (!this.value("#justificativa")) ok = this.markRequired("#justificativa") && ok;
if (tipoCadastro === "cpf") {
if (!this.onlyDigits(this.value("#cpf"))) ok = this.markRequired("#cpf") && ok;
this.clearFieldError("#cnpj");
} else if (tipoCadastro === "cnpj") {
if (!this.onlyDigits(this.value("#cnpj"))) ok = this.markRequired("#cnpj") && ok;
this.clearFieldError("#cpf");
}
return ok;
},
markRequired: function (selector) {
var input = this.root.find(selector);
if (!input.length) return false;
var container = input.closest(".alertaCampo, .form-group");
if (container.length) container.addClass("has-error");
input.one("input change", function () {
if ($.trim($(this).val())) {
$(this).closest(".alertaCampo, .form-group").removeClass("has-error");
}
});
return false;
},
clearFieldError: function (selector) {
var input = this.root.find(selector);
if (!input.length) return;
input.closest(".alertaCampo, .form-group").removeClass("has-error");
},
value: function (selector) {
return (this.root.find(selector).val() || "").toString().trim();
},
getCurrentDate: function () {
var now = new Date();
var yyyy = now.getFullYear();
var mm = ("0" + (now.getMonth() + 1)).slice(-2);
var dd = ("0" + now.getDate()).slice(-2);
return yyyy + "-" + mm + "-" + dd;
},
mascaraCPF: function (value) {
var v = (value || "").replace(/\D/g, "").slice(0, 11);
v = v.replace(/(\d{3})(\d)/, "$1.$2");
v = v.replace(/(\d{3})(\d)/, "$1.$2");
v = v.replace(/(\d{3})(\d{1,2})$/, "$1-$2");
return v;
},
mascaraCNPJ: function (value) {
var v = (value || "").replace(/\D/g, "").slice(0, 14);
v = v.replace(/^(\d{2})(\d)/, "$1.$2");
v = v.replace(/^(\d{2})\.(\d{3})(\d)/, "$1.$2.$3");
v = v.replace(/\.(\d{3})(\d)/, ".$1/$2");
v = v.replace(/(\d{4})(\d)/, "$1-$2");
return v;
},
onlyDigits: function (value) {
return (value || "").replace(/\D/g, "");
},
normalizeMoney: function (value) {
var raw = (value || "").toString().trim();
if (!raw) return "0,00";
if (raw.indexOf(",") >= 0) return raw;
if (raw.indexOf(".") >= 0) return raw.replace(".", ",");
return raw + ",00";
},
normalizeTipoCadastro: function (value) {
return (value || "").toString().trim().toLowerCase();
},
formatFileSize: function (bytes) {
var b = Number(bytes || 0);
if (b <= 0) return "0 KB";
if (b < 1024) return b + " B";
if (b < 1048576) return (b / 1024).toFixed(1) + " KB";
return (b / 1048576).toFixed(2) + " MB";
}
});

View File

@ -0,0 +1,722 @@
<list>
<ProcessDefinition>
<processDefinitionPK>
<companyId>1</companyId>
<processId>FlowEssentials_LancamentodeDocumento</processId>
</processDefinitionPK>
<processDescription>Lançamento de documento</processDescription>
<instruction>Este Flow permite ao colaborador lançar dados referentes a um documento, seja uma nota, recibo, boleto ou outro que a empresa possua, com a obrigatoriedade de anexar o documento citado. Quando aprovada a etapa de Análise do documento, o mesmo será publicado no ECM e herdará as propriedades de validade e notificação.</instruction>
<active>true</active>
<publicProcess>true</publicProcess>
<volumeId>Default</volumeId>
<categoryId>Documentos</categoryId>
<managerEngineAllocationId></managerEngineAllocationId>
<snapshotFrequency>0</snapshotFrequency>
<baseDay>0</baseDay>
<baseMonth>0</baseMonth>
<periodId>Default</periodId>
<uniqueCardVersion>false</uniqueCardVersion>
<keyWord></keyWord>
<complementsLevel>1</complementsLevel>
<notifyRequisitionerComplements>true</notifyRequisitionerComplements>
<notifyManagerComplements>false</notifyManagerComplements>
<deadlineTime>86400</deadlineTime>
<warningDeadlineTime>43200</warningDeadlineTime>
<notifyAuthorityComplements>true</notifyAuthorityComplements>
</ProcessDefinition>
<ProcessDefinitionVersion>
<processDefinitionVersionPK>
<companyId>1</companyId>
<processId>Lançamento de documento</processId>
<version>9</version>
</processDefinitionVersionPK>
<versionDescription></versionDescription>
<formId>41254</formId>
<editionMode>true</editionMode>
<updateAttachmentsVersion>false</updateAttachmentsVersion>
<controlsAttachmentsSecurity>false</controlsAttachmentsSecurity>
<active>true</active>
<blockedVersion>false</blockedVersion>
<counterSign>false</counterSign>
<openInstances>0</openInstances>
<bpmnVersion>2</bpmnVersion>
<processStates/>
<favorito>false</favorito>
<inheritFormSecurity>false</inheritFormSecurity>
<mobileReady>true</mobileReady>
</ProcessDefinitionVersion>
<list>
<ProcessState>
<processStatePK>
<companyId>1</companyId>
<processId>FlowEssentials_LancamentodeDocumento</processId>
<version>1</version>
<sequence>4</sequence>
</processStatePK>
<stateName>Lançar documento</stateName>
<stateDescription>Lançar documento</stateDescription>
<instruction></instruction>
<deadlineTime>0</deadlineTime>
<joint>false</joint>
<agreementPercentage>0</agreementPercentage>
<engineAllocationId></engineAllocationId>
<engineAllocationConfiguration></engineAllocationConfiguration>
<selectColleague>1</selectColleague>
<initialState>true</initialState>
<notifyAuthorityDelay>true</notifyAuthorityDelay>
<notifyRequisitionerDelay>false</notifyRequisitionerDelay>
<allowanceAuthorityTime>3600</allowanceAuthorityTime>
<frequenceAuthorityTime>3600</frequenceAuthorityTime>
<allowanceRequisitionerTime>0</allowanceRequisitionerTime>
<frequenceRequisitionerTime>0</frequenceRequisitionerTime>
<transferAttachments>false</transferAttachments>
<subProcessId></subProcessId>
<formFolder>0</formFolder>
<notifyAuthorityFollowUp>true</notifyAuthorityFollowUp>
<notifyRequisitionerFollowUp>true</notifyRequisitionerFollowUp>
<automatic>false</automatic>
<positionX>120</positionX>
<positionY>100</positionY>
<forecastedEffortType>0</forecastedEffortType>
<forecastedEffort>0</forecastedEffort>
<notifyManagerFollowUp>false</notifyManagerFollowUp>
<notifyManagerDelay>false</notifyManagerDelay>
<allowanceManagerTime>0</allowanceManagerTime>
<frequenceManagerTime>0</frequenceManagerTime>
<inhibitTransfer>false</inhibitTransfer>
<periodId></periodId>
<stateType>0</stateType>
<bpmnType>10</bpmnType>
<signalId>0</signalId>
<counterSign>false</counterSign>
<openInstances>0</openInstances>
<noticeExpirationAuthorityTime>0</noticeExpirationAuthorityTime>
<noticeExpirationRequisitionerTime>0</noticeExpirationRequisitionerTime>
<noticeExpirationManagerTime>0</noticeExpirationManagerTime>
<destinationStates/>
<digitalSignature>false</digitalSignature>
</ProcessState>
<ProcessState>
<processStatePK>
<companyId>1</companyId>
<processId>FlowEssentials_LancamentodeDocumento</processId>
<version>1</version>
<sequence>5</sequence>
</processStatePK>
<stateName>Analisar documento</stateName>
<stateDescription>Analisar documento</stateDescription>
<instruction></instruction>
<deadlineTime>86400</deadlineTime>
<deadlineFieldName></deadlineFieldName>
<joint>false</joint>
<agreementPercentage>0</agreementPercentage>
<engineAllocationId>Pool Grupo</engineAllocationId>
<engineAllocationConfiguration>&lt;AssignmentController&gt;&lt;Group&gt;Fiscal&lt;/Group&gt;&lt;/AssignmentController&gt;</engineAllocationConfiguration>
<selectColleague>1</selectColleague>
<initialState>false</initialState>
<notifyAuthorityDelay>true</notifyAuthorityDelay>
<notifyRequisitionerDelay>false</notifyRequisitionerDelay>
<allowanceAuthorityTime>3600</allowanceAuthorityTime>
<frequenceAuthorityTime>3600</frequenceAuthorityTime>
<allowanceRequisitionerTime>0</allowanceRequisitionerTime>
<frequenceRequisitionerTime>0</frequenceRequisitionerTime>
<transferAttachments>false</transferAttachments>
<subProcessId></subProcessId>
<formFolder>0</formFolder>
<notifyAuthorityFollowUp>true</notifyAuthorityFollowUp>
<notifyRequisitionerFollowUp>false</notifyRequisitionerFollowUp>
<automatic>false</automatic>
<positionX>280</positionX>
<positionY>300</positionY>
<forecastedEffortType>0</forecastedEffortType>
<forecastedEffort>0</forecastedEffort>
<notifyManagerFollowUp>false</notifyManagerFollowUp>
<notifyManagerDelay>false</notifyManagerDelay>
<allowanceManagerTime>0</allowanceManagerTime>
<frequenceManagerTime>0</frequenceManagerTime>
<inhibitTransfer>false</inhibitTransfer>
<periodId>Default</periodId>
<stateType>0</stateType>
<bpmnType>80</bpmnType>
<signalId>0</signalId>
<counterSign>false</counterSign>
<openInstances>0</openInstances>
<noticeExpirationAuthorityTime>0</noticeExpirationAuthorityTime>
<noticeExpirationRequisitionerTime>0</noticeExpirationRequisitionerTime>
<noticeExpirationManagerTime>0</noticeExpirationManagerTime>
<destinationStates/>
<digitalSignature>false</digitalSignature>
<executionType>0</executionType>
</ProcessState>
<ProcessState>
<processStatePK>
<companyId>1</companyId>
<processId>FlowEssentials_LancamentodeDocumento</processId>
<version>1</version>
<sequence>9</sequence>
</processStatePK>
<stateName>Ajustar dados do documento</stateName>
<stateDescription>Ajustar dados do documento</stateDescription>
<instruction></instruction>
<deadlineTime>86400</deadlineTime>
<deadlineFieldName></deadlineFieldName>
<joint>false</joint>
<agreementPercentage>0</agreementPercentage>
<engineAllocationId>Executor Atividade</engineAllocationId>
<engineAllocationConfiguration>&lt;AssignmentController&gt;&lt;BaseActivity&gt;4&lt;/BaseActivity&gt;&lt;Returns&gt;Last&lt;/Returns&gt;&lt;/AssignmentController&gt;</engineAllocationConfiguration>
<selectColleague>1</selectColleague>
<initialState>false</initialState>
<notifyAuthorityDelay>true</notifyAuthorityDelay>
<notifyRequisitionerDelay>false</notifyRequisitionerDelay>
<allowanceAuthorityTime>3600</allowanceAuthorityTime>
<frequenceAuthorityTime>3600</frequenceAuthorityTime>
<allowanceRequisitionerTime>0</allowanceRequisitionerTime>
<frequenceRequisitionerTime>0</frequenceRequisitionerTime>
<transferAttachments>false</transferAttachments>
<subProcessId></subProcessId>
<formFolder>0</formFolder>
<notifyAuthorityFollowUp>true</notifyAuthorityFollowUp>
<notifyRequisitionerFollowUp>false</notifyRequisitionerFollowUp>
<automatic>false</automatic>
<positionX>500</positionX>
<positionY>77</positionY>
<forecastedEffortType>0</forecastedEffortType>
<forecastedEffort>0</forecastedEffort>
<notifyManagerFollowUp>false</notifyManagerFollowUp>
<notifyManagerDelay>false</notifyManagerDelay>
<allowanceManagerTime>0</allowanceManagerTime>
<frequenceManagerTime>0</frequenceManagerTime>
<inhibitTransfer>false</inhibitTransfer>
<periodId></periodId>
<stateType>0</stateType>
<bpmnType>80</bpmnType>
<signalId>0</signalId>
<counterSign>false</counterSign>
<openInstances>0</openInstances>
<noticeExpirationAuthorityTime>0</noticeExpirationAuthorityTime>
<noticeExpirationRequisitionerTime>0</noticeExpirationRequisitionerTime>
<noticeExpirationManagerTime>0</noticeExpirationManagerTime>
<destinationStates/>
<digitalSignature>false</digitalSignature>
<executionType>0</executionType>
</ProcessState>
<ProcessState>
<processStatePK>
<companyId>1</companyId>
<processId>FlowEssentials_LancamentodeDocumento</processId>
<version>1</version>
<sequence>7</sequence>
</processStatePK>
<stateName>Finalizar e aprovar solicitação</stateName>
<stateDescription>Finalizar e aprovar solicitação</stateDescription>
<instruction>Atividade final do processo</instruction>
<deadlineTime>0</deadlineTime>
<joint>false</joint>
<agreementPercentage>0</agreementPercentage>
<engineAllocationId></engineAllocationId>
<engineAllocationConfiguration></engineAllocationConfiguration>
<selectColleague>0</selectColleague>
<initialState>false</initialState>
<notifyAuthorityDelay>true</notifyAuthorityDelay>
<notifyRequisitionerDelay>false</notifyRequisitionerDelay>
<allowanceAuthorityTime>0</allowanceAuthorityTime>
<frequenceAuthorityTime>1</frequenceAuthorityTime>
<allowanceRequisitionerTime>0</allowanceRequisitionerTime>
<frequenceRequisitionerTime>0</frequenceRequisitionerTime>
<transferAttachments>false</transferAttachments>
<subProcessId></subProcessId>
<formFolder>0</formFolder>
<notifyAuthorityFollowUp>false</notifyAuthorityFollowUp>
<notifyRequisitionerFollowUp>false</notifyRequisitionerFollowUp>
<automatic>false</automatic>
<positionX>800</positionX>
<positionY>430</positionY>
<forecastedEffortType>0</forecastedEffortType>
<forecastedEffort>0</forecastedEffort>
<notifyManagerFollowUp>false</notifyManagerFollowUp>
<notifyManagerDelay>false</notifyManagerDelay>
<allowanceManagerTime>0</allowanceManagerTime>
<frequenceManagerTime>0</frequenceManagerTime>
<inhibitTransfer>false</inhibitTransfer>
<periodId></periodId>
<stateType>6</stateType>
<bpmnType>60</bpmnType>
<signalId>0</signalId>
<counterSign>false</counterSign>
<openInstances>0</openInstances>
<destinationStates/>
<digitalSignature>false</digitalSignature>
</ProcessState>
<ProcessState>
<processStatePK>
<companyId>1</companyId>
<processId>FlowEssentials_LancamentodeDocumento</processId>
<version>1</version>
<sequence>14</sequence>
</processStatePK>
<stateName>Cancelar</stateName>
<stateDescription>Cancelar</stateDescription>
<instruction>Atividade final do processo</instruction>
<deadlineTime>0</deadlineTime>
<joint>false</joint>
<agreementPercentage>0</agreementPercentage>
<engineAllocationId></engineAllocationId>
<engineAllocationConfiguration></engineAllocationConfiguration>
<selectColleague>0</selectColleague>
<initialState>false</initialState>
<notifyAuthorityDelay>true</notifyAuthorityDelay>
<notifyRequisitionerDelay>false</notifyRequisitionerDelay>
<allowanceAuthorityTime>0</allowanceAuthorityTime>
<frequenceAuthorityTime>1</frequenceAuthorityTime>
<allowanceRequisitionerTime>0</allowanceRequisitionerTime>
<frequenceRequisitionerTime>0</frequenceRequisitionerTime>
<transferAttachments>false</transferAttachments>
<subProcessId></subProcessId>
<formFolder>0</formFolder>
<notifyAuthorityFollowUp>false</notifyAuthorityFollowUp>
<notifyRequisitionerFollowUp>false</notifyRequisitionerFollowUp>
<automatic>false</automatic>
<positionX>800</positionX>
<positionY>320</positionY>
<forecastedEffortType>0</forecastedEffortType>
<forecastedEffort>0</forecastedEffort>
<notifyManagerFollowUp>false</notifyManagerFollowUp>
<notifyManagerDelay>false</notifyManagerDelay>
<allowanceManagerTime>0</allowanceManagerTime>
<frequenceManagerTime>0</frequenceManagerTime>
<inhibitTransfer>false</inhibitTransfer>
<periodId></periodId>
<stateType>6</stateType>
<bpmnType>65</bpmnType>
<signalId>0</signalId>
<counterSign>false</counterSign>
<openInstances>0</openInstances>
<destinationStates/>
<digitalSignature>false</digitalSignature>
</ProcessState>
</list>
<list/>
<list>
<ProcessLink>
<processLinkPK>
<companyId>1</companyId>
<processId>FlowEssentials_LancamentodeDocumento</processId>
<version>1</version>
<linkSequence>6</linkSequence>
</processLinkPK>
<actionLabel></actionLabel>
<returnPermited>false</returnPermited>
<initialStateSequence>4</initialStateSequence>
<finalStateSequence>5</finalStateSequence>
<returnLabel></returnLabel>
<name></name>
<automaticLink>false</automaticLink>
<defaultLink>false</defaultLink>
<type>0</type>
</ProcessLink>
<ProcessLink>
<processLinkPK>
<companyId>1</companyId>
<processId>FlowEssentials_LancamentodeDocumento</processId>
<version>1</version>
<linkSequence>8</linkSequence>
</processLinkPK>
<actionLabel>Finalizar e aprovar solicitação</actionLabel>
<returnPermited>false</returnPermited>
<initialStateSequence>5</initialStateSequence>
<finalStateSequence>7</finalStateSequence>
<returnLabel></returnLabel>
<name>Aprovar</name>
<automaticLink>false</automaticLink>
<defaultLink>false</defaultLink>
<type>0</type>
</ProcessLink>
<ProcessLink>
<processLinkPK>
<companyId>1</companyId>
<processId>FlowEssentials_LancamentodeDocumento</processId>
<version>1</version>
<linkSequence>10</linkSequence>
</processLinkPK>
<actionLabel></actionLabel>
<returnPermited>false</returnPermited>
<initialStateSequence>5</initialStateSequence>
<finalStateSequence>9</finalStateSequence>
<returnLabel></returnLabel>
<name>Ajustar</name>
<automaticLink>false</automaticLink>
<defaultLink>false</defaultLink>
<type>0</type>
</ProcessLink>
<ProcessLink>
<processLinkPK>
<companyId>1</companyId>
<processId>FlowEssentials_LancamentodeDocumento</processId>
<version>1</version>
<linkSequence>11</linkSequence>
</processLinkPK>
<actionLabel></actionLabel>
<returnPermited>false</returnPermited>
<initialStateSequence>9</initialStateSequence>
<finalStateSequence>5</finalStateSequence>
<returnLabel></returnLabel>
<name></name>
<automaticLink>false</automaticLink>
<defaultLink>false</defaultLink>
<type>0</type>
</ProcessLink>
<ProcessLink>
<processLinkPK>
<companyId>1</companyId>
<processId>FlowEssentials_LancamentodeDocumento</processId>
<version>1</version>
<linkSequence>13</linkSequence>
</processLinkPK>
<actionLabel></actionLabel>
<returnPermited>false</returnPermited>
<initialStateSequence>5</initialStateSequence>
<finalStateSequence>14</finalStateSequence>
<returnLabel></returnLabel>
<name>Cancelar</name>
<automaticLink>false</automaticLink>
<defaultLink>false</defaultLink>
<type>0</type>
</ProcessLink>
</list>
<list/>
<list>
<WorkflowProcessEvent>
<workflowProcessEventPK>
<companyId>1</companyId>
<eventId>beforeStateEntry</eventId>
<processId>FlowEssentials_LancamentodeDocumento</processId>
<version>1</version>
</workflowProcessEventPK>
<eventDescription>function beforeStateEntry(sequenceId) {
appendDebugPublicacao(&quot;beforeStateEntry sequenceId=&quot; + sequenceId);
if (sequenceId == 7) {
anexarDocumentoDoCardSeNecessario();
publicarDocumento();
}
if (sequenceId == 7) {
var attachments = hAPI.listAttachments();
var hasAttachment = attachments &amp;&amp; attachments.size() &gt; 0;
appendDebugPublicacao(&quot;validacao anexos: total=&quot; + (attachments ? attachments.size() : 0));
if (!hasAttachment) {
appendDebugPublicacao(&quot;validacao anexos: nenhum anexo encontrado apos processamento.&quot;);
throw &quot;\n\nNao identificamos nenhum documento anexado, volte ao formulario e anexe pelo menos um documento para avancar a solicitacao.\n\n&quot;;
}
}
}
function anexarDocumentoDoCardSeNecessario() {
try {
var attachments = hAPI.listAttachments();
if (attachments &amp;&amp; attachments.size() &gt; 0) {
appendDebugPublicacao(&quot;anexarDocumentoDoCardSeNecessario: solicitacao ja possui &quot; + attachments.size() + &quot; anexo(s).&quot;);
return;
}
var anexoIdStr = (hAPI.getCardValue(&quot;anexo_documento_id&quot;) || &quot;&quot;) + &quot;&quot;;
anexoIdStr = anexoIdStr.replace(/^\s+|\s+$/g, &quot;&quot;);
if (!anexoIdStr) {
appendDebugPublicacao(&quot;anexarDocumentoDoCardSeNecessario: campo anexo_documento_id vazio.&quot;);
return;
}
var anexoId = parseInt(anexoIdStr, 10);
if (isNaN(anexoId) || anexoId &lt;= 0) {
appendDebugPublicacao(&quot;anexarDocumentoDoCardSeNecessario: anexo_documento_id invalido: &quot; + anexoIdStr);
return;
}
hAPI.attachDocument(anexoId);
appendDebugPublicacao(&quot;anexarDocumentoDoCardSeNecessario: hAPI.attachDocument OK documentId=&quot; + anexoId);
var attachmentsDepois = hAPI.listAttachments();
appendDebugPublicacao(&quot;anexarDocumentoDoCardSeNecessario: total anexos apos attachDocument = &quot; + (attachmentsDepois ? attachmentsDepois.size() : 0));
} catch (e) {
appendDebugPublicacao(&quot;anexarDocumentoDoCardSeNecessario: ERRO &quot; + e);
}
}
function appendDebugPublicacao(msg) {
try {
var atual = (hAPI.getCardValue(&quot;debug_publicacao&quot;) || &quot;&quot;) + &quot;&quot;;
var prefix = atual ? atual + &quot;\n&quot; : &quot;&quot;;
hAPI.setCardValue(&quot;debug_publicacao&quot;, prefix + msg);
} catch (e) {
log.warn(&quot;appendDebugPublicacao falhou: &quot; + e);
}
}
</eventDescription>
</WorkflowProcessEvent>
<WorkflowProcessEvent>
<workflowProcessEventPK>
<companyId>1</companyId>
<eventId>publicarDocumento</eventId>
<processId>FlowEssentials_LancamentodeDocumento</processId>
<version>1</version>
</workflowProcessEventPK>
<eventDescription>function publicarDocumento() {
var radioGed = (hAPI.getCardValue(&quot;radio_ged&quot;) || &quot;&quot;) + &quot;&quot;;
var idPastaSelecionadaRaw = (hAPI.getCardValue(&quot;idPastaSelecionada&quot;) || &quot;&quot;) + &quot;&quot;;
log.info(&quot;PUBLICAR_DOCUMENTO LANCAMENTO_DOCUMENTO ########## radio_ged=&quot; + radioGed + &quot; idPastaSelecionada=&quot; + idPastaSelecionadaRaw);
appendDebugPublicacao(&quot;publicarDocumento: radio_ged=&quot; + radioGed + &quot; idPastaSelecionada=&quot; + idPastaSelecionadaRaw);
if (radioGed != &quot;publica_ged&quot;) {
log.info(&quot;PUBLICAR_DOCUMENTO LANCAMENTO_DOCUMENTO ########## Nao publicar no ECM (radio_ged diferente de publica_ged).&quot;);
appendDebugPublicacao(&quot;publicarDocumento: radio_ged diferente de publica_ged.&quot;);
return;
}
var attachments = hAPI.listAttachments();
log.info(&quot;PUBLICAR_DOCUMENTO LANCAMENTO_DOCUMENTO ########## attachments.size=&quot; + (attachments ? attachments.size() : 0));
appendDebugPublicacao(&quot;publicarDocumento: attachments.size=&quot; + (attachments ? attachments.size() : 0));
for (var i = 0; i &lt; attachments.size(); i++) {
var docDto = attachments.get(i);
log.info(&quot;PUBLICAR_DOCUMENTO LANCAMENTO_DOCUMENTO ########## analisando anexo documentId=&quot; + docDto.getDocumentId() + &quot; version=&quot; + docDto.getVersion() + &quot; documentType=&quot; + docDto.getDocumentType());
appendDebugPublicacao(&quot;publicarDocumento: analisando documentId=&quot; + docDto.getDocumentId() + &quot; version=&quot; + docDto.getVersion() + &quot; type=&quot; + docDto.getDocumentType());
try {
docAPI.copyDocumentToUploadArea(docDto.getDocumentId(), docDto.getVersion());
docDto.setDocumentId(0);
var idPastaSelecionada = parseInt((hAPI.getCardValue(&quot;idPastaSelecionada&quot;) || &quot;&quot;) + &quot;&quot;, 10);
if (isNaN(idPastaSelecionada) || idPastaSelecionada &lt;= 0) {
log.warn(&quot;PUBLICAR_DOCUMENTO LANCAMENTO_DOCUMENTO ########## idPastaSelecionada invalido. Documento nao sera publicado no ECM.&quot;);
appendDebugPublicacao(&quot;publicarDocumento: idPastaSelecionada invalido.&quot;);
continue;
}
docDto.setParentDocumentId(idPastaSelecionada);
var attachArray = new java.util.ArrayList();
var mainAttach = docAPI.newAttachment();
mainAttach.setFileName(docDto.getPhisicalFile());
mainAttach.setPrincipal(true);
mainAttach.setAttach(false);
attachArray.add(mainAttach);
docDto.setActiveVersion(true);
docDto.setColleagueId(getValue(&quot;WKUser&quot;));
docDto.setPublisherId(getValue(&quot;WKUser&quot;));
if (hAPI.getCardValue(&quot;radio_data_validade&quot;) == &quot;com_data_validade&quot;) {
docDto.setExpires(true);
if (hAPI.getCardValue(&quot;inicio_validade&quot;) != &quot;&quot;) {
var inicioValidade = (hAPI.getCardValue(&quot;inicio_validade&quot;) || &quot;&quot;) + &quot;&quot;;
var dataInicioSplit = inicioValidade.split(&quot;-&quot;);
var anoInicio = dataInicioSplit[0];
var mesInicio = parseFloat(dataInicioSplit[1]) - 1;
var diaInicio = dataInicioSplit[2];
var dInicio = new Date(anoInicio, mesInicio, diaInicio);
docDto.setValidationStartDate(dInicio);
}
if (hAPI.getCardValue(&quot;expiracao_validade&quot;) != &quot;&quot;) {
var dataVencimento = (hAPI.getCardValue(&quot;expiracao_validade&quot;) || &quot;&quot;) + &quot;&quot;;
var dataSplit = dataVencimento.split(&quot;-&quot;);
var ano = dataSplit[0];
var mes = parseFloat(dataSplit[1]) - 1;
var dia = dataSplit[2];
var d = new Date(ano, mes, dia);
docDto.setExpirationDate(d);
}
if (hAPI.getCardValue(&quot;dias_antes_expiracao&quot;) != &quot;&quot;) {
var diasAntesExpiracao = parseInt(hAPI.getCardValue(&quot;dias_antes_expiracao&quot;), 10);
docDto.setNotificationDays(diasAntesExpiracao);
}
} else {
docDto.setExpires(false);
}
log.info(&quot;PUBLICAR_DOCUMENTO LANCAMENTO_DOCUMENTO ########## before create document&quot;);
var doc = docAPI.createDocument(docDto, attachArray, null, null, null);
log.info(&quot;PUBLICAR_DOCUMENTO LANCAMENTO_DOCUMENTO ########## DOCUMENTO CRIADO COM O ID: &quot; + doc.getDocumentId());
appendDebugPublicacao(&quot;publicarDocumento: documento publicado no ECM com id=&quot; + doc.getDocumentId());
} catch (e) {
log.error(&quot;PUBLICAR_DOCUMENTO LANCAMENTO_DOCUMENTO ########## falha ao publicar anexo documentId=&quot; + docDto.getDocumentId() + &quot; erro=&quot; + e);
appendDebugPublicacao(&quot;publicarDocumento: ERRO ao publicar documentId=&quot; + docDto.getDocumentId() + &quot; erro=&quot; + e);
}
}
}
function appendDebugPublicacao(msg) {
try {
var atual = (hAPI.getCardValue(&quot;debug_publicacao&quot;) || &quot;&quot;) + &quot;&quot;;
var prefix = atual ? atual + &quot;\n&quot; : &quot;&quot;;
hAPI.setCardValue(&quot;debug_publicacao&quot;, prefix + msg);
} catch (e) {
log.warn(&quot;appendDebugPublicacao falhou: &quot; + e);
}
}
</eventDescription>
</WorkflowProcessEvent>
</list>
<list/>
<list>
<SwimLane>
<color>FFFFFF</color>
<height>511</height>
<width>1031</width>
<positionX>10</positionX>
<positionY>10</positionY>
<stateName>Lançamento de documento</stateName>
<type>1</type>
<parentSequence>0</parentSequence>
<swimLanePK>
<companyId>1</companyId>
<processId>FlowEssentials_LancamentodeDocumento</processId>
<version>1</version>
<sequence>1</sequence>
</swimLanePK>
</SwimLane>
<SwimLane>
<color>DBE8FF</color>
<height>255</height>
<width>1001</width>
<positionX>40</positionX>
<positionY>10</positionY>
<stateName>Solicitante</stateName>
<type>2</type>
<parentSequence>1</parentSequence>
<swimLanePK>
<companyId>1</companyId>
<processId>FlowEssentials_LancamentodeDocumento</processId>
<version>1</version>
<sequence>2</sequence>
</swimLanePK>
</SwimLane>
<SwimLane>
<color>E2E2E2</color>
<height>256</height>
<width>1001</width>
<positionX>40</positionX>
<positionY>265</positionY>
<stateName>Responsável por documentos</stateName>
<type>2</type>
<parentSequence>1</parentSequence>
<swimLanePK>
<companyId>1</companyId>
<processId>FlowEssentials_LancamentodeDocumento</processId>
<version>1</version>
<sequence>3</sequence>
</swimLanePK>
</SwimLane>
</list>
<list/>
<list/>
<list>
<ProcessLinkBend>
<processLinkBendPK>
<companyId>1</companyId>
<processId>FlowEssentials_LancamentodeDocumento</processId>
<version>9</version>
<linkSequence>6</linkSequence>
<bendSequence>1</bendSequence>
</processLinkBendPK>
<positionX>137</positionX>
<positionY>335</positionY>
</ProcessLinkBend>
<ProcessLinkBend>
<processLinkBendPK>
<companyId>1</companyId>
<processId>FlowEssentials_LancamentodeDocumento</processId>
<version>9</version>
<linkSequence>8</linkSequence>
<bendSequence>1</bendSequence>
</processLinkBendPK>
<positionX>333</positionX>
<positionY>447</positionY>
</ProcessLinkBend>
<ProcessLinkBend>
<processLinkBendPK>
<companyId>1</companyId>
<processId>FlowEssentials_LancamentodeDocumento</processId>
<version>9</version>
<linkSequence>10</linkSequence>
<bendSequence>1</bendSequence>
</processLinkBendPK>
<positionX>552</positionX>
<positionY>335</positionY>
</ProcessLinkBend>
<ProcessLinkBend>
<processLinkBendPK>
<companyId>1</companyId>
<processId>FlowEssentials_LancamentodeDocumento</processId>
<version>9</version>
<linkSequence>11</linkSequence>
<bendSequence>1</bendSequence>
</processLinkBendPK>
<positionX>333</positionX>
<positionY>112</positionY>
</ProcessLinkBend>
</list>
<list/>
<list/>
<list/>
<list/>
<list/>
<list>
<ProcessAppConfiguration>
<id>0</id>
<tenantId>0</tenantId>
<processId>FlowEssentials_LancamentodeDocumento</processId>
<processVersion>9</processVersion>
<stateSequence>5</stateSequence>
<appKey>approval</appKey>
<appField>title</appField>
<description>Analisar documento</description>
</ProcessAppConfiguration>
<ProcessAppConfiguration>
<id>0</id>
<tenantId>0</tenantId>
<processId>FlowEssentials_LancamentodeDocumento</processId>
<processVersion>9</processVersion>
<stateSequence>5</stateSequence>
<appKey>approval</appKey>
<appField>description</appField>
<description></description>
</ProcessAppConfiguration>
<ProcessAppConfiguration>
<id>0</id>
<tenantId>0</tenantId>
<processId>FlowEssentials_LancamentodeDocumento</processId>
<processVersion>9</processVersion>
<stateSequence>5</stateSequence>
<appKey>approval</appKey>
<appField>highlight</appField>
<description>Documento aprovado?</description>
</ProcessAppConfiguration>
<ProcessAppConfiguration>
<id>0</id>
<tenantId>0</tenantId>
<processId>FlowEssentials_LancamentodeDocumento</processId>
<processVersion>9</processVersion>
<stateSequence>5</stateSequence>
<appKey>approval</appKey>
<appField>approve</appField>
<description>7</description>
</ProcessAppConfiguration>
<ProcessAppConfiguration>
<id>0</id>
<tenantId>0</tenantId>
<processId>FlowEssentials_LancamentodeDocumento</processId>
<processVersion>9</processVersion>
<stateSequence>5</stateSequence>
<appKey>approval</appKey>
<appField>reject</appField>
<description>9</description>
</ProcessAppConfiguration>
</list>
<list/>
<list/>
</list>

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 7.3 KiB

View File

@ -0,0 +1,724 @@
<?xml version="1.0" encoding="UTF-8"?>
<java version="1.8.0_481" class="java.beans.XMLDecoder">
<object class="java.util.HashMap">
<void method="put">
<string>volume</string>
<array class="java.lang.String" length="1">
<void index="0">
<string>Default</string>
</void>
</array>
</void>
<void method="put">
<string>camposFormulario, documentoId = 41254</string>
<array class="java.lang.String" length="33">
<void index="0">
<string>activity</string>
</void>
<void index="1">
<string>cnpj</string>
</void>
<void index="2">
<string>cpf</string>
</void>
<void index="3">
<string>currentUserId</string>
</void>
<void index="4">
<string>currentUsermail</string>
</void>
<void index="5">
<string>currentUserName</string>
</void>
<void index="6">
<string>data_abertura</string>
</void>
<void index="7">
<string>data_validacao_gestor</string>
</void>
<void index="8">
<string>dias_antes_expiracao</string>
</void>
<void index="9">
<string>emailSolicitante</string>
</void>
<void index="10">
<string>emitido_por</string>
</void>
<void index="11">
<string>empresa</string>
</void>
<void index="12">
<string>entidade_responsavel</string>
</void>
<void index="13">
<string>expiracao_validade</string>
</void>
<void index="14">
<string>formMode</string>
</void>
<void index="15">
<string>gestor_cc</string>
</void>
<void index="16">
<string>idPasta</string>
</void>
<void index="17">
<string>idPastaSelecionada</string>
</void>
<void index="18">
<string>inicio_validade</string>
</void>
<void index="19">
<string>justificativa</string>
</void>
<void index="20">
<string>justi_decisao_gestor</string>
</void>
<void index="21">
<string>moreInfo</string>
</void>
<void index="22">
<string>numero_documento</string>
</void>
<void index="23">
<string>pasta_ged</string>
</void>
<void index="24">
<string>radio_data_validade</string>
</void>
<void index="25">
<string>radio_ged</string>
</void>
<void index="26">
<string>requesterId</string>
</void>
<void index="27">
<string>requesterMail</string>
</void>
<void index="28">
<string>tipo_cadastro</string>
</void>
<void index="29">
<string>tipo_documento</string>
</void>
<void index="30">
<string>user_validacao_gestor</string>
</void>
<void index="31">
<string>valor</string>
</void>
<void index="32">
<string>WKNumProces</string>
</void>
</array>
</void>
<void method="put">
<string>mecanismoGrupo</string>
<object class="java.util.ArrayList">
<void method="add">
<object class="com.totvs.tds.ecm.foundation.ws.GroupDto">
<void property="groupDescription">
<string>Tecnologia e Comunicação</string>
</void>
<void property="groupId">
<string>TIC</string>
</void>
</object>
</void>
<void method="add">
<object class="com.totvs.tds.ecm.foundation.ws.GroupDto">
<void property="groupDescription">
<string>Compras Indiretos</string>
</void>
<void property="groupId">
<string>ComprasIndiretos</string>
</void>
</object>
</void>
<void method="add">
<object class="com.totvs.tds.ecm.foundation.ws.GroupDto">
<void property="groupDescription">
<string>Obras e manutenção</string>
</void>
<void property="groupId">
<string>Manutencao</string>
</void>
</object>
</void>
<void method="add">
<object class="com.totvs.tds.ecm.foundation.ws.GroupDto">
<void property="groupDescription">
<string>Aprovadores Compras Nvl 3</string>
</void>
<void property="groupId">
<string>AprovadoresComprasNvl3</string>
</void>
</object>
</void>
<void method="add">
<object class="com.totvs.tds.ecm.foundation.ws.GroupDto">
<void property="groupDescription">
<string>Motoristas</string>
</void>
<void property="groupId">
<string>Motoristas</string>
</void>
</object>
</void>
<void method="add">
<object class="com.totvs.tds.ecm.foundation.ws.GroupDto">
<void property="groupDescription">
<string>Requisitantes de Vaga</string>
</void>
<void property="groupId">
<string>Requisitantesdevaga</string>
</void>
</object>
</void>
<void method="add">
<object class="com.totvs.tds.ecm.foundation.ws.GroupDto">
<void property="groupDescription">
<string>Recrutamento</string>
</void>
<void property="groupId">
<string>Recrutamento</string>
</void>
</object>
</void>
<void method="add">
<object class="com.totvs.tds.ecm.foundation.ws.GroupDto">
<void property="groupDescription">
<string>TODOS-TODOS-DIADMISSAO</string>
</void>
<void property="groupId">
<string>TODOS-TODOS-DIADMISSAO</string>
</void>
</object>
</void>
<void method="add">
<object class="com.totvs.tds.ecm.foundation.ws.GroupDto">
<void property="groupDescription">
<string>ResponsavelDesligamento</string>
</void>
<void property="groupId">
<string>ResponsavelDesligamento</string>
</void>
</object>
</void>
<void method="add">
<object class="com.totvs.tds.ecm.foundation.ws.GroupDto">
<void property="groupDescription">
<string>GENTE &amp; CULTURA</string>
</void>
<void property="groupId">
<string>GENTE_CULTURA</string>
</void>
</object>
</void>
<void method="add">
<object class="com.totvs.tds.ecm.foundation.ws.GroupDto">
<void property="groupDescription">
<string>LOJA AL</string>
</void>
<void property="groupId">
<string>LOJA_AL</string>
</void>
</object>
</void>
<void method="add">
<object class="com.totvs.tds.ecm.foundation.ws.GroupDto">
<void property="groupDescription">
<string>CD</string>
</void>
<void property="groupId">
<string>CD</string>
</void>
</object>
</void>
<void method="add">
<object class="com.totvs.tds.ecm.foundation.ws.GroupDto">
<void property="groupDescription">
<string>ESPAÇO DO REVENDEDOR AL</string>
</void>
<void property="groupId">
<string>ESPACO_DO_REVENDEDOR_AL</string>
</void>
</object>
</void>
<void method="add">
<object class="com.totvs.tds.ecm.foundation.ws.GroupDto">
<void property="groupDescription">
<string>FINANCEIRO</string>
</void>
<void property="groupId">
<string>FINANCEIRO</string>
</void>
</object>
</void>
<void method="add">
<object class="com.totvs.tds.ecm.foundation.ws.GroupDto">
<void property="groupDescription">
<string>OPERAÇÕES</string>
</void>
<void property="groupId">
<string>OPERACOES</string>
</void>
</object>
</void>
<void method="add">
<object class="com.totvs.tds.ecm.foundation.ws.GroupDto">
<void property="groupDescription">
<string>AMG AL</string>
</void>
<void property="groupId">
<string>AMG_AL</string>
</void>
</object>
</void>
<void method="add">
<object class="com.totvs.tds.ecm.foundation.ws.GroupDto">
<void property="groupDescription">
<string>REGIONAL ALAGOAS</string>
</void>
<void property="groupId">
<string>REGIONAL_ALAGOAS</string>
</void>
</object>
</void>
<void method="add">
<object class="com.totvs.tds.ecm.foundation.ws.GroupDto">
<void property="groupDescription">
<string>PREVENÇÃO DE PERDA</string>
</void>
<void property="groupId">
<string>PREVENCAO_DE_PERDA</string>
</void>
</object>
</void>
<void method="add">
<object class="com.totvs.tds.ecm.foundation.ws.GroupDto">
<void property="groupDescription">
<string>MARKETING, TREINAMENTO</string>
</void>
<void property="groupId">
<string>MARKETING_TREINAMENTO</string>
</void>
</object>
</void>
<void method="add">
<object class="com.totvs.tds.ecm.foundation.ws.GroupDto">
<void property="groupDescription">
<string>SECRETARIA EXECUTIVA</string>
</void>
<void property="groupId">
<string>SECRETARIA_EXECUTIVA</string>
</void>
</object>
</void>
<void method="add">
<object class="com.totvs.tds.ecm.foundation.ws.GroupDto">
<void property="groupDescription">
<string>DIRETORIA EXECUTIVA</string>
</void>
<void property="groupId">
<string>DIRETORIA_EXECUTIVA</string>
</void>
</object>
</void>
<void method="add">
<object class="com.totvs.tds.ecm.foundation.ws.GroupDto">
<void property="groupDescription">
<string>INFRAESTRUTURA</string>
</void>
<void property="groupId">
<string>INFRAESTRUTURA</string>
</void>
</object>
</void>
<void method="add">
<object class="com.totvs.tds.ecm.foundation.ws.GroupDto">
<void property="groupDescription">
<string>ESPAÇO DO REVENDEDOR BA</string>
</void>
<void property="groupId">
<string>ESPACO_DO_REVENDEDOR_BA</string>
</void>
</object>
</void>
<void method="add">
<object class="com.totvs.tds.ecm.foundation.ws.GroupDto">
<void property="groupDescription">
<string>BUSINESS INTELLIGENCE</string>
</void>
<void property="groupId">
<string>BUSINESS_INTELLIGENCE</string>
</void>
</object>
</void>
<void method="add">
<object class="com.totvs.tds.ecm.foundation.ws.GroupDto">
<void property="groupDescription">
<string>DEPARTAMENTO PESSOAL</string>
</void>
<void property="groupId">
<string>DEPARTAMENTO_PESSOAL</string>
</void>
</object>
</void>
<void method="add">
<object class="com.totvs.tds.ecm.foundation.ws.GroupDto">
<void property="groupDescription">
<string>LOJA BA</string>
</void>
<void property="groupId">
<string>LOJA_BA</string>
</void>
</object>
</void>
<void method="add">
<object class="com.totvs.tds.ecm.foundation.ws.GroupDto">
<void property="groupDescription">
<string>TREINAMENTO</string>
</void>
<void property="groupId">
<string>TREINAMENTO</string>
</void>
</object>
</void>
<void method="add">
<object class="com.totvs.tds.ecm.foundation.ws.GroupDto">
<void property="groupDescription">
<string>AMG BA</string>
</void>
<void property="groupId">
<string>AMG_BA</string>
</void>
</object>
</void>
<void method="add">
<object class="com.totvs.tds.ecm.foundation.ws.GroupDto">
<void property="groupDescription">
<string>MARKETING</string>
</void>
<void property="groupId">
<string>MARKETING</string>
</void>
</object>
</void>
<void method="add">
<object class="com.totvs.tds.ecm.foundation.ws.GroupDto">
<void property="groupDescription">
<string>COMPRAS</string>
</void>
<void property="groupId">
<string>COMPRAS</string>
</void>
</object>
</void>
<void method="add">
<object class="com.totvs.tds.ecm.foundation.ws.GroupDto">
<void property="groupDescription">
<string>AMG SE</string>
</void>
<void property="groupId">
<string>AMG_SE</string>
</void>
</object>
</void>
<void method="add">
<object class="com.totvs.tds.ecm.foundation.ws.GroupDto">
<void property="groupDescription">
<string>LOJA SE</string>
</void>
<void property="groupId">
<string>LOJA_SE</string>
</void>
</object>
</void>
<void method="add">
<object class="com.totvs.tds.ecm.foundation.ws.GroupDto">
<void property="groupDescription">
<string>ESPAÇO DO REVENDEDOR SE</string>
</void>
<void property="groupId">
<string>ESPACO_DO_REVENDEDOR_SE</string>
</void>
</object>
</void>
<void method="add">
<object class="com.totvs.tds.ecm.foundation.ws.GroupDto">
<void property="groupDescription">
<string>VENDAS IN COMPANY</string>
</void>
<void property="groupId">
<string>VENDAS_IN_COMPANY</string>
</void>
</object>
</void>
<void method="add">
<object class="com.totvs.tds.ecm.foundation.ws.GroupDto">
<void property="groupDescription">
<string>REGIONAL BAHIA</string>
</void>
<void property="groupId">
<string>REGIONAL_BAHIA</string>
</void>
</object>
</void>
<void method="add">
<object class="com.totvs.tds.ecm.foundation.ws.GroupDto">
<void property="groupDescription">
<string>CANAL LOJA 01</string>
</void>
<void property="groupId">
<string>CANAL_LOJA_01</string>
</void>
</object>
</void>
<void method="add">
<object class="com.totvs.tds.ecm.foundation.ws.GroupDto">
<void property="groupDescription">
<string>AUDITORIA</string>
</void>
<void property="groupId">
<string>AUDITORIA</string>
</void>
</object>
</void>
<void method="add">
<object class="com.totvs.tds.ecm.foundation.ws.GroupDto">
<void property="groupDescription">
<string>CANAL LOJA 02</string>
</void>
<void property="groupId">
<string>CANAL_LOJA_02</string>
</void>
</object>
</void>
<void method="add">
<object class="com.totvs.tds.ecm.foundation.ws.GroupDto">
<void property="groupDescription">
<string>PLANEJAMENTO DE DEMANDAS</string>
</void>
<void property="groupId">
<string>PLANEJAMENTO_DE_DEMANDAS</string>
</void>
</object>
</void>
<void method="add">
<object class="com.totvs.tds.ecm.foundation.ws.GroupDto">
<void property="groupDescription">
<string>PROJETOS</string>
</void>
<void property="groupId">
<string>PROJETOS</string>
</void>
</object>
</void>
<void method="add">
<object class="com.totvs.tds.ecm.foundation.ws.GroupDto">
<void property="groupDescription">
<string>COMPLIANCE</string>
</void>
<void property="groupId">
<string>COMPLIANCE</string>
</void>
</object>
</void>
<void method="add">
<object class="com.totvs.tds.ecm.foundation.ws.GroupDto">
<void property="groupDescription">
<string>ESCRITÓRIO - MATRIZ</string>
</void>
<void property="groupId">
<string>ESCRITORIO_MATRIZ</string>
</void>
</object>
</void>
<void method="add">
<object class="com.totvs.tds.ecm.foundation.ws.GroupDto">
<void property="groupDescription">
<string>ESCRITÓRIO - CONQUISTA</string>
</void>
<void property="groupId">
<string>ESCRITORIO_CONQUISTA</string>
</void>
</object>
</void>
<void method="add">
<object class="com.totvs.tds.ecm.foundation.ws.GroupDto">
<void property="groupDescription">
<string>REGIONAL SERGIPE</string>
</void>
<void property="groupId">
<string>REGIONAL_SERGIPE</string>
</void>
</object>
</void>
<void method="add">
<object class="com.totvs.tds.ecm.foundation.ws.GroupDto">
<void property="groupDescription">
<string>Transferencia</string>
</void>
<void property="groupId">
<string>Transferencia</string>
</void>
</object>
</void>
<void method="add">
<object class="com.totvs.tds.ecm.foundation.ws.GroupDto">
<void property="groupDescription">
<string>Fiscal</string>
</void>
<void property="groupId">
<string>Fiscal</string>
</void>
</object>
</void>
</object>
</void>
<void method="put">
<string>expediente</string>
<array class="java.lang.String" length="4">
<void index="0">
<string>Default</string>
</void>
<void index="1">
<string>Expediente BackOffice, Logística e Motorista</string>
</void>
<void index="2">
<string>Expediente Escritório Matriz</string>
</void>
<void index="3">
<string>Expediente Lojas</string>
</void>
</array>
</void>
<void method="put">
<string>mecanismo</string>
<array class="[Ljava.lang.Object;" length="12">
<void index="0">
<array class="java.lang.Object" length="2">
<void index="0">
<string>Atribuição por Associação</string>
</void>
<void index="1">
<string>Associado</string>
</void>
</array>
</void>
<void index="1">
<array class="java.lang.Object" length="2">
<void index="0">
<string>Atribuição por Campo de Formulário</string>
</void>
<void index="1">
<string>Campo Formulário</string>
</void>
</array>
</void>
<void index="2">
<array class="java.lang.Object" length="2">
<void index="0">
<string>dpf_di_emp_filial_filtro</string>
</void>
<void index="1">
<string>dpf_di_emp_filial_filtro</string>
</void>
</array>
</void>
<void index="3">
<array class="java.lang.Object" length="2">
<void index="0">
<string>dpf_di_inicio_diadmissao</string>
</void>
<void index="1">
<string>dpf_di_inicio_diadmissao</string>
</void>
</array>
</void>
<void index="4">
<array class="java.lang.Object" length="2">
<void index="0">
<string>Atribuição por Executor de Atividade</string>
</void>
<void index="1">
<string>Executor Atividade</string>
</void>
</array>
</void>
<void index="5">
<array class="java.lang.Object" length="2">
<void index="0">
<string>Atribuição por Grupo</string>
</void>
<void index="1">
<string>Grupo</string>
</void>
</array>
</void>
<void index="6">
<array class="java.lang.Object" length="2">
<void index="0">
<string>Atribuição por Grupos do Colaborador</string>
</void>
<void index="1">
<string>Grupos Colaborador</string>
</void>
</array>
</void>
<void index="7">
<array class="java.lang.Object" length="2">
<void index="0">
<string>mecCustomAprov</string>
</void>
<void index="1">
<string>mecCustomAprov</string>
</void>
</array>
</void>
<void index="8">
<array class="java.lang.Object" length="2">
<void index="0">
<string>Atribuição por Papel</string>
</void>
<void index="1">
<string>Papel</string>
</void>
</array>
</void>
<void index="9">
<array class="java.lang.Object" length="2">
<void index="0">
<string>Atribuição para um Grupo</string>
</void>
<void index="1">
<string>Pool Grupo</string>
</void>
</array>
</void>
<void index="10">
<array class="java.lang.Object" length="2">
<void index="0">
<string>Atribuição para um Papel</string>
</void>
<void index="1">
<string>Pool Papel</string>
</void>
</array>
</void>
<void index="11">
<array class="java.lang.Object" length="2">
<void index="0">
<string>Atribuição por Usuário</string>
</void>
<void index="1">
<string>Usuário</string>
</void>
</array>
</void>
</array>
</void>
</object>
</java>

View File

@ -0,0 +1,726 @@
<?xml version="1.0" encoding="UTF-8"?>
<java version="1.8.0_481" class="java.beans.XMLDecoder">
<object class="java.util.HashMap">
<void method="put">
<string>volume</string>
<array class="java.lang.String" length="1">
<void index="0">
<string>Default</string>
</void>
</array>
</void>
<void method="put">
<string>camposFormulario, documentoId = 41254</string>
<array class="java.lang.String" length="37">
<void index="0">
<string>activity</string>
</void>
<void index="1">
<string>centro_custo</string>
</void>
<void index="2">
<string>cnpj</string>
</void>
<void index="3">
<string>cpf</string>
</void>
<void index="4">
<string>currentUserId</string>
</void>
<void index="5">
<string>currentUsermail</string>
</void>
<void index="6">
<string>currentUserName</string>
</void>
<void index="7">
<string>data_abertura</string>
</void>
<void index="8">
<string>data_validacao_gestor</string>
</void>
<void index="9">
<string>dias_antes_expiracao</string>
</void>
<void index="10">
<string>emailSolicitante</string>
</void>
<void index="11">
<string>emitido_por</string>
</void>
<void index="12">
<string>empresa</string>
</void>
<void index="13">
<string>entidade_responsavel</string>
</void>
<void index="14">
<string>estabelecimento_filial</string>
</void>
<void index="15">
<string>expiracao_validade</string>
</void>
<void index="16">
<string>formMode</string>
</void>
<void index="17">
<string>gestor_cc</string>
</void>
<void index="18">
<string>idPasta</string>
</void>
<void index="19">
<string>idPastaSelecionada</string>
</void>
<void index="20">
<string>inicio_validade</string>
</void>
<void index="21">
<string>justi_decisao_gestor</string>
</void>
<void index="22">
<string>justificativa</string>
</void>
<void index="23">
<string>moreInfo</string>
</void>
<void index="24">
<string>numero_documento</string>
</void>
<void index="25">
<string>pasta_ged</string>
</void>
<void index="26">
<string>radio_data_validade</string>
</void>
<void index="27">
<string>radio_ged</string>
</void>
<void index="28">
<string>requesterId</string>
</void>
<void index="29">
<string>requesterMail</string>
</void>
<void index="30">
<string>tipo_cadastro</string>
</void>
<void index="31">
<string>tipo_documento</string>
</void>
<void index="32">
<string>user_validacao_gestor</string>
</void>
<void index="33">
<string>usuario_abertura</string>
</void>
<void index="34">
<string>usuarioSolicitante</string>
</void>
<void index="35">
<string>valor</string>
</void>
<void index="36">
<string>WKNumProces</string>
</void>
</array>
</void>
<void method="put">
<string>mecanismoGrupo</string>
<object class="java.util.ArrayList">
<void method="add">
<object class="com.totvs.tds.ecm.foundation.ws.GroupDto">
<void property="groupDescription">
<string>Tecnologia e Comunicação</string>
</void>
<void property="groupId">
<string>TIC</string>
</void>
</object>
</void>
<void method="add">
<object class="com.totvs.tds.ecm.foundation.ws.GroupDto">
<void property="groupDescription">
<string>Compras Indiretos</string>
</void>
<void property="groupId">
<string>ComprasIndiretos</string>
</void>
</object>
</void>
<void method="add">
<object class="com.totvs.tds.ecm.foundation.ws.GroupDto">
<void property="groupDescription">
<string>Obras e manutenção</string>
</void>
<void property="groupId">
<string>Manutencao</string>
</void>
</object>
</void>
<void method="add">
<object class="com.totvs.tds.ecm.foundation.ws.GroupDto">
<void property="groupDescription">
<string>Aprovadores Compras Nvl 3</string>
</void>
<void property="groupId">
<string>AprovadoresComprasNvl3</string>
</void>
</object>
</void>
<void method="add">
<object class="com.totvs.tds.ecm.foundation.ws.GroupDto">
<void property="groupDescription">
<string>Motoristas</string>
</void>
<void property="groupId">
<string>Motoristas</string>
</void>
</object>
</void>
<void method="add">
<object class="com.totvs.tds.ecm.foundation.ws.GroupDto">
<void property="groupDescription">
<string>Requisitantes de Vaga</string>
</void>
<void property="groupId">
<string>Requisitantesdevaga</string>
</void>
</object>
</void>
<void method="add">
<object class="com.totvs.tds.ecm.foundation.ws.GroupDto">
<void property="groupDescription">
<string>Recrutamento</string>
</void>
<void property="groupId">
<string>Recrutamento</string>
</void>
</object>
</void>
<void method="add">
<object class="com.totvs.tds.ecm.foundation.ws.GroupDto">
<void property="groupDescription">
<string>TODOS-TODOS-DIADMISSAO</string>
</void>
<void property="groupId">
<string>TODOS-TODOS-DIADMISSAO</string>
</void>
</object>
</void>
<void method="add">
<object class="com.totvs.tds.ecm.foundation.ws.GroupDto">
<void property="groupDescription">
<string>ResponsavelDesligamento</string>
</void>
<void property="groupId">
<string>ResponsavelDesligamento</string>
</void>
</object>
</void>
<void method="add">
<object class="com.totvs.tds.ecm.foundation.ws.GroupDto">
<void property="groupDescription">
<string>GENTE &amp; CULTURA</string>
</void>
<void property="groupId">
<string>GENTE_CULTURA</string>
</void>
</object>
</void>
<void method="add">
<object class="com.totvs.tds.ecm.foundation.ws.GroupDto">
<void property="groupDescription">
<string>LOJA AL</string>
</void>
<void property="groupId">
<string>LOJA_AL</string>
</void>
</object>
</void>
<void method="add">
<object class="com.totvs.tds.ecm.foundation.ws.GroupDto">
<void property="groupDescription">
<string>CD</string>
</void>
<void property="groupId">
<string>CD</string>
</void>
</object>
</void>
<void method="add">
<object class="com.totvs.tds.ecm.foundation.ws.GroupDto">
<void property="groupDescription">
<string>ESPAÇO DO REVENDEDOR AL</string>
</void>
<void property="groupId">
<string>ESPACO_DO_REVENDEDOR_AL</string>
</void>
</object>
</void>
<void method="add">
<object class="com.totvs.tds.ecm.foundation.ws.GroupDto">
<void property="groupDescription">
<string>FINANCEIRO</string>
</void>
<void property="groupId">
<string>FINANCEIRO</string>
</void>
</object>
</void>
<void method="add">
<object class="com.totvs.tds.ecm.foundation.ws.GroupDto">
<void property="groupDescription">
<string>OPERAÇÕES</string>
</void>
<void property="groupId">
<string>OPERACOES</string>
</void>
</object>
</void>
<void method="add">
<object class="com.totvs.tds.ecm.foundation.ws.GroupDto">
<void property="groupDescription">
<string>AMG AL</string>
</void>
<void property="groupId">
<string>AMG_AL</string>
</void>
</object>
</void>
<void method="add">
<object class="com.totvs.tds.ecm.foundation.ws.GroupDto">
<void property="groupDescription">
<string>REGIONAL ALAGOAS</string>
</void>
<void property="groupId">
<string>REGIONAL_ALAGOAS</string>
</void>
</object>
</void>
<void method="add">
<object class="com.totvs.tds.ecm.foundation.ws.GroupDto">
<void property="groupDescription">
<string>PREVENÇÃO DE PERDA</string>
</void>
<void property="groupId">
<string>PREVENCAO_DE_PERDA</string>
</void>
</object>
</void>
<void method="add">
<object class="com.totvs.tds.ecm.foundation.ws.GroupDto">
<void property="groupDescription">
<string>MARKETING, TREINAMENTO</string>
</void>
<void property="groupId">
<string>MARKETING_TREINAMENTO</string>
</void>
</object>
</void>
<void method="add">
<object class="com.totvs.tds.ecm.foundation.ws.GroupDto">
<void property="groupDescription">
<string>SECRETARIA EXECUTIVA</string>
</void>
<void property="groupId">
<string>SECRETARIA_EXECUTIVA</string>
</void>
</object>
</void>
<void method="add">
<object class="com.totvs.tds.ecm.foundation.ws.GroupDto">
<void property="groupDescription">
<string>DIRETORIA EXECUTIVA</string>
</void>
<void property="groupId">
<string>DIRETORIA_EXECUTIVA</string>
</void>
</object>
</void>
<void method="add">
<object class="com.totvs.tds.ecm.foundation.ws.GroupDto">
<void property="groupDescription">
<string>INFRAESTRUTURA</string>
</void>
<void property="groupId">
<string>INFRAESTRUTURA</string>
</void>
</object>
</void>
<void method="add">
<object class="com.totvs.tds.ecm.foundation.ws.GroupDto">
<void property="groupDescription">
<string>ESPAÇO DO REVENDEDOR BA</string>
</void>
<void property="groupId">
<string>ESPACO_DO_REVENDEDOR_BA</string>
</void>
</object>
</void>
<void method="add">
<object class="com.totvs.tds.ecm.foundation.ws.GroupDto">
<void property="groupDescription">
<string>BUSINESS INTELLIGENCE</string>
</void>
<void property="groupId">
<string>BUSINESS_INTELLIGENCE</string>
</void>
</object>
</void>
<void method="add">
<object class="com.totvs.tds.ecm.foundation.ws.GroupDto">
<void property="groupDescription">
<string>DEPARTAMENTO PESSOAL</string>
</void>
<void property="groupId">
<string>DEPARTAMENTO_PESSOAL</string>
</void>
</object>
</void>
<void method="add">
<object class="com.totvs.tds.ecm.foundation.ws.GroupDto">
<void property="groupDescription">
<string>LOJA BA</string>
</void>
<void property="groupId">
<string>LOJA_BA</string>
</void>
</object>
</void>
<void method="add">
<object class="com.totvs.tds.ecm.foundation.ws.GroupDto">
<void property="groupDescription">
<string>TREINAMENTO</string>
</void>
<void property="groupId">
<string>TREINAMENTO</string>
</void>
</object>
</void>
<void method="add">
<object class="com.totvs.tds.ecm.foundation.ws.GroupDto">
<void property="groupDescription">
<string>AMG BA</string>
</void>
<void property="groupId">
<string>AMG_BA</string>
</void>
</object>
</void>
<void method="add">
<object class="com.totvs.tds.ecm.foundation.ws.GroupDto">
<void property="groupDescription">
<string>MARKETING</string>
</void>
<void property="groupId">
<string>MARKETING</string>
</void>
</object>
</void>
<void method="add">
<object class="com.totvs.tds.ecm.foundation.ws.GroupDto">
<void property="groupDescription">
<string>COMPRAS</string>
</void>
<void property="groupId">
<string>COMPRAS</string>
</void>
</object>
</void>
<void method="add">
<object class="com.totvs.tds.ecm.foundation.ws.GroupDto">
<void property="groupDescription">
<string>AMG SE</string>
</void>
<void property="groupId">
<string>AMG_SE</string>
</void>
</object>
</void>
<void method="add">
<object class="com.totvs.tds.ecm.foundation.ws.GroupDto">
<void property="groupDescription">
<string>LOJA SE</string>
</void>
<void property="groupId">
<string>LOJA_SE</string>
</void>
</object>
</void>
<void method="add">
<object class="com.totvs.tds.ecm.foundation.ws.GroupDto">
<void property="groupDescription">
<string>ESPAÇO DO REVENDEDOR SE</string>
</void>
<void property="groupId">
<string>ESPACO_DO_REVENDEDOR_SE</string>
</void>
</object>
</void>
<void method="add">
<object class="com.totvs.tds.ecm.foundation.ws.GroupDto">
<void property="groupDescription">
<string>VENDAS IN COMPANY</string>
</void>
<void property="groupId">
<string>VENDAS_IN_COMPANY</string>
</void>
</object>
</void>
<void method="add">
<object class="com.totvs.tds.ecm.foundation.ws.GroupDto">
<void property="groupDescription">
<string>REGIONAL BAHIA</string>
</void>
<void property="groupId">
<string>REGIONAL_BAHIA</string>
</void>
</object>
</void>
<void method="add">
<object class="com.totvs.tds.ecm.foundation.ws.GroupDto">
<void property="groupDescription">
<string>CANAL LOJA 01</string>
</void>
<void property="groupId">
<string>CANAL_LOJA_01</string>
</void>
</object>
</void>
<void method="add">
<object class="com.totvs.tds.ecm.foundation.ws.GroupDto">
<void property="groupDescription">
<string>AUDITORIA</string>
</void>
<void property="groupId">
<string>AUDITORIA</string>
</void>
</object>
</void>
<void method="add">
<object class="com.totvs.tds.ecm.foundation.ws.GroupDto">
<void property="groupDescription">
<string>CANAL LOJA 02</string>
</void>
<void property="groupId">
<string>CANAL_LOJA_02</string>
</void>
</object>
</void>
<void method="add">
<object class="com.totvs.tds.ecm.foundation.ws.GroupDto">
<void property="groupDescription">
<string>PLANEJAMENTO DE DEMANDAS</string>
</void>
<void property="groupId">
<string>PLANEJAMENTO_DE_DEMANDAS</string>
</void>
</object>
</void>
<void method="add">
<object class="com.totvs.tds.ecm.foundation.ws.GroupDto">
<void property="groupDescription">
<string>PROJETOS</string>
</void>
<void property="groupId">
<string>PROJETOS</string>
</void>
</object>
</void>
<void method="add">
<object class="com.totvs.tds.ecm.foundation.ws.GroupDto">
<void property="groupDescription">
<string>COMPLIANCE</string>
</void>
<void property="groupId">
<string>COMPLIANCE</string>
</void>
</object>
</void>
<void method="add">
<object class="com.totvs.tds.ecm.foundation.ws.GroupDto">
<void property="groupDescription">
<string>ESCRITÓRIO - MATRIZ</string>
</void>
<void property="groupId">
<string>ESCRITORIO_MATRIZ</string>
</void>
</object>
</void>
<void method="add">
<object class="com.totvs.tds.ecm.foundation.ws.GroupDto">
<void property="groupDescription">
<string>ESCRITÓRIO - CONQUISTA</string>
</void>
<void property="groupId">
<string>ESCRITORIO_CONQUISTA</string>
</void>
</object>
</void>
<void method="add">
<object class="com.totvs.tds.ecm.foundation.ws.GroupDto">
<void property="groupDescription">
<string>REGIONAL SERGIPE</string>
</void>
<void property="groupId">
<string>REGIONAL_SERGIPE</string>
</void>
</object>
</void>
<void method="add">
<object class="com.totvs.tds.ecm.foundation.ws.GroupDto">
<void property="groupDescription">
<string>Transferencia</string>
</void>
<void property="groupId">
<string>Transferencia</string>
</void>
</object>
</void>
</object>
</void>
<void method="put">
<string>expediente</string>
<array class="java.lang.String" length="4">
<void index="0">
<string>Default</string>
</void>
<void index="1">
<string>Expediente BackOffice, Logística e Motorista</string>
</void>
<void index="2">
<string>Expediente Escritório Matriz</string>
</void>
<void index="3">
<string>Expediente Lojas</string>
</void>
</array>
</void>
<void method="put">
<string>mecanismo</string>
<array class="[Ljava.lang.Object;" length="12">
<void index="0">
<array class="java.lang.Object" length="2">
<void index="0">
<string>Atribuição por Associação</string>
</void>
<void index="1">
<string>Associado</string>
</void>
</array>
</void>
<void index="1">
<array class="java.lang.Object" length="2">
<void index="0">
<string>Atribuição por Campo de Formulário</string>
</void>
<void index="1">
<string>Campo Formulário</string>
</void>
</array>
</void>
<void index="2">
<array class="java.lang.Object" length="2">
<void index="0">
<string>dpf_di_emp_filial_filtro</string>
</void>
<void index="1">
<string>dpf_di_emp_filial_filtro</string>
</void>
</array>
</void>
<void index="3">
<array class="java.lang.Object" length="2">
<void index="0">
<string>dpf_di_inicio_diadmissao</string>
</void>
<void index="1">
<string>dpf_di_inicio_diadmissao</string>
</void>
</array>
</void>
<void index="4">
<array class="java.lang.Object" length="2">
<void index="0">
<string>Atribuição por Executor de Atividade</string>
</void>
<void index="1">
<string>Executor Atividade</string>
</void>
</array>
</void>
<void index="5">
<array class="java.lang.Object" length="2">
<void index="0">
<string>Atribuição por Grupo</string>
</void>
<void index="1">
<string>Grupo</string>
</void>
</array>
</void>
<void index="6">
<array class="java.lang.Object" length="2">
<void index="0">
<string>Atribuição por Grupos do Colaborador</string>
</void>
<void index="1">
<string>Grupos Colaborador</string>
</void>
</array>
</void>
<void index="7">
<array class="java.lang.Object" length="2">
<void index="0">
<string>mecCustomAprov</string>
</void>
<void index="1">
<string>mecCustomAprov</string>
</void>
</array>
</void>
<void index="8">
<array class="java.lang.Object" length="2">
<void index="0">
<string>Atribuição por Papel</string>
</void>
<void index="1">
<string>Papel</string>
</void>
</array>
</void>
<void index="9">
<array class="java.lang.Object" length="2">
<void index="0">
<string>Atribuição para um Grupo</string>
</void>
<void index="1">
<string>Pool Grupo</string>
</void>
</array>
</void>
<void index="10">
<array class="java.lang.Object" length="2">
<void index="0">
<string>Atribuição para um Papel</string>
</void>
<void index="1">
<string>Pool Papel</string>
</void>
</array>
</void>
<void index="11">
<array class="java.lang.Object" length="2">
<void index="0">
<string>Atribuição por Usuário</string>
</void>
<void index="1">
<string>Usuário</string>
</void>
</array>
</void>
</array>
</void>
</object>
</java>

View File

@ -0,0 +1,939 @@
<?xml version="1.0" encoding="ASCII" standalone="no"?><xmi:XMI xmlns:xmi="http://www.omg.org/XMI" xmlns:al="http://eclipse.org/graphiti/mm/algorithms" xmlns:bpmn2="http://www.omg.org/spec/BPMN/20100524/MODEL-XMI" xmlns:pi="http://eclipse.org/graphiti/mm/pictograms" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmi:version="2.0">
<pi:Diagram diagramTypeId="BPMNdiagram" gridUnit="10" name="FlowEssentials_LancamentodeDocumento" pictogramLinks="/0/@children.0/@link /0/@children.0/@children.1/@link /0/@children.0/@children.0/@link /0/@children.1/@link /0/@children.2/@link /0/@children.3/@link /0/@children.4/@link /0/@children.5/@link /0/@connections.0/@link /0/@connections.1/@link /0/@connections.2/@link /0/@connections.3/@link /0/@connections.4/@link" snapToGrid="true" version="0.16.0" visible="true">
<graphicsAlgorithm background="/0/@styles.7/@renderingStyle/@adaptedGradientColoredAreas/@adaptedGradientColoredAreas.0/@gradientColor.2/@end/@color" foreground="/0/@colors.0" height="1000" lineWidth="1" transparency="0.0" width="1000" xsi:type="al:Rectangle"/>
<children active="true" visible="true" xsi:type="pi:ContainerShape">
<graphicsAlgorithm background="/0/@styles.7/@renderingStyle/@adaptedGradientColoredAreas/@adaptedGradientColoredAreas.0/@gradientColor.2/@end/@color" foreground="/0/@colors.3" height="511" lineWidth="1" style="/0/@styles.0" transparency="0.0" width="1031" x="10" xsi:type="al:Rectangle" y="10"/>
<link businessObjects="bpmnpool1"/>
<anchors xsi:type="pi:ChopboxAnchor"/>
<anchors xsi:type="pi:ChopboxAnchor"/>
<anchors active="true" referencedGraphicsAlgorithm="/0/@children.0/@graphicsAlgorithm" relativeHeight="0.51" relativeWidth="1.0" visible="true" xsi:type="pi:BoxRelativeAnchor">
<graphicsAlgorithm filled="false" lineVisible="false" xsi:type="al:Ellipse"/>
</anchors>
<children active="true" visible="true" xsi:type="pi:ContainerShape">
<graphicsAlgorithm background="/0/@colors.6" foreground="/0/@colors.3" height="256" lineWidth="1" style="/0/@styles.5" transparency="0.0" width="1001" x="30" xsi:type="al:Rectangle" y="255"/>
<link businessObjects="bpmnswimlane3"/>
<anchors xsi:type="pi:ChopboxAnchor"/>
<anchors xsi:type="pi:ChopboxAnchor"/>
<anchors active="true" referencedGraphicsAlgorithm="/0/@children.0/@children.0/@graphicsAlgorithm" relativeHeight="0.51" relativeWidth="1.0" visible="true" xsi:type="pi:BoxRelativeAnchor">
<graphicsAlgorithm filled="false" lineVisible="false" xsi:type="al:Ellipse"/>
</anchors>
<children visible="true">
<graphicsAlgorithm angle="270" filled="false" font="/0/@fonts.1" height="256" horizontalAlignment="ALIGNMENT_CENTER" lineVisible="true" lineWidth="1" rotation="270.0" style="/0/@styles.6" transparency="0.0" value="Respons&#225;vel por documentos" verticalAlignment="ALIGNMENT_MIDDLE" width="30" xsi:type="al:Text"/>
</children>
</children>
<children active="true" visible="true" xsi:type="pi:ContainerShape">
<graphicsAlgorithm background="/0/@colors.5" foreground="/0/@colors.3" height="255" lineWidth="1" style="/0/@styles.3" transparency="0.0" width="1001" x="30" xsi:type="al:Rectangle"/>
<link businessObjects="bpmnswimlane2"/>
<anchors xsi:type="pi:ChopboxAnchor"/>
<anchors xsi:type="pi:ChopboxAnchor"/>
<anchors active="true" referencedGraphicsAlgorithm="/0/@children.0/@children.1/@graphicsAlgorithm" relativeHeight="0.51" relativeWidth="1.0" visible="true" xsi:type="pi:BoxRelativeAnchor">
<graphicsAlgorithm filled="false" lineVisible="false" xsi:type="al:Ellipse"/>
</anchors>
<children visible="true">
<graphicsAlgorithm angle="270" filled="false" font="/0/@fonts.1" height="255" horizontalAlignment="ALIGNMENT_CENTER" lineVisible="true" lineWidth="1" rotation="270.0" style="/0/@styles.4" transparency="0.0" value="Solicitante" verticalAlignment="ALIGNMENT_MIDDLE" width="30" xsi:type="al:Text"/>
</children>
</children>
<children visible="true">
<graphicsAlgorithm angle="270" filled="false" font="/0/@fonts.1" height="511" horizontalAlignment="ALIGNMENT_CENTER" lineVisible="true" lineWidth="1" rotation="270.0" style="/0/@styles.2" transparency="0.0" value="Lan&#231;amento de documento" verticalAlignment="ALIGNMENT_MIDDLE" width="30" xsi:type="al:Text"/>
</children>
</children>
<children active="true" visible="true" xsi:type="pi:ContainerShape">
<graphicsAlgorithm filled="false" height="35" lineVisible="false" lineWidth="1" transparency="0.0" width="35" x="120" xsi:type="al:Ellipse" y="100">
<graphicsAlgorithmChildren height="35" lineWidth="1" style="/0/@styles.7" transparency="0.0" width="35" xsi:type="al:Ellipse"/>
</graphicsAlgorithm>
<link businessObjects="startevent4"/>
<anchors outgoingConnections="/0/@connections.0" xsi:type="pi:ChopboxAnchor"/>
<anchors active="true" referencedGraphicsAlgorithm="/0/@children.1/@graphicsAlgorithm/@graphicsAlgorithmChildren.0" relativeHeight="0.51" relativeWidth="1.0" visible="true" xsi:type="pi:BoxRelativeAnchor">
<graphicsAlgorithm filled="false" lineVisible="false" xsi:type="al:Ellipse"/>
</anchors>
</children>
<children active="true" visible="true" xsi:type="pi:ContainerShape">
<graphicsAlgorithm filled="false" height="70" lineVisible="false" lineWidth="1" transparency="0.0" width="106" x="280" xsi:type="al:Rectangle" y="300"/>
<link businessObjects="task5"/>
<anchors incomingConnections="/0/@connections.0 /0/@connections.3" outgoingConnections="/0/@connections.1 /0/@connections.2 /0/@connections.4" xsi:type="pi:ChopboxAnchor"/>
<anchors active="true" referencedGraphicsAlgorithm="/0/@children.2/@graphicsAlgorithm" relativeHeight="0.51" relativeWidth="1.0" visible="true" xsi:type="pi:BoxRelativeAnchor">
<graphicsAlgorithm filled="false" lineVisible="false" xsi:type="al:Ellipse"/>
</anchors>
<children visible="true">
<graphicsAlgorithm cornerHeight="5" cornerWidth="5" height="70" lineWidth="1" style="/0/@styles.8" transparency="0.0" width="106" xsi:type="al:RoundedRectangle"/>
</children>
<children visible="true">
<graphicsAlgorithm filled="false" font="/0/@fonts.1" height="60" horizontalAlignment="ALIGNMENT_CENTER" lineVisible="true" lineWidth="1" style="/0/@styles.9" transparency="0.0" value="Analisar documento" width="96" x="5" xsi:type="al:MultiText" y="5"/>
</children>
</children>
<children active="true" visible="true" xsi:type="pi:ContainerShape">
<graphicsAlgorithm filled="false" height="35" lineVisible="false" lineWidth="1" transparency="0.0" width="35" x="800" xsi:type="al:Ellipse" y="430">
<graphicsAlgorithmChildren height="35" lineWidth="3" style="/0/@styles.10" transparency="0.0" width="35" xsi:type="al:Ellipse"/>
</graphicsAlgorithm>
<link businessObjects="endevent7"/>
<anchors incomingConnections="/0/@connections.1" xsi:type="pi:ChopboxAnchor"/>
<anchors active="true" referencedGraphicsAlgorithm="/0/@children.3/@graphicsAlgorithm/@graphicsAlgorithmChildren.0" relativeHeight="0.51" relativeWidth="1.0" visible="true" xsi:type="pi:BoxRelativeAnchor">
<graphicsAlgorithm filled="false" lineVisible="false" xsi:type="al:Ellipse"/>
</anchors>
</children>
<children active="true" visible="true" xsi:type="pi:ContainerShape">
<graphicsAlgorithm filled="false" height="70" lineVisible="false" lineWidth="1" transparency="0.0" width="106" x="500" xsi:type="al:Rectangle" y="77"/>
<link businessObjects="task9"/>
<anchors incomingConnections="/0/@connections.2" outgoingConnections="/0/@connections.3" xsi:type="pi:ChopboxAnchor"/>
<anchors active="true" referencedGraphicsAlgorithm="/0/@children.4/@graphicsAlgorithm" relativeHeight="0.51" relativeWidth="1.0" visible="true" xsi:type="pi:BoxRelativeAnchor">
<graphicsAlgorithm filled="false" lineVisible="false" xsi:type="al:Ellipse"/>
</anchors>
<children visible="true">
<graphicsAlgorithm cornerHeight="5" cornerWidth="5" height="70" lineWidth="1" style="/0/@styles.11" transparency="0.0" width="106" xsi:type="al:RoundedRectangle"/>
</children>
<children visible="true">
<graphicsAlgorithm filled="false" font="/0/@fonts.1" height="60" horizontalAlignment="ALIGNMENT_CENTER" lineVisible="true" lineWidth="1" style="/0/@styles.12" transparency="0.0" value="Ajustar dados do documento" width="96" x="5" xsi:type="al:MultiText" y="5"/>
</children>
</children>
<children active="true" visible="true" xsi:type="pi:ContainerShape">
<graphicsAlgorithm filled="false" height="35" lineVisible="false" lineWidth="1" transparency="0.0" width="35" x="800" xsi:type="al:Ellipse" y="320">
<graphicsAlgorithmChildren height="35" lineWidth="3" style="/0/@styles.13" transparency="0.0" width="35" xsi:type="al:Ellipse"/>
</graphicsAlgorithm>
<link businessObjects="endcancel14"/>
<anchors incomingConnections="/0/@connections.4" xsi:type="pi:ChopboxAnchor"/>
<anchors active="true" referencedGraphicsAlgorithm="/0/@children.5/@graphicsAlgorithm/@graphicsAlgorithmChildren.0" relativeHeight="0.51" relativeWidth="1.0" visible="true" xsi:type="pi:BoxRelativeAnchor">
<graphicsAlgorithm filled="false" lineVisible="false" xsi:type="al:Ellipse"/>
</anchors>
<children visible="true">
<graphicsAlgorithm background="/0/@colors.9" filled="true" height="20" lineVisible="false" lineWidth="1" transparency="0.0" width="20" x="8" xsi:type="al:Polygon" y="8">
<points y="5"/>
<points x="5"/>
<points x="10" y="5"/>
<points x="15"/>
<points x="20" y="5"/>
<points x="15" y="10"/>
<points x="20" y="15"/>
<points x="15" y="20"/>
<points x="10" y="15"/>
<points x="5" y="20"/>
<points y="15"/>
<points x="5" y="10"/>
</graphicsAlgorithm>
</children>
</children>
<styles background="/0/@colors.2" foreground="/0/@colors.1" id="BPMN-SWIM_LANE-NOSTYLE"/>
<styles foreground="/0/@colors.1" id="BPMN-CLASS">
<renderingStyle>
<adaptedGradientColoredAreas definedStyleId="blue-white-gloss" gradientType="0">
<adaptedGradientColoredAreas styleAdaption="0">
<gradientColor>
<start locationType="LOCATION_TYPE_ABSOLUTE_START" locationValue="0">
<color blue="254" green="251" red="248"/>
</start>
<end locationType="LOCATION_TYPE_ABSOLUTE_START" locationValue="1">
<color blue="254" green="251" red="248"/>
</end>
</gradientColor>
<gradientColor>
<start locationType="LOCATION_TYPE_ABSOLUTE_START" locationValue="1">
<color blue="252" green="245" red="237"/>
</start>
<end locationType="LOCATION_TYPE_ABSOLUTE_START" locationValue="2">
<color blue="252" green="245" red="237"/>
</end>
</gradientColor>
<gradientColor>
<start locationType="LOCATION_TYPE_ABSOLUTE_START" locationValue="2">
<color blue="250" green="237" red="222"/>
</start>
<end locationType="LOCATION_TYPE_ABSOLUTE_START" locationValue="3">
<color blue="250" green="237" red="222"/>
</end>
</gradientColor>
<gradientColor>
<start locationType="LOCATION_TYPE_ABSOLUTE_START" locationValue="3">
<color blue="248" green="231" red="212"/>
</start>
<end locationType="LOCATION_TYPE_ABSOLUTE_END" locationValue="2">
<color blue="252" green="251" red="250"/>
</end>
</gradientColor>
<gradientColor>
<start locationType="LOCATION_TYPE_ABSOLUTE_END" locationValue="2">
<color blue="233" green="229" red="226"/>
</start>
<end locationType="LOCATION_TYPE_ABSOLUTE_END" locationValue="0">
<color blue="233" green="229" red="226"/>
</end>
</gradientColor>
</adaptedGradientColoredAreas>
<adaptedGradientColoredAreas styleAdaption="1">
<gradientColor>
<start locationType="LOCATION_TYPE_ABSOLUTE_START" locationValue="0">
<color blue="253" green="246" red="238"/>
</start>
<end locationType="LOCATION_TYPE_ABSOLUTE_START" locationValue="1">
<color blue="253" green="246" red="238"/>
</end>
</gradientColor>
<gradientColor>
<start locationType="LOCATION_TYPE_ABSOLUTE_START" locationValue="1">
<color blue="249" green="230" red="208"/>
</start>
<end locationType="LOCATION_TYPE_ABSOLUTE_START" locationValue="2">
<color blue="249" green="230" red="208"/>
</end>
</gradientColor>
<gradientColor>
<start locationType="LOCATION_TYPE_ABSOLUTE_START" locationValue="2">
<color blue="244" green="210" red="172"/>
</start>
<end locationType="LOCATION_TYPE_ABSOLUTE_START" locationValue="3">
<color blue="244" green="210" red="172"/>
</end>
</gradientColor>
<gradientColor>
<start locationType="LOCATION_TYPE_ABSOLUTE_START" locationValue="3">
<color blue="234" green="185" red="129"/>
</start>
<end locationType="LOCATION_TYPE_ABSOLUTE_END" locationValue="2">
<color blue="242" green="208" red="170"/>
</end>
</gradientColor>
<gradientColor>
<start locationType="LOCATION_TYPE_ABSOLUTE_END" locationValue="2">
<color blue="224" green="191" red="154"/>
</start>
<end locationType="LOCATION_TYPE_ABSOLUTE_END" locationValue="0">
<color blue="224" green="191" red="154"/>
</end>
</gradientColor>
</adaptedGradientColoredAreas>
<adaptedGradientColoredAreas styleAdaption="2">
<gradientColor>
<start locationType="LOCATION_TYPE_ABSOLUTE_START" locationValue="0">
<color blue="254" green="249" red="245"/>
</start>
<end locationType="LOCATION_TYPE_ABSOLUTE_START" locationValue="1">
<color blue="254" green="249" red="245"/>
</end>
</gradientColor>
<gradientColor>
<start locationType="LOCATION_TYPE_ABSOLUTE_START" locationValue="1">
<color blue="252" green="239" red="226"/>
</start>
<end locationType="LOCATION_TYPE_ABSOLUTE_START" locationValue="2">
<color blue="252" green="239" red="226"/>
</end>
</gradientColor>
<gradientColor>
<start locationType="LOCATION_TYPE_ABSOLUTE_START" locationValue="2">
<color blue="249" green="227" red="203"/>
</start>
<end locationType="LOCATION_TYPE_ABSOLUTE_START" locationValue="3">
<color blue="249" green="227" red="203"/>
</end>
</gradientColor>
<gradientColor>
<start locationType="LOCATION_TYPE_ABSOLUTE_START" locationValue="3">
<color blue="247" green="218" red="187"/>
</start>
<end locationType="LOCATION_TYPE_ABSOLUTE_END" locationValue="2">
<color blue="247" green="224" red="197"/>
</end>
</gradientColor>
<gradientColor>
<start locationType="LOCATION_TYPE_ABSOLUTE_END" locationValue="2">
<color blue="229" green="205" red="178"/>
</start>
<end locationType="LOCATION_TYPE_ABSOLUTE_END" locationValue="0">
<color blue="229" green="205" red="178"/>
</end>
</gradientColor>
</adaptedGradientColoredAreas>
<adaptedGradientColoredAreas styleAdaption="3">
<gradientColor>
<start locationType="LOCATION_TYPE_ABSOLUTE_START" locationValue="0">
<color green="204" red="153"/>
</start>
<end locationType="LOCATION_TYPE_ABSOLUTE_END" locationValue="0">
<color blue="102" green="153" red="51"/>
</end>
</gradientColor>
</adaptedGradientColoredAreas>
<adaptedGradientColoredAreas styleAdaption="4">
<gradientColor>
<start locationType="LOCATION_TYPE_ABSOLUTE_START" locationValue="0">
<color green="204" red="255"/>
</start>
<end locationType="LOCATION_TYPE_ABSOLUTE_END" locationValue="0">
<color green="102" red="255"/>
</end>
</gradientColor>
</adaptedGradientColoredAreas>
</adaptedGradientColoredAreas>
</renderingStyle>
</styles>
<styles foreground="/0/@colors.4" id="BPMNCLASS-TEXT-67-67-67"/>
<styles background="/0/@colors.2" foreground="/0/@colors.1" id="BPMN-SWIM_LANE-NOSTYLE"/>
<styles foreground="/0/@colors.4" id="BPMNCLASS-TEXT-67-67-67"/>
<styles background="/0/@colors.2" foreground="/0/@colors.1" id="BPMN-SWIM_LANE-NOSTYLE"/>
<styles foreground="/0/@colors.4" id="BPMNCLASS-TEXT-67-67-67"/>
<styles foreground="/0/@colors.7" id="START-EVENT">
<renderingStyle>
<adaptedGradientColoredAreas definedStyleId="START-EVENT" gradientType="0">
<adaptedGradientColoredAreas styleAdaption="0">
<gradientColor>
<start locationType="LOCATION_TYPE_ABSOLUTE_START" locationValue="0">
<color blue="102" green="255" red="102"/>
</start>
<end locationType="LOCATION_TYPE_ABSOLUTE_START" locationValue="10">
<color blue="150" green="255" red="150"/>
</end>
</gradientColor>
<gradientColor>
<start locationType="LOCATION_TYPE_ABSOLUTE_START" locationValue="10">
<color blue="150" green="255" red="150"/>
</start>
<end locationType="LOCATION_TYPE_ABSOLUTE_START" locationValue="20">
<color blue="182" green="255" red="182"/>
</end>
</gradientColor>
<gradientColor>
<start locationType="LOCATION_TYPE_ABSOLUTE_START" locationValue="20">
<color blue="182" green="255" red="182"/>
</start>
<end locationType="LOCATION_TYPE_ABSOLUTE_START" locationValue="50">
<color blue="255" green="255" red="255"/>
</end>
</gradientColor>
</adaptedGradientColoredAreas>
</adaptedGradientColoredAreas>
</renderingStyle>
</styles>
<styles foreground="/0/@colors.1" id="TASK">
<renderingStyle>
<adaptedGradientColoredAreas definedStyleId="blue-white-gloss" gradientType="0">
<adaptedGradientColoredAreas styleAdaption="0">
<gradientColor>
<start locationType="LOCATION_TYPE_ABSOLUTE_START" locationValue="0">
<color blue="254" green="251" red="248"/>
</start>
<end locationType="LOCATION_TYPE_ABSOLUTE_START" locationValue="1">
<color blue="254" green="251" red="248"/>
</end>
</gradientColor>
<gradientColor>
<start locationType="LOCATION_TYPE_ABSOLUTE_START" locationValue="1">
<color blue="252" green="245" red="237"/>
</start>
<end locationType="LOCATION_TYPE_ABSOLUTE_START" locationValue="2">
<color blue="252" green="245" red="237"/>
</end>
</gradientColor>
<gradientColor>
<start locationType="LOCATION_TYPE_ABSOLUTE_START" locationValue="2">
<color blue="250" green="237" red="222"/>
</start>
<end locationType="LOCATION_TYPE_ABSOLUTE_START" locationValue="3">
<color blue="250" green="237" red="222"/>
</end>
</gradientColor>
<gradientColor>
<start locationType="LOCATION_TYPE_ABSOLUTE_START" locationValue="3">
<color blue="248" green="231" red="212"/>
</start>
<end locationType="LOCATION_TYPE_ABSOLUTE_END" locationValue="2">
<color blue="252" green="251" red="250"/>
</end>
</gradientColor>
<gradientColor>
<start locationType="LOCATION_TYPE_ABSOLUTE_END" locationValue="2">
<color blue="233" green="229" red="226"/>
</start>
<end locationType="LOCATION_TYPE_ABSOLUTE_END" locationValue="0">
<color blue="233" green="229" red="226"/>
</end>
</gradientColor>
</adaptedGradientColoredAreas>
<adaptedGradientColoredAreas styleAdaption="1">
<gradientColor>
<start locationType="LOCATION_TYPE_ABSOLUTE_START" locationValue="0">
<color blue="253" green="246" red="238"/>
</start>
<end locationType="LOCATION_TYPE_ABSOLUTE_START" locationValue="1">
<color blue="253" green="246" red="238"/>
</end>
</gradientColor>
<gradientColor>
<start locationType="LOCATION_TYPE_ABSOLUTE_START" locationValue="1">
<color blue="249" green="230" red="208"/>
</start>
<end locationType="LOCATION_TYPE_ABSOLUTE_START" locationValue="2">
<color blue="249" green="230" red="208"/>
</end>
</gradientColor>
<gradientColor>
<start locationType="LOCATION_TYPE_ABSOLUTE_START" locationValue="2">
<color blue="244" green="210" red="172"/>
</start>
<end locationType="LOCATION_TYPE_ABSOLUTE_START" locationValue="3">
<color blue="244" green="210" red="172"/>
</end>
</gradientColor>
<gradientColor>
<start locationType="LOCATION_TYPE_ABSOLUTE_START" locationValue="3">
<color blue="234" green="185" red="129"/>
</start>
<end locationType="LOCATION_TYPE_ABSOLUTE_END" locationValue="2">
<color blue="242" green="208" red="170"/>
</end>
</gradientColor>
<gradientColor>
<start locationType="LOCATION_TYPE_ABSOLUTE_END" locationValue="2">
<color blue="224" green="191" red="154"/>
</start>
<end locationType="LOCATION_TYPE_ABSOLUTE_END" locationValue="0">
<color blue="224" green="191" red="154"/>
</end>
</gradientColor>
</adaptedGradientColoredAreas>
<adaptedGradientColoredAreas styleAdaption="2">
<gradientColor>
<start locationType="LOCATION_TYPE_ABSOLUTE_START" locationValue="0">
<color blue="254" green="249" red="245"/>
</start>
<end locationType="LOCATION_TYPE_ABSOLUTE_START" locationValue="1">
<color blue="254" green="249" red="245"/>
</end>
</gradientColor>
<gradientColor>
<start locationType="LOCATION_TYPE_ABSOLUTE_START" locationValue="1">
<color blue="252" green="239" red="226"/>
</start>
<end locationType="LOCATION_TYPE_ABSOLUTE_START" locationValue="2">
<color blue="252" green="239" red="226"/>
</end>
</gradientColor>
<gradientColor>
<start locationType="LOCATION_TYPE_ABSOLUTE_START" locationValue="2">
<color blue="249" green="227" red="203"/>
</start>
<end locationType="LOCATION_TYPE_ABSOLUTE_START" locationValue="3">
<color blue="249" green="227" red="203"/>
</end>
</gradientColor>
<gradientColor>
<start locationType="LOCATION_TYPE_ABSOLUTE_START" locationValue="3">
<color blue="247" green="218" red="187"/>
</start>
<end locationType="LOCATION_TYPE_ABSOLUTE_END" locationValue="2">
<color blue="247" green="224" red="197"/>
</end>
</gradientColor>
<gradientColor>
<start locationType="LOCATION_TYPE_ABSOLUTE_END" locationValue="2">
<color blue="229" green="205" red="178"/>
</start>
<end locationType="LOCATION_TYPE_ABSOLUTE_END" locationValue="0">
<color blue="229" green="205" red="178"/>
</end>
</gradientColor>
</adaptedGradientColoredAreas>
<adaptedGradientColoredAreas styleAdaption="3">
<gradientColor>
<start locationType="LOCATION_TYPE_ABSOLUTE_START" locationValue="0">
<color green="204" red="153"/>
</start>
<end locationType="LOCATION_TYPE_ABSOLUTE_END" locationValue="0">
<color blue="102" green="153" red="51"/>
</end>
</gradientColor>
</adaptedGradientColoredAreas>
<adaptedGradientColoredAreas styleAdaption="4">
<gradientColor>
<start locationType="LOCATION_TYPE_ABSOLUTE_START" locationValue="0">
<color green="204" red="255"/>
</start>
<end locationType="LOCATION_TYPE_ABSOLUTE_END" locationValue="0">
<color green="102" red="255"/>
</end>
</gradientColor>
</adaptedGradientColoredAreas>
</adaptedGradientColoredAreas>
</renderingStyle>
</styles>
<styles foreground="/0/@colors.8" id="BPMNCLASS-TEXT"/>
<styles foreground="/0/@colors.9" id="END-EVENT">
<renderingStyle>
<adaptedGradientColoredAreas definedStyleId="END-EVENT" gradientType="0">
<adaptedGradientColoredAreas styleAdaption="0">
<gradientColor>
<start locationType="LOCATION_TYPE_ABSOLUTE_START" locationValue="0">
<color blue="102" green="102" red="255"/>
</start>
<end locationType="LOCATION_TYPE_ABSOLUTE_START" locationValue="10">
<color blue="150" green="150" red="255"/>
</end>
</gradientColor>
<gradientColor>
<start locationType="LOCATION_TYPE_ABSOLUTE_START" locationValue="10">
<color blue="150" green="150" red="255"/>
</start>
<end locationType="LOCATION_TYPE_ABSOLUTE_START" locationValue="20">
<color blue="182" green="182" red="255"/>
</end>
</gradientColor>
<gradientColor>
<start locationType="LOCATION_TYPE_ABSOLUTE_START" locationValue="20">
<color blue="182" green="182" red="255"/>
</start>
<end locationType="LOCATION_TYPE_ABSOLUTE_START" locationValue="50">
<color blue="255" green="255" red="255"/>
</end>
</gradientColor>
</adaptedGradientColoredAreas>
</adaptedGradientColoredAreas>
</renderingStyle>
</styles>
<styles foreground="/0/@colors.1" id="TASK">
<renderingStyle>
<adaptedGradientColoredAreas definedStyleId="blue-white-gloss" gradientType="0">
<adaptedGradientColoredAreas styleAdaption="0">
<gradientColor>
<start locationType="LOCATION_TYPE_ABSOLUTE_START" locationValue="0">
<color blue="254" green="251" red="248"/>
</start>
<end locationType="LOCATION_TYPE_ABSOLUTE_START" locationValue="1">
<color blue="254" green="251" red="248"/>
</end>
</gradientColor>
<gradientColor>
<start locationType="LOCATION_TYPE_ABSOLUTE_START" locationValue="1">
<color blue="252" green="245" red="237"/>
</start>
<end locationType="LOCATION_TYPE_ABSOLUTE_START" locationValue="2">
<color blue="252" green="245" red="237"/>
</end>
</gradientColor>
<gradientColor>
<start locationType="LOCATION_TYPE_ABSOLUTE_START" locationValue="2">
<color blue="250" green="237" red="222"/>
</start>
<end locationType="LOCATION_TYPE_ABSOLUTE_START" locationValue="3">
<color blue="250" green="237" red="222"/>
</end>
</gradientColor>
<gradientColor>
<start locationType="LOCATION_TYPE_ABSOLUTE_START" locationValue="3">
<color blue="248" green="231" red="212"/>
</start>
<end locationType="LOCATION_TYPE_ABSOLUTE_END" locationValue="2">
<color blue="252" green="251" red="250"/>
</end>
</gradientColor>
<gradientColor>
<start locationType="LOCATION_TYPE_ABSOLUTE_END" locationValue="2">
<color blue="233" green="229" red="226"/>
</start>
<end locationType="LOCATION_TYPE_ABSOLUTE_END" locationValue="0">
<color blue="233" green="229" red="226"/>
</end>
</gradientColor>
</adaptedGradientColoredAreas>
<adaptedGradientColoredAreas styleAdaption="1">
<gradientColor>
<start locationType="LOCATION_TYPE_ABSOLUTE_START" locationValue="0">
<color blue="253" green="246" red="238"/>
</start>
<end locationType="LOCATION_TYPE_ABSOLUTE_START" locationValue="1">
<color blue="253" green="246" red="238"/>
</end>
</gradientColor>
<gradientColor>
<start locationType="LOCATION_TYPE_ABSOLUTE_START" locationValue="1">
<color blue="249" green="230" red="208"/>
</start>
<end locationType="LOCATION_TYPE_ABSOLUTE_START" locationValue="2">
<color blue="249" green="230" red="208"/>
</end>
</gradientColor>
<gradientColor>
<start locationType="LOCATION_TYPE_ABSOLUTE_START" locationValue="2">
<color blue="244" green="210" red="172"/>
</start>
<end locationType="LOCATION_TYPE_ABSOLUTE_START" locationValue="3">
<color blue="244" green="210" red="172"/>
</end>
</gradientColor>
<gradientColor>
<start locationType="LOCATION_TYPE_ABSOLUTE_START" locationValue="3">
<color blue="234" green="185" red="129"/>
</start>
<end locationType="LOCATION_TYPE_ABSOLUTE_END" locationValue="2">
<color blue="242" green="208" red="170"/>
</end>
</gradientColor>
<gradientColor>
<start locationType="LOCATION_TYPE_ABSOLUTE_END" locationValue="2">
<color blue="224" green="191" red="154"/>
</start>
<end locationType="LOCATION_TYPE_ABSOLUTE_END" locationValue="0">
<color blue="224" green="191" red="154"/>
</end>
</gradientColor>
</adaptedGradientColoredAreas>
<adaptedGradientColoredAreas styleAdaption="2">
<gradientColor>
<start locationType="LOCATION_TYPE_ABSOLUTE_START" locationValue="0">
<color blue="254" green="249" red="245"/>
</start>
<end locationType="LOCATION_TYPE_ABSOLUTE_START" locationValue="1">
<color blue="254" green="249" red="245"/>
</end>
</gradientColor>
<gradientColor>
<start locationType="LOCATION_TYPE_ABSOLUTE_START" locationValue="1">
<color blue="252" green="239" red="226"/>
</start>
<end locationType="LOCATION_TYPE_ABSOLUTE_START" locationValue="2">
<color blue="252" green="239" red="226"/>
</end>
</gradientColor>
<gradientColor>
<start locationType="LOCATION_TYPE_ABSOLUTE_START" locationValue="2">
<color blue="249" green="227" red="203"/>
</start>
<end locationType="LOCATION_TYPE_ABSOLUTE_START" locationValue="3">
<color blue="249" green="227" red="203"/>
</end>
</gradientColor>
<gradientColor>
<start locationType="LOCATION_TYPE_ABSOLUTE_START" locationValue="3">
<color blue="247" green="218" red="187"/>
</start>
<end locationType="LOCATION_TYPE_ABSOLUTE_END" locationValue="2">
<color blue="247" green="224" red="197"/>
</end>
</gradientColor>
<gradientColor>
<start locationType="LOCATION_TYPE_ABSOLUTE_END" locationValue="2">
<color blue="229" green="205" red="178"/>
</start>
<end locationType="LOCATION_TYPE_ABSOLUTE_END" locationValue="0">
<color blue="229" green="205" red="178"/>
</end>
</gradientColor>
</adaptedGradientColoredAreas>
<adaptedGradientColoredAreas styleAdaption="3">
<gradientColor>
<start locationType="LOCATION_TYPE_ABSOLUTE_START" locationValue="0">
<color green="204" red="153"/>
</start>
<end locationType="LOCATION_TYPE_ABSOLUTE_END" locationValue="0">
<color blue="102" green="153" red="51"/>
</end>
</gradientColor>
</adaptedGradientColoredAreas>
<adaptedGradientColoredAreas styleAdaption="4">
<gradientColor>
<start locationType="LOCATION_TYPE_ABSOLUTE_START" locationValue="0">
<color green="204" red="255"/>
</start>
<end locationType="LOCATION_TYPE_ABSOLUTE_END" locationValue="0">
<color green="102" red="255"/>
</end>
</gradientColor>
</adaptedGradientColoredAreas>
</adaptedGradientColoredAreas>
</renderingStyle>
</styles>
<styles foreground="/0/@colors.8" id="BPMNCLASS-TEXT"/>
<styles foreground="/0/@colors.9" id="END-EVENT">
<renderingStyle>
<adaptedGradientColoredAreas definedStyleId="END-EVENT" gradientType="0">
<adaptedGradientColoredAreas styleAdaption="0">
<gradientColor>
<start locationType="LOCATION_TYPE_ABSOLUTE_START" locationValue="0">
<color blue="102" green="102" red="255"/>
</start>
<end locationType="LOCATION_TYPE_ABSOLUTE_START" locationValue="10">
<color blue="150" green="150" red="255"/>
</end>
</gradientColor>
<gradientColor>
<start locationType="LOCATION_TYPE_ABSOLUTE_START" locationValue="10">
<color blue="150" green="150" red="255"/>
</start>
<end locationType="LOCATION_TYPE_ABSOLUTE_START" locationValue="20">
<color blue="182" green="182" red="255"/>
</end>
</gradientColor>
<gradientColor>
<start locationType="LOCATION_TYPE_ABSOLUTE_START" locationValue="20">
<color blue="182" green="182" red="255"/>
</start>
<end locationType="LOCATION_TYPE_ABSOLUTE_START" locationValue="50">
<color blue="255" green="255" red="255"/>
</end>
</gradientColor>
</adaptedGradientColoredAreas>
</adaptedGradientColoredAreas>
</renderingStyle>
</styles>
<styles foreground="/0/@colors.8" id="BPMNCLASS-TEXT"/>
<styles background="/0/@colors.3" foreground="/0/@colors.3" id="BPMN-POLYGON-ARROW" lineWidth="1"/>
<styles foreground="/0/@colors.8" id="BPMNCLASS-TEXT"/>
<styles foreground="/0/@colors.8" id="BPMNCLASS-TEXT"/>
<styles foreground="/0/@colors.8" id="BPMNCLASS-TEXT"/>
<styles foreground="/0/@colors.8" id="BPMNCLASS-TEXT"/>
<styles foreground="/0/@colors.1" id="TASK">
<renderingStyle>
<adaptedGradientColoredAreas definedStyleId="blue-white-gloss" gradientType="0">
<adaptedGradientColoredAreas styleAdaption="0">
<gradientColor>
<start locationType="LOCATION_TYPE_ABSOLUTE_START" locationValue="0">
<color blue="254" green="251" red="248"/>
</start>
<end locationType="LOCATION_TYPE_ABSOLUTE_START" locationValue="1">
<color blue="254" green="251" red="248"/>
</end>
</gradientColor>
<gradientColor>
<start locationType="LOCATION_TYPE_ABSOLUTE_START" locationValue="1">
<color blue="252" green="245" red="237"/>
</start>
<end locationType="LOCATION_TYPE_ABSOLUTE_START" locationValue="2">
<color blue="252" green="245" red="237"/>
</end>
</gradientColor>
<gradientColor>
<start locationType="LOCATION_TYPE_ABSOLUTE_START" locationValue="2">
<color blue="250" green="237" red="222"/>
</start>
<end locationType="LOCATION_TYPE_ABSOLUTE_START" locationValue="3">
<color blue="250" green="237" red="222"/>
</end>
</gradientColor>
<gradientColor>
<start locationType="LOCATION_TYPE_ABSOLUTE_START" locationValue="3">
<color blue="248" green="231" red="212"/>
</start>
<end locationType="LOCATION_TYPE_ABSOLUTE_END" locationValue="2">
<color blue="252" green="251" red="250"/>
</end>
</gradientColor>
<gradientColor>
<start locationType="LOCATION_TYPE_ABSOLUTE_END" locationValue="2">
<color blue="233" green="229" red="226"/>
</start>
<end locationType="LOCATION_TYPE_ABSOLUTE_END" locationValue="0">
<color blue="233" green="229" red="226"/>
</end>
</gradientColor>
</adaptedGradientColoredAreas>
<adaptedGradientColoredAreas styleAdaption="1">
<gradientColor>
<start locationType="LOCATION_TYPE_ABSOLUTE_START" locationValue="0">
<color blue="253" green="246" red="238"/>
</start>
<end locationType="LOCATION_TYPE_ABSOLUTE_START" locationValue="1">
<color blue="253" green="246" red="238"/>
</end>
</gradientColor>
<gradientColor>
<start locationType="LOCATION_TYPE_ABSOLUTE_START" locationValue="1">
<color blue="249" green="230" red="208"/>
</start>
<end locationType="LOCATION_TYPE_ABSOLUTE_START" locationValue="2">
<color blue="249" green="230" red="208"/>
</end>
</gradientColor>
<gradientColor>
<start locationType="LOCATION_TYPE_ABSOLUTE_START" locationValue="2">
<color blue="244" green="210" red="172"/>
</start>
<end locationType="LOCATION_TYPE_ABSOLUTE_START" locationValue="3">
<color blue="244" green="210" red="172"/>
</end>
</gradientColor>
<gradientColor>
<start locationType="LOCATION_TYPE_ABSOLUTE_START" locationValue="3">
<color blue="234" green="185" red="129"/>
</start>
<end locationType="LOCATION_TYPE_ABSOLUTE_END" locationValue="2">
<color blue="242" green="208" red="170"/>
</end>
</gradientColor>
<gradientColor>
<start locationType="LOCATION_TYPE_ABSOLUTE_END" locationValue="2">
<color blue="224" green="191" red="154"/>
</start>
<end locationType="LOCATION_TYPE_ABSOLUTE_END" locationValue="0">
<color blue="224" green="191" red="154"/>
</end>
</gradientColor>
</adaptedGradientColoredAreas>
<adaptedGradientColoredAreas styleAdaption="2">
<gradientColor>
<start locationType="LOCATION_TYPE_ABSOLUTE_START" locationValue="0">
<color blue="254" green="249" red="245"/>
</start>
<end locationType="LOCATION_TYPE_ABSOLUTE_START" locationValue="1">
<color blue="254" green="249" red="245"/>
</end>
</gradientColor>
<gradientColor>
<start locationType="LOCATION_TYPE_ABSOLUTE_START" locationValue="1">
<color blue="252" green="239" red="226"/>
</start>
<end locationType="LOCATION_TYPE_ABSOLUTE_START" locationValue="2">
<color blue="252" green="239" red="226"/>
</end>
</gradientColor>
<gradientColor>
<start locationType="LOCATION_TYPE_ABSOLUTE_START" locationValue="2">
<color blue="249" green="227" red="203"/>
</start>
<end locationType="LOCATION_TYPE_ABSOLUTE_START" locationValue="3">
<color blue="249" green="227" red="203"/>
</end>
</gradientColor>
<gradientColor>
<start locationType="LOCATION_TYPE_ABSOLUTE_START" locationValue="3">
<color blue="247" green="218" red="187"/>
</start>
<end locationType="LOCATION_TYPE_ABSOLUTE_END" locationValue="2">
<color blue="247" green="224" red="197"/>
</end>
</gradientColor>
<gradientColor>
<start locationType="LOCATION_TYPE_ABSOLUTE_END" locationValue="2">
<color blue="229" green="205" red="178"/>
</start>
<end locationType="LOCATION_TYPE_ABSOLUTE_END" locationValue="0">
<color blue="229" green="205" red="178"/>
</end>
</gradientColor>
</adaptedGradientColoredAreas>
<adaptedGradientColoredAreas styleAdaption="3">
<gradientColor>
<start locationType="LOCATION_TYPE_ABSOLUTE_START" locationValue="0">
<color green="204" red="153"/>
</start>
<end locationType="LOCATION_TYPE_ABSOLUTE_END" locationValue="0">
<color blue="102" green="153" red="51"/>
</end>
</gradientColor>
</adaptedGradientColoredAreas>
<adaptedGradientColoredAreas styleAdaption="4">
<gradientColor>
<start locationType="LOCATION_TYPE_ABSOLUTE_START" locationValue="0">
<color green="204" red="255"/>
</start>
<end locationType="LOCATION_TYPE_ABSOLUTE_END" locationValue="0">
<color green="102" red="255"/>
</end>
</gradientColor>
</adaptedGradientColoredAreas>
</adaptedGradientColoredAreas>
</renderingStyle>
</styles>
<styles foreground="/0/@colors.8" id="BPMNCLASS-TEXT"/>
<connections active="true" end="/0/@children.2/@anchors.0" start="/0/@children.1/@anchors.0" visible="true" xsi:type="pi:FreeFormConnection">
<graphicsAlgorithm filled="false" foreground="/0/@colors.3" lineWidth="1" transparency="0.0" xsi:type="al:Polyline"/>
<link businessObjects="flow6"/>
<connectionDecorators active="true" location="0.5" locationRelative="true" visible="true">
<graphicsAlgorithm filled="false" font="/0/@fonts.0" lineWidth="1" style="/0/@styles.14" transparency="0.0" value="" x="10" xsi:type="al:Text"/>
</connectionDecorators>
<connectionDecorators location="1.0" locationRelative="true" visible="true">
<graphicsAlgorithm background="/0/@colors.3" filled="true" foreground="/0/@colors.3" lineWidth="1" style="/0/@styles.15" transparency="0.0" xsi:type="al:Polygon">
<points after="3" before="3" x="-10" y="-5"/>
<points/>
<points after="3" before="3" x="-10" y="5"/>
<points after="3" before="3" x="-8"/>
</graphicsAlgorithm>
</connectionDecorators>
<bendpoints x="137" y="335"/>
</connections>
<connections active="true" end="/0/@children.3/@anchors.0" start="/0/@children.2/@anchors.0" visible="true" xsi:type="pi:FreeFormConnection">
<graphicsAlgorithm filled="false" foreground="/0/@colors.3" lineWidth="1" transparency="0.0" xsi:type="al:Polyline"/>
<link businessObjects="flow8"/>
<connectionDecorators active="true" location="0.5" locationRelative="true" visible="true">
<graphicsAlgorithm filled="false" font="/0/@fonts.0" lineWidth="1" style="/0/@styles.16" transparency="0.0" value="Aprovar" x="10" xsi:type="al:Text"/>
</connectionDecorators>
<connectionDecorators location="1.0" locationRelative="true" visible="true">
<graphicsAlgorithm background="/0/@colors.3" filled="true" foreground="/0/@colors.3" lineWidth="1" style="/0/@styles.15" transparency="0.0" xsi:type="al:Polygon">
<points after="3" before="3" x="-10" y="-5"/>
<points/>
<points after="3" before="3" x="-10" y="5"/>
<points after="3" before="3" x="-8"/>
</graphicsAlgorithm>
</connectionDecorators>
<bendpoints x="333" y="447"/>
</connections>
<connections active="true" end="/0/@children.4/@anchors.0" start="/0/@children.2/@anchors.0" visible="true" xsi:type="pi:FreeFormConnection">
<graphicsAlgorithm filled="false" foreground="/0/@colors.3" lineWidth="1" transparency="0.0" xsi:type="al:Polyline"/>
<link businessObjects="flow10"/>
<connectionDecorators active="true" location="0.5" locationRelative="true" visible="true">
<graphicsAlgorithm filled="false" font="/0/@fonts.0" lineWidth="1" style="/0/@styles.17" transparency="0.0" value="Ajustar" x="-42" xsi:type="al:Text" y="-94"/>
</connectionDecorators>
<connectionDecorators location="1.0" locationRelative="true" visible="true">
<graphicsAlgorithm background="/0/@colors.3" filled="true" foreground="/0/@colors.3" lineWidth="1" style="/0/@styles.15" transparency="0.0" xsi:type="al:Polygon">
<points after="3" before="3" x="-10" y="-5"/>
<points/>
<points after="3" before="3" x="-10" y="5"/>
<points after="3" before="3" x="-8"/>
</graphicsAlgorithm>
</connectionDecorators>
<bendpoints x="552" y="335"/>
</connections>
<connections active="true" end="/0/@children.2/@anchors.0" start="/0/@children.4/@anchors.0" visible="true" xsi:type="pi:FreeFormConnection">
<graphicsAlgorithm filled="false" foreground="/0/@colors.3" lineWidth="1" transparency="0.0" xsi:type="al:Polyline"/>
<link businessObjects="flow11"/>
<connectionDecorators active="true" location="0.5" locationRelative="true" visible="true">
<graphicsAlgorithm filled="false" font="/0/@fonts.0" lineWidth="1" style="/0/@styles.18" transparency="0.0" value="" x="10" xsi:type="al:Text"/>
</connectionDecorators>
<connectionDecorators location="1.0" locationRelative="true" visible="true">
<graphicsAlgorithm background="/0/@colors.3" filled="true" foreground="/0/@colors.3" lineWidth="1" style="/0/@styles.15" transparency="0.0" xsi:type="al:Polygon">
<points after="3" before="3" x="-10" y="-5"/>
<points/>
<points after="3" before="3" x="-10" y="5"/>
<points after="3" before="3" x="-8"/>
</graphicsAlgorithm>
</connectionDecorators>
<bendpoints x="333" y="112"/>
</connections>
<connections active="true" end="/0/@children.5/@anchors.0" start="/0/@children.2/@anchors.0" visible="true" xsi:type="pi:FreeFormConnection">
<graphicsAlgorithm filled="false" foreground="/0/@colors.3" lineWidth="1" transparency="0.0" xsi:type="al:Polyline"/>
<link businessObjects="flow13"/>
<connectionDecorators active="true" location="0.5" locationRelative="true" visible="true">
<graphicsAlgorithm filled="false" font="/0/@fonts.0" lineWidth="1" style="/0/@styles.19" transparency="0.0" value="Cancelar" x="10" xsi:type="al:Text"/>
</connectionDecorators>
<connectionDecorators location="1.0" locationRelative="true" visible="true">
<graphicsAlgorithm background="/0/@colors.3" filled="true" foreground="/0/@colors.3" lineWidth="1" style="/0/@styles.15" transparency="0.0" xsi:type="al:Polygon">
<points after="3" before="3" x="-10" y="-5"/>
<points/>
<points after="3" before="3" x="-10" y="5"/>
<points after="3" before="3" x="-8"/>
</graphicsAlgorithm>
</connectionDecorators>
</connections>
<colors blue="249" green="238" red="227"/>
<colors blue="112" green="25" red="25"/>
<colors blue="198" green="193" red="159"/>
<colors/>
<colors blue="67" green="67" red="67"/>
<colors blue="255" green="232" red="219"/>
<colors blue="226" green="226" red="226"/>
<colors blue="51" green="102" red="51"/>
<colors blue="153" green="51" red="51"/>
<colors blue="51" green="51" red="153"/>
<fonts name="Arial" size="8"/>
<fonts bold="true" name="Arial" size="8"/>
</pi:Diagram>
<bpmn2:BpmnPool cores="FFFFFF" id="bpmnpool1" name="Lan&#231;amento de documento"/>
<bpmn2:BpmnSwimLane cores="DBE8FF" id="bpmnswimlane2" name="Solicitante"/>
<bpmn2:BpmnSwimLane cores="E2E2E2" id="bpmnswimlane3" name="Respons&#225;vel por documentos"/>
<bpmn2:BpmnStartEvent esforcoCalculo="0" expediente="" extendedFields="&lt;list/&gt;" id="startevent4" name="Lan&#231;ar documento" notificaRequisitante="true" notificaResponsavel="true" outgoing="flow6" selecionaColaboradores="1" signalId="0" type="10"/>
<bpmn2:BpmnTask appsConfiguration="&lt;map&gt;&#10; &lt;entry&gt;&#10; &lt;string&gt;approval&lt;/string&gt;&#10; &lt;list&gt;&#10; &lt;org.eclipse.bpmn2.documentacional.BpmnProcessAppConfiguration&gt;&#10; &lt;appField&gt;title&lt;/appField&gt;&#10; &lt;description&gt;Analisar documento&lt;/description&gt;&#10; &lt;/org.eclipse.bpmn2.documentacional.BpmnProcessAppConfiguration&gt;&#10; &lt;org.eclipse.bpmn2.documentacional.BpmnProcessAppConfiguration&gt;&#10; &lt;appField&gt;description&lt;/appField&gt;&#10; &lt;description&gt;&lt;/description&gt;&#10; &lt;/org.eclipse.bpmn2.documentacional.BpmnProcessAppConfiguration&gt;&#10; &lt;org.eclipse.bpmn2.documentacional.BpmnProcessAppConfiguration&gt;&#10; &lt;appField&gt;highlight&lt;/appField&gt;&#10; &lt;description&gt;Documento aprovado?&lt;/description&gt;&#10; &lt;/org.eclipse.bpmn2.documentacional.BpmnProcessAppConfiguration&gt;&#10; &lt;org.eclipse.bpmn2.documentacional.BpmnProcessAppConfiguration&gt;&#10; &lt;appField&gt;approve&lt;/appField&gt;&#10; &lt;description&gt;7&lt;/description&gt;&#10; &lt;/org.eclipse.bpmn2.documentacional.BpmnProcessAppConfiguration&gt;&#10; &lt;org.eclipse.bpmn2.documentacional.BpmnProcessAppConfiguration&gt;&#10; &lt;appField&gt;reject&lt;/appField&gt;&#10; &lt;description&gt;9&lt;/description&gt;&#10; &lt;/org.eclipse.bpmn2.documentacional.BpmnProcessAppConfiguration&gt;&#10; &lt;/list&gt;&#10; &lt;/entry&gt;&#10;&lt;/map&gt;" authNotify="true" esforcoCalculo="0" executionAttempts="0" expediente="Default" extendedFields="&lt;list/&gt;" frequency="0" id="task5" incoming="flow6 flow11" loopType="0" managerAssignmentControllerString="&lt;org.eclipse.bpmn2.impl.AssignmentControllerPoolGroup&gt;&#10; &lt;groupId&gt;Fiscal&lt;/groupId&gt;&#10; &lt;mechanismName&gt;Pool Grupo&lt;/mechanismName&gt;&#10;&lt;/org.eclipse.bpmn2.impl.AssignmentControllerPoolGroup&gt;" managerMechanism="Pool Grupo" name="Analisar documento" outgoing="flow8 flow10 flow13" prazoConclusao="1440.0" selecionaColaboradores="1" type="80"/>
<bpmn2:BpmnEndEvent extendedFields="&lt;list/&gt;" id="endevent7" incoming="flow8" name="Finalizar e aprovar solicita&#231;&#227;o" signalId="0" type="60"/>
<bpmn2:BpmnTask authNotify="true" esforcoCalculo="0" executionAttempts="0" expediente="" extendedFields="&lt;list/&gt;" frequency="0" id="task9" incoming="flow10" loopType="0" managerAssignmentControllerString="&lt;org.eclipse.bpmn2.impl.AssignmentControllerExecutorMechanism&gt;&#10; &lt;idNode&gt;startevent4&lt;/idNode&gt;&#10; &lt;returns&gt;1&lt;/returns&gt;&#10; &lt;mechanismName&gt;Executor Atividade&lt;/mechanismName&gt;&#10;&lt;/org.eclipse.bpmn2.impl.AssignmentControllerExecutorMechanism&gt;" managerMechanism="Executor Atividade" name="Ajustar dados do documento" outgoing="flow11" prazoConclusao="1440.0" selecionaColaboradores="1" type="80"/>
<bpmn2:BpmnEndEvent extendedFields="&lt;list/&gt;" id="endcancel14" incoming="flow13" name="Cancelar" signalId="0" type="65"/>
<bpmn2:BpmnProcess author="" cardIndex="41254" category="Documentos" complementsLevel="1" deadlineTime="1440.0" expedient="Default" extendedFields="&lt;list/&gt;" formSource="server" formType="ECM_FORM_BUILDER" id="FlowEssentials_LancamentodeDocumento" instruction="Este Flow permite ao colaborador lan&#231;ar dados referentes a um documento, seja uma nota, recibo, boleto ou outro que a empresa possua, com a obrigatoriedade de anexar o documento citado. Quando aprovada a etapa de An&#225;lise do documento, o mesmo ser&#225; publicado no ECM e herdar&#225; as propriedades de validade e notifica&#231;&#227;o." keyWord="" mobileReady="true" name="Lan&#231;amento de documento" notifyRequisitionerComplements="true" notifyResponsibleComplements="true" publicProcess="true" serverId="Fluig prod" version="9" volume="Default" warningTime="720.0"/>
<bpmn2:SequenceFlow atividadeFluxo="" atividadeRetorno="" extendedFields="&lt;list/&gt;" id="flow6" name="" sourceRef="startevent4" targetRef="task5"/>
<bpmn2:SequenceFlow atividadeFluxo="Finalizar e aprovar solicita&#231;&#227;o" atividadeRetorno="" extendedFields="&lt;list/&gt;" id="flow8" name="Aprovar" sourceRef="task5" targetRef="endevent7"/>
<bpmn2:SequenceFlow atividadeFluxo="" atividadeRetorno="" extendedFields="&lt;list/&gt;" id="flow10" name="Ajustar" sourceRef="task5" targetRef="task9"/>
<bpmn2:SequenceFlow atividadeFluxo="" atividadeRetorno="" extendedFields="&lt;list/&gt;" id="flow11" name="" sourceRef="task9" targetRef="task5"/>
<bpmn2:SequenceFlow atividadeFluxo="" atividadeRetorno="" extendedFields="&lt;list/&gt;" id="flow13" name="Cancelar" sourceRef="task5" targetRef="endcancel14"/>
</xmi:XMI>

View File

@ -0,0 +1,60 @@
function beforeStateEntry(sequenceId) {
appendDebugPublicacao("beforeStateEntry sequenceId=" + sequenceId);
if (sequenceId == 7) {
anexarDocumentoDoCardSeNecessario();
publicarDocumento();
}
if (sequenceId == 7) {
var attachments = hAPI.listAttachments();
var hasAttachment = attachments && attachments.size() > 0;
appendDebugPublicacao("validacao anexos: total=" + (attachments ? attachments.size() : 0));
if (!hasAttachment) {
appendDebugPublicacao("validacao anexos: nenhum anexo encontrado apos processamento.");
throw "\n\nNao identificamos nenhum documento anexado, volte ao formulario e anexe pelo menos um documento para avancar a solicitacao.\n\n";
}
}
}
function anexarDocumentoDoCardSeNecessario() {
try {
var attachments = hAPI.listAttachments();
if (attachments && attachments.size() > 0) {
appendDebugPublicacao("anexarDocumentoDoCardSeNecessario: solicitacao ja possui " + attachments.size() + " anexo(s).");
return;
}
var anexoIdStr = (hAPI.getCardValue("anexo_documento_id") || "") + "";
anexoIdStr = anexoIdStr.replace(/^\s+|\s+$/g, "");
if (!anexoIdStr) {
appendDebugPublicacao("anexarDocumentoDoCardSeNecessario: campo anexo_documento_id vazio.");
return;
}
var anexoId = parseInt(anexoIdStr, 10);
if (isNaN(anexoId) || anexoId <= 0) {
appendDebugPublicacao("anexarDocumentoDoCardSeNecessario: anexo_documento_id invalido: " + anexoIdStr);
return;
}
hAPI.attachDocument(anexoId);
appendDebugPublicacao("anexarDocumentoDoCardSeNecessario: hAPI.attachDocument OK documentId=" + anexoId);
var attachmentsDepois = hAPI.listAttachments();
appendDebugPublicacao("anexarDocumentoDoCardSeNecessario: total anexos apos attachDocument = " + (attachmentsDepois ? attachmentsDepois.size() : 0));
} catch (e) {
appendDebugPublicacao("anexarDocumentoDoCardSeNecessario: ERRO " + e);
}
}
function appendDebugPublicacao(msg) {
try {
var atual = (hAPI.getCardValue("debug_publicacao") || "") + "";
var prefix = atual ? atual + "\n" : "";
hAPI.setCardValue("debug_publicacao", prefix + msg);
} catch (e) {
log.warn("appendDebugPublicacao falhou: " + e);
}
}

View File

@ -0,0 +1,97 @@
function publicarDocumento() {
var radioGed = (hAPI.getCardValue("radio_ged") || "") + "";
var idPastaSelecionadaRaw = (hAPI.getCardValue("idPastaSelecionada") || "") + "";
log.info("PUBLICAR_DOCUMENTO LANCAMENTO_DOCUMENTO ########## radio_ged=" + radioGed + " idPastaSelecionada=" + idPastaSelecionadaRaw);
appendDebugPublicacao("publicarDocumento: radio_ged=" + radioGed + " idPastaSelecionada=" + idPastaSelecionadaRaw);
if (radioGed != "publica_ged") {
log.info("PUBLICAR_DOCUMENTO LANCAMENTO_DOCUMENTO ########## Nao publicar no ECM (radio_ged diferente de publica_ged).");
appendDebugPublicacao("publicarDocumento: radio_ged diferente de publica_ged.");
return;
}
var attachments = hAPI.listAttachments();
log.info("PUBLICAR_DOCUMENTO LANCAMENTO_DOCUMENTO ########## attachments.size=" + (attachments ? attachments.size() : 0));
appendDebugPublicacao("publicarDocumento: attachments.size=" + (attachments ? attachments.size() : 0));
for (var i = 0; i < attachments.size(); i++) {
var docDto = attachments.get(i);
log.info("PUBLICAR_DOCUMENTO LANCAMENTO_DOCUMENTO ########## analisando anexo documentId=" + docDto.getDocumentId() + " version=" + docDto.getVersion() + " documentType=" + docDto.getDocumentType());
appendDebugPublicacao("publicarDocumento: analisando documentId=" + docDto.getDocumentId() + " version=" + docDto.getVersion() + " type=" + docDto.getDocumentType());
try {
docAPI.copyDocumentToUploadArea(docDto.getDocumentId(), docDto.getVersion());
docDto.setDocumentId(0);
var idPastaSelecionada = parseInt((hAPI.getCardValue("idPastaSelecionada") || "") + "", 10);
if (isNaN(idPastaSelecionada) || idPastaSelecionada <= 0) {
log.warn("PUBLICAR_DOCUMENTO LANCAMENTO_DOCUMENTO ########## idPastaSelecionada invalido. Documento nao sera publicado no ECM.");
appendDebugPublicacao("publicarDocumento: idPastaSelecionada invalido.");
continue;
}
docDto.setParentDocumentId(idPastaSelecionada);
var attachArray = new java.util.ArrayList();
var mainAttach = docAPI.newAttachment();
mainAttach.setFileName(docDto.getPhisicalFile());
mainAttach.setPrincipal(true);
mainAttach.setAttach(false);
attachArray.add(mainAttach);
docDto.setActiveVersion(true);
docDto.setColleagueId(getValue("WKUser"));
docDto.setPublisherId(getValue("WKUser"));
if (hAPI.getCardValue("radio_data_validade") == "com_data_validade") {
docDto.setExpires(true);
if (hAPI.getCardValue("inicio_validade") != "") {
var inicioValidade = (hAPI.getCardValue("inicio_validade") || "") + "";
var dataInicioSplit = inicioValidade.split("-");
var anoInicio = dataInicioSplit[0];
var mesInicio = parseFloat(dataInicioSplit[1]) - 1;
var diaInicio = dataInicioSplit[2];
var dInicio = new Date(anoInicio, mesInicio, diaInicio);
docDto.setValidationStartDate(dInicio);
}
if (hAPI.getCardValue("expiracao_validade") != "") {
var dataVencimento = (hAPI.getCardValue("expiracao_validade") || "") + "";
var dataSplit = dataVencimento.split("-");
var ano = dataSplit[0];
var mes = parseFloat(dataSplit[1]) - 1;
var dia = dataSplit[2];
var d = new Date(ano, mes, dia);
docDto.setExpirationDate(d);
}
if (hAPI.getCardValue("dias_antes_expiracao") != "") {
var diasAntesExpiracao = parseInt(hAPI.getCardValue("dias_antes_expiracao"), 10);
docDto.setNotificationDays(diasAntesExpiracao);
}
} else {
docDto.setExpires(false);
}
log.info("PUBLICAR_DOCUMENTO LANCAMENTO_DOCUMENTO ########## before create document");
var doc = docAPI.createDocument(docDto, attachArray, null, null, null);
log.info("PUBLICAR_DOCUMENTO LANCAMENTO_DOCUMENTO ########## DOCUMENTO CRIADO COM O ID: " + doc.getDocumentId());
appendDebugPublicacao("publicarDocumento: documento publicado no ECM com id=" + doc.getDocumentId());
} catch (e) {
log.error("PUBLICAR_DOCUMENTO LANCAMENTO_DOCUMENTO ########## falha ao publicar anexo documentId=" + docDto.getDocumentId() + " erro=" + e);
appendDebugPublicacao("publicarDocumento: ERRO ao publicar documentId=" + docDto.getDocumentId() + " erro=" + e);
}
}
}
function appendDebugPublicacao(msg) {
try {
var atual = (hAPI.getCardValue("debug_publicacao") || "") + "";
var prefix = atual ? atual + "\n" : "";
hAPI.setCardValue("debug_publicacao", prefix + msg);
} catch (e) {
log.warn("appendDebugPublicacao falhou: " + e);
}
}