Доработка системы SharePoint

Надежда2 роки у сервісі
Дані замовника будуть вам доступні після подання заявки
25.10.2022

О Системе:

Информационная система для автоматизации подготовки и подачи заявлений.

В Системе можно сформировать электронную заявку. Все вносимые данные проверяются по справочникам, все действия формируют историю. К заявке прилагаются сканы документов (подписанные ЭП).

Все электронные документы передаются по зашифрованному каналу. Файлы хранятся в нескольких экземплярах на разных серверах.

Система основана на базе MS SharePoint, C#, MS SQL.

Ниже перечислены задачи

Задача 1. Разработка шаблона.

Шаблон состоит из двух таблиц.

На данный момент поля выбора заполняются из справочника, а текстовые поля заполняются вручную.

Количество строк в каждой из таблиц определяются по условию.

Сейчас при нажатии кнопки данные отправляются и появляется новый пустой лист для ввода.

Необходимо только для 1 раздела Системы (по определенным условиям) все передаваемые данные сохранять как шаблон, доступный для переиспользования при дальнейшей работе.

При нажатии на кнопку "Отправить и создать новую" сохранять данные, как шаблон.

Данные для сохранения и переноса в новую запись о комплектации вагона: 2 таблицы 8 и 4 параметра.

Таким образом данные которые нужно изменить, пользователь скорректирует сам. Кнопка “Отправить и создать новую” в открывшейся записи не должна быть доступна до момента ввода и прохождения валидации (по 1 полю).

Задача 2. Создание комплексной заявки

Кейс: требуется действие в, но для этого требуется выполнить действие б (опционально), а это возможно только при условии а’. Поэтому схема такая: выполняется действие а, которое обеспечивает условие а’, после действие б и действие в (последовательно).

1. Требуется реализовать возможность выбора причины заявки в или б-в

2. Требуется реализовать автоматическую проверку условия а’

3. Требуется реализовать формирование автоматических комплексных заявок а-б-в/б-в/а-в/в

4. Требуется поддержать логику: 

  • а формируется на основе:
  • а-в: формируется на основе данных из базы (с исключенными сведениями),
  • а-б-в: б формируется в случае положительного решения о а на основе данных из актуальной записи (но с измененным данными из заявки).
  • после ее обработки формируется в (или б) на основании новой сформированной по итогам обработки а.
Задача 3. Добавление в заявку множества операций

Зачастую формирование заявок представляет собой прокликивание одной и той же кнопки. Для заявок, в которых более 50 операций

это занимает значительное время. Параметры в этих операциях зачастую одни и те же, а если они и отличаются, то их можно править групповым обновлением.

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

1. В окне создания в заявках (определенного типа) добавить опциональную форму для настройки автоматического создания N кол-ва записей в заявке.

2. Требуется реализовать следующие опции в форме: 

  • выбор кол-ва создаваемых записей (счетчик),
  • выбор полного или частичного (без определенного поля) переноса всех сведений из заполняемой операции в прочие,
  • при активации предыдущей опции реализовать настройки маски инкремента и его шага.
3. По итогу применения установленных в форме опций происходит создание записей и редирект на страницу заявки.

Задача 4. Расширить лимит операций в заявке

На данный момент в заявке может быть указано не более 50 операций.

Требуется реализовать возможность добавления неограниченного количества операций в заявку.

При отправке данной заявки требуется реализовать формирование отдельных сообщений с количеством не превышающим 100 операций.

В случае поступления на отработку (отправку по каналу сообщений) заявки, в которой кол-во файлов сообщений превышает 5, организовать механизм очереди, когда для обработки следующих 5 файлов из этой заявки вперед пропускаются 5 любых отправленных в обработку сообщений из других заявок.

Задача 5. Частичная обработка операций в заявке

Проблема: при отправке нескольких (50) операций в заявке, если хотя бы в 1 из операций есть ошибка/не верный статус, то вся заявка не обрабатывается.

При формировании заявки (определенного типа) необходимо добавить проверки:

  • Валидация отсутствия признака
  • Валидация отсутствия дублирования запроса данной операции в другой заявке
Также требуется поддержать частичную обработку заявки. Механизм отказа на заявку уже реализован, нужно его перевести на пооперационный подход. То есть например в заявке 50 операций, в файле ответа 49 операций отказаны (не важно по какой причине). 1 операция обрабатывается (проставляется признак).

В рамках доработки требуется обрабатывать файл ответа с ошибками, и для операций, которых нет в файле проставлять признак в БД.