Web система за съхранение и обработка на икономическа информация



страница3/3
Дата25.08.2016
Размер498.19 Kb.
#7196
1   2   3

Полетата от тип varchar използват кодиране от типа utf8_unicode_ci, което е необходимо за обработването на текста и позволява на потребителите да въвеждат информация не само на английски език.

Таблица с пълно описание параметрите на всяка валута

Val_uniq

Field

Type

Collation/Extra

Функция на полето

row_id

int(11)

auto_increment

Създава главен ключ

code

varchar(2)

utf8_unicode_ci

Уникален код на валутата

name

varchar(20)

utf8_unicode_ci

Наименование на валутата

abr

varchar(3)

utf8_unicode_ci

Абривиатура на валутата

quest

Int(11)




Съотношението между лев и съответната валута

Таблица с валутни курсове

Walkurs


Field

Type

Collation/Extra

Функция на полето

row_id

int(11)

auto_increment

Създава главен ключ

dt

date




Дата

lw

double




Стойност на съответната валута

kod_uniq

varchar(2)

utf8_unicode_ci

Уникален код на валутата, който служи за връзка с val_uniq

Таблица с валутни курсове за митнически оценки

Walmitoc


Field

Type

Collation/Extra

Функция на полето

row_id

int(11)

auto_increment

Създава главен ключ

dt

date




Дата

lw

double




Стойност на съответната валута

kod_uniq

varchar(2)

utf8_unicode_ci

Уникален код на валутата, който служи за връзка с val_uniq

Таблица с основен лихвен процент, в която дневната лихва се изчислява с точност до пети знак след десетичната точка

Osnlpr


Field

Type

Collation/Extra

Функция на полето

row_id

int(11)

auto_increment

Създава главен ключ

dt

date




Дата

osnlpr

double




Основен лихвен процент на БНБ

dnl

varchar(2)

utf8_unicode_ci

Дневна лихва с точност до пети знак след десетичната точка

naklih







Наказателна лихва при изчисляване на лихва по държавни вземания

Таблица с основен лихвен процент, в която дневната лихва се изчислява с точност до трети знак след десетичната точка

Osnlpr3


Field

Type

Collation/Extra

Функция на полето

row_id

int(11)

auto_increment

Създава главен ключ

dt

date




Дата

osnlpr

double




Основен лихвен процент на БНБ

dnl

varchar(2)

utf8_unicode_ci

Дневна лихва с точност до трети знак след десетичната точка

naklih







Наказателна лихва при изчисляване на лихва по държавни вземания

Таблица с основен лихвен процент, в която се изчислява законна лихва

Osnlprzl


Field

Type

Collation/Extra

Функция на полето

row_id

int(11)

auto_increment

Създава главен ключ

dt

date




Дата

osnlpr

double




Основен лихвен процент на БНБ

dnl

varchar(2)

utf8_unicode_ci

Дневна лихва с точност до пети знак след десетичната точка

naklih







Наказателна лихва при изчисляване на законна лихва

Таблица с тримесечен euribor за евро

Euribor


Field

Type

Collation/Extra

Функция на полето

row_id

int(11)

auto_increment

Създава главен ключ

dt

date




Дата

osnlpr

double




Стойност на euribor за съответната дата

dnl

double



Дневна лихва

naklih

double




Наказателна лихва при изчисляване на законна лихва

Таблица със стойността на тримесечен либор за Австриийски долар

Lib_aud


Field

Type

Collation/Extra

Функция на полето

row_id

int(11)

auto_increment

Създава главен ключ

dt

date




Дата

osnlpr

double




Стойност на libor за съответната дата

dnl

double



Дневна лихва

naklih

double




Наказателна лихва при изчисляване на законна лихва

На същия принцип са създадени и таблиците за libor за всички останали валути, които поддържа системата.

2.5. Реализация на системата

Описание на системата

Системата представлява структурирана база данни с нормативна икономическа информация с потребителски интерфейс за търсене и изчислителни модули. За всяка една от компонентите е разработен интерфейс за администриране на базата данни, което позволява изграждането и нейното текущо актуализиране.

