powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Сетка занятости(С#)
16 сообщений из 16, страница 1 из 1
Сетка занятости(С#)
    #39414840
kamero
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как можно реализовать сетку занятости на месяц, сотрудники берутся с бд.
...
Рейтинг: 0 / 0
Сетка занятости(С#)
    #39414865
Syrex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DataGridView
Строки ФИО
Столбцы - числа, или цветные квадратики
...
Рейтинг: 0 / 0
Сетка занятости(С#)
    #39414867
kamero
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А можно по подробнее как это реализовать в DataGridView.
...
Рейтинг: 0 / 0
Сетка занятости(С#)
    #39414885
Syrex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тут надо понимать как у вас данные в БД находятся
...
Рейтинг: 0 / 0
Сетка занятости(С#)
    #39414904
kamero
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть таблица сотрудников(где есть все сотрудники), вот оттуда хочу по оси Х вывести их. А по оси У хочу вывести дни. И на пересечении хочу вывести график смен (допустим 1 декабра с 9 до 17). Ииии надо как то хранить эти данные за прошлые месяца.
...
Рейтинг: 0 / 0
Сетка занятости(С#)
    #39414912
Syrex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А зачем их хранить? Он же есть в БД

Вам надо сделать такой запрос к БД, который бы выводил вам все дни временного периода и заполнял данными о выходе или null, если данных нет
...
Рейтинг: 0 / 0
Сетка занятости(С#)
    #39414915
Syrex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Запрос по датам
Код: sql
1.
2.
3.
4.
5.
SELECT beg_date + LEVEL - 1
FROM   (SELECT TO_DATE('01.01.2016', 'dd.mm.yyyy') beg_date,
               TO_DATE('31.12.2016', 'dd.mm.yyyy') end_date
        FROM   dual)
CONNECT BY LEVEL <= end_date - beg_date + 1



Объедините его с запросом данных выхода сотрудника
Проходите по всем ячейкам, и если там есть данные, то закрашивайте
...
Рейтинг: 0 / 0
Сетка занятости(С#)
    #39415179
kamero
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Syrex,

а как это отобразить в ДатаГриде? Потому что я пока до конца не въехал...
...
Рейтинг: 0 / 0
Сетка занятости(С#)
    #39415214
Pallaris
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kameroSyrex,

а как это отобразить в ДатаГриде? Потому что я пока до конца не въехал...

Код: c#
1.
dataGridView1.DataSource = datasource;
...
Рейтинг: 0 / 0
Сетка занятости(С#)
    #39415254
kamero
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SyrexЗапрос по датам
Код: sql
1.
2.
3.
4.
5.
SELECT beg_date + LEVEL - 1
FROM   (SELECT TO_DATE('01.01.2016', 'dd.mm.yyyy') beg_date,
               TO_DATE('31.12.2016', 'dd.mm.yyyy') end_date
        FROM   dual)
CONNECT BY LEVEL <= end_date - beg_date + 1



Объедините его с запросом данных выхода сотрудника
Проходите по всем ячейкам, и если там есть данные, то закрашивайте

Код: sql
1.
2.
3.
4.
5.
6.
7.
SELECT s.idFIO, beg_date + LEVEL - 1
FROM   (SELECT TO_DATE('01.01.2016', 'dd.mm.yyyy') beg_date,
               TO_DATE('31.12.2016', 'dd.mm.yyyy') end_date
        FROM   dual d)
CONNECT BY LEVEL <= end_date - beg_date + 1

INNER JOIN sotrudniki s ON s.idFIO = d.idFIO



Вот так объединить что ли?
...
Рейтинг: 0 / 0
Сетка занятости(С#)
    #39415450
Syrex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Закрасить например так
...
Рейтинг: 0 / 0
Сетка занятости(С#)
    #39415460
kamero
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Syrex,

Как закрасить это понятно...
А как тогда должна выглядит таблица dual? Какие поля? Просто как это так выйдет что получится по оси Х даты?
...
Рейтинг: 0 / 0
Сетка занятости(С#)
    #39415637
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kamero,

DUAL - это такая специальная таблица в Oracle :)
...
Рейтинг: 0 / 0
Сетка занятости(С#)
    #39415777
Фотография Cat2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
kamero,

Я так понял, что у вас нет проблемы как реализовать. У вас есть проблема что реализовать.
Это тема больше подошла бы для "Проектирования БД"

Тема проектирования рабочего очень суровая.
Нужна таблица календарей.
Кто-то работает 5+2, кто-то 2+1. Комбинаций может множество и все они должны быть учтены. Так же нужен календарь праздничных дней в году и признак, что эти дни учитываются при составлении графика для конкретного человека
Так же надо учесть график отпусков.
Вариантов календарей множество, но конечное для отдельно взятой организации.

Поэтому я рекомендую планируемые месячные графики рассчитывать в тригере на год вперед для каждого работника. Как это реализовать Вы наверняка разберетесь.

Потоми начинается самое интересное. Календарь планируемых рабочих дней уже есть, но в него обязательно надо будет вносить отгулы-прогулы, работы в выходные, больничные и прочее.
Сделать это все можно, задача имеет решение и реализована в большинстве программ по расчету зарплаты
...
Рейтинг: 0 / 0
Сетка занятости(С#)
    #39415839
Roman Mejtes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
зачем придумывать велосипед, когда существуют "таблицы временных рядов" (гуглить по time series database) \"рубрикаторы" и прочее.
...
Рейтинг: 0 / 0
Сетка занятости(С#)
    #39415967
Фотография Cat2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Roman Mejtesзачем придумывать велосипед, когда существуют "таблицы временных рядов" (гуглить по time series database) \"рубрикаторы" и прочее.
Легче свое написать, чем изучать и прикручивать эти решения к своей задаче
...
Рейтинг: 0 / 0
16 сообщений из 16, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Сетка занятости(С#)
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]