Форум программистов, компьютерный форум, киберфорум
C#: Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
 Аватар для imcavs™
-2 / 24 / 8
Регистрация: 19.02.2012
Сообщений: 446

Как вывести данные по рабочим сотрудникам по графику?

15.12.2018, 20:41. Показов 657. Ответов 14
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Итак, задача.
Есть 10 человек на заводе.

6 человек работают на своём отдельном станке и работают по графику 5 через 2.
Остальные 4 работают на одном поочерёдно по графику день - ночь - два выходных.

Выводится на таблицу данные следующего вида:

ФИО Номер станка Количество деталей за сегодня
Петров И. Станок А 45
Иванов Е. Станок Б 86
Джиган В. Станок А 45
Бигар У. Станок В 12


Данные получаем в таблицу, сделанные детали по дате.
В случае с рабочими у которых свой станок, данные выбираются успешно, так как они одни работают на своём отдельном станке и каждый новый день выборка идёт на успешно.
Но в случае с 4-мя работниками, у них данные идут с одного станка. Как верно рассчитывать количество деталей каждого из этих сотрудника за сутки? Ведь, если взять выборку данные за сутки, в виде вышеуказанной таблице, у нас выйдет, сумированние количества деталей по одном станку, на котором работают 4 человека.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
15.12.2018, 20:41
Ответы с готовыми решениями:

Как вывести графику в отдельные окна из консоли?
Доброго времени суток. Занимаюсь лабораторными по теории вероятности и возник вопрос, как вывести графики, полигоны и гистограмм. Вся...

Как вывести графику "поверх всего"?
Мир Вам! Итак, мысля: Есть у меня клава (мультимедийная) с кнопочками регулировки громкости и т.д. Так вот, с ней специальный...

Как пересчитать премию сотрудникам?
Исправили премию некоторым сотрудникам, можно пересчитать ее в документе начисление зарплаты, но их много и в разных подразделениях. При...

14
 Аватар для pincet
1655 / 1154 / 173
Регистрация: 23.07.2010
Сообщений: 6,910
16.12.2018, 18:02
добавить в выборку условие по сотруднику не предлагать?
0
 Аватар для imcavs™
-2 / 24 / 8
Регистрация: 19.02.2012
Сообщений: 446
17.12.2018, 14:38  [ТС]
pincet, условие что будет в себе содержать? Работает ли этот сотрудник или нет в текущем дне? Данные эти брать из расписания?
0
 Аватар для pincet
1655 / 1154 / 173
Регистрация: 23.07.2010
Сообщений: 6,910
17.12.2018, 14:48
скрипт в студию
0
 Аватар для imcavs™
-2 / 24 / 8
Регистрация: 19.02.2012
Сообщений: 446
20.12.2018, 16:29  [ТС]
Тебе кусок кода дать? Обычный выбор из БД таблицы.
0
 Аватар для pincet
1655 / 1154 / 173
Регистрация: 23.07.2010
Сообщений: 6,910
20.12.2018, 16:33
скрипт для выборки данных
0
 Аватар для imcavs™
