]> git.aero2k.de Git - tmp/jakarta-migration.git/commitdiff
Update relation queries for reports (#342)
authorMichael Ritter <mikejritter@users.noreply.github.com>
Wed, 3 May 2023 03:37:46 +0000 (21:37 -0600)
committerGitHub <noreply@github.com>
Wed, 3 May 2023 03:37:46 +0000 (23:37 -0400)
13 files changed:
services/report/3rdparty/jasper-cs-report/src/main/resources/accessions.jrxml
services/report/3rdparty/jasper-cs-report/src/main/resources/accessions.xml
services/report/3rdparty/jasper-cs-report/src/main/resources/box_list.jrxml
services/report/3rdparty/jasper-cs-report/src/main/resources/box_list.xml
services/report/3rdparty/jasper-cs-report/src/main/resources/deaccessions.jrxml
services/report/3rdparty/jasper-cs-report/src/main/resources/deaccessions.xml
services/report/3rdparty/jasper-cs-report/src/main/resources/deed_of_gift.jrxml
services/report/3rdparty/jasper-cs-report/src/main/resources/deed_of_gift.xml
services/report/3rdparty/jasper-cs-report/src/main/resources/incoming_loan_letter.xml
services/report/3rdparty/jasper-cs-report/src/main/resources/obj_computed_location.jrxml
services/report/3rdparty/jasper-cs-report/src/main/resources/obj_computed_location.xml
services/report/3rdparty/jasper-cs-report/src/main/resources/outgoing_loan_letter.xml
services/report/3rdparty/jasper-cs-report/src/main/resources/tombstone_with_budget.jrxml

index 0c589dbd390109ca848a19195191ff9be842b42f..31b562bae2d90392d4af68a256235f4cffaffc9e 100644 (file)
        $P!{whereclause}
 ), related_objects AS (
   SELECT
+    hier.name AS csid,
     object.collection,
     object.objecthistorynote,
     object.objectnumber,
     ong.objectname,
     bd.item AS briefdescription,
     sdg.datedisplaydate AS objectproductiondate,
-    media.objectcsid AS mediacsid,
     acq.csid AS acquisitioncsid
   FROM acquisitions acq
   INNER JOIN relations_common rels ON rels.subjectcsid = acq.csid AND rels.objectdocumenttype = 'CollectionObject'
+  INNER JOIN misc on misc.id = rels.id AND misc.lifecyclestate != 'deleted'
   INNER JOIN hierarchy hier ON hier.name = rels.objectcsid AND hier.primarytype = 'CollectionObject'
   INNER JOIN collectionobjects_common object ON object.id = hier.id
-  LEFT JOIN relations_common media ON media.subjectcsid = hier.name AND media.objectdocumenttype = 'Media'
   LEFT JOIN collectionobjects_common_briefdescriptions bd ON bd.id = object.id AND bd.pos = 0
   LEFT JOIN hierarchy ong_hier ON ong_hier.parentid = object.id AND ong_hier.primarytype = 'objectNameGroup' AND ong_hier.pos = 0
   LEFT JOIN objectnamegroup ong ON ong.id = ong_hier.id
   LEFT JOIN hierarchy opdg_hier ON opdg_hier.parentid = object.id AND opdg_hier.name = 'collectionobjects_common:objectProductionDateGroupList' AND opdg_hier.pos = 0
   LEFT JOIN structureddategroup sdg ON sdg.id = opdg_hier.id
+), related_media AS (
+  SELECT
+    object.csid AS objcsid,
+    media.objectcsid AS mediacsid
+  FROM related_objects object
+  INNER JOIN relations_common media ON media.subjectcsid = object.csid AND media.objectdocumenttype = 'Media'
+  INNER JOIN misc ON misc.id = media.id AND misc.lifecyclestate != 'deleted'
 )
 SELECT
   acq.acquisitionreferencenumber,
@@ -94,9 +101,10 @@ SELECT
   obj.collection,
   obj.briefdescription,
   obj.objecthistorynote,
