| 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"] |
| 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"] |
| 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 картички и усогласување на финансиските податоци. |
| 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"] |