@@ -78,6 +78,7 @@ public String getEmailSubject(Container c)
7878 idsMissingFromDemographics (c , u , msg );
7979 missingArtRecord (c , u , msg );
8080 missingAnchorDates (c , u , msg );
81+ duplicatePVLs (c , u , msg );
8182
8283 if (!msg .isEmpty ())
8384 {
@@ -128,7 +129,7 @@ private void genericQueryCheck(Container c, User u, StringBuilder msg, String sc
128129 if (count > 0 )
129130 {
130131 msg .append ("<b>WARNING: There are " ).append (count ).append (" " + message + "</b><br>\n " );
131- msg .append ("<p><a href='" ).append (getExecuteQueryUrl (c , schemaName , queryName , null )).append ("'>Click here to view them</a><br>\n \n " );
132+ msg .append ("<p><a href='" ).append (getExecuteQueryUrl (c , schemaName , queryName , null , filter )).append ("'>Click here to view them</a><br>\n \n " );
132133 msg .append ("<hr>\n \n " );
133134 }
134135 }
@@ -161,7 +162,7 @@ private void missingArtRecord(Container c, User u, StringBuilder msg)
161162 SimpleFilter filter = new SimpleFilter (FieldKey .fromString ("projects/studyDescription" ), "ART" , CompareType .CONTAINS );
162163 filter .addCondition (FieldKey .fromString ("projects/studyDescription" ), "No ART" , CompareType .DOES_NOT_CONTAIN );
163164 filter .addCondition (FieldKey .fromString ("sivART/artInitiationDPI" ), null , CompareType .ISBLANK );
164- genericQueryCheck (c , u , msg , "study" , s . getSubjectNounSingular () , "IDs assigned to an ART study without a record of ART" , filter );
165+ genericQueryCheck (c , u , msg , "study" , "demographics" , "IDs assigned to an ART study without a record of ART" , filter );
165166 }
166167
167168 private void missingAnchorDates (Container c , User u , StringBuilder msg )
@@ -175,6 +176,17 @@ private void missingAnchorDates(Container c, User u, StringBuilder msg)
175176 genericQueryCheck (c , u , msg , "study" , "missingAnchorDates" , "records missing from the anchor dates table" );
176177 }
177178
179+ private void duplicatePVLs (Container c , User u , StringBuilder msg )
180+ {
181+ Study s = StudyService .get ().getStudy (getTargetContainer (c ));
182+ if (s == null )
183+ {
184+ return ;
185+ }
186+
187+ genericQueryCheck (c , u , msg , "study" , "duplicatePVLs" , "duplicate PVL records" );
188+ }
189+
178190 protected Container getTargetContainer (Container c )
179191 {
180192 return c .isWorkbookOrTab () ? c .getParent () : c ;
0 commit comments