Alberto Rodríguez Fernández

Vocal del Consejo Fiscal

Información de contacto

Dirección: c/ Fortuny, 4. 28010. Madrid

Trayectoria

  • Licenciado en Derecho por la Universidad de Oviedo
  • En 1996 ingresó en la Carrera Fiscal y en 1997 se incorporó a su primer destino en la entonces Adscripción de Ferrol de la Fiscalía del Tribunal Superior de Justicia de Galicia.
  • En 2006 se trasladó a la entonces Fiscalía del Tribunal Superior de Justicia de Galicia en A Coruña y fue nombrado Fiscal coordinador de Delitos Informáticos.
  • Entre 2008 y 2024 desempeñó sus funciones como Fiscal de la Fiscalía de la C.A. del Principado de Asturias en Oviedo.
  • Desde 2018 a 2024 fue el Fiscal encargado de los Delitos contra la Administración Pública de la Fiscalía de la C.A. del Principado de Asturias.
  • Desde 2013 a 2025 fue Fiscal Delegado de Tutela Penal de la Igualdad y contra la Discriminación de la Fiscalía de la C.A. del Principado de Asturias.
  • Desde 2009 y hasta la actualidad es Fiscal Delegado de Delincuencia Informática de la Fiscalía de la C.A. del Principado de Asturias.
  • Desde 2011 y hasta la actualidad es Fiscal responsable del Sistema de Información del Ministerio Fiscal (SIMF) de la Fiscalía de la C.A. del Principado de Asturias.
  • Por Real Decreto 305/2024, de 19 de marzo, fue nombrado Fiscal Jefe de Área de la Fiscalía de Área de Gijón.
