@oasis-catalog/branding-price
TypeScript icon, indicating that this package has built-in type declarations

1.2.7 • Public • Published

Модуль для расчёта стоимости и сроков нанесения 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

Readme

Keywords

none

Package Sidebar

Install

npm i @oasis-catalog/branding-price

Weekly Downloads

1

Version

1.2.7

License

MIT

Unpacked Size

21.4 kB

Total Files

5

Last publish

Collaborators

  • eshebunin
  • paulzi