<?php 
ini_set('max_execution_time', 0); //300 seconds = 5 minutes 
date_default_timezone_set("Asia/Bangkok");
// echo $_SESSION['company_id'];
include('../include/connectDB.php'); 
include('../include/connectDB_Bill.php'); 
include('INSERT_LOG.php');

$currentdate = date('Y-m-d');

$yearY = date("Y"); 
$yearM = date("m"); 
$yearD = date("d");
$htime = date("H:i:sa"); 
$current_time = $yearD.'.'.$yearM.'.'.($yearY+543);
$s_trime = $yearY.$yearM.$yearD;
$DateStart=date($s_trime);
$strtime = strtotime($DateStart);
$caltime=strtotime("-2 Month",$strtime);
$ResultDate=date("Y-m-d", $caltime);
$yearY = substr(date("$ResultDate"), 0,-6); 
$yearM = substr(date("$ResultDate"), 5,-3); 
$yearD = substr(date("$ResultDate"), -2); 
$s_trime = $yearD.'.'.$yearM.'.'.($yearY+543);  
// $s_trime = "20.05.2564"; 
?>


<?php

$start_id = start_id($ConnYS);
$end_id = end_id($connFB);

// echo "start_id".$start_id;
// echo "<BR>";
// echo "end_id".$end_id;
// die("stop");

    $sql1 = " SELECT
            TID
            ,TYPE_NAME
            from  FLEET_TYPEID
            where   TID  between '".$start_id."' and '".$end_id."' "; 
    // echo $sql1;
    $rst1 = ibase_query($connFB, $sql1);
    $x = 0;
    $data = array();
    while($arr1   = ibase_fetch_object($rst1)) {

        $data[] = array( 
                         "TID"                  => $arr1->TID
                        ,"TYPE_NAME"            => $arr1->TYPE_NAME
                    );

        $x++;
    }

    echo insert_sqlServer($ConnYS,$data,$current_time,$htime,$connLog);

    function  insert_sqlServer($ConnYS,$data,$current_time,$htime,$connLog){

        sqlsrv_begin_transaction($ConnYS);
        try {

            for($i=0;$i<sizeof($data);$i++){

                $TID                = $data[$i]["TID"];
                $TYPE_NAME          = $data[$i]["TYPE_NAME"];

                $sql_name = "INSERT into  FLEET_TYPEID (TID ,TYPE_NAME )  
                        values ('".$TID."', '".$TYPE_NAME."') "; 
                $stm_plan = sqlsrv_prepare ($ConnYS, $sql_name);
                if (!$stm_plan) {
                    throw new Exception("sql_name  plan#". $sql_name); 
                }
                if (!sqlsrv_execute($stm_plan)) {
                    throw new Exception("sql_name นำเข้า plan ไม่สำเหร็จ#" . $sql_name);
                }
            }

            sqlsrv_commit($ConnYS);
            // sqlsrv_rollback($ConnYS);
            $result = array("STATUS" => "1", "RESULT" => 'Seuccess :'.$i);
            write_text("FLEET_TYPEID",$current_time,$htime);
            return json_encode($result,JSON_UNESCAPED_UNICODE);
        } catch (Exception $ex) {
            $result = "";
            sqlsrv_rollback($ConnYS);
            sqlsrv_close($ConnYS);
            $result = array("STATUS" => "0", "RESULT" => explode('#', $ex->getMessage())); 
            write_text($ex->getMessage(),$current_time,$htime);
            return json_encode($result,JSON_UNESCAPED_UNICODE);
            $TABLE = "FLEET_TYPEID";
            INSERT_SYNLOG($connLog,"ไม่บันทึกดาต้าเบส",$TABLE,"FAIL");
        } 
        sqlsrv_close($ConnYS);
    }


// echo "Success".$x;
// echo "7";

// write_text("FLEET_TYPEID",$current_time,$htime);
// write_text2("....................................");

function write_text($FLEET_TYPEID,$current_time,$htime){
    $t_string = "$FLEET_TYPEID".'  '."$current_time".' '."$htime";
    $strFileName = "LogSynDB.txt";
    $objFopen = fopen($strFileName, 'a');
    $strText1 = "$t_string\r\n";
    fwrite($objFopen, $strText1);
}


function end_id($connFB){
    $sql_idex = "SELECT max(TID) as END_INDEX from  FLEET_TYPEID";
    $rs_idex = ibase_query($connFB, $sql_idex);
			$arr_idex = ibase_fetch_assoc($rs_idex); 
			$end_em_idex =  ($arr_idex["END_INDEX"]);
		return $end_em_idex;
}

function start_id($ConnYS){
    $sql_idex = "SELECT (CASE WHEN max(TID) is NULL THEN 0 ELSE max(TID)+1 END) as START_INDEX from FLEET_TYPEID ";
    $rs_br_idex = sqlsrv_query($ConnYS, $sql_idex);
			$arr_idex = sqlsrv_fetch_array($rs_br_idex); 
			$start_idex =  ($arr_idex["START_INDEX"]);
        return $start_idex;
}
                
 ?>
	







