From e8445fcf2f205ea2b6fe49d14e276f588a055bdb Mon Sep 17 00:00:00 2001 From: "Andrey Cunh@" Date: Tue, 17 Mar 2026 17:58:40 -0300 Subject: [PATCH] att --- Transferência Ginseng/.vscode/servers.json | 6 +- .../datasets/ds_fiscal_invoice_by_keys.js | 428 +++ .../datasets/ds_motoristas_grupo.js | 301 ++ .../events/validateForm.js | 129 +- .../excel.js | 139 +- .../script.js | 827 ++++- .../totvsflow_solicitacao_transferencia.html | 228 +- .../Solicitação de transferência.ecm30.xml | 1784 +--------- .../Solicitação de transferência.png | Bin 45263 -> 40397 bytes ...licitação de transferência.processimage.svg | 2 +- .../workflow/.resources/teste3.ws.cache | 792 +++++ .../workflow/.resources/teste3.ws.cache.bkp | 0 .../workflow/diagrams/.project | 11 + .../Solicitação de transferência.process | 219 +- .../Solicitação de transferência.ecm30.xml | 2967 +++++++++++++++++ .../Solicitação de transferência.png | Bin 0 -> 45262 bytes workflow/.resources/teste3.ws.cache | 711 ++++ workflow/.resources/teste3.ws.cache.bkp | 155 + 18 files changed, 6689 insertions(+), 2010 deletions(-) create mode 100644 Transferência Ginseng/datasets/ds_fiscal_invoice_by_keys.js create mode 100644 Transferência Ginseng/datasets/ds_motoristas_grupo.js create mode 100644 Transferência Ginseng/workflow/.resources/teste3.ws.cache create mode 100644 Transferência Ginseng/workflow/.resources/teste3.ws.cache.bkp create mode 100644 Transferência Ginseng/workflow/diagrams/.project create mode 100644 workflow/.resources/Solicitação de transferência.ecm30.xml create mode 100644 workflow/.resources/Solicitação de transferência.png create mode 100644 workflow/.resources/teste3.ws.cache create mode 100644 workflow/.resources/teste3.ws.cache.bkp diff --git a/Transferência Ginseng/.vscode/servers.json b/Transferência Ginseng/.vscode/servers.json index e88a557..d5fb634 100644 --- a/Transferência Ginseng/.vscode/servers.json +++ b/Transferência Ginseng/.vscode/servers.json @@ -2,13 +2,13 @@ "version": "1.0.0", "configurations": [ { - "id": "edmoa4q9botmmtlvdz4bafosc5mqmr", - "name": "teste", + "id": "mkjw3cu0krommujt2hvyinvbjsfeaj", + "name": "Teste", "host": "comerciode188007.fluig.cloudtotvs.com.br", "ssl": true, "port": 443, "username": "andrey.cunha", - "password": "eyJpdiI6ImRjNGY4YzFkZmNiM2FhNDJiMGE3NDlmYjI5YjFkZjBhIiwic2FsdCI6IjU2MzUzZTcxOGZjZGRjZmUwZDI4MWYxZTllOWFlMDM3IiwidGV4dCI6IjU1NWQxZTE3YzUwYTQwYjNjMzAwYTc3M2VmNWQwODU1In0=", + "password": "eyJpdiI6ImNlN2IyOTIzNjljNDZmZDQwMTM5Njg2MTEyNjNlM2IyIiwic2FsdCI6ImM1ZDFjYzhiMTFiZGNjNDBhOTQzMGUwZGU0OWY5NmZmIiwidGV4dCI6ImY4M2FmZTUzNTkzYTBjNDc2OTQ3NDQ4NDc0ZGVlNmRiIn0=", "userCode": "andrey.cunha", "confirmExporting": false, "hasBrowser": false, diff --git a/Transferência Ginseng/datasets/ds_fiscal_invoice_by_keys.js b/Transferência Ginseng/datasets/ds_fiscal_invoice_by_keys.js new file mode 100644 index 0000000..ad4ffc2 --- /dev/null +++ b/Transferência Ginseng/datasets/ds_fiscal_invoice_by_keys.js @@ -0,0 +1,428 @@ +function defineStructure() { + addColumn("success"); + addColumn("message"); + addColumn("key"); + addColumn("invoiceNumber"); + addColumn("serie"); + addColumn("emissionDate"); + addColumn("operationDate"); + addColumn("supplierName"); + addColumn("documentValue"); + addColumn("totalItemsValue"); + addColumn("situation"); + addColumn("fiscalOperationDescription"); + addColumn("itemCount"); + addColumn("itensJson"); + addColumn("storeId"); + addColumn("invoiceId"); + addColumn("emitterEmployeeId"); + addColumn("updatedAt"); +} + +function onSync(lastSyncDate) {} + +function createDataset(fields, constraints, sortFields) { + var dataset = DatasetBuilder.newDataset(); + addDefaultColumns(dataset); + + try { + var key = normalizeDigits(getConstraintValue(constraints, "key")); + if (!key) { + addErrorRow(dataset, "Informe a chave da NFe."); + return dataset; + } + + if (!/^\d{44}$/.test(key)) { + addErrorRow(dataset, "A chave da NFe deve conter 44 digitos."); + return dataset; + } + + var auth = resolveAuth(constraints); + var diagnostics = []; + + var endpoints = [ + "/fiscal-invoices?key=" + key, + "fiscal-invoices?key=" + key, + "/fiscal/invoices?key=" + key, + "/fiscal/invoice?key=" + key, + "/invoice?key=" + key + ]; + + var apiObj = null; + var hitInfo = ""; + var lastApiMessage = ""; + + try { + var clientService = fluigAPI.getAuthorizeClientService(); + for (var i = 0; i < endpoints.length; i++) { + var endpoint = endpoints[i]; + var resp = invokeAuthorizedGet(clientService, endpoint, auth); + diagnostics.push(endpoint + " => HTTP " + trim(resp.status)); + var parsed = parseApiPayload(resp.body); + if (parsed && trim(parsed.message)) { + lastApiMessage = trim(parsed.message); + } + if (String(resp.status) === "200" && isApiSuccess(parsed)) { + apiObj = parsed; + hitInfo = endpoint; + break; + } + } + } catch (eService) { + diagnostics.push("authorizeClientService exception: " + eService); + } + + if (!apiObj) { + var directUrls = [ + "https://api.grupoginseng.com.br/fiscal-invoices?key=" + key, + "https://api.grupoginseng.com.br/fiscal/invoice?key=" + key + ]; + + for (var d = 0; d < directUrls.length; d++) { + var url = directUrls[d]; + var directResp = fetchDirect(url, 30000, auth); + diagnostics.push(url + " => HTTP " + trim(directResp.status)); + var parsedDirect = parseApiPayload(directResp.body); + if (parsedDirect && trim(parsedDirect.message)) { + lastApiMessage = trim(parsedDirect.message); + } + if (String(directResp.status) === "200" && isApiSuccess(parsedDirect)) { + apiObj = parsedDirect; + hitInfo = url; + break; + } + } + } + + if (!apiObj) { + var msg = "Falha ao consultar API da NFe. Tentativas: " + diagnostics.join(" | "); + if (lastApiMessage) { + msg += " | Ultima mensagem da API: " + lastApiMessage; + } + addErrorRow(dataset, msg); + return dataset; + } + + if (!apiObj.success || !apiObj.data) { + addErrorRow(dataset, trim(apiObj.message) || "NFe nao encontrada. Fonte: " + hitInfo); + return dataset; + } + + var dataNfe = apiObj.data || {}; + var itens = dataNfe.itens || []; + var itensJson = JSON.stringify(buildNfeItems(itens)); + + dataset.addRow([ + "true", + "OK (" + hitInfo + ")", + trim(dataNfe.key), + trim(dataNfe.invoiceNumber), + trim(dataNfe.serie), + formatIsoDate(dataNfe.emissionDate), + formatIsoDate(dataNfe.operationDate), + trim(dataNfe.supplierName), + trim(dataNfe.documentValue), + trim(dataNfe.totalItemsValue), + trim(dataNfe.situation), + trim(dataNfe.fiscalOperationDescription), + String(itens.length), + itensJson, + trim(dataNfe.storeId), + trim(dataNfe.invoiceId), + trim(dataNfe.emitterEmployeeId), + formatIsoDateTime(dataNfe.updatedAt) + ]); + } catch (e) { + addErrorRow(dataset, "Erro ao consultar a NFe: " + e); + } + + return dataset; +} + +function onMobileSync(user) {} + +function addDefaultColumns(dataset) { + dataset.addColumn("success"); + dataset.addColumn("message"); + dataset.addColumn("key"); + dataset.addColumn("invoiceNumber"); + dataset.addColumn("serie"); + dataset.addColumn("emissionDate"); + dataset.addColumn("operationDate"); + dataset.addColumn("supplierName"); + dataset.addColumn("documentValue"); + dataset.addColumn("totalItemsValue"); + dataset.addColumn("situation"); + dataset.addColumn("fiscalOperationDescription"); + dataset.addColumn("itemCount"); + dataset.addColumn("itensJson"); + dataset.addColumn("storeId"); + dataset.addColumn("invoiceId"); + dataset.addColumn("emitterEmployeeId"); + dataset.addColumn("updatedAt"); +} + +function addErrorRow(dataset, message) { + dataset.addRow([ + "false", + String(message || "Erro ao consultar NFe."), + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "0", + "[]", + "", + "", + "", + "" + ]); +} + +function getConstraintValue(constraints, fieldName) { + if (!constraints || !fieldName) return ""; + + for (var i = 0; i < constraints.length; i++) { + var c = constraints[i]; + if (!c || !c.fieldName) continue; + if (String(c.fieldName) === String(fieldName)) { + return c.initialValue; + } + } + return ""; +} + +function resolveAuth(constraints) { + var token = trim(getConstraintValue(constraints, "token")); + if (!token) { + try { + token = trim(java.lang.System.getenv("GINSENG_FISCAL_TOKEN")); + } catch (e1) {} + } + if (!token) { + // fallback informado durante homologacao + token = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhcGlnaW5zZW5nIiwiZXhwIjoxNzg3NDQ4MDY3fQ.GJqcIJBkMIfp_q_KRzgGuAHWWo93j3FWo3TObKqlAwA"; + } + + var basicUser = trim(getConstraintValue(constraints, "basicUser")); + var basicPass = trim(getConstraintValue(constraints, "basicPass")); + + // Fallback operacional para homologacao, conforme credenciais validadas em teste manual. + if (!basicUser) basicUser = "fluig"; + if (!basicPass) basicPass = "Ginseng@"; + + return { + token: token, + basicUser: basicUser, + basicPass: basicPass + }; +} + +function invokeAuthorizedGet(clientService, endpoint, auth) { + var authHeader = resolveAuthHeader(auth); + var headers = { "Accept": "application/json" }; + if (authHeader) { + headers.Authorization = authHeader; + if (auth && auth.token) { + headers["x-access-token"] = auth.token; + } + } + + var data = { + companyId: String(getValue("WKCompany") || "1"), + serviceCode: "GINSENG APITESTE", + endpoint: endpoint, + method: "get", + timeoutService: "30000", + params: {}, + headers: headers + }; + + var vo = clientService.invoke(JSON.stringify(data)); + return { + status: vo ? String(vo.getHttpStatusResult() || "") : "", + body: vo ? String(vo.getResult() || "") : "" + }; +} + +function parseApiPayload(bodyText) { + var raw = trim(bodyText); + if (!raw) return null; + + var obj = parseJsonSafe(raw); + if (!obj) return null; + + if (typeof obj.success !== "undefined" || typeof obj.data !== "undefined") { + return obj; + } + + if (obj.content) { + if (typeof obj.content === "string") { + var c = parseJsonSafe(obj.content); + if (c) return c; + } else { + return obj.content; + } + } + + if (obj.result) { + if (typeof obj.result === "string") { + var r = parseJsonSafe(obj.result); + if (r) return r; + } else { + return obj.result; + } + } + + return obj; +} + +function isApiSuccess(obj) { + if (!obj || !obj.data) return false; + if (obj.success === true) return true; + if (String(obj.success).toLowerCase() === "true") return true; + return false; +} + +function fetchDirect(url, timeoutMs, auth) { + var conn = null; + var reader = null; + try { + var URL = java.net.URL; + var InputStreamReader = java.io.InputStreamReader; + var BufferedReader = java.io.BufferedReader; + var StringBuilder = java.lang.StringBuilder; + + conn = new URL(url).openConnection(); + conn.setRequestMethod("GET"); + conn.setConnectTimeout(timeoutMs || 30000); + conn.setReadTimeout(timeoutMs || 30000); + conn.setRequestProperty("Accept", "application/json"); + + var authHeader = resolveAuthHeader(auth); + if (authHeader) { + conn.setRequestProperty("Authorization", authHeader); + if (auth.token) conn.setRequestProperty("x-access-token", auth.token); + } + + var status = conn.getResponseCode(); + var stream = (status >= 200 && status < 300) ? conn.getInputStream() : conn.getErrorStream(); + if (stream == null) return { status: status, body: "" }; + + reader = new BufferedReader(new InputStreamReader(stream, "UTF-8")); + var sb = new StringBuilder(); + var line = null; + while ((line = reader.readLine()) != null) { + sb.append(line); + } + + return { status: String(status), body: String(sb.toString()) }; + } catch (e) { + return { status: "", body: "" }; + } finally { + try { if (reader) reader.close(); } catch (e1) {} + try { if (conn) conn.disconnect(); } catch (e2) {} + } +} + +function resolveAuthHeader(auth) { + auth = auth || {}; + if (auth.basicUser && auth.basicPass) { + var raw = String(auth.basicUser) + ":" + String(auth.basicPass); + var bytes = new java.lang.String(raw).getBytes("UTF-8"); + var encoded = java.util.Base64.getEncoder().encodeToString(bytes); + return "Basic " + String(encoded); + } + if (auth.token) { + return "Bearer " + String(auth.token); + } + return ""; +} + +function buildNfeItems(items) { + var out = []; + if (!items || !(items instanceof Array)) return out; + + for (var i = 0; i < items.length; i++) { + var item = items[i] || {}; + out.push({ + productId: trim(item.productId), + quantity: toNumber(item.quantity || item.completeQuantity), + code: trim(item.code || item.sku || item.productCode || item.codigo) + }); + } + + return out; +} + +function toNumber(value) { + var text = trim(value).replace(",", "."); + var n = parseFloat(text); + return isNaN(n) ? 0 : n; +} + +function normalizeDigits(value) { + return String(value == null ? "" : value).replace(/\D/g, ""); +} + +function parseJsonSafe(text) { + try { + return JSON.parse(text); + } catch (e) { + return null; + } +} + +function trim(value) { + return String(value == null ? "" : value).trim(); +} + +function formatIsoDate(value) { + var text = trim(value); + if (!text) return ""; + + try { + var datePart = text.split("T")[0].split("-"); + if (datePart.length !== 3) { + return text; + } + return datePart[2] + "/" + datePart[1] + "/" + datePart[0]; + } catch (e) { + return text; + } +} + +function formatIsoDateTime(value) { + var text = trim(value); + if (!text) return ""; + + try { + var dt = text.split("T"); + if (dt.length < 1) return text; + + var datePart = dt[0].split("-"); + if (datePart.length !== 3) return text; + + var timePart = ""; + if (dt.length > 1) { + timePart = dt[1].replace("Z", ""); + var dotIndex = timePart.indexOf("."); + if (dotIndex >= 0) { + timePart = timePart.substring(0, dotIndex); + } + } + + var dateStr = datePart[2] + "/" + datePart[1] + "/" + datePart[0]; + if (!timePart) return dateStr; + + return dateStr + " " + timePart; + } catch (e) { + return text; + } +} diff --git a/Transferência Ginseng/datasets/ds_motoristas_grupo.js b/Transferência Ginseng/datasets/ds_motoristas_grupo.js new file mode 100644 index 0000000..4af247b --- /dev/null +++ b/Transferência Ginseng/datasets/ds_motoristas_grupo.js @@ -0,0 +1,301 @@ +function defineStructure() { + addColumn("LOGIN"); + addColumn("NOME"); + addColumn("EMAIL"); + addColumn("COLLEAGUE_ID"); + addColumn("GROUP_ID"); +} + +function onSync(lastSyncDate) {} +function onMobileSync(user) {} + +function createDataset(fields, constraints, sortFields) { + var dataset = DatasetBuilder.newDataset(); + dataset.addColumn("LOGIN"); + dataset.addColumn("NOME"); + dataset.addColumn("EMAIL"); + dataset.addColumn("COLLEAGUE_ID"); + dataset.addColumn("GROUP_ID"); + + try { + var cfg = parseConstraints(constraints); + var members = getMembersFromGroup(cfg.groupId); + var termo = normalize(cfg.termoLivre); + var added = 0; + + for (var i = 0; i < members.length; i++) { + var memberId = trim(members[i]); + if (!memberId) continue; + + var col = getColleagueById(memberId); + if (!col) continue; + + if (termo) { + var blob = normalize([ + col.LOGIN, + col.NOME, + col.EMAIL, + col.COLLEAGUE_ID + ].join(" ")); + if (blob.indexOf(termo) === -1) { + continue; + } + } + + dataset.addRow([ + col.LOGIN, + col.NOME, + col.EMAIL, + col.COLLEAGUE_ID, + cfg.groupId + ]); + added++; + } + + if (added === 0) { + // Mantem dataset vazio para o zoom nao exibir usuarios fora do grupo. + } + } catch (e) { + safeLogError("[ds_motoristas_grupo] Erro no createDataset: " + e); + dataset = DatasetBuilder.newDataset(); + dataset.addColumn("LOGIN"); + dataset.addColumn("NOME"); + dataset.addColumn("EMAIL"); + dataset.addColumn("COLLEAGUE_ID"); + dataset.addColumn("GROUP_ID"); + } + + return dataset; +} + +function parseConstraints(constraints) { + var out = { + groupId: "Motoristas", + termoLivre: "" + }; + + if (!constraints) return out; + + for (var i = 0; i < constraints.length; i++) { + var c = constraints[i]; + if (!c) continue; + + var field = getConstraintFieldName(c); + var value = getConstraintInitialValue(c); + if (!field) continue; + if (!value) continue; + + if ( + field === "GROUP_ID" || + field === "groupId" || + field === "group_id" || + field === "colleagueGroupPK.groupId" + ) { + out.groupId = value; + continue; + } + + if ( + field !== "metadata#id" && + field !== "metadata#active" && + field !== "sqlLimit" + ) { + var cleaned = cleanSearchValue(value); + if (cleaned && (!out.termoLivre || cleaned.length > out.termoLivre.length)) { + out.termoLivre = cleaned; + } + } + } + + return out; +} + +function getMembersFromGroup(groupId) { + var members = {}; + var out = []; + var gId = trim(groupId); + if (!gId) return out; + + var fieldOptions = [ + "colleagueGroupPK.groupId", + "groupId", + "group" + ]; + + var groupCandidates = [gId]; + var upper = gId.toUpperCase(); + var lower = gId.toLowerCase(); + if (groupCandidates.indexOf(upper) < 0) groupCandidates.push(upper); + if (groupCandidates.indexOf(lower) < 0) groupCandidates.push(lower); + + var ds = null; + for (var g = 0; g < groupCandidates.length; g++) { + for (var i = 0; i < fieldOptions.length; i++) { + try { + var cGroup = DatasetFactory.createConstraint(fieldOptions[i], groupCandidates[g], groupCandidates[g], ConstraintType.MUST); + ds = DatasetFactory.getDataset("colleagueGroup", null, [cGroup], null); + if (ds && ds.rowsCount > 0) { + break; + } + } catch (e) { + safeLogError("[ds_motoristas_grupo] Erro consultando colleagueGroup (" + fieldOptions[i] + "=" + groupCandidates[g] + "): " + e); + ds = null; + } + } + if (ds && ds.rowsCount > 0) { + break; + } + } + + if (!ds || ds.rowsCount === 0) { + // Fallback: alguns ambientes permitem filtrar direto no dataset colleague por groupId. + try { + var cGroupCol = DatasetFactory.createConstraint("groupId", gId, gId, ConstraintType.MUST); + ds = DatasetFactory.getDataset("colleague", null, [cGroupCol], null); + if (ds && ds.rowsCount > 0) { + for (var x = 0; x < ds.rowsCount; x++) { + var fallbackId = trim( + ds.getValue(x, "colleaguePK.colleagueId") || + ds.getValue(x, "colleagueId") || + ds.getValue(x, "login") + ); + if (!fallbackId) continue; + if (members[fallbackId]) continue; + members[fallbackId] = true; + out.push(fallbackId); + } + } + } catch (eFallback) { + safeLogError("[ds_motoristas_grupo] Erro no fallback por groupId no colleague: " + eFallback); + } + return out; + } + + for (var r = 0; r < ds.rowsCount; r++) { + var colleagueId = trim( + ds.getValue(r, "colleagueGroupPK.colleagueId") || + ds.getValue(r, "colleagueId") || + ds.getValue(r, "login") + ); + if (!colleagueId) continue; + if (members[colleagueId]) continue; + members[colleagueId] = true; + out.push(colleagueId); + } + + return out; +} + +function getColleagueById(colleagueId) { + var id = trim(colleagueId); + if (!id) return null; + + var fieldsToTry = ["colleaguePK.colleagueId", "colleagueId", "login"]; + var ds = null; + + // 1) Tenta buscando somente ativos com diferentes campos. + for (var i = 0; i < fieldsToTry.length; i++) { + ds = getColleagueDataset(id, fieldsToTry[i], true); + if (ds && ds.rowsCount > 0) { + break; + } + } + + // 2) Fallback sem constraint de ativo (alguns ambientes tratam "active" de forma diferente). + if (!ds || ds.rowsCount === 0) { + for (var j = 0; j < fieldsToTry.length; j++) { + ds = getColleagueDataset(id, fieldsToTry[j], false); + if (ds && ds.rowsCount > 0) { + break; + } + } + } + + if (!ds || ds.rowsCount === 0) return null; + + var row = pickActiveRow(ds); + if (row < 0) row = 0; + + var colleaguePkId = trim( + ds.getValue(row, "colleaguePK.colleagueId") || + ds.getValue(row, "colleagueId") || + ds.getValue(row, "login") + ); + if (!colleaguePkId) return null; + + return { + LOGIN: trim(ds.getValue(row, "login")), + NOME: trim(ds.getValue(row, "colleagueName")), + EMAIL: trim(ds.getValue(row, "mail")), + COLLEAGUE_ID: colleaguePkId + }; +} + +function getColleagueDataset(id, fieldName, onlyActive) { + try { + var constraints = [ + DatasetFactory.createConstraint(fieldName, id, id, ConstraintType.MUST) + ]; + + if (onlyActive) { + constraints.push(DatasetFactory.createConstraint("active", "true", "true", ConstraintType.MUST)); + } + + return DatasetFactory.getDataset("colleague", null, constraints, null); + } catch (e) { + safeLogError("[ds_motoristas_grupo] Erro consultando colleague (" + fieldName + "=" + id + ", active=" + onlyActive + "): " + e); + return null; + } +} + +function pickActiveRow(ds) { + if (!ds || ds.rowsCount <= 0) return -1; + + for (var i = 0; i < ds.rowsCount; i++) { + var activeValue = trim(ds.getValue(i, "active") || ds.getValue(i, "colleaguePK.active")); + if (!activeValue) return i; + + var n = normalize(activeValue); + if (n === "true" || n === "1" || n === "yes" || n === "sim" || n === "y" || n === "s" || n === "t") { + return i; + } + } + + return -1; +} + +function getConstraintFieldName(constraint) { + try { + if (constraint.fieldName) return String(constraint.fieldName); + if (constraint._field) return String(constraint._field); + if (typeof constraint.getFieldName === "function") return String(constraint.getFieldName()); + } catch (e) {} + return ""; +} + +function getConstraintInitialValue(constraint) { + try { + if (constraint.initialValue != null) return trim(constraint.initialValue); + if (constraint._initialValue != null) return trim(constraint._initialValue); + if (typeof constraint.getInitialValue === "function") return trim(constraint.getInitialValue()); + } catch (e) {} + return ""; +} + +function trim(v) { + return String(v == null ? "" : v).trim(); +} + +function normalize(v) { + return trim(v).toLowerCase(); +} + +function cleanSearchValue(v) { + return trim(v).replace(/[%*_]/g, ""); +} + +function safeLogError(message) { + try { + log.error(String(message)); + } catch (e) {} +} diff --git a/Transferência Ginseng/forms/totvsflow_solicitacao_transferencia/events/validateForm.js b/Transferência Ginseng/forms/totvsflow_solicitacao_transferencia/events/validateForm.js index 8367d3a..9c04ff5 100644 --- a/Transferência Ginseng/forms/totvsflow_solicitacao_transferencia/events/validateForm.js +++ b/Transferência Ginseng/forms/totvsflow_solicitacao_transferencia/events/validateForm.js @@ -13,61 +13,91 @@ function validateForm(form) { switch (atividade) { case EMISSAO: - - // log.info("Abertura de Chamado CAERN - Área do Solicitante: " + form.getValue("areaSolicitante")); - // if (form.getValue("areaSolicitante") == "") { - // message += getMessage("Área do Solicitante", 2, form); - // hasErros = true; - // } - - log.info("Por favor, anexar a nota fiscal" + form.getValue("fnAnexo_Nfe")); - if (form.getValue("fnAnexo_Nfe") == "") { - message += getMessage("Nota Fiscal", 3, form); + log.info("Validando rastreabilidade da emissao da NFe"); + var chaveNfe = String(form.getValue("chaveNfe") || "").replace(/\D/g, ""); + if (chaveNfe == "") { + message += getMessage("Chave de acesso da NFe", 1, form); hasErros = true; } - - // var tabelaAnexos = form.getChildrenIndexes("tabelaAnexoOcorrencia") - - // if (tabelaAnexos.length > 0) { - - // for (var i = 0; i < tabelaAnexos.length; i++) { - - // if (form.getValue("fnAnexoOcorrencia" + "" + tabelaAnexos[i]) == null || form.getValue("fnAnexoOcorrencia" + "" + tabelaAnexos[i]) == "") { - // message += getMessage("Anexo " + tabelaAnexos[i], 1, form) - // hasErros = true; - // } - - // } - - // } else { - - // message += getMessage("A tabela de Anexos esta vazia", 0, form) - // hasErros = true; - - // } - - break; - + if (chaveNfe != "" && chaveNfe.length != 44) { + message += "Campo \"Chave de acesso da NFe\" deve conter 44 digitos.
"; + hasErros = true; + } + if (form.getValue("invoiceIdNfeConsulta") == "") { + message += "Consulte a chave da NFe antes de enviar esta etapa.
"; + hasErros = true; + } + var qtdDivergenciasNfe = parseInt(String(form.getValue("qtdDivergenciasNfe") || "0"), 10); + if (!isNaN(qtdDivergenciasNfe) && qtdDivergenciasNfe > 0) { + message += "Existem " + qtdDivergenciasNfe + " divergencia(s) entre a solicitacao e a NFe.
"; + hasErros = true; + } + if (form.getValue("usuarioEmissorNfe") == "") { + message += getMessage("Usuário emissor da NFe", 1, form); + hasErros = true; + } + if (form.getValue("dataEmissaoNfe") == "") { + message += getMessage("Data da emissão", 1, form); + hasErros = true; + } + break; + case COLETA: - log.info("Por favor, registre o momento da coleta" + form.getValue("fdAnexo_Coleta")); - if (form.getValue("fdAnexo_Coleta") == "") { - message += getMessage("Coleta", 3, form); - hasErros = true; - } + log.info("Validando dados da coleta"); + if (form.getValue("motoristaColetaNome") == "") { + message += getMessage("Motorista responsável pela coleta", 1, form); + hasErros = true; + } + if (form.getValue("dataColeta") == "") { + message += getMessage("Data da coleta", 1, form); + hasErros = true; + } + var tipoMotoristaEntregaColeta = String(form.getValue("tipoMotoristaEntrega") || ""); + if (tipoMotoristaEntregaColeta == "") { + message += getMessage("Quem vai fazer a entrega", 2, form); + hasErros = true; + } + if (tipoMotoristaEntregaColeta == "outro" && form.getValue("motoristaEntregaLogin") == "") { + message += getMessage("Selecionar outro motorista", 1, form); + hasErros = true; + } + if (tipoMotoristaEntregaColeta == "mesmo" && form.getValue("motoristaColetaLogin") == "") { + message += getMessage("Login do motorista da coleta", 1, form); + hasErros = true; + } + break; case ENTREGA: - log.info("Por favor, registre o momento da entrega" + form.getValue("fdAnexo_Entrega")); - if (form.getValue("fdAnexo_Entrega") == "") { - message += getMessage("Entrega", 3, form); - hasErros = true; - } + log.info("Validando dados da entrega"); + if (form.getValue("motoristaEntregaLogin") == "") { + message += getMessage("Motorista da entrega definido na coleta", 1, form); + hasErros = true; + } + if (form.getValue("motoristaEntregaNome") == "") { + message += getMessage("Motorista responsável pela entrega", 1, form); + hasErros = true; + } + if (form.getValue("dataEntrega") == "") { + message += getMessage("Data da entrega", 1, form); + hasErros = true; + } + break; case RECEBIMENTO: - log.info("Por favor, registre o recebimento do material" + form.getValue("fdAnexo_recebimento")); - if (form.getValue("fdAnexo_recebimento") == "") { - message += getMessage("Recebimento", 3, form); - hasErros = true; - } + log.info("Validando recebimento e conferencia dos itens"); + var validacaoItens = String(form.getValue("validacaoItens") || ""); + if (validacaoItens == "") { + message += getMessage("Validação do recebimento", 2, form); + hasErros = true; + } + if ( + (validacaoItens == "divergencia" || validacaoItens == "naoEntregue" || validacaoItens == "incorreto") && + form.getValue("justificativaDecisaoItens") == "" + ) { + message += getMessage("Descreva a divergência encontrada", 1, form); + hasErros = true; + } + break; default: break; } @@ -99,4 +129,5 @@ function getMessage(texto, tipo, form) { } else { return 'A quantidade existente de campos "' + texto + '" deve ser maior do que 0.' } -} \ No newline at end of file +} + diff --git a/Transferência Ginseng/forms/totvsflow_solicitacao_transferencia/excel.js b/Transferência Ginseng/forms/totvsflow_solicitacao_transferencia/excel.js index 4645a51..e1d8155 100644 --- a/Transferência Ginseng/forms/totvsflow_solicitacao_transferencia/excel.js +++ b/Transferência Ginseng/forms/totvsflow_solicitacao_transferencia/excel.js @@ -1,41 +1,102 @@ +var xlsxLoader = { + loading: false, + callbacks: [] +}; + function carregarItensDoExcel(fileInputId) { - const fileInput = document.getElementById(fileInputId); - const file = fileInput ? fileInput.files[0] : null; + var fileInput = document.getElementById(fileInputId); + var file = fileInput ? fileInput.files[0] : null; if (!file) { FLUIGC.toast({ title: 'Erro', message: 'Nenhum arquivo selecionado.', type: 'danger' }); return; } - if (typeof XLSX === "undefined") { - FLUIGC.toast({ title: 'Erro', message: 'Biblioteca XLSX nao carregada.', type: 'danger' }); + + showExcelLoading(); + ensureXlsxLibrary(function (err) { + if (err) { + hideExcelLoading(); + FLUIGC.toast({ title: 'Erro', message: 'Biblioteca XLSX indisponivel.', type: 'danger' }); + console.error("Erro ao carregar XLSX:", err); + return; + } + + processarArquivoExcel(file); + }); +} + +function ensureXlsxLibrary(callback) { + if (typeof XLSX !== "undefined") { + callback(); return; } - showExcelLoading(); + xlsxLoader.callbacks.push(callback); + if (xlsxLoader.loading) { + return; + } - const reader = new FileReader(); + xlsxLoader.loading = true; + loadXlsxScript(0); +} + +function loadXlsxScript(index) { + var urls = [ + "/portal/resources/js/xlsx.full.min.js", + "https://cdnjs.cloudflare.com/ajax/libs/xlsx/0.18.5/xlsx.full.min.js" + ]; + + if (index >= urls.length) { + flushXlsxCallbacks(new Error("Biblioteca XLSX nao encontrada.")); + return; + } + + $.getScript(urls[index]) + .done(function () { + if (typeof XLSX === "undefined") { + loadXlsxScript(index + 1); + return; + } + flushXlsxCallbacks(); + }) + .fail(function () { + loadXlsxScript(index + 1); + }); +} + +function flushXlsxCallbacks(err) { + var callbacks = xlsxLoader.callbacks.splice(0, xlsxLoader.callbacks.length); + xlsxLoader.loading = false; + + for (var i = 0; i < callbacks.length; i++) { + callbacks[i](err); + } +} + +function processarArquivoExcel(file) { + var reader = new FileReader(); reader.onload = function (e) { // Permite o navegador renderizar o overlay antes de processar. setTimeout(function () { try { - const data = new Uint8Array(e.target.result); - const workbook = XLSX.read(data, { type: 'array' }); - const sheetName = workbook.SheetNames[0]; - const sheet = workbook.Sheets[sheetName]; - const linhas = XLSX.utils.sheet_to_json(sheet, { defval: "" }); + var data = new Uint8Array(e.target.result); + var workbook = XLSX.read(data, { type: 'array' }); + var sheetName = workbook.SheetNames[0]; + var sheet = workbook.Sheets[sheetName]; + var linhas = XLSX.utils.sheet_to_json(sheet, { defval: "" }); // Limpa a tabela (sem usar form) - const indices = $("input[id^='codigoItem___']").map(function () { + var indices = $("input[id^='codigoItem___']").map(function () { return $(this).attr("id").split("___")[1]; }).get(); $.each(indices, function (_, idx) { fnWdkRemoveChild(idx); }); - const linhasValidas = []; + var linhasValidas = []; $.each(linhas, function (_, item) { - const codigo = getCellByAliases(item, ["codigoItem", "codigo", "codItem", "sku", "code", "item"]); - const quantidade = getCellByAliases(item, ["quantidadeItem", "quantidade", "qtd", "qtde"]); - const descricao = getCellByAliases(item, ["descricao", "description", "desc"]); + var codigo = getCellByAliases(item, ["codigoItem", "codigo", "codItem", "sku", "code", "item"]); + var quantidade = getCellByAliases(item, ["quantidadeItem", "quantidade", "qtd", "qtde"]); + var descricao = getCellByAliases(item, ["descricao", "description", "desc"]); if (!codigo || !quantidade) { return; @@ -59,23 +120,33 @@ function carregarItensDoExcel(fileInputId) { // Adiciona os itens da planilha $.each(linhasValidas, function (_, item) { - const idx = wdkAddChild('tabelaItens'); - const zoomObj = window[`descricao___${idx}`]; + var idx = wdkAddChild('tabelaItens'); + var zoomObj = window["descricao___" + idx]; if (zoomObj && typeof zoomObj.setValue === "function") { zoomObj.setValue(item.codigo); } else { // Fallback visual caso o objeto zoom ainda nao esteja pronto no momento. - $(`#descricao___${idx}`).val(item.codigo); + $("#descricao___" + idx).val(item.codigo); } - $(`#quantidadeItem___${idx}`).val(item.quantidade); + $("#quantidadeItem___" + idx).val(item.quantidade); + $("#codigoProdutoItem___" + idx).val(item.codigo); - var descricaoFinal = item.descricao || buscarDescricaoProduto(item.codigo); + var produtoInfo = buscarProdutoPorCodigo(item.codigo); + if (produtoInfo.id) { + $("#productIdItem___" + idx).val(produtoInfo.id); + } + + var descricaoFinal = item.descricao || produtoInfo.descricao; if (descricaoFinal) { - $(`#codigoItem___${idx}`).val(descricaoFinal); + $("#codigoItem___" + idx).val(descricaoFinal); } }); + if (typeof processarConferenciaNfe === "function") { + processarConferenciaNfe(); + } + FLUIGC.toast({ title: 'Sucesso', message: linhasValidas.length + ' itens carregados com sucesso!', type: 'success' }); } catch (err) { FLUIGC.toast({ title: 'Erro', message: 'Falha ao processar Excel: ' + err.message, type: 'danger' }); @@ -118,36 +189,46 @@ function normalizeHeader(text) { .toLowerCase(); } -function buscarDescricaoProduto(codigo) { +function buscarProdutoPorCodigo(codigo) { try { if (typeof DatasetFactory === "undefined" || typeof ConstraintType === "undefined") { - return ""; + return { descricao: "", id: "" }; } var codigoTxt = String(codigo || "").trim(); - if (!codigoTxt) return ""; + if (!codigoTxt) return { descricao: "", id: "" }; var cCodigo = DatasetFactory.createConstraint("Code", codigoTxt, codigoTxt, ConstraintType.MUST); var ds = DatasetFactory.getDataset("ds_rgb_products", null, [cCodigo], null); if (!ds || !ds.values || !ds.values.length) { - return ""; + return { descricao: "", id: "" }; } for (var i = 0; i < ds.values.length; i++) { var row = ds.values[i] || {}; if (String(row.Code || "").trim() === codigoTxt) { - return String(row.descricao || row.Description || "").trim(); + return { + descricao: String(row.descricao || row.Description || "").trim(), + id: String(row.id || "").trim() + }; } } var first = ds.values[0] || {}; - return String(first.descricao || first.Description || "").trim(); + return { + descricao: String(first.descricao || first.Description || "").trim(), + id: String(first.id || "").trim() + }; } catch (e) { console.error("Erro ao buscar descricao por codigo:", e); - return ""; + return { descricao: "", id: "" }; } } +function buscarDescricaoProduto(codigo) { + return buscarProdutoPorCodigo(codigo).descricao; +} + function showExcelLoading() { var overlay = document.getElementById("excelLoadingOverlay"); if (overlay) { diff --git a/Transferência Ginseng/forms/totvsflow_solicitacao_transferencia/script.js b/Transferência Ginseng/forms/totvsflow_solicitacao_transferencia/script.js index ab886ab..519e775 100644 --- a/Transferência Ginseng/forms/totvsflow_solicitacao_transferencia/script.js +++ b/Transferência Ginseng/forms/totvsflow_solicitacao_transferencia/script.js @@ -26,13 +26,41 @@ $(document).ready(function () { $('#btnRemoverExcel').hide(); }); + $('#chaveNfe').on('input', function () { + var key = normalizeNfeKey($(this).val()); + $(this).val(key); + clearNfeConsultaFields(); + setNfeFeedback("", "hidden"); + }); + + $('#btnConsultarChaveNfe').on('click', function () { + consultarChaveNfe(); + }); + + $(document).on("change", "input[name='tipoMotoristaEntrega']", function () { + applyMotoristaEntregaMode($(this).val(), false); + }); + + $(document).on("change", "#motoristaEntregaSelecionado", function () { + applySelectedMotoristaEntregaOption(); + }); + + $(document).on("input", "input[name^='quantidadeItem___']", function () { + processarConferenciaNfe(); + }); + if ($("#formMode").val() == "VIEW") { showAndBlock(["all"]); + $("#btnConsultarChaveNfe").prop("disabled", true).hide(); } else { //show the right fields var activity = $("#activity").val(); var requestDate = getCurrentDate(); + if (String(activity) !== "6") { + $("#btnConsultarChaveNfe").prop("disabled", true).hide(); + } + $(".activity").hide(); $(".activity-" + activity).show(); @@ -51,10 +79,14 @@ $(document).ready(function () { updt_line(); } else if (activity == 6) { showAndBlock([0, 4]); - $("#userValidacaoCompras").val($("#currentUserName").val()); - $("#dataValidacaoCompras").val( - requestDate[0] + " - " + requestDate[1] - ); + if ($("#usuarioEmissorNfe").val() == "") { + $("#usuarioEmissorNfe").val($("#currentUserName").val()); + } + if ($("#dataEmissaoNfe").val() == "") { + $("#dataEmissaoNfe").val( + requestDate[0] + " - " + requestDate[1] + ); + } if ($("#justificativaDecisaoGestor").val() == "") { $(".justificativa-activity-4").hide(); @@ -66,6 +98,9 @@ $(document).ready(function () { $("#dataAprovCompras").val( requestDate[0] + " - " + requestDate[1] ); + $("#blocoTipoMotoristaEntrega, #blocoOutroMotoristaEntrega").hide(); + $("input[name='tipoMotoristaEntrega']").prop("disabled", true); + $("#motoristaEntregaSelecionado").prop("disabled", true); showAndBlock([0, 4, 6]); if ($("#justificativaDecisaoGestor").val() == "") { @@ -81,7 +116,21 @@ $(document).ready(function () { $("#dataRealizacaoCompras").val( requestDate[0] + " - " + requestDate[1] ); - showAndBlock([0, 4, 6, 57]); + if ($("#motoristaColetaNome").val() == "") { + $("#motoristaColetaNome").val($("#currentUserName").val()); + } + if ($("#motoristaColetaLogin").val() == "") { + $("#motoristaColetaLogin").val($("#currentUserId").val()); + } + if ($("#dataColeta").val() == "") { + $("#dataColeta").val(requestDate[0] + " " + requestDate[1]); + } + initMotoristaEntregaEscolha(); + $("#blocoTipoMotoristaEntrega").show(); + $("input[name='tipoMotoristaEntrega']").prop("disabled", false); + $("#motoristaEntregaSelecionado").prop("disabled", false); + // Mantem apenas etapas anteriores bloqueadas; card de coleta e entrega estao separados. + showAndBlock([0, 4, 6]); if ($("#justificativaDecisaoGestor").val() == "") { $(".justificativa-activity-4").hide(); @@ -111,9 +160,11 @@ $(document).ready(function () { $("input[name=validacaoItens]").on("change", function () { $(".justificativaDecisaoItens").hide(); + var validacaoItensSelecionada = $("input[name=validacaoItens]:checked").val(); if ( - $("input[name=validacaoItens]:checked").val() == "incorreto" || - $("input[name=validacaoItens]:checked").val() == "naoEntregue" + validacaoItensSelecionada == "divergencia" || + validacaoItensSelecionada == "incorreto" || + validacaoItensSelecionada == "naoEntregue" ) { $(".justificativaDecisaoItens").show(); } @@ -146,6 +197,7 @@ $(document).ready(function () { invisibleBtnUpload("fdAnexo_Coleta"); invisibleBtnUpload("fdAnexo_Entrega"); invisibleBtnUpload("fdAnexo_recebimento"); + processarConferenciaNfe(); // gerarTabelaCotacaoIndica("tabelaCotacaoIndica", "tabelaItens"); @@ -238,6 +290,589 @@ function getCurrentDate() { return currentDate; } +function initMotoristaEntregaEscolha() { + var escolha = String($("input[name='tipoMotoristaEntrega']:checked").val() || ""); + if (!escolha) { + var coletaLogin = String($("#motoristaColetaLogin").val() || "").trim(); + var entregaLogin = String($("#motoristaEntregaLogin").val() || "").trim(); + if (entregaLogin && coletaLogin && entregaLogin !== coletaLogin) { + escolha = "outro"; + } else { + escolha = $("#motoristaColetaNome").val() ? "mesmo" : "outro"; + } + $("input[name='tipoMotoristaEntrega'][value='" + escolha + "']").prop("checked", true); + } + applyMotoristaEntregaMode(escolha, true); +} + +function applyMotoristaEntregaMode(mode, keepValues) { + var escolha = String(mode || ""); + var blocoOutro = $("#blocoOutroMotoristaEntrega"); + if (!blocoOutro.length) return; + + if (escolha === "outro") { + blocoOutro.show(); + loadMotoristasEntregaSelect(false); + if (!keepValues) { + $("#motoristaEntregaNome").val(""); + $("#motoristaEntregaLogin").val(""); + clearZoomField("motoristaEntregaSelecionado"); + } else { + syncMotoristaEntregaSelectFromHidden(); + } + return; + } + + blocoOutro.hide(); + if (escolha === "mesmo") { + var coletaNome = String($("#motoristaColetaNome").val() || "").trim(); + var coletaLogin = String($("#motoristaColetaLogin").val() || "").trim(); + if (coletaNome) $("#motoristaEntregaNome").val(coletaNome); + if (coletaLogin) $("#motoristaEntregaLogin").val(coletaLogin); + } +} + +function clearZoomField(fieldId) { + try { + if (window[fieldId] && typeof window[fieldId].clear === "function") { + window[fieldId].clear(); + } + } catch (e) {} + + try { + if (window[fieldId] && typeof window[fieldId].setValue === "function") { + window[fieldId].setValue(""); + } + } catch (e2) {} + + $("#" + fieldId).val(""); +} + +var MOTORISTAS_GROUP_ID = "Motoristas"; +var motoristasEntregaCache = null; +var motoristasEntregaLoading = false; + +function loadMotoristasEntregaSelect(forceReload) { + var select = $("#motoristaEntregaSelecionado"); + if (!select.length) return; + + if (!forceReload && motoristasEntregaCache && motoristasEntregaCache.length) { + renderMotoristasEntregaOptions(motoristasEntregaCache); + return; + } + + if (motoristasEntregaLoading) return; + + motoristasEntregaLoading = true; + + var requestPayload = { + name: "ds_motoristas_grupo", + fields: null, + constraints: [{ + _field: "GROUP_ID", + _initialValue: MOTORISTAS_GROUP_ID, + _finalValue: MOTORISTAS_GROUP_ID, + _type: 1 + }], + order: null + }; + + $.ajax({ + type: "POST", + url: "/api/public/ecm/dataset/datasets/", + contentType: "application/json", + dataType: "json", + data: JSON.stringify(requestPayload) + }).done(function (response) { + var values = ((((response || {}).content || {}).values) || []); + motoristasEntregaCache = normalizeMotoristasEntregaRows(values); + renderMotoristasEntregaOptions(motoristasEntregaCache); + }).fail(function (xhr) { + console.error("Falha ao carregar motoristas do dataset:", xhr); + motoristasEntregaCache = []; + renderMotoristasEntregaOptions([]); + }).always(function () { + motoristasEntregaLoading = false; + }); +} + +function normalizeMotoristasEntregaRows(values) { + var out = []; + var map = {}; + + for (var i = 0; i < values.length; i++) { + var row = values[i] || {}; + var colleagueId = String(row.COLLEAGUE_ID || row.colleagueId || row.colleagueid || "").trim(); + if (!colleagueId) continue; + if (map[colleagueId]) continue; + map[colleagueId] = true; + + out.push({ + COLLEAGUE_ID: colleagueId, + NOME: String(row.NOME || row.colleagueName || row.nome || "").trim(), + LOGIN: String(row.LOGIN || row.login || "").trim(), + EMAIL: String(row.EMAIL || row.mail || row.email || "").trim() + }); + } + + out.sort(function (a, b) { + var aNome = (a.NOME || a.LOGIN || a.COLLEAGUE_ID).toLowerCase(); + var bNome = (b.NOME || b.LOGIN || b.COLLEAGUE_ID).toLowerCase(); + return aNome < bNome ? -1 : (aNome > bNome ? 1 : 0); + }); + + return out; +} + +function renderMotoristasEntregaOptions(rows) { + var select = $("#motoristaEntregaSelecionado"); + if (!select.length) return; + + var selectedValue = String($("#motoristaEntregaLogin").val() || select.val() || "").trim(); + + select.empty(); + select.append($("").val("").text("Selecione o motorista")); + + for (var i = 0; i < rows.length; i++) { + var row = rows[i]; + var nome = String(row.NOME || row.LOGIN || row.COLLEAGUE_ID); + var label = row.LOGIN ? (nome + " (" + row.LOGIN + ")") : nome; + var option = $("") + .val(row.COLLEAGUE_ID) + .text(label) + .attr("data-nome", nome) + .attr("data-login", String(row.LOGIN || "")); + select.append(option); + } + + if (selectedValue) { + select.val(selectedValue); + } + + if (!select.val()) { + // Limpa selecao visual quando o valor salvo nao existe mais no dataset. + select.val(""); + } + + applySelectedMotoristaEntregaOption(); +} + +function syncMotoristaEntregaSelectFromHidden() { + var select = $("#motoristaEntregaSelecionado"); + if (!select.length) return; + + var storedId = String($("#motoristaEntregaLogin").val() || "").trim(); + if (!storedId) { + select.val(""); + return; + } + + select.val(storedId); + if (select.val()) { + applySelectedMotoristaEntregaOption(); + } +} + +function applySelectedMotoristaEntregaOption() { + var select = $("#motoristaEntregaSelecionado"); + if (!select.length) return; + + var selectedId = String(select.val() || "").trim(); + if (!selectedId) { + if (String($("input[name='tipoMotoristaEntrega']:checked").val() || "") === "outro") { + $("#motoristaEntregaNome").val(""); + $("#motoristaEntregaLogin").val(""); + } + return; + } + + var option = select.find("option:selected"); + var nome = String(option.attr("data-nome") || option.text() || "").trim(); + + $("#motoristaEntregaLogin").val(selectedId); + $("#motoristaEntregaNome").val(nome); + $("#tipoMotoristaEntregaOutro").prop("checked", true); +} + +function normalizeNfeKey(value) { + return String(value == null ? "" : value).replace(/\D/g, "").substring(0, 44); +} + +function clearNfeConsultaFields() { + $("#numeroNfeConsulta").val(""); + $("#serieNfeConsulta").val(""); + $("#dataEmissaoApiNfe").val(""); + $("#situacaoNfeConsulta").val(""); + $("#fornecedorNfeConsulta").val(""); + $("#valorNfeConsulta").val(""); + $("#dataEntradaNfeConsulta").val(""); + $("#itensNfeConsulta").val(""); + $("#operacaoNfeConsulta").val(""); + $("#lojaNfeConsulta").val(""); + $("#invoiceIdNfeConsulta").val(""); + $("#storeIdNfeConsulta").val(""); + $("#itensNfeJson").val("[]"); + $("#qtdDivergenciasNfe").val("0"); + renderTabelaConferencia([], 0, 0, "Consulte a chave da NFe para gerar o confronto dos itens.", "info"); +} + +function setNfeFeedback(message, type) { + var feedback = $("#consultaNfeFeedback"); + if (!feedback.length) { + return; + } + + feedback.removeClass("alert-success alert-danger alert-info alert-warning"); + + if (!message || type === "hidden") { + feedback.hide().text(""); + return; + } + + if (type === "success") { + feedback.addClass("alert-success"); + } else if (type === "warning") { + feedback.addClass("alert-warning"); + } else if (type === "info") { + feedback.addClass("alert-info"); + } else { + feedback.addClass("alert-danger"); + } + + feedback.text(message).show(); +} + +function formatNfeCurrency(value) { + var textValue = String(value == null ? "" : value).trim(); + if (textValue === "") { + return ""; + } + + var numberValue = parseFloat(textValue.replace(",", ".")); + if (isNaN(numberValue)) { + return textValue; + } + + try { + return numberValue.toLocaleString("pt-BR", { style: "currency", currency: "BRL" }); + } catch (e) { + return textValue; + } +} + +function fillNfeConsultaFields(row) { + var emissionDate = String(row.emissionDate || ""); + + $("#numeroNfeConsulta").val(String(row.invoiceNumber || "")); + $("#serieNfeConsulta").val(String(row.serie || "")); + $("#dataEmissaoApiNfe").val(emissionDate); + $("#situacaoNfeConsulta").val(String(row.situation || "")); + $("#fornecedorNfeConsulta").val(String(row.supplierName || "")); + $("#valorNfeConsulta").val(formatNfeCurrency(row.documentValue)); + $("#dataEntradaNfeConsulta").val(String(row.updatedAt || "")); + $("#itensNfeConsulta").val(String(row.itemCount || "")); + $("#operacaoNfeConsulta").val(String(row.fiscalOperationDescription || "")); + $("#lojaNfeConsulta").val(String(row.storeId || "")); + $("#invoiceIdNfeConsulta").val(String(row.invoiceId || "")); + $("#storeIdNfeConsulta").val(String(row.storeId || "")); + $("#itensNfeJson").val(String(row.itensJson || "[]")); + + if (emissionDate) { + $("#dataEmissaoNfe").val(emissionDate); + } + + processarConferenciaNfe(); +} + +function processarConferenciaNfe() { + var nfeItems = parseItensNfeJson(); + if (nfeItems.length === 0) { + $("#qtdDivergenciasNfe").val("0"); + renderTabelaConferencia([], 0, 0, "Consulte a chave da NFe para gerar o confronto dos itens.", "info"); + return; + } + + var solicitacaoMap = buildSolicitacaoMap(); + var nfeMap = buildNfeMap(nfeItems); + var allKeys = mergeKeys(solicitacaoMap, nfeMap); + var rows = []; + var divergencias = 0; + + for (var i = 0; i < allKeys.length; i++) { + var key = allKeys[i]; + var req = solicitacaoMap[key] || { qty: 0, label: key }; + var nfe = nfeMap[key] || { qty: 0, label: key }; + + var status = "OK"; + if (req.qty === 0 && nfe.qty > 0) { + status = "Somente NFe"; + } else if (nfe.qty === 0 && req.qty > 0) { + status = "Somente solicitacao"; + } else if (Math.abs(req.qty - nfe.qty) > 0.00001) { + status = "Quantidade divergente"; + } + + if (status !== "OK") { + divergencias++; + } + + rows.push({ + key: req.label || nfe.label || key, + requestedQty: req.qty, + nfeQty: nfe.qty, + status: status + }); + } + + $("#qtdDivergenciasNfe").val(String(divergencias)); + + var resumo = "Conferencia finalizada: " + rows.length + " item(ns), " + divergencias + " divergencia(s)."; + var resumoType = divergencias > 0 ? "warning" : "success"; + renderTabelaConferencia(rows, rows.length, divergencias, resumo, resumoType); +} + +function parseItensNfeJson() { + var raw = String($("#itensNfeJson").val() || "[]"); + try { + var parsed = JSON.parse(raw); + return parsed instanceof Array ? parsed : []; + } catch (e) { + return []; + } +} + +function buildSolicitacaoMap() { + var out = {}; + $("input[name^='quantidadeItem___']").each(function () { + var name = $(this).attr("name") || ""; + var indice = name.split("___")[1]; + if (!indice) return; + + var qty = toFloatSafe($(this).val()); + if (qty <= 0) return; + + var productId = String($("#productIdItem___" + indice).val() || "").trim(); + var code = resolveSolicitacaoItemCode(indice, $(this)); + var descricao = String($("#codigoItem___" + indice).val() || "").trim(); + + var key = resolveConferenciaKey(productId, code, "ROW:" + indice); + var label = productId ? ("PID " + productId) : (code || descricao || ("Linha " + indice)); + + if (!out[key]) { + out[key] = { qty: 0, label: label }; + } + out[key].qty += qty; + }); + return out; +} + +function resolveSolicitacaoItemCode(indice, qtyInput) { + var code = String($("#codigoProdutoItem___" + indice).val() || "").trim(); + if (code) return normalizeCodigoComparacao(code); + + code = String($("#descricao___" + indice).val() || "").trim(); + if (code) return normalizeCodigoComparacao(code); + + var row = qtyInput && qtyInput.length ? qtyInput.closest("tr") : $(); + if (row.length) { + var byName = findFirstFilledValue(row.find("input[name='descricao___" + indice + "']")); + if (byName) return normalizeCodigoComparacao(byName); + + var anyDescricao = findFirstFilledValue(row.find("input[name^='descricao']")); + if (anyDescricao) return normalizeCodigoComparacao(anyDescricao); + + var byIdLike = findFirstFilledValue(row.find("input[id*='descricao']")); + if (byIdLike) return normalizeCodigoComparacao(byIdLike); + + var codigoCellInputs = row.find("td").eq(1).find("input,select,textarea"); + var fromCodigoCell = findFirstFilledValue(codigoCellInputs); + if (fromCodigoCell) return normalizeCodigoComparacao(fromCodigoCell); + + // Em modo bloqueado/view, o Zoom pode renderizar apenas texto em span/div. + var codigoCell = row.find("td").eq(1); + var zoomRendered = findFirstFilledText(codigoCell.find( + ".select2-selection__rendered, .select2-chosen, .zoom-value, .zoom-span, span, div" + )); + if (zoomRendered) return normalizeCodigoComparacao(zoomRendered); + + // Fallback final: texto bruto da célula. + var rawCellText = String(codigoCell.text() || "").trim(); + if (rawCellText) return normalizeCodigoComparacao(rawCellText); + } + + return ""; +} + +function findFirstFilledValue(elements) { + if (!elements || !elements.length) return ""; + + for (var i = 0; i < elements.length; i++) { + var $el = $(elements[i]); + var val = String($el.val() || "").trim(); + if (!val) { + val = String($el.attr("value") || "").trim(); + } + if (!val) { + val = String($el.attr("data-value") || "").trim(); + } + if (val) return val; + } + return ""; +} + +function findFirstFilledText(elements) { + if (!elements || !elements.length) return ""; + + for (var i = 0; i < elements.length; i++) { + var txt = String($(elements[i]).text() || "").trim(); + if (txt) return txt; + } + return ""; +} + +function normalizeCodigoComparacao(value) { + var raw = String(value || "").trim(); + if (!raw) return ""; + + // Zoom pode trazer "75655 - DESCRICAO"; para conferencia usamos o primeiro token. + var firstToken = raw.split(" - ")[0].split(" | ")[0].trim(); + return firstToken || raw; +} + +function buildNfeMap(items) { + var out = {}; + for (var i = 0; i < items.length; i++) { + var item = items[i] || {}; + var qty = toFloatSafe(item.quantity); + if (qty <= 0) continue; + + var productId = String(item.productId || "").trim(); + var code = String(item.code || "").trim(); + var key = resolveConferenciaKey(productId, code, "NFE:" + i); + var label = productId ? ("PID " + productId) : (code || ("Item NFe " + (i + 1))); + + if (!out[key]) { + out[key] = { qty: 0, label: label }; + } + out[key].qty += qty; + } + return out; +} + +function resolveConferenciaKey(productId, code, fallback) { + var pid = String(productId || "").trim(); + if (pid) { + return "ITEM:" + pid; + } + + var cod = String(code || "").trim(); + if (cod) { + return "ITEM:" + cod; + } + + return String(fallback || ""); +} + +function mergeKeys(a, b) { + var obj = {}; + for (var ka in a) obj[ka] = true; + for (var kb in b) obj[kb] = true; + return Object.keys(obj); +} + +function renderTabelaConferencia(rows, totalItens, divergencias, mensagem, tipo) { + var tbody = $("#tabelaConferenciaNfeBody"); + var resumo = $("#resumoConferenciaNfe"); + if (!tbody.length || !resumo.length) return; + + var html = ""; + if (!rows || rows.length === 0) { + html = "Sem conferencia."; + } else { + for (var i = 0; i < rows.length; i++) { + var row = rows[i]; + var rowClass = row.status === "OK" ? "" : " class='danger'"; + html += "" + + "" + escapeHtml(row.key) + "" + + "" + formatConferenciaNumero(row.requestedQty) + "" + + "" + formatConferenciaNumero(row.nfeQty) + "" + + "" + escapeHtml(row.status) + "" + + ""; + } + } + tbody.html(html); + + var typeClass = "alert-info"; + if (tipo === "success") typeClass = "alert-success"; + if (tipo === "warning") typeClass = "alert-warning"; + if (tipo === "danger" || tipo === "error") typeClass = "alert-danger"; + + resumo.removeClass("alert-info alert-success alert-warning alert-danger"); + resumo.addClass(typeClass); + resumo.text(mensagem || ("Conferencia: " + totalItens + " item(ns), " + divergencias + " divergencia(s).")); +} + +function toFloatSafe(value) { + var text = String(value == null ? "" : value).replace(",", ".").trim(); + var n = parseFloat(text); + return isNaN(n) ? 0 : n; +} + +function formatConferenciaNumero(value) { + var n = toFloatSafe(value); + return String(n).indexOf(".") >= 0 ? n.toFixed(2) : String(n); +} + +function escapeHtml(value) { + return String(value == null ? "" : value) + .replace(/&/g, "&") + .replace(//g, ">") + .replace(/\"/g, """) + .replace(/'/g, "'"); +} + +function consultarChaveNfe() { + var key = normalizeNfeKey($("#chaveNfe").val()); + $("#chaveNfe").val(key); + clearNfeConsultaFields(); + + if (key.length !== 44) { + setNfeFeedback("Informe uma chave com 44 digitos para consultar.", "warning"); + return; + } + + setNfeFeedback("Consultando chave da NFe...", "info"); + + try { + var constraint = DatasetFactory.createConstraint("key", key, key, ConstraintType.MUST); + var dataset = DatasetFactory.getDataset("ds_fiscal_invoice_by_keys", null, [constraint], null); + + if (!dataset || !dataset.values || dataset.values.length === 0) { + setNfeFeedback("Nao foi possivel consultar a NFe no momento.", "error"); + return; + } + + var row = dataset.values[0] || {}; + var success = String(row.success || "").toLowerCase() === "true"; + + if (!success) { + setNfeFeedback(String(row.message || "NFe nao encontrada para a chave informada."), "error"); + return; + } + + fillNfeConsultaFields(row); + + if ($("#invoiceIdNfeConsulta").val() === "") { + setNfeFeedback("A consulta retornou sem identificador tecnico da NFe.", "error"); + return; + } + + setNfeFeedback("NFe localizada e vinculada a solicitacao.", "success"); + } catch (e) { + setNfeFeedback("Erro ao consultar chave da NFe: " + e, "error"); + } +} var beforeSendValidate = function (numState, nextState) { $(".errorValidate").removeClass("errorValidate"); if (numState == 0 || numState == 1) { @@ -288,16 +923,71 @@ var beforeSendValidate = function (numState, nextState) { } else if (numState == 4) { // } else if (numState == 6) { - // + var chaveNfe = normalizeNfeKey($("#chaveNfe").val()); + $("#chaveNfe").val(chaveNfe); + + if (chaveNfe == "") { + $("#chaveNfe").parent("div").addClass("errorValidate"); + throw "'Chave de acesso da NFe' e obrigatoria."; + } + + if (chaveNfe.length !== 44) { + $("#chaveNfe").parent("div").addClass("errorValidate"); + throw "'Chave de acesso da NFe' deve conter 44 digitos."; + } + + if ($("#invoiceIdNfeConsulta").val() == "") { + $("#chaveNfe").parent("div").addClass("errorValidate"); + throw "Consulte a chave da NFe antes de enviar a etapa."; + } + + var qtdDivergencias = parseInt($("#qtdDivergenciasNfe").val() || "0", 10); + if (!isNaN(qtdDivergencias) && qtdDivergencias > 0) { + throw "Existem " + qtdDivergencias + " divergencia(s) entre itens solicitados e itens da NFe."; + } + } else if (numState == 31) { + if ($("#motoristaColetaNome").val() == "") { + throw "'Motorista responsável pela coleta' é obrigatório."; + } + if ($("#dataColeta").val() == "") { + throw "'Data da coleta' é obrigatória."; + } + var tipoMotoristaEntrega31 = $("input[name='tipoMotoristaEntrega']:checked").val(); + if (!tipoMotoristaEntrega31) { + throw "Informe quem vai fazer a entrega (mesmo motorista da coleta ou outro)."; + } + if (tipoMotoristaEntrega31 === "mesmo") { + if ($("#motoristaColetaLogin").val() == "") { + throw "Nao foi encontrado login do motorista da coleta para enviar a etapa de entrega."; + } + $("#motoristaEntregaNome").val($("#motoristaColetaNome").val()); + $("#motoristaEntregaLogin").val($("#motoristaColetaLogin").val()); + } else if ($("#motoristaEntregaLogin").val() == "") { + throw "Selecione o outro motorista responsavel pela entrega."; + } + } else if (numState == 57) { + if ($("#motoristaEntregaLogin").val() == "") { + throw "Motorista da entrega nao definido. Configure na etapa de coleta."; + } + + if ($("#motoristaEntregaNome").val() == "") { + throw "'Motorista responsável pela entrega' é obrigatório."; + } + if ($("#dataEntrega").val() == "") { + var entregaNow = getCurrentDate(); + $("#dataEntrega").val(entregaNow[0] + " " + entregaNow[1]); + } + if ($("#dataEntrega").val() == "") { + throw "'Data da entrega' é obrigatória."; + } } else if (numState == 18) { - if ( - $("input[name='validacaoItens']:checked").val() == "" || - $("input[name='validacaoItens']:checked").val() == undefined - ) { - throw "'Consegue resolver?' é obrigatório."; + var validacaoItens = $("input[name='validacaoItens']:checked").val(); + if (validacaoItens == "" || validacaoItens == undefined) { + throw "'Validação do recebimento' é obrigatória."; } else if ( - $("input[name='validacaoItens']:checked").val() == "naoEntregue" || - $("input[name='validacaoItens']:checked").val() == "incorreto" + validacaoItens == "divergencia" || + validacaoItens == "naoEntregue" || + validacaoItens == "incorreto" ) { if ($("#justificativaDecisaoItens").val() == "") { $("#justificativaDecisaoItens") @@ -358,24 +1048,38 @@ function setSelectedZoomItem(selectedItem) { // } if (name_item == "centroCusto") { - $("#gestorNome").val(selectedItem["gestorCentroCusto"]); - $("#gestorEmail").val(selectedItem["emailGestor"]); - $("#gestor_cc").val(selectedItem["idGestor"]); + $("#gestorNome").val(selectedItem["RESPONSAVEL_LOJA"] || ""); + $("#gestorEmail").val(selectedItem["emailGestor"] || ""); + $("#gestor_cc").val(selectedItem["COLLEAGUE_ID"] || ""); } if (name_item == "estabelecimento") { - $("#gestorNomeE").val(selectedItem["gestorCentroCusto"]); - $("#gestorEmailE").val(selectedItem["emailGestor"]); - $("#gestor_cce").val(selectedItem["idGestor"]); + $("#gestorNomeE").val(selectedItem["RESPONSAVEL_LOJA"] || ""); + $("#gestorEmailE").val(selectedItem["emailGestor"] || ""); + $("#gestor_cce").val(selectedItem["COLLEAGUE_ID"] || ""); } if (name_item == "userSolicitante") { $("#emailSolicitante").val(selectedItem.mail); } + + if (name_item == "motoristaEntregaSelecionado") { + var motoristaNome = selectedItem["NOME"] || selectedItem["colleagueName"] || selectedItem["LOGIN"] || selectedItem["login"] || ""; + var motoristaColleagueId = selectedItem["COLLEAGUE_ID"] || selectedItem["colleaguePK.colleagueId"] || ""; + $("#motoristaEntregaNome").val(String(motoristaNome || "")); + $("#motoristaEntregaLogin").val(String(motoristaColleagueId || "")); + $("#tipoMotoristaEntregaOutro").prop("checked", true); + applyMotoristaEntregaMode("outro", true); + } if (name_item == "descricao") { var itemDescricao = selectedItem["descricao"] || selectedItem["Description"] || ""; + var itemCode = selectedItem["Code"] || selectedItem["sku"] || ""; + var itemProductId = selectedItem["id"] || selectedItem["productId"] || ""; $("#codigoItem" + "___" + indice).val(itemDescricao); + $("#codigoProdutoItem" + "___" + indice).val(itemCode); + $("#productIdItem" + "___" + indice).val(itemProductId); + processarConferenciaNfe(); } } @@ -396,17 +1100,32 @@ function removedZoomItem(removedItem) { $("#gestorNome").val(""); $("#gestorEmail").val(""); $("#gestor_cc").val(""); + } else if (name_item == "estabelecimento") { + $("#gestorNomeE").val(""); + $("#gestorEmailE").val(""); + $("#gestor_cce").val(""); + } else if (name_item == "motoristaEntregaSelecionado") { + if ($("input[name='tipoMotoristaEntrega']:checked").val() === "outro") { + $("#motoristaEntregaNome").val(""); + $("#motoristaEntregaLogin").val(""); + } } else if (~name_item.indexOf("___")) { var linha = name_item.split("___"); if (linha[0] == "descricao") { $("#codigoItem___" + linha[1]).val(""); + $("#codigoProdutoItem___" + linha[1]).val(""); + $("#productIdItem___" + linha[1]).val(""); $("#quantidadeItem___" + linha[1]).val(""); + processarConferenciaNfe(); } } if (name_item == "descricao") { $("#codigoItem" + "___" + indice).val(""); + $("#codigoProdutoItem" + "___" + indice).val(""); + $("#productIdItem" + "___" + indice).val(""); + processarConferenciaNfe(); } } @@ -425,6 +1144,7 @@ function updt_line() { function remove_row(element) { fnWdkRemoveChild(element); updt_line(); + processarConferenciaNfe(); } @@ -767,26 +1487,40 @@ function btnState(idInput, acao, btn){ */ function displayBtnFiles(){ try{ + var mode = getFormMode(); + var allowedInputs = getAllowedAttachmentInputs(); $('.componentAnexo').each(function(i, element) { let inputFile = $(element).find(".inputAnexo") + let inputId = inputFile.attr("id") || ""; + let normalizedInputId = inputId.indexOf("_") === 0 ? inputId.substring(1) : inputId; let btnUpFile = $(element).find(".btnUpFile"); let btnViewerFile = $(element).find(".btnViewerFile"); let btnDownloadFile = $(element).find(".btnDownloadFile"); + let canUploadHere = allowedInputs.indexOf(normalizedInputId) >= 0; - if(getFormMode() == "VIEW"){ + if(mode == "VIEW"){ btnUpFile.remove(); if(inputFile.val() != ""){ btnViewerFile.prop("disabled", false); btnViewerFile.show() + btnDownloadFile.prop("disabled", false); + btnDownloadFile.show() } } - if(getFormMode() == "MOD" && inputFile.val() != ""){ - btnUpFile.remove(); - // btnState(inputFile[0].id, "delete", "viewer") - btnViewerFile.prop("disabled", false); - btnViewerFile.show() - btnDownloadFile.prop("disabled", false); - btnDownloadFile.show() + if(mode == "MOD"){ + if(inputFile.val() != ""){ + if(canUploadHere){ + btnState(inputId, "delete", "viewer"); + } else { + btnUpFile.remove(); + btnViewerFile.prop("disabled", false); + btnViewerFile.show() + btnDownloadFile.prop("disabled", false); + btnDownloadFile.show() + } + } else if(!canUploadHere){ + btnUpFile.remove(); + } } }); }catch(e){ @@ -795,7 +1529,35 @@ function displayBtnFiles(){ } } +function getAllowedAttachmentInputs() { + var mode = getFormMode(); + var activity = String($("#activity").val() || ""); + + if (mode === "VIEW") { + return []; + } + + if (mode !== "MOD" && mode !== "ADD") { + return []; + } + + if (activity === "6") { + return ["fnAnexo_Nfe"]; + } + if (activity === "31") { + return ["fdAnexo_Coleta"]; + } + if (activity === "57") { + return ["fdAnexo_Entrega"]; + } + if (activity === "18") { + return ["fdAnexo_recebimento"]; + } + + return []; +} + /** * Remove o botão de upload/delete * @param {String} inputFile Parâmetro obrigatório, Id do campo @@ -804,7 +1566,11 @@ function displayBtnFiles(){ */ function invisibleBtnUpload(inputFile){ try{ - if(getFormMode() == "MOD" || getFormMode() == "VIEW"){ + var mode = getFormMode(); + var allowedInputs = getAllowedAttachmentInputs(); + var canUploadHere = allowedInputs.indexOf(inputFile) >= 0; + + if(mode == "VIEW" || ((mode == "MOD" || mode == "ADD") && !canUploadHere)){ if($(`#_${inputFile}`).length){ let btnUpFile = $(`#_${inputFile}`).parent().parent().find(".btnUpFile"); btnUpFile.remove(); @@ -925,3 +1691,4 @@ window.parent.$("#ecm-navigation-inputFile-clone").on('change', function () { carregarItensDoExcel("excelUpload"); } }); + diff --git a/Transferência Ginseng/forms/totvsflow_solicitacao_transferencia/totvsflow_solicitacao_transferencia.html b/Transferência Ginseng/forms/totvsflow_solicitacao_transferencia/totvsflow_solicitacao_transferencia.html index 11ae815..d1d5740 100644 --- a/Transferência Ginseng/forms/totvsflow_solicitacao_transferencia/totvsflow_solicitacao_transferencia.html +++ b/Transferência Ginseng/forms/totvsflow_solicitacao_transferencia/totvsflow_solicitacao_transferencia.html @@ -251,7 +251,9 @@ 'placeholder':'Selecione a filial de origem', 'fields':[ {'field':'PDV','label':'Loja'}, - {'field':'RESPONSAVEL_LOJA','label':'Gestor'} + {'field':'RESPONSAVEL_LOJA','label':'Gestor'}, + {'field':'LOGIN_LOJA','label':'Login','visible':'false'}, + {'field':'COLLEAGUE_ID','label':'Colleague','visible':'false'} ] }" /> @@ -264,7 +266,9 @@ 'placeholder':'Selecione a filial de destino', 'fields':[ {'field':'PDV','label':'Loja'}, - {'field':'RESPONSAVEL_LOJA','label':'Gestor'} + {'field':'RESPONSAVEL_LOJA','label':'Gestor'}, + {'field':'LOGIN_LOJA','label':'Login','visible':'false'}, + {'field':'COLLEAGUE_ID','label':'Colleague','visible':'false'} ] }" /> @@ -308,7 +312,8 @@ 'fields':[ {'field':'Code','label':'Codigo'}, {'field':'Description','label':'Descricao'}, - {'field':'descricao','label':'Descricao item'} + {'field':'descricao','label':'Descricao item'}, + {'field':'id','label':'ID','visible':'false'} ] }" /> @@ -317,6 +322,8 @@ + + + + +
+
+ +
+
+
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+
+
+ + +
+
+ + +
+
+
+
+

Conferência da NFe x Solicitação

+
+ Consulte a chave da NFe para gerar o confronto dos itens. +
+
+ + + + + + + + + + + + + + +
Chave de comparaçãoQtd. solicitadaQtd. NFeStatus
Sem conferência.
+
+
+
+ -
- - - - - +
+

Validação do Recebimento

+
+
+ +
+ + +
+
+
+ +
+ +
+

Rastreabilidade de Motorista - Coleta

+
+
+ + +
+
+ + +
+
+
+
+ +
+ + +
+
+
+ +
+ +
+

Rastreabilidade de Motorista - Entrega

+
+
+ + +
+
+ + +
-
- - - - - -
- -
- - - - - -
- -
- - - - - -
@@ -386,17 +535,18 @@ + + + + + +
- - + diff --git a/Transferência Ginseng/workflow/.resources/Solicitação de transferência.ecm30.xml b/Transferência Ginseng/workflow/.resources/Solicitação de transferência.ecm30.xml index 340a6d9..1be2345 100644 --- a/Transferência Ginseng/workflow/.resources/Solicitação de transferência.ecm30.xml +++ b/Transferência Ginseng/workflow/.resources/Solicitação de transferência.ecm30.xml @@ -29,7 +29,7 @@ 1 Transferência Ginseng - 42 + 46 590 @@ -230,7 +230,7 @@ true true false - 1370 + 1170 270 0 0 @@ -282,8 +282,8 @@ true true false - 1520 - 490 + 1410 + 479 0 0 false @@ -318,7 +318,8 @@ false 0 - + Pool Grupo + <AssignmentController><Group>Motoristas</Group></AssignmentController> 1 false false @@ -333,7 +334,7 @@ true true false - 870 + 850 679 0 0 @@ -369,7 +370,8 @@ false 0 - + Campo Formulário + <AssignmentController><FormField>motoristaEntregaLogin</FormField></AssignmentController> 1 false true @@ -384,7 +386,7 @@ true false false - 1280 + 1100 679 0 0 @@ -446,7 +448,7 @@ 0 true - 1540 + 1430 250 false 1 @@ -456,56 +458,6 @@ false - - - 1 - Transferência Ginseng - 1 - 62 - - Validar Coleta - Validar Coleta - false - false - false - - 0 - true - 760 - 470 - false - 1 - 120 - 0 - 0 - - false - - - - 1 - Transferência Ginseng - 1 - 90 - - Validar Entrega - Validar Entrega - false - false - false - - 0 - true - 1040 - 655 - false - 1 - 120 - 0 - 0 - - false - 1 @@ -582,7 +534,7 @@ false false false - 1700 + 1610 284 0 0 @@ -652,7 +604,7 @@ 1 Transferência Ginseng 1 - 86 + 96 Fim Fim @@ -676,7 +628,7 @@ false false false - 980 + 770 510 0 0 @@ -694,53 +646,6 @@ false - - - 1 - Transferência Ginseng - 1 - 93 - - Fim - Fim - Atividade final do processo - 0 - false - 0 - - - 0 - false - true - false - 0 - 1 - 0 - 0 - false - - 0 - false - false - false - 1180 - 610 - 0 - 0 - false - false - 0 - 0 - false - - 6 - 60 - 0 - false - 0 - - false - @@ -748,10 +653,10 @@ 1 Transferência Ginseng 1 - 42 + 46 2 - true + hAPI.getCardValue("gestor_cce") != "" 4 <AssignmentController><FormField>gestor_cce</FormField></AssignmentController> Campo Formulário @@ -762,10 +667,10 @@ 1 Transferência Ginseng 2 - 42 + 46 2 - hAPI.getCardValue("estabelecimento") == "" + true 6 <AssignmentController><User>logistica</User></AssignmentController> Usuário @@ -776,7 +681,7 @@ 1 Transferência Ginseng 1 - 42 + 46 46 hAPI.getCardValue("validacaoItens") == "entregue" @@ -788,1496 +693,13 @@ 1 Transferência Ginseng 2 - 42 + 46 46 true 24 0 - - - 1 - Transferência Ginseng - 1 - 42 - 62 - - hAPI.getCardValue("estabelecimento") == "" - 86 - 0 - - - - 1 - Transferência Ginseng - 2 - 42 - 62 - - hAPI.getCardValue("estabelecimento") == "LJ HIPER FAROL - (CARREFOUR)" - 31 - <AssignmentController><User>001025</User></AssignmentController> - Usuário - 0 - - - - 1 - Transferência Ginseng - 3 - 42 - 62 - - hAPI.getCardValue("estabelecimento") == "LJ MOREIRA LIMA" - 31 - <AssignmentController><User>001025</User></AssignmentController> - Usuário - 0 - - - - 1 - Transferência Ginseng - 4 - 42 - 62 - - hAPI.getCardValue("estabelecimento") == "LJ SHOPPING PÁTIO" - 31 - <AssignmentController><User>001025</User></AssignmentController> - Usuário - 0 - - - - 1 - Transferência Ginseng - 5 - 42 - 62 - - hAPI.getCardValue("estabelecimento") == "LJ MÁRIO DE GUSMÃO(ATACADAO)"|| hAPI.getCardValue("estabelecimento") == "LJ MÁRIO DE GUSMÃO(ATACADO)" - 31 - <AssignmentController><User>001025</User></AssignmentController> - Usuário - 0 - - - - 1 - Transferência Ginseng - 6 - 42 - 62 - - hAPI.getCardValue("estabelecimento") == "LJ GBARBOSA TABULEIRO" - 31 - <AssignmentController><User>001025</User></AssignmentController> - Usuário - 0 - - - - 1 - Transferência Ginseng - 7 - 42 - 62 - - hAPI.getCardValue("estabelecimento") == "LJ LIVRAMENTO" - 31 - <AssignmentController><User>001025</User></AssignmentController> - Usuário - 0 - - - - 1 - Transferência Ginseng - 8 - 42 - 62 - - hAPI.getCardValue("estabelecimento") == "LJ RIO LARGO" - 31 - <AssignmentController><User>001025</User></AssignmentController> - Usuário - 0 - - - - 1 - Transferência Ginseng - 9 - 42 - 62 - - hAPI.getCardValue("estabelecimento") == "LJ SHOPPING CIDADE" - 31 - <AssignmentController><User>001025</User></AssignmentController> - Usuário - 0 - - - - 1 - Transferência Ginseng - 10 - 42 - 62 - - hAPI.getCardValue("estabelecimento") == "LJ SUPER GIRO" - 31 - <AssignmentController><User>001025</User></AssignmentController> - Usuário - 0 - - - - 1 - Transferência Ginseng - 11 - 42 - 62 - - hAPI.getCardValue("estabelecimento") == "HIB CAMPO ALEGRE" - 31 - <AssignmentController><User>001025</User></AssignmentController> - Usuário - 0 - - - - 1 - Transferência Ginseng - 12 - 42 - 62 - - hAPI.getCardValue("estabelecimento") == "ER PITANGUINHA" - 31 - <AssignmentController><User>001025</User></AssignmentController> - Usuário - 0 - - - - 1 - Transferência Ginseng - 13 - 42 - 62 - - hAPI.getCardValue("estabelecimento") == "TÔ QUE TÔ MACEIÓ CENTRO" - 31 - <AssignmentController><User>001025</User></AssignmentController> - Usuário - 0 - - - - 1 - Transferência Ginseng - 14 - 42 - 62 - - hAPI.getCardValue("estabelecimento") == "LJ MIX MATEUS" - 31 - <AssignmentController><User>001025</User></AssignmentController> - Usuário - 0 - - - - 1 - Transferência Ginseng - 15 - 42 - 62 - - hAPI.getCardValue("estabelecimento") == "ER RIO LARGO" - 31 - <AssignmentController><User>001025</User></AssignmentController> - Usuário - 0 - - - - 1 - Transferência Ginseng - 16 - 42 - 62 - - hAPI.getCardValue("estabelecimento") == "CD SERRARIA" - 31 - <AssignmentController><Group>Motoristas</Group></AssignmentController> - Pool Grupo - 0 - - - - 1 - Transferência Ginseng - 17 - 42 - 62 - - hAPI.getCardValue("estabelecimento") == "ESCRITÓRIO MATRIZ" - 31 - <AssignmentController><User>001509</User></AssignmentController> - Usuário - 0 - - - - 1 - Transferência Ginseng - 18 - 42 - 62 - - hAPI.getCardValue("estabelecimento") == "LJ MACEIÓ SHOPPING TERREO" - 31 - <AssignmentController><User>001509</User></AssignmentController> - Usuário - 0 - - - - 1 - Transferência Ginseng - 19 - 42 - 62 - - hAPI.getCardValue("estabelecimento") == "LJ MACEIÓ SHOPPING EXPANSÃO" - 31 - <AssignmentController><User>001509</User></AssignmentController> - Usuário - 0 - - - - 1 - Transferência Ginseng - 20 - 42 - 62 - - hAPI.getCardValue("estabelecimento") == "LJ GBARBOSA SERRARIA" - 31 - <AssignmentController><User>001509</User></AssignmentController> - Usuário - 0 - - - - 1 - Transferência Ginseng - 21 - 42 - 62 - - hAPI.getCardValue("estabelecimento") == "LJ PONTA VERDE" - 31 - <AssignmentController><User>001509</User></AssignmentController> - Usuário - 0 - - - - 1 - Transferência Ginseng - 22 - 42 - 62 - - hAPI.getCardValue("estabelecimento") == "LJ HIPER JATIÚCA (ASSAÍ)" - 31 - <AssignmentController><User>001509</User></AssignmentController> - Usuário - 0 - - - - 1 - Transferência Ginseng - 23 - 42 - 62 - - hAPI.getCardValue("estabelecimento") == "LJ GBARBOSA S.MARIS" - 31 - <AssignmentController><User>001509</User></AssignmentController> - Usuário - 0 - - - - 1 - Transferência Ginseng - 24 - 42 - 62 - - hAPI.getCardValue("estabelecimento") == "LJ JACINTINHO" - 31 - <AssignmentController><User>001509</User></AssignmentController> - Usuário - 0 - - - - 1 - Transferência Ginseng - 25 - 42 - 62 - - hAPI.getCardValue("estabelecimento") == "LJ PARQUE SHOPPING" - 31 - <AssignmentController><User>001509</User></AssignmentController> - Usuário - 0 - - - - 1 - Transferência Ginseng - 26 - 42 - 62 - - hAPI.getCardValue("estabelecimento") == "LJ HIPER ANTARES" - 31 - <AssignmentController><User>001509</User></AssignmentController> - Usuário - 0 - - - - 1 - Transferência Ginseng - 27 - 42 - 62 - - hAPI.getCardValue("estabelecimento") == "LJ UNICOMPRA PONTA VERDE" - 31 - <AssignmentController><User>001509</User></AssignmentController> - Usuário - 0 - - - - 1 - Transferência Ginseng - 28 - 42 - 62 - - hAPI.getCardValue("estabelecimento") == "HIB MARECHAL DEODORO" - 31 - <AssignmentController><User>001025</User></AssignmentController> - Usuário - 0 - - - - 1 - Transferência Ginseng - 29 - 42 - 62 - - hAPI.getCardValue("estabelecimento") == "ER ANTARES" - 31 - <AssignmentController><User>001509</User></AssignmentController> - Usuário - 0 - - - - 1 - Transferência Ginseng - 30 - 42 - 62 - - hAPI.getCardValue("estabelecimento") == "LJ CARAJÁS" - 31 - <AssignmentController><User>001509</User></AssignmentController> - Usuário - 0 - - - - 1 - Transferência Ginseng - 31 - 42 - 62 - - hAPI.getCardValue("estabelecimento") == "QDB PARQUE SHOPPING" - 31 - <AssignmentController><User>001509</User></AssignmentController> - Usuário - 0 - - - - 1 - Transferência Ginseng - 32 - 42 - 62 - - hAPI.getCardValue("estabelecimento") == "QDB MACEIO SHOPPING" - 31 - <AssignmentController><User>001509</User></AssignmentController> - Usuário - 0 - - - - 1 - Transferência Ginseng - 33 - 42 - 62 - - hAPI.getCardValue("estabelecimento") == "LJ LAGARTO" - 31 - <AssignmentController><User>001217</User></AssignmentController> - Usuário - 0 - - - - 1 - Transferência Ginseng - 34 - 42 - 62 - - hAPI.getCardValue("estabelecimento") == "HIB ITABAIANINHA" - 31 - <AssignmentController><User>001217</User></AssignmentController> - Usuário - 0 - - - - 1 - Transferência Ginseng - 35 - 42 - 62 - - hAPI.getCardValue("estabelecimento") == "ER LAGARTO" - 31 - <AssignmentController><User>001217</User></AssignmentController> - Usuário - 0 - - - - 1 - Transferência Ginseng - 36 - 42 - 62 - - hAPI.getCardValue("estabelecimento") == "LJ GBARBOSA SOCORRO" - 31 - <AssignmentController><User>001217</User></AssignmentController> - Usuário - 0 - - - - 1 - Transferência Ginseng - 37 - 42 - 62 - - hAPI.getCardValue("estabelecimento") == "ER SOCORRO" - 31 - <AssignmentController><User>001217</User></AssignmentController> - Usuário - 0 - - - - 1 - Transferência Ginseng - 38 - 42 - 62 - - hAPI.getCardValue("estabelecimento") == "HIB BARRA DOS COQUEIROS" - 31 - <AssignmentController><User>001217</User></AssignmentController> - Usuário - 0 - - - - 1 - Transferência Ginseng - 39 - 42 - 62 - - hAPI.getCardValue("estabelecimento") == "LJ SHOPPING PREMIO SOCORRO" - 31 - <AssignmentController><User>001217</User></AssignmentController> - Usuário - 0 - - - - 1 - Transferência Ginseng - 40 - 42 - 62 - - hAPI.getCardValue("estabelecimento") == "LJ BOULEVARD SHOPPING" - 31 - <AssignmentController><User>motorista.ginseng</User></AssignmentController> - Usuário - 0 - - - - 1 - Transferência Ginseng - 41 - 42 - 62 - - hAPI.getCardValue("estabelecimento") == "LJ PRACA 9 DE NOVEMBRO" - - 31 - <AssignmentController><User>motorista.ginseng</User></AssignmentController> - Usuário - 0 - - - - 1 - Transferência Ginseng - 42 - 42 - 62 - - hAPI.getCardValue("estabelecimento") == "LJ GALERIA PANVICON" - 31 - <AssignmentController><User>motorista.ginseng</User></AssignmentController> - Usuário - 0 - - - - 1 - Transferência Ginseng - 43 - 42 - 62 - - hAPI.getCardValue("estabelecimento") == "ER CONDEUBA" - 31 - <AssignmentController><User>motorista.ginseng</User></AssignmentController> - Usuário - 0 - - - - 1 - Transferência Ginseng - 44 - 42 - 62 - - hAPI.getCardValue("estabelecimento") == "QQ SHOPPING CONQUISTA" - 31 - <AssignmentController><User>motorista.ginseng</User></AssignmentController> - Usuário - 0 - - - - 1 - Transferência Ginseng - 45 - 42 - 62 - - hAPI.getCardValue("estabelecimento") == "LJ ASSAI VITORIA DA CONQUISTA" - 31 - <AssignmentController><User>motorista.ginseng</User></AssignmentController> - Usuário - 0 - - - - 1 - Transferência Ginseng - 46 - 42 - 62 - - hAPI.getCardValue("estabelecimento") == "LJ BAIRRO BRASIL" - 31 - <AssignmentController><User>motorista.ginseng</User></AssignmentController> - Usuário - 0 - - - - 1 - Transferência Ginseng - 47 - 42 - 62 - - hAPI.getCardValue("estabelecimento") == "HIB BARRA DO CHOCA" - 31 - <AssignmentController><User>motorista.ginseng</User></AssignmentController> - Usuário - 0 - - - - 1 - Transferência Ginseng - 48 - 42 - 62 - - hAPI.getCardValue("estabelecimento") == "LJ SHOPPING CONQUISTA SUL" - 31 - <AssignmentController><User>motorista.ginseng</User></AssignmentController> - Usuário - 0 - - - - 1 - Transferência Ginseng - 49 - 42 - 62 - - hAPI.getCardValue("estabelecimento") == "ER VITORIA DA CONQUISTA" - 31 - <AssignmentController><User>motorista.ginseng</User></AssignmentController> - Usuário - 0 - - - - 1 - Transferência Ginseng - 50 - 42 - 62 - - hAPI.getCardValue("estabelecimento") == "HIB CANDIDO SALES" - 31 - <AssignmentController><User>motorista.ginseng</User></AssignmentController> - Usuário - 0 - - - - 1 - Transferência Ginseng - 51 - 42 - 62 - - hAPI.getCardValue("estabelecimento") == "LJ RUA ZEFERINO CORREIA" - 31 - <AssignmentController><User>motorista.ginseng</User></AssignmentController> - Usuário - 0 - - - - 1 - Transferência Ginseng - 52 - 42 - 62 - - hAPI.getCardValue("estabelecimento") == "LJ MIX MATEUS TABULEIRO" - 31 - <AssignmentController><User>001509</User></AssignmentController> - Usuário - 0 - - - - 1 - Transferência Ginseng - 1 - 42 - 90 - - hAPI.getCardValue("centroCusto") =="" - 93 - 0 - - - - 1 - Transferência Ginseng - 2 - 42 - 90 - - hAPI.getCardValue("centroCusto") == "LJ HIPER FAROL - (CARREFOUR)" - 57 - <AssignmentController><User>001025</User></AssignmentController> - Usuário - 0 - - - - 1 - Transferência Ginseng - 3 - 42 - 90 - - hAPI.getCardValue("centroCusto") == "LJ MOREIRA LIMA" - 57 - <AssignmentController><User>001025</User></AssignmentController> - Usuário - 0 - - - - 1 - Transferência Ginseng - 4 - 42 - 90 - - hAPI.getCardValue("centroCusto") == "LJ SHOPPING PÁTIO" - 57 - <AssignmentController><User>001025</User></AssignmentController> - Usuário - 0 - - - - 1 - Transferência Ginseng - 5 - 42 - 90 - - hAPI.getCardValue("estabelecimento") == "LJ MÁRIO DE GUSMÃO(ATACADAO)"|| hAPI.getCardValue("estabelecimento") == "LJ MÁRIO DE GUSMÃO(ATACADO)" - 57 - <AssignmentController><User>001025</User></AssignmentController> - Usuário - 0 - - - - 1 - Transferência Ginseng - 6 - 42 - 90 - - hAPI.getCardValue("centroCusto") == "LJ GBARBOSA TABULEIRO" - 57 - <AssignmentController><User>001025</User></AssignmentController> - Usuário - 0 - - - - 1 - Transferência Ginseng - 7 - 42 - 90 - - hAPI.getCardValue("centroCusto") == "LJ LIVRAMENTO" - 57 - <AssignmentController><User>001025</User></AssignmentController> - Usuário - 0 - - - - 1 - Transferência Ginseng - 8 - 42 - 90 - - hAPI.getCardValue("centroCusto") == "LJ RIO LARGO" - 57 - <AssignmentController><User>001025</User></AssignmentController> - Usuário - 0 - - - - 1 - Transferência Ginseng - 9 - 42 - 90 - - hAPI.getCardValue("centroCusto") == "LJ SHOPPING CIDADE" - 57 - <AssignmentController><User>001025</User></AssignmentController> - Usuário - 0 - - - - 1 - Transferência Ginseng - 10 - 42 - 90 - - hAPI.getCardValue("centroCusto") == "LJ SUPER GIRO" - 57 - <AssignmentController><User>001025</User></AssignmentController> - Usuário - 0 - - - - 1 - Transferência Ginseng - 11 - 42 - 90 - - hAPI.getCardValue("centroCusto") == "HIB CAMPO ALEGRE" - 57 - <AssignmentController><User>001025</User></AssignmentController> - Usuário - 0 - - - - 1 - Transferência Ginseng - 12 - 42 - 90 - - hAPI.getCardValue("centroCusto") == "ER PITANGUINHA" - 57 - <AssignmentController><User>001025</User></AssignmentController> - Usuário - 0 - - - - 1 - Transferência Ginseng - 13 - 42 - 90 - - hAPI.getCardValue("centroCusto") == "TÔ QUE TÔ MACEIÓ CENTRO" - 57 - <AssignmentController><User>001025</User></AssignmentController> - Usuário - 0 - - - - 1 - Transferência Ginseng - 14 - 42 - 90 - - hAPI.getCardValue("centroCusto") == "LJ MIX MATEUS" - 57 - <AssignmentController><User>001025</User></AssignmentController> - Usuário - 0 - - - - 1 - Transferência Ginseng - 15 - 42 - 90 - - hAPI.getCardValue("centroCusto") == "ER RIO LARGO" - 57 - <AssignmentController><User>001025</User></AssignmentController> - Usuário - 0 - - - - 1 - Transferência Ginseng - 16 - 42 - 90 - - hAPI.getCardValue("centroCusto") == "CD SERRARIA" - 57 - <AssignmentController><Group>Motoristas</Group></AssignmentController> - Pool Grupo - 0 - - - - 1 - Transferência Ginseng - 17 - 42 - 90 - - hAPI.getCardValue("centroCusto") == "ESCRITÓRIO MATRIZ" - 57 - <AssignmentController><User>001509</User></AssignmentController> - Usuário - 0 - - - - 1 - Transferência Ginseng - 18 - 42 - 90 - - hAPI.getCardValue("centroCusto") == "LJ MACEIÓ SHOPPING TERREO" - 57 - <AssignmentController><User>001509</User></AssignmentController> - Usuário - 0 - - - - 1 - Transferência Ginseng - 19 - 42 - 90 - - hAPI.getCardValue("centroCusto") == "LJ MACEIÓ SHOPPING EXPANSÃO" - 57 - <AssignmentController><User>001509</User></AssignmentController> - Usuário - 0 - - - - 1 - Transferência Ginseng - 20 - 42 - 90 - - hAPI.getCardValue("centroCusto") == "LJ GBARBOSA SERRARIA" - 57 - <AssignmentController><User>001509</User></AssignmentController> - Usuário - 0 - - - - 1 - Transferência Ginseng - 21 - 42 - 90 - - hAPI.getCardValue("centroCusto") == "LJ PONTA VERDE" - 57 - <AssignmentController><User>001509</User></AssignmentController> - Usuário - 0 - - - - 1 - Transferência Ginseng - 22 - 42 - 90 - - hAPI.getCardValue("centroCusto") == "LJ HIPER JATIÚCA (ASSAÍ)" - 57 - <AssignmentController><User>001509</User></AssignmentController> - Usuário - 0 - - - - 1 - Transferência Ginseng - 23 - 42 - 90 - - hAPI.getCardValue("centroCusto") == "LJ GBARBOSA S.MARIS" - 57 - <AssignmentController><User>001509</User></AssignmentController> - Usuário - 0 - - - - 1 - Transferência Ginseng - 24 - 42 - 90 - - hAPI.getCardValue("centroCusto") == "LJ JACINTINHO" - 57 - <AssignmentController><User>001509</User></AssignmentController> - Usuário - 0 - - - - 1 - Transferência Ginseng - 25 - 42 - 90 - - hAPI.getCardValue("centroCusto") == "LJ PARQUE SHOPPING" - 57 - <AssignmentController><User>001509</User></AssignmentController> - Usuário - 0 - - - - 1 - Transferência Ginseng - 26 - 42 - 90 - - hAPI.getCardValue("centroCusto") == "LJ HIPER ANTARES" - 57 - <AssignmentController><User>001509</User></AssignmentController> - Usuário - 0 - - - - 1 - Transferência Ginseng - 27 - 42 - 90 - - hAPI.getCardValue("centroCusto") == "LJ UNICOMPRA PONTA VERDE" - 57 - <AssignmentController><User>001509</User></AssignmentController> - Usuário - 0 - - - - 1 - Transferência Ginseng - 28 - 42 - 90 - - hAPI.getCardValue("centroCusto") == "HIB MARECHAL DEODORO" - 57 - <AssignmentController><User>001025</User></AssignmentController> - Usuário - 0 - - - - 1 - Transferência Ginseng - 29 - 42 - 90 - - hAPI.getCardValue("centroCusto") == "ER ANTARES" - 57 - <AssignmentController><User>001509</User></AssignmentController> - Usuário - 0 - - - - 1 - Transferência Ginseng - 30 - 42 - 90 - - hAPI.getCardValue("centroCusto") == "LJ CARAJÁS" - 57 - <AssignmentController><User>001509</User></AssignmentController> - Usuário - 0 - - - - 1 - Transferência Ginseng - 31 - 42 - 90 - - hAPI.getCardValue("centroCusto") == "QDB PARQUE SHOPPING" - 57 - <AssignmentController><User>001509</User></AssignmentController> - Usuário - 0 - - - - 1 - Transferência Ginseng - 32 - 42 - 90 - - hAPI.getCardValue("centroCusto") == "QDB MACEIO SHOPPING" - 57 - <AssignmentController><User>001509</User></AssignmentController> - Usuário - 0 - - - - 1 - Transferência Ginseng - 33 - 42 - 90 - - hAPI.getCardValue("centroCusto") == "LJ LAGARTO" - 57 - <AssignmentController><User>001217</User></AssignmentController> - Usuário - 0 - - - - 1 - Transferência Ginseng - 34 - 42 - 90 - - hAPI.getCardValue("centroCusto") == "HIB ITABAIANINHA" - 57 - <AssignmentController><User>001217</User></AssignmentController> - Usuário - 0 - - - - 1 - Transferência Ginseng - 35 - 42 - 90 - - hAPI.getCardValue("centroCusto") == "ER LAGARTO" - 57 - <AssignmentController><User>001217</User></AssignmentController> - Usuário - 0 - - - - 1 - Transferência Ginseng - 36 - 42 - 90 - - hAPI.getCardValue("centroCusto") == "HIB ITABAIANINHA" - 57 - <AssignmentController><User>001217</User></AssignmentController> - Usuário - 0 - - - - 1 - Transferência Ginseng - 37 - 42 - 90 - - hAPI.getCardValue("centroCusto") == "ER LAGARTO" - 57 - <AssignmentController><User>001217</User></AssignmentController> - Usuário - 0 - - - - 1 - Transferência Ginseng - 38 - 42 - 90 - - hAPI.getCardValue("centroCusto") == "LJ GBARBOSA SOCORRO" - 57 - <AssignmentController><User>001217</User></AssignmentController> - Usuário - 0 - - - - 1 - Transferência Ginseng - 39 - 42 - 90 - - hAPI.getCardValue("centroCusto") == "ER SOCORRO" - 57 - <AssignmentController><User>001217</User></AssignmentController> - Usuário - 0 - - - - 1 - Transferência Ginseng - 40 - 42 - 90 - - hAPI.getCardValue("centroCusto") == "HIB BARRA DOS COQUEIROS" - 57 - <AssignmentController><User>001217</User></AssignmentController> - Usuário - 0 - - - - 1 - Transferência Ginseng - 41 - 42 - 90 - - hAPI.getCardValue("centroCusto") == "LJ SHOPPING PREMIO SOCORRO" - 57 - <AssignmentController><User>001217</User></AssignmentController> - Usuário - 0 - - - - 1 - Transferência Ginseng - 42 - 42 - 90 - - hAPI.getCardValue("centroCusto") == "LJ BOULEVARD SHOPPING" - 57 - <AssignmentController><User>motorista.ginseng</User></AssignmentController> - Usuário - 0 - - - - 1 - Transferência Ginseng - 43 - 42 - 90 - - hAPI.getCardValue("centroCusto") == "LJ PRACA 9 DE NOVEMBRO" - 57 - <AssignmentController><User>motorista.ginseng</User></AssignmentController> - Usuário - 0 - - - - 1 - Transferência Ginseng - 44 - 42 - 90 - - hAPI.getCardValue("centroCusto") == "LJ GALERIA PANVICON" - 57 - <AssignmentController><User>motorista.ginseng</User></AssignmentController> - Usuário - 0 - - - - 1 - Transferência Ginseng - 45 - 42 - 90 - - hAPI.getCardValue("centroCusto") == "ER CONDEUBA" - 57 - <AssignmentController><User>motorista.ginseng</User></AssignmentController> - Usuário - 0 - - - - 1 - Transferência Ginseng - 46 - 42 - 90 - - hAPI.getCardValue("centroCusto") == "QQ SHOPPING CONQUISTA" - 57 - <AssignmentController><User>motorista.ginseng</User></AssignmentController> - Usuário - 0 - - - - 1 - Transferência Ginseng - 47 - 42 - 90 - - hAPI.getCardValue("centroCusto") == "LJ ASSAI VITORIA DA CONQUISTA" - 57 - <AssignmentController><User>motorista.ginseng</User></AssignmentController> - Usuário - 0 - - - - 1 - Transferência Ginseng - 48 - 42 - 90 - - hAPI.getCardValue("centroCusto") == "LJ BAIRRO BRASIL" - 57 - <AssignmentController><User>motorista.ginseng</User></AssignmentController> - Usuário - 0 - - - - 1 - Transferência Ginseng - 49 - 42 - 90 - - hAPI.getCardValue("centroCusto") == "HIB BARRA DO CHOCA" - 57 - <AssignmentController><User>motorista.ginseng</User></AssignmentController> - Usuário - 0 - - - - 1 - Transferência Ginseng - 50 - 42 - 90 - - hAPI.getCardValue("centroCusto") == "LJ SHOPPING CONQUISTA SUL" - 57 - <AssignmentController><User>motorista.ginseng</User></AssignmentController> - Usuário - 0 - - - - 1 - Transferência Ginseng - 51 - 42 - 90 - - hAPI.getCardValue("centroCusto") == "ER VITORIA DA CONQUISTA" - 57 - <AssignmentController><User>motorista.ginseng</User></AssignmentController> - Usuário - 0 - - - - 1 - Transferência Ginseng - 52 - 42 - 90 - - hAPI.getCardValue("centroCusto") == "HIB CANDIDO SALES" - 57 - <AssignmentController><User>motorista.ginseng</User></AssignmentController> - Usuário - 0 - - - - 1 - Transferência Ginseng - 53 - 42 - 90 - - hAPI.getCardValue("centroCusto") == "LJ RUA ZEFERINO CORREIA" - - 57 - <AssignmentController><User>motorista.ginseng</User></AssignmentController> - Usuário - 0 - - - - 1 - Transferência Ginseng - 54 - 42 - 90 - - hAPI.getCardValue("centroCusto") == "LJ MIX MATEUS TABULEIRO" - - 57 - <AssignmentController><User>001509</User></AssignmentController> - Usuário - 0 - @@ -2358,7 +780,7 @@ 1 41 - + Aprovado e emitir NFE false 4 6 @@ -2453,23 +875,6 @@ false 0 - - - 1 - Transferência Ginseng - 1 - 84 - - - false - 62 - 31 - - Alocar motorista - false - false - 0 - 1 @@ -2492,31 +897,14 @@ 1 Transferência Ginseng 1 - 87 + 95 - - false - 62 - 86 - - Processo finalizado - false - false - 0 - - - - 1 - Transferência Ginseng - 1 - 88 - - + Enviar para coleta false 6 - 62 + 31 - Emitida + Enviar para coleta false false 0 @@ -2526,28 +914,28 @@ 1 Transferência Ginseng 1 - 91 + 97 + + Cancelar Transferência + false + 6 + 96 + + Finalizar + false + false + 0 + + + + 1 + Transferência Ginseng + 1 + 98 false 31 - 90 - - - false - false - 0 - - - - 1 - Transferência Ginseng - 1 - 92 - - - false - 90 57 @@ -2555,23 +943,6 @@ false 0 - - - 1 - Transferência Ginseng - 1 - 94 - - - false - 90 - 93 - - Filial nao identificada - false - false - 0 - @@ -2665,7 +1036,7 @@ 1 Transferência Ginseng - 42 + 46 5 1 @@ -2676,7 +1047,7 @@ 1 Transferência Ginseng - 42 + 46 5 2 @@ -2687,7 +1058,7 @@ 1 Transferência Ginseng - 42 + 46 7 1 @@ -2698,18 +1069,18 @@ 1 Transferência Ginseng - 42 + 46 26 1 - 1422 - 528 + 1223 + 517 1 Transferência Ginseng - 42 + 46 61 1 @@ -2720,34 +1091,23 @@ 1 Transferência Ginseng - 42 - 84 - 1 - - 789 - 717 - - - - 1 - Transferência Ginseng - 42 + 46 85 1 - 1332 - 316 + 1149 + 308 1 Transferência Ginseng - 42 - 94 + 46 + 95 1 - 1068 - 627 + 543 + 717 @@ -2815,7 +1175,7 @@ 0 0 Transferência Ginseng - 42 + 46 4 approval title @@ -2825,7 +1185,7 @@ 0 0 Transferência Ginseng - 42 + 46 4 approval description @@ -2835,7 +1195,7 @@ 0 0 Transferência Ginseng - 42 + 46 4 approval highlight @@ -2845,7 +1205,7 @@ 0 0 Transferência Ginseng - 42 + 46 4 approval approve @@ -2855,7 +1215,7 @@ 0 0 Transferência Ginseng - 42 + 46 4 approval reject @@ -2865,7 +1225,7 @@ 0 0 Transferência Ginseng - 42 + 46 6 approval title @@ -2875,7 +1235,7 @@ 0 0 Transferência Ginseng - 42 + 46 6 approval description @@ -2885,7 +1245,7 @@ 0 0 Transferência Ginseng - 42 + 46 6 approval highlight @@ -2895,7 +1255,7 @@ 0 0 Transferência Ginseng - 42 + 46 6 approval approve @@ -2905,7 +1265,7 @@ 0 0 Transferência Ginseng - 42 + 46 6 approval reject @@ -2915,7 +1275,7 @@ 0 0 Transferência Ginseng - 42 + 46 24 approval title @@ -2925,7 +1285,7 @@ 0 0 Transferência Ginseng - 42 + 46 24 approval description @@ -2935,7 +1295,7 @@ 0 0 Transferência Ginseng - 42 + 46 24 approval highlight @@ -2945,7 +1305,7 @@ 0 0 Transferência Ginseng - 42 + 46 24 approval approve @@ -2955,7 +1315,7 @@ 0 0 Transferência Ginseng - 42 + 46 24 approval reject diff --git a/Transferência Ginseng/workflow/.resources/Solicitação de transferência.png b/Transferência Ginseng/workflow/.resources/Solicitação de transferência.png index 9b162210ca761c327123989fba5a2b538d4ff39c..b1b8e7b2ae993aa9a01ad6f8bbc16d1a76c8d05b 100644 GIT binary patch literal 40397 zcmd?RXH=70*EWhGq99@e6r@-X=_&%!MFgSa!FSltM=if=`&U9^R#(i2HEwuB?V@?7}c@<(a8CE>8=G(aRO)qYv_1E(_&E zwYIg`iY#Alm_JL+;CN2?4BhJq&QF#}*A;!W-!dP1bAaKl7)|=?$A=CGLhf?DeD~(U z!Bgm~uxpB-@|5XFE62>G1^6uOu1acFJox~< z&zTOTM%;@^qymsYKM`s zfyDmGnFvv7+!1i>6koq)sz_5I$^WDFUv2_-8FMF*`c5Bcxgg8wf* z5Lifs%rp;Smhz~ppP4qkc3FFJrosF50l?SuWF_s;awmhc@!8Q*Fi4_+4l_yZFqz|1 z{F<^b0U6ek*)j%JuH%hTKZ2E7=^h4=Zc~!KZVa#Ia9-T_xqXl5qe1?F;~g%I-(oAMO;_L=Iu&N+NfU*Zf@}Y!-;^_boM)OTQ&Q8wy7j4rAe8l zWK9A2;pOp7RA0}wi}4|=CMbF1@2_&oVv<(FdlmR2Vw8V!_?>ayEN&ac8Rk~+ld^}N zN{%pQ?ru%BEWHzeU$==v4eHit<&&lP{K-A#&}dDuB6jA_p-IxES?gK&LxcN-PhHlO z(8*L z9n}ll+u=>r1{E^<-F>+;P&A^yXWPBdN5pJT?Ue;IWiflI^+cm#V2hrY`*dphd~XhB z!87ZmPsIL1t$doY8A#&IJD=4xbje0>d;N6s9aZr1>iJ%oj{a@fXR4fwdt6wmfb+Yc z$H|T1rIgz{(T>rU6gC7|+4=IWD- zQaFeSA7+Pk$T}bneT+L}PyV0!lf@yx1Q?P#;oxlKXRwjcvK^=Q_aX$*4Am1aLOo2y zc4-5~16zMHevGUvW@+n6YW=!EIk@5mNd^6fs^0I3^gFMYEYCurK|pysezUp64v{EE z<+U&E?~u^@nY_vAIJ?nZ_Ex^x#C;tQ;HHIYJH_g_z0(klNwV;zUM_H$O6qg$tUiJ- zn;EHS@cs@&OQH8L!w0Qdpr~1&?xW%E*pNSXn0{oYTRWkznm8Jx+fgfp8R}f8tC&x&iP}P39wsY-!)GlFzoNOOgH@S$4JeCw}FltBk!iwFgT` z`UOYbIpxWU^IE&yM*}DnJB=>Jbg)FGSJGz}qDEHh$B`Kv-NMkhH0y|R(nwA%%3%aMb=AqRbMRVEj@Uuem)BGs=&dQ@)#?sS$_b$nOM%?1jxna@2;Gdw!>Os%l zEvcJvhHRjp+>&`9!&^f;w9#|S$n}WPTX_G^SZU|wFhO>qrz0;-Mb57WrJ+uWV^>Z6 zN2E3ewd3=R3Er0kq#dS*S@UoaNp~XfKd`JMW^nc?>3||dEBWl#A1tEmT02d-f+V-s zu774@7ZwpJwlMV;nhq`VKkq%>F-Ve!_3%09VvKUCi%kf@qsM@v?GsRz4`r@uTt__H z@{?2b#{Y5@n!yg2B#^MO+UK3HEkf*G=7tMtR4f(wXk**a)t1{dMrr|MXVqa1JVgD{ zPm3NeLX&#^sOvaY6fMSahq8fP;^{BJcpU~pb#5N7k|D~gA@#+{%7}dt96buXv<_sZ zVBq;H)~ukxq8`^UhZ2*rwCMhP-QeAGm>=Kf_@adOuw_l={y{{mGy9;2-tI0)rB1{R zkQRAWqYA9C$t}sd5;NP5fKIa5uJYqY`5N4N)+uy4S;2H|hy5*T^&58-x0;w&?Ho9n zE7*144%TMdK?F(4*u!Qxm{nEuPDlPeQ&A}wAVI@kRuODKSWly#{uIY3Dz=tRHud3x zA6`&0tT1g*|4B3OVNbJemH}V0eG)l2L%$*`x$`aYbbP|KOG20QBCFi`cPFu;H7K_a zPmrn#@_TX$Jp!D9r~s>ID3d&0tG@SSV`NBFR8;?w&$cYW&Ogoa5;)H=#DoV@?Re%j7@+E3${MINA*+WR;+KPH6&T7<7 z#aw0b{93Kt((d+RUc%K6O=d`sO6-7~go~tF!Xy2C%07THtE;jY|IT&;WqdZ zv2BY*@U55X>BY57#8wz}r2L@y1tnr#Fl)&2mq)z&3-gaa2~!JE7HvQ*`Zr2$w$Uf- zj^~9b)K{l97FkajR{X;FvhR$A_ZqR8G;i~5ZgxxDKw&B#dF?NsNEU#!4%=nuF!9+e zjI$7H)gq<6=X_dx>Z3NBzEC!>o+Z3_Z@?07w4R2*rIr-X&IFG^U zV{y}!5;x#C(f*{J+KTjgjmv4W#`)+Y>gZ2#al@^st?voc`hL}3^(E$`=)CE?gu2a; zU&anQ6JUX4RLiibhQtuy;$F~MaMA4t-O=Q~0%aFy$23>!#Cv4`3@nqI+^2@?dU)-JQwA*&q0$Kv<&xv{c@(Evm zJgSZtXn`hpVVCYErzg^><{WjGAhpGqE*~Yc;CLT|I!74dlKDm?exNi*z}3E{sijFl zr`ma&scq}q=k_mw#JeVGLwO6u!9FJ6#eoo4plvBXnT-^D7@P9Ghj^OgFvn!XCBd_j4J- zJ25R7OJ%+5b6*DA0*Gf4Q+5yugfF~%5m`e?GnBa*z1wlLH};xU?HB(W^zvqnfl9|? zT>E_W+20b+Je5^{)e5t!aBIT6_sd)sOR~`#%=OUf8TpksbS2OZ={Ynk-rBt2O@4WF zCtGs-EwAq9=Nmu_liKmGjjS$pGBh_NWx0EFo1CVvSPmyVmXXoxYT~uCwTf~69!|fR zn{43jgU+;2Wm!w1e7sD~#%~wg18n6m%rCR<){f&)4kUaFes`;XP)1@k`m~+U+0a#GHkXg zDp=cC2oYs}r!N%YMQZeI-UX`5hFhfuj9QA%(Lf`EX=}SW#dewaSUV{3z^R6mO?-R< zSM{7-^k-|9?19ghWTQOmrWAKqeh`c+Ww2d7`DHtSj7)4ZK5cotj+ZoRJA}>`4H$;% z<+ml(mEA3R;uhrM5aPj%7e5h=*boIT`uY_dRCKdy1HZeie8U?#2m1U;DD||tdJ3DD z`7kHkc&$6I+PyA-SHyaF#dUhs$dIsZ<-6IATHGnJ%LyXJa`2wNC+=dlvK5hMHa^`X z&zttv(DSahDkzPu2L0h>kS0$VFnWlzM(89JnKyA{m*_GUp@3GfZt_8*m^! zAjdqoMIrn3)z`&ggZHVFR4SGV#hT4!cF>r97^+H6;8IvPthCJUt?tqbM|K+6TSO%5@kOg3)0isl7UMa<9ZD8)`WWn|?vAp5J}x z-8UWdHq)`|SHmr{B&+r<66;L#PdygX-BY|3vE?zMy)RrC@;KCy61bGR_xDQljsTE; zMW`$aen1lMT3Ps_fBm7a9U2`T*Cr^RVp2{I)y|0pyDuK=FVRq{m-iJNL?FCgQ#w*L``L`n>W z)6a>8+h|_)41C@iGm@7nEB1!V>d9?;WUK3<2BH@Ti6R4}RjtFO8G{Z5+!r+^Ack&c zE>O~3AdM1?8p-Rpj<=I0Hih$QGb!ZOqZGsUTMgZZkh$vk>lcMfa!(XT56}ZTp_iW? zfmVEplP=#ltj-{F=MdgL2yGBLAmTDr|Lus@rTsGWBFKboEn)JZu)91zX(+pHY`;j) z)K)p?;pp9%>yiHk=0eQ3N*;mgB-->%3^j?W>ar5pG{K>RH|(8?{ah&qNo3*+B3HjC{^??e>E3R@Ls`l9;=QZ)FoX?*Z@<0rQJv7YT@<9CJF8@}y zY7Xb2q-O@0t?jY{88soR>}HS?`#N0&6ow@-xS0xRCZ`?*mi$LU_pFM(A*l_;k?@)M z9gT$Io?boVw~^)PQ2os_P*%NC1(-=AC|3QCl|6d8qj>Jr-QN##%EDX}5TYPW%~k&` zDRQN6aHc2;WK%$j|Ka)yq%|XUfPO*pFSZ+5b8G5Z*Eek!PY=6+ubv+UK}GN504izn`-L*?NZnT@C&sARHnQ>F zgfRP}LE$&UwMh$oqnK3i<1U;HeEvxmSj==9cE)1Ee-f&=$6*)jRGj>k@^$bv1>O7q zb~Vcfk>4-=)P0g9LDs?!4&YM~&t1klDLc)OPn7vG9jLoI)BCx1%BaJE7>-rmwRrbt zNfLZ_+xH0cg8Sb*%Z1XkUiq13^@o^`#%rS_)!sk6b)HD>iT!B@levEXKRbC1x;&Ay zd^di^?FFgOn}?7c)~CG6|8RT};y26rAAZ2W{8ZYQi~b{rCLc8Dft4%pto|(>kncvr z<4z^tSowSJ|5Jzbl>aR{TLW%R zGV{CpU4OqARK7{_lg)zf+$T0P$z8?2Ujx*c@x!n)Y-52TkKOFw$8|25u@!YY^#1w3 z8D8RGn0PnaCHz~RfRDH<_}A9|OCt{N!IQ~%HvacR{Vz@2*W>?R zzxeWXSxk1tQhDHC(82vWHTK;c_Ux8Bgwyb)&RmYoWzz2Qq_oywcmuL0tBJ2r#@@o& zQBAXB?PbN1-(ARmZ212G$^Dg*1)hwAgxfBAI$+zvZGo22W? zrsz=apoKKA64m{q9!FyT%>x%qrC9OUFrkhdX!M-TLc2Wsp_D0BT8_Drf~GvwDpvOG8M{E1hO zEH-14n*NJit~w1jMs84?)KTz=RhOsm*5B{yfR~+dM)~)W9_!BxlKVJHep*-l<`thF znv^}#vrVX`?TJje(|qc0|KbIp4n%dw{RmUM-VhH2c6HRmraqG)=@!^gIM0{4CKR zv8ELKoeyt6IBRiR@aSQ}@cFIrSC>MsR-NvYLc$NG#?rVp- z_f{>Y`I)Lo(A>*7iTuv-50S%k;*+aPqlw3B5(9}LAqveY>7-n5qN+p*NkpI~vl)89 zYY%Pv;}Q#B%lfvtPSnBEeK~|Tqc4yTSMRSAf6n-h4r=V~FMb5tl?B+C9omHo9dW;? zT zdQtvAsbI&&Lr5PD9snmLIN6fg%};Ltotz7O#Zd(B8t^}M&S4g37esv4b@5N^<$v7q zNhscPjupcJQBL`9)Z`9L;X`uGLV4vMspQLI?0`&s&>P(ULQ>ufc*(*P8#i{b*wPTe zEbf06kj01`wcT5CPSQ0YoR_ICJ`5}0(LOA_-rpB;_F)Og(j2+i^xVtQ7Sg_SH`u6`@-iJ*wR|r z3S53jZJbU4iM0;JuQ6iAykzSBh4;kte6LgDQjHgPUg*~jl60v*S$ju2|dw8vVlx|;RVeQ`vmW^*KAnTW9p0f>n;S^eZ~RKmDa zt6;zK3I+z;MJC7O1S(c0-ULS0kC;T?1qkeG<2~P6U3U~pg`_AvE}Ov-zI0PHf(NXO zR6(Uq<|bAtq^D$`bLjZhsBXF}*7_g!Qc?=G1@yLtiHG78m+QLw^b|k3hTzS6^$9Y> zdUQ3%{-}{*z<~7?0V8qZ%dm`w*le+l4vP@6X+Jy9&$Hu+a*?b~59^}A&av;Q;Pur^ z-+9TE4V(Hf0CcbaE)&R-%w0_Zh9{^&aXFYnGxUD@|3H*lr{C){Y9705=+$Rp7v~N$ zU+7!1erku9nEgDnSfD!BfmX5@K1--RacM6&kV~u439>a&=qavDZ^mdBKcrqJWPJ`z z*>xZUTO5Y21VGW|LQj{ndXLR9o49Yj{yYk^YmfD?HMSO8Z}Io17qpdd%&GFeX6mxw zan}H3-ggS_?WIp8rDOUvVS-h1te%MnIqZEza}Zu;w9YHlqfl`6_(cg3y0>FR$?2`; z6B8*ZrfQ;Z&qtMw`NVCuyx}rJHL%s$Blk|8c#-j+#JIZ7%ojac{hK72ZxFUpq$|A| za>yQ=8+JO{dnf&I0DhsQI{chWwRFx~R*%UMkC~h=?%#9!aDh7igp6%QCQn{hObJjJ zvOHD5?iYCXw1@HLHGu9Ei7CfR7FqFORvRp?C}ToqQ0sAzts+Azu3@W8$Nuqn+l*Ym znhth|1DBDxx4g#*Qy5Idjjk8<_AK_TI$b)%ucQ{!_12f3+lWb6$m~8zYA49k80%(^1*OAODGfcJ?(TK53$MiN~uS9tgcv6VvOM1H8%zPG9S97)&IMJ1q6g@`+7s zN~C$J@;s`IH~VABaMJ=wt$@(jtvrSJJR8`B|bG5v2Zz49ZaXG!mFwY)v2=7!nmTK9$GhDEVnPoAd; zK;k4;J1+E#ZxBj~6C%hhw+FQQW!2tc=j`)c6g+u6zFP!?4e(2Qn~`^I{uLE-nlPo4Z!C}Y5H6} zS(qd114ynxXt}U>jDsvDb>hAJ3{`?BqtUib@?wY%F7PVBfNPm>HypIDV!p2kwX;Zg z*lwWc}cR>P2NoN^~ z?@Q%XZ##cIGq*C=W-+{$!+AS=#!r=Bay>rFO9wHYYfWfoItqQG z2R!>^Q7_v--sBrF4FVXinPcr;exHf+8lzN;F~}LK^r|D>z!_5-kQ}GN ztpagw>rOY6=gJzj44W(V{lcVmlHOT$_UwlME3z+ATQAQ?MGvw`+RfG!WIzWv8(1Z0 zN(*K-3mvdi-+J!n*I|137d3b7MXm@8=FX(T%p=341dDa^FB!H*Oec3+fi|$(c4RaA zj1j##tJkZDGnH;qBz({8FJJUd2&##m!z+CY{o1*Nl+m-cERRAEWj&5d$ zc&!Nrepb(6vv=B>8{a;9`iAK6nXHoRYH{nG=nK?!-Y3pN04A-JhGl9(dq3{*k%cXb znTkAZt^WBTJ3?7TDVwsx+3fjav`!z-3G@7#EB+y6DfrF^;cez~tMUar_tF zb8y^GSTzfC+di!vubc1I=zJ{TsDp?^wqBnSBA}uN;iDnT;{_EtRCMb^{*z>wi{Dyu zJ}+TjZ!xxDrf@UgrnTl{zjfZt&n@+VX1v;kJ;eE*BT!z2WS3rzd%GShK21nUv$#2C zXtdYxP7`OVOO-*Zu%m>2UUwU7OZDbCJt%OR%Q<#IZK(xKb|S(%mDZo4yfRL_e`O_o z)6wLk-K*wyJ*^QHIIsU=$W<$$3LEy`kPkTGWsL2Ti_BC3x>tMo$47K;PI@LmUigCrk>v+AswSk zN={`ni4#|nQ&_Jm``0!YD&1EYGZ*DPT(j+3l36oAL>5^QNd>gk43g{QY=u@ckUPrG zNFuzV%HfB_s%$@A*y3}ft-j;JlYVQQ_48X8Y<@UzSjW&>bk3kvs9ph*E&J$Tk>;p` zdb#GNRrsQ{H{Y{%>Vj%%IVBh*)O{rNPPCYn>yrIy1C0fLvtSNruIrbXhmv)!I$IE8 zVH*AUW3Iu~PaNRY*sQMOw=f@^OUc*|1)=0E4Z^0wkU(>`%85*em!#@em5g&B+fsfnI3S7i>d2cTWG{inU zWrp>n>k24aA76`ZjS$f^=xg98>OEO1%)(b~*=jgXN{Az;8thY(&7E#Uc(}6mvh7`1 zqfWC&vk#iBI7`F3zvJ42FCQ02HcxGbTcK=oWMNsUH2fN>EhzXMdG&BY_-N5u+mQbJ zECbgVJdzoXxHdm8RG2*0IxjQQ#~f$yOw3k&$^O=+G>eltg70N~c+44va4o?vd21}& zkDQe2ioFbEpd+}`Y5rw{?|zseD^OUxuf&ZIET0b7FgJ|;sre`Wn?fsd?aOTEW0xvP zzU)IO1U!3%SBAe0Zma2nROQn6qUk7M7snKXZzd5DyKBq4svTn|(-NHP**sn)uo)$Y z2^CnX{mLG7RF#F%{w{qLZWW>UhWLm+hDR7PEgEnql3%GhM~X2TXI^|tSCY~H0ux*4 zfBXYAa@csc=*c&4XM@3Eqr1-IXpr~V8TH>`eN4Ec870+r?zBy)U+Nj&c3p8@*Sy3NnM23MwANvy)%Gea#!949eNydo@)b3>W65V2 zN>CT`JSBZ*$kmGe>GaP@0n7!>p&2VV56ESiZBfLaT=Y2&`oY8Q$Dtt=mXGO&rAdl` zEKa395w&fIjnfI%giaYM)Nz^h$`#}}#bdNGCa7yRdegxYNkvmV`nB~r!|>6wB-phT zkn>G1UGKIj>pw%8L*BZ1MGsQbXIEn~krO&2%mcTxb zK`)(u$Lw)2>S5ktq}jWNE=vXTGRI$9e}#|LIF>JoYo2O1Bb{-K zGbjrl+$?`+{C$IHoN&?#!uwLh%$;`65j_KG&!JS$SzV8*YiA9;yGx%5kiHc}FtE&- zfEq7jBbI)*>&@tbK;q!?yrPRJ+@qx3QzT=_PZu+vL*ff_OV-Pk{B}mzGQ`oX0f&q#QBqHK)45st!DCG74jRd_E<)*zwLeJV2J$t&!UTmt1+ z3!dC7G(wHP%3VE2&3=j?`-p>_S!SJ0j%awTJKopQG#}B^@__Ix2z`gP>M(NLk7}(} z-pb%oQ6?qvD74vUa%VDNJ_*~GpjXjDlBocihpNu^6Thh%I^cy@Ks&%+2u59I8=>Tx z|5{+zZs9Y0eEpcV{zG@p4qKptgFy>QMoA0DH-(KvTi63>mGYbOKNVyk8`lRim?Em& zpSA}&Vyv7}cg||%^bfZ63?SX{$GE%KoiF%`=8!y1c|jTYN+nt{tNMBf3683f`tIpG z<4f?gv4rPr)lDkEMd1>&HZL2JK{=sxr65rw_wuk1K1|@2DZL%LK5fZTezXz)wza{0OFBrp+K)(qCmpg$?`yR=LltrurK<{`!|aWlo}ORdf{~K zd}R$@x~_VserOF3RO2`{vpWL|M;tsaoXuLg-O5o^NGSzSw_eVxRW|4^JJaE6Pt6b+ z@GR0HB$5^yn5Qwf@>Q%M&Jgn9+s_X*SE$=r^eRt!${*2mbTZMt(ye^y=EH4a=z;QH zu-gJzOpHEK?(|_K@mxl~+|9E22I&#GFWZf%?LmCKB-uvT+y`GzcGV6o{s6ONno%u+ zay6#husg&td`w`$vP7gn>yU@t%ZTI6#-fj!>cYUN%wZ^KE)8{{131WlO-H#bPaX}3 zID{rfOa~Yg*e#y!Z!omiZUQDm+R@&A7oHyO>8#GG7Z)H@ zE_djA{f>=P8hJYMI?rx;$>_=nd;GZhx$2VoTlbF@!$->aiWWC}*?&Cgp+?c`7LZeZ0Zci_nmB<=*I_I@5 zd>b-5z>_1}KOgsw;w*=;r0s^k^xC_2)~&kF4Tc)$m9}})2`bbL@-{(OFBu(5N#u4!E#$$;|@j0~T zD&49!rnNv9%P+!VyOg%J!*SZkqw1Q4ig|a&uIqf8#LOZJ(Ki;(m2iqMa((4Dg0$?t z?7=JjJ?xAR`a3mpTo|e(;IHQ}x%r+Ye@6SN0j3bMt1;CJ;g=RL5dHMT4LikrE?FgB zax>#yLxf@FrwHJh9Qys3R1GR`Vo`S~^0rU}x@@uXPEcEE~#vCDD(dJjDiYokxi#WCurUyU2D2D3qrzMjEZ(w9F_~ac#)R z^&6~6B`Go|gT6}i1a*&ex%m%S(B}yvE}#5LL3Z5UtEE4Or3P#FJl1G+k?_Sbj?Hvu z)G>tT#THGbHrJ%;9&jUoO^Yz)HQyFh#9eOKchpD2QaEgS#C@@vFkOJAJnm}tGpPmB zEiu1HSmI4h7s3tjZk4hSyibBl8e{-(p47Lfo_*-ULr}XTJZxy4A#F?&EtDFGM{Gj&)yU8_{r>{u;L(an6G~=Y3ku3)>(-%SQ8b(2G zQf<9h$5&z9C-R$b&`Y7=f~^TM%g-qT_zk3&zV+c=m;P>kzzHoD!x}deLAlyf-{(2? zdcoqANw2MKpVD`3G2`@TDM;0?2zdrdHEnj6KK-=#=yMXq68Zy!3AgaGZiEGO@tfUd zgcpn_M=({@HXstTq6V4Yd4`rJ=02%iFbH)=tRnpsr}KYS_*#hCVs0T!w(PL)6tgNk zOcUP)m091^aosI<4B(9{sw}&NlJq=*No;L3q-`HPGu(D%)++&TCdg?VTiwR_6D#=t0w+Zpf7GdTpnLV>`KVqnif@(8NIItya5@b@7i>v_Fi4V=HVl`DKS0wz~7Feo$=KggutCb>R7 zUK=>rHe{8<{%h$TU8pTF>L{oct9B}EPWC(5N-wn#ORwWhMJD(pyNh#8O&gDHU>QTG>04M-^~+>n zhJ>0;QMl(eZwhjDB2kW=O=fq~W2y0ru`y;5u{*<+s$z%@vip$j2~;rprz*w=U3QwD z^?eo@vmiX}H#U{|Uij%QHPXK%ggErV_-z#nI?-MhBPZl5c#XDQQjjpeVO*EsQT!}) zpb~T)^~4#SYk$0pq7~@VZI5-G*z{OXJ0FR`6K|IX#Yw??L%b@NT0xLoE|I_d_C~X< zNcZZKMs>xk!4uhTq_u^uj(H>RvWbTLDZj6U4(soyR2hBHOM^qt3~g^=)M(qQNKPEV-}3tPu?$Sr0Epce zjXhT&gMXu1KSGD;$mMWe-#A&8mtJO%thKNe;2U)^cX^9hGx!?Kn&~i|-#JC=Z;^92 zcL)2ZF-JtXJx9oDYp>MrFyC63-#(eM9f2rXYB}i_!h0!#$zd=II!SUeqY#yKK;kNc;9|eTYEYK7FVCq+drt?#`5z!;87jrdFj0nKIkE z0+7YT)`j9aUW)TYJJDR92Xtj&nO9?)W!#L$?RV?r%id*}%$^I@TLc)7uEkoVL6Tm6 zrGmtG>m84?`1|Umz!tkBH-hG;jpe$#!X$KRfde~#n_jUPNyD}hX5zM0x;42r=*x~MLVirx zCFD<)*%Zvbykt~SEM?avS4X!lsQuIYyJsRMtuZXkB}iThv;&jx5m$HM)sv?*Zu9p2 z_N>l!Y`{S91hRn`2`qUQ_NLKr&tx*lMDQcF2MiwJC&@Bk@vNl0KnqTZRYGk|ko>g{XYjZqa+j*uFn? zZZd+tJw(aSTXEA$zLhD%o5y>j(*66-C~ox(Dd#5c_E;Ca%{8VrabDL9_w8E0W;H{Q zDXbh2#j+l{aqVPgUQN*8T=u3tX|>Y@*^zn`U|KTS z0HltcNTT13qJ*=TfxEUGe{U#*U3IkGNH}q{>m!%~r6vV4BQ4=Cp7yVGo-a=FGvKS( z32s^k_ z`lq=@O53Gt)N5!MVw{ZZ>nguVX{N>D>|u|(1MM%kYK7#zF^eJx8^L#xMR z6ODEQq%H;P;U?1pnrma7dR{MQNeCX3tDV9L=9KL;Y%4@q=%)`)HyhHTvWdllXmq}Rp=t&DhbtFfyR8&3}1SNU-d3k z*ewu_bR1zPe&-q_*#E2o?Tez45;cI9@Ly(vzgkPQD7`E?Ds$du08D|eStYw$P*~1*lgbucGOZqT1ll`YALdf`$aiu*7C-K~iu9D@FBsh@4%(m*>1L0I;HydVef8{sv5Cx2vIM zJ-Au=cupL7Y`U}uHu!~7k^e04Krt?dkf9Es8VKx#vxjZz*!UCTRg-u_hs|nm-! z%{k0WSK{lszfH~eFbukRs++{=)+&CfD99)(h;-&JE66oZoXYLb5V$i*~GBbFkay;()&Q07}pNpHv%Ir&(WQbl|N83ne( zWVXYuDG|HiRr96^JI$T0nI~moAQZTLiBiXmtE(WR zBCwA(k8*t|UitR@&G=ey?b~2#XgcW$Cs=V8!61GQhJR*pBOlGY`&N+vN3k?T29LSwuiZ@}= z9Kx9nFq!Y zEA-mDr`bSZ3xA1*2QeelmbVP4p1 z<}Bw2=V&Ar!OYI_uFMeci7*>ueA-wq*%y0ig$^We2xDc2%zNZKM^~qEUdqnQ3t5;m z@?+XeXJWeyL-8wfX}H{Rkcn}Fck=jfY=#U1IN6H=!zdT3cS#}WDx_6;ktz998EH02S z>()|fd>VFC#^G0lzFpRch|byUXCTe1_dZW?k&GpFZbY1iKU=x?WQ2PacgT{_o(ie` zg?l&NE0mbk8{sj04&0W!cLe%078J8iu7tkm(F%Y)>g!h&JTb^RVl|Y?CW36o>o$k9 z2z&qf(kf9fK7Fpgag^3VQf+kpRg9o9R6D^d5hL5aO58ZDLZh1cyAS18Vq5-nwT2ou zWv*W0wcVUE`b@5Fy5{{#|6Xg#p5nCu34pIedlrDO$d=f22+2GnQ4xDO0 z?+R<5p+u*rVc~Dj-*9Ld0{3|V_IRHUG#Hx?Hhk{M3K5s#?{iYoms+%N9I=myXwlQL zJIe#H`NTFs;B9N;+Ms`XE^K=>M5*eUX?+l3X)yAP@R=_=3saGi#ku1{j@qx9 zUy2iAWLPe>*Pmk(V2g(nv=oj)6E(j(1fd^)h$c#DpA3cw7bR=~BugH6q7plsMP+FS z(QMhOhl@Q~D<(%tEa1wvbjk`Qi0f8*;tuI}mzbgl`nLQuxGM((|*v^CM= zWSlO*OZC9TUJ}P9ZrS=XfMUCru!%Jd{=PGGtioJ4vBzy4jVaAD=XF{X>`IBHJK_b$ zC0%Q{MbGFRDfszlJe^9e!Uz3qooeO@I}>Hkifnp=$cw_)T#&4sDI>T-=>4!0$)^HA z4SEe{;QGYm){I?(4qRn*7o*6ZuzGh6)@<=s|Dy+NTnxvc*DM(2{Hs)XyMCRWvmk5( zLHM3}PLV--c3j>=Ckrp%EFR@C{LR}h%eeyNT(3$&F+85zA64Svk3iLva!Iq9j2T@CWdqS7@!l;%ve+N3FBfCY z9Tf#2!=a?>Oj^bK3w=6kliM*OXV_4YJHo9>>}xG zts=?ZMmn5eyE(EzbOx7cvpp=eC|?57(GcX~DBWaRoiPzM>&y4Ii z6Px`#X_uo&(qiZtDK&UKl0Az3r|v1`Y3=y{zS^C_#dN=!Ayk=yuOYWZcK!3<&(uDAmH;)BR{&~vMFSs7coZCASTt)(fPfo-d&2lalQN87Z%e|#peori$V#kUX8!XMVXRmpmPd)X`W+Sy!sKHW-VUh zYR5g+y>36h`Wv(V_I4NB)iTe;=A-fWBp7?xh7Y>0J6wR!A%>i6^|wR%f7y?h6^PpO zee~dAk=6Qwb-0kvmz|IxJDQhg-Rjw*w=_iHH7>Nvbgr^2^|tlPAo9#>ZW=i?gUqJ=9QoZv6tMB z@?ymPkA9Sidhc;I&qn^h$D_jg95!U_bEs*2sYv{2RY^!MWU)L@1Kji~ueM6Q)BKtn zV(2JuatyX&`Gdg#w%FC2q9I?7|wd2Yk%@u=YQ`jbEpp1!?yG!8zLE@smWj|7m5qppQ_oGvw6 z<=6+7{S^GgXU1dvbaLys_zVN@`_=F6ckBOYwbJPy@ROI+IZY##hw|Z(eYO>ww;l5s?ToD_TvBE2{B& z=OdYQJo`-A+v8$%OR_EONE>Oq)!VI|nZNFyqY(42^e+L6{}WUf17^1-y0 z)07o%xc9C1C;1H-$Z&p9n7Hexssy;PbKCyGV!P^$V3uVnRt}^-rvd>OV`XRe8BFrX z&x2O73abYe7zvLuByfpYdIxVC4`!9F!XpprDISu=6szp#igiu}$b7yc+!^75)4dSZ z8@~#J`+mn!Fz$p-bpZOAn(z$T`n7NX4C@dd)i3lBj$I4IpG)4&X@5)TwGg!%?rBun z9$p^Z{%#z9j*uWtag;$lR8PCPYPr1-dtpgH{xk?Vv>=2Q9sR#Atq*1)6J#-oT!zG9 zA;iWGEy^s-z^&Vh;FYyod;E4F`6ea%J3S)@&BO8FWWYFV{XBWYV4Cc(k&G|;Yt83u znvrjP+zkj*ERJdT^gb_2p?dA|V9M_DYq01DdED;ukD22;696wTT~?UH3SgxvZvT3G z1Zwp?{UqqHUk1*WJis|ZPN+E`RFB3|Zb69CX4;1n{M$)CC;B`NQv3|yg;YImZ7VrX zsPU0@0MaLqsjkz5{EdU*`HRR2j!hJ?KY=R2A1D5+V}FGij1r=g=E} zM)Qr51al*q)!*V_cz)=fRVZH7w7N_wTY6`dL_l_lKVGJ%xO>%5oj}VC1D&0-j!r8C zFwzQsou!Z&KsYCWAs&E)Y8*zAA&`pE_4sQLF96T4&mf30rpu?mT5wGc{8-51B79i? zY~aB4&eqh|zQ4uyC&xWj2?&sL=86w!1ff7iX;k`PN7G|q1{Td#OApLKqgg)jK+M1x z+8cQh2yya{Tm&If0K|nOGe~%n=LSgdA1|{|+$CSkn?vv3i5gHnb_lsAOK)6*4Vbf~ z0oP%TL*4sIROxHGLWtcY{bNwlLKs2}|GqH~M@Mn-Bv71>BM8g{6W(GBXF! zI}Wlu$Z;o5M&HA6s|0wl8a1eCCoioB+ zj-ldNRiQ~EG4xQ!kamK%h;b{Oy5E5*-%ELCZ_d6gDRF}CF|G(ag1TjXxyy5REuvyL$l#IQjjKfjziS-- z-VhgrDx*&HqBGaBNcXyg{jIA-<;N5`8UK)-?D>nV7kNM+;X3)My)q}bhp3|H_Hkf@ z4Of$5w*4=5Z2@fVvcVZ zIIsuv9=Fwc@F+Cq3YS~_x{J0m4yiso(=!uWzL^%^E?1tJxtmtro|8eEX+~v8ixOu~ zk0#*F-<~3x(0r=&kHB@IMJa!L00v#-D9a)0P*~S+f;WIX&Djy z4xdB++~pF)?=86383dIsLd~2(q+!)Ln!+_=*N|4IYm+hUOL$?q{MqQ%Wg?3<>LABc zAB`UXZ|b<35~EC&woWfCzsQ*Up0_EyFxF{FI0Z^A=YSOx^|mL%p`_sh9k!rPWDi2D z8kol7l*o$xIqJ}iMCe?DG%+wUY}v_ESiaz3xUpo&j!!^1?iTK`{mTd4bd*@r*M;{@ zERMzdQ~4$vB)%gaq(~wY<9e{Gql<|-@Z|otOHe{A_%)@AYS|q>ybn;Q{b8-qDp{ng z5!_C^1O2aW{9=^FiW0u5|MT%c^V*=w`HCmjf|=4`c&$yPP@0?fFF+QL=c769XT>eb zy!LpwedUVc2i}|c#uT>!O)T^%)PplEK@8s57iL>=b(3y>kkF3b@@W6~5pPZr^ZL|%21{o4IaqNX3VM!2#;3U`CcG=PYZc;1uj z1VeD%qH{#A`QFb3gDq#?IQS`GX(?Xgx3qV$KR)mBY_^`|tj4`z;eb>T(OcWQ@Hpqr zfC2#n&8p*H%SyDh#h!K}xw;wW%M88-6ht&I^W{|kLZgUFLny;;$LlXrgEqir`J49z zAz3rv=bLC0%kEqvP*L1H3VkZ5thz`a*6Kd%HUk$deQi4cPgeW~AM1;^G8&D7skS<+BTIeMN z5|X_20lIac^Uk~XjW^Cce>}$?V~Zr;H`na*H|JW*xWnj?k#^~9wy4a`m>t#ze1t(P#e4}CSaBWwR0W(%F-6JXhE#~I zWw3VAQ6wvv5ccI~F^;^1;ZA5AuyYC3dwgMoUHjyc=E}59TkVonPCw{&b!a8ssE|Zv zvbUXf?{-FK^mnRdA+pV+;bO%3p{=;T-=?_d3IGdC-B94i@y(Fr)%}dr&)HGp*bY-( zb~5`=#Xi#+=3IKAk}a;?0gErvhEqxPcRk;*nG}|dE~0_8W#k35RhaIV>~|sY?cecq zLpKCHREB)9*C+f#+a&g`QCx?k_l$7LZzib!w6ZP{7(C<4!O$81`#=G#B6Mljzi;p( z{f4zfIptvfVsP8Ibhfi5r!gV z2*eN3y3DuNFdJr}mm|(SK-;U7>l|?^j6qQ+itWJb?FIT%39^Qtdfj8xk2WS z@3{rFbr@^WtAdn&@f+pyTE_kQx&u4laxEoYZGQ(}8Tz+USz+P(9;#1p*g!4O<8bPWIq_;i;UCMIkxfs)W0plSOVbKzeAAL z)Pw&(s0{Tz1-n!=&s3}aot>O@Se)&XXt<^vOOO;4P z)2pScb3YHhk7o@v#!#0Ehze6pb-#RO?Hh!dy-nvH{OKtr)#=wwxK3KGlW?!fc32Q% z@?Nf&!9p@8?Xnv{MF2*=xiO;oLLT^7{v7Z03NJF1qIlCF#?7WNWzenyIm zJ+u+Gz_Or_x-0S=hWmT^LV>$yXLVvUllQFpFVW+GvY=IOiiM(6rK%znXSyQpz$Lv- ztEH%Im`4bRqmI*2ty(hl_fQxOd!{`#BlBSZN8kH!LlwZb@M_>}W1l%n?R(jXSl&x8 z!CcDT2v5)pK&JIjT}aI#Es5p+v;#n6z{`FrnD=Oos<4TqG|=#! zae}X7PY4*=7h2s~$u#t+Kv3=QX@ksAzh3%y6 zz;DL(lSlwh-A}C!(mRS2*t=nBKffHJ)+a@rYh$eRZ2R3-z=+F`lwXzF0@?Sk7WRYI z-N}_7Hxdp=(uEG;*$RuFgV#LDFHiU+kcK@=sk6m7Rol##XkKrr3e8OqD?QeErQ;L627au;W6??&RriQFlLk?z0;1vw!_aTmXIVw9jnO5!i}T z4wD6{Tb@Aa`Yo6MC;HG#9F070LZ0mI zFNy|HShnybDLU[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

% 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 Q8!@0EBe)hyVZp diff --git a/Transferência Ginseng/workflow/.resources/Solicitação de transferência.processimage.svg b/Transferência Ginseng/workflow/.resources/Solicitação de transferência.processimage.svg index 3b406fe..2da3c39 100644 --- a/Transferência Ginseng/workflow/.resources/Solicitação de transferência.processimage.svg +++ b/Transferência Ginseng/workflow/.resources/Solicitação de transferência.processimage.svg @@ -1,2 +1,2 @@ -MotoristaAnalista de suprimentosLogisticaGerente de lojaSolicitação de TransferênciaValidarLojaAprovarTransferênciaEmitir NFEde TransfReceberProdutosVerificarproblemaColetarProdutoValidarprodutoEntregarProdutoValidarColetaValidarEntregaGestor IdentificadoLoja sem GestorAprovarReprovarReprovarCancelarAlocar motoristaValidar produtosrecebidosProcesso finalizadoEmitidaFilial nao identificada +MotoristaAnalista de suprimentosLogisticaGerente de lojaSolicitação de TransferênciaValidarLojaAprovarTransferênciaEmitir NFEde TransfReceberProdutosVerificarproblemaColetarProdutoValidarprodutoEntregarProdutoGestor IdentificadoLoja sem GestorAprovarReprovarReprovarCancelarValidar produtosrecebidosEnviar para coletaFinalizar diff --git a/Transferência Ginseng/workflow/.resources/teste3.ws.cache b/Transferência Ginseng/workflow/.resources/teste3.ws.cache new file mode 100644 index 0000000..42a479c --- /dev/null +++ b/Transferência Ginseng/workflow/.resources/teste3.ws.cache @@ -0,0 +1,792 @@ + + + + + volume + + + Default + + + + + mecanismoGrupo + + + + + Tecnologia e Comunicação + + + TIC + + + + + + + Compras Indiretos + + + ComprasIndiretos + + + + + + + Obras e manutenção + + + Manutencao + + + + + + + Aprovadores Compras Nvl 3 + + + AprovadoresComprasNvl3 + + + + + + + Motoristas + + + Motoristas + + + + + + + Requisitantes de Vaga + + + Requisitantesdevaga + + + + + + + Recrutamento + + + Recrutamento + + + + + + + TODOS-TODOS-DIADMISSAO + + + TODOS-TODOS-DIADMISSAO + + + + + + + ResponsavelDesligamento + + + ResponsavelDesligamento + + + + + + + GENTE & CULTURA + + + GENTE_CULTURA + + + + + + + LOJA AL + + + LOJA_AL + + + + + + + CD + + + CD + + + + + + + ESPAÇO DO REVENDEDOR AL + + + ESPACO_DO_REVENDEDOR_AL + + + + + + + FINANCEIRO + + + FINANCEIRO + + + + + + + OPERAÇÕES + + + OPERACOES + + + + + + + AMG AL + + + AMG_AL + + + + + + + REGIONAL ALAGOAS + + + REGIONAL_ALAGOAS + + + + + + + PREVENÇÃO DE PERDA + + + PREVENCAO_DE_PERDA + + + + + + + MARKETING, TREINAMENTO + + + MARKETING_TREINAMENTO + + + + + + + SECRETARIA EXECUTIVA + + + SECRETARIA_EXECUTIVA + + + + + + + DIRETORIA EXECUTIVA + + + DIRETORIA_EXECUTIVA + + + + + + + INFRAESTRUTURA + + + INFRAESTRUTURA + + + + + + + ESPAÇO DO REVENDEDOR BA + + + ESPACO_DO_REVENDEDOR_BA + + + + + + + BUSINESS INTELLIGENCE + + + BUSINESS_INTELLIGENCE + + + + + + + DEPARTAMENTO PESSOAL + + + DEPARTAMENTO_PESSOAL + + + + + + + LOJA BA + + + LOJA_BA + + + + + + + TREINAMENTO + + + TREINAMENTO + + + + + + + AMG BA + + + AMG_BA + + + + + + + MARKETING + + + MARKETING + + + + + + + COMPRAS + + + COMPRAS + + + + + + + AMG SE + + + AMG_SE + + + + + + + LOJA SE + + + LOJA_SE + + + + + + + ESPAÇO DO REVENDEDOR SE + + + ESPACO_DO_REVENDEDOR_SE + + + + + + + VENDAS IN COMPANY + + + VENDAS_IN_COMPANY + + + + + + + REGIONAL BAHIA + + + REGIONAL_BAHIA + + + + + + + CANAL LOJA 01 + + + CANAL_LOJA_01 + + + + + + + AUDITORIA + + + AUDITORIA + + + + + + + CANAL LOJA 02 + + + CANAL_LOJA_02 + + + + + + + PLANEJAMENTO DE DEMANDAS + + + PLANEJAMENTO_DE_DEMANDAS + + + + + + + PROJETOS + + + PROJETOS + + + + + + + COMPLIANCE + + + COMPLIANCE + + + + + + + ESCRITÓRIO - MATRIZ + + + ESCRITORIO_MATRIZ + + + + + + + ESCRITÓRIO - CONQUISTA + + + ESCRITORIO_CONQUISTA + + + + + + + REGIONAL SERGIPE + + + REGIONAL_SERGIPE + + + + + + + Transferencia + + + Transferencia + + + + + + + expediente + + + Default + + + Expediente BackOffice, Logística e Motorista + + + Expediente Escritório Matriz + + + Expediente Lojas + + + + + camposFormulario, documentoId = 590 + + + activity + + + centroCusto + + + chaveNfe + + + codigoItem + + + codigoProdutoItem + + + currentUserId + + + currentUsermail + + + currentUserName + + + dataAbertura + + + dataColeta + + + dataEmissaoApiNfe + + + dataEmissaoNfe + + + dataEntradaNfeConsulta + + + dataEntrega + + + descAnexo_Coleta + + + descAnexo_Entrega + + + descAnexo_Nfe + + + descAnexo_Recebimento + + + descricao + + + emailSolicitante + + + estabelecimento + + + excelUpload + + + fdAnexo_Coleta + + + fdAnexo_Entrega + + + fdAnexo_recebimento + + + fnAnexo_Nfe + + + formMode + + + fornecedorNfeConsulta + + + gestorEmail + + + gestorEmailE + + + gestorNome + + + gestorNomeE + + + gestor_cc + + + gestor_cce + + + invoiceIdNfeConsulta + + + itensNfeConsulta + + + itensNfeJson + + + justificativa + + + lojaNfeConsulta + + + motoristaColetaLogin + + + motoristaColetaNome + + + motoristaEntregaLogin + + + motoristaEntregaNome + + + motoristaEntregaSelecionado + + + numeroNfeConsulta + + + operacaoNfeConsulta + + + productIdItem + + + qtdDivergenciasNfe + + + quantidadeItem + + + requesterId + + + requesterMail + + + requesterName + + + serieNfeConsulta + + + situacaoNfeConsulta + + + storeIdNfeConsulta + + + tipoMotoristaEntrega + + + usuarioEmissorNfe + + + valorNfeConsulta + + + WKNumProces + + + + + mecanismo + + + + + Atribuição por Associação + + + Associado + + + + + + + Atribuição por Campo de Formulário + + + Campo Formulário + + + + + + + dpf_di_emp_filial_filtro + + + dpf_di_emp_filial_filtro + + + + + + + dpf_di_inicio_diadmissao + + + dpf_di_inicio_diadmissao + + + + + + + Atribuição por Executor de Atividade + + + Executor Atividade + + + + + + + Atribuição por Grupo + + + Grupo + + + + + + + Atribuição por Grupos do Colaborador + + + Grupos Colaborador + + + + + + + mecCustomAprov + + + mecCustomAprov + + + + + + + Atribuição por Papel + + + Papel + + + + + + + Atribuição para um Grupo + + + Pool Grupo + + + + + + + Atribuição para um Papel + + + Pool Papel + + + + + + + Atribuição por Usuário + + + Usuário + + + + + + + diff --git a/Transferência Ginseng/workflow/.resources/teste3.ws.cache.bkp b/Transferência Ginseng/workflow/.resources/teste3.ws.cache.bkp new file mode 100644 index 0000000..e69de29 diff --git a/Transferência Ginseng/workflow/diagrams/.project b/Transferência Ginseng/workflow/diagrams/.project new file mode 100644 index 0000000..d147ec9 --- /dev/null +++ b/Transferência Ginseng/workflow/diagrams/.project @@ -0,0 +1,11 @@ + + + diagrams + + + + + + + + diff --git a/Transferência Ginseng/workflow/diagrams/Solicitação de transferência.process b/Transferência Ginseng/workflow/diagrams/Solicitação de transferência.process index 248d9b3..9b00760 100644 --- a/Transferência Ginseng/workflow/diagrams/Solicitação de transferência.process +++ b/Transferência Ginseng/workflow/diagrams/Solicitação de transferência.process @@ -1,5 +1,5 @@ - + @@ -112,7 +112,7 @@ - + @@ -124,9 +124,9 @@ - + - + @@ -138,7 +138,7 @@ - + @@ -152,9 +152,9 @@ - + - + @@ -192,7 +192,7 @@ - + @@ -216,7 +216,7 @@ - + @@ -226,9 +226,9 @@ - + - + @@ -266,70 +266,12 @@ - - - - - - - - + + - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -3498,6 +3440,41 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -3560,7 +3537,7 @@ - + @@ -3653,27 +3630,11 @@ - - - - - - - - - - - - - - - - - + @@ -3683,13 +3644,13 @@ - + - + - + - + @@ -3699,12 +3660,13 @@ + - + - + @@ -3715,11 +3677,11 @@ - + - + - + @@ -3730,37 +3692,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -3783,39 +3714,33 @@ - + - + - + - - + + - + - - - - - - - - - - + + + + \ No newline at end of file diff --git a/workflow/.resources/Solicitação de transferência.ecm30.xml b/workflow/.resources/Solicitação de transferência.ecm30.xml new file mode 100644 index 0000000..02197e4 --- /dev/null +++ b/workflow/.resources/Solicitação de transferência.ecm30.xml @@ -0,0 +1,2967 @@ + + + + 1 + Transferência Ginseng + + Transferência Ginseng + Este flow permite abertura de solicitação de transferências automatizadas, informando qual item será transferido e direcionado para as aprovações corretas. + true + false + Default + Transferência + Usuário + <AssignmentController><User>projetos</User></AssignmentController> + 0 + 0 + 0 + Default + false + + 1 + true + false + 172800 + 0 + true + + + + 1 + Transferência Ginseng + 42 + + + 590 + true + true + false + true + false + false + 0 + 2 + + false + false + true + + + + + 1 + Transferência Ginseng + 1 + 1 + + Solicitar transferência + Solicitar transferência + + 0 + false + 0 + + + 1 + true + false + false + 0 + 0 + 0 + 0 + false + + 0 + true + true + false + 100 + 83 + 0 + 0 + false + false + 0 + 0 + false + + 0 + 10 + 0 + false + 0 + 0 + 0 + 0 + + false + + + + 1 + Transferência Ginseng + 1 + 4 + + Aprovar Transferência + Aprovar Transferência + + 16200 + + false + 0 + + 1 + false + false + false + 0 + 0 + 0 + 0 + false + + 0 + true + true + false + 490 + 281 + 0 + 0 + false + false + 0 + 0 + false + Expediente Lojas + 0 + 80 + 0 + false + 0 + 0 + 0 + 0 + + false + 0 + + + + 1 + Transferência Ginseng + 1 + 6 + + Emitir NFE de Transf + Emitir NFE de Transf + + 57600 + + false + 0 + Pool Grupo + <AssignmentController><Group>CD</Group></AssignmentController> + 1 + false + false + false + 0 + 0 + 0 + 0 + false + + 0 + true + true + false + 490 + 490 + 0 + 0 + false + false + 0 + 0 + false + + 0 + 80 + 0 + false + 0 + 0 + 0 + 0 + + false + 0 + + + + 1 + Transferência Ginseng + 1 + 18 + + Receber Produtos + Receber Produtos + + 7200 + + false + 0 + Campo Formulário + <AssignmentController><FormField>gestor_cc</FormField></AssignmentController> + 1 + false + false + false + 0 + 0 + 0 + 0 + false + + 0 + true + true + false + 1370 + 270 + 0 + 0 + false + false + 0 + 0 + false + Expediente Lojas + 0 + 80 + 0 + false + 0 + 0 + 0 + 0 + + false + 0 + + + + 1 + Transferência Ginseng + 1 + 24 + + Verificar problema + Verificar problema + + 172800 + + false + 0 + Usuário + <AssignmentController><User>logistica</User></AssignmentController> + 1 + false + false + false + 0 + 0 + 0 + 0 + false + + 0 + true + true + false + 1520 + 490 + 0 + 0 + false + false + 0 + 0 + false + Expediente BackOffice, Logística e Motorista + 0 + 80 + 0 + false + 0 + 0 + 0 + 0 + + false + 0 + + + + 1 + Transferência Ginseng + 1 + 31 + + Coletar Produto + Coletar Produto + + 43200 + + false + 0 + + 1 + false + false + false + 0 + 0 + 0 + 0 + false + + 0 + true + true + false + 870 + 679 + 0 + 0 + false + false + 0 + 0 + false + Expediente BackOffice, Logística e Motorista + 0 + 80 + 0 + false + 0 + 0 + 0 + 0 + + false + 0 + + + + 1 + Transferência Ginseng + 1 + 57 + + Entregar Produto + Entregar Produto + + 57600 + + false + 0 + + 1 + false + true + false + 3600 + 3600 + 0 + 0 + false + + 0 + true + false + false + 1280 + 679 + 0 + 0 + false + false + 0 + 0 + false + Expediente BackOffice, Logística e Motorista + 0 + 80 + 0 + false + 0 + 0 + 0 + 0 + + false + 0 + + + + 1 + Transferência Ginseng + 1 + 2 + + Validar Loja + Validar Loja + false + false + false + + 0 + true + 250 + 47 + false + 1 + 120 + 0 + 0 + + false + + + + 1 + Transferência Ginseng + 1 + 46 + + Validar produto + Validar produto + false + false + false + + 0 + true + 1540 + 250 + false + 1 + 120 + 0 + 0 + + false + + + + 1 + Transferência Ginseng + 1 + 62 + + Validar Coleta + Validar Coleta + false + false + false + + 0 + true + 760 + 470 + false + 1 + 120 + 0 + 0 + + false + + + + 1 + Transferência Ginseng + 1 + 90 + + Validar Entrega + Validar Entrega + false + false + false + + 0 + true + 1040 + 655 + false + 1 + 120 + 0 + 0 + + false + + + + 1 + Transferência Ginseng + 1 + 39 + + Cancelado + Cancelado + Atividade final do processo + 0 + false + 0 + + + 0 + false + true + false + 0 + 1 + 0 + 0 + false + + 0 + false + true + false + 700 + 310 + 0 + 0 + false + false + 0 + 0 + false + + 6 + 65 + 0 + false + 0 + + false + + + + 1 + Transferência Ginseng + 1 + 52 + + Fim + Fim + Atividade final do processo + 0 + false + 0 + + + 0 + false + true + false + 0 + 1 + 0 + 0 + false + + 0 + false + false + false + 1700 + 284 + 0 + 0 + false + false + 0 + 0 + false + + 6 + 60 + 0 + false + 0 + + false + + + + 1 + Transferência Ginseng + 1 + 60 + + Fim com cancelamento de processo + Fim com cancelamento de processo + Atividade final do processo + 0 + false + 0 + + + 0 + false + true + false + 0 + 1 + 0 + 0 + false + + 0 + false + false + false + 1570 + 699 + 0 + 0 + false + false + 0 + 0 + false + + 6 + 65 + 0 + false + 0 + + false + + + + 1 + Transferência Ginseng + 1 + 86 + + Fim + Fim + Atividade final do processo + 0 + false + 0 + + + 0 + false + true + false + 0 + 1 + 0 + 0 + false + + 0 + false + false + false + 980 + 510 + 0 + 0 + false + false + 0 + 0 + false + + 6 + 60 + 0 + false + 0 + + false + + + + 1 + Transferência Ginseng + 1 + 93 + + Fim + Fim + Atividade final do processo + 0 + false + 0 + + + 0 + false + true + false + 0 + 1 + 0 + 0 + false + + 0 + false + false + false + 1180 + 610 + 0 + 0 + false + false + 0 + 0 + false + + 6 + 60 + 0 + false + 0 + + false + + + + + + 1 + Transferência Ginseng + 1 + 42 + 2 + + hAPI.getCardValue("estabelecimento") =! "" + 4 + <AssignmentController><FormField>gestor_cce</FormField></AssignmentController> + Campo Formulário + 0 + + + + 1 + Transferência Ginseng + 2 + 42 + 2 + + true + 6 + <AssignmentController><User>logistica</User></AssignmentController> + Usuário + 0 + + + + 1 + Transferência Ginseng + 1 + 42 + 46 + + hAPI.getCardValue("validacaoItens") == "entregue" + 52 + 0 + + + + 1 + Transferência Ginseng + 2 + 42 + 46 + + true + 24 + 0 + + + + 1 + Transferência Ginseng + 1 + 42 + 62 + + hAPI.getCardValue("estabelecimento") == "" + 86 + 0 + + + + 1 + Transferência Ginseng + 2 + 42 + 62 + + hAPI.getCardValue("estabelecimento") == "LJ HIPER FAROL - (CARREFOUR)" + 31 + <AssignmentController><User>001025</User></AssignmentController> + Usuário + 0 + + + + 1 + Transferência Ginseng + 3 + 42 + 62 + + hAPI.getCardValue("estabelecimento") == "LJ MOREIRA LIMA" + 31 + <AssignmentController><User>001025</User></AssignmentController> + Usuário + 0 + + + + 1 + Transferência Ginseng + 4 + 42 + 62 + + hAPI.getCardValue("estabelecimento") == "LJ SHOPPING PÁTIO" + 31 + <AssignmentController><User>001025</User></AssignmentController> + Usuário + 0 + + + + 1 + Transferência Ginseng + 5 + 42 + 62 + + hAPI.getCardValue("estabelecimento") == "LJ MÁRIO DE GUSMÃO(ATACADAO)"|| hAPI.getCardValue("estabelecimento") == "LJ MÁRIO DE GUSMÃO(ATACADO)" + 31 + <AssignmentController><User>001025</User></AssignmentController> + Usuário + 0 + + + + 1 + Transferência Ginseng + 6 + 42 + 62 + + hAPI.getCardValue("estabelecimento") == "LJ GBARBOSA TABULEIRO" + 31 + <AssignmentController><User>001025</User></AssignmentController> + Usuário + 0 + + + + 1 + Transferência Ginseng + 7 + 42 + 62 + + hAPI.getCardValue("estabelecimento") == "LJ LIVRAMENTO" + 31 + <AssignmentController><User>001025</User></AssignmentController> + Usuário + 0 + + + + 1 + Transferência Ginseng + 8 + 42 + 62 + + hAPI.getCardValue("estabelecimento") == "LJ RIO LARGO" + 31 + <AssignmentController><User>001025</User></AssignmentController> + Usuário + 0 + + + + 1 + Transferência Ginseng + 9 + 42 + 62 + + hAPI.getCardValue("estabelecimento") == "LJ SHOPPING CIDADE" + 31 + <AssignmentController><User>001025</User></AssignmentController> + Usuário + 0 + + + + 1 + Transferência Ginseng + 10 + 42 + 62 + + hAPI.getCardValue("estabelecimento") == "LJ SUPER GIRO" + 31 + <AssignmentController><User>001025</User></AssignmentController> + Usuário + 0 + + + + 1 + Transferência Ginseng + 11 + 42 + 62 + + hAPI.getCardValue("estabelecimento") == "HIB CAMPO ALEGRE" + 31 + <AssignmentController><User>001025</User></AssignmentController> + Usuário + 0 + + + + 1 + Transferência Ginseng + 12 + 42 + 62 + + hAPI.getCardValue("estabelecimento") == "ER PITANGUINHA" + 31 + <AssignmentController><User>001025</User></AssignmentController> + Usuário + 0 + + + + 1 + Transferência Ginseng + 13 + 42 + 62 + + hAPI.getCardValue("estabelecimento") == "TÔ QUE TÔ MACEIÓ CENTRO" + 31 + <AssignmentController><User>001025</User></AssignmentController> + Usuário + 0 + + + + 1 + Transferência Ginseng + 14 + 42 + 62 + + hAPI.getCardValue("estabelecimento") == "LJ MIX MATEUS" + 31 + <AssignmentController><User>001025</User></AssignmentController> + Usuário + 0 + + + + 1 + Transferência Ginseng + 15 + 42 + 62 + + hAPI.getCardValue("estabelecimento") == "ER RIO LARGO" + 31 + <AssignmentController><User>001025</User></AssignmentController> + Usuário + 0 + + + + 1 + Transferência Ginseng + 16 + 42 + 62 + + hAPI.getCardValue("estabelecimento") == "CD SERRARIA" + 31 + <AssignmentController><Group>Motoristas</Group></AssignmentController> + Pool Grupo + 0 + + + + 1 + Transferência Ginseng + 17 + 42 + 62 + + hAPI.getCardValue("estabelecimento") == "ESCRITÓRIO MATRIZ" + 31 + <AssignmentController><User>001509</User></AssignmentController> + Usuário + 0 + + + + 1 + Transferência Ginseng + 18 + 42 + 62 + + hAPI.getCardValue("estabelecimento") == "LJ MACEIÓ SHOPPING TERREO" + 31 + <AssignmentController><User>001509</User></AssignmentController> + Usuário + 0 + + + + 1 + Transferência Ginseng + 19 + 42 + 62 + + hAPI.getCardValue("estabelecimento") == "LJ MACEIÓ SHOPPING EXPANSÃO" + 31 + <AssignmentController><User>001509</User></AssignmentController> + Usuário + 0 + + + + 1 + Transferência Ginseng + 20 + 42 + 62 + + hAPI.getCardValue("estabelecimento") == "LJ GBARBOSA SERRARIA" + 31 + <AssignmentController><User>001509</User></AssignmentController> + Usuário + 0 + + + + 1 + Transferência Ginseng + 21 + 42 + 62 + + hAPI.getCardValue("estabelecimento") == "LJ PONTA VERDE" + 31 + <AssignmentController><User>001509</User></AssignmentController> + Usuário + 0 + + + + 1 + Transferência Ginseng + 22 + 42 + 62 + + hAPI.getCardValue("estabelecimento") == "LJ HIPER JATIÚCA (ASSAÍ)" + 31 + <AssignmentController><User>001509</User></AssignmentController> + Usuário + 0 + + + + 1 + Transferência Ginseng + 23 + 42 + 62 + + hAPI.getCardValue("estabelecimento") == "LJ GBARBOSA S.MARIS" + 31 + <AssignmentController><User>001509</User></AssignmentController> + Usuário + 0 + + + + 1 + Transferência Ginseng + 24 + 42 + 62 + + hAPI.getCardValue("estabelecimento") == "LJ JACINTINHO" + 31 + <AssignmentController><User>001509</User></AssignmentController> + Usuário + 0 + + + + 1 + Transferência Ginseng + 25 + 42 + 62 + + hAPI.getCardValue("estabelecimento") == "LJ PARQUE SHOPPING" + 31 + <AssignmentController><User>001509</User></AssignmentController> + Usuário + 0 + + + + 1 + Transferência Ginseng + 26 + 42 + 62 + + hAPI.getCardValue("estabelecimento") == "LJ HIPER ANTARES" + 31 + <AssignmentController><User>001509</User></AssignmentController> + Usuário + 0 + + + + 1 + Transferência Ginseng + 27 + 42 + 62 + + hAPI.getCardValue("estabelecimento") == "LJ UNICOMPRA PONTA VERDE" + 31 + <AssignmentController><User>001509</User></AssignmentController> + Usuário + 0 + + + + 1 + Transferência Ginseng + 28 + 42 + 62 + + hAPI.getCardValue("estabelecimento") == "HIB MARECHAL DEODORO" + 31 + <AssignmentController><User>001025</User></AssignmentController> + Usuário + 0 + + + + 1 + Transferência Ginseng + 29 + 42 + 62 + + hAPI.getCardValue("estabelecimento") == "ER ANTARES" + 31 + <AssignmentController><User>001509</User></AssignmentController> + Usuário + 0 + + + + 1 + Transferência Ginseng + 30 + 42 + 62 + + hAPI.getCardValue("estabelecimento") == "LJ CARAJÁS" + 31 + <AssignmentController><User>001509</User></AssignmentController> + Usuário + 0 + + + + 1 + Transferência Ginseng + 31 + 42 + 62 + + hAPI.getCardValue("estabelecimento") == "QDB PARQUE SHOPPING" + 31 + <AssignmentController><User>001509</User></AssignmentController> + Usuário + 0 + + + + 1 + Transferência Ginseng + 32 + 42 + 62 + + hAPI.getCardValue("estabelecimento") == "QDB MACEIO SHOPPING" + 31 + <AssignmentController><User>001509</User></AssignmentController> + Usuário + 0 + + + + 1 + Transferência Ginseng + 33 + 42 + 62 + + hAPI.getCardValue("estabelecimento") == "LJ LAGARTO" + 31 + <AssignmentController><User>001217</User></AssignmentController> + Usuário + 0 + + + + 1 + Transferência Ginseng + 34 + 42 + 62 + + hAPI.getCardValue("estabelecimento") == "HIB ITABAIANINHA" + 31 + <AssignmentController><User>001217</User></AssignmentController> + Usuário + 0 + + + + 1 + Transferência Ginseng + 35 + 42 + 62 + + hAPI.getCardValue("estabelecimento") == "ER LAGARTO" + 31 + <AssignmentController><User>001217</User></AssignmentController> + Usuário + 0 + + + + 1 + Transferência Ginseng + 36 + 42 + 62 + + hAPI.getCardValue("estabelecimento") == "LJ GBARBOSA SOCORRO" + 31 + <AssignmentController><User>001217</User></AssignmentController> + Usuário + 0 + + + + 1 + Transferência Ginseng + 37 + 42 + 62 + + hAPI.getCardValue("estabelecimento") == "ER SOCORRO" + 31 + <AssignmentController><User>001217</User></AssignmentController> + Usuário + 0 + + + + 1 + Transferência Ginseng + 38 + 42 + 62 + + hAPI.getCardValue("estabelecimento") == "HIB BARRA DOS COQUEIROS" + 31 + <AssignmentController><User>001217</User></AssignmentController> + Usuário + 0 + + + + 1 + Transferência Ginseng + 39 + 42 + 62 + + hAPI.getCardValue("estabelecimento") == "LJ SHOPPING PREMIO SOCORRO" + 31 + <AssignmentController><User>001217</User></AssignmentController> + Usuário + 0 + + + + 1 + Transferência Ginseng + 40 + 42 + 62 + + hAPI.getCardValue("estabelecimento") == "LJ BOULEVARD SHOPPING" + 31 + <AssignmentController><User>motorista.ginseng</User></AssignmentController> + Usuário + 0 + + + + 1 + Transferência Ginseng + 41 + 42 + 62 + + hAPI.getCardValue("estabelecimento") == "LJ PRACA 9 DE NOVEMBRO" + + 31 + <AssignmentController><User>motorista.ginseng</User></AssignmentController> + Usuário + 0 + + + + 1 + Transferência Ginseng + 42 + 42 + 62 + + hAPI.getCardValue("estabelecimento") == "LJ GALERIA PANVICON" + 31 + <AssignmentController><User>motorista.ginseng</User></AssignmentController> + Usuário + 0 + + + + 1 + Transferência Ginseng + 43 + 42 + 62 + + hAPI.getCardValue("estabelecimento") == "ER CONDEUBA" + 31 + <AssignmentController><User>motorista.ginseng</User></AssignmentController> + Usuário + 0 + + + + 1 + Transferência Ginseng + 44 + 42 + 62 + + hAPI.getCardValue("estabelecimento") == "QQ SHOPPING CONQUISTA" + 31 + <AssignmentController><User>motorista.ginseng</User></AssignmentController> + Usuário + 0 + + + + 1 + Transferência Ginseng + 45 + 42 + 62 + + hAPI.getCardValue("estabelecimento") == "LJ ASSAI VITORIA DA CONQUISTA" + 31 + <AssignmentController><User>motorista.ginseng</User></AssignmentController> + Usuário + 0 + + + + 1 + Transferência Ginseng + 46 + 42 + 62 + + hAPI.getCardValue("estabelecimento") == "LJ BAIRRO BRASIL" + 31 + <AssignmentController><User>motorista.ginseng</User></AssignmentController> + Usuário + 0 + + + + 1 + Transferência Ginseng + 47 + 42 + 62 + + hAPI.getCardValue("estabelecimento") == "HIB BARRA DO CHOCA" + 31 + <AssignmentController><User>motorista.ginseng</User></AssignmentController> + Usuário + 0 + + + + 1 + Transferência Ginseng + 48 + 42 + 62 + + hAPI.getCardValue("estabelecimento") == "LJ SHOPPING CONQUISTA SUL" + 31 + <AssignmentController><User>motorista.ginseng</User></AssignmentController> + Usuário + 0 + + + + 1 + Transferência Ginseng + 49 + 42 + 62 + + hAPI.getCardValue("estabelecimento") == "ER VITORIA DA CONQUISTA" + 31 + <AssignmentController><User>motorista.ginseng</User></AssignmentController> + Usuário + 0 + + + + 1 + Transferência Ginseng + 50 + 42 + 62 + + hAPI.getCardValue("estabelecimento") == "HIB CANDIDO SALES" + 31 + <AssignmentController><User>motorista.ginseng</User></AssignmentController> + Usuário + 0 + + + + 1 + Transferência Ginseng + 51 + 42 + 62 + + hAPI.getCardValue("estabelecimento") == "LJ RUA ZEFERINO CORREIA" + 31 + <AssignmentController><User>motorista.ginseng</User></AssignmentController> + Usuário + 0 + + + + 1 + Transferência Ginseng + 52 + 42 + 62 + + hAPI.getCardValue("estabelecimento") == "LJ MIX MATEUS TABULEIRO" + 31 + <AssignmentController><User>001509</User></AssignmentController> + Usuário + 0 + + + + 1 + Transferência Ginseng + 1 + 42 + 90 + + hAPI.getCardValue("centroCusto") =="" + 93 + 0 + + + + 1 + Transferência Ginseng + 2 + 42 + 90 + + hAPI.getCardValue("centroCusto") == "LJ HIPER FAROL - (CARREFOUR)" + 57 + <AssignmentController><User>001025</User></AssignmentController> + Usuário + 0 + + + + 1 + Transferência Ginseng + 3 + 42 + 90 + + hAPI.getCardValue("centroCusto") == "LJ MOREIRA LIMA" + 57 + <AssignmentController><User>001025</User></AssignmentController> + Usuário + 0 + + + + 1 + Transferência Ginseng + 4 + 42 + 90 + + hAPI.getCardValue("centroCusto") == "LJ SHOPPING PÁTIO" + 57 + <AssignmentController><User>001025</User></AssignmentController> + Usuário + 0 + + + + 1 + Transferência Ginseng + 5 + 42 + 90 + + hAPI.getCardValue("estabelecimento") == "LJ MÁRIO DE GUSMÃO(ATACADAO)"|| hAPI.getCardValue("estabelecimento") == "LJ MÁRIO DE GUSMÃO(ATACADO)" + 57 + <AssignmentController><User>001025</User></AssignmentController> + Usuário + 0 + + + + 1 + Transferência Ginseng + 6 + 42 + 90 + + hAPI.getCardValue("centroCusto") == "LJ GBARBOSA TABULEIRO" + 57 + <AssignmentController><User>001025</User></AssignmentController> + Usuário + 0 + + + + 1 + Transferência Ginseng + 7 + 42 + 90 + + hAPI.getCardValue("centroCusto") == "LJ LIVRAMENTO" + 57 + <AssignmentController><User>001025</User></AssignmentController> + Usuário + 0 + + + + 1 + Transferência Ginseng + 8 + 42 + 90 + + hAPI.getCardValue("centroCusto") == "LJ RIO LARGO" + 57 + <AssignmentController><User>001025</User></AssignmentController> + Usuário + 0 + + + + 1 + Transferência Ginseng + 9 + 42 + 90 + + hAPI.getCardValue("centroCusto") == "LJ SHOPPING CIDADE" + 57 + <AssignmentController><User>001025</User></AssignmentController> + Usuário + 0 + + + + 1 + Transferência Ginseng + 10 + 42 + 90 + + hAPI.getCardValue("centroCusto") == "LJ SUPER GIRO" + 57 + <AssignmentController><User>001025</User></AssignmentController> + Usuário + 0 + + + + 1 + Transferência Ginseng + 11 + 42 + 90 + + hAPI.getCardValue("centroCusto") == "HIB CAMPO ALEGRE" + 57 + <AssignmentController><User>001025</User></AssignmentController> + Usuário + 0 + + + + 1 + Transferência Ginseng + 12 + 42 + 90 + + hAPI.getCardValue("centroCusto") == "ER PITANGUINHA" + 57 + <AssignmentController><User>001025</User></AssignmentController> + Usuário + 0 + + + + 1 + Transferência Ginseng + 13 + 42 + 90 + + hAPI.getCardValue("centroCusto") == "TÔ QUE TÔ MACEIÓ CENTRO" + 57 + <AssignmentController><User>001025</User></AssignmentController> + Usuário + 0 + + + + 1 + Transferência Ginseng + 14 + 42 + 90 + + hAPI.getCardValue("centroCusto") == "LJ MIX MATEUS" + 57 + <AssignmentController><User>001025</User></AssignmentController> + Usuário + 0 + + + + 1 + Transferência Ginseng + 15 + 42 + 90 + + hAPI.getCardValue("centroCusto") == "ER RIO LARGO" + 57 + <AssignmentController><User>001025</User></AssignmentController> + Usuário + 0 + + + + 1 + Transferência Ginseng + 16 + 42 + 90 + + hAPI.getCardValue("centroCusto") == "CD SERRARIA" + 57 + <AssignmentController><Group>Motoristas</Group></AssignmentController> + Pool Grupo + 0 + + + + 1 + Transferência Ginseng + 17 + 42 + 90 + + hAPI.getCardValue("centroCusto") == "ESCRITÓRIO MATRIZ" + 57 + <AssignmentController><User>001509</User></AssignmentController> + Usuário + 0 + + + + 1 + Transferência Ginseng + 18 + 42 + 90 + + hAPI.getCardValue("centroCusto") == "LJ MACEIÓ SHOPPING TERREO" + 57 + <AssignmentController><User>001509</User></AssignmentController> + Usuário + 0 + + + + 1 + Transferência Ginseng + 19 + 42 + 90 + + hAPI.getCardValue("centroCusto") == "LJ MACEIÓ SHOPPING EXPANSÃO" + 57 + <AssignmentController><User>001509</User></AssignmentController> + Usuário + 0 + + + + 1 + Transferência Ginseng + 20 + 42 + 90 + + hAPI.getCardValue("centroCusto") == "LJ GBARBOSA SERRARIA" + 57 + <AssignmentController><User>001509</User></AssignmentController> + Usuário + 0 + + + + 1 + Transferência Ginseng + 21 + 42 + 90 + + hAPI.getCardValue("centroCusto") == "LJ PONTA VERDE" + 57 + <AssignmentController><User>001509</User></AssignmentController> + Usuário + 0 + + + + 1 + Transferência Ginseng + 22 + 42 + 90 + + hAPI.getCardValue("centroCusto") == "LJ HIPER JATIÚCA (ASSAÍ)" + 57 + <AssignmentController><User>001509</User></AssignmentController> + Usuário + 0 + + + + 1 + Transferência Ginseng + 23 + 42 + 90 + + hAPI.getCardValue("centroCusto") == "LJ GBARBOSA S.MARIS" + 57 + <AssignmentController><User>001509</User></AssignmentController> + Usuário + 0 + + + + 1 + Transferência Ginseng + 24 + 42 + 90 + + hAPI.getCardValue("centroCusto") == "LJ JACINTINHO" + 57 + <AssignmentController><User>001509</User></AssignmentController> + Usuário + 0 + + + + 1 + Transferência Ginseng + 25 + 42 + 90 + + hAPI.getCardValue("centroCusto") == "LJ PARQUE SHOPPING" + 57 + <AssignmentController><User>001509</User></AssignmentController> + Usuário + 0 + + + + 1 + Transferência Ginseng + 26 + 42 + 90 + + hAPI.getCardValue("centroCusto") == "LJ HIPER ANTARES" + 57 + <AssignmentController><User>001509</User></AssignmentController> + Usuário + 0 + + + + 1 + Transferência Ginseng + 27 + 42 + 90 + + hAPI.getCardValue("centroCusto") == "LJ UNICOMPRA PONTA VERDE" + 57 + <AssignmentController><User>001509</User></AssignmentController> + Usuário + 0 + + + + 1 + Transferência Ginseng + 28 + 42 + 90 + + hAPI.getCardValue("centroCusto") == "HIB MARECHAL DEODORO" + 57 + <AssignmentController><User>001025</User></AssignmentController> + Usuário + 0 + + + + 1 + Transferência Ginseng + 29 + 42 + 90 + + hAPI.getCardValue("centroCusto") == "ER ANTARES" + 57 + <AssignmentController><User>001509</User></AssignmentController> + Usuário + 0 + + + + 1 + Transferência Ginseng + 30 + 42 + 90 + + hAPI.getCardValue("centroCusto") == "LJ CARAJÁS" + 57 + <AssignmentController><User>001509</User></AssignmentController> + Usuário + 0 + + + + 1 + Transferência Ginseng + 31 + 42 + 90 + + hAPI.getCardValue("centroCusto") == "QDB PARQUE SHOPPING" + 57 + <AssignmentController><User>001509</User></AssignmentController> + Usuário + 0 + + + + 1 + Transferência Ginseng + 32 + 42 + 90 + + hAPI.getCardValue("centroCusto") == "QDB MACEIO SHOPPING" + 57 + <AssignmentController><User>001509</User></AssignmentController> + Usuário + 0 + + + + 1 + Transferência Ginseng + 33 + 42 + 90 + + hAPI.getCardValue("centroCusto") == "LJ LAGARTO" + 57 + <AssignmentController><User>001217</User></AssignmentController> + Usuário + 0 + + + + 1 + Transferência Ginseng + 34 + 42 + 90 + + hAPI.getCardValue("centroCusto") == "HIB ITABAIANINHA" + 57 + <AssignmentController><User>001217</User></AssignmentController> + Usuário + 0 + + + + 1 + Transferência Ginseng + 35 + 42 + 90 + + hAPI.getCardValue("centroCusto") == "ER LAGARTO" + 57 + <AssignmentController><User>001217</User></AssignmentController> + Usuário + 0 + + + + 1 + Transferência Ginseng + 36 + 42 + 90 + + hAPI.getCardValue("centroCusto") == "HIB ITABAIANINHA" + 57 + <AssignmentController><User>001217</User></AssignmentController> + Usuário + 0 + + + + 1 + Transferência Ginseng + 37 + 42 + 90 + + hAPI.getCardValue("centroCusto") == "ER LAGARTO" + 57 + <AssignmentController><User>001217</User></AssignmentController> + Usuário + 0 + + + + 1 + Transferência Ginseng + 38 + 42 + 90 + + hAPI.getCardValue("centroCusto") == "LJ GBARBOSA SOCORRO" + 57 + <AssignmentController><User>001217</User></AssignmentController> + Usuário + 0 + + + + 1 + Transferência Ginseng + 39 + 42 + 90 + + hAPI.getCardValue("centroCusto") == "ER SOCORRO" + 57 + <AssignmentController><User>001217</User></AssignmentController> + Usuário + 0 + + + + 1 + Transferência Ginseng + 40 + 42 + 90 + + hAPI.getCardValue("centroCusto") == "HIB BARRA DOS COQUEIROS" + 57 + <AssignmentController><User>001217</User></AssignmentController> + Usuário + 0 + + + + 1 + Transferência Ginseng + 41 + 42 + 90 + + hAPI.getCardValue("centroCusto") == "LJ SHOPPING PREMIO SOCORRO" + 57 + <AssignmentController><User>001217</User></AssignmentController> + Usuário + 0 + + + + 1 + Transferência Ginseng + 42 + 42 + 90 + + hAPI.getCardValue("centroCusto") == "LJ BOULEVARD SHOPPING" + 57 + <AssignmentController><User>motorista.ginseng</User></AssignmentController> + Usuário + 0 + + + + 1 + Transferência Ginseng + 43 + 42 + 90 + + hAPI.getCardValue("centroCusto") == "LJ PRACA 9 DE NOVEMBRO" + 57 + <AssignmentController><User>motorista.ginseng</User></AssignmentController> + Usuário + 0 + + + + 1 + Transferência Ginseng + 44 + 42 + 90 + + hAPI.getCardValue("centroCusto") == "LJ GALERIA PANVICON" + 57 + <AssignmentController><User>motorista.ginseng</User></AssignmentController> + Usuário + 0 + + + + 1 + Transferência Ginseng + 45 + 42 + 90 + + hAPI.getCardValue("centroCusto") == "ER CONDEUBA" + 57 + <AssignmentController><User>motorista.ginseng</User></AssignmentController> + Usuário + 0 + + + + 1 + Transferência Ginseng + 46 + 42 + 90 + + hAPI.getCardValue("centroCusto") == "QQ SHOPPING CONQUISTA" + 57 + <AssignmentController><User>motorista.ginseng</User></AssignmentController> + Usuário + 0 + + + + 1 + Transferência Ginseng + 47 + 42 + 90 + + hAPI.getCardValue("centroCusto") == "LJ ASSAI VITORIA DA CONQUISTA" + 57 + <AssignmentController><User>motorista.ginseng</User></AssignmentController> + Usuário + 0 + + + + 1 + Transferência Ginseng + 48 + 42 + 90 + + hAPI.getCardValue("centroCusto") == "LJ BAIRRO BRASIL" + 57 + <AssignmentController><User>motorista.ginseng</User></AssignmentController> + Usuário + 0 + + + + 1 + Transferência Ginseng + 49 + 42 + 90 + + hAPI.getCardValue("centroCusto") == "HIB BARRA DO CHOCA" + 57 + <AssignmentController><User>motorista.ginseng</User></AssignmentController> + Usuário + 0 + + + + 1 + Transferência Ginseng + 50 + 42 + 90 + + hAPI.getCardValue("centroCusto") == "LJ SHOPPING CONQUISTA SUL" + 57 + <AssignmentController><User>motorista.ginseng</User></AssignmentController> + Usuário + 0 + + + + 1 + Transferência Ginseng + 51 + 42 + 90 + + hAPI.getCardValue("centroCusto") == "ER VITORIA DA CONQUISTA" + 57 + <AssignmentController><User>motorista.ginseng</User></AssignmentController> + Usuário + 0 + + + + 1 + Transferência Ginseng + 52 + 42 + 90 + + hAPI.getCardValue("centroCusto") == "HIB CANDIDO SALES" + 57 + <AssignmentController><User>motorista.ginseng</User></AssignmentController> + Usuário + 0 + + + + 1 + Transferência Ginseng + 53 + 42 + 90 + + hAPI.getCardValue("centroCusto") == "LJ RUA ZEFERINO CORREIA" + + 57 + <AssignmentController><User>motorista.ginseng</User></AssignmentController> + Usuário + 0 + + + + 1 + Transferência Ginseng + 54 + 42 + 90 + + hAPI.getCardValue("centroCusto") == "LJ MIX MATEUS TABULEIRO" + + 57 + <AssignmentController><User>001509</User></AssignmentController> + Usuário + 0 + + + + + + 1 + Transferência Ginseng + 1 + 3 + + + false + 1 + 2 + + + false + false + 0 + + + + 1 + Transferência Ginseng + 1 + 5 + + + false + 2 + 4 + + Gestor Identificado + false + false + 0 + + + + + + + 1 + Transferência Ginseng + 1 + 7 + + + false + 2 + 6 + + Loja sem Gestor + false + false + 0 + + + + 1 + Transferência Ginseng + 1 + 26 + + + false + 24 + 18 + + + false + false + 0 + + + + 1 + Transferência Ginseng + 1 + 41 + + + false + 4 + 6 + + Aprovar + false + false + 0 + + + + 1 + Transferência Ginseng + 1 + 47 + + + false + 18 + 46 + + + false + false + 0 + + + + 1 + Transferência Ginseng + 1 + 48 + + + false + 46 + 24 + + Reprovar + false + false + 0 + + + + 1 + Transferência Ginseng + 1 + 53 + + + false + 4 + 39 + + Reprovar + false + false + 0 + + + + 1 + Transferência Ginseng + 1 + 61 + + + false + 57 + 60 + + Cancelar + false + false + 0 + + + + 1 + Transferência Ginseng + 1 + 82 + + + false + 46 + 52 + + + false + false + 0 + + + + 1 + Transferência Ginseng + 1 + 84 + + + false + 62 + 31 + + Alocar motorista + false + false + 0 + + + + 1 + Transferência Ginseng + 1 + 85 + + + false + 57 + 18 + + Validar produtos recebidos + false + false + 0 + + + + 1 + Transferência Ginseng + 1 + 87 + + + false + 62 + 86 + + Processo finalizado + false + false + 0 + + + + 1 + Transferência Ginseng + 1 + 88 + + + false + 6 + 62 + + Emitida + false + false + 0 + + + + 1 + Transferência Ginseng + 1 + 91 + + + false + 31 + 90 + + + false + false + 0 + + + + 1 + Transferência Ginseng + 1 + 92 + + + false + 90 + 57 + + + false + false + 0 + + + + 1 + Transferência Ginseng + 1 + 94 + + + false + 90 + 93 + + Filial nao identificada + false + false + 0 + + + + + + + + FFFFFF + 794 + 1791 + 20 + 20 + Solicitação de Transferência + 1 + 0 + + 1 + Transferência Ginseng + 1 + 1 + + + + 82b0b7 + 198 + 1761 + 50 + 218 + Gerente de loja + 2 + 1 + + 1 + Transferência Ginseng + 1 + 2 + + + + d0daae + 198 + 1761 + 50 + 416 + Logistica + 2 + 1 + + 1 + Transferência Ginseng + 1 + 3 + + + + d6e0d0 + 198 + 1761 + 50 + 20 + Analista de suprimentos + 2 + 1 + + 1 + Transferência Ginseng + 1 + 4 + + + + adc9ac + 200 + 1761 + 50 + 614 + Motorista + 2 + 1 + + 1 + Transferência Ginseng + 1 + 5 + + + + + + + + + 1 + Transferência Ginseng + 42 + 5 + 1 + + 342 + 100 + + + + 1 + Transferência Ginseng + 42 + 5 + 2 + + 342 + 326 + + + + 1 + Transferência Ginseng + 42 + 7 + 1 + + 279 + 527 + + + + 1 + Transferência Ginseng + 42 + 26 + 1 + + 1422 + 528 + + + + 1 + Transferência Ginseng + 42 + 61 + 1 + + 1552 + 717 + + + + 1 + Transferência Ginseng + 42 + 84 + 1 + + 789 + 717 + + + + 1 + Transferência Ginseng + 42 + 85 + 1 + + 1332 + 316 + + + + 1 + Transferência Ginseng + 42 + 94 + 1 + + 1068 + 627 + + + + + + + + 1 + Transferência Ginseng + anexo_lista1 + + Nome do arquivo + 1 + + + + 1 + Transferência Ginseng + centroCusto + + Filial Destino + 2 + + + + 1 + Transferência Ginseng + dataAbertura + + Data de abertura + 3 + + + + 1 + Transferência Ginseng + estabelecimento + + Filial Emitente + 4 + + + + 1 + Transferência Ginseng + justificativa + + Justificativa + 5 + + + + 1 + Transferência Ginseng + userSolicitante + + Solicitante + 6 + + + + + + + 0 + 0 + Transferência Ginseng + 42 + 4 + approval + title + Solicitação de compra + + + 0 + 0 + Transferência Ginseng + 42 + 4 + approval + description + + + + 0 + 0 + Transferência Ginseng + 42 + 4 + approval + highlight + Centro de Custo - Aprovar solicitação? + + + 0 + 0 + Transferência Ginseng + 42 + 4 + approval + approve + 6 + + + 0 + 0 + Transferência Ginseng + 42 + 4 + approval + reject + 39 + + + 0 + 0 + Transferência Ginseng + 42 + 6 + approval + title + Solicitação de transferência + + + 0 + 0 + Transferência Ginseng + 42 + 6 + approval + description + + + + 0 + 0 + Transferência Ginseng + 42 + 6 + approval + highlight + Transferência + + + 0 + 0 + Transferência Ginseng + 42 + 6 + approval + approve + + + + 0 + 0 + Transferência Ginseng + 42 + 6 + approval + reject + + + + 0 + 0 + Transferência Ginseng + 42 + 24 + approval + title + + + + 0 + 0 + Transferência Ginseng + 42 + 24 + approval + description + + + + 0 + 0 + Transferência Ginseng + 42 + 24 + approval + highlight + + + + 0 + 0 + Transferência Ginseng + 42 + 24 + approval + approve + + + + 0 + 0 + Transferência Ginseng + 42 + 24 + approval + reject + + + + + + \ No newline at end of file diff --git a/workflow/.resources/Solicitação de transferência.png b/workflow/.resources/Solicitação de transferência.png new file mode 100644 index 0000000000000000000000000000000000000000..f17e62b7875577ffe1557c36c73be6c006a8dd95 GIT binary patch literal 45262 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 + + + + volume + + + Default + + + + + mecanismoGrupo + + + + + Tecnologia e Comunicação + + + TIC + + + + + + + Compras Indiretos + + + ComprasIndiretos + + + + + + + Obras e manutenção + + + Manutencao + + + + + + + Aprovadores Compras Nvl 3 + + + AprovadoresComprasNvl3 + + + + + + + Motoristas + + + Motoristas + + + + + + + Requisitantes de Vaga + + + Requisitantesdevaga + + + + + + + Recrutamento + + + Recrutamento + + + + + + + TODOS-TODOS-DIADMISSAO + + + TODOS-TODOS-DIADMISSAO + + + + + + + ResponsavelDesligamento + + + ResponsavelDesligamento + + + + + + + GENTE & CULTURA + + + GENTE_CULTURA + + + + + + + LOJA AL + + + LOJA_AL + + + + + + + CD + + + CD + + + + + + + ESPAÇO DO REVENDEDOR AL + + + ESPACO_DO_REVENDEDOR_AL + + + + + + + FINANCEIRO + + + FINANCEIRO + + + + + + + OPERAÇÕES + + + OPERACOES + + + + + + + AMG AL + + + AMG_AL + + + + + + + REGIONAL ALAGOAS + + + REGIONAL_ALAGOAS + + + + + + + PREVENÇÃO DE PERDA + + + PREVENCAO_DE_PERDA + + + + + + + MARKETING, TREINAMENTO + + + MARKETING_TREINAMENTO + + + + + + + SECRETARIA EXECUTIVA + + + SECRETARIA_EXECUTIVA + + + + + + + DIRETORIA EXECUTIVA + + + DIRETORIA_EXECUTIVA + + + + + + + INFRAESTRUTURA + + + INFRAESTRUTURA + + + + + + + ESPAÇO DO REVENDEDOR BA + + + ESPACO_DO_REVENDEDOR_BA + + + + + + + BUSINESS INTELLIGENCE + + + BUSINESS_INTELLIGENCE + + + + + + + DEPARTAMENTO PESSOAL + + + DEPARTAMENTO_PESSOAL + + + + + + + LOJA BA + + + LOJA_BA + + + + + + + TREINAMENTO + + + TREINAMENTO + + + + + + + AMG BA + + + AMG_BA + + + + + + + MARKETING + + + MARKETING + + + + + + + COMPRAS + + + COMPRAS + + + + + + + AMG SE + + + AMG_SE + + + + + + + LOJA SE + + + LOJA_SE + + + + + + + ESPAÇO DO REVENDEDOR SE + + + ESPACO_DO_REVENDEDOR_SE + + + + + + + VENDAS IN COMPANY + + + VENDAS_IN_COMPANY + + + + + + + REGIONAL BAHIA + + + REGIONAL_BAHIA + + + + + + + CANAL LOJA 01 + + + CANAL_LOJA_01 + + + + + + + AUDITORIA + + + AUDITORIA + + + + + + + CANAL LOJA 02 + + + CANAL_LOJA_02 + + + + + + + PLANEJAMENTO DE DEMANDAS + + + PLANEJAMENTO_DE_DEMANDAS + + + + + + + PROJETOS + + + PROJETOS + + + + + + + COMPLIANCE + + + COMPLIANCE + + + + + + + ESCRITÓRIO - MATRIZ + + + ESCRITORIO_MATRIZ + + + + + + + ESCRITÓRIO - CONQUISTA + + + ESCRITORIO_CONQUISTA + + + + + + + REGIONAL SERGIPE + + + REGIONAL_SERGIPE + + + + + + + Transferencia + + + Transferencia + + + + + + + expediente + + + Default + + + Expediente BackOffice, Logística e Motorista + + + Expediente Escritório Matriz + + + Expediente Lojas + + + + + camposFormulario, documentoId = 590 + + + activity + + + centroCusto + + + codigoItem + + + currentUserId + + + currentUsermail + + + currentUserName + + + dataAbertura + + + descAnexo_Coleta + + + descAnexo_Entrega + + + descAnexo_Nfe + + + descAnexo_Recebimento + + + descricao + + + emailSolicitante + + + estabelecimento + + + excelUpload + + + fdAnexo_Coleta + + + fdAnexo_Entrega + + + fdAnexo_recebimento + + + fnAnexo_Nfe + + + formMode + + + gestorEmail + + + gestorEmailE + + + gestorNome + + + gestorNomeE + + + gestor_cc + + + gestor_cce + + + justificativa + + + quantidadeItem + + + requesterId + + + requesterMail + + + requesterName + + + WKNumProces + + + + + mecanismo + + + + + Atribuição por Associação + + + Associado + + + + + + + Atribuição por Campo de Formulário + + + Campo Formulário + + + + + + + dpf_di_emp_filial_filtro + + + dpf_di_emp_filial_filtro + + + + + + + dpf_di_inicio_diadmissao + + + dpf_di_inicio_diadmissao + + + + + + + Atribuição por Executor de Atividade + + + Executor Atividade + + + + + + + Atribuição por Grupo + + + Grupo + + + + + + + Atribuição por Grupos do Colaborador + + + Grupos Colaborador + + + + + + + mecCustomAprov + + + mecCustomAprov + + + + + + + Atribuição por Papel + + + Papel + + + + + + + Atribuição para um Grupo + + + Pool Grupo + + + + + + + Atribuição para um Papel + + + Pool Papel + + + + + + + Atribuição por Usuário + + + Usuário + + + + + + + diff --git a/workflow/.resources/teste3.ws.cache.bkp b/workflow/.resources/teste3.ws.cache.bkp new file mode 100644 index 0000000..c8ca446 --- /dev/null +++ b/workflow/.resources/teste3.ws.cache.bkp @@ -0,0 +1,155 @@ + + + + + volume + + + Default + + + + + expediente + + + Default + + + Expediente BackOffice, Logística e Motorista + + + Expediente Escritório Matriz + + + Expediente Lojas + + + + + mecanismo + + + + + Atribuição por Associação + + + Associado + + + + + + + Atribuição por Campo de Formulário + + + Campo Formulário + + + + + + + dpf_di_emp_filial_filtro + + + dpf_di_emp_filial_filtro + + + + + + + dpf_di_inicio_diadmissao + + + dpf_di_inicio_diadmissao + + + + + + + Atribuição por Executor de Atividade + + + Executor Atividade + + + + + + + Atribuição por Grupo + + + Grupo + + + + + + + Atribuição por Grupos do Colaborador + + + Grupos Colaborador + + + + + + + mecCustomAprov + + + mecCustomAprov + + + + + + + Atribuição por Papel + + + Papel + + + + + + + Atribuição para um Grupo + + + Pool Grupo + + + + + + + Atribuição para um Papel + + + Pool Papel + + + + + + + Atribuição por Usuário + + + Usuário + + + + + + +