RSS Git Download  Clone
Raw Blame History
#!/usr/bin/perl

=begin -------------------------------------------------------------------------
request status = complete and updated_at = yesterday
=cut ---------------------------------------------------------------------------

use Getopt::Std;
getopts('td:'); # days
our($opt_d, $opt_t); # warn $opt_d; exit;

use strict;
use warnings;

################################################################################
my @recipients = qw(); # admin contact **must be nhs.net** pushed below
my $duration = $opt_d || 1;
my $JUST_TESTING = $opt_t || 0; # email to ra.jones only
################################################################################

use lib '/home/raj/perl5/lib/perl5';
use Data::Dumper::Concise;
use HTML::Template;

use FindBin qw($Bin); # warn $Bin;
use lib "$Bin/../../../lib";
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(); # warn Dumper $config->{service_email};
my $dbix    = $tools->dbix();

my $query = $sql_lib->retr('completed_requests');

my @rows = $dbix->query($query, $duration)->hashes; # warn Dumper @rows;
exit unless @rows;

push @recipients, $config->{service_email}; # sole contact - must be nhs.net

my $html = do { local $/; <DATA> };
my $yesterday = $tools->date_subtract( days => $duration )->dmy('.');

my $template = HTML::Template->new(scalarref => \$html, loop_context_vars => 1);
$template->param( ROWS => \@rows, DATE => $yesterday );
my $message_body = $template->output(); # warn $message_body;

my %mail = (
    subject => 'Request status complete',
    message => $message_body,
    content => 'html',
	config  => $config,
); # warn Dumper [\%mail, \@recipients]; exit;

$tools->send_mail(\%mail, \@recipients);

__DATA__
<html>
  <head>
    <title>Request Status Complete</title>
    <style>
        html { font-family: verdana, sans-serif; }
        h2 { color: #800000; }
        table { border-collapse: collapse; margin-left: 1em }
        td, th { border: solid 1px #c0c0c0; padding: 2px; font-size: 9pt; }
        #head { background-color: ActiveCaption; color: CaptionText; }
    </style>
  </head>
  <body>
    <h2>Request status complete on <!-- TMPL_VAR NAME=DATE --></h2>
    <table>
       <tr id="head">
          <th>ReqNum</th>
          <th>Year</th>
          <th>Name</th>
          <th>DoB</th>
          <th>Location</th>
          <th>Diagnosis</th>
       </tr>
    <!-- TMPL_LOOP NAME=ROWS -->
       <tr>
          <td><!-- TMPL_VAR NAME=request_number --></td>
          <td><!-- TMPL_VAR NAME=year --></td>
          <td>
            <!-- TMPL_VAR NAME=lastname -->,
            <!-- TMPL_VAR NAME=firstname -->
            <!-- TMPL_VAR NAME=middlename -->
          </td>
          <td><!-- TMPL_VAR NAME=dob --></td>
          <td><!-- TMPL_VAR NAME=location --></td>
          <td><!-- TMPL_VAR NAME=diagnosis --></td>
       </tr>
    <!-- /TMPL_LOOP -->
    </table>
  </body>
</html>