<?php

namespace App\Http\Controllers;

use App\assessmentForLater;
use App\Covenant;
use App\issueForLater;
use App\Milestone;
use App\PostDisbursementCondition;
use App\PreDisbursementCondition;
use Illuminate\Http\Request;
use App\DataTables\AssessmentIndexDataTable;
use App\DataTables\ProjectAsistant\ProjectIssuesTable;
use App\DataTables\EvalutionDataTable;
use App\AcceptedOfferLetter;
use App\DirectionalSketch;
use App\EsrmReport;
use App\IssueFiles;
use App\FyepApplication;
use Illuminate\Support\Facades\Log;
use App\IrrevocableInstruction;
use App\OperatingPermit;
use App\RequestFacility;
use App\UpfrontPayment;
use App\UserDetails;
use App\RejectedAppMove;
use Carbon\Carbon;
use App\AdminModel;
use App\Users;
use App\DataTables\CreditAnalyst\ShowFailedAss;
use App\DataTables\ProjectAsistant\ShowFailedEval;
use App\BusRegs;
use App\OperationsModel;
use App\HistoricalFinancial;
use App\License;
use App\Pitchdeck;
use App\NewFinancialPerformance;
use App\OperatingPersonnelModel;
use App\EvaluationSheet;
use App\AssessmentSheet;
use Illuminate\Support\Facades\Validator;
use App\AssessOpportunity;
use App\AssessSecurity;
use App\AssessStrength;
use App\AssessThreat;
use App\AssessWeakness;
use App\IssuesResponse;
use App\AppReview;
use Illuminate\Support\Str;
use Mail;
use Illuminate\Support\Facades\DB;
use App\Mail\RejectedApplicationMail;
use App\Mail\FyeiInterviewNotification;
use App\Mail\FyeiInterviewAdminNotification;
use App\Mail\EvaluationCompletedNotificationMail;
use App\Mail\RejectApplicationMail;
use App\Mail\ApprovedApplicationMail;

use App\Mail\IssuesResponseNotitication;
use App\Mail\AssessmentIssuesMail;
use App\Mail\QualifiedApplicationMail;
use Illuminate\Support\Facades\Session;
use Illuminate\Support\Facades\Notification;
use App\Notifications\SendEmailNotification;
use Illuminate\Support\Facades\File;
use ZipArchive;

class EvaluationController extends Controller
{
    public function index(EvalutionDataTable $dt)
    {
        auth()->guard('adminguard')->user()->logAdmin("View Evaluation Table", 'View Evaluation Table', 'Viewing all Evaluation datatable');
        // return 'hello';
        return $dt->render('admin.evaluation.index');
    }

    public function viewprecondition($id)
    {
        $user = UserDetails::where('id', $id)->first();
        $accept = AcceptedOfferLetter::where('user_id', $id)->get();
        $sketch = DirectionalSketch::where('user_id', $id)->get();
        $esrm = EsrmReport::where('user_id', $id)->get();
        $fyapp = FyepApplication::where('user_id', $id)->get();
        $irr = IrrevocableInstruction::where('user_id', $id)->get();
        $oppermit = OperatingPermit::where('user_id', $id)->get();
        $reqfac = RequestFacility::where('user_id', $id)->get();
        $uppay = UpfrontPayment::where('user_id', $id)->get();
        $busregs = BusRegs::where('user_id', $id)->get();

        $data = [
            'user' => $user,
            'accept' => $accept,
            'sketch' => $sketch,
            'esrm' => $esrm,
            'fyapp' => $fyapp,
            'irr' => $irr,
            'oppermit' => $oppermit,
            'reqfac' => $reqfac,
            'uppay' => $uppay,
            'busregs' => $busregs,

        ];


        return view('admin.evaluation.viewprecon', $data);
    }

    public function evaluate($id)
    {
        $adminrole = Session::get('adminrole');
        $checkeva = EvaluationSheet::where('user_id', $id)->first();
        $checkassess = AssessmentSheet::where('user_id', $id)->first();
        $checkissue = IssuesResponse::where('user_id', $id)->where('status', '<>', 'Resolved')->first();


        // return $checkissue
        // $user->update([
        // 'application_status'=>'Under Assessment'
        // ]);
        if ($checkeva == null || $checkeva !== null) {

            if ($adminrole == 1 || $adminrole == 2) {
                $user = Users::where('user_id', $id)->first();

                if ($user->application_status == "Under Assessment") {
                    return back()->with('error', 'Sorry, Cannot Evalute Applicant now. Applicant Assessment by Credit Analyst In Progress.');
                }

                if ($user->projectanalyst_id == null || $user->projectanalyst_id == auth()->guard('adminguard')->user()->id || $adminrole == 1) {

                    $oppe = OperationsModel::where('user_id', $id)->first();
                    $industrytype = DB::table('business_types')->where('id', $user->business_type)->first();
                    $data = [
                        'eva' => $checkeva,
                        'user' => $user,
                        'oppe' => $oppe,
                        'industrytype' => $industrytype->name,
                    ];
                    // return $data;
                    $user_details = UserDetails::query()->where('id', $id)->first();
                    $userstat = Users::where('user_id', $id)->first();

                    $changestatus = Users::where('user_id', $id)->update([
                        'application_status' => 'Under Review',
                        'is_disqualified' => 2,
                        'projectanalyst_id' => auth()->guard('adminguard')->user()->id,
                    ]);
                    auth()->guard('adminguard')->user()->logAdmin("Start Evaluation", "Start Evaluation", "Started Evaluation for Client: " . $user_details->name, $user_details->id);

                    return view('admin.evaluation.evaluate', $data);
                }
            } else {
                if ($adminrole == 1 || $adminrole == 3) {
                    // return $checkissue
                    $user = Users::where('user_id', $id)->first();
                    $user->update([
                        'application_status' => 'Under Assessment'
                    ]);
                    return redirect()->route('admin.evaluate.assessmentsheet', $id)->with('success', 'Applicant Evaluation Already Saved!');
                }
                // return back()->with('error','Sorry, Cannot Assess Applicant now. Applicant Evaluation by Project Analyst not complete.');
            }
        } elseif ($checkissue !== null) {
            // return 'one';
            return redirect()->route('admin.evaluate.assessmentsheet', $id)->with('success', 'Applicant Issues & Responses Already Saved!');
        } else {
            if ($adminrole == 1 || $adminrole == 3) {

                return redirect()->route('admin.evaluate.assessmentsheet', $id)->with('success', 'Applicant Evaluation Already Saved!');
            }
        }
    }


    public function runQueryFunctions()
    {
        return [
            'business_model_canvas_1' => 'required|numeric|min:1|max:5',
            'business_model_canvas_1_comment' => 'required',
            'business_concept_1' => 'required|numeric|min:1|max:5',
            'business_concept_1_comment' => 'required',
            'business_concept_2' => 'required|numeric|min:1|max:5',
            'business_concept_2_comment' => 'required',
            'business_concept_3' => 'required|numeric|min:1|max:5',
            'business_concept_3_comment' => 'required',
            'man_team_1' => 'required|numeric|min:1|max:5',
            'man_team_1_comment' => 'required',
            'man_team_2' => 'required|numeric|min:1|max:5',
            'man_team_2_comment' => 'required',
            'industry_analysis_1' => 'required|numeric|min:1|max:5',
            'industry_analysis_1_comment' => 'required',
            'industry_analysis_2' => 'required|numeric|min:1|max:5',
            'industry_analysis_2_comment' => 'required',
            'production_man_1' => 'required|numeric|min:1|max:5',
            'production_man_1_comment' => 'required',
            'production_man_2' => 'required|numeric|min:1|max:5',
            'production_man_2_comment' => 'required',
            'distribution_analysis_1' => 'required|numeric|min:1|max:5',
            'distribution_analysis_1_comment' => 'required',
            'distribution_analysis_2' => 'required|numeric|min:1|max:5',
            'distribution_analysis_2_comment' => 'required',
            'supplier_analysis_1' => 'required|numeric|min:1|max:5',
            'supplier_analysis_1_comment' => 'required',
            'supplier_analysis_2' => 'required|numeric|min:1|max:5',
            'supplier_analysis_2_comment' => 'required',
            'supplier_analysis_3' => 'required|numeric|min:1|max:5',
            'supplier_analysis_3_comment' => 'required',
            'offtaker_analysis_1' => 'required|numeric|min:1|max:5',
            'offtaker_analysis_1_comment' => 'required',
            'service_analysis_1' => 'required|numeric|min:1|max:5',
            'service_analysis_1_comment' => 'required',
            'market_strategy_1' => 'required|numeric|min:1|max:5',
            'market_strategy_1_comment' => 'required',
            'market_strategy_2' => 'required|numeric|min:1|max:5',
            'market_strategy_2_comment' => 'required',
            'market_strategy_3' => 'required|numeric|min:1|max:5',
            'market_strategy_3_comment' => 'required',
            'social_impact_1' => 'required|numeric|min:1|max:5',
            'social_impact_1_comment' => 'required',
            'social_impact_2' => 'required|numeric|min:1|max:5',
            'social_impact_2_comment' => 'required',
            'investment_analysis_1' => 'required|numeric|min:1|max:5',
            'investment_analysis_1_comment' => 'required',
            'investment_analysis_2' => 'required|numeric|min:1|max:5',
            'investment_analysis_2_comment' => 'required',
            'investment_analysis_3' => 'required|numeric|min:1|max:5',
            'investment_analysis_3_comment' => 'required',
            'investment_analysis_4' => 'required|numeric|min:1|max:5',
            'investment_analysis_4_comment' => 'required',
            'investment_analysis_5' => 'required|numeric|min:1|max:5',
            'collateral_1' => 'required|numeric|min:1|max:5',
            'collateral_1_comment' => 'required',
            'collateral_2' => 'required|numeric|min:1|max:5',
            'collateral_2_comment' => 'required',
            'risk_mitigation_1' => 'required|numeric|min:1|max:5',
            'risk_mitigation_1_comment' => 'required',
        ];
    }



    public function runValidationMsg()
    {
        return  [
            'business_model_canvas_1.required' => 'business_model_canvas_1 is required',
            'business_model_canvas_1_comment.required' => 'business_model_canvas_1_comment is required',
            'business_concept_1.required' => 'business_concept_1 is required',
            'business_concept_1_comment.required' => 'business_concept_1_comment is required',
            'business_concept_2.required' => 'rbusiness_concept_2 is equired',
            'business_concept_2_comment.required' => 'business_concept_2_comment is required',
            'business_concept_3.required' => 'business_concept_3 is required',
            'business_concept_3_comment.required' => 'business_concept_3_comment is required',
            'man_team_1.required' => 'man_team_1 is required',
            'man_team_1_comment.required' => 'rman_team_1_comment is equired',
            'man_team_2.required' => 'man_team_2 is required',
            'man_team_2_comment.required' => 'man_team_2_comment is required',
            'industry_analysis_1.required' => 'industry_analysis_1 is required',
            'industry_analysis_1_comment.required' => 'industry_analysis_1_comment is required',
            'industry_analysis_2.required' => 'industry_analysis_2 is required',
            'industry_analysis_2_comment.required' => 'rindustry_analysis_2_comment is equired',
            'production_man_1.required' => 'production_man_1 is required',
            'production_man_1_comment.required' => 'production_man_1_comment is required',
            'production_man_2.required' => 'production_man_2 is required',
            'production_man_2_comment.required' => 'production_man_2_comment is required',
            'distribution_analysis_1.required' => 'distribution_analysis_1 is required',
            'distribution_analysis_1_comment.required' => 'distribution_analysis_1_comment is required',
            'distribution_analysis_2.required' => 'distribution_analysis_2 is required',
            'distribution_analysis_2_comment.required' => 'distribution_analysis_2_comment is required',
            'supplier_analysis_1.required' => 'supplier_analysis_1 is required',
            'supplier_analysis_1_comment.required' => 'supplier_analysis_1_comment is required',
            'supplier_analysis_2.required' => 'supplier_analysis_2 is required',
            'supplier_analysis_2_comment.required' => 'supplier_analysis_2_comment is required',
            'supplier_analysis_3.required' => 'supplier_analysis_3 is required',
            'supplier_analysis_3_comment.required' => 'supplier_analysis_3_comment is required',
            'offtaker_analysis_1.required' => 'offtaker_analysis_1 is required',
            'offtaker_analysis_1_comment.required' => 'offtaker_analysis_1_comment is required',
            'service_analysis_1.required' => 'service_analysis_1 is required',
            'service_analysis_1_comment.required' => 'service_analysis_1_comment is required',
            'market_strategy_1.required' => 'market_strategy_1 is required',
            'market_strategy_1_comment.required' => 'market_strategy_1_comment is required',
            'market_strategy_2.required' => 'market_strategy_2 is required',
            'market_strategy_2_comment.required' => 'market_strategy_2_comment is equired',
            'market_strategy_3.required' => 'market_strategy_3 is required',
            'market_strategy_3_comment.required' => 'market_strategy_3_comment is required',
            'social_impact_1.required' => 'social_impact_1 is required',
            'social_impact_1_comment.required' => 'social_impact_1_comment is required',
            'social_impact_2.required' => 'social_impact_2 is required',
            'social_impact_2_comment.required' => 'social_impact_2_comment is required',
            'investment_analysis_1.required' => 'investment_analysis_1 is required',
            'investment_analysis_1_comment.required' => 'rinvestment_analysis_1_comment is equired',
            'investment_analysis_2.required' => 'investment_analysis_2 is required',
            'investment_analysis_2_comment.required' => 'investment_analysis_2_comment is required',
            'investment_analysis_3.required' => 'investment_analysis_3 is required',
            'investment_analysis_3_comment.required' => 'investment_analysis_3_comment is required',
            'investment_analysis_4.required' => 'rinvestment_analysis_4 is equired',
            'investment_analysis_4_comment.required' => 'investment_analysis_4_comment is required',
            'investment_analysis_5.required' => 'investment_analysis_5 is required',
            'investment_analysis_5_comment.required' => 'investment_analysis_5_comment is required',
            'collateral_1.required' => 'collateral_1 is required',
            'collateral_1_comment.required' => 'collateral_1_comment is required',
            'collateral_2.required' => 'collateral_2 is required',
            'collateral_2_comment.required' => 'collateral_2_comment is required',
            'risk_mitigation_1.required' => 'risk_mitigation_1 is required',
            'risk_mitigation_1_comment.required' => 'risk_mitigation_1_comment is required',
        ];
    }


