Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> разбор выражения, не поделитесь как решили бы эту задачу 
:(
    Опции темы
cube
Дата 14.8.2009, 18:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 291
Регистрация: 11.4.2007

Репутация: 2
Всего: 3



есть строка типа "1+1" в моей программе это означает режим работы мастера, т.е. мастер работает день через день, или вот еще "(12:15)+2" означает что мастер работает с 12 до 15 и два дня отдыхает...

Этот синтаксис зависит от меня, - я разработчик, но чтобы не изобретать велосипед, может подскажете какие-нибудь удобные решения?

В дальнейшем в программе по графику 1+1 будет вызываться метод, который парсит эту логику и по ней произхводит необходимые действия.Спасибо!
PM MAIL   Вверх
garbuz
Дата 14.8.2009, 19:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 677
Регистрация: 22.1.2008

Репутация: 3
Всего: 11



Что-то ерунда какая-то имхо. Используйте классы Date, Calendar и DateFormat.
PM MAIL   Вверх
cube
Дата 14.8.2009, 19:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 291
Регистрация: 11.4.2007

Репутация: 2
Всего: 3



Цитата(garbuz @ 14.8.2009,  19:19)
Что-то ерунда какая-то имхо. Используйте классы Date, Calendar и DateFormat.

человек должен на месяц или хуже на год забить график работы мастеру, он не будет же делать это вручную?
а если через месяц график работы мастера меняется, и меняются графики работы других мастеров? как быть?

то что программно переформируется "1+1" на даты и в базе данных сохранятся именно даты - это понятно.
PM MAIL   Вверх
COVD
Дата 14.8.2009, 20:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1655
Регистрация: 26.7.2005

Репутация: 17
Всего: 43



У вас, наверное, учебный проект. Иначе трудно представить зачем такие сложности в сфере бытового обслуживания smile. Если у вас Windows, то примеры расписаний можно посмотреть в ControlPanel->ScheduledTasks-> Add SheduledTask->... Там, конечно, нет варианта "сутки через двое", но идея понятная - каждому работнику назначается обьект - расписание. Этот обьект хранит необходимые данные (день старта, периодичность, часы работы), на основании которых в будующем можно вычислить текущее расписание работника при отображении в таблицах.

Это сообщение отредактировал(а) COVD - 14.8.2009, 20:09
PM MAIL   Вверх
cube
Дата 14.8.2009, 22:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 291
Регистрация: 11.4.2007

Репутация: 2
Всего: 3



У меня русская виста, не могу найти ваш пример...
Проект учебный - для меня, но не для заказчика)) 

Если честно много чему научился когда начал вести этот проект.
Задача такая встречается довольно часто в сферах обслуживания, я не знаю почему вы так написали... 

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

И заказчика такая возможность очень интересует...
PM MAIL   Вверх
COVD
Дата 14.8.2009, 23:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1655
Регистрация: 26.7.2005

Репутация: 17
Всего: 43



Цитата

Задача такая встречается довольно часто в сферах обслуживания, я не знаю почему вы так написали... 

