<?php

namespace App\Http\Controllers;

use App\Models\TpbBc;
use App\Helpers\DatabaseConnection;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Http;
use GuzzleHttp\Client;
use GuzzleHttp\Exception\RequestException;
use App\Services\ConnectionSqlServer;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\Auth;
use Illuminate\Foundation\Http\FormRequest;
use Storage;


class BaseApiController extends Controller
{
    const LOGIN_BC_URL = 'nle-oauth/v1/user/login';
    const SEND_DOCUMENT = 'openapi/document?isFinal=false';

    const params = '';

    public function getTokenFromServer()
    {
        try {
            // $options = ['json' => [
            //     'username' => env('USERNAME_BC'),
            //     'password' => env("PWD_BC"),
            // ]];
            $options = ['json' => [
                'username' => Auth::user()->username,
                'password' => Auth::user()->pass,
            ]];
            $client = new Client([
                'base_uri' => env('URL_BC'),
                'headers' => ['Content-Type' => 'application/json']
            ]);
            $response = $client->request('POST', self::LOGIN_BC_URL, $options);
            $result = json_decode($response->getBody()->getContents());
            return $result->item->access_token;
        } catch (\Exception $ex) {
            return "fail";
        }
    }

    public function sendDocumentBc(Request $request){
        
        try {
            $response = Http::withToken($this->getTokenFromServer())->post(env('URL_BC').'/'.self::SEND_DOCUMENT,
            [
                'asalData' => 'S'
            ]);
            
        
            $result = json_decode($response->getBody()->getContents(), true);
            $decrypted = [];
            
            return $result;
        } catch (RequestException $requestException) {
            if ($requestException->hasResponse()) {
                if ($requestException->getResponse()->getStatusCode() == '401') {
                    return response()->json(['status' => 401, 'message' => 'Authentication failed'], 401);
                }
                if ($requestException->getResponse()->getStatusCode() == '404') {
                    return response()->json(['status' => 404, 'message' => 'Paket tidak ditemukan'], 404);
                }
            }
            return response()->json(['status' => $requestException->getResponse()->getStatusCode(), 'message' => 'API request error'], $requestException->getResponse()->getStatusCode());
        } catch (\Exception $ex) {
            return response()->json(['status' => 500, 'message' => "Api call error"], 500);
        }
    }

    public function getDataSupplier($doctype,$datetrx){
            
        //    $conn = new ConnectionSqlServer();
        //    $connSql = $conn->getConnection();
        /* Connect using SQL Server Authentication. */  

            $procedure_params = array(
            array(&$myparams['sp_DOCX_TYPE'], $doctype),
            array(&$myparams['sp_SJXX_DATE'], $datetrx)
            );
            // EXEC the procedure, {call stp_Create_Item (@Item_ID = ?, @Item_Name = ?)} seems to fail with various errors in my experiments
            // $sql = "EXEC [SPE_GET_SUPPLIER_1] @sp_DOCX_TYPE = '".$doctype."', @sp_SJXX_DATE = '".$datetrx."'";
            // $stmt = sqlsrv_prepare($connSql, $sql);

            // if(sqlsrv_execute($stmt)){
            //     while($row = sqlsrv_fetch_array( $stmt, SQLSRV_FETCH_ASSOC)){
            //       return  json_encode($row);
            //     }
            //   }else{
            //     die( print_r( sqlsrv_errors(), true));
            //   } 

            $sql = "EXEC [SPE_GET_SUPPLIER_1] @sp_DOCX_TYPE = '".$doctype."', @sp_SJXX_DATE = '".$datetrx."'";

            // ->select("exec [SPE_GET_SUPPLIER_1] ?,?", array($doctype, $datetrx));


        $transactionmemo = DatabaseConnection::setConnection(Auth::user())
        ->select($sql);
        //dd(collect($transactionmemo)->all());
            if(!empty($transactionmemo)){
                $row = array_values($transactionmemo);
                return json_encode($row);
            }else {
                return response()->json(['error' => 'Data Tidak Ditemukan']);
            }

            // return $stmt;
        
    }
    public function getDataSupplierFromMulti($doctype,$datetrx){
        $transactionmemo = DatabaseConnection::setConnection(Auth::user())
    ->select("exec [SPE_GET_SUPPLIER_1] ?,?", array($doctype, $datetrx));
    //dd(collect($transactionmemo)->all());
        if(!empty($transactionmemo)){
            return $transactionmemo;
        }else {
            return response()->json(['error' => 'Data Tidak Ditemukan']);
        }
    }

    //exec SPE_GET_LIST_DATA_1 '40','20231207','300024',''
    public function getListData1($doctype,$datetrx,$supplier,$sjref){
        $transactionmemo=null;
        if($sjref==0){
            $transactionmemo = DatabaseConnection::setConnection(Auth::user())
                ->select("exec [SPE_GET_LIST_DATA_1] ?,?,?,?", array($doctype, $datetrx,$supplier,''));
        }else{
            $transactionmemo = DatabaseConnection::setConnection(Auth::user())
                ->select("exec [SPE_GET_LIST_DATA_1] ?,?,?,?", array($doctype, $datetrx,$supplier,$sjref));
        }
        
        if(!empty($transactionmemo)){
            return $transactionmemo;
        }else {
            return response()->json(['error' => 'Data Tidak Ditemukan']);
        }
    }