    public function evaluatestore(Request $r)
    {
        // return 'evaluatestore';
        Log::info('Admin with id:' . Session::get('adminid') . ' just submited an evaluation of application with id: ' . $r->user_id . ' ' . json_encode($r->all(), true));
        $checkeva = UserDetails::where('id', $r->user_id)->first();

        if ($checkeva == null) {
            return back()->with('error', 'User Application already rejected');
        }

        $validate = Validator::make($r->all(), $this->runQueryFunctions(), $this->runValidationMsg());

        if ($validate->fails()) {
            alert()->info($validate->errors()->first())->persistent("Close");
            // return $validate->errors()->first();
            return back()->withInput();
        }
        // return 'lol';
        $userid = $r->user_id;
        $business_model_canvas_1 = $r->business_model_canvas_1;
        $business_model_canvas_1_comment = $r->business_model_canvas_1_comment;
        $business_concept_1 = $r->business_concept_1;
        $business_concept_1_comment = $r->business_concept_1_comment;
        $business_concept_2 = $r->business_concept_2;
        $business_concept_2_comment = $r->business_concept_2_comment;
        $business_concept_3 = $r->business_concept_3;
        $business_concept_3_comment = $r->business_concept_3_comment;
        $man_team_1 = $r->man_team_1;
        $man_team_1_comment = $r->man_team_1_comment;
        $man_team_2 = $r->man_team_2;
        $man_team_2_comment = $r->man_team_2_comment;
        $industry_analysis_1 = $r->industry_analysis_1;
        $industry_analysis_1_comment = $r->industry_analysis_1_comment;
        $industry_analysis_2 = $r->industry_analysis_2;
        $industry_analysis_2_comment = $r->industry_analysis_2_comment;
        $production_man_1 = $r->production_man_1;
        $production_man_1_comment = $r->production_man_1_comment;
        $production_man_2 = $r->production_man_2;
        $production_man_2_comment = $r->production_man_2_comment;
        $distribution_analysis_1 = $r->distribution_analysis_1;
        $distribution_analysis_1_comment = $r->distribution_analysis_1_comment;
        $distribution_analysis_2 = $r->distribution_analysis_2;
        $distribution_analysis_2_comment = $r->distribution_analysis_2_comment;
        $supplier_analysis_1 = $r->supplier_analysis_1;
        $supplier_analysis_1_comment = $r->supplier_analysis_1_comment;
        $supplier_analysis_2 = $r->supplier_analysis_2;
        $supplier_analysis_2_comment = $r->supplier_analysis_2_comment;
        $supplier_analysis_3 = $r->supplier_analysis_3;
        $supplier_analysis_3_comment = $r->supplier_analysis_3_comment;
        $offtaker_analysis_1 = $r->offtaker_analysis_1;
        $offtaker_analysis_1_comment = $r->offtaker_analysis_1_comment;
        $service_analysis_1 = $r->service_analysis_1;
        $service_analysis_1_comment = $r->service_analysis_1_comment;
        $market_strategy_1 = $r->market_strategy_1;
        $market_strategy_1_comment = $r->market_strategy_1_comment;
        $market_strategy_2 = $r->market_strategy_2;
        $market_strategy_2_comment = $r->market_strategy_2_comment;
        $market_strategy_3 = $r->market_strategy_3;
        $market_strategy_3_comment = $r->market_strategy_3_comment;
        $social_impact_1 = $r->social_impact_1;
        $social_impact_1_comment = $r->social_impact_1_comment;
        $social_impact_2 = $r->social_impact_2;
        $social_impact_2_comment = $r->social_impact_2_comment;
        $investment_analysis_1 = $r->investment_analysis_1;
        $investment_analysis_1_comment = $r->investment_analysis_1_comment;
        $investment_analysis_2 = $r->investment_analysis_2;
        $investment_analysis_2_comment = $r->investment_analysis_2_comment;
        $investment_analysis_3 = $r->investment_analysis_3;
        $investment_analysis_3_comment = $r->investment_analysis_3_comment;
        $investment_analysis_4 = $r->investment_analysis_4;
        $investment_analysis_4_comment = $r->investment_analysis_4_comment;
        $investment_analysis_5 = $r->investment_analysis_5;
        $investment_analysis_5_comment = $r->investment_analysis_5_comment;
        $collateral_1 = $r->collateral_1;
        $collateral_1_comment = $r->collateral_1_comment;
        $collateral_2 = $r->collateral_2;
        $collateral_2_comment = $r->collateral_2_comment;
        $risk_mitigation_1 = $r->risk_mitigation_1;
        $risk_mitigation_1_comment = $r->risk_mitigation_1_comment;

        $business_model_canvas_tt = round(($business_model_canvas_1 / 5) * 5);
        $business_concept_tt = round((($business_concept_1 + $business_concept_2 + $business_concept_3) / 15) * 15);
        $man_team_tt = round((($man_team_1 + $man_team_2) / 10) * 7);
        $industry_analysis_tt = round((($industry_analysis_1 + $industry_analysis_2) / 10) * 5);
        $production_man_tt = round((($production_man_1 + $production_man_2) / 10) * 10);
        $distribution_analysis_tt = round((($distribution_analysis_1 + $distribution_analysis_2) / 10) * 5);
        $supplier_analysis_tt = round((($supplier_analysis_1 + $supplier_analysis_2 + $supplier_analysis_3) / 15) * 5);
        $offtaker_analysis_tt = round((($offtaker_analysis_1) / 5) * 5);
        $service_analysis_tt = round((($service_analysis_1) / 5) * 5);
        $market_strategy_tt = round((($market_strategy_1 + $market_strategy_2 + $market_strategy_3) / 15) * 10);
        $social_impact_tt = round((($social_impact_1 + $social_impact_2) / 10) * 5);
        $investment_analysis_tt = round((($investment_analysis_1 + $investment_analysis_2 + $investment_analysis_3 + $investment_analysis_4 + $investment_analysis_5) / 25) * 15);
        $collateral_tt = round((($collateral_1 + $collateral_2) / 10) * 3);
        $risk_mitigation_tt = round((($risk_mitigation_1) / 5) * 5);
        $total = $business_model_canvas_tt + $business_concept_tt + $man_team_tt + $industry_analysis_tt + $production_man_tt + $distribution_analysis_tt + $supplier_analysis_tt + $offtaker_analysis_tt + $service_analysis_tt + $market_strategy_tt + $social_impact_tt + $investment_analysis_tt + $collateral_tt + $risk_mitigation_tt;

        $create_eva = EvaluationSheet::updateOrCreate(['user_id' => $userid], [
            'bus_model_canvas_1' => $business_model_canvas_1,
            'bus_model_canvas_1_comment' => $business_model_canvas_1_comment,
            'bus_model_canvas_tt' => $business_model_canvas_tt,
            'bus_concept_1' => $business_concept_1,
            'bus_concept_1_comment' => $business_concept_1_comment,
            'bus_concept_2' => $business_concept_2,
            'bus_concept_2_comment' => $business_concept_2_comment,
            'bus_concept_3' => $business_concept_3,
            'bus_concept_3_comment' => $business_concept_3_comment,
            'bus_concept_tt' => $business_concept_tt,
            'man_team_1' => $man_team_1,
            'man_team_1_comment' => $man_team_1_comment,
            'man_team_2' => $man_team_2,
            'man_team_2_comment' => $man_team_2_comment,
            'man_team_tt' => $man_team_tt,
            'industry_ana_1' => $industry_analysis_1,
            'industry_ana_1_comment' => $industry_analysis_1_comment,
            'industry_ana_2' => $industry_analysis_2,
            'industry_ana_2_comment' => $industry_analysis_2_comment,
            'industry_ana_tt' => $industry_analysis_tt,
            'production_man_1' => $production_man_1,
            'production_man_1_comment' => $production_man_1_comment,
            'production_man_2' => $production_man_2,
            'production_man_2_comment' => $production_man_2_comment,
            'production_man_tt' => $production_man_tt,
            'distribution_ana_1' => $distribution_analysis_1,
            'distribution_ana_1_comment' => $distribution_analysis_1_comment,
            'distribution_ana_2' => $distribution_analysis_2,
            'distribution_ana_2_comment' => $distribution_analysis_2_comment,
            'distribution_ana_tt' => $distribution_analysis_tt,
            'supplier_ana_1' => $supplier_analysis_1,
            'supplier_ana_1_comment' => $supplier_analysis_1_comment,
            'supplier_ana_2' => $supplier_analysis_2,
            'supplier_ana_2_comment' => $supplier_analysis_2_comment,
            'supplier_ana_3' => $supplier_analysis_3,
            'supplier_ana_3_comment' => $supplier_analysis_3_comment,
            'supplier_ana_tt' => $supplier_analysis_tt,
            'offtaker_ana_1' => $offtaker_analysis_1,
            'offtaker_ana_1_comment' => $offtaker_analysis_1_comment,
            'offtaker_ana_tt' => $offtaker_analysis_tt,
            'service_ana_1' => $service_analysis_1,
            'service_ana_1_comment' => $service_analysis_1_comment,
            'service_ana_tt' => $service_analysis_tt,
            'market_strategy_1' => $market_strategy_1,
            'market_strategy_1_comment' => $market_strategy_1_comment,
            'market_strategy_2' => $market_strategy_2,
            'market_strategy_2_comment' => $market_strategy_2_comment,
            'market_strategy_3' => $market_strategy_3,
            'market_strategy_3_comment' => $market_strategy_3_comment,
            'market_strategy_tt' => $market_strategy_tt,
            'social_impact_1' => $social_impact_1,
            'social_impact_1_comment' => $social_impact_1_comment,
            'social_impact_2' => $social_impact_2,
            'social_impact_2_comment' => $social_impact_2_comment,
            'social_impact_tt' => $social_impact_tt,
            'investment_ana_1' => $investment_analysis_1,
            'investment_ana_1_comment' => $investment_analysis_1_comment,
            'investment_ana_2' => $investment_analysis_2,
            'investment_ana_2_comment' => $investment_analysis_2_comment,
            'investment_ana_3' => $investment_analysis_3,
            'investment_ana_3_comment' => $investment_analysis_3_comment,
            'investment_ana_4' => $investment_analysis_4,
            'investment_ana_4_comment' => $investment_analysis_4_comment,
            'investment_ana_5' => $investment_analysis_5,
            'investment_ana_5_comment' => $investment_analysis_5_comment,
            'investment_ana_tt' => $investment_analysis_tt,
            'collateral_1' => $collateral_1,
            'collateral_1_comment' => $collateral_1_comment,
            'collateral_2' => $collateral_2,
            'collateral_2_comment' => $collateral_2_comment,
            'collateral_tt' => $collateral_tt,
            'risk_mitigation_1' => $risk_mitigation_1,
            'risk_mitigation_1_comment' => $risk_mitigation_1_comment,
            'risk_mitigation_tt' => $investment_analysis_tt,
            'total' => $total,

        ]);

        $user_details = UserDetails::query()->where('id', $userid)->first();

        auth()->guard('adminguard')->user()->logAdmin('End Evaluation', "End Evaluation", "Ended Evaluation for Client: " . $user_details->name, $user_details->id);


        if ($total < 45) {
            $user = UserDetails::where('id', $userid)->first();
            $data = [
                'name' => $user->name,
                'comment' => "Your grant application has been review and evaluated and unfortunately, you do not meet the criteria for which the loan can be granted to you.",
            ];
            $adminidd = Session::get('adminid');
            $rev = AppReview::create([
                'adminid' => $adminidd,
                'app_id' => $userid,
                'comment' => 'Failed Evaluation',
                'status' => 'Failed Evaluation',
            ]);
            Mail::to($user->email)->cc('partnerships&youthenterprise@myfidelitybank.net')->send(new RejectedApplicationMail($data));
            $changestatus = Users::where('user_id', $userid)->update([
                'project_stat' => 'Project Rejected',
                'application_status' => 'Rejected',
                'is_disqualified' => 3,
            ]);

            auth()->guard('adminguard')->user()->logAdmin("End Evaluation", "End Evaluation", "Client: " . $user_details->name . " failed evaluation (Total Score: " . $total . ")", $user_details->id);


            // move applicatant to rejectedtablemove
            $uu = Users::where('user_id', $userid)->first();
            $moveapp = RejectedAppMove::create([
                'userid' => $userid,
                'name' => $user_details->name,
                'position' => $user_details->position,
                'email' => $user_details->email,
                'phone' => $user_details->phone,
                'company_name' => $user_details->company_name,
                'application_status' => $user_details->application_status,
                'dob' => $user_details->dob,
                'gender' => $user_details->gender,
                'physical_address' => $uu->physical_address,
                'application_funds' => $uu->application_funds,
                'emails' => $uu->email,
                'postal_address' => $uu->postal_address,
                'digital_address' => $uu->digital_address,
                'applicant_name' => $uu->applicant_name,
                'applicant_address' => $uu->applicant_address,
                'business_phone' => $uu->business_phone,
                'primary_contact' => $uu->primary_contact,
                'primary_contact_phone' => $uu->primary_contact_phone,
                'current_bankers' => $uu->current_bankers,
                'branch' => $uu->branch,
                'business_structure' => $uu->business_structure,
                'business_structure_state' => $uu->business_structure_state,
                'business_established_date' => $uu->business_established_date,
                'tin' => $uu->tin,
                'nature_of_business' => $uu->nature_of_business,
                'business_type' => $uu->business_type,
                'business_premises' => $uu->business_premises,
                'business_premise' => $uu->business_premise,
                'outstanding_years' => $uu->outstanding_years,
                'business_commencement_date' => $uu->business_commencement_date,
                'incorporation_date' => $uu->incorporation_date,
                'full_time_employees' => $uu->full_time_employees,
                'part_time_employees' => $uu->part_time_employees,
                'audited_financials' => $uu->audited_financials,
                'has_bank_account' => $uu->has_bank_account,
                'required_licenses' => $uu->required_licenses,
                'expected_jobs' => $uu->expected_jobs,
                'expected_full_time_employees' => $uu->expected_full_time_employees,
                'expected_part_time_employees' => $uu->expected_part_time_employees,
                'proposed_facility_tenure' => $uu->proposed_facility_tenure,
                'credit_facilities' => $uu->credit_facilities,
                'credit_facilities_others' => $uu->credit_facilities_others,
                'application_stage' => $uu->application_stage,
                'is_stage_complete' => $uu->is_stage_complete,
                'is_application_complete' => $uu->is_application_complete,
                'is_disqualified' => $uu->is_disqualified,
                'credit_facilities_other_banks_others' => $uu->credit_facilities_other_banks_others,
                'credit_facilities_others_fidelity' => $uu->credit_facilities_others_fidelity,
                'comment' => $uu->comment,
                'application_statuss' => $uu->application_status,
                'project_stat' => $uu->project_stat,
                'credit_stat' => $uu->credit_stat,
                'projectanalyst_id' => $uu->projectanalyst_id,
                'creditanalyst_id' => $uu->creditanalyst_id,
                'full_time_male' => $uu->full_time_male,
                'full_time_female' => $uu->full_time_female,
                'part_time_male' => $uu->part_time_male,
                'part_time_female' => $uu->part_time_female,
                'industry_desc' => $uu->industry_desc,
                'reason' => 'Project Assistant evaluation score is ' . $total . ', thus application failed to be moved to credit analyst',
            ]);


            // delete records in users and UserDetails
            $uu->delete();
            $user->delete();

            return redirect()->route('admin.fyei.evaluation.index')->with('success', 'Evaluation & Assessment Complete');
        } else {

            $uses = Users::where('user_id', $userid)->first();
            $cred = AdminModel::where('id', $uses->creditanalyst_id)->first();

            $dd = [
                'applicant_name' => $uses->applicant_name,

            ];
            // return $dd;
            if ($cred !== null && $cred->email !== null) {
                Mail::to($cred->email)->cc('partnerships&youthenterprise@myfidelitybank.net')->send(new EvaluationCompletedNotificationMail($dd));
            }

            Mail::to('partnerships&youthenterprise@myfidelitybank.net')->send(new EvaluationCompletedNotificationMail($dd));


            $changestatus = Users::where('user_id', $userid)->update([
                'project_stat' => 'Moved to Credit Analyst'
            ]);
            $adminidd = Session::get('adminid');
            $rev = AppReview::create([
                'adminid' => $adminidd,
                'app_id' => $userid,
                'comment' => 'Moved to Credit Analyst',
                'status' => 'Moved to Credit Analyst',
            ]);
            auth()->guard('adminguard')->user()->logAdmin("Moved to Credit Analyst", "Moved to Credit Analyst", "evaluated " . $user_details->name . ". User passed evaluation (Total Score: " . $total . ") and has been moved to Credit Analyst", $user_details->id);

            // $details=[
            //
            //     'greeting' => 'Hello Team,',
            //     'body'=> $user_details->name."'s application has just been evaluated by ".auth()->guard('adminguard')->user()->name,
            //     'actiontext' => 'Go to site',
            //     'actionurl' => '/',
            //     'lastline' => 'Thank you'
            // ];
            // // Notification::route('mail', ['partnerships&youthenterprise@myfidelitybank.net'])->notify(new SendEmailNotification($details));
            // Notification::route('mail', ['sbeng@npontu.com'])->notify(new SendEmailNotification($details));

            return redirect()->route('admin.fyei.dashboard', $userid)->with('success', 'Evaluation & Assessment Complete');
            // return redirect()->route('admin.evaluate.issuessheet',$userid)->with('success','Applicant Evaluation Saved!');
        }
    }

