Задача: Точная резка элементов на станке и формирвоание партий.
Логика: Есть диск кремния, на нем расположены квадратные элементы в квадратной или прямоугольной области(Зона)… Область является [m]x[n] массивом(схема). Элемент массива — Место.
[При старте программы]
1) [Интерфейс отображения] Должен быть Древовидный вид партии(схема поставки), например:
+ Компани 1
| + Заказ 1
|| + Заявка 1
||| + Партия 1
|||| + Название элемента 1
||||| — Элемент 1
||||| — Элемент 2
|||| + Название элемента 2
и т.д. в каждом уровне содержатся так называемые диски (зоны). Уровней может быть неограниченное число.
[Интерфейс создания компании 1] – содержит все элементы.
[Нижний узел заказ 1] Содержит в себе все данные по [Всем элементам] узла [заказ 1]
[Нижний узел заявка 1] Содержит в себе данные по [Всем элементам] узла [заявка 1]
[Нижний узел партия 1] Содержит в себе данные по [Всем элементам] узла [Партия 1]
[Нижний узел название элемента 1] Содержит в себе данные по [Всем элементам] узла [название элемента 1] и [элемента 2]. [Название элемента 2] Содержит в себе данные по [Всем элементам] данного узла.
2) [Создание узлов]:
[Интерфейс создания компании 1] — Тип, название, описание, действует до(заказ). (верхний узел)
Для побочных узлов становятся доступны: Узел, Определить количество мест на узле (Зоне), Неограниченное количество на узле без элементов, Ограниченное количество на узле без элементов и ввод количества. Если стоит [Определить количество мест на узле (Зоне)] — то это обозначает что в данном месте мы можем создавать схемы, так называемые массивы [m]x[n]
3) [Схемы]:
Карта создания схемы: Задается размер зоны [m]x[n]. Выбираем положение нумерации рядов и мест – сверху вниз и снизу вверх.
4) [Редактирование схемы] – как говориться самая сложная и интересная задача: Нужно визуально редактировать, при помощи панели управления и мышки/клавиатуры.
Выделение мест или группы мест, Преобразование мест в пустоты(элемент 0), Добавление дополнительного ряда мест, Добавление столбца мест, Сдвиг места, Сдвиг группы мест, ряда и столбца, Изменение направление нумерации мест, Изменение направление нумерации рядов, Изменение текста места, Задание текста ряда. Визуальные функции.
5) [Маркетинг] – Бывает так, что некоторые элементы на одной пластине бывают разной стоимости, разных партий и т.п.
В левой части окна вкладки приводится иерархический список всех созданных элементов объекта как в [Интерфейсе отображения]. В правой – отображаются схемы выбранного элемента.
Для определения мест, включенных в зону, необходимо выбрать из списка элемент с схемой и в загрузившейся в правой части окна схеме мест, выделить требуемые места, затем нажать кнопку «Добавить». Элемент, к которому относятся выбранные места, будет помечен галочкой.
Для включения в добавляемую зону мест из другого элемента объекта, необходимо повторить ту же операцию для другого фрагмента объекта.
Данное может быть все что угодно(клиент, стоимость, скидка и т.д.). При выводе в окне контроля оно другого цвета…
По двойному клику на объект — включение, часть выделенную открывается окно, где Название, описание, Тип.
Типы: Стоимость, скидка, заказчик.
6) [Контроль] – Задача АСУТП. После выпуска пластины и поступлением на резку происходит выборочный контроль инженерном по контролю качества.
Осуществляем возможность выбора Заказчика -> Партии и т.д.
Выводим на экран например, в разной цветовой схеме подсветка ячеек.
__B1__B2__B3__B4__B5__B6__
A1 ___[КР]__ [КР]__ [КР] ___ A1
A2 ___[КР]__ [ЗЛ]__ [КР] ___ A2
A3 ___[КР]__ [ЗЛ]__ [КР] ___ A3
A4 ___[КР]__ [КР]__ [КР] ___ A4
__B1__B2__B3__B4__B5__B6__
[Кра]- Зак 1 [Сер]- Зак 2 [Зел] – Зак 4
[КР] – Красный [ЗЛ] – зеленый
___ — брак
__ — пробел
При нажатие на одну из ячеек, или на группу ячеек при выделении правой кнопкой мышки или CTRL + стрелка(Ячейки меняют цвет пока…) и нажатия на кнопку брак идет списание, и элементы как бы пропадают с панели, но остаются в бд с пометкой 0.
Скажем A1-B1 =0(брак), A1-B6-(Брак)
Вопросы:
1. Каким образом описанное в пункте 1-2 хранить в БД. Я представляю хранение данного, как справочника номенклатур – подходит ли подобное решение?
2. Как подобный массив хранить в БД и манипулировать с ним (описанный в п.3 п.4)? У меня была идея хранить размерность в двух ячейках а сам массив в строку вида:
0 1 0 1 00 10 101 010 013 223 4989 88 98 хранить в БД.
Вторая, идея под каждую схему создавать таблицу, но как тогда быть с хронимками?
3. Как выводить подобный массив для редактирования, работы с ним(описанный в п.3 п.4)?
4. Как выдоить и сделать визуальный интерфейс редактирования?
5. Как выводить и обрисовывать пункт 6?
6. Какова сложность каждого пункта по 10 бальной шкале? Для среднего программиста? Какие, по вашему мнению, сроки выполнения задачи?
7. Какой язык разработки выбрать в случае БД MS SQL 2008 – Delphi или C#, с оборудованием проблем нет на ПК…
... << RSDN@Home 1.2.0 alpha 4 rev. 1237>>