Changes between Version 3 and Version 4 of DatabaseProgramming


Ignore:
Timestamp:
09/19/26 11:43:32 (10 days ago)
Author:
231139
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • DatabaseProgramming

    v3 v4  
    33== Функции
    44
    5 Во базата на податоци има функции кои овозможуваат пресметка и проверка на важни информации без потреба од рачно пишување сложени SQL прашања.
     5Во базата има функции за пресметка и проверка на податоци за претплати, наплата, SIM картички и користење услуги.
     6
     7=== Total Monthly Recurring Charge
     8
     9Оваа функција го пресметува вкупниот месечен надомест за даден корисник. Ги собира цените на активните тарифни планови и активните дополнителни услуги што се наплаќаат секој месец.
     10
     11Би се користела за брза проценка на редовниот месечен трошок на корисникот.
     12
     13[attachment:"01 Total monthly recurring charge.sql"]
     14
     15=== Outstanding Customer Balance
     16
     17Оваа функција го пресметува вкупниот неплатен износ на даден корисник. За секоја фактура што не е откажана ги одзема успешните уплати и потоа ги собира преостанатите износи.
     18
     19Би се користела од тимот за наплата и корисничката поддршка при проверка на долгови.
     20
     21[attachment:"02 Outstanding customer balance.sql"]
     22
     23=== Invoice Remaining Balance
     24
     25Оваа функција го пресметува преостанатиот износ за една фактура, земајќи ги предвид само успешните уплати. Вратениот износ не може да биде помал од нула.
     26
     27Би се користела за проверка на долг по фактура и при обработка на задоцнети плаќања.
     28
     29[attachment:"03 Invoice remaining balance.sql"]
     30
     31=== SIM Ready For Use Check
     32
     33Оваа функција проверува дали SIM картичката постои, дали има статус available и дали веќе е доделена на активна претплата. Враќа текстуална порака со резултатот од проверката.
     34
     35Би се користела пред активирање претплата за да се избегне доделување недостапна SIM картичка.
     36
     37[attachment:"04 SIM ready for use check.sql"]
    638
    739=== Customer Subscription Summary
    840
    9 Оваа функција враќа кратко резиме за претплатите на даден корисник. Со неа може брзо да се провери колку претплати има корисникот, колку од нив се активни и кои услуги ги користи.
     41Оваа функција враќа кратко текстуално резиме за даден корисник: број на активни, суспендирани и завршени претплати, како и вкупен месечен надомест.
    1042
    11 Функцијата би се користела од customer support и sales тимот за брз преглед на состојбата на корисникот.
     43Би се користела од корисничката поддршка за брз преглед на состојбата на корисникот.
    1244
    13 [attachment:"Customer subscription summary.sql"]
     45[attachment:"05 Customer subscription summary.sql"]
    1446
    15 === Outstanding Customer Balance
     47=== Customer Usage Between Dates
    1648
    17 Оваа функција го пресметува вкупниот неплатен баланс за даден корисник. Ги зема предвид фактурите и плаќањата и враќа колку корисникот должи.
     49Оваа функција ја сумира потрошувачката на корисникот во зададен период, одделно за секоја претплата. Враќа минути разговор, број на SMS пораки, потрошени GB и наплатен износ.
    1850
    19 Функцијата би се користела од billing тимот и customer support при проверка на неплатени фактури, суспензија на услуги или известување на корисникот.
     51Би се користела за анализа на користењето услуги и проверка на трошоците за избрани датуми.
    2052
    21 [attachment:"Outstanding customer balance.sql"]
    22 
    23 === SIM Ready For Use Check
    24 
    25 Оваа функција проверува дали одредена SIM картичка е подготвена за користење. Се проверува дали SIM картичката има соодветен статус и дали веќе не е активна на друга претплата.
    26 
    27 Функцијата би се користела пред доделување SIM картичка на претплата, за да се спречи користење на веќе активна или невалидна SIM картичка.
    28 
    29 [attachment:"SIM ready for use check.sql"]
    30 
    31 === Total Monthly Recurring Charge
    32 
    33 Оваа функција ја пресметува вкупната месечна recurring наплата за даден корисник. Во пресметката се земаат активните претплати и активните recurring addons.
    34 
    35 Функцијата би се користела за billing пресметки, проценка на месечна сметка и проверка на приход по корисник.
    36 
    37 [attachment:"Total monthly reccuring charge.sql"]
     53[attachment:"06 Customer usage between dates.sql"]
    3854
    3955== Процедури
    4056
    41 Во базата на податоци има процедури кои автоматизираат важни операции во телекомуникацискиот систем.
     57Процедурите извршуваат повеќе поврзани операции при активирање услуги, промена на план, отворање тикети и наплата.
    4258
    43 === Customer SIM Assignment
     59=== Customer SIM Activation
    4460
    45 Оваа процедура се користи за доделување SIM картичка на претплата и активирање на корисничка услуга. Процедурата го поврзува корисникот, сметката, тарифниот план, претплатата и SIM картичката.
     61Оваа процедура создава нова претплата и и доделува SIM картичка. Пред активирањето проверува дали сметката, тарифниот план и договорот се активни и дали SIM картичката е достапна.
    4662
    47 Се користи при активирање нова претплата или при издавање нова SIM картичка на корисник.
     63Би се користела при активирање нова претплата. Покрај претплатата, внесува запис во историјата на статуси и во историјата на доделувањето SIM картички.
    4864
    49 [attachment:"Customer sim assignment.sql"]
     65[attachment:"01 Customer SIM activation.sql"]
    5066
    5167=== Change Plan Procedure
    5268
    53 Оваа процедура овозможува промена на тарифниот план на постоечка претплата. Се користи кога корисникот сака да премине на друг пакет, на пример од основен кон поголем пакет со повеќе интернет или минути.
     69Оваа процедура го менува тарифниот план на активна или суспендирана претплата. Проверува дали новиот план е активен и припаѓа на истиот производ како тековниот план.
    5470
    55 Процедурата би се користела од sales или customer support тимот.
     71Би се користела кога корисникот бара промена на пакетот. Новиот план се применува на идните фактури.
    5672
    57 [attachment:"Change plan procedure.sql"]
     73[attachment:"02 Change plan procedure.sql"]
    5874
    5975=== Support Ticket Creation
    6076
    61 Оваа процедура креира нов support тикет за корисникот. При креирањето се внесуваат корисник, сметка, претплата, доделен вработен, тип на тикет, subject, опис и priority.
     77Оваа процедура отвора тикет за корисничка поддршка откако ќе ги провери корисникот, сметката, претплатата, вработениот и вредностите за тип, приоритет и канал.
    6278
    63 Се користи за стандардизирано отворање тикети во CRM системот.
     79Би се користела за стандардизирано пријавување проблем. Истовремено запишува почетна интеракција и му го доделува тикетот на вработениот.
    6480
    65 [attachment:"Suppor ticket creation.sql"]
     81[attachment:"03 Support ticket creation.sql"]
    6682
    67 === Suspend Accounts For Invoice Overdue
     83=== Suspend Overdue Accounts
    6884
    69 Оваа процедура ги обработува задоцнетите фактури. Ако фактурата не е платена по истекување на рокот и grace периодот, процедурата може да го означи account како suspended и да ги суспендира активните претплати поврзани со него.
     85Оваа процедура ги означува неплатените фактури со поминат рок како overdue. Потоа ги суспендира активните сметки со такви фактури и нивните активни претплати.
    7086
    71 Се користи како batch процес од billing тимот за автоматска контрола на неплатени фактури.
     87Би се користела како периодична billing постапка за обработка на задоцнет долг. Датумот за проверка може да се зададе при повикот.
    7288
    73 [attachment:"Suspend accounts for invoice overdue.sql"]
     89[attachment:"04 Suspend overdue accounts.sql"]
     90
     91=== Record Invoice Payment
     92
     93Оваа процедура евидентира успешно плаќање за дадена фактура. Проверува дали износот е позитивен, фактурата припаѓа на сметката и начинот на плаќање е активен.
     94
     95Би се користела при внесување уплата. Потоа финансиските тригери ги усогласуваат статусот на фактурата и балансот на сметката.
     96
     97[attachment:"05 Record invoice payment.sql"]
    7498
    7599== Тригери
    76100
    77 Во базата на податоци има тригери кои автоматски извршуваат бизнис правила при внесување или промена на податоци.
    78 
    79 === Account Balance Trigger
    80 
    81 Овој тригер автоматски го ажурира балансот на сметката кога се внесува или менува плаќање. Ако плаќањето е успешно, current balance на account се намалува. Ако статусот на плаќањето се промени, балансот се ажурира соодветно.
    82 
    83 Дополнително, тригерот го ажурира статусот на фактурата според тоа дали е целосно платена, делумно платена или задоцнета.
    84 
    85 [attachment:"Account balance trigger.sql"]
    86 
    87 === Automatically Close Ticket Trigger
    88 
    89 Овој тригер автоматски го пополнува полето closed_at кога CRM тикет ќе добие статус resolved или closed. Ако тикетот повторно се отвори, closed_at се брише.
    90 
    91 Се користи за автоматска евиденција на времето на затворање на тикети.
    92 
    93 [attachment:"AutoClose ticket trigger.sql"]
    94 
    95 === One Active Subscription For SIM
    96 
    97 Овој тригер спречува една SIM картичка да биде активна на повеќе претплати во исто време. Пред внесување нов запис во историјата на SIM картички, се проверува дали истата SIM картичка веќе има активна доделба без end_date.
    98 
    99 Се користи за зачувување на интегритетот на податоците и спречување конфликт при SIM assignment.
    100 
    101 [attachment:"One active subscription for SIM.sql"]
    102 
    103 === Prevent Already Paid Trigger
    104 
    105 Овој тригер спречува плаќање на фактура која веќе е целосно платена. Исто така спречува внесување плаќање кое е поголемо од преостанатиот износ за плаќање.
    106 
    107 Се користи за заштита од преплаќање и неконзистентни billing податоци.
    108 
    109 [attachment:"Prevent already paid trigger.sql"]
     101Тригерите автоматски ги спроведуваат правилата за историја на промени, плаќања, SIM картички и усогласување на финансиските податоци.
    110102
    111103=== Subscription Status Change Trigger
    112104
    113 Овој тригер автоматски внесува запис во subscription_status_history секогаш кога ќе се промени статусот на претплатата. Се зачувуваат стариот статус, новиот статус, времето на промена, вработениот и причината.
     105Овој тригер при промена на статусот на претплата внесува запис со стариот и новиот статус, времето, причината и вработениот кога е зададен. Го менува и статусот на тековно доделената SIM картичка.
    114106
    115 Се користи за целосна историја на статуси на претплатите.
     107Би се користел за автоматска историја на претплатата и усогласување на нејзиниот статус со SIM картичката.
    116108
    117 [attachment:"Subscription status change trigger .sql"]
     109[attachment:"01 Subscription status change trigger.sql"]
     110
     111=== Auto Close Ticket Trigger
     112
     113Овој тригер го пополнува полето closed_at кога тикетот има статус closed. Кога статусот е различен од closed, го празни тоа поле.
     114
     115Би се користел за точна евиденција на времето на затворање или повторно отворање тикет.
     116
     117[attachment:"02 Auto close ticket trigger.sql"]
     118
     119=== Prevent Overpaid Invoice Trigger
     120
     121Овој тригер проверува успешно плаќање пред да се внесе или промени. Ја заклучува поврзаната фактура и одбива плаќање на откажана, целосно платена или преплатена фактура.
     122
     123Би се користел за спречување погрешни и истовремени плаќања што би го надминале износот на фактурата.
     124
     125[attachment:"03 Prevent overpaid invoice trigger.sql"]
     126
     127=== Payment Financial Sync Trigger
     128
     129Овој тригер по внесување, промена или бришење плаќање повторно го пресметува статусот на засегнатата фактура и тековниот баланс на сметката. При префрлање плаќање ги обработува и старите и новите поврзани записи.
     130
     131Би се користел за автоматско усогласување на плаќањата со фактурите и сметките.
     132
     133[attachment:"04 Payment financial sync trigger.sql"]
     134
     135=== Invoice Balance Trigger
     136
     137Овој тригер повторно го пресметува балансот на сметката по внесување, промена или бришење фактура. Ако фактурата се префрли на друга сметка, ги ажурира двете сметки.
     138
     139Би се користел за тековниот баланс секогаш да ги одразува фактурите и успешните уплати.
     140
     141[attachment:"05 Invoice balance trigger.sql"]
     142
     143=== SIM History Status Trigger
     144
     145Овој тригер го усогласува статусот на SIM картичката кога ќе се внесе, промени или избрише запис за нејзино доделување. Според тековната претплата, SIM картичката добива статус active, suspended, deactivated или available.
     146
     147Би се користел за статусот на SIM картичката да одговара на нејзината историја. Датотеката дополнително поставува правило една претплата да има најмногу една тековна SIM картичка.
     148
     149[attachment:"06 SIM history status trigger.sql"]