X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;ds=sidebyside;f=sql%2FPg-upgrade2%2Fclean_tax_18_19.pl;fp=sql%2FPg-upgrade2%2Fclean_tax_18_19.pl;h=423fa7a9d7dd6952a7913af750143d66ee424cc0;hb=b293ff8ad52fc76ba0c44783e3982418114d6b08;hp=0000000000000000000000000000000000000000;hpb=d4925a8b60f04674885e30d9316dc0263f8b9a84;p=kivitendo-erp.git diff --git a/sql/Pg-upgrade2/clean_tax_18_19.pl b/sql/Pg-upgrade2/clean_tax_18_19.pl new file mode 100644 index 000000000..423fa7a9d --- /dev/null +++ b/sql/Pg-upgrade2/clean_tax_18_19.pl @@ -0,0 +1,74 @@ +# @tag: clean_tax_18_19 +# @description: Vorbereitung für neue Steuerschlüssel 18,19 +# @depends: release_3_6_0 tax_reverse_charge +# @ignore: 0 +package SL::DBUpgrade2::clean_tax_18_19; + +use strict; +use utf8; + +use parent qw(SL::DBUpgrade2::Base); + +sub delete_alter_tax { + my $self = shift; + + my $query = <dbh->prepare($query); + my $acc_fetch = $self->dbh->prepare($q_fetch); + my $delete_tk = $self->dbh->prepare($delete_taxkey); + my $delete_t = $self->dbh->prepare($delete_tax); + my $edit_q = $self->dbh->prepare($edit_tax); + + + my $tax_id; + foreach ( qw(18 19) ) { + $h_fetch->execute($_) || $::form->dberror($query); + while (my $entry = $h_fetch->fetchrow_hashref) { + $tax_id = $entry->{id}; + next unless $tax_id; + $edit_q->execute($tax_id) || $::form->dberror($edit_tax); + $acc_fetch->execute($tax_id) || $::form->dberror($q_fetch); + if (!$acc_fetch->fetchrow_hashref) { + $delete_tk->execute($tax_id) || $::form->dberror($delete_tk); + $delete_t ->execute($tax_id) || $::form->dberror($delete_t); + } + } + } +} + +sub run { + my ($self) = @_; + + return 1 unless ($self->check_coa('Germany-DATEV-SKR03EU') ||$self->check_coa('Germany-DATEV-SKR04EU')); + + $self->delete_alter_tax; + + return 1; +} + +1;