Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Фронтовой функционал собран в:
public\javascripts\ss_adjust\main.js
public\javascripts\ss_adjust\templates.jsss_adjustments_table_get_skus
Основной запрос наполнения таблицы таба "SKUs" ss_adjust. Назначен на /api/ss_adjust/get_skus_by_group.
Фильтр список групп. Поиск по SKU осуществляется в браузере.

ss_adjustments_table_get_stores
Основной запрос наполнения таблицы таба "Магазины" ss_adjust. Назначен на /api/ss_adjust/data.
Фильтров нет. Поиск по названию или ID магазина осуществляется в браузере.

ss_adjustments_table_get_sku-stores
Основной запрос наполнения таблицы таба "SKUs/Магазины" ss_adjust. Назначен на Серверная часть в:
classes\controllers\ssAdjust.js

Практически все запросы по модификации таблиц SS_ADJUSTMENTS/STORE_SS_COEF/SKU_STORE_SS_COEF через http запросы из api.js выведены в public\javascripts\ss_adjust\main.js

То что открывается, например по http://localhost:3000/ss_adjust , это index.html собранный из .jade шаблонов и набор .js скриптов. Для удобства, основная часть собрана в main.js.

Эти скрипты выполняются в браузере на клиентской стороне и обеспечивают визуальную составляющую, а максимум что могут, так отправлять http запросы и разбирать ответ на них. У нас все http запросы собраны в routes\api.js и тут можно найти, что из backend обработки соответствует какому запросу.

А вот содержимое api.js уже выполняется на стороне сервера и уже здесь есть доступ к базе данных.

И как раз тут видно, что все запросы /api/ss_adjust/data.
Фильтров нет. Поиск по названию или ID магазина или SKU осуществляется в браузере.
Выпадающие списки для SKU/STORE - это форма добавления новой записи в таблицу.Серверная часть в:
/ обращаются к classes\controllers\ssAdjust.js ss_adjustments_sku_coef_update
Запрос сохранения данных в SS_ADJUSTMENTS. Привязан к /api/ss_adjust/update-sku-coef и /api/ss_adjust/import_skus_to_table и /api/ss_adjust/bulk-update'.
Используется как при редактировании данных из формы, так и при импорте из csv.Внутри ssAdjust.js можно найти обращение к базе и используемые SQL запросы.

Фронтовой функционал собран в:
public\javascripts\ss_adjust\main.js
public\javascripts\ss_adjust\templates.js
Серверная часть в:
classes\controllers\ssAdjust.js

ss_adjustments_storetable_coefget_update
Запрос сохранения данных в STORE_SS_COEF. Привязан к /api/ss_adjust/update-store-coef и skus
Основной запрос наполнения таблицы таба "SKUs" ss_adjust. Назначен на /api/ss_adjust/importget_storesskus_to_table и /api/ss_adjust/bulk-update'.
Используется как при редактировании данных из формы, так и при импорте из csv.by_group.
Фильтр список групп. Поиск по SKU осуществляется в браузере.

Code Block
languagesql
    SELECT
        P.GROUP_ID,
        P.SKU_ID,
        'DEFAULT USER' MANAGER,
        SUBSTRING(CONVERT(VARCHAR, SSA.UPDATED, 120), 1, 16) UPDATED,
        SSA.SS as SKU_SS
    FROM PRODUCTS as P
    LEFT JOIN SS_ADJUSTMENTS as SSA ON P.SKU_ID = SSA.SKU_ID
    WHERE P.GROUP_ID [group_id]
    ORDER BY UPDATED DESC;

ss_adjustments_table_get_stores
Основной запрос наполнения таблицы таба "Магазины" ss_adjust. Назначен на /api/ss_adjust/data.
Фильтров нет. Поиск по названию или ID магазина осуществляется в браузере.

Code Block
languagesql
    SELECT 
        S.STORE_ID,
        S.STORE_NAME, 
        'DEFAULT USER' STORE_MANAGER,
        SUBSTRING(CONVERT(VARCHAR, SSA.UPDATED, 120), 1, 16) STORE_UPDATED,
        SSA.SS_COEF as STORE_SS
    FROM STORES as S
    LEFT JOIN STORE_SS_COEF as SSA ON S.STORE_ID = SSA.STORE_ID
    ORDER BY STORE_UPDATED DESC;

ss_adjustments_table_get_sku-stores
Основной запрос наполнения таблицы таба "SKUs/Магазины" ss_adjust. Назначен на /api/ss_adjust/data.
Фильтров нет. Поиск по названию или ID магазина или SKU осуществляется в браузере.
Выпадающие списки для SKU/STORE - это форма добавления новой записи в таблицу.

