<?php
namespace myretail\controllers;

use Yii;
use yii\web\Controller;
use myretail\models\ImportProduct;
use myretail\models\SyncConfig;

class ImportProductController extends Controller {
    public function actionIndex() {
        $model = new ImportProduct();
        $tipe_tabel = $model::$tipe_tabel;
        $conn = SyncConfig::getConnection();
        $config = SyncConfig::find()->where(['type_con' => 'retail'])->one();
        $access_token = $config->api_key;

        // BEGIN - proses ambil, kirim dan simpan data yang baru
        $result = $model->ambilData("import", $tipe_tabel);

        if ($result != NULL) {
            for ($i=0; $i < count($result['products']); $i++) { 
                $id_lokal[$i] = $result['products'][$i]['product']['id'];
                unset($result['products'][$i]['product']['id']);
            }
            $response = $model->kirimData($result, $access_token);
            $simpan = $model->simpanStatus($response, $tipe_tabel, $id_lokal);
            $echo = $simpan;
            // END - proses ambil, kirim dan simpan data yang baru
        } else {
            // BEGIN - proses ambil, kirim dan simpan data yang gagal diimport
            $stmt = mysqli_query($conn, "SELECT * FROM sync_to_jurnal WHERE status_sinkron = 'proses' AND tipe_tabel = '$tipe_tabel'");
            if (mysqli_fetch_assoc($stmt) > 0) {
                $result = $model->ambilData("reimport", $tipe_tabel);
                for ($i=0; $i < count($result['products']); $i++) { 
                    $id_lokal[$i] = $result['products'][$i]['product']['id'];
                    unset($result['products'][$i]['product']['id']);
                }
                $response = $model->kirimData($result, $access_token);
                $simpan = $model->simpanStatus($response, $tipe_tabel, $id_lokal);
                $echo = $simpan;
            } else {
                mysqli_query($conn, "UPDATE sync_to_jurnal SET status_sinkron = 'proses' WHERE status_sinkron = 'failed' AND tipe_tabel = '$tipe_tabel'");
                $echo = "prod";
            }
            // END - proses ambil, kirim dan simpan data yang gagal diimport
        }

        return $echo;
    }
}