Koмпоненти на системата



1. Клиентска част

  1. Страница Нормативна икономическа информация

Съдържа информация за уреждане на държавни вземания въз основа на закона за лихви върху данъци, такси и други държавни вземания, закон за изменение и допълнение на закона за данък общ доход със съответните таблици от 1995 г. до 2007 г., наредба за командировките в страната и таблица за дневни и квартирни пари за командировки и специализации в чужбина, указания на Министерство на финансите относно лизингови отношения, нормативни положения, касаещи законната лихва, минимална работна заплата и надбавки, методика за изчисляване на индивидуален коефициент.

  1. Страница Централни валутни курсове /фиксинг/ на БНБ

Въз основа на базата данни с валутни курсове от 1994 г. до момента клиентът има възможност да разгледа фиксинга на БНБ за определена дата или да търси за една или няколко валути за дадена дата. При липса на въведена информация за дадената дата системата показва данните за най-близките дати.

  1. Страница Валутни курсове за митнически оценки

Въз основа на базата данни с валутни курсове за митнически оценки от 1994 г. до момента клиентът има възможност да разгледа данните за определена дата или да търси за една или няколко валути за дадена дата. При липса на въведена информация за дадената дата системата показва данните за най-близките дати.

  1. Страница Основен лихвен процент на БНБ

Потребителят може да търси и разглежда измененията в ОЛП от 1991 г. до момента.

  1. Страница Либор по валути

LIBOR (съкращение от London Interbank Offered Rate) е усреднен лихвен процент, отразяващ лихвите, по които банките предлагат негарантирани заеми на лондонския междубанков пазар. Той се използва като референтен курс за определяне лихвата при различни банкови операции. Референтен курс е този, който определя възвръщаемостта по дадена финансова сделка, така че страните по сделката да не могат да му влияят. Той често е някой от вида LIBOR, но това не е задължително. Референтен курс може да бъде индекс на потребителските цени, индекс на цените на недвижими имоти, норма на безработица. Страните по сделката избират референтния курс така, че никоя от тях да не може да му влияе.

Краткосрочният (обикновено тримесечният) LIBOR най-често се използва за референтен курс при сделки с бонове с променлива лихва, заеми, замени(swap), фючърсни сделки за краткосрочни лихвени проценти и други. Курсовете обикновено се изчисляват от независима организация, като например Британската Банкова Асоциация, като средно на курсовете предлагани от голяма група от банки, осигурявайки по този начин независимост на курса.

LIBOR се публикува ежедневно от Британската Банкова Асоциация малко след 11:00 часа Лондонско време. LIBOR представлява усреднена стойност от лихвите по влогове с продължителност от един ден до една година предлагани от определени банки-участници. По-краткосрочните лихвени проценти, до 6 месеца, са обикновено надеждни и отразяват точно пазарните условия по време на изчисление на LIBOR. В действителност лихвените проценти по които банките сключват сделки по между си се променят през целия ден.

LIBOR е важен референтен лихвен процент не само за Британската лира, но и за други валути като например Американския долар, Евро, Японската йена, Швейцарския франк, Канадския долар, Австралийския долар, Шведската крона, Датската крона и Новозеландския долар.

Този модул дава възможност на клиента да търси данни за либор по дадена валута. Ако липсват данни за тази дата на клиента се предоставя информация за най-близките дати до търсената.


  1. Страница Euribor

EURIBOR (съкратено на английски: Euro Interbank Offered Rate) е средното лихвено равнище, при което банките в еврозоната си разменят срочни депозити в евро. Изчислява се от Европейската банкова федерация в Брюксел, Белгия, която представлява интересите на 3000 кредитни институции в страните-членки на Евросъюза, а също и на Исландия, Норвегия и Швейцария. Обявява се ежедневно в 11.00 централно-европейско време и показва базовата лихва на междубанковият паричен пазар в еврозоната за депозити в евро за 1, 3, 6 и 12 месеца. Въведен е 1999 г. с въвеждането на единната валута в Евросъюза.