-  obj.mediacsid
+  media.mediacsid
 FROM acquisitions acq
-LEFT JOIN related_objects obj ON obj.acquisitioncsid = acq.csid]]>
+LEFT JOIN related_objects obj ON obj.acquisitioncsid = acq.csid
+LEFT JOIN related_media media ON media.objcsid = obj.csid]]>
        </queryString>
        <field name="acquisitionreferencenumber" class="java.lang.String">
                <property name="com.jaspersoft.studio.field.name" value="acquisitionreferencenumber"/>
index f1d6ce12252c44b20af4cbc12b68e9f4d56b00f8..1567d24b0dd113caf3be4602609546b8f2cab0ef 100644 (file)
@@ -11,6 +11,6 @@
     <supportsGroup>false</supportsGroup>
     <supportsNoContext>true</supportsNoContext>
     <filename>accessions.jrxml</filename>
-    <outputMIME>application/pdf</outputMIME>
+    <outputMIME>text/csv</outputMIME>
   </ns2:reports_common>
 </document>
index bbacba9aad3a4ec5b40f7eb52603e69e65a897f7..b8a4adb84037fadac909d8f3d5c4206372b6a6b6 100644 (file)
@@ -34,6 +34,7 @@
   SELECT co.id, co.objectnumber, hier.name AS csid, lmi.csid AS movementcsid
   FROM lmis lmi
   INNER JOIN relations_common rels ON rels.subjectcsid = lmi.csid AND rels.objectdocumenttype = 'CollectionObject'
+  INNER JOIN misc ON misc.id = rels.id AND misc.lifecyclestate != 'deleted'
   INNER JOIN hierarchy hier ON hier.name = rels.objectcsid AND hier.primarytype = 'CollectionObject'
   INNER JOIN collectionobjects_common co ON co.id = hier.id
 ), objectnames AS (
@@ -45,6 +46,7 @@
   SELECT relations.objectcsid as mediacsid, co.csid AS objectcsid
   FROM collectionobjects co
   INNER JOIN relations_common relations ON relations.subjectcsid = co.csid AND relations.objectdocumenttype = 'Media'
+  INNER JOIN misc ON misc.id = relations.id AND misc.lifecyclestate != 'deleted'
 )
 SELECT lmi.movementreferencenumber, terms.termdisplayname, terms.termname, co.objectnumber, objectnames.objectname, thumbnails.mediacsid
 FROM lmis lmi
index 0efab00608340b747f740f4ed029cbecae08a066..b566c2c594b78c1871c17bf26cf535b5978a14c7 100644 (file)
@@ -11,6 +11,6 @@
     <supportsGroup>false</supportsGroup>
     <supportsNoContext>true</supportsNoContext>
     <filename>box_list.jrxml</filename>
-    <outputMIME>application/pdf</outputMIME>
+    <outputMIME>text/csv</outputMIME>
   </ns2:reports_common>
 </document>
index c1735844db87986ef7b872be2536cdb51ea8f05e..ee0e7f65bce79613cadddffbb8ea0d933db28079 100644 (file)
@@ -46,7 +46,7 @@
   LEFT JOIN objectexit_common_exitmethods exitmethod ON exitmethod.id = exit.id AND exitmethod.pos = 0
   LEFT JOIN hierarchy date_hier ON date_hier.parentid = exit.id AND date_hier.name = 'objectexit_common:exitDateGroup'
   LEFT JOIN structureddategroup sdg ON sdg.id = date_hier.id
