04 Mecatrónica

La mecatrónica combina la mecánica, la neumática, los sistemas de control electrónico, la programación, la robótica y el desarrollo de sistemas, y se emplea en el montaje, programación, puesta en marcha, mantenimiento y optimización de los sistemas mecatrónicos presentes en todas las áreas de los sistemas de producción.

Las aplicaciones industriales son múltiples, incluyendo las líneas de embalaje multiproducto, las máquinas para productos enlatados, la maquinaria de elevación y transporte (transportadores automatizados, grúas, máquinas de carga) y los equipos de montaje automático y equipamiento de medición electrónica industrial, entre otros.
 

mecatronica1
mecatronica2
mecatronica3
Se ha producido un error al procesar la plantilla.
The following has evaluated to null or missing:
==> className  [in template "20099#20125#61500" at line 163, column 14]

----
Tip: If the failing expression is known to legally refer to something that's sometimes null or missing, either specify a default value like myOptionalVar!myDefault, or use <#if myOptionalVar??>when-present<#else>when-missing</#if>. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)??
----

----
FTL stack trace ("~" means nesting-related):
	- Failed at: #if className == "com.liferay.journal...  [in template "20099#20125#61500" at line 163, column 9]
----
1<#assign AssetCategoryLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetCategoryLocalService")/> 
2<#assign	requestContainsCategory = themeDisplay.getURLCurrent()?contains('categories') /> 
3 
4<#assign novedadesPortalUtil = serviceLocator.findService("com.abaco.portales.novedades.service.NovedadesPortalUtil") /> 
5<#assign categoryIdRequest = paramUtil.getLong(request, "categoryId")> 
6<#assign publisherEntriesQuery = novedadesPortalUtil.publisherEntriesQuery(portletPreferences, groupId, categoryIdRequest)> 
7<#assign orderedEntries = novedadesPortalUtil.ordenarNovedadesPortal(publisherEntriesQuery)> 
8 
9<#if orderedEntries?has_content> 
10 
11		<#assign unionListadoOrdenado = []> 
12    <#assign contenidosPaginaActual = []> 
13    <#assign numeroDestacadas = 0> 
14 
15    <#-- Usar el servicio para combinar y ordenar las listas --> 
16    <#list orderedEntries as k, v> 
17        <#if k == "destacadas"> 
18            <#assign numeroDestacadas = v?size> 
19        </#if> 
20        <#assign unionListadoOrdenado = unionListadoOrdenado + v > 
21    </#list> 
22		 
23		<#if unionListadoOrdenado?has_content> 
24        <#-- Configurar paginación --> 
25        <#assign totalItems = unionListadoOrdenado?size /> 
26        <#assign itemsPerPage = delta?number />  <#-- Número de elementos por página --> 
27        <#assign currentPage = paramUtil.getInteger(request, "cur", 1) /> 
28        <#assign totalPages = ((totalItems + itemsPerPage - 1) / itemsPerPage)?int /> 
29        <#assign start = (currentPage - 1) * itemsPerPage /> 
30        <#assign end = start + itemsPerPage /> 
31 
32        <#-- Asegurarse de que end no supere totalItems --> 
33        <#if (end > totalItems)> 
34            <#assign end = totalItems /> 
35        </#if> 
36 
37        <#-- Crear una lista de elementos para la página actual --> 
38        <#list (start..end-1) as index> 
39            <#if (index < totalItems)> 
40                <#assign contenido = unionListadoOrdenado[index] /> 
41                <#-- Agregar a la lista de la página actual --> 
42                <#assign contenidosPaginaActual = contenidosPaginaActual + [contenido] /> 
43            </#if> 
44        </#list> 
45    </#if> 
46 
47 
48    <div class="adt-novedades" id="adt-novedades-jda"> 
49        <#assign conta = 1/> 
50        <#list contenidosPaginaActual as curEntry> 
51            <#assign renderer = curEntry.getAssetRenderer() className = renderer.getClassName() /> 
52            <#if className == "com.liferay.journal.model.JournalArticle"> 
53                <#assign journalArticle = renderer.getArticle() 
54                    ddmStructureName = journalArticle.getDDMStructure().getName("es_ES") 
55                    templateKey = "" 
56                    categories = curEntry.getCategories() 
57                /> 
58								 
59								 
60								<#if requestContainsCategory> 
61										<#assign	validEntry =  false /> 
62										<#assign	requestCategoryId = themeDisplay.getURLCurrent()?substring(themeDisplay.getURLCurrent()?last_index_of('/')+1) /> 
63										<#if requestCategoryId?is_number> 
64											<#assign	requestCategoryId = requestCategoryId?number /> 
65											<#list categories as cat> 
66												<#if cat.categoryId == requestCategoryId> 
67													<#assign	validEntry =  true /> 
68												</#if> 
69											</#list> 
70											<#if !validEntry> 
71												<#continue> 
72											</#if>											 
73										</#if> 
74										 
75 
76								</#if> 
77								 
78                <#assign viewURL = (!stringUtil.equals(assetLinkBehavior, "showFullContent"))?then(assetPublisherHelper.getAssetViewURL(renderRequest, renderResponse, curEntry, true), assetPublisherHelper.getAssetViewURL(renderRequest, renderResponse, curEntry)) /> 
79                ${request.setAttribute("viewURL", viewURL )} 
80                ${request.setAttribute("categories", categories )} 
81								 
82 
83                <#-- Procedimiento --> 
84                <#if ddmStructureName == "Procedimiento"> 
85                    <#assign templateKey = "944524" /> <#-- Plantilla novedades_procedimientos --> 
86                </#if> 
87 
88                <#-- Contenido web --> 
89                <#if ddmStructureName == "Contenido web"> 
90                    <#assign templateKey = "109055"/> <#-- Plantilla novedades_contenido_web--> 
91                </#if> 
92								 
93								 <#-- Contenido web extendido--> 
94                <#if ddmStructureName == "Contenido web extendido"> 
95                    <#assign templateKey = "1243488"/> <#-- Plantilla novedades_contenido_web_extendido--> 
96                </#if> 
97 
98                <#-- Enlace --> 
99                <#if ddmStructureName == "Enlace"> 
100                    <#assign templateKey = "4859236"/> <#-- Plantilla novedades_enlace--> 
101                </#if> 
102								 
103								<#-- Normativa --> 
104                <#if ddmStructureName == "Normativa"> 
105                    <#assign templateKey = "273977"/> <#-- Plantilla novedades_normativa--> 
106                </#if> 
107 
108                <#if conta == 1> 
109                    <div class="adt-novedades__container"> 
110                        <div class="adt-novedades__first"> 
111                            <div class="card mb-3"> 
112                                <@liferay_journal["journal-article"] 
113                                    articleId=journalArticle.getArticleId() 
114                                    ddmTemplateKey="${templateKey}" 
115                                    showTitle=false 
116                                    groupId=journalArticle.getGroupId() 
117                                /> 
118                            </div> 
119                        </div> 
120                        <#assign conta++/> 
121                <#elseif conta < 4> 
122                    <#if conta ==2> 
123                        <div class="adt-novedades__second"> 
124                    </#if> 
125                    <div class="card mb-3"> 
126                        <@liferay_journal["journal-article"] 
127                            articleId=journalArticle.getArticleId() 
128                            ddmTemplateKey="${templateKey}" 
129                            showTitle=false 
130                            groupId=journalArticle.getGroupId() 
131                        /> 
132                    </div> 
133                    <#assign conta++/> 
134                <#elseif (conta == 4)> 
135                    <#-- Cierro contenedor-second(flex) --> 
136                    </div> 
137                    <#-- Cierro contenedor(flex) --> 
138                    </div> 
139                    <#-- Abro Segundo contenedor(grid) --> 
140                    <div class="adt-novedades__grid"> 
141                        <div class="card mb-3"> 
142                            <@liferay_journal["journal-article"] 
143                                articleId=journalArticle.getArticleId() 
144                                ddmTemplateKey="${templateKey}" 
145                                showTitle=false 
146                                groupId=journalArticle.getGroupId() 
147                            /> 
148                        </div> 
149                        <#assign conta++/> 
150                <#elseif (conta >= 4)> 
151                    <div class="card mb-3"> 
152                        <@liferay_journal["journal-article"] 
153                            articleId=journalArticle.getArticleId() 
154                            ddmTemplateKey="${templateKey}" 
155                            showTitle=false 
156                            groupId=journalArticle.getGroupId() 
157                        /> 
158                    </div> 
159                    <#assign conta++/> 
160                </#if> 
161            </#if> 
162        </#list> 
163        <#if className == "com.liferay.journal.model.JournalArticle"> 
164            <#if (conta == 2)> 
165                <#-- Cierro contenedor(flex) ya que solo hay un valor --> 
166                </div> 
167            <#elseif (conta == 3)> 
168                <#-- Cierro contenedor (flex) y el second ya que solo hay dos valores --> 
169                    </div> 
170                </div> 
171            <#elseif (conta >= 4)> 
172                <#-- Cierro contenedor(grid) --> 
173                </div> 
174            </#if> 
175        </#if> 
176    </div> 
177</#if> 
178 
179<style> 
180 .adt-novedades__second .journal-content-article { 
181 		height: 100%; 
182
183 .adt-novedades .card .card-container { 
184		height: 100%; 
185
186</style>