Code Block
languagesql
    SELECT
        SSA.SKU_ID as SS_SKU_ID, P.ARTICLE_NAME as SS_SKU_NAME,
        SSA.STORE_ID as SS_STORE_ID, S.STORE_NAME as SS_STORE_NAME,
        'DEFAULT USER' SS_MANAGER,
        SUBSTRING(CONVERT(VARCHAR, SSA.UPDATED, 120), 1, 16) SS_UPDATED,
        SSA.SS_COEF
    FROM SKU_STORE_SS_COEF AS SSA
    INNER JOIN PRODUCTS as P
    ON P.SKU_ID = SSA.SKU_ID
    INNER JOIN STORES as S
    ON S.STORE_ID = SSA.STORE_ID
    ORDER BY SS_UPDATED DESC;

ss_adjustments_sku_coef_update
Запрос сохранения данных в SS_ADJUSTMENTS. Привязан к /api/ss_adjust/update-sku-coef и /api/ss_adjust/import_skus_to_table и /api/ss_adjust/bulk-update'.
Используется как при редактировании данных из формы, так и при импорте из csv.

Code Block
languagesql
    MERGE INTO SS_ADJUSTMENTS dest
    USING (SELECT :sku SKU_ID) src
    ON(dest.SKU_ID = src.SKU_ID)
    WHEN MATCHED THEN UPDATE SET UPDATED = GETDATE(), UPDATED_BY = :user, SS = :ss
    WHEN NOT MATCHED THEN INSERT(SKU_ID, UPDATED_BY, SS, UPDATED) 
              VALUES(src.SKU_ID, :user, :ss, GETDATE());

ss_adjustments_store_coef_update
Запрос сохранения данных в STORE_SS_COEF. Привязан к /api/ss_adjust/update-store-coef и /api/ss_adjust/import_stores_to_table и /api/ss_adjust/bulk-update'.
Используется как при редактировании данных из формы, так и при импорте из csv.

Code Block
languagesql
    MERGE INTO STORE_SS_COEF dest
    USING (SELECT :store STORE_ID) src
    ON (dest.STORE_ID = src.STORE_ID)
    WHEN MATCHED THEN UPDATE SET UPDATED = GETDATE(), UPDATED_BY = :user, SS_COEF = :ss
    WHEN NOT MATCHED THEN INSERT(STORE_ID, SS_COEF, UPDATED_BY, UPDATED) 
              VALUES(src.STORE_ID, :ss, :user, GETDATE());

ss_adjustments_skustore_coef_update
Запрос сохранения данных в SKU_STORE_SS_COEF. Привязан к /api/ss_adjust/update-skustore-coef и /api/ss_adjust/import_skustores_to_table и /api/ss_adjust/bulk-update'.
Используется как при редактировании данных из формы, так и при импорте из csv.

Code Block
languagesql
    MERGE INTO SKU_STORE_SS_COEF dest
    USING (SELECT :sku SKU_ID, :store STORE_ID) src
    ON (dest.SKU_ID = src.SKU_ID AND dest.STORE_ID = src.STORE_ID)
    WHEN MATCHED THEN UPDATE SET UPDATED = GETDATE(), UPDATED_BY = :user, SS_COEF = :ss
    WHEN NOT MATCHED THEN INSERT(SKU_ID, STORE_ID, SS_COEF, UPDATED_BY, UPDATED) 
              VALUES(src.SKU_ID, src.STORE_ID, :ss, :user, GETDATE());

ss_adjustments_skustore_coef_updatecreate
Запрос сохранения добавления данных в SKU_STORE_SS_COEF. Привязан к /api/ss_adjust/update-skustore-coef и /api/ss_adjust/import_skustores_to_table и /api/ss_adjust/bulk-update'.
Используется как при редактировании данных из формы, так и при импорте из csv.ss_adjustments_skustore_create
Запрос добавления данных в SKU_STORE_SS_COEF. Привязан к /api/ss_adjust/create-new-skustore.
Используется для добавления новой пары SKU/STORE в таблицу с пустым SS_COEF.create-new-skustore.
Используется для добавления новой пары SKU/STORE в таблицу с пустым SS_COEF.

Code Block
languagesql
    MERGE INTO SKU_STORE_SS_COEF dest
    USING (SELECT :sku SKU_ID, :store STORE_ID) src
    ON (dest.SKU_ID = src.SKU_ID AND dest.STORE_ID = src.STORE_ID)
    --WHEN MATCHED THEN UPDATE SET UPDATED = GETDATE(), UPDATED_BY = :user
    WHEN NOT MATCHED THEN INSERT(SKU_ID, STORE_ID, UPDATED_BY, UPDATED) 
              VALUES(src.SKU_ID, src.STORE_ID, :user, GETDATE());

Форма Корректировка прогноза

...