Описание таблицы
В эту таблицу попадают данные о мотивации за отпуск, продажу, назначение услуг, а также забор материала.
Также в нее попадает мотивация за назначение ЛП после оплаты счета с этой программой.
Так как в данной таблице находится информация о мотивации услуг, ЛД и ЛП, чтобы выбрать строки только по одному из этих наборов данных, нужно писать условие:
- для мотивации услуг
where AppointmentId is not null
- для лечебных действий
where TreatmentActionId is not null
- для лечебных программ
where BillItemId is not null
Существуют некоторые нюансы присвоения мотивации:
- При отмене отпуска, за который ранее была начислена мотивация, в таблицу заносится корректировка суммы мотивации.
- Корректировка мотивации за ЛП происходит при отмене счета. (или отмене оплаты, нужно уточнить)
Описание полей таблицы
| Название поля | Тип | Значение, которое может принимать | Описание поля | Другие заметки |
|---|---|---|---|---|
| PropertyCode | nvarchar(50) | NOT NULL | код объекта, к которому относится сущность | |
| SpecialistMotivationId | nvarchar(70) | NOT NULL | id записи мотивации | PK* |
| AppointmentId | nvarchar(70) | NULL | id отпуска | для обычных услуг - это id отпуска этих самых услуг, для ЛД - id отпуска услуги, в рамках которой было отпущено ЛД |
| TreatmentActionId | nvarchar(70) | NULL | id ЛД | |
| BillItemId | nvarchar(70) | NULL | id элемента счета | это элемент счета с ЛП, за которую начисляется мотивация, значение не null может быть только для ЛП |
| RoleType | char(1) | NOT NULL | роль пользователя, которому начисляется мотивация | значения: 'I' - инициатор, 'R' - отпускающий специалист, 'T' - специалист, производящий забор материала |
| CreatedDate | datetime | NULL | дата и время начисления мотивации | |
| BonusSchemaUnits | int | NOT NULL | единица измерения мотивации (процент или фиксированная сумма) | значения: 0 - процент, 1 - фиксированная сумма |
| BonusSchemaAmount | decimal(18, 2) | NOT NULL | Кол-во единиц мотивации (кол-во процентов или сумма) | пока что для коррекции ЛП не проставляется минус, нужно добавлять вручную |
| BonusCalculationBase | money | NOT NULL | изначальная сумма услуги, из которой считалась мотивация | |
| BonusAmount | money | NOT NULL | сумма мотивации специалиста | не может быть 0, так как логика работы SpecialistMotivation такая, что в нее попадает только ненулевая мотивация |
| UserId | nvarchar(70) | NOT NULL | id пользователя, которому начисляется мотивация | |
| UserMultiplier | decimal(18,2) | NOT NULL | коэффициент мотивации | значение из карточки пользователя, Общие данные - Расчет мотивации |
| ActualDate | datetime | NOT NULL | дата и время, по которому хранилище определяет, что необходима сверка данных |
*PK - Primary Key, первичный ключ