Как лучше решать задачу из серии "Customer Appointment Management"?
Релиб
Форумы       Участники    Календарь    Кто он-лайн?
Добро пожаловать, гость ( Вход | Регистрация )
        


12»»

Как лучше решать задачу из серии... Expand / Collapse
Автор
Сообщение
07.05.2005 13:26


Supreme Being

Supreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme Being

модератор
Last Login: 13.12.2007 18:51
Сообщ.: 3 047, Visits: 33 391
Есть задача: наваять систему записи клиентов на приём к врачам некоей клиники. Для фиксированной даты имеем: ось Y - время с модифицируемым (желательно) шагом, от 09:00 до 22:00 (к примеру); ось X - врачебные кабинеты, а кто именно в этих кабинетах работает в ЭТУ дату и в ЭТО время - определяется рабочим расписанием врачей. Всё очень просто.

Так вот, в "ячейку" этой таблицы надо заносить: (1) клиента (ФИО, телефон), (2) врача (ФИО), (3) процедуру (наименование, длительность), (4) всякие пометки (как текстом, так и цветовым выделением всей "ячейки"). Внутри ячейки, как видим, получается довольно много информации, поэтому внутри ячейки должно поддерживаться простейшее форматирование текста (цвет, жирность) для облегчения читабельности содержимого ячейки.

Справочник врачей, справочник кабинетов и справочник клиентов - должны закачиваться из БД Oracle 8i. Все сформированные "таблички" с записью - НЕ должны храниться в той же базе, и вместе с тем не хотелось бы привлекать всякие FireBird'ы и т.п., т.е. лучше уж хранить в MDB, или XML, или ещё в каком легковесном формате.

Есть, конечно, ГОТОВЫЕ продукты для подобных задач - и очень классные! НО: (1) я нашёл только буржуйские и с нерусифицируемым интерфейсом, и (2) они стоят очень дорого. Русских продуктов не нашёл.

Поэтому пришла мысль писАть всё самому. Тут есть два варианта:

1. Всё же взять готовый "scheduling control" - например, http://www.dbi-tech.com/Product_Page_Solutions_PIM.asp. А всё остальное - писАть уже самому. ОДНАКО, цены тоже кусаются :(( - а пиратствовать не хотелось бы!

2. Вообще ВСЁ С НУЛЯ делать. Самому. И вот возникают варианты:

а). Наваять свой ActiveX-компонент типа того, на который дана ссылка выше. И от него уже плясать. Это будет, очевидно, полностью "рисованный" контрол (т.е. API из gdi32.dll - сплошь и рядом), и потому задачка получается довольно непростая (уж долгая по исполнению - это точно). Зато... м-м-м... красиво будет :))

б). Взять обычный Эксель с его чудными ячейками, и всю "оболочку" наваять на VBA. Для связи с Ораклом использовать встроенные возможности ("Внешние данные" через MS Query).

Может, ещё что посоветуете? или готовый продукт/компонент, или просто оригинальный метод решения?

Чуть не забыл: сохранить таблички с записью - это пол-дела. Нужно ещё и быстро отвечать на вопросы клиентов типа: "А когда на следующей неделе я могу попасть к врачу Ивановой на такую-то процедуру?" (т.е. когда в её графике есть "дырка" подходящей длительности). Ну и т.п.



While (!Life.EOF) { You.Money ++; You.Girls.Add(new Girl(90,60,90)); BeHappy(); }
Сообщ. #867845
03.06.2005 12:35


Supreme Being

Supreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme Being

участник
Last Login: 27.03.2008 10:38
Сообщ.: 193, Visits: 1 745
Очень хотел помочь, но...
Извини.
Сообщ. #870800
03.06.2005 12:43


Supreme Being

Supreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme Being

модератор
Last Login: 13.12.2007 18:51
Сообщ.: 3 047, Visits: 33 391
Да ладно, ничего. Топик наверх поднял - и то хорошо :)


While (!Life.EOF) { You.Money ++; You.Girls.Add(new Girl(90,60,90)); BeHappy(); }
Сообщ. #870804
07.07.2005 11:43
Supreme Being

Supreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme Being

участник
Last Login: 17.02.2008 17:13
Сообщ.: 88, Visits: 987
Как всё закручено, Comanche! А я к тебе со всякими "инструментом и технологической оснасткой" докапываюсь :). Работы по твоей тему будет тьма!!!
Сообщ. #874700
07.07.2005 12:27


Supreme Being

Supreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme Being

модератор
Last Login: 13.12.2007 18:51
Сообщ.: 3 047, Visits: 33 391
Но насчёт "инструмента и технологической оснастки" - всё-таки поясни (в том топике, не здесь). Интересно. На доминохе можно сделать практически всё :)


While (!Life.EOF) { You.Money ++; You.Girls.Add(new Girl(90,60,90)); BeHappy(); }
Сообщ. #874712
12.07.2005 14:32
Supreme Being

Supreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme Being

участник
Last Login: 17.02.2008 17:13
Сообщ.: 88, Visits: 987
...
Сообщ. #875316
12.07.2005 17:36


Supreme Being

Supreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme Being

модератор
Last Login: 13.12.2007 18:51
Сообщ.: 3 047, Visits: 33 391
Это что значит?!
Кстати, я тебе послал давно уже письмо - а в ответ тишина...

ЗЫ: М-Агент ставить не буду !!!



While (!Life.EOF) { You.Money ++; You.Girls.Add(new Girl(90,60,90)); BeHappy(); }
Сообщ. #875352
12.07.2005 17:57