#!/usr/bin/perl =begin ------------------------------------------------------------------------- unreported records > 14 calendar days after registration date =cut --------------------------------------------------------------------------- use strict; use warnings; my $JUST_TESTING = 1; # email to ra.jones only ################################################################################ my @recipients = qw( douglas bagguley raj ); my $duration = 14; # how many calendar days since registration ################################################################################ BEGIN { use FindBin qw($Bin); # warn $Bin; use lib ( "$Bin/../../../lib", '/home/raj/perl5/lib/perl5', ); } use Data::Dumper; use LIMS::Local::ScriptHelpers; # get tools from LIMS::Local::ScriptHelpers: my $tools = LIMS::Local::ScriptHelpers->new(); $tools->test_only($JUST_TESTING); my $sql_lib = $tools->sql_lib(); my $config = $tools->config(); my $dbix = $tools->dbix(); my @rows = sprintf "%-10s %-7s %s / %s\n", qw(LabNo Days Location Presentation); my $query = $sql_lib->retr('unreported_requests'); my $result = $dbix->query($query); RESULT: while (my $ref = $result->hash) { # warn Dumper $ref; next; # skip if le x days since report: next RESULT if $ref->{delta} <= $duration; # put labno in brackets if Outreach: $ref->{labno} = ( sprintf '[%s]', $ref->{labno} ) if $ref->{presentation} eq 'Outreach'; my @fields = qw( labno delta location presentation ); push @rows, sprintf "%-10s | %s | %s :: %s", @{$ref}{@fields}; } # warn Dumper \@rows; my %mail = ( config => $config, subject => "Request > $duration days unreported", message => join "\n", @rows, ); # warn Dumper \%mail; $tools->send_mail(\%mail, \@recipients);