Проект

Общее

Профиль

Разработка #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 на что-то вроде индентификатора, обозначения клиента. 

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

Назад