Opened 2 years ago

Last modified 13 months ago

#935 assigned улучшение

Добавить возможность поиска по истории

Reported by: alx Owned by: san
Priority: major Component: БД изделий АДС
Keywords: Cc: andrei

Description

Сейчас, на мой взгляд, база данных изделий напоминает черную дыру - информация о жизни изделий туда, насколько я понимаю, заносится, но извлечь эту информацию из базы не представляется возможным, так как главная страница веб-интерфейса позволяет выполнять поиск изделий только по их входным данным и текущему состоянию (наименование, серийный номер, местоположение, владелец и т.п.), но не по их истории.

Например, недавно я выполнил проверку нескольких десятков плат SW-01, и занес информацию об этом в БД. Но теперь я не могу узнать сколько всего плат я проверил, сколько из них оказались годными, а сколько - негодными, хотя это вроде бы очевидно нужные и полезные данные... Не говоря уже о более сложных запросах типа в каких/скольки платах SW-01 были нарекания на микросхему D2, ОЗУ, ПЗУ и т.п...

Или другой пример. Когда-то я производил ремонт нескольких плат VE-01 (или VE-02). Данные об этом есть в БД. Но найти ремонтировавшиеся мной платы нельзя...

Так как сделанное мной ранее предложение о добавлении возможности формировать произвольные запросы было отклонено, предлагаю добавить в раздел фильтра главной страницы веб-интерфейса новые поля, позволяющие выполнять поиск по данным истории, а именно:

  • изделия, имеющие произвольную подстроку в комментарии (поле comment таблицы history);
  • изделия, имеющие произвольную подстроку в комментарии, добавленном указанным сотрудником;
  • изделия, ремонтировашиеся любым сотрудником;
  • изделия, ремонтировашиеся указанным сотрудником;
  • изделия, никогда не бывшие в ремонте;
  • изделия, проверенные указанным сотрудником;
  • изделия, имеющие записи о несоответствии, сделанные любым сотрудником;
  • изделия, имеющие записи о несоответствии, сделанные указанным сотрудником;
  • изделия, имеющие записи о контроле ОТК, сделанные любым сотрудником;
  • изделия, имеющие записи о контроле ОТК, сделанные указанным сотрудником.
  • изделия, имеющие записи об отгрузке, сделанные любым сотрудником;
  • изделия, имеющие записи об отгрузке, сделанные указанным сотрудником.

Дополнительно предлагаю добавить возможность ограничения поиска по датам "от"-"до".

Опционально для записей типа otk, testing и repair можно добавить возможность дополнительно ограничить результаты поиска по типу результата (успешно или неуспешно).

Думаю, что после реализации моего предложения БД начнет приносить практическую пользу как исполнителям, так и менеджерам компании.

Attachments (1)

ss1.png (70.3 KB ) - added by alx 15 months ago.

Download all attachments as: .zip

Change History (9)

comment:1 by san, 2 years ago

Cc: andrei added

Фильтры по истории в первоочередных планах.
Спасибо за формулировку ТЗ, пол дела считай сделано :)

comment:2 by san, 18 months ago

Owner: changed from san to Denis_N
Status: newassigned

comment:3 by san, 15 months ago

Так как сделанное мной ранее предложение о добавлении возможности формировать произвольные запросы было отклонено

Оно было отклонено когда-то давно, когда был непонятно насколько серьёзно мы будем заниматься БД. Сейчас я вижу что база работает(достаточно успешно накапливает информацию об изделиях) ну и теперь актуально как-то использовать эту информацию.
Сейчас я готов принять это предложение :)

in reply to:  3 comment:4 by alx, 15 months ago

Replying to san:

Сейчас я готов принять это предложение :)

А теперь разработчик не ты, а Denis_N - это ему решать, принять предложение или нет! :)

by alx, 15 months ago

Attachment: ss1.png added

comment:5 by alx, 15 months ago

В продолжение устного разговора хочу уточнить, что ранее имелось в виду под "произвольным запросом" (так как выяснилось, что возникло недопонимание). Я имел в виду возможность задания пользователем собственного произвольного запроса SELECT к базе данных с последующим отображением результата в веб-интерфейсе. Пример подобной функции - "отчеты" в trac:


Другой вариант подобной функции - назовем его "конструктор запроса" - это когда пользователь составляет условие запроса, выбирая заранее приготовленные варианты полей и их значений в веб-интерфейсе (подобный конструктор тоже есть в trac). Согласен, что такой вариант может быть проще для пользователя, не знающего SQL (да и для знающего тоже, если условие запроса не очень сложное), поэтому он тоже может быть полезен. Однако меня здесь смущает предложение ограничиться при поиске только двумя таблицами - products и history. Так, например, без таблицы list_of_products нельзя будет отобразить тип изделия. Без таблицы orders нельзя будет отобразить заказ, в который назначено изделие и т.д...

Предлагаю при реализации "конструктора" добавить возможность поиска по всем таблицам, имеющим отношение к изделиям: history, list_of_products, order-items, orders, products.

comment:6 by san, 15 months ago

milestone: 1 очередь

Milestone deleted

comment:7 by Denis_N, 13 months ago

Что касается произвольного запроса, то он бы мог использоваться всего двумя сотрудниками, на мой взгляд, alx и san. Конечно можно сделать такую возможность в перспективе, но она не имеет важного приоритета сейчас

Я предлагаю использовать тот конструктор, который есть на данный момент и, как предложил alx, добавить в него возможность поиска по всем таблицам, имеющим отношение к изделиям history, list_of_products, order-items, orders, products

comment:8 by san, 13 months ago

Owner: changed from Denis_N to san
Note: See TracTickets for help on using tickets.