Разработка #4296
Обновлено Андрей Золотухин 5 месяца назад
В рамках задачи разбить строку архивного номера на несколько раздельных данных, изменить способ его сохранения, редактирования. Сделать так, чтобы везде, где используется архивный номер, он отображался в качестве той же строки, что и раньше, но формировался из независимых данных. Текущие Разбить существующие в системе архивные номера сохраняются в формате БукваклиентаГодЗаказа/НомерЗаказаВГоду/НомерОлигаВЗаказе И выглядят как: 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 на что-то вроде индентификатора, обозначения клиента. Еще архивные номера задаются при импорте архива УВПН, тут уже надо уточнять у Андрея Ерзунова, который писал импорт.