MPXJ установить 24 часа календаря на ресурс

StackOverflow https://stackoverflow.com/questions/3761531

  •  04-10-2019
  •  | 
  •  

Вопрос

Я работаю с MPXJ Framework, чтобы генерировать файл XML с I импортирующим в Project 2007. Я запускал allot проблем, но я не могу найти ответ на следующее.

У меня есть фиксированная работа и продолжительность по заданию, но когда я добавляю ресурс и импортирую его в проект, я получаю сообщение об ошибке:

«Ресурс назначен за пределы исходных дат для задания 2 в проекте. Продолжительность этой задачи с фиксированной продолжительностью будет изменяться для удовлетворения назначения ресурсов».

Затем проект изменяет значение работы и продолжительности. Это не то, что я хочу. Я хочу, чтобы ресурс использовал календарь 24 часа, но не могу прикрепить стандартный календарь Project 2007, поэтому я думал, что позволяет сделать свой собственный календарь 24 часа и прикрепить к ресурсу. Теперь я не могу, казаться 0:00:00 до 0:00:00 в рабочем дне.

ProjectCalendar calendar = projectFile.addResourceCalendar();
calendar.setName("24 Hours");
calendar.setUniqueID(Count);
calendar.setWorkingDay(Day.MONDAY, true);
calendar.setWorkingDay(Day.TUESDAY, true);
calendar.setWorkingDay(Day.WEDNESDAY, true);
calendar.setWorkingDay(Day.TUESDAY, true);
calendar.setWorkingDay(Day.FRIDAY, true);

Resource resource = projectFile.addResource();
resource.setUniqueID(Count);
resource.setName("Painters");
resource.setResourceCalendar(calendar);

Любой, кто знает о решении, чтобы получить 24-часовой календарь по умолчанию на ресурс сделать свой собственный.

Это было полезно?

Решение

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

Ключевой момент к примечанию заключается в том, что экземпляр DARENGE устанавливается, чтобы начать с 00:00 часов на одну дату, и закончить в 00:00 часов На следующий день. Отказ Фактическая дата используется неактуальная, календарь использует только время элемента даты.

Надеюсь, что имеет смысл!

  //
  // Use this date formatter to make it simple to specific the range
  // start and wne dates
  //
  SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm");

  //
  // This is an immutable date range, so we can share it without
  // worrying about it being changed
  //
  DateRange range = new DateRange(format.parse("2000-01-01 00:00"), format.parse("2000-01-02 00:00"));

  //
  // Add the calendar and name it
  //
  ProjectCalendar test = file.addBaseCalendar();
  test.setName("Test 24 Hours");

  //
  // Mark each day as working
  //
  test.setWorkingDay(Day.SUNDAY, true);
  test.setWorkingDay(Day.MONDAY, true);
  test.setWorkingDay(Day.TUESDAY, true);
  test.setWorkingDay(Day.WEDNESDAY, true);
  test.setWorkingDay(Day.THURSDAY, true);
  test.setWorkingDay(Day.FRIDAY, true);
  test.setWorkingDay(Day.SATURDAY, true);

  //
  // Add a working hours range to each day
  //
  ProjectCalendarHours hours;
  hours = test.addCalendarHours(Day.SUNDAY);
  hours.addRange(range);
  hours = test.addCalendarHours(Day.MONDAY);
  hours.addRange(range);
  hours = test.addCalendarHours(Day.TUESDAY);
  hours.addRange(range);
  hours = test.addCalendarHours(Day.WEDNESDAY);
  hours.addRange(range);
  hours = test.addCalendarHours(Day.THURSDAY);
  hours.addRange(range);
  hours = test.addCalendarHours(Day.FRIDAY);
  hours.addRange(range);
  hours = test.addCalendarHours(Day.SATURDAY);
  hours.addRange(range);
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top