Проект

Общее

Профиль

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

Обновлено Андрей Ерзунов 7 месяца назад

В системе должна появиться функциональность для двух типов перевода олигов: 
 1. Из науки в производство. 
 2. Из производства в науку. 

 В общем случае перевод выполняется посредством создания заказа нового типа. В системе появятся два типа заказов:  
 1. *Перевод в производство.* Под переводом в производство подразумевается перевод олигов из научных в производственные. 
 2. *Перевод в архив.* Под переводом в архив подразумевается перевод олигов из производственных в научные. 

 На текущий момент Справочнике наименований олигов (сущностей Olig), списки разделяются по двум вкладкам: производственные и научные, на основе значения поля orderType (INDUSTRIAL или SCIENTIFIC). И при выполнении перевода, - у наименований олигов меняется значение поля orderType в зависимости от типа перевода. 

 Кроме этого, с сущностью Olig связаны сущности OligsOrderTypeChangesSnapshot. Это снэпшоты изменений параметров олига при редактировании, на текущий момент любое редактирование олига через справочник приводит к созданию такого снэпшота. 
 И при переводе, когда мы меняем orderType - также должна создаваться запись данного снэпшота. Для данной сущности есть свой сервис, туда будет необходимо добавить соответствующую логику. 

 Также к теме снэпшотов добавлю то, что при переводе из науки в производство, помимо изменения orderType, иногда выполняется и переименование сущности Olig, изменяется значение поля name. Это изменение также должно быть зафиксировано в том же снэпшоте, который будет создан при выполнении перевода. Более подробно про переименование будет указано ниже. 

 В разделе "Заказы" должен появиться пункт меню "Переводы". 
 !clipboard-202510091100-xxcqh.png! 
 Внутри которого должны располагаться два подпункта:  
 1. Перевод в производство. 
 2. Перевод в архив. 

 На соответствующих страницах: Перевод в производство и Перевод в архив, - будут располагаться список созданных заказов соответствующих типов, и кнопка для их создания. 

 *Создание заказа Перевода из науки в производство* 
 * Необходимо добавить страницу создания заказа с типом "Перевод в производство". 
 * На данной странице должна быть следующая функциональность: 
 1. Пользователь загружает .csv-файл с полями: старое название олига, новое название олига, последовательность, конечная концентрация олига, серия олига. Под серией подразумевается  
 При импорте данного .csv-файла необходимо выполнить ряд валидаций. И после выполнения валидаций отобразить предупреждающий блок с деталями найденных несоответствий (то есть пишем, какое несоответствие было найдено для какого олига): валидаций: 
 * Все последовательности в файле должны быть пропущены через валидатор последовательности в ДТ-Синтезе. При валидации на текущий момент выполняется поиск ошибок в последовательности и их исправление. Визуализацию этого процесса можно посмотреть на странице /settings/validation. 
 На текущий момент в стандартных заказах уже выполняется валидация и очистка последовательностей, можно посмотреть, как там это происходит. Прикрепляю скриншот с примером того, как это можно было бы сделать. 
 !clipboard-202510091210-mzb2q.png! 

 * Если последовательность не найдена в ДТ-Синтезе. Критическое несоответствие. Не даём завершить создание заказа. 
 * Если для соответствующей последовательности, название в ДТ-Синтезе не соответствует старому названию олига в файле. Критическое несоответствие. Не даём завершить создание заказа. 
 * Если значение Нового названия уже используется в системе. Критическое несоответствие. Не даём завершить создание заказа. 

 2.   

Назад