Bringing innovation to tomorrow's climate

At Clivet, the contribution of each member of our team makes a difference. Browse our current job opportunities and find out how you can join the Clivet team.

600+
employees
35
agencies in italy
90
Countries we export to
7
Subsidiaries worldwide
Natural overview from above, our commitment to a sustainable future
Our commitment to a sustainable future

For more than 35 years we have been offering solutions for sustainable comfrot and the well-being of individuals and the environment, using innovative and energy-efficient technologies. Join us on this journey towards a more sustainable future.

Your future starts here

An error occurred while processing the template.
Java method "jdk.proxy3.$Proxy170.getCategory(long)" threw an exception when invoked on jdk.proxy3.$Proxy170 object "com.liferay.portlet.asset.service.impl.AssetCategoryServiceImpl@356e9544"; see cause exception in the Java stack trace.

----
FTL stack trace ("~" means nesting-related):
	- Failed at: #assign categoryTitle = assetCategory...  [in template "10110#2640274#72734807" at line 66, column 57]
----
1<#assign hasCategories = false /> 
2<#assign assetCategoryService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetCategoryService") /> 
3<#assign randomNamespace="0.${turnoverstr(.now?long?string)}"?number?string?replace(".", "") /> 
4 
5<style> 
6  .n_${randomNamespace}.categories-filter .dropdown-toggle { 
7	  text-transform: capitalize; 
8	  display: flex; 
9	  flex-direction: row; 
10		justify-content: space-between; 
11		align-items: center; 
12		height: 50px; 
13		min-width: 240px; 
14		border-color: #E7E7E7; 
15    border-radius: 8px; 
16		background-color: #fff; 
17		font-weight: 400; 
18
19	.n_${randomNamespace}.categories-filter .dropdown-toggle::after { 
20    display: block; 
21    /* margin-left: .255em; */ 
22    /* vertical-align: .255em; */ 
23    content: ""; 
24    /* border-top: .3em solid; */ 
25    /* border-right: .3em solid transparent; */ 
26    /* border-bottom: 0; */ 
27    /* border-left: .3em solid transparent; */ 
28    background-image: url(/o/clivet-liferay-nuance-theme/images/icons/chevron.svg); 
29    width: 24px; 
30    height: 24px; 
31    color: #000; 
32    transform: rotate(0deg); 
33
34	.n_${randomNamespace}.categories-filter .dropdown-item { 
35		text-transform: capitalize; 
36  	color: #000 !important; 
37		font-size: 16px; 
38		font-weight: 400; 
39
40	.n_${randomNamespace}.filter-label { 
41		color: #717171; 
42		font-size: 16px; 
43		font-style: normal; 
44		font-weight: 400; 
45
46	@media only screen and (max-width: 991.98px) { 
47		.n_${randomNamespace}.categories-filter .dropdown, 
48		.n_${randomNamespace}.categories-filter .dropdown-toggle { 
49			width: 100%; 
50
51
52</style> 
53<#assign categoryId = paramUtil.getLong(renderRequest, "categoryId") /> 
54<#assign firstButtonId = "" /> 
55<#if entries?has_content> 
56	<div class="n_${randomNamespace} categories-filter container">  
57		    <div class="n_${randomNamespace} filter-label mb-2 mb-lg-0"><@liferay_ui.message key="filter-by" />:</div> 
58		<div class="d-flex flex-column flex-lg-row justify-content-center align-items-center g-3"> 
59			<#assign index = 0/> 
60			<#list entries as entry> 
61				<#assign categories = entry.getCategories() /> 
62				<#if categories?has_content> 
63					<#assign hasCategories = true /> 
64						<#assign categoryTitle = entry.getUnambiguousTitle(entries, themeDisplay.getSiteGroupId(), themeDisplay.getLocale()) /> 
65						<#if validator.isNotNull(categoryId) && containsCategory(categories, categoryId)> 
66							<#assign categoryTitle = assetCategoryService.getCategory(categoryId).getName() /> 
67						</#if> 
68						<div class="dropdown"> 
69							<#if index == 0 > 
70							  <#assign firstButtonId = "n_${randomNamespace}dropdownMenuButton" />	 
71							</#if> 
72							<button class="btn dropdown-toggle" type="button" id="n_${randomNamespace}dropdownMenuButton" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> 
73    						${categoryTitle} 
74 							</button> 
75							<div class="dropdown-menu" aria-labelledby="n_${randomNamespace}dropdownMenuButton"> 
76								<@displayCategories categories=categories /> 
77							</div> 
78						</div> 
79				</#if> 
80				<#assign index = index + 1/> 
81			</#list> 
82      <#if hasCategories> 
83				<#assign resetCategoryURL = renderResponse.createRenderURL() /> 
84				${resetCategoryURL.setParameter("resetCur", "true")} 
85				${resetCategoryURL.setParameter("categoryId", "")} 
86				<a href="${resetCategoryURL}" class="reset-item btn btn-primary m-auto m-lg-0 justify-content-center"><span class="text-truncate"><@liferay.language key="reset" /></span></a> 
87			</#if> 
88			<#if !hasCategories> 
89				${renderRequest.setAttribute("PORTLET_CONFIGURATOR_VISIBILITY", true)} 
90 
91				<div class="alert alert-info w-100"> 
92					<@liferay_ui.message key="there-are-no-categories" /> 
93				</div> 
94			</#if> 
95		</div> 
96	</div> 
97</#if> 
98 
99<#function containsCategory 
100	categories 
101	lookup 
102
103	<#if categories?has_content> 
104		<#list categories as category> 
105				<#if category.getCategoryId() == lookup> 
106					<#return true /> 
107				</#if> 
108			<#assign childCategories = assetCategoryService.getChildCategories(category.getCategoryId()) /> 
109			<#if childCategories?has_content> 
110				<#return containsCategory(childCategories, lookup)/> 
111			</#if> 
112		</#list> 
113	</#if> 
114	<#return false /> 
115</#function> 
116 
117<#macro displayCategories 
118	categories 
119
120	<#if categories?has_content> 
121			<#list categories as category> 
122					<#assign categoryURL = renderResponse.createRenderURL() /> 
123 
124					${categoryURL.setParameter("resetCur", "true")} 
125					${categoryURL.setParameter("categoryId", category.getCategoryId()?string)} 
126					<#assign categoryURLs = categoryURL.toString()?replace("#p_"+themeDisplay.getPortletDisplay().getId(),"") /> 
127					<a href="${categoryURLs}" class="dropdown-item"><span class="text-truncate">${category.getTitle(themeDisplay.getLocale())}</span></a> 
128 
129					<#if serviceLocator??> 
130						<#assign childCategories = assetCategoryService.getChildCategories(category.getCategoryId()) /> 
131						<@displayCategories categories=childCategories /> 
132					</#if> 
133			</#list> 
134	</#if> 
135</#macro> 
136 
137<#function random > 
138	<#local h="0.${turnoverstr(.now?long?string)}" /> 
139	<#local r=h?number + rnd /> 
140	<#if r >= 1> 
141		<#local r=r-1 /> 
142	</#if> 
143	<#assign rnd=r /> 
144	<#return r/> 
145</#function> 
146 
147<#function turnoverstr str > 
148	<#local l = str?length /> 
149	<#local r = ""/> 
150	<#list 1..l as i> 
151		<#local r = r+str?substring(l-i,l-i+1)/> 
152	</#list> 
153	<#return r/> 
154</#function> 
155 
156 
157<#assign selectedOptionName = "default_value"> 
158<#if filterType?? && filterType.getData()?has_content> 
159    <#if filterType.getData() == 'opzione11682098'> 
160        <#assign selectedOptionName = 'product_filter'> 
161    <#elseif filterType.getData() == 'opzione80749396'> 
162        <#assign selectedOptionName = 'use_case_filter'> 
163    <#elseif filterType.getData() == 'opzione61712593'> 
164        <#assign selectedOptionName = 'job_filter'> 
165    <#elseif filterType.getData() == 'opzione71672717'> 
166        <#assign selectedOptionName = 'content_type_filter'> 
167    <#elseif filterType.getData() == 'opzione22125586'> 
168        <#assign selectedOptionName = 'operator_filter'> 
169    </#if> 
170</#if> 
171					 
172<script> 
173 
174	  $(".n_${randomNamespace}.categories-filter .dropdown-item").on('click', function(event) {  
175    if (typeof sendMeasurementEventFilter === 'function') {   
176		   var filterName = $(this).text(); 
177			  var filterType = '${selectedOptionName}';  
178        sendMeasurementEventFilter('Filter', filterType, filterName, 'no_type'); 
179    } else { 
180      console.error('sendMeasurementEventFilter not defined'); 
181
182  }); 
183	 
184	function fn_${randomNamespace}_fixLabel() { 
185	  let leftBtn = $("#${firstButtonId}").offset().left; 
186		let leftLabel = $(".n_${randomNamespace}.filter-label").offset().left; 
187		$(".n_${randomNamespace}.filter-label").css("paddingLeft", (leftBtn - leftLabel)+'px'); 
188		 
189		 
190
191	$(window).on('resize', function(){ 
192	  fn_${randomNamespace}_fixLabel(); 
193	}); 
194  fn_${randomNamespace}_fixLabel(); 
195</script> 
Process Engineer
Operation
Feltre (BL)

Are you passionate about innovation and continuous improvement? Do you feel the aim to transform production processes through cutting-edge solutions and LEAN principles? Then you are the person we are looking for!
We are looking for a highly motivated and detail-oriented Process Engineer to join our Industrialization team at Clivet Spa. You will cooperate to promote technological improvements, automation and innovative processes, increasing yield, reducing costs and optimizing processes with a view to operational excellence.
You will be responsible for managing the development of the production process and all activities aimed at its engineering and optimization.

More specifically, within the operational team the resource you will be responsible for:

  • Process design and optimization: develop and improve production processes, applying time and method analysis tools and balancing production lines to guarantee efficiency and flexibility.
  • Technological innovation: identify and implement innovative and technological solutions to improve production and logistics flows.
  • Process digitalization: Collaborate with operations teams to introduce automation and digital tools to simplify and enhance production.
  • Line engineering: designing production lines and departments, coordinating logistics activities, managing materials and supervising suppliers and subcontractors for the creation of the lines.
  • Analysis and problem solving: carry out analyzes of non-conformities, propose targeted solutions and define procedures to guarantee the quality and sustainability of the processes.
  • Training and leadership: develop and transfer operational skills by training operators and promoting a corporate culture oriented towards innovation and continuous improvement.

Essential Requirements:

  • Degree in Engineering (Mechanics, Automation, Management or equivalent).
  • Good knowledge of English language.
  • Knowledge, even basic, of lean manufacturing.
  • Familiarity with metallurgical, technological and plant engineering aspects related to metalworking processes.
  • Knowledge of systems, processes and procedures related to industrial production.

It will be even more interesting if you could bring us:

  • Previous experience in the industrial/metalworking sector in areas such as maintenance, production or planning.
  • Proactive approach and leadership skills.
  • Excellent analytical, organizational and problem solving skills.

To apply click here

Didn't find what you were looking for?
We are always interested in receiving new applications