
Resultados confirmam retomada da sustentabilidade
A Unimed CNU apresentou, nas reuniões dos Conselhos de Administração e Fiscal realizadas em 26 e 27 de novembro, a demonstração dos resultados até o mês de outubro. Os números confirmam a evolução contínua da cooperativa e a retomada dos fundamentos para a sustentabilidade econômico-financeira, reforçando um cenário favorável para 2026.
O resultado operacional alcançou R$ 223,6 milhões de janeiro a outubro, e já representa o melhor desempenho histórico da Unimed CNU . Como reflexo, o resultado líquido segue em trajetória consistente, somando R$ 201,2 milhões, frente ao prejuízo de R$ -385 milhões no mesmo período de 2024. O resultado financeiro positivo no mês também compõe o quadro deste ano.
O avanço na geração operacional de caixa possibilita a redução continuada do endividamento líquido, que caiu de R$ 787 milhões em dezembro passado para R$ 185 milhões em outubro deste ano. Além disso, a cooperativa efetuou o pagamento de R$ 664 milhões correspondentes a despesas do passado.
O presidente da CNU, Luiz Otávio de Andrade, destacou o avanço estrutural conquistado ao longo do ano: “O cenário evidencia a consolidação do trabalho que estamos realizando, com a participação fundamental de nossas Sócias. Recuperamos o resultado operacional neste ano e, em 2026, teremos também o resultado financeiro positivo. Hoje, já podemos enxergar um horizonte concreto de novas possibilidades de investimento na nossa cooperativa, consequência direta desse esforço coletivo e da responsabilidade que todos compartilhamos”, afirma.
Os indicadores evidenciam o compromisso da Unimed CNU com a busca contínua por eficiência operacional e assistencial, governança corporativa e responsabilidade financeira , consolidando as bases para um novo ciclo de confiança, competitividade de mercado e capacidade de investimento.
The following has evaluated to null or missing:
==> journalArticle.getDisplayDate [in template "53466405417913#7352900#7367229" at line 71, column 34]
----
Tip: It's the step after the last dot that caused this error, not those before it.
----
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: #assign articleDate = journalArticle... [in template "53466405417913#7352900#7367229" at line 71, column 11]
----
1<style>
2 #socias-posts-relacionados-wrapper {
3 box-shadow: 0px 2px 4px 0px rgba(39, 40, 51, 0.12);
4 border-radius: 16px;
5 padding: 25px;
6 border: solid 1px rgba(107, 108, 126, 0.2);
7 background-color: rgba(255, 255, 255, 1);
8 display: flex;
9 flex-direction: column;
10 gap: 32px;
11 }
12
13 #socias-posts-relacionados-wrapper .socias-card-post-relacionados {
14 display: flex;
15 flex-direction: column;
16 gap: 16px;
17 }
18
19 #socias-posts-relacionados-wrapper .principal-title {
20 font-family: 'Unimed Sans';
21 color: #141419;
22 font-size: 1.25rem;
23 line-height: 1.75rem;
24 font-weight: 700;
25 margin: 0px;
26 }
27
28 #socias-posts-relacionados-wrapper .socias-post-relacionado-link {
29 font-size: 1rem;
30 line-height: 1.375rem;
31 font-weight: 700;
32 color: #141419;
33 font-family: 'Unimed Sans';
34 }
35
36 #socias-posts-relacionados-wrapper .socias-post-relacionado-link:hover {
37 text-decoration: underline;
38 }
39
40 #socias-posts-relacionados-wrapper .socias-date {
41 font-size: 1rem;
42 line-height: 1.375rem;
43 font-weight: 400;
44 color: #6B6C7E;
45 }
46
47 @media (max-width: 800px) {
48 #socias-posts-relacionados-wrapper {
49 margin: 32px 16px;
50 }
51 }
52</style>
53<#assign AssetEntryLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetEntryLocalService") />
54<#assign GroupLocalService = serviceLocator.findService("com.liferay.portal.kernel.service.GroupLocalService") />
55<#assign AssetVocabularyLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetVocabularyLocalService") />
56
57<#assign AssetEntryLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetEntryLocalService") />
58<#assign HtmlUtil = staticUtil["com.liferay.portal.kernel.util.HtmlUtil"] />
59
60<div id="socias-posts-relacionados-wrapper">
61 <h3 class="principal-title">Posts relacionados</h3>
62
63 <div>
64 <#if entries?has_content>
65 <div class="socias-card-post-relacionados">
66 <#list entries as entry>
67 <#assign assetEntry = AssetEntryLocalService.getEntry(entry.getClassName(), entry.getClassPK()) />
68 <#assign assetRenderer = assetEntry.getAssetRenderer() />
69 <#assign journalArticle = assetRenderer.getAssetObject() />
70 <#assign assetCategories = assetEntry.getCategories() />
71 <#assign articleDate = journalArticle.getDisplayDate()?string("dd'/'MM'/'yyyy") />
72
73 <#-- Reading time (words per minute = 200) -->
74 <#assign rawContent = journalArticle.getContent()?if_exists!"" />
75 <#assign textContent = HtmlUtil.stripHtml(rawContent) />
76 <#assign textContent = HtmlUtil.unescape(textContent) />
77 <#assign textContent = textContent?replace("\\$\\{[^}]+\\}", "", "r") />
78 <#assign textContent = textContent?replace("\\]\\]>", "", "r") />
79 <#assign textContent = textContent?replace(" ", " ", "r") />
80 <#assign textContent = textContent?replace("\n", " ", "r") />
81 <#assign textContent = textContent?replace("\r", " ", "r") />
82 <#assign textContent = textContent?replace("\t", " ", "r") />
83 <#assign textContent = textContent?replace("\\s+", " ", "r")?trim />
84 <#assign words = (textContent?length > 0)?then(textContent?split(" ")?size, 0) />
85 <#assign wpm = 200 />
86 <#assign minutes = (words / wpm)?ceiling />
87 <#if minutes < 1><#assign minutes = 1 /></#if>
88 <#assign assetCategories = assetEntry.getCategories() />
89 <#assign articleDate = journalArticle.getCreateDate()?string("dd'/'MM'/'yyyy") />
90
91 <#-- Monta link já com o categoryId -->
92 <#if assetCategories?has_content>
93 <#assign firstCategory = assetCategories[0] />
94 <#assign articleURL = entry.getViewURL() + "&category=" + firstCategory.getCategoryId() />
95 <#else>
96 <#assign articleURL = entry.getViewURL() />
97 </#if>
98
99 <a href="${articleURL}" class="text-decoration-none">
100 <div class="d-flex mb-1">
101 <div class="mr-2">
102 <svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg">
103 <path d="M8.75016 1.16663H3.50016C3.19074 1.16663 2.894 1.28954 2.6752 1.50833C2.45641 1.72713 2.3335 2.02387 2.3335 2.33329V11.6666C2.3335 11.976 2.45641 12.2728 2.6752 12.4916C2.894 12.7104 3.19074 12.8333 3.50016 12.8333H10.5002C10.8096 12.8333 11.1063 12.7104 11.3251 12.4916C11.5439 12.2728 11.6668 11.976 11.6668 11.6666V4.08329L8.75016 1.16663Z" stroke="#00995C" stroke-width="1.16667" stroke-linecap="round" stroke-linejoin="round"/>
104 <path d="M8.1665 1.16663V3.49996C8.1665 3.80938 8.28942 4.10612 8.50821 4.32492C8.72701 4.54371 9.02375 4.66663 9.33317 4.66663H11.6665" stroke="#00995C" stroke-width="1.16667" stroke-linecap="round" stroke-linejoin="round"/>
105 <path d="M5.83317 5.25H4.6665" stroke="#00995C" stroke-width="1.16667" stroke-linecap="round" stroke-linejoin="round"/>
106 <path d="M9.33317 7.58337H4.6665" stroke="#00995C" stroke-width="1.16667" stroke-linecap="round" stroke-linejoin="round"/>
107 <path d="M9.33317 9.91663H4.6665" stroke="#00995C" stroke-width="1.16667" stroke-linecap="round" stroke-linejoin="round"/>
108 </svg>
109 </div>
110
111 <div>
112 <p class="socias-post-relacionado-link mb-2">
113 ${entry.getHighlightedTitle()}
114 </p>
115
116 <span class="socias-date" >${minutes} min</span>
117
118 <#if entry.isCreationDateVisible()>
119 <span class="socias-date">
120 • ${articleDate}
121 </span>
122 </#if>
123 </div>
124 </div>
125 </a>
126 </#list>
127 </div>
128 </#if>
129 </div>
130</div>
