]> git.aero2k.de Git - tmp/jakarta-migration.git/blob
d698db062e08b4195d9cf43d44892246b9c81021
[tmp/jakarta-migration.git] /
1 <?xml version="1.0" encoding="UTF-8"?>
2 <!-- Created with Jaspersoft Studio version 6.20.1.final using JasperReports Library version 6.20.1-7584acb244139816654f64e2fd57a00d3e31921e  -->
3 <jasperReport xmlns="http://jasperreports.sourceforge.net/jasperreports" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports http://jasperreports.sourceforge.net/xsd/jasperreport.xsd" name="summary_documentation_consultation" language="javascript" pageWidth="1500" pageHeight="800" orientation="Landscape" columnWidth="100" leftMargin="20" rightMargin="20" topMargin="20" bottomMargin="20" isIgnorePagination="true" uuid="e9c71592-7651-43d3-b4ac-6eea5e049ac0">
4         <property name="com.jaspersoft.studio.data.sql.tables" value="" />
5         <property name="com.jaspersoft.studio.data.defaultdataadapter" value="nuxeo" />
6         <property name="com.jaspersoft.studio.data.sql.SQLQueryDesigner.sash.w1" value="193" />
7         <property name="com.jaspersoft.studio.data.sql.SQLQueryDesigner.sash.w2" value="800" />
8         <property name="com.jaspersoft.studio.property.dataset.dialog.DatasetDialog.sash.w1" value="625" />
9         <property name="com.jaspersoft.studio.property.dataset.dialog.DatasetDialog.sash.w2" value="361" />
10         <style name="Column header" fontName="SansSerif" fontSize="12" isBold="true" />
11         <style name="Detail" fontName="SansSerif" fontSize="12" />
12         <parameter name="deurnfields" class="java.lang.String" isForPrompting="false">
13                 <defaultValueExpression><![CDATA["onbehalfof,cultures,summary_types,sites,exit_owners,status"]]></defaultValueExpression>
14         </parameter>
15         <parameter name="tenantid" class="java.lang.String" isForPrompting="false">
16                 <defaultValueExpression><![CDATA["1"]]></defaultValueExpression>
17         </parameter>
18         <parameter name="csidlist" class="java.lang.String" isForPrompting="false" />
19         <parameter name="csids" class="java.lang.String" isForPrompting="false">
20                 <defaultValueExpression><![CDATA[$P{csidlist} != null ? ("'" + $P{csidlist}.replace(/,/g, "','") + "'") : "NOVALUE"]]></defaultValueExpression>
21         </parameter>
22         <parameter name="whereclause_relation" class="java.lang.String" isForPrompting="false">
23                 <defaultValueExpression><![CDATA[$P{csids} != "NOVALUE" ? ( "AND relation.subjectcsid IN (" + $P{csids} + ")" ) : ""]]></defaultValueExpression>
24         </parameter>
25         <parameter name="whereclause" class="java.lang.String" isForPrompting="false">
26                 <defaultValueExpression><![CDATA[$P{csids} != "NOVALUE" ? ( "WHERE summary_hierarchy.name IN (" + $P{csids} + ")" ) : ""]]></defaultValueExpression>
27         </parameter>
28         <queryString language="SQL">
29                 <![CDATA[WITH related_objects AS (
30         SELECT hierarchy.id as object_id,
31                 relation.objectcsid,
32                 relation.subjectcsid as summary_csid
33         FROM relations_common relation
34                 INNER JOIN hierarchy on hierarchy.name = relation.objectcsid
35                 INNER JOIN misc ON misc.id = relation.id
36                 AND misc.lifecyclestate != 'deleted'
37         WHERE relation.objectdocumenttype = 'CollectionObject'
38                 AND relation.subjectdocumenttype = 'SummaryDocumentation'
39                 $P!{whereclause_relation}
40 ),
41 related_exits AS (
42         SELECT DISTINCT ON (objs.summary_csid, hierarchy.id) objs.objectcsid,
43                 objs.summary_csid,
44                 hierarchy.id as exit_id,
45                 relation.subjectcsid as exit_csid
46         FROM related_objects objs
47                 INNER join relations_common relation on relation.objectcsid = objs.objectcsid
48                 AND relation.subjectdocumenttype = 'Exit'
49                 INNER JOIN hierarchy on hierarchy.name = relation.subjectcsid
50                 INNER JOIN misc ON misc.id = relation.id
51                 AND misc.lifecyclestate != 'deleted'
52 )
53 SELECT summary.documentationnumber,
54         summary.originationdate,
55         coalesce(titles.titles, '{}') AS titles,
56         coalesce(summarytypes.summary_types, '{}') AS summary_types,
57         coalesce(partiesinvolved.onbehalfof, '{}') AS onbehalfof,
58         coalesce(culturalgroup.cultures, '{}') AS cultures,
59         summary_status.status,
60         summary_status.statusdate,
61         coalesce(object_count.sacred_object_count, 0) AS sacred_object_count,
62         coalesce(object_count.ufo_count, 0) AS ufo_count,
63         coalesce(object_count.cultural_patrimony_count, 0) AS cultural_patrimony_count,
64         coalesce(object_count.lineal_descendant_count, 0) AS lineal_descendant_count,
65         coalesce(archaeological_sites.sites, '{}') AS sites,
66         coalesce(consultations.log_total, 0) AS log_total,
67         coalesce(exits.exit_owners, '{}') AS exit_owners,
68         coalesce(exits.exit_dates, '{}') AS exit_dates
69 FROM hierarchy summary_hierarchy
70         INNER JOIN misc ON misc.id = summary_hierarchy.id
71         AND misc.lifecyclestate != 'deleted'
72         INNER JOIN summarydocumentations_common summary ON summary.id = summary_hierarchy.id
73         LEFT JOIN (
74                 -- Summary title
75                 SELECT title.id AS summary_id,
76                         array_agg(title.item) AS titles
77                 FROM summarydocumentations_common_titles title
78                 GROUP BY title.id
79         ) titles ON titles.summary_id = summary_hierarchy.id
80         LEFT JOIN (
81                 -- Summary types
82                 SELECT summarytype.id AS summary_id,
83                         array_agg(summarytype.item) AS summary_types
84                 FROM summarydocumentations_common_types summarytype
85                 GROUP BY summarytype.id
86         ) summarytypes ON summarytypes.summary_id = summary_hierarchy.id
87         LEFT JOIN (
88                 -- Organizations pulled from on behalf field on Summary record
89                 SELECT hierarchy.parentid,
90                         array_agg(party.involvedonbehalfof) as onbehalfof
91                 FROM hierarchy
92                         INNER JOIN partiesinvolvedgroup party ON party.id = hierarchy.id
93                 WHERE hierarchy.name = 'summarydocumentations_common:partiesInvolvedGroupList'
94                 GROUP BY hierarchy.parentid
95         ) partiesinvolved ON partiesinvolved.parentid = summary_hierarchy.id
96         LEFT JOIN (
97                 SELECT hierarchy.parentid,
98                         array_agg(culturalgroup.culture) AS cultures
99                 FROM hierarchy
100                         INNER JOIN culturalgroup ON culturalgroup.id = hierarchy.id
101                         AND hierarchy.name = 'summarydocumentations_common:culturalGroupList'
102                 GROUP BY hierarchy.parentid
103         ) culturalgroup ON culturalgroup.parentid = summary.id
104         LEFT JOIN (
105                 SELECT related_objects.summary_csid,
106                         array_agg(fcs.item) as sites
107                 FROM collectionobjects_common_fieldcollectionsites fcs
108                         INNER JOIN related_objects on related_objects.object_id = fcs.id
109                 GROUP BY related_objects.summary_csid
110         ) archaeological_sites ON archaeological_sites.summary_csid = summary_hierarchy.name
111         LEFT JOIN (
112                 -- Current Status: most recent
113                 SELECT DISTINCT ON (hierarchy.parentid) hierarchy.parentid,
114                         status_group.status,
115                         status_group.statusdate
116                 FROM hierarchy
117                         INNER JOIN statusgroup status_group ON status_group.id = hierarchy.id
118                 WHERE hierarchy.name = 'summarydocumentations_common:statusGroupList'
119                 ORDER BY hierarchy.parentid,
120                         status_group.statusdate DESC NULLS LAST
121         ) summary_status ON summary_status.parentid = summary_hierarchy.id
122         LEFT JOIN LATERAL (
123                 -- Related Object - Object Count
124                 -- type is sacred object, cultural partrimony, UFO and lineal descent
125                 -- Use regex matching because the refnames can contain subsets of the others,
126                 -- so occasionally do things like use a word boundary (\y) to avoid overlaps
127                 SELECT objs.summary_csid,
128                         sum(
129                                 CASE
130                                         WHEN ocg.objectcounttype ~ 'sacred_object' THEN ocg.objectcount
131                                         ELSE 0
132                                 END
133                         ) AS sacred_object_count,
134                         sum(
135                                 CASE
136                                         WHEN ocg.objectcounttype ~ 'unassociated_funerary' THEN ocg.objectcount
137                                         ELSE 0
138                                 END
139                         ) AS ufo_count,
140                         sum(
141                                 CASE
142                                         WHEN ocg.objectcounttype ~ 'cultural_patrimony' THEN ocg.objectcount
143                                         ELSE 0
144                                 END
145                         ) AS cultural_patrimony_count,
146                         sum(
147                                 CASE
148                                         WHEN ocg.objectcounttype ~ 'lineal_descendant' THEN ocg.objectcount
149                                         ELSE 0
150                                 END
151                         ) AS lineal_descendant_count
152                 FROM hierarchy ocg_hierarchy
153                         INNER JOIN related_objects objs ON objs.object_id = ocg_hierarchy.parentid
154                         INNER JOIN objectcountgroup ocg ON ocg.id = ocg_hierarchy.id
155                 WHERE ocg_hierarchy.name = 'collectionobjects_common:objectCountGroupList'
156                 GROUP BY objs.summary_csid
157         ) object_count ON object_count.summary_csid = summary_hierarchy.name
158         LEFT JOIN (
159                 -- Related Consultations (Summary -> Consultation)
160                 -- Number of Consultation Log Entries. Consultations related to the Summary record, pull a count of how many entries are in the log.
161                 SELECT relation.subjectcsid,
162                         count(cl_hierarchy.pos) AS log_total
163                 FROM relations_common relation
164                         INNER JOIN misc ON misc.id = relation.id
165                         AND misc.lifecyclestate != 'deleted'
166                         INNER JOIN hierarchy consultation_hierarchy ON consultation_hierarchy.name = relation.objectcsid
167                         INNER JOIN hierarchy cl_hierarchy ON cl_hierarchy.parentid = consultation_hierarchy.id
168                         AND cl_hierarchy.name = 'consultations_common:consultationLogGroupList'
169                 WHERE relation.objectdocumenttype = 'Consultation'
170                         AND relation.subjectdocumenttype = 'SummaryDocumentation'
171                         $P!{whereclause_relation}
172                 GROUP BY relation.subjectcsid
173         ) consultations ON consultations.subjectcsid = summary_hierarchy.name
174         LEFT JOIN (
175                 -- Related Object Exits (Object -> ObjectExit (New))
176                 -- Current owner with exit date: If there is an object exit related to the related objects, pull the current owner. Concatenate and separate by ;
177                 --   (Format example: The United Band of Humbolt People, 2024-08-02; The Dog River People, 2024-09-05).
178                 -- Allows NULL values to aggregate so we don't lose track of pairs
179                 SELECT related_exits.summary_csid,
180                         array_agg(exit.exitdate) as exit_dates,
181                         array_agg(owners.item) AS exit_owners
182                 FROM exits_common exit
183                         INNER JOIN related_exits on related_exits.exit_id = exit.id
184                         LEFT JOIN exits_common_owners owners on owners.id = exit.id AND owners.pos = 0
185                 GROUP BY related_exits.summary_csid
186         ) exits ON exits.summary_csid = summary_hierarchy.name
187         $P!{whereclause}]]>
188         </queryString>
189         <field name="documentationnumber" class="java.lang.String">
190                 <property name="com.jaspersoft.studio.field.name" value="documentationnumber" />
191                 <property name="com.jaspersoft.studio.field.label" value="documentationnumber" />
192                 <property name="com.jaspersoft.studio.field.tree.path" value="summarydocumentations_common" />
193         </field>
194         <field name="originationdate" class="java.sql.Timestamp">
195                 <property name="com.jaspersoft.studio.field.name" value="originationdate" />
196                 <property name="com.jaspersoft.studio.field.label" value="originationdate" />
197                 <property name="com.jaspersoft.studio.field.tree.path" value="summarydocumentations_common" />
198         </field>
199         <field name="titles" class="java.sql.Array">
200                 <property name="com.jaspersoft.studio.field.name" value="titles" />
201                 <property name="com.jaspersoft.studio.field.label" value="titles" />
202         </field>
203         <field name="summary_types" class="java.sql.Array">
204                 <property name="com.jaspersoft.studio.field.name" value="summary_types" />
205                 <property name="com.jaspersoft.studio.field.label" value="summary_types" />
206         </field>
207         <field name="onbehalfof" class="java.sql.Array">
208                 <property name="com.jaspersoft.studio.field.name" value="onbehalfof" />
209                 <property name="com.jaspersoft.studio.field.label" value="onbehalfof" />
210         </field>
211         <field name="cultures" class="java.sql.Array">
212                 <property name="com.jaspersoft.studio.field.name" value="cultures" />
213                 <property name="com.jaspersoft.studio.field.label" value="cultures" />
214         </field>
215         <field name="status" class="java.lang.String">
216                 <property name="com.jaspersoft.studio.field.name" value="status" />
217                 <property name="com.jaspersoft.studio.field.label" value="status" />
218                 <property name="com.jaspersoft.studio.field.tree.path" value="statusgroup" />
219         </field>
220         <field name="statusdate" class="java.sql.Timestamp">
221                 <property name="com.jaspersoft.studio.field.name" value="statusdate" />
222                 <property name="com.jaspersoft.studio.field.label" value="statusdate" />
223                 <property name="com.jaspersoft.studio.field.tree.path" value="statusgroup" />
224         </field>
225         <field name="sacred_object_count" class="java.math.BigDecimal">
226                 <property name="com.jaspersoft.studio.field.name" value="sacred_object_count" />
227                 <property name="com.jaspersoft.studio.field.label" value="sacred_object_count" />
228         </field>
229         <field name="ufo_count" class="java.math.BigDecimal">
230                 <property name="com.jaspersoft.studio.field.name" value="ufo_count" />
231                 <property name="com.jaspersoft.studio.field.label" value="ufo_count" />
232         </field>
233         <field name="cultural_patrimony_count" class="java.math.BigDecimal">
234                 <property name="com.jaspersoft.studio.field.name" value="cultural_patrimony_count" />
235                 <property name="com.jaspersoft.studio.field.label" value="cultural_patrimony_count" />
236         </field>
237         <field name="lineal_descendant_count" class="java.math.BigDecimal">
238                 <property name="com.jaspersoft.studio.field.name" value="lineal_descendant_count" />
239                 <property name="com.jaspersoft.studio.field.label" value="lineal_descendant_count" />
240         </field>
241         <field name="sites" class="java.sql.Array">
242                 <property name="com.jaspersoft.studio.field.name" value="sites" />
243                 <property name="com.jaspersoft.studio.field.label" value="sites" />
244         </field>
245         <field name="log_total" class="java.lang.Long">
246                 <property name="com.jaspersoft.studio.field.name" value="log_total" />
247                 <property name="com.jaspersoft.studio.field.label" value="log_total" />
248         </field>
249         <field name="exit_owners" class="java.sql.Array">
250                 <property name="com.jaspersoft.studio.field.name" value="exit_owners" />
251                 <property name="com.jaspersoft.studio.field.label" value="exit_owners" />
252         </field>
253         <field name="exit_dates" class="java.sql.Array">
254                 <property name="com.jaspersoft.studio.field.name" value="exit_dates" />
255                 <property name="com.jaspersoft.studio.field.label" value="exit_dates" />
256         </field>
257         <background>
258                 <band splitType="Stretch" />
259         </background>
260         <columnHeader>
261                 <band height="44" splitType="Stretch">
262                         <property name="com.jaspersoft.studio.layout" value="com.jaspersoft.studio.editor.layout.FreeLayout" />
263                         <property name="com.jaspersoft.studio.unit.height" value="px" />
264                         <staticText>
265                                 <reportElement style="Column header" x="0" y="0" width="100" height="44" uuid="b8cd41b4-34e5-455f-81fc-97800f4ae9b7">
266                                         <property name="com.jaspersoft.studio.unit.width" value="px" />
267                                 </reportElement>
268                                 <textElement markup="styled" />
269                                 <text><![CDATA[Organization(s)]]></text>
270                         </staticText>
271                         <staticText>
272                                 <reportElement style="Column header" x="100" y="0" width="100" height="44" uuid="539fd511-8c4c-4f20-ac0f-1b71fdc26939">
273                                         <property name="com.jaspersoft.studio.unit.width" value="px" />
274                                 </reportElement>
275                                 <textElement markup="styled" />
276                                 <text><![CDATA[Summary Documentation Origination Date]]></text>
277                         </staticText>
278                         <staticText>
279                                 <reportElement style="Column header" x="200" y="0" width="100" height="44" uuid="9741cf97-9acc-45aa-bab2-90a03cf29e83">
280                                         <property name="com.jaspersoft.studio.unit.width" value="px" />
281                                 </reportElement>
282                                 <textElement markup="styled" />
283                                 <text><![CDATA[Summary Documentation Number]]></text>
284                         </staticText>
285                         <staticText>
286                                 <reportElement style="Column header" x="300" y="0" width="100" height="44" uuid="65b98683-6871-48ec-a4c4-553e41f1b26b">
287                                         <property name="com.jaspersoft.studio.unit.width" value="px" />
288                                 </reportElement>
289                                 <textElement markup="styled" />
290                                 <text><![CDATA[Summary Documentation Title]]></text>
291                         </staticText>
292                         <staticText>
293                                 <reportElement style="Column header" x="400" y="0" width="100" height="44" uuid="02898623-0732-4b3d-abe6-948350332361">
294                                         <property name="com.jaspersoft.studio.unit.width" value="px" />
295                                 </reportElement>
296                                 <textElement markup="styled" />
297                                 <text><![CDATA[Summary Documentation - Summary Status]]></text>
298                         </staticText>
299                         <staticText>
300                                 <reportElement style="Column header" x="500" y="0" width="100" height="44" uuid="a0f54698-7f5f-4d08-8286-f86c412fa876">
301                                         <property name="com.jaspersoft.studio.unit.width" value="px" />
302                                 </reportElement>
303                                 <textElement markup="styled" />
304                                 <text><![CDATA[UFO Count]]></text>
305                         </staticText>
306                         <staticText>
307                                 <reportElement style="Column header" x="600" y="0" width="100" height="44" uuid="9afbf556-a4f6-4041-97a9-ac9f106aa75e">
308                                         <property name="com.jaspersoft.studio.unit.width" value="px" />
309                                 </reportElement>
310                                 <textElement markup="styled" />
311                                 <text><![CDATA[Objects of Cultural Patrimony Count]]></text>
312                         </staticText>
313                         <staticText>
314                                 <reportElement style="Column header" x="700" y="0" width="100" height="44" uuid="679eb6c6-e454-47d1-8320-1a723dabf0a1">
315                                         <property name="com.jaspersoft.studio.unit.width" value="px" />
316                                 </reportElement>
317                                 <textElement markup="styled" />
318                                 <text><![CDATA[Sacred Object Count]]></text>
319                         </staticText>
320                         <staticText>
321                                 <reportElement style="Column header" x="800" y="0" width="100" height="44" uuid="f9a1fb86-9c78-48ba-942e-e35417916eeb">
322                                         <property name="com.jaspersoft.studio.unit.width" value="px" />
323                                 </reportElement>
324                                 <textElement markup="styled" />
325                                 <text><![CDATA[Lineal Descendent Count]]></text>
326                         </staticText>
327                         <staticText>
328                                 <reportElement style="Column header" x="900" y="0" width="100" height="44" uuid="c2e6ccf4-0900-400d-a6f4-4ea0fc9bb95a">
329                                         <property name="com.jaspersoft.studio.unit.width" value="px" />
330                                 </reportElement>
331                                 <textElement markup="styled" />
332                                 <text><![CDATA[NAGPRA Category Type(s)]]></text>
333                         </staticText>
334                         <staticText>
335                                 <reportElement style="Column header" x="1000" y="0" width="100" height="44" uuid="52cec6c0-596a-47f6-877a-fa0a4227e55d">
336                                         <property name="com.jaspersoft.studio.unit.width" value="px" />
337                                 </reportElement>
338                                 <textElement markup="styled" />
339                                 <text><![CDATA[Site(s) Related to Summary]]></text>
340                         </staticText>
341                         <staticText>
342                                 <reportElement style="Column header" x="1100" y="0" width="100" height="44" uuid="c361bc9c-e677-4a74-a59e-695ba9eddbaa">
343                                         <property name="com.jaspersoft.studio.unit.width" value="px" />
344                                 </reportElement>
345                                 <textElement markup="styled" />
346                                 <text><![CDATA[Culture(s) Related to Summary]]></text>
347                         </staticText>
348                         <staticText>
349                                 <reportElement style="Column header" x="1200" y="0" width="100" height="44" uuid="f6441c8d-82a9-4908-94c0-b57be2d22746">
350                                         <property name="com.jaspersoft.studio.unit.width" value="px" />
351                                 </reportElement>
352                                 <textElement markup="styled" />
353                                 <text><![CDATA[Number of Associated Consultation Log Entries]]></text>
354                         </staticText>
355                         <staticText>
356                                 <reportElement style="Column header" x="1300" y="0" width="100" height="44" uuid="17fc9356-5a96-4aa4-915a-cf18a83bc614">
357                                         <property name="com.jaspersoft.studio.unit.width" value="px" />
358                                 </reportElement>
359                                 <textElement markup="styled" />
360                                 <text><![CDATA[Exit Record Current Owner with Exit Date]]></text>
361                         </staticText>
362                 </band>
363         </columnHeader>
364         <detail>
365                 <band height="66" splitType="Stretch">
366                         <property name="com.jaspersoft.studio.unit.height" value="px" />
367                         <textField textAdjust="StretchHeight" isBlankWhenNull="true">
368                                 <reportElement style="Detail" x="0" y="0" width="100" height="30" uuid="b387bbaf-4760-45af-a84c-62681a678e61">
369                                         <property name="com.jaspersoft.studio.unit.y" value="px" />
370                                 </reportElement>
371                                 <textFieldExpression><![CDATA[$F{onbehalfof}.getArray().filter((val) => !!val).join('; ')]]></textFieldExpression>
372                         </textField>
373                         <textField textAdjust="StretchHeight" isBlankWhenNull="true">
374                                 <reportElement style="Detail" x="100" y="0" width="100" height="30" uuid="e3b59f6b-c027-4527-8f95-453c97a250f5">
375                                         <property name="com.jaspersoft.studio.unit.y" value="px" />
376                                 </reportElement>
377                                 <textFieldExpression><![CDATA[$F{originationdate} !== null ? $F{originationdate}.toLocalDateTime().toLocalDate() : '']]></textFieldExpression>
378                         </textField>
379                         <textField textAdjust="StretchHeight" isBlankWhenNull="true">
380                                 <reportElement style="Detail" x="200" y="0" width="100" height="30" uuid="0138ed1b-1e54-4d27-92f4-1e42769adbcb">
381                                         <property name="com.jaspersoft.studio.unit.y" value="px" />
382                                 </reportElement>
383                                 <textFieldExpression><![CDATA[$F{documentationnumber}]]></textFieldExpression>
384                         </textField>
385                         <textField textAdjust="StretchHeight" isBlankWhenNull="true">
386                                 <reportElement style="Detail" x="300" y="0" width="100" height="30" uuid="99fcf86b-ed71-413a-a65f-dcbb51d096eb">
387                                         <property name="com.jaspersoft.studio.unit.y" value="px" />
388                                 </reportElement>
389                                 <textFieldExpression><![CDATA[$F{titles}.getArray().filter((val) => !!val).join('; ')]]></textFieldExpression>
390                         </textField>
391                         <textField textAdjust="StretchHeight" isBlankWhenNull="true">
392                                 <reportElement style="Detail" x="400" y="0" width="100" height="30" uuid="637dac22-c0a3-4c77-b323-f15f65b5bdf7">
393                                         <property name="com.jaspersoft.studio.unit.y" value="px" />
394                                 </reportElement>
395                                 <textFieldExpression>
396                                         <![CDATA[
397                                                 var status = $F{status} !== null ? $F{status} : '';
398                                                 var date = $F{statusdate} !== null ? '(' + $F{statusdate}.toLocalDateTime().toLocalDate() + ')' : '';
399                                                 status + " " + date;
400                                         ]]>
401                                 </textFieldExpression>
402                         </textField>
403                         <textField textAdjust="StretchHeight" isBlankWhenNull="true">
404                                 <reportElement style="Detail" x="500" y="0" width="100" height="30" uuid="9bada286-6f81-4548-bc77-669a0973da26">
405                                         <property name="com.jaspersoft.studio.unit.y" value="px" />
406                                 </reportElement>
407                                 <textFieldExpression><![CDATA[$F{ufo_count}]]></textFieldExpression>
408                         </textField>
409                         <textField textAdjust="StretchHeight" isBlankWhenNull="true">
410                                 <reportElement style="Detail" x="600" y="0" width="100" height="30" uuid="6619c361-ae3e-4f49-9f9e-492cc307ca30">
411                                         <property name="com.jaspersoft.studio.unit.y" value="px" />
412                                 </reportElement>
413                                 <textFieldExpression><![CDATA[$F{cultural_patrimony_count}]]></textFieldExpression>
414                         </textField>
415                         <textField textAdjust="StretchHeight" isBlankWhenNull="true">
416                                 <reportElement style="Detail" x="700" y="0" width="100" height="30" uuid="bebdb2bf-297a-477b-a03b-88e5e15fb0f6">
417                                         <property name="com.jaspersoft.studio.unit.y" value="px" />
418                                 </reportElement>
419                                 <textFieldExpression><![CDATA[$F{sacred_object_count}]]></textFieldExpression>
420                         </textField>
421                         <textField textAdjust="StretchHeight" isBlankWhenNull="true">
422                                 <reportElement style="Detail" x="800" y="0" width="100" height="30" uuid="6619e1e3-2761-4c6b-8e4a-3be5d8e4b956">
423                                         <property name="com.jaspersoft.studio.unit.y" value="px" />
424                                 </reportElement>
425                                 <textFieldExpression><![CDATA[$F{lineal_descendant_count}]]></textFieldExpression>
426                         </textField>
427                         <textField textAdjust="StretchHeight" isBlankWhenNull="true">
428                                 <reportElement style="Detail" x="900" y="0" width="100" height="30" uuid="0beee49d-f49d-4e17-8f78-bb5c3184aaa1">
429                                         <property name="com.jaspersoft.studio.unit.y" value="px" />
430                                 </reportElement>
431                                 <textFieldExpression><![CDATA[$F{summary_types}.getArray().filter((val) => !!val).join('; ')]]></textFieldExpression>
432                         </textField>
433                         <textField textAdjust="StretchHeight" isBlankWhenNull="true">
434                                 <reportElement style="Detail" x="1000" y="0" width="100" height="30" uuid="bd6c6806-b6d2-495c-917f-ae879e740992">
435                                         <property name="com.jaspersoft.studio.unit.y" value="px" />
436                                 </reportElement>
437                                 <textFieldExpression><![CDATA[$F{sites}.getArray().filter((val) => !!val).join('; ')]]></textFieldExpression>
438                         </textField>
439                         <textField textAdjust="StretchHeight" isBlankWhenNull="true">
440                                 <reportElement style="Detail" x="1100" y="0" width="100" height="30" uuid="6d4f8b23-ea8c-4a38-9acc-4ca7eff30219">
441                                         <property name="com.jaspersoft.studio.unit.y" value="px" />
442                                 </reportElement>
443                                 <textFieldExpression><![CDATA[$F{cultures}.getArray().filter((val) => !!val).join('; ')]]></textFieldExpression>
444                         </textField>
445                         <textField textAdjust="StretchHeight" isBlankWhenNull="true">
446                                 <reportElement style="Detail" x="1200" y="0" width="100" height="30" uuid="54b06775-91a6-4b74-a747-a7977e5943fb">
447                                         <property name="com.jaspersoft.studio.unit.y" value="px" />
448                                 </reportElement>
449                                 <textFieldExpression><![CDATA[$F{log_total}]]></textFieldExpression>
450                         </textField>
451                         <textField textAdjust="StretchHeight" isBlankWhenNull="true">
452                                 <reportElement style="Detail" x="1300" y="0" width="100" height="30" uuid="04107479-6227-4b31-b0b5-50316e4d3426">
453                                         <property name="com.jaspersoft.studio.unit.y" value="px" />
454                                 </reportElement>
455                                 <textFieldExpression>
456                                         <![CDATA[
457                                                 var dates = $F{exit_dates}.getArray();
458                                                 $F{exit_owners}.getArray().map(function(owner, index) {
459                                                         if (!owner) {
460                                                                 return null;
461                                                         }
462                                                         return dates[index] === null ? owner : owner + ' (' + dates[index].toLocalDateTime().toLocalDate() + ')';
463                                                 }).filter(owner => !!owner).join('; ')
464                                         ]]>
465                                 </textFieldExpression>
466                         </textField>
467                 </band>
468         </detail>
469 </jasperReport>