| Version 9 (modified by , 5 days ago) ( diff ) |
|---|
DatabaseProgramming
Во оваа фаза се изработени функции, процедури и тригери за основните операции потребни за правилно функционирање на системот.
Функции и процедури
approve_inventory_transaction-
Тип: Процедура
Ја одобрува трансакцијата во што е во состојба PENDING и ги извршува сите поврзани inventory movements. Резервираната роба се троши од изворните bins, количините се ажурираат, залихата во дестинацијата се зголемува, а статусот на трансакцијата се менува во APPROVED.
cancel_pending_transaction-
Тип: Процедура
Ја поништува трансакцијата што е во чекање и ја ослободува резервираната роба создадена при креирање на трансакцијата. Статусот се менува во CANCELLED, а деталите за поништување се запишуваат во белешките на трансакцијата.
- Функции за креирање/ажурирање на трансакција:
а. receive_delivery -
Тип: Функција
Креира delivery трансакција во INVENTORY_TRANSACTIONS со робата која е добиена од доставувач. Враќа BIGINT - transaction_id. Ја Става вредноста на accepted_by на null.
б. ship_stock -
Тип: Функција
Креира pending shipment трансакција со робата која треба да се испрати. Бидејќи зема роба од source bin, ја резервира таа роба, за да не се испрати на друго место додека оваа трансакција чека да биде одобрена. Враќа BIGINT - transaction_id. Ја Става вредноста на accepted_by на null.
в. transfer_stock -
Тип: Функција
Креира pending внатрешна трансакција - за преместување на роба од еден во друг bin во рамките на нашите магацини. Исто како ship_stock, ја резервира таа роба. Ја Става вредноста на accepted_by на null.
г. adjust_inventory -
Тип: Функција
Креира pending трансакција за рачна промена на количина на роба. Го користи помошниот тип adjustment_item, кој ја има променливата quantity_change (позитивни вредности на оваа променлива додаваат, а негативни одземаат роба). Враќа BIGINT - transaction_id.
create_product-
Тип: Функција
Креира продукт со име и опис и го внесува во табелата PRODUCTS.
update_product-
Тип: Функција
Го ажурира името и описот на постоечки производ. Се користи за одржување и измена на каталогот на производи.
create_category-
Тип: Функција
Креира категорија за продукти - по потреба ја поврзува со родителска категорија.
update_category-
Тип: Функција
Го ажурира името или родителската категорија на постоечка категорија. Се користи за одржување на хиерархијата на категории.
assign_product_category-
Тип: Функција
Задава категорија на продукт - овозможувајќи организирање и класификација во каталогот.
remove_product_category-
Тип: Функција
Ја отстранува врската помеѓу производ и категорија, се користи при рекласификација.
create_attribute-
Тип: Функција
Креира дефиниција за атрибут на производ (на пр. боја, големина, тежина)
add_attribute_value-
Тип: Функција
Додава вредност за дадениот атрибут.
create_product_variant-
Тип: Функција
Креира варијанта на даден продукт. Враќа ID на новата варијанта.
update_product_variant-
Тип: Процедура
Ажурира постоечка варијанта на продукт.
assign_variant_attribute-
Тип: Процедура
Доделува вредност на атрибут на варијанта на производ.
remove_variant_attribute-
Тип: Процедура
Брише атрибут од одредена варијанта кога е потребна корекција или промена.
hire_employee-
Тип: Функција
Креира нов запис за вработен или реактивира претходно отпуштен вработен. Се валидираат податоците, статусот и организациската структура.
update_employee-
Тип: Процедура
Ги ажурира податоците за вработен (контакт, позиција, статус, менаџер). Отпуштени вработени не можат да се ажурираат.
terminate_employee-
Тип: Процедура
Го означува вработениот како отпуштен и ја запишува датата на прекин. Активните магацински доделувања автоматски се затвораат.
assign_employee_to_warehouse-
Тип: Функција
Го доделува вработениот во магацин за одреден период.
end_warehouse_assignment-
Тип: Процедура
Го затвора активниот assignment со поставување на крајна дата. Спречува повеќекратно затворање.
assign_role_to_employee-
Тип: Процедура
Доделува улога на вработен. Дупликати автоматски се игнорираат.
remove_role_from_employee-
Тип: Процедура
Ја отстранува улогата од даден вработен.
assign_permission_to_role-
Тип: Процедура
Поврзува дозвола со улога, овозможувајќи пристап преку улоги.
remove_permission_from_role-
Тип: Процедура
Ја отстранува дозволата од улога кога треба да се промени пристапот.
create_warehouse-
Тип: Функција
Креира запис за магацин со име и локација.
update_warehouse-
Тип: Процедура
Ажурира детали за даден магацин.
create_section-
Тип: Функција
Креира секција во магацин за подобра организација на складирање.
update_section-
Тип: Процедура
Го ажурира името или описот на секција.
create_location-
Тип: Функција
Креира локација во секција со ред, колона и ниво.
update_location-
Тип: Процедура
Ги ажурира координатите или кодот на постоечка локација.
create_bin-
Тип: Функција
Креира бин за складирање и дефинира капацитет.
update_bin-
Тип: Процедура
Го ажурира кодот или капацитетот на бин за прецизно управување со складиштето.
Тригери
update_timestamp - Ова е trigger функција што автоматски го поставува полето updated_at на тековно време секогаш кога ред во табелата се ажурира. Се користи за автоматско следење на последната измена на податоците без рачно ажурирање од апликацијата.
- PRODUCTS -
trg_products_updated_at - EMPLOYEES -
trg_employees_updated_at - EMPLOYEE_WAREHOUSE_ASSIGNMENTS -
trg_employee_warehouse_assignments_updated_at - ROLES -
trg_roles_updated_at - PERMISSIONS -
trg_permissions_updated_at
