<?php
namespace App\Http\Controllers;
use App\Models\DataWarga;
use App\Models\Dpt;
use App\Models\Tp;
use App\Models\UserLog;
use GuzzleHttp\Client;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;
// use Illuminate\Support\Facades\Http;
class SinkronController extends Controller
{
public function index() {
// $reponse = Http::post();
$title = "Sinkron Data Warga";
$link = "sinkron";
$parent = "Master Data";
$offset = 0;
$limit = 10;
if(Request('page')) {
$offset = Request('page') - 1;
}
if(Request('limit')) {
$limit = Request('limit');
}
$client = new Client();
$response = $client->request('POST','https://hanyastudio.my.id/anjas/api/apiktp', [
'json' => [
'user' => 'surya',
'password' => '123456789',
'offset' => $offset,
'limit' => $limit,
]
]);
$body = $response->getBody();
$result = json_decode($body, true);
// dd($result);
// dd($result);
$no = 1*($offset + 1)*10-10+1;
return view('sinkron.index',compact('title','parent','link','result','no'));
}
public function store(Request $request) {
$notif = [];
$offset = 0;
$limit = 10;
if(Request('page')) {
$offset = Request('page') - 1;
}
if(Request('limit')) {
$limit = Request('limit');
}
if(isset($request->data)) {
foreach($request->data as $a) {
$DataWarga = DataWarga::where('nik', $a)->get();
$client = new Client();
// foreach
$response = $client->request('POST','https://hanyastudio.my.id/anjas/api/apiktp', [
'json' => [
'user' => 'surya',
'password' => '123456789',
'offset' => $offset,
'limit' => $limit,
]
]);
$body = $response->getBody();
$result = json_decode($body, true);
$dataKTP = [];
foreach ($result as $b) {
if($b['nik'] == $a) {
$dataKTP = $b;
}
}
// dd($dataKTP);
if($DataWarga->count() > 0) {
$response = $client->request('POST','https://hanyastudio.my.id/anjas/api/apiktp', [
'json' => [
"user"=>"surya",
"password"=>"123456789",
"id"=>$dataKTP['idktp'], //beri nilai id KTP
"sync"=>2//beri nilai 1 atau 0. 1=sudah sinkron
]
]);
$notif[] = 'Data dengan nik '.$a.' atas nama '.$dataKTP['nama'].' double di Data Warga';
$msg = '('.date('d/m/Y s:m:h').') Data dengan nik '.$a.' atas nama '.$dataKTP['nama'].' double di Data Warga';
UserLog::create(['user_id'=>Auth::user()->id,'keterangan'=>$msg]);
} else if($DataWarga->count() == 0) {
// dd($dataKTP);
$dpt = Dpt::join('tps','dpts.tps_id','=','tps.id')->where('dpts.nama_lengkap','like','%'.$dataKTP['nama'].'%')->where('tps.kelurahan_id',$dataKTP['kode_kemendagri'])->first();
// dd($dpt);
if($dpt != null) {
// dd($dpt);
$data = DataWarga::create([
'dpt_id'=>$dpt->id,
'nama_lengkap'=>$dpt->nama_lengkap,
'nik'=>$dataKTP['nik'],
'user_id'=>Auth::user()->id,
'e_ktp'=> $dataKTP['path_image_ktp'],
'alamat'=> $dataKTP['alamat'],
'no_telepon'=> $dataKTP['nomor_kontak'],
'email'=>$dataKTP['email_teleconference'],
'kelurahan_id'=>$dpt->kelurahan_id,
'rt'=>$dpt->rt,
'rw'=>$dpt->rw,
'jenis_kelamin'=> $dpt->jenis_kelamin == 'P' ? 'Perempuan' : 'Laki-laki',
'agama'=> $dataKTP['nama_agama'],
'kawin'=>$dataKTP['status_perkawinan'],
'pekerjaan'=>$dataKTP['jenis_pekerjaan'],
'ttl'=> $dataKTP['tempat_lahir'].' , '.$dataKTP['tanggal_lahir'],
'keterangan'=>"",
'nama_penghubung'=>$dataKTP['nama_penghubung'],
'no_telp_penghubung'=>$dataKTP['nomor_telp_penghubung'],
]);
} else {
$tp = Tp::where('kelurahan_id', $dataKTP['kode_kemendagri'])->first();
if($tp == null) {
$tp_new = Tp::create([
'kelurahan_id' => $dataKTP['kode_kemendagri'],
'nomor' => '1',
]);
$tp = Tp::where('id', $tp_new->id)->first();
}
$data = Dpt::create([
'nama_lengkap'=> $dataKTP['nama'],
'nik'=> 0,
// 'user_id'=>$user->id,
// 'e_ktp'=>$e_ktp,
'alamat'=> $dataKTP['alamat'],
// 'no_telepon'=>$request->no_telepon,
'tps_id'=>$tp->id,
'rt'=> $dataKTP['rt'],
'rw'=> $dataKTP['rw'],
'usia'=>0,
'jenis_kelamin'=> $dataKTP['jenis_kelamin'],
// 'agama'=>$request->agama,
// 'kawin'=>$request->kawin,
// 'pekerjaan'=>$request->pekerjaan,
// 'tempat_lahirs'=> $request->tempat_lahir,
// 'tanggal_lahirs'=> $request->tanggal_lahir,
'keterangan' => "",
'status' => 1,
// 'nama_penghubung'=>$request->nama_penghubung,
// 'no_telp_penghubung'=>$request->no_telp_penghubung,
]);
$datas = DataWarga::create([
'dpt_id'=>$data->id,
'nama_lengkap'=> $dataKTP['nama'],
'nik'=> $dataKTP['nik'],
'user_id'=> Auth::user()->id,
'e_ktp'=> $dataKTP['path_image_ktp'],
'alamat'=> $dataKTP['alamat'],
'no_telepon'=> $dataKTP['nomor_kontak'],
'email'=>$dataKTP['email_teleconference'],
'kelurahan_id'=> $dataKTP['kode_kemendagri'],
'rt'=> $dataKTP['rt'],
'rw'=> $dataKTP['rw'],
'jenis_kelamin'=> $dataKTP['jenis_kelamin'] == 'P' ? 'Perempuan' : 'Laki-laki',
'agama'=> $dataKTP['nama_agama'],
'kawin'=> $dataKTP['status_perkawinan'],
'pekerjaan'=> $dataKTP['jenis_pekerjaan'],
'ttl'=>$dataKTP['tempat_lahir'].' , '.$dataKTP['tanggal_lahir'],
'keterangan'=> "",
'nama_penghubung'=>$dataKTP['nama_penghubung'],
'no_telp_penghubung'=>$dataKTP['nomor_telp_penghubung'],
]);
}
$response = $client->request('POST','https://hanyastudio.my.id/anjas/api/apiktp', [
'json' => [
"user"=>"surya",
"password"=>"123456789",
"id"=>$dataKTP['idktp'], //beri nilai id KTP
"sync"=>1//beri nilai 1 atau 0. 1=sudah sinkron
]
]);
$notif[] = 'Data dengan nik '.$a.' atas nama '.$dataKTP['nama'].' sudah sinkron';
$msg = '('.date('d/m/Y s:m:h').') Data dengan nik '.$a.' atas nama '.$dataKTP['nama'].' sudah sinkron';
UserLog::create(['user_id'=>Auth::user()->id,'keterangan'=>$msg]);
}
}
} else {
// $notif[] = '';
return redirect()->back()->with('error_message', 'Pilih Data yang mau disinkronisasi dulu');
}
return redirect()->back()->with('notif', $notif);
// dd($ktp);
}
}
Anons79 File Manager Version 1.0, Coded By Anons79
Email: [email protected]