1.2.2 • Published 6 months ago

@oasis-catalog/branding-price v1.2.2

Weekly downloads
-
License
MIT
Repository
-
Last release
6 months ago

Модуль для расчёта стоимости и сроков нанесения OASIS

Возможности:

  • подсчёт базовой, РРЦ, дилерской цены нанесения
  • учёт бесплатного нанесения и доплат
  • вычисление сроков отгрузки заказа
  • нахождение даты с чётом выходных и праздников

Использование

Для использования необходимо получить коэффициенты для выбранных товаров. Для получения коэффициентов необходимо сделать GET-запрос одним из способов:

https://api.oasiscatalog.com/v4/branding/coef/1-000070661?key=key...
https://api.oasiscatalog.com/v4/branding/coef?id=1-000070661,1-000070662,1-000070663&key=key...
https://api.oasiscatalog.com/v4/branding/coef?id[]=1-000070661&id[]=1-000070662&id[]=1-000070663&key=key...

Далее формируем связки необходимых товаров и нанесений:

import {calculateBrandingPrice} from '@oasis-catalog/branding-price';

let coef = await fetch('https://api.oasiscatalog.com/v4/coef?id=1-000070661,1-000070662&key=key...');
coef = await coef.json();
let items = [
    {
        "productId": "1-000070661",
        "quantity": 10,
        "branding": [0],
    },
    {
        "productId": "1-000070662",
        "quantity": 10,
        "branding": [0],
    },
];
let branding = [
    {
        "placeId": "000010375",
        "typeId": "1-000027163",
        "width": 100,
        "height": 100
    },
];
console.log(calculateBrandingPrice({coef, items, branding}));
/*
[
    {
        "main": {
            "qty": 20,
            "price": {
                "base": { "setup": 6300, "total": 12600, "one": 4.2 },
                "client": { "setup": 11500, "total": 22960, "one": 7.64 },
                "dealer": { "setup": 6300, "total": 12600, "one": 4.2 }
            }
        }
    }
]
*/

Получение сроков

import {calculateShipmentDays} from '@oasis-catalog/branding-price';

// let coef = ..., items = [...], branding = [...]
console.log(calculateShipmentDays({coef, items, branding}));
/*
[
    { "main": 4 },
    { "main": 4 }
]
*/

Получение даты по срокам в рабочих днях

Для вычисления конкретных дат надо запросить список выходных дней GET-запросом:

https://api.oasiscatalog.com/v4/holidays?key=key...
import {findWorkday} from '@oasis-catalog/branding-price';

let holidays = await fetch('https://api.oasiscatalog.com/v4/holidays?key=key...');
holidays = await holidays.json();
console.log(findWorkday('2023-03-24', 1, holidays)); // 2023-03-27
1.2.2

6 months ago

1.2.1

11 months ago

1.2.0

1 year ago

1.1.2

1 year ago

1.1.1

1 year ago

1.1.0

1 year ago

1.0.0

1 year ago