<?php 
 
// array for JSON response
$response = array();
 
 require_once __DIR__ . '/catchexception.php';
// include db connect class
require_once __DIR__ . '/db_config.php';
  
 
// $paraimeino = urldecode($_POST['paraimeino']);
 $paraimeino ='99caf25cb19a70cb'; 
 try{
if ($paraimeino !="" ) {
    
    // get a product from products table
  /*  $paracountqry="SELECT count(*) as countval from tblsyncdetails where imeino=$1 and synctype='itemmaster';";
  $resultmax=  pg_prepare($con,"paracountqry",$paracountqry);
 $data = [$paraimeino];
 $res = pg_execute($con,"paracountqry",$data);
  if (!empty($res)) {
    if (pg_num_rows($res) > 0) {   
      while ($row = pg_fetch_assoc($res)) {
          $countval= $row["countval"] ;
        }
      }
    }
 $getbranchcode= 0;

    // get a product from products table
    $paracountqry1="SELECT branchcode  from tblbranchdevicemapping where deviceid=$1 ;";
    $resultmax=  pg_prepare($con,"paracountqry1",$paracountqry1);
    $data = [$paraimeino];
    $res = pg_execute($con,"paracountqry1",$data);
    if (!empty($res)) {
      if (pg_num_rows($res) > 0) {   
        while ($row = pg_fetch_assoc($res)) {
            $getbranchcode= $row["branchcode"] ;
          }
        }
      }

    if ($countval > 0){
      $paraquery="SELECT * from (select *,'Insert' as  process,coalesce((select  currentprice from tblitempricelisttransaction where branchcode ='$getbranchcode' and itemcode=a.itemcode
  and to_date(to_char(now(),'YYYY-MM-DD'),'YYYY-MM-DD') >= to_date(to_char(effectivefrom,'YYYY-MM-DD'),'YYYY-MM-DD')  order by effectivefrom desc limit 1 ),sellingprice)  from tblitemmaster where (select syncdate from tblsyncdetails where imeino=$1 and synctype='itemmaster' order by syncdate desc limit 1 ) <= createddate and statuscode='1'
      union all  select *,'Update' as process,coalesce((select  currentprice from tblitempricelisttransaction where branchcode ='$getbranchcode' and itemcode=a.itemcode
  and to_date(to_char(now(),'YYYY-MM-DD'),'YYYY-MM-DD') >= to_date(to_char(effectivefrom,'YYYY-MM-DD'),'YYYY-MM-DD')  order by effectivefrom desc limit 1 ),sellingprice) from tblitemmaster where (select syncdate from tblsyncdetails where imeino=$2 and synctype='itemmaster' order by syncdate desc limit 1 ) <=updateddate  
      ) as dev;";
      $resultmax=  pg_prepare($con,"paraquery",$paraquery);
      $data = [$paraimeino,$paraimeino];
      $result = pg_execute($con,"paraquery",$data);
    }
    else{
      $paraquery="SELECT *,'Insert' as  process,coalesce((select  currentprice from tblitempricelisttransaction where branchcode ='$getbranchcode' and itemcode=a.itemcode
  and to_date(to_char(now(),'YYYY-MM-DD'),'YYYY-MM-DD') >= to_date(to_char(effectivefrom,'YYYY-MM-DD'),'YYYY-MM-DD')  order by effectivefrom desc limit 1 ),sellingprice) as currentprice from tblitemmaster as a where  statuscode='1'  "; 
      $result = pg_query($con,$paraquery );
    } */

    $getbranchcode= 0;

    // get a product from products table
    $paracountqry1="SELECT branchcode  from tblbranchdevicemapping where deviceid=$1 ;";
    $resultmax=  pg_prepare($con,"paracountqry1",$paracountqry1);
    $data = [$paraimeino];
    $res = pg_execute($con,"paracountqry1",$data);
    if (!empty($res)) {
      if (pg_num_rows($res) > 0) {   
        while ($row = pg_fetch_assoc($res)) {
            $getbranchcode= $row["branchcode"] ;
          }
        }
      }

    $paraquery="SELECT *,'Insert' as  process,coalesce((select  currentprice from tblitempricelisttransaction where branchcode ='$getbranchcode' and itemcode=a.itemcode  order by autonum desc limit 1 ),sellingprice) as currentprice,coalesce((select  onlineprice from tblitempricelisttransaction where branchcode ='$getbranchcode' and itemcode=a.itemcode  order by autonum desc limit 1 ),0) as onlineprice from tblitemmaster as a where  statuscode='1'  "; 
      $result = pg_query($con,$paraquery );
    if (!empty($result)) {
        // check for empty result
        if (pg_num_rows($result) > 0) {
      // user node
            $response["Value"] = array();
 
            while ($row = pg_fetch_assoc($result)) {        
              $report = array();
               
                $report["autonum"] = $row["autonum"];
                $report["itemcode"] = $row["itemcode"];
                $report["itemgroupcode"] = $row["itemgroupcode"];
                $report["itemname"] = $row["itemname"];
                $report["statuscode"] = $row["statuscode"];
                $report["sellingprice"] = $row["currentprice"];
                $report["onlineprice"] = $row["onlineprice"];
                $report["itemnameintamil"] = $row["itemnameintamil"]; 
                $report["makerid"] = $row["makerid"]; 
                $report["unitcode"] = $row["unitcode"]; 
                $report["createddate"] = $row["createddate"]; 
                $report["updateddate"] = $row["updateddate"]; 
                $report["process"] = $row["process"];
           
              // push single product into final response array
              array_push($response["Value"], $report);
            }
            // success
            $response["success"] = 1;
 
            // echoing JSON response
            echo  json_encode($response,JSON_UNESCAPED_UNICODE);


        } else {
            // no user found
            $response["success"] = 0;
            $response["message"] = "No Report found";
 
            // echo no users JSON
            echo json_encode($response);
        }
    } else {
        // no user found
        $response["success"] = 0;
        $response["message"] = "No found";
 
        // echo no users JSON
        echo json_encode($response);
    }
} else {
    // required field is missing
    $response["success"] = 0;
    $response["message"] = "Required field(s) is missing";
 
     echo  json_encode($response,JSON_UNESCAPED_UNICODE);
  }
  mch_db_release($con);
}
//catch exception
catch(Exception $e) {
mch_db_release($con);
echo 'Message: ' .$e->getMessage();
}
?>
