$key = "all_printers" unless ($key);
- my $query = qq|SELECT id, printer_description, printer_command FROM printers|;
+ my $query = qq|SELECT id, printer_description, printer_command, template_code FROM printers|;
$self->{$key} = selectall_hashref_query($self, $dbh, $query);
$main::lxdebug->leave_sub();
}
+sub _get_languages {
+ $main::lxdebug->enter_sub();
+
+ my ($self, $dbh, $key) = @_;
+
+ $key = "all_languages" unless ($key);
+
+ my $query = qq|SELECT * FROM language ORDER BY id|;
+
+ $self->{$key} = selectall_hashref_query($self, $dbh, $query);
+
+ $main::lxdebug->leave_sub();
+}
+
sub get_lists {
$main::lxdebug->enter_sub();
$self->_get_printers($dbh, $params{"printers"});
}
+ if ($params{"languages"}) {
+ $self->_get_languages($dbh, $params{"languages"});
+ }
+
if ($params{"charts"}) {
$self->_get_charts($dbh, $params{"charts"});
}
}
# now get the account numbers
- $query = qq|
- SELECT
- c.accno, c.description, c.link, c.taxkey_id,
- tk.tax_id
- FROM chart c
- LEFT JOIN taxkeys tk ON (tk.chart_id = c.id)
- WHERE (c.link LIKE ?) AND (tk.chart_id = c.id) AND NOT (c.link LIKE '%_tax%')
- ORDER BY c.accno|;
+ $query = qq|SELECT c.accno, c.description, c.link, c.taxkey_id, tk.tax_id
+ FROM chart c, taxkeys tk
+ WHERE c.link LIKE ?
+ AND ( tk.chart_id = c.id OR c.link LIKE '%_tax%')
+ AND (NOT tk.chart_id = c.id OR NOT c.link LIKE '%_tax%')
+ AND (tk.id = (SELECT id FROM taxkeys WHERE taxkeys.chart_id = c.id AND startdate <= $transdate ORDER BY startdate DESC LIMIT 1)
+ OR c.link LIKE '%_tax%')
+ ORDER BY c.accno|;
$sth = $dbh->prepare($query);
- do_statement($self, $sth, $query, "%" . $module . "%");
+ do_statement($self, $sth, $query, "%$module%");
$self->{accounts} = "";
while ($ref = $sth->fetchrow_hashref(NAME_lc)) {