= Оптимизација на прашалници и погледи == Погледи === Menu и Catalog Овие погледи ги откриваат менито на ресторанот за пребарувањ и нарачки базирани на договорот помеѓу ресторанот и фирмата. ||= Поглед ||= Цел ||= Изворни табели ||= Забелешки || || [wiki:MenuMealView v_menu_meal] || Ги листа сите оброци со категорија, ресторан, состојки и алергени || `meal`, `category`, `restaurant`, `meal_ingredient`, `ingredient`, `alergen_ingredient`, `alergen` || Користи CTE табели и string агрегација за листање на состојки/алергени || || [wiki:MenuDrinkView v_menu_drink] || Ги листа сите пијалоци со детали за ресторанот || `drink`, `restaurant` || Обичен join поглед без агрегации. || === Orders и Deliveries Овие погледи се основните оперативни погледи за креирање нарачки преку веб апликацијата. ||= Поглед ||= Цел ||= Изворни табели ||= Забелешки || || [wiki:OrdersFullView v_orders_full] || Покажува целосни детали за една нарачка, контекст заз купувач/компанија, достава и нарачани предмети. || `customer_order`, `company_order`, `customer`, `api_user`, `company`, `delivery`, `delivery_status`, `driver`, `order_status`, `order_meal`, `order_drink`, `meal`, `drink` || Користи CTE табели за да агрегира нарачани оброци и пијалоци во читливи листи || || [wiki:DriverDeliveriesView v_driver_deliveries] || Покажува назначени достави за возачи и соодветните нарачки || `delivery`, `delivery_status`, `driver`, `api_user`, `restaurant`, `company_order`, `company`, `customer_order`, `customer`, `order_meal`, `order_drink`, `meal`, `drink` || Го користи истиот шаблон за агрегирање на елементи од нарачката како и `v_orders_full` || === Reviews Овој поглед ги спојува двата поттипа на review во еден извештај. ||= Поглед ||= Цел ||= Изворни табели ||= Забелешки || || [wiki:ReviewsFullView v_reviews_full] || Дава унифициран извештај за оценки на нарачки и достави. || `review`, `order_review`, `delivery_review`, `customer_order`, `delivery`, `company_order`, `customer`, `driver`, `api_user`, `company` || Користи `UNION ALL` да ги комбинира двата дела од извештајот || === Contracts, Billing и Loyalty Овие погледи поддржуваат креирање извештаи на ниво на компанија. ||= Поглед ||= Цел ||= Изворни табели ||= Забелешки || || [wiki:ContractsRevenueView v_contracts_revenue] || Го сумаризира приходот по компанија и ресторан за активните договори. || `contract`, `company`, `restaurant`, `contract_status`, `customer_order`, `company_order`, `order_meal`, `order_drink`, `meal`, `drink` || Користи restaurant-by-order CTE табела да ги мапира измешаните нарачки назад до ресторанот || || [wiki:CompanyBillingOverviewView v_company_billing_overview] || Покажува салдо од фактури, број на нарачки по customer и број на компаниски договори. || `invoice`, `company_order`, `customer_order`, `contract`, `company` || Користи CTE табели за број на договори на компанија и салдо од фактури. || || [wiki:CustomerLoyaltyFullView v_customer_loyalty_full_v2] || Го покажува статусот на лојалност (loyalty status), информации за ниво (tier) и статистика за нарачки на еден муштерија. || `customer_loyalty`, `customer`, `company`, `api_user`, `customer_loyalty_status`, `loyalty_tier`, `customer_order` || / || === Operational Support Овие погледи поддржуваат internal routing, scheduling, и shared company membership pages. ||= Поглед ||= Цел ||= Изворни табели ||= Забелешки || || [wiki:DriverLunchTimersView v_driver_lunch_timers] || Ги листа распоредите за ручек за возачи, договори и компании. || `lunch_time`, `contract`, `company`, `restaurant`, `driver`, `api_user` || Најдобро за неделно распоредување и потсетници за возачите. || || [wiki:CompanyUsersView v_company_users] || Ги комбинира customers, drivers, и api_admin корисници во еден поглед за компаниите. || `customer`, `company`, `contract`, `restaurant`, `driver`, `api_admin`, `api_user` || Користи `UNION` за да ги прикаже трите вида на улоги заедно. || || [wiki:CustomerContractMealsView v_customer_contract_meals] || Ги листа оброците кои се достапни на available to a customer under active contracts || `customer`, `api_user`, `company`, `contract`, `contract_status`, `restaurant`, `meal`, `category`, `meal_ingredient`, `ingredient`, `alergen_ingredient`, `alergen` || Filters to active contracts and current contract dates only || || [wiki:CustomerContractDrinksView v_customer_contract_drinks] || Ги листа пијалоците достапни на клиент со активен договор. || `customer`, `api_user`, `company`, `contract`, `contract_status`, `restaurant`, `drink` || Исто филтрирање како погледот за оброци. || || [wiki:CustomerContractMenuView v_customer_contract_menu] || Ги комбинира погледите за оброци и пијалоци достапни под еден договор во едно мени. || `v_customer_contract_meals`, `v_customer_contract_drinks` || Користи `UNION ALL` и `item_type` дискриминатор. || == Индекси === Menu индекси ||= Датотека на индекс ||= Индекси ||= Поддржани погледи ||= Забелешки || || [wiki:MenuMealIndex indexes/v_menu_meal_index.sql] || `meal(cat_id, meal_id)`, `meal_ingredient(meal_id, ingr_id)`, `alergen_ingredient(ingr_id, alergen_id)` || `v_menu_meal` and `v_customer_contract_meals` || Поддржува спојувања на category и надоградување на ingredient/allergen. || || [wiki:MenuDrinkIndex indexes/v_menu_drink_index.sql] || `drink(rest_id, drink_id)` || `v_menu_drink`, `v_customer_contract_drinks` || Поддржува пребарување за погледи за пијалоци на ресторан. || === Order и Delivery индекси ||= Датотека на индекс ||= Индекси ||= Поддржани погледи ||= Забелешки || || [wiki:OrdersFullIndex indexes/v_orders_full_index.sql] || `customer_order(comp_order_id)`, `customer_order(customer_user_id, order_datetime DESC)`, `delivery(driver_user_id, delivery_date)`, `order_meal(order_id, meal_id)`, `order_drink(order_id, drink_id)` || `v_orders_full`, `v_driver_deliveries`, `v_contracts_revenue`, `v_company_billing_overview`, `v_reviews_full` || Поддржува пребарување на нарачки, филтрирање на достави и агрегација на елементи на нарачка. || || [wiki:DriverDeliveriesIndex indexes/v_driver_deliveries_index.sql] || `delivery(driver_user_id, delivery_date)`, `order_meal(order_id, meal_id)`, `order_drink(order_id, drink_id)`, `customer_order(comp_order_id)` || `v_driver_deliveries` || Креирано за пребарување на достави од страна на доставувачи. || || [wiki:ReviewsFullIndex indexes/v_reviews_full_index.sql] || `customer_order(comp_order_id)` || `v_reviews_full` || Погледот за review во главно зависи од заедничките нарачки и доставувања. || === Contract, Billing, Loyalty, и Scheduling индекси ||= Датотека на индекс ||= Индекси ||= Поддржани погледи ||= Забелешки || || [wiki:ContractsRevenueIndex indexes/v_contracts_revenue_index.sql] || `order_meal(order_id, meal_id)`, `order_drink(order_id, drink_id)`, `customer_order(comp_order_id)`, `contract(company_id, rest_id)` || `v_contracts_revenue` || Поддржува агрегација за приход по договор по компанија и ресторан. || || [wiki:CompanyBillingOverviewIndex indexes/v_company_billing_overview_index.sql] || `contract(company_id)`, `customer_order(comp_order_id)` || `v_company_billing_overview` || Помага на прегледот за наплаќање по договори и салдо на фактурите. || || [wiki:CustomerLoyaltyFullIndex indexes/v_customer_loyalty_full_v2_index.sql] || `customer_order(customer_user_id, order_datetime DESC)` || `v_customer_loyalty_full_v2` || Поддржува статистики latest-order и aggregate-order за извештаи за лојалност. || || [wiki:DriverLunchTimersIndex indexes/v_driver_lunch_timers_index.sql] || `lunch_time(lunch_weekday, contract_id)`, `driver(rest_id)`, `contract(rest_id, company_id)` || `v_driver_lunch_timers` || Поддржува неделно филтрирање и рутирање restaurant/contract. ||