    public function getDataDetailByDocType(Request $request){
        //$username=Auth::user()->username;
        $username=$request->username;
        $doctype=$request->doctype;

        $dataJson = $request->sData;

        $result = json_decode($dataJson, true);
    
        $entitas=null;
        $dokumen=null;
        $pengangkut=null;
        $kontainer=null;
        $kemasan=null;
        $pungutan=null;
        $barang=null;

        $nameCoorporate = "";

        foreach($result as $key=>$val){
            $DOCTYPE = $val[0];
            $SJXX_NOXX = $val[1];
            $SJXX_DATE = $val[2];
            $SJXX_REFF = $val[3];
            $INVX_NMBR = $val[4];
            $FAKT_NMBR = $val[5];
            $nameCoorporate = $SJXX_REFF;          
           
        }

        

        if($username!=null){
            $firstEntitas=false;
            if($doctype==40){
                $response = DB::connection('sqlsrv')
                ->select("exec [SPE_GET_JSON_40] ?", array($username));
                if(!empty($response))
                {
                    $countRespon = count($response);
                    //Storage::disk('public')->put('data_detail.json',json_encode($response));
                    if($countRespon>1)
                    {
                        for ($i=0;$i<$countRespon;$i++)
                        {
                            if(!empty ($response[$i]->alamatEntitas)){
                                $kodeEntitas = $response[$i]->kodeEntitas;
                                $namaEntitas = $response[$i]->namaEntitas;


                                if($namaEntitas!=null){

                                    if($i>0){
                                        if($firstEntitas==false){
                                            $entitas =  $entitas.",";
                                        }

                                        

                                        if($kodeEntitas == '3'){
                                            $entitas=$entitas . '{"alamatEntitas":"' .  $response[$i]->alamatEntitas . '", "kodeEntitas":"'. $response[$i]->kodeEntitas . '", "kodeJenisIdentitas":"'. $response[$i]->kodeJenisIdentitas . 
                                                '",  "namaEntitas":"'. $response[$i]->namaEntitas . '", "nibEntitas":"'. $response[$i]->nibEntitas . '", "nomorIdentitas":"'. $response[$i]->nomorIdentitas . '", "nomorIjinEntitas":"'. $response[$i]->nomorIjinEntitas . '", "seriEntitas":'. $response[$i]->seriEntitas . ', "tanggalIjinEntitas":"'. $response[$i]->tanggalIjinIdentitas .'"}';
                                        }else if($kodeEntitas == '7' || $kodeEntitas == '9'){
                                            $entitas=$entitas . '{"alamatEntitas":"' .  $response[$i]->alamatEntitas . '", "kodeEntitas":"'. $response[$i]->kodeEntitas . '", "kodeJenisApi":"'. $response[$i]->kodeJenisApi . '","kodeJenisIdentitas":"'. $response[$i]->kodeJenisIdentitas . 
                                                '", "kodeStatus":"'. $response[$i]->kodeStatus . '",  "namaEntitas":"'. $response[$i]->namaEntitas . '", "nibEntitas":"'. $response[$i]->nibEntitas . '", "nomorIdentitas":"'. $response[$i]->nomorIdentitas . '", "seriEntitas":'. $response[$i]->seriEntitas . ', "tanggalIjinEntitas":"'. $response[$i]->tanggalIjinIdentitas .'"}';
                                        }

                                        $firstEntitas=false;
                                        
                                    }else{
                                        if($kodeEntitas == '3'){
                                            $entitas= '{"alamatEntitas":"' .  $response[$i]->alamatEntitas . '", "kodeEntitas":"'. $response[$i]->kodeEntitas . '", "kodeJenisIdentitas":"'. $response[$i]->kodeJenisIdentitas . 
                                                '",  "namaEntitas":"'. $response[$i]->namaEntitas . '", "nibEntitas":"'. $response[$i]->nibEntitas . '", "nomorIdentitas":"'. $response[$i]->nomorIdentitas . '", "nomorIjinEntitas":"'. $response[$i]->nomorIjinEntitas . '", "seriEntitas":'. $response[$i]->seriEntitas . ', "tanggalIjinEntitas":"'. $response[$i]->tanggalIjinIdentitas .'"}';
                                        }else if($kodeEntitas == '7' || $kodeEntitas == '9'){
                                            $entitas= '{"alamatEntitas":"' .  $response[$i]->alamatEntitas . '", "kodeEntitas":"'. $response[$i]->kodeEntitas . '", "kodeJenisApi":"'. $response[$i]->kodeJenisApi . '","kodeJenisIdentitas":"'. $response[$i]->kodeJenisIdentitas . 
                                                '", "kodeStatus":"'. $response[$i]->kodeStatus . '",  "namaEntitas":"'. $response[$i]->namaEntitas . '", "nibEntitas":"'. $response[$i]->nibEntitas . '", "nomorIdentitas":"'. $response[$i]->nomorIdentitas . '", "seriEntitas":'. $response[$i]->seriEntitas . ', "tanggalIjinEntitas":"'. $response[$i]->tanggalIjinIdentitas .'"}';
                                        }
                                        
                                    }

                                }else{
                                    $firstEntitas=true;
                                }
                                
                            }

                            if(!empty ($response[$i] ->kodeDokumen_det)){
                                if($i>0){
                                    $dokumen = $dokumen.",";
                                    $dokumen=$dokumen .'{"kodeDokumen":"' .  $response[$i]->kodeDokumen_det . '", "nomorDokumen":"'. $response[$i]->nomorDokumen_det . '", "seriDokumen":'. $response[$i]->seriDokumen_det .', "tanggalDokumen":"'. $response[$i]->tanggalDokumen_det . '"}';

                                }else{
                                    $dokumen='{"kodeDokumen":"' .  $response[$i]->kodeDokumen_det . '", "nomorDokumen":"'. $response[$i]->nomorDokumen_det . '", "seriDokumen":'. $response[$i]->seriDokumen_det .', "tanggalDokumen":"'. $response[$i]->tanggalDokumen_det . '"}';
                                }
                            }

                            if(!empty ($response[$i] ->jumlahKemasan_km)){
                                if($i>0){
                                    $kemasan = $kemasan.",";
                                    $kemasan=$kemasan .'{"jumlahKemasan":' .  $response[$i]->jumlahKemasan_km . ', "kodeJenisKemasan":"'. $response[$i]->kodeJenisKemasan_km . '", "merkKemasan":"'. $response[$i]->merkKemasan_km .'", "seriKemasan":'. $response[$i]->seriKemasan_km . '}';

                                }else{
                                    $kemasan='{"jumlahKemasan":' .  $response[$i]->jumlahKemasan_km . ', "kodeJenisKemasan":"'. $response[$i]->kodeJenisKemasan_km . '", "merkKemasan":"'. $response[$i]->merkKemasan_km .'", "seriKemasan":'. $response[$i]->seriKemasan_km . '}';
                                }
                            }

                            if(!empty ($response[$i] ->seriPengangkut)){
                                if($i>0){
                                    $pengangkut = $pengangkut.",";
                                    $pengangkut=$pengangkut .'{"namaPengangkut":"' .  $response[$i]->namaPengangkut . '", "nomorPengangkut":"'. $response[$i]->nomorPengangkut . '", "seriPengangkut":'. $response[$i]->seriPengangkut .'}';

                                }else{
                                    $pengangkut='{"namaPengangkut":"' .  $response[$i]->namaPengangkut . '", "nomorPengangkut":"'. $response[$i]->nomorPengangkut . '", "seriPengangkut":'. $response[$i]->seriPengangkut .'}';
                                }
                            }

                            if(!empty ($response[$i] ->kodeJenisKontainer)){
                                if($i>0){
                                    $kontainer = $kontainer.",";
                                    $kontainer=$kontainer .'{"kodeJenisKontainer":"' .  $response[$i]->kodeJenisKontainer . '", "kodeTipeKontainer":"'. $response[$i]->kodeTipeKontainer . '", "kodeUkuranKontainer":"'. $response[$i]->kodeUkuranKontainer . '", "nomorKontainer":"'. $response[$i]->nomorKontainer . '", "seriKontainer":'. $response[$i]->seriKontainer .'}';

                                }else{
                                    $kontainer='{"kodeJenisKontainer":"' .  $response[$i]->kodeJenisKontainer . '", "kodeTipeKontainer":"'. $response[$i]->kodeTipeKontainer . '", "kodeUkuranKontainer":"'. $response[$i]->kodeUkuranKontainer . '", "nomorKontainer":"'. $response[$i]->nomorKontainer . '", "seriKontainer":'. $response[$i]->seriKontainer .'}';
                                }
                            }

                            if(!empty ($response[$i] ->kodeJenisPungutan_pg)){
                                if($i>0){
                                    $pungutan = $pungutan.",";
                                    $pungutan=$pungutan .'{"kodeFasilitasTarif":"' .  $response[$i]->kodeFasilitasTarif_pg . '", "kodeJenisPungutan":"'. $response[$i]->kodeJenisPungutan_pg . '", "nilaiPungutan":'. $response[$i]->nilaiPungutan_pg .'}';

                                }else{
                                    $pungutan='{"kodeFasilitasTarif":"' .  $response[$i]->kodeFasilitasTarif_pg . '", "kodeJenisPungutan":"'. $response[$i]->kodeJenisPungutan_pg . '", "nilaiPungutan":'. $response[$i]->nilaiPungutan_pg .'}';
                                }
                            }

                            // if(!empty ($response[$i] ->asuransi_brg)){
                                $asuransiBarang = $response[$i]->asuransi_brg != 0 ? $response[$i]->asuransi_brg : 0;
                                $brutoBarang = $response[$i]->bruto_brg != 0 ? $response[$i]->bruto_brg : 0;
                                $cifBarang = $response[$i]->cif_brg != 0 ? $response[$i]->cif_brg : 0;
                                $diskonBarang = $response[$i]->diskon_brg != 0 ? $response[$i]->diskon_brg : 0;
                                $hargaEksporBarang = $response[$i]->hargaEkspor_brg != 0 ? $response[$i]->hargaEkspor_brg : 0;
                                $hargaPenyerahanBarang = $response[$i]->hargaPenyerahan_brg != 0 ? $response[$i]->hargaPenyerahan_brg : 0;
                                $hargaSatuanBarang=0.00;
                                if(strpos($response[$i]->hargaSatuan_brg, 0.)){
                                    $hargaSatuanBarang = $response[$i]->hargaSatuan_brg;
                                }
                            
                                $jumlahKemasan = $response[$i]->jumlahKemasan_brg != 0 ? $response[$i]->jumlahKemasan_brg : 0;
                                $jumlahRealisasi = $response[$i]->jumlahRealisasi_brg != 0 ? $response[$i]->jumlahRealisasi_brg : 0;
                                
                                $jumlahSatuan = $response[$i]->jumlahSatuan_brg != 0 ? $response[$i]->jumlahSatuan_brg : 0;
                                $netto = $response[$i]->netto_brg != 0 ? $response[$i]->netto_brg : 0;
                                $nilaiBarang = $response[$i]->nilaiBarang_brg != 0 ? $response[$i]->nilaiBarang_brg : 0;
                                $cifRupiah = $response[$i]->cifRupiah_brg != 0 ? $response[$i]->cifRupiah_brg : 0;
                                $hargaPerolehan = $response[$i]->hargaPerolehan_brg != 0 ? $response[$i]->hargaPerolehan_brg : 0;
                                $ndpbm = $response[$i]->ndpbm_brg != 0 ? $response[$i]->ndpbm_brg : 0;
                                $uangMuka = $response[$i]->uangMuka_brg != 0 ? $response[$i]->uangMuka_brg : 0;
                                $posTarif = $response[$i]->posTarif_brg != null ? $response[$i]->posTarif_brg : '';
                                $volume = $response[$i]->volume_brg != null ? $response[$i]->volume_brg : 0 ;

                                $nilaiSudahDilunasi= $response[$i]->nilaiSudahDilunasi_tf != 0 ? $response[$i]->nilaiSudahDilunasi_tf :0;
                                if($i>0){
                                    if(!empty ($response[$i] ->kodeBarang_brg) && ($response[$i] ->kodeBarang_brg)!=""){
                                        $barang = $barang.",";
                                        $barang=$barang .'{"asuransi":' .$asuransiBarang . ', "bruto":'. $brutoBarang . ', "cif":'. $cifBarang . ', "diskon":'. $diskonBarang .',"hargaEkspor":'. $hargaEksporBarang . ', "hargaPenyerahan":'. $hargaPenyerahanBarang . ', 
                                            "hargaSatuan":'. $hargaSatuanBarang. ',"isiPerKemasan":'. $response[$i]->isiPerKemasan_brg . ', "jumlahKemasan":'. $jumlahKemasan . ', "jumlahRealisasi":'. $jumlahRealisasi . ',"jumlahSatuan":'. $jumlahSatuan . ', 
                                            "kodeBarang":"'. $response[$i]->kodeBarang_brg . '", "kodeDokumen":"'. $response[$i]->kodeDokumen_brg . '","kodeJenisKemasan":"'. $response[$i]->kodeJenisKemasan_brg . '", "kodeSatuanBarang":"'. $response[$i]->kodeSatuanBarang_brg .'", 
                                            "merk":"'. $response[$i]->merk_brg . '","netto":'. $netto . ', "nilaiBarang":'. $nilaiBarang . ', "posTarif":"'.$posTarif . '", "seriBarang":'. $response[$i]->seriBarang_brg .',"spesifikasiLain":"'. $response[$i]->spesifikasiLain_brg . '", 
                                            "tipe":"'. $response[$i]->tipe_brg . '", "ukuran":"'. $response[$i]->ukuran_brg . '","uraian":"'. $response[$i]->uraian_brg . '", "volume":'. $volume . ', "cifRupiah":'. $cifRupiah . ', "hargaPerolehan":'. $hargaPerolehan . ',"kodeAsalBahanBaku":"'. $response[$i]->kodeAsalBahanBaku_brg .'", 
                                            "ndpbm":'. $ndpbm . ', "uangMuka":'. $uangMuka . ', "nilaiJasa":'. $response[$i]->nilaiJasa_brg .  ', "barangTarif":[
                                            {"kodeJenisTarif":"' .  $response[$i]->kodeJenisTarif . '", "jumlahSatuan":'. $response[$i]->jumlahSatuan_tf . ', "kodeFasilitasTarif":"'. $response[$i]->kodeFasilitasTarif . '", "kodeSatuanBarang":"'. $response[$i]->kodeSatuanBarang_tf . '", "nilaiBayar":'. $response[$i]->nilaiBayar_tf . 
                                                ', "nilaiFasilitas":'. $response[$i]->nilaiFasilitas_tf . ', "nilaiSudahDilunasi":'. $nilaiSudahDilunasi . ', "seriBarang":'. $response[$i]->seriBarang_tf . ', "tarif":'. $response[$i]->tarif_tf . ', "tarifFasilitas":'. $response[$i]->tarifFasilitas_tf . ', "kodeJenisPungutan":"'. $response[$i]->kodeJenisPungutan_tf .'"}
                                            ]}';
                                        
                                    }
                                    // else{
                                    //     $barang=$barang .'{"asuransi":' .$asuransiBarang . ', "bruto":'. $brutoBarang . ', "cif":'. $cifBarang . ', "diskon":'. $diskonBarang .',"hargaEkspor":'. $hargaEksporBarang . ', "hargaPenyerahan":'. $hargaPenyerahanBarang . ', 
                                    //         "hargaSatuan":'. $hargaSatuanBarang. ',"isiPerKemasan":'. $response[$i]->isiPerKemasan_brg . ', "jumlahKemasan":'. $jumlahKemasan . ', "jumlahRealisasi":'. $jumlahRealisasi . ',"jumlahSatuan":'. $jumlahSatuan . ', 
                                    //         "kodeBarang":"'. $response[$i]->kodeBarang_brg . '", "kodeDokumen":"'. $response[$i]->kodeDokumen_brg . '","kodeJenisKemasan":"'. $response[$i]->kodeJenisKemasan_brg . '", "kodeSatuanBarang":"'. $response[$i]->kodeSatuanBarang_brg .'", 
                                    //         "merk":"'. $response[$i]->merk_brg . '","netto":'. $netto . ', "nilaiBarang":'. $nilaiBarang . ', "posTarif":"'.$posTarif . '", "seriBarang":'. $response[$i]->seriBarang_brg .',"spesifikasiLain":"'. $response[$i]->spesifikasiLain_brg . '", 
                                    //         "tipe":"'. $response[$i]->tipe_brg . '", "ukuran":"'. $response[$i]->ukuran_brg . '","uraian":"'. $response[$i]->uraian_brg . '", "volume":'. $volume . ', "cifRupiah":'. $cifRupiah . ', "hargaPerolehan":'. $hargaPerolehan . ',"kodeAsalBahanBaku":"'. $response[$i]->kodeAsalBahanBaku_brg .'", 
                                    //         "ndpbm":'. $ndpbm . ', "uangMuka":'. $uangMuka . ', "nilaiJasa":'. $response[$i]->nilaiJasa_brg .  ', "barangTarif":[]}';
                                    // }
                                    

                                }else{
                                    if(!empty ($response[$i] ->kodeBarang_brg) && ($response[$i] ->kodeBarang_brg)!=""){
                                        $barang='{"asuransi":' .$asuransiBarang . ', "bruto":'. $brutoBarang . ', "cif":'. $cifBarang . ', "diskon":'. $diskonBarang .',"hargaEkspor":'. $hargaEksporBarang . ', "hargaPenyerahan":'. $hargaPenyerahanBarang . ', 
                                            "hargaSatuan":'. $hargaSatuanBarang . ',"isiPerKemasan":'. $response[$i]->isiPerKemasan_brg . ', "jumlahKemasan":'. $jumlahKemasan . ', "jumlahRealisasi":'. $jumlahRealisasi . ',"jumlahSatuan":'. $jumlahSatuan . ', 
                                            "kodeBarang":"'. $response[$i]->kodeBarang_brg . '", "kodeDokumen":"'. $response[$i]->kodeDokumen_brg . '","kodeJenisKemasan":"'. $response[$i]->kodeJenisKemasan_brg . '", "kodeSatuanBarang":"'. $response[$i]->kodeSatuanBarang_brg .'", 
                                            "merk":"'. $response[$i]->merk_brg . '","netto":'. $netto . ', "nilaiBarang":'. $nilaiBarang . ', "posTarif":"'.$posTarif . '", "seriBarang":'. $response[$i]->seriBarang_brg .',"spesifikasiLain":"'. $response[$i]->spesifikasiLain_brg . '", 
                                            "tipe":"'. $response[$i]->tipe_brg . '", "ukuran":"'. $response[$i]->ukuran_brg . '","uraian":"'. $response[$i]->uraian_brg . '", "volume":'. $volume . ', "cifRupiah":'. $cifRupiah . ', "hargaPerolehan":'. $hargaPerolehan . ',"kodeAsalBahanBaku":"'. $response[$i]->kodeAsalBahanBaku_brg .'", 
                                            "ndpbm":'. $ndpbm . ', "uangMuka":'. $uangMuka . ', "nilaiJasa":'. $response[$i]->nilaiJasa_brg .  ', "barangTarif":[
                                            {"kodeJenisTarif":"' .  $response[$i]->kodeJenisTarif . '", "jumlahSatuan":'. $response[$i]->jumlahSatuan_tf . ', "kodeFasilitasTarif":"'. $response[$i]->kodeFasilitasTarif . '", "kodeSatuanBarang":"'. $response[$i]->kodeSatuanBarang_tf . '", "nilaiBayar":'. $response[$i]->nilaiBayar_tf . 
                                                ', "nilaiFasilitas":'. $response[$i]->nilaiFasilitas_tf . ', "nilaiSudahDilunasi":'. $nilaiSudahDilunasi . ', "seriBarang":'. $response[$i]->seriBarang_tf . ', "tarif":'. $response[$i]->tarif_tf . ', "tarifFasilitas":'. $response[$i]->tarifFasilitas_tf . ', "kodeJenisPungutan":"'. $response[$i]->kodeJenisPungutan_tf .'"}
                                            ]}';
                                    }
                                    // else{
                                        
                                    //         $barang='{"asuransi":' .$asuransiBarang . ', "bruto":'. $brutoBarang . ', "cif":'. $cifBarang . ', "diskon":'. $diskonBarang .',"hargaEkspor":'. $hargaEksporBarang . ', "hargaPenyerahan":'. $hargaPenyerahanBarang . ', 
                                    //             "hargaSatuan":'. $hargaSatuanBarang . ',"isiPerKemasan":'. $response[$i]->isiPerKemasan_brg . ', "jumlahKemasan":'. $jumlahKemasan . ', "jumlahRealisasi":'. $jumlahRealisasi . ',"jumlahSatuan":'. $jumlahSatuan . ', 
                                    //             "kodeBarang":"'. $response[$i]->kodeBarang_brg . '", "kodeDokumen":"'. $response[$i]->kodeDokumen_brg . '","kodeJenisKemasan":"'. $response[$i]->kodeJenisKemasan_brg . '", "kodeSatuanBarang":"'. $response[$i]->kodeSatuanBarang_brg .'", 
                                    //             "merk":"'. $response[$i]->merk_brg . '","netto":'. $netto . ', "nilaiBarang":'. $nilaiBarang . ', "posTarif":"'.$posTarif . '", "seriBarang":'. $response[$i]->seriBarang_brg .',"spesifikasiLain":"'. $response[$i]->spesifikasiLain_brg . '", 
                                    //             "tipe":"'. $response[$i]->tipe_brg . '", "ukuran":"'. $response[$i]->ukuran_brg . '","uraian":"'. $response[$i]->uraian_brg . '", "volume":'. $volume . ', "cifRupiah":'. $cifRupiah . ', "hargaPerolehan":'. $hargaPerolehan . ',"kodeAsalBahanBaku":"'. $response[$i]->kodeAsalBahanBaku_brg .'", 
                                    //             "ndpbm":'. $ndpbm . ', "uangMuka":'. $uangMuka . ', "nilaiJasa":'. $response[$i]->nilaiJasa_brg .  ', "barangTarif":[]}';
                                    // }

                                    
                                
                                }
                            // }


                            
                            
                        }
                            

                    
                            $this->insertDetailTpbBc($response[0]->asalData, $response[0]->asuransi, $response[0]->bruto, $response[0]->cif, $response[0]->kodeJenisTpb,
                            $response[0]->freight, $response[0]->hargaPenyerahan, $response[0]->idPengguna, $response[0]->jabatanTtd, $response[0]->jumlahKontainer,
                            $response[0]->kodeDokumen, $response[0]->kodeKantor, $response[0]->kodeTujuanPengiriman, $response[0]->kotaTtd, $response[0]->namaTtd,
                            $response[0]->netto, $response[0]->nik, $response[0]->nomorAju, $response[0]->seri, $response[0]->tanggalAju,
                            $response[0]->tanggalTtd, $response[0]->volume, $response[0]->biayaTambahan, $response[0]->biayaPengurang, $response[0]->vd,
                            $response[0]->uangMuka, $response[0]->nilaiJasa, null, null, null,
                            null, null, null, null, null,
                            null, null, null, 
                            
                            '[' . $entitas. ']' , '['.$dokumen.']' , '['.$pengangkut.']' , '['.$pungutan.']' , '[' .$kontainer.']' , '['.$kemasan.']' , '['.$barang.']',null
                        ,null,null,null,null,null );
                            

                            return response()->json(['data' => "Data Berhasil Di Simpan"]);
                    
                        
                    }
                        
                    
                }else {
                    return response()->json(['error' => 'Data Tidak Ditemukan']);
                }
            }
            
        }else{
            return response()->json(['error' => 'Sesi Anda Sudah Habis Silahkan Login Kembali']);
        }
        

    }

    
    public function setDocTmpByUser(Request $request){
        //untuk Dapat Surat Jalan Supplier Terkait
        $doctype =$request->doctype;
        $datetrx =$request->datetrx;
        $supplier=$request->supplier;
        //$username=$request->username;
        
        $username=Auth::user()->username;

    
            if($username!=null){
                $dataList = DatabaseConnection::setConnection(Auth::user())
                ->select("exec [SPE_GET_LIST_DATA_1] ?,?,?,?", array($doctype, $datetrx,$supplier,''));
                $sizeDataList = count($dataList);
                
                $deleteTempDoc = DatabaseConnection::setConnection(Auth::user())
                ->delete("DELETE FROM TE_DOCTMP WHERE USER_IDXX = ? ", array($username));
        
                if($sizeDataList>1){
                    for($i=0;$i<=$sizeDataList-1;$i++){
                        
                    $response = DatabaseConnection::setConnection(Auth::user())
                        ->insert("INSERT TE_DOCTMP
                        VALUES ('". $dataList[$i]->SJXX_NOXX ."','".$dataList[$i]->SJXX_DATE."','".$dataList[$i]->SJXX_REFF."','".$dataList[$i]->SJXX_REFF."','".$dataList[$i]->INVX_NMBR."','".$dataList[$i]->FAKT_NMBR."','$username','$doctype')");
                    }
                    if(!empty($dataList)){
                        return response()->json(['success' => 'Data Berhasil Di Insert']);
                    }else {
                        return response()->json(['error' => 'Data Tidak Ditemukan']);
                    }
                }else{
                    $response = DatabaseConnection::setConnection(Auth::user())
                        ->insert("INSERT TE_DOCTMP
                        VALUES ('". $dataList[0]->SJXX_NOXX ."','".$dataList[0]->SJXX_DATE."','".$dataList[0]->SJXX_REFF."','".$dataList[0]->SJXX_REFF."','".$dataList[0]->INVX_NMBR."','".$dataList[0]->FAKT_NMBR."','$username','$doctype')");
                    
                    if(!empty($response)){
                        return response()->json(['success' => 'Data Berhasil Di Insert']);
                    }else {
                        return response()->json(['error' => 'Data Tidak Ditemukan']);
                    }
                }
                
                
            }else{
                return response()->json(['error' => 'Sesi Anda Sudah Habis Silahkan Login Kembali']);
            }
    
        
        
    
    }

public function sendToPortal(Request $request){
    $result = json_decode($request->sData, true);

    $entitas="";
    $dokumen="";
    $pengangkut="";
    $kontainer="";
    $kemasan="";
    $pungutan="";
    $barang="";
    $bahanBaku="";
    $bahanBakuTarif="";
    $seriBarangTemp=0;

    $nameCoorporate = "";


    $username=Auth::user()->username;
    if($username!=null){
        $firstEntitas=false;
        $deleteTempDoc = DatabaseConnection::setConnection(Auth::user())
            ->delete("DELETE FROM TE_DOCTMP WHERE USER_IDXX = ?", array($username));
            
        foreach($result as $key=>$val){
            $DOCTYPE = $val[0];
            $SJXX_NOXX = $val[1];
            $SJXX_DATE = $val[2];
            $SJXX_REFF = $val[3];
            $INVX_NMBR = $val[4];
            $FAKT_NMBR = $val[5];   
            $nameCoorporate = $SJXX_REFF;
         
            $response = DatabaseConnection::setConnection(Auth::user())
                    ->insert("INSERT TE_DOCTMP
                    VALUES ('". $SJXX_NOXX ."','".$SJXX_DATE."','".$SJXX_REFF."','".$SJXX_REFF."','".$INVX_NMBR."','".$FAKT_NMBR."','$username','".$DOCTYPE."')");
        }

        $doctype = $DOCTYPE;
        // if($doctype==40)
        // {
            $response = DatabaseConnection::setConnection(Auth::user())
            ->select("exec [SPE_GET_JSON_".$doctype."] ?", array($username));
            //dd($response);
            if(!empty($response))
            {
                $countRespon = count($response);
                //Storage::disk('public')->put('data_detail.json',json_encode($response));
                    if($doctype==40)
                    {
                        //dd($countRespon);

                        if($countRespon>=1)
                        {
                            for ($i=0;$i<$countRespon;$i++)
                            {
                                //dd($response[$i]->tanggalDokumen_det);

                                if(!empty ($response[$i]->alamatEntitas)){
                                    $kodeEntitas = $response[$i]->kodeEntitas;
                                    $namaEntitas = $response[$i]->namaEntitas;
    
    
                                    if($namaEntitas!=null){
    
                                        if($i>0){
                                            if($firstEntitas==false){
                                                $entitas =  $entitas.",";
                                            }
    
                                            if($kodeEntitas == '3'){
                                                $entitas=$entitas . '{"alamatEntitas":"' .  $response[$i]->alamatEntitas . '", "kodeEntitas":"'. $response[$i]->kodeEntitas . '", "kodeJenisIdentitas":"'. $response[$i]->kodeJenisIdentitas . 
                                                    '",  "namaEntitas":"'. $response[$i]->namaEntitas . '", "nibEntitas":"'. $response[$i]->nibEntitas . '", "nomorIdentitas":"'. $response[$i]->nomorIdentitas . '", "nomorIjinEntitas":"'. $response[$i]->nomorIjinEntitas . '", "seriEntitas":'. $response[$i]->seriEntitas . ', "tanggalIjinEntitas":"'. $response[$i]->tanggalIjinIdentitas .'"}';
                                            }else if($kodeEntitas == '7' || $kodeEntitas == '9'){
                                                $entitas=$entitas . '{"alamatEntitas":"' .  $response[$i]->alamatEntitas . '", "kodeEntitas":"'. $response[$i]->kodeEntitas . '", "kodeJenisApi":"'. $response[$i]->kodeJenisApi . '","kodeJenisIdentitas":"'. $response[$i]->kodeJenisIdentitas . 
                                                    '", "kodeStatus":"'. $response[$i]->kodeStatus . '",  "namaEntitas":"'. $response[$i]->namaEntitas . '", "nibEntitas":"'. $response[$i]->nibEntitas . '", "nomorIdentitas":"'. $response[$i]->nomorIdentitas . '", "seriEntitas":'. $response[$i]->seriEntitas . ', "tanggalIjinEntitas":"'. $response[$i]->tanggalIjinIdentitas .'"}';
                                            }
    
                                            $firstEntitas=false;
                                            
                                        }else{
                                            if($kodeEntitas == '3'){
                                                $entitas= '{"alamatEntitas":"' .  $response[$i]->alamatEntitas . '", "kodeEntitas":"'. $response[$i]->kodeEntitas . '", "kodeJenisIdentitas":"'. $response[$i]->kodeJenisIdentitas . 
                                                    '",  "namaEntitas":"'. $response[$i]->namaEntitas . '", "nibEntitas":"'. $response[$i]->nibEntitas . '", "nomorIdentitas":"'. $response[$i]->nomorIdentitas . '", "nomorIjinEntitas":"'. $response[$i]->nomorIjinEntitas . '", "seriEntitas":'. $response[$i]->seriEntitas . ', "tanggalIjinEntitas":"'. $response[$i]->tanggalIjinIdentitas .'"}';
                                            }else if($kodeEntitas == '7' || $kodeEntitas == '9'){
                                                $entitas= '{"alamatEntitas":"' .  $response[$i]->alamatEntitas . '", "kodeEntitas":"'. $response[$i]->kodeEntitas . '", "kodeJenisApi":"'. $response[$i]->kodeJenisApi . '","kodeJenisIdentitas":"'. $response[$i]->kodeJenisIdentitas . 
                                                    '", "kodeStatus":"'. $response[$i]->kodeStatus . '",  "namaEntitas":"'. $response[$i]->namaEntitas . '", "nibEntitas":"'. $response[$i]->nibEntitas . '", "nomorIdentitas":"'. $response[$i]->nomorIdentitas . '", "seriEntitas":'. $response[$i]->seriEntitas . ', "tanggalIjinEntitas":"'. $response[$i]->tanggalIjinIdentitas .'"}';
                                            }
                                            
                                        }
    
                                    }else{
                                        $firstEntitas=true;
                                    }
                                    
                                }
                                
    
                                if(!empty ($response[$i] ->kodeDokumen_det)){
                                    
                                    if($i>0){
                                        $kdDok = $response[$i]->kodeDokumen_det;
                                        $dokumen = $dokumen.",";
                                        $dokumen=$dokumen .'{"kodeDokumen":"' .  $kdDok . '", "nomorDokumen":"'. $response[$i]->nomorDokumen_det . '", "seriDokumen":'. $response[$i]->seriDokumen_det .', "tanggalDokumen":"'. $response[$i]->tanggalDokumen_det . '"}';
    
                                    }else{
                                        $kdDok = $response[$i]->kodeDokumen_det;
                                        $dokumen='{"kodeDokumen":"' .  $kdDok . '", "nomorDokumen":"'. $response[$i]->nomorDokumen_det . '", "seriDokumen":'. $response[$i]->seriDokumen_det .', "tanggalDokumen":"'. $response[$i]->tanggalDokumen_det . '"}';
                                    }
                                }
    
                                if(!empty ($response[$i] ->jumlahKemasan_km)){
                                    if($i>0){
                                        $kemasan = $kemasan.",";
                                        $kemasan=$kemasan .'{"jumlahKemasan":' .  $response[$i]->jumlahKemasan_km . ', "kodeJenisKemasan":"'. $response[$i]->kodeJenisKemasan_km . '", "merkKemasan":"'. $response[$i]->merkKemasan_km .'", "seriKemasan":'. $response[$i]->seriKemasan_km . '}';
    
                                    }else{
                                        $kemasan='{"jumlahKemasan":' .  $response[$i]->jumlahKemasan_km . ', "kodeJenisKemasan":"'. $response[$i]->kodeJenisKemasan_km . '", "merkKemasan":"'. $response[$i]->merkKemasan_km .'", "seriKemasan":'. $response[$i]->seriKemasan_km . '}';
                                    }
                                }
                                
                             
                                if(!empty ($response[$i] ->seriPengangkut)){
                                    // dd($response);
                                    if($i>0){
                                        $pengangkut = $pengangkut.",";
                                        $pengangkut=$pengangkut .'{"namaPengangkut":"' .  $response[$i]->namaPengangkut . '", "nomorPengangkut":"'. $response[$i]->nomorPengangkut . '", "seriPengangkut":'. $response[$i]->seriPengangkut .'}';
    
                                    }else{
                                        $pengangkut='{"namaPengangkut":"' .  $response[$i]->namaPengangkut . '", "nomorPengangkut":"'. $response[$i]->nomorPengangkut . '", "seriPengangkut":'. $response[$i]->seriPengangkut .'}';
                                    }
                                }
    
                                if(!empty ($response[$i] ->kodeJenisKontainer)){
                                    if($i>0){
                                        $kontainer = $kontainer.",";
                                        $kontainer=$kontainer .'{"kodeJenisKontainer":"' .  $response[$i]->kodeJenisKontainer . '", "kodeTipeKontainer":"'. $response[$i]->kodeTipeKontainer . '", "kodeUkuranKontainer":"'. $response[$i]->kodeUkuranKontainer . '", "nomorKontainer":"'. $response[$i]->nomorKontainer . '", "seriKontainer":'. $response[$i]->seriKontainer .'}';
    
                                    }else{
                                        $kontainer='{"kodeJenisKontainer":"' .  $response[$i]->kodeJenisKontainer . '", "kodeTipeKontainer":"'. $response[$i]->kodeTipeKontainer . '", "kodeUkuranKontainer":"'. $response[$i]->kodeUkuranKontainer . '", "nomorKontainer":"'. $response[$i]->nomorKontainer . '", "seriKontainer":'. $response[$i]->seriKontainer .'}';
                                    }
                                }
    
                                if(!empty ($response[$i] ->kodeJenisPungutan_pg)){
                                    if($i>0){
                                        $pungutan = $pungutan.",";
                                        $pungutan=$pungutan .'{"kodeFasilitasTarif":"' .  $response[$i]->kodeFasilitasTarif_pg . '", "kodeJenisPungutan":"'. $response[$i]->kodeJenisPungutan_pg . '", "nilaiPungutan":'. $response[$i]->nilaiPungutan_pg .'}';
    
                                    }else{
                                        $pungutan='{"kodeFasilitasTarif":"' .  $response[$i]->kodeFasilitasTarif_pg . '", "kodeJenisPungutan":"'. $response[$i]->kodeJenisPungutan_pg . '", "nilaiPungutan":'. $response[$i]->nilaiPungutan_pg .'}';
                                    }
                                }
    
                                
    
                                // if(!empty ($response[$i] ->asuransi_brg)){
                                    $asuransiBarang = $response[$i]->asuransi_brg != 0 ? $response[$i]->asuransi_brg : 0;
                                    $brutoBarang = $response[$i]->bruto_brg != 0 ? $response[$i]->bruto_brg : 0;
                                    $cifBarang = $response[$i]->cif_brg != 0 ? $response[$i]->cif_brg : 0;
                                    $diskonBarang = $response[$i]->diskon_brg != 0 ? $response[$i]->diskon_brg : 0;
                                    $hargaEksporBarang = $response[$i]->hargaEkspor_brg != 0 ? $response[$i]->hargaEkspor_brg : 0;
                                    $hargaPenyerahanBarang = $response[$i]->hargaPenyerahan_brg != 0 ? $response[$i]->hargaPenyerahan_brg : 0;
                                    $hargaSatuanBarang=0.00;
                                    if(strpos($response[$i]->hargaSatuan_brg, 0.)){
                                        $hargaSatuanBarang = $response[$i]->hargaSatuan_brg;
                                    }
                                
                                    $jumlahKemasan = $response[$i]->jumlahKemasan_brg != 0 ? $response[$i]->jumlahKemasan_brg : 0;
                                    $jumlahRealisasi = $response[$i]->jumlahRealisasi_brg != 0 ? $response[$i]->jumlahRealisasi_brg : 0;
                                    
                                    $jumlahSatuan = $response[$i]->jumlahSatuan_brg != 0 ? $response[$i]->jumlahSatuan_brg : 0;
                                    $netto = $response[$i]->netto_brg != 0 ? $response[$i]->netto_brg : 0;
                                    $nilaiBarang = $response[$i]->nilaiBarang_brg != 0 ? $response[$i]->nilaiBarang_brg : 0;
                                    $cifRupiah = $response[$i]->cifRupiah_brg != 0 ? $response[$i]->cifRupiah_brg : 0;
                                    $hargaPerolehan = $response[$i]->hargaPerolehan_brg != 0 ? $response[$i]->hargaPerolehan_brg : 0;
                                    $ndpbm = $response[$i]->ndpbm_brg != 0 ? $response[$i]->ndpbm_brg : 0;
                                    $uangMuka = $response[$i]->uangMuka_brg != 0 ? $response[$i]->uangMuka_brg : 0;
                                    $posTarif = $response[$i]->posTarif_brg != null ? $response[$i]->posTarif_brg : '';
                                    $volume = $response[$i]->volume_brg != null ? $response[$i]->volume_brg : 0 ;
    
                                    $nilaiSudahDilunasi= $response[$i]->nilaiSudahDilunasi_tf != 0 ? $response[$i]->nilaiSudahDilunasi_tf :0;
                                    if($i>0){
                                        if(!empty ($response[$i] ->kodeBarang_brg) && ($response[$i] ->kodeBarang_brg)!=""){
                                            $barang = $barang.",";
                                            $barang=$barang .'{"asuransi":' .$asuransiBarang . ', "bruto":'. $brutoBarang . ', "cif":'. $cifBarang . ', "diskon":'. $diskonBarang .',"hargaEkspor":'. $hargaEksporBarang . ', "hargaPenyerahan":'. $hargaPenyerahanBarang . ', 
                                                "hargaSatuan":'. $hargaSatuanBarang. ',"isiPerKemasan":'. $response[$i]->isiPerKemasan_brg . ', "jumlahKemasan":'. $jumlahKemasan . ', "jumlahRealisasi":'. $jumlahRealisasi . ',"jumlahSatuan":'. $jumlahSatuan . ', 
                                                "kodeBarang":"'. $response[$i]->kodeBarang_brg . '", "kodeDokumen":"'. $response[$i]->kodeDokumen_brg . '","kodeJenisKemasan":"'. $response[$i]->kodeJenisKemasan_brg . '", "kodeSatuanBarang":"'. $response[$i]->kodeSatuanBarang_brg .'", 
                                                "merk":"'. $response[$i]->merk_brg . '","netto":'. $netto . ', "nilaiBarang":'. $nilaiBarang . ', "posTarif":"'.$posTarif . '", "seriBarang":'. $response[$i]->seriBarang_brg .',"spesifikasiLain":"'. $response[$i]->spesifikasiLain_brg . '", 
                                                "tipe":"'. $response[$i]->tipe_brg . '", "ukuran":"'. $response[$i]->ukuran_brg . '","uraian":"'. $response[$i]->uraian_brg . '", "volume":'. $volume . ', "cifRupiah":'. $cifRupiah . ', "hargaPerolehan":'. $hargaPerolehan . ',"kodeAsalBahanBaku":"'. $response[$i]->kodeAsalBahanBaku_brg .'", 
                                                "ndpbm":'. $ndpbm . ', "uangMuka":'. $uangMuka . ', "nilaiJasa":'. $response[$i]->nilaiJasa_brg .  ', "barangTarif":[
                                                {"kodeJenisTarif":"' .  $response[$i]->kodeJenisTarif . '", "jumlahSatuan":'. $response[$i]->jumlahSatuan_tf . ', "kodeFasilitasTarif":"'. $response[$i]->kodeFasilitasTarif . '", "kodeSatuanBarang":"'. $response[$i]->kodeSatuanBarang_tf . '", "nilaiBayar":'. $response[$i]->nilaiBayar_tf . 
                                                    ', "nilaiFasilitas":'. $response[$i]->nilaiFasilitas_tf . ', "nilaiSudahDilunasi":'. $nilaiSudahDilunasi . ', "seriBarang":'. $response[$i]->seriBarang_tf . ', "tarif":'. $response[$i]->tarif_tf . ', "tarifFasilitas":'. $response[$i]->tarifFasilitas_tf . ', "kodeJenisPungutan":"'. $response[$i]->kodeJenisPungutan_tf .'"}
                                                ]}';
                                            
                                        }
                                        // else{
                                        //     $barang=$barang .'{"asuransi":' .$asuransiBarang . ', "bruto":'. $brutoBarang . ', "cif":'. $cifBarang . ', "diskon":'. $diskonBarang .',"hargaEkspor":'. $hargaEksporBarang . ', "hargaPenyerahan":'. $hargaPenyerahanBarang . ', 
                                        //         "hargaSatuan":'. $hargaSatuanBarang. ',"isiPerKemasan":'. $response[$i]->isiPerKemasan_brg . ', "jumlahKemasan":'. $jumlahKemasan . ', "jumlahRealisasi":'. $jumlahRealisasi . ',"jumlahSatuan":'. $jumlahSatuan . ', 
                                        //         "kodeBarang":"'. $response[$i]->kodeBarang_brg . '", "kodeDokumen":"'. $response[$i]->kodeDokumen_brg . '","kodeJenisKemasan":"'. $response[$i]->kodeJenisKemasan_brg . '", "kodeSatuanBarang":"'. $response[$i]->kodeSatuanBarang_brg .'", 
                                        //         "merk":"'. $response[$i]->merk_brg . '","netto":'. $netto . ', "nilaiBarang":'. $nilaiBarang . ', "posTarif":"'.$posTarif . '", "seriBarang":'. $response[$i]->seriBarang_brg .',"spesifikasiLain":"'. $response[$i]->spesifikasiLain_brg . '", 
                                        //         "tipe":"'. $response[$i]->tipe_brg . '", "ukuran":"'. $response[$i]->ukuran_brg . '","uraian":"'. $response[$i]->uraian_brg . '", "volume":'. $volume . ', "cifRupiah":'. $cifRupiah . ', "hargaPerolehan":'. $hargaPerolehan . ',"kodeAsalBahanBaku":"'. $response[$i]->kodeAsalBahanBaku_brg .'", 
                                        //         "ndpbm":'. $ndpbm . ', "uangMuka":'. $uangMuka . ', "nilaiJasa":'. $response[$i]->nilaiJasa_brg .  ', "barangTarif":[]}';
                                        // }
                                        
    
                                    }else{
                                        if(!empty ($response[$i] ->kodeBarang_brg) && ($response[$i] ->kodeBarang_brg)!=""){
                                            $barang='{"asuransi":' .$asuransiBarang . ', "bruto":'. $brutoBarang . ', "cif":'. $cifBarang . ', "diskon":'. $diskonBarang .',"hargaEkspor":'. $hargaEksporBarang . ', "hargaPenyerahan":'. $hargaPenyerahanBarang . ', 
                                                "hargaSatuan":'. $hargaSatuanBarang . ',"isiPerKemasan":'. $response[$i]->isiPerKemasan_brg . ', "jumlahKemasan":'. $jumlahKemasan . ', "jumlahRealisasi":'. $jumlahRealisasi . ',"jumlahSatuan":'. $jumlahSatuan . ', 
                                                "kodeBarang":"'. $response[$i]->kodeBarang_brg . '", "kodeDokumen":"'. $response[$i]->kodeDokumen_brg . '","kodeJenisKemasan":"'. $response[$i]->kodeJenisKemasan_brg . '", "kodeSatuanBarang":"'. $response[$i]->kodeSatuanBarang_brg .'", 
                                                "merk":"'. $response[$i]->merk_brg . '","netto":'. $netto . ', "nilaiBarang":'. $nilaiBarang . ', "posTarif":"'.$posTarif . '", "seriBarang":'. $response[$i]->seriBarang_brg .',"spesifikasiLain":"'. $response[$i]->spesifikasiLain_brg . '", 
                                                "tipe":"'. $response[$i]->tipe_brg . '", "ukuran":"'. $response[$i]->ukuran_brg . '","uraian":"'. $response[$i]->uraian_brg . '", "volume":'. $volume . ', "cifRupiah":'. $cifRupiah . ', "hargaPerolehan":'. $hargaPerolehan . ',"kodeAsalBahanBaku":"'. $response[$i]->kodeAsalBahanBaku_brg .'", 
                                                "ndpbm":'. $ndpbm . ', "uangMuka":'. $uangMuka . ', "nilaiJasa":'. $response[$i]->nilaiJasa_brg .  ', "barangTarif":[
                                                {"kodeJenisTarif":"' .  $response[$i]->kodeJenisTarif . '", "jumlahSatuan":'. $response[$i]->jumlahSatuan_tf . ', "kodeFasilitasTarif":"'. $response[$i]->kodeFasilitasTarif . '", "kodeSatuanBarang":"'. $response[$i]->kodeSatuanBarang_tf . '", "nilaiBayar":'. $response[$i]->nilaiBayar_tf . 
                                                    ', "nilaiFasilitas":'. $response[$i]->nilaiFasilitas_tf . ', "nilaiSudahDilunasi":'. $nilaiSudahDilunasi . ', "seriBarang":'. $response[$i]->seriBarang_tf . ', "tarif":'. $response[$i]->tarif_tf . ', "tarifFasilitas":'. $response[$i]->tarifFasilitas_tf . ', "kodeJenisPungutan":"'. $response[$i]->kodeJenisPungutan_tf .'"}
                                                ]}';
                                        }
                                        // else{
                                            
                                        //         $barang='{"asuransi":' .$asuransiBarang . ', "bruto":'. $brutoBarang . ', "cif":'. $cifBarang . ', "diskon":'. $diskonBarang .',"hargaEkspor":'. $hargaEksporBarang . ', "hargaPenyerahan":'. $hargaPenyerahanBarang . ', 
                                        //             "hargaSatuan":'. $hargaSatuanBarang . ',"isiPerKemasan":'. $response[$i]->isiPerKemasan_brg . ', "jumlahKemasan":'. $jumlahKemasan . ', "jumlahRealisasi":'. $jumlahRealisasi . ',"jumlahSatuan":'. $jumlahSatuan . ', 
                                        //             "kodeBarang":"'. $response[$i]->kodeBarang_brg . '", "kodeDokumen":"'. $response[$i]->kodeDokumen_brg . '","kodeJenisKemasan":"'. $response[$i]->kodeJenisKemasan_brg . '", "kodeSatuanBarang":"'. $response[$i]->kodeSatuanBarang_brg .'", 
                                        //             "merk":"'. $response[$i]->merk_brg . '","netto":'. $netto . ', "nilaiBarang":'. $nilaiBarang . ', "posTarif":"'.$posTarif . '", "seriBarang":'. $response[$i]->seriBarang_brg .',"spesifikasiLain":"'. $response[$i]->spesifikasiLain_brg . '", 
                                        //             "tipe":"'. $response[$i]->tipe_brg . '", "ukuran":"'. $response[$i]->ukuran_brg . '","uraian":"'. $response[$i]->uraian_brg . '", "volume":'. $volume . ', "cifRupiah":'. $cifRupiah . ', "hargaPerolehan":'. $hargaPerolehan . ',"kodeAsalBahanBaku":"'. $response[$i]->kodeAsalBahanBaku_brg .'", 
                                        //             "ndpbm":'. $ndpbm . ', "uangMuka":'. $uangMuka . ', "nilaiJasa":'. $response[$i]->nilaiJasa_brg .  ', "barangTarif":[]}';
                                        // }
    
                                        
                                    
                                    }
                                // }
    
    
                                
                                
                            }
                                
                                $this->deleteDetailTpbBc();
                                $this->insertDetailTpbBc($response[0]->asalData, $response[0]->asuransi, $response[0]->bruto, $response[0]->cif, $response[0]->kodeJenisTpb,
                                $response[0]->freight, $response[0]->hargaPenyerahan, $response[0]->idPengguna, $response[0]->jabatanTtd, $response[0]->jumlahKontainer,
                                $response[0]->kodeDokumen, $response[0]->kodeKantor, $response[0]->kodeTujuanPengiriman, $response[0]->kotaTtd, $response[0]->namaTtd,
                                $response[0]->netto, $response[0]->nik, $response[0]->nomorAju, $response[0]->seri, $response[0]->tanggalAju,
                                $response[0]->tanggalTtd, $response[0]->volume, $response[0]->biayaTambahan, $response[0]->biayaPengurang, $response[0]->vd,
                                $response[0]->uangMuka, $response[0]->nilaiJasa, null, null, null,
                                null, null, null, null, null,
                                null, null, null, 
                                
                                '[' . $entitas. ']' , '['.$dokumen.']' , '['.$pengangkut.']' , '['.$pungutan.']' , '[' .$kontainer.']' , '['.$kemasan.']' , '['.$barang.']',"" ,
                            null, null, null, null, null);
    
                                //return response()->json(['data' => "Data Berhasil Di Simpan"]);
                        
                            
                        }
                        
                    }else if($doctype==41)
                    { //BC 41
                        // dd($response);
                        if($countRespon>=1){
                            for ($i=0;$i<$countRespon;$i++)
                            {
                                if(!empty ($response[$i]->alamatEntitas)){
                                    $kodeEntitas = $response[$i]->kodeEntitas;
                                    $namaEntitas = $response[$i]->namaEntitas;


                                    if($namaEntitas!=null){

                                        if($i>0){
                                            

                                            

                                            if($kodeEntitas == '3'&&$namaEntitas!=null){
                                                if($firstEntitas==false&&$namaEntitas!=null){
                                                    $entitas =  $entitas.",";
                                                }
                                                $entitas=$entitas . '{"alamatEntitas":"' .  $response[$i]->alamatEntitas . '", "kodeEntitas":"'. $response[$i]->kodeEntitas . '", "kodeJenisIdentitas":"'. $response[$i]->kodeJenisIdentitas . 
                                                    '",  "namaEntitas":"'. $response[$i]->namaEntitas . '", "nibEntitas":"'. $response[$i]->nibEntitas . '", "nomorIdentitas":"'. $response[$i]->nomorIdentitas . '", "nomorIjinEntitas":"'. $response[$i]->nomorIjinEntitas . '", "seriEntitas":'. $response[$i]->seriEntitas . ', "tanggalIjinEntitas":"'. $response[$i]->tanggalIjinIdentitas .'"}';
                                            }else if(($kodeEntitas == '7'&&$namaEntitas!=null) || ($kodeEntitas == '8'&&$namaEntitas!=null)){
                                                if($firstEntitas==false&&$namaEntitas!=null){
                                                    $entitas =  $entitas.",";
                                                }
                                                $entitas=$entitas . '{"alamatEntitas":"' .  $response[$i]->alamatEntitas . '", "kodeEntitas":"'. $response[$i]->kodeEntitas . '", "kodeJenisApi":"'. $response[$i]->kodeJenisApi . '","kodeJenisIdentitas":"'. $response[$i]->kodeJenisIdentitas . 
                                                    '", "kodeStatus":"'. $response[$i]->kodeStatus . '",  "namaEntitas":"'. $response[$i]->namaEntitas . '", "nomorIdentitas":"'. $response[$i]->nomorIdentitas . '", "nomorIjinEntitas":"'. $response[$i]->nomorIjinEntitas . '", "seriEntitas":'. $response[$i]->seriEntitas . ', "tanggalIjinEntitas":"'. $response[$i]->tanggalIjinIdentitas .'"}';
                                            }

                                            $firstEntitas=false;
                                            
                                        }else{
                                            if($kodeEntitas == '3'&&($response[$i]->alamatEntitas!=null)){
                                                if($firstEntitas==false&&$namaEntitas!=null){
                                                    $entitas =  $entitas.",";
                                                }
                                                $entitas= '{"alamatEntitas":"' .  $response[$i]->alamatEntitas . '", "kodeEntitas":"'. $response[$i]->kodeEntitas . '", "kodeJenisIdentitas":"'. $response[$i]->kodeJenisIdentitas . 
                                                    '",  "namaEntitas":"'. $response[$i]->namaEntitas . '", "nibEntitas":"'. $response[$i]->nibEntitas . '", "nomorIdentitas":"'. $response[$i]->nomorIdentitas . '", "nomorIjinEntitas":"'. $response[$i]->nomorIjinEntitas . '", "seriEntitas":'. $response[$i]->seriEntitas . ', "tanggalIjinEntitas":"'. $response[$i]->tanggalIjinIdentitas .'"}';
                                            }else if(($kodeEntitas == '7'&&$namaEntitas!=null) || ($kodeEntitas == '8'&&$namaEntitas!=null)){
                                                
                                                $entitas= '{"alamatEntitas":"' .  $response[$i]->alamatEntitas . '", "kodeEntitas":"'. $response[$i]->kodeEntitas . '", "kodeJenisApi":"'. $response[$i]->kodeJenisApi . '","kodeJenisIdentitas":"'. $response[$i]->kodeJenisIdentitas . 
                                                    '", "kodeStatus":"'. $response[$i]->kodeStatus . '",  "namaEntitas":"'. $response[$i]->namaEntitas .'", "nomorIdentitas":"'. $response[$i]->nomorIdentitas . '", "nomorIjinEntitas":"'. $response[$i]->nomorIjinEntitas . '", "seriEntitas":'. $response[$i]->seriEntitas . ', "tanggalIjinEntitas":"'. $response[$i]->tanggalIjinIdentitas .'"}';
                                            }
                                            
                                        }

                                    }else{
                                        $firstEntitas=true;
                                    }
                                    
                                }

                                if(!empty ($response[$i] ->kodeDokumen_det)){
                                    if($i>0){
                                        $dokumen = $dokumen.",";
                                        $dokumen=$dokumen .'{"kodeDokumen":"' .  $response[$i]->kodeDokumen_det . '", "nomorDokumen":"'. $response[$i]->nomorDokumen_det . '", "seriDokumen":'. $response[$i]->seriDokumen_det .', "tanggalDokumen":"'. $response[$i]->tanggalDokumen_det . '"}';

                                    }else{
                                        $dokumen='{"kodeDokumen":"' .  $response[$i]->kodeDokumen_det . '", "nomorDokumen":"'. $response[$i]->nomorDokumen_det . '", "seriDokumen":'. $response[$i]->seriDokumen_det .', "tanggalDokumen":"'. $response[$i]->tanggalDokumen_det . '"}';
                                    }
                                }

                                if(!empty ($response[$i] ->jumlahKemasan_km)){
                                    if($i>0){
                                        $kemasan = $kemasan.",";
                                        $kemasan=$kemasan .'{"jumlahKemasan":' .  $response[$i]->jumlahKemasan_km . ', "kodeJenisKemasan":"'. $response[$i]->kodeJenisKemasan_km . '", "merkKemasan":"'. $response[$i]->merkKemasan_km .'", "seriKemasan":'. $response[$i]->seriKemasan_km . '}';

                                    }else{
                                        $kemasan='{"jumlahKemasan":' .  $response[$i]->jumlahKemasan_km . ', "kodeJenisKemasan":"'. $response[$i]->kodeJenisKemasan_km . '", "merkKemasan":"'. $response[$i]->merkKemasan_km .'", "seriKemasan":'. $response[$i]->seriKemasan_km . '}';
                                    }
                                }

                                if(!empty ($response[$i] ->seriPengangkut)){
                                    if($i>0){
                                        $pengangkut = $pengangkut.",";
                                        $pengangkut=$pengangkut .'{"idPengangkut":' .  $response[$i]->idPengangkut . ', "namaPengangkut":"' .  $response[$i]->namaPengangkut . '", "nomorPengangkut":"'. $response[$i]->nomorPengangkut . '", "seriPengangkut":"'. $response[$i]->seriPengangkut .'"}';

                                    }else{
                                        $pengangkut='{"idPengangkut":' .  $response[$i]->idPengangkut . ', "namaPengangkut":"' .  $response[$i]->namaPengangkut . '", "nomorPengangkut":"'. $response[$i]->nomorPengangkut . '", "seriPengangkut":"'. $response[$i]->seriPengangkut .'"}';
                                    }
                                }

                                if(!empty ($response[$i] ->kodeJenisKontainer)){
                                    if($i>0){
                                        $kontainer = $kontainer.",";
                                        $kontainer=$kontainer .'{"kodeJenisKontainer":"' .  $response[$i]->kodeJenisKontainer . '", "kodeTipeKontainer":"'. $response[$i]->kodeTipeKontainer . '", "kodeUkuranKontainer":"'. $response[$i]->kodeUkuranKontainer . '", "nomorKontainer":"'. $response[$i]->nomorKontainer . '", "seriKontainer":'. $response[$i]->seriKontainer .'}';

                                    }else{
                                        $kontainer='{"kodeJenisKontainer":"' .  $response[$i]->kodeJenisKontainer . '", "kodeTipeKontainer":"'. $response[$i]->kodeTipeKontainer . '", "kodeUkuranKontainer":"'. $response[$i]->kodeUkuranKontainer . '", "nomorKontainer":"'. $response[$i]->nomorKontainer . '", "seriKontainer":'. $response[$i]->seriKontainer .'}';
                                    }
                                }


                                if(!empty($response[$i] ->kodeJenisTarif)){
                                    if($i>0){
                                        $bahanBaku = $bahanBaku.",";
                                        $bahanBaku=$bahanBaku.'{"cif":' .  $response[$i]->cif_bb. ', "cifRupiah":'. $response[$i]->cifRupiah_bb . ', "hargaPenyerahan":'. $response[$i]->hargaPenyerahan_bb . ', "hargaPerolehan":'. $response[$i]->hargaPerolehan_bb . ', "jumlahSatuan":'. $response[$i]->jumlahSatuan_bb . 
                                            ', "kodeSatuanBarang":"'. $response[$i]->kodeSatuanBarang_bb . '", "kodeAsalBahanBaku":"'. $response[$i]->kodeAsalBahanBaku_bb . '", "kodeBarang":"'. $response[$i]->kodeBarang_bb . '", "kodeDokAsal":"'. $response[$i]->kodeDokAsal_bb. '", "kodeDokumen":"'. $response[$i]->kodeDokumen_bb . '", "kodeKantor":"'. $response[$i]->kodeKantor_bb .'"
                                            , "merkBarang":"'. $response[$i]->merkBarang_bb .'", "ndpbm":'. $response[$i]->ndpbm_bb .', "netto":'. $response[$i]->netto_bb .', "nomorAjuDokAsal":"'. $response[$i]->nomorAjuDokAsal_bb .'", "nomorDaftarDokAsal":"'. $response[$i]->nomorDaftarDokAsal_bb .'"
                                            , "posTarif":"'. $response[$i]->posTarif_bb .'", "seriBahanBaku":'. $response[$i]->seriBahanBaku_bb .', "seriBarang":'. $response[$i]->seriBarang_bb .', "seriBarangDokAsal":'. $response[$i]->seriBarangDokAsal_bb .', "seriIjin":'. $response[$i]->seriIjin_bb .', "spesifikasiLainBarang":"'. $response[$i]->spesifikasiLainBarang_bb .'"
                                            , "tanggalDaftarDokAsal":"'. $response[$i]->tanggalDaftarDokAsal_bb .'", "tipeBarang":"'. $response[$i]->tipeBarang_bb .'", "ukuranBarang":"'. $response[$i]->ukuranBarang_bb .'", "uraianBarang":"'. $response[$i]->uraianBarang_bb .'", "nilaiJasa":'. $response[$i]->nilaiJasa_bb .'}';
    
                                        
                                    }else{
                                        $bahanBaku='{"cif":' .  $response[$i]->cif_bb. ', "cifRupiah":'. $response[$i]->cifRupiah_bb . ', "hargaPenyerahan":'. $response[$i]->hargaPenyerahan_bb . ', "hargaPerolehan":'. $response[$i]->hargaPerolehan_bb . ', "jumlahSatuan":'. $response[$i]->jumlahSatuan_bb . 
                                            ', "kodeSatuanBarang":"'. $response[$i]->kodeSatuanBarang_bb . '", "kodeAsalBahanBaku":"'. $response[$i]->kodeAsalBahanBaku_bb . '", "kodeBarang":"'. $response[$i]->kodeBarang_bb . '", "kodeDokAsal":"'. $response[$i]->kodeDokAsal_bb. '", "kodeDokumen":"'. $response[$i]->kodeDokumen_bb . '", "kodeKantor":"'. $response[$i]->kodeKantor_bb .'"
                                            , "merkBarang":"'. $response[$i]->merkBarang_bb .'", "ndpbm":'. $response[$i]->ndpbm_bb .', "netto":'. $response[$i]->netto_bb .', "nomorAjuDokAsal":"'. $response[$i]->nomorAjuDokAsal_bb .'", "nomorDaftarDokAsal":"'. $response[$i]->nomorDaftarDokAsal_bb .'"
                                            , "posTarif":"'. $response[$i]->posTarif_bb .'", "seriBahanBaku":'. $response[$i]->seriBahanBaku_bb .', "seriBarang":'. $response[$i]->seriBarang_bb .', "seriBarangDokAsal":'. $response[$i]->seriBarangDokAsal_bb .', "seriIjin":'. $response[$i]->seriIjin_bb .', "spesifikasiLainBarang":"'. $response[$i]->spesifikasiLainBarang_bb .'"
                                            , "tanggalDaftarDokAsal":"'. $response[$i]->tanggalDaftarDokAsal_bb .'", "tipeBarang":"'. $response[$i]->tipeBarang_bb .'", "ukuranBarang":"'. $response[$i]->ukuranBarang_bb .'", "uraianBarang":"'. $response[$i]->uraianBarang_bb .'", "nilaiJasa":'. $response[$i]->nilaiJasa_bb .'}';
    
                                        
                                    }
                                }

                                // dd($this->checkBarangLastIndex($response[$i] ->kodeBarang_brg,$doctype));                                
                                if($this->checkBarangLastIndex($response[$i] ->kodeBarang_brg,$doctype)==$response[$i]->seriBarang_bb){
                                    if(!empty ($response[$i] ->kodeBarang_brg) && ($response[$i] ->kodeBarang_brg)!=""){
                                        // $barang = $barang.",";
                                        $barang=$barang .'{"cif":' .$response[$i]->cif_brg . ', "hargaEkspor":'. $response[$i]->hargaEkspor_brg. ', "hargaPenyerahan":'. $response[$i]->hargaPenyerahan_brg . ', "isiPerKemasan":'. $response[$i]->isiPerKemasan_brg.',"jumlahKemasan":'. $response[$i]->jumlahKemasan_brg. ', "jumlahSatuan":'. $response[$i]->jumlahSatuan_brg. ', 
                                            "kodeBarang":"'. $response[$i]->kodeBarang_brg. '","kodeDokumen":"'. $response[$i]->kodeDokumen_brg . '", "kodeJenisKemasan":"'. $response[$i]->kodeJenisKemasan_brg . '", "kodeSatuanBarang":"'. $response[$i]->kodeSatuanBarang_brg . '","merk":"'. $response[$i]->merk_brg . '", 
                                            "netto":'. $response[$i]->netto_brg . ', "nilaiBarang":'. $response[$i]->nilaiBarang_brg . ',"posTarif":"'. $response[$i]->posTarif_brg . '", "seriBarang":'. $response[$i]->seriBarang_brg .',"spesifikasiLain":"'. $response[$i]->spesifikasiLain_brg . '", 
                                            "tipe":"'. $response[$i]->tipe_brg . '", "ukuran":"'. $response[$i]->ukuran_brg . '","uraian":"'. $response[$i]->uraian_brg . '", "volume":'. $response[$i]->volume_brg . ', "cifRupiah":'. $response[$i]->cifRupiah_brg . ', "hargaPerolehan":'. $response[$i]->hargaPerolehan_brg . ',"kodeAsalBahanBaku":"'. $response[$i]->kodeAsalBahanBaku_brg .'", 
                                            "ndpbm":'. $response[$i]->ndpbm_brg . ', "uangMuka":'. $response[$i]->uangMuka_brg . ', "nilaiJasa":'. $response[$i]->nilaiJasa_brg .  ', "bahanBaku":['. $bahanBaku. ']}';
                                        
                                    }
                                    
                                    

                                }
                                // else{
                                //     if(!empty ($response[$i] ->kodeBarang_brg) && ($response[$i] ->kodeBarang_brg)!=""){
                                //         $barang='{"cif":' .$response[$i]->cif_brg . ', "hargaEkspor":'. $response[$i]->hargaEkspor_brg. ', "hargaPenyerahan":'. $response[$i]->hargaPenyerahan_brg . ', "isiPerKemasan":'. $response[$i]->isiPerKemasan_brg.',"jumlahKemasan":'. $response[$i]->jumlahKemasan_brg. ', "jumlahSatuan":'. $response[$i]->jumlahSatuan_brg. ', 
                                //             "kodeBarang":"'. $response[$i]->kodeBarang_brg. '","kodeDokumen":"'. $response[$i]->kodeDokumen_brg . '", "kodeJenisKemasan":"'. $response[$i]->kodeJenisKemasan_brg . '", "kodeSatuanBarang":"'. $response[$i]->kodeSatuanBarang_brg . '","merk":"'. $response[$i]->merk_brg . '", 
                                //             "netto":'. $response[$i]->netto_brg . ', "nilaiBarang":'. $response[$i]->nilaiBarang_brg . ',"posTarif":"'. $response[$i]->posTarif_brg . '", "seriBarang":'. $response[$i]->seriBarang_brg .',"spesifikasiLain":"'. $response[$i]->spesifikasiLain_brg . '", 
                                //             "tipe":"'. $response[$i]->tipe_brg . '", "ukuran":"'. $response[$i]->ukuran_brg . '","uraian":"'. $response[$i]->uraian_brg . '", "volume":'. $response[$i]->volume_brg . ', "cifRupiah":'. $response[$i]->cifRupiah_brg . ', "hargaPerolehan":'. $response[$i]->hargaPerolehan_brg . ',"kodeAsalBahanBaku":"'. $response[$i]->kodeAsalBahanBaku_brg .'", 
                                //             "ndpbm":'. $response[$i]->ndpbm_brg . ', "uangMuka":'. $response[$i]->uangMuka_brg . ', "nilaiJasa":'. $response[$i]->nilaiJasa_brg .  ', "bahanBaku":['. $bahanBaku. ']}';
                                //     }
                                    
                                
                                // }
                                


                                
                                
                            }
                            

                        
                                $this->deleteDetailTpbBc();
                                $this->insertDetailTpbBc($response[0]->asalData, $response[0]->asuransi, $response[0]->bruto, $response[0]->cif, $response[0]->kodeJenisTpb,
                                $response[0]->freight, $response[0]->hargaPenyerahan, null, $response[0]->JabatanTtd, $response[0]->jumlahKontainer,
                                $response[0]->kodeDokumen, $response[0]->kodeKantor, $response[0]->kodeTujuanPengiriman, $response[0]->kotaTtd, $response[0]->namaTtd,
                                $response[0]->netto, $response[0]->nik, $response[0]->nomorAju, $response[0]->seri, $response[0]->tanggalAju,
                                $response[0]->tanggalTtd, $response[0]->volume, $response[0]->biayaTambahan, $response[0]->biayaPengurang, $response[0]->vd,
                                $response[0]->uangMuka, null, $response[0]->dasarPengenaanPajak, $response[0]->kodeJenisImpor, $response[0]->kodeJenisEkspor,
                                $response[0]->kodeLokasiBayar, $response[0]->kodePembayar, $response[0]->ndpbm, $response[0]->nilaiBarang, $response[0]->ppnPajak,
                                $response[0]->ppnbmPajak, $response[0]->tarifPpnPajak, $response[0]->tarifPpnbmPajak, 
                                
                                '[' . $entitas. ']' , '['.$dokumen.']' , '['.$pengangkut.']' , '['.$pungutan.']' , '[' .$kontainer.']' , '['.$kemasan.']' , '['.$barang.']',$response[0]->userPortal,
                            null, null, null, null, null );
                                

                                // return response()->json(['data' => "Data Berhasil Di Simpan"]);
                        
                            
                        }
                    }else if($doctype==27)
                    { //BC 27
                        // dd($response);
                        ini_set('memory_limit', '844M');
                        if($countRespon>=1){
                            for ($i=0;$i<$countRespon;$i++)
                            {
                                if(!empty ($response[$i]->alamatEntitas)){
                                    $kodeEntitas = $response[$i]->kodeEntitas;
                                    $namaEntitas = $response[$i]->namaEntitas;


                                    if($namaEntitas!=null){

                                        if($i>0){
                                            if($response[$i-1]->seriEntitas != $response[$i]->seriEntitas){
                                                if($kodeEntitas == '3'&&$namaEntitas!=null){
                                                    if($firstEntitas==false&&$namaEntitas!=null){
                                                        $entitas =  $entitas.",";
                                                    }
                                                    $entitas=$entitas . '{"alamatEntitas":"' .  $response[$i]->alamatEntitas . '", "kodeEntitas":"'. $response[$i]->kodeEntitas . '", "kodeJenisIdentitas":"'. $response[$i]->kodeJenisIdentitas . 
                                                        '",  "namaEntitas":"'. $response[$i]->namaEntitas . '", "nibEntitas":"'. $response[$i]->nibEntitas . '", "nomorIdentitas":"'. $response[$i]->nomorIdentitas . '", "nomorIjinEntitas":"'. $response[$i]->nomorIjinEntitas . '", "seriEntitas":'. $response[$i]->seriEntitas . ', "tanggalIjinEntitas":"'. $response[$i]->tanggalIjinEntitas .'"}';
                                                }else if(($kodeEntitas == '7'&&$namaEntitas!=null) || ($kodeEntitas == '8'&&$namaEntitas!=null)){
                                                    if($firstEntitas==false&&$namaEntitas!=null){
                                                        $entitas =  $entitas.",";
                                                    }
                                                    $entitas=$entitas . '{"alamatEntitas":"' .  $response[$i]->alamatEntitas . '", "kodeEntitas":"'. $response[$i]->kodeEntitas . '", "kodeJenisApi":"'. $response[$i]->kodeJenisApi . '","kodeJenisIdentitas":"'. $response[$i]->kodeJenisIdentitas . 
                                                        '", "kodeStatus":"'. $response[$i]->kodeStatus . '",  "namaEntitas":"'. $response[$i]->namaEntitas . '", "nomorIdentitas":"'. $response[$i]->nomorIdentitas . '", "nomorIjinEntitas":"'. $response[$i]->nomorIjinEntitas . '", "seriEntitas":'. $response[$i]->seriEntitas . ', "tanggalIjinEntitas":"'. $response[$i]->tanggalIjinEntitas .'"}';
                                                }
                                            }

                                            $firstEntitas=false;
                                            
                                        }else{
                                            if($kodeEntitas == '3'&&($response[$i]->alamatEntitas!=null)){
                                                if($firstEntitas==false&&$namaEntitas!=null){
                                                    $entitas =  $entitas.",";
                                                }
                                                // dd($response);
                                                $entitas= '{"alamatEntitas":"' .  $response[$i]->alamatEntitas . '", "kodeEntitas":"'. $response[$i]->kodeEntitas . '", "kodeJenisIdentitas":"'. $response[$i]->kodeJenisIdentitas . 
                                                    '",  "namaEntitas":"'. $response[$i]->namaEntitas . '", "nibEntitas":"'. $response[$i]->nibEntitas . '", "nomorIdentitas":"'. $response[$i]->nomorIdentitas . '", "nomorIjinEntitas":"'. $response[$i]->nomorIjinEntitas . '", "seriEntitas":'. $response[$i]->seriEntitas . ', "tanggalIjinEntitas":"'. $response[$i]->tanggalIjinEntitas .'"}';
                                            }else if(($kodeEntitas == '7'&&$namaEntitas!=null) || ($kodeEntitas == '8'&&$namaEntitas!=null)){
                                                
                                                $entitas= '{"alamatEntitas":"' .  $response[$i]->alamatEntitas . '", "kodeEntitas":"'. $response[$i]->kodeEntitas . '", "kodeJenisApi":"'. $response[$i]->kodeJenisApi . '","kodeJenisIdentitas":"'. $response[$i]->kodeJenisIdentitas . 
                                                    '", "kodeStatus":"'. $response[$i]->kodeStatus . '",  "namaEntitas":"'. $response[$i]->namaEntitas .'", "nomorIdentitas":"'. $response[$i]->nomorIdentitas . '", "nomorIjinEntitas":"'. $response[$i]->nomorIjinEntitas . '", "seriEntitas":'. $response[$i]->seriEntitas . ', "tanggalIjinEntitas":"'. $response[$i]->tanggalIjinEntitas .'"}';
                                            }
                                            
                                        }

                                    }else{
                                        $firstEntitas=true;
                                    }
                                    
                                }

                                if(!empty ($response[$i] ->kodeDokumen_det)){
                                    if($i>0){
                                        if($response[$i-1]->seriDokumen_det != $response[$i]->seriDokumen_det){
                                            $dokumen = $dokumen.",";
                                            $dokumen=$dokumen .'{"kodeDokumen":"' .  $response[$i]->kodeDokumen_det . '", "nomorDokumen":"'. $response[$i]->nomorDokumen_det . '", "seriDokumen":'. $response[$i]->seriDokumen_det .', "tanggalDokumen":"'. $response[$i]->tanggalDokumen_det . '"}';
                                        }

                                    }else{
                                        $dokumen='{"kodeDokumen":"' .  $response[$i]->kodeDokumen_det . '", "nomorDokumen":"'. $response[$i]->nomorDokumen_det . '", "seriDokumen":'. $response[$i]->seriDokumen_det .', "tanggalDokumen":"'. $response[$i]->tanggalDokumen_det . '"}';
                                    }
                                }


                                if(!empty ($response[$i] ->jumlahKemasan_km)){
                                    if($i>0){
                                        if($response[$i-1]->seriKemasan_km != $response[$i]->seriKemasan_km){
                                            $kemasan = $kemasan.",";
                                            $kemasan=$kemasan .'{"jumlahKemasan":' .  $response[$i]->jumlahKemasan_km . ', "kodeJenisKemasan":"'. $response[$i]->kodeJenisKemasan_km . '", "merkKemasan":"'. $response[$i]->merkKemasan_km .'", "seriKemasan":'. $response[$i]->seriKemasan_km . '}';
                                        }

                                    }else{
                                        $kemasan='{"jumlahKemasan":' .  $response[$i]->jumlahKemasan_km . ', "kodeJenisKemasan":"'. $response[$i]->kodeJenisKemasan_km . '", "merkKemasan":"'. $response[$i]->merkKemasan_km .'", "seriKemasan":'. $response[$i]->seriKemasan_km . '}';
                                    }
                                }

                                if(!empty ($response[$i] ->seriPengangkut)){
                                    if($i>0){
                                        if($response[$i-1]->seriPengangkut != $response[$i]->seriPengangkut){
                                            $pengangkut = $pengangkut.",";
                                            $pengangkut=$pengangkut .'{"idPengangkut":' .  $response[$i]->idPengangkut . ', "namaPengangkut":"' .  $response[$i]->namaPengangkut . '", "nomorPengangkut":"'. $response[$i]->nomorPengangkut . '", "seriPengangkut":"'. $response[$i]->seriPengangkut .'"}';
                                        }
                                        

                                    }else{
                                        $pengangkut='{"idPengangkut":' .  $response[$i]->idPengangkut . ', "namaPengangkut":"' .  $response[$i]->namaPengangkut . '", "nomorPengangkut":"'. $response[$i]->nomorPengangkut . '", "seriPengangkut":"'. $response[$i]->seriPengangkut .'"}';
                                    }
                                }

                                if(!empty ($response[$i] ->kodeJenisKontainer)){
                                    if($i>0){
                                        if($response[$i-1]->seriKontainer != $response[$i]->seriKontainer){
                                            $kontainer = $kontainer.",";
                                        $kontainer=$kontainer .'{"kodeJenisKontainer":"' .  $response[$i]->kodeJenisKontainer . '", "kodeTipeKontainer":"'. $response[$i]->kodeTipeKontainer . '", "kodeUkuranKontainer":"'. $response[$i]->kodeUkuranKontainer . '", "nomorKontainer":"'. $response[$i]->nomorKontainer . '", "seriKontainer":'. $response[$i]->seriKontainer .'}';
                                        }
                                        

                                    }else{
                                        $kontainer='{"kodeJenisKontainer":"' .  $response[$i]->kodeJenisKontainer . '", "kodeTipeKontainer":"'. $response[$i]->kodeTipeKontainer . '", "kodeUkuranKontainer":"'. $response[$i]->kodeUkuranKontainer . '", "nomorKontainer":"'. $response[$i]->nomorKontainer . '", "seriKontainer":'. $response[$i]->seriKontainer .'}';
                                    }
                                }

                                if(!empty ($response[$i] ->kodeJenisPungutan_pgn)){
                                    $seriKontainer = 1;
                                    if(!empty ($response[$i] ->seriKontainer)){
                                        $seriKontainer = $response[$i] ->seriKontainer;
                                    }
                                    $nilaiPungutan = 0;
                                    if(!empty ($response[$i] ->nilaiPungutan_pgn)){
                                        $nilaiPungutan = $response[$i] ->nilaiPungutan_pgn;
                                    }
                                    if($i>0){
                                        if($response[$i-1]->kodeJenisPungutan_pgn != $response[$i]->kodeJenisPungutan_pgn && 
                                        $response[$i-1]->kodeFasilitasTarif_pgn != $response[$i]->kodeFasilitasTarif_pgn && 
                                        $response[$i-1]->nilaiPungutan_pgn != $response[$i]->nilaiPungutan_pgn){
                                            $pungutan = $pungutan.",";
                                            $pungutan=$pungutan .'{"kodeJenisKontainer":"' .  $response[$i]->kodeJenisKontainer . '", "kodeTipeKontainer":"'. $response[$i]->kodeTipeKontainer . '", "kodeUkuranKontainer":"'. $response[$i]->kodeUkuranKontainer . '", "nomorKontainer":"'. $response[$i]->nomorKontainer . '", "nilaiPungutan":'. $nilaiPungutan . ', "kodeJenisPungutan":"'. $response[$i]->kodeJenisPungutan_pgn . '", "kodeFasilitasTarif":"'. $response[$i]->kodeFasilitasTarif_pgn . '", "idPungutan":"'. $response[$i]->idPungutan_pgn . '", "seriKontainer":'. $seriKontainer .'}';
                                        }
                                        

                                    }else{
                                        $pungutan='{"kodeJenisKontainer":"' .  $response[$i]->kodeJenisKontainer . '", "kodeTipeKontainer":"'. $response[$i]->kodeTipeKontainer . '", "kodeUkuranKontainer":"'. $response[$i]->kodeUkuranKontainer . '", "nomorKontainer":"'. $response[$i]->nomorKontainer . '", "nilaiPungutan":'. $nilaiPungutan . ', "kodeJenisPungutan":"'. $response[$i]->kodeJenisPungutan_pgn . '", "kodeFasilitasTarif":"'. $response[$i]->kodeFasilitasTarif_pgn . '", "idPungutan":"'. $response[$i]->idPungutan_pgn . '", "seriKontainer":'. $seriKontainer .'}';
                                    }
                                }



                                if(!empty($response[$i] ->kodeJenisPungutan_trf)){
                                    if($i>0){
                                        $bahanBakuTarif = $bahanBakuTarif.",";
                                        $bahanBakuTarif=$bahanBakuTarif.'{"seriBahanBaku":' .  $response[$i]->seriBahanBaku_trf. ', "kodeJenisPungutan":"'. $response[$i]->kodeJenisPungutan_trf . '", "kodeAsalBahanBaku":"'. $response[$i]->kodeAsalBahanBaku_trf . '", "kodeFasilitasTarif":"'. $response[$i]->kodeFasilitasTarif_trf . '", "nilaiBayar":'. $response[$i]->nilaiBayar_trf . 
                                            ', "nilaiFasilitas":'. $response[$i]->nilaiFasilitas_trf . ', "nilaiSudahDilunasi":'. $response[$i]->nilaiSudahDilunasi_trf . ', "tarif":'. $response[$i]->tarif_trf . ', "tarifFasilitas":'. $response[$i]->tarifFasilitas_trf. ', "jumlahSatuan":'. $response[$i]->jumlahSatuan_trf . ', "kodeJenisTarif":"'. $response[$i]->kodeJenisTarif_trf .'"
                                            , "jumlahKemasan":"'. $response[$i]->jumlahKemasan_trf .'"}';
    
                                        
                                    }else{
                                        $bahanBakuTarif='{"seriBahanBaku":' .  $response[$i]->seriBahanBaku_trf. ', "kodeJenisPungutan":"'. $response[$i]->kodeJenisPungutan_trf . '", "kodeAsalBahanBaku":"'. $response[$i]->kodeAsalBahanBaku_trf . '", "kodeFasilitasTarif":"'. $response[$i]->kodeFasilitasTarif_trf . '", "nilaiBayar":'. $response[$i]->nilaiBayar_trf . 
                                            ', "nilaiFasilitas":'. $response[$i]->nilaiFasilitas_trf . ', "nilaiSudahDilunasi":'. $response[$i]->nilaiSudahDilunasi_trf . ', "tarif":'. $response[$i]->tarif_trf . ', "tarifFasilitas":'. $response[$i]->tarifFasilitas_trf. ', "jumlahSatuan":'. $response[$i]->jumlahSatuan_trf . ', "kodeJenisTarif":"'. $response[$i]->kodeJenisTarif_trf .'"
                                            , "jumlahKemasan":"'. $response[$i]->jumlahKemasan_trf .'"}';
    
                                        
                                    }
                                }
                                
                                // dd($this->checkBahanBakuLastIndex($response[$i] ->seriBahanBaku_bb,$doctype));
                                
                                // $a = (int) $this->checkBahanBakuLastIndex($response[$i] ->seriBahanBaku_bb,$doctype);
                                $a = (int) $response[$i] ->seriBahanBaku_bb;
                                $b = (int) $response[$i]->seriBahanBaku_trf;


                                if($a==$b){

                                    if(!empty($response[$i] ->kodeJenisTarif_trf)){
                                        $bahanBaku=$bahanBaku.'{"cif":' .  $response[$i]->cif_bb. ', "cifRupiah":'. $response[$i]->cifRupiah_bb . ', "hargaPenyerahan":'. $response[$i]->hargaPenyerahan_bb . ', "hargaPerolehan":'. $response[$i]->hargaPerolehan_bb . ', "jumlahSatuan":'. $response[$i]->jumlahSatuan_bb . 
                                            ', "kodeSatuanBarang":"'. $response[$i]->kodeSatuanBarang_bb . '", "kodeAsalBahanBaku":"'. $response[$i]->kodeAsalBahanBaku_bb . '", "kodeBarang":"'. $response[$i]->kodeBarang_bb . '", "kodeDokAsal":"'. $response[$i]->kodeDokAsal_bb. '", "kodeDokumen":"'. $response[$i]->kodeDokumen_brg . '", "kodeKantor":"'. $response[$i]->kodeKantor_bb .'"
                                            , "merkBarang":"'. $response[$i]->merkBarang_bb .'", "ndpbm":'. $response[$i]->ndpbm_bb .', "netto":'. $response[$i]->netto_bb .', "nomorAjuDokAsal":"'. $response[$i]->nomorAjuDokAsal_bb .'", "nomorDaftarDokAsal":"'. $response[$i]->nomorDaftarDokAsal_bb .'"
                                            , "posTarif":"'. $response[$i]->posTarif_bb .'", "seriBahanBaku":'. $response[$i]->seriBahanBaku_bb .', "seriBarang":'. $response[$i]->seriBarang_bb .', "seriBarangDokAsal":'. $response[$i]->seriBarangDokAsal_bb .', "seriIjin":'. $response[$i]->seriIjin_bb .', "spesifikasiLainBarang":"'. $response[$i]->spesifikasiLainBarang_bb .'"
                                            , "tanggalDaftarDokAsal":"'. $response[$i]->tanggalDaftarDokAsal_b .'", "tipeBarang":"'. $response[$i]->tipeBarang_bb .'", "ukuranBarang":"'. $response[$i]->ukuranBarang_bb .'", "uraianBarang":"'. $response[$i]->uraianBarang_bb .'", "nilaiJasa":'. $response[$i]->nilaiJasa_bb .', "bahanBakuTarif":['.$bahanBakuTarif.']}';
                                        
                                    }
                                    
                                    // dd($bahanBaku);

                                }
                                
                                // dd($response);

                                

                                // dd($this->checkBarangLastIndex($response[$i] ->kodeBarang_brg,$doctype));                                
                                if($this->checkBarangLastIndex($response[$i] ->kodeBarang_brg,$doctype)==$response[$i]->seriBarang_bb){
                                    if(!empty ($response[$i] ->kodeBarang_brg) && ($response[$i] ->kodeBarang_brg)!=""){
                                        // $barang = $barang.",";
                                        $barang=$barang .'{"cif":' .$response[$i]->cif_brg . ',"cifRupiah":' .$response[$i]->cifRupiah_brg . ', "hargaEkspor":'. $response[$i]->hargaEkspor_brg. ', "hargaPenyerahan":'. $response[$i]->hargaPenyerahan_brg . ', "isiPerKemasan":'. $response[$i]->isiPerKemasan_brg.', "jumlahSatuan":'. $response[$i]->jumlahSatuan_brg. ', 
                                            "kodeBarang":"'. $response[$i]->kodeBarang_brg. '","kodeDokumen":"'. $response[$i]->kodeDokumen_brg . '",  "kodeSatuanBarang":"'. $response[$i]->kodeSatuanBarang_brg . '","merk":"'. $response[$i]->merk_brg . '", 
                                            "netto":'. $response[$i]->netto_brg . ', "nilaiBarang":'. $response[$i]->nilaiBarang_brg . ',"posTarif":"'. $response[$i]->posTarif_brg . '", "seriBarang":'. $response[$i]->seriBarang_brg .',"spesifikasiLain":"'. $response[$i]->spesifikasiLain_brg . '", 
                                            "tipe":"'. $response[$i]->tipe_brg . '", "ukuran":"'. $response[$i]->ukuran_brg . '","uraian":"'. $response[$i]->uraian_brg . '","hargaPerolehan":'. $response[$i]->hargaPerolehan_brg . ',"kodeAsalBahanBaku":"'. $response[$i]->kodeAsalBahanBaku_brg .'", 
                                            "ndpbm":'. $response[$i]->ndpbm_brg . ', "uangMuka":'. $response[$i]->uangMuka_brg . ', "nilaiJasa":'. $response[$i]->nilaiJasa_brg .  ', "bahanBaku":['. $bahanBaku. ']}';
                                        
                                    }
                                    
                                    

                                }
                                
                                


                                
                                
                            }
                            
                            //dd($response);
                            

                        
                                $this->deleteDetailTpbBc();
                                $this->insertDetailTpbBc($response[0]->asalData, $response[0]->asuransi, $response[0]->bruto, $response[0]->cif, $response[0]->kodeJenisTpb,
                                $response[0]->freight, $response[0]->hargaPenyerahan, null, $response[0]->JabatanTtd, $response[0]->jumlahKontainer,
                                $response[0]->kodeDokumen, $response[0]->kodeKantor, $response[0]->kodeTujuanPengiriman, $response[0]->kotaTtd, $response[0]->namaTtd,
                                $response[0]->netto, $response[0]->nik, $response[0]->nomorAju, $response[0]->seri, $response[0]->tanggalAju,
                                $response[0]->tanggalTtd, null, $response[0]->biayaTambahan, $response[0]->biayaPengurang, $response[0]->vd,
                                $response[0]->uangMuka, $response[0]->nilaiJasa, $response[0]->dasarPengenaanPajak, null, null,
                                null, null, $response[0]->ndpbm, $response[0]->nilaiBarang, $response[0]->ppnPajak,
                                $response[0]->ppnbmPajak, $response[0]->tarifPpnPajak, $response[0]->tarifPpnbmPajak, 
                                
                                '[' . $entitas. ']' , '['.$dokumen.']' , '['.$pengangkut.']' , '['.$pungutan.']' , '[' .$kontainer.']' , '['.$kemasan.']' , '['.$barang.']',null,
                                $response[0]->disclaimer, $response[0]->kodeKantorTujuan, $response[0]->kodeTps, $response[0]->kodeTujuanTpb, $response[0]->kodeValuta );
                                

                                // return response()->json(['data' => "Data Berhasil Di Simpan"]);
                        
                            
                        }
                    }
                        
                    
            }
            else {
                return response()->json(['error' => 'Data Tidak Ditemukan']);
            }

            //kirim to ceisa bc40
            $dataJsonPost = $this->tpbBcSend40();
            if($doctype==41){
                $dataJsonPost = $this->tpbBcSend41();
                // dd($dataJsonPost);
            }else if($doctype==27){
                $dataJsonPost = $this->tpbBcSend27();
            }


            try {
                $response = Http::withToken($this->getTokenFromServer())->post(env('URL_BC').'/'.self::SEND_DOCUMENT,$dataJsonPost);
                return response()->json($response->getBody()->getContents());
            } catch (RequestException $requestException) {
                if ($requestException->hasResponse()) {
                    if ($requestException->getResponse()->getStatusCode() == '401') {
                        return response()->json(['status' => 401, 'message' => 'Authentication failed'], 401);
                    }
                    if ($requestException->getResponse()->getStatusCode() == '404') {
                        return response()->json(['status' => 404, 'message' => 'Paket tidak ditemukan'], 404);
                    }
                }
                return response()->json(['status' => $requestException->getResponse()->getStatusCode(), 'message' => 'API request error'], $requestException->getResponse()->getStatusCode());
            } catch (\Exception $ex) {
                return response()->json(['status' => 500, 'message' => "Api call error"], 500);
            }
        // }


        //kirim to ceisa

    }else{
        return response()->json(['error' => 'Sesi Anda Sudah Habis Silahkan Login Kembali']);
    }


    return redirect()->back();
    
}

