Файл: Моделирование предметной области “Расчет заработной платы” с помощью UML (Диаграммы UML и их практическое назначение).pdf
Добавлен: 23.04.2023
Просмотров: 335
Скачиваний: 7
1. Пакетный режим. Вводятся все данные для расчета, затем основная зарплата, дополнительная зарплата, удержания и своды рассчитываются в одном пакете.
2. Индивидуальный режим. Основная зарплата рассчитывается по отдельным Рапортам на сдельные работы. Дополнительная зарплата и удержания рассчитываются для каждого сотрудника отдельно.
Процесс расчета основной зарплаты включает в себя:
– дополнительный ввод данных в Рапорт на сдельные работы
– расчет тарифного фонда по рапорту
– расчет коэффициентов приработка
– расчет зарплаты по тарифному фонду и коэффициента приработка
– перерасчет зарплаты за предыдущий период (с предварительным копированием рапорта за предыдущий период, исправлением его и перерасчетом тарифного фонда в случае необходимости)
Расчет основной зарплаты осуществляется при условии ввода всей справочной информации и при условии, что не рассчитывались удержания из зарплаты. Расчет основной зарплаты осуществляется на АРМ нормировщика.
2.2 Алгоритм расчета заработной платы
«Номер записи» в БД РАПОРТРАЗДЕЛ1 формируется автоматически; «номер документа» передается из процесса «Выбрать рапорт»; «код начисления», «объем работ», вводятся вручную. При вводе кода начисления контролируется значение атрибута «отнесение к основной зарплате» из БД ЗНАЧЕНИЕ АТРИБУТОВ НАЧИСЛЕНИЯ.
К соответствующей строке из БД РАПОРТРАЗДЕЛ1 могут быть введены премия и инфляция в БД ПРЕМИЯИНФЛЯЦИЯ. «Номер записи» в БД ПРЕМИЯИНФЛЯЦИЯ заносится автоматически из БД РАПОРТРАЗДЕЛ1. «Код начисления», «коэффициент премии» вводятся вручную.
Из БД РАСЧЕТ НАЧИСЛЕНИЙ удаляем записи с «номером документа» равным выбранному в процессе «Выбрать рапорт».
В БД СОТРУДНИКРАСЧЕТЫ из «зарплата начислено» и «зарплата на руки» вычесть удаляемые из БД РАСЧЕТ НАЧИСЛЕНИЙ суммы.
В БД РЕЕСТР РАСЧЕТОВ «признак обработки» для выбранного рапорта приравнять нулю.
На каждую запись из БД ГРАФИК ФАКТИЧЕСКИХ ВЫХОДОВ формируем 3-х мерный массив: «код начисления», «код атрибута», «значение атрибута».
Рассчитываем все коды начислений по выбранным процедурам из БД
РАСЧЕТЫ.
Результаты расчетов суммируем в поля «зарплата на руки» и «зарплата начислено» в БД СОТРУДНИКРАСЧЕТЫ.
В БД РЕЕСТР РАСЧЕТОВ в соответствующей записи («идентификационный номер» и «номер документа») признак обработки приравниваем 1.
В БД РАСЧЕТ НАЧИСЛЕНИЙ заносим все данные.
В основной зарплате производятся следующие расчеты
1) Расчет по коэффициенту приработка.
тариф.фонд * КТУ * коэф. приработка на объем
2) Расчет премии.
тариф.фонд * КТУ * коэф.приработка на объем *коэф.премии *
* (1-процент лишения / 100)
3) Расчет инфляции.
тариф.фонд * КТУ * коэф.приработка на объем * коэф.инфляции *
* (1+коэф.премии * (1-процент лишения / 100))
4) Расчет оплаты в праздничные и выходные дни.
тариф.фонд празд * КТУ * коэф.приработка рап
тариф.фонд выходн * КТУ * коэф.приработка рап
5) Расчет доплаты за праздничные и выходные дни.
тариф.фонд празд * КТУ * коэф.приработка рапорта *
* (размер оплаты в празд/вых дни - 1)
тариф.фонд выходн * КТУ * коэф.приработка рапорта *
*(размер оплаты в празд/вых дни - 1)
6) Расчет доплат за работу в ночное время.
Если оклад, то
оклад / плановые часы * процент оплаты в ночн время * часы ночные
Если тариф, то
тариф * процент оплаты в ночн время * часы ночные
Если рабочие, то
доплата * коэф инф раб по ТС
Если ИТР, то
доплата * коэф инф ИТР по ТС
7) Расчет доплат за работу в вечернее время.
Если оклад, то
оклад / плановые часы * процент оплаты в вечер время * часы вечерние
Если тариф, то
тариф * процент оплаты в вечер время * часы вечерние
Если рабочие, то
доплата * коэф инф раб по ТС
Если ИТР, то
доплата * коэф инф ИТР по ТС
8) Расчет дорожных
тариф для расч дорож / 60 * время в пути * спуски в шахту
Если рабочие, то
дорожные * коэф инф раб по ТС
Если ИТР, то
дорожные * коэф инф ИТР по ТС
Алгоритм расчета дополнительной зарплаты
Ввод осуществляем в 4 таблицы.
1. «Номер документа» в БД ЖУРНАЛ ДОКУМЕНТОВ формируется автоматически как максимальный, если документ новый. «Наименование документа», «владелец», «дата ввода документа» вводятся вручную, «вид расчета» равен 1 (как дополнительная зарплата).
2. «Номер записи расч нач» в БД РАСЧЕТ НАЧИСЛЕНИЙ формируется автоматически, как максимальный. «Номер документа» и «дата расчета начисл» проставляются равными соответствующим полям из БД ЖУРНАЛ ДОКУМЕНТОВ. В случае необходимости «дата расчета начисл»"корректируется вручную. По заданному с АРМ расчетчика «табельному номеру на зарплату» осуществляется поиск «Идентификационного номера» в БД СОТРУДНИК.
По «идентификационному номеру» осуществляется поиск «кода профессии» и «кода структурной единицы» из БД ДОСЬЕ И БД СОДЕРЖАНИЕ ДОСЬЕ на «дату расчетного периода» введенному ранее. «Код начисления» вводится вручную, а «результат начисления» приравнивается нулю.
3. Одновременно с БД РАСЧЕТ НАЧИСЛЕНИЙ заполняется БД РЕЕСТР РАСЧЕТОВ. «Номер записи реестр» формируется автоматически как максимальный. «Идентификационный номер реестр» и «номер документа реестр» формируются равными соответствующим полям из БД РАСЧЕТ НАЧИСЛЕНИЙ. «Признак обработки» равен нулю.
4. «Номер записи расч начис» из БД ДАННЫЕ РАСЧЕТА НАЧИСЛЕНИЙ равен соответствующему полю из БД РАСЧЕТ НАЧИСЛЕНИЙ. По введенному в БД РАСЧЕТ НАЧИСЛЕНИЙ «коду начисления» выбирается набор атрибутов из БД НАЧИСЛЕНИЯАТРИБУТЫ для ввода в БД ДАННЫЕ РАСЧЕТА НАЧИСЛЕНИЙ. «Значение данных начисл» вводится вручную.
По введенному с АРМ расчетчика «табельному номеру на зарплату» осуществляем поиск «идентификационного номера» в БД СОТРУДНИК.
Из БД ЖУРНАЛ ДОКУМЕНТОВ выбираем номера документов, у которых «дата ввода докум» равна дате расчета из БД ЗНАЧЕНИЕ АТРИБУТОВ ПРЕДПРИЯТИЯ.
Эти же документы выбираем в БД РАСЧЕТ НАЧИСЛЕНИЙ,а затем выбираем заданный «идентификационный номер».
Для индивидуального режима расчета необходимы следующие подготовительные операции:
1. Обнулить «результат начисл» в выбранных из БД РАСЧЕТ НАЧИСЛЕНИЙ записях.
2. Вычесть «результат начисления» из «зарплата начислено» и «зарплата на руки» в БД СОТРУДНИКРАСЧЕТЫ.
3. В реестре расчетов обнулить признак обработки. Расчет осуществляем по всем выбранным из БД РАСЧЕТ НАЧИСЛЕНИЙ записям. По «коду начисления» из БД РАСЧЕТ НАЧИСЛЕНИЙ ищем наименование выполняемой процедуры расчета, записанной в поле «процедура начисл» из БД НАЧИСЛЕНИЯ. Аргументы к процедуре ищем посоответствующему значению «номера записи расч начисл» в БД ДАННЫЕ РАСЧЕТА НАЧИСЛЕНИЙ.
По «коду начисления» из БД НАЧИСЛЕНИЯАТРИБУТЫ определяем какие аргументы и в какой таблице базы их искать.
По «номеру записи расч начисл», «коду атрибута» и номеру таблицы базы находим аргументы для выполнения процедуры расчета начисления. Результат расчета записываем в «результат начисл» БД РАСЧЕТ НАЧИСЛЕНИЙ.
«Признак обработки» в БД РЕЕСТР РАСЧЕТОВ приравниваем к 1. Результат суммируем с «зарплата начислено» и «зарплата на руки» в БД СОТРУДНИК РАСЧЕТЫ.
В процессе Расчет дополнительной зарплаты производятся следующие расчеты:
1. час.тар.став. * часы к оплате * КТУ * коэф приработка
2. час.тар.став. * часы к оплате * КТУ * коэф приработка * коэф премии * (1 - процент лишения \ 100)
3. час.тар.став. * часы к оплате * КТУ * коэф приработка * коэф инфл * (1 + коэф премии * (1 - процент лишения / 100))
4. час.тар.став. * часы к оплате * КТУ * коэф приработка * (размер оплаты в празд/вых дни - 1)
5. час.тар став. * процент оплаты * часы к оплате * коэф по тарифн соглашению
6. час.тар.став. / 60 * время в пути * спуски в шахту * коэф по тариф соглашению
7. (час.тар.став. * 2 * 1.5) + (час.тар.став. * (фактич часы - 2) * 2 * коэф приработка
8. час.тар.став. * часы к оплате * размер оплаты
9. час.тар.став. * часы к оплате
10. час.тар.став. * часы к оплате * коэф приработка
11. час.тар.став. * часы к оплате * процент оплаты
12. средний дневной заработок * выхода к оплате
13. средний дневной заработок * выхода к оплате * процент оплаты