    public function issuessheet($id)
    {
        $user = Users::where('user_id', $id)->first();
        $saved = issueForLater::where('user_id', $id)->first();
        $oppe = OperationsModel::where('user_id', $id)->first();
        $score = EvaluationSheet::where('user_id', $id)->first();
        $assess = IssuesResponse::where('user_id', $id)->get();
        $industrytype = DB::table('business_types')->where('id', $user->business_type)->first();
        $reason = AppReview::where('app_id', $id)->first();


        $userdetails = DB::table('users')->where('user_id', $id)->first();
        $cash_collaterals = DB::table('cash_collaterals')->where('user_id', $id)->get();
        $credit_facility_details = DB::table('credit_facility_details')->where('user_id', $id)->get();
        $credit_facility_other_details = DB::table('credit_facility_other_details')->where('user_id', $id)->get();
        $facility_requests = DB::table('facility_requests')->where('user_id', $id)->get();
        $key_management_personnels = DB::table('key_management_personnels')->where('user_id', $id)->get();
        $major_product_lines = DB::table('major_product_lines')->where('user_id', $id)->get();
        $non_cash_collaterals = DB::table('non_cash_collaterals')->where('user_id', $id)->get();
        $ownership_applicants = DB::table('ownership_applicants')->where('user_id', $id)->get();
        $historical_financial = DB::table('historical_financial')->where('user_id', $id)->get();

        $application_fund = $userdetails->application_funds ? $userdetails->application_funds : null;

        $financial_data = NewFinancialPerformance::query()->where('user_id', $id)->first();

        $id_cards = $financial_data == null ? null : $financial_data->getIDCards($id);

        $management_account = $financial_data == null ? null : $financial_data->getManagementAccount($id);

        $permits = $financial_data == null ? null : $financial_data->getPermits($id);

        $business_registration_documents = $financial_data == null ? null : $financial_data->getBusinessRegistrationDocuments($id);

        $bank_statements = $financial_data == null ? null : $financial_data->getBankStatements($id);

        $log_user = UserDetails::query()->where('id', $userdetails->user_id)->first();

        $data = [
            'assess' => $assess,
            'user' => $user,
            'saved' => $saved ?? null,
            'oppe' => $oppe,
            'reason' => $reason,
            'score' => $score->total,
            'eva' => $score,
            'log_user' => $log_user,
            'industrytype' => $industrytype->name,
            'userdetails' => $userdetails,
            'cash_collaterals' => $cash_collaterals,
            'credit_facility_details' => $credit_facility_details,
            'credit_facility_other_details' => $credit_facility_other_details,
            'facility_requests' => $facility_requests,
            'key_management_personnels' => $key_management_personnels,
            'major_product_lines' => $major_product_lines,
            'non_cash_collaterals' => $non_cash_collaterals,
            'ownership_applicants' => $ownership_applicants,
            'application_fund' => $application_fund,
            'financial_data' => $financial_data ?? null,
            'id_cards' => $id_cards ?? null,
            'management_account' => $management_account ?? null,
            'permits' => $permits ?? null,
            'bank_registration_documents' => $business_registration_documents ?? null,
            'bank_statements' => $bank_statements ?? null,
            'historical_financial' => $historical_financial ?? null
        ];
        return view('admin.evaluation.issuessheet', $data);
    }

    public function insertissues($id)
    {
        $assess = IssuesResponse::where('user_id', $id)->get();
        return $assess;
    }

    public function issues_store(Request $r)
    {
        // return $r;
        $userid = $r->user_id;
        $userdetails = UserDetails::where('id', $userid)->first();
        // return $userdetails->company_name;
        $user = Users::where('user_id', $userid)->first();
        $savemachineusedlist = IssuesResponse::create([
            'user_id' => $userid,
            'issues' => $r->issues,
            'status' => 'Open',
            'proj_id' => $user->projectanalyst_id,
            'credit_id' => $user->creditanalyst_id,
        ]);
        $proj = AdminModel::where('id', $user->projectanalyst_id)->first();
        $data = [
            'proj' => $proj->name,
            'email' => $userdetails->email,
            'name' => $userdetails->name,
            'phone' => $userdetails->phone,
            'company_name' => $userdetails->company_name,
            'issues' => $r->issues,
        ];




        Mail::to($proj->email)->cc('partnerships&youthenterprise@myfidelitybank.net')->send(new AssessmentIssuesMail($data));

        $user->update([
            'application_status' => "Issues Detected",
        ]);
        // $assessdata = json_decode($r->machineusedlist);
        // $getmachineused = IssuesResponse::where('user_id',$userid)->delete();
        // if ($assessdata !==null) {
        //   foreach ($assessdata as $key) {
        //     $savemachineusedlist = IssuesResponse::create([
        //       'user_id'=>$userid,
        //       'issues'=>$key->issue,
        //       'response'=>$key->response,
        //
        //     ]);
        //   }
        // }else {
        //   $rr = new IssuesResponse();
        //   $rr->user_id=$userid;
        //   $rr->save();
        // }


        $userr = AppReview::where('app_id', $userid)->first();
        // return $userr;


        // had to comment this check it out later
        //     if ($userr->status =='Qualified for Interview Stage') {
        //       // return 'yes';
        //       $int_time = $userr->interviewtime;
        //       $data = [
        //         'name'=>$userdetail->applicant_name,
        //         'comment'=>$userr->comment,
        //         'time'=>$int_time,
        //         'issues'=>$assessdata,
        //       ];
        //
        //       // $items = $r->machineusedlist;
        //       //
        //       // foreach ($items as $key) {
        //       //   return $key;
        //       // }
        //       $adminidd = Session::get('adminid');
        //
        //       Mail::to($userdetail->email)->send(new QualifiedApplicationMail($data));
        // // return 'lol';
        //     }else {
        //       // return 'no';
        //       $data = [
        //         'name'=>$userdetail->applicant_name,
        //         'comment'=>$userr->comment,
        //       ];
        //       $adminidd = Session::get('adminid');
        //
        //       Mail::to($userdetail->email)->send(new RejectApplicationMail($data));
        //
        //     }




        // $changestatus = Users::where('user_id',$userid)->update([
        //   'application_status'=> 'Completed Review',
        //   // 'is_disqualified'=>3,
        // ]);
        // $changestatuhs = UserDetails::where('id',$userid)->update([
        //   'application_status'=> 'Completed Review',
        //   // 'is_disqualified'=>3,
        // ]);
        return redirect()->route('admin.creditanalyst.dashboard')->with('success', ' Assessment Issues Sent');
        // return redirect()->route('admin.evaluate.assessmentsheet',$userid)->with('success','Applicant Issues & Responses Saved!');
    }
    public function saveIssuesForLater(Request $r)
    {
        issueForLater::updateOrCreate(
            ['user_id' => $r->user_id],
            ['issue' => $r->issues]
        );
        return 'saved';
    }

