Pessoal, boa tarde!
Preciso desenvolver um DATASET que traga campos do formulário e também as datas de quando o processo estava em determinada etapa do processo. Esses dados serão disponibilizados na API de dataset do Fluig para consumo externo. Minha dificuldade, é conseguir juntar os dados do formulário com os dados (data da etapa) no dataset.
Alguém tem algum exemplo de como isso funciona na criação do dataset customizado?
Muito Obrigado!
Afonso
Junho 21, 2022, 12:37am
2
boa Noite. Eu acho bem dificil voce achar um Dataset padrao que faça isso, é mais facil voce criar um dataset customizado lendo as tabelas do Fluig.
sendo que a tabela do formulario voce teria que verificar qual é lendo a tabela META_lista
function createDataset(fields, constraints, sortFields) {
var newDataset = DatasetBuilder.newDataset();
newDataset.addColumn("NUM_PROCES");
newDataset.addColumn("SOLICITANTE");
newDataset.addColumn("DATASOLIC");
var SQL = " SELECT PW.NUM_PROCES, FDN_USER.FULL_NAME AS 'SOLICITANTE', DATE(PW.START_DATE) AS 'DATASOLIC',"+
" FORM.nom_pessoa_fisic AS 'FUNCIONARIO' "+
" FROM PROCES_WORKFLOW PW"+
" INNER JOIN ANEXO_PROCES AP ON (PW.COD_EMPRESA = PW.COD_EMPRESA AND PW.NUM_PROCES = AP.NUM_PROCES AND PW.NUM_SEQ_ANEXO_PRINC = AP.NUM_SEQ_ANEXO)"+
" INNER JOIN ml001016 FORM ON (AP.NR_DOCUMENTO = FORM.documentid AND AP.NR_VERSAO = FORM.version)"+
" INNER JOIN FDN_USERTENANT ON(FDN_USERTENANT.TENANT_ID = PW.COD_EMPRESA AND FDN_USERTENANT.LOGIN = PW.COD_MATR_REQUISIT)"+
" INNER JOIN FDN_USER ON(FDN_USER.USER_ID = FDN_USERTENANT.USER_ID)"+
" WHERE PW.COD_DEF_PROCES = 'wfSolicitacaoTreinamento'"+
" AND PW.STATUS <> 1";
log.info("Ds_Busca_SolicRH - SQL: " + SQL);
var connectionWD = null;
var statementWD = null;
var rsWD = null;
try {
var contextWD = new javax.naming.InitialContext();
var dataSourceWD = contextWD.lookup("java:/jdbc/AppDS");
connectionWD = dataSourceWD.getConnection();
statementWD = connectionWD.prepareStatement(SQL);
rsWD = statementWD.executeQuery();
while(rsWD.next()) {
newDataset.addRow(new Array(rsWD.getString("NUM_PROCES"),
rsWD.getString("SOLICITANTE"),
rsWD.getString("DATASOLIC")));
}
} catch (e) {
log.info("Ds_Busca_SolicRH - ERRO 2: " + e.message + "(#" + e.lineNumber + ")");
} finally {
if (rsWD != null) {
rsWD.close();
}
if (statementWD != null) {
statementWD.close();
}
if (connectionWD != null) {
connectionWD.close();
}
}
return newDataset;
}