var estProdAgendaCompraEstArvMercCategoriaMapper = mapperFactory.createMapper("EstProdAgendaCompraEstArvMercCategoria");
var estProdAgendaCompraMapper = mapperFactory.createMapper("EstProdAgendaCompra");
var inserir = message.get("inserir");
var remover = message.get("remover");

try{
	for(var i=0; i<inserir.size(); i++){
		inserir.get(i).put("dtCad", new java.text.SimpleDateFormat('yyyy-MM-dd').format(new Date()));
		estProdAgendaCompraEstArvMercCategoriaMapper.insert('incluirEstProdAgendaCompraEstArvMercCategoria', inserir.get(i));
	}
	
	if(remover.size()>0){
		estProdAgendaCompraEstArvMercCategoriaMapper.insert('excluirEstProdAgendaCompraEstArvMercCategoriaEmMassa', message);
	}
	
	//ATUALIZA AGENDA DE COMPRA MODIFICADA DURANTE OS VINCULOS
	var agendaDeCompra = {
		'cdEmp': 1,
		'cdCtrAgenda': message.get("cdCtrAgenda"),
		'cdUsuAlt': message.get("cdUsu"),
		'dtUltAlt': new java.text.SimpleDateFormat('yyyy-MM-dd').format(new Date())
	};
	estProdAgendaCompraMapper.update('alterarEstProdAgendaCompra', agendaDeCompra);
	estProdAgendaCompraMapper.commit();
	
	estProdAgendaCompraEstArvMercCategoriaMapper.commit();
	var objectRequest = {
			'cdCtrAgenda': message.get("cdCtrAgenda")
	};
	var retorno = {
			'categorias': estProdAgendaCompraEstArvMercCategoriaMapper.selectList('listarEstProdAgendaCompraEstArvMercCategoriaComDescricao', objectRequest)
	};
	retorno;
}catch(err) {
    java.lang.System.out.println(err);
    estProdAgendaCompraEstArvMercCategoriaMapper.rollback();
    estProdAgendaCompraMapper.rollback();
    
    throw " Ocorreu um erro: " + err;
}