fixed product commission issue

This commit is contained in:
Ritikesh yadav
2024-06-20 12:09:36 +05:30
parent 53fb58af4b
commit fbdc4845df
4 changed files with 91 additions and 69 deletions

View File

@@ -40,30 +40,45 @@ class ManageCommissionController extends Controller
if (!$check) {
abort(404);
}
$products = Product::query()
->select(DB::raw('products.id, coalesce(fund.fund_name, re.property_name, sdi.product_name, p2p.scheme, fre.property_name_and_location,id.company_name,aif.fund_name,caga.project_name,hyf.security_name,lbf.company,sdi.product_name,vd.company_name) as product_name'), DB::raw('DATE_FORMAT(products.created_at, "%d-%b-%Y") as date'), 'categories.category_name', DB::raw('coalesce(sdi.minimum_investment,re.total_price, p2p.minimum_investment, fre.minimum_investment,id.minimum_investment,aif.minimum_investment,caga.minimum_investment,hyf.minimum_investment,lbf.minimum_investment,sdi.minimum_investment,vd.minimum_investment,fund.minimum_investment) as minimum_investment'), 'products.commission_type', 'products.rate', 'products.commission', 'products.description', DB::raw('coalesce(fre.companies_id,aif.companies_id,caga.companies_id,vd.companies_id) as companies_id'), 'upfront_rate', 'trail_rate')
->leftJoin('securitized_debt_instruments as sdi', 'products.id', 'sdi.products_id')
->leftJoin('fractional_real_estates as fre', 'products.id', 'fre.products_id')
->leftJoin('peer_to_peer_lendings as p2p', 'products.id', 'p2p.products_id')
->leftJoin('invoice_discountings as id', 'products.id', 'id.products_id')
->leftJoin('alternative_investment_funds as aif', 'products.id', 'aif.products_id')
->leftJoin('clean_and_green_assets as caga', 'products.id', 'caga.products_id')
->leftJoin('high_yield_finances as hyf', 'products.id', 'hyf.products_id')
->leftJoin('lease_based_financings as lbf', 'products.id', 'lbf.products_id')
->leftJoin('venture_debts as vd', 'products.id', 'vd.products_id')
->leftJoin('funds as fund', 'products.id', 'fund.products_id')
->leftJoin('real_estates as re', 'products.id', 're.products_id')
// $products = Product::query()
// ->select(DB::raw('products.id, coalesce(fre.property_name_and_location,aif.fund_name) as product_name'), DB::raw('DATE_FORMAT(products.created_at, "%d-%b-%Y") as date'), 'categories.category_name', DB::raw('coalesce(fre.minimum_investment,aif.minimum_investment) as minimum_investment'), 'products.commission_type', 'products.rate', 'products.commission', 'products.description', DB::raw('coalesce(fre.companies_id,aif.companies_id) as companies_id'), 'upfront_rate', 'trail_rate')
// ->leftJoin('fractional_real_estates as fre', 'products.id', 'fre.products_id')
// ->leftJoin('alternative_investment_funds as aif', 'products.id', 'aif.products_id')
// ->join('categories', 'products.categories_id', 'categories.id')
// ->latest('products.created_at')
// ->get();
// ->select(DB::raw('products.id, coalesce(fund.fund_name, re.property_name, sdi.product_name, p2p.scheme, fre.property_name_and_location,id.company_name,aif.fund_name,caga.project_name,hyf.security_name,lbf.company,sdi.product_name,vd.company_name) as product_name'), DB::raw('DATE_FORMAT(products.created_at, "%d-%b-%Y") as date'), 'categories.category_name', DB::raw('coalesce(sdi.minimum_investment,re.total_price, p2p.minimum_investment, fre.minimum_investment,id.minimum_investment,aif.minimum_investment,caga.minimum_investment,hyf.minimum_investment,lbf.minimum_investment,sdi.minimum_investment,vd.minimum_investment,fund.minimum_investment) as minimum_investment'), 'products.commission_type', 'products.rate', 'products.commission', 'products.description', DB::raw('coalesce(fre.companies_id,aif.companies_id,caga.companies_id,vd.companies_id) as companies_id'), 'upfront_rate', 'trail_rate')
// ->leftJoin('securitized_debt_instruments as sdi', 'products.id', 'sdi.products_id')
// ->leftJoin('peer_to_peer_lendings as p2p', 'products.id', 'p2p.products_id')
// ->leftJoin('invoice_discountings as id', 'products.id', 'id.products_id')
// ->leftJoin('clean_and_green_assets as caga', 'products.id', 'caga.products_id')
// ->leftJoin('high_yield_finances as hyf', 'products.id', 'hyf.products_id')
// ->leftJoin('lease_based_financings as lbf', 'products.id', 'lbf.products_id')
// ->leftJoin('venture_debts as vd', 'products.id', 'vd.products_id')
// ->leftJoin('funds as fund', 'products.id', 'fund.products_id')
// ->leftJoin('real_estates as re', 'products.id', 're.products_id')
// ->join('fractional_real_estates as fr', 'companies.id', 'fr.companies_id')
// ->leftJoin('alternative_investment_funds as aifp', 'companies.id', 'aifp.companies_id')
// ->leftJoin('clean_and_green_assets as cagap', 'companies.id', 'cagap.companies_id')
// ->leftJoin('venture_debts as vdp', 'companies.id', 'vdp.companies_id')
->join('categories', 'products.categories_id', 'categories.id')
// ->orderBy('products.created_at')
->latest('products.created_at')
->get();
// dd($products);
$products->each(function ($value) {
$monthlyData = MonthlyUpdateMaster::where('products_id', $value->id)->get();
// $product = Product::has('fractionalHasMany')->get();
$products = Product::with('categorys')->get();
// if($products->isNotEmpty())
// {
foreach($products as $product)
{
if(FractionalRealEstate::where('products_id',$product->id)->exists())
{
$product['data'] = FractionalRealEstate::where('products_id',$product->id)->first();
}
if(AlternativeInvestmentFund::where('products_id',$product->id)->exists())
{
$product['data'] = AlternativeInvestmentFund::where('products_id',$product->id)->first();
}
// geting total investment and total commission earned
$monthlyData = MonthlyUpdateMaster::where('products_id', $product->id)->get();
$totalCommission = 0;
$totalInvestment = 0;
if ($monthlyData->isNotEmpty()) {
@@ -84,9 +99,13 @@ class ManageCommissionController extends Controller
}
}
}
$value->totalInvestment = $totalInvestment;
$value->totalCommission = $totalCommission;
});
$product['totalInvestment'] = $totalInvestment;
$product['totalCommission'] = $totalCommission;
}
// }
// dd($products->toArray());
// $products->each(function ($value) {
// });
// dd($products->)
return view('Admin.Pages.manage_commission.manage_commission', compact('products'));
}