Projekt

Allgemein

Profil

« Zurück | Weiter » 

Revision f63df59d

Von Moritz Bunkus vor mehr als 14 Jahren hinzugefügt

  • ID f63df59d965c221eb3b4bbb3928c7bdc062fc69f
  • Vorgänger 0b33ef7a
  • Nachfolger 880ae1e5

Unterscheidung Bankeinzug/Überweisung beim Erstellen der SEPA-Einträge

Unterschiede anzeigen:

SL/SEPA.pm
my $self = shift;
my %params = @_;
Common::check_params(\%params, qw(employee bank_transfers));
Common::check_params(\%params, qw(employee bank_transfers vc));
my $myconfig = \%main::myconfig;
my $form = $main::form;
my $arap = $params{vc} eq 'customer' ? 'ar' : 'ap';
my $vc = $params{vc} eq 'customer' ? 'customer' : 'vendor';
my $ARAP = uc $arap;
my $dbh = $params{dbh} || $form->get_standard_dbh($myconfig);
my ($export_id) = selectfirst_array_query($form, $dbh, qq|SELECT nextval('sepa_export_id_seq')|);
my $query =
qq|INSERT INTO sepa_export (id, employee_id)
qq|INSERT INTO sepa_export (id, employee_id, vc)
VALUES (?, (SELECT id
FROM employee
WHERE login = ?))|;
do_query($form, $dbh, $query, $export_id, $params{employee});
WHERE login = ?), ?)|;
do_query($form, $dbh, $query, $export_id, $params{employee}, $vc);
my $q_item_id = qq|SELECT nextval('id')|;
my $h_item_id = prepare_query($form, $dbh, $q_item_id);
my $q_insert =
qq|INSERT INTO sepa_export_items (id, sepa_export_id, ap_id, chart_id,
qq|INSERT INTO sepa_export_items (id, sepa_export_id, ${arap}_id, chart_id,
amount, requested_execution_date, reference, end_to_end_id,
our_iban, our_bic, vendor_iban, vendor_bic)
our_iban, our_bic, vc_iban, vc_bic)
VALUES (?, ?, ?, ?,
?, ?, ?, ?,
?, ?, ?, ?)|;
my $h_insert = prepare_query($form, $dbh, $q_insert);
my $q_reference =
qq|SELECT ap.invnumber,
qq|SELECT arap.invnumber,
(SELECT COUNT(at.*)
FROM acc_trans at
LEFT JOIN chart c ON (at.chart_id = c.id)
WHERE (at.trans_id = ?)
AND (c.link LIKE '%AP_paid%'))
AND (c.link LIKE '%${ARAP}_paid%'))
+
(SELECT COUNT(sei.*)
FROM sepa_export_items sei
WHERE (sei.ap_id = ?))
AS num_payments
FROM ap
FROM ${arap} arap
WHERE id = ?|;
my $h_reference = prepare_query($form, $dbh, $q_reference);
......
foreach my $transfer (@{ $params{bank_transfers} }) {
if (!$transfer->{reference}) {
do_statement($form, $h_reference, $q_reference, (conv_i($transfer->{ap_id})) x 3);
do_statement($form, $h_reference, $q_reference, (conv_i($transfer->{"${arap}_id"})) x 3);
my ($invnumber, $num_payments) = $h_reference->fetchrow_array();
$num_payments++;
......
$end_to_end_id .= $item_id;
$end_to_end_id = substr $end_to_end_id, 0, 35;
my @values = ($item_id, $export_id,
conv_i($transfer->{ap_id}), conv_i($transfer->{chart_id}),
$transfer->{amount}, conv_date($transfer->{requested_execution_date}),
$transfer->{reference}, $end_to_end_id,
map { my $pfx = $_; map { $transfer->{"${pfx}_${_}"} } qw(iban bic) } qw(our vendor));
my @values = ($item_id, $export_id,
conv_i($transfer->{"${arap}_id"}), conv_i($transfer->{chart_id}),
$transfer->{amount}, conv_date($transfer->{requested_execution_date}),
$transfer->{reference}, $end_to_end_id,
map { my $pfx = $_; map { $transfer->{"${pfx}_${_}"} } qw(iban bic) } qw(our vc));
do_statement($form, $h_insert, $q_insert, @values);
}
bin/mozilla/sepa.pl
} else {
foreach my $bank_transfer (@bank_transfers) {
foreach (qw(iban bic)) {
$bank_transfer->{"vc_${_}"} = $vc_bank_info->{ $bank_transfer->{vc_id} }->{$_};
$bank_transfer->{"vc_${_}"} = $vc_bank_info->{ $bank_transfer->{"${vc}_id"} }->{$_};
$bank_transfer->{"our_${_}"} = $bank_account->{$_};
}
templates/webpages/sepa/bank_transfer_created.html
</li>
<li>
<a href="sepa.pl?action=bank_transfer_list&l_open=1&l_not_executed=1">
<a href="sepa.pl?action=bank_transfer_list&l_open=1&l_not_executed=1&vc=[% HTML.url(vc) %]">
[% 'List open SEPA exports' | $T8 %]
</a>
</li>

Auch abrufbar als: Unified diff