    public function assessmentsheet($id)
    {
        // per new flow, issues comes first
        // check if there are open issues, send admin to issues page else send to next page
        $checkissue = IssuesResponse::where('status', "Resolved")->where('user_id', $id)->first();
        if ($checkissue == null) {
            $user_details = UserDetails::where('id', $id)->first();
            auth()->guard('adminguard')->user()->logAdmin("Start Assessment", "Start Assessment", "Began Assessment of Applicant: " . $user_details->name ?? 'Test', $user_details->id ?? 'Name');
            return redirect()->route('admin.evaluate.issuessheet', $id)->with('success', 'Applicant Assessment Started!');
        } else {
            $checkeva = AssessmentSheet::where('user_id', $id)->first();
            if ($checkeva == null) {
                // return 'one';
                $user = Users::where('user_id', $id)->first();
                $industrytype = DB::table('business_types')->where('id', $user->business_type)->first();
                // $oppe = OperationsModel::where('user_id',$id)->first();
                //
                $score = EvaluationSheet::where('user_id', $id)->first();
                //
                $user->update([
                    'application_status' => 'Under Assessment'
                ]);
                $checkeva = assessmentForLater::where('user_id', $id)->first();
                if (is_null($checkeva)) {
                    $checkeva = (object)["decision" => null];
                }
                $data = [
                    'user' => $user,
                    // 'oppe'=>$oppe,
                    "eva" => $checkeva,
                    'score' => $score->total,
                    'industrytype' => $industrytype->name,
                ];

                $user_details = UserDetails::query()->where('id', $id)->first();

                auth()->guard('adminguard')->user()->logAdmin("Final Assessment", "Final Assessment", "Began Final Assessment of Applicant: " . $user_details->name, $user_details->id);


                return view('admin.evaluation.assessmentsheet', $data);
            } else {
                // return '2';
                $adminrole = Session::get('adminrole');
                if ($adminrole == 1 || $adminrole == 3) {
                    return redirect()->route('admin.evaluate.issuessheet', $id)->with('success', 'Applicant Evaluation Already Saved!');
                }
            }
        }
    }


    // download assessmentsheet
    // public function downloadAssessmentSheet($id)
    //     {
    //         $user = Users::where('user_id',$id)->first();
    //         $industrytype = DB::table('business_types')->where('id',$user->business_type)->first();
    //         $score = EvaluationSheet::where('user_id',$id)->first();
    //         $checkeva = assessmentForLater::where('user_id',$id)->first();
    //         $assessData =
    //         if(is_null($checkeva))
    //             {
    //                 $checkeva = (object)["decision"=> null];
    //             }
    //         $data=
    //             [
    //                 'user'=>$user,
    //                 "eva" => $checkeva,
    //                 'score'=>$score->total,
    //                 'industrytype'=>$industrytype->name
    //             ];
    //            $pdf = PDF::loadView('admin.evaluation.downloadassessment', $data);
    //             return $pdf->download();
    //     }
    //store accessmement
    public function storeassessment(Request $r)
    {

        $assessdata = json_decode($r->assessdata);
        $str_weak = json_decode($r->str_weak);
        $oppo_threat = json_decode($r->oppo_threat);
        $pre_dis_cond = json_decode($r->pre_dis_cond);
        $post_dis_cond = json_decode($r->post_dis_cond);
        $covenant = json_decode($r->covenant);
        $milestones = json_decode($r->milestones);

        session([
            'assess' => $assessdata,
            'str_weak' => $str_weak,
            'oppo_threat' => $oppo_threat,
            'pre_dis_cond' => $pre_dis_cond,
            'post_dis_cond' => $post_dis_cond,
            'covenant' => $covenant,
            'milestones' => $milestones
        ]);

        $id = $r->user_id;
        if ($r->has("download")) {
            $data =
                [
                    'user' => $r,
                    'assessdata' => $assessdata  ?? [],
                    'str_weak' => $str_weak ?? [],
                    'oppo_threat' => $oppo_threat  ?? [],
                    'pre_dis_cond' => $pre_dis_cond ?? [],
                    'post_dis_cond' => $post_dis_cond ?? [],
                    'covenant' => $covenant ?? [],
                    'milestones' => $milestones ?? [],
                ];
            $pdf = \PDF::loadView('admin.evaluation.downloadassessment', $data);
            return $pdf->download('user_' . $id . '_assessment.pdf');
        } else {

            $createassessment = AssessmentSheet::updateOrCreate(['user_id' => $id], [
                'facility_fee' => $r->facility_fee,
                'interest_rate' => $r->interest_rate,
                'credit_ref' => $r->credit_ref,
                'acc_activity' => $r->acc_activity,
                'profitability' => $r->profit,
                'liquidity' => $r->liquidity,
                'efficiency' => $r->efficiency,
                'leverage' => $r->leverage,
                'balance_sheet' => $r->balance_sheet,
                'decision' => $r->decision,
                'decision_reason' => $r->decision_reason,
            ]);
            //foreign data
            //1 assesdata
            // $getassessdata = AssessSecurity::where('user_id',$id)->delete();
            if ($assessdata !== null) {
                foreach ($assessdata as $ch) {
                    $saveassessdata = AssessSecurity::updateOrCreate([
                        'user_id' => $r->user_id,
                        'details' => $ch->details,
                        'omv' => $ch->omv,
                        'fsv' => $ch->fsv,
                    ]);
                }
            } else {
                $rr = new AssessSecurity();
                $rr->user_id = $id;
                $rr->save();
            }

            //2 str_weak
            // $getstr_weak = AssessStrength::where('user_id',$id)->delete();
            if ($str_weak !== null) {
                foreach ($str_weak as $ch) {
                    $savestr_weak = AssessStrength::updateOrCreate([
                        'user_id' => $r->user_id,
                        'strength' => $ch->strength,
                        'weakness' => $ch->weakness,
                    ]);
                }
            } else {
                $rr = new AssessStrength();
                $rr->user_id = $id;
                $rr->save();
            }
            //3 oppo_threat
            // $getoppo_threat = AssessOpportunity::where('user_id',$id)->delete();
            if ($oppo_threat !== null) {
                foreach ($oppo_threat as $ch) {
                    $saveoppo_threat = AssessOpportunity::updateOrCreate([
                        'user_id' => $r->user_id,
                        'oppo' => $ch->opportunity,
                        'threat' => $ch->threat,
                    ]);
                }
            } else {
                $rr = new AssessOpportunity();
                $rr->user_id = $id;
                $rr->save();
            }
            //4 Pre disbursement conditions
            if ($pre_dis_cond !== null) {
                foreach ($pre_dis_cond as $cond) {
                    PreDisbursementCondition::updateOrCreate([
                        "user_id" => $r->user_id,
                        "pre_dis_cond" => $cond->pre_dis_cond
                    ]);
                }
            } else {
                $new_cond = new PreDisbursementCondition();
                $new_cond->user_id = $id;
                $new_cond->save();
            }


            //5 Post disbursement conditions
            if ($post_dis_cond !== null) {
                foreach ($post_dis_cond as $cond) {
                    PostDisbursementCondition::updateOrCreate([
                        "user_id" => $r->user_id,
                        "post_dis_cond" => $cond->post_dis_cond
                    ]);
                }
            } else {
                $new_cond = new PostDisbursementCondition();
                $new_cond->user_id = $id;
                $new_cond->save();
            }

            //6 Covenant conditions
            if ($covenant !== null) {
                foreach ($covenant as $cov) {
                    Covenant::updateOrCreate([
                        "user_id" => $r->user_id,
                        "covenant" => $cov->covenant
                    ]);
                }
            } else {
                $new_cov = new Covenant();
                $new_cov->user_id = $id;
                $new_cov->save();
            }

            //7 Covenant conditions
            if ($milestones !== null) {
                foreach ($milestones as $mile) {
                    Milestone::updateOrCreate([
                        "user_id" => $r->user_id,
                        "milestone" => $mile->milestones
                    ]);
                }
            } else {
                $new_mile = new Milestone();
                $new_mile->user_id = $id;
                $new_mile->save();
            }




            ///////////////////////////////////////



            $user = Users::where('user_id', $id)->first();
            if ($r->decision == 'Approved Application') {

                // $details=[
                //
                //     'greeting' => 'Hello Team, ',
                //     'body'=> $user->name.' application has been approved by '.auth()->guard('adminguard')->user()->name,
                //     'actiontext' => 'Go to site',
                //     'actionurl' => '/',
                //     'lastline' => 'Thank you'
                // ];
                // Notification::route('mail', ['sbeng@npontu.com'])->notify(new SendEmailNotification($details));

                $adminidd = Session::get('adminid');
                // $rev = AppReview::where('app_id',$id)->update([
                //   'adminid'=>$adminidd,
                //   'comment'=>$r->decision_reason,
                //   'interviewtime'=>$r->interviewtime,
                //   'status'=>'Qualified for Interview Stage',
                // ]);

                $rr = [
                    'name' => $user->applicant_name,
                    'comment' => $r->decision_reason
                ];
                Mail::to($user->email)->cc('partnerships&youthenterprise@myfidelitybank.net')->send(new ApprovedApplicationMail($rr));
                Log::info('sending mail and cc');
                $changestatus = Users::where('user_id', $id)->update([
                    'application_status' => 'Completed Review',
                    'credit_stat' => 'Assessment Complete',
                    'is_disqualified' => 4
                ]);


                $changesntatus = UserDetails::where('id', $id)->update([
                    'application_status' => 'Completed Review',
                    // 'is_disqualified'=>3,
                ]);


                $user_details = UserDetails::query()->where('id', $id)->first();
                // $details=[
                //
                //     'greeting' => 'Hello Team,',
                //     'body'=> $user_details->name."'s application has just been assessed by ".auth()->guard('adminguard')->user()->name,,
                //     'actiontext' => 'Go to site',
                //     'actionurl' => '/',
                //     'lastline' => 'Thank you'
                // ];
                // Notification::route('mail', ['sbeng@npontu.com'])->notify(new SendEmailNotification($details));


                auth()->guard('adminguard')->user()->logAdmin("Complete Assessment", "Complete Assessment", "Completed Assessment of Applicant: " . $user_details->name . " (Loan application approved)", $user_details->id);
            } else {

                $user_details = UserDetails::query()->where('id', $id)->first();

                $adminidd = Session::get('adminid');
                // $rev = AppReview::where('app_id',$id)->update([
                //   'adminid'=>$adminidd,
                //   'comment'=>$r->decision_reason,
                //   'status'=>'Rejected application after evaluation & assessment',
                // ]);
                $data = [
                    'name' => $user_details->name,
                    // 'comment'=>$r->decision_reason
                ];
                Mail::to($user->email)->cc('partnerships&youthenterprise@myfidelitybank.net')->send(new RejectedApplicationMail($data));
                $changestatus = Users::where('user_id', $id)->update([
                    'application_status' => 'Rejected',
                    'credit_stat' => 'Credit Reject',
                    'is_disqualified' => 3,
                ]);
                $changesntatus = UserDetails::where('id', $id)->update([
                    'application_status' => 'Completed Review',
                    // 'is_disqualified'=>3,
                ]);

                auth()->guard('adminguard')->user()->logAdmin("Complete Assessment", "Complete Assessment", "Completed Assessment of Applicant: " . $user_details->name . " (Loan Application declined)", $user_details->id);
                // move applicatant to rejectedtablemove
                $uu = Users::where('user_id', $id)->first();
                $moveapp = RejectedAppMove::create([
                    'userid' => $user_details->id,
                    'name' => $user_details->name,
                    'position' => $user_details->position,
                    'email' => $user_details->email,
                    'phone' => $user_details->phone,
                    'company_name' => $user_details->company_name,
                    'application_status' => $user_details->application_status,
                    'dob' => $user_details->dob,
                    'gender' => $user_details->gender,
                    'physical_address' => $uu->physical_address,
                    'application_funds' => $uu->application_funds,
                    'emails' => $uu->email,
                    'postal_address' => $uu->postal_address,
                    'digital_address' => $uu->digital_address,
                    'applicant_name' => $uu->applicant_name,
                    'applicant_address' => $uu->applicant_address,
                    'business_phone' => $uu->business_phone,
                    'primary_contact' => $uu->primary_contact,
                    'primary_contact_phone' => $uu->primary_contact_phone,
                    'current_bankers' => $uu->current_bankers,
                    'branch' => $uu->branch,
                    'business_structure' => $uu->business_structure,
                    'business_structure_state' => $uu->business_structure_state,
                    'business_established_date' => $uu->business_established_date,
                    'tin' => $uu->tin,
                    'nature_of_business' => $uu->nature_of_business,
                    'business_type' => $uu->business_type,
                    'business_premises' => $uu->business_premises,
                    'business_premise' => $uu->business_premise,
                    'outstanding_years' => $uu->outstanding_years,
                    'business_commencement_date' => $uu->business_commencement_date,
                    'incorporation_date' => $uu->incorporation_date,
                    'full_time_employees' => $uu->full_time_employees,
                    'part_time_employees' => $uu->part_time_employees,
                    'audited_financials' => $uu->audited_financials,
                    'has_bank_account' => $uu->has_bank_account,
                    'required_licenses' => $uu->required_licenses,
                    'expected_jobs' => $uu->expected_jobs,
                    'expected_full_time_employees' => $uu->expected_full_time_employees,
                    'expected_part_time_employees' => $uu->expected_part_time_employees,
                    'proposed_facility_tenure' => $uu->proposed_facility_tenure,
                    'credit_facilities' => $uu->credit_facilities,
                    'credit_facilities_others' => $uu->credit_facilities_others,
                    'application_stage' => $uu->application_stage,
                    'is_stage_complete' => $uu->is_stage_complete,
                    'is_application_complete' => $uu->is_application_complete,
                    'is_disqualified' => $uu->is_disqualified,
                    'credit_facilities_other_banks_others' => $uu->credit_facilities_other_banks_others,
                    'credit_facilities_others_fidelity' => $uu->credit_facilities_others_fidelity,
                    'comment' => $uu->comment,
                    'application_statuss' => $uu->application_status,
                    'project_stat' => $uu->project_stat,
                    'credit_stat' => $uu->credit_stat,
                    'projectanalyst_id' => $uu->projectanalyst_id,
                    'creditanalyst_id' => $uu->creditanalyst_id,
                    'full_time_male' => $uu->full_time_male,
                    'full_time_female' => $uu->full_time_female,
                    'part_time_male' => $uu->part_time_male,
                    'part_time_female' => $uu->part_time_female,
                    'industry_desc' => $uu->industry_desc,
                    'reason' => 'Credit Analyst declined this application during final assessment',
                ]);

                // $user = UserDetails::query()->where('id', Session::get('userid'))->first();
                // delete records in users and UserDetails
                $user_details->delete();
                $uu->delete();
            }
            // return redirect()->route('admin.evaluate.issuessheet',$id)->with('success','Applicant Evaluation Saved!');


            return redirect()->route('admin.creditanalyst.dashboard')->with('success', 'Evaluation & Assessment Complete');
        }
    }