Tipo de Documento
Se ha producido un error al procesar la plantilla.
When calling macro "printDocumentTitle", required parameter "docTitulo" (parameter #2) was specified, but had null/missing value.

----
Tip: If the parameter value expression on the caller side is known to be legally null/missing, you may want to specify a default value for it with the "!" operator, like paramValue!defaultValue.
----

----
FTL stack trace ("~" means nesting-related):
	- Failed at: #macro printDocumentTitle documentUrl...  [in template "13333257#13333299#13750832" in macro "printDocumentTitle" at line 112, column 1]
	- Reached through: @printDocumentTitle documentUrlPrinci...  [in template "13333257#13333299#13750832" at line 84, column 49]
----
1<#assign classNameLocalService = serviceLocator.findService("com.liferay.portal.kernel.service.ClassNameLocalService")/> 
2<#assign dlFileEntryLocalService = serviceLocator.findService("com.liferay.document.library.kernel.service.DLFileEntryLocalService")/> 
3<#assign dlFileEntryTypeLocalService = serviceLocator.findService("com.liferay.document.library.kernel.service.DLFileEntryTypeLocalService")/> 
4<#assign dlFileEntryMetadataLocalService = serviceLocator.findService("com.liferay.document.library.kernel.service.DLFileEntryMetadataLocalService")/> 
5<#assign friendlyURLLocalService = serviceLocator.findService("com.liferay.friendly.url.service.FriendlyURLEntryLocalService")/> 
6<#assign storageEngineManagerUtil = objectUtil("com.liferay.dynamic.data.mapping.kernel.StorageEngineManagerUtil")/> 
7 
8<#assign groupLocalService = serviceLocator.findService("com.liferay.portal.kernel.service.GroupLocalService")/> 
9<#assign layout = themeDisplay.getLayout()> 
10	<#if layout??> 
11		<#if layout.isPrivateLayout()> 
12			<#assign fiscalRepositoryGroup = groupLocalService.getGroup(companyId, "FISCAL_Zona_Privada")/> 
13		<#else> 
14			<#assign fiscalRepositoryGroup = groupLocalService.getGroup(companyId, "Guest")/> 
15		</#if> 
16		<#assign repositoryFriendlyUrl = fiscalRepositoryGroup.getFriendlyURL()/> 
17	<#assign imgUrlBase = "/documents/d"+repositoryFriendlyUrl+"/"/> 
18	</#if> 
19<#assign documentUrlPrincipal = ""/> 
20<#assign fileEntryTypeName = ""/> 
21 
22<#if entries?has_content> 
23	<ul class="mj-links-list"> 
24		<#list entries as curEntry> 
25			<li> 
26				<#assign dlFileEntry = dlFileEntryLocalService.getDLFileEntry(curEntry.classPK) /> 
27				<#assign classNameId = classNameLocalService.getClassNameId("com.liferay.portal.kernel.repository.model.FileEntry") /> 
28				<#assign friendlyURLEntry = friendlyURLLocalService.getMainFriendlyURLEntry(classNameId, curEntry.classPK) /> 
29				<#assign friendlyURLEntryLocalization = friendlyURLLocalService.getFriendlyURLEntryLocalization(friendlyURLEntry.getFriendlyURLEntryId(), themeDisplay.getLanguageId()) /> 
30				<#if dlFileEntry.getSize() gt 0 > 
31					<#assign documentUrlPrincipal = getDocumentUrl(repositoryFriendlyUrl, friendlyURLEntryLocalization.getUrlTitle(), false)/> 
32				<#else> 
33					<#assign documentUrlPrincipal = "" /> 
34				</#if>    
35				 
36				<#assign descripcion = dlFileEntry.getDescription() /> 
37				<#assign fileEntryType = dlFileEntryTypeLocalService.getFileEntryType(dlFileEntry.getFileEntryTypeId()) /> 
38				<#assign fileEntryTypeName = fileEntryType.getName(locale) /> 
39				<#assign fileEntryMetadata = dlFileEntryMetadataLocalService.getFileEntryMetadata(fileEntryType.getDataDefinitionId(), dlFileEntry.getLatestFileVersion(true).getFileVersionId()) /> 
40				<#assign ddmFormValues = storageEngineManagerUtil.getDDMFormValues(fileEntryMetadata.getDDMStorageId()) /> 
41				<#assign ddmFormFieldValues = ddmFormValues.getDDMFormFieldValues()/>       
42 
43				<#if fileEntryTypeName=="DOCUMENTO" > 
44 
45					<#-- start --> 
46					<#list ddmFormFieldValues as field> 
47						<#assign reference = field.getFieldReference() /> 
48						<#if reference=="titulo" > 
49							<#assign documentTitulo = (field.getValue().getString(locale)?has_content)?then(field.getValue().getString(locale),dlFileEntry.fileName) /> 
50						<#elseif reference=="fecha"> 
51							<#assign documentFecha = field.getValue().getString(locale)/> 
52						</#if> 
53 
54					</#list> 
55					<#-- html --> 
56					<div> 
57						<@printDocumentTitle documentUrlPrincipal documentTitulo /> 
58						<div> 
59							<#if documentFecha?? && documentFecha!=""> 
60								<#assign documentFecha_DateObj = dateUtil.parseDate("yyyy-MM-dd", documentFecha, locale)>  
61								<#assign documentFechaFormat = dateUtil.getDate(documentFecha_DateObj, "dd/MM/yyyy", locale)/> 
62								<p class="mb-0"><time class="mj-datetime" datetime="${documentFecha_DateObj?date?iso_utc}">${documentFechaFormat}</time></p> 
63							</#if> 
64						</div> 
65					</div> 
66				<#else> 
67					<#assign fechaLugarList = []/> 
68					<#list ddmFormFieldValues as ddmFormFieldValue> 
69						<#assign nestedDDNFormFieldValues = ddmFormFieldValue.getNestedDDMFormFieldValues()/> 
70						<#assign documentTitulo = "" /> 
71						<#list nestedDDNFormFieldValues as field> 
72							<#assign reference = field.getFieldReference() /> 
73							<#if reference=="titulo" > 
74								<#assign documentTitulo = field.getValue().getString(locale) /> 
75							<#elseif reference=="lugar" > 
76								<#assign lugarItem = field.getValue().getString(locale) /> 
77							<#elseif reference=="fecha"> 
78								<#assign fechaItem = field.getValue().getString(locale)/> 
79							</#if> 
80						</#list> 
81						<#assign fechaLugarList = fechaLugarList+[{'fecha':fechaItem, 'lugar':lugarItem}]/> 
82					</#list> 
83					<div> 
84						<@printDocumentTitle documentUrlPrincipal documentTitulo /> 
85						<#if fechaLugarList?has_content> 
86							<@printFechaLugarList fechaLugarList /> 
87						</#if> 
88					</div> 
89				</#if> 
90				<a class="mj-link-download" href="${documentUrlPrincipal}" download aria-label="<@liferay.language key='download' /> ${documentTitulo}"> 
91					${languageUtil.format(locale, "download-x", dlFileEntry.extension?upper_case, false)} 
92				</a> 
93			</li> 
94		</#list> 
95	</ul> 
96</#if> 
97 
98 
99<#function getDocumentUrl repositoryUrl title isDownload> 
100	<#if repositoryUrl?? && repositoryUrl!="" && title?? && title!="" > 
101		<#if isDownload?? && isDownload==true > 
102			<#return "/documents/d"+repositoryUrl+"/"+title+"?download=true"> 
103		<#else> 
104			<#return "/documents/d"+repositoryUrl+"/"+title > 
105		</#if> 
106	<#else> 
107		<#return ""> 
108	</#if> 
109</#function> 
110 
111 
112<#macro printDocumentTitle documentUrl docTitulo> 
113	<#if docTitulo?? && docTitulo!=""> 
114		<p class="mj-links-list__text mb-2"> 
115		<#if documentUrl?? && documentUrl!="">  
116			<a href="${documentUrl}?download=false" target="_blank" title="<@liferay.language key='opens-new-window'/>">${htmlUtil.escape(docTitulo)} 
117			</a> 
118		<#else> 
119			${htmlUtil.escape(docTitulo)} 
120		</#if> 
121		</p> 
122	</#if> 
123</#macro> 
124 
125<#macro printFechaLugarList fechaLugarList >	 
126	<ul class="list-unstyled"> 
127		<#list fechaLugarList as fechaLugarItem> 
128			<#assign documentFecha_DateObj = dateUtil.parseDate("yyyy-MM-dd", fechaLugarItem.fecha, locale)>  
129			<#assign documentFechaFormat = dateUtil.getDate(documentFecha_DateObj, "dd/MM/yy", locale)/> 
130			<li class="d-block border-bottom-0 p-0"> 
131				<p class="mb-0"> 
132					<#if fechaLugarItem.fecha?has_content > 
133						<time datetime="${fechaLugarItem.fecha}">${documentFechaFormat}</time> 
134					</#if> 
135					<#if fechaLugarItem.lugar?has_content > 
136						 - <strong><@liferay.language key="fiscal-templates.equipo.discurso-intervencion.place" />:</strong> 
137						<span>${fechaLugarItem.lugar}</span> 
138					</#if> 
139				</p> 
140			</li> 
141		</#list> 
142	</ul> 
143</#macro>