public function tpbBcSend40(){
    $username=Auth::user()->username;
    $tpbBc=TpbBc::select(
        "asal_data as asalData",
        "asuransi",
        "bruto",
        "cif",
        "kode_jenis_tpb as kodeJenisTpb",
        "freight",
        "harga_penyerahan as hargaPenyerahan",
        "id_pengguna as idPengguna",
        "jabatan_ttd as jabatanTtd",
        "jumlah_kontainer as jumlahKontainer",
        "kode_dokumen as kodeDokumen",
        "kode_kantor as kodeKantor",
        "kode_tujuan_pengiriman as kodeTujuanPengiriman",
        "kota_ttd as kotaTtd",
        "nama_ttd as namaTtd",
        "netto",
        "nik",
        "nomor_aju as nomorAju",
        "seri",
        "tanggal_aju as tanggalAju",
        "tanggal_ttd as tanggalTtd",
        "volume",
        "biaya_tambahan as biayaTambahan",
        "biaya_pengurang as biayaPenguran",
        "vd",
        "uang_muka as uangMuka",
        "entitas",
        "dokumen",
        "pengangkut",
        "kontainer",
        "kemasan",
        "pungutan",
        "barang"
    )->where('updated_by',$username)->get();
    $data = substr($tpbBc, 1, -1);
    return json_decode($data,true);
}
public function tpbBcSend41(){
    $username=Auth::user()->username;
    $tpbBc=TpbBc::select(
        "asal_data as asalData",
        "asuransi",
        "bruto",
        "cif",
        "dasar_pengenaan_pajak as dasarPengenaanPajak",
        "kode_jenis_tpb as kodeJenisTpb",
        "kode_jenis_impor as kodeJenisImpor",
        "kode_jenis_ekspor as kodeJenisEkspor",
        "freight",
        "harga_penyerahan as hargaPenyerahan",
        "jabatan_ttd as jabatanTtd",
        "jumlah_kontainer as jumlahKontainer",
        "kode_dokumen as kodeDokumen",
        "kode_kantor as kodeKantor",
        "kode_lokasi_bayar as kodeLokasiBayar",
        "kode_pembayar as kodePembayar",
        "kode_tujuan_pengiriman as kodeTujuanPengiriman",
        "kota_ttd as kotaTtd",
        "nama_ttd as namaTtd",
        "ndpbm",
        "netto",
        "nik",
        "nilai_barang as nilaiBarang",
        "nomor_aju as nomorAju",
        "seri",
        "tanggal_aju as tanggalAju",
        "tanggal_ttd as tanggalTtd",
        "volume",
        "biaya_tambahan as biayaTambahan",
        "biaya_pengurang as biayaPenguran",
        "vd",
        "uang_muka as uangMuka",
        "ppn_pajak as ppnPajak",
        "ppnbm_pajak as ppnbmPajak",
        "tarif_ppnbm_pajak as tarifPpnbmPajak",
        "entitas",
        "dokumen",
        "pengangkut",
        "kontainer",
        "kemasan",
        "barang",
        "user_portal as userPortal",
        "biaya_pengurang as biayaPengurang"
    )->where('updated_by',$username)->get();
    $data = substr($tpbBc, 1, -1);
    return json_decode($data,true);
}
public function tpbBcSend27(){
    $username=Auth::user()->username;
    $tpbBc=TpbBc::select(
        "asal_data as asalData",
        "asuransi",
        "bruto",
        "cif",
        "dasar_pengenaan_pajak as dasarPengenaanPajak",
        "kode_jenis_tpb as kodeJenisTpb",
        "kode_jenis_impor as kodeJenisImpor",
        "kode_jenis_ekspor as kodeJenisEkspor",
        "freight",
        "harga_penyerahan as hargaPenyerahan",
        "jabatan_ttd as jabatanTtd",
        "jumlah_kontainer as jumlahKontainer",
        "kode_dokumen as kodeDokumen",
        "kode_kantor as kodeKantor",
        "kode_lokasi_bayar as kodeLokasiBayar",
        "kode_pembayar as kodePembayar",
        "kode_tujuan_pengiriman as kodeTujuanPengiriman",
        "kota_ttd as kotaTtd",
        "nama_ttd as namaTtd",
        "ndpbm",
        "netto",
        "nik",
        "nilai_barang as nilaiBarang",
        "nomor_aju as nomorAju",
        "seri",
        "tanggal_aju as tanggalAju",
        "tanggal_ttd as tanggalTtd",
        "volume",
        "biaya_tambahan as biayaTambahan",
        "biaya_pengurang as biayaPenguran",
        "vd",
        "uang_muka as uangMuka",
        "ppn_pajak as ppnPajak",
        "ppnbm_pajak as ppnbmPajak",
        "tarif_ppnbm_pajak as tarifPpnbmPajak",
        "entitas",
        "dokumen",
        "pengangkut",
        "kontainer",
        "kemasan",
        "barang",
        "pungutan",
        "user_portal as userPortal",
        "biaya_pengurang as biayaPengurang",
        "disclaimer as disclaimer",
        "kode_tps as kodeTps",
        "kode_tujuan_tpb as kodeTujuanTpb",
        "kode_kantor_tujuan as kodeKantorTujuan",
        "kode_valuta as kodeValuta",
        "nilai_jasa as nilaiJasa",
        "ppn_pajak as ppnPajak"




    )->where('updated_by',$username)->get();
    $data = substr($tpbBc, 1, -1);
    return json_decode($data,true);
}

public function tpbBcSend40Cek(){
    $username=Auth::user()->username;
    $tpbBc=TpbBc::select(
        "asal_data as asalData",
        "asuransi",
        "bruto",
        "cif",
        "kode_jenis_tpb as kodeJenisTpb",
        "freight",
        "harga_penyerahan as hargaPenyerahan",
        "id_pengguna as idPengguna",
        "jabatan_ttd as jabatanTtd",
        "jumlah_kontainer as jumlahKontainer",
        "kode_dokumen as kodeDokumen",
        "kode_kantor as kodeKantor",
        "kode_tujuan_pengiriman as kodeTujuanPengiriman",
        "kota_ttd as kotaTtd",
        "nama_ttd as namaTtd",
        "netto",
        "nik",
        "nomor_aju as nomorAju",
        "seri",
        "tanggal_aju as tanggalAju",
        "tanggal_ttd as tanggalTtd",
        "volume",
        "biaya_tambahan as biayaTambahan",
        "biaya_pengurang as biayaPenguran",
        "vd",
        "uang_muka as uangMuka",
        "entitas",
        "dokumen",
        "pengangkut",
        "kontainer",
        "kemasan",
        "pungutan",
        "barang"
    )->where('updated_by',$username)->get();
    return json_decode($tpbBc,true);
    
    // $username=Auth::user()->username;
    // $tpbBc=TpbBc::select(
    //     "asal_data as asalData",
    //     "asuransi",
    //     "bruto",
    //     "cif",
    //     "dasar_pengenaan_pajak as dasarPengenaanPajak",
    //     "kode_jenis_tpb as kodeJenisTpb",
    //     "kode_jenis_impor as kodeJenisImpor",
    //     "kode_jenis_ekspor as kodeJenisEkspor",
    //     "freight",
    //     "harga_penyerahan as hargaPenyerahan",
    //     "jabatan_ttd as jabatanTtd",
    //     "jumlah_kontainer as jumlahKontainer",
    //     "kode_dokumen as kodeDokumen",
    //     "kode_kantor as kodeKantor",
    //     "kode_lokasi_bayar as kodeLokasiBayar",
    //     "kode_pembayar as kodePembayar",
    //     "kode_tujuan_pengiriman as kodeTujuanPengiriman",
    //     "kota_ttd as kotaTtd",
    //     "nama_ttd as namaTtd",
    //     "ndpbm",
    //     "netto",
    //     "nik",
    //     "nilai_barang as nilaiBarang",
    //     "nomor_aju as nomorAju",
    //     "seri",
    //     "tanggal_aju as tanggalAju",
    //     "tanggal_ttd as tanggalTtd",
    //     "volume",
    //     "biaya_tambahan as biayaTambahan",
    //     "biaya_pengurang as biayaPenguran",
    //     "vd",
    //     "uang_muka as uangMuka",
    //     "ppn_pajak as ppnPajak",
    //     "ppnbm_pajak as ppnbmPajak",
    //     "tarif_ppnbm_pajak as tarifPpnbmPajak",
    //     "entitas",
    //     "dokumen",
    //     "pengangkut",
    //     "kontainer",
    //     "kemasan",
    //     "barang",
    //     "user_portal as userPortal",
    //     "biaya_pengurang as biayaPengurang"
    // )->where('updated_by',$username)->get();
    // $data = substr($tpbBc, 1, -1);
    // return json_decode($data,true);
}


public function checkBarangLastIndex($kodeBarang,$doctype){
    $indexbarang = 0;
    $username=Auth::user()->username;
    $response = DatabaseConnection::setConnection(Auth::user())
            ->select("exec [SPE_GET_JSON_".$doctype."] ?", array($username));
            if(!empty($response))
            {
                $countRespon = count($response);                    
                if($countRespon>1)
                {
                    for ($i=0;$i<$countRespon;$i++)
                    {
                        if($kodeBarang == $response[$i] ->kodeBarang_brg){
                            $indexbarang++;
                        }else{
                            return $indexbarang;
                        }
                    }
                }
                    
            }
            
    return $indexbarang;
}

public function checkBahanBakuLastIndex($bahanBakuSeri,$doctype){
    $seriBahanBaku = 0;
    $username=Auth::user()->username;
    $response = DatabaseConnection::setConnection(Auth::user())
            ->select("exec [SPE_GET_JSON_".$doctype."] ?", array($username));
            if(!empty($response))
            {
                $countRespon = count($response);                    
                if($countRespon>1)
                {
                    for ($i=0;$i<$countRespon;$i++)
                    {
                        if($bahanBakuSeri == $response[$i] ->seriBahanBaku_trf){
                            $seriBahanBaku++;
                        }else{
                            return $seriBahanBaku;
                        }
                    }
                }
                    
            }
    return $seriBahanBaku;
}


}
