Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function defineStructure() {
- addColumn("processInstanceId");
- addColumn("processId");
- addColumn("cancelado");
- addColumn("excluido");
- addColumn("doc_excluido");
- setKey(["processInstanceId"]);
- addIndex(["processInstanceId"]);
- }
- function onSync(lastSyncDate) {
- /*function createDataset(fields, constraints, sortFields) {*/
- var dataset = DatasetBuilder.newDataset();
- /* dataset.addColumn("processInstanceId");
- dataset.addColumn("processId");
- dataset.addColumn("retorno");*/
- try {
- var datasetWorkflowProcess = DatasetFactory.getDataset('workflowProcess', [
- "workflowProcessPK.processInstanceId",
- "processId",
- "cardDocumentId",
- "status"
- ], [
- DatasetFactory.createConstraint('sqlLimit', '2000', '2000', ConstraintType.MUST),
- /* DatasetFactory.createConstraint('status', '1', '2', ConstraintType.MUST),
- DatasetFactory.createConstraint('cardDocumentId', '', '', ConstraintType.MUST_NOT),*/
- DatasetFactory.createConstraint('requesterId', 'academy.aluno', 'academy.aluno', ConstraintType.MUST)
- ], ["workflowProcessPK.processInstanceId;asc"]);
- for (var index = 0; index < datasetWorkflowProcess.rowsCount; index++) {
- var processInstanceId = datasetWorkflowProcess.getValue(index, "workflowProcessPK.processInstanceId");
- var processId = datasetWorkflowProcess.getValue(index, "processId");
- var status = String(datasetWorkflowProcess.getValue(index, "status"));
- var cardDocumentId = datasetWorkflowProcess.getValue(index, "cardDocumentId");
- var total = datasetWorkflowProcess.rowsCount;
- var cancelado = null;
- var excluiuDocumento = null;
- if (status != "1" && status != "2") {
- cancelado = cancelar(1, "academy.aluno", "academy.aluno", parseInt(processInstanceId));
- }
- var excluiuSolicitacao = excluirSolicitacao(parseInt(processInstanceId));
- if (cardDocumentId != undefined && cardDocumentId != null && cardDocumentId != "") {
- excluiuDocumento = excluirDocumento(1, "academy.aluno", "academy.aluno", "delete", cardDocumentId);
- excluiuDocumento = String(excluiuDocumento) + " - " + String(cardDocumentId);
- }
- log.info(String(index) + ' de ' + total
- + "\nCancelando: " + processId + ' - ' + String(processInstanceId)
- + "\ncancelado: " + cancelado
- + "\nexcluiuSolicitacao: " + excluiuSolicitacao
- + "\ncardDocumentId: " + cardDocumentId
- + "\nexcluiuDocumento: " + excluiuDocumento
- + "\nstatus: " + status);
- dataset.addOrUpdateRow([String(processInstanceId), processId, cancelado, excluiuSolicitacao, excluiuDocumento]);
- }
- } catch (e) {
- dataset = DatasetBuilder.newDataset();
- dataset.addOrUpdateRow([e.message, e.lineNumber]);
- //dataset.addRow([e.message, e.lineNumber]);
- }
- return dataset;
- }
- function cancelar(company, user, password, processInstanceId) {
- // Inicia o serviço
- var wep = ServiceManager.getServiceInstance("ECMWorkflowEngineService");
- var wel = wep.instantiate("com.totvs.ECMWorkflowEngineServiceService");
- var wes = wel.getWorkflowEngineServicePort();
- try {
- resultado = wes.cancelInstance(user, password, company, processInstanceId, user, "Cancelado via dataset");
- return resultado;
- }
- catch (e) {
- log.error("ERRO: " + e.message);
- return "ERRO: " + e.message;
- }
- }
- function excluirSolicitacao(nroSolicitacao) {
- // https://lab.fluig.com/ecm/api/rest/ecm/processdelete/getInstancesToDelete
- try {
- var params = { "selectedRows": [String(nroSolicitacao)] }
- var clientService = fluigAPI.getAuthorizeClientService();
- var data = {
- companyId: String(getValue("WKCompany")),
- serviceCode: 'fluig',
- endpoint: '/ecm/api/rest/ecm/processdelete/deleteInstances',
- method: 'POST',
- // Conteúdo do JSON que será enviado no POST
- params: params,
- // Aqui você pode incluir algum Header se necessário
- headers: {}
- }
- var vo = clientService.invoke(JSON.stringify(data));
- var objeto2 = JSON.parse(vo.getResult())
- return objeto2.content;
- }
- catch (e) {
- log.error("ERRO: " + e.message);
- return "ERRO: " + e.message;
- }
- }
- function excluirDocumento(company, user, password, action, cardId) {
- try {
- var properties = {};
- var result = null;
- properties["disable.chunking"] = "true";
- properties["log.soap.messages"] = "true";
- /* Create */
- var serviceManager = ServiceManager.getService("ECMCardService");
- var serviceInstance = serviceManager.instantiate("com.totvs.technology.ecm.dm.ws.ECMCardServiceService");
- var service = serviceInstance.getCardServicePort();
- var customClient = serviceManager.getCustomClient(service, "com.totvs.technology.ecm.dm.ws.CardService", properties);
- if (action == "delete") {
- result = customClient.deleteCard(parseInt(company), String(user), String(password), parseInt(cardId));
- }
- if (result.getItem().get(0).getWebServiceMessage().equals("ok")) {
- return String(result.getItem().get(0).getWebServiceMessage());
- }
- else {
- log.error("Não foi: " + result.getItem().get(0).getWebServiceMessage());
- return "Não foi: " + result.getItem().get(0).getWebServiceMessage();
- }
- }
- catch (e) {
- log.error("ERRO: " + e.message + " - Linha: " + e.lineNumber);
- return "ERRO: " + e.message + " - Linha: " + e.lineNumber;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement