115 lines
3.6 KiB
JavaScript
115 lines
3.6 KiB
JavaScript
function createDataset(fields, constraints, sortFields) {
|
|
|
|
var ds = DatasetBuilder.newDataset();
|
|
ds.addColumn("Solicitacao");
|
|
ds.addColumn("Status");
|
|
|
|
// CONFIGURAÇÕES
|
|
var PROCESSO = "FlowEssentials_AberturaDeChamado";
|
|
var URL = "https://comerciode188006.fluig.cloudtotvs.com.br";
|
|
var USER = "andrey.cunha";
|
|
var PASS = "88253332Wa@"; // <-- coloque aqui a senha do usuário
|
|
|
|
var LOTES = 200; // processa 200 solicitações por vez (pode aumentar)
|
|
|
|
try {
|
|
|
|
// BUSCA TODAS AS SOLICITAÇÕES
|
|
var dsProc = DatasetFactory.getDataset(
|
|
"workflowProcess",
|
|
["workflowProcessPK.processInstanceId"],
|
|
[
|
|
DatasetFactory.createConstraint("processId", PROCESSO, PROCESSO, ConstraintType.MUST)
|
|
],
|
|
null
|
|
);
|
|
|
|
log.info("### TOTAL DE PROCESSOS ENCONTRADOS: " + dsProc.rowsCount);
|
|
|
|
// IMPORTA CLASSES DO WEBSERVICE
|
|
var authService = ServiceManager.getService("ECMCardService");
|
|
var serviceInstance = authService.instantiate("com.totvs.technology.ecm.dm.ws.ECMCardServiceService");
|
|
var port = serviceInstance.getECMCardServicePort();
|
|
|
|
// Processar lote por lote
|
|
for (var i = 0; i < dsProc.rowsCount; i++) {
|
|
|
|
var idSolic = dsProc.getValue(i, "workflowProcessPK.processInstanceId");
|
|
|
|
try {
|
|
|
|
// PEGA O CARD DE ORIGEM
|
|
var cardData = port.getCardData(
|
|
USER,
|
|
PASS,
|
|
1, // companyId
|
|
idSolic
|
|
);
|
|
|
|
// REESCREVE OS CAMPOS
|
|
var newCard = [];
|
|
|
|
var CAMPOS = [
|
|
"requesterName",
|
|
"requesterMail",
|
|
"requesterId",
|
|
"currentUserName",
|
|
"currentUsermail",
|
|
"currentUserId",
|
|
"userSolicitante",
|
|
"emailSolicitante",
|
|
"nomeGestorArea",
|
|
"emailGestorArea",
|
|
"estabelecimentoFilial",
|
|
"complemento",
|
|
"tipoOcorrencia",
|
|
"tituloOcorrencia",
|
|
"detalheSolicitacao",
|
|
"analistaTecnico",
|
|
"dataAnaliseTecnica",
|
|
"consegueResolver",
|
|
"possuiInconsistencia",
|
|
"consideracoesTecnicas",
|
|
"userValidacao",
|
|
"dataUserValidacao",
|
|
"situacaoResolvida",
|
|
"ratingValue",
|
|
"consideracoes",
|
|
"dataAbertura"
|
|
];
|
|
|
|
// MONTA ARRAY DOS CAMPOS
|
|
for (var j = 0; j < CAMPOS.length; j++) {
|
|
var nomeCampo = CAMPOS[j];
|
|
var valorCampo = cardData.get(nomeCampo) ? cardData.get(nomeCampo).get(0) : "";
|
|
newCard.push({
|
|
item: {
|
|
key: nomeCampo,
|
|
value: valorCampo
|
|
}
|
|
});
|
|
}
|
|
|
|
// GRAVA O CARD ATUALIZADO
|
|
port.updateCardData(
|
|
USER,
|
|
PASS,
|
|
1, // tenant/companyId
|
|
idSolic,
|
|
newCard
|
|
);
|
|
|
|
ds.addRow([idSolic, "OK"]);
|
|
|
|
} catch (err1) {
|
|
ds.addRow([idSolic, "ERRO: " + err1]);
|
|
}
|
|
}
|
|
|
|
} catch (err2) {
|
|
ds.addRow(["GERAL", "ERRO: " + err2]);
|
|
}
|
|
|
|
return ds;
|
|
}
|