-       $P!{whereclause}
+  $P!{whereclause}
 ), proposed_recipients AS (
   SELECT
     ag.*,
   INNER JOIN deacapprovalgroup approval on approval.id = hier.id
 ), related_objects AS (
   SELECT
+    hier.name AS csid,
     object.collection,
     object.objectnumber,
     object.objecthistorynote,
     ong.objectname,
     bd.item as briefdescription,
     sdg.datedisplaydate as productiondate,
-    media.objectcsid as mediacsid,
     exit.csid as exitcsid
   FROM objectexits exit
   INNER JOIN relations_common rels ON rels.subjectcsid = exit.csid AND rels.objectdocumenttype = 'CollectionObject'
+  INNER JOIN misc ON misc.id = rels.id AND misc.lifecyclestate != 'deleted'
   INNER JOIN hierarchy hier ON hier.name = rels.objectcsid
   INNER JOIN collectionobjects_common object ON object.id = hier.id
-  LEFT JOIN relations_common media ON media.subjectcsid = hier.name AND media.objectdocumenttype = 'Media'
   LEFT JOIN collectionobjects_common_briefdescriptions bd ON bd.id = object.id AND bd.pos = 0
   LEFT JOIN hierarchy ong_hier ON ong_hier.parentid = object.id AND ong_hier.primarytype = 'objectNameGroup' AND ong_hier.pos = 0
   LEFT JOIN objectnamegroup ong ON ong.id = ong_hier.id
   LEFT JOIN hierarchy opdg_hier ON opdg_hier.parentid = object.id AND opdg_hier.name = 'collectionobjects_common:objectProductionDateGroupList' AND opdg_hier.pos = 0
   LEFT JOIN structureddategroup sdg ON sdg.id = opdg_hier.id
-), related_procedures AS (
+), related_object_media AS (
+  SELECT
+    object.csid AS objcsid,
+    media.objectcsid as mediacsid
+  FROM related_objects object
+  INNER JOIN relations_common media ON media.subjectcsid = object.csid AND media.objectdocumenttype = 'Media'
+  INNER JOIN misc ON misc.id = media.id AND misc.lifecyclestate != 'deleted'
+), related_acquisitions AS (
   SELECT
     acq.acquisitionreferencenumber AS acquisition,
+    exit.csid as exitcsid
+  FROM objectexits exit
+  INNER JOIN relations_common relation ON relation.subjectcsid = exit.csid AND relation.objectdocumenttype = 'Acquisition'
+  INNER JOIN misc ON misc.id = relation.id AND misc.lifecyclestate != 'deleted'
+  INNER JOIN hierarchy hier ON hier.name = relation.objectcsid
+  INNER JOIN acquisitions_common acq ON acq.id = hier.id
+), related_intakes AS (
+  SELECT
     intake.entrynumber AS intake,
     exit.csid as exitcsid
   FROM objectexits exit
-  LEFT JOIN relations_common acq_rels ON acq_rels.subjectcsid = exit.csid AND acq_rels.objectdocumenttype = 'Acquisition'
-  LEFT JOIN hierarchy acq_hier ON acq_hier.name = acq_rels.objectcsid
-  LEFT JOIN acquisitions_common acq ON acq.id = acq_hier.id
-  LEFT JOIN relations_common intake_rels ON intake_rels.subjectcsid = exit.csid AND intake_rels.objectdocumenttype = 'Intake'
-  LEFT JOIN hierarchy intake_hier ON intake_hier.name = intake_rels.objectcsid
-  LEFT JOIN intakes_common intake ON intake.id = intake_hier.id
+  INNER JOIN relations_common relation ON relation.subjectcsid = exit.csid AND relation.objectdocumenttype = 'Intake'
+  INNER JOIN misc ON misc.id = relation.id AND misc.lifecyclestate != 'deleted'
+  INNER JOIN hierarchy hier ON hier.name = relation.objectcsid
+  INNER JOIN intakes_common intake ON intake.id = hier.id
 )
 SELECT
   exit.exitnumber,
@@ -166,15 +179,17 @@ SELECT
   exit.disposaldate,
   exit.disposalmethod,
   exit.disposalvalue,
-  procedures.acquisition,
-  procedures.intake,
-  obj.mediacsid
+  acquisition.acquisition,
+  intake.intake,
+  media.mediacsid
 FROM objectexits exit
 LEFT JOIN approvals approval ON approval.exitcsid = exit.csid
 LEFT JOIN related_objects obj ON obj.exitcsid = exit.csid