Потому, что обычно это заведения, в которых численность работающих небольшая. График работы у них бывает сбивается, подменяют друг друга, у мастеров появляются постоянные клиенты. В таких условиях проще управляться без компьютера. Но раз заказали - дерзайте.     
PM MAIL   Вверх
Skynin
Дата 14.8.2009, 23:10 (ссылка) |  (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 359
Регистрация: 1.7.2007
Где: Харьков

Репутация: 6
Всего: 10



Цитата

то что программно переформируется "1+1" на даты и в базе данных сохранятся именно даты - это понятно. 

Не один год решал эти задачи на 1С:Зарплата и в самописных системах (на FoxPro и MUMPSе), так что сразу скажу - хранить даты вместо графика - неверно. Только для совсем простых случаев подойдет. Но для того что Вы хотите, создание и копирование графиков, замены, подмены - нужно хранить именно график как он есть. Возможно хранить два, планируемый и отклонения. Или 3 - планируемый и ожидаемые отклонения и реальные отклонения. Или вообще с табеля начать, взяв за основу формы Т-12, Т-13 И т.д.

В общем случае - задачи эти весьма нетривиальны, и "классы Date, Calendar и DateFormat" примерно как - для отображения GUI окна используйте байты, слова и инты. Такой низкий уровень почти никак не поможет для решения Вашей задачи.

Библиотеки не подскажу, погуглите "open ERP Java", Salary. Или "Учет рабочего времени" и посмотреть демки программ, чтобы проникнуться темой smile 
PM MAIL WWW ICQ Skype GTalk YIM MSN   Вверх
COVD
Дата 14.8.2009, 23:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1655
Регистрация: 26.7.2005

Репутация: 17
Всего: 43



Цитата

Или "Учет рабочего времени" и посмотреть демки программ, чтобы проникнуться темой 

это самое правильное - начать с существующих приложений (1С ?)
PM MAIL   Вверх
cube
Дата 14.8.2009, 23:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 291
Регистрация: 11.4.2007

Репутация: 2
Всего: 3



Цитата(Skynin @ 14.8.2009,  23:10)
Цитата

то что программно переформируется "1+1" на даты и в базе данных сохранятся именно даты - это понятно. 

Не один год решал эти задачи на 1С:Зарплата и в самописных системах (на FoxPro и MUMPSе), так что сразу скажу - хранить даты вместо графика - неверно. Только для совсем простых случаев подойдет. Но для того что Вы хотите, создание и копирование графиков, замены, подмены - нужно хранить именно график как он есть. Возможно хранить два, планируемый и отклонения. Или 3 - планируемый и ожидаемые отклонения и реальные отклонения. Или вообще с табеля начать, взяв за основу формы Т-12, Т-13 И т.д.

В общем случае - задачи эти весьма нетривиальны, и "классы Date, Calendar и DateFormat" примерно как - для отображения GUI окна используйте байты, слова и инты. Такой низкий уровень почти никак не поможет для решения Вашей задачи.

Библиотеки не подскажу, погуглите "open ERP Java", Salary. Или "Учет рабочего времени" и посмотреть демки программ, чтобы проникнуться темой smile

я боюсь с табелев начинать, потому что моему заказчику не понятно на сколько сложен данный проект, он хочет получить его быстрее и с меньшими затратами, я больше чем уверен что он считает что все это просто и уже есть куча решений, которые можно вять и просто подключить...

Что касается дат и календарей, то у меня есть некоторые шаблоны с логикой, вначале темы я писал про это... а как в базе храниться, это уже второй вопрос... почему не храниться график - потому как по графику расписание создается один раз + иногда редактирование, а вот с днем на которое приходится расписание человек работает постоянно... мало того другая система дергает отчеты из этой базы... и усложняться самому + усложнить ту систему - меня уволят просто
PM MAIL   Вверх
Skynin
Дата 14.8.2009, 23:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 359
Регистрация: 1.7.2007
Где: Харьков

Репутация: 6
Всего: 10



Цитата(COVD @ 14.8.2009,  23:17)
это самое правильное - начать с существующих приложений (1С ?)

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

Упомянутые требования по задаче указывают что это не "Hello world" написать, а нужно
1. понять предметную область
2. спроектировать реализацию
3. наваять

В 1С, кстати, при всей ее заточенности подсистема расчета зарплаты - самая слабая из трех (бух учет, опер учет)
Не их вина, "начисление зарплаты является одним из самых сложных разделов бух учета"(С)
А состоит он из двух Кусков - деньги и время. Самый простой вариант второго куска- прямой учет - когда нет привязки к графикам, а просто ведем табель. 
Но нужны то - графики  и операции над ними smile 

Такая вот предисловие.

Цитата

я боюсь с табелев начинать, потому что моему заказчику не понятно на сколько сложен данный проект, он хочет получить его быстрее и с меньшими затратами, я больше чем уверен что он считает что все это просто и уже есть куча решений, которые можно взять и просто подключить...

99,9% заказчиков так считают. И хотят побыстрее.

Но взять и подключить - уверен не получится.
Даже если найдете то что нужно.

Цитата
а как в базе храниться, это уже второй вопрос...

Э-э-э не, smile Впрочем, похоже предпочитаете учиться на собственных ошибках?

Цитата
почему не храниться график - потому как по графику расписание создается один раз + иногда редактирование, а вот с днем на которое приходится расписание человек работает постоянно...

А что же тогда будете копировать? А как будете переводить человека на другой график, заставлять оператора перешлепывать даты?

Далее - "иногда" в таких ситуациях - почему-то норовит превратится во "всегда"

Цитата
мало того другая система дергает отчеты из этой базы... и усложняться самому + усложнить ту систему - меня уволят просто

И что? У Вас нет возможности хранить свои данные в базе? 

Но хорошо, знаете как просто - делайте smile
ИМХО - случится по аналогии "скупой платит дважды" и будет надцать велосипедов с заплатками на жвачке и скотче и связанные между собой бечевками.

Это сообщение отредактировал(а) Skynin - 14.8.2009, 23:42
PM MAIL WWW ICQ Skype GTalk YIM MSN   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
javastic
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0943 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.