<?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 ='a90095e250b483de'; 
try{
if ($paraimeino !="" ) {
    
    // get a product from products table
     $paracountqry="SELECT count(*) as countval from tblsyncdetails where imeino=$1 and synctype='branchitemgroupmapping';";
      $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"] ;
              }
            }
        }

      if ($countval > 0){ 
          $paraquery="SELECT * from (select *,'Insert' as  process  from tblbranchitemgroupmapping where branchcode in (select branchcode from tblbranchdevicemapping where deviceid=$1) and (select syncdate from tblsyncdetails where imeino=$1 and synctype='branchitemgroupmapping' order by syncdate desc limit 1 ) <= createddate union all  select *,'Update' as process from tblbranchitemgroupmapping where  branchcode in (select branchcode from tblbranchdevicemapping where deviceid=$1) and (select syncdate from tblsyncdetails where imeino=$1 and synctype='branchitemgroupmapping' order by syncdate desc limit 1 ) <=updateddate   ) as dev;";
          $resultmax=  pg_prepare($con,"paraquery",$paraquery);
          $data = [$paraimeino];
          $result = pg_execute($con,"paraquery",$data);
      }
      else{
          $paraquery="SELECT *,'Insert' as  process  from tblbranchitemgroupmapping  where  branchcode in (select branchcode from tblbranchdevicemapping where deviceid=$1) "; 
          $resultmax=  pg_prepare($con,"paraquery",$paraquery);
          $data = [$paraimeino];
          $result = pg_execute($con,"paraquery",$data);
      }  
  
      // $paraquery="SELECT *,'Insert' as  process  from tblbranchitemgroupmapping where  branchcode in (select branchcode from tblbranchdevicemapping where deviceid=$1) ";
      // $resultmax=  pg_prepare($con,"paraquery",$paraquery);
      // $data = [$paraimeino];
      // $result = pg_execute($con,"paraquery",$data);

    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["branchcode"] = $row["branchcode"];
                $report["itemgroupcode"] = $row["itemgroupcode"]; 
                $report["makerid"] = $row["makerid"]; 
                $report["createddate"] = $row["createddate"]; 
                $report["updateddate"] = $row["updateddate"]; 
                $report["process"] = $row["process"];
                $report["menuorder"] = $row["menuorder"];
           
              // 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();
}
?>
