Логика планирования для календарных событий, которые повторяются на ежемесячной основе - PullRequest
0 голосов
/ 18 августа 2011

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

Различные виды обслуживания выполняются в разные промежутки времени.Это повторяющиеся события.Некоторые из них должны повторяться еженедельно, некоторые ежемесячно, а другие - каждые три месяца.

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

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

1 Ответ

0 голосов
/ 18 августа 2011

Похоже, я бросил пистолет, задавая этот вопрос.Я решил посмотреть, как Календарь Google обрабатывает ежемесячные повторяющиеся события.Если я добавлю событие на 31 января 2012 года и установлю его как повторяющееся событие, мне будет предложено повторять это событие каждый месяц, который имеет день 31, или повторять последний вторник каждого месяца.

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

...