Разработка:storages/invexecutions

Материал из DOF
Перейти к: навигация, поиск

Таблица в базе данных

invexecutions - история исполнения заказа. Хранится информация когда, кому и по какому заказу были выданы комплекты оборудования и когда и кем были возвращены на склад.

Подробный формат полей в таблице:

  • dateplane - плановое время начала использования по UTC
  • durationplane - запланированное время использования в секундах
  • priority - приоритет. Целое число. Чем выше число, тем выше приоритет. Может быть отрицательным. По умолчанию - 0. При создании равен приоритету заказа, но потом может быть изменен.
  • orderid - id заказа
  • setid - id комплекта, который был выдан
  • ccustomerid - сотрудник, получивший комплект со склада
  • cofficialid - сотрудник, выдавший комплект со склада
  • scustomerid - сотрудник, вернувший комплект на склад
  • sofficialid - сотрудник, принявший комплект на склад
  • datereceipt - дата и время получения комплекта учителем по UTC
  • cdocument - номер документа, подтверждающего выдачу (дата совпадает с datereceipt)
  • daterestitution - дата и время возврата по UTC
  • sdocument - номер документа, подтверждающего возврат (дата совпадает с daterestitution)
  • status - список статусов указан в одноименном плагине рабочих процессов invexecutions
  • reason - причина отказа в исполнении заказа (если заказ не исполнен): не указана, недостаток ресурса, отказ принять замену, неявка за комплектом, отказ от заказа

Дополнительные методы:

  • Запланировать исполнение заказа, если комплект штучный, проверяется, не запланорована ли выдача того же самого комплекта в то же самое время (по плановому времени выдачи и возврата комплакта, а так же по уже выданным комплектом, плановое время возврата которых включает время исполнения текущего заказа). Если установлен флаг разрешающий это, занятые комплекта автоматически заменяются на первый свободный из той же категории. Можно передать массив со списком комплектов, которые в случае занятости предпочтительного будут пробоваться по очереди, тогда из массива комплекты разрешается подставлять даже при не установленном флаге разрешения замены комплекта на аналог.
  • Выдать комплекты по заказу (запись о заказе остается неизменной, зато вносятся соответствующие изменения в invexetution и invoperation), перед исполнением проверяется возможность исполнения по остаткам.
  • Отметка о возвращении комплекта
  • Посчитать, сколько ресурсов требуется для исполнения всех заказов с текущего момента по указанный момент. Ориентируемся на записи о плановом возвращении выданных комплектов и плановом времени выдачи и возвращения комплектов. При этом в отчет включается массив, ключами которого являются id категорий, а значениями - общее количество необходимых расходных ресурсов, пиковое количество необходимых возвращаемых ресурсов. По возвращаемым и штучным комплектам так же возвращается массив, со временем планируемого использования умноженное на количество ресурса из каждой категории (для штучного ресурса использование в течении одного часа будет отражено числом 3600, для двух единиц счетного ресурса в заказе использование в течении одного часа - 7200). Отдельно в отчет включается массив пиковых точек, когда нехватает того или инного ресурса либо приходится делать замены.
  • Список заказов по структурному подразделению и статусу, отсортированных по плановому времени исполнения, либо по фактическому времени исполнения.