#!/usr/bin/perl

#use utf8;
use strict;
use CGI;

use Opals::Context;
use Opals::Template qw(
    tmpl_read
    tmpl_write
    tmpl_preference
);

use Opals::Tb_Record qw(

    tb_item_findByRId
    tb_itemType_getList
    tb_createNextBiggerBc

);


my $dbh = Opals::Context->dbh();
END { $dbh->disconnect(); }

my $cgi      = CGI->new;
my $input    = $cgi->Vars();


my ($second, $minute, $hour, $dayOfMonth, $month, $yearOffset, $dayOfWeek, $dayOfYear, $daylightSavings) = localtime();
my $time =sprintf("%04d-%02d-%02d %2d:%2d:%2d", $yearOffset+1900, $month+1, $dayOfMonth,$hour,$minute,$second);

my ($permission, $cookie, $template) = tmpl_read(
    {
        dbh             => $dbh,
        cgi             => $cgi,
        tmplFile        => 'txtbk/ajax/util/createNewHolding2HTML.tmpl',
        reqPermission   => 'tb_circ_loan|tb_circ_return',
    }
);

my $tbItemTypeList    = tb_itemType_getList($dbh);
my $rid = $input->{'curRid'};
my $nCopy = $input->{'ncopies'};
my $nNewCopy = $input->{'nNewCopy'};
    $nCopy = 0  if (!$nCopy || $nCopy eq "");

    $nNewCopy = 0 if (!$nNewCopy || $nNewCopy eq "") ;

my $bcodeStart  = $input->{'bcodeStart'};
my $itemType    = $input->{'itemType'};
my $lcode       = $input->{'lcode'};
my $classNo     = $input->{'classno'};
my $rgnCode     = $input->{'regioncode'};
my $dstCode     = $input->{'districtcode'};
my $bldCode     = $input->{'buildingcode'};
my $acqDate     = $input->{'acquisitiondate'};
my $poNo        = $input->{'pono'};
my $distributor = $input->{'distributor'};
my $price       = $input->{'price'};
my $importDate  = $input->{'importdate'};
my $budgetCat   = $input->{'budgetCat'};
my $vendorCatNo = $input->{'vendorCatNo'};



my $itemList    = tb_item_findByRId($dbh,$rid);

my $countItem = 0;    

if ($itemList){
    $countItem = scalar(@$itemList);
}

foreach my $i (@$tbItemTypeList){
    if ($i->{'id'} eq $itemType){
        $i->{'sel'} = 1;
        last;
    }
}


if ($permission &&  ($permission->{'tb_circ_loan'}|| $permission->{'tb_circ_return'})) {
   my $newItemList = [];
   my $bc = $bcodeStart;
   for (my $i = 0; $i < $nCopy ; $i++){
        
        push @$newItemList, {
            itemId      => $i,
            order       => $i + 1 + $countItem + $nNewCopy ,
            barcode     => $bc,
            typeId      => $tbItemTypeList,
            locationCode=> $lcode ,
            price       => $price , 
            classno     => $classNo , 
            acqDate     => $acqDate , 
            poNo        => $poNo , 
            distributor => $distributor , 
            regionCode  => $rgnCode , 
            districtCode => $dstCode , 
            buildingCode => $bldCode, 
            importDate   => $importDate, 
            budgetCategory => $budgetCat,
            vendorCatalogNo => $vendorCatNo 
        };
        $bc = tb_createNextBiggerBc($dbh, $bc);
   }
   $template->param(
            newItemList  =>$newItemList,
            nNewCopy => $nCopy + $nNewCopy,
            );
}
tmpl_write($dbh, $cgi, $cookie, $template);
#------------------------------------------------------------------------------
