Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package ru.baccasoft.nnsupport.controllers;
- import io.swagger.annotations.ApiOperation;
- import io.swagger.annotations.ApiParam;
- import org.joda.time.DateTime;
- import org.joda.time.format.DateTimeFormat;
- import org.springframework.http.HttpHeaders;
- import org.springframework.http.HttpStatus;
- import org.springframework.http.ResponseEntity;
- import org.springframework.web.bind.annotation.RequestMapping;
- import org.springframework.web.bind.annotation.RequestMethod;
- import org.springframework.web.bind.annotation.RequestParam;
- import org.springframework.web.bind.annotation.RestController;
- import org.xhtmlrenderer.pdf.ITextRenderer;
- import ru.baccasoft.nnsupport.controllers.dto.*;
- import ru.baccasoft.nnsupport.data.repositories.ReportRepository;
- import ru.baccasoft.nnsupport.domain.models.*;
- import ru.baccasoft.nnsupport.domain.services.*;
- import ru.baccasoft.nnsupport.domain.services.models.Email;
- import javax.inject.Inject;
- import javax.servlet.ServletResponse;
- import javax.servlet.http.HttpServletResponse;
- import java.io.File;
- import java.io.FileOutputStream;
- import java.util.ArrayList;
- import java.util.Arrays;
- import java.util.List;
- import java.util.stream.Collectors;
- @RestController
- @RequestMapping("/api/report")
- public class ReportController {
- private static final String DATETIME_PATTERN = "dd-MM-yyyy";
- @Inject
- private UserSettingsService userSettingsService;
- @Inject
- private FileService fileService;
- @Inject
- private DownloadService downloadService;
- @Inject
- private ReportService reportService;
- @Inject
- private EmailService emailService;
- @Inject
- private ReportRepository reportRepository;
- private static final String EMAIL_TEXT =
- "Данное письмо сформировано автоматически. Просьба не отвечать на данное сообщение.\n\n" +
- "Служба технической поддержки\n" +
- "nn-support@baccasoft.ru\n" +
- "www.baccasoft.ru";
- @ApiOperation(
- value = "Получение отчёта по статистике",
- notes = "Получение отчёта по статистике",
- response = StatisticsReportDTO.class,
- responseContainer = "List"
- )
- @RequestMapping(value = "/statistics", method = RequestMethod.GET)
- public List<StatisticsReportDTO> getStatReport(
- ServletResponse response,
- @ApiParam(value = "Начальная дата, для которой необходимо получить статистику в формате " + DATETIME_PATTERN) @RequestParam(value = "dateFrom") String strDateFrom,
- @ApiParam(value = "Конечная дата, для которой необходимо получить статистику в формате " + DATETIME_PATTERN) @RequestParam(value = "dateTo") String strDateTo
- ) {
- DateTime dateFrom = DateTime.parse(strDateFrom, DateTimeFormat.forPattern(DATETIME_PATTERN));
- DateTime dateTo = DateTime.parse(strDateTo, DateTimeFormat.forPattern(DATETIME_PATTERN));
- return reportService
- .getStatisticsReport(dateFrom, dateTo)
- .stream()
- .map(record -> {
- StatisticsReportDTO dto = new StatisticsReportDTO();
- dto.period = record.getPeriod();
- dto.userId = record.getUserId();
- dto.openAppAmount = record.getOpenAppAmount();
- dto.userName = record.getUserName();
- dto.syncAmount = record.getSyncAmount();
- dto.newTasksAmount = record.getNewTasksAmount();
- dto.newInstructionsAmount = record.getNewInstructionsAmount();
- dto.completedTasksAmount = record.getCompletedTasksAmount();
- dto.successfulTasks = record.getSuccessfulTasks();
- dto.failedTasks = record.getFailedTasks();
- return dto;
- })
- .collect(Collectors.toList());
- }
- @ApiOperation(
- value = "Получение файла отчёта по статистике",
- notes = "Формирует и выгружает файл отчёта по статистике."
- )
- @RequestMapping(value = "/statistics/file", method = RequestMethod.GET)
- public void getStatReportFile(
- ServletResponse response,
- @ApiParam(value = "Начальная дата, для которой необходимо получить статистику в формате " + DATETIME_PATTERN) @RequestParam(value = "dateFrom") String strDateFrom,
- @ApiParam(value = "Конечная дата, для которой необходимо получить статистику в формате " + DATETIME_PATTERN) @RequestParam(value = "dateTo") String strDateTo
- ) {
- DateTime dateFrom = DateTime.parse(strDateFrom, DateTimeFormat.forPattern("dd-MM-yyyy"));
- DateTime dateTo = DateTime.parse(strDateTo, DateTimeFormat.forPattern("dd-MM-yyyy"));
- String filename;
- if (dateFrom.equals(dateTo)) {
- filename = String.format("stat_report_%s.pdf", dateFrom.toString("yyyyMMdd"));
- } else {
- filename = String.format("stat_report_%s_%s.pdf", dateFrom.toString("yyyyMMdd"), dateTo.toString("yyyyMMdd"));
- }
- HttpServletResponse httpServletResponse = (HttpServletResponse) response;
- ITextRenderer pdfFile = new ITextRenderer();
- reportService.getStatisticsReportFile(dateFrom, dateTo, pdfFile);
- downloadService.downloadFile(httpServletResponse, pdfFile, filename);
- }
- @RequestMapping(value = "/statistics/email", method = RequestMethod.GET)
- public ResponseEntity<GetStatReportEmailDTO> getStatReportEmail(
- ServletResponse response,
- @ApiParam(value = "Начальная дата, для которой необходимо получить статистику в формате " + DATETIME_PATTERN) @RequestParam(value = "dateFrom") String strDateFrom,
- @ApiParam(value = "Конечная дата, для которой необходимо получить статистику в формате " + DATETIME_PATTERN) @RequestParam(value = "dateTo") String strDateTo
- ) {
- DateTime dateFrom = DateTime.parse(strDateFrom, DateTimeFormat.forPattern(DATETIME_PATTERN));
- DateTime dateTo = DateTime.parse(strDateTo, DateTimeFormat.forPattern(DATETIME_PATTERN));
- ITextRenderer pdfFile = new ITextRenderer();
- reportService.getStatisticsReportFile(dateFrom, dateTo, pdfFile);
- String tempFileName = fileService.createTemporaryFile();
- try {
- FileOutputStream fos = new FileOutputStream(tempFileName);
- pdfFile.createPDF(fos);
- fos.flush();
- } catch (Exception e) {
- e.printStackTrace();
- return new ResponseEntity<>(null, new HttpHeaders(), HttpStatus.INTERNAL_SERVER_ERROR);
- }
- GetStatReportEmailDTO dto = new GetStatReportEmailDTO();
- Email email = new Email();
- email.to = userSettingsService.getStatisticsMailTo();
- email.subject = "Отчёт по статистике";
- email.text = EMAIL_TEXT;
- String filename;
- if (dateFrom.equals(dateTo))
- filename = String.format("stat_report_%s.pdf", dateFrom.toString("yyyyMMdd"));
- else
- filename = String.format("stat_report_%s_%s.pdf", dateFrom.toString("yyyyMMdd"), dateTo.toString("yyyyMMdd"));
- Email.Attachment attachment = new Email.Attachment();
- attachment.fileAttachment = new File(tempFileName);
- attachment.attachmentName = filename;
- email.attachments = new ArrayList<>();
- email.attachments.add(attachment);
- dto.status = emailService.sendEmail(email).toString();
- dto.destination = Arrays.asList(email.to);
- return new ResponseEntity<>(dto, new HttpHeaders(), HttpStatus.OK);
- }
- @ApiOperation(
- value = "Получение отчёта по синхронизации",
- notes = "Получение отчёта по синхронизации",
- response = SyncReportDTO.class,
- responseContainer = "List"
- )
- @RequestMapping(value = "/synchronization", method = RequestMethod.GET)
- public List<SyncReportDTO> getSyncReport(
- ServletResponse response,
- @ApiParam(value = "Дата, для которой необходимо получить отчёт по синхронизациям, в формате " + DATETIME_PATTERN) @RequestParam(value = "date") String strDate,
- @ApiParam(value = "Идентификатор пользователя") @RequestParam(value = "user_id") Long userId
- ) {
- DateTime date = DateTime.parse(strDate, DateTimeFormat.forPattern("dd-MM-yyyy"));
- return reportService.getSynchronizationReport(date, userId)
- .stream()
- .map(record -> {
- SyncReportDTO dto = new SyncReportDTO();
- dto.sessionId = record.getSessionId();
- dto.syncGroup = record.getSyncGroup();
- dto.status = record.getStatus();
- dto.fullName = record.getFullName();
- dto.userId = record.getUserId();
- dto.deviceId = record.getDeviceId();
- dto.timeStart = record.getTimeStart().toString("yyyy-MM-dd HH:mm:ss.SSS");
- dto.timeEnd = record.getTimeEnd().toString("yyyy-MM-dd HH:mm:ss.SSS");
- dto.duration = record.getDuration();
- return dto;
- })
- .collect(Collectors.toList());
- }
- @ApiOperation(
- value = "Получение отчёта по мониторингу сервисов",
- notes = "Получение отчёта по мониторингу сервисов",
- response = WebMethodValidationRecordDTO.class,
- responseContainer = "List"
- )
- @RequestMapping(value = "/web-method-validation", method = RequestMethod.GET)
- public List<WebMethodValidationRecordDTO> getKasudServiceValidationReport(
- ServletResponse response,
- @ApiParam(value = "Дата, для которой необходимо получить отчёт по мониторингу сервисов, в формате " + DATETIME_PATTERN) @RequestParam(value = "dateFrom") String strFromDate,
- @ApiParam(value = "Дата, для которой необходимо получить отчёт по мониторингу сервисов, в формате " + DATETIME_PATTERN) @RequestParam(value = "dateTo") String strToDate,
- @ApiParam(value = "Поле фильтрации по сервисам") @RequestParam(value = "serviceId", required = false) Integer serviceId,
- @ApiParam(value = "Поле фильтрации по успешности проверки") @RequestParam(value = "failedOnly", required = false, defaultValue = "false") Boolean failedOnly,
- @ApiParam(value = "Номер страницы отчета") @RequestParam(value = "pageNumber", required = false) Integer pageNumber,
- @ApiParam(value = "Количество строк на одной странице отчета") @RequestParam(value = "pageSize", defaultValue = "15") Integer pageSize
- ) {
- DateTime dateFrom = DateTime.parse(strFromDate, DateTimeFormat.forPattern("dd-MM-yyyy"));
- DateTime dateTo = DateTime.parse(strToDate, DateTimeFormat.forPattern("dd-MM-yyyy"));
- return reportService
- .getWebMethodValidationReport(dateFrom, dateTo, serviceId, failedOnly, pageNumber, pageSize)
- .stream()
- .map(record -> {
- WebMethodValidationRecordDTO dto = new WebMethodValidationRecordDTO();
- dto.serviceName = record.getServiceName();
- dto.timestamp = record.getDate();
- dto.status = record.getStatus().toString();
- dto.duration = record.getDuration();
- dto.validationInfo = record.getValidationInfo();
- return dto;
- })
- .collect(Collectors.toList());
- }
- @ApiOperation(
- value = "Выгрузка pdf файла по мониторингу сервисов",
- notes = "Выгрузка pdf файла по мониторингу сервисов"
- )
- @RequestMapping(value = "/web-method-validation/file", method = RequestMethod.GET)
- public void getValidationReportFile(
- ServletResponse response,
- @ApiParam(value = "Дата, для которой необходимо получить отчёт по мониторингу сервисов, в формате " + DATETIME_PATTERN) @RequestParam(value = "dateFrom") String strFromDate,
- @ApiParam(value = "Дата, для которой необходимо получить отчёт по мониторингу сервисов, в формате " + DATETIME_PATTERN) @RequestParam(value = "dateTo") String strToDate,
- @ApiParam(value = "Поле фильтрации по сервисам") @RequestParam(value = "serviceId", required = false) Integer serviceId,
- @ApiParam(value = "Поле фильтрации по успешности проверки") @RequestParam(value = "failedOnly", required = false, defaultValue = "false") Boolean failedOnly
- ) {
- DateTime dateFrom = DateTime.parse(strFromDate, DateTimeFormat.forPattern("dd-MM-yyyy"));
- DateTime dateTo = DateTime.parse(strToDate, DateTimeFormat.forPattern("dd-MM-yyyy"));
- ITextRenderer pdfFile = reportService.getWebMethodValidationReportFile(dateFrom, dateTo, serviceId, failedOnly);
- String filename;
- if (dateFrom.equals(dateTo))
- filename = String.format("validation_report_%s.pdf", dateFrom.toString("yyyyMMdd"));
- else
- filename = String.format("validation_report_%s_%s.pdf", dateFrom.toString("yyyyMMdd"), dateTo.toString("yyyyMMdd"));
- HttpServletResponse httpServletResponse = (HttpServletResponse) response;
- downloadService.downloadFile(httpServletResponse, pdfFile, filename);
- }
- @RequestMapping(value = "/log", method = RequestMethod.GET)
- public List<LogReportDTO> getLogReport() {
- // todo: stub
- return new ArrayList<>();
- }
- @RequestMapping(value = "/userDoc", method = RequestMethod.GET)
- public List<UserDocReportDTO> getUserDocReport() {
- // todo: stub
- return new ArrayList<>();
- }
- @ApiOperation(
- value = "Отчет по действиям пользователей",
- notes = "Отчет по действиям пользователей",
- response = UserActionRecord.class,
- responseContainer = "List"
- )
- @RequestMapping(value = "/user-actions", method = RequestMethod.GET)
- public List<UserActionRecord> getUserActions(
- ServletResponse response,
- @ApiParam(value = "Дата, для которой необходимо получить отчёт по действиям пользователей, в формате " + DATETIME_PATTERN) @RequestParam(value = "dateFrom", required = false) String strFromDate,
- @ApiParam(value = "Дата, для которой необходимо получить отчёт по действиям пользователей, в формате " + DATETIME_PATTERN) @RequestParam(value = "dateTo", required = false) String strToDate,
- @ApiParam(value = "Поле фильтрации по пользователям") @RequestParam(value = "userId", required = false) Integer userId,
- @ApiParam(value = "Поле фильтрации по контексту") @RequestParam(value = "searchString", required = false) String searchString,
- @ApiParam(value = "Поле фильтрации по действиям") @RequestParam(value = "id", required = false) String actionId,
- @ApiParam(value = "Поле фильтрации по поручениям") @RequestParam(value = "instructionId", required = false) Integer instructionId,
- @ApiParam(value = "Поле фильтрации по документам") @RequestParam(value = "documentId", required = false) Integer documentId,
- @ApiParam(value = "Номер страницы отчета") @RequestParam(value = "pageNumber", required = false) Integer pageNumber,
- @ApiParam(value = "Количество строк на одной странице отчета") @RequestParam(value = "pageSize", defaultValue = "15") Integer pageSize
- ) {
- DateTime dateFrom = null;
- DateTime dateTo = null;
- if (strFromDate != null)
- dateFrom = DateTime.parse(strFromDate, DateTimeFormat.forPattern("dd-MM-yyyy"));
- if (strToDate != null)
- dateTo = DateTime.parse(strToDate, DateTimeFormat.forPattern("dd-MM-yyyy"));
- return reportRepository.getUserActionsByFilter(dateFrom, dateTo, userId, searchString, instructionId, documentId, actionId, pageNumber, pageSize);
- }
- @ApiOperation(
- value = "Отчет по логам с устройств пользователей",
- notes = "Отчет по логам с устройств пользователей",
- response = DeviceLogRecord.class,
- responseContainer = "List"
- )
- @RequestMapping(value = "/device-logs", method = RequestMethod.GET)
- public List<DeviceLogRecord> getDeviseLogs(
- ServletResponse response,
- @ApiParam(value = "Дата, для которой необходимо получить логи с устройств пользователей, в формате " + DATETIME_PATTERN) @RequestParam(value = "dateFrom", required = false) String strFromDate,
- @ApiParam(value = "Дата, для которой необходимо получить логи с устройств пользователей, в формате " + DATETIME_PATTERN) @RequestParam(value = "dateTo", required = false) String strToDate,
- @ApiParam(value = "Поле фильтрации по пользователям") @RequestParam(value = "userId", required = false) Integer userId,
- @ApiParam(value = "Поле фильтрации по статусу") @RequestParam(value = "status", required = false) String status,
- @ApiParam(value = "Поле фильтрации по контексту") @RequestParam(value = "contextString", required = false) String contextString,
- @ApiParam(value = "Номер страницы отчета") @RequestParam(value = "pageNumber", required = false) Integer pageNumber,
- @ApiParam(value = "Количество строк на одной странице отчета") @RequestParam(value = "pageSize", defaultValue = "15") Integer pageSize
- ) {
- DateTime dateFrom = null;
- DateTime dateTo = null;
- if (strFromDate != null)
- dateFrom = DateTime.parse(strFromDate, DateTimeFormat.forPattern("dd-MM-yyyy"));
- if (strToDate != null)
- dateTo = DateTime.parse(strToDate, DateTimeFormat.forPattern("dd-MM-yyyy"));
- return reportRepository.getDeviceLogsByFilter(dateFrom, dateTo, userId, status, contextString, pageNumber, pageSize);
- }
- @ApiOperation(
- value = "Выборка документов",
- notes = "Выборка документов",
- response = DocumentRecord.class,
- responseContainer = "List"
- )
- @RequestMapping(value = "/documents", method = RequestMethod.GET)
- public List<DocumentRecord> getDocuments(
- ServletResponse response,
- @ApiParam(value = "Поле для фильтрации по id устройства") @RequestParam(value = "deviceId", required = false) Integer deviceId,
- @ApiParam(value = "Поле для фильтрации по id документа") @RequestParam(value = "documentId", required = false) Integer documentId,
- @ApiParam(value = "Поле для фильтрации по контексту документа") @RequestParam(value = "searchString", required = false) String searchString,
- @ApiParam(value = "Поле для фильтрации по номеру документа") @RequestParam(value = "documentNumber", required = false) String documentNumber,
- @ApiParam(value = "Поле для фильтрации по регистрационному номеру") @RequestParam(value = "regNumber", required = false) String regNumber,
- @ApiParam(value = "Номер страницы отчета") @RequestParam(value = "pageNumber", required = false) Integer pageNumber,
- @ApiParam(value = "Количество строк на одной странице отчета") @RequestParam(value = "pageSize", defaultValue = "15") Integer pageSize
- ) {
- return reportRepository.getDocumentsByFilter(deviceId, documentId, searchString, documentNumber, regNumber, pageNumber, pageSize);
- }
- @ApiOperation(
- value = "Выборка устройств, на которые отправлен документ",
- notes = "Выборка устройств, на которые отправлен документ",
- response = DeviceRecord.class,
- responseContainer = "List"
- )
- @RequestMapping(value = "/documents/devices", method = RequestMethod.GET)
- public List<DeviceRecord> getDevices(
- ServletResponse response,
- @ApiParam(value = "Поле для фильтрации по id документа") @RequestParam(value = "documentId") Integer documentId,
- @ApiParam(value = "Поле для фильтрации по id устройства") @RequestParam(value = "deviceId", required = false) Integer deviceId,
- @ApiParam(value = "Номер страницы отчета") @RequestParam(value = "pageNumber", required = false) Integer pageNumber,
- @ApiParam(value = "Количество строк на одной странице отчета") @RequestParam(value = "pageSize", defaultValue = "15") Integer pageSize
- ) {
- return reportRepository.getDevicesByDocumentId(documentId, deviceId, pageNumber, pageSize);
- }
- @ApiOperation(
- value = "Выборка связанных с документом вложений",
- notes = "Выборка связанных с документом вложений",
- response = AttachmentRecord.class,
- responseContainer = "List"
- )
- @RequestMapping(value = "/documents/attachments", method = RequestMethod.GET)
- public List<AttachmentRecord> getAttachments(
- ServletResponse response,
- @ApiParam(value = "Поле для фильтрации по id документа") @RequestParam(value = "documentId") Integer documentId,
- @ApiParam(value = "Поле для фильтрации по id устройства") @RequestParam(value = "deviceId", required = false) Integer deviceId,
- @ApiParam(value = "Номер страницы отчета") @RequestParam(value = "pageNumber", required = false) Integer pageNumber,
- @ApiParam(value = "Количество строк на одной странице отчета") @RequestParam(value = "pageSize", defaultValue = "15") Integer pageSize
- ) {
- return reportRepository.getAttachmentsByDocumentId(documentId, deviceId, pageNumber, pageSize);
- }
- @ApiOperation(
- value = "Выборка этапов по документу",
- notes = "Выборка этапов по документу",
- response = StageRecord.class,
- responseContainer = "List"
- )
- @RequestMapping(value = "/documents/stages", method = RequestMethod.GET)
- public List<StageRecord> getDocumentStages(
- ServletResponse response,
- @ApiParam(value = "Поле для фильтрации по id документа") @RequestParam(value = "documentId") Integer documentId,
- @ApiParam(value = "Поле для фильтрации по id устройства") @RequestParam(value = "deviceId", required = false) Integer deviceId,
- @ApiParam(value = "Номер страницы отчета") @RequestParam(value = "pageNumber", required = false) Integer pageNumber,
- @ApiParam(value = "Количество строк на одной странице отчета") @RequestParam(value = "pageSize", defaultValue = "15") Integer pageSize
- ) {
- return reportRepository.getStagesByDocumentId(documentId, deviceId, pageNumber, pageSize);
- }
- @ApiOperation(
- value = "Выборка поручений",
- notes = "Выборка поручений",
- response = InstructionRecord.class,
- responseContainer = "List"
- )
- @RequestMapping(value = "/instructions", method = RequestMethod.GET)
- public List<InstructionRecord> getInstructions(
- ServletResponse response,
- @ApiParam(value = "Поле для фильтрации по id устройства") @RequestParam(value = "deviceId", required = false) Integer deviceId,
- @ApiParam(value = "Поле для фильтрации по id поручения") @RequestParam(value = "instructionId", required = false) Integer instructionId,
- @ApiParam(value = "Поле для фильтрации по контексту документа") @RequestParam(value = "searchString", required = false) String searchString,
- @ApiParam(value = "Поле для фильтрации по номеру поручения") @RequestParam(value = "instructionNumber", required = false) String instructionNumber,
- @ApiParam(value = "Поле для фильтрации по id документа") @RequestParam(value = "documentId", required = false) Integer documentId,
- @ApiParam(value = "Номер страницы отчета") @RequestParam(value = "pageNumber", required = false) Integer pageNumber,
- @ApiParam(value = "Количество строк на одной странице отчета") @RequestParam(value = "pageSize", defaultValue = "15") Integer pageSize
- ) {
- return reportRepository.getInstructionsByFilter(deviceId, instructionId, searchString, instructionNumber, documentId, pageNumber, pageSize);
- }
- @ApiOperation(
- value = "Выборка устройств, на которые отправлено поручение",
- notes = "Выборка устройств, на которые отправлено поручение",
- response = DeviceRecord.class,
- responseContainer = "List"
- )
- @RequestMapping(value = "/instructions/devices", method = RequestMethod.GET)
- public List<DeviceRecord> getInstructionDevices(
- ServletResponse response,
- @ApiParam(value = "Поле для фильтрации по id поручения") @RequestParam(value = "instructionId") Integer instructionId,
- @ApiParam(value = "Поле для фильтрации по id устройства") @RequestParam(value = "deviceId", required = false) Integer deviceId,
- @ApiParam(value = "Номер страницы отчета") @RequestParam(value = "pageNumber", required = false) Integer pageNumber,
- @ApiParam(value = "Количество строк на одной странице отчета") @RequestParam(value = "pageSize", defaultValue = "15") Integer pageSize
- ) {
- return reportRepository.getDevicesByInstructionId(instructionId, deviceId, pageNumber, pageSize);
- }
- @ApiOperation(
- value = "Выборка связанных с поручением вложений",
- notes = "Выборка связанных с поручением вложений",
- response = AttachmentRecord.class,
- responseContainer = "List"
- )
- @RequestMapping(value = "/instructions/attachments", method = RequestMethod.GET)
- public List<AttachmentRecord> getInstructionAttachments(
- ServletResponse response,
- @ApiParam(value = "Поле для фильтрации по id поручения") @RequestParam(value = "instructionId") Integer instructionId,
- @ApiParam(value = "Поле для фильтрации по id устройства") @RequestParam(value = "deviceId", required = false) Integer deviceId,
- @ApiParam(value = "Номер страницы отчета") @RequestParam(value = "pageNumber", required = false) Integer pageNumber,
- @ApiParam(value = "Количество строк на одной странице отчета") @RequestParam(value = "pageSize", defaultValue = "15") Integer pageSize
- ) {
- return reportRepository.getAttachmentsByInstructionId(instructionId, deviceId, pageNumber, pageSize);
- }
- @ApiOperation(
- value = "Выборка задач",
- notes = "Выборка задач",
- response = TaskRecord.class,
- responseContainer = "List"
- )
- @RequestMapping(value = "/tasks", method = RequestMethod.GET)
- public List<TaskRecord> getTasks(
- ServletResponse response,
- @ApiParam(value = "Поле для фильтрации по id задачи") @RequestParam(value = "taskId", required = false) Integer taskId,
- @ApiParam(value = "Поле для фильтрации по id пользователя") @RequestParam(value = "ownerId", required = false) Integer ownerId,
- @ApiParam(value = "Поле для фильтрации по workId ") @RequestParam(value = "workId", required = false) Integer workId,
- @ApiParam(value = "Поле для фильтрации по subworkId ") @RequestParam(value = "subworkId", required = false) Integer subworkId,
- @ApiParam(value = "Поле для фильтрации по id устройства") @RequestParam(value = "deviceId", required = false) Integer deviceId,
- @ApiParam(value = "Поле для фильтрации по id документа") @RequestParam(value = "documentId", required = false) Integer documentId,
- @ApiParam(value = "Поле для фильтрации по id поручения") @RequestParam(value = "instructionId", required = false) Integer instructionId,
- @ApiParam(value = "Номер страницы отчета") @RequestParam(value = "pageNumber", required = false) Integer pageNumber,
- @ApiParam(value = "Количество строк на одной странице отчета") @RequestParam(value = "pageSize", defaultValue = "15") Integer pageSize
- ) {
- return reportRepository.getTasksByFilter(deviceId, taskId, ownerId, workId, subworkId, documentId, instructionId, pageNumber, pageSize);
- }
- @ApiOperation(
- value = "Выборка устройств, связанных с задачами",
- notes = "Выборка устройств, связанных с задачами",
- response = TaskDeviceRecord.class,
- responseContainer = "List"
- )
- @RequestMapping(value = "/tasks/devices", method = RequestMethod.GET)
- public List<TaskDeviceRecord> getTaskDevices(
- ServletResponse response,
- @ApiParam(value = "Поле для фильтрации по id задачи") @RequestParam(value = "taskId") Integer taskId,
- @ApiParam(value = "Поле для фильтрации по id пользователя") @RequestParam(value = "ownerId") Integer ownerId,
- @ApiParam(value = "Поле для фильтрации по workId ") @RequestParam(value = "workId") Integer workId,
- @ApiParam(value = "Поле для фильтрации по subworkId ") @RequestParam(value = "subworkId") Integer subworkId,
- @ApiParam(value = "Поле для фильтрации по id устройства") @RequestParam(value = "deviceId", required = false) Integer deviceId,
- @ApiParam(value = "Номер страницы отчета") @RequestParam(value = "pageNumber", required = false) Integer pageNumber,
- @ApiParam(value = "Количество строк на одной странице отчета") @RequestParam(value = "pageSize", defaultValue = "15") Integer pageSize
- ) {
- return reportRepository.getTaskDevicesByFilter(taskId, ownerId, workId, subworkId, deviceId, pageNumber, pageSize);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement