Проект

Общее

Профиль

Разработка #4296

открыто

[УВПН] Изменение формата хранения архивного номера УВПН в системе.

Добавил(а) Андрей Золотухин 5 месяца назад. Обновлено 5 месяца назад.

Статус:
Открыта
Приоритет:
Низкий
Дата начала:
25.11.2025
Срок завершения:
Готовность:

0%

Оценка временных затрат:
8:00 ч
Участок:
УВПН
Тип задачи:
Новая разработка
Общее время (ч):
Тестировщик:
Ожидается содействие:

Описание

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

Текущие архивные номера сохраняются в формате
БукваклиентаГодЗаказа/НомерЗаказаВГоду/НомерОлигаВЗаказе

И выглядят как:
M25/_/01
M25/05/01

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

Требуется разбить существующие в системе архивные номера

class Order
БукваКлиента - Буквы клиентов редактируются, но в архивных номерах требуется оставлять как есть, поэтому требуется сохранять
ГодЗаказа - (order.getCreationDate().getYear() % 100) как это итак берется при формировании номера
НомерЗаказаВГоду - исходно null, заполняется при закрытии заказа через метод findOrdersCountByClientLetterAndYearAndIsReadyTrue на текущий момент.

class OligInScientificOrder
НомерОлигаВЗаказе - эта часть архивного номера не редактируется, поэтому, возможно есть смысл не сохранять её вовсе, но, в таком случае, зачастую надо будет считать все олиги в заказе через JOIN с oligs_in_orders и scientific_oligs_in_orders. Иначе

Все сценарии, в которых затрагивается архивный номер:
  • Отображение полного архивного номера у каждой записи в архиве УВПН.
  • Отображение части архивного номера без номера олига у каждого заказа в архиве УВПН и на деталях (ScientificOrderDetails.vue)
  • Поиск по подстроке архивного номера в списке архивных заказов УВПН. /scientificOrdersArchive, а также отображение олигов для автозаполнения при вводе этой подстроки. (FIND_OLIGS_BY_NAME_OR_SEQ_OR_ARCHIVE_NUMBER_QUERY)
  • Отображение строки архивного номера на деталях контейнера /testtube/:id
  • Отображение и редактирование архивного номера на страницах со списком олигов на УВПН, списком архивных олигов. (editableArchiveNumber.vue)
  • Создание архивного номера при создании заказа (createArchiveNumber)
  • Формирование полного архивного номера при закрытии заказа. (performCloseOrder, findOrdersCountByClientLetterAndYearAndIsReadyTrue)
  • "Присваивание" архивного номера на странице со списком олигов УВПН (установка поля showArchiveNumber) в true, по которому определяется, отображать ли строку архивного номера или нет.
  • Сокрытие архивного номера при установке статуса по контолю "Брак" (ScientificOrderReleaseStatus.REJECTED, createNewOligForScientificOrderReleaseAfterStatusChanged, hideFullyArchiveNumberForRejected)
  • Отображение архивного номера при закрытии заказа на списке с научными заказами (scientificOrders.vue, scientificEnrichmentOrders.vue,J updateOrderArchiveNumber)
  • Отображение архивного номера при передаче научных олигов заказчику (TransferOligsToCustomer.vue)
  • Возможно есть еще моменты.

Для заказов на обогащение в архиве олиги не отображаются, поэтому

Также в рамках этой задачи хотелось бы переименовать название поля clientFirstLetter на что-то вроде индентификатора, обозначения клиента.

Еще архивные номера задаются при импорте архива УВПН, тут уже надо уточнять у Андрея Ерзунова, который писал импорт.

Экспортировать в Atom PDF