<?php

namespace Database\Seeders;

use Illuminate\Database\Console\Seeds\WithoutModelEvents;
use Illuminate\Database\Seeder;
use DB;

class DocumentNumberSeeder extends Seeder
{
    /**
     * Run the database seeds.
     */
    public function run(): void
    {
        //Opname
        $cek = DB::table('document_number')->where("type","OP")->count();
        if($cek == 0){
            DB::table('document_number')->insert([
                [
                    'type' => "OP",
                    'number_lenght' => 5,
                ]
            ]);
        }
        //Opname Recap
        $cek = DB::table('document_number')->where("type","OPR")->count();
        if($cek == 0){
            DB::table('document_number')->insert([
                [
                    'type' => "OPR",
                    'number_lenght' => 5,
                ]
            ]);
        }
        //Unpack
        $cek = DB::table('document_number')->where("type","UP")->count();
        if($cek == 0){
            DB::table('document_number')->insert([
                [
                    'type' => "UP",
                    'number_lenght' => 5,
                ]
            ]);
        }
        //Sales Order
        $cek = DB::table('document_number')->where("type","SO")->count();
        if($cek == 0){
            DB::table('document_number')->insert([
                [
                    'type' => "SO",
                    'number_lenght' => 5,
                ]
            ]);
        }
        //Goods Receipt
        $cek = DB::table('document_number')->where("type","GR")->count();
        if($cek == 0){
            DB::table('document_number')->insert([
                [
                    'type' => "GR",
                    'number_lenght' => 5,
                ]
            ]);
        }
        //Delivery Order
        $cek = DB::table('document_number')->where("type","DO")->count();
        if($cek == 0){
            DB::table('document_number')->insert([
                [
                    'type' => "DO",
                    'number_lenght' => 5,
                ]
            ]);
        }
        //Delivery Order Preparation
        $cek = DB::table('document_number')->where("type", "DOP")->count();
        if ($cek == 0) {
            DB::table('document_number')->insert([
                [
                    'type' => "DOP",
                    'number_lenght' => 5,
                ]
            ]);
        }
        //Sales Invoice
        $cek = DB::table('document_number')->where("type","SI")->count();
        if($cek == 0){
            DB::table('document_number')->insert([
                [
                    'type' => "SI",
                    'number_lenght' => 5,
                ]
            ]);
        }
        //Sales Retur
        $cek = DB::table('document_number')->where("type","RSI")->count();
        if($cek == 0){
            DB::table('document_number')->insert([
                [
                    'type' => "RSI",
                    'number_lenght' => 5,
                ]
            ]);
        }
        //POS
        $cek = DB::table('document_number')->where("type","POS")->count();
        if($cek == 0){
            DB::table('document_number')->insert([
                [
                    'type' => "POS",
                    'number_lenght' => 5,
                ]
            ]);
        }
        //Purchase Requisition
        $cek = DB::table('document_number')->where("type","PR")->count();
        if($cek == 0){
            DB::table('document_number')->insert([
                [
                    'type' => "PR",
                    'number_lenght' => 5,
                ]
            ]);
        }
        //Purchase Order
        $cek = DB::table('document_number')->where("type","PO")->count();
        if($cek == 0){
            DB::table('document_number')->insert([
                [
                    'type' => "PO",
                    'number_lenght' => 5,
                ]
            ]);
        }
        //Purchase Invoice
        $cek = DB::table('document_number')->where("type","PI")->count();
        if($cek == 0){
            DB::table('document_number')->insert([
                [
                    'type' => "PI",
                    'number_lenght' => 5,
                ]
            ]);
        }
        //Mutasi Out
        $cek = DB::table('document_number')->where("type","MOUT")->count();
        if($cek == 0){
            DB::table('document_number')->insert([
                [
                    'type' => "MOUT",
                    'number_lenght' => 5,
                ]
            ]);
        }
        //Mutasi Out
        $cek = DB::table('document_number')->where("type", "MOR")->count();
        if ($cek == 0) {
            DB::table('document_number')->insert([
                [
                    'type' => "MOR",
                    'number_lenght' => 5,
                ]
            ]);
        }
        //Mutasi In
        $cek = DB::table('document_number')->where("type","MUIN")->count();
        if($cek == 0){
            DB::table('document_number')->insert([
                [
                    'type' => "MUIN",
                    'number_lenght' => 5,
                ]
            ]);
        }
        //Bank Cash In
        $cek = DB::table('document_number')->where("type","BCI")->count();
        if($cek == 0){
            DB::table('document_number')->insert([
                [
                    'type' => "BCI",
                    'number_lenght' => 5,
                ]
            ]);
        }
        //Bank Cash Out
        $cek = DB::table('document_number')->where("type","BCO")->count();
        if($cek == 0){
            DB::table('document_number')->insert([
                [
                    'type' => "BCO",
                    'number_lenght' => 5,
                ]
            ]);
        }
        //General Journal
        $cek = DB::table('document_number')->where("type","GJN")->count();
        if($cek == 0){
            DB::table('document_number')->insert([
                [
                    'type' => "GJN",
                    'number_lenght' => 5,
                ]
            ]);
        }
        //Sales Debit Note
        $cek = DB::table('document_number')->where("type","DNS")->count();
        if($cek == 0){
            DB::table('document_number')->insert([
                [
                    'type' => "DNS",
                    'number_lenght' => 5,
                ]
            ]);
        }
        //Sales Credit Note
        $cek = DB::table('document_number')->where("type","CNS")->count();
        if($cek == 0){
            DB::table('document_number')->insert([
                [
                    'type' => "CNS",
                    'number_lenght' => 5,
                ]
            ]);
        }
        //Purchase Debit Note
        $cek = DB::table('document_number')->where("type","DNP")->count();
        if($cek == 0){
            DB::table('document_number')->insert([
                [
                    'type' => "DNP",
                    'number_lenght' => 5,
                ]
            ]);
        }
        //Purchase Credit Note
        $cek = DB::table('document_number')->where("type","CNP")->count();
        if($cek == 0){
            DB::table('document_number')->insert([
                [
                    'type' => "CNP",
                    'number_lenght' => 5,
                ]
            ]);
        }
        //Payable Payment
        $cek = DB::table('document_number')->where("type","PAP")->count();
        if($cek == 0){
            DB::table('document_number')->insert([
                [
                    'type' => "PAP",
                    'number_lenght' => 5,
                ]
            ]);
        }
        //Receivable Payment
        $cek = DB::table('document_number')->where("type","RCP")->count();
        if($cek == 0){
            DB::table('document_number')->insert([
                [
                    'type' => "RCP",
                    'number_lenght' => 5,
                ]
            ]);
        }
        //Production Plan
        $cek = DB::table('document_number')->where("type","PP")->count();
        if($cek == 0){
            DB::table('document_number')->insert([
                [
                    'type' => "PP",
                    'number_lenght' => 5,
                ]
            ]);
        }
        //Material Release
        $cek = DB::table('document_number')->where("type","MK")->count();
        if($cek == 0){
            DB::table('document_number')->insert([
                [
                    'type' => "MK",
                    'number_lenght' => 5,
                ]
            ]);
        }
        //Material Receipts
        $cek = DB::table('document_number')->where("type","MM")->count();
        if($cek == 0){
            DB::table('document_number')->insert([
                [
                    'type' => "MM",
                    'number_lenght' => 5,
                ]
            ]);
        }
        //Research and Development
        $cek = DB::table('document_number')->where("type","RND")->count();
        if($cek == 0){
            DB::table('document_number')->insert([
                [
                    'type' => "RND",
                    'number_lenght' => 5,
                ]
            ]);
        }
        //Material Release Research and Development
        $cek = DB::table('document_number')->where("type","MKR")->count();
        if($cek == 0){
            DB::table('document_number')->insert([
                [
                    'type' => "MKR",
                    'number_lenght' => 5,
                ]
            ]);
        }
        //Material Receipt Research and Development
        $cek = DB::table('document_number')->where("type","MMR")->count();
        if($cek == 0){
            DB::table('document_number')->insert([
                [
                    'type' => "MMR",
                    'number_lenght' => 5,
                ]
            ]);
        }
        //Result Process
        $cek = DB::table('document_number')->where("type","RP")->count();
        if($cek == 0){
            DB::table('document_number')->insert([
                [
                    'type' => "RP",
                    'number_lenght' => 5,
                ]
            ]);
        }
        //RnD Result Process
        $cek = DB::table('document_number')->where("type", "RRP")->count();
        if ($cek == 0) {
            DB::table('document_number')->insert([
                [
                    'type' => "RRP",
                    'number_lenght' => 5,
                ]
            ]);
        }
        //Purchase Retur
        $cek = DB::table('document_number')->where("type","RPI")->count();
        if($cek == 0){
            DB::table('document_number')->insert([
                [
                    'type' => "RPI",
                    'number_lenght' => 5,
                ]
            ]);
        }
        //Costing 
        $cek = DB::table('document_number')->where("type", "CST")->count();
        if ($cek == 0) {
            DB::table('document_number')->insert([
                [
                    'type' => "CST",
                    'number_lenght' => 5,
                ]
            ]);
        }
        $cek = DB::table('document_number')->where("type", "CSTPP")->count();
        if ($cek == 0) {
            DB::table('document_number')->insert([
                [
                    'type' => "CSTPP",
                    'number_lenght' => 5,
                ]
            ]);
        }
        $cek = DB::table('document_number')->where("type", "CSTE")->count();
        if ($cek == 0) {
            DB::table('document_number')->insert([
                [
                    'type' => "CSTE",
                    'number_lenght' => 5,
                ]
            ]);
        }
        $cek = DB::table('document_number')->where("type", "CSTM")->count();
        if ($cek == 0) {
            DB::table('document_number')->insert([
                [
                    'type' => "CSTM",
                    'number_lenght' => 5,
                ]
            ]);
        }
        $cek = DB::table('document_number')->where("type", "CSTO")->count();
        if ($cek == 0) {
            DB::table('document_number')->insert([
                [
                    'type' => "CSTO",
                    'number_lenght' => 5,
                ]
            ]);
        }
        //Processing Plan
        $cek = DB::table('document_number')->where("type", "PPL")->count();
        if ($cek == 0) {
            DB::table('document_number')->insert([
                [
                    'type' => "PPL",
                    'number_lenght' => 5,
                ]
            ]);
        }
        //Processing Penerimaan Bahan
        $cek = DB::table('document_number')->where("type", "PMM")->count();
        if ($cek == 0) {
            DB::table('document_number')->insert([
                [
                    'type' => "PMM",
                    'number_lenght' => 5,
                ]
            ]);
        }
        //Processing Pengeluaran Bahan
        $cek = DB::table('document_number')->where("type", "PMK")->count();
        if ($cek == 0) {
            DB::table('document_number')->insert([
                [
                    'type' => "PMK",
                    'number_lenght' => 5,
                ]
            ]);
        }
        //Processing Result Process
        $cek = DB::table('document_number')->where("type", "PRP")->count();
        if ($cek == 0) {
            DB::table('document_number')->insert([
                [
                    'type' => "PRP",
                    'number_lenght' => 5,
                ]
            ]);
        }
        //Sales Down Payment
        $cek = DB::table('document_number')->where("type","SDP")->count();
        if($cek == 0){
            DB::table('document_number')->insert([
                [
                    'type' => "SDP",
                    'number_lenght' => 5,
                ]
            ]);
        }
        //Purchase Down Payment
        $cek = DB::table('document_number')->where("type","PDP")->count();
        if($cek == 0){
            DB::table('document_number')->insert([
                [
                    'type' => "PDP",
                    'number_lenght' => 5,
                ]
            ]);
        }
        //Asset Purchase
        $cek = DB::table('document_number')->where("type","PIA")->count();
        if($cek == 0){
            DB::table('document_number')->insert([
                [
                    'type' => "PIA",
                    'number_lenght' => 5,
                ]
            ]);
        }
        //Asset Sales
        $cek = DB::table('document_number')->where("type","SIA")->count();
        if($cek == 0){
            DB::table('document_number')->insert([
                [
                    'type' => "SIA",
                    'number_lenght' => 5,
                ]
            ]);
        }
        //Purchase Sparepart
        $cek = DB::table('document_number')->where("type","PIS")->count();
        if($cek == 0){
            DB::table('document_number')->insert([
                [
                    'type' => "PIS",
                    'number_lenght' => 5,
                ]
            ]);
        }
        //Sales Sparepart
        $cek = DB::table('document_number')->where("type","SIS")->count();
        if($cek == 0){
            DB::table('document_number')->insert([
                [
                    'type' => "SIS",
                    'number_lenght' => 5,
                ]
            ]);
        }
        //Sales Return DO
        $cek = DB::table('document_number')->where("type","RDO")->count();
        if($cek == 0){
            DB::table('document_number')->insert([
                [
                    'type' => "RDO",
                    'number_lenght' => 5,
                ]
            ]);
        }
        //Sales Credit Debit Note
        $cek = DB::table('document_number')->where("type","SCD")->count();
        if($cek == 0){
            DB::table('document_number')->insert([
                [
                    'type' => "SCD",
                    'number_lenght' => 5,
                ]
            ]);
        }
        //Purchase Credit Debit Note
        $cek = DB::table('document_number')->where("type", "PCD")->count();
        if ($cek == 0) {
            DB::table('document_number')->insert([
                [
                    'type' => "PCD",
                    'number_lenght' => 5,
                ]
            ]);
        }
        //Kasir Production Pengeluaran Bahan
        $cek = DB::table('document_number')->where("type", "KPB")->count();
        if ($cek == 0) {
            DB::table('document_number')->insert([
                [
                    'type' => "KPB",
                    'number_lenght' => 5,
                ]
            ]);
        }
        //Kasir Production Pengambilan Bahan
        $cek = DB::table('document_number')->where("type", "KPNB")->count();
        if ($cek == 0) {
            DB::table('document_number')->insert([
                [
                    'type' => "KPNB",
                    'number_lenght' => 5,
                ]
            ]);
        }
        //General Journal
        $cek = DB::table('document_number')->where("type", "GJN")->count();
        if ($cek == 0) {
            DB::table('document_number')->insert([
                [
                    'type' => "GJN",
                    'number_lenght' => 5,
                ]
            ]);
        }
        //Bank Cash Out
        $cek = DB::table('document_number')->where("type", "BCO")->count();
        if ($cek == 0) {
            DB::table('document_number')->insert([
                [
                    'type' => "BCO",
                    'number_lenght' => 5,
                ]
            ]);
        }
        //Bank Cash In
        $cek = DB::table('document_number')->where("type", "BCI")->count();
        if ($cek == 0) {
            DB::table('document_number')->insert([
                [
                    'type' => "BCI",
                    'number_lenght' => 5,
                ]
            ]);
        }
        //Other Debt
        $cek = DB::table('document_number')->where("type", "OD")->count();
        if ($cek == 0) {
            DB::table('document_number')->insert([
                [
                    'type' => "OD",
                    'number_lenght' => 5,
                ]
            ]);
        }
        //Other Debt Rnd
        $cek = DB::table('document_number')->where("type", "ODR")->count();
        if ($cek == 0) {
            DB::table('document_number')->insert([
                [
                    'type' => "ODR",
                    'number_lenght' => 5,
                ]
            ]);
        }
        //Employee Bank Cash Out
        $cek = DB::table('document_number')->where("type","EBCO")->count();
        if($cek == 0){
            DB::table('document_number')->insert([
                [
                    'type' => "EBCO",
                    'number_lenght' => 5,
                ]
            ]);
        }
        //Employee Debt Payment
        $cek = DB::table('document_number')->where("type","EDP")->count();
        if($cek == 0){
            DB::table('document_number')->insert([
                [
                    'type' => "EDP",
                    'number_lenght' => 5,
                ]
            ]);
        }
        //Asset Purchase Requisition
        $cek = DB::table('document_number')->where("type","PRA")->count();
        if($cek == 0){
            DB::table('document_number')->insert([
                [
                    'type' => "PRA",
                    'number_lenght' => 5,
                ]
            ]);
        }
        //Asset Purchase Order
        $cek = DB::table('document_number')->where("type","POA")->count();
        if($cek == 0){
            DB::table('document_number')->insert([
                [
                    'type' => "POA",
                    'number_lenght' => 5,
                ]
            ]);
        }
        //Direct Purchase Invoice
        $cek = DB::table('document_number')->where("type","DPI")->count();
        if($cek == 0){
            DB::table('document_number')->insert([
                [
                    'type' => "DPI",
                    'number_lenght' => 5,
                ]
            ]);
        }

        //Purchase Requisition Sparepart
        $cek = DB::table('document_number')->where("type", "PRS")->count();
        if ($cek == 0) {
            DB::table('document_number')->insert([
                [
                    'type' => "PRS",
                    'number_lenght' => 5,
                ]
            ]);
        }

        //Purchase Order Sparepart 
        $cek = DB::table('document_number')->where("type", "POSP")->count();
        if ($cek == 0) {
            DB::table('document_number')->insert([
                [
                    'type' => "POSP",
                    'number_lenght' => 5,
                ]
            ]);
        }

        //Purchase Invoice Sparepart
        $cek = DB::table('document_number')->where("type", "PISP")->count();
        if ($cek == 0) {
            DB::table('document_number')->insert([
                [
                    'type' => "PISP",
                    'number_lenght' => 5,
                ]
            ]);
        }
        //Good Receipt Sparepart
        $cek = DB::table('document_number')->where("type", "GRSP")->count();
        if ($cek == 0) {
            DB::table('document_number')->insert([
                [
                    'type' => "GRSP",
                    'number_lenght' => 5,
                ]
            ]);
        }

        //Sparepart Usage
        $cek = DB::table('document_number')->where("type", "SU")->count();
        if ($cek == 0) {
            DB::table('document_number')->insert([
                [
                    'type' => "SU",
                    'number_lenght' => 5,
                ]
            ]);
        }

        //Receive Non Cash
        $cek = DB::table('document_number')->where("type","RNC")->count();
        if($cek == 0){
            DB::table('document_number')->insert([
                [
                    'type' => "RNC",
                    'number_lenght' => 5,
                ]
            ]);
        }
        //Asset Good Receipt
        $cek = DB::table('document_number')->where("type","GRA")->count();
        if($cek == 0){
            DB::table('document_number')->insert([
                [
                    'type' => "GRA",
                    'number_lenght' => 5,
                ]
            ]);
        }
        //Purchase Requisition Makloon
        $cek = DB::table('document_number')->where("type","PRM")->count();
        if($cek == 0){
            DB::table('document_number')->insert([
                [
                    'type' => "PRM",
                    'number_lenght' => 5,
                ]
            ]);
        }
        //Purchase Order Makloon
        $cek = DB::table('document_number')->where("type","POM")->count();
        if($cek == 0){
            DB::table('document_number')->insert([
                [
                    'type' => "POM",
                    'number_lenght' => 5,
                ]
            ]);
        }
        //Delivery Order Makloon
        $cek = DB::table('document_number')->where("type","DOM")->count();
        if($cek == 0){
            DB::table('document_number')->insert([
                [
                    'type' => "DOM",
                    'number_lenght' => 5,
                ]
            ]);
        }
        //Goods Receipt Makloon
        $cek = DB::table('document_number')->where("type","GRM")->count();
        if($cek == 0){
            DB::table('document_number')->insert([
                [
                    'type' => "GRM",
                    'number_lenght' => 5,
                ]
            ]);
        }
        //Purchase Invoice Makloon
        $cek = DB::table('document_number')->where("type","PIM")->count();
        if($cek == 0){
            DB::table('document_number')->insert([
                [
                    'type' => "PIM",
                    'number_lenght' => 5,
                ]
            ]);
        }
        //Correction
        $cek = DB::table('document_number')->where("type","SC")->count();
        if($cek == 0){
            DB::table('document_number')->insert([
                [
                    'type' => "SC",
                    'number_lenght' => 5,
                ]
            ]);
        }
        //Correction Sparepart
        $cek = DB::table('document_number')->where("type","SPC")->count();
        if($cek == 0){
            DB::table('document_number')->insert([
                [
                    'type' => "SPC",
                    'number_lenght' => 5,
                ]
            ]);
        }
        //General Journal RnD
        $cek = DB::table('document_number')->where("type","GJNR")->count();
        if($cek == 0){
            DB::table('document_number')->insert([
                [
                    'type' => "GJNR",
                    'number_lenght' => 5,
                ]
            ]);
        }
        //Payable Non Cash
        $cek = DB::table('document_number')->where("type","PNC")->count();
        if($cek == 0){
            DB::table('document_number')->insert([
                [
                    'type' => "PNC",
                    'number_lenght' => 5,
                ]
            ]);
        }
        //SPK
        $cek = DB::table('document_number')->where("type","SPK")->count();
        if($cek == 0){
            DB::table('document_number')->insert([
                [
                    'type' => "SPK",
                    'number_lenght' => 5,
                ]
            ]);
        }
        //Material Pickup
        $cek = DB::table('document_number')->where("type","MP")->count();
        if($cek == 0){
            DB::table('document_number')->insert([
                [
                    'type' => "MP",
                    'number_lenght' => 5,
                ]
            ]);
        }
        //Material Return
        $cek = DB::table('document_number')->where("type","MR")->count();
        if($cek == 0){
            DB::table('document_number')->insert([
                [
                    'type' => "MR",
                    'number_lenght' => 5,
                ]
            ]);
        }
        //Penyerahan Hasil Produksi
        $cek = DB::table('document_number')->where("type","POD")->count();
        if($cek == 0){
            DB::table('document_number')->insert([
                [
                    'type' => "POD",
                    'number_lenght' => 5,
                ]
            ]);
        }
    }
}
