EekBoek
view release on metacpan - search on metacpan
view release on metacpan or search on metacpan
lib/EB/Booking.pm view on Meta::CPAN
#! perl -- -*- coding: utf-8 -*-
use utf8;
# Booking.pm -- Base class for Bookings.
# Author : Johan Vromans
# Created On : Sat Oct 15 23:36:51 2005
# Last Modified By: Johan Vromans
# Last Modified On: Thu Jan 26 16:39:38 2017
# Update Count : 226
# Status : Unknown, Use with caution!
package main;
our $cfg;
our $dbh;
package EB::Booking;
use strict;
use warnings;
use EB;
use EB::Format;
use EB::Tools::Attachments;
sub new {
my ($class) = @_;
$class = ref($class) || $class;
return bless {} => $class;
}
sub adm_open {
my ($self) = @_;
unless ( $dbh->adm_open ) {
warn("?"._T("De administratie is nog niet geopend")."\n");
return;
}
1;
}
sub check_bsk_nr {
my ($self, $opts) = @_;
my $bsk_nr = $opts->{boekstuk};
my $bky = $opts->{boekjaar};
$bky = $dbh->adm("bky") unless defined($bky);
my $dbk = $opts->{dagboek};
my $rr = $dbh->do("SELECT count(*) FROM Boekstukken".
" WHERE bsk_nr = ? AND bsk_dbk_id = ? AND bsk_bky = ?",
$bsk_nr, $dbk, $bky);
return 1 if defined($rr) && $rr->[0] == 0;
warn("?".__x("Boekstuk {bsk} is reeds in gebruik",
bsk => join(":",
$dbh->lookup($dbk, qw(Dagboeken dbk_id dbk_desc)),
$bsk_nr))."\n");
return;
}
sub bsk_nr {
my ($self, $opts) = @_;
my $bsk_nr;
my $prev = defined($opts->{boekjaar}) && $opts->{boekjaar} ne $dbh->adm("bky");
$bsk_nr = $opts->{boekstuk};
if ( defined $bsk_nr ) {
unless ( $bsk_nr =~ /^[0-9]+$/ ) {
warn("?"._T("Het boekstuknummer moet een geheel getal (volgnummer) zijn")."\n");
return;
}
return unless $self->check_bsk_nr($opts);
my $t = $prev ? "0" : $opts->{dagboek};
$dbh->set_sequence("bsk_nr_${t}_seq", $bsk_nr+1)
# if $dbh->get_sequence("bsk_nr_${t}_seq", "noincr") < $bsk_nr;
}
elsif ( $prev ) {
warn("?"._T("Boekstukken in voorafgaande boekjaren moeten verplicht worden voorzien van een boekstuknummer")."\n");
return;
#$bsk_nr = $dbh->get_sequence("bsk_nr_0_seq");
}
else {
$bsk_nr = $dbh->get_sequence("bsk_nr_".$opts->{dagboek}."_seq");
$opts->{boekstuk} = $bsk_nr;
return unless $self->check_bsk_nr($opts);
}
$bsk_nr;
}
sub begindate {
my ($self) = @_;
my $begin;
view all matches for this distributionview release on metacpan - search on metacpan
( run in 0.896 second using v1.00-cache-2.02-grep-82fe00e-cpan-503542c4f10 )