Въз основа на база данни с Euribor за евро от 1999 г. до момента клиентът може да търси и разглежда информация за конкретна дата.





  1. Модул изчисляване на лихви в лева на база основен лихвен процент /ОЛП/

Позволява изчисляване на дължими лихви за една или порменящи се главници за посочен период от време (в системата се поддържа публикувания от БНБ лихвен процент от началото на обявяването му – 1991 г.). На база на основния лихвен процент (ОЛП) са възможни изчисляване на лихви по държавни вземания, изчисляване на законна лихва, изчисляване на мораторна (договорена) лихва.

Неплатените в сроковете за доброволно плащане, неудържани или удържани, но невнесени в срок данъци, такси, отчисления от печалби, вноски към бюджета и други държавни вземания от подобен характер, се събират с лихва 1/360 част от основния лихвен процент за съответния период плюс 0.05(до 1991г.) на сто и 0.1(след 1991 г.) на сто за всеки просрочен ден. Със същата лихва се събират неплатените в срока за доброволно плащане вноски по задължителното застраховане на имуществата. Лихви върху лихви и лихви върху глоби не се дължат. В годините принципът за изчисляване на дължимите държавни вземания се е променял и това е отразено в софтуера.

Изчисляването на законната лихва по просрочени задължения в левове и валута се основава на постановление на Министерски съвет, което определя от 01.09.1994 годишен размер на законната лихва по просрочени задължения в левове – основният лихвен процент на БНБ за периода плюс 10 пункта, а в конвертируема валута – тримесечният Либор за съответния вид валута плюс 10 пункта. Преди 01.09.1994 размера на законната лихва по просрочени задължения е основният лихвен процент на БНБ за периода плюс 3 пункта.

За изчисляване на договорената лихва са реализирани два варианта – с влияние на основния лихвен процент и договорена надбавка в проценти или твърдо договорен процент без влияние на ОЛП.



  1. Модул изчисляване на лихви във валути на база либор

На аналогичен принцип като предходния модул е реализирано изчисляване на законна лихва когато договореностите са във валута различна от лева. За основа служат ежедневно публикуваните лихвени равнища на лондонския междубанков пазар – Либор.

  1. Модул изчисляване на лихви на база Euribor

Аналогично на предходния модул, но на база европейския междубанков лихвен процент (ЮРИБОР).

  1. Страница Общи индекси на потребителските цени /инфлация/

Съдържа информация за измененията на потребителските цени по месеци от 1994 г. до момента на базата на потребителската кошница на НСИ.

  1. Страница Цени на течни горива

Съдържа информация за промените в цените на течните горива от 1995 г. до момента.

  1. Страница Норми за разход на горива и смазочни материали

  2. Страница Разстояния в километри между основни градове в България

  3. Страница Разстояния в километри между основни градове в Европа

  4. Модул за преизчислени курсове през фиксинга на БНБ за определена дата

Позволява основавайки се на базата данни с валутни курсове да се извършва преизчисляване на курсове за определена валута (така известните crossed rates). Кръстосаните курсове се получават от съотношението на две валути към трета валута (в случая третата валута е лев). Общата формула за изчисляване на кръстосания курс между две валути чрез използване на курсовете между тях и трета (базова валута) е:

Кръстосан курс

При прилагането на тази формула предварително се изчислява стойността за единица от съответната валута към лев като за целта се използва информация от таблица val_uniq за съотношението между лев и дадената валута.


  1. Модул за изчисляване на среден курс на избрана валута за определен период

С цел практичност често се използва курс, който е приблизително равен на фактическия курс към датата на сделката, например—за всички сделки във всяка една чуждестранна валута, осъществени през съответния период, може да се използва среден курс за седмицата или за месеца. Но ако обменните курсове се колебаят значително, използването на среден курс за даден период не е достатъчно надеждно.
2. Администраторска част

Чрез удобен за потребителите интерфейс се предоставя възможност за поддържане на актуална база. При менютата за въвеждане и корекция на данни в базата, както и в модулите за изчисление на лихви, кръстосани курсове и среден курс са разработени функции за валидиране на въведените от потребителя данни с цел подсигуряване коректността на информацията.

Функция за валидиране на дата – реализирана е с помощта на JavaScript, премахва трафика с некоректно въведени данни към системата, прилага се към всяко поле в клиентския интерфейс, в което потребителя задава дата, не позволява въвеждането на невалидна дата, автоматично задава формата на датата и разделителя във формат дд/мм/гггг.

function validDate(obj){

date=obj.value

if(/[^\d/]|(\/\/)/g.test(date)) {obj.value=obj.value.replace(/[^\d/]/g,'');obj.value=obj.value.replace(/\/{2}/g,'/'); return }

if (/^\d{2}$/.test(date)){obj.value=obj.value+'/'; return }

if (/^\d{2}\/\d{2}$/.test(date)){obj.value=obj.value+'/'; return }

if (!/^\d{1,2}\/\d{1,2}\/\d{4}$/.test(date)) return
test1=(/^\d{1,2}\/?\d{1,2}\/\d{4}$/.test(date))

date=date.split('/')

d=new Date(date[2],date[1]-1,date[0])

test2=(1*date[0]==d.getDate() && 1*date[1]==(d.getMonth()+1) && 1*date[2]==d.getFullYear())

if (test1 && test2) return true

alert("Невалидна дата")

obj.select();

obj.focus()

return false

}
Функция за валидиране числова стойност на поле – в полетата за стойност на валутен курс, либор, euribor, основен лихвен процент е задължително въвеждането единствено на числова стойност и това е посигурено чрез прилагането на следната фунция:


function checkNumber(val) {

var strPass = val.value;

var strLength = strPass.length;

var lchar = val.value.charAt((strLength) - 1);

var cCode = CalcKeyCode(lchar);
if (cCode < 46 || cCode > 57 || cCode==47) {

var myNumber = val.value.substring(0, (strLength) - 1);

val.value = myNumber;

}

return false;



}
Фунции за добавяне и изтриване на редове в менютата за въвеждане на валутни курсове, либор, euribor, основен лихвен процент, както и в менютата за изчисляване на лихви. Реализирани са с използване и управление на DOM на уеб страницата.
function addRowToTable()

{

var tbl = document.getElementById('tblSample');



var lastRow = tbl.rows.length;

var iteration = lastRow;

var row = tbl.insertRow(lastRow);
var cellLeft = row.insertCell(0);

var textNode = document.createTextNode(iteration);

cellLeft.appendChild(textNode);

var cellRight = row.insertCell(1);

var el = document.createElement("");

el.type = 'text';

el.name = 'txtRow' + iteration;

el.id = 'txtRow' + iteration;

el.size = 9;

el.maxlength = 10;

el.onkeyup = function() { validDate(this); }

cellRight.appendChild(el);

var cellRightSel = row.insertCell(2);

var sel = document.createElement("");

sel.type = 'text';

sel.name = 'selRow' + iteration;

sel.id = 'selRow' + iteration;

sel.size = 20;

cellRightSel.appendChild(sel);

}
function removeRowFromTable()

{

var tbl = document.getElementById('tblSample');



var lastRow = tbl.rows.length;

if (lastRow > 2) tbl.deleteRow(lastRow - 1);

}

А. Въвеждане/корекция на валутни курсове /фиксинг/ на БНБ



Разработен е удобен интерфейс за текущо въвеждане на фиксинга на БНБ с цел поддържане на актуална информация, която служи и като основа за модулите за преизчислени курсове през фиксинга на БНБ и изчисляване на среден курс за дадена валута за определен период.

В. Въвеждане/корекция на валутни курсове за митнически оценки

Предоставя възможност за текущо отразяване промените на валутните курсове за митнически оценки.

С. Въвеждане/корекция на основен лихвен процент на БНБ

На администратора се дава възможност да отрази промяната на ОЛП за съответния период и на базата на тази промяна се изчислява от системата дневната наказателна лихва съответно за дължимите държавни вземания и мораторна лихва, които се записват в базата. Логиката на изчисляване на мораторната лихва се основава на ОЛП плюс десет пункта на годишна база законова лихва. При изчисляване на лихвата по държавни вземания надбавката върху ОЛП е различна за различните периоди и се основава на правителствени решения. Тези промени се отчитат при изчисляване на дневната наказателна лихва. Дневната наказателна лихва се използва в модулите за изчисляване на дължими лихви в лева.

Изчисляване на дневна наказателна лихва с точност до пети знак след десетичната точка

$exp_date1 = "1997-06-30";

$exp_date2 = "1999-01-01";

$exp_date3 = "1994-09-01";

$exp_d1 = strtotime($exp_date1);

$exp_d2 = strtotime($exp_date2);

$exp_d3 = strtotime($exp_date3);

switch ($data_n)

{

case $data_n < $exp_d1:



$naklih1=0.050;

$dnl1=round($osnlpr/360+0.05000,5);

break;

case $data_n>=$exp_d1 && $data_n<$exp_d2:



$naklih1=0.100;

$dnl1=round($osnlpr/360+0.10000,5);

break;

case $data_n>=$exp_d2:



$naklih1=0.050;

$dnl1=round($osnlpr/360+0.05000,5);

break;

}

Изчисляване на законна лихва



switch ($data_n2)

{

case $data_n2 < $exp_d3:



$naklih3=0.008;

$dnl3=round(($osnlpr+3)/360.00000,5);

break;

case $data_n2>=$exp_d3:



$naklih3=0.028;

$dnl3=round(($osnlpr+10)/360.00000,5);

break; }



  1. Въвеждане/корекция на либор

На администратора се дава възможност да отрази промяната на либора за избрана валута за съответна дата и на базата на тази промяна се изчислява от системата дневната наказателна лихва за съответната дата. Дневната наказателна лихва се използва в модулите за изчисляване на дължими лихви за избраната валута.

Е. Въвеждане/корекция на euribor

По аналогичен начин както при въвеждане/корекция на либор като основа е публикуваният euribor за съответната дата.

3. Заключение
Компютърните информационни системи могат значително да облекчат и ускорят работата с всякакви административни процедури, производствени и управленски процеси – дори такива, които на пръв поглед изглеждат лесни и елементарни, но отнемат много време за извършването им.

Разработената Web система за съхранение и обработка на икономическа информация е лесна за употреба, дава подробна и добре структурирана информация. Системата предоставя изключително полезна нормативна, икономическа и финансова информация с включени изчислителни процедури, които отнемат много време за извършването им, а при по-големи обеми практически това е невъзможно. Тази система реално функционира в друга операционна система, ползва се в големи организации и предоставя посочените като съдържание услуги. Развитието на приложенията от типа клиент-сървър предполага и изисква предоставяне на посочените услуги и в уеб базиран вариант, което е и целта на настоящата дипломна работа.

Системата е модулно организирана, което позволява при необходимост допълване с нови функции и процедури.

Използвана литература:


  1. Люк Уелингтън, Лаура Томпсън, „Разработване на проекти за Web с PHP и MySQL”

  2. Хесус Кастането, Хариш Роат, „Професионално програмиране с PHP”

  3. Юлиана Пенева, „Бази от данни”

  4. Хю Е.Уилямс, Дейвид Лейн, „Уеб приложения за бази данни с PHP и MySQL”

  5. Джейсън К. Тийг, „DHTML и CSS за WEB”

  6. Дани Гудман, „Програмиране в Интернет чрез JavaScript”

  7. Джон Полок, „JavaScript – ръководство на програмиста”

  8. Jeremy Keith, „DOM Scripting”

Приложение 1


Приложение 2

Изчисляване на мораторна лихва на база олп и договорен процент





Приложение 3

преизчислени курсове през фиксинга на БНБ


среден курс на избрана валута за определен период


приложение 4

въвеждане/корекция на основен лихвен процент на бнб






1 Според данни от www.w3.org/style/css

2 Използвани данни от “Javascript-Ръководство на програмиста”, Джон Полок

3 Използвани данни от “DOM Scripting”, Jeremy Keith

4 Използвани данни от „Бази данни”, Юлиана Пенева

5 Според http://www.mysql.com.



Сподели с приятели:
1   2   3




©obuch.info 2024
отнасят до администрацията

    Начална страница