#!/usr/bin/perl

#use utf8;
use strict;
use CGI;
use JSON;
use Opals::Constant;
use Opals::Context; 
use Opals::MarcXml qw(
    mxml_updateItemStatus
);
use Opals::Session qw(
    SessionHdl_getSSID
);

my $dbh = Opals::Context->dbh();
END { $dbh->disconnect(); }
my $cgi     = CGI->new;
my $ssid =SessionHdl_getSSID($cgi);
my $input= $cgi->Vars();
my $loginuid = $ENV{'curUserId'};
my $ssVar="";  #"hitList_statusChange";
if(defined $input->{'ssVar'} && $input->{'ssVar'} ne '' ){
    $ssVar = $input->{'ssVar'}
}
my $newStatus= $input->{'newStatus'};

my $sth =$dbh->prepare("select barcode from opl_sessionVar where ssid=? && var=?");
my ($totalRequest,$totalChange) =(0,0);
$sth->execute($ssid,$ssVar);

if($newStatus == ITEM_DAMAGED || 
   $newStatus == ITEM_LOST ||
   $newStatus == ITEM_ON_ORDER ||
   $newStatus == ITEM_IN_PROCESSING ||
   $newStatus == ITEM_IN_REPAIR ||
   $newStatus == ITEM_WEED ||
   $newStatus == ITEM_INACTIVE ||
   $newStatus == ITEM_ACTIVE){

   while(my ($bc)=$sth->fetchrow_array){
        mxml_updateItemStatus($dbh,$bc,$newStatus);
        $totalChange++;
    }
    
    $dbh->do("delete from opl_sessionVar where ssid=? && var=?",undef,$ssid,$ssVar);
}
    
    

print "Content-type: text/plain\n\n";
print  to_json({status=>1,task=>'statusChange', 
                newStatus=>$input->{'newStatusTxt'},
                totalChange=>$totalChange});


