<?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;$idHeaderLog=$_POST['idHeaderLog'];$stmt=mysqli_query($conn,"SELECT id_header FROM sync_to_jurnal WHERE id_header < '$idHeaderLog' ORDER BY id_header DESC LIMIT 1");$row=mysqli_fetch_assoc($stmt);$lastheader=$row['id_header'];$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,$idHeaderLog,$lastheader);$echo=$simpan;}else{$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,$idHeaderLog,$lastheader);$echo=$simpan;}else{mysqli_query($conn,"UPDATE sync_to_jurnal SET status_sinkron = 'proses' WHERE status_sinkron = 'failed' AND tipe_tabel = '$tipe_tabel' AND type_con = 'retail' AND id_header = '$idHeaderLog'");$echo="prod";}}return $echo;}}