    //store assessment for later
    public function saveAssessmentForLater(Request $r)
    {
        //dd($r);
        $assessdata = json_decode($r->assessdata);
        session(['assess' => $assessdata]);
        $str_weak = json_decode($r->str_weak);
        session(['str_weak' => $str_weak]);
        $oppo_threat = json_decode($r->oppo_threat);
        session(['oppo_threat' => $oppo_threat]);
        $pre_dis_cond = json_decode($r->pre_dis_cond);
        session(['pre_dis_cond' => $pre_dis_cond]);
        $post_dis_cond = json_decode($r->post_dis_cond);
        session(['post_dis_cond' => $post_dis_cond]);
        $covenant = json_decode($r->covenant);
        session(['covenant' => $covenant]);
        $milestones = json_decode($r->milestones);
        session(['milestones' => $milestones]);

        $id = $r->user_id;
        // return $r;

        assessmentForLater::updateOrCreate(['user_id' => $id], [
            'facility_fee' => $r->facility_fee,
            'interest_rate' => $r->interest_rate,
            'credit_ref' => $r->credit_ref,
            'acc_activity' => $r->acc_activity,
            'profitability' => $r->profit,
            'liquidity' => $r->liquidity,
            'efficiency' => $r->efficiency,
            'leverage' => $r->leverage,
            'balance_sheet' => $r->balance_sheet,
            'decision' => $r->decision,
            'decision_reason' => $r->decision_reason,
        ]);
        //foreign data
        //1 assesdata
        // $getassessdata = AssessSecurity::where('user_id',$id)->delete();
        if ($assessdata !== null) {
            foreach ($assessdata as $ch) {
                $saveassessdata = AssessSecurity::updateOrCreate([
                    'user_id' => $r->user_id,
                    'details' => $ch->details,
                    'omv' => $ch->omv,
                    'fsv' => $ch->fsv,
                ]);
            }
        } else {
            $rr = new AssessSecurity();
            $rr->user_id = $id;
            $rr->save();
        }

        //2 str_weak
        // $getstr_weak = AssessStrength::where('user_id',$id)->delete();
        if ($str_weak !== null) {
            foreach ($str_weak as $ch) {
                $savestr_weak = AssessStrength::updateOrCreate([
                    'user_id' => $r->user_id,
                    'strength' => $ch->strength,
                    'weakness' => $ch->weakness,
                ]);
            }
        } else {
            $rr = new AssessStrength();
            $rr->user_id = $id;
            $rr->save();
        }
        //3 oppo_threat
        // $getoppo_threat = AssessOpportunity::where('user_id',$id)->delete();
        if ($oppo_threat !== null) {
            foreach ($oppo_threat as $ch) {
                $saveoppo_threat = AssessOpportunity::updateOrCreate([
                    'user_id' => $r->user_id,
                    'oppo' => $ch->opportunity,
                    'threat' => $ch->threat,
                ]);
            }
        } else {
            $rr = new AssessOpportunity();
            $rr->user_id = $id;
            $rr->save();
        }
        //4 Pre disbursement conditions
        if ($pre_dis_cond !== null) {
            foreach ($pre_dis_cond as $cond) {
                PreDisbursementCondition::updateOrCreate([
                    "user_id" => $r->user_id,
                    "pre_dis_cond" => $cond->pre_dis_cond
                ]);
            }
        } else {
            $new_cond = new PreDisbursementCondition();
            $new_cond->user_id = $id;
            $new_cond->save();
        }


        //5 Post disbursement conditions
        if ($post_dis_cond !== null) {
            foreach ($post_dis_cond as $cond) {
                PostDisbursementCondition::updateOrCreate([
                    "user_id" => $r->user_id,
                    "post_dis_cond" => $cond->post_dis_cond
                ]);
            }
        } else {
            $new_cond = new PostDisbursementCondition();
            $new_cond->user_id = $id;
            $new_cond->save();
        }

        //6 Covenant conditions
        if ($covenant !== null) {
            foreach ($covenant as $cov) {
                Covenant::updateOrCreate([
                    "user_id" => $r->user_id,
                    "covenant" => $cov->covenant
                ]);
            }
        } else {
            $new_cov = new Covenant();
            $new_cov->user_id = $id;
            $new_cov->save();
        }

        //7 Covenant conditions
        if ($milestones !== null) {
            foreach ($milestones as $mile) {
                Milestone::updateOrCreate([
                    "user_id" => $r->user_id,
                    "milestone" => $mile->milestones
                ]);
            }
        } else {
            $new_mile = new Milestone();
            $new_mile->user_id = $id;
            $new_mile->save();
        }
        return 'saved';
    }

