Changes between Initial Version and Version 1 of DatabaseProgramming


Ignore:
Timestamp:
05/30/26 15:41:55 (3 weeks ago)
Author:
231094
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • DatabaseProgramming

    v1 v1  
     1= Функции, процедури и тригери
     2
     3== Функции
     4
     5Во базата на податоци има функции кои овозможуваат пресметка и проверка на важни информации без потреба од рачно пишување сложени SQL прашања.
     6
     7=== Customer Subscription Summary
     8
     9Оваа функција враќа кратко резиме за претплатите на даден корисник. Со неа може брзо да се провери колку претплати има корисникот, колку од нив се активни и кои услуги ги користи.
     10
     11Функцијата би се користела од customer support и sales тимот за брз преглед на состојбата на корисникот.
     12
     13[attachment: CustomerSubscriptionSummary.sql]
     14
     15=== Outstanding Customer Balance
     16
     17Оваа функција го пресметува вкупниот неплатен баланс за даден корисник. Ги зема предвид фактурите и плаќањата и враќа колку корисникот должи.
     18
     19Функцијата би се користела од billing тимот и customer support при проверка на неплатени фактури, суспензија на услуги или известување на корисникот.
     20
     21[attachment: OutstandingCustomerBalance.sql]
     22
     23=== SIM Ready For Use Check
     24
     25Оваа функција проверува дали одредена SIM картичка е подготвена за користење. Се проверува дали SIM картичката има соодветен статус и дали веќе не е активна на друга претплата.
     26
     27Функцијата би се користела пред доделување SIM картичка на претплата, за да се спречи користење на веќе активна или невалидна SIM картичка.
     28
     29[attachment: SIMReadyForUseCheck.sql]
     30
     31=== Total Monthly Recurring Charge
     32
     33Оваа функција ја пресметува вкупната месечна recurring наплата за даден корисник. Во пресметката се земаат активните претплати и активните recurring addons.
     34
     35Функцијата би се користела за billing пресметки, проценка на месечна сметка и проверка на приход по корисник.
     36
     37[attachment: TotalMonthlyRecurringCharge.sql]
     38
     39== Процедури
     40
     41Во базата на податоци има процедури кои автоматизираат важни операции во телекомуникацискиот систем.
     42
     43=== Customer SIM Assignment
     44
     45Оваа процедура се користи за доделување SIM картичка на претплата и активирање на корисничка услуга. Процедурата го поврзува корисникот, сметката, тарифниот план, претплатата и SIM картичката.
     46
     47Се користи при активирање нова претплата или при издавање нова SIM картичка на корисник.
     48
     49[attachment: CustomerSIMAssignment.sql]
     50
     51=== Change Plan Procedure
     52
     53Оваа процедура овозможува промена на тарифниот план на постоечка претплата. Се користи кога корисникот сака да премине на друг пакет, на пример од основен кон поголем пакет со повеќе интернет или минути.
     54
     55Процедурата би се користела од sales или customer support тимот.
     56
     57[attachment: ChangePlanProcedure.sql]
     58
     59=== Support Ticket Creation
     60
     61Оваа процедура креира нов support тикет за корисникот. При креирањето се внесуваат корисник, сметка, претплата, доделен вработен, тип на тикет, subject, опис и priority.
     62
     63Се користи за стандардизирано отворање тикети во CRM системот.
     64
     65[attachment: SupportTicketCreation.sql]
     66
     67=== Suspend Accounts For Invoice Overdue
     68
     69Оваа процедура ги обработува задоцнетите фактури. Ако фактурата не е платена по истекување на рокот и grace периодот, процедурата може да го означи account како suspended и да ги суспендира активните претплати поврзани со него.
     70
     71Се користи како batch процес од billing тимот за автоматска контрола на неплатени фактури.
     72
     73[attachment: SuspendAccountsForInvoiceOverdue.sql]
     74
     75== Тригери
     76
     77Во базата на податоци има тригери кои автоматски извршуваат бизнис правила при внесување или промена на податоци.
     78
     79=== Account Balance Trigger
     80
     81Овој тригер автоматски го ажурира балансот на сметката кога се внесува или менува плаќање. Ако плаќањето е успешно, current balance на account се намалува. Ако статусот на плаќањето се промени, балансот се ажурира соодветно.
     82
     83Дополнително, тригерот го ажурира статусот на фактурата според тоа дали е целосно платена, делумно платена или задоцнета.
     84
     85[attachment: AccountBalanceTrigger.sql]
     86
     87=== Automatically Close Ticket Trigger
     88
     89Овој тригер автоматски го пополнува полето closed_at кога CRM тикет ќе добие статус resolved или closed. Ако тикетот повторно се отвори, closed_at се брише.
     90
     91Се користи за автоматска евиденција на времето на затворање на тикети.
     92
     93[attachment: AutoCloseTicketTrigger.sql]
     94
     95=== One Active Subscription For SIM
     96
     97Овој тригер спречува една SIM картичка да биде активна на повеќе претплати во исто време. Пред внесување нов запис во историјата на SIM картички, се проверува дали истата SIM картичка веќе има активна доделба без end_date.
     98
     99Се користи за зачувување на интегритетот на податоците и спречување конфликт при SIM assignment.
     100
     101[attachment: OneActiveSubscriptionForSIM.sql]
     102
     103=== Prevent Already Paid Trigger
     104
     105Овој тригер спречува плаќање на фактура која веќе е целосно платена. Исто така спречува внесување плаќање кое е поголемо од преостанатиот износ за плаќање.
     106
     107Се користи за заштита од преплаќање и неконзистентни billing податоци.
     108
     109[attachment: PreventAlreadyPaidTrigger.sql]
     110
     111=== Subscription Status Change Trigger
     112
     113Овој тригер автоматски внесува запис во subscription_status_history секогаш кога ќе се промени статусот на претплатата. Се зачувуваат стариот статус, новиот статус, времето на промена, вработениот и причината.
     114
     115Се користи за целосна историја на статуси на претплатите.
     116
     117[attachment: SubscriptionStatusChangeTrigger.sql]