View | Details | Raw Unified | Return to bug 6679
Collapse All | Expand All

(-)a/C4/Barcodes/hbyymmincr.pm (-7 / +6 lines)
Lines 42-48 INIT { Link Here
42
# Generates barcode where hb = home branch Code, yymm = year/month catalogued, incr = incremental number,
42
# Generates barcode where hb = home branch Code, yymm = year/month catalogued, incr = incremental number,
43
# 	increment resets yearly -fbcit
43
# 	increment resets yearly -fbcit
44
44
45
sub db_max ($;$) {
45
sub db_max {
46
	my $self = shift;
46
	my $self = shift;
47
	my $query = "SELECT MAX(SUBSTRING(barcode,-$width)), barcode FROM items WHERE barcode REGEXP ? GROUP BY barcode";
47
	my $query = "SELECT MAX(SUBSTRING(barcode,-$width)), barcode FROM items WHERE barcode REGEXP ? GROUP BY barcode";
48
	$debug and print STDERR "(hbyymmincr) db_max query: $query\n";
48
	$debug and print STDERR "(hbyymmincr) db_max query: $query\n";
Lines 71-84 sub db_max ($;$) { Link Here
71
	return ($max || 0);
71
	return ($max || 0);
72
}
72
}
73
73
74
sub initial () {
74
sub initial {
75
	my $self = shift;
75
	my $self = shift;
76
	# FIXME: populated branch?
76
	# FIXME: populated branch?
77
	my $iso = C4::Dates->new->output('iso'); 	# like "2008-07-02"
77
	my $iso = C4::Dates->new->output('iso'); 	# like "2008-07-02"
78
	return $self->branch . substr($iso,2,2) . substr($iso,5,2) . sprintf('%' . "$width.$width" . 'd',1);
78
	return $self->branch . substr($iso,2,2) . substr($iso,5,2) . sprintf('%' . "$width.$width" . 'd',1);
79
}
79
}
80
80
81
sub parse ($;$) {   # return 3 parts of barcode: non-incrementing, incrementing, non-incrementing
81
sub parse {   # return 3 parts of barcode: non-incrementing, incrementing, non-incrementing
82
	my $self = shift;
82
	my $self = shift;
83
	my $barcode = (@_) ? shift : $self->value;
83
	my $barcode = (@_) ? shift : $self->value;
84
	my $branch = $self->branch;
84
	my $branch = $self->branch;
Lines 90-106 sub parse ($;$) { # return 3 parts of barcode: non-incrementing, incrementing, Link Here
90
	return ($1,$2,'');  # the third part is in anticipation of barcodes that include checkdigits
90
	return ($1,$2,'');  # the third part is in anticipation of barcodes that include checkdigits
91
}
91
}
92
92
93
sub branch ($;$) {
93
sub branch {
94
	my $self = shift;
94
	my $self = shift;
95
	(@_) and $self->{branch} = shift;
95
	(@_) and $self->{branch} = shift;
96
	return $self->{branch};
96
	return $self->{branch};
97
}
97
}
98
sub width ($;$) {
98
sub width {
99
	my $self = shift;
99
	my $self = shift;
100
	(@_) and $width = shift;	# hitting the class variable.
100
	(@_) and $width = shift;	# hitting the class variable.
101
	return $width;
101
	return $width;
102
}
102
}
103
sub process_head($$;$$) {	# (self,head,whole,specific)
103
sub process_head {	# (self,head,whole,specific)
104
	my ($self,$head,$whole,$specific) = @_;
104
	my ($self,$head,$whole,$specific) = @_;
105
	$specific and return $head;	# if this is built off an existing barcode, just return the head unchanged.
105
	$specific and return $head;	# if this is built off an existing barcode, just return the head unchanged.
106
	$head =~ s/\d{4}$//;		# else strip the old yymm
106
	$head =~ s/\d{4}$//;		# else strip the old yymm
107
- 

Return to bug 6679