5 use Data::Dump qw/dump/;
6 use Algorithm::CheckDigits;
11 my $ferweb_csv = 'report_62836_1026_Aktivni_studenti.csv';
12 my $dt = DateTime->now()->add( years => 1 );
13 $dt->set( month => 10, day => 31 ); # next year, 31.10.
14 my $new_dateexpiry = $dt->ymd;
16 warn "# new_dateexpiry: $new_dateexpiry\n";
18 die "$ferweb_csv : $!" unless -r $ferweb_csv;
20 my $koha_conf = XMLin('/etc/koha/sites/fer/koha-conf.xml');
22 my $c = DBI->connect("dbi:CSV:","","", { RaiseError => 1, f_ext => '.csv', f_encoding => 'utf-8', csv_sep_char => ';' }) || die $dbi::errstr;
23 my $k = DBI->connect("dbi:mysql:database=" . $koha_conf->{config}->{database}, $koha_conf->{config}->{user}, $koha_conf->{config}->{pass},
24 { RaiseError => 1, AutoCommit => 0, mysql_enable_utf8 => 1 }) || die $DBI::errstr;
26 my $ferweb_table = $ferweb_csv;
27 $ferweb_table =~ s/\.csv//i;
29 my $s = $c->prepare(qq{
30 select * from $ferweb_table
34 my $user_exists = $k->prepare(qq{
35 select * from borrowers where cardnumber = ?
38 my $insert_user = $k->prepare(qq{
40 (cardnumber, categorycode, userid, firstname, surname, branchcode, email, dateexpiry)
42 (?,'S',?,?,?,'SRE',?,'2021-12-13')
45 my $update_dateexpiry = $k->prepare(qq{
53 while( my $row = $s->fetchrow_hashref ) {
55 # warn "# row = ",dump($row),$/;
57 $user_exists->execute( 'S' . $row->{jmbag} );
59 if ( $user_exists->rows ) {
60 my $user = $user_exists->fetchrow_hashref;
61 # warn "# koha borrower = ",dump($user);
64 $update_dateexpiry->execute( $new_dateexpiry, 'S' . $row->{jmbag} );
65 } elsif ( ! $row->{nick} ) {
66 warn "NEW (without nick) ",dump($row);
67 $stat->{new_no_nick}++;
70 warn "NEW: ",dump($row);
71 $insert_user->execute( 'S' . $row->{jmbag}, $row->{nick}, $row->{ime}, $row->{prezime}, $row->{email} );
86 warn "# stat ", dump( $stat ),$/;