+LEFT JOIN related_object_media media ON media.objcsid = obj.csid
 LEFT JOIN proposed_recipients proposed_recip ON proposed_recip.exitcsid = exit.csid
 LEFT JOIN recipients recip ON recip.exitcsid = exit.csid
-LEFT JOIN related_procedures procedures ON procedures.exitcsid = exit.csid]]>
+LEFT JOIN related_acquisitions acquisition ON acquisition.exitcsid = exit.csid
+LEFT JOIN related_intakes intake ON intake.exitcsid = exit.csid]]>
        </queryString>
        <field name="exitnumber" class="java.lang.String">
                <property name="com.jaspersoft.studio.field.name" value="exitnumber"/>
index f448cbb356df54ac6534d210501a107d7d3e64aa..31b74882f997d48747b68f58971b89944ea41219 100644 (file)
@@ -11,6 +11,6 @@
     <supportsGroup>false</supportsGroup>
     <supportsNoContext>true</supportsNoContext>
     <filename>deaccessions.jrxml</filename>
-    <outputMIME>application/pdf</outputMIME>
+    <outputMIME>text/csv</outputMIME>
   </ns2:reports_common>
 </document>
index 0aa227c407a0190cb5406fb9987fd0fe4d5fa3db..3216b527f2b96d8a69bc78f55baa7c9a046008de 100644 (file)
   SELECT object.collection,
     ong.objectname,
     bd.item as briefdescription,
-    media.objectcsid as mediacsid,
     sdg.datedisplaydate as productiondate,
-    intake.csid as intakecsid
+    intake.csid as intakecsid,
+    hier.name as csid
   FROM intakes intake
   INNER JOIN relations_common rels ON rels.subjectcsid = intake.csid AND rels.objectdocumenttype = 'CollectionObject'
+  INNER JOIN misc on misc.id = rels.id AND misc.lifecyclestate != 'deleted'
   INNER JOIN hierarchy hier ON hier.name = rels.objectcsid AND hier.primarytype = 'CollectionObject'
   INNER JOIN collectionobjects_common object ON object.id = hier.id
   LEFT JOIN collectionobjects_common_briefdescriptions bd ON bd.id = object.id AND bd.pos = 0
-  LEFT JOIN relations_common media ON media.subjectcsid = hier.name AND media.objectdocumenttype = 'Media'
   LEFT JOIN hierarchy ong_hier ON ong_hier.parentid = object.id AND ong_hier.primarytype = 'objectNameGroup' AND ong_hier.pos = 0
   LEFT JOIN objectnamegroup ong ON ong.id = ong_hier.id
   LEFT JOIN hierarchy opdg_hier ON opdg_hier.parentid = object.id AND opdg_hier.name = 'collectionobjects_common:objectProductionDateGroupList' AND opdg_hier.pos = 0
   LEFT JOIN structureddategroup sdg ON sdg.id = opdg_hier.id
+), related_object_media AS (
+  SELECT
+    object.csid AS objcsid,
+    media.objectcsid as mediacsid
+  FROM related_objects object
+  INNER JOIN relations_common media ON media.subjectcsid = object.csid AND media.objectdocumenttype = 'Media'
+  INNER JOIN misc on misc.id = media.id AND misc.lifecyclestate != 'deleted'
 )
 select owner.primarydisplayname as primarydisplayname,
   owner.secondarydisplayname as secondarydisplayname,
@@ -83,10 +90,11 @@ select owner.primarydisplayname as primarydisplayname,
   obj.objectname,
   obj.briefdescription,
   obj.productiondate,
-  obj.mediacsid
+  media.mediacsid
 from intakes intake
 left join person_owners as owner on intake.csid = owner.intakecsid
-left join related_objects obj on intake.csid = obj.intakecsid]]>
+left join related_objects obj on intake.csid = obj.intakecsid
+left join related_object_media media on media.objcsid = obj.csid]]>
        </queryString>
        <field name="primarydisplayname" class="java.lang.String">
                <property name="com.jaspersoft.studio.field.name" value="primarydisplayname"/>
