diff --git a/backend/pom.xml b/backend/pom.xml
index 9c56c24b..8cc72f68 100644
--- a/backend/pom.xml
+++ b/backend/pom.xml
@@ -19,6 +19,10 @@
io.jsonwebtoken
jjwt-api
+
+ io.jsonwebtoken
+ jjwt-jackson
+
io.jsonwebtoken
jjwt-impl
diff --git a/backend/src/main/java/AppConfig.java b/backend/src/main/java/AppConfig.java
index 5ef2e5a6..6295aaad 100644
--- a/backend/src/main/java/AppConfig.java
+++ b/backend/src/main/java/AppConfig.java
@@ -36,6 +36,7 @@ import org.springframework.web.servlet.config.annotation.EnableWebMvc;
"gen",
"ru.cg",
"ru.micord",
+ "ervu"
}, excludeFilters = {
@ComponentScan.Filter(type = FilterType.REGEX, pattern = "security.WebSecurityConfig"),
@ComponentScan.Filter(type = FilterType.REGEX, pattern = "ru.cg.webbpm.modules.database.impl.DatabaseConfiguration"),
diff --git a/backend/src/main/java/dto/jivoprofile/JivoProfileDto.java b/backend/src/main/java/dto/jivoprofile/JivoProfileDto.java
deleted file mode 100644
index c53717e8..00000000
--- a/backend/src/main/java/dto/jivoprofile/JivoProfileDto.java
+++ /dev/null
@@ -1,35 +0,0 @@
-package dto.jivoprofile;
-
-import ru.cg.webbpm.modules.webkit.annotations.Model;
-
-@Model
-public class JivoProfileDto {
-
- public String username;
- public String email;
- public String phone;
-
- public String getUsername() {
- return username;
- }
-
- public void setUsername(String username) {
- this.username = username;
- }
-
- public String getEmail() {
- return email;
- }
-
- public void setEmail(String email) {
- this.email = email;
- }
-
- public String getPhone() {
- return phone;
- }
-
- public void setPhone(String phone) {
- this.phone = phone;
- }
-}
\ No newline at end of file
diff --git a/backend/src/main/java/ervu/KafkaProducerConfig.java b/backend/src/main/java/ervu/KafkaProducerConfig.java
index 6b2d98c9..5daada76 100644
--- a/backend/src/main/java/ervu/KafkaProducerConfig.java
+++ b/backend/src/main/java/ervu/KafkaProducerConfig.java
@@ -19,25 +19,25 @@ import org.springframework.kafka.core.ProducerFactory;
*/
@Configuration
public class KafkaProducerConfig {
- @Value("${kafka.send.url}")
+ @Value("${av-kafka.send.url}")
private String kafkaUrl;
- @Value("${kafka.send.security.protocol}")
+ @Value("${av-kafka.send.security.protocol}")
private String securityProtocol;
- @Value("${kafka.send.login.module:org.apache.kafka.common.security.scram.ScramLoginModule}")
+ @Value("${av-kafka.send.login.module:org.apache.kafka.common.security.scram.ScramLoginModule}")
private String loginModule;
- @Value("${kafka.send.username}")
+ @Value("${av-kafka.send.username}")
private String username;
- @Value("${kafka.send.password}")
+ @Value("${av-kafka.send.password}")
private String password;
- @Value("${kafka.sasl.mechanism}")
+ @Value("${av-kafka.sasl.mechanism}")
private String saslMechanism;
- @Bean
+ @Bean("av-factory")
public ProducerFactory producerFactory() {
return new DefaultKafkaProducerFactory<>(producerConfigs());
}
- @Bean
+ @Bean("av-configs")
public Map producerConfigs() {
Map props = new HashMap<>();
props.put(ProducerConfig.BOOTSTRAP_SERVERS_CONFIG, this.kafkaUrl);
@@ -52,7 +52,7 @@ public class KafkaProducerConfig {
return props;
}
- @Bean
+ @Bean("av-template")
public KafkaTemplate kafkaTemplate() {
return new KafkaTemplate<>(producerFactory());
}
diff --git a/backend/src/main/java/ervu/client/classified/EsnsiOkopfClient.java b/backend/src/main/java/ervu/client/classified/EsnsiOkopfClient.java
new file mode 100644
index 00000000..7a22b36d
--- /dev/null
+++ b/backend/src/main/java/ervu/client/classified/EsnsiOkopfClient.java
@@ -0,0 +1,63 @@
+package ervu.client.classified;
+
+import java.io.*;
+import java.net.URI;
+import java.net.http.HttpClient;
+import java.net.http.HttpRequest;
+import java.net.http.HttpResponse;
+import java.util.concurrent.TimeoutException;
+import java.util.stream.Collectors;
+import java.util.zip.ZipInputStream;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.retry.annotation.Backoff;
+import org.springframework.retry.annotation.Retryable;
+import org.springframework.stereotype.Component;
+
+/**
+ * @author Artyom Hackimullin
+ */
+@Component
+public class EsnsiOkopfClient {
+
+ private static final Logger logger = LoggerFactory.getLogger(EsnsiOkopfClient.class);
+
+ @Value("${esnsi.okopf.url:#{null}}")
+ private String uri;
+
+ @Retryable(value = {TimeoutException.class}, backoff =
+ @Backoff(delay = 2000))
+ public String getJsonOkopFormData() {
+ HttpClient client = HttpClient.newHttpClient();
+ HttpRequest request = HttpRequest.newBuilder()
+ .uri(URI.create(uri))
+ .GET()
+ .build();
+ try {
+ HttpResponse response = client.send(request,
+ HttpResponse.BodyHandlers.ofInputStream()
+ );
+ if (response.statusCode() >= 200 && response.statusCode() <= 202) {
+ return unzipFile(new ZipInputStream(response.body()));
+ }
+ logger.debug("Response unsuccessful. Json file has not be unzip.");
+ }
+ catch (IOException | InterruptedException e) {
+ logger.error(e.getMessage(), e);
+ }
+ return null;
+ }
+
+ private String unzipFile(ZipInputStream zis) throws IOException {
+ if (zis.getNextEntry() != null) {
+ ByteArrayInputStream isr = new ByteArrayInputStream(zis.readAllBytes());
+ try (BufferedReader br = new BufferedReader(new InputStreamReader(isr))) {
+ return br.lines().collect(Collectors.joining(System.lineSeparator()));
+ }
+ }
+ logger.error("Zip archive is null");
+ return null;
+ }
+}
diff --git a/backend/src/main/java/ervu/client/fileupload/FileUploadWebDavClient.java b/backend/src/main/java/ervu/client/fileupload/FileUploadWebDavClient.java
index 5fee8854..a296ee50 100644
--- a/backend/src/main/java/ervu/client/fileupload/FileUploadWebDavClient.java
+++ b/backend/src/main/java/ervu/client/fileupload/FileUploadWebDavClient.java
@@ -38,7 +38,7 @@ public class FileUploadWebDavClient {
.PUT(HttpRequest.BodyPublishers.ofByteArray(multipartFile.getBytes())).build();
HttpResponse response = httpClient.send(httpRequest, HttpResponse.BodyHandlers.ofString());
- logger.debug("Response starus code: {}", response.statusCode());
+ logger.debug("Response status code: {}", response.statusCode());
return (response.statusCode() >= 200) && (response.statusCode() <= 202);
}
catch (IOException | InterruptedException e) {
diff --git a/backend/src/main/java/ervu/controller/EmployeeInfoFileUploadController.java b/backend/src/main/java/ervu/controller/EmployeeInfoFileUploadController.java
index 5ef978e2..d9e8b0c4 100644
--- a/backend/src/main/java/ervu/controller/EmployeeInfoFileUploadController.java
+++ b/backend/src/main/java/ervu/controller/EmployeeInfoFileUploadController.java
@@ -1,5 +1,8 @@
package ervu.controller;
+import javax.servlet.http.Cookie;
+import javax.servlet.http.HttpServletRequest;
+
import ervu.service.fileupload.EmployeeInfoFileUploadService;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*;
@@ -18,8 +21,21 @@ public class EmployeeInfoFileUploadController {
@RequestMapping(value = "/employee/document", method = RequestMethod.POST)
public ResponseEntity> saveEmployeeInformationFile(@RequestParam("file") MultipartFile multipartFile,
- @RequestHeader("X-Employee-Info-File-Form-Type") String formType) {
- if (this.fileUploadService.saveEmployeeInformationFile(multipartFile, formType)) {
+ @RequestHeader("X-Employee-Info-File-Form-Type") String formType, HttpServletRequest request) {
+ String accessToken = null;
+ String authToken = null;
+ Cookie[] cookies = request.getCookies();
+ if (cookies != null) {
+ for (Cookie cookie : cookies) {
+ if (cookie.getName().equals("access_token")) {
+ accessToken = cookie.getValue();
+ }
+ else if (cookie.getName().equals("auth_token")) {
+ authToken = cookie.getValue();
+ }
+ }
+ }
+ if (accessToken != null && this.fileUploadService.saveEmployeeInformationFile(multipartFile, formType, accessToken, authToken)) {
return ResponseEntity.ok("File successfully uploaded.");
}
else {
diff --git a/backend/src/main/java/ervu/dao/classifier/OkopfDao.java b/backend/src/main/java/ervu/dao/classifier/OkopfDao.java
new file mode 100644
index 00000000..10dc680e
--- /dev/null
+++ b/backend/src/main/java/ervu/dao/classifier/OkopfDao.java
@@ -0,0 +1,16 @@
+package ervu.dao.classifier;
+
+
+import java.util.List;
+
+import ervu.service.classifier.model.OkopfModel;
+
+
+/**
+ * @author Artyom Hackimullin
+ */
+public interface OkopfDao {
+ void save(List recordModels, int version);
+
+ String fetchTitleByLeg(String leg);
+}
diff --git a/backend/src/main/java/ervu/dao/classifier/OkopfDaoImpl.java b/backend/src/main/java/ervu/dao/classifier/OkopfDaoImpl.java
new file mode 100644
index 00000000..2afeb795
--- /dev/null
+++ b/backend/src/main/java/ervu/dao/classifier/OkopfDaoImpl.java
@@ -0,0 +1,44 @@
+package ervu.dao.classifier;
+
+import java.util.List;
+
+import ervu.service.classifier.model.OkopfModel;
+import org.jooq.DSLContext;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Repository;
+
+import static ervu_lkrp_ul.ervu_lkrp_ul.db_beans.public_.Tables.OKOPF_RECORDS;
+
+
+/**
+ * @author Artyom Hackimullin
+ */
+@Repository
+public class OkopfDaoImpl implements OkopfDao {
+
+ @Autowired
+ private DSLContext dsl;
+
+ @Override
+ public void save(List recordModels, int version) {
+ var queries = recordModels.stream().map(record ->
+ dsl.insertInto(OKOPF_RECORDS, OKOPF_RECORDS.OKOPF_RECORDS_ID, OKOPF_RECORDS.NAME, OKOPF_RECORDS.VERSION)
+ .values(record.getCode(), record.getName(), version)
+ .onConflict(OKOPF_RECORDS.OKOPF_RECORDS_ID)
+ .doUpdate()
+ .set(OKOPF_RECORDS.NAME, record.getName())
+ .set(OKOPF_RECORDS.VERSION, version)
+ .where(OKOPF_RECORDS.OKOPF_RECORDS_ID.eq(record.getCode()))
+ ).toList();
+
+ dsl.batch(queries).execute();
+ }
+
+ @Override
+ public String fetchTitleByLeg(String leg) {
+ return dsl.select(OKOPF_RECORDS.NAME)
+ .from(OKOPF_RECORDS)
+ .where(OKOPF_RECORDS.OKOPF_RECORDS_ID.eq(leg))
+ .fetchOne(OKOPF_RECORDS.NAME);
+ }
+}
diff --git a/backend/src/main/java/ervu/service/classifier/OkopfService.java b/backend/src/main/java/ervu/service/classifier/OkopfService.java
new file mode 100644
index 00000000..bc068d89
--- /dev/null
+++ b/backend/src/main/java/ervu/service/classifier/OkopfService.java
@@ -0,0 +1,10 @@
+package ervu.service.classifier;
+
+/**
+ * @author Artyom Hackimullin
+ */
+public interface OkopfService {
+
+ String findTitleByLeg(String leg);
+
+}
diff --git a/backend/src/main/java/ervu/service/classifier/OkopfServiceImpl.java b/backend/src/main/java/ervu/service/classifier/OkopfServiceImpl.java
new file mode 100644
index 00000000..4f1308f1
--- /dev/null
+++ b/backend/src/main/java/ervu/service/classifier/OkopfServiceImpl.java
@@ -0,0 +1,26 @@
+package ervu.service.classifier;
+
+import ervu.dao.classifier.OkopfDao;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+/**
+ * @author Artyom Hackimullin
+ */
+@Service
+public class OkopfServiceImpl implements OkopfService {
+ private final static Logger logger = LoggerFactory.getLogger(OkopfServiceImpl.class);
+
+ @Autowired
+ private OkopfDao okopfDao;
+
+ @Override
+ @Transactional(readOnly = true)
+ public String findTitleByLeg(String leg) {
+ logger.info("Find title by leg: " + leg);
+ return okopfDao.fetchTitleByLeg(leg);
+ }
+}
diff --git a/backend/src/main/java/ervu/service/classifier/model/OkopfAttributeValueModel.java b/backend/src/main/java/ervu/service/classifier/model/OkopfAttributeValueModel.java
new file mode 100644
index 00000000..2d6415d4
--- /dev/null
+++ b/backend/src/main/java/ervu/service/classifier/model/OkopfAttributeValueModel.java
@@ -0,0 +1,27 @@
+package ervu.service.classifier.model;
+
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
+
+/**
+ * @author xakim
+ */
+@JsonIgnoreProperties(ignoreUnknown = true)
+public class OkopfAttributeValueModel {
+
+ private String value;
+
+ public String getValue() {
+ return value;
+ }
+
+ public void setValue(String value) {
+ this.value = value;
+ }
+
+ @Override
+ public String toString() {
+ return "OkopfAttributeValueModel{" +
+ "value='" + value + '\'' +
+ '}';
+ }
+}
diff --git a/backend/src/main/java/ervu/service/classifier/model/OkopfDataModel.java b/backend/src/main/java/ervu/service/classifier/model/OkopfDataModel.java
new file mode 100644
index 00000000..f9cd4e6e
--- /dev/null
+++ b/backend/src/main/java/ervu/service/classifier/model/OkopfDataModel.java
@@ -0,0 +1,33 @@
+package ervu.service.classifier.model;
+
+import java.io.Serializable;
+import java.util.Arrays;
+
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * @author xakim
+ */
+@JsonIgnoreProperties(ignoreUnknown = true)
+public class OkopfDataModel implements Serializable {
+ private static final long serialVersionUID = 1L;
+
+ @JsonProperty("records")
+ private OkopfDetailsModel[] details;
+
+ public OkopfDetailsModel[] getDetails() {
+ return details;
+ }
+
+ public void setDetails(OkopfDetailsModel[] details) {
+ this.details = details;
+ }
+
+ @Override
+ public String toString() {
+ return "OkopfDataModel{" +
+ "details=" + Arrays.toString(details) +
+ '}';
+ }
+}
diff --git a/backend/src/main/java/ervu/service/classifier/model/OkopfDetailsModel.java b/backend/src/main/java/ervu/service/classifier/model/OkopfDetailsModel.java
new file mode 100644
index 00000000..c21ee6ad
--- /dev/null
+++ b/backend/src/main/java/ervu/service/classifier/model/OkopfDetailsModel.java
@@ -0,0 +1,37 @@
+package ervu.service.classifier.model;
+
+import java.util.Arrays;
+
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
+
+/**
+ * @author xakim
+ */
+@JsonIgnoreProperties(ignoreUnknown = true)
+public class OkopfDetailsModel {
+
+ private OkopfAttributeValueModel[] attributeValues;
+
+ public OkopfDetailsModel() {
+ }
+
+ public OkopfDetailsModel(OkopfAttributeValueModel[] attributeValues) {
+ this.attributeValues = attributeValues;
+ }
+
+ public OkopfAttributeValueModel[] getAttributeValues() {
+ return attributeValues;
+ }
+
+ public void setAttributeValues(
+ OkopfAttributeValueModel[] attributeValues) {
+ this.attributeValues = attributeValues;
+ }
+
+ @Override
+ public String toString() {
+ return "OkopfDataRecordsModel{" +
+ "attributeValues=" + Arrays.toString(attributeValues) +
+ '}';
+ }
+}
diff --git a/backend/src/main/java/ervu/service/classifier/model/OkopfModel.java b/backend/src/main/java/ervu/service/classifier/model/OkopfModel.java
new file mode 100644
index 00000000..fc4a849d
--- /dev/null
+++ b/backend/src/main/java/ervu/service/classifier/model/OkopfModel.java
@@ -0,0 +1,43 @@
+package ervu.service.classifier.model;
+
+import java.io.Serializable;
+
+/**
+ * @author Artyom Hackimullin
+ */
+public class OkopfModel implements Serializable {
+ private static final long serialVersionUID = 1L;
+
+ private String code;
+
+ private String name;
+
+ public OkopfModel(String code, String name) {
+ this.code = code;
+ this.name = name;
+ }
+
+ public String getCode() {
+ return code;
+ }
+
+ public void setCode(String code) {
+ this.code = code;
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ @Override
+ public String toString() {
+ return "OkopfRecordModel{" +
+ "code='" + code + '\'' +
+ ", name='" + name + '\'' +
+ '}';
+ }
+}
diff --git a/backend/src/main/java/ervu/service/classifier/model/OkopfOrgModel.java b/backend/src/main/java/ervu/service/classifier/model/OkopfOrgModel.java
new file mode 100644
index 00000000..63354e96
--- /dev/null
+++ b/backend/src/main/java/ervu/service/classifier/model/OkopfOrgModel.java
@@ -0,0 +1,19 @@
+package ervu.service.classifier.model;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * @author xakim
+ */
+public class OkopfOrgModel {
+ @JsonProperty("data")
+ private OkopfDataModel data;
+
+ public OkopfDataModel getData() {
+ return data;
+ }
+
+ public void setData(OkopfDataModel data) {
+ this.data = data;
+ }
+}
diff --git a/backend/src/main/java/ervu/service/fileupload/EmployeeInfoFileUploadService.java b/backend/src/main/java/ervu/service/fileupload/EmployeeInfoFileUploadService.java
index 825cfcbd..4011ee3a 100644
--- a/backend/src/main/java/ervu/service/fileupload/EmployeeInfoFileUploadService.java
+++ b/backend/src/main/java/ervu/service/fileupload/EmployeeInfoFileUploadService.java
@@ -1,6 +1,8 @@
package ervu.service.fileupload;
+import java.sql.Timestamp;
import java.time.LocalDateTime;
+import java.time.ZonedDateTime;
import java.time.format.DateTimeFormatter;
import java.util.UUID;
@@ -8,13 +10,21 @@ import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import ervu.client.fileupload.FileUploadWebDavClient;
import ervu.service.fileupload.model.EmployeeInfoKafkaMessage;
+import ervu.service.fileupload.model.FileStatus;
import org.apache.kafka.clients.producer.ProducerRecord;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.kafka.core.KafkaTemplate;
import org.springframework.stereotype.Service;
import org.springframework.web.multipart.MultipartFile;
+import ru.micord.ervu.security.esia.model.EmployeeModel;
+import ru.micord.ervu.security.esia.model.PersonModel;
+import ru.micord.ervu.security.esia.service.UlDataService;
+import ru.micord.ervu.security.webbpm.jwt.model.Token;
+import ru.micord.ervu.security.webbpm.jwt.service.JwtTokenService;
+import ru.micord.ervu.service.InteractionService;
/**
* @author Alexandr Shalaginov
@@ -22,12 +32,16 @@ import org.springframework.web.multipart.MultipartFile;
@Service
public class EmployeeInfoFileUploadService {
private static final Logger logger = LoggerFactory.getLogger(EmployeeInfoFileUploadService.class);
+ private static final String FORMAT = "dd.MM.yyyy HH:mm";
private final FileUploadWebDavClient fileWebDavUploadClient;
private final EmployeeInfoKafkaMessageService employeeInfoKafkaMessageService;
private final KafkaTemplate kafkaTemplate;
+ private final InteractionService interactionService;
+ private final UlDataService ulDataService;
+ private final JwtTokenService jwtTokenService;
- @Value("${kafka.send.message.topic.name:employee-files}")
+ @Value("${av-kafka.send.message.topic.name:employee-files}")
private String kafkaTopicName;
@Value("${file.webdav.upload.url:http://localhost:5757}")
private String url;
@@ -38,25 +52,49 @@ public class EmployeeInfoFileUploadService {
public EmployeeInfoFileUploadService(
FileUploadWebDavClient fileWebDavUploadClient,
- EmployeeInfoKafkaMessageService employeeInfoKafkaMessageService, KafkaTemplate kafkaTemplate) {
+ EmployeeInfoKafkaMessageService employeeInfoKafkaMessageService,
+ @Qualifier("av-template") KafkaTemplate kafkaTemplate, InteractionService interactionService,
+ UlDataService ulDataService, JwtTokenService jwtTokenService) {
this.fileWebDavUploadClient = fileWebDavUploadClient;
this.employeeInfoKafkaMessageService = employeeInfoKafkaMessageService;
this.kafkaTemplate = kafkaTemplate;
+ this.interactionService = interactionService;
+ this.ulDataService = ulDataService;
+ this.jwtTokenService = jwtTokenService;
}
- public boolean saveEmployeeInformationFile(MultipartFile multipartFile, String formType) {
+ public boolean saveEmployeeInformationFile(MultipartFile multipartFile, String formType,
+ String accessToken, String authToken) {
String fileUploadUrl = this.url + "/" + getNewFilename(multipartFile.getOriginalFilename());
- String departureDateTime = getDepartureDateTime();
+ LocalDateTime now = LocalDateTime.now();
+ String departureDateTime = now.format(DateTimeFormatter.ofPattern(FORMAT));;
+ String timeZone = getTimeZone();
if (this.fileWebDavUploadClient.webDavUploadFile(fileUploadUrl, username, password, multipartFile)) {
+ FileStatus fileStatus = new FileStatus();
+ fileStatus.setStatus("Загрузка.");
+ fileStatus.setCode("01");
+ fileStatus.setDescription("Файл принят до проверки на вирусы.");
+ String fileId = UUID.randomUUID().toString();
+ String fileName = multipartFile.getOriginalFilename();
+ EmployeeInfoFileFormType employeeInfoFileFormType = EmployeeInfoFileFormType.valueOf(formType);
String jsonMessage = getJsonKafkaMessage(
employeeInfoKafkaMessageService.getKafkaMessage(
+ fileId,
fileUploadUrl,
- multipartFile.getOriginalFilename(),
- EmployeeInfoFileFormType.valueOf(formType),
- departureDateTime
+ fileName,
+ employeeInfoFileFormType,
+ departureDateTime,
+ accessToken, authToken, timeZone, fileStatus
)
);
+ EmployeeModel employeeModel = ulDataService.getEmployeeModel(accessToken);
+ PersonModel personModel = employeeModel.getPerson();
+ Token token = jwtTokenService.getToken(authToken);
+ String[] ids = token.getUserAccountId().split(":");
+ interactionService.setStatus(fileId, fileStatus.getStatus(), fileName, employeeInfoFileFormType.getFilePatternName(), Timestamp.valueOf(now),
+ personModel.getLastName() + " " + personModel.getFirstName().charAt(0) + ". " + personModel.getMiddleName().charAt(0) + ".", (int) multipartFile.getSize(),
+ ids[1]);
return sendMessage(jsonMessage);
}
else {
@@ -100,7 +138,7 @@ public class EmployeeInfoFileUploadService {
}
}
- private String getDepartureDateTime() {
- return LocalDateTime.now().format(DateTimeFormatter.ofPattern("dd.MM.yyyy HH:mm"));
+ private String getTimeZone() {
+ return ZonedDateTime.now().getOffset().toString();
}
-}
\ No newline at end of file
+}
diff --git a/backend/src/main/java/ervu/service/fileupload/EmployeeInfoKafkaMessageService.java b/backend/src/main/java/ervu/service/fileupload/EmployeeInfoKafkaMessageService.java
index c6349421..79821779 100644
--- a/backend/src/main/java/ervu/service/fileupload/EmployeeInfoKafkaMessageService.java
+++ b/backend/src/main/java/ervu/service/fileupload/EmployeeInfoKafkaMessageService.java
@@ -1,10 +1,14 @@
package ervu.service.fileupload;
-import ervu.service.fileupload.model.*;
-import esia.model.MillitaryRegistrationPersonModel;
-import esia.model.OrganizationModel;
-import esia.service.UlDataService;
+import ervu.service.fileupload.model.EmployeeInfoKafkaMessage;
+import ervu.service.fileupload.model.FileInfo;
+import ervu.service.fileupload.model.FileStatus;
+import ervu.service.fileupload.model.OrgInfo;
import org.springframework.stereotype.Service;
+import ru.micord.ervu.security.esia.model.OrganizationModel;
+import ru.micord.ervu.security.esia.service.UlDataService;
+import ru.micord.ervu.security.webbpm.jwt.model.Token;
+import ru.micord.ervu.security.webbpm.jwt.service.JwtTokenService;
/**
* @author Alexandr Shalaginov
@@ -12,64 +16,50 @@ import org.springframework.stereotype.Service;
@Service
public class EmployeeInfoKafkaMessageService {
private final UlDataService ulDataService;
+ private final JwtTokenService jwtTokenService;
- public EmployeeInfoKafkaMessageService(UlDataService ulDataService) {
+
+ public EmployeeInfoKafkaMessageService(UlDataService ulDataService, JwtTokenService jwtTokenService) {
this.ulDataService = ulDataService;
+ this.jwtTokenService = jwtTokenService;
}
- public EmployeeInfoKafkaMessage getKafkaMessage(String fileNameBase, String fileName,
- EmployeeInfoFileFormType formType, String departureDateTime) {
+ public EmployeeInfoKafkaMessage getKafkaMessage(String fileId, String fileUrl, String fileName,
+ EmployeeInfoFileFormType formType, String departureDateTime, String accessToken,
+ String authToken, String timeZone, FileStatus fileStatus) {
return new EmployeeInfoKafkaMessage(
- getOrgInfo(),
- getSenderInfo(),
+ getOrgInfo(accessToken, authToken),
getFileInfo(
- fileNameBase,
+ fileId,
+ fileUrl,
fileName,
formType,
- departureDateTime
+ departureDateTime,
+ timeZone,
+ fileStatus
)
);
}
- private OrgInfo getOrgInfo() {
- OrganizationModel organizationModel = ulDataService.getOrganizationModel();
- return new OrgInfo(
- organizationModel.getShortName(),
- organizationModel.getLeg(),
- organizationModel.getLegName(),
- organizationModel.getOgrn(),
- organizationModel.getInn(),
- organizationModel.getKpp()
- );
- }
-
- private SenderInfo getSenderInfo() {
- MillitaryRegistrationPersonModel personModel = ulDataService.getPersonModel();
- return new SenderInfo(
- personModel.getLastName(),
- personModel.getFirstName(),
- personModel.getMiddleName(),
- personModel.getBirthday(),
- personModel.getRoleCode(),
- personModel.getRoleName(),
- personModel.getSnils(),
- personModel.getIdERN(),
- new PassportInfo(
- personModel.getPassportSeries(),
- personModel.getPassportNumber(),
- personModel.getPassportIssueDate()
- )
- );
- }
-
- private FileInfo getFileInfo(String fileNameBase, String fileName,
- EmployeeInfoFileFormType formType, String departureDateTime) {
+ private FileInfo getFileInfo(String fileId, String fileUrl, String fileName,
+ EmployeeInfoFileFormType formType, String departureDateTime, String timeZone,
+ FileStatus fileStatus) {
return new FileInfo(
- fileNameBase,
+ fileId,
+ fileUrl,
fileName,
formType.getFilePatternCode(),
formType.getFilePatternName(),
- departureDateTime
+ departureDateTime,
+ timeZone,
+ fileStatus
);
}
+
+ private OrgInfo getOrgInfo(String accessToken, String authToken) {
+ OrganizationModel organizationModel = ulDataService.getOrganizationModel(accessToken);
+ Token token = jwtTokenService.getToken(authToken);
+ String[] ids = token.getUserAccountId().split(":");
+ return new OrgInfo(organizationModel.getFullName(), ids[1], ids[0]);
+ }
}
diff --git a/backend/src/main/java/ervu/service/fileupload/model/EmployeeInfoKafkaMessage.java b/backend/src/main/java/ervu/service/fileupload/model/EmployeeInfoKafkaMessage.java
index 0441a856..49d33a51 100644
--- a/backend/src/main/java/ervu/service/fileupload/model/EmployeeInfoKafkaMessage.java
+++ b/backend/src/main/java/ervu/service/fileupload/model/EmployeeInfoKafkaMessage.java
@@ -7,12 +7,10 @@ import java.util.Objects;
*/
public class EmployeeInfoKafkaMessage {
private final OrgInfo orgInfo;
- private final SenderInfo senderInfo;
private final FileInfo fileInfo;
- public EmployeeInfoKafkaMessage(OrgInfo orgInfo, SenderInfo senderInfo, FileInfo fileInfo) {
+ public EmployeeInfoKafkaMessage(OrgInfo orgInfo, FileInfo fileInfo) {
this.orgInfo = orgInfo;
- this.senderInfo = senderInfo;
this.fileInfo = fileInfo;
}
@@ -20,10 +18,6 @@ public class EmployeeInfoKafkaMessage {
return orgInfo;
}
- public SenderInfo getSenderInfo() {
- return senderInfo;
- }
-
public FileInfo getFileInfo() {
return fileInfo;
}
@@ -33,21 +27,18 @@ public class EmployeeInfoKafkaMessage {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
EmployeeInfoKafkaMessage that = (EmployeeInfoKafkaMessage) o;
- return Objects.equals(orgInfo, that.orgInfo) && Objects.equals(senderInfo,
- that.senderInfo
- ) && Objects.equals(fileInfo, that.fileInfo);
+ return Objects.equals(orgInfo, that.orgInfo) && Objects.equals(fileInfo, that.fileInfo);
}
@Override
public int hashCode() {
- return Objects.hash(orgInfo, senderInfo, fileInfo);
+ return Objects.hash(orgInfo, fileInfo);
}
@Override
public String toString() {
return "KafkaMessage{" +
"orgInfo=" + orgInfo +
- ", senderInfo=" + senderInfo +
", fileInfo=" + fileInfo +
'}';
}
diff --git a/backend/src/main/java/ervu/service/fileupload/model/FileInfo.java b/backend/src/main/java/ervu/service/fileupload/model/FileInfo.java
index ea851414..91a345e2 100644
--- a/backend/src/main/java/ervu/service/fileupload/model/FileInfo.java
+++ b/backend/src/main/java/ervu/service/fileupload/model/FileInfo.java
@@ -6,23 +6,33 @@ import java.util.Objects;
* @author Alexandr Shalaginov
*/
public class FileInfo {
- private final String fileNameBase;
+ private final String fileId;
+ private final String fileUrl;
private final String fileName;
private final String filePatternCode;
private final String filePatternName;
private final String departureDateTime;
+ private final String timeZone;
+ private final FileStatus fileStatus;
- public FileInfo(String fileNameBase, String fileName, String filePatternCode,
- String filePatternName, String departureDateTime) {
- this.fileNameBase = fileNameBase;
+ public FileInfo(String fileId, String fileUrl, String fileName, String filePatternCode,
+ String filePatternName, String departureDateTime, String timeZone, FileStatus fileStatus) {
+ this.fileId = fileId;
+ this.fileUrl = fileUrl;
this.fileName = fileName;
this.filePatternCode = filePatternCode;
this.filePatternName = filePatternName;
this.departureDateTime = departureDateTime;
+ this.timeZone = timeZone;
+ this.fileStatus = fileStatus;
}
- public String getFileNameBase() {
- return fileNameBase;
+ public String getFileId() {
+ return fileId;
+ }
+
+ public String getFileUrl() {
+ return fileUrl;
}
public String getFileName() {
@@ -41,12 +51,22 @@ public class FileInfo {
return departureDateTime;
}
+ public String getTimeZone() {
+ return timeZone;
+ }
+
+ public FileStatus getFileStatus() {
+ return fileStatus;
+ }
+
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
FileInfo fileInfo = (FileInfo) o;
- return Objects.equals(fileNameBase, fileInfo.fileNameBase) && Objects.equals(
+ return Objects.equals(fileId, fileInfo.fileId) && Objects.equals(fileUrl,
+ fileInfo.fileUrl
+ ) && Objects.equals(
fileName, fileInfo.fileName) && Objects.equals(filePatternCode,
fileInfo.filePatternCode
) && Objects.equals(filePatternName, fileInfo.filePatternName)
@@ -55,7 +75,7 @@ public class FileInfo {
@Override
public int hashCode() {
- return Objects.hash(fileNameBase, fileName, filePatternCode, filePatternName,
+ return Objects.hash(fileId, fileUrl, fileName, filePatternCode, filePatternName,
departureDateTime
);
}
@@ -63,7 +83,8 @@ public class FileInfo {
@Override
public String toString() {
return "FileInfo{" +
- "fileNameBase='" + fileNameBase + '\'' +
+ "fileId='" + fileId + '\'' +
+ ", fileNameBase='" + fileUrl + '\'' +
", fileName='" + fileName + '\'' +
", filePatternCode='" + filePatternCode + '\'' +
", filePatternName='" + filePatternName + '\'' +
diff --git a/backend/src/main/java/ervu/service/fileupload/model/FileStatus.java b/backend/src/main/java/ervu/service/fileupload/model/FileStatus.java
new file mode 100644
index 00000000..e9a5c614
--- /dev/null
+++ b/backend/src/main/java/ervu/service/fileupload/model/FileStatus.java
@@ -0,0 +1,37 @@
+package ervu.service.fileupload.model;
+
+import java.io.Serializable;
+
+/**
+ * @author Eduard Tihomirov
+ */
+public class FileStatus {
+
+ private String code;
+ private String status;
+ private String description;
+
+ public String getCode() {
+ return code;
+ }
+
+ public void setCode(String code) {
+ this.code = code;
+ }
+
+ public String getStatus() {
+ return status;
+ }
+
+ public void setStatus(String status) {
+ this.status = status;
+ }
+
+ public String getDescription() {
+ return description;
+ }
+
+ public void setDescription(String description) {
+ this.description = description;
+ }
+}
diff --git a/backend/src/main/java/ervu/service/fileupload/model/OrgInfo.java b/backend/src/main/java/ervu/service/fileupload/model/OrgInfo.java
index 47fbf885..73f95564 100644
--- a/backend/src/main/java/ervu/service/fileupload/model/OrgInfo.java
+++ b/backend/src/main/java/ervu/service/fileupload/model/OrgInfo.java
@@ -7,44 +7,25 @@ import java.util.Objects;
*/
public class OrgInfo {
private final String orgName;
- private final String orgTypeCode;
- private final String orgTypeName;
- private final String ogrn;
- private final String inn;
- private final String kpp;
+ private final String orgId;
+ private final String prnOid;
- public OrgInfo(String orgName, String orgTypeCode, String orgTypeName, String ogrn, String inn,
- String kpp) {
+ public OrgInfo(String orgName, String orgId, String prnOid) {
this.orgName = orgName;
- this.orgTypeCode = orgTypeCode;
- this.orgTypeName = orgTypeName;
- this.ogrn = ogrn;
- this.inn = inn;
- this.kpp = kpp;
+ this.orgId = orgId;
+ this.prnOid = prnOid;
}
public String getOrgName() {
return orgName;
}
- public String getOrgTypeCode() {
- return orgTypeCode;
+ public String getOrgId() {
+ return orgId;
}
- public String getOrgTypeName() {
- return orgTypeName;
- }
-
- public String getOgrn() {
- return ogrn;
- }
-
- public String getInn() {
- return inn;
- }
-
- public String getKpp() {
- return kpp;
+ public String getPrnOid() {
+ return prnOid;
}
@Override
@@ -52,27 +33,22 @@ public class OrgInfo {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
OrgInfo orgInfo = (OrgInfo) o;
- return Objects.equals(orgName, orgInfo.orgName) && Objects.equals(orgTypeCode,
- orgInfo.orgTypeCode
- ) && Objects.equals(orgTypeName, orgInfo.orgTypeName) && Objects.equals(ogrn,
- orgInfo.ogrn
- ) && Objects.equals(inn, orgInfo.inn) && Objects.equals(kpp, orgInfo.kpp);
+ return Objects.equals(orgName, orgInfo.orgName) && Objects.equals(orgId,
+ orgInfo.orgId
+ ) && Objects.equals(prnOid, orgInfo.prnOid);
}
@Override
public int hashCode() {
- return Objects.hash(orgName, orgTypeCode, orgTypeName, ogrn, inn, kpp);
+ return Objects.hash(orgName, orgId, prnOid);
}
@Override
public String toString() {
return "OrgInfo{" +
"orgName='" + orgName + '\'' +
- ", orgTypeCode='" + orgTypeCode + '\'' +
- ", orgTypeName='" + orgTypeName + '\'' +
- ", ogrn='" + ogrn + '\'' +
- ", inn='" + inn + '\'' +
- ", kpp='" + kpp + '\'' +
+ ", orgId='" + orgId + '\'' +
+ ", prnOid='" + prnOid + '\'' +
'}';
}
}
diff --git a/backend/src/main/java/ervu/service/fileupload/model/PassportInfo.java b/backend/src/main/java/ervu/service/fileupload/model/PassportInfo.java
deleted file mode 100644
index 24c87bf5..00000000
--- a/backend/src/main/java/ervu/service/fileupload/model/PassportInfo.java
+++ /dev/null
@@ -1,54 +0,0 @@
-package ervu.service.fileupload.model;
-
-import java.util.Objects;
-
-/**
- * @author Alexandr Shalaginov
- */
-public class PassportInfo {
- private final String series;
- private final String number;
- private final String issueDate;
-
- public PassportInfo(String series, String number, String issueDate) {
- this.series = series;
- this.number = number;
- this.issueDate = issueDate;
- }
-
- public String getSeries() {
- return series;
- }
-
- public String getNumber() {
- return number;
- }
-
- public String getIssueDate() {
- return issueDate;
- }
-
- @Override
- public boolean equals(Object o) {
- if (this == o) return true;
- if (o == null || getClass() != o.getClass()) return false;
- PassportInfo that = (PassportInfo) o;
- return Objects.equals(series, that.series) && Objects.equals(number,
- that.number
- ) && Objects.equals(issueDate, that.issueDate);
- }
-
- @Override
- public int hashCode() {
- return Objects.hash(series, number, issueDate);
- }
-
- @Override
- public String toString() {
- return "PassportInfo{" +
- "series='" + series + '\'' +
- ", number='" + number + '\'' +
- ", issueDate='" + issueDate + '\'' +
- '}';
- }
-}
diff --git a/backend/src/main/java/ervu/service/fileupload/model/SenderInfo.java b/backend/src/main/java/ervu/service/fileupload/model/SenderInfo.java
deleted file mode 100644
index 56f440f4..00000000
--- a/backend/src/main/java/ervu/service/fileupload/model/SenderInfo.java
+++ /dev/null
@@ -1,106 +0,0 @@
-package ervu.service.fileupload.model;
-
-import java.util.Objects;
-
-/**
- * @author Alexandr Shalaginov
- */
-public class SenderInfo {
- private final String senderLastName;
- private final String senderFirstName;
- private final String senderMiddleName;
- private final String birthDate;
- private final String senderRoleCode;
- private final String senderRoleName;
- private final String snils;
- private final String idERN;
- private final PassportInfo document;
-
- public SenderInfo(String senderLastName, String senderFirstName, String senderMiddleName,
- String birthDate, String senderRoleCode, String senderRoleName, String snils, String idERN,
- PassportInfo document) {
- this.senderLastName = senderLastName;
- this.senderFirstName = senderFirstName;
- this.senderMiddleName = senderMiddleName;
- this.birthDate = birthDate;
- this.senderRoleCode = senderRoleCode;
- this.senderRoleName = senderRoleName;
- this.snils = snils;
- this.idERN = idERN;
- this.document = document;
- }
-
- public String getSenderLastName() {
- return senderLastName;
- }
-
- public String getSenderFirstName() {
- return senderFirstName;
- }
-
- public String getSenderMiddleName() {
- return senderMiddleName;
- }
-
- public String getBirthDate() {
- return birthDate;
- }
-
- public String getSenderRoleCode() {
- return senderRoleCode;
- }
-
- public String getSenderRoleName() {
- return senderRoleName;
- }
-
- public String getSnils() {
- return snils;
- }
-
- public String getIdERN() {
- return idERN;
- }
-
- public PassportInfo getDocument() {
- return document;
- }
-
- @Override
- public boolean equals(Object o) {
- if (this == o) return true;
- if (o == null || getClass() != o.getClass()) return false;
- SenderInfo that = (SenderInfo) o;
- return Objects.equals(senderLastName, that.senderLastName) && Objects.equals(
- senderFirstName, that.senderFirstName) && Objects.equals(senderMiddleName,
- that.senderMiddleName
- ) && Objects.equals(birthDate, that.birthDate) && Objects.equals(
- senderRoleCode, that.senderRoleCode) && Objects.equals(senderRoleName,
- that.senderRoleName
- ) && Objects.equals(snils, that.snils) && Objects.equals(idERN, that.idERN)
- && Objects.equals(document, that.document);
- }
-
- @Override
- public int hashCode() {
- return Objects.hash(senderLastName, senderFirstName, senderMiddleName, birthDate,
- senderRoleCode,
- senderRoleName, snils, idERN, document
- );
- }
-
- @Override
- public String toString() {
- return "SenderInfo{" +
- "senderLastName='" + senderLastName + '\'' +
- ", senderFirstName='" + senderFirstName + '\'' +
- ", senderMiddleName='" + senderMiddleName + '\'' +
- ", birthDate='" + birthDate + '\'' +
- ", senderRoleCode='" + senderRoleCode + '\'' +
- ", senderRoleName='" + senderRoleName + '\'' +
- ", snils='" + snils + '\'' +
- ", idERN='" + idERN + '\'' +
- ", document=" + document +
- '}';
- }
-}
diff --git a/backend/src/main/java/ervu/service/scheduer/EsnsiOkopfSchedulerService.java b/backend/src/main/java/ervu/service/scheduer/EsnsiOkopfSchedulerService.java
new file mode 100644
index 00000000..e2b884e0
--- /dev/null
+++ b/backend/src/main/java/ervu/service/scheduer/EsnsiOkopfSchedulerService.java
@@ -0,0 +1,10 @@
+package ervu.service.scheduer;
+
+/**
+ * @author Artyom Hackimullin
+ */
+public interface EsnsiOkopfSchedulerService {
+
+ void load();
+
+}
diff --git a/backend/src/main/java/ervu/service/scheduer/EsnsiOkopfSchedulerServiceImpl.java b/backend/src/main/java/ervu/service/scheduer/EsnsiOkopfSchedulerServiceImpl.java
new file mode 100644
index 00000000..94168770
--- /dev/null
+++ b/backend/src/main/java/ervu/service/scheduer/EsnsiOkopfSchedulerServiceImpl.java
@@ -0,0 +1,63 @@
+package ervu.service.scheduer;
+
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
+
+import com.fasterxml.jackson.core.JsonProcessingException;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import ervu.client.classified.EsnsiOkopfClient;
+import ervu.dao.classifier.OkopfDao;
+import ervu.service.classifier.model.*;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.scheduling.annotation.Scheduled;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+/**
+ * @author Artyom Hackimullin
+ */
+@Service
+public class EsnsiOkopfSchedulerServiceImpl implements EsnsiOkopfSchedulerService {
+ private static final Logger logger = LoggerFactory.getLogger(
+ EsnsiOkopfSchedulerServiceImpl.class);
+
+ @Autowired
+ private EsnsiOkopfClient esnsiOkopfClient;
+ @Autowired
+ private OkopfDao okopfDao;
+ @Autowired
+ private ObjectMapper mapper;
+
+ @Scheduled(cron = "${esnsi.okopf.cron:0 0 */1 * * *}")
+ @Transactional
+ public void load() {
+ String data = esnsiOkopfClient.getJsonOkopFormData();
+ try {
+ logger.info("Start okopf scheduller. Load okopf file from esnsi");
+ OkopfOrgModel orgModel = mapper.readValue(data, OkopfOrgModel.class);
+ List okopfRecords = mapToOkopfRecords(orgModel.getData());
+ int currentVersion = mapper.readTree(data).findValue("version").asInt();
+ logger.info("Saving okopf data in database.");
+ okopfDao.save(okopfRecords, currentVersion);
+ }
+ catch (JsonProcessingException e) {
+ throw new RuntimeException(e);
+ }
+ }
+
+ private List mapToOkopfRecords(OkopfDataModel dataModel) {
+ Map okopfMap = new HashMap<>();
+ for (OkopfDetailsModel detail : dataModel.getDetails()) {
+ OkopfAttributeValueModel[] attributeValues = detail.getAttributeValues();
+ String key = attributeValues[0].getValue();
+ String value = attributeValues[1].getValue();
+ okopfMap.put(key, value);
+ }
+ return okopfMap.entrySet().stream()
+ .map(e -> new OkopfModel(e.getKey(), e.getValue())).collect(Collectors.toList());
+ }
+}
diff --git a/backend/src/main/java/ervu_lkrp_ul/ervu_lkrp_ul/db_beans/appeals/Appeals.java b/backend/src/main/java/ervu_lkrp_ul/ervu_lkrp_ul/db_beans/appeals/Appeals.java
new file mode 100644
index 00000000..31d51688
--- /dev/null
+++ b/backend/src/main/java/ervu_lkrp_ul/ervu_lkrp_ul/db_beans/appeals/Appeals.java
@@ -0,0 +1,76 @@
+/*
+ * This file is generated by jOOQ.
+ */
+package ervu_lkrp_ul.ervu_lkrp_ul.db_beans.appeals;
+
+
+import ervu_lkrp_ul.ervu_lkrp_ul.db_beans.DefaultCatalog;
+import ervu_lkrp_ul.ervu_lkrp_ul.db_beans.appeals.tables.MainProfile;
+import ervu_lkrp_ul.ervu_lkrp_ul.db_beans.appeals.tables.ReasonsAppeal;
+import ervu_lkrp_ul.ervu_lkrp_ul.db_beans.appeals.tables.ReviewRating;
+import ervu_lkrp_ul.ervu_lkrp_ul.db_beans.appeals.tables.TopicAppeal;
+
+import java.util.Arrays;
+import java.util.List;
+
+import org.jooq.Catalog;
+import org.jooq.Table;
+import org.jooq.impl.SchemaImpl;
+
+
+/**
+ * This class is generated by jOOQ.
+ */
+@SuppressWarnings({ "all", "unchecked", "rawtypes" })
+public class Appeals extends SchemaImpl {
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * The reference instance of appeals
+ */
+ public static final Appeals APPEALS = new Appeals();
+
+ /**
+ * Основной профиль уровень РФ
+ */
+ public final MainProfile MAIN_PROFILE = MainProfile.MAIN_PROFILE;
+
+ /**
+ * Причины обжалования уровень РФ
+ */
+ public final ReasonsAppeal REASONS_APPEAL = ReasonsAppeal.REASONS_APPEAL;
+
+ /**
+ * Рейтинг рассмотрения жалоб уровень РФ
+ */
+ public final ReviewRating REVIEW_RATING = ReviewRating.REVIEW_RATING;
+
+ /**
+ * Тема обжалования уровень РФ
+ */
+ public final TopicAppeal TOPIC_APPEAL = TopicAppeal.TOPIC_APPEAL;
+
+ /**
+ * No further instances allowed
+ */
+ private Appeals() {
+ super("appeals", null);
+ }
+
+
+ @Override
+ public Catalog getCatalog() {
+ return DefaultCatalog.DEFAULT_CATALOG;
+ }
+
+ @Override
+ public final List> getTables() {
+ return Arrays.asList(
+ MainProfile.MAIN_PROFILE,
+ ReasonsAppeal.REASONS_APPEAL,
+ ReviewRating.REVIEW_RATING,
+ TopicAppeal.TOPIC_APPEAL
+ );
+ }
+}
diff --git a/backend/src/main/java/ervu_lkrp_ul/ervu_lkrp_ul/db_beans/appeals/Keys.java b/backend/src/main/java/ervu_lkrp_ul/ervu_lkrp_ul/db_beans/appeals/Keys.java
new file mode 100644
index 00000000..da5c2982
--- /dev/null
+++ b/backend/src/main/java/ervu_lkrp_ul/ervu_lkrp_ul/db_beans/appeals/Keys.java
@@ -0,0 +1,37 @@
+/*
+ * This file is generated by jOOQ.
+ */
+package ervu_lkrp_ul.ervu_lkrp_ul.db_beans.appeals;
+
+
+import ervu_lkrp_ul.ervu_lkrp_ul.db_beans.appeals.tables.MainProfile;
+import ervu_lkrp_ul.ervu_lkrp_ul.db_beans.appeals.tables.ReasonsAppeal;
+import ervu_lkrp_ul.ervu_lkrp_ul.db_beans.appeals.tables.ReviewRating;
+import ervu_lkrp_ul.ervu_lkrp_ul.db_beans.appeals.tables.TopicAppeal;
+import ervu_lkrp_ul.ervu_lkrp_ul.db_beans.appeals.tables.records.MainProfileRecord;
+import ervu_lkrp_ul.ervu_lkrp_ul.db_beans.appeals.tables.records.ReasonsAppealRecord;
+import ervu_lkrp_ul.ervu_lkrp_ul.db_beans.appeals.tables.records.ReviewRatingRecord;
+import ervu_lkrp_ul.ervu_lkrp_ul.db_beans.appeals.tables.records.TopicAppealRecord;
+
+import org.jooq.TableField;
+import org.jooq.UniqueKey;
+import org.jooq.impl.DSL;
+import org.jooq.impl.Internal;
+
+
+/**
+ * A class modelling foreign key relationships and constraints of tables in
+ * appeals.
+ */
+@SuppressWarnings({ "all", "unchecked", "rawtypes" })
+public class Keys {
+
+ // -------------------------------------------------------------------------
+ // UNIQUE and PRIMARY KEY definitions
+ // -------------------------------------------------------------------------
+
+ public static final UniqueKey PK_MAIN_PROFILE = Internal.createUniqueKey(MainProfile.MAIN_PROFILE, DSL.name("pk_main_profile"), new TableField[] { MainProfile.MAIN_PROFILE.ID_MAIN_PROFILE }, true);
+ public static final UniqueKey PK_REASONS_APPEAL = Internal.createUniqueKey(ReasonsAppeal.REASONS_APPEAL, DSL.name("pk_reasons_appeal"), new TableField[] { ReasonsAppeal.REASONS_APPEAL.ID_REASONS_APPEAL }, true);
+ public static final UniqueKey PK_REVIEW_RATING = Internal.createUniqueKey(ReviewRating.REVIEW_RATING, DSL.name("pk_review_rating"), new TableField[] { ReviewRating.REVIEW_RATING.ID_REVIEW_RATING }, true);
+ public static final UniqueKey PK_TOPIC_APPEAL = Internal.createUniqueKey(TopicAppeal.TOPIC_APPEAL, DSL.name("pk_topic_appeal"), new TableField[] { TopicAppeal.TOPIC_APPEAL.ID_TOPIC_APPEAL }, true);
+}
diff --git a/backend/src/main/java/ervu_lkrp_ul/ervu_lkrp_ul/db_beans/appeals/Tables.java b/backend/src/main/java/ervu_lkrp_ul/ervu_lkrp_ul/db_beans/appeals/Tables.java
new file mode 100644
index 00000000..9978e004
--- /dev/null
+++ b/backend/src/main/java/ervu_lkrp_ul/ervu_lkrp_ul/db_beans/appeals/Tables.java
@@ -0,0 +1,38 @@
+/*
+ * This file is generated by jOOQ.
+ */
+package ervu_lkrp_ul.ervu_lkrp_ul.db_beans.appeals;
+
+
+import ervu_lkrp_ul.ervu_lkrp_ul.db_beans.appeals.tables.MainProfile;
+import ervu_lkrp_ul.ervu_lkrp_ul.db_beans.appeals.tables.ReasonsAppeal;
+import ervu_lkrp_ul.ervu_lkrp_ul.db_beans.appeals.tables.ReviewRating;
+import ervu_lkrp_ul.ervu_lkrp_ul.db_beans.appeals.tables.TopicAppeal;
+
+
+/**
+ * Convenience access to all tables in appeals.
+ */
+@SuppressWarnings({ "all", "unchecked", "rawtypes" })
+public class Tables {
+
+ /**
+ * Основной профиль уровень РФ
+ */
+ public static final MainProfile MAIN_PROFILE = MainProfile.MAIN_PROFILE;
+
+ /**
+ * Причины обжалования уровень РФ
+ */
+ public static final ReasonsAppeal REASONS_APPEAL = ReasonsAppeal.REASONS_APPEAL;
+
+ /**
+ * Рейтинг рассмотрения жалоб уровень РФ
+ */
+ public static final ReviewRating REVIEW_RATING = ReviewRating.REVIEW_RATING;
+
+ /**
+ * Тема обжалования уровень РФ
+ */
+ public static final TopicAppeal TOPIC_APPEAL = TopicAppeal.TOPIC_APPEAL;
+}
diff --git a/backend/src/main/java/ervu_lkrp_ul/ervu_lkrp_ul/db_beans/appeals/tables/MainProfile.java b/backend/src/main/java/ervu_lkrp_ul/ervu_lkrp_ul/db_beans/appeals/tables/MainProfile.java
new file mode 100644
index 00000000..9ab32e8e
--- /dev/null
+++ b/backend/src/main/java/ervu_lkrp_ul/ervu_lkrp_ul/db_beans/appeals/tables/MainProfile.java
@@ -0,0 +1,261 @@
+/*
+ * This file is generated by jOOQ.
+ */
+package ervu_lkrp_ul.ervu_lkrp_ul.db_beans.appeals.tables;
+
+
+import ervu_lkrp_ul.ervu_lkrp_ul.db_beans.appeals.Appeals;
+import ervu_lkrp_ul.ervu_lkrp_ul.db_beans.appeals.Keys;
+import ervu_lkrp_ul.ervu_lkrp_ul.db_beans.appeals.tables.records.MainProfileRecord;
+
+import java.sql.Date;
+import java.util.Collection;
+import java.util.UUID;
+
+import org.jooq.Condition;
+import org.jooq.Field;
+import org.jooq.Identity;
+import org.jooq.Name;
+import org.jooq.PlainSQL;
+import org.jooq.QueryPart;
+import org.jooq.SQL;
+import org.jooq.Schema;
+import org.jooq.Select;
+import org.jooq.Stringly;
+import org.jooq.Table;
+import org.jooq.TableField;
+import org.jooq.TableOptions;
+import org.jooq.UniqueKey;
+import org.jooq.impl.DSL;
+import org.jooq.impl.SQLDataType;
+import org.jooq.impl.TableImpl;
+
+
+/**
+ * Основной профиль уровень РФ
+ */
+@SuppressWarnings({ "all", "unchecked", "rawtypes" })
+public class MainProfile extends TableImpl {
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * The reference instance of appeals.main_profile
+ */
+ public static final MainProfile MAIN_PROFILE = new MainProfile();
+
+ /**
+ * The class holding records for this type
+ */
+ @Override
+ public Class getRecordType() {
+ return MainProfileRecord.class;
+ }
+
+ /**
+ * The column appeals.main_profile.id_main_profile.
+ */
+ public final TableField ID_MAIN_PROFILE = createField(DSL.name("id_main_profile"), SQLDataType.BIGINT.nullable(false).identity(true), this, "");
+
+ /**
+ * The column appeals.main_profile.gender. Пол
+ */
+ public final TableField GENDER = createField(DSL.name("gender"), SQLDataType.CLOB, this, "Пол");
+
+ /**
+ * The column appeals.main_profile.age. Возраст
+ */
+ public final TableField AGE = createField(DSL.name("age"), SQLDataType.CLOB, this, "Возраст");
+
+ /**
+ * The column appeals.main_profile.child_min_18. Дети до 18 лет
+ */
+ public final TableField CHILD_MIN_18 = createField(DSL.name("child_min_18"), SQLDataType.CLOB, this, "Дети до 18 лет");
+
+ /**
+ * The column appeals.main_profile.education. Образование
+ */
+ public final TableField EDUCATION = createField(DSL.name("education"), SQLDataType.CLOB, this, "Образование");
+
+ /**
+ * The column appeals.main_profile.employment. Занятость
+ */
+ public final TableField EMPLOYMENT = createField(DSL.name("employment"), SQLDataType.CLOB, this, "Занятость");
+
+ /**
+ * The column appeals.main_profile.recording_date. Дата записи
+ */
+ public final TableField RECORDING_DATE = createField(DSL.name("recording_date"), SQLDataType.DATE.defaultValue(DSL.field(DSL.raw("now()"), SQLDataType.DATE)), this, "Дата записи");
+
+ /**
+ * The column appeals.main_profile.recruitment_id.
+ */
+ public final TableField RECRUITMENT_ID = createField(DSL.name("recruitment_id"), SQLDataType.UUID, this, "");
+
+ private MainProfile(Name alias, Table aliased) {
+ this(alias, aliased, (Field>[]) null, null);
+ }
+
+ private MainProfile(Name alias, Table aliased, Field>[] parameters, Condition where) {
+ super(alias, null, aliased, parameters, DSL.comment("Основной профиль уровень РФ"), TableOptions.table(), where);
+ }
+
+ /**
+ * Create an aliased appeals.main_profile table reference
+ */
+ public MainProfile(String alias) {
+ this(DSL.name(alias), MAIN_PROFILE);
+ }
+
+ /**
+ * Create an aliased appeals.main_profile table reference
+ */
+ public MainProfile(Name alias) {
+ this(alias, MAIN_PROFILE);
+ }
+
+ /**
+ * Create a appeals.main_profile table reference
+ */
+ public MainProfile() {
+ this(DSL.name("main_profile"), null);
+ }
+
+ @Override
+ public Schema getSchema() {
+ return aliased() ? null : Appeals.APPEALS;
+ }
+
+ @Override
+ public Identity getIdentity() {
+ return (Identity) super.getIdentity();
+ }
+
+ @Override
+ public UniqueKey getPrimaryKey() {
+ return Keys.PK_MAIN_PROFILE;
+ }
+
+ @Override
+ public MainProfile as(String alias) {
+ return new MainProfile(DSL.name(alias), this);
+ }
+
+ @Override
+ public MainProfile as(Name alias) {
+ return new MainProfile(alias, this);
+ }
+
+ @Override
+ public MainProfile as(Table> alias) {
+ return new MainProfile(alias.getQualifiedName(), this);
+ }
+
+ /**
+ * Rename this table
+ */
+ @Override
+ public MainProfile rename(String name) {
+ return new MainProfile(DSL.name(name), null);
+ }
+
+ /**
+ * Rename this table
+ */
+ @Override
+ public MainProfile rename(Name name) {
+ return new MainProfile(name, null);
+ }
+
+ /**
+ * Rename this table
+ */
+ @Override
+ public MainProfile rename(Table> name) {
+ return new MainProfile(name.getQualifiedName(), null);
+ }
+
+ /**
+ * Create an inline derived table from this table
+ */
+ @Override
+ public MainProfile where(Condition condition) {
+ return new MainProfile(getQualifiedName(), aliased() ? this : null, null, condition);
+ }
+
+ /**
+ * Create an inline derived table from this table
+ */
+ @Override
+ public MainProfile where(Collection extends Condition> conditions) {
+ return where(DSL.and(conditions));
+ }
+
+ /**
+ * Create an inline derived table from this table
+ */
+ @Override
+ public MainProfile where(Condition... conditions) {
+ return where(DSL.and(conditions));
+ }
+
+ /**
+ * Create an inline derived table from this table
+ */
+ @Override
+ public MainProfile where(Field condition) {
+ return where(DSL.condition(condition));
+ }
+
+ /**
+ * Create an inline derived table from this table
+ */
+ @Override
+ @PlainSQL
+ public MainProfile where(SQL condition) {
+ return where(DSL.condition(condition));
+ }
+
+ /**
+ * Create an inline derived table from this table
+ */
+ @Override
+ @PlainSQL
+ public MainProfile where(@Stringly.SQL String condition) {
+ return where(DSL.condition(condition));
+ }
+
+ /**
+ * Create an inline derived table from this table
+ */
+ @Override
+ @PlainSQL
+ public MainProfile where(@Stringly.SQL String condition, Object... binds) {
+ return where(DSL.condition(condition, binds));
+ }
+
+ /**
+ * Create an inline derived table from this table
+ */
+ @Override
+ @PlainSQL
+ public MainProfile where(@Stringly.SQL String condition, QueryPart... parts) {
+ return where(DSL.condition(condition, parts));
+ }
+
+ /**
+ * Create an inline derived table from this table
+ */
+ @Override
+ public MainProfile whereExists(Select> select) {
+ return where(DSL.exists(select));
+ }
+
+ /**
+ * Create an inline derived table from this table
+ */
+ @Override
+ public MainProfile whereNotExists(Select> select) {
+ return where(DSL.notExists(select));
+ }
+}
diff --git a/backend/src/main/java/ervu_lkrp_ul/ervu_lkrp_ul/db_beans/appeals/tables/ReasonsAppeal.java b/backend/src/main/java/ervu_lkrp_ul/ervu_lkrp_ul/db_beans/appeals/tables/ReasonsAppeal.java
new file mode 100644
index 00000000..62468c04
--- /dev/null
+++ b/backend/src/main/java/ervu_lkrp_ul/ervu_lkrp_ul/db_beans/appeals/tables/ReasonsAppeal.java
@@ -0,0 +1,277 @@
+/*
+ * This file is generated by jOOQ.
+ */
+package ervu_lkrp_ul.ervu_lkrp_ul.db_beans.appeals.tables;
+
+
+import ervu_lkrp_ul.ervu_lkrp_ul.db_beans.appeals.Appeals;
+import ervu_lkrp_ul.ervu_lkrp_ul.db_beans.appeals.Keys;
+import ervu_lkrp_ul.ervu_lkrp_ul.db_beans.appeals.tables.records.ReasonsAppealRecord;
+
+import java.math.BigDecimal;
+import java.sql.Date;
+import java.util.Collection;
+import java.util.UUID;
+
+import org.jooq.Condition;
+import org.jooq.Field;
+import org.jooq.Identity;
+import org.jooq.Name;
+import org.jooq.PlainSQL;
+import org.jooq.QueryPart;
+import org.jooq.SQL;
+import org.jooq.Schema;
+import org.jooq.Select;
+import org.jooq.Stringly;
+import org.jooq.Table;
+import org.jooq.TableField;
+import org.jooq.TableOptions;
+import org.jooq.UniqueKey;
+import org.jooq.impl.DSL;
+import org.jooq.impl.SQLDataType;
+import org.jooq.impl.TableImpl;
+
+
+/**
+ * Причины обжалования уровень РФ
+ */
+@SuppressWarnings({ "all", "unchecked", "rawtypes" })
+public class ReasonsAppeal extends TableImpl {
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * The reference instance of appeals.reasons_appeal
+ */
+ public static final ReasonsAppeal REASONS_APPEAL = new ReasonsAppeal();
+
+ /**
+ * The class holding records for this type
+ */
+ @Override
+ public Class getRecordType() {
+ return ReasonsAppealRecord.class;
+ }
+
+ /**
+ * The column appeals.reasons_appeal.id_reasons_appeal.
+ */
+ public final TableField ID_REASONS_APPEAL = createField(DSL.name("id_reasons_appeal"), SQLDataType.BIGINT.nullable(false).identity(true), this, "");
+
+ /**
+ * The column appeals.reasons_appeal.appeal. Обжалования
+ */
+ public final TableField APPEAL = createField(DSL.name("appeal"), SQLDataType.NUMERIC, this, "Обжалования");
+
+ /**
+ * The column appeals.reasons_appeal.incorrect_inf.
+ * Некорректные сведения
+ */
+ public final TableField INCORRECT_INF = createField(DSL.name("incorrect_inf"), SQLDataType.NUMERIC, this, "Некорректные сведения");
+
+ /**
+ * The column appeals.reasons_appeal.no_data. Нет данных
+ */
+ public final TableField NO_DATA = createField(DSL.name("no_data"), SQLDataType.NUMERIC, this, "Нет данных");
+
+ /**
+ * The column appeals.reasons_appeal.other. Прочее
+ */
+ public final TableField OTHER = createField(DSL.name("other"), SQLDataType.NUMERIC, this, "Прочее");
+
+ /**
+ * The column appeals.reasons_appeal.recording_date. Дата
+ * записи
+ */
+ public final TableField RECORDING_DATE = createField(DSL.name("recording_date"), SQLDataType.DATE.defaultValue(DSL.field(DSL.raw("now()"), SQLDataType.DATE)), this, "Дата записи");
+
+ /**
+ * The column appeals.reasons_appeal.incorrect_inf_percent.
+ * Некорректные сведения в процентах
+ */
+ public final TableField INCORRECT_INF_PERCENT = createField(DSL.name("incorrect_inf_percent"), SQLDataType.NUMERIC, this, "Некорректные сведения в процентах");
+
+ /**
+ * The column appeals.reasons_appeal.no_data_percent. Нет
+ * данных в процентах
+ */
+ public final TableField NO_DATA_PERCENT = createField(DSL.name("no_data_percent"), SQLDataType.NUMERIC, this, "Нет данных в процентах");
+
+ /**
+ * The column appeals.reasons_appeal.other_percent. Прочее в
+ * процентах
+ */
+ public final TableField OTHER_PERCENT = createField(DSL.name("other_percent"), SQLDataType.NUMERIC, this, "Прочее в процентах");
+
+ /**
+ * The column appeals.reasons_appeal.recruitment_id.
+ */
+ public final TableField RECRUITMENT_ID = createField(DSL.name("recruitment_id"), SQLDataType.UUID, this, "");
+
+ private ReasonsAppeal(Name alias, Table aliased) {
+ this(alias, aliased, (Field>[]) null, null);
+ }
+
+ private ReasonsAppeal(Name alias, Table aliased, Field>[] parameters, Condition where) {
+ super(alias, null, aliased, parameters, DSL.comment("Причины обжалования уровень РФ"), TableOptions.table(), where);
+ }
+
+ /**
+ * Create an aliased appeals.reasons_appeal table reference
+ */
+ public ReasonsAppeal(String alias) {
+ this(DSL.name(alias), REASONS_APPEAL);
+ }
+
+ /**
+ * Create an aliased appeals.reasons_appeal table reference
+ */
+ public ReasonsAppeal(Name alias) {
+ this(alias, REASONS_APPEAL);
+ }
+
+ /**
+ * Create a appeals.reasons_appeal table reference
+ */
+ public ReasonsAppeal() {
+ this(DSL.name("reasons_appeal"), null);
+ }
+
+ @Override
+ public Schema getSchema() {
+ return aliased() ? null : Appeals.APPEALS;
+ }
+
+ @Override
+ public Identity getIdentity() {
+ return (Identity) super.getIdentity();
+ }
+
+ @Override
+ public UniqueKey getPrimaryKey() {
+ return Keys.PK_REASONS_APPEAL;
+ }
+
+ @Override
+ public ReasonsAppeal as(String alias) {
+ return new ReasonsAppeal(DSL.name(alias), this);
+ }
+
+ @Override
+ public ReasonsAppeal as(Name alias) {
+ return new ReasonsAppeal(alias, this);
+ }
+
+ @Override
+ public ReasonsAppeal as(Table> alias) {
+ return new ReasonsAppeal(alias.getQualifiedName(), this);
+ }
+
+ /**
+ * Rename this table
+ */
+ @Override
+ public ReasonsAppeal rename(String name) {
+ return new ReasonsAppeal(DSL.name(name), null);
+ }
+
+ /**
+ * Rename this table
+ */
+ @Override
+ public ReasonsAppeal rename(Name name) {
+ return new ReasonsAppeal(name, null);
+ }
+
+ /**
+ * Rename this table
+ */
+ @Override
+ public ReasonsAppeal rename(Table> name) {
+ return new ReasonsAppeal(name.getQualifiedName(), null);
+ }
+
+ /**
+ * Create an inline derived table from this table
+ */
+ @Override
+ public ReasonsAppeal where(Condition condition) {
+ return new ReasonsAppeal(getQualifiedName(), aliased() ? this : null, null, condition);
+ }
+
+ /**
+ * Create an inline derived table from this table
+ */
+ @Override
+ public ReasonsAppeal where(Collection extends Condition> conditions) {
+ return where(DSL.and(conditions));
+ }
+
+ /**
+ * Create an inline derived table from this table
+ */
+ @Override
+ public ReasonsAppeal where(Condition... conditions) {
+ return where(DSL.and(conditions));
+ }
+
+ /**
+ * Create an inline derived table from this table
+ */
+ @Override
+ public ReasonsAppeal where(Field condition) {
+ return where(DSL.condition(condition));
+ }
+
+ /**
+ * Create an inline derived table from this table
+ */
+ @Override
+ @PlainSQL
+ public ReasonsAppeal where(SQL condition) {
+ return where(DSL.condition(condition));
+ }
+
+ /**
+ * Create an inline derived table from this table
+ */
+ @Override
+ @PlainSQL
+ public ReasonsAppeal where(@Stringly.SQL String condition) {
+ return where(DSL.condition(condition));
+ }
+
+ /**
+ * Create an inline derived table from this table
+ */
+ @Override
+ @PlainSQL
+ public ReasonsAppeal where(@Stringly.SQL String condition, Object... binds) {
+ return where(DSL.condition(condition, binds));
+ }
+
+ /**
+ * Create an inline derived table from this table
+ */
+ @Override
+ @PlainSQL
+ public ReasonsAppeal where(@Stringly.SQL String condition, QueryPart... parts) {
+ return where(DSL.condition(condition, parts));
+ }
+
+ /**
+ * Create an inline derived table from this table
+ */
+ @Override
+ public ReasonsAppeal whereExists(Select> select) {
+ return where(DSL.exists(select));
+ }
+
+ /**
+ * Create an inline derived table from this table
+ */
+ @Override
+ public ReasonsAppeal whereNotExists(Select> select) {
+ return where(DSL.notExists(select));
+ }
+}
diff --git a/backend/src/main/java/ervu_lkrp_ul/ervu_lkrp_ul/db_beans/appeals/tables/ReviewRating.java b/backend/src/main/java/ervu_lkrp_ul/ervu_lkrp_ul/db_beans/appeals/tables/ReviewRating.java
new file mode 100644
index 00000000..f9887da0
--- /dev/null
+++ b/backend/src/main/java/ervu_lkrp_ul/ervu_lkrp_ul/db_beans/appeals/tables/ReviewRating.java
@@ -0,0 +1,254 @@
+/*
+ * This file is generated by jOOQ.
+ */
+package ervu_lkrp_ul.ervu_lkrp_ul.db_beans.appeals.tables;
+
+
+import ervu_lkrp_ul.ervu_lkrp_ul.db_beans.appeals.Appeals;
+import ervu_lkrp_ul.ervu_lkrp_ul.db_beans.appeals.Keys;
+import ervu_lkrp_ul.ervu_lkrp_ul.db_beans.appeals.tables.records.ReviewRatingRecord;
+
+import java.math.BigDecimal;
+import java.sql.Date;
+import java.util.Collection;
+import java.util.UUID;
+
+import org.jooq.Condition;
+import org.jooq.Field;
+import org.jooq.Identity;
+import org.jooq.Name;
+import org.jooq.PlainSQL;
+import org.jooq.QueryPart;
+import org.jooq.SQL;
+import org.jooq.Schema;
+import org.jooq.Select;
+import org.jooq.Stringly;
+import org.jooq.Table;
+import org.jooq.TableField;
+import org.jooq.TableOptions;
+import org.jooq.UniqueKey;
+import org.jooq.impl.DSL;
+import org.jooq.impl.SQLDataType;
+import org.jooq.impl.TableImpl;
+
+
+/**
+ * Рейтинг рассмотрения жалоб уровень РФ
+ */
+@SuppressWarnings({ "all", "unchecked", "rawtypes" })
+public class ReviewRating extends TableImpl {
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * The reference instance of appeals.review_rating
+ */
+ public static final ReviewRating REVIEW_RATING = new ReviewRating();
+
+ /**
+ * The class holding records for this type
+ */
+ @Override
+ public Class getRecordType() {
+ return ReviewRatingRecord.class;
+ }
+
+ /**
+ * The column appeals.review_rating.id_review_rating.
+ */
+ public final TableField ID_REVIEW_RATING = createField(DSL.name("id_review_rating"), SQLDataType.BIGINT.nullable(false).identity(true), this, "");
+
+ /**
+ * The column appeals.review_rating.speed. Скорость
+ * рассмотрения
+ */
+ public final TableField SPEED = createField(DSL.name("speed"), SQLDataType.NUMERIC, this, "Скорость рассмотрения");
+
+ /**
+ * The column appeals.review_rating.rating. Оценка
+ * удовлетворенности
+ */
+ public final TableField RATING = createField(DSL.name("rating"), SQLDataType.NUMERIC, this, "Оценка удовлетворенности");
+
+ /**
+ * The column appeals.review_rating.recording_date. Дата записи
+ */
+ public final TableField RECORDING_DATE = createField(DSL.name("recording_date"), SQLDataType.DATE.defaultValue(DSL.field(DSL.raw("now()"), SQLDataType.DATE)), this, "Дата записи");
+
+ /**
+ * The column appeals.review_rating.id_region.
+ */
+ public final TableField ID_REGION = createField(DSL.name("id_region"), SQLDataType.BIGINT, this, "");
+
+ /**
+ * The column appeals.review_rating.recruitment_id.
+ */
+ public final TableField RECRUITMENT_ID = createField(DSL.name("recruitment_id"), SQLDataType.UUID, this, "");
+
+ private ReviewRating(Name alias, Table aliased) {
+ this(alias, aliased, (Field>[]) null, null);
+ }
+
+ private ReviewRating(Name alias, Table aliased, Field>[] parameters, Condition where) {
+ super(alias, null, aliased, parameters, DSL.comment("Рейтинг рассмотрения жалоб уровень РФ"), TableOptions.table(), where);
+ }
+
+ /**
+ * Create an aliased appeals.review_rating table reference
+ */
+ public ReviewRating(String alias) {
+ this(DSL.name(alias), REVIEW_RATING);
+ }
+
+ /**
+ * Create an aliased appeals.review_rating table reference
+ */
+ public ReviewRating(Name alias) {
+ this(alias, REVIEW_RATING);
+ }
+
+ /**
+ * Create a appeals.review_rating table reference
+ */
+ public ReviewRating() {
+ this(DSL.name("review_rating"), null);
+ }
+
+ @Override
+ public Schema getSchema() {
+ return aliased() ? null : Appeals.APPEALS;
+ }
+
+ @Override
+ public Identity getIdentity() {
+ return (Identity) super.getIdentity();
+ }
+
+ @Override
+ public UniqueKey getPrimaryKey() {
+ return Keys.PK_REVIEW_RATING;
+ }
+
+ @Override
+ public ReviewRating as(String alias) {
+ return new ReviewRating(DSL.name(alias), this);
+ }
+
+ @Override
+ public ReviewRating as(Name alias) {
+ return new ReviewRating(alias, this);
+ }
+
+ @Override
+ public ReviewRating as(Table> alias) {
+ return new ReviewRating(alias.getQualifiedName(), this);
+ }
+
+ /**
+ * Rename this table
+ */
+ @Override
+ public ReviewRating rename(String name) {
+ return new ReviewRating(DSL.name(name), null);
+ }
+
+ /**
+ * Rename this table
+ */
+ @Override
+ public ReviewRating rename(Name name) {
+ return new ReviewRating(name, null);
+ }
+
+ /**
+ * Rename this table
+ */
+ @Override
+ public ReviewRating rename(Table> name) {
+ return new ReviewRating(name.getQualifiedName(), null);
+ }
+
+ /**
+ * Create an inline derived table from this table
+ */
+ @Override
+ public ReviewRating where(Condition condition) {
+ return new ReviewRating(getQualifiedName(), aliased() ? this : null, null, condition);
+ }
+
+ /**
+ * Create an inline derived table from this table
+ */
+ @Override
+ public ReviewRating where(Collection extends Condition> conditions) {
+ return where(DSL.and(conditions));
+ }
+
+ /**
+ * Create an inline derived table from this table
+ */
+ @Override
+ public ReviewRating where(Condition... conditions) {
+ return where(DSL.and(conditions));
+ }
+
+ /**
+ * Create an inline derived table from this table
+ */
+ @Override
+ public ReviewRating where(Field condition) {
+ return where(DSL.condition(condition));
+ }
+
+ /**
+ * Create an inline derived table from this table
+ */
+ @Override
+ @PlainSQL
+ public ReviewRating where(SQL condition) {
+ return where(DSL.condition(condition));
+ }
+
+ /**
+ * Create an inline derived table from this table
+ */
+ @Override
+ @PlainSQL
+ public ReviewRating where(@Stringly.SQL String condition) {
+ return where(DSL.condition(condition));
+ }
+
+ /**
+ * Create an inline derived table from this table
+ */
+ @Override
+ @PlainSQL
+ public ReviewRating where(@Stringly.SQL String condition, Object... binds) {
+ return where(DSL.condition(condition, binds));
+ }
+
+ /**
+ * Create an inline derived table from this table
+ */
+ @Override
+ @PlainSQL
+ public ReviewRating where(@Stringly.SQL String condition, QueryPart... parts) {
+ return where(DSL.condition(condition, parts));
+ }
+
+ /**
+ * Create an inline derived table from this table
+ */
+ @Override
+ public ReviewRating whereExists(Select> select) {
+ return where(DSL.exists(select));
+ }
+
+ /**
+ * Create an inline derived table from this table
+ */
+ @Override
+ public ReviewRating whereNotExists(Select> select) {
+ return where(DSL.notExists(select));
+ }
+}
diff --git a/backend/src/main/java/ervu_lkrp_ul/ervu_lkrp_ul/db_beans/appeals/tables/TopicAppeal.java b/backend/src/main/java/ervu_lkrp_ul/ervu_lkrp_ul/db_beans/appeals/tables/TopicAppeal.java
new file mode 100644
index 00000000..f6ea6e58
--- /dev/null
+++ b/backend/src/main/java/ervu_lkrp_ul/ervu_lkrp_ul/db_beans/appeals/tables/TopicAppeal.java
@@ -0,0 +1,285 @@
+/*
+ * This file is generated by jOOQ.
+ */
+package ervu_lkrp_ul.ervu_lkrp_ul.db_beans.appeals.tables;
+
+
+import ervu_lkrp_ul.ervu_lkrp_ul.db_beans.appeals.Appeals;
+import ervu_lkrp_ul.ervu_lkrp_ul.db_beans.appeals.Keys;
+import ervu_lkrp_ul.ervu_lkrp_ul.db_beans.appeals.tables.records.TopicAppealRecord;
+
+import java.math.BigDecimal;
+import java.sql.Date;
+import java.util.Collection;
+import java.util.UUID;
+
+import org.jooq.Condition;
+import org.jooq.Field;
+import org.jooq.Identity;
+import org.jooq.Name;
+import org.jooq.PlainSQL;
+import org.jooq.QueryPart;
+import org.jooq.SQL;
+import org.jooq.Schema;
+import org.jooq.Select;
+import org.jooq.Stringly;
+import org.jooq.Table;
+import org.jooq.TableField;
+import org.jooq.TableOptions;
+import org.jooq.UniqueKey;
+import org.jooq.impl.DSL;
+import org.jooq.impl.SQLDataType;
+import org.jooq.impl.TableImpl;
+
+
+/**
+ * Тема обжалования уровень РФ
+ */
+@SuppressWarnings({ "all", "unchecked", "rawtypes" })
+public class TopicAppeal extends TableImpl {
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * The reference instance of appeals.topic_appeal
+ */
+ public static final TopicAppeal TOPIC_APPEAL = new TopicAppeal();
+
+ /**
+ * The class holding records for this type
+ */
+ @Override
+ public Class getRecordType() {
+ return TopicAppealRecord.class;
+ }
+
+ /**
+ * The column appeals.topic_appeal.id_topic_appeal.
+ */
+ public final TableField ID_TOPIC_APPEAL = createField(DSL.name("id_topic_appeal"), SQLDataType.BIGINT.nullable(false).identity(true), this, "");
+
+ /**
+ * The column appeals.topic_appeal.registration. Тема
+ * обжалования постановка на учет
+ */
+ public final TableField REGISTRATION = createField(DSL.name("registration"), SQLDataType.NUMERIC, this, "Тема обжалования постановка на учет");
+
+ /**
+ * The column appeals.topic_appeal.sabpoena. Тема обжалования
+ * повестки
+ */
+ public final TableField SABPOENA = createField(DSL.name("sabpoena"), SQLDataType.NUMERIC, this, "Тема обжалования повестки");
+
+ /**
+ * The column appeals.topic_appeal.appear. Тема обжалования
+ * явка
+ */
+ public final TableField APPEAR = createField(DSL.name("appear"), SQLDataType.NUMERIC, this, "Тема обжалования явка");
+
+ /**
+ * The column appeals.topic_appeal.temporary_measures. Тема
+ * обжалования временные меры
+ */
+ public final TableField TEMPORARY_MEASURES = createField(DSL.name("temporary_measures"), SQLDataType.NUMERIC, this, "Тема обжалования временные меры");
+
+ /**
+ * The column appeals.topic_appeal.recording_date. Дата записи
+ */
+ public final TableField RECORDING_DATE = createField(DSL.name("recording_date"), SQLDataType.DATE.defaultValue(DSL.field(DSL.raw("now()"), SQLDataType.DATE)), this, "Дата записи");
+
+ /**
+ * The column appeals.topic_appeal.registration_percent. Тема
+ * обжалования постановка на учет в процентах
+ */
+ public final TableField REGISTRATION_PERCENT = createField(DSL.name("registration_percent"), SQLDataType.NUMERIC, this, "Тема обжалования постановка на учет в процентах");
+
+ /**
+ * The column appeals.topic_appeal.sabpoena_percent. Тема
+ * обжалования повестки в процентах
+ */
+ public final TableField SABPOENA_PERCENT = createField(DSL.name("sabpoena_percent"), SQLDataType.NUMERIC, this, "Тема обжалования повестки в процентах");
+
+ /**
+ * The column appeals.topic_appeal.appear_percent. Тема
+ * обжалования явка в процентах
+ */
+ public final TableField APPEAR_PERCENT = createField(DSL.name("appear_percent"), SQLDataType.NUMERIC, this, "Тема обжалования явка в процентах");
+
+ /**
+ * The column appeals.topic_appeal.temporary_measures_percent.
+ * Тема обжалования временные меры в процентах
+ */
+ public final TableField TEMPORARY_MEASURES_PERCENT = createField(DSL.name("temporary_measures_percent"), SQLDataType.NUMERIC, this, "Тема обжалования временные меры в процентах");
+
+ /**
+ * The column appeals.topic_appeal.recruitment_id.
+ */
+ public final TableField RECRUITMENT_ID = createField(DSL.name("recruitment_id"), SQLDataType.UUID, this, "");
+
+ private TopicAppeal(Name alias, Table aliased) {
+ this(alias, aliased, (Field>[]) null, null);
+ }
+
+ private TopicAppeal(Name alias, Table aliased, Field>[] parameters, Condition where) {
+ super(alias, null, aliased, parameters, DSL.comment("Тема обжалования уровень РФ"), TableOptions.table(), where);
+ }
+
+ /**
+ * Create an aliased appeals.topic_appeal table reference
+ */
+ public TopicAppeal(String alias) {
+ this(DSL.name(alias), TOPIC_APPEAL);
+ }
+
+ /**
+ * Create an aliased appeals.topic_appeal table reference
+ */
+ public TopicAppeal(Name alias) {
+ this(alias, TOPIC_APPEAL);
+ }
+
+ /**
+ * Create a appeals.topic_appeal table reference
+ */
+ public TopicAppeal() {
+ this(DSL.name("topic_appeal"), null);
+ }
+
+ @Override
+ public Schema getSchema() {
+ return aliased() ? null : Appeals.APPEALS;
+ }
+
+ @Override
+ public Identity getIdentity() {
+ return (Identity) super.getIdentity();
+ }
+
+ @Override
+ public UniqueKey getPrimaryKey() {
+ return Keys.PK_TOPIC_APPEAL;
+ }
+
+ @Override
+ public TopicAppeal as(String alias) {
+ return new TopicAppeal(DSL.name(alias), this);
+ }
+
+ @Override
+ public TopicAppeal as(Name alias) {
+ return new TopicAppeal(alias, this);
+ }
+
+ @Override
+ public TopicAppeal as(Table> alias) {
+ return new TopicAppeal(alias.getQualifiedName(), this);
+ }
+
+ /**
+ * Rename this table
+ */
+ @Override
+ public TopicAppeal rename(String name) {
+ return new TopicAppeal(DSL.name(name), null);
+ }
+
+ /**
+ * Rename this table
+ */
+ @Override
+ public TopicAppeal rename(Name name) {
+ return new TopicAppeal(name, null);
+ }
+
+ /**
+ * Rename this table
+ */
+ @Override
+ public TopicAppeal rename(Table> name) {
+ return new TopicAppeal(name.getQualifiedName(), null);
+ }
+
+ /**
+ * Create an inline derived table from this table
+ */
+ @Override
+ public TopicAppeal where(Condition condition) {
+ return new TopicAppeal(getQualifiedName(), aliased() ? this : null, null, condition);
+ }
+
+ /**
+ * Create an inline derived table from this table
+ */
+ @Override
+ public TopicAppeal where(Collection extends Condition> conditions) {
+ return where(DSL.and(conditions));
+ }
+
+ /**
+ * Create an inline derived table from this table
+ */
+ @Override
+ public TopicAppeal where(Condition... conditions) {
+ return where(DSL.and(conditions));
+ }
+
+ /**
+ * Create an inline derived table from this table
+ */
+ @Override
+ public TopicAppeal where(Field condition) {
+ return where(DSL.condition(condition));
+ }
+
+ /**
+ * Create an inline derived table from this table
+ */
+ @Override
+ @PlainSQL
+ public TopicAppeal where(SQL condition) {
+ return where(DSL.condition(condition));
+ }
+
+ /**
+ * Create an inline derived table from this table
+ */
+ @Override
+ @PlainSQL
+ public TopicAppeal where(@Stringly.SQL String condition) {
+ return where(DSL.condition(condition));
+ }
+
+ /**
+ * Create an inline derived table from this table
+ */
+ @Override
+ @PlainSQL
+ public TopicAppeal where(@Stringly.SQL String condition, Object... binds) {
+ return where(DSL.condition(condition, binds));
+ }
+
+ /**
+ * Create an inline derived table from this table
+ */
+ @Override
+ @PlainSQL
+ public TopicAppeal where(@Stringly.SQL String condition, QueryPart... parts) {
+ return where(DSL.condition(condition, parts));
+ }
+
+ /**
+ * Create an inline derived table from this table
+ */
+ @Override
+ public TopicAppeal whereExists(Select> select) {
+ return where(DSL.exists(select));
+ }
+
+ /**
+ * Create an inline derived table from this table
+ */
+ @Override
+ public TopicAppeal whereNotExists(Select> select) {
+ return where(DSL.notExists(select));
+ }
+}
diff --git a/backend/src/main/java/ervu_lkrp_ul/ervu_lkrp_ul/db_beans/appeals/tables/records/MainProfileRecord.java b/backend/src/main/java/ervu_lkrp_ul/ervu_lkrp_ul/db_beans/appeals/tables/records/MainProfileRecord.java
new file mode 100644
index 00000000..6c5cf351
--- /dev/null
+++ b/backend/src/main/java/ervu_lkrp_ul/ervu_lkrp_ul/db_beans/appeals/tables/records/MainProfileRecord.java
@@ -0,0 +1,172 @@
+/*
+ * This file is generated by jOOQ.
+ */
+package ervu_lkrp_ul.ervu_lkrp_ul.db_beans.appeals.tables.records;
+
+
+import ervu_lkrp_ul.ervu_lkrp_ul.db_beans.appeals.tables.MainProfile;
+
+import java.sql.Date;
+import java.util.UUID;
+
+import org.jooq.Record1;
+import org.jooq.impl.UpdatableRecordImpl;
+
+
+/**
+ * Основной профиль уровень РФ
+ */
+@SuppressWarnings({ "all", "unchecked", "rawtypes" })
+public class MainProfileRecord extends UpdatableRecordImpl {
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * Setter for appeals.main_profile.id_main_profile.
+ */
+ public void setIdMainProfile(Long value) {
+ set(0, value);
+ }
+
+ /**
+ * Getter for appeals.main_profile.id_main_profile.
+ */
+ public Long getIdMainProfile() {
+ return (Long) get(0);
+ }
+
+ /**
+ * Setter for appeals.main_profile.gender. Пол
+ */
+ public void setGender(String value) {
+ set(1, value);
+ }
+
+ /**
+ * Getter for appeals.main_profile.gender. Пол
+ */
+ public String getGender() {
+ return (String) get(1);
+ }
+
+ /**
+ * Setter for appeals.main_profile.age. Возраст
+ */
+ public void setAge(String value) {
+ set(2, value);
+ }
+
+ /**
+ * Getter for appeals.main_profile.age. Возраст
+ */
+ public String getAge() {
+ return (String) get(2);
+ }
+
+ /**
+ * Setter for appeals.main_profile.child_min_18. Дети до 18 лет
+ */
+ public void setChildMin_18(String value) {
+ set(3, value);
+ }
+
+ /**
+ * Getter for appeals.main_profile.child_min_18. Дети до 18 лет
+ */
+ public String getChildMin_18() {
+ return (String) get(3);
+ }
+
+ /**
+ * Setter for appeals.main_profile.education. Образование
+ */
+ public void setEducation(String value) {
+ set(4, value);
+ }
+
+ /**
+ * Getter for appeals.main_profile.education. Образование
+ */
+ public String getEducation() {
+ return (String) get(4);
+ }
+
+ /**
+ * Setter for appeals.main_profile.employment. Занятость
+ */
+ public void setEmployment(String value) {
+ set(5, value);
+ }
+
+ /**
+ * Getter for appeals.main_profile.employment. Занятость
+ */
+ public String getEmployment() {
+ return (String) get(5);
+ }
+
+ /**
+ * Setter for appeals.main_profile.recording_date. Дата записи
+ */
+ public void setRecordingDate(Date value) {
+ set(6, value);
+ }
+
+ /**
+ * Getter for appeals.main_profile.recording_date. Дата записи
+ */
+ public Date getRecordingDate() {
+ return (Date) get(6);
+ }
+
+ /**
+ * Setter for appeals.main_profile.recruitment_id.
+ */
+ public void setRecruitmentId(UUID value) {
+ set(7, value);
+ }
+
+ /**
+ * Getter for appeals.main_profile.recruitment_id.
+ */
+ public UUID getRecruitmentId() {
+ return (UUID) get(7);
+ }
+
+ // -------------------------------------------------------------------------
+ // Primary key information
+ // -------------------------------------------------------------------------
+
+ @Override
+ public Record1 key() {
+ return (Record1) super.key();
+ }
+
+ // -------------------------------------------------------------------------
+ // Constructors
+ // -------------------------------------------------------------------------
+
+ /**
+ * Create a detached MainProfileRecord
+ */
+ public MainProfileRecord() {
+ super(MainProfile.MAIN_PROFILE);
+ }
+
+ /**
+ * Create a detached, initialised MainProfileRecord
+ */
+ public MainProfileRecord(Long idMainProfile, String gender, String age, String childMin_18, String education, String employment, Date recordingDate, UUID recruitmentId) {
+ super(MainProfile.MAIN_PROFILE);
+
+ setIdMainProfile(idMainProfile);
+ setGender(gender);
+ setAge(age);
+ setChildMin_18(childMin_18);
+ setEducation(education);
+ setEmployment(employment);
+ setRecordingDate(recordingDate);
+ setRecruitmentId(recruitmentId);
+ resetChangedOnNotNull();
+ }
+}
diff --git a/backend/src/main/java/ervu_lkrp_ul/ervu_lkrp_ul/db_beans/appeals/tables/records/ReasonsAppealRecord.java b/backend/src/main/java/ervu_lkrp_ul/ervu_lkrp_ul/db_beans/appeals/tables/records/ReasonsAppealRecord.java
new file mode 100644
index 00000000..484adcdc
--- /dev/null
+++ b/backend/src/main/java/ervu_lkrp_ul/ervu_lkrp_ul/db_beans/appeals/tables/records/ReasonsAppealRecord.java
@@ -0,0 +1,213 @@
+/*
+ * This file is generated by jOOQ.
+ */
+package ervu_lkrp_ul.ervu_lkrp_ul.db_beans.appeals.tables.records;
+
+
+import ervu_lkrp_ul.ervu_lkrp_ul.db_beans.appeals.tables.ReasonsAppeal;
+
+import java.math.BigDecimal;
+import java.sql.Date;
+import java.util.UUID;
+
+import org.jooq.Record1;
+import org.jooq.impl.UpdatableRecordImpl;
+
+
+/**
+ * Причины обжалования уровень РФ
+ */
+@SuppressWarnings({ "all", "unchecked", "rawtypes" })
+public class ReasonsAppealRecord extends UpdatableRecordImpl {
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * Setter for appeals.reasons_appeal.id_reasons_appeal.
+ */
+ public void setIdReasonsAppeal(Long value) {
+ set(0, value);
+ }
+
+ /**
+ * Getter for appeals.reasons_appeal.id_reasons_appeal.
+ */
+ public Long getIdReasonsAppeal() {
+ return (Long) get(0);
+ }
+
+ /**
+ * Setter for appeals.reasons_appeal.appeal. Обжалования
+ */
+ public void setAppeal(BigDecimal value) {
+ set(1, value);
+ }
+
+ /**
+ * Getter for appeals.reasons_appeal.appeal. Обжалования
+ */
+ public BigDecimal getAppeal() {
+ return (BigDecimal) get(1);
+ }
+
+ /**
+ * Setter for appeals.reasons_appeal.incorrect_inf.
+ * Некорректные сведения
+ */
+ public void setIncorrectInf(BigDecimal value) {
+ set(2, value);
+ }
+
+ /**
+ * Getter for appeals.reasons_appeal.incorrect_inf.
+ * Некорректные сведения
+ */
+ public BigDecimal getIncorrectInf() {
+ return (BigDecimal) get(2);
+ }
+
+ /**
+ * Setter for appeals.reasons_appeal.no_data. Нет данных
+ */
+ public void setNoData(BigDecimal value) {
+ set(3, value);
+ }
+
+ /**
+ * Getter for appeals.reasons_appeal.no_data. Нет данных
+ */
+ public BigDecimal getNoData() {
+ return (BigDecimal) get(3);
+ }
+
+ /**
+ * Setter for appeals.reasons_appeal.other. Прочее
+ */
+ public void setOther(BigDecimal value) {
+ set(4, value);
+ }
+
+ /**
+ * Getter for appeals.reasons_appeal.other. Прочее
+ */
+ public BigDecimal getOther() {
+ return (BigDecimal) get(4);
+ }
+
+ /**
+ * Setter for appeals.reasons_appeal.recording_date. Дата
+ * записи
+ */
+ public void setRecordingDate(Date value) {
+ set(5, value);
+ }
+
+ /**
+ * Getter for appeals.reasons_appeal.recording_date. Дата
+ * записи
+ */
+ public Date getRecordingDate() {
+ return (Date) get(5);
+ }
+
+ /**
+ * Setter for appeals.reasons_appeal.incorrect_inf_percent.
+ * Некорректные сведения в процентах
+ */
+ public void setIncorrectInfPercent(BigDecimal value) {
+ set(6, value);
+ }
+
+ /**
+ * Getter for appeals.reasons_appeal.incorrect_inf_percent.
+ * Некорректные сведения в процентах
+ */
+ public BigDecimal getIncorrectInfPercent() {
+ return (BigDecimal) get(6);
+ }
+
+ /**
+ * Setter for appeals.reasons_appeal.no_data_percent. Нет
+ * данных в процентах
+ */
+ public void setNoDataPercent(BigDecimal value) {
+ set(7, value);
+ }
+
+ /**
+ * Getter for appeals.reasons_appeal.no_data_percent. Нет
+ * данных в процентах
+ */
+ public BigDecimal getNoDataPercent() {
+ return (BigDecimal) get(7);
+ }
+
+ /**
+ * Setter for appeals.reasons_appeal.other_percent. Прочее в
+ * процентах
+ */
+ public void setOtherPercent(BigDecimal value) {
+ set(8, value);
+ }
+
+ /**
+ * Getter for appeals.reasons_appeal.other_percent. Прочее в
+ * процентах
+ */
+ public BigDecimal getOtherPercent() {
+ return (BigDecimal) get(8);
+ }
+
+ /**
+ * Setter for appeals.reasons_appeal.recruitment_id.
+ */
+ public void setRecruitmentId(UUID value) {
+ set(9, value);
+ }
+
+ /**
+ * Getter for appeals.reasons_appeal.recruitment_id.
+ */
+ public UUID getRecruitmentId() {
+ return (UUID) get(9);
+ }
+
+ // -------------------------------------------------------------------------
+ // Primary key information
+ // -------------------------------------------------------------------------
+
+ @Override
+ public Record1 key() {
+ return (Record1) super.key();
+ }
+
+ // -------------------------------------------------------------------------
+ // Constructors
+ // -------------------------------------------------------------------------
+
+ /**
+ * Create a detached ReasonsAppealRecord
+ */
+ public ReasonsAppealRecord() {
+ super(ReasonsAppeal.REASONS_APPEAL);
+ }
+
+ /**
+ * Create a detached, initialised ReasonsAppealRecord
+ */
+ public ReasonsAppealRecord(Long idReasonsAppeal, BigDecimal appeal, BigDecimal incorrectInf, BigDecimal noData, BigDecimal other, Date recordingDate, BigDecimal incorrectInfPercent, BigDecimal noDataPercent, BigDecimal otherPercent, UUID recruitmentId) {
+ super(ReasonsAppeal.REASONS_APPEAL);
+
+ setIdReasonsAppeal(idReasonsAppeal);
+ setAppeal(appeal);
+ setIncorrectInf(incorrectInf);
+ setNoData(noData);
+ setOther(other);
+ setRecordingDate(recordingDate);
+ setIncorrectInfPercent(incorrectInfPercent);
+ setNoDataPercent(noDataPercent);
+ setOtherPercent(otherPercent);
+ setRecruitmentId(recruitmentId);
+ resetChangedOnNotNull();
+ }
+}
diff --git a/backend/src/main/java/ervu_lkrp_ul/ervu_lkrp_ul/db_beans/appeals/tables/records/ReviewRatingRecord.java b/backend/src/main/java/ervu_lkrp_ul/ervu_lkrp_ul/db_beans/appeals/tables/records/ReviewRatingRecord.java
new file mode 100644
index 00000000..c1b76662
--- /dev/null
+++ b/backend/src/main/java/ervu_lkrp_ul/ervu_lkrp_ul/db_beans/appeals/tables/records/ReviewRatingRecord.java
@@ -0,0 +1,147 @@
+/*
+ * This file is generated by jOOQ.
+ */
+package ervu_lkrp_ul.ervu_lkrp_ul.db_beans.appeals.tables.records;
+
+
+import ervu_lkrp_ul.ervu_lkrp_ul.db_beans.appeals.tables.ReviewRating;
+
+import java.math.BigDecimal;
+import java.sql.Date;
+import java.util.UUID;
+
+import org.jooq.Record1;
+import org.jooq.impl.UpdatableRecordImpl;
+
+
+/**
+ * Рейтинг рассмотрения жалоб уровень РФ
+ */
+@SuppressWarnings({ "all", "unchecked", "rawtypes" })
+public class ReviewRatingRecord extends UpdatableRecordImpl {
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * Setter for appeals.review_rating.id_review_rating.
+ */
+ public void setIdReviewRating(Long value) {
+ set(0, value);
+ }
+
+ /**
+ * Getter for appeals.review_rating.id_review_rating.
+ */
+ public Long getIdReviewRating() {
+ return (Long) get(0);
+ }
+
+ /**
+ * Setter for appeals.review_rating.speed. Скорость
+ * рассмотрения
+ */
+ public void setSpeed(BigDecimal value) {
+ set(1, value);
+ }
+
+ /**
+ * Getter for appeals.review_rating.speed. Скорость
+ * рассмотрения
+ */
+ public BigDecimal getSpeed() {
+ return (BigDecimal) get(1);
+ }
+
+ /**
+ * Setter for appeals.review_rating.rating. Оценка
+ * удовлетворенности
+ */
+ public void setRating(BigDecimal value) {
+ set(2, value);
+ }
+
+ /**
+ * Getter for appeals.review_rating.rating. Оценка
+ * удовлетворенности
+ */
+ public BigDecimal getRating() {
+ return (BigDecimal) get(2);
+ }
+
+ /**
+ * Setter for appeals.review_rating.recording_date. Дата записи
+ */
+ public void setRecordingDate(Date value) {
+ set(3, value);
+ }
+
+ /**
+ * Getter for appeals.review_rating.recording_date. Дата записи
+ */
+ public Date getRecordingDate() {
+ return (Date) get(3);
+ }
+
+ /**
+ * Setter for appeals.review_rating.id_region.
+ */
+ public void setIdRegion(Long value) {
+ set(4, value);
+ }
+
+ /**
+ * Getter for appeals.review_rating.id_region.
+ */
+ public Long getIdRegion() {
+ return (Long) get(4);
+ }
+
+ /**
+ * Setter for appeals.review_rating.recruitment_id.
+ */
+ public void setRecruitmentId(UUID value) {
+ set(5, value);
+ }
+
+ /**
+ * Getter for appeals.review_rating.recruitment_id.
+ */
+ public UUID getRecruitmentId() {
+ return (UUID) get(5);
+ }
+
+ // -------------------------------------------------------------------------
+ // Primary key information
+ // -------------------------------------------------------------------------
+
+ @Override
+ public Record1 key() {
+ return (Record1) super.key();
+ }
+
+ // -------------------------------------------------------------------------
+ // Constructors
+ // -------------------------------------------------------------------------
+
+ /**
+ * Create a detached ReviewRatingRecord
+ */
+ public ReviewRatingRecord() {
+ super(ReviewRating.REVIEW_RATING);
+ }
+
+ /**
+ * Create a detached, initialised ReviewRatingRecord
+ */
+ public ReviewRatingRecord(Long idReviewRating, BigDecimal speed, BigDecimal rating, Date recordingDate, Long idRegion, UUID recruitmentId) {
+ super(ReviewRating.REVIEW_RATING);
+
+ setIdReviewRating(idReviewRating);
+ setSpeed(speed);
+ setRating(rating);
+ setRecordingDate(recordingDate);
+ setIdRegion(idRegion);
+ setRecruitmentId(recruitmentId);
+ resetChangedOnNotNull();
+ }
+}
diff --git a/backend/src/main/java/ervu_lkrp_ul/ervu_lkrp_ul/db_beans/appeals/tables/records/TopicAppealRecord.java b/backend/src/main/java/ervu_lkrp_ul/ervu_lkrp_ul/db_beans/appeals/tables/records/TopicAppealRecord.java
new file mode 100644
index 00000000..72eed51d
--- /dev/null
+++ b/backend/src/main/java/ervu_lkrp_ul/ervu_lkrp_ul/db_beans/appeals/tables/records/TopicAppealRecord.java
@@ -0,0 +1,234 @@
+/*
+ * This file is generated by jOOQ.
+ */
+package ervu_lkrp_ul.ervu_lkrp_ul.db_beans.appeals.tables.records;
+
+
+import ervu_lkrp_ul.ervu_lkrp_ul.db_beans.appeals.tables.TopicAppeal;
+
+import java.math.BigDecimal;
+import java.sql.Date;
+import java.util.UUID;
+
+import org.jooq.Record1;
+import org.jooq.impl.UpdatableRecordImpl;
+
+
+/**
+ * Тема обжалования уровень РФ
+ */
+@SuppressWarnings({ "all", "unchecked", "rawtypes" })
+public class TopicAppealRecord extends UpdatableRecordImpl {
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * Setter for appeals.topic_appeal.id_topic_appeal.
+ */
+ public void setIdTopicAppeal(Long value) {
+ set(0, value);
+ }
+
+ /**
+ * Getter for appeals.topic_appeal.id_topic_appeal.
+ */
+ public Long getIdTopicAppeal() {
+ return (Long) get(0);
+ }
+
+ /**
+ * Setter for appeals.topic_appeal.registration. Тема
+ * обжалования постановка на учет
+ */
+ public void setRegistration(BigDecimal value) {
+ set(1, value);
+ }
+
+ /**
+ * Getter for appeals.topic_appeal.registration. Тема
+ * обжалования постановка на учет
+ */
+ public BigDecimal getRegistration() {
+ return (BigDecimal) get(1);
+ }
+
+ /**
+ * Setter for appeals.topic_appeal.sabpoena. Тема обжалования
+ * повестки
+ */
+ public void setSabpoena(BigDecimal value) {
+ set(2, value);
+ }
+
+ /**
+ * Getter for appeals.topic_appeal.sabpoena. Тема обжалования
+ * повестки
+ */
+ public BigDecimal getSabpoena() {
+ return (BigDecimal) get(2);
+ }
+
+ /**
+ * Setter for appeals.topic_appeal.appear. Тема обжалования
+ * явка
+ */
+ public void setAppear(BigDecimal value) {
+ set(3, value);
+ }
+
+ /**
+ * Getter for appeals.topic_appeal.appear. Тема обжалования
+ * явка
+ */
+ public BigDecimal getAppear() {
+ return (BigDecimal) get(3);
+ }
+
+ /**
+ * Setter for appeals.topic_appeal.temporary_measures. Тема
+ * обжалования временные меры
+ */
+ public void setTemporaryMeasures(BigDecimal value) {
+ set(4, value);
+ }
+
+ /**
+ * Getter for appeals.topic_appeal.temporary_measures. Тема
+ * обжалования временные меры
+ */
+ public BigDecimal getTemporaryMeasures() {
+ return (BigDecimal) get(4);
+ }
+
+ /**
+ * Setter for appeals.topic_appeal.recording_date. Дата записи
+ */
+ public void setRecordingDate(Date value) {
+ set(5, value);
+ }
+
+ /**
+ * Getter for appeals.topic_appeal.recording_date. Дата записи
+ */
+ public Date getRecordingDate() {
+ return (Date) get(5);
+ }
+
+ /**
+ * Setter for appeals.topic_appeal.registration_percent. Тема
+ * обжалования постановка на учет в процентах
+ */
+ public void setRegistrationPercent(BigDecimal value) {
+ set(6, value);
+ }
+
+ /**
+ * Getter for appeals.topic_appeal.registration_percent. Тема
+ * обжалования постановка на учет в процентах
+ */
+ public BigDecimal getRegistrationPercent() {
+ return (BigDecimal) get(6);
+ }
+
+ /**
+ * Setter for appeals.topic_appeal.sabpoena_percent. Тема
+ * обжалования повестки в процентах
+ */
+ public void setSabpoenaPercent(BigDecimal value) {
+ set(7, value);
+ }
+
+ /**
+ * Getter for appeals.topic_appeal.sabpoena_percent. Тема
+ * обжалования повестки в процентах
+ */
+ public BigDecimal getSabpoenaPercent() {
+ return (BigDecimal) get(7);
+ }
+
+ /**
+ * Setter for appeals.topic_appeal.appear_percent. Тема
+ * обжалования явка в процентах
+ */
+ public void setAppearPercent(BigDecimal value) {
+ set(8, value);
+ }
+
+ /**
+ * Getter for appeals.topic_appeal.appear_percent. Тема
+ * обжалования явка в процентах
+ */
+ public BigDecimal getAppearPercent() {
+ return (BigDecimal) get(8);
+ }
+
+ /**
+ * Setter for appeals.topic_appeal.temporary_measures_percent.
+ * Тема обжалования временные меры в процентах
+ */
+ public void setTemporaryMeasuresPercent(BigDecimal value) {
+ set(9, value);
+ }
+
+ /**
+ * Getter for appeals.topic_appeal.temporary_measures_percent.
+ * Тема обжалования временные меры в процентах
+ */
+ public BigDecimal getTemporaryMeasuresPercent() {
+ return (BigDecimal) get(9);
+ }
+
+ /**
+ * Setter for appeals.topic_appeal.recruitment_id.
+ */
+ public void setRecruitmentId(UUID value) {
+ set(10, value);
+ }
+
+ /**
+ * Getter for appeals.topic_appeal.recruitment_id.
+ */
+ public UUID getRecruitmentId() {
+ return (UUID) get(10);
+ }
+
+ // -------------------------------------------------------------------------
+ // Primary key information
+ // -------------------------------------------------------------------------
+
+ @Override
+ public Record1 key() {
+ return (Record1) super.key();
+ }
+
+ // -------------------------------------------------------------------------
+ // Constructors
+ // -------------------------------------------------------------------------
+
+ /**
+ * Create a detached TopicAppealRecord
+ */
+ public TopicAppealRecord() {
+ super(TopicAppeal.TOPIC_APPEAL);
+ }
+
+ /**
+ * Create a detached, initialised TopicAppealRecord
+ */
+ public TopicAppealRecord(Long idTopicAppeal, BigDecimal registration, BigDecimal sabpoena, BigDecimal appear, BigDecimal temporaryMeasures, Date recordingDate, BigDecimal registrationPercent, BigDecimal sabpoenaPercent, BigDecimal appearPercent, BigDecimal temporaryMeasuresPercent, UUID recruitmentId) {
+ super(TopicAppeal.TOPIC_APPEAL);
+
+ setIdTopicAppeal(idTopicAppeal);
+ setRegistration(registration);
+ setSabpoena(sabpoena);
+ setAppear(appear);
+ setTemporaryMeasures(temporaryMeasures);
+ setRecordingDate(recordingDate);
+ setRegistrationPercent(registrationPercent);
+ setSabpoenaPercent(sabpoenaPercent);
+ setAppearPercent(appearPercent);
+ setTemporaryMeasuresPercent(temporaryMeasuresPercent);
+ setRecruitmentId(recruitmentId);
+ resetChangedOnNotNull();
+ }
+}
diff --git a/backend/src/main/java/ervu_lkrp_ul/ervu_lkrp_ul/db_beans/public_/Keys.java b/backend/src/main/java/ervu_lkrp_ul/ervu_lkrp_ul/db_beans/public_/Keys.java
index bd83c472..2b603494 100644
--- a/backend/src/main/java/ervu_lkrp_ul/ervu_lkrp_ul/db_beans/public_/Keys.java
+++ b/backend/src/main/java/ervu_lkrp_ul/ervu_lkrp_ul/db_beans/public_/Keys.java
@@ -4,9 +4,13 @@
package ervu_lkrp_ul.ervu_lkrp_ul.db_beans.public_;
+import ervu_lkrp_ul.ervu_lkrp_ul.db_beans.public_.tables.Files;
import ervu_lkrp_ul.ervu_lkrp_ul.db_beans.public_.tables.InteractionLog;
+import ervu_lkrp_ul.ervu_lkrp_ul.db_beans.public_.tables.OkopfRecords;
import ervu_lkrp_ul.ervu_lkrp_ul.db_beans.public_.tables.OrgOkved;
+import ervu_lkrp_ul.ervu_lkrp_ul.db_beans.public_.tables.records.FilesRecord;
import ervu_lkrp_ul.ervu_lkrp_ul.db_beans.public_.tables.records.InteractionLogRecord;
+import ervu_lkrp_ul.ervu_lkrp_ul.db_beans.public_.tables.records.OkopfRecordsRecord;
import ervu_lkrp_ul.ervu_lkrp_ul.db_beans.public_.tables.records.OrgOkvedRecord;
import org.jooq.TableField;
@@ -26,6 +30,9 @@ public class Keys {
// UNIQUE and PRIMARY KEY definitions
// -------------------------------------------------------------------------
+ public static final UniqueKey FILES_PKEY = Internal.createUniqueKey(Files.FILES, DSL.name("files_pkey"), new TableField[] { Files.FILES.FILE_ID }, true);
public static final UniqueKey INTERACTION_LOG_PKEY = Internal.createUniqueKey(InteractionLog.INTERACTION_LOG, DSL.name("interaction_log_pkey"), new TableField[] { InteractionLog.INTERACTION_LOG.ID }, true);
+ public static final UniqueKey OKOPF_RECORDS_NAME_KEY = Internal.createUniqueKey(OkopfRecords.OKOPF_RECORDS, DSL.name("okopf_records_name_key"), new TableField[] { OkopfRecords.OKOPF_RECORDS.NAME }, true);
+ public static final UniqueKey OKOPF_RECORDS_PKEY = Internal.createUniqueKey(OkopfRecords.OKOPF_RECORDS, DSL.name("okopf_records_pkey"), new TableField[] { OkopfRecords.OKOPF_RECORDS.OKOPF_RECORDS_ID }, true);
public static final UniqueKey ORG_OKVED_PKEY = Internal.createUniqueKey(OrgOkved.ORG_OKVED, DSL.name("org_okved_pkey"), new TableField[] { OrgOkved.ORG_OKVED.ID }, true);
}
diff --git a/backend/src/main/java/ervu_lkrp_ul/ervu_lkrp_ul/db_beans/public_/Public.java b/backend/src/main/java/ervu_lkrp_ul/ervu_lkrp_ul/db_beans/public_/Public.java
index 5da7ba83..fe090649 100644
--- a/backend/src/main/java/ervu_lkrp_ul/ervu_lkrp_ul/db_beans/public_/Public.java
+++ b/backend/src/main/java/ervu_lkrp_ul/ervu_lkrp_ul/db_beans/public_/Public.java
@@ -5,7 +5,9 @@ package ervu_lkrp_ul.ervu_lkrp_ul.db_beans.public_;
import ervu_lkrp_ul.ervu_lkrp_ul.db_beans.DefaultCatalog;
+import ervu_lkrp_ul.ervu_lkrp_ul.db_beans.public_.tables.Files;
import ervu_lkrp_ul.ervu_lkrp_ul.db_beans.public_.tables.InteractionLog;
+import ervu_lkrp_ul.ervu_lkrp_ul.db_beans.public_.tables.OkopfRecords;
import ervu_lkrp_ul.ervu_lkrp_ul.db_beans.public_.tables.OrgOkved;
import java.util.Arrays;
@@ -29,11 +31,21 @@ public class Public extends SchemaImpl {
*/
public static final Public PUBLIC = new Public();
+ /**
+ * The table public.files.
+ */
+ public final Files FILES = Files.FILES;
+
/**
* The table public.interaction_log.
*/
public final InteractionLog INTERACTION_LOG = InteractionLog.INTERACTION_LOG;
+ /**
+ * The table public.okopf_records.
+ */
+ public final OkopfRecords OKOPF_RECORDS = OkopfRecords.OKOPF_RECORDS;
+
/**
* The table public.org_okved.
*/
@@ -55,7 +67,9 @@ public class Public extends SchemaImpl {
@Override
public final List> getTables() {
return Arrays.asList(
+ Files.FILES,
InteractionLog.INTERACTION_LOG,
+ OkopfRecords.OKOPF_RECORDS,
OrgOkved.ORG_OKVED
);
}
diff --git a/backend/src/main/java/ervu_lkrp_ul/ervu_lkrp_ul/db_beans/public_/Routines.java b/backend/src/main/java/ervu_lkrp_ul/ervu_lkrp_ul/db_beans/public_/Routines.java
new file mode 100644
index 00000000..97982c5c
--- /dev/null
+++ b/backend/src/main/java/ervu_lkrp_ul/ervu_lkrp_ul/db_beans/public_/Routines.java
@@ -0,0 +1,285 @@
+/*
+ * This file is generated by jOOQ.
+ */
+package ervu_lkrp_ul.ervu_lkrp_ul.db_beans.public_;
+
+
+import ervu_lkrp_ul.ervu_lkrp_ul.db_beans.public_.routines.UuidGenerateV1;
+import ervu_lkrp_ul.ervu_lkrp_ul.db_beans.public_.routines.UuidGenerateV1mc;
+import ervu_lkrp_ul.ervu_lkrp_ul.db_beans.public_.routines.UuidGenerateV3;
+import ervu_lkrp_ul.ervu_lkrp_ul.db_beans.public_.routines.UuidGenerateV4;
+import ervu_lkrp_ul.ervu_lkrp_ul.db_beans.public_.routines.UuidGenerateV5;
+import ervu_lkrp_ul.ervu_lkrp_ul.db_beans.public_.routines.UuidNil;
+import ervu_lkrp_ul.ervu_lkrp_ul.db_beans.public_.routines.UuidNsDns;
+import ervu_lkrp_ul.ervu_lkrp_ul.db_beans.public_.routines.UuidNsOid;
+import ervu_lkrp_ul.ervu_lkrp_ul.db_beans.public_.routines.UuidNsUrl;
+import ervu_lkrp_ul.ervu_lkrp_ul.db_beans.public_.routines.UuidNsX500;
+
+import java.util.UUID;
+
+import org.jooq.Configuration;
+import org.jooq.Field;
+
+
+/**
+ * Convenience access to all stored procedures and functions in public.
+ */
+@SuppressWarnings({ "all", "unchecked", "rawtypes" })
+public class Routines {
+
+ /**
+ * Call public.uuid_generate_v1
+ */
+ public static UUID uuidGenerateV1(
+ Configuration configuration
+ ) {
+ UuidGenerateV1 f = new UuidGenerateV1();
+
+ f.execute(configuration);
+ return f.getReturnValue();
+ }
+
+ /**
+ * Get public.uuid_generate_v1 as a field.
+ */
+ public static Field uuidGenerateV1() {
+ UuidGenerateV1 f = new UuidGenerateV1();
+
+ return f.asField();
+ }
+
+ /**
+ * Call public.uuid_generate_v1mc
+ */
+ public static UUID uuidGenerateV1mc(
+ Configuration configuration
+ ) {
+ UuidGenerateV1mc f = new UuidGenerateV1mc();
+
+ f.execute(configuration);
+ return f.getReturnValue();
+ }
+
+ /**
+ * Get public.uuid_generate_v1mc as a field.
+ */
+ public static Field uuidGenerateV1mc() {
+ UuidGenerateV1mc f = new UuidGenerateV1mc();
+
+ return f.asField();
+ }
+
+ /**
+ * Call public.uuid_generate_v3
+ */
+ public static UUID uuidGenerateV3(
+ Configuration configuration
+ , UUID namespace
+ , String name
+ ) {
+ UuidGenerateV3 f = new UuidGenerateV3();
+ f.setNamespace(namespace);
+ f.setName_(name);
+
+ f.execute(configuration);
+ return f.getReturnValue();
+ }
+
+ /**
+ * Get public.uuid_generate_v3 as a field.
+ */
+ public static Field uuidGenerateV3(
+ UUID namespace
+ , String name
+ ) {
+ UuidGenerateV3 f = new UuidGenerateV3();
+ f.setNamespace(namespace);
+ f.setName_(name);
+
+ return f.asField();
+ }
+
+ /**
+ * Get public.uuid_generate_v3 as a field.
+ */
+ public static Field uuidGenerateV3(
+ Field namespace
+ , Field name
+ ) {
+ UuidGenerateV3 f = new UuidGenerateV3();
+ f.setNamespace(namespace);
+ f.setName_(name);
+
+ return f.asField();
+ }
+
+ /**
+ * Call public.uuid_generate_v4
+ */
+ public static UUID uuidGenerateV4(
+ Configuration configuration
+ ) {
+ UuidGenerateV4 f = new UuidGenerateV4();
+
+ f.execute(configuration);
+ return f.getReturnValue();
+ }
+
+ /**
+ * Get public.uuid_generate_v4 as a field.
+ */
+ public static Field uuidGenerateV4() {
+ UuidGenerateV4 f = new UuidGenerateV4();
+
+ return f.asField();
+ }
+
+ /**
+ * Call public.uuid_generate_v5
+ */
+ public static UUID uuidGenerateV5(
+ Configuration configuration
+ , UUID namespace
+ , String name
+ ) {
+ UuidGenerateV5 f = new UuidGenerateV5();
+ f.setNamespace(namespace);
+ f.setName_(name);
+
+ f.execute(configuration);
+ return f.getReturnValue();
+ }
+
+ /**
+ * Get public.uuid_generate_v5 as a field.
+ */
+ public static Field uuidGenerateV5(
+ UUID namespace
+ , String name
+ ) {
+ UuidGenerateV5 f = new UuidGenerateV5();
+ f.setNamespace(namespace);
+ f.setName_(name);
+
+ return f.asField();
+ }
+
+ /**
+ * Get public.uuid_generate_v5 as a field.
+ */
+ public static Field uuidGenerateV5(
+ Field namespace
+ , Field name
+ ) {
+ UuidGenerateV5 f = new UuidGenerateV5();
+ f.setNamespace(namespace);
+ f.setName_(name);
+
+ return f.asField();
+ }
+
+ /**
+ * Call public.uuid_nil
+ */
+ public static UUID uuidNil(
+ Configuration configuration
+ ) {
+ UuidNil f = new UuidNil();
+
+ f.execute(configuration);
+ return f.getReturnValue();
+ }
+
+ /**
+ * Get public.uuid_nil as a field.
+ */
+ public static Field uuidNil() {
+ UuidNil f = new UuidNil();
+
+ return f.asField();
+ }
+
+ /**
+ * Call public.uuid_ns_dns
+ */
+ public static UUID uuidNsDns(
+ Configuration configuration
+ ) {
+ UuidNsDns f = new UuidNsDns();
+
+ f.execute(configuration);
+ return f.getReturnValue();
+ }
+
+ /**
+ * Get public.uuid_ns_dns as a field.
+ */
+ public static Field uuidNsDns() {
+ UuidNsDns f = new UuidNsDns();
+
+ return f.asField();
+ }
+
+ /**
+ * Call public.uuid_ns_oid
+ */
+ public static UUID uuidNsOid(
+ Configuration configuration
+ ) {
+ UuidNsOid f = new UuidNsOid();
+
+ f.execute(configuration);
+ return f.getReturnValue();
+ }
+
+ /**
+ * Get public.uuid_ns_oid as a field.
+ */
+ public static Field uuidNsOid() {
+ UuidNsOid f = new UuidNsOid();
+
+ return f.asField();
+ }
+
+ /**
+ * Call public.uuid_ns_url
+ */
+ public static UUID uuidNsUrl(
+ Configuration configuration
+ ) {
+ UuidNsUrl f = new UuidNsUrl();
+
+ f.execute(configuration);
+ return f.getReturnValue();
+ }
+
+ /**
+ * Get public.uuid_ns_url as a field.
+ */
+ public static Field uuidNsUrl() {
+ UuidNsUrl f = new UuidNsUrl();
+
+ return f.asField();
+ }
+
+ /**
+ * Call public.uuid_ns_x500
+ */
+ public static UUID uuidNsX500(
+ Configuration configuration
+ ) {
+ UuidNsX500 f = new UuidNsX500();
+
+ f.execute(configuration);
+ return f.getReturnValue();
+ }
+
+ /**
+ * Get public.uuid_ns_x500 as a field.
+ */
+ public static Field uuidNsX500() {
+ UuidNsX500 f = new UuidNsX500();
+
+ return f.asField();
+ }
+}
diff --git a/backend/src/main/java/ervu_lkrp_ul/ervu_lkrp_ul/db_beans/public_/Tables.java b/backend/src/main/java/ervu_lkrp_ul/ervu_lkrp_ul/db_beans/public_/Tables.java
index 9b2926fd..0f51d8da 100644
--- a/backend/src/main/java/ervu_lkrp_ul/ervu_lkrp_ul/db_beans/public_/Tables.java
+++ b/backend/src/main/java/ervu_lkrp_ul/ervu_lkrp_ul/db_beans/public_/Tables.java
@@ -4,7 +4,9 @@
package ervu_lkrp_ul.ervu_lkrp_ul.db_beans.public_;
+import ervu_lkrp_ul.ervu_lkrp_ul.db_beans.public_.tables.Files;
import ervu_lkrp_ul.ervu_lkrp_ul.db_beans.public_.tables.InteractionLog;
+import ervu_lkrp_ul.ervu_lkrp_ul.db_beans.public_.tables.OkopfRecords;
import ervu_lkrp_ul.ervu_lkrp_ul.db_beans.public_.tables.OrgOkved;
@@ -14,11 +16,21 @@ import ervu_lkrp_ul.ervu_lkrp_ul.db_beans.public_.tables.OrgOkved;
@SuppressWarnings({ "all", "unchecked", "rawtypes" })
public class Tables {
+ /**
+ * The table public.files.
+ */
+ public static final Files FILES = Files.FILES;
+
/**
* The table public.interaction_log.
*/
public static final InteractionLog INTERACTION_LOG = InteractionLog.INTERACTION_LOG;
+ /**
+ * The table public.okopf_records.
+ */
+ public static final OkopfRecords OKOPF_RECORDS = OkopfRecords.OKOPF_RECORDS;
+
/**
* The table public.org_okved.
*/
diff --git a/backend/src/main/java/ervu_lkrp_ul/ervu_lkrp_ul/db_beans/public_/routines/UuidGenerateV1.java b/backend/src/main/java/ervu_lkrp_ul/ervu_lkrp_ul/db_beans/public_/routines/UuidGenerateV1.java
new file mode 100644
index 00000000..ab81af12
--- /dev/null
+++ b/backend/src/main/java/ervu_lkrp_ul/ervu_lkrp_ul/db_beans/public_/routines/UuidGenerateV1.java
@@ -0,0 +1,38 @@
+/*
+ * This file is generated by jOOQ.
+ */
+package ervu_lkrp_ul.ervu_lkrp_ul.db_beans.public_.routines;
+
+
+import ervu_lkrp_ul.ervu_lkrp_ul.db_beans.public_.Public;
+
+import java.util.UUID;
+
+import org.jooq.Parameter;
+import org.jooq.impl.AbstractRoutine;
+import org.jooq.impl.Internal;
+import org.jooq.impl.SQLDataType;
+
+
+/**
+ * This class is generated by jOOQ.
+ */
+@SuppressWarnings({ "all", "unchecked", "rawtypes" })
+public class UuidGenerateV1 extends AbstractRoutine {
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * The parameter public.uuid_generate_v1.RETURN_VALUE.
+ */
+ public static final Parameter RETURN_VALUE = Internal.createParameter("RETURN_VALUE", SQLDataType.UUID, false, false);
+
+ /**
+ * Create a new routine call instance
+ */
+ public UuidGenerateV1() {
+ super("uuid_generate_v1", Public.PUBLIC, SQLDataType.UUID);
+
+ setReturnParameter(RETURN_VALUE);
+ }
+}
diff --git a/backend/src/main/java/ervu_lkrp_ul/ervu_lkrp_ul/db_beans/public_/routines/UuidGenerateV1mc.java b/backend/src/main/java/ervu_lkrp_ul/ervu_lkrp_ul/db_beans/public_/routines/UuidGenerateV1mc.java
new file mode 100644
index 00000000..0e38a803
--- /dev/null
+++ b/backend/src/main/java/ervu_lkrp_ul/ervu_lkrp_ul/db_beans/public_/routines/UuidGenerateV1mc.java
@@ -0,0 +1,38 @@
+/*
+ * This file is generated by jOOQ.
+ */
+package ervu_lkrp_ul.ervu_lkrp_ul.db_beans.public_.routines;
+
+
+import ervu_lkrp_ul.ervu_lkrp_ul.db_beans.public_.Public;
+
+import java.util.UUID;
+
+import org.jooq.Parameter;
+import org.jooq.impl.AbstractRoutine;
+import org.jooq.impl.Internal;
+import org.jooq.impl.SQLDataType;
+
+
+/**
+ * This class is generated by jOOQ.
+ */
+@SuppressWarnings({ "all", "unchecked", "rawtypes" })
+public class UuidGenerateV1mc extends AbstractRoutine {
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * The parameter public.uuid_generate_v1mc.RETURN_VALUE.
+ */
+ public static final Parameter RETURN_VALUE = Internal.createParameter("RETURN_VALUE", SQLDataType.UUID, false, false);
+
+ /**
+ * Create a new routine call instance
+ */
+ public UuidGenerateV1mc() {
+ super("uuid_generate_v1mc", Public.PUBLIC, SQLDataType.UUID);
+
+ setReturnParameter(RETURN_VALUE);
+ }
+}
diff --git a/backend/src/main/java/ervu_lkrp_ul/ervu_lkrp_ul/db_beans/public_/routines/UuidGenerateV3.java b/backend/src/main/java/ervu_lkrp_ul/ervu_lkrp_ul/db_beans/public_/routines/UuidGenerateV3.java
new file mode 100644
index 00000000..62fd1b52
--- /dev/null
+++ b/backend/src/main/java/ervu_lkrp_ul/ervu_lkrp_ul/db_beans/public_/routines/UuidGenerateV3.java
@@ -0,0 +1,81 @@
+/*
+ * This file is generated by jOOQ.
+ */
+package ervu_lkrp_ul.ervu_lkrp_ul.db_beans.public_.routines;
+
+
+import ervu_lkrp_ul.ervu_lkrp_ul.db_beans.public_.Public;
+
+import java.util.UUID;
+
+import org.jooq.Field;
+import org.jooq.Parameter;
+import org.jooq.impl.AbstractRoutine;
+import org.jooq.impl.Internal;
+import org.jooq.impl.SQLDataType;
+
+
+/**
+ * This class is generated by jOOQ.
+ */
+@SuppressWarnings({ "all", "unchecked", "rawtypes" })
+public class UuidGenerateV3 extends AbstractRoutine {
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * The parameter public.uuid_generate_v3.RETURN_VALUE.
+ */
+ public static final Parameter RETURN_VALUE = Internal.createParameter("RETURN_VALUE", SQLDataType.UUID, false, false);
+
+ /**
+ * The parameter public.uuid_generate_v3.namespace.
+ */
+ public static final Parameter NAMESPACE = Internal.createParameter("namespace", SQLDataType.UUID, false, false);
+
+ /**
+ * The parameter public.uuid_generate_v3.name.
+ */
+ public static final Parameter NAME = Internal.createParameter("name", SQLDataType.CLOB, false, false);
+
+ /**
+ * Create a new routine call instance
+ */
+ public UuidGenerateV3() {
+ super("uuid_generate_v3", Public.PUBLIC, SQLDataType.UUID);
+
+ setReturnParameter(RETURN_VALUE);
+ addInParameter(NAMESPACE);
+ addInParameter(NAME);
+ }
+
+ /**
+ * Set the namespace parameter IN value to the routine
+ */
+ public void setNamespace(UUID value) {
+ setValue(NAMESPACE, value);
+ }
+
+ /**
+ * Set the namespace parameter to the function to be used with
+ * a {@link org.jooq.Select} statement
+ */
+ public void setNamespace(Field field) {
+ setField(NAMESPACE, field);
+ }
+
+ /**
+ * Set the name parameter IN value to the routine
+ */
+ public void setName_(String value) {
+ setValue(NAME, value);
+ }
+
+ /**
+ * Set the name parameter to the function to be used with a
+ * {@link org.jooq.Select} statement
+ */
+ public void setName_(Field field) {
+ setField(NAME, field);
+ }
+}
diff --git a/backend/src/main/java/ervu_lkrp_ul/ervu_lkrp_ul/db_beans/public_/routines/UuidGenerateV4.java b/backend/src/main/java/ervu_lkrp_ul/ervu_lkrp_ul/db_beans/public_/routines/UuidGenerateV4.java
new file mode 100644
index 00000000..c64a6de3
--- /dev/null
+++ b/backend/src/main/java/ervu_lkrp_ul/ervu_lkrp_ul/db_beans/public_/routines/UuidGenerateV4.java
@@ -0,0 +1,38 @@
+/*
+ * This file is generated by jOOQ.
+ */
+package ervu_lkrp_ul.ervu_lkrp_ul.db_beans.public_.routines;
+
+
+import ervu_lkrp_ul.ervu_lkrp_ul.db_beans.public_.Public;
+
+import java.util.UUID;
+
+import org.jooq.Parameter;
+import org.jooq.impl.AbstractRoutine;
+import org.jooq.impl.Internal;
+import org.jooq.impl.SQLDataType;
+
+
+/**
+ * This class is generated by jOOQ.
+ */
+@SuppressWarnings({ "all", "unchecked", "rawtypes" })
+public class UuidGenerateV4 extends AbstractRoutine {
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * The parameter public.uuid_generate_v4.RETURN_VALUE.
+ */
+ public static final Parameter RETURN_VALUE = Internal.createParameter("RETURN_VALUE", SQLDataType.UUID, false, false);
+
+ /**
+ * Create a new routine call instance
+ */
+ public UuidGenerateV4() {
+ super("uuid_generate_v4", Public.PUBLIC, SQLDataType.UUID);
+
+ setReturnParameter(RETURN_VALUE);
+ }
+}
diff --git a/backend/src/main/java/ervu_lkrp_ul/ervu_lkrp_ul/db_beans/public_/routines/UuidGenerateV5.java b/backend/src/main/java/ervu_lkrp_ul/ervu_lkrp_ul/db_beans/public_/routines/UuidGenerateV5.java
new file mode 100644
index 00000000..c55a4499
--- /dev/null
+++ b/backend/src/main/java/ervu_lkrp_ul/ervu_lkrp_ul/db_beans/public_/routines/UuidGenerateV5.java
@@ -0,0 +1,81 @@
+/*
+ * This file is generated by jOOQ.
+ */
+package ervu_lkrp_ul.ervu_lkrp_ul.db_beans.public_.routines;
+
+
+import ervu_lkrp_ul.ervu_lkrp_ul.db_beans.public_.Public;
+
+import java.util.UUID;
+
+import org.jooq.Field;
+import org.jooq.Parameter;
+import org.jooq.impl.AbstractRoutine;
+import org.jooq.impl.Internal;
+import org.jooq.impl.SQLDataType;
+
+
+/**
+ * This class is generated by jOOQ.
+ */
+@SuppressWarnings({ "all", "unchecked", "rawtypes" })
+public class UuidGenerateV5 extends AbstractRoutine {
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * The parameter public.uuid_generate_v5.RETURN_VALUE.
+ */
+ public static final Parameter RETURN_VALUE = Internal.createParameter("RETURN_VALUE", SQLDataType.UUID, false, false);
+
+ /**
+ * The parameter public.uuid_generate_v5.namespace.
+ */
+ public static final Parameter NAMESPACE = Internal.createParameter("namespace", SQLDataType.UUID, false, false);
+
+ /**
+ * The parameter public.uuid_generate_v5.name.
+ */
+ public static final Parameter NAME = Internal.createParameter("name", SQLDataType.CLOB, false, false);
+
+ /**
+ * Create a new routine call instance
+ */
+ public UuidGenerateV5() {
+ super("uuid_generate_v5", Public.PUBLIC, SQLDataType.UUID);
+
+ setReturnParameter(RETURN_VALUE);
+ addInParameter(NAMESPACE);
+ addInParameter(NAME);
+ }
+
+ /**
+ * Set the namespace parameter IN value to the routine
+ */
+ public void setNamespace(UUID value) {
+ setValue(NAMESPACE, value);
+ }
+
+ /**
+ * Set the namespace parameter to the function to be used with
+ * a {@link org.jooq.Select} statement
+ */
+ public void setNamespace(Field field) {
+ setField(NAMESPACE, field);
+ }
+
+ /**
+ * Set the name parameter IN value to the routine
+ */
+ public void setName_(String value) {
+ setValue(NAME, value);
+ }
+
+ /**
+ * Set the name parameter to the function to be used with a
+ * {@link org.jooq.Select} statement
+ */
+ public void setName_(Field field) {
+ setField(NAME, field);
+ }
+}
diff --git a/backend/src/main/java/ervu_lkrp_ul/ervu_lkrp_ul/db_beans/public_/routines/UuidNil.java b/backend/src/main/java/ervu_lkrp_ul/ervu_lkrp_ul/db_beans/public_/routines/UuidNil.java
new file mode 100644
index 00000000..436ce4ec
--- /dev/null
+++ b/backend/src/main/java/ervu_lkrp_ul/ervu_lkrp_ul/db_beans/public_/routines/UuidNil.java
@@ -0,0 +1,38 @@
+/*
+ * This file is generated by jOOQ.
+ */
+package ervu_lkrp_ul.ervu_lkrp_ul.db_beans.public_.routines;
+
+
+import ervu_lkrp_ul.ervu_lkrp_ul.db_beans.public_.Public;
+
+import java.util.UUID;
+
+import org.jooq.Parameter;
+import org.jooq.impl.AbstractRoutine;
+import org.jooq.impl.Internal;
+import org.jooq.impl.SQLDataType;
+
+
+/**
+ * This class is generated by jOOQ.
+ */
+@SuppressWarnings({ "all", "unchecked", "rawtypes" })
+public class UuidNil extends AbstractRoutine {
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * The parameter public.uuid_nil.RETURN_VALUE.
+ */
+ public static final Parameter RETURN_VALUE = Internal.createParameter("RETURN_VALUE", SQLDataType.UUID, false, false);
+
+ /**
+ * Create a new routine call instance
+ */
+ public UuidNil() {
+ super("uuid_nil", Public.PUBLIC, SQLDataType.UUID);
+
+ setReturnParameter(RETURN_VALUE);
+ }
+}
diff --git a/backend/src/main/java/ervu_lkrp_ul/ervu_lkrp_ul/db_beans/public_/routines/UuidNsDns.java b/backend/src/main/java/ervu_lkrp_ul/ervu_lkrp_ul/db_beans/public_/routines/UuidNsDns.java
new file mode 100644
index 00000000..c94a3cc7
--- /dev/null
+++ b/backend/src/main/java/ervu_lkrp_ul/ervu_lkrp_ul/db_beans/public_/routines/UuidNsDns.java
@@ -0,0 +1,38 @@
+/*
+ * This file is generated by jOOQ.
+ */
+package ervu_lkrp_ul.ervu_lkrp_ul.db_beans.public_.routines;
+
+
+import ervu_lkrp_ul.ervu_lkrp_ul.db_beans.public_.Public;
+
+import java.util.UUID;
+
+import org.jooq.Parameter;
+import org.jooq.impl.AbstractRoutine;
+import org.jooq.impl.Internal;
+import org.jooq.impl.SQLDataType;
+
+
+/**
+ * This class is generated by jOOQ.
+ */
+@SuppressWarnings({ "all", "unchecked", "rawtypes" })
+public class UuidNsDns extends AbstractRoutine {
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * The parameter public.uuid_ns_dns.RETURN_VALUE.
+ */
+ public static final Parameter RETURN_VALUE = Internal.createParameter("RETURN_VALUE", SQLDataType.UUID, false, false);
+
+ /**
+ * Create a new routine call instance
+ */
+ public UuidNsDns() {
+ super("uuid_ns_dns", Public.PUBLIC, SQLDataType.UUID);
+
+ setReturnParameter(RETURN_VALUE);
+ }
+}
diff --git a/backend/src/main/java/ervu_lkrp_ul/ervu_lkrp_ul/db_beans/public_/routines/UuidNsOid.java b/backend/src/main/java/ervu_lkrp_ul/ervu_lkrp_ul/db_beans/public_/routines/UuidNsOid.java
new file mode 100644
index 00000000..e901b279
--- /dev/null
+++ b/backend/src/main/java/ervu_lkrp_ul/ervu_lkrp_ul/db_beans/public_/routines/UuidNsOid.java
@@ -0,0 +1,38 @@
+/*
+ * This file is generated by jOOQ.
+ */
+package ervu_lkrp_ul.ervu_lkrp_ul.db_beans.public_.routines;
+
+
+import ervu_lkrp_ul.ervu_lkrp_ul.db_beans.public_.Public;
+
+import java.util.UUID;
+
+import org.jooq.Parameter;
+import org.jooq.impl.AbstractRoutine;
+import org.jooq.impl.Internal;
+import org.jooq.impl.SQLDataType;
+
+
+/**
+ * This class is generated by jOOQ.
+ */
+@SuppressWarnings({ "all", "unchecked", "rawtypes" })
+public class UuidNsOid extends AbstractRoutine {
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * The parameter public.uuid_ns_oid.RETURN_VALUE.
+ */
+ public static final Parameter RETURN_VALUE = Internal.createParameter("RETURN_VALUE", SQLDataType.UUID, false, false);
+
+ /**
+ * Create a new routine call instance
+ */
+ public UuidNsOid() {
+ super("uuid_ns_oid", Public.PUBLIC, SQLDataType.UUID);
+
+ setReturnParameter(RETURN_VALUE);
+ }
+}
diff --git a/backend/src/main/java/ervu_lkrp_ul/ervu_lkrp_ul/db_beans/public_/routines/UuidNsUrl.java b/backend/src/main/java/ervu_lkrp_ul/ervu_lkrp_ul/db_beans/public_/routines/UuidNsUrl.java
new file mode 100644
index 00000000..4c2b21ef
--- /dev/null
+++ b/backend/src/main/java/ervu_lkrp_ul/ervu_lkrp_ul/db_beans/public_/routines/UuidNsUrl.java
@@ -0,0 +1,38 @@
+/*
+ * This file is generated by jOOQ.
+ */
+package ervu_lkrp_ul.ervu_lkrp_ul.db_beans.public_.routines;
+
+
+import ervu_lkrp_ul.ervu_lkrp_ul.db_beans.public_.Public;
+
+import java.util.UUID;
+
+import org.jooq.Parameter;
+import org.jooq.impl.AbstractRoutine;
+import org.jooq.impl.Internal;
+import org.jooq.impl.SQLDataType;
+
+
+/**
+ * This class is generated by jOOQ.
+ */
+@SuppressWarnings({ "all", "unchecked", "rawtypes" })
+public class UuidNsUrl extends AbstractRoutine {
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * The parameter public.uuid_ns_url.RETURN_VALUE.
+ */
+ public static final Parameter RETURN_VALUE = Internal.createParameter("RETURN_VALUE", SQLDataType.UUID, false, false);
+
+ /**
+ * Create a new routine call instance
+ */
+ public UuidNsUrl() {
+ super("uuid_ns_url", Public.PUBLIC, SQLDataType.UUID);
+
+ setReturnParameter(RETURN_VALUE);
+ }
+}
diff --git a/backend/src/main/java/ervu_lkrp_ul/ervu_lkrp_ul/db_beans/public_/routines/UuidNsX500.java b/backend/src/main/java/ervu_lkrp_ul/ervu_lkrp_ul/db_beans/public_/routines/UuidNsX500.java
new file mode 100644
index 00000000..7dfd358a
--- /dev/null
+++ b/backend/src/main/java/ervu_lkrp_ul/ervu_lkrp_ul/db_beans/public_/routines/UuidNsX500.java
@@ -0,0 +1,38 @@
+/*
+ * This file is generated by jOOQ.
+ */
+package ervu_lkrp_ul.ervu_lkrp_ul.db_beans.public_.routines;
+
+
+import ervu_lkrp_ul.ervu_lkrp_ul.db_beans.public_.Public;
+
+import java.util.UUID;
+
+import org.jooq.Parameter;
+import org.jooq.impl.AbstractRoutine;
+import org.jooq.impl.Internal;
+import org.jooq.impl.SQLDataType;
+
+
+/**
+ * This class is generated by jOOQ.
+ */
+@SuppressWarnings({ "all", "unchecked", "rawtypes" })
+public class UuidNsX500 extends AbstractRoutine {
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * The parameter public.uuid_ns_x500.RETURN_VALUE.
+ */
+ public static final Parameter RETURN_VALUE = Internal.createParameter("RETURN_VALUE", SQLDataType.UUID, false, false);
+
+ /**
+ * Create a new routine call instance
+ */
+ public UuidNsX500() {
+ super("uuid_ns_x500", Public.PUBLIC, SQLDataType.UUID);
+
+ setReturnParameter(RETURN_VALUE);
+ }
+}
diff --git a/backend/src/main/java/ervu_lkrp_ul/ervu_lkrp_ul/db_beans/public_/tables/Files.java b/backend/src/main/java/ervu_lkrp_ul/ervu_lkrp_ul/db_beans/public_/tables/Files.java
new file mode 100644
index 00000000..50a0e23a
--- /dev/null
+++ b/backend/src/main/java/ervu_lkrp_ul/ervu_lkrp_ul/db_beans/public_/tables/Files.java
@@ -0,0 +1,239 @@
+/*
+ * This file is generated by jOOQ.
+ */
+package ervu_lkrp_ul.ervu_lkrp_ul.db_beans.public_.tables;
+
+
+import ervu_lkrp_ul.ervu_lkrp_ul.db_beans.public_.Keys;
+import ervu_lkrp_ul.ervu_lkrp_ul.db_beans.public_.Public;
+import ervu_lkrp_ul.ervu_lkrp_ul.db_beans.public_.tables.records.FilesRecord;
+
+import java.util.Collection;
+
+import org.jooq.Condition;
+import org.jooq.Field;
+import org.jooq.Identity;
+import org.jooq.Name;
+import org.jooq.PlainSQL;
+import org.jooq.QueryPart;
+import org.jooq.SQL;
+import org.jooq.Schema;
+import org.jooq.Select;
+import org.jooq.Stringly;
+import org.jooq.Table;
+import org.jooq.TableField;
+import org.jooq.TableOptions;
+import org.jooq.UniqueKey;
+import org.jooq.impl.DSL;
+import org.jooq.impl.SQLDataType;
+import org.jooq.impl.TableImpl;
+
+
+/**
+ * This class is generated by jOOQ.
+ */
+@SuppressWarnings({ "all", "unchecked", "rawtypes" })
+public class Files extends TableImpl {
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * The reference instance of public.files
+ */
+ public static final Files FILES = new Files();
+
+ /**
+ * The class holding records for this type
+ */
+ @Override
+ public Class getRecordType() {
+ return FilesRecord.class;
+ }
+
+ /**
+ * The column public.files.file_id.
+ */
+ public final TableField FILE_ID = createField(DSL.name("file_id"), SQLDataType.BIGINT.nullable(false).identity(true), this, "");
+
+ /**
+ * The column public.files.file.
+ */
+ public final TableField FILE = createField(DSL.name("file"), SQLDataType.BLOB, this, "");
+
+ /**
+ * The column public.files.file_name.
+ */
+ public final TableField FILE_NAME = createField(DSL.name("file_name"), SQLDataType.VARCHAR(10000), this, "");
+
+ /**
+ * The column public.files.interaction_log_id.
+ */
+ public final TableField INTERACTION_LOG_ID = createField(DSL.name("interaction_log_id"), SQLDataType.BIGINT, this, "");
+
+ private Files(Name alias, Table aliased) {
+ this(alias, aliased, (Field>[]) null, null);
+ }
+
+ private Files(Name alias, Table aliased, Field>[] parameters, Condition where) {
+ super(alias, null, aliased, parameters, DSL.comment(""), TableOptions.table(), where);
+ }
+
+ /**
+ * Create an aliased public.files table reference
+ */
+ public Files(String alias) {
+ this(DSL.name(alias), FILES);
+ }
+
+ /**
+ * Create an aliased public.files table reference
+ */
+ public Files(Name alias) {
+ this(alias, FILES);
+ }
+
+ /**
+ * Create a public.files table reference
+ */
+ public Files() {
+ this(DSL.name("files"), null);
+ }
+
+ @Override
+ public Schema getSchema() {
+ return aliased() ? null : Public.PUBLIC;
+ }
+
+ @Override
+ public Identity getIdentity() {
+ return (Identity) super.getIdentity();
+ }
+
+ @Override
+ public UniqueKey getPrimaryKey() {
+ return Keys.FILES_PKEY;
+ }
+
+ @Override
+ public Files as(String alias) {
+ return new Files(DSL.name(alias), this);
+ }
+
+ @Override
+ public Files as(Name alias) {
+ return new Files(alias, this);
+ }
+
+ @Override
+ public Files as(Table> alias) {
+ return new Files(alias.getQualifiedName(), this);
+ }
+
+ /**
+ * Rename this table
+ */
+ @Override
+ public Files rename(String name) {
+ return new Files(DSL.name(name), null);
+ }
+
+ /**
+ * Rename this table
+ */
+ @Override
+ public Files rename(Name name) {
+ return new Files(name, null);
+ }
+
+ /**
+ * Rename this table
+ */
+ @Override
+ public Files rename(Table> name) {
+ return new Files(name.getQualifiedName(), null);
+ }
+
+ /**
+ * Create an inline derived table from this table
+ */
+ @Override
+ public Files where(Condition condition) {
+ return new Files(getQualifiedName(), aliased() ? this : null, null, condition);
+ }
+
+ /**
+ * Create an inline derived table from this table
+ */
+ @Override
+ public Files where(Collection extends Condition> conditions) {
+ return where(DSL.and(conditions));
+ }
+
+ /**
+ * Create an inline derived table from this table
+ */
+ @Override
+ public Files where(Condition... conditions) {
+ return where(DSL.and(conditions));
+ }
+
+ /**
+ * Create an inline derived table from this table
+ */
+ @Override
+ public Files where(Field condition) {
+ return where(DSL.condition(condition));
+ }
+
+ /**
+ * Create an inline derived table from this table
+ */
+ @Override
+ @PlainSQL
+ public Files where(SQL condition) {
+ return where(DSL.condition(condition));
+ }
+
+ /**
+ * Create an inline derived table from this table
+ */
+ @Override
+ @PlainSQL
+ public Files where(@Stringly.SQL String condition) {
+ return where(DSL.condition(condition));
+ }
+
+ /**
+ * Create an inline derived table from this table
+ */
+ @Override
+ @PlainSQL
+ public Files where(@Stringly.SQL String condition, Object... binds) {
+ return where(DSL.condition(condition, binds));
+ }
+
+ /**
+ * Create an inline derived table from this table
+ */
+ @Override
+ @PlainSQL
+ public Files where(@Stringly.SQL String condition, QueryPart... parts) {
+ return where(DSL.condition(condition, parts));
+ }
+
+ /**
+ * Create an inline derived table from this table
+ */
+ @Override
+ public Files whereExists(Select> select) {
+ return where(DSL.exists(select));
+ }
+
+ /**
+ * Create an inline derived table from this table
+ */
+ @Override
+ public Files whereNotExists(Select> select) {
+ return where(DSL.notExists(select));
+ }
+}
diff --git a/backend/src/main/java/ervu_lkrp_ul/ervu_lkrp_ul/db_beans/public_/tables/InteractionLog.java b/backend/src/main/java/ervu_lkrp_ul/ervu_lkrp_ul/db_beans/public_/tables/InteractionLog.java
index cba66658..68d8ac43 100644
--- a/backend/src/main/java/ervu_lkrp_ul/ervu_lkrp_ul/db_beans/public_/tables/InteractionLog.java
+++ b/backend/src/main/java/ervu_lkrp_ul/ervu_lkrp_ul/db_beans/public_/tables/InteractionLog.java
@@ -61,11 +61,6 @@ public class InteractionLog extends TableImpl {
*/
public final TableField SENT_DATE = createField(DSL.name("sent_date"), SQLDataType.TIMESTAMP(0), this, "");
- /**
- * The column public.interaction_log.file_name.
- */
- public final TableField FILE_NAME = createField(DSL.name("file_name"), SQLDataType.CLOB, this, "");
-
/**
* The column public.interaction_log.form.
*/
@@ -91,6 +86,21 @@ public class InteractionLog extends TableImpl {
*/
public final TableField RECORDS_ACCEPTED = createField(DSL.name("records_accepted"), SQLDataType.INTEGER, this, "");
+ /**
+ * The column public.interaction_log.file_name.
+ */
+ public final TableField FILE_NAME = createField(DSL.name("file_name"), SQLDataType.CLOB, this, "");
+
+ /**
+ * The column public.interaction_log.file_id.
+ */
+ public final TableField FILE_ID = createField(DSL.name("file_id"), SQLDataType.VARCHAR(36), this, "");
+
+ /**
+ * The column public.interaction_log.ervu_id.
+ */
+ public final TableField ERVU_ID = createField(DSL.name("ervu_id"), SQLDataType.VARCHAR(36), this, "");
+
private InteractionLog(Name alias, Table aliased) {
this(alias, aliased, (Field>[]) null, null);
}
diff --git a/backend/src/main/java/ervu_lkrp_ul/ervu_lkrp_ul/db_beans/public_/tables/OkopfRecords.java b/backend/src/main/java/ervu_lkrp_ul/ervu_lkrp_ul/db_beans/public_/tables/OkopfRecords.java
new file mode 100644
index 00000000..67e06a92
--- /dev/null
+++ b/backend/src/main/java/ervu_lkrp_ul/ervu_lkrp_ul/db_beans/public_/tables/OkopfRecords.java
@@ -0,0 +1,235 @@
+/*
+ * This file is generated by jOOQ.
+ */
+package ervu_lkrp_ul.ervu_lkrp_ul.db_beans.public_.tables;
+
+
+import ervu_lkrp_ul.ervu_lkrp_ul.db_beans.public_.Keys;
+import ervu_lkrp_ul.ervu_lkrp_ul.db_beans.public_.Public;
+import ervu_lkrp_ul.ervu_lkrp_ul.db_beans.public_.tables.records.OkopfRecordsRecord;
+
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.List;
+
+import org.jooq.Condition;
+import org.jooq.Field;
+import org.jooq.Name;
+import org.jooq.PlainSQL;
+import org.jooq.QueryPart;
+import org.jooq.SQL;
+import org.jooq.Schema;
+import org.jooq.Select;
+import org.jooq.Stringly;
+import org.jooq.Table;
+import org.jooq.TableField;
+import org.jooq.TableOptions;
+import org.jooq.UniqueKey;
+import org.jooq.impl.DSL;
+import org.jooq.impl.SQLDataType;
+import org.jooq.impl.TableImpl;
+
+
+/**
+ * This class is generated by jOOQ.
+ */
+@SuppressWarnings({ "all", "unchecked", "rawtypes" })
+public class OkopfRecords extends TableImpl {
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * The reference instance of public.okopf_records
+ */
+ public static final OkopfRecords OKOPF_RECORDS = new OkopfRecords();
+
+ /**
+ * The class holding records for this type
+ */
+ @Override
+ public Class getRecordType() {
+ return OkopfRecordsRecord.class;
+ }
+
+ /**
+ * The column public.okopf_records.okopf_records_id.
+ */
+ public final TableField OKOPF_RECORDS_ID = createField(DSL.name("okopf_records_id"), SQLDataType.VARCHAR.nullable(false), this, "");
+
+ /**
+ * The column public.okopf_records.name.
+ */
+ public final TableField NAME = createField(DSL.name("name"), SQLDataType.VARCHAR, this, "");
+
+ /**
+ * The column public.okopf_records.version.
+ */
+ public final TableField VERSION = createField(DSL.name("version"), SQLDataType.INTEGER.nullable(false), this, "");
+
+ private OkopfRecords(Name alias, Table aliased) {
+ this(alias, aliased, (Field>[]) null, null);
+ }
+
+ private OkopfRecords(Name alias, Table aliased, Field>[] parameters, Condition where) {
+ super(alias, null, aliased, parameters, DSL.comment(""), TableOptions.table(), where);
+ }
+
+ /**
+ * Create an aliased public.okopf_records table reference
+ */
+ public OkopfRecords(String alias) {
+ this(DSL.name(alias), OKOPF_RECORDS);
+ }
+
+ /**
+ * Create an aliased public.okopf_records table reference
+ */
+ public OkopfRecords(Name alias) {
+ this(alias, OKOPF_RECORDS);
+ }
+
+ /**
+ * Create a public.okopf_records table reference
+ */
+ public OkopfRecords() {
+ this(DSL.name("okopf_records"), null);
+ }
+
+ @Override
+ public Schema getSchema() {
+ return aliased() ? null : Public.PUBLIC;
+ }
+
+ @Override
+ public UniqueKey getPrimaryKey() {
+ return Keys.OKOPF_RECORDS_PKEY;
+ }
+
+ @Override
+ public List> getUniqueKeys() {
+ return Arrays.asList(Keys.OKOPF_RECORDS_NAME_KEY);
+ }
+
+ @Override
+ public OkopfRecords as(String alias) {
+ return new OkopfRecords(DSL.name(alias), this);
+ }
+
+ @Override
+ public OkopfRecords as(Name alias) {
+ return new OkopfRecords(alias, this);
+ }
+
+ @Override
+ public OkopfRecords as(Table> alias) {
+ return new OkopfRecords(alias.getQualifiedName(), this);
+ }
+
+ /**
+ * Rename this table
+ */
+ @Override
+ public OkopfRecords rename(String name) {
+ return new OkopfRecords(DSL.name(name), null);
+ }
+
+ /**
+ * Rename this table
+ */
+ @Override
+ public OkopfRecords rename(Name name) {
+ return new OkopfRecords(name, null);
+ }
+
+ /**
+ * Rename this table
+ */
+ @Override
+ public OkopfRecords rename(Table> name) {
+ return new OkopfRecords(name.getQualifiedName(), null);
+ }
+
+ /**
+ * Create an inline derived table from this table
+ */
+ @Override
+ public OkopfRecords where(Condition condition) {
+ return new OkopfRecords(getQualifiedName(), aliased() ? this : null, null, condition);
+ }
+
+ /**
+ * Create an inline derived table from this table
+ */
+ @Override
+ public OkopfRecords where(Collection extends Condition> conditions) {
+ return where(DSL.and(conditions));
+ }
+
+ /**
+ * Create an inline derived table from this table
+ */
+ @Override
+ public OkopfRecords where(Condition... conditions) {
+ return where(DSL.and(conditions));
+ }
+
+ /**
+ * Create an inline derived table from this table
+ */
+ @Override
+ public OkopfRecords where(Field condition) {
+ return where(DSL.condition(condition));
+ }
+
+ /**
+ * Create an inline derived table from this table
+ */
+ @Override
+ @PlainSQL
+ public OkopfRecords where(SQL condition) {
+ return where(DSL.condition(condition));
+ }
+
+ /**
+ * Create an inline derived table from this table
+ */
+ @Override
+ @PlainSQL
+ public OkopfRecords where(@Stringly.SQL String condition) {
+ return where(DSL.condition(condition));
+ }
+
+ /**
+ * Create an inline derived table from this table
+ */
+ @Override
+ @PlainSQL
+ public OkopfRecords where(@Stringly.SQL String condition, Object... binds) {
+ return where(DSL.condition(condition, binds));
+ }
+
+ /**
+ * Create an inline derived table from this table
+ */
+ @Override
+ @PlainSQL
+ public OkopfRecords where(@Stringly.SQL String condition, QueryPart... parts) {
+ return where(DSL.condition(condition, parts));
+ }
+
+ /**
+ * Create an inline derived table from this table
+ */
+ @Override
+ public OkopfRecords whereExists(Select> select) {
+ return where(DSL.exists(select));
+ }
+
+ /**
+ * Create an inline derived table from this table
+ */
+ @Override
+ public OkopfRecords whereNotExists(Select> select) {
+ return where(DSL.notExists(select));
+ }
+}
diff --git a/backend/src/main/java/ervu_lkrp_ul/ervu_lkrp_ul/db_beans/public_/tables/records/FilesRecord.java b/backend/src/main/java/ervu_lkrp_ul/ervu_lkrp_ul/db_beans/public_/tables/records/FilesRecord.java
new file mode 100644
index 00000000..504b1ec2
--- /dev/null
+++ b/backend/src/main/java/ervu_lkrp_ul/ervu_lkrp_ul/db_beans/public_/tables/records/FilesRecord.java
@@ -0,0 +1,109 @@
+/*
+ * This file is generated by jOOQ.
+ */
+package ervu_lkrp_ul.ervu_lkrp_ul.db_beans.public_.tables.records;
+
+
+import ervu_lkrp_ul.ervu_lkrp_ul.db_beans.public_.tables.Files;
+
+import org.jooq.Record1;
+import org.jooq.impl.UpdatableRecordImpl;
+
+
+/**
+ * This class is generated by jOOQ.
+ */
+@SuppressWarnings({ "all", "unchecked", "rawtypes" })
+public class FilesRecord extends UpdatableRecordImpl {
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * Setter for public.files.file_id.
+ */
+ public void setFileId(Long value) {
+ set(0, value);
+ }
+
+ /**
+ * Getter for public.files.file_id.
+ */
+ public Long getFileId() {
+ return (Long) get(0);
+ }
+
+ /**
+ * Setter for public.files.file.
+ */
+ public void setFile(byte[] value) {
+ set(1, value);
+ }
+
+ /**
+ * Getter for public.files.file.
+ */
+ public byte[] getFile() {
+ return (byte[]) get(1);
+ }
+
+ /**
+ * Setter for public.files.file_name.
+ */
+ public void setFileName(String value) {
+ set(2, value);
+ }
+
+ /**
+ * Getter for public.files.file_name.
+ */
+ public String getFileName() {
+ return (String) get(2);
+ }
+
+ /**
+ * Setter for public.files.interaction_log_id.
+ */
+ public void setInteractionLogId(Long value) {
+ set(3, value);
+ }
+
+ /**
+ * Getter for public.files.interaction_log_id.
+ */
+ public Long getInteractionLogId() {
+ return (Long) get(3);
+ }
+
+ // -------------------------------------------------------------------------
+ // Primary key information
+ // -------------------------------------------------------------------------
+
+ @Override
+ public Record1 key() {
+ return (Record1) super.key();
+ }
+
+ // -------------------------------------------------------------------------
+ // Constructors
+ // -------------------------------------------------------------------------
+
+ /**
+ * Create a detached FilesRecord
+ */
+ public FilesRecord() {
+ super(Files.FILES);
+ }
+
+ /**
+ * Create a detached, initialised FilesRecord
+ */
+ public FilesRecord(Long fileId, byte[] file, String fileName, Long interactionLogId) {
+ super(Files.FILES);
+
+ setFileId(fileId);
+ setFile(file);
+ setFileName(fileName);
+ setInteractionLogId(interactionLogId);
+ resetChangedOnNotNull();
+ }
+}
diff --git a/backend/src/main/java/ervu_lkrp_ul/ervu_lkrp_ul/db_beans/public_/tables/records/InteractionLogRecord.java b/backend/src/main/java/ervu_lkrp_ul/ervu_lkrp_ul/db_beans/public_/tables/records/InteractionLogRecord.java
index b6c2f853..10553186 100644
--- a/backend/src/main/java/ervu_lkrp_ul/ervu_lkrp_ul/db_beans/public_/tables/records/InteractionLogRecord.java
+++ b/backend/src/main/java/ervu_lkrp_ul/ervu_lkrp_ul/db_beans/public_/tables/records/InteractionLogRecord.java
@@ -48,88 +48,116 @@ public class InteractionLogRecord extends UpdatableRecordImplpublic.interaction_log.file_name.
- */
- public void setFileName(String value) {
- set(2, value);
- }
-
- /**
- * Getter for public.interaction_log.file_name.
- */
- public String getFileName() {
- return (String) get(2);
- }
-
/**
* Setter for public.interaction_log.form.
*/
public void setForm(String value) {
- set(3, value);
+ set(2, value);
}
/**
* Getter for public.interaction_log.form.
*/
public String getForm() {
- return (String) get(3);
+ return (String) get(2);
}
/**
* Setter for public.interaction_log.sender.
*/
public void setSender(String value) {
- set(4, value);
+ set(3, value);
}
/**
* Getter for public.interaction_log.sender.
*/
public String getSender() {
- return (String) get(4);
+ return (String) get(3);
}
/**
* Setter for public.interaction_log.status.
*/
public void setStatus(String value) {
- set(5, value);
+ set(4, value);
}
/**
* Getter for public.interaction_log.status.
*/
public String getStatus() {
- return (String) get(5);
+ return (String) get(4);
}
/**
* Setter for public.interaction_log.records_sent.
*/
public void setRecordsSent(Integer value) {
- set(6, value);
+ set(5, value);
}
/**
* Getter for public.interaction_log.records_sent.
*/
public Integer getRecordsSent() {
- return (Integer) get(6);
+ return (Integer) get(5);
}
/**
* Setter for public.interaction_log.records_accepted.
*/
public void setRecordsAccepted(Integer value) {
- set(7, value);
+ set(6, value);
}
/**
* Getter for public.interaction_log.records_accepted.
*/
public Integer getRecordsAccepted() {
- return (Integer) get(7);
+ return (Integer) get(6);
+ }
+
+ /**
+ * Setter for public.interaction_log.file_name.
+ */
+ public void setFileName(String value) {
+ set(7, value);
+ }
+
+ /**
+ * Getter for public.interaction_log.file_name.
+ */
+ public String getFileName() {
+ return (String) get(7);
+ }
+
+ /**
+ * Setter for public.interaction_log.file_id.
+ */
+ public void setFileId(String value) {
+ set(8, value);
+ }
+
+ /**
+ * Getter for public.interaction_log.file_id.
+ */
+ public String getFileId() {
+ return (String) get(8);
+ }
+
+ /**
+ * Setter for public.interaction_log.ervu_id.
+ */
+ public void setErvuId(String value) {
+ set(9, value);
+ }
+
+ /**
+ * Getter for public.interaction_log.ervu_id.
+ */
+ public String getErvuId() {
+ return (String) get(9);
}
// -------------------------------------------------------------------------
@@ -155,17 +183,19 @@ public class InteractionLogRecord extends UpdatableRecordImpl {
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * Setter for public.okopf_records.okopf_records_id.
+ */
+ public void setOkopfRecordsId(String value) {
+ set(0, value);
+ }
+
+ /**
+ * Getter for public.okopf_records.okopf_records_id.
+ */
+ public String getOkopfRecordsId() {
+ return (String) get(0);
+ }
+
+ /**
+ * Setter for public.okopf_records.name.
+ */
+ public void setName(String value) {
+ set(1, value);
+ }
+
+ /**
+ * Getter for public.okopf_records.name.
+ */
+ public String getName() {
+ return (String) get(1);
+ }
+
+ /**
+ * Setter for public.okopf_records.version.
+ */
+ public void setVersion(Integer value) {
+ set(2, value);
+ }
+
+ /**
+ * Getter for public.okopf_records.version.
+ */
+ public Integer getVersion() {
+ return (Integer) get(2);
+ }
+
+ // -------------------------------------------------------------------------
+ // Primary key information
+ // -------------------------------------------------------------------------
+
+ @Override
+ public Record1 key() {
+ return (Record1) super.key();
+ }
+
+ // -------------------------------------------------------------------------
+ // Constructors
+ // -------------------------------------------------------------------------
+
+ /**
+ * Create a detached OkopfRecordsRecord
+ */
+ public OkopfRecordsRecord() {
+ super(OkopfRecords.OKOPF_RECORDS);
+ }
+
+ /**
+ * Create a detached, initialised OkopfRecordsRecord
+ */
+ public OkopfRecordsRecord(String okopfRecordsId, String name, Integer version) {
+ super(OkopfRecords.OKOPF_RECORDS);
+
+ setOkopfRecordsId(okopfRecordsId);
+ setName(name);
+ setVersion(version);
+ resetChangedOnNotNull();
+ }
+}
diff --git a/backend/src/main/java/ervu_lkrp_ul/ervu_lkrp_ul/db_beans/ratings/Keys.java b/backend/src/main/java/ervu_lkrp_ul/ervu_lkrp_ul/db_beans/ratings/Keys.java
new file mode 100644
index 00000000..db51bd83
--- /dev/null
+++ b/backend/src/main/java/ervu_lkrp_ul/ervu_lkrp_ul/db_beans/ratings/Keys.java
@@ -0,0 +1,34 @@
+/*
+ * This file is generated by jOOQ.
+ */
+package ervu_lkrp_ul.ervu_lkrp_ul.db_beans.ratings;
+
+
+import ervu_lkrp_ul.ervu_lkrp_ul.db_beans.ratings.tables.AppearSubppoena;
+import ervu_lkrp_ul.ervu_lkrp_ul.db_beans.ratings.tables.ConsiderationComplaint;
+import ervu_lkrp_ul.ervu_lkrp_ul.db_beans.ratings.tables.Recruitment;
+import ervu_lkrp_ul.ervu_lkrp_ul.db_beans.ratings.tables.records.AppearSubppoenaRecord;
+import ervu_lkrp_ul.ervu_lkrp_ul.db_beans.ratings.tables.records.ConsiderationComplaintRecord;
+import ervu_lkrp_ul.ervu_lkrp_ul.db_beans.ratings.tables.records.RecruitmentRecord;
+
+import org.jooq.TableField;
+import org.jooq.UniqueKey;
+import org.jooq.impl.DSL;
+import org.jooq.impl.Internal;
+
+
+/**
+ * A class modelling foreign key relationships and constraints of tables in
+ * ratings.
+ */
+@SuppressWarnings({ "all", "unchecked", "rawtypes" })
+public class Keys {
+
+ // -------------------------------------------------------------------------
+ // UNIQUE and PRIMARY KEY definitions
+ // -------------------------------------------------------------------------
+
+ public static final UniqueKey PK_APPEAR_SUBPPOENA = Internal.createUniqueKey(AppearSubppoena.APPEAR_SUBPPOENA, DSL.name("pk_appear_subppoena"), new TableField[] { AppearSubppoena.APPEAR_SUBPPOENA.ID_APPEAR_SUBPPOENA }, true);
+ public static final UniqueKey PK_CONSIDERATION_COMPLAINT = Internal.createUniqueKey(ConsiderationComplaint.CONSIDERATION_COMPLAINT, DSL.name("pk_consideration_complaint"), new TableField[] { ConsiderationComplaint.CONSIDERATION_COMPLAINT.ID_CONSIDERATION_COMPLAINT }, true);
+ public static final UniqueKey PK_RECRUITMENT = Internal.createUniqueKey(Recruitment.RECRUITMENT, DSL.name("pk_recruitment"), new TableField[] { Recruitment.RECRUITMENT.ID_RECRUITMENT }, true);
+}
diff --git a/backend/src/main/java/ervu_lkrp_ul/ervu_lkrp_ul/db_beans/ratings/Ratings.java b/backend/src/main/java/ervu_lkrp_ul/ervu_lkrp_ul/db_beans/ratings/Ratings.java
new file mode 100644
index 00000000..a04d3f34
--- /dev/null
+++ b/backend/src/main/java/ervu_lkrp_ul/ervu_lkrp_ul/db_beans/ratings/Ratings.java
@@ -0,0 +1,69 @@
+/*
+ * This file is generated by jOOQ.
+ */
+package ervu_lkrp_ul.ervu_lkrp_ul.db_beans.ratings;
+
+
+import ervu_lkrp_ul.ervu_lkrp_ul.db_beans.DefaultCatalog;
+import ervu_lkrp_ul.ervu_lkrp_ul.db_beans.ratings.tables.AppearSubppoena;
+import ervu_lkrp_ul.ervu_lkrp_ul.db_beans.ratings.tables.ConsiderationComplaint;
+import ervu_lkrp_ul.ervu_lkrp_ul.db_beans.ratings.tables.Recruitment;
+
+import java.util.Arrays;
+import java.util.List;
+
+import org.jooq.Catalog;
+import org.jooq.Table;
+import org.jooq.impl.SchemaImpl;
+
+
+/**
+ * This class is generated by jOOQ.
+ */
+@SuppressWarnings({ "all", "unchecked", "rawtypes" })
+public class Ratings extends SchemaImpl {
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * The reference instance of ratings
+ */
+ public static final Ratings RATINGS = new Ratings();
+
+ /**
+ * Явка по повестке уровень РФ
+ */
+ public final AppearSubppoena APPEAR_SUBPPOENA = AppearSubppoena.APPEAR_SUBPPOENA;
+
+ /**
+ * Рассмотрение жалоб уровень РФ
+ */
+ public final ConsiderationComplaint CONSIDERATION_COMPLAINT = ConsiderationComplaint.CONSIDERATION_COMPLAINT;
+
+ /**
+ * Призыв уровень РФ
+ */
+ public final Recruitment RECRUITMENT = Recruitment.RECRUITMENT;
+
+ /**
+ * No further instances allowed
+ */
+ private Ratings() {
+ super("ratings", null);
+ }
+
+
+ @Override
+ public Catalog getCatalog() {
+ return DefaultCatalog.DEFAULT_CATALOG;
+ }
+
+ @Override
+ public final List> getTables() {
+ return Arrays.asList(
+ AppearSubppoena.APPEAR_SUBPPOENA,
+ ConsiderationComplaint.CONSIDERATION_COMPLAINT,
+ Recruitment.RECRUITMENT
+ );
+ }
+}
diff --git a/backend/src/main/java/ervu_lkrp_ul/ervu_lkrp_ul/db_beans/ratings/Tables.java b/backend/src/main/java/ervu_lkrp_ul/ervu_lkrp_ul/db_beans/ratings/Tables.java
new file mode 100644
index 00000000..91935a45
--- /dev/null
+++ b/backend/src/main/java/ervu_lkrp_ul/ervu_lkrp_ul/db_beans/ratings/Tables.java
@@ -0,0 +1,32 @@
+/*
+ * This file is generated by jOOQ.
+ */
+package ervu_lkrp_ul.ervu_lkrp_ul.db_beans.ratings;
+
+
+import ervu_lkrp_ul.ervu_lkrp_ul.db_beans.ratings.tables.AppearSubppoena;
+import ervu_lkrp_ul.ervu_lkrp_ul.db_beans.ratings.tables.ConsiderationComplaint;
+import ervu_lkrp_ul.ervu_lkrp_ul.db_beans.ratings.tables.Recruitment;
+
+
+/**
+ * Convenience access to all tables in ratings.
+ */
+@SuppressWarnings({ "all", "unchecked", "rawtypes" })
+public class Tables {
+
+ /**
+ * Явка по повестке уровень РФ
+ */
+ public static final AppearSubppoena APPEAR_SUBPPOENA = AppearSubppoena.APPEAR_SUBPPOENA;
+
+ /**
+ * Рассмотрение жалоб уровень РФ
+ */
+ public static final ConsiderationComplaint CONSIDERATION_COMPLAINT = ConsiderationComplaint.CONSIDERATION_COMPLAINT;
+
+ /**
+ * Призыв уровень РФ
+ */
+ public static final Recruitment RECRUITMENT = Recruitment.RECRUITMENT;
+}
diff --git a/backend/src/main/java/ervu_lkrp_ul/ervu_lkrp_ul/db_beans/ratings/tables/AppearSubppoena.java b/backend/src/main/java/ervu_lkrp_ul/ervu_lkrp_ul/db_beans/ratings/tables/AppearSubppoena.java
new file mode 100644
index 00000000..1a22250c
--- /dev/null
+++ b/backend/src/main/java/ervu_lkrp_ul/ervu_lkrp_ul/db_beans/ratings/tables/AppearSubppoena.java
@@ -0,0 +1,255 @@
+/*
+ * This file is generated by jOOQ.
+ */
+package ervu_lkrp_ul.ervu_lkrp_ul.db_beans.ratings.tables;
+
+
+import ervu_lkrp_ul.ervu_lkrp_ul.db_beans.ratings.Keys;
+import ervu_lkrp_ul.ervu_lkrp_ul.db_beans.ratings.Ratings;
+import ervu_lkrp_ul.ervu_lkrp_ul.db_beans.ratings.tables.records.AppearSubppoenaRecord;
+
+import java.math.BigDecimal;
+import java.sql.Date;
+import java.util.Collection;
+import java.util.UUID;
+
+import org.jooq.Condition;
+import org.jooq.Field;
+import org.jooq.Identity;
+import org.jooq.Name;
+import org.jooq.PlainSQL;
+import org.jooq.QueryPart;
+import org.jooq.SQL;
+import org.jooq.Schema;
+import org.jooq.Select;
+import org.jooq.Stringly;
+import org.jooq.Table;
+import org.jooq.TableField;
+import org.jooq.TableOptions;
+import org.jooq.UniqueKey;
+import org.jooq.impl.DSL;
+import org.jooq.impl.SQLDataType;
+import org.jooq.impl.TableImpl;
+
+
+/**
+ * Явка по повестке уровень РФ
+ */
+@SuppressWarnings({ "all", "unchecked", "rawtypes" })
+public class AppearSubppoena extends TableImpl {
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * The reference instance of ratings.appear_subppoena
+ */
+ public static final AppearSubppoena APPEAR_SUBPPOENA = new AppearSubppoena();
+
+ /**
+ * The class holding records for this type
+ */
+ @Override
+ public Class getRecordType() {
+ return AppearSubppoenaRecord.class;
+ }
+
+ /**
+ * The column ratings.appear_subppoena.id_appear_subppoena.
+ */
+ public final TableField ID_APPEAR_SUBPPOENA = createField(DSL.name("id_appear_subppoena"), SQLDataType.BIGINT.nullable(false).identity(true), this, "");
+
+ /**
+ * The column ratings.appear_subppoena.id_region.
+ */
+ public final TableField ID_REGION = createField(DSL.name("id_region"), SQLDataType.INTEGER, this, "");
+
+ /**
+ * The column ratings.appear_subppoena.appear_mil_com. Явка в
+ * военкомат
+ */
+ public final TableField APPEAR_MIL_COM = createField(DSL.name("appear_mil_com"), SQLDataType.NUMERIC, this, "Явка в военкомат");
+
+ /**
+ * The column ratings.appear_subppoena.recording_date. Дата
+ * записи
+ */
+ public final TableField RECORDING_DATE = createField(DSL.name("recording_date"), SQLDataType.DATE, this, "Дата записи");
+
+ /**
+ * The column ratings.appear_subppoena.appear_mil_com_percent.
+ * Явка в военкомат в процентах
+ */
+ public final TableField APPEAR_MIL_COM_PERCENT = createField(DSL.name("appear_mil_com_percent"), SQLDataType.NUMERIC, this, "Явка в военкомат в процентах");
+
+ /**
+ * The column ratings.appear_subppoena.recruitment_id.
+ */
+ public final TableField RECRUITMENT_ID = createField(DSL.name("recruitment_id"), SQLDataType.UUID, this, "");
+
+ private AppearSubppoena(Name alias, Table aliased) {
+ this(alias, aliased, (Field>[]) null, null);
+ }
+
+ private AppearSubppoena(Name alias, Table aliased, Field>[] parameters, Condition where) {
+ super(alias, null, aliased, parameters, DSL.comment("Явка по повестке уровень РФ"), TableOptions.table(), where);
+ }
+
+ /**
+ * Create an aliased ratings.appear_subppoena table reference
+ */
+ public AppearSubppoena(String alias) {
+ this(DSL.name(alias), APPEAR_SUBPPOENA);
+ }
+
+ /**
+ * Create an aliased ratings.appear_subppoena table reference
+ */
+ public AppearSubppoena(Name alias) {
+ this(alias, APPEAR_SUBPPOENA);
+ }
+
+ /**
+ * Create a ratings.appear_subppoena table reference
+ */
+ public AppearSubppoena() {
+ this(DSL.name("appear_subppoena"), null);
+ }
+
+ @Override
+ public Schema getSchema() {
+ return aliased() ? null : Ratings.RATINGS;
+ }
+
+ @Override
+ public Identity getIdentity() {
+ return (Identity) super.getIdentity();
+ }
+
+ @Override
+ public UniqueKey getPrimaryKey() {
+ return Keys.PK_APPEAR_SUBPPOENA;
+ }
+
+ @Override
+ public AppearSubppoena as(String alias) {
+ return new AppearSubppoena(DSL.name(alias), this);
+ }
+
+ @Override
+ public AppearSubppoena as(Name alias) {
+ return new AppearSubppoena(alias, this);
+ }
+
+ @Override
+ public AppearSubppoena as(Table> alias) {
+ return new AppearSubppoena(alias.getQualifiedName(), this);
+ }
+
+ /**
+ * Rename this table
+ */
+ @Override
+ public AppearSubppoena rename(String name) {
+ return new AppearSubppoena(DSL.name(name), null);
+ }
+
+ /**
+ * Rename this table
+ */
+ @Override
+ public AppearSubppoena rename(Name name) {
+ return new AppearSubppoena(name, null);
+ }
+
+ /**
+ * Rename this table
+ */
+ @Override
+ public AppearSubppoena rename(Table> name) {
+ return new AppearSubppoena(name.getQualifiedName(), null);
+ }
+
+ /**
+ * Create an inline derived table from this table
+ */
+ @Override
+ public AppearSubppoena where(Condition condition) {
+ return new AppearSubppoena(getQualifiedName(), aliased() ? this : null, null, condition);
+ }
+
+ /**
+ * Create an inline derived table from this table
+ */
+ @Override
+ public AppearSubppoena where(Collection extends Condition> conditions) {
+ return where(DSL.and(conditions));
+ }
+
+ /**
+ * Create an inline derived table from this table
+ */
+ @Override
+ public AppearSubppoena where(Condition... conditions) {
+ return where(DSL.and(conditions));
+ }
+
+ /**
+ * Create an inline derived table from this table
+ */
+ @Override
+ public AppearSubppoena where(Field condition) {
+ return where(DSL.condition(condition));
+ }
+
+ /**
+ * Create an inline derived table from this table
+ */
+ @Override
+ @PlainSQL
+ public AppearSubppoena where(SQL condition) {
+ return where(DSL.condition(condition));
+ }
+
+ /**
+ * Create an inline derived table from this table
+ */
+ @Override
+ @PlainSQL
+ public AppearSubppoena where(@Stringly.SQL String condition) {
+ return where(DSL.condition(condition));
+ }
+
+ /**
+ * Create an inline derived table from this table
+ */
+ @Override
+ @PlainSQL
+ public AppearSubppoena where(@Stringly.SQL String condition, Object... binds) {
+ return where(DSL.condition(condition, binds));
+ }
+
+ /**
+ * Create an inline derived table from this table
+ */
+ @Override
+ @PlainSQL
+ public AppearSubppoena where(@Stringly.SQL String condition, QueryPart... parts) {
+ return where(DSL.condition(condition, parts));
+ }
+
+ /**
+ * Create an inline derived table from this table
+ */
+ @Override
+ public AppearSubppoena whereExists(Select> select) {
+ return where(DSL.exists(select));
+ }
+
+ /**
+ * Create an inline derived table from this table
+ */
+ @Override
+ public AppearSubppoena whereNotExists(Select> select) {
+ return where(DSL.notExists(select));
+ }
+}
diff --git a/backend/src/main/java/ervu_lkrp_ul/ervu_lkrp_ul/db_beans/ratings/tables/ConsiderationComplaint.java b/backend/src/main/java/ervu_lkrp_ul/ervu_lkrp_ul/db_beans/ratings/tables/ConsiderationComplaint.java
new file mode 100644
index 00000000..632f2b81
--- /dev/null
+++ b/backend/src/main/java/ervu_lkrp_ul/ervu_lkrp_ul/db_beans/ratings/tables/ConsiderationComplaint.java
@@ -0,0 +1,260 @@
+/*
+ * This file is generated by jOOQ.
+ */
+package ervu_lkrp_ul.ervu_lkrp_ul.db_beans.ratings.tables;
+
+
+import ervu_lkrp_ul.ervu_lkrp_ul.db_beans.ratings.Keys;
+import ervu_lkrp_ul.ervu_lkrp_ul.db_beans.ratings.Ratings;
+import ervu_lkrp_ul.ervu_lkrp_ul.db_beans.ratings.tables.records.ConsiderationComplaintRecord;
+
+import java.math.BigDecimal;
+import java.sql.Date;
+import java.util.Collection;
+import java.util.UUID;
+
+import org.jooq.Condition;
+import org.jooq.Field;
+import org.jooq.Identity;
+import org.jooq.Name;
+import org.jooq.PlainSQL;
+import org.jooq.QueryPart;
+import org.jooq.SQL;
+import org.jooq.Schema;
+import org.jooq.Select;
+import org.jooq.Stringly;
+import org.jooq.Table;
+import org.jooq.TableField;
+import org.jooq.TableOptions;
+import org.jooq.UniqueKey;
+import org.jooq.impl.DSL;
+import org.jooq.impl.SQLDataType;
+import org.jooq.impl.TableImpl;
+
+
+/**
+ * Рассмотрение жалоб уровень РФ
+ */
+@SuppressWarnings({ "all", "unchecked", "rawtypes" })
+public class ConsiderationComplaint extends TableImpl {
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * The reference instance of ratings.consideration_complaint
+ */
+ public static final ConsiderationComplaint CONSIDERATION_COMPLAINT = new ConsiderationComplaint();
+
+ /**
+ * The class holding records for this type
+ */
+ @Override
+ public Class getRecordType() {
+ return ConsiderationComplaintRecord.class;
+ }
+
+ /**
+ * The column
+ * ratings.consideration_complaint.id_consideration_complaint.
+ */
+ public final TableField ID_CONSIDERATION_COMPLAINT = createField(DSL.name("id_consideration_complaint"), SQLDataType.BIGINT.nullable(false).identity(true), this, "");
+
+ /**
+ * The column ratings.consideration_complaint.id_region.
+ */
+ public final TableField ID_REGION = createField(DSL.name("id_region"), SQLDataType.INTEGER, this, "");
+
+ /**
+ * The column
+ * ratings.consideration_complaint.consideration_complaint.
+ * Рассмотрение жалоб
+ */
+ public final TableField CONSIDERATION_COMPLAINT_ = createField(DSL.name("consideration_complaint"), SQLDataType.NUMERIC, this, "Рассмотрение жалоб");
+
+ /**
+ * The column ratings.consideration_complaint.recording_date.
+ * Дата записи
+ */
+ public final TableField RECORDING_DATE = createField(DSL.name("recording_date"), SQLDataType.DATE, this, "Дата записи");
+
+ /**
+ * The column
+ * ratings.consideration_complaint.consideration_complaint_percent.
+ * Рассмотрение жалоб в процентах
+ */
+ public final TableField CONSIDERATION_COMPLAINT_PERCENT = createField(DSL.name("consideration_complaint_percent"), SQLDataType.NUMERIC, this, "Рассмотрение жалоб в процентах");
+
+ /**
+ * The column ratings.consideration_complaint.recruitment_id.
+ */
+ public final TableField RECRUITMENT_ID = createField(DSL.name("recruitment_id"), SQLDataType.UUID, this, "");
+
+ private ConsiderationComplaint(Name alias, Table aliased) {
+ this(alias, aliased, (Field>[]) null, null);
+ }
+
+ private ConsiderationComplaint(Name alias, Table aliased, Field>[] parameters, Condition where) {
+ super(alias, null, aliased, parameters, DSL.comment("Рассмотрение жалоб уровень РФ"), TableOptions.table(), where);
+ }
+
+ /**
+ * Create an aliased ratings.consideration_complaint table
+ * reference
+ */
+ public ConsiderationComplaint(String alias) {
+ this(DSL.name(alias), CONSIDERATION_COMPLAINT);
+ }
+
+ /**
+ * Create an aliased ratings.consideration_complaint table
+ * reference
+ */
+ public ConsiderationComplaint(Name alias) {
+ this(alias, CONSIDERATION_COMPLAINT);
+ }
+
+ /**
+ * Create a ratings.consideration_complaint table reference
+ */
+ public ConsiderationComplaint() {
+ this(DSL.name("consideration_complaint"), null);
+ }
+
+ @Override
+ public Schema getSchema() {
+ return aliased() ? null : Ratings.RATINGS;
+ }
+
+ @Override
+ public Identity getIdentity() {
+ return (Identity) super.getIdentity();
+ }
+
+ @Override
+ public UniqueKey getPrimaryKey() {
+ return Keys.PK_CONSIDERATION_COMPLAINT;
+ }
+
+ @Override
+ public ConsiderationComplaint as(String alias) {
+ return new ConsiderationComplaint(DSL.name(alias), this);
+ }
+
+ @Override
+ public ConsiderationComplaint as(Name alias) {
+ return new ConsiderationComplaint(alias, this);
+ }
+
+ @Override
+ public ConsiderationComplaint as(Table> alias) {
+ return new ConsiderationComplaint(alias.getQualifiedName(), this);
+ }
+
+ /**
+ * Rename this table
+ */
+ @Override
+ public ConsiderationComplaint rename(String name) {
+ return new ConsiderationComplaint(DSL.name(name), null);
+ }
+
+ /**
+ * Rename this table
+ */
+ @Override
+ public ConsiderationComplaint rename(Name name) {
+ return new ConsiderationComplaint(name, null);
+ }
+
+ /**
+ * Rename this table
+ */
+ @Override
+ public ConsiderationComplaint rename(Table> name) {
+ return new ConsiderationComplaint(name.getQualifiedName(), null);
+ }
+
+ /**
+ * Create an inline derived table from this table
+ */
+ @Override
+ public ConsiderationComplaint where(Condition condition) {
+ return new ConsiderationComplaint(getQualifiedName(), aliased() ? this : null, null, condition);
+ }
+
+ /**
+ * Create an inline derived table from this table
+ */
+ @Override
+ public ConsiderationComplaint where(Collection extends Condition> conditions) {
+ return where(DSL.and(conditions));
+ }
+
+ /**
+ * Create an inline derived table from this table
+ */
+ @Override
+ public ConsiderationComplaint where(Condition... conditions) {
+ return where(DSL.and(conditions));
+ }
+
+ /**
+ * Create an inline derived table from this table
+ */
+ @Override
+ public ConsiderationComplaint where(Field condition) {
+ return where(DSL.condition(condition));
+ }
+
+ /**
+ * Create an inline derived table from this table
+ */
+ @Override
+ @PlainSQL
+ public ConsiderationComplaint where(SQL condition) {
+ return where(DSL.condition(condition));
+ }
+
+ /**
+ * Create an inline derived table from this table
+ */
+ @Override
+ @PlainSQL
+ public ConsiderationComplaint where(@Stringly.SQL String condition) {
+ return where(DSL.condition(condition));
+ }
+
+ /**
+ * Create an inline derived table from this table
+ */
+ @Override
+ @PlainSQL
+ public ConsiderationComplaint where(@Stringly.SQL String condition, Object... binds) {
+ return where(DSL.condition(condition, binds));
+ }
+
+ /**
+ * Create an inline derived table from this table
+ */
+ @Override
+ @PlainSQL
+ public ConsiderationComplaint where(@Stringly.SQL String condition, QueryPart... parts) {
+ return where(DSL.condition(condition, parts));
+ }
+
+ /**
+ * Create an inline derived table from this table
+ */
+ @Override
+ public ConsiderationComplaint whereExists(Select> select) {
+ return where(DSL.exists(select));
+ }
+
+ /**
+ * Create an inline derived table from this table
+ */
+ @Override
+ public ConsiderationComplaint whereNotExists(Select> select) {
+ return where(DSL.notExists(select));
+ }
+}
diff --git a/backend/src/main/java/ervu_lkrp_ul/ervu_lkrp_ul/db_beans/ratings/tables/Recruitment.java b/backend/src/main/java/ervu_lkrp_ul/ervu_lkrp_ul/db_beans/ratings/tables/Recruitment.java
new file mode 100644
index 00000000..f557c1d8
--- /dev/null
+++ b/backend/src/main/java/ervu_lkrp_ul/ervu_lkrp_ul/db_beans/ratings/tables/Recruitment.java
@@ -0,0 +1,259 @@
+/*
+ * This file is generated by jOOQ.
+ */
+package ervu_lkrp_ul.ervu_lkrp_ul.db_beans.ratings.tables;
+
+
+import ervu_lkrp_ul.ervu_lkrp_ul.db_beans.ratings.Keys;
+import ervu_lkrp_ul.ervu_lkrp_ul.db_beans.ratings.Ratings;
+import ervu_lkrp_ul.ervu_lkrp_ul.db_beans.ratings.tables.records.RecruitmentRecord;
+
+import java.math.BigDecimal;
+import java.sql.Date;
+import java.util.Collection;
+import java.util.UUID;
+
+import org.jooq.Condition;
+import org.jooq.Field;
+import org.jooq.Identity;
+import org.jooq.Name;
+import org.jooq.PlainSQL;
+import org.jooq.QueryPart;
+import org.jooq.SQL;
+import org.jooq.Schema;
+import org.jooq.Select;
+import org.jooq.Stringly;
+import org.jooq.Table;
+import org.jooq.TableField;
+import org.jooq.TableOptions;
+import org.jooq.UniqueKey;
+import org.jooq.impl.DSL;
+import org.jooq.impl.SQLDataType;
+import org.jooq.impl.TableImpl;
+
+
+/**
+ * Призыв уровень РФ
+ */
+@SuppressWarnings({ "all", "unchecked", "rawtypes" })
+public class Recruitment extends TableImpl {
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * The reference instance of ratings.recruitment
+ */
+ public static final Recruitment RECRUITMENT = new Recruitment();
+
+ /**
+ * The class holding records for this type
+ */
+ @Override
+ public Class getRecordType() {
+ return RecruitmentRecord.class;
+ }
+
+ /**
+ * The column ratings.recruitment.id_recruitment.
+ */
+ public final TableField ID_RECRUITMENT = createField(DSL.name("id_recruitment"), SQLDataType.BIGINT.nullable(false).identity(true), this, "");
+
+ /**
+ * The column ratings.recruitment.id_region.
+ */
+ public final TableField ID_REGION = createField(DSL.name("id_region"), SQLDataType.INTEGER, this, "");
+
+ /**
+ * The column ratings.recruitment.execution. Исполнение плана
+ * призыва
+ */
+ public final TableField EXECUTION = createField(DSL.name("execution"), SQLDataType.NUMERIC, this, "Исполнение плана призыва");
+
+ /**
+ * The column ratings.recruitment.spring_autumn. Осень/весна
+ */
+ public final TableField SPRING_AUTUMN = createField(DSL.name("spring_autumn"), SQLDataType.CLOB, this, "Осень/весна");
+
+ /**
+ * The column ratings.recruitment.recording_date. Дата записи
+ */
+ public final TableField RECORDING_DATE = createField(DSL.name("recording_date"), SQLDataType.DATE, this, "Дата записи");
+
+ /**
+ * The column ratings.recruitment.execution_percent. Исолнение
+ * плана призыва в процентах
+ */
+ public final TableField EXECUTION_PERCENT = createField(DSL.name("execution_percent"), SQLDataType.NUMERIC, this, "Исолнение плана призыва в процентах");
+
+ /**
+ * The column ratings.recruitment.recruitment_id.
+ */
+ public final TableField RECRUITMENT_ID = createField(DSL.name("recruitment_id"), SQLDataType.UUID, this, "");
+
+ private Recruitment(Name alias, Table aliased) {
+ this(alias, aliased, (Field>[]) null, null);
+ }
+
+ private Recruitment(Name alias, Table aliased, Field>[] parameters, Condition where) {
+ super(alias, null, aliased, parameters, DSL.comment("Призыв уровень РФ"), TableOptions.table(), where);
+ }
+
+ /**
+ * Create an aliased ratings.recruitment table reference
+ */
+ public Recruitment(String alias) {
+ this(DSL.name(alias), RECRUITMENT);
+ }
+
+ /**
+ * Create an aliased ratings.recruitment table reference
+ */
+ public Recruitment(Name alias) {
+ this(alias, RECRUITMENT);
+ }
+
+ /**
+ * Create a ratings.recruitment table reference
+ */
+ public Recruitment() {
+ this(DSL.name("recruitment"), null);
+ }
+
+ @Override
+ public Schema getSchema() {
+ return aliased() ? null : Ratings.RATINGS;
+ }
+
+ @Override
+ public Identity getIdentity() {
+ return (Identity) super.getIdentity();
+ }
+
+ @Override
+ public UniqueKey getPrimaryKey() {
+ return Keys.PK_RECRUITMENT;
+ }
+
+ @Override
+ public Recruitment as(String alias) {
+ return new Recruitment(DSL.name(alias), this);
+ }
+
+ @Override
+ public Recruitment as(Name alias) {
+ return new Recruitment(alias, this);
+ }
+
+ @Override
+ public Recruitment as(Table> alias) {
+ return new Recruitment(alias.getQualifiedName(), this);
+ }
+
+ /**
+ * Rename this table
+ */
+ @Override
+ public Recruitment rename(String name) {
+ return new Recruitment(DSL.name(name), null);
+ }
+
+ /**
+ * Rename this table
+ */
+ @Override
+ public Recruitment rename(Name name) {
+ return new Recruitment(name, null);
+ }
+
+ /**
+ * Rename this table
+ */
+ @Override
+ public Recruitment rename(Table> name) {
+ return new Recruitment(name.getQualifiedName(), null);
+ }
+
+ /**
+ * Create an inline derived table from this table
+ */
+ @Override
+ public Recruitment where(Condition condition) {
+ return new Recruitment(getQualifiedName(), aliased() ? this : null, null, condition);
+ }
+
+ /**
+ * Create an inline derived table from this table
+ */
+ @Override
+ public Recruitment where(Collection extends Condition> conditions) {
+ return where(DSL.and(conditions));
+ }
+
+ /**
+ * Create an inline derived table from this table
+ */
+ @Override
+ public Recruitment where(Condition... conditions) {
+ return where(DSL.and(conditions));
+ }
+
+ /**
+ * Create an inline derived table from this table
+ */
+ @Override
+ public Recruitment where(Field condition) {
+ return where(DSL.condition(condition));
+ }
+
+ /**
+ * Create an inline derived table from this table
+ */
+ @Override
+ @PlainSQL
+ public Recruitment where(SQL condition) {
+ return where(DSL.condition(condition));
+ }
+
+ /**
+ * Create an inline derived table from this table
+ */
+ @Override
+ @PlainSQL
+ public Recruitment where(@Stringly.SQL String condition) {
+ return where(DSL.condition(condition));
+ }
+
+ /**
+ * Create an inline derived table from this table
+ */
+ @Override
+ @PlainSQL
+ public Recruitment where(@Stringly.SQL String condition, Object... binds) {
+ return where(DSL.condition(condition, binds));
+ }
+
+ /**
+ * Create an inline derived table from this table
+ */
+ @Override
+ @PlainSQL
+ public Recruitment where(@Stringly.SQL String condition, QueryPart... parts) {
+ return where(DSL.condition(condition, parts));
+ }
+
+ /**
+ * Create an inline derived table from this table
+ */
+ @Override
+ public Recruitment whereExists(Select> select) {
+ return where(DSL.exists(select));
+ }
+
+ /**
+ * Create an inline derived table from this table
+ */
+ @Override
+ public Recruitment whereNotExists(Select> select) {
+ return where(DSL.notExists(select));
+ }
+}
diff --git a/backend/src/main/java/ervu_lkrp_ul/ervu_lkrp_ul/db_beans/ratings/tables/records/AppearSubppoenaRecord.java b/backend/src/main/java/ervu_lkrp_ul/ervu_lkrp_ul/db_beans/ratings/tables/records/AppearSubppoenaRecord.java
new file mode 100644
index 00000000..65f9def6
--- /dev/null
+++ b/backend/src/main/java/ervu_lkrp_ul/ervu_lkrp_ul/db_beans/ratings/tables/records/AppearSubppoenaRecord.java
@@ -0,0 +1,149 @@
+/*
+ * This file is generated by jOOQ.
+ */
+package ervu_lkrp_ul.ervu_lkrp_ul.db_beans.ratings.tables.records;
+
+
+import ervu_lkrp_ul.ervu_lkrp_ul.db_beans.ratings.tables.AppearSubppoena;
+
+import java.math.BigDecimal;
+import java.sql.Date;
+import java.util.UUID;
+
+import org.jooq.Record1;
+import org.jooq.impl.UpdatableRecordImpl;
+
+
+/**
+ * Явка по повестке уровень РФ
+ */
+@SuppressWarnings({ "all", "unchecked", "rawtypes" })
+public class AppearSubppoenaRecord extends UpdatableRecordImpl {
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * Setter for ratings.appear_subppoena.id_appear_subppoena.
+ */
+ public void setIdAppearSubppoena(Long value) {
+ set(0, value);
+ }
+
+ /**
+ * Getter for ratings.appear_subppoena.id_appear_subppoena.
+ */
+ public Long getIdAppearSubppoena() {
+ return (Long) get(0);
+ }
+
+ /**
+ * Setter for ratings.appear_subppoena.id_region.
+ */
+ public void setIdRegion(Integer value) {
+ set(1, value);
+ }
+
+ /**
+ * Getter for ratings.appear_subppoena.id_region.
+ */
+ public Integer getIdRegion() {
+ return (Integer) get(1);
+ }
+
+ /**
+ * Setter for ratings.appear_subppoena.appear_mil_com. Явка в
+ * военкомат
+ */
+ public void setAppearMilCom(BigDecimal value) {
+ set(2, value);
+ }
+
+ /**
+ * Getter for ratings.appear_subppoena.appear_mil_com. Явка в
+ * военкомат
+ */
+ public BigDecimal getAppearMilCom() {
+ return (BigDecimal) get(2);
+ }
+
+ /**
+ * Setter for ratings.appear_subppoena.recording_date. Дата
+ * записи
+ */
+ public void setRecordingDate(Date value) {
+ set(3, value);
+ }
+
+ /**
+ * Getter for ratings.appear_subppoena.recording_date. Дата
+ * записи
+ */
+ public Date getRecordingDate() {
+ return (Date) get(3);
+ }
+
+ /**
+ * Setter for ratings.appear_subppoena.appear_mil_com_percent.
+ * Явка в военкомат в процентах
+ */
+ public void setAppearMilComPercent(BigDecimal value) {
+ set(4, value);
+ }
+
+ /**
+ * Getter for ratings.appear_subppoena.appear_mil_com_percent.
+ * Явка в военкомат в процентах
+ */
+ public BigDecimal getAppearMilComPercent() {
+ return (BigDecimal) get(4);
+ }
+
+ /**
+ * Setter for ratings.appear_subppoena.recruitment_id.
+ */
+ public void setRecruitmentId(UUID value) {
+ set(5, value);
+ }
+
+ /**
+ * Getter for ratings.appear_subppoena.recruitment_id.
+ */
+ public UUID getRecruitmentId() {
+ return (UUID) get(5);
+ }
+
+ // -------------------------------------------------------------------------
+ // Primary key information
+ // -------------------------------------------------------------------------
+
+ @Override
+ public Record1 key() {
+ return (Record1) super.key();
+ }
+
+ // -------------------------------------------------------------------------
+ // Constructors
+ // -------------------------------------------------------------------------
+
+ /**
+ * Create a detached AppearSubppoenaRecord
+ */
+ public AppearSubppoenaRecord() {
+ super(AppearSubppoena.APPEAR_SUBPPOENA);
+ }
+
+ /**
+ * Create a detached, initialised AppearSubppoenaRecord
+ */
+ public AppearSubppoenaRecord(Long idAppearSubppoena, Integer idRegion, BigDecimal appearMilCom, Date recordingDate, BigDecimal appearMilComPercent, UUID recruitmentId) {
+ super(AppearSubppoena.APPEAR_SUBPPOENA);
+
+ setIdAppearSubppoena(idAppearSubppoena);
+ setIdRegion(idRegion);
+ setAppearMilCom(appearMilCom);
+ setRecordingDate(recordingDate);
+ setAppearMilComPercent(appearMilComPercent);
+ setRecruitmentId(recruitmentId);
+ resetChangedOnNotNull();
+ }
+}
diff --git a/backend/src/main/java/ervu_lkrp_ul/ervu_lkrp_ul/db_beans/ratings/tables/records/ConsiderationComplaintRecord.java b/backend/src/main/java/ervu_lkrp_ul/ervu_lkrp_ul/db_beans/ratings/tables/records/ConsiderationComplaintRecord.java
new file mode 100644
index 00000000..1f12c18f
--- /dev/null
+++ b/backend/src/main/java/ervu_lkrp_ul/ervu_lkrp_ul/db_beans/ratings/tables/records/ConsiderationComplaintRecord.java
@@ -0,0 +1,155 @@
+/*
+ * This file is generated by jOOQ.
+ */
+package ervu_lkrp_ul.ervu_lkrp_ul.db_beans.ratings.tables.records;
+
+
+import ervu_lkrp_ul.ervu_lkrp_ul.db_beans.ratings.tables.ConsiderationComplaint;
+
+import java.math.BigDecimal;
+import java.sql.Date;
+import java.util.UUID;
+
+import org.jooq.Record1;
+import org.jooq.impl.UpdatableRecordImpl;
+
+
+/**
+ * Рассмотрение жалоб уровень РФ
+ */
+@SuppressWarnings({ "all", "unchecked", "rawtypes" })
+public class ConsiderationComplaintRecord extends UpdatableRecordImpl {
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * Setter for
+ * ratings.consideration_complaint.id_consideration_complaint.
+ */
+ public void setIdConsiderationComplaint(Long value) {
+ set(0, value);
+ }
+
+ /**
+ * Getter for
+ * ratings.consideration_complaint.id_consideration_complaint.
+ */
+ public Long getIdConsiderationComplaint() {
+ return (Long) get(0);
+ }
+
+ /**
+ * Setter for ratings.consideration_complaint.id_region.
+ */
+ public void setIdRegion(Integer value) {
+ set(1, value);
+ }
+
+ /**
+ * Getter for ratings.consideration_complaint.id_region.
+ */
+ public Integer getIdRegion() {
+ return (Integer) get(1);
+ }
+
+ /**
+ * Setter for
+ * ratings.consideration_complaint.consideration_complaint.
+ * Рассмотрение жалоб
+ */
+ public void setConsiderationComplaint(BigDecimal value) {
+ set(2, value);
+ }
+
+ /**
+ * Getter for
+ * ratings.consideration_complaint.consideration_complaint.
+ * Рассмотрение жалоб
+ */
+ public BigDecimal getConsiderationComplaint() {
+ return (BigDecimal) get(2);
+ }
+
+ /**
+ * Setter for ratings.consideration_complaint.recording_date.
+ * Дата записи
+ */
+ public void setRecordingDate(Date value) {
+ set(3, value);
+ }
+
+ /**
+ * Getter for ratings.consideration_complaint.recording_date.
+ * Дата записи
+ */
+ public Date getRecordingDate() {
+ return (Date) get(3);
+ }
+
+ /**
+ * Setter for
+ * ratings.consideration_complaint.consideration_complaint_percent.
+ * Рассмотрение жалоб в процентах
+ */
+ public void setConsiderationComplaintPercent(BigDecimal value) {
+ set(4, value);
+ }
+
+ /**
+ * Getter for
+ * ratings.consideration_complaint.consideration_complaint_percent.
+ * Рассмотрение жалоб в процентах
+ */
+ public BigDecimal getConsiderationComplaintPercent() {
+ return (BigDecimal) get(4);
+ }
+
+ /**
+ * Setter for ratings.consideration_complaint.recruitment_id.
+ */
+ public void setRecruitmentId(UUID value) {
+ set(5, value);
+ }
+
+ /**
+ * Getter for ratings.consideration_complaint.recruitment_id.
+ */
+ public UUID getRecruitmentId() {
+ return (UUID) get(5);
+ }
+
+ // -------------------------------------------------------------------------
+ // Primary key information
+ // -------------------------------------------------------------------------
+
+ @Override
+ public Record1 key() {
+ return (Record1) super.key();
+ }
+
+ // -------------------------------------------------------------------------
+ // Constructors
+ // -------------------------------------------------------------------------
+
+ /**
+ * Create a detached ConsiderationComplaintRecord
+ */
+ public ConsiderationComplaintRecord() {
+ super(ConsiderationComplaint.CONSIDERATION_COMPLAINT);
+ }
+
+ /**
+ * Create a detached, initialised ConsiderationComplaintRecord
+ */
+ public ConsiderationComplaintRecord(Long idConsiderationComplaint, Integer idRegion, BigDecimal considerationComplaint, Date recordingDate, BigDecimal considerationComplaintPercent, UUID recruitmentId) {
+ super(ConsiderationComplaint.CONSIDERATION_COMPLAINT);
+
+ setIdConsiderationComplaint(idConsiderationComplaint);
+ setIdRegion(idRegion);
+ setConsiderationComplaint(considerationComplaint);
+ setRecordingDate(recordingDate);
+ setConsiderationComplaintPercent(considerationComplaintPercent);
+ setRecruitmentId(recruitmentId);
+ resetChangedOnNotNull();
+ }
+}
diff --git a/backend/src/main/java/ervu_lkrp_ul/ervu_lkrp_ul/db_beans/ratings/tables/records/RecruitmentRecord.java b/backend/src/main/java/ervu_lkrp_ul/ervu_lkrp_ul/db_beans/ratings/tables/records/RecruitmentRecord.java
new file mode 100644
index 00000000..299ac50b
--- /dev/null
+++ b/backend/src/main/java/ervu_lkrp_ul/ervu_lkrp_ul/db_beans/ratings/tables/records/RecruitmentRecord.java
@@ -0,0 +1,162 @@
+/*
+ * This file is generated by jOOQ.
+ */
+package ervu_lkrp_ul.ervu_lkrp_ul.db_beans.ratings.tables.records;
+
+
+import ervu_lkrp_ul.ervu_lkrp_ul.db_beans.ratings.tables.Recruitment;
+
+import java.math.BigDecimal;
+import java.sql.Date;
+import java.util.UUID;
+
+import org.jooq.Record1;
+import org.jooq.impl.UpdatableRecordImpl;
+
+
+/**
+ * Призыв уровень РФ
+ */
+@SuppressWarnings({ "all", "unchecked", "rawtypes" })
+public class RecruitmentRecord extends UpdatableRecordImpl {
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * Setter for ratings.recruitment.id_recruitment.
+ */
+ public void setIdRecruitment(Long value) {
+ set(0, value);
+ }
+
+ /**
+ * Getter for ratings.recruitment.id_recruitment.
+ */
+ public Long getIdRecruitment() {
+ return (Long) get(0);
+ }
+
+ /**
+ * Setter for ratings.recruitment.id_region.
+ */
+ public void setIdRegion(Integer value) {
+ set(1, value);
+ }
+
+ /**
+ * Getter for ratings.recruitment.id_region.
+ */
+ public Integer getIdRegion() {
+ return (Integer) get(1);
+ }
+
+ /**
+ * Setter for ratings.recruitment.execution. Исполнение плана
+ * призыва
+ */
+ public void setExecution(BigDecimal value) {
+ set(2, value);
+ }
+
+ /**
+ * Getter for ratings.recruitment.execution. Исполнение плана
+ * призыва
+ */
+ public BigDecimal getExecution() {
+ return (BigDecimal) get(2);
+ }
+
+ /**
+ * Setter for ratings.recruitment.spring_autumn. Осень/весна
+ */
+ public void setSpringAutumn(String value) {
+ set(3, value);
+ }
+
+ /**
+ * Getter for ratings.recruitment.spring_autumn. Осень/весна
+ */
+ public String getSpringAutumn() {
+ return (String) get(3);
+ }
+
+ /**
+ * Setter for ratings.recruitment.recording_date. Дата записи
+ */
+ public void setRecordingDate(Date value) {
+ set(4, value);
+ }
+
+ /**
+ * Getter for ratings.recruitment.recording_date. Дата записи
+ */
+ public Date getRecordingDate() {
+ return (Date) get(4);
+ }
+
+ /**
+ * Setter for ratings.recruitment.execution_percent. Исолнение
+ * плана призыва в процентах
+ */
+ public void setExecutionPercent(BigDecimal value) {
+ set(5, value);
+ }
+
+ /**
+ * Getter for ratings.recruitment.execution_percent. Исолнение
+ * плана призыва в процентах
+ */
+ public BigDecimal getExecutionPercent() {
+ return (BigDecimal) get(5);
+ }
+
+ /**
+ * Setter for ratings.recruitment.recruitment_id.
+ */
+ public void setRecruitmentId(UUID value) {
+ set(6, value);
+ }
+
+ /**
+ * Getter for ratings.recruitment.recruitment_id.
+ */
+ public UUID getRecruitmentId() {
+ return (UUID) get(6);
+ }
+
+ // -------------------------------------------------------------------------
+ // Primary key information
+ // -------------------------------------------------------------------------
+
+ @Override
+ public Record1 key() {
+ return (Record1) super.key();
+ }
+
+ // -------------------------------------------------------------------------
+ // Constructors
+ // -------------------------------------------------------------------------
+
+ /**
+ * Create a detached RecruitmentRecord
+ */
+ public RecruitmentRecord() {
+ super(Recruitment.RECRUITMENT);
+ }
+
+ /**
+ * Create a detached, initialised RecruitmentRecord
+ */
+ public RecruitmentRecord(Long idRecruitment, Integer idRegion, BigDecimal execution, String springAutumn, Date recordingDate, BigDecimal executionPercent, UUID recruitmentId) {
+ super(Recruitment.RECRUITMENT);
+
+ setIdRecruitment(idRecruitment);
+ setIdRegion(idRegion);
+ setExecution(execution);
+ setSpringAutumn(springAutumn);
+ setRecordingDate(recordingDate);
+ setExecutionPercent(executionPercent);
+ setRecruitmentId(recruitmentId);
+ resetChangedOnNotNull();
+ }
+}
diff --git a/backend/src/main/java/esia/model/ChiefPersonModel.java b/backend/src/main/java/esia/model/ChiefPersonModel.java
deleted file mode 100644
index b604b06c..00000000
--- a/backend/src/main/java/esia/model/ChiefPersonModel.java
+++ /dev/null
@@ -1,31 +0,0 @@
-package esia.model;
-
-import java.io.Serializable;
-
-/**
- * @author Eduard Tihomirov
- */
-public class ChiefPersonModel extends PersonModel {
-
- private static final long serialVersionUID = 1L;
-
- private String position;
-
- private String brhOid;
-
- public String getPosition() {
- return position;
- }
-
- public void setPosition(String position) {
- this.position = position;
- }
-
- public String getBrhOid() {
- return brhOid;
- }
-
- public void setBrhOid(String brhOid) {
- this.brhOid = brhOid;
- }
-}
diff --git a/backend/src/main/java/esia/model/MillitaryRegistrationPersonModel.java b/backend/src/main/java/esia/model/MillitaryRegistrationPersonModel.java
deleted file mode 100644
index 875df7f3..00000000
--- a/backend/src/main/java/esia/model/MillitaryRegistrationPersonModel.java
+++ /dev/null
@@ -1,46 +0,0 @@
-package esia.model;
-
-/**
- * @author Eduard Tihomirov
- */
-public class MillitaryRegistrationPersonModel extends PersonModel {
- private static final long serialVersionUID = 1L;
-
- private String email;
-
- private String mobileNumber;
- private String roleCode;
- private String roleName;
-
- public String getEmail() {
- return email;
- }
-
- public void setEmail(String email) {
- this.email = email;
- }
-
- public String getMobileNumber() {
- return mobileNumber;
- }
-
- public void setMobileNumber(String mobileNumber) {
- this.mobileNumber = mobileNumber;
- }
-
- public String getRoleCode() {
- return roleCode;
- }
-
- public void setRoleCode(String roleCode) {
- this.roleCode = roleCode;
- }
-
- public String getRoleName() {
- return roleName;
- }
-
- public void setRoleName(String roleName) {
- this.roleName = roleName;
- }
-}
diff --git a/backend/src/main/java/esia/model/OrganizationModel.java b/backend/src/main/java/esia/model/OrganizationModel.java
deleted file mode 100644
index ae536592..00000000
--- a/backend/src/main/java/esia/model/OrganizationModel.java
+++ /dev/null
@@ -1,140 +0,0 @@
-package esia.model;
-
-import java.io.Serializable;
-
-/**
- * @author Eduard Tihomirov
- */
-public class OrganizationModel implements Serializable {
-
- private static final long serialVersionUID = 1L;
-
- private String orgOid;
-
- private String fullName;
-
- private String shortName;
-
- private String inn;
-
- private String ogrn;
-
- private String leg;
- private String legName;
-
- private String kpp;
-
- private String ulAddress;
-
- private String actualAddress;
-
- private String zipCode;
-
- private String mobile;
-
- private String email;
-
- public String getOrgOid() {
- return orgOid;
- }
-
- public void setOrgOid(String orgOid) {
- this.orgOid = orgOid;
- }
-
- public String getFullName() {
- return fullName;
- }
-
- public void setFullName(String fullName) {
- this.fullName = fullName;
- }
-
- public String getShortName() {
- return shortName;
- }
-
- public void setShortName(String shortName) {
- this.shortName = shortName;
- }
-
- public String getInn() {
- return inn;
- }
-
- public void setInn(String inn) {
- this.inn = inn;
- }
-
- public String getOgrn() {
- return ogrn;
- }
-
- public void setOgrn(String ogrn) {
- this.ogrn = ogrn;
- }
-
- public String getLeg() {
- return leg;
- }
-
- public void setLeg(String leg) {
- this.leg = leg;
- }
-
- public String getKpp() {
- return kpp;
- }
-
- public void setKpp(String kpp) {
- this.kpp = kpp;
- }
-
- public String getUlAddress() {
- return ulAddress;
- }
-
- public void setUlAddress(String ulAddress) {
- this.ulAddress = ulAddress;
- }
-
- public String getActualAddress() {
- return actualAddress;
- }
-
- public void setActualAddress(String actualAddress) {
- this.actualAddress = actualAddress;
- }
-
- public String getZipCode() {
- return zipCode;
- }
-
- public void setZipCode(String zipCode) {
- this.zipCode = zipCode;
- }
-
- public String getMobile() {
- return mobile;
- }
-
- public void setMobile(String mobile) {
- this.mobile = mobile;
- }
-
- public String getEmail() {
- return email;
- }
-
- public void setEmail(String email) {
- this.email = email;
- }
-
- public String getLegName() {
- return legName;
- }
-
- public void setLegName(String legName) {
- this.legName = legName;
- }
-}
diff --git a/backend/src/main/java/esia/model/PersonModel.java b/backend/src/main/java/esia/model/PersonModel.java
deleted file mode 100644
index 455fbfcc..00000000
--- a/backend/src/main/java/esia/model/PersonModel.java
+++ /dev/null
@@ -1,115 +0,0 @@
-package esia.model;
-
-import java.io.Serializable;
-
-/**
- * @author Eduard Tihomirov
- */
-public class PersonModel implements Serializable {
-
- private static final long serialVersionUID = 1L;
-
- private String prsId;
-
- private String orgOid;
-
- private String lastName;
-
- private String firstName;
-
- private String middleName;
- private String birthday;
- private String snils;
- private String idERN;
- private String passportSeries;
- private String passportNumber;
- private String passportIssueDate;
-
- public String getPrsId() {
- return prsId;
- }
-
- public void setPrsId(String prsId) {
- this.prsId = prsId;
- }
-
- public String getOrgOid() {
- return orgOid;
- }
-
- public void setOrgOid(String orgOid) {
- this.orgOid = orgOid;
- }
-
- public String getLastName() {
- return lastName;
- }
-
- public void setLastName(String lastName) {
- this.lastName = lastName;
- }
-
- public String getFirstName() {
- return firstName;
- }
-
- public void setFirstName(String firstName) {
- this.firstName = firstName;
- }
-
- public String getMiddleName() {
- return middleName;
- }
-
- public void setMiddleName(String middleName) {
- this.middleName = middleName;
- }
-
- public String getBirthday() {
- return birthday;
- }
-
- public void setBirthday(String birthday) {
- this.birthday = birthday;
- }
-
- public String getSnils() {
- return snils;
- }
-
- public void setSnils(String snils) {
- this.snils = snils;
- }
-
- public String getIdERN() {
- return idERN;
- }
-
- public void setIdERN(String idERN) {
- this.idERN = idERN;
- }
-
- public String getPassportSeries() {
- return passportSeries;
- }
-
- public void setPassportSeries(String passportSeries) {
- this.passportSeries = passportSeries;
- }
-
- public String getPassportNumber() {
- return passportNumber;
- }
-
- public void setPassportNumber(String passportNumber) {
- this.passportNumber = passportNumber;
- }
-
- public String getPassportIssueDate() {
- return passportIssueDate;
- }
-
- public void setPassportIssueDate(String passportIssueDate) {
- this.passportIssueDate = passportIssueDate;
- }
-}
diff --git a/backend/src/main/java/esia/service/UlDataService.java b/backend/src/main/java/esia/service/UlDataService.java
deleted file mode 100644
index 4ed8f86c..00000000
--- a/backend/src/main/java/esia/service/UlDataService.java
+++ /dev/null
@@ -1,17 +0,0 @@
-package esia.service;
-
-import esia.model.ChiefPersonModel;
-import esia.model.MillitaryRegistrationPersonModel;
-import esia.model.OrganizationModel;
-
-/**
- * @author Eduard Tihomirov
- */
-public interface UlDataService {
-
- MillitaryRegistrationPersonModel getPersonModel();
-
- ChiefPersonModel getChiefPersonModel();
-
- OrganizationModel getOrganizationModel();
-}
diff --git a/backend/src/main/java/esia/service/impl/DummyUlDataServiceImpl.java b/backend/src/main/java/esia/service/impl/DummyUlDataServiceImpl.java
deleted file mode 100644
index 3aa253c0..00000000
--- a/backend/src/main/java/esia/service/impl/DummyUlDataServiceImpl.java
+++ /dev/null
@@ -1,59 +0,0 @@
-package esia.service.impl;
-
-import esia.model.ChiefPersonModel;
-import esia.model.MillitaryRegistrationPersonModel;
-import esia.model.OrganizationModel;
-import esia.service.UlDataService;
-import org.springframework.stereotype.Service;
-
-/**
- * @author Alexandr Shalaginov
- */
-// TODO: 22.07.2024 delete this after real realisation of UlDataService
-@Service
-public class DummyUlDataServiceImpl implements UlDataService {
- @Override
- public MillitaryRegistrationPersonModel getPersonModel() {
- MillitaryRegistrationPersonModel personModel = new MillitaryRegistrationPersonModel();
- personModel.setPrsId("PrsId");
- personModel.setOrgOid("OrgOid");
- personModel.setLastName("Максимов");
- personModel.setFirstName("Геннадий");
- personModel.setMiddleName("Валентинович");
- personModel.setBirthday("18.11.1966");
- personModel.setSnils("56114152149");
- personModel.setIdERN("111666898287");
- personModel.setPassportSeries("1151");
- personModel.setPassportNumber("166971");
- personModel.setPassportIssueDate("13.10.2004");
- personModel.setEmail("Email");
- personModel.setMobileNumber("");
- personModel.setRoleCode("admin_123");
- personModel.setRoleName("Администратор 123");
- return personModel;
- }
-
- @Override
- public ChiefPersonModel getChiefPersonModel() {
- return new ChiefPersonModel();
- }
-
- @Override
- public OrganizationModel getOrganizationModel() {
- OrganizationModel organizationModel = new OrganizationModel();
- organizationModel.setOrgOid("OrgOid");
- organizationModel.setFullName("FullName");
- organizationModel.setShortName("Звезда");
- organizationModel.setInn("123456789012");
- organizationModel.setOgrn("1234567890123");
- organizationModel.setLeg("2");
- organizationModel.setLegName("Общество с ограниченной ответственностью");
- organizationModel.setKpp("123456789012");
- organizationModel.setUlAddress("UlAddress");
- organizationModel.setActualAddress("ActualAddress");
- organizationModel.setZipCode("ZipCode");
- organizationModel.setMobile("Mobile");
- organizationModel.setEmail("Email");
- return organizationModel;
- }
-}
diff --git a/backend/src/main/java/ru/micord/ervu/journal/JournalDto.java b/backend/src/main/java/ru/micord/ervu/journal/JournalDto.java
new file mode 100644
index 00000000..da7344fe
--- /dev/null
+++ b/backend/src/main/java/ru/micord/ervu/journal/JournalDto.java
@@ -0,0 +1,77 @@
+package ru.micord.ervu.journal;
+
+import java.time.LocalDateTime;
+
+public class JournalDto {
+
+ private LocalDateTime departureDateTime;
+ private String fileName;
+ private Integer filePatternCode;
+ private String senderFio;
+ private String status;
+ public Integer filesSentCount;
+ public Integer acceptedFilesCount;
+
+ public LocalDateTime getDepartureDateTime() {
+ return departureDateTime;
+ }
+
+ public JournalDto setDepartureDateTime(LocalDateTime departureDateTime) {
+ this.departureDateTime = departureDateTime;
+ return this;
+ }
+
+ public String getFileName() {
+ return fileName;
+ }
+
+ public JournalDto setFileName(String fileName) {
+ this.fileName = fileName;
+ return this;
+ }
+
+ public Integer getFilePatternCode() {
+ return filePatternCode;
+ }
+
+ public JournalDto setFilePatternCode(Integer filePatternCode) {
+ this.filePatternCode = filePatternCode;
+ return this;
+ }
+
+ public String getSenderFio() {
+ return senderFio;
+ }
+
+ public JournalDto setSenderFio(String senderFio) {
+ this.senderFio = senderFio;
+ return this;
+ }
+
+ public String getStatus() {
+ return status;
+ }
+
+ public JournalDto setStatus(String status) {
+ this.status = status;
+ return this;
+ }
+
+ public Integer getFilesSentCount() {
+ return filesSentCount;
+ }
+
+ public JournalDto setFilesSentCount(Integer filesSentCount) {
+ this.filesSentCount = filesSentCount;
+ return this;
+ }
+
+ public Integer getAcceptedFilesCount() {
+ return acceptedFilesCount;
+ }
+
+ public JournalDto setAcceptedFilesCount(Integer acceptedFilesCount) {
+ this.acceptedFilesCount = acceptedFilesCount;
+ return this;
+ }
+}
diff --git a/backend/src/main/java/ru/micord/ervu/journal/JournalFileDataRequest.java b/backend/src/main/java/ru/micord/ervu/journal/JournalFileDataRequest.java
new file mode 100644
index 00000000..a2e77c90
--- /dev/null
+++ b/backend/src/main/java/ru/micord/ervu/journal/JournalFileDataRequest.java
@@ -0,0 +1,28 @@
+package ru.micord.ervu.journal;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+public class JournalFileDataRequest {
+
+ @JsonProperty("orgId_ERVU")
+ private String orgIdErvu; // идентификатор организации в ЕРВУ
+ private String prnOid; // идентификатор сотрудника в ЕСИА ответственный за воинский учёт
+
+ public String getOrgIdErvu() {
+ return orgIdErvu;
+ }
+
+ public JournalFileDataRequest setOrgIdErvu(String orgIdErvu) {
+ this.orgIdErvu = orgIdErvu;
+ return this;
+ }
+
+ public String getPrnOid() {
+ return prnOid;
+ }
+
+ public JournalFileDataRequest setPrnOid(String prnOid) {
+ this.prnOid = prnOid;
+ return this;
+ }
+}
diff --git a/backend/src/main/java/ru/micord/ervu/journal/JournalFileDataResponse.java b/backend/src/main/java/ru/micord/ervu/journal/JournalFileDataResponse.java
new file mode 100644
index 00000000..4dd2dea7
--- /dev/null
+++ b/backend/src/main/java/ru/micord/ervu/journal/JournalFileDataResponse.java
@@ -0,0 +1,37 @@
+package ru.micord.ervu.journal;
+
+import java.util.List;
+
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * @author ya.kuznetsova
+ */
+@JsonIgnoreProperties(ignoreUnknown = true)
+public class JournalFileDataResponse {
+
+ @JsonProperty("orgId_ERVU")
+ private String orgIdErvu; // идентификатор организации в ЕРВУ
+
+ @JsonProperty("filesInfo")
+ private List filesInfo;
+
+ public String getOrgIdErvu() {
+ return orgIdErvu;
+ }
+
+ public JournalFileDataResponse setOrgIdErvu(String orgIdErvu) {
+ this.orgIdErvu = orgIdErvu;
+ return this;
+ }
+
+ public List getFilesInfo() {
+ return filesInfo;
+ }
+
+ public JournalFileDataResponse setFilesInfo(List filesInfo) {
+ this.filesInfo = filesInfo;
+ return this;
+ }
+}
diff --git a/backend/src/main/java/ru/micord/ervu/journal/JournalFileInfo.java b/backend/src/main/java/ru/micord/ervu/journal/JournalFileInfo.java
new file mode 100644
index 00000000..a69a23a5
--- /dev/null
+++ b/backend/src/main/java/ru/micord/ervu/journal/JournalFileInfo.java
@@ -0,0 +1,125 @@
+package ru.micord.ervu.journal;
+
+import java.time.LocalDateTime;
+import java.time.ZoneOffset;
+
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
+import ru.micord.ervu.journal.deserializer.DepartureDateTimeDeserializer;
+
+@JsonIgnoreProperties(ignoreUnknown = true)
+public class JournalFileInfo {
+
+ @JsonProperty("fileId")
+ private String fileId; //ИД файла полученный при создании записи о файле в реестр организаций (в ЕРВУ)
+ @JsonProperty("fileName")
+ private String fileName; // Название файла
+ @JsonProperty("filePatternCode")
+ private Integer filePatternCode; // Номер шаблона(Формы)
+ @JsonProperty("filePatternName")
+ private String filePatternName;
+ @JsonProperty("departureDateTime")
+ @JsonDeserialize(using = DepartureDateTimeDeserializer.class)
+ private LocalDateTime departureDateTime; // Дата-время отправки файла
+ @JsonProperty("timeZone")
+ private ZoneOffset timeZone; //Таймзона
+ @JsonProperty("fileStatus")
+ private JournalFileStatus fileStatus;
+ @JsonProperty("senderInfo")
+ private SenderInfo senderInfo;
+ @JsonProperty("rowsCount")
+ private Integer rowsCount; //Общее количество записей отправленных в файле
+ @JsonProperty("rowsSuccess")
+ private Integer rowsSuccess; //Количество записей принятых в файле
+
+ public String getFileId() {
+ return fileId;
+ }
+
+ public JournalFileInfo setFileId(String fileId) {
+ this.fileId = fileId;
+ return this;
+ }
+
+ public String getFileName() {
+ return fileName;
+ }
+
+ public JournalFileInfo setFileName(String fileName) {
+ this.fileName = fileName;
+ return this;
+ }
+
+ public Integer getFilePatternCode() {
+ return filePatternCode;
+ }
+
+ public JournalFileInfo setFilePatternCode(Integer filePatternCode) {
+ this.filePatternCode = filePatternCode;
+ return this;
+ }
+
+ public String getFilePatternName() {
+ return filePatternName;
+ }
+
+ public JournalFileInfo setFilePatternName(String filePatternName) {
+ this.filePatternName = filePatternName;
+ return this;
+ }
+
+ public LocalDateTime getDepartureDateTime() {
+ return departureDateTime;
+ }
+
+ public JournalFileInfo setDepartureDateTime(LocalDateTime departureDateTime) {
+ this.departureDateTime = departureDateTime;
+ return this;
+ }
+
+ public ZoneOffset getTimeZone() {
+ return timeZone;
+ }
+
+ public JournalFileInfo setTimeZone(ZoneOffset timeZone) {
+ this.timeZone = timeZone;
+ return this;
+ }
+
+ public JournalFileStatus getFileStatus() {
+ return fileStatus;
+ }
+
+ public JournalFileInfo setFileStatus(JournalFileStatus fileStatus) {
+ this.fileStatus = fileStatus;
+ return this;
+ }
+
+ public SenderInfo getSenderInfo() {
+ return senderInfo;
+ }
+
+ public JournalFileInfo setSenderInfo(SenderInfo senderInfo) {
+ this.senderInfo = senderInfo;
+ return this;
+ }
+
+ public Integer getRowsCount() {
+ return rowsCount;
+ }
+
+ public JournalFileInfo setRowsCount(Integer rowsCount) {
+ this.rowsCount = rowsCount;
+ return this;
+ }
+
+ public Integer getRowsSuccess() {
+ return rowsSuccess;
+ }
+
+ public JournalFileInfo setRowsSuccess(Integer rowsSuccess) {
+ this.rowsSuccess = rowsSuccess;
+ return this;
+ }
+}
diff --git a/backend/src/main/java/ru/micord/ervu/journal/JournalFileStatus.java b/backend/src/main/java/ru/micord/ervu/journal/JournalFileStatus.java
new file mode 100644
index 00000000..c0e0a028
--- /dev/null
+++ b/backend/src/main/java/ru/micord/ervu/journal/JournalFileStatus.java
@@ -0,0 +1,42 @@
+package ru.micord.ervu.journal;
+
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+@JsonIgnoreProperties(ignoreUnknown = true)
+public class JournalFileStatus {
+
+ @JsonProperty("code")
+ private Integer code;
+ @JsonProperty("status")
+ private String status;
+ @JsonProperty("description")
+ private String description;
+
+ public Integer getCode() {
+ return code;
+ }
+
+ public JournalFileStatus setCode(Integer code) {
+ this.code = code;
+ return this;
+ }
+
+ public String getStatus() {
+ return status;
+ }
+
+ public JournalFileStatus setStatus(String status) {
+ this.status = status;
+ return this;
+ }
+
+ public String getDescription() {
+ return description;
+ }
+
+ public JournalFileStatus setDescription(String description) {
+ this.description = description;
+ return this;
+ }
+}
diff --git a/backend/src/main/java/ru/micord/ervu/journal/SenderInfo.java b/backend/src/main/java/ru/micord/ervu/journal/SenderInfo.java
new file mode 100644
index 00000000..22b80272
--- /dev/null
+++ b/backend/src/main/java/ru/micord/ervu/journal/SenderInfo.java
@@ -0,0 +1,53 @@
+package ru.micord.ervu.journal;
+
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+@JsonIgnoreProperties(ignoreUnknown = true)
+public class SenderInfo {
+
+ @JsonProperty("prnOid")
+ private String prnOid; // идентификатор сотрудника в ЕСИА
+ @JsonProperty("lastName")
+ private String lastName;
+ @JsonProperty("firstName")
+ private String firstName;
+ @JsonProperty("middleName")
+ private String middleName;
+
+ public String getPrnOid() {
+ return prnOid;
+ }
+
+ public SenderInfo setPrnOid(String prnOid) {
+ this.prnOid = prnOid;
+ return this;
+ }
+
+ public String getLastName() {
+ return lastName;
+ }
+
+ public SenderInfo setLastName(String lastName) {
+ this.lastName = lastName;
+ return this;
+ }
+
+ public String getFirstName() {
+ return firstName;
+ }
+
+ public SenderInfo setFirstName(String firstName) {
+ this.firstName = firstName;
+ return this;
+ }
+
+ public String getMiddleName() {
+ return middleName;
+ }
+
+ public SenderInfo setMiddleName(String middleName) {
+ this.middleName = middleName;
+ return this;
+ }
+}
diff --git a/backend/src/main/java/ru/micord/ervu/journal/deserializer/DepartureDateTimeDeserializer.java b/backend/src/main/java/ru/micord/ervu/journal/deserializer/DepartureDateTimeDeserializer.java
new file mode 100644
index 00000000..149f720f
--- /dev/null
+++ b/backend/src/main/java/ru/micord/ervu/journal/deserializer/DepartureDateTimeDeserializer.java
@@ -0,0 +1,19 @@
+package ru.micord.ervu.journal.deserializer;
+
+import java.io.IOException;
+import java.time.LocalDateTime;
+
+import com.fasterxml.jackson.core.JsonParser;
+import com.fasterxml.jackson.databind.DeserializationContext;
+import com.fasterxml.jackson.databind.JsonDeserializer;
+import ru.micord.ervu.util.DateUtil;
+
+public class DepartureDateTimeDeserializer extends JsonDeserializer {
+
+ @Override
+ public LocalDateTime deserialize(JsonParser jsonParser,
+ DeserializationContext deserializationContext) throws IOException {
+ String dateTimeString = jsonParser.getText();
+ return DateUtil.convertToLocalDateTime(dateTimeString);
+ }
+}
diff --git a/backend/src/main/java/ru/micord/ervu/journal/mapper/JournalDtoMapper.java b/backend/src/main/java/ru/micord/ervu/journal/mapper/JournalDtoMapper.java
new file mode 100644
index 00000000..66d6cbea
--- /dev/null
+++ b/backend/src/main/java/ru/micord/ervu/journal/mapper/JournalDtoMapper.java
@@ -0,0 +1,36 @@
+package ru.micord.ervu.journal.mapper;
+
+import ervu_lkrp_ul.ervu_lkrp_ul.db_beans.public_.tables.records.InteractionLogRecord;
+import ru.micord.ervu.journal.JournalDto;
+import ru.micord.ervu.journal.JournalFileInfo;
+import ru.micord.ervu.journal.SenderInfo;
+
+import static ru.micord.ervu.util.StringUtils.convertToFio;
+
+public class JournalDtoMapper {
+
+ public static JournalDto mapToJournalDto(JournalFileInfo journalFileInfo) {
+ SenderInfo senderInfo = journalFileInfo.getSenderInfo();
+ return new JournalDto()
+ .setDepartureDateTime(journalFileInfo.getDepartureDateTime())
+ .setFileName(journalFileInfo.getFileName())
+ .setFilePatternCode(journalFileInfo.getFilePatternCode())
+ .setSenderFio(convertToFio(senderInfo.getFirstName(), senderInfo.getMiddleName(),
+ senderInfo.getLastName())
+ )
+ .setStatus(journalFileInfo.getFileStatus().getStatus())
+ .setFilesSentCount(journalFileInfo.getRowsCount())
+ .setAcceptedFilesCount(journalFileInfo.getRowsSuccess());
+ }
+
+ public static JournalDto mapToJournalDto(InteractionLogRecord record) {
+ return new JournalDto()
+ .setDepartureDateTime(record.getSentDate().toLocalDateTime())
+ .setFileName(record.getFileName())
+ .setFilePatternCode(Integer.valueOf(record.getForm().replace("№", "")))
+ .setSenderFio(record.getSender())
+ .setStatus(record.getStatus())
+ .setFilesSentCount(record.getRecordsSent())
+ .setAcceptedFilesCount(record.getRecordsAccepted());
+ }
+}
diff --git a/backend/src/main/java/ru/micord/ervu/kafka/ReplyingKafkaConfig.java b/backend/src/main/java/ru/micord/ervu/kafka/ReplyingKafkaConfig.java
new file mode 100644
index 00000000..769218d0
--- /dev/null
+++ b/backend/src/main/java/ru/micord/ervu/kafka/ReplyingKafkaConfig.java
@@ -0,0 +1,133 @@
+package ru.micord.ervu.kafka;
+
+import org.apache.kafka.clients.CommonClientConfigs;
+import org.apache.kafka.clients.consumer.ConsumerConfig;
+import org.apache.kafka.clients.producer.ProducerConfig;
+import org.apache.kafka.common.config.SaslConfigs;
+import org.apache.kafka.common.serialization.StringDeserializer;
+import org.apache.kafka.common.serialization.StringSerializer;
+import org.springframework.beans.factory.annotation.Qualifier;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.kafka.annotation.EnableKafka;
+import org.springframework.kafka.config.ConcurrentKafkaListenerContainerFactory;
+import org.springframework.kafka.core.*;
+import org.springframework.kafka.listener.ConcurrentMessageListenerContainer;
+import org.springframework.kafka.requestreply.ReplyingKafkaTemplate;
+
+import java.time.Duration;
+import java.util.HashMap;
+import java.util.Map;
+
+@Configuration
+@EnableKafka
+public class ReplyingKafkaConfig {
+
+ @Value("${ervu-kafka.bootstrap-servers}")
+ private String bootstrapServers;
+ @Value("${ervu-kafka.org-reply-topic}")
+ private String orgReplyTopic;
+ @Value("${ervu-kafka.journal-reply-topic}")
+ private String journalReplyTopic;
+ @Value("${ervu-kafka.group-id}")
+ private String groupId;
+ @Value("${ervu-kafka.reply-timeout:30}")
+ private long replyTimeout;
+
+ @Value("${ervu-kafka.send.security.protocol}")
+ private String securityProtocol;
+ @Value("${ervu-kafka.send.login.module:org.apache.kafka.common.security.scram.ScramLoginModule}")
+ private String loginModule;
+ @Value("${ervu-kafka.send.username}")
+ private String username;
+ @Value("${ervu-kafka.send.password}")
+ private String password;
+ @Value("${ervu-kafka.sasl.mechanism}")
+ private String saslMechanism;
+
+ @Bean("ervu")
+ public ProducerFactory producerFactory() {
+ Map configProps = new HashMap<>();
+ configProps.put(ProducerConfig.BOOTSTRAP_SERVERS_CONFIG, bootstrapServers);
+ configProps.put(ProducerConfig.KEY_SERIALIZER_CLASS_CONFIG, StringSerializer.class);
+ configProps.put(ProducerConfig.VALUE_SERIALIZER_CLASS_CONFIG, StringSerializer.class);
+ configProps.put(CommonClientConfigs.SECURITY_PROTOCOL_CONFIG, securityProtocol);
+ configProps.put(SaslConfigs.SASL_JAAS_CONFIG, loginModule + " required username=\""
+ + username + "\" password=\"" + password + "\";");
+ configProps.put(SaslConfigs.SASL_MECHANISM, saslMechanism);
+ return new DefaultKafkaProducerFactory<>(configProps);
+ }
+
+ @Bean
+ public KafkaTemplate kafkaTemplate() {
+ return new KafkaTemplate<>(producerFactory());
+ }
+
+ @Bean
+ public ConsumerFactory consumerFactory() {
+ Map configProps = new HashMap<>();
+ configProps.put(ConsumerConfig.BOOTSTRAP_SERVERS_CONFIG, bootstrapServers);
+ configProps.put(ConsumerConfig.GROUP_ID_CONFIG, groupId);
+ configProps.put(ConsumerConfig.KEY_DESERIALIZER_CLASS_CONFIG, StringDeserializer.class);
+ configProps.put(ConsumerConfig.VALUE_DESERIALIZER_CLASS_CONFIG, StringDeserializer.class);
+ configProps.put(CommonClientConfigs.SECURITY_PROTOCOL_CONFIG, securityProtocol);
+ configProps.put(SaslConfigs.SASL_JAAS_CONFIG, loginModule + " required username=\""
+ + username + "\" password=\"" + password + "\";");
+ configProps.put(SaslConfigs.SASL_MECHANISM, saslMechanism);
+ return new DefaultKafkaConsumerFactory<>(configProps);
+ }
+
+ @Bean
+ public ConcurrentKafkaListenerContainerFactory kafkaListenerContainerFactory() {
+ ConcurrentKafkaListenerContainerFactory factory = new ConcurrentKafkaListenerContainerFactory<>();
+ factory.setConsumerFactory(consumerFactory());
+ return factory;
+ }
+
+ @Bean
+ @Qualifier("org")
+ public ConcurrentMessageListenerContainer replyContainer(
+ ConcurrentKafkaListenerContainerFactory factory) {
+ ConcurrentMessageListenerContainer container = factory.createContainer(
+ orgReplyTopic);
+ container.getContainerProperties().setGroupId(groupId);
+ return container;
+ }
+
+ @Bean
+ @Qualifier("journal")
+ public ConcurrentMessageListenerContainer journalReplyContainer(
+ ConcurrentKafkaListenerContainerFactory factory) {
+ ConcurrentMessageListenerContainer container = factory.createContainer(
+ journalReplyTopic);
+ container.getContainerProperties().setGroupId(groupId);
+ return container;
+ }
+
+ @Bean
+ @Qualifier("org")
+ public ReplyingKafkaTemplate orgReplyingKafkaTemplate(
+ @Qualifier("ervu") ProducerFactory pf,
+ @Qualifier("org") ConcurrentMessageListenerContainer container) {
+ return initReplyingKafkaTemplate(pf, container);
+ }
+
+ @Bean
+ @Qualifier("journal")
+ public ReplyingKafkaTemplate