Тема: Контроллер SMDR 2
А вопросов то больше и нет 😊 Ибо посчитать можно только то что может быть подведено под систему, хаос систематизировать нельзя 😊
Из вашего описания я понял только то, что системно существует только одно - смены. Сотрудники могут работать, а могут и не работать - хаотично. Нарушений в системе быть не может (прогулов, опозданий и прочего), только недоработки.
Ну, допустим, сделаем два графика 1 и 2 смена. Два отчета по каждой смене.
Сотрудник начал работать в 7-30 и закончил в 20-30.
В отчете по первой смене у нас порядок - 12 часов. В отчете по второй смене (а он же имеет право работать во вторую смену, ведь мы ему дали полную свободу) у нас выползают два периода по 30 минут. И каким таким образом программе сообщить, что в такой ситуации прав то у сотрудника нет, хотя с другой стороны .. кто ему мешает остаться на вторую смену целиком. Как минимум, при таком хаосе, я вижу выход только в использовании каждым сотрудников двух карт доступа. Одна карта для первой смены, вторая - для второй смены. И отчетность будет каждая по своей смене.
По поводу двух карточек это интересно:)
Можно каким нибудь образом сделать выборку из базы данных по:
1) Допустим если человек пришел с 7-00 до 9-00, значит он работает в первую смену, если с 18-00 до 21-00 то он работает во вторую смену
2) Длина смены не может превышать 12 часов
3) Отсчет отработанного времени производится, только с 8-00, либо только с 20-00
Предложил заказчику использовать две карточки, он категорически отказалси:(
Для этого воспользуемся демонстрационной базой данных, которая идет в комплекте с Delphi – DBDEMOS. Создадим новый проект в Delphi. На форму положим компонент TTable и настроим его свойства
Что означает фраза положим на форму и что такое TTable?
Для этого воспользуемся демонстрационной базой данных, которая идет в комплекте с Delphi – DBDEMOS. Создадим новый проект в Delphi. На форму положим компонент TTable и настроим его свойства
Что означает фраза положим на форму и что такое TTable?
Откуда Вы это взяли?
с инструкции к фастрепорт
Оставьте пока фастрепорт, он вам пока не нужен.
Если заказчик отказался от двух карточек, тогда, основываясь на здравый смысл и логику, стоит спросить, а как софт будет разбираться с хаосом. Ну допустим две смены, ну вышел сотрудник. Что делать с захлестом на следующую смену, на которую этот сотрудник, имеет все теже самые права? Сотрудник пришел в 13-00, он опоздал или пришел раньше? 😊
Я вижу следующую логику:
1) выборка все кто зашел с 7-00 до 9-00
2) убрать дубли и оставить самое раннее событие
3) выборка все кто вышел с 19-00 до 21-00
4) убрать дубли оставить самое позднее событие.
5) вычисляем время работы по каждому дню для первой смены в промежутке с 8-00 до 20-00 с помощью функции если
6) получаем таблицу с номером карточки и отработанным временем
7) проделываем тоже самое с второй сменой
8) суммируем таблицы, получаем отработаное время.
И вот еще вариант для такого случая. Раз уж хаос, и две карточки не приемлемо, можно задать все те же два графика. В конце месяца сначала вывести отчет по сотруднику по первому графику, затем применить сотруднику второй график и вывести отчетность уже по второму гафику. А дальше ручками .. ручками 😊
Все кто пришли или ушли в неуказанный промежуток на работе не было.
ваш вариант гибнет если сотрудник будет работать пару смен подряд 😊 или появится на работе в 13-00 😊
И вот еще вариант для такого случая. Раз уж хаос, и две карточки не приемлемо, можно задать все те же два графика. В конце месяца сначала вывести отчет по сотруднику по первому графику, затем применить сотруднику второй график и вывести отчетность уже по второму гафику. А дальше ручками .. ручками 😊
там около 200 сотрудников
ваш вариант гибнет если сотрудник будет работать пару смен подряд 😊 или появится на работе в 13-00 😊
все кто пришли или ушли в не указанный промежуток на работе не присутствовали
один график может быть у 500 сотрудников 😊, изменяется график - изменяется сразу у всех 😊
один график может быть у 500 сотрудников 😊, изменяется график - изменяется сразу у всех 😊
нужно что либо автоматическое без лишнего гемороя
Заказчик говорит, что раньше у него стояла скуд золотые ворота и выполнение данной задачи не вызывало никаких сложностей. Сейчас скачаю посмотрю как это реализовано там, не хочется менять уже установленную систему из-за отчета.