index 2f7260d9432375be701d11ea365aed6e660a0f4d..b47050a92ca7f8b6f5665705ad3b536aa2227fda 100644 (file)
@@ -11,6 +11,6 @@
     <supportsGroup>false</supportsGroup>
     <supportsNoContext>true</supportsNoContext>
     <filename>deed_of_gift.jrxml</filename>
-    <outputMIME>application/pdf</outputMIME>
+    <outputMIME>text/csv</outputMIME>
   </ns2:reports_common>
 </document>
index fa191a149298d01e66bc7722e6236d7e1179d6c3..29b0a9d4a9a2a7320e2e64c04fa54a7126924c80 100644 (file)
@@ -11,6 +11,6 @@
     <supportsGroup>false</supportsGroup>
     <supportsNoContext>true</supportsNoContext>
     <filename>incoming_loan_letter.jrxml</filename>
-    <outputMIME>application/pdf</outputMIME>
+    <outputMIME>text/csv</outputMIME>
   </ns2:reports_common>
 </document>
index 9dac85731d5f7106ee348fa1a92da0ad9257d6cf..cc869329910073828c5da94c8900589ccb1ac27f 100644 (file)
@@ -35,7 +35,7 @@
   object.computedcurrentlocation,
   COALESCE(loc_term.termname, org_term.termname) AS locationname,
   bd.item AS description,
-  media.objectcsid AS mediacsid
+  related_media.objectcsid AS mediacsid
 FROM collectionobjects_common object
 INNER JOIN misc ON misc.id = object.id AND misc.lifecyclestate != 'deleted'
 INNER JOIN collectionspace_core core ON misc.id = core.id AND core.tenantid = $P{tenantid}
@@ -55,7 +55,13 @@ LEFT JOIN loctermgroup loc_term ON loc_term.id = loc_hier.id
 LEFT JOIN organizations_common org ON org.refname = object.computedcurrentlocation
 LEFT JOIN hierarchy org_hier ON org_hier.parentid = org.id AND org_hier.primarytype = 'orgTermGroup' AND org_hier.pos = 0
 LEFT JOIN orgtermgroup org_term ON org_term.id = org_hier.id
-LEFT JOIN relations_common media ON media.subjectcsid = hier.name AND media.objectdocumenttype = 'Media'
+-- related media
+LEFT JOIN (
+  SELECT relation.*
+  FROM relations_common relation
+  INNER JOIN misc ON misc.id = relation.id AND misc.lifecyclestate != 'deleted'
+  WHERE relation.objectdocumenttype = 'Media' AND relation.subjectdocumenttype = 'CollectionObject'
+) related_media ON related_media.subjectcsid = hier.name
 $P!{whereclause}]]>
        </queryString>
        <field name="objectnumber" class="java.lang.String">
index da7193c36ca9ecee67cf85844b407e3628c26de4..62452fdb72746220f0d3a4c5c2a17114fb2e743f 100644 (file)
@@ -11,6 +11,6 @@
     <supportsGroup>false</supportsGroup>
     <supportsNoContext>true</supportsNoContext>
     <filename>obj_computed_location.jrxml</filename>
-    <outputMIME>application/pdf</outputMIME>
+    <outputMIME>text/csv</outputMIME>
   </ns2:reports_common>
 </document>
index 05c601efd17aadc824c72f35e9da191f1b985ac7..4c0d3a8137906f5e7d086e29d9426dd72570508f 100644 (file)
@@ -11,6 +11,6 @@
     <supportsGroup>false</supportsGroup>
     <supportsNoContext>true</supportsNoContext>
     <filename>outgoing_loan_letter.jrxml</filename>
-    <outputMIME>application/pdf</outputMIME>
+    <outputMIME>text/csv</outputMIME>
   </ns2:reports_common>
 </document>
index 6d419475a4b43de96dfa06d8d4080dc84e617434..7a1a8f5351993a32a86024d06d0515b52bf0c8dc 100644 (file)
@@ -49,8 +49,8 @@ SELECT
   dimension.measurementunit AS dimensionunit,
   sd.datedisplaydate AS artworkdate,
   media.objectcsid AS mediacsid,
-  funding.acquisitionfundingcurrency,
-  funding.acquisitionfundingvalue
+  acquisition.acquisitionfundingcurrency,
+  acquisition.acquisitionfundingvalue
 FROM collectionobjects_common obj
 INNER JOIN hierarchy hier ON hier.id = obj.id
 INNER JOIN misc ON misc.id = hier.id AND misc.lifecyclestate != 'deleted'
@@ -72,11 +72,24 @@ LEFT JOIN dimensionsubgroup dimension ON dimension.id = dimension_hier.id
 LEFT JOIN hierarchy pdg_hier ON pdg_hier.parentid = obj.id AND pdg_hier.primarytype = 'publicartProductionDateGroup' AND pdg_hier.pos = 0
 LEFT JOIN hierarchy sdg_hier ON sdg_hier.parentid = pdg_hier.id AND sdg_hier.primarytype = 'structuredDateGroup'
 LEFT JOIN structureddategroup sd ON sd.id = sdg_hier.id
-LEFT JOIN relations_common media ON media.subjectcsid = hier.name AND media.objectdocumenttype = 'Media'
-LEFT JOIN relations_common acq_rels ON acq_rels.subjectcsid = hier.name AND acq_rels.objectdocumenttype = 'Acquisition'
-LEFT JOIN hierarchy acquisition_hier ON acquisition_hier.name = acq_rels.objectcsid
-LEFT JOIN hierarchy funding_hier ON funding_hier.parentid = acquisition_hier.id AND funding_hier.primarytype = 'acquisitionFunding' AND funding_hier.pos = 0
-LEFT JOIN acquisitionfunding funding ON funding.id = funding_hier.id
+LEFT JOIN (
+  SELECT relation.*
+  FROM relations_common relation
+  INNER JOIN misc ON misc.id = relation.id AND misc.lifecyclestate != 'deleted'
+  WHERE relation.objectdocumenttype = 'Media' AND relation.subjectdocumenttype = 'CollectionObject'
+) media ON media.subjectcsid = hier.name
+LEFT JOIN (
+  SELECT
+    relation.subjectcsid,
+    funding.acquisitionfundingcurrency,
+    funding.acquisitionfundingvalue
+  FROM relations_common relation
+  INNER JOIN misc ON misc.id = relation.id AND misc.lifecyclestate != 'deleted'
+  INNER JOIN hierarchy hier ON hier.name = relation.objectcsid
+  LEFT JOIN hierarchy funding_hier ON funding_hier.parentid = hier.id AND funding_hier.primarytype = 'acquisitionFunding' AND funding_hier.pos = 0
+  LEFT JOIN acquisitionfunding funding ON funding.id = funding_hier.id
+  WHERE relation.objectdocumenttype = 'Acquisition' AND relation.subjectdocumenttype = 'CollectionObject'
+) acquisition ON acquisition.subjectcsid = hier.name
 $P!{whereclause}]]>
        </queryString>
        <field name="objectnumber" class="java.lang.String">
@@ -384,7 +397,7 @@ $P!{whereclause}]]>
                                <textFieldExpression><![CDATA[$F{acquisitionfundingcurrency}]]></textFieldExpression>
                        </textField>
                        <image onErrorType="Blank">
-                               <reportElement x="500" y="0" width="50" height="50" uuid="1ad42717-39a1-42dd-be1c-e4b125a5df3e"/>
+                               <reportElement x="1500" y="0" width="50" height="50" uuid="1ad42717-39a1-42dd-be1c-e4b125a5df3e"/>
                                <imageExpression><![CDATA["cspace://media/" + $F{mediacsid} + "/blob/derivatives/Thumbnail/content"]]></imageExpression>
                        </image>
                </band>