    public function showdash($id)
    {
        $user = Users::where('user_id', $id)->first();
        $eva = EvaluationSheet::where('user_id', $id)->first();
        $reason = AppReview::where('app_id', $id)->first();
        $industrytype = DB::table('business_types')->where('id', $user->business_type)->first();
        $interview = DB::table('application_review')->where('app_id', $id)->latest()->first();
        $data = [
            'user' => $user,
            'eva' => $eva,
            'reason' => $reason,
            'industrytype' => $industrytype->name,
            'interview' => $interview->interviewtime ?? null,
        ];
        auth()->guard('adminguard')->user()->logAdmin("View FYEI Dashboard", "View FYEI Dashboard", "Is Viewing FYEI Dashboard of Applicant: " . $user->applicant_name, $user->user_id);
        return view('admin.evaluation.viewdash', $data);
    }

    public function printDash($id)
    {
        $user = Users::where('user_id', $id)->first();
        $eva = EvaluationSheet::where('user_id', $id)->first();
        $reason = AppReview::where('app_id', $id)->first();
        $industrytype = DB::table('business_types')->where('id', $user->business_type)->first();
        $interview = DB::table('application_review')->where('app_id', $id)->latest()->first();
        $data = [
            'user' => $user,
            'eva' => $eva,
            'reason' => $reason,
            'industrytype' => $industrytype->name,
            'interview' => $interview->interviewtime ?? null,
        ];
        auth()->guard('adminguard')->user()->logAdmin("View FYEI Dashboard", "View FYEI Dashboard", "Is Viewing FYEI Dashboard of Applicant: " . $user->applicant_name, $user->user_id);

        $dfname = 'FYEI_Evaluation_Dashboard_' . Str::slug($user->applicant_name, '_') . '_' . time() . '.pdf';


        $pdf = \PDF::loadView('admin.evaluation.print-dash', $data);

        return $pdf->download($dfname);
    }


    public function assessmentindex(AssessmentIndexDataTable $dt)
    {
        return $dt->render('admin.evaluation.assessindex');
    }



    public function showfyeidashrej($id)
    {
        $user = RejectedAppMove::where('userid', $id)->first();
        $eva = EvaluationSheet::where('user_id', $id)->first();
        $reason = AppReview::where('app_id', $id)->first();
        $industrytype = DB::table('business_types')->where('id', $user->business_type)->first();
        $data = [
            'user' => $user,
            'eva' => $eva,
            'reason' => $reason,
            'industrytype' => $industrytype->name,
            'interview' => null,
        ];
        auth()->guard('adminguard')->user()->logAdmin("View FYEI Dashboard", "View FYEI Dashboard", "Is Viewing FYEI Dashboard of Rejected Applicant: " . $user->name, $user->userid);
        return view('admin.evaluation.viewdash', $data);
    }


    public function showissues(ProjectIssuesTable $dt, $id)
    {
        // $issues = IssuesResponse::where('user_id',$id)->get();
        $user = Users::where('user_id', $id)->first();
        auth()->guard('adminguard')->user()->logAdmin("View Issues Dashboard", "View Issues Dashboard", "Is Viewing Issues Dashboard of Applicant: " . $user->applicant_name, $user->user_id);
        return $dt->with('id', $id)->render('admin.projectanalyst.issues');

        // return view('admin.projectanalyst.issues',compact('issues','user'));
    }


    public function uploadresponsetoissue(IssuesResponse $id, Request $r)
    {
        if (!$id == null) {
            $user = UserDetails::where('id', $id->user_id)->first();
            $credit = AdminModel::where('id', $id->credit_id)->first();
            $proj = AdminModel::where('id', $id->proj_id)->first();
            if ($r->hasFile('responsefile')) {


                //
                foreach ($r->file('responsefile') as $file) {
                    $extension = $file->getClientOriginalExtension();
                    if ($extension == 'pdf' || $extension == 'doc' || $extension == 'docx') {
                        $business_reg_file_name = $user->name . '_issue_' . $id->id . '_' . $file->getClientOriginalName();
                        $path = "ResponseFiles/";
                        $abs_path = storage_path("app/public/$path");
                        $file->move($abs_path, $business_reg_file_name);
                        $busregs = new IssueFiles();
                        $file_path_to_store = "storage/$path" . $business_reg_file_name;
                        $busregs->user_id = $id->user_id;
                        $busregs->file = $file_path_to_store;
                        $busregs->issue_id = $id->id;
                        $busregs->save();
                    } else {
                        return redirect()->back()->with('error', 'One or more files selected is invalid!')->withInput();
                    }
                }
                //
                $id->update([
                    'response' => 'response sent',
                    'status' => "Closed",
                ]);

                // $img = $r->file('responsefile');
                // $extension = $img->getClientOriginalExtension();
                // if ($extension == 'pdf'||$extension == 'doc'||$extension == 'docx') {
                //   $response_file_name = $user->name.'_issue_'.$id->id.'_'.$img->getClientOriginalName();
                //   $path = "ResponseFiles/";
                //
                //   $abs_path = storage_path("app/public/$path");
                //   $img->move($abs_path, $response_file_name);
                //
                //   $file_path_to_store = "storage/$path" . $response_file_name;
                //   $id->update([
                //     'response'=>$file_path_to_store,
                //     'status'=>"Closed",
                //   ]);
                // send credit analyst mail notification
                $data = [
                    'username' => $user->name,
                    'proj' => $proj->name,
                    'company_name' => $user->company_name,
                    'creditname' => $credit->name,
                ];
                Mail::to($credit->email)->cc('partnerships&youthenterprise@myfidelitybank.net')->send(new IssuesResponseNotitication($data));
                auth()->guard('adminguard')->user()->logAdmin("Issue Response", "Issue Response", "Uploaded a response to Applicant: " . $user->name . ' Issues Raised', $user->id);
                return back()->with('success', 'Response file uploaded successfully');
            } else {
                return back()->with('error', 'Please Upload a Response File')->withInput();
            }
        } else {
            return back()->with('error', 'Issue not found. Upload Failed!')->withInput();
            // return back()->with('error','Please Upload a Response File');
        }
    }
    // else {
    //   return redirect()->back()->with('error', 'Invalid file format selected For Response File!')->withInput();
    // }
    //   else {
    //     return back()->with('error','Issue not found. Upload Failed!');
    //   }
    // }


    public function downloadissuesfiles(IssuesResponse $id)
    {
        $getfiles = IssueFiles::where('issue_id', $id->id)->where('user_id', $id->user_id)->get();
        $user = UserDetails::where('id', $id->user_id)->first();
        // return $getfiles;
        $zip      = new ZipArchive;
        $fileName = $user->name . '_' . $user->company_name . '_issue_response.zip';
        if ($zip->open(storage_path($fileName), ZipArchive::CREATE) === TRUE) {
            //            return 'works';
            // $files = File::files(storage_path('app/public/'.$type.'/'.$id));
            // foreach ($files as $key => $value) {
            //
            // }
            foreach ($getfiles as $key) {
                $relativeName = $key->file;
                $zip->addFile($key->file, $relativeName);
                // return $relativeName;
                // return response()->download($key->file);
            }
            $zip->close();
        }

        return response()->download(storage_path($fileName));
    }


    public function setinterview(UserDetails $id, Request $r)
    {
        // return $r;

        $checkclose = IssuesResponse::where('user_id', $id->id)->where('status', 'Closed')->first();
        if ($checkclose == null) {
            return back()->with('error', 'No Issues saved.');
        }

        if (Carbon::parse($r->interviewtime)->isPast()) {
            return back()->with('error', 'Invalid Interview Date & Time. Please choose a future date and time');
        }



        $insertinterview = AppReview::create([
            'adminid' => auth()->guard('adminguard')->user()->id,
            'app_id' => $id->id,
            'comment' => null,
            'interviewtime' => $r->interviewtime,
            'status' => 'Moved To Interview Stage',
        ]);

        // resolve all issues
        $resolve = IssuesResponse::where('user_id', $id->id)->update([
            'status' => 'Resolved'
            // ''
        ]);


        // send mail to applicant and assist.
        // get respectiv mails
        $user = Users::where('user_id', $id->id)->first();
        $proj = AdminModel::where('id', $user->projectanalyst_id)->first();
        $data = [
            'applicantname' => $id->name,
            'proj' => $proj->name,
            'inter' => $r->interviewtime,
        ];
        Mail::to($id->email)->cc('partnerships&youthenterprise@myfidelitybank.net')->send(new FyeiInterviewNotification($data)); //to applicant
        Mail::to($proj->email)->cc('partnerships&youthenterprise@myfidelitybank.net')->send(new FyeiInterviewAdminNotification($data));  //to project assist

        $user->update([
            'application_status' => 'Moved To Interview Stage'
        ]);
        auth()->guard('adminguard')->user()->logAdmin("Issue Resolution", "Issue Resolution", "Marked all issues of Applicant: " . $user->name . ' as Resolved and set interview date ' . date('l d M,Y g:i:a', strtotime($r->interviewtime)), $user->id);

        return redirect()->route('admin.creditanalyst.dashboard')->with('success', 'Applicant invited for interview. Notifications sent!');
    }



    public function showfailed(ShowFailedEval $dt)
    {
        return $dt->render('admin.projectanalyst.failedeva');
    }
    public function showfailedcredit(ShowFailedAss $dt)
    {
        return $dt->render('admin.creditanalyst.failedeva');
    }




