X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=SL%2FDB%2FSepaExportItem.pm;h=0bcab3e3f2877324d48111477f6e1c1647ea5bf2;hb=53593baa211863fbf66540cf1bcc36c8fb37257f;hp=3c46ee39b41fac1ab3015c638c4684fe2a56ad06;hpb=4fd22b569d4436293e0a9d364d7356b5bfc503e5;p=kivitendo-erp.git diff --git a/SL/DB/SepaExportItem.pm b/SL/DB/SepaExportItem.pm index 3c46ee39b..0bcab3e3f 100644 --- a/SL/DB/SepaExportItem.pm +++ b/SL/DB/SepaExportItem.pm @@ -1,13 +1,48 @@ -# This file has been auto-generated only because it didn't exist. -# Feel free to modify it at will; it will not be overwritten automatically. - package SL::DB::SepaExportItem; use strict; +use SL::DB::SepaExport; use SL::DB::MetaSetup::SepaExportItem; +__PACKAGE__->meta->initialize; + # Creates get_all, get_all_count, get_all_iterator, delete_all and update_all. __PACKAGE__->meta->make_manager_class; +sub compare_to { + my ($self, $other) = @_; + + return 1 if $self->execution_date && !$other->execution_date; + return -1 if !$self->execution_date && $other->execution_date; + + my $result = 0; + $result = $self->execution_date <=> $other->execution_date if $self->execution_date; + return $result || ($self->sepa_export_id <=> $other->sepa_export_id) || ($self->id <=> $other->id); +} + +sub set_executed { + my ($self) = @_; + + $self->executed(1); # does execution date also need to be set? + $self->save; + # if all the sepa_export_items in the sepa_export are closed (executed), close the sepa_export + if ( SL::DB::Manager::SepaExportItem->get_all_count( where => [ sepa_export_id => $self->sepa_export_id, executed => 0] ) == 0 ) { + my $sepa_export = SL::DB::Manager::SepaExport->find_by(id => $self->sepa_export_id); + $sepa_export->executed(1); + $sepa_export->closed(1); + $sepa_export->save(changes_only=>1); + }; +}; + + +sub arap_id { + my ($self) = @_; + if ( $self->ar_id ) { + return $self->ar_id; + } else { + return $self->ap_id; + }; +}; + 1;