Fix DB schema mismatches from backup import
- purpose/concern/region/district tables use uz/ru/cr instead of name - auto_orders/estate_orders use purpose_id not purpose - Add ownerName/owner computed fields from owner_first/last_name - Fix appraiserChart to use order_members instead of appraiser_id - Fix DebitController to join appraiser and order relations - Fix role queries to be case-insensitive (DB has mixed case) Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -7,35 +7,58 @@ use Illuminate\Support\Facades\DB;
|
|||||||
|
|
||||||
class AutoController extends Controller
|
class AutoController extends Controller
|
||||||
{
|
{
|
||||||
|
private function ordersQuery()
|
||||||
|
{
|
||||||
|
return DB::table('auto_orders as o')
|
||||||
|
->leftJoin('purposes as p', 'p.id', '=', 'o.purpose_id')
|
||||||
|
->leftJoin('concerns as c', 'c.id', '=', 'o.car_category')
|
||||||
|
->selectRaw('o.*, o.ordered_customer as customer, p as "purposeOne"')
|
||||||
|
->selectRaw('o.*, o.ordered_customer as customer')
|
||||||
|
->addSelect([
|
||||||
|
'purpose_uz' => DB::table('purposes')->select('uz')->whereColumn('id', 'o.purpose_id'),
|
||||||
|
'purpose_ru' => DB::table('purposes')->select('ru')->whereColumn('id', 'o.purpose_id'),
|
||||||
|
'purpose_cr' => DB::table('purposes')->select('cr')->whereColumn('id', 'o.purpose_id'),
|
||||||
|
'concern_name' => DB::table('concerns')->select('name')->whereColumn('id', 'o.car_category'),
|
||||||
|
]);
|
||||||
|
}
|
||||||
|
|
||||||
public function index(Request $request)
|
public function index(Request $request)
|
||||||
{
|
{
|
||||||
$filters = $request->only(['search', 'period', 'status', 'appraiser', 'diller', 'purpose']);
|
$filters = $request->only(['search', 'period', 'status', 'appraiser', 'purpose_id', 'car_category']);
|
||||||
$size = $request->get('size', 20);
|
$size = $request->get('size', 20);
|
||||||
|
|
||||||
$query = DB::table('auto_orders')->selectRaw('*, ordered_customer as customer')->orderByDesc('id');
|
$query = DB::table('auto_orders as o')
|
||||||
|
->selectRaw('o.*, o.ordered_customer as customer, CONCAT_WS(\' \', o.owner_last_name, o.owner_first_name, o.owner_patronymic) as "ownerName"')
|
||||||
|
->addSelect([
|
||||||
|
'purpose_uz' => DB::table('purposes')->select('uz')->whereColumn('id', 'o.purpose_id'),
|
||||||
|
'purpose_ru' => DB::table('purposes')->select('ru')->whereColumn('id', 'o.purpose_id'),
|
||||||
|
'purpose_cr' => DB::table('purposes')->select('cr')->whereColumn('id', 'o.purpose_id'),
|
||||||
|
'concern_uz' => DB::table('concerns')->select('uz')->whereColumn('id', 'o.car_category'),
|
||||||
|
'concern_ru' => DB::table('concerns')->select('ru')->whereColumn('id', 'o.car_category'),
|
||||||
|
'concern_cr' => DB::table('concerns')->select('cr')->whereColumn('id', 'o.car_category'),
|
||||||
|
])
|
||||||
|
->orderByDesc('o.id');
|
||||||
|
|
||||||
if (!empty($filters['search'])) {
|
if (!empty($filters['search'])) {
|
||||||
$s = '%' . $filters['search'] . '%';
|
$s = '%' . $filters['search'] . '%';
|
||||||
$query->where(function ($q) use ($s) {
|
$query->where(function ($q) use ($s) {
|
||||||
$q->where('number', 'like', $s)
|
$q->where('o.number', 'like', $s)->orWhere('o.ordered_customer', 'like', $s);
|
||||||
->orWhere('ordered_customer', 'like', $s);
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
if (!empty($filters['status'])) {
|
if (!empty($filters['status'])) $query->where('o.status', $filters['status']);
|
||||||
$query->where('status', $filters['status']);
|
if (!empty($filters['purpose_id'])) $query->where('o.purpose_id', $filters['purpose_id']);
|
||||||
}
|
if (!empty($filters['car_category'])) $query->where('o.car_category', $filters['car_category']);
|
||||||
if (!empty($filters['purpose'])) {
|
|
||||||
$query->where('purpose', $filters['purpose']);
|
|
||||||
}
|
|
||||||
|
|
||||||
$orders = $query->paginate($size)->withQueryString();
|
$rawOrders = $query->paginate($size)->withQueryString();
|
||||||
|
|
||||||
$stats = DB::table('auto_orders')
|
$orders = $rawOrders->through(function ($o) {
|
||||||
->selectRaw('status, count(*) as cnt')
|
$o->purposeOne = (object)['uz' => $o->purpose_uz, 'ru' => $o->purpose_ru, 'cr' => $o->purpose_cr];
|
||||||
->groupBy('status')
|
$o->concernOne = (object)['uz' => $o->concern_uz, 'ru' => $o->concern_ru, 'cr' => $o->concern_cr];
|
||||||
->pluck('cnt', 'status');
|
return $o;
|
||||||
|
});
|
||||||
|
|
||||||
$purposeCases = DB::table('auto_orders')->distinct()->pluck('purpose');
|
$stats = DB::table('auto_orders')->selectRaw('status, count(*) as cnt')->groupBy('status')->pluck('cnt', 'status');
|
||||||
|
$purposeCases = DB::table('purposes')->get();
|
||||||
$concerns = DB::table('concerns')->get();
|
$concerns = DB::table('concerns')->get();
|
||||||
|
|
||||||
return view('auto.index', compact('orders', 'stats', 'filters', 'size', 'purposeCases', 'concerns'));
|
return view('auto.index', compact('orders', 'stats', 'filters', 'size', 'purposeCases', 'concerns'));
|
||||||
@@ -46,7 +69,7 @@ class AutoController extends Controller
|
|||||||
$concerns = DB::table('concerns')->get();
|
$concerns = DB::table('concerns')->get();
|
||||||
$purposes = DB::table('purposes')->get();
|
$purposes = DB::table('purposes')->get();
|
||||||
$regions = DB::table('regions')->get();
|
$regions = DB::table('regions')->get();
|
||||||
$appraisers = DB::table('users')->where('role', 'appraiser')->where('status', 'active')->get();
|
$appraisers = DB::table('users')->whereRaw('LOWER(role) = ?', ['appraiser'])->where('status', 'active')->get();
|
||||||
return view('auto.create', compact('concerns', 'purposes', 'regions', 'appraisers'));
|
return view('auto.create', compact('concerns', 'purposes', 'regions', 'appraisers'));
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -71,9 +94,25 @@ class AutoController extends Controller
|
|||||||
|
|
||||||
public function show($order)
|
public function show($order)
|
||||||
{
|
{
|
||||||
$order = DB::table('auto_orders')->selectRaw('*, ordered_customer as customer')->find($order);
|
$order = DB::table('auto_orders as o')
|
||||||
|
->selectRaw('o.*, o.ordered_customer as customer, CONCAT_WS(\' \', o.owner_last_name, o.owner_first_name, o.owner_patronymic) as "ownerName"')
|
||||||
|
->addSelect([
|
||||||
|
'purpose_uz' => DB::table('purposes')->select('uz')->whereColumn('id', 'o.purpose_id'),
|
||||||
|
'purpose_ru' => DB::table('purposes')->select('ru')->whereColumn('id', 'o.purpose_id'),
|
||||||
|
'purpose_cr' => DB::table('purposes')->select('cr')->whereColumn('id', 'o.purpose_id'),
|
||||||
|
'concern_uz' => DB::table('concerns')->select('uz')->whereColumn('id', 'o.car_category'),
|
||||||
|
'concern_ru' => DB::table('concerns')->select('ru')->whereColumn('id', 'o.car_category'),
|
||||||
|
'concern_cr' => DB::table('concerns')->select('cr')->whereColumn('id', 'o.car_category'),
|
||||||
|
])
|
||||||
|
->where('o.id', $order)->first();
|
||||||
|
|
||||||
|
if ($order) {
|
||||||
|
$order->purposeOne = (object)['uz' => $order->purpose_uz, 'ru' => $order->purpose_ru, 'cr' => $order->purpose_cr];
|
||||||
|
$order->concernOne = (object)['uz' => $order->concern_uz, 'ru' => $order->concern_ru, 'cr' => $order->concern_cr];
|
||||||
|
}
|
||||||
|
|
||||||
$members = DB::table('order_members')->where('order_id', $order->id ?? 0)->where('order_type', 'auto_')->get();
|
$members = DB::table('order_members')->where('order_id', $order->id ?? 0)->where('order_type', 'auto_')->get();
|
||||||
$appraisers = DB::table('users')->where('role', 'appraiser')->where('status', 'active')->get();
|
$appraisers = DB::table('users')->whereRaw('LOWER(role) = ?', ['appraiser'])->where('status', 'active')->get();
|
||||||
$isAppraisers = $members->where('user_id', auth()->id())->count() > 0;
|
$isAppraisers = $members->where('user_id', auth()->id())->count() > 0;
|
||||||
$files = DB::table('files')->where('order_id', $order->id ?? 0)->where('order_type', 'auto_')->get();
|
$files = DB::table('files')->where('order_id', $order->id ?? 0)->where('order_type', 'auto_')->get();
|
||||||
return view('auto.show', compact('order', 'members', 'appraisers', 'isAppraisers', 'files'));
|
return view('auto.show', compact('order', 'members', 'appraisers', 'isAppraisers', 'files'));
|
||||||
@@ -90,7 +129,7 @@ class AutoController extends Controller
|
|||||||
{
|
{
|
||||||
$order = DB::table('auto_orders')->find($order);
|
$order = DB::table('auto_orders')->find($order);
|
||||||
$members = DB::table('order_members')->where('order_id', $order->id ?? 0)->where('order_type', 'auto_')->get();
|
$members = DB::table('order_members')->where('order_id', $order->id ?? 0)->where('order_type', 'auto_')->get();
|
||||||
$appraisers = DB::table('users')->where('role', 'appraiser')->where('status', 'active')->get();
|
$appraisers = DB::table('users')->whereRaw('LOWER(role) = ?', ['appraiser'])->where('status', 'active')->get();
|
||||||
return view('auto.show-team', compact('order', 'members', 'appraisers'));
|
return view('auto.show-team', compact('order', 'members', 'appraisers'));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -18,7 +18,7 @@ class ConcernController extends Controller
|
|||||||
|
|
||||||
public function store(Request $request)
|
public function store(Request $request)
|
||||||
{
|
{
|
||||||
DB::table('concerns')->insert(['name' => $request->name, 'created_at' => now(), 'updated_at' => now()]);
|
DB::table('concerns')->insert(['uz' => $request->uz ?? $request->name, 'ru' => $request->ru ?? $request->name, 'cr' => $request->cr ?? $request->name, 'created_at' => now(), 'updated_at' => now()]);
|
||||||
return redirect()->route('concerns.index');
|
return redirect()->route('concerns.index');
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -36,7 +36,7 @@ class ConcernController extends Controller
|
|||||||
|
|
||||||
public function update(Request $request, $id)
|
public function update(Request $request, $id)
|
||||||
{
|
{
|
||||||
DB::table('concerns')->where('id', $id)->update(['name' => $request->name, 'updated_at' => now()]);
|
DB::table('concerns')->where('id', $id)->update(['uz' => $request->uz ?? $request->name, 'ru' => $request->ru ?? $request->name, 'cr' => $request->cr ?? $request->name, 'updated_at' => now()]);
|
||||||
return redirect()->route('concerns.index');
|
return redirect()->route('concerns.index');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -12,12 +12,31 @@ class DebitController extends Controller
|
|||||||
$filters = $request->only(['search', 'status', 'appraiser']);
|
$filters = $request->only(['search', 'status', 'appraiser']);
|
||||||
$size = $request->get('size', 20);
|
$size = $request->get('size', 20);
|
||||||
|
|
||||||
$query = DB::table('debits')->orderByDesc('id');
|
$query = DB::table('debits as d')
|
||||||
if (!empty($filters['appraiser'])) $query->where('appraiser_id', $filters['appraiser']);
|
->leftJoin('users as u', 'u.id', '=', 'd.appraiser_id')
|
||||||
if (!empty($filters['status'])) $query->where('status', $filters['status']);
|
->select('d.*')
|
||||||
|
->selectRaw('u.name as appraiser_name, u.id as appraiser_user_id')
|
||||||
|
->orderByDesc('d.id');
|
||||||
|
|
||||||
$debits = $query->paginate($size)->withQueryString();
|
if (!empty($filters['appraiser'])) $query->where('d.appraiser_id', $filters['appraiser']);
|
||||||
$appraisers = DB::table('users')->where('role', 'appraiser')->get();
|
if (!empty($filters['status'])) $query->where('d.status', $filters['status']);
|
||||||
|
|
||||||
|
$rawDebits = $query->paginate($size)->withQueryString();
|
||||||
|
|
||||||
|
$debits = $rawDebits->through(function ($d) {
|
||||||
|
$d->appraiser = (object)['id' => $d->appraiser_user_id, 'name' => $d->appraiser_name];
|
||||||
|
// get order number
|
||||||
|
if ($d->order_id && $d->order_type) {
|
||||||
|
$table = $d->order_type === 'auto_' ? 'auto_orders' : 'estate_orders';
|
||||||
|
$ord = DB::table($table)->select('id', 'number')->find($d->order_id);
|
||||||
|
$d->order = $ord;
|
||||||
|
} else {
|
||||||
|
$d->order = null;
|
||||||
|
}
|
||||||
|
return $d;
|
||||||
|
});
|
||||||
|
|
||||||
|
$appraisers = DB::table('users')->whereRaw('LOWER(role) = ?', ['appraiser'])->get();
|
||||||
$debit = null;
|
$debit = null;
|
||||||
$appraiser = null;
|
$appraiser = null;
|
||||||
|
|
||||||
@@ -26,7 +45,7 @@ class DebitController extends Controller
|
|||||||
|
|
||||||
public function create()
|
public function create()
|
||||||
{
|
{
|
||||||
$appraisers = DB::table('users')->where('role', 'appraiser')->get();
|
$appraisers = DB::table('users')->whereRaw('LOWER(role) = ?', ['appraiser'])->get();
|
||||||
return view('debit.create', compact('appraisers'));
|
return view('debit.create', compact('appraisers'));
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -44,7 +63,7 @@ class DebitController extends Controller
|
|||||||
public function edit($id)
|
public function edit($id)
|
||||||
{
|
{
|
||||||
$debit = DB::table('debits')->find($id);
|
$debit = DB::table('debits')->find($id);
|
||||||
$appraisers = DB::table('users')->where('role', 'appraiser')->get();
|
$appraisers = DB::table('users')->whereRaw('LOWER(role) = ?', ['appraiser'])->get();
|
||||||
return view('debit.edit', compact('debit', 'appraisers'));
|
return view('debit.edit', compact('debit', 'appraisers'));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -10,7 +10,7 @@ class DillerController extends Controller
|
|||||||
public function __invoke(Request $request)
|
public function __invoke(Request $request)
|
||||||
{
|
{
|
||||||
$size = $request->get('size', 20);
|
$size = $request->get('size', 20);
|
||||||
$dillers = DB::table('users')->where('role', 'diller')->paginate($size);
|
$dillers = DB::table('users')->whereRaw('LOWER(role) = ?', ['diller'])->paginate($size);
|
||||||
$user = auth()->user();
|
$user = auth()->user();
|
||||||
return view('diller.index', compact('dillers', 'user', 'size'));
|
return view('diller.index', compact('dillers', 'user', 'size'));
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -18,7 +18,7 @@ class DistrictController extends Controller
|
|||||||
|
|
||||||
public function store(Request $request)
|
public function store(Request $request)
|
||||||
{
|
{
|
||||||
DB::table('districts')->insert(['name' => $request->name, 'region_id' => $request->region_id, 'created_at' => now(), 'updated_at' => now()]);
|
DB::table('districts')->insert(['uz' => $request->uz ?? $request->name, 'ru' => $request->ru ?? $request->name, 'cr' => $request->cr ?? $request->name, 'region_id' => $request->region_id, 'created_at' => now(), 'updated_at' => now()]);
|
||||||
return redirect()->route('districts.index');
|
return redirect()->route('districts.index');
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -36,7 +36,7 @@ class DistrictController extends Controller
|
|||||||
|
|
||||||
public function update(Request $request, $id)
|
public function update(Request $request, $id)
|
||||||
{
|
{
|
||||||
DB::table('districts')->where('id', $id)->update(['name' => $request->name, 'updated_at' => now()]);
|
DB::table('districts')->where('id', $id)->update(['uz' => $request->uz ?? $request->name, 'ru' => $request->ru ?? $request->name, 'cr' => $request->cr ?? $request->name, 'updated_at' => now()]);
|
||||||
return redirect()->route('districts.index');
|
return redirect()->route('districts.index');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -9,33 +9,38 @@ class EstateController extends Controller
|
|||||||
{
|
{
|
||||||
public function index(Request $request)
|
public function index(Request $request)
|
||||||
{
|
{
|
||||||
$filters = $request->only(['search', 'period', 'status', 'appraiser', 'diller', 'purpose']);
|
$filters = $request->only(['search', 'period', 'status', 'appraiser', 'purpose_id']);
|
||||||
$size = $request->get('size', 20);
|
$size = $request->get('size', 20);
|
||||||
|
|
||||||
$query = DB::table('estate_orders')->selectRaw('*, ordered_customer as customer')->orderByDesc('id');
|
$query = DB::table('estate_orders as o')
|
||||||
|
->selectRaw('o.*, o.ordered_customer as customer, CONCAT_WS(\' \', o.owner_last_name, o.owner_first_name, o.owner_patronymic) as owner')
|
||||||
|
->addSelect([
|
||||||
|
'purpose_uz' => DB::table('purposes')->select('uz')->whereColumn('id', 'o.purpose_id'),
|
||||||
|
'purpose_ru' => DB::table('purposes')->select('ru')->whereColumn('id', 'o.purpose_id'),
|
||||||
|
'purpose_cr' => DB::table('purposes')->select('cr')->whereColumn('id', 'o.purpose_id'),
|
||||||
|
'region_uz' => DB::table('regions')->select('uz')->whereColumn('id', 'o.region'),
|
||||||
|
'district_uz' => DB::table('districts')->select('uz')->whereColumn('id', 'o.district'),
|
||||||
|
])
|
||||||
|
->orderByDesc('o.id');
|
||||||
|
|
||||||
if (!empty($filters['search'])) {
|
if (!empty($filters['search'])) {
|
||||||
$s = '%' . $filters['search'] . '%';
|
$s = '%' . $filters['search'] . '%';
|
||||||
$query->where(function ($q) use ($s) {
|
$query->where(function ($q) use ($s) {
|
||||||
$q->where('number', 'like', $s)
|
$q->where('o.number', 'like', $s)->orWhere('o.ordered_customer', 'like', $s);
|
||||||
->orWhere('ordered_customer', 'like', $s);
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
if (!empty($filters['status'])) {
|
if (!empty($filters['status'])) $query->where('o.status', $filters['status']);
|
||||||
$query->where('status', $filters['status']);
|
if (!empty($filters['purpose_id'])) $query->where('o.purpose_id', $filters['purpose_id']);
|
||||||
}
|
|
||||||
if (!empty($filters['purpose'])) {
|
|
||||||
$query->where('purpose', $filters['purpose']);
|
|
||||||
}
|
|
||||||
|
|
||||||
$orders = $query->paginate($size)->withQueryString();
|
$rawOrders = $query->paginate($size)->withQueryString();
|
||||||
|
|
||||||
$stats = DB::table('estate_orders')
|
$orders = $rawOrders->through(function ($o) {
|
||||||
->selectRaw('status, count(*) as cnt')
|
$o->purposeOne = (object)['uz' => $o->purpose_uz, 'ru' => $o->purpose_ru, 'cr' => $o->purpose_cr];
|
||||||
->groupBy('status')
|
return $o;
|
||||||
->pluck('cnt', 'status');
|
});
|
||||||
|
|
||||||
$purposeCases = DB::table('estate_orders')->distinct()->pluck('purpose');
|
$stats = DB::table('estate_orders')->selectRaw('status, count(*) as cnt')->groupBy('status')->pluck('cnt', 'status');
|
||||||
|
$purposeCases = DB::table('purposes')->get();
|
||||||
|
|
||||||
return view('estate.index', compact('orders', 'stats', 'filters', 'size', 'purposeCases'));
|
return view('estate.index', compact('orders', 'stats', 'filters', 'size', 'purposeCases'));
|
||||||
}
|
}
|
||||||
@@ -45,7 +50,7 @@ class EstateController extends Controller
|
|||||||
$purposes = DB::table('purposes')->get();
|
$purposes = DB::table('purposes')->get();
|
||||||
$regions = DB::table('regions')->get();
|
$regions = DB::table('regions')->get();
|
||||||
$concerns = DB::table('concerns')->get();
|
$concerns = DB::table('concerns')->get();
|
||||||
$appraisers = DB::table('users')->where('role', 'appraiser')->where('status', 'active')->get();
|
$appraisers = DB::table('users')->whereRaw('LOWER(role) = ?', ['appraiser'])->where('status', 'active')->get();
|
||||||
return view('estate.create', compact('purposes', 'regions', 'concerns', 'appraisers'));
|
return view('estate.create', compact('purposes', 'regions', 'concerns', 'appraisers'));
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -70,9 +75,23 @@ class EstateController extends Controller
|
|||||||
|
|
||||||
public function show($order)
|
public function show($order)
|
||||||
{
|
{
|
||||||
$order = DB::table('estate_orders')->selectRaw('*, ordered_customer as customer')->find($order);
|
$order = DB::table('estate_orders as o')
|
||||||
|
->selectRaw('o.*, o.ordered_customer as customer, CONCAT_WS(\' \', o.owner_last_name, o.owner_first_name, o.owner_patronymic) as owner')
|
||||||
|
->addSelect([
|
||||||
|
'purpose_uz' => DB::table('purposes')->select('uz')->whereColumn('id', 'o.purpose_id'),
|
||||||
|
'purpose_ru' => DB::table('purposes')->select('ru')->whereColumn('id', 'o.purpose_id'),
|
||||||
|
'purpose_cr' => DB::table('purposes')->select('cr')->whereColumn('id', 'o.purpose_id'),
|
||||||
|
'region_uz' => DB::table('regions')->select('uz')->whereColumn('id', 'o.region'),
|
||||||
|
'district_uz' => DB::table('districts')->select('uz')->whereColumn('id', 'o.district'),
|
||||||
|
])
|
||||||
|
->where('o.id', $order)->first();
|
||||||
|
|
||||||
|
if ($order) {
|
||||||
|
$order->purposeOne = (object)['uz' => $order->purpose_uz, 'ru' => $order->purpose_ru, 'cr' => $order->purpose_cr];
|
||||||
|
}
|
||||||
|
|
||||||
$members = DB::table('order_members')->where('order_id', $order->id ?? 0)->where('order_type', 'estate_')->get();
|
$members = DB::table('order_members')->where('order_id', $order->id ?? 0)->where('order_type', 'estate_')->get();
|
||||||
$appraisers = DB::table('users')->where('role', 'appraiser')->where('status', 'active')->get();
|
$appraisers = DB::table('users')->whereRaw('LOWER(role) = ?', ['appraiser'])->where('status', 'active')->get();
|
||||||
$isAppraisers = $members->where('user_id', auth()->id())->count() > 0;
|
$isAppraisers = $members->where('user_id', auth()->id())->count() > 0;
|
||||||
$files = DB::table('files')->where('order_id', $order->id ?? 0)->where('order_type', 'estate_')->get();
|
$files = DB::table('files')->where('order_id', $order->id ?? 0)->where('order_type', 'estate_')->get();
|
||||||
return view('estate.show', compact('order', 'members', 'appraisers', 'isAppraisers', 'files'));
|
return view('estate.show', compact('order', 'members', 'appraisers', 'isAppraisers', 'files'));
|
||||||
@@ -89,7 +108,7 @@ class EstateController extends Controller
|
|||||||
{
|
{
|
||||||
$order = DB::table('estate_orders')->find($order);
|
$order = DB::table('estate_orders')->find($order);
|
||||||
$members = DB::table('order_members')->where('order_id', $order->id ?? 0)->where('order_type', 'estate_')->get();
|
$members = DB::table('order_members')->where('order_id', $order->id ?? 0)->where('order_type', 'estate_')->get();
|
||||||
$appraisers = DB::table('users')->where('role', 'appraiser')->where('status', 'active')->get();
|
$appraisers = DB::table('users')->whereRaw('LOWER(role) = ?', ['appraiser'])->where('status', 'active')->get();
|
||||||
return view('estate.show-team', compact('order', 'members', 'appraisers'));
|
return view('estate.show-team', compact('order', 'members', 'appraisers'));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -38,11 +38,10 @@ class HomeController extends Controller
|
|||||||
$actions = DB::table('tracking_actions')->latest()->limit(20)->get();
|
$actions = DB::table('tracking_actions')->latest()->limit(20)->get();
|
||||||
|
|
||||||
$appraiserChart = [[], []];
|
$appraiserChart = [[], []];
|
||||||
$appraisers = DB::table('users')->where('role', 'appraiser')->get();
|
$appraisers = DB::table('users')->whereRaw('LOWER(role) = ?', ['appraiser'])->get();
|
||||||
foreach ($appraisers as $appraiser) {
|
foreach ($appraisers as $appraiser) {
|
||||||
$appraiserChart[0][] = $appraiser->name;
|
$appraiserChart[0][] = $appraiser->name;
|
||||||
$count = DB::table('auto_orders')->where('appraiser_id', $appraiser->id)->count()
|
$count = DB::table('order_members')->where('user_id', $appraiser->id)->count();
|
||||||
+ DB::table('estate_orders')->where('appraiser_id', $appraiser->id)->count();
|
|
||||||
$appraiserChart[1][] = $count;
|
$appraiserChart[1][] = $count;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -18,7 +18,7 @@ class PurposeController extends Controller
|
|||||||
|
|
||||||
public function store(Request $request)
|
public function store(Request $request)
|
||||||
{
|
{
|
||||||
DB::table('purposes')->insert(['name' => $request->name, 'type' => $request->type, 'created_at' => now(), 'updated_at' => now()]);
|
DB::table('purposes')->insert(['uz' => $request->uz ?? $request->name, 'ru' => $request->ru ?? $request->name, 'cr' => $request->cr ?? $request->name, 'created_at' => now(), 'updated_at' => now()]);
|
||||||
return redirect()->route('purposes.index');
|
return redirect()->route('purposes.index');
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -36,7 +36,7 @@ class PurposeController extends Controller
|
|||||||
|
|
||||||
public function update(Request $request, $id)
|
public function update(Request $request, $id)
|
||||||
{
|
{
|
||||||
DB::table('purposes')->where('id', $id)->update(['name' => $request->name, 'updated_at' => now()]);
|
DB::table('purposes')->where('id', $id)->update(['uz' => $request->uz ?? $request->name, 'ru' => $request->ru ?? $request->name, 'cr' => $request->cr ?? $request->name, 'updated_at' => now()]);
|
||||||
return redirect()->route('purposes.index');
|
return redirect()->route('purposes.index');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -18,7 +18,7 @@ class RegionController extends Controller
|
|||||||
|
|
||||||
public function store(Request $request)
|
public function store(Request $request)
|
||||||
{
|
{
|
||||||
DB::table('regions')->insert(['name' => $request->name, 'created_at' => now(), 'updated_at' => now()]);
|
DB::table('regions')->insert(['uz' => $request->uz ?? $request->name, 'ru' => $request->ru ?? $request->name, 'cr' => $request->cr ?? $request->name, 'created_at' => now(), 'updated_at' => now()]);
|
||||||
return redirect()->route('regions.index');
|
return redirect()->route('regions.index');
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -36,7 +36,7 @@ class RegionController extends Controller
|
|||||||
|
|
||||||
public function update(Request $request, $id)
|
public function update(Request $request, $id)
|
||||||
{
|
{
|
||||||
DB::table('regions')->where('id', $id)->update(['name' => $request->name, 'updated_at' => now()]);
|
DB::table('regions')->where('id', $id)->update(['uz' => $request->uz ?? $request->name, 'ru' => $request->ru ?? $request->name, 'cr' => $request->cr ?? $request->name, 'updated_at' => now()]);
|
||||||
return redirect()->route('regions.index');
|
return redirect()->route('regions.index');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -12,7 +12,7 @@ class RoleController extends Controller
|
|||||||
$role = $request->get('role', 'user');
|
$role = $request->get('role', 'user');
|
||||||
$size = $request->get('size', 20);
|
$size = $request->get('size', 20);
|
||||||
|
|
||||||
$users = DB::table('users')->where('role', $role)->paginate($size)->withQueryString();
|
$users = DB::table('users')->whereRaw('LOWER(role) = LOWER(?)', [$role])->paginate($size)->withQueryString();
|
||||||
$roleStats = DB::table('users')->selectRaw('role, count(*) as cnt')->groupBy('role')->pluck('cnt', 'role');
|
$roleStats = DB::table('users')->selectRaw('role, count(*) as cnt')->groupBy('role')->pluck('cnt', 'role');
|
||||||
$statusStats = DB::table('users')->selectRaw('status, count(*) as cnt')->groupBy('status')->pluck('cnt', 'status');
|
$statusStats = DB::table('users')->selectRaw('status, count(*) as cnt')->groupBy('status')->pluck('cnt', 'status');
|
||||||
$user = auth()->user();
|
$user = auth()->user();
|
||||||
|
|||||||
@@ -16,7 +16,7 @@ class UserController extends Controller
|
|||||||
$search = $request->get('search');
|
$search = $request->get('search');
|
||||||
|
|
||||||
$query = DB::table('users')->orderByDesc('id');
|
$query = DB::table('users')->orderByDesc('id');
|
||||||
if ($role) $query->where('role', $role);
|
if ($role) $query->whereRaw('LOWER(role) = LOWER(?)', [$role]);
|
||||||
if ($status) $query->where('status', $status);
|
if ($status) $query->where('status', $status);
|
||||||
if ($search) $query->where('name', 'like', "%$search%")->orWhere('phone', 'like', "%$search%");
|
if ($search) $query->where('name', 'like', "%$search%")->orWhere('phone', 'like', "%$search%");
|
||||||
|
|
||||||
@@ -88,7 +88,7 @@ class UserController extends Controller
|
|||||||
public function appraisers(Request $request)
|
public function appraisers(Request $request)
|
||||||
{
|
{
|
||||||
$size = $request->get('size', 20);
|
$size = $request->get('size', 20);
|
||||||
$users = DB::table('users')->where('role', 'appraiser')->paginate($size);
|
$users = DB::table('users')->whereRaw('LOWER(role) = ?', ['appraiser'])->paginate($size);
|
||||||
$roleStats = DB::table('users')->selectRaw('role, count(*) as cnt')->groupBy('role')->pluck('cnt', 'role');
|
$roleStats = DB::table('users')->selectRaw('role, count(*) as cnt')->groupBy('role')->pluck('cnt', 'role');
|
||||||
$statusStats = DB::table('users')->selectRaw('status, count(*) as cnt')->groupBy('status')->pluck('cnt', 'status');
|
$statusStats = DB::table('users')->selectRaw('status, count(*) as cnt')->groupBy('status')->pluck('cnt', 'status');
|
||||||
$user = auth()->user();
|
$user = auth()->user();
|
||||||
@@ -97,7 +97,7 @@ class UserController extends Controller
|
|||||||
|
|
||||||
public function appraisersBonus()
|
public function appraisersBonus()
|
||||||
{
|
{
|
||||||
$users = DB::table('users')->where('role', 'appraiser')->get();
|
$users = DB::table('users')->whereRaw('LOWER(role) = ?', ['appraiser'])->get();
|
||||||
return view('user.appraisers-bonus', compact('users'));
|
return view('user.appraisers-bonus', compact('users'));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user