Pessoal, tenho esse script abaixo ao qual consigo salvar anexo de um processo em questão no GED, porém verifiquei que quando tem mais de um anexo ele só salva o primeiro e os outros não, podem me ajudar?
function wfCriarPasta(parametros, pastaPai){
try{
log.info("Parametros: "+parametros);
log.info("Pasta Pai: "+pastaPai);
var cUsrAdm = "user";
var cPass = "senha";
var comentario = "Currículo "+hAPI.getCardValue("nm_nome")+" - "+hAPI.getCardValue("dt_abertura");
var nm_nome = hAPI.getCardValue("nm_nome");
nm_nome = nm_nome.split(" ").join("");
var cb_IndcInt = hAPI.getCardValue("cb_IndcInt");
cb_IndcInt = cb_IndcInt.split(" ").join("");
var aux_profissoes = hAPI.getCardValue("aux_profissoes");
aux_profissoes = aux_profissoes.split(",").join(" ");
var aux_area = hAPI.getCardValue("aux_AreaAtu");
aux_area = aux_area.split(",").join(" ");
var aux_OutrasTags = hAPI.getCardValue("ds_OutrasTags");
aux_OutrasTags = aux_OutrasTags.split(" ").join("");
var indicador = hAPI.getCardValue("zoom_Func");
indicador = indicador.split(" ").join(".");
var palavraschave = "currículos"+ " " + cb_IndcInt + " " + aux_profissoes + " " + hAPI.getCardValue("nm_cidade") + " "
+ aux_area + " " + aux_OutrasTags + " " + hAPI.getCardValue("cb_formacao") + " " + hAPI.getCardValue("cb_procSel") + " " + indicador;
var desc_versaorevisao = "Versão Inicial";
var versaoRevisao = "1.000";
var dateD = getDate();
var dtValido;
var doc_expira = false;
var dtExpira;
var tipo_docto_H = "Cadastros";
var assunto_H = "9"; //Currículos
var notificaEMail = false;
var permiteDownload = true;
var autor_H = cUsrAdm;
var existeNivel = false;
var idPastaCriada = 0;
//var idPastaCriadaNova = " ";
log.info("Instanciando webservice pastas");
var folderServiceProvider = ServiceManager.getServiceInstance("wsFolderService");
log.info("Instanciando Locator pastas");
var folderServiceLocator = folderServiceProvider.instantiate("com.totvs.technology.ecm.dm.ws.ECMFolderServiceService");
var folderService = folderServiceLocator.getFolderServicePort();
log.info("Instanciando port pastas");
for(var x=0; x < parametros.length; x++){
log.info(">>>>>>> Parametros Length: "+parametros.length);
log.info(">>>>>>> Valor do x:"+x);
existeNivel = false;
if(x == 0){
log.info("True");
log.info("Folder Service:");
var user = cUsrAdm;//getValue("cUsrAdm").toString();
log.info("Usuario: "+user);
var folders = folderService.getSubFolders(
cUsrAdm,
cPass,
parseInt(getValue("WKCompany")),
parseInt(pastaPai),
user);
log.info("Folder Depois:");
}else{
log.info("False");
var folders = folderService.getSubFolders(
cUsrAdm,
cPass,
getValue("WKCompany"),
idPastaCriada,
cUsrAdm);
//getValue("cUsrAdm"));
}
log.info("Folder get Item:"+folders.getItem());
if(!folders.getItem().isEmpty()){
log.info("Dentro Get Item");
log.info("Folder Get Item Length: "+folders.getItem().size());
for(var y = 0; y < folders.getItem().size(); y++){
log.info("dentro for y");
var pasta = folders.getItem().get(y);
var nome_pasta = "";
var nome_pasta_publicacao = "";
//var nome_Subpasta_publicacao = "";
nome_pasta = pasta.getDocumentDescription();
log.info("Nome Pasta: "+nome_pasta);
if(parametros[x].data == false){
log.info("Data false");
if(nome_pasta != parametros[x].nomePasta){
existeNivel = false;
log.info("False " + pasta.getDocumentDescription() + " Nivel " + parametros[x].nomePasta );
nome_pasta_publicacao = parametros[x].nomePasta;
//nome_Subpasta_publicacao = parametros[x].nomePasta;
}else{
existeNivel = true;
idPastaCriada = pasta.getDocumentId();
log.info("True " + pasta.getDocumentDescription() + " Nivel " + parametros[x].nomePasta + " Pasta " + pasta.getDocumentId());
break;
}
}else{
log.info("False");
var dataSplit;
if(parametros[x].campoData == null){
log.info("nulo >>>>>>>>>");
var data = new Date();
var dataSplitTemp = getFormattedDate(data);
dataSplit = dataSplitTemp.split("/");
log.info("nulo >>>>> 1 " + dataSplitTemp);
}else{
dataSplit = parametros[x].campoData.split("/");
log.info("nao nulo >>>> " + dataSplit);
}
var dataAtual = new Date(dataSplit[2],dataSplit[1],dataSplit[0]);
var mes = ('0' + (dataAtual.getMonth())).slice(-2);
var ano = dataAtual.getFullYear();
var mesAno = ano + "/" + mes;
if(nome_pasta != mesAno){
existeNivel = false;
log.info("False " + pasta.getDocumentDescription() + " Nivel " + parametros[x].nomePasta );
nome_pasta_publicacao = mesAno;
//nome_Subpasta_publicacao = mesAno;
}else{
existeNivel = true;
idPastaCriada = pasta.getDocumentId();
log.info("True " + pasta.getDocumentDescription() + " Nivel " + parametros[x].nomePasta + " Pasta " + pasta.getDocumentId());
break;
}
}
}
}else{
if(parametros[x].data == false){
log.info("Data False...");
log.info("X: "+x);
log.info("Nome Publicacao: "+parametros[x].nomePasta);
nome_pasta_publicacao = parametros[x].nomePasta;
//nome_Subpasta_publicacao = parametros[x].nomePasta;
log.info("Nome Publicacao: "+nome_pasta_publicacao);
}else{
log.info("Data True...");
var dataSplit;
if(parametros[x].campoData == null){
log.info("nulo >>>>>>>>>");
var data = new Date();
var dataSplitTemp = getFormattedDate(data);
dataSplit = dataSplitTemp.split("/");
log.info("nulo >>>>> 1 " + dataSplitTemp);
}else{
dataSplit = parametros[x].campoData.split("/");
log.info("nao nulo >>>> " + dataSplit);
}
var dataAtual = new Date(dataSplit[2],dataSplit[1],dataSplit[0]);
var mes = ('0' + (dataAtual.getMonth())).slice(-2);
var ano = dataAtual.getFullYear();
var mesAno = ano + "/" + mes;
nome_pasta_publicacao = mesAno;
//nome_Subpasta_publicacao = mesAno;
}
}
log.info("Existe Nivel: "+ existeNivel);
if(existeNivel == false){
log.info("Existe Nivel False...");
var idPastaCriadaTemp = "";
if(x == 0){
log.info("X: "+x);
idPastaCriadaTemp = pastaPai;
}else{
log.info("X: "+x);
idPastaCriadaTemp = idPastaCriada;
}
try{
log.info("Criando a nova pasta...");
log.info("Nome nova pasta: "+nome_pasta_publicacao);
idPastaCriadaNova = folderService.createSimpleFolder(
cUsrAdm,
cPass,
java.lang.Integer(getValue("WKCompany")),
java.lang.Integer(idPastaCriadaTemp),
cUsrAdm,//getValue("cUsrAdm"),
nome_pasta_publicacao);
}catch(e){
log.info("Erro"+e);
}
for(var propriedade in idPastaCriada) {
log.info(propriedade + ": " + idPastaCriadaNova[propriedade]);
}
log.info("Pasta Criada:"+idPastaCriada);
log.info("Funcoes Pasta Criada Nova:"+idPastaCriadaNova);
log.info("Novo id pasta nivel " + idPastaCriadaNova.getItem().get(0).getDocumentId());
idPastaCriada = idPastaCriadaNova.getItem().get(0).getDocumentId();
log.info("Nome pasta criada: "+idPastaCriadaNova.getItem().get(0).getDocumentDescription());
}
}
var pastaPublicacao = idPastaCriada;
log.info("Pasta publicacao" + pastaPublicacao)
var processConstraint = DatasetFactory.createConstraint("processAttachmentPK.processInstanceId", getValue("WKNumProces"),getValue("WKNumProces"), ConstraintType.MUST);
var companyConstraint = DatasetFactory.createConstraint("processAttachmentPK.companyId",getValue("WKCompany"), getValue("WKCompany"), ConstraintType.MUST);
var attachFields = new Array("documentId", "processAttachmentPK.attachmentSequence", "version");
var attachConstList = new Array(processConstraint, companyConstraint);
var attachDataset = DatasetFactory.getDataset("processAttachment", attachFields, attachConstList, new Array("processAttachmentPK.attachmentSequence"));
var fichario;
for(var i = 0; i < attachDataset.rowsCount; i++) {
log.info("Fichario: "+fichario);
fichario = getValue("WKCardId");
log.info("Fichario: "+fichario);
if(attachDataset.getValue(i,"documentId") != fichario) {
log.info("Instanciando webservice");
var documentServiceProvider = ServiceManager.getServiceInstance("wsDocumentService");
log.info("Instanciando Locator");
var documentServiceLocator = documentServiceProvider.instantiate("com.totvs.technology.ecm.dm.ws.ECMDocumentServiceService");
log.info("Instanciando port");
var documentService = documentServiceLocator.getDocumentServicePort();
log.info("documentService: "+documentService);
log.info("Chamando webservice de vers?o");
log.info("Document ID:"+attachDataset.getValue(i,"documentId"));
log.info("Document Version:"+attachDataset.getValue(i,"version"));
//log.info("Usr:"+getValue("cUsrAdm").toString());
log.info("Empresa:"+parseInt(getValue("WKCompany")));
var document = documentService.getDocumentVersion(
cUsrAdm,
cPass,
parseInt(getValue("WKCompany")),
parseInt(attachDataset.getValue(i,"documentId")),
parseInt(attachDataset.getValue(i,"version")),
cUsrAdm);
//getValue("cUsrAdm").toString());
log.info("Document: "+document);
var doc = document.getItem().get(0);
var xmlCalendar = doc.getValidationStartDate();
log.info("xml Calendar: "+xmlCalendar);
doc.setDocumentId(0);
doc.setVersion(0);
doc.setParentDocumentId(new java.lang.Integer(pastaPublicacao));
doc.setAdditionalComments(comentario);
doc.setKeyWord(palavraschave);
doc.setVersionDescription(desc_versaorevisao);
doc.setDocumentTypeId(tipo_docto_H);
doc.setDownloadEnabled(permiteDownload);
doc.setExpires(doc_expira);
doc.setUserNotify(notificaEMail);
doc.setTopicId(new java.lang.Integer(assunto_H));
doc.setPublisherId(autor_H);
doc.setColleagueId(autor_H);
doc.setInheritSecurity(true);
var pos = versaoRevisao.indexOf(".");
doc.setVersion(new java.lang.Integer(versaoRevisao.substring(0, pos) + versaoRevisao.substring(pos +1)));
doc.setVersionOption("0");
doc.setVolumeId("Default");
try
{
doc.setUpdateIsoProperties(false);
}catch(e){}
document.getItem().add(0, doc);
log.info("Chama WS Conteudo do arquivo");
var fContent = documentService.getDocumentContent(
cUsrAdm,
cPass,
getValue("WKCompany"),
attachDataset.getValue(i,"documentId"),
cUsrAdm,//getValue("cUsrAdm"),
attachDataset.getValue(i,"version"),
doc.getPhisicalFile()
);
var attach = documentServiceProvider.instantiate("com.totvs.technology.ecm.dm.ws.Attachment");
attach.setFileName(doc.getPhisicalFile());
attach.setFilecontent(fContent);
attach.setPrincipal(true);
attachArray = documentServiceProvider.instantiate("com.totvs.technology.ecm.dm.ws.AttachmentArray");
attachArray.getItem().add(0,attach);
var relatedArr = documentServiceProvider.instantiate("com.totvs.technology.ecm.dm.ws.RelatedDocumentDtoArray");
var related = new Array();
log.info("Chamando webservice de criacao de documentos");
var securityDTOArray = documentServiceProvider.instantiate("com.totvs.technology.ecm.dm.ws.DocumentSecurityConfigDtoArray");
log.info("Security: "+securityDTOArray);
var approversDTOArray = documentServiceProvider.instantiate("com.totvs.technology.ecm.dm.ws.ApproverDtoArray");
log.info("Approvers: "+approversDTOArray);
var createDoc = documentService.createDocument(
cUsrAdm,
cPass,
getValue("WKCompany"),
document, attachArray, securityDTOArray, approversDTOArray, relatedArr);
var wsm = createDoc.getItem().get(0);
log.info("Document Description: "+wsm.getDocumentDescription());
log.info("Document ID: "+wsm.getDocumentId());
return "ok";
}
}
}catch(e) {
log.info("ERRO AO PUBLICAR DOCUMENTO: " + e.message);
throw e.message;
}
}
function getFormattedDate(date) {
var year = date.getFullYear();
var month = (1 + date.getMonth()).toString();
month = month.length > 1 ? month : '0' + month;
var day = date.getDate().toString();
day = day.length > 1 ? day : '0' + day;
return day + '/' + month + '/' + year;
}
function getDate() {
var fullDate = new Date();
var date = fullDate.getDate().toString();
if (date.length == 1) {
date =0+date;
}
var month = (fullDate.getMonth()+1).toString();
if (month.length == 1) {
month =0+month;
}
var dateD = {
dia: date,
mes: month,
ano: fullDate.getFullYear().toString(),
hora: fullDate.getHours().toString(),
minuto: fullDate.getMinutes().toString(),
segundo: fullDate.getMonth().toString()
};
return dateD;
}
function retiraMascara(valor){
//especialChar = especialChar;
especialChar = String(valor);
/* if (valor.indexOf(',') == -1) {
} else {*/
//valor = valor.replace(/\D/g, '');
// }
// valor = parseFloat(valor).toFixed(2);
//return valor;
especialChar = especialChar.replace('/_+/', '_'); //
}