async function increaseSalary() {
//кол-во успешных запросов
let countInquiry = 0;
//бюджет
let newBudget = 0;
//список сотрудников
const employeesList = await api.getEmployees();
//средняя ЗП
const averageSalaries =
Math.floor((employeesList.reduce((acc, el) => acc += el.salary, 0)) / employeesList.length);
try {
//перебираем сотрудников из списка
for (employee of employeesList) {
//повышенная ЗП
let changedSalary = 0;
const sendRequestSalary = async () => {
try {
//запрос на увеличение ЗП
await api.setEmployeeSalary(employee.id, changedSalary);
//текст для сотрудника
/* const changedEmployeeList = api.getEmployees();
console.log(changedEmployeeList) */
let text =
`Hello, ${employee.name}! Congratulations, your new salary is ${changedSalary}!`;
//отправка сообщения сотруднику
await api.notifyEmployee(employee.id, text);
//фиксация успешных запросов
countInquiry++;
//формирование бюджета
newBudget += changedSalary;
} catch (error) {
//сообщение администратору об ошибке
await api.notifyAdmin(error);
}
}
//расчет повышения ЗП, согласно условиям
if (employee.salary > averageSalaries) {
changedSalary = parseInt(employee.salary * 1.1);
console.log(changedSalary)
await sendRequestSalary();
} else if (employee.salary < averageSalaries) {
changedSalary = parseInt(employee.salary * 1.2);
await sendRequestSalary();
}
}
} catch (error) {
//сообщение администратору об ошибке
await api.notifyAdmin(error);
} finally {
//отправка бюджета в бухгалтерию
await api.sendBudgetToAccounting(newBudget);
}
//возвращаем кол-во успешных операций увеличения ЗП
return countInquiry;
}
const remove = this.on(events
callback.apply(this, args)
и callback.call(null, args)
- SELECT orders_id, empoyer_id FROM orders WHERE DELIVERY_TIME > '30' AND ITEMS = 'гречка';
+ SELECT orders_id, empoyer_id FROM orders WHERE DELIVERY_TIME > 30 AND ITEMS = 'гречка';