    public function ssaveforlater(Request $r)
    {
        // Log::info($r->user_id);
        $userid = $r->user_id;

        // return $r;
        Log::info('Saving for later evaluation data for user with id: ' . $userid . ' Data: ' . json_encode($r->all()));
        $business_model_canvas_1 = $r->business_model_canvas_1;
        $business_model_canvas_1_comment = $r->business_model_canvas_1_comment;
        $business_concept_1 = $r->business_concept_1;
        $business_concept_1_comment = $r->business_concept_1_comment;
        $business_concept_2 = $r->business_concept_2;
        $business_concept_2_comment = $r->business_concept_2_comment;
        $business_concept_3 = $r->business_concept_3;
        $business_concept_3_comment = $r->business_concept_3_comment;
        $man_team_1 = $r->man_team_1;
        $man_team_1_comment = $r->man_team_1_comment;
        $man_team_2 = $r->man_team_2;
        $man_team_2_comment = $r->man_team_2_comment;
        $industry_analysis_1 = $r->industry_analysis_1;
        $industry_analysis_1_comment = $r->industry_analysis_1_comment;
        $industry_analysis_2 = $r->industry_analysis_2;
        $industry_analysis_2_comment = $r->industry_analysis_2_comment;
        $production_man_1 = $r->production_man_1;
        $production_man_1_comment = $r->production_man_1_comment;
        $production_man_2 = $r->production_man_2;
        $production_man_2_comment = $r->production_man_2_comment;
        $distribution_analysis_1 = $r->distribution_analysis_1;
        $distribution_analysis_1_comment = $r->distribution_analysis_1_comment;
        $distribution_analysis_2 = $r->distribution_analysis_2;
        $distribution_analysis_2_comment = $r->distribution_analysis_2_comment;
        $supplier_analysis_1 = $r->supplier_analysis_1;
        $supplier_analysis_1_comment = $r->supplier_analysis_1_comment;
        $supplier_analysis_2 = $r->supplier_analysis_2;
        $supplier_analysis_2_comment = $r->supplier_analysis_2_comment;
        $supplier_analysis_3 = $r->supplier_analysis_3;
        $supplier_analysis_3_comment = $r->supplier_analysis_3_comment;
        $offtaker_analysis_1 = $r->offtaker_analysis_1;
        $offtaker_analysis_1_comment = $r->offtaker_analysis_1_comment;
        $service_analysis_1 = $r->service_analysis_1;
        $service_analysis_1_comment = $r->service_analysis_1_comment;
        $market_strategy_1 = $r->market_strategy_1;
        $market_strategy_1_comment = $r->market_strategy_1_comment;
        $market_strategy_2 = $r->market_strategy_2;
        $market_strategy_2_comment = $r->market_strategy_2_comment;
        $market_strategy_3 = $r->market_strategy_3;
        $market_strategy_3_comment = $r->market_strategy_3_comment;
        $social_impact_1 = $r->social_impact_1;
        $social_impact_1_comment = $r->social_impact_1_comment;
        $social_impact_2 = $r->social_impact_2;
        $social_impact_2_comment = $r->social_impact_2_comment;
        $investment_analysis_1 = $r->investment_analysis_1;
        $investment_analysis_1_comment = $r->investment_analysis_1_comment;
        $investment_analysis_2 = $r->investment_analysis_2;
        $investment_analysis_2_comment = $r->investment_analysis_2_comment;
        $investment_analysis_3 = $r->investment_analysis_3;
        $investment_analysis_3_comment = $r->investment_analysis_3_comment;
        $investment_analysis_4 = $r->investment_analysis_4;
        $investment_analysis_4_comment = $r->investment_analysis_4_comment;
        $investment_analysis_5 = $r->investment_analysis_5;
        $investment_analysis_5_comment = $r->investment_analysis_5_comment;
        $collateral_1 = $r->collateral_1;
        $collateral_1_comment = $r->collateral_1_comment;
        $collateral_2 = $r->collateral_2;
        $collateral_2_comment = $r->collateral_2_comment;
        $risk_mitigation_1 = $r->risk_mitigation_1;
        $risk_mitigation_1_comment = $r->risk_mitigation_1_comment;






        $create_eva = EvaluationSheet::updateOrCreate(['user_id' => $userid], [
            'bus_model_canvas_1' => $business_model_canvas_1 ?? '',
            'bus_model_canvas_1_comment' => $business_model_canvas_1_comment ?? '',
            'bus_model_canvas_tt' => $business_model_canvas_tt ?? '',
            'bus_concept_1' => $business_concept_1 ?? '',
            'bus_concept_1_comment' => $business_concept_1_comment ?? '',
            'bus_concept_2' => $business_concept_2 ?? '',
            'bus_concept_2_comment' => $business_concept_2_comment ?? '',
            'bus_concept_3' => $business_concept_3 ?? '',
            'bus_concept_3_comment' => $business_concept_3_comment ?? '',
            'bus_concept_tt' => $business_concept_tt ?? '',
            'man_team_1' => $man_team_1 ?? '',
            'man_team_1_comment' => $man_team_1_comment ?? '',
            'man_team_2' => $man_team_2 ?? '',
            'man_team_2_comment' => $man_team_2_comment ?? '',
            'man_team_tt' => $man_team_tt ?? '',
            'industry_ana_1' => $industry_analysis_1 ?? '',
            'industry_ana_1_comment' => $industry_analysis_1_comment ?? '',
            'industry_ana_2' => $industry_analysis_2 ?? '',
            'industry_ana_2_comment' => $industry_analysis_2_comment ?? '',
            'industry_ana_tt' => $industry_analysis_tt ?? '',
            'production_man_1' => $production_man_1 ?? '',
            'production_man_1_comment' => $production_man_1_comment ?? '',
            'production_man_2' => $production_man_2 ?? '',
            'production_man_2_comment' => $production_man_2_comment ?? '',
            'production_man_tt' => $production_man_tt ?? '',
            'distribution_ana_1' => $distribution_analysis_1 ?? '',
            'distribution_ana_1_comment' => $distribution_analysis_1_comment ?? '',
            'distribution_ana_2' => $distribution_analysis_2 ?? '',
            'distribution_ana_2_comment' => $distribution_analysis_2_comment ?? '',
            'distribution_ana_tt' => $distribution_analysis_tt ?? '',
            'supplier_ana_1' => $supplier_analysis_1 ?? '',
            'supplier_ana_1_comment' => $supplier_analysis_1_comment ?? '',
            'supplier_ana_2' => $supplier_analysis_2 ?? '',
            'supplier_ana_2_comment' => $supplier_analysis_2_comment ?? '',
            'supplier_ana_3' => $supplier_analysis_3 ?? '',
            'supplier_ana_3_comment' => $supplier_analysis_3_comment ?? '',
            'supplier_ana_tt' => $supplier_analysis_tt ?? '',
            'offtaker_ana_1' => $offtaker_analysis_1 ?? '',
            'offtaker_ana_1_comment' => $offtaker_analysis_1_comment ?? '',
            'offtaker_ana_tt' => $offtaker_analysis_tt ?? '',
            'service_ana_1' => $service_analysis_1 ?? '',
            'service_ana_1_comment' => $service_analysis_1_comment ?? '',
            'service_ana_tt' => $service_analysis_tt ?? '',
            'market_strategy_1' => $market_strategy_1 ?? '',
            'market_strategy_1_comment' => $market_strategy_1_comment ?? '',
            'market_strategy_2' => $market_strategy_2 ?? '',
            'market_strategy_2_comment' => $market_strategy_2_comment ?? '',
            'market_strategy_3' => $market_strategy_3 ?? '',
            'market_strategy_3_comment' => $market_strategy_3_comment ?? '',
            'market_strategy_tt' => $market_strategy_tt ?? '',
            'social_impact_1' => $social_impact_1 ?? '',
            'social_impact_1_comment' => $social_impact_1_comment ?? '',
            'social_impact_2' => $social_impact_2 ?? '',
            'social_impact_2_comment' => $social_impact_2_comment ?? '',
            'social_impact_tt' => $social_impact_tt ?? '',
            'investment_ana_1' => $investment_analysis_1 ?? '',
            'investment_ana_1_comment' => $investment_analysis_1_comment ?? '',
            'investment_ana_2' => $investment_analysis_2 ?? '',
            'investment_ana_2_comment' => $investment_analysis_2_comment ?? '',
            'investment_ana_3' => $investment_analysis_3 ?? '',
            'investment_ana_3_comment' => $investment_analysis_3_comment ?? '',
            'investment_ana_4' => $investment_analysis_4 ?? '',
            'investment_ana_4_comment' => $investment_analysis_4_comment ?? '',
            'investment_ana_5' => $investment_analysis_5 ?? '',
            'investment_ana_5_comment' => $investment_analysis_5_comment ?? '',
            'investment_ana_tt' => $investment_analysis_tt ?? '',
            'collateral_1' => $collateral_1 ?? '',
            'collateral_1_comment' => $collateral_1_comment ?? '',
            'collateral_2' => $collateral_2 ?? '',
            'collateral_2_comment' => $collateral_2_comment ?? '',
            'collateral_tt' => $collateral_tt ?? '',
            'risk_mitigation_1' => $risk_mitigation_1 ?? '',
            'risk_mitigation_1_comment' => $risk_mitigation_1_comment ?? '',
            'risk_mitigation_tt' => $investment_analysis_tt ?? '',
            'total' => $total ?? '',

        ]);


        return 'saved';
    }


    public function sendmailnow(Request $r)
    {

        $data = [
            'proj' => $r->proj,
            'email' => $r->email,
            'name' => $r->name,
            'phone' => $r->phone,
            'company_name' => $r->company_name,
            'issues' => $r->issues,
        ];
        // return $data;
        Mail::to($r->projemail)->send(new AssessmentIssuesMail($data));
        return 'sent';
    }
}
