Работа тестировщиком после переезда в Германию
Больничка вот это моя задача. Я уже говорил спасибо, и что мне не нужна ничья помощь.
Я, вобщем, помогать не собирался. Мне просто интересно. В принципе сами таблицы имхо организованы правильно(я не смотрел схемы и зависимости, я имею в виду именно 2 таблицы). Мы можем хранить 2 сущности - работника и отпуск. В сущности "отпуск" предусмотрена вся информация, которая навешивается на отпуск. Отпуск может быть активным, если он актуальный для сегодняшней даты
Дальше работник. У него может быть много отпусков как в прошлом, так и в будущем. Причем статус работника зависит и от отпусков коллег. Если кто то из коллег ушел в отпуск и записал работника как заместителя, то он становится заместителем. Причем не
одного, а до хрена товарищей. Логично, если у меня коллега в отпуске и еще один заболел, то придется тянуть 3 лямки.
Это то, что я понял.
Я бы организовал классы как таблицы. Для хранения одного энтити одна таблица. Свои отпуска прикрепил бы к работнику агрегацией. Если они не нужны постоянно, то отдельной выборкой, но хайбернет ленивой загрузкой вытаскивал бы их только по необходимости. "Заместительность" это список товарищей, покинувших работника - снова агрегация.
Из базы данных я бы вытаскивал как есть. Никакой подмены данных "если - то". Это состояние. Вот какое есть, такое и вытаскиваем. А потом есть графическая оболочка, где мы показываем состояние так, как хотим. Присваеваем статусы. Подтягиваем недостающую информацию.
Исключение - это
длинные списки с многоуровневыми зависимостями. Таких вещей нужно избегать, но уж если позарез надо, то придется лепить что то на SQL для скорости. Но все равно, вот это я бы не делал
THEN p.PersonalID = u.VetreterID
У работника есть персональный номер. Неважно, это внутренний идентификатор обьекта или номер врача в больнице, но что значит заменить номер обьекта на номер заместителя? Это не присвоение статуса, не новые связи. Это прям программа по защите свидетелей. Хренак и я уже вася. Это не понятно интуитивно. А значит такой код сложно сопровождать. Имхо.
де как коллеги, так и руководители проекта будут выносить мне мозг.
Сорри за вынос мозга Но честно, uscheswoi_82, как коллега я бы вам мозг
выносил. Ничего личного, это работа.