-2 / 24 / 8
Регистрация: 19.02.2012
Сообщений: 446
20.12.2018, 16:48  [ТС]
pincet,
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
 stats = new List<NEW_Work>();
 
 using (MySqlConnection MyCon = new MySqlConnection(conn_string.ToString()))
            {
                MyCon.Open();
                string query = "SELCT *****";
 
                using (MySqlCommand command = new MySqlCommand(query, MyCon))
                {
                    using (MySqlDataReader reader = command.ExecuteReader())
                    {
                        while (reader.Read())
                        {
                            var g = new ClassOne();
                            var p = Convert.ToString((Int64)reader["количество_деталей"]);
                            var n = Convert.ToString((string)reader["фио_работника"]);
                            g.t1 = n;
                            g.t2 = p;
                            if (n == "Иванов Е.Р.")
                            {
                                g.number = "Станок А";
                                var qwer = details.Find(x => x.Number_Machine == "Станок А");
                                if (qwer == null)
                                {
                                    g.score = "0";
                                    ClassTwo.класс_sqltable_request_details = "0";
                                }
 
                                else
                                {
                                    var qwer = qwer11.score;
                                    g.score = qwer.ToString();
                                    ClassTwo.класс_sqltable_request_details = qwer;
                                    ClassTwo.класс_Количество_принятых += Convert.ToInt16(qwer);
                                }
                                ClassTwo.класс_sqltable_name = n;
                                ClassTwo.класс_sqltable_r_quantity = p;
                                ClassTwo.класс_sqltabl_maschine_employee = "Станок А";
                            }
                        stats.add(g);
                        
                    }
                }
                return.stats();
            }
Добавлено через 3 минуты
Пожалуйста
0
 Аватар для pincet
1655 / 1154 / 173
Регистрация: 23.07.2010
Сообщений: 6,910
20.12.2018, 16:52
Цитата Сообщение от imcavs™ Посмотреть сообщение
string query = "SELCT *****";
вот это
0
 Аватар для imcavs™
-2 / 24 / 8
Регистрация: 19.02.2012
Сообщений: 446
20.12.2018, 16:56  [ТС]
C#
1
SELECT u.id, concat(u.last_name,' ',u.first_name) as name, Count(t.tn) as cnt, 100 * (count(t.id) / (select count(t.id) from zavodov t where t.queue_id != 5 and archive_flag != 1 and t.machine_state_id = 2 and date(t.change_time) = " + dmy + ")) as percent FROM zavodov t LEFT JOIN users u ON t.user_id = u.id WHERE t.queue_id !='5' and t.machine_state_id = '2' AND t.user_id in (1,2,3,4,5,6,7,8,9,10) AND date(t.change_time) = " + dmy + " AND t.archive_flag !='1' GROUP BY  t.user_id order by cnt desc;
0
 Аватар для pincet
1655 / 1154 / 173
Регистрация: 23.07.2010
Сообщений: 6,910
20.12.2018, 17:14
group by [станок],[сотрудник]
0
 Аватар для imcavs™
-2 / 24 / 8
Регистрация: 19.02.2012
Сообщений: 446
20.12.2018, 17:16  [ТС]
Не помогает. Делал так
0
 Аватар для pincet
1655 / 1154 / 173
Регистрация: 23.07.2010
Сообщений: 6,910
20.12.2018, 17:18
схему данных тогда давай
0
113 / 89 / 26
Регистрация: 11.12.2018
Сообщений: 331
21.12.2018, 09:51
SQL
1
2
3
4
5
6
7
8
9
SELECT u.id,
        concat(u.last_name,' ',u.first_name) AS name,
        COUNT(t.tn) AS cnt,
        100 * (COUNT(t.id) / (SELECT COUNT(t.id) FROM zavodov t WHERE t.queue_id != 5 AND archive_flag != 1 AND t.machine_state_id = 2 AND DATE(t.change_time) = " + dmy + ")) AS percent
        FROM zavodov t
        LEFT JOIN users u ON t.user_id = u.id
        WHERE t.queue_id !='5' AND t.machine_state_id = '2' AND t.user_id IN (1,2,3,4,5,6,7,8,9,10) AND DATE(t.change_time) = " + dmy + " AND t.archive_flag !='1'
        GROUP BY  t.user_id
        ORDER BY cnt DESC;
Что-то беда у Вас с SQL и возможно со структурой данных.
Почему в одном случае archive_flag != 1, а во втором t.archive_flag !='1'?
Где тут таблица графика? Вы же в первом сообщении писали, что люди работают за одним станком по графику, значит, что бы знать какой человек делал деталь на этом станке, нам надо знать, кто работал в этот день.
Поддерживаю pincet, без описания схемы, помочь почти нереально.
0
 Аватар для imcavs™
-2 / 24 / 8
Регистрация: 19.02.2012
Сообщений: 446
21.12.2018, 20:53  [ТС]
Схема простая. Вопрос возникает, как подгрузить график работы. У каждого сотрудника есть уникальный id, в который можно вставить условие проверки, работает сегодня он или нет.
Миниатюры
Как вывести данные по рабочим сотрудникам по графику?  
0
113 / 89 / 26
Регистрация: 11.12.2018
Сообщений: 331
22.12.2018, 07:15
Надо еще таблицу графика, примерно такую
ID рабочего
ID Станка
Дата

В таблице Детали добавить поле дата.
Построить индекс по полям станок + дата
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
22.12.2018, 07:15
Помогаю со студенческими работами здесь

Как вывести данные на форму из класса Reader, данные выводятся только в консоль
MainAplication.java package main; import javafx.application.Application; import javafx.fxml.FXMLLoader; import...

Вывести на печать характеристики автомобиля с наименьшим рабочим объемом цилиндра
Тема: Записи. Цель: Приобретение навыков обработки таблиц, ведомостей, документации. На основе таблицы, включающей названия 10 моделей...

Структуры. Вывести список сотрудников с рабочим стажем превышающим 20 лет
Всем привет. Помогите, пожалуйста, найти ошибку в коде. Задание: Описать структуру, включающую в себя информацию о сотрудниках...

Как сделать отчет по сотрудникам до ХХ лет??
Здравствуйте! Подскажите пожалуйста, есть база Access и поле ДР(YYYY, MM, DD). Нужно сделать отчет по сотрудникам до ХХ лет (вводится в...

Нужно привязать данные ответов теста которые записываются в файл, к графику
Мне нужно привязать данные ответов теста которые записываются в файл, к графику(диаграмме)Как это сделать подскажи с учетом если данные...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Новые блоги и статьи
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru