Anons79 Mini Shell

Directory : /home/aplikasiposinfo/www/isranhadikaltim.id/app/Http/Controllers/
Upload File :
Current File : /home/aplikasiposinfo/www/isranhadikaltim.id/app/Http/Controllers/SinkronController.php

<?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]