[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Список заказов по датам, о ужоЗ
Dom(off)ou
Здравствуйте.
Пишу скриптину на PHP, сейчас возник теоретический вопрос, возможно с практической помощью в плане функций, хотя все по порядку...
Допустим, есть некий человек, принимающий заказы на мебель (пример таблицы 2Kb Excel: http://ifolder.ru/4219375).
Имеется таблица, собственно куда он это все дело и вбивает.
Вкратце о полях:
Дата | Сделать до | ID заказа

Человек забивает "Сделать до" и выставляет дату окончания работ, ID заказа нужен для того, чтобы заказ мог растягиваться на 2-3-n дней, а не только на 1.
Все поля "Дата" изначально пусты.
Что сейчас может скрипт:
Человек забивает новый товар, скрипт подсчитывает, сколько дней уйдет на его реализацию и ставит задание в конец списка.
т.е. пример таблицы:
Код
02.01.2008    15.01.2008    1
03.01.2008    11.01.2008    2
04.01.2008    11.01.2008    2
05.01.2008    11.01.2008    3
06.01.2008    17.01.2008    4
07.01.2008    11.01.2008    5
08.01.2008    11.01.2008    5
09.01.2008    11.01.2008    5
10.01.2008    11.01.2008    5
11.01.2008    11.01.2008    6

Что происходит дальше, неожиданно поступает заказ, сделать который нужно не позднее 07.11.2008,
т.е. фактически его нужно куда-то всунуть (если такое возможно).
Глазами видно, что если мы заказ с ID 1 перенесем на потом, и вставим заместо него этот,
то фактически ничего не изменится - все останутся довольны.
Но скрипт пройдет по всем позициям, увидит что места нет, и запишет себя в самый самый конец,
а вот так нужно делать только в самом крайнем случае.
Вот и вопрос к Вам, уважаемые знатоки, каким образом заставить сравнивать даты?
Ведь это не так просто, например если ID 1 дата будет не 15 а скажем 12?
Т.е. фактически нужно будет смещать не одну позицию (вниз, вверх и т.п.) а несколько, причем вся трудность в том, что
спуск не по порядку, может быть целая серия перестановок, пока не получим желаемый результат.

Итак, кто не поленился и смог осилить мою писанину, прошу помочь в теоретическом решении проблемы.
Спасибо.



Спустя 12 минут, 41 секунда (21.11.2007 - 04:20) emp написал(а):
Не понял, как и, главное, зачем Вы используете поле ID заказа. По-моему, ID должен быть уникальным. Если он не уникальный, то смысл его использовать? Какое предназначение у этого поля в Вашей структуре?

Спустя 2 минуты, 35 секунд (21.11.2007 - 04:22) Dom(off)ou написал(а):
Цитата(emp @ 21.11.2007, 1:20) [snapback]29603[/snapback]
Не понял, как и, главное, зачем Вы используете поле ID заказа. По-моему, ID должен быть уникальным. Если он не уникальный, то смысл его использовать? Какое предназначение у этого поля в Вашей структуре?

Я полагаю, его ужно использовать, т.к. заказ может растянуться на 5 дней, например,
и скрипту нужно дать понять, что заказ занят предыдущим, и если этот заказ будет долгосрочным (по дате сдачи),
то нужно переносить не 1 строку а 5 к примеру.

Спустя 7 минут, 26 секунд (21.11.2007 - 04:30) Dom(off)ou написал(а):
Дело еще в том, что я привел пример самой элементарной таблицы - там же все гораздо серьезнее.
Я пишу панель управления, что-то вроде программы только на PHP,
задача - оптимизация выполнения заказов.
На данный момент на работе это делается вручную спосощью excel, и не весьма удачно.
Если говорить полностью - речь идет о покраске стульев.
В день покрасочный цех имеет право делать не больше 100 стульев.
Постоянно поступают заказы на покраску.
В день цех имеет право красить не более 2 цветов.
Цвета по дням изначально не определены,
они определяются автоматически, если есть свободное место при покраске, скажем, другого заказа этим цветом
либо добавляется в пустующий заказ.
При добавлении срочного заказа, т.е. когда план на неделю в принципе уже определен,
но кровь из носу нужно на этой неделе сделать еще заказ, не превыщая эти данные,
необходимо, если возможно, сместить те заказы, которые можно будет сделать позже.
Геморрой, простите, в том, что вместе со смещением заказа смещается автоматически цвет,
вместе с ним смещается один из заказов, а он уже в свобю очередь, получается, в срок быть выполнен уже не может.
Вообщем такое задание я получил,
с PHP знаком уже лет 6,
но вот, черт возьми, теоретически организовать я это не могу, чтобы меня пхп понял.

Спустя 8 дней, 21 час, 53 минуты, 11 секунд (30.11.2007 - 02:23) Ghost написал(а):
пхп тут не причём.
структуру базы в студию
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.