Changes between Version 6 and Version 7 of DatabaseProgramming


Ignore:
Timestamp:
06/10/26 22:29:09 (5 days ago)
Author:
231014
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • DatabaseProgramming

    v6 v7  
    44== Функции и процедури ==
    55
    6 1. {{{approve_inventory_transaction}}} - За дадена трансакција ги извршува сите нејзини movements (ако има movements кои се уште не се одобрени или откажани, односно accepted_by = NULL). Под извршување се подразбира: Доколку има source bin (од кој вадиме роба) - се ажурира INVENTORY за тој bin да се намали количината, а доколку има destination bin (во кој пристигнува роба) - се ажурира INVENTORY за тој bin за да се внесе робата која пристигнала. Става вредност на accepted_by на id-то на вработениот кој ја одобрил. Ова е втора фаза на финализирање на трансакциите, која настапува по нивно креирање со една од функциите под точка 3.
     61. {{{approve_inventory_transaction}}} -
     7Тип: Процедура
     8Ја одобрува трансакцијата во што е во состојба PENDING и ги извршува сите поврзани inventory movements. Резервираната роба се троши од изворните bins, количините се ажурираат, залихата во дестинацијата се зголемува, а статусот на трансакцијата се менува во APPROVED.
    79
    8 2. {{{cancel_pending_transaction}}} - Ја откажува дадената трансакција (само доколку уште не е одобрена): ги ослободува сите резервации кои биле направени кога таа била креирана и ја става вредноста на accepted_by = -1, односно на сентинел вредност за да знаеме дека трансакцијата е откажана. Мора да внесеме employee со id = -1 кој ќе го користиме за оваа логика.
     102. {{{cancel_pending_transaction}}} -
     11Тип: Процедура
     12Ја поништува трансакцијата што е во чекање и ја ослободува резервираната роба создадена при креирање на трансакцијата. Статусот се менува во CANCELLED, а деталите за поништување се запишуваат во белешките на трансакцијата.
    913
    10143. Функции за креирање/ажурирање на трансакција:
    1115
    12    3а. {{{receive_delivery}}} - Креира delivery трансакција во INVENTORY_TRANSACTIONS со робата која е добиена од доставувач. Враќа BIGINT - transaction_id. Ја Става вредноста на accepted_by на null.
     16   а. {{{receive_delivery}}} -
     17       Тип: Функција
     18       Креира delivery трансакција во INVENTORY_TRANSACTIONS со робата која е добиена од доставувач. Враќа BIGINT - transaction_id. Ја Става вредноста на accepted_by на null.
    1319
    14    3б. {{{ship_stock}}} - Креира pending shipment трансакција со робата која треба да се испрати. Бидејќи зема роба од source bin, ја резервира таа роба, за да не се испрати на друго место додека оваа трансакција чека да биде одобрена. Враќа BIGINT - transaction_id. Ја Става вредноста на accepted_by на null.
     20   б. {{{ship_stock}}} -
     21       Тип: Функција
     22       Креира pending shipment трансакција со робата која треба да се испрати. Бидејќи зема роба од source bin, ја резервира таа роба, за да не се испрати на друго место додека оваа трансакција чека да биде одобрена. Враќа BIGINT - transaction_id. Ја Става вредноста на accepted_by на null.
    1523
    1624
    17    3в. {{{transfer_stock}}} - Креира pending внатрешна трансакција - за преместување на роба од еден во друг bin во рамките на нашиот магацин. Исто како ship_stock, ја резервира таа роба. Ја Става вредноста на accepted_by на null.
     25   в. {{{transfer_stock}}} -
     26        Тип: Функција
     27        Креира pending внатрешна трансакција - за преместување на роба од еден во друг bin во рамките на нашите магацини. Исто како ship_stock, ја резервира таа роба. Ја Става вредноста на accepted_by на null.
    1828
    1929
    20    3г. {{{adjust_inventory}}} - Креира pending трансакција за рачна промена на количина на роба. Го користи помошниот тип adjustment_item, кој ја има променливата quantity_change (позитивни вредности на оваа променлива додаваат, а негативни одземаат роба). Враќа BIGINT - transaction_id.
     30   г. {{{adjust_inventory}}} -
     31       Тип: Функција
     32       Креира pending трансакција за рачна промена на количина на роба. Го користи помошниот тип adjustment_item, кој ја има променливата quantity_change (позитивни вредности на оваа променлива додаваат, а негативни одземаат роба). Враќа BIGINT - transaction_id.
    2133
    22 4. {{{create_product}}} - Креира продукт со име и опис и го внесува во табелата PRODUCTS.
     344. {{{create_product}}} -
     35Тип: Функција
     36Креира продукт со име и опис и го внесува во табелата PRODUCTS.
    2337
    24 5. {{{update_product}}} - Ажурира продукт - го наоѓа преку id и ги менува името и описот, и ја ажурира табелата PRODUCTS.
     385. {{{update_product}}} -
     39Тип: Функција
     40Го ажурира името и описот на постоечки производ. Се користи за одржување и измена на каталогот на производи.
    2541
    26 6. {{{create_category}}} - Креира категорија за продукти - внимавајќи дали е таа подкатегорија со променливата parent_id која го дава id-то на родителот на категоријата (доколку го има; доколку не тоа е null). Ја додава категоријата во табелата CATEGORIES.
     426. {{{create_category}}} -
     43Тип: Функција
     44Креира категорија за продукти - по потреба ја поврзува со родителска категорија.
    2745
    28 7. {{{update_category}}} - Ажурира категорија во табелата CATEGORIES.
     467. {{{update_category}}} -
     47Тип: Функција
     48Го ажурира името или родителската категорија на постоечка категорија. Се користи за одржување на хиерархијата на категории.
    2949
    30 8. {{{assign_product_category}}} - Задава категорија на продукт - во табелата PRODUCT_CATEGORIES го внесува product_id и името на категоријата.
     508. {{{assign_product_category}}} -
     51Тип: Функција
     52Задава категорија на продукт - овозможувајќи организирање и класификација во каталогот.
    3153
    32 9. {{{remove_product_category}}} - Ја брише дадената категорија на продуктот - го брише редот од табелата PRODUCT_CATEGORIES каде што е зададена таа категорија за тој продукт.
     549. {{{remove_product_category}}} -
     55Тип: Функција
     56Ја отстранува врската помеѓу производ и категорија, се користи при рекласификација.
    3357
    34 10. {{{create_attribute}}} - Креира атрибут и го внесува во табелата ATTRIBUTES
     5810. {{{create_attribute}}} -
     59Тип: Функција
     60Креира дефиниција за атрибут на производ (на пр. боја, големина, тежина)
    3561
    36 11. {{{add_attribute_value}}} - Додава вредност за дадениот атрибут во табелата ATTRIBUTE_VALUES.
     6211. {{{add_attribute_value}}} -
     63Тип: Функција
     64Додава вредност за дадениот атрибут.
    3765
    38 12. {{{create_product_variant}}} - Креира варијанта на даден продукт и ја внесува во табелата PRODUCT_VARIANTS.
     6612. {{{create_product_variant}}} -
     67Тип: Функција
     68Креира варијанта на даден продукт. Враќа ID на новата варијанта.
    3969
    40 13. {{{update_product_variant}}} - Ажурира варијанта на продукт во табелата PRODUCT_VARIANTS.
     7013. {{{update_product_variant}}} -
     71Тип: Процедура
     72Ажурира постоечка варијанта на продукт.
    4173
    427414. {{{assign_variant_attribute}}} - Дава атрибут на одредена варијанта на продукт и внесува во VARIANT_ATTRIBUTES.