Pessoal, estou desenvolvendo uma rotina que tem como objetivo ativar ou desativar uma ação agendada utilizando um botão de ação. Via Postman eu até consegui, porém quero fazer isto com botão Java. Olhando os .jar
da Sankhya encontrei alguns códigos no pacote, porém ainda assim não funcionou. Alguém tem alguma dica para solucionar?
Código utilizado para testar:
SchedulerRuntime<String> schedulerRuntime = SchedulerRuntime.create(linha.getCampo("NUAAG").toString(), new SchedulerRuntimeDelegation(), "MyGroupName");
schedulerRuntime.startJob(linha.getCampo("NUAAG").toString());
Outra maneira que eu tentei também foi assim:
// Pega os dados da sessão
DynamicVO usuarioVO = usuarioDAO.findByPK(codUsu);
String domain = (String) MGECoreParameter.getParameter("URLSANKHYAW");
SWServiceInvoker si = new SWServiceInvoker(domain, usuarioVO.asString("NOMEUSU"), usuarioVO.asString("INTERNO"));
si.setCriptedPass(true);
String operador = linha.getCampo("NUAAG").toString() == "S" ? "N" : "S";
ServiceContext serviceContext = new ServiceContext(null);
serviceContext.setAutentication(AuthenticationInfo.getCurrent());
serviceContext.makeCurrent();
SPBeanUtils.setupContext(serviceContext);
String requestBody = "{\"serviceName\":\"DatasetSP.save\",\"requestBody\":{\"dataSetID\":\"00E\",\"entityName\":\"AcaoAgendada\",\"standAlone\":false,\"fields\":[\"NUAAG\",\"ATIVO\",\"NOME\",\"DESCRICAO\",\"TIPOACAO\",\"CODMODULO\",\"ModuloAdicional.DESCRMODULO\",\"ACAO\",\"CODUSULOGIN\",\"Usuario.NOMEUSU\",\"FONTEDADOS\",\"AUTOTRAN\",\"TIPOGATILHO\",\"EXPGATILHO\"],\"records\":[{\"pk\":{\"NUAAG\":\"99\"},\"values\":{\"1\":\"N\"}}],\"ignoreListenerMethods\":\"\",\"clientEventList\":{\"clientEvent\":[{\"$\":\"br.com.sankhya.actionbutton.clientconfirm\"}]}}}";
serviceContext.setJsonRequestBody(new JsonParser().parse(requestBody).getAsJsonObject());
final DatasetSP datasetSP = (DatasetSP) ServiceUtils.getStatelessFacade(DatasetSPHome.JNDI_NAME, DatasetSPHome.class);
datasetSP.save(serviceContext);