]> git.aero2k.de Git - tmp/jakarta-migration.git/commitdiff
DRYD-1370: Join on most recent media (#385)
authorMichael Ritter <mikejritter@users.noreply.github.com>
Fri, 12 Jan 2024 22:04:44 +0000 (15:04 -0700)
committerGitHub <noreply@github.com>
Fri, 12 Jan 2024 22:04:44 +0000 (17:04 -0500)
services/report/3rdparty/jasper-cs-report/src/main/resources/accessions.jrxml
services/report/3rdparty/jasper-cs-report/src/main/resources/condition.jrxml
services/report/3rdparty/jasper-cs-report/src/main/resources/deaccessions.jrxml
services/report/3rdparty/jasper-cs-report/src/main/resources/obj_computed_location.jrxml

index 58950125c7b4c75550c5c23582d06a779b3af28b..3a15b150a88cdce40daa566d4952ee3fce241812 100644 (file)
   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
+  SELECT DISTINCT ON (object.csid)
     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'
+  INNER JOIN hierarchy hier ON hier.name = media.objectcsid
+  INNER JOIN collectionspace_core core ON core.id = hier.id
+  ORDER BY object.csid, core.updatedat DESC
 )
 SELECT
   acq.acquisitionreferencenumber,
index 60792aaca2dd3d721d1e6b88985a36060dc98830..75d7d34ffbe8a14c051d85f55ecdb3d3a5d6a156 100644 (file)
@@ -24,7 +24,7 @@
        </parameter>
        <queryString language="SQL">
                <![CDATA[WITH media AS (
-  SELECT
+  SELECT DISTINCT ON (relation.subjectcsid)
     relation.subjectcsid,
     relation.objectcsid AS mediacsid
   FROM media_common media
@@ -32,6 +32,8 @@
   INNER JOIN misc ON misc.id = media.id AND misc.lifecyclestate != 'deleted'
   INNER JOIN relations_common relation ON relation.objectcsid = hier.name
     AND (relation.subjectdocumenttype = 'Conditioncheck' OR relation.subjectdocumenttype = 'CollectionObject')
+  INNER JOIN collectionspace_core core ON core.id = media.id
+  ORDER BY relation.subjectcsid, core.updatedat DESC
 )
 SELECT
   obj.objectnumber,
index b79d0c9801e1e73cd446b556b87f1c5e8f077f8d..0f3528e0d52e538c3c89825d6f375115d753f075 100644 (file)
   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
+  SELECT DISTINCT ON (object.csid)
     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'
+  INNER JOIN hierarchy hier ON hier.name = media.objectcsid
+  INNER JOIN collectionspace_core core ON core.id = hier.id
+  ORDER BY object.csid, core.updatedat DESC
 ), related_acquisitions AS (
   SELECT
     acq.acquisitionreferencenumber AS acquisition,
index d3ed625f07c400d602e6b1f402ff4c2d0942b919..9c31ce07ddfa1d70e7cc59b75f8cafe1a57731c2 100644 (file)
@@ -57,10 +57,15 @@ LEFT JOIN hierarchy place_hier ON place_hier.parentid = place.id AND place_hier.
 LEFT JOIN placetermgroup place_term ON place_term.id = place_hier.id
 -- related media
 LEFT JOIN (
-  SELECT relation.*
+  SELECT DISTINCT ON (relation.subjectcsid)
+    relation.objectcsid,
+    relation.subjectcsid
   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
+  INNER JOIN collectionspace_core core ON core.id = hier.id
   WHERE relation.objectdocumenttype = 'Media' AND relation.subjectdocumenttype = 'CollectionObject'
+  ORDER BY relation.subjectcsid, core.updatedat DESC
 ) related_media ON related_media.subjectcsid = hier.name
 $P!{whereclause}]]>
        </queryString>