CasperSecurity

Current Path : /var/www/orientalss.com/app/Http/Livewire/Tendermanagement/
Upload File :
Current File : /var/www/orientalss.com/app/Http/Livewire/Tendermanagement/ManageTenderActivityLivewire.php

<?php

namespace App\Http\Livewire\Tendermanagement;

use Livewire\Component;
use App\Models\CreateTender;
use App\Models\AssignTenderActivity;
use App\Models\TenderActivity;
use App\Models\AssignTenderActivityUserAction;
use App\Models\TenderEstimationTable;
use Illuminate\Support\Facades\Auth;
use Carbon\Carbon;
use Livewire\WithFileUploads;
class ManageTenderActivityLivewire extends Component
{
    use WithFileUploads;
    public $act_status;
    public $showmodal=false;
    public $docmodal=false;
    public $assign_id,$user_action_taken,$action_document,$action_taken_for,$created_by,$modified_by,$status,$tender_status;
    public $assign_activity_status=[];
    public $action_id;
    public $modelid;
    public $docreq=false;
    public $modal_status;
    public $tender_modal=false;
    public $estimation_section=false;
    public $estimation_btn=false;
    public $assign_acttivity_name;
    public $item_name,$category,$rate,$amount,$remarks,$unit,$quantity;
    public $total_amount=0;


    // public function updatedActStatus($value){
    //     dd($value);
    // }

    public $rules=[
        'assign_id'=>'required',
        'user_action_taken'=>'required',
       // 'action_taken_for'=>'required',
        /*'documement_path'=>'required|max:255'*/
    ];

    public $updatedrules=[
        'assign_id'=>'required',
        'user_action_taken'=>'required',
        //'action_taken_for'=>'required',
    ];

    public $messages=[
        'assign_id.required'=>'This field is required',
        'user_action_taken.required'=>'This field is required',
       // 'user_action_taken.max'=>'This field allows maximum 255 character',
       // 'action_taken_for.required'=>'This field is required',
    ];

    public function actionclick($id,$status){

        //dd($id);clean

        //dd($status);
        $this->cleanVar();
        $this->modal_status=$status;
        $this->action_id=$id;
       // dd($this->action_id);
        $this->assign_id= $this->action_id;
       // dd()
       // $this->dispatchBrowserEvent('livewire:load');
        $this->showmodal=true;

        $activitydet=AssignTenderActivity::with('getTenderActivity')->where('id',$id)->first();
        // if( $activitydet)
        $act_det=TenderActivity::where('id',$activitydet->tender_activity_id)->first();

        if($act_det->estimstion_flag==1){
            $this->estimation_btn=true;
        }

        if($activitydet){
            $this->assign_acttivity_name=$activitydet->getTenderActivity->activity_name;
            $this->action_taken_for=$status;
        }
    }

    public function closemodalclick(){
        $this->showmodal=false;
    }


    protected $listeners = ['delete'];


    public function updateclick($id){
        $this->modelid=$id;
        $this->assign_id= $this->modelid;
        // $this->resetValidation();
        $this->showmodal=true;
        $this->loadData($id);


    }

    public function loadData($id){
        $data=TenderDocument::find($id);
        if($data){
            $this->assign_id=$data->assign_id;
            $this->user_action_taken=$data->documement_path;
            $this->action_taken_for=$data->action_taken_for;

            $this->status=$data->status;
        }

        //dd($this->lat);
    }


    public function updatingSearch()
    {
        $this->resetPage();
    }

    public function updateStatus($activityId,$status,$key)
    {

        $res=AssignTenderActivityUserAction::where('assign_id',$activityId)->get();
        $activitydet=AssignTenderActivity::with('getTenderActivity')->where('id',$activityId)->first();
        $prev=AssignTenderActivity::where('activity_sl_no',$activitydet->activity_sl_no-1)->where('deleted_at',null)->where('tender_id',session('manage_tender_id'))->first();
          // dd($activitydet->activity_start_date);

          $current_day= (Carbon::now()->format('Y-m-d H:i:s'));
         // dd(Carbon::parse($current_day)>= Carbon::parse($activitydet->activity_start_date));
        if(Carbon::parse($current_day)>= Carbon::parse($activitydet->activity_start_date)){

            if($activitydet->activity_sl_no==1){
                if($status==4){
                    $this->actionclick($activityId,$activitydet->activity_status);
                    $this->action_taken_for=4;

               }elseif($status==0){


                    $this->actionclick($activityId,$activitydet->activity_status);
                    $this->action_taken_for=0;

               }
               else{

                $activity = AssignTenderActivity::find($activityId);
                $activity->activity_status = $status;
                $activity->save();
              }
            }
            else{

                if($prev->activity_status==4 || $prev->activity_status==0){

                    if($status==4){
                        $this->actionclick($activityId,$activitydet->activity_status);
                        $this->action_taken_for=4;

                   }elseif($status==0){


                        $this->actionclick($activityId,$activitydet->activity_status);
                        $this->action_taken_for=0;

                   }
                   else{

                    $activity = AssignTenderActivity::find($activityId);
                    $activity->activity_status = $status;
                    $activity->save();
                  }
                }
                else{

                   $this->assign_activity_status[$key]=1;

                    $this->dispatchBrowserEvent('showsuccessmsg',[
                        'type'=>'error',
                        'message'=>'Action on previous activity is pending'
                    ]);
                }
            }

        }
        else{
            //dd(2);
            $activitydet=AssignTenderActivity::with('getTenderActivity')->where('id',$activityId)->first();
            $this->assign_activity_status[$key]=$activitydet->activity_status;

                $this->dispatchBrowserEvent('showsuccessmsg',[
                    'type'=>'error',
                    'message'=>'Wait till the activity assigned date'
                ]);
        }


    }


    // public function updateAction(){

    // }

    public function estimation(){
        $this->estimation_section=true;
        $this->estimation_btn=false;
    }
    public function closeestimate(){
        $this->estimation_section=false;
        $this->estimation_btn=true;
    }



    public function updateTenderStatus($tn_id,$tn_status){
        $this->tender_modal==true;
        $ted_Det=CreateTender::where('id',$tn_id)->first();
        if($ted_Det->tender_status>6){
            $this->dispatchBrowserEvent('showsuccessmsg',[
                'type'=>'error',
                'message'=>'This could not be modified further after awarded or lost'
            ]);
        }
        else{
        if($tn_status==6){
            $tn_up_det=AssignTenderActivity::where('tender_id',$tn_id)->whereIn('activity_status', [1, 2, 3])
            ->get();

            if(sizeof($tn_up_det)>0){

                $this->dispatchBrowserEvent('showsuccessmsg',[
                    'type'=>'error',
                    'message'=>'Sorry !!! Activities are in Progress.It need to be completed'
                ]);
                $this->tender_status=null;
            }
            else{
                $res=CreateTender::where('id',$tn_id)->first();
                if($res){
                    $res->update([
                        'tender_status'=>$tn_status
                    ]);
                    $this->dispatchBrowserEvent('showsuccessmsg',[
                        'type'=>'success',
                        'message'=>'Tender status updated'
                    ]);
                    $this->tender_status=null;
                }
            }
        }
        elseif($tn_status==7){
            $tn_up_det=AssignTenderActivity::where('tender_id',$tn_id)->whereIn('activity_status', [1, 2, 3, 0])
            ->get();

            if(sizeof($tn_up_det)>0){

                $this->dispatchBrowserEvent('showsuccessmsg',[
                    'type'=>'error',
                    'message'=>'Sorry !!! All activities needed to be Completed'
                ]);
                $this->tender_status=null;
            }
            else{
                $res=CreateTender::where('id',$tn_id)->first();
                if($res){
                    $res->update([
                        'tender_status'=>$tn_status
                    ]);
                    $this->dispatchBrowserEvent('showsuccessmsg',[
                        'type'=>'success',
                        'message'=>'Sorry !!! Tender status updated'
                    ]);
                }
                $this->tender_status=null;
            }

        }
        else{
            $res=CreateTender::where('id',$tn_id)->first();
            if($res){
                $res->update([
                    'tender_status'=>$tn_status
                ]);
                $this->dispatchBrowserEvent('showsuccessmsg',[
                    'type'=>'success',
                    'message'=>'Tender status updated'
                ]);
            }
        }
    }

    }


    public function showdocclick($id){
         $this->docmodal=true;
         Storage::url(requiredDocument);
    }

    public function cleanVar(){
        $this->modelid=null;
        $this->user_action_taken=null;
        $this->action_taken_for=null;
        $this->action_document=null;
        $this->status=null;
       // $this->showmodal=false;
    }

    public function modelData(){
        //dd($this->action_taken_for);
        if ($this->action_document && $this->action_document instanceof \Illuminate\Http\UploadedFile) {
            $this->action_document = $this->action_document->store('requiredDocument');
        }


         if($this->action_id){
            $assign=AssignTenderActivity::where('id',$this->action_id)->first();
            $activity_Det=TenderActivity::where('id',$assign->tender_activity_id)->first();
            if( $activity_Det->completion_doc_flag==1){
             $this->docreq=true;
            }
            $data=[
                'assign_id'=>$this->action_id,
                'user_action_taken'=>$this->user_action_taken,
                'action_taken_for'=>$this->action_taken_for,
                'action_document'=>$this->action_document,
                'created_by'=>Auth::user()->id,
                'status'=>'1'
            ];
         }
         if($this->modelid){
            $data=[

                'assign_id'=>$this->assign_id,
                'user_action_taken'=>$this->user_action_taken,
                'action_taken_for'=>$this->action_taken_for,
                'action_document'=>$this->action_document,
                'created_by'=>Auth::user()->id,
                'status'=>$this->status
            ];
         }

        return $data;
    }

    public $estimation_rules=[
        'assign_id'=>'required',
        'item_name'=>'required',
        'amount'=>'required'

    ];

    public $estimation_messages=[
        'assign_id.required'=>'This field is required',
        'item_name.required'=>'This field is required',
        'amount.required'=>'This field is required',
    ];

    public function updatedQuantity($value){
        if($this->rate){
            $this->amount=$this->rate*$value;
        }
    }

    public function updatedRate($value){
        if($this->quantity){
            $this->amount=$this->quantity*$value;
        }
    }

    public function updatedAmount($value){
     if(!$this->rate && !$this->quantity){
        $this->rate=$value;
        $this->quantity=1;
     }

     elseif($this->rate && $this->quantity){
        $this->amount=$this->rate*$this->quantity;
     }


 }

    public function estimationModelData(){
        if($this->action_id){
            $data=[
                'assign_id'=>$this->action_id,
                'item_name'=>$this->item_name,
                'category'=>$this->category,
                'unit'=>$this->unit,
                'quantity'=>$this->quantity,
                'rate'=>$this->rate,
                'amount'=>$this->amount,
                'remarks'=>$this->remarks,
                'created_by'=>Auth::user()->id,
            ];
        }
        return $data;
    }

    public function cleanEstimation(){
        $this->item_name=null;
        $this->category=null;
        $this->quantity=null;
        $this->rate=null;
        $this->amount=null;
        $this->remarks=null;
        $this->unit=null;
    }

    public function addEstimation(){
            if($this->estimationModelData()){
                $this->validate($this->estimation_rules,$this->estimation_messages);

                $response=TenderEstimationTable::create($this->estimationModelData());
                if($response){
                    $this->cleanEstimation();

                    $this->dispatchBrowserEvent('showsuccessmsg',[
                        'type'=>'success',
                        'message'=>'The Estimation has been saved successfully'
                    ]);
                }

            }
    }

    public function deleteestclick($id){
        $response=TenderEstimationTable::find($id);
        if($response){
            $response->delete();
            $this->dispatchBrowserEvent('showsuccessmsg',[
                'type'=>'success',
                'message'=>'The Estimation has been removed successfully'
            ]);
        }
    }

    public function save(){
      // dd($this->modelData());
        if($this->modelid){
            //dd('1');
            $this->validate($this->updatedrules,$this->messages);
            $response=AssignTenderActivityUserAction::where('id',$this->modelid)->latest()->first();
            $response->update($this->modelData());

            if($response){
                $this->cleanVar();
                //$this->dispatchBrowserEvent('closeOffCanvas');
                //emotify('success', 'The Department data has been saved successfully');
                $this->dispatchBrowserEvent('showsuccessmsg',[
                    'type'=>'success',
                    'message'=>'The Document has been updated successfully'
                ]);
            }

        }
        elseif($this->action_id){

            $this->validate($this->rules,$this->messages);
            //dd($this->modelData());
            $response=AssignTenderActivityUserAction::create($this->modelData());

            if($response){
                if($response->action_taken_for==0){
                    $res=AssignTenderActivity::where('id',$response->assign_id)->first();
                    $res->update([
                        "activity_status"=>0
                    ]);
                }
                elseif($response->action_taken_for==4){
                    $res=AssignTenderActivity::where('id',$response->assign_id)->first();
                    $res->update([
                        "activity_status"=>4
                    ]);
                }
                $this->user_action_taken=null;
                $this->action_taken_for=3;
                $this->action_document=null;
               // $this->cleanVar();
                //$this->dispatchBrowserEvent('closeOffCanvas');
                //emotify('success', 'The Department data has been saved successfully');
                $this->dispatchBrowserEvent('showsuccessmsg',[
                    'type'=>'success',
                    'message'=>'The Document has been saved successfully'
                ]);
            }
        }


        // $this->status=true;
        // $response=TenderDocument::where('document_name',$this->document_name)->latest()->first();
        // if($response){
        //     $this->dispatchBrowserEvent('showsuccessmsg',[
        //         'type'=>'error',
        //         'message'=>'Sorry !!! Document name has already exists in our database. Please Try Another Name'
        //     ]);
        // }else{
        //     $response=TenderDocument::create($this->modelData());
        //     if($response){
        //         $this->cleanVar();
        //         $this->dispatchBrowserEvent('closeOffCanvas');
        //         //emotify('success', 'The Department data has been saved successfully');
        //         $this->dispatchBrowserEvent('showsuccessmsg',[
        //             'type'=>'success',
        //             'message'=>'The Document has been saved successfully'
        //         ]);
        //     }
        // }

        //Str::kebab($this->dept_name)
    }

    public function update()
    {
        $this->validate($this->updatedrules,$this->messages);
        $response=TenderDocument::find($this->modelid);
        if($response){
            $response->update($this->modelData());
            if($response){
                $this->cleanVar();
                $this->dispatchBrowserEvent('closeOffCanvas');
                //emotify('success', 'The Department data has been saved successfully');
                $this->dispatchBrowserEvent('showsuccessmsg',[
                    'type'=>'success',
                    'message'=>'The Document has been updated successfully'
                ]);
            }
            else{
                $this->dispatchBrowserEvent('showsuccessmsg',[
                    'type'=>'error',
                    'message'=>'Sorry !!! Document name has already exists in our database. Please Try Another Name'
                ]);
            }
        }


    }
    public function delete(){
        $response=TenderDocument::find($this->modelid);
        if($response){
            $response->delete();
            $this->cleanVar();
            $this->dispatchBrowserEvent('showsuccessmsg',[
                'type'=>'success',
                'message'=>'The Document has been deleted successfully'
            ]);
        }
    }
    // public function read(){
    //     $tender_document=TenderDocument::search($this->search)->orderBy($this->orderBy, $this->orderAsc ? 'asc' : 'desc')->paginate($this->perPage);
    //     return $tender_document;
    // }



    // public function read(){
    //     $response=CreateTender::with('tenderActivites')->where('id',session('manage_tender_id'))->first();
    //     return $response;
    // }



    public function render()
    {

    //    // $tender_details=$this->read();
    //    if($this->action_id){


    //     //dd($action_taken);
    //    }
    $action_taken=[];
    $estimationdet=[];



       $tender_info=CreateTender::where('id',session('manage_tender_id'))->first();
      // dd($tender_info);
       $yet_to_start=AssignTenderActivity::where('tender_id',session('manage_tender_id'))->where('activity_status',1)->where('deleted_at', null)->get();
       //dd($yet_to_start);
       $started=AssignTenderActivity::where('tender_id',session('manage_tender_id'))->where('activity_status',2)->where('deleted_at', null)->get();
       $in_progress=AssignTenderActivity::where('tender_id',session('manage_tender_id'))->where('activity_status',3)->where('deleted_at', null)->get();
       $completed=AssignTenderActivity::where('tender_id',session('manage_tender_id'))->where('activity_status',4)->where('deleted_at', null)->get();
       $canceled=AssignTenderActivity::where('tender_id',session('manage_tender_id'))->where('activity_status',0)->where('deleted_at', null)->get();
 //dd($in_progress);
      if($this->action_id){

        $action_taken=AssignTenderActivityUserAction::where('assign_id',$this->action_id)->get();
        $estimationdet=TenderEstimationTable::where('assign_id',$this->action_id)->get();
       // $this->total_amount=0;
        foreach($estimationdet as $est){
            $this->total_amount+=$est->amount;
        }
          //dd( $action_taken);
      }



      return view('livewire.tendermanagement.manage-tender-activity-livewire',compact('yet_to_start','started','in_progress','completed','canceled','action_taken','tender_info','estimationdet'));
    }
}
Hacker Blog, Shell İndir, Sql İnjection, XSS Attacks, LFI Attacks, Social Hacking, Exploit Bot, Proxy Tools, Web Shell, PHP Shell, Alfa Shell İndir, Hacking Training Set, DDoS Script, Denial Of Service, Botnet, RFI Attacks, Encryption
Telegram @BIBIL_0DAY