X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=SL%2FSEPA.pm;h=2809063077d8b7b3db418f47c74cabda7614af46;hb=d64013f4ba48d1f34e1d55f8c5f98d0ab2b5ed2b;hp=cbea8417e317b5d1457b912665d84ca957974303;hpb=a87694dc525b4eabff11029f1e5401621e2bd3bc;p=kivitendo-erp.git diff --git a/SL/SEPA.pm b/SL/SEPA.pm index cbea8417e..280906307 100644 --- a/SL/SEPA.pm +++ b/SL/SEPA.pm @@ -49,13 +49,13 @@ sub retrieve_open_invoices { FROM ${arap} LEFT JOIN ${vc} vc ON (${arap}.${vc}_id = vc.id) - LEFT JOIN (SELECT sei.ap_id, SUM(sei.amount) AS amount + LEFT JOIN (SELECT sei.${arap}_id, SUM(sei.amount) + SUM(COALESCE(sei.skonto_amount,0)) AS amount FROM sepa_export_items sei LEFT JOIN sepa_export se ON (sei.sepa_export_id = se.id) WHERE NOT se.closed AND (se.vc = '${vc}') - GROUP BY sei.ap_id) - AS open_transfers ON (${arap}.id = open_transfers.ap_id) + GROUP BY sei.${arap}_id) + AS open_transfers ON (${arap}.id = open_transfers.${arap}_id) LEFT JOIN payment_terms pt ON (${payment_term_type}.payment_id = pt.id) @@ -322,13 +322,24 @@ sub list_exports { if ($filter->{invnumber}) { push @where_sub, "arap.invnumber ILIKE ?"; - push @values_sub, '%' . $filter->{invnumber} . '%'; + push @values_sub, like($filter->{invnumber}); $joins_sub{$arap} = 1; } + if ($filter->{message_id}) { + push @values, like($filter->{message_id}); + push @where, <{vc}) { push @where_sub, "vc.name ILIKE ?"; - push @values_sub, '%' . $filter->{vc} . '%'; + push @values_sub, like($filter->{vc}); $joins_sub{$arap} = 1; $joins_sub{vc} = 1; } @@ -364,6 +375,15 @@ sub list_exports { my $query = qq|SELECT se.id, se.employee_id, se.executed, se.closed, itime::date AS export_date, + (SELECT COUNT(*) + FROM sepa_export_items sei + WHERE (sei.sepa_export_id = se.id)) AS num_invoices, + (SELECT SUM(sei.amount) + FROM sepa_export_items sei + WHERE (sei.sepa_export_id = se.id)) AS sum_amounts, + (SELECT string_agg(semi.message_id, ', ') + FROM sepa_export_message_ids semi + WHERE semi.sepa_export_id = se.id) AS message_ids, e.name AS employee FROM sepa_export se LEFT JOIN (