Merge branch 'develop' into feature/SUPPORT-8593_marker_verify
This commit is contained in:
commit
bdad3a161d
226 changed files with 5147 additions and 9914 deletions
2
.gitignore
vendored
2
.gitignore
vendored
|
|
@ -65,3 +65,5 @@ npm-debug.log
|
|||
#Sublime project files
|
||||
*.sublime-project
|
||||
*.sublime-workspace
|
||||
sync-backend.ps1
|
||||
sync-frontend.ps1
|
||||
|
|
|
|||
|
|
@ -222,3 +222,6 @@ mvn webbpm:update-package -DexecuteNpmInstall=false -Dpath=resources-<your-versi
|
|||
в директорию: {your-project}\frontend\node_modules\@webbpm\base-package\
|
||||
```
|
||||
4. Запретите выполнение npm install при запуске студии. Для этого добавьте параметр `-DexecuteNpmInstall=false` в настройках Run/Debug Configurations студии
|
||||
|
||||
|
||||
Утилита для вычисления ESIA_CLIENT_CERT_HASH - https://esia.gosuslugi.ru/public/calc_cert_hash_unix.zip
|
||||
|
|
@ -5,16 +5,12 @@
|
|||
<parent>
|
||||
<groupId>ru.micord.ervu.lkrp</groupId>
|
||||
<artifactId>ul</artifactId>
|
||||
<version>1.8.2-SNAPSHOT</version>
|
||||
<version>1.10.0-SNAPSHOT</version>
|
||||
</parent>
|
||||
<groupId>ru.micord.ervu.lkrp.ul</groupId>
|
||||
<artifactId>backend</artifactId>
|
||||
<packaging>war</packaging>
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>org.springframework.security</groupId>
|
||||
<artifactId>spring-security-jwt</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>io.jsonwebtoken</groupId>
|
||||
<artifactId>jjwt-api</artifactId>
|
||||
|
|
@ -33,23 +29,10 @@
|
|||
<artifactId>resources</artifactId>
|
||||
<scope>runtime</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>ru.cg.webbpm.modules.reporting.reporting-jasper</groupId>
|
||||
<artifactId>reporting-jasper-fonts</artifactId>
|
||||
<scope>runtime</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.ocpsoft.prettytime</groupId>
|
||||
<artifactId>prettytime</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.jooq</groupId>
|
||||
<artifactId>jooq</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.apache.santuario</groupId>
|
||||
<artifactId>xmlsec</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>javax.servlet</groupId>
|
||||
<artifactId>javax.servlet-api</artifactId>
|
||||
|
|
@ -139,6 +122,10 @@
|
|||
<artifactId>database-impl</artifactId>
|
||||
<scope>compile</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>javax.annotation</groupId>
|
||||
<artifactId>javax.annotation-api</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>ru.cg.webbpm.modules.jndi</groupId>
|
||||
<artifactId>jndi-beans</artifactId>
|
||||
|
|
@ -147,51 +134,10 @@
|
|||
<groupId>ru.cg.webbpm.modules.jndi</groupId>
|
||||
<artifactId>jndi-inject</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.sun.mail</groupId>
|
||||
<artifactId>javax.mail</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>ru.cg.webbpm.modules.database</groupId>
|
||||
<artifactId>database-test</artifactId>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>ru.cg.webbpm.modules</groupId>
|
||||
<artifactId>standard-annotations</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>ru.cg.webbpm.modules.core</groupId>
|
||||
<artifactId>metrics</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>ru.cg.webbpm.modules.reporting</groupId>
|
||||
<artifactId>reporting-api</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>ru.cg.webbpm.modules.reporting</groupId>
|
||||
<artifactId>reporting-runtime-api</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>ru.cg.webbpm.modules.reporting</groupId>
|
||||
<artifactId>reporting-runtime-impl</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>ru.cg.webbpm.modules.reporting.reporting-jasper</groupId>
|
||||
<artifactId>reporting-jasper-impl</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>ru.cg.webbpm.modules.reporting.reporting-jasper</groupId>
|
||||
<artifactId>reporting-jasper-runtime-impl</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>ru.cg.webbpm.modules.reporting.reporting-xdoc</groupId>
|
||||
<artifactId>reporting-xdoc-impl</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>ru.cg.webbpm.modules.reporting.reporting-xdoc</groupId>
|
||||
<artifactId>reporting-xdoc-runtime-impl</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.liquibase</groupId>
|
||||
<artifactId>liquibase-core</artifactId>
|
||||
|
|
@ -200,22 +146,6 @@
|
|||
<groupId>ru.cg.webbpm.modules</groupId>
|
||||
<artifactId>webkit-base</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>xerces</groupId>
|
||||
<artifactId>xercesImpl</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.google.guava</groupId>
|
||||
<artifactId>guava</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>ru.micord.fias</groupId>
|
||||
<artifactId>client</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.apache.tika</groupId>
|
||||
<artifactId>tika-core</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>net.javacrumbs.shedlock</groupId>
|
||||
<artifactId>shedlock-spring</artifactId>
|
||||
|
|
@ -245,8 +175,12 @@
|
|||
<artifactId>log4j-web</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.amazonaws</groupId>
|
||||
<artifactId>aws-java-sdk-s3</artifactId>
|
||||
<groupId>org.postgresql</groupId>
|
||||
<artifactId>postgresql</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.github.lookfirst</groupId>
|
||||
<artifactId>sardine</artifactId>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
<build>
|
||||
|
|
|
|||
|
|
@ -45,6 +45,7 @@ import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
|
|||
}, excludeFilters = {
|
||||
@ComponentScan.Filter(type = FilterType.REGEX, pattern = "security.WebSecurityConfig"),
|
||||
@ComponentScan.Filter(type = FilterType.REGEX, pattern = "ru.cg.webbpm.modules.database.impl.DatabaseConfiguration"),
|
||||
@ComponentScan.Filter(type = FilterType.REGEX, pattern = "service.email.EmailConfig"),
|
||||
})
|
||||
@EnableAspectJAutoProxy(proxyTargetClass = true)
|
||||
@EnableWebMvc
|
||||
|
|
|
|||
|
|
@ -1,48 +0,0 @@
|
|||
package ervu.client.fileupload;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.net.Authenticator;
|
||||
import java.net.PasswordAuthentication;
|
||||
import java.net.URI;
|
||||
import java.net.http.HttpClient;
|
||||
import java.net.http.HttpRequest;
|
||||
import java.net.http.HttpResponse;
|
||||
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.retry.annotation.Backoff;
|
||||
import org.springframework.retry.annotation.Retryable;
|
||||
import org.springframework.stereotype.Component;
|
||||
import org.springframework.web.multipart.MultipartFile;
|
||||
|
||||
/**
|
||||
* @author Alexandr Shalaginov
|
||||
*/
|
||||
@Component
|
||||
public class FileUploadWebDavClient {
|
||||
private static final Logger logger = LoggerFactory.getLogger(FileUploadWebDavClient.class);
|
||||
|
||||
@Retryable(value = {IOException.class, InterruptedException.class}, backoff = @Backoff(delay = 500L))
|
||||
public boolean webDavUploadFile(String url, String username, String password, MultipartFile multipartFile) {
|
||||
try {
|
||||
HttpClient httpClient = HttpClient.newBuilder()
|
||||
.authenticator(new Authenticator() {
|
||||
@Override
|
||||
protected PasswordAuthentication getPasswordAuthentication() {
|
||||
return new PasswordAuthentication(username, password.toCharArray());
|
||||
}
|
||||
})
|
||||
.build();
|
||||
|
||||
HttpRequest httpRequest = HttpRequest.newBuilder().uri(URI.create(url))
|
||||
.PUT(HttpRequest.BodyPublishers.ofByteArray(multipartFile.getBytes())).build();
|
||||
|
||||
HttpResponse<String> response = httpClient.send(httpRequest, HttpResponse.BodyHandlers.ofString());
|
||||
logger.debug("Response status code: {}", response.statusCode());
|
||||
return (response.statusCode() >= 200) && (response.statusCode() <= 202);
|
||||
}
|
||||
catch (IOException | InterruptedException e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
}
|
||||
}
|
||||
161
backend/src/main/java/ervu/client/fileupload/WebDavClient.java
Normal file
161
backend/src/main/java/ervu/client/fileupload/WebDavClient.java
Normal file
|
|
@ -0,0 +1,161 @@
|
|||
package ervu.client.fileupload;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import java.net.Authenticator;
|
||||
import java.net.PasswordAuthentication;
|
||||
import java.net.URI;
|
||||
import java.net.URLEncoder;
|
||||
import java.net.http.HttpClient;
|
||||
import java.net.http.HttpRequest;
|
||||
import java.net.http.HttpResponse;
|
||||
import java.nio.charset.StandardCharsets;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
import java.util.concurrent.atomic.AtomicBoolean;
|
||||
import java.util.function.Predicate;
|
||||
|
||||
import com.github.sardine.DavResource;
|
||||
import com.github.sardine.Sardine;
|
||||
import com.github.sardine.SardineFactory;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.annotation.Value;
|
||||
import org.springframework.core.io.InputStreamResource;
|
||||
import org.springframework.core.io.Resource;
|
||||
import org.springframework.http.HttpHeaders;
|
||||
import org.springframework.http.MediaType;
|
||||
import org.springframework.http.ResponseEntity;
|
||||
import org.springframework.retry.annotation.Backoff;
|
||||
import org.springframework.retry.annotation.Retryable;
|
||||
import org.springframework.stereotype.Component;
|
||||
import org.springframework.web.multipart.MultipartFile;
|
||||
|
||||
/**
|
||||
* @author Alexandr Shalaginov
|
||||
*/
|
||||
@Component
|
||||
public class WebDavClient {
|
||||
private static final Logger logger = LoggerFactory.getLogger(WebDavClient.class);
|
||||
|
||||
@Value("${file.webdav.upload.username}")
|
||||
private String username;
|
||||
@Value("${file.webdav.upload.password}")
|
||||
private String password;
|
||||
|
||||
@Retryable(value = {IOException.class}, backoff = @Backoff(delayExpression = "${webdav.retry.delay:500}"))
|
||||
public boolean uploadFile(String url, MultipartFile multipartFile) {
|
||||
Sardine sardine = initClient(username, password);
|
||||
|
||||
try {
|
||||
sardine.put(url, multipartFile.getBytes());
|
||||
return sardine.exists(url);
|
||||
}
|
||||
catch (IOException e) {
|
||||
throw new RuntimeException("Failed to put or check file in WebDAV", e);
|
||||
}
|
||||
finally {
|
||||
try {
|
||||
sardine.shutdown();
|
||||
}
|
||||
catch (IOException e) {
|
||||
logger.error("Failed to shutdown WebDAV client", e);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Retryable(value = {IOException.class, InterruptedException.class},
|
||||
backoff = @Backoff(delayExpression = "${webdav.retry.delay:500}"))
|
||||
public ResponseEntity<Resource> webDavDownloadFile(String url) {
|
||||
try {
|
||||
HttpClient httpClient = HttpClient.newBuilder()
|
||||
.authenticator(new Authenticator() {
|
||||
@Override
|
||||
protected PasswordAuthentication getPasswordAuthentication() {
|
||||
return new PasswordAuthentication(username, password.toCharArray());
|
||||
}
|
||||
}).build();
|
||||
|
||||
HttpRequest httpRequest = HttpRequest.newBuilder().uri(URI.create(url))
|
||||
.GET().build();
|
||||
|
||||
HttpResponse<InputStream> response = httpClient.send(httpRequest,
|
||||
HttpResponse.BodyHandlers.ofInputStream()
|
||||
);
|
||||
|
||||
if (response.statusCode() == 200) {
|
||||
InputStreamResource resource = new InputStreamResource(response.body());
|
||||
String encodedFilename = URLEncoder.encode(getFilenameFromUrl(url), StandardCharsets.UTF_8);
|
||||
return ResponseEntity.ok()
|
||||
.header(HttpHeaders.CONTENT_DISPOSITION,
|
||||
"attachment; filename*=UTF-8''" + encodedFilename
|
||||
)
|
||||
.contentType(MediaType.APPLICATION_OCTET_STREAM)
|
||||
.body(resource);
|
||||
}
|
||||
else {
|
||||
logger.error("Failed to download file: HTTP status code {}", response.statusCode());
|
||||
return ResponseEntity.status(response.statusCode()).build();
|
||||
}
|
||||
}
|
||||
catch (IOException | InterruptedException e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
}
|
||||
|
||||
private String getFilenameFromUrl(String url) {
|
||||
String path = URI.create(url).getPath();
|
||||
return path.substring(path.lastIndexOf('/') + 1);
|
||||
}
|
||||
|
||||
@Retryable(value = {IOException.class}, backoff = @Backoff(delayExpression = "${webdav.retry.delay:500}"))
|
||||
public void deleteFilesOlderThan(long seconds, String url, String username, String password,
|
||||
String... extensions) {
|
||||
Sardine sardine = initClient(username, password);
|
||||
|
||||
try {
|
||||
List<DavResource> resources = sardine.list(url);
|
||||
resources.stream().filter(getPredicate(extensions))
|
||||
.forEach(davResource -> {
|
||||
long age = System.currentTimeMillis() - davResource.getModified().getTime();
|
||||
|
||||
if (age > seconds * 1000) {
|
||||
try {
|
||||
sardine.delete(url + davResource.getPath());
|
||||
}
|
||||
catch (IOException e) {
|
||||
throw new RuntimeException("Failed to delete file " + davResource.getName(), e);
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
catch (IOException e) {
|
||||
throw new RuntimeException("Failed to delete old files from WebDAV", e);
|
||||
}
|
||||
finally {
|
||||
try {
|
||||
sardine.shutdown();
|
||||
}
|
||||
catch (IOException e) {
|
||||
logger.error("Failed to shutdown WebDAV client", e);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private Sardine initClient(String username, String password) {
|
||||
return SardineFactory.begin(username, password);
|
||||
}
|
||||
|
||||
private Predicate<DavResource> getPredicate(String... extensions) {
|
||||
if (extensions.length == 0) {
|
||||
return davResource -> true;
|
||||
}
|
||||
|
||||
return davResource -> {
|
||||
AtomicBoolean condition = new AtomicBoolean(false);
|
||||
Arrays.stream(extensions).forEach(extension -> condition.set(
|
||||
condition.get() || davResource.getName().endsWith(extension)));
|
||||
return condition.get();
|
||||
};
|
||||
}
|
||||
}
|
||||
|
|
@ -1,14 +1,17 @@
|
|||
package ervu.client.okopf;
|
||||
|
||||
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.io.BufferedInputStream;
|
||||
import java.io.BufferedReader;
|
||||
import java.io.IOException;
|
||||
import java.io.InputStreamReader;
|
||||
import java.net.URL;
|
||||
import java.nio.charset.StandardCharsets;
|
||||
import java.util.Objects;
|
||||
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;
|
||||
|
|
@ -19,37 +22,26 @@ import org.springframework.stereotype.Component;
|
|||
*/
|
||||
@Component
|
||||
public class EsnsiOkopfClient {
|
||||
private static final Logger logger = LoggerFactory.getLogger(EsnsiOkopfClient.class);
|
||||
|
||||
@Value("${esnsi.okopf.url}")
|
||||
private String uri;
|
||||
private String url;
|
||||
|
||||
@Retryable(value = {TimeoutException.class}, backoff =
|
||||
@Backoff(delay = 2000))
|
||||
@Retryable(maxAttemptsExpression = "${esnsi.okopf.retry.max.attempts.load:3}", backoff =
|
||||
@Backoff(delayExpression = "${esnsi.okop.retry.delay.load:1000}"))
|
||||
public String getJsonOkopFormData() {
|
||||
HttpClient client = HttpClient.newHttpClient();
|
||||
HttpRequest request = HttpRequest.newBuilder()
|
||||
.uri(URI.create(uri))
|
||||
.GET()
|
||||
.build();
|
||||
try {
|
||||
HttpResponse<InputStream> response = client.send(request,
|
||||
HttpResponse.BodyHandlers.ofInputStream()
|
||||
);
|
||||
if (response.statusCode() >= 200 && response.statusCode() <= 202) {
|
||||
return unzipFile(new ZipInputStream(response.body()));
|
||||
try (BufferedInputStream in = new BufferedInputStream(new URL(url).openStream());
|
||||
ZipInputStream archiveStream = new ZipInputStream(in);
|
||||
BufferedReader br = new BufferedReader(
|
||||
new InputStreamReader(archiveStream, StandardCharsets.UTF_8))) {
|
||||
if (Objects.nonNull(archiveStream.getNextEntry())) {
|
||||
return br.lines().collect(Collectors.joining(System.lineSeparator()));
|
||||
}
|
||||
throw new RuntimeException("The returned status " + response.statusCode() + " is incorrect. Json file has not be unzip");
|
||||
logger.warn("Esnsi okopf client received an empty archive in response.");
|
||||
}
|
||||
catch (IOException | InterruptedException e) {
|
||||
throw new RuntimeException(e);
|
||||
catch (IOException e) {
|
||||
logger.error("Failed to send HTTP request or process the response for okopf file.", e);
|
||||
}
|
||||
}
|
||||
|
||||
private String unzipFile(ZipInputStream zis) throws IOException {
|
||||
if (zis.getNextEntry() != null) {
|
||||
BufferedReader br = new BufferedReader(new InputStreamReader(new ByteArrayInputStream(zis.readAllBytes())));
|
||||
return br.lines().collect(Collectors.joining(System.lineSeparator()));
|
||||
}
|
||||
throw new RuntimeException("ZipInputStream is empty and has not been unzipped");
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -10,7 +10,7 @@ import ervu.model.okopf.OkopfModel;
|
|||
* @author Artyom Hackimullin
|
||||
*/
|
||||
public interface OkopfDao {
|
||||
void save(List<OkopfModel> recordModels, int version);
|
||||
void save(List<OkopfModel> recordModels);
|
||||
|
||||
String fetchTitleByLeg(String leg);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -20,14 +20,14 @@ public class OkopfDaoImpl implements OkopfDao {
|
|||
private DSLContext dsl;
|
||||
|
||||
@Override
|
||||
public void save(List<OkopfModel> recordModels, int version) {
|
||||
public void save(List<OkopfModel> recordModels) {
|
||||
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)
|
||||
.values(record.getCode(), record.getName(), record.getVersion())
|
||||
.onConflict(OKOPF_RECORDS.OKOPF_RECORDS_ID)
|
||||
.doUpdate()
|
||||
.set(OKOPF_RECORDS.NAME, record.getName())
|
||||
.set(OKOPF_RECORDS.VERSION, version)
|
||||
.set(OKOPF_RECORDS.VERSION, record.getVersion())
|
||||
.where(OKOPF_RECORDS.OKOPF_RECORDS_ID.eq(record.getCode()))
|
||||
).toList();
|
||||
|
||||
|
|
|
|||
|
|
@ -4,6 +4,7 @@ package ervu.enums;
|
|||
* @author gulnaz
|
||||
*/
|
||||
public enum FileStatusCode {
|
||||
FILE_UPLOADED("01"),
|
||||
FILE_INFECTED("02"),
|
||||
FILE_CLEAN("03"),
|
||||
FILE_NOT_CHECKED("11");
|
||||
|
|
|
|||
|
|
@ -12,9 +12,12 @@ public class OkopfModel implements Serializable {
|
|||
|
||||
private String name;
|
||||
|
||||
public OkopfModel(String code, String name) {
|
||||
private int version;
|
||||
|
||||
public OkopfModel(String code, String name, int version) {
|
||||
this.code = code;
|
||||
this.name = name;
|
||||
this.version = version;
|
||||
}
|
||||
|
||||
public String getCode() {
|
||||
|
|
@ -33,11 +36,20 @@ public class OkopfModel implements Serializable {
|
|||
this.name = name;
|
||||
}
|
||||
|
||||
public int getVersion() {
|
||||
return version;
|
||||
}
|
||||
|
||||
public void setVersion(int version) {
|
||||
this.version = version;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "OkopfRecordModel{" +
|
||||
return "OkopfModel{" +
|
||||
"code='" + code + '\'' +
|
||||
", name='" + name + '\'' +
|
||||
", version=" + version +
|
||||
'}';
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -9,7 +9,7 @@ import java.util.UUID;
|
|||
|
||||
import com.fasterxml.jackson.core.JsonProcessingException;
|
||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||
import ervu.client.fileupload.FileUploadWebDavClient;
|
||||
import ervu.client.fileupload.WebDavClient;
|
||||
import ervu.model.fileupload.DownloadResponse;
|
||||
import ervu.model.fileupload.EmployeeInfoFileFormType;
|
||||
import ervu.model.fileupload.EmployeeInfoKafkaMessage;
|
||||
|
|
@ -43,7 +43,7 @@ public class EmployeeInfoFileUploadService {
|
|||
private static final Logger logger = LoggerFactory.getLogger(EmployeeInfoFileUploadService.class);
|
||||
private static final String FORMAT = "dd.MM.yyyy HH:mm:ss";
|
||||
|
||||
private final FileUploadWebDavClient fileWebDavUploadClient;
|
||||
private final WebDavClient webDavClient;
|
||||
private final EmployeeInfoKafkaMessageService employeeInfoKafkaMessageService;
|
||||
private final KafkaTemplate<String, String> kafkaTemplate;
|
||||
private final InteractionService interactionService;
|
||||
|
|
@ -54,18 +54,14 @@ public class EmployeeInfoFileUploadService {
|
|||
private String kafkaTopicName;
|
||||
@Value("${file.webdav.upload.url:http://localhost:5757}")
|
||||
private String url;
|
||||
@Value("${file.webdav.upload.username}")
|
||||
private String username;
|
||||
@Value("${file.webdav.upload.password}")
|
||||
private String password;
|
||||
|
||||
public EmployeeInfoFileUploadService(
|
||||
FileUploadWebDavClient fileWebDavUploadClient,
|
||||
WebDavClient webDavClient,
|
||||
EmployeeInfoKafkaMessageService employeeInfoKafkaMessageService,
|
||||
@Qualifier("avTemplate") KafkaTemplate<String, String> kafkaTemplate,
|
||||
InteractionService interactionService,
|
||||
UlDataService ulDataService, JwtTokenService jwtTokenService) {
|
||||
this.fileWebDavUploadClient = fileWebDavUploadClient;
|
||||
this.webDavClient = webDavClient;
|
||||
this.employeeInfoKafkaMessageService = employeeInfoKafkaMessageService;
|
||||
this.kafkaTemplate = kafkaTemplate;
|
||||
this.interactionService = interactionService;
|
||||
|
|
@ -77,11 +73,11 @@ public class EmployeeInfoFileUploadService {
|
|||
String fileUploadUrl = this.url + "/" + getNewFilename(multipartFile.getOriginalFilename());
|
||||
LocalDateTime now = LocalDateTime.now();
|
||||
|
||||
if (this.fileWebDavUploadClient.webDavUploadFile(fileUploadUrl, username, password, multipartFile)) {
|
||||
if (this.webDavClient.uploadFile(fileUploadUrl, multipartFile)) {
|
||||
FileStatus fileStatus = new FileStatus();
|
||||
fileStatus.setStatus("Загрузка.");
|
||||
fileStatus.setCode("01");
|
||||
fileStatus.setDescription("Файл принят до проверки на вирусы.");
|
||||
fileStatus.setStatus("Загрузка");
|
||||
fileStatus.setCode(FILE_UPLOADED.getCode());
|
||||
fileStatus.setDescription("Файл принят до проверки на вирусы");
|
||||
String fileId = UUID.randomUUID().toString();
|
||||
String fileName = multipartFile.getOriginalFilename();
|
||||
EmployeeInfoFileFormType employeeInfoFileFormType = EmployeeInfoFileFormType.valueOf(formType);
|
||||
|
|
@ -111,7 +107,7 @@ public class EmployeeInfoFileUploadService {
|
|||
interactionService.setStatus(fileId, fileStatus.getStatus(), fileName,
|
||||
employeeInfoFileFormType.getFilePatternCode(), Timestamp.valueOf(now),
|
||||
convertToFio(personModel.getFirstName(), personModel.getMiddleName(), personModel.getLastName()),
|
||||
(int) multipartFile.getSize(), ervuId);
|
||||
ervuId);
|
||||
return sendMessage(jsonMessage);
|
||||
}
|
||||
else {
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
package ervu.service.scheduer;
|
||||
package ervu.service.scheduler;
|
||||
|
||||
/**
|
||||
* @author Artyom Hackimullin
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package ervu.service.scheduer;
|
||||
package ervu.service.scheduler;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
|
|
@ -17,11 +17,16 @@ import net.javacrumbs.shedlock.core.SchedulerLock;
|
|||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.beans.factory.annotation.Value;
|
||||
import org.springframework.context.annotation.DependsOn;
|
||||
import org.springframework.scheduling.annotation.Scheduled;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import static org.springframework.scheduling.config.ScheduledTaskRegistrar.CRON_DISABLED;
|
||||
import static org.springframework.util.StringUtils.hasText;
|
||||
|
||||
|
||||
/**
|
||||
* @author Artyom Hackimullin
|
||||
*/
|
||||
|
|
@ -37,38 +42,50 @@ public class EsnsiOkopfSchedulerServiceImpl implements EsnsiOkopfSchedulerServic
|
|||
private OkopfDao okopfDao;
|
||||
@Autowired
|
||||
private ObjectMapper mapper;
|
||||
@Value("${esnsi.okopf.cron.load:0 0 */1 * * *}")
|
||||
private String cronLoad;
|
||||
|
||||
@PostConstruct
|
||||
@Transactional
|
||||
public void init() {
|
||||
load();
|
||||
if (!cronLoad.equals(CRON_DISABLED)) {
|
||||
logger.info("Synchronization with OKOPF enabled");
|
||||
load();
|
||||
}
|
||||
else {
|
||||
logger.info("Synchronization with OKOPF disabled");
|
||||
}
|
||||
}
|
||||
|
||||
@Scheduled(cron = "${esnsi.okopf.cron:0 0 */1 * * *}")
|
||||
@Scheduled(cron = "${esnsi.okopf.cron.load:0 0 */1 * * *}")
|
||||
@SchedulerLock(name = "loadOkopf")
|
||||
@Transactional
|
||||
public void load() {
|
||||
logger.info("Loading okopf file");
|
||||
String data = esnsiOkopfClient.getJsonOkopFormData();
|
||||
try {
|
||||
logger.info("Start okopf scheduller. Load okopf file from esnsi");
|
||||
OkopfOrgModel orgModel = mapper.readValue(data, OkopfOrgModel.class);
|
||||
List<OkopfModel> okopfRecords = mapToOkopfRecords(orgModel.getData());
|
||||
int currentVersion = mapper.readTree(data).findValue("version").asInt();
|
||||
logger.info("Saving okopf data in database.");
|
||||
okopfDao.save(okopfRecords, currentVersion);
|
||||
if (hasText(data)) {
|
||||
OkopfOrgModel orgModel = mapper.readValue(data, OkopfOrgModel.class);
|
||||
int currentVersion = mapper.readTree(data).findValue("version").asInt();
|
||||
List<OkopfModel> okopfRecords = mapToOkopfRecords(orgModel.getData(), currentVersion);
|
||||
okopfDao.save(okopfRecords);
|
||||
}
|
||||
}
|
||||
catch (JsonProcessingException e) {
|
||||
throw new RuntimeException(e);
|
||||
throw new RuntimeException(
|
||||
"Failed to process the JSON response from the esnsi okopf client. Invalid or malformed JSON.",
|
||||
e
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
private List<OkopfModel> mapToOkopfRecords(OkopfDataModel dataModel) {
|
||||
private List<OkopfModel> mapToOkopfRecords(OkopfDataModel dataModel, int version) {
|
||||
return Arrays.stream(dataModel.getDetails())
|
||||
.flatMap(detail -> {
|
||||
OkopfAttributeValueModel[] attributeValues = detail.getAttributeValues();
|
||||
String key = attributeValues[0].getValue();
|
||||
String value = attributeValues[1].getValue();
|
||||
return Stream.of(new OkopfModel(key, value));
|
||||
return Stream.of(new OkopfModel(key, value, version));
|
||||
})
|
||||
.toList();
|
||||
}
|
||||
|
|
@ -0,0 +1,37 @@
|
|||
package ervu.service.scheduler;
|
||||
|
||||
import ervu.client.fileupload.WebDavClient;
|
||||
import net.javacrumbs.shedlock.core.SchedulerLock;
|
||||
import org.springframework.beans.factory.annotation.Value;
|
||||
import org.springframework.scheduling.annotation.Scheduled;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
/**
|
||||
* @author gulnaz
|
||||
*/
|
||||
@Service
|
||||
public class WebDavSchedulerService {
|
||||
|
||||
private final WebDavClient webDavClient;
|
||||
|
||||
@Value("${file.webdav.upload.url}")
|
||||
private String url;
|
||||
@Value("${file.webdav.upload.username}")
|
||||
private String username;
|
||||
@Value("${file.webdav.upload.password}")
|
||||
private String password;
|
||||
@Value("${file.webdav.lifetime.seconds:300}")
|
||||
private long fileLifetime;
|
||||
@Value("${file.webdav.extensions:}")
|
||||
private String[] fileExtensions;
|
||||
|
||||
public WebDavSchedulerService(WebDavClient webDavClient) {
|
||||
this.webDavClient = webDavClient;
|
||||
}
|
||||
|
||||
@Scheduled(cron = "${webdav.cleanup.cron:0 0 0 * * *}")
|
||||
@SchedulerLock
|
||||
public void deleteOldFiles() {
|
||||
webDavClient.deleteFilesOlderThan(fileLifetime, url, username, password, fileExtensions);
|
||||
}
|
||||
}
|
||||
|
|
@ -1,76 +0,0 @@
|
|||
/*
|
||||
* 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 <code>appeals</code>
|
||||
*/
|
||||
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<Table<?>> getTables() {
|
||||
return Arrays.asList(
|
||||
MainProfile.MAIN_PROFILE,
|
||||
ReasonsAppeal.REASONS_APPEAL,
|
||||
ReviewRating.REVIEW_RATING,
|
||||
TopicAppeal.TOPIC_APPEAL
|
||||
);
|
||||
}
|
||||
}
|
||||
|
|
@ -1,37 +0,0 @@
|
|||
/*
|
||||
* 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<MainProfileRecord> 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<ReasonsAppealRecord> 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<ReviewRatingRecord> 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<TopicAppealRecord> PK_TOPIC_APPEAL = Internal.createUniqueKey(TopicAppeal.TOPIC_APPEAL, DSL.name("pk_topic_appeal"), new TableField[] { TopicAppeal.TOPIC_APPEAL.ID_TOPIC_APPEAL }, true);
|
||||
}
|
||||
|
|
@ -1,38 +0,0 @@
|
|||
/*
|
||||
* 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;
|
||||
}
|
||||
|
|
@ -1,261 +0,0 @@
|
|||
/*
|
||||
* 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<MainProfileRecord> {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* The reference instance of <code>appeals.main_profile</code>
|
||||
*/
|
||||
public static final MainProfile MAIN_PROFILE = new MainProfile();
|
||||
|
||||
/**
|
||||
* The class holding records for this type
|
||||
*/
|
||||
@Override
|
||||
public Class<MainProfileRecord> getRecordType() {
|
||||
return MainProfileRecord.class;
|
||||
}
|
||||
|
||||
/**
|
||||
* The column <code>appeals.main_profile.id_main_profile</code>.
|
||||
*/
|
||||
public final TableField<MainProfileRecord, Long> ID_MAIN_PROFILE = createField(DSL.name("id_main_profile"), SQLDataType.BIGINT.nullable(false).identity(true), this, "");
|
||||
|
||||
/**
|
||||
* The column <code>appeals.main_profile.gender</code>. Пол
|
||||
*/
|
||||
public final TableField<MainProfileRecord, String> GENDER = createField(DSL.name("gender"), SQLDataType.CLOB, this, "Пол");
|
||||
|
||||
/**
|
||||
* The column <code>appeals.main_profile.age</code>. Возраст
|
||||
*/
|
||||
public final TableField<MainProfileRecord, String> AGE = createField(DSL.name("age"), SQLDataType.CLOB, this, "Возраст");
|
||||
|
||||
/**
|
||||
* The column <code>appeals.main_profile.child_min_18</code>. Дети до 18 лет
|
||||
*/
|
||||
public final TableField<MainProfileRecord, String> CHILD_MIN_18 = createField(DSL.name("child_min_18"), SQLDataType.CLOB, this, "Дети до 18 лет");
|
||||
|
||||
/**
|
||||
* The column <code>appeals.main_profile.education</code>. Образование
|
||||
*/
|
||||
public final TableField<MainProfileRecord, String> EDUCATION = createField(DSL.name("education"), SQLDataType.CLOB, this, "Образование");
|
||||
|
||||
/**
|
||||
* The column <code>appeals.main_profile.employment</code>. Занятость
|
||||
*/
|
||||
public final TableField<MainProfileRecord, String> EMPLOYMENT = createField(DSL.name("employment"), SQLDataType.CLOB, this, "Занятость");
|
||||
|
||||
/**
|
||||
* The column <code>appeals.main_profile.recording_date</code>. Дата записи
|
||||
*/
|
||||
public final TableField<MainProfileRecord, Date> RECORDING_DATE = createField(DSL.name("recording_date"), SQLDataType.DATE.defaultValue(DSL.field(DSL.raw("now()"), SQLDataType.DATE)), this, "Дата записи");
|
||||
|
||||
/**
|
||||
* The column <code>appeals.main_profile.recruitment_id</code>.
|
||||
*/
|
||||
public final TableField<MainProfileRecord, UUID> RECRUITMENT_ID = createField(DSL.name("recruitment_id"), SQLDataType.UUID, this, "");
|
||||
|
||||
private MainProfile(Name alias, Table<MainProfileRecord> aliased) {
|
||||
this(alias, aliased, (Field<?>[]) null, null);
|
||||
}
|
||||
|
||||
private MainProfile(Name alias, Table<MainProfileRecord> aliased, Field<?>[] parameters, Condition where) {
|
||||
super(alias, null, aliased, parameters, DSL.comment("Основной профиль уровень РФ"), TableOptions.table(), where);
|
||||
}
|
||||
|
||||
/**
|
||||
* Create an aliased <code>appeals.main_profile</code> table reference
|
||||
*/
|
||||
public MainProfile(String alias) {
|
||||
this(DSL.name(alias), MAIN_PROFILE);
|
||||
}
|
||||
|
||||
/**
|
||||
* Create an aliased <code>appeals.main_profile</code> table reference
|
||||
*/
|
||||
public MainProfile(Name alias) {
|
||||
this(alias, MAIN_PROFILE);
|
||||
}
|
||||
|
||||
/**
|
||||
* Create a <code>appeals.main_profile</code> table reference
|
||||
*/
|
||||
public MainProfile() {
|
||||
this(DSL.name("main_profile"), null);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Schema getSchema() {
|
||||
return aliased() ? null : Appeals.APPEALS;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Identity<MainProfileRecord, Long> getIdentity() {
|
||||
return (Identity<MainProfileRecord, Long>) super.getIdentity();
|
||||
}
|
||||
|
||||
@Override
|
||||
public UniqueKey<MainProfileRecord> 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<Boolean> 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));
|
||||
}
|
||||
}
|
||||
|
|
@ -1,277 +0,0 @@
|
|||
/*
|
||||
* 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<ReasonsAppealRecord> {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* The reference instance of <code>appeals.reasons_appeal</code>
|
||||
*/
|
||||
public static final ReasonsAppeal REASONS_APPEAL = new ReasonsAppeal();
|
||||
|
||||
/**
|
||||
* The class holding records for this type
|
||||
*/
|
||||
@Override
|
||||
public Class<ReasonsAppealRecord> getRecordType() {
|
||||
return ReasonsAppealRecord.class;
|
||||
}
|
||||
|
||||
/**
|
||||
* The column <code>appeals.reasons_appeal.id_reasons_appeal</code>.
|
||||
*/
|
||||
public final TableField<ReasonsAppealRecord, Long> ID_REASONS_APPEAL = createField(DSL.name("id_reasons_appeal"), SQLDataType.BIGINT.nullable(false).identity(true), this, "");
|
||||
|
||||
/**
|
||||
* The column <code>appeals.reasons_appeal.appeal</code>. Обжалования
|
||||
*/
|
||||
public final TableField<ReasonsAppealRecord, BigDecimal> APPEAL = createField(DSL.name("appeal"), SQLDataType.NUMERIC, this, "Обжалования");
|
||||
|
||||
/**
|
||||
* The column <code>appeals.reasons_appeal.incorrect_inf</code>.
|
||||
* Некорректные сведения
|
||||
*/
|
||||
public final TableField<ReasonsAppealRecord, BigDecimal> INCORRECT_INF = createField(DSL.name("incorrect_inf"), SQLDataType.NUMERIC, this, "Некорректные сведения");
|
||||
|
||||
/**
|
||||
* The column <code>appeals.reasons_appeal.no_data</code>. Нет данных
|
||||
*/
|
||||
public final TableField<ReasonsAppealRecord, BigDecimal> NO_DATA = createField(DSL.name("no_data"), SQLDataType.NUMERIC, this, "Нет данных");
|
||||
|
||||
/**
|
||||
* The column <code>appeals.reasons_appeal.other</code>. Прочее
|
||||
*/
|
||||
public final TableField<ReasonsAppealRecord, BigDecimal> OTHER = createField(DSL.name("other"), SQLDataType.NUMERIC, this, "Прочее");
|
||||
|
||||
/**
|
||||
* The column <code>appeals.reasons_appeal.recording_date</code>. Дата
|
||||
* записи
|
||||
*/
|
||||
public final TableField<ReasonsAppealRecord, Date> RECORDING_DATE = createField(DSL.name("recording_date"), SQLDataType.DATE.defaultValue(DSL.field(DSL.raw("now()"), SQLDataType.DATE)), this, "Дата записи");
|
||||
|
||||
/**
|
||||
* The column <code>appeals.reasons_appeal.incorrect_inf_percent</code>.
|
||||
* Некорректные сведения в процентах
|
||||
*/
|
||||
public final TableField<ReasonsAppealRecord, BigDecimal> INCORRECT_INF_PERCENT = createField(DSL.name("incorrect_inf_percent"), SQLDataType.NUMERIC, this, "Некорректные сведения в процентах");
|
||||
|
||||
/**
|
||||
* The column <code>appeals.reasons_appeal.no_data_percent</code>. Нет
|
||||
* данных в процентах
|
||||
*/
|
||||
public final TableField<ReasonsAppealRecord, BigDecimal> NO_DATA_PERCENT = createField(DSL.name("no_data_percent"), SQLDataType.NUMERIC, this, "Нет данных в процентах");
|
||||
|
||||
/**
|
||||
* The column <code>appeals.reasons_appeal.other_percent</code>. Прочее в
|
||||
* процентах
|
||||
*/
|
||||
public final TableField<ReasonsAppealRecord, BigDecimal> OTHER_PERCENT = createField(DSL.name("other_percent"), SQLDataType.NUMERIC, this, "Прочее в процентах");
|
||||
|
||||
/**
|
||||
* The column <code>appeals.reasons_appeal.recruitment_id</code>.
|
||||
*/
|
||||
public final TableField<ReasonsAppealRecord, UUID> RECRUITMENT_ID = createField(DSL.name("recruitment_id"), SQLDataType.UUID, this, "");
|
||||
|
||||
private ReasonsAppeal(Name alias, Table<ReasonsAppealRecord> aliased) {
|
||||
this(alias, aliased, (Field<?>[]) null, null);
|
||||
}
|
||||
|
||||
private ReasonsAppeal(Name alias, Table<ReasonsAppealRecord> aliased, Field<?>[] parameters, Condition where) {
|
||||
super(alias, null, aliased, parameters, DSL.comment("Причины обжалования уровень РФ"), TableOptions.table(), where);
|
||||
}
|
||||
|
||||
/**
|
||||
* Create an aliased <code>appeals.reasons_appeal</code> table reference
|
||||
*/
|
||||
public ReasonsAppeal(String alias) {
|
||||
this(DSL.name(alias), REASONS_APPEAL);
|
||||
}
|
||||
|
||||
/**
|
||||
* Create an aliased <code>appeals.reasons_appeal</code> table reference
|
||||
*/
|
||||
public ReasonsAppeal(Name alias) {
|
||||
this(alias, REASONS_APPEAL);
|
||||
}
|
||||
|
||||
/**
|
||||
* Create a <code>appeals.reasons_appeal</code> table reference
|
||||
*/
|
||||
public ReasonsAppeal() {
|
||||
this(DSL.name("reasons_appeal"), null);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Schema getSchema() {
|
||||
return aliased() ? null : Appeals.APPEALS;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Identity<ReasonsAppealRecord, Long> getIdentity() {
|
||||
return (Identity<ReasonsAppealRecord, Long>) super.getIdentity();
|
||||
}
|
||||
|
||||
@Override
|
||||
public UniqueKey<ReasonsAppealRecord> 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<Boolean> 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));
|
||||
}
|
||||
}
|
||||
|
|
@ -1,254 +0,0 @@
|
|||
/*
|
||||
* 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<ReviewRatingRecord> {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* The reference instance of <code>appeals.review_rating</code>
|
||||
*/
|
||||
public static final ReviewRating REVIEW_RATING = new ReviewRating();
|
||||
|
||||
/**
|
||||
* The class holding records for this type
|
||||
*/
|
||||
@Override
|
||||
public Class<ReviewRatingRecord> getRecordType() {
|
||||
return ReviewRatingRecord.class;
|
||||
}
|
||||
|
||||
/**
|
||||
* The column <code>appeals.review_rating.id_review_rating</code>.
|
||||
*/
|
||||
public final TableField<ReviewRatingRecord, Long> ID_REVIEW_RATING = createField(DSL.name("id_review_rating"), SQLDataType.BIGINT.nullable(false).identity(true), this, "");
|
||||
|
||||
/**
|
||||
* The column <code>appeals.review_rating.speed</code>. Скорость
|
||||
* рассмотрения
|
||||
*/
|
||||
public final TableField<ReviewRatingRecord, BigDecimal> SPEED = createField(DSL.name("speed"), SQLDataType.NUMERIC, this, "Скорость рассмотрения");
|
||||
|
||||
/**
|
||||
* The column <code>appeals.review_rating.rating</code>. Оценка
|
||||
* удовлетворенности
|
||||
*/
|
||||
public final TableField<ReviewRatingRecord, BigDecimal> RATING = createField(DSL.name("rating"), SQLDataType.NUMERIC, this, "Оценка удовлетворенности");
|
||||
|
||||
/**
|
||||
* The column <code>appeals.review_rating.recording_date</code>. Дата записи
|
||||
*/
|
||||
public final TableField<ReviewRatingRecord, Date> RECORDING_DATE = createField(DSL.name("recording_date"), SQLDataType.DATE.defaultValue(DSL.field(DSL.raw("now()"), SQLDataType.DATE)), this, "Дата записи");
|
||||
|
||||
/**
|
||||
* The column <code>appeals.review_rating.id_region</code>.
|
||||
*/
|
||||
public final TableField<ReviewRatingRecord, Long> ID_REGION = createField(DSL.name("id_region"), SQLDataType.BIGINT, this, "");
|
||||
|
||||
/**
|
||||
* The column <code>appeals.review_rating.recruitment_id</code>.
|
||||
*/
|
||||
public final TableField<ReviewRatingRecord, UUID> RECRUITMENT_ID = createField(DSL.name("recruitment_id"), SQLDataType.UUID, this, "");
|
||||
|
||||
private ReviewRating(Name alias, Table<ReviewRatingRecord> aliased) {
|
||||
this(alias, aliased, (Field<?>[]) null, null);
|
||||
}
|
||||
|
||||
private ReviewRating(Name alias, Table<ReviewRatingRecord> aliased, Field<?>[] parameters, Condition where) {
|
||||
super(alias, null, aliased, parameters, DSL.comment("Рейтинг рассмотрения жалоб уровень РФ"), TableOptions.table(), where);
|
||||
}
|
||||
|
||||
/**
|
||||
* Create an aliased <code>appeals.review_rating</code> table reference
|
||||
*/
|
||||
public ReviewRating(String alias) {
|
||||
this(DSL.name(alias), REVIEW_RATING);
|
||||
}
|
||||
|
||||
/**
|
||||
* Create an aliased <code>appeals.review_rating</code> table reference
|
||||
*/
|
||||
public ReviewRating(Name alias) {
|
||||
this(alias, REVIEW_RATING);
|
||||
}
|
||||
|
||||
/**
|
||||
* Create a <code>appeals.review_rating</code> table reference
|
||||
*/
|
||||
public ReviewRating() {
|
||||
this(DSL.name("review_rating"), null);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Schema getSchema() {
|
||||
return aliased() ? null : Appeals.APPEALS;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Identity<ReviewRatingRecord, Long> getIdentity() {
|
||||
return (Identity<ReviewRatingRecord, Long>) super.getIdentity();
|
||||
}
|
||||
|
||||
@Override
|
||||
public UniqueKey<ReviewRatingRecord> 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<Boolean> 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));
|
||||
}
|
||||
}
|
||||
|
|
@ -1,285 +0,0 @@
|
|||
/*
|
||||
* 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<TopicAppealRecord> {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* The reference instance of <code>appeals.topic_appeal</code>
|
||||
*/
|
||||
public static final TopicAppeal TOPIC_APPEAL = new TopicAppeal();
|
||||
|
||||
/**
|
||||
* The class holding records for this type
|
||||
*/
|
||||
@Override
|
||||
public Class<TopicAppealRecord> getRecordType() {
|
||||
return TopicAppealRecord.class;
|
||||
}
|
||||
|
||||
/**
|
||||
* The column <code>appeals.topic_appeal.id_topic_appeal</code>.
|
||||
*/
|
||||
public final TableField<TopicAppealRecord, Long> ID_TOPIC_APPEAL = createField(DSL.name("id_topic_appeal"), SQLDataType.BIGINT.nullable(false).identity(true), this, "");
|
||||
|
||||
/**
|
||||
* The column <code>appeals.topic_appeal.registration</code>. Тема
|
||||
* обжалования постановка на учет
|
||||
*/
|
||||
public final TableField<TopicAppealRecord, BigDecimal> REGISTRATION = createField(DSL.name("registration"), SQLDataType.NUMERIC, this, "Тема обжалования постановка на учет");
|
||||
|
||||
/**
|
||||
* The column <code>appeals.topic_appeal.sabpoena</code>. Тема обжалования
|
||||
* повестки
|
||||
*/
|
||||
public final TableField<TopicAppealRecord, BigDecimal> SABPOENA = createField(DSL.name("sabpoena"), SQLDataType.NUMERIC, this, "Тема обжалования повестки");
|
||||
|
||||
/**
|
||||
* The column <code>appeals.topic_appeal.appear</code>. Тема обжалования
|
||||
* явка
|
||||
*/
|
||||
public final TableField<TopicAppealRecord, BigDecimal> APPEAR = createField(DSL.name("appear"), SQLDataType.NUMERIC, this, "Тема обжалования явка");
|
||||
|
||||
/**
|
||||
* The column <code>appeals.topic_appeal.temporary_measures</code>. Тема
|
||||
* обжалования временные меры
|
||||
*/
|
||||
public final TableField<TopicAppealRecord, BigDecimal> TEMPORARY_MEASURES = createField(DSL.name("temporary_measures"), SQLDataType.NUMERIC, this, "Тема обжалования временные меры");
|
||||
|
||||
/**
|
||||
* The column <code>appeals.topic_appeal.recording_date</code>. Дата записи
|
||||
*/
|
||||
public final TableField<TopicAppealRecord, Date> RECORDING_DATE = createField(DSL.name("recording_date"), SQLDataType.DATE.defaultValue(DSL.field(DSL.raw("now()"), SQLDataType.DATE)), this, "Дата записи");
|
||||
|
||||
/**
|
||||
* The column <code>appeals.topic_appeal.registration_percent</code>. Тема
|
||||
* обжалования постановка на учет в процентах
|
||||
*/
|
||||
public final TableField<TopicAppealRecord, BigDecimal> REGISTRATION_PERCENT = createField(DSL.name("registration_percent"), SQLDataType.NUMERIC, this, "Тема обжалования постановка на учет в процентах");
|
||||
|
||||
/**
|
||||
* The column <code>appeals.topic_appeal.sabpoena_percent</code>. Тема
|
||||
* обжалования повестки в процентах
|
||||
*/
|
||||
public final TableField<TopicAppealRecord, BigDecimal> SABPOENA_PERCENT = createField(DSL.name("sabpoena_percent"), SQLDataType.NUMERIC, this, "Тема обжалования повестки в процентах");
|
||||
|
||||
/**
|
||||
* The column <code>appeals.topic_appeal.appear_percent</code>. Тема
|
||||
* обжалования явка в процентах
|
||||
*/
|
||||
public final TableField<TopicAppealRecord, BigDecimal> APPEAR_PERCENT = createField(DSL.name("appear_percent"), SQLDataType.NUMERIC, this, "Тема обжалования явка в процентах");
|
||||
|
||||
/**
|
||||
* The column <code>appeals.topic_appeal.temporary_measures_percent</code>.
|
||||
* Тема обжалования временные меры в процентах
|
||||
*/
|
||||
public final TableField<TopicAppealRecord, BigDecimal> TEMPORARY_MEASURES_PERCENT = createField(DSL.name("temporary_measures_percent"), SQLDataType.NUMERIC, this, "Тема обжалования временные меры в процентах");
|
||||
|
||||
/**
|
||||
* The column <code>appeals.topic_appeal.recruitment_id</code>.
|
||||
*/
|
||||
public final TableField<TopicAppealRecord, UUID> RECRUITMENT_ID = createField(DSL.name("recruitment_id"), SQLDataType.UUID, this, "");
|
||||
|
||||
private TopicAppeal(Name alias, Table<TopicAppealRecord> aliased) {
|
||||
this(alias, aliased, (Field<?>[]) null, null);
|
||||
}
|
||||
|
||||
private TopicAppeal(Name alias, Table<TopicAppealRecord> aliased, Field<?>[] parameters, Condition where) {
|
||||
super(alias, null, aliased, parameters, DSL.comment("Тема обжалования уровень РФ"), TableOptions.table(), where);
|
||||
}
|
||||
|
||||
/**
|
||||
* Create an aliased <code>appeals.topic_appeal</code> table reference
|
||||
*/
|
||||
public TopicAppeal(String alias) {
|
||||
this(DSL.name(alias), TOPIC_APPEAL);
|
||||
}
|
||||
|
||||
/**
|
||||
* Create an aliased <code>appeals.topic_appeal</code> table reference
|
||||
*/
|
||||
public TopicAppeal(Name alias) {
|
||||
this(alias, TOPIC_APPEAL);
|
||||
}
|
||||
|
||||
/**
|
||||
* Create a <code>appeals.topic_appeal</code> table reference
|
||||
*/
|
||||
public TopicAppeal() {
|
||||
this(DSL.name("topic_appeal"), null);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Schema getSchema() {
|
||||
return aliased() ? null : Appeals.APPEALS;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Identity<TopicAppealRecord, Long> getIdentity() {
|
||||
return (Identity<TopicAppealRecord, Long>) super.getIdentity();
|
||||
}
|
||||
|
||||
@Override
|
||||
public UniqueKey<TopicAppealRecord> 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<Boolean> 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));
|
||||
}
|
||||
}
|
||||
|
|
@ -1,172 +0,0 @@
|
|||
/*
|
||||
* 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<MainProfileRecord> {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* Setter for <code>appeals.main_profile.id_main_profile</code>.
|
||||
*/
|
||||
public void setIdMainProfile(Long value) {
|
||||
set(0, value);
|
||||
}
|
||||
|
||||
/**
|
||||
* Getter for <code>appeals.main_profile.id_main_profile</code>.
|
||||
*/
|
||||
public Long getIdMainProfile() {
|
||||
return (Long) get(0);
|
||||
}
|
||||
|
||||
/**
|
||||
* Setter for <code>appeals.main_profile.gender</code>. Пол
|
||||
*/
|
||||
public void setGender(String value) {
|
||||
set(1, value);
|
||||
}
|
||||
|
||||
/**
|
||||
* Getter for <code>appeals.main_profile.gender</code>. Пол
|
||||
*/
|
||||
public String getGender() {
|
||||
return (String) get(1);
|
||||
}
|
||||
|
||||
/**
|
||||
* Setter for <code>appeals.main_profile.age</code>. Возраст
|
||||
*/
|
||||
public void setAge(String value) {
|
||||
set(2, value);
|
||||
}
|
||||
|
||||
/**
|
||||
* Getter for <code>appeals.main_profile.age</code>. Возраст
|
||||
*/
|
||||
public String getAge() {
|
||||
return (String) get(2);
|
||||
}
|
||||
|
||||
/**
|
||||
* Setter for <code>appeals.main_profile.child_min_18</code>. Дети до 18 лет
|
||||
*/
|
||||
public void setChildMin_18(String value) {
|
||||
set(3, value);
|
||||
}
|
||||
|
||||
/**
|
||||
* Getter for <code>appeals.main_profile.child_min_18</code>. Дети до 18 лет
|
||||
*/
|
||||
public String getChildMin_18() {
|
||||
return (String) get(3);
|
||||
}
|
||||
|
||||
/**
|
||||
* Setter for <code>appeals.main_profile.education</code>. Образование
|
||||
*/
|
||||
public void setEducation(String value) {
|
||||
set(4, value);
|
||||
}
|
||||
|
||||
/**
|
||||
* Getter for <code>appeals.main_profile.education</code>. Образование
|
||||
*/
|
||||
public String getEducation() {
|
||||
return (String) get(4);
|
||||
}
|
||||
|
||||
/**
|
||||
* Setter for <code>appeals.main_profile.employment</code>. Занятость
|
||||
*/
|
||||
public void setEmployment(String value) {
|
||||
set(5, value);
|
||||
}
|
||||
|
||||
/**
|
||||
* Getter for <code>appeals.main_profile.employment</code>. Занятость
|
||||
*/
|
||||
public String getEmployment() {
|
||||
return (String) get(5);
|
||||
}
|
||||
|
||||
/**
|
||||
* Setter for <code>appeals.main_profile.recording_date</code>. Дата записи
|
||||
*/
|
||||
public void setRecordingDate(Date value) {
|
||||
set(6, value);
|
||||
}
|
||||
|
||||
/**
|
||||
* Getter for <code>appeals.main_profile.recording_date</code>. Дата записи
|
||||
*/
|
||||
public Date getRecordingDate() {
|
||||
return (Date) get(6);
|
||||
}
|
||||
|
||||
/**
|
||||
* Setter for <code>appeals.main_profile.recruitment_id</code>.
|
||||
*/
|
||||
public void setRecruitmentId(UUID value) {
|
||||
set(7, value);
|
||||
}
|
||||
|
||||
/**
|
||||
* Getter for <code>appeals.main_profile.recruitment_id</code>.
|
||||
*/
|
||||
public UUID getRecruitmentId() {
|
||||
return (UUID) get(7);
|
||||
}
|
||||
|
||||
// -------------------------------------------------------------------------
|
||||
// Primary key information
|
||||
// -------------------------------------------------------------------------
|
||||
|
||||
@Override
|
||||
public Record1<Long> 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();
|
||||
}
|
||||
}
|
||||
|
|
@ -1,213 +0,0 @@
|
|||
/*
|
||||
* 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<ReasonsAppealRecord> {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* Setter for <code>appeals.reasons_appeal.id_reasons_appeal</code>.
|
||||
*/
|
||||
public void setIdReasonsAppeal(Long value) {
|
||||
set(0, value);
|
||||
}
|
||||
|
||||
/**
|
||||
* Getter for <code>appeals.reasons_appeal.id_reasons_appeal</code>.
|
||||
*/
|
||||
public Long getIdReasonsAppeal() {
|
||||
return (Long) get(0);
|
||||
}
|
||||
|
||||
/**
|
||||
* Setter for <code>appeals.reasons_appeal.appeal</code>. Обжалования
|
||||
*/
|
||||
public void setAppeal(BigDecimal value) {
|
||||
set(1, value);
|
||||
}
|
||||
|
||||
/**
|
||||
* Getter for <code>appeals.reasons_appeal.appeal</code>. Обжалования
|
||||
*/
|
||||
public BigDecimal getAppeal() {
|
||||
return (BigDecimal) get(1);
|
||||
}
|
||||
|
||||
/**
|
||||
* Setter for <code>appeals.reasons_appeal.incorrect_inf</code>.
|
||||
* Некорректные сведения
|
||||
*/
|
||||
public void setIncorrectInf(BigDecimal value) {
|
||||
set(2, value);
|
||||
}
|
||||
|
||||
/**
|
||||
* Getter for <code>appeals.reasons_appeal.incorrect_inf</code>.
|
||||
* Некорректные сведения
|
||||
*/
|
||||
public BigDecimal getIncorrectInf() {
|
||||
return (BigDecimal) get(2);
|
||||
}
|
||||
|
||||
/**
|
||||
* Setter for <code>appeals.reasons_appeal.no_data</code>. Нет данных
|
||||
*/
|
||||
public void setNoData(BigDecimal value) {
|
||||
set(3, value);
|
||||
}
|
||||
|
||||
/**
|
||||
* Getter for <code>appeals.reasons_appeal.no_data</code>. Нет данных
|
||||
*/
|
||||
public BigDecimal getNoData() {
|
||||
return (BigDecimal) get(3);
|
||||
}
|
||||
|
||||
/**
|
||||
* Setter for <code>appeals.reasons_appeal.other</code>. Прочее
|
||||
*/
|
||||
public void setOther(BigDecimal value) {
|
||||
set(4, value);
|
||||
}
|
||||
|
||||
/**
|
||||
* Getter for <code>appeals.reasons_appeal.other</code>. Прочее
|
||||
*/
|
||||
public BigDecimal getOther() {
|
||||
return (BigDecimal) get(4);
|
||||
}
|
||||
|
||||
/**
|
||||
* Setter for <code>appeals.reasons_appeal.recording_date</code>. Дата
|
||||
* записи
|
||||
*/
|
||||
public void setRecordingDate(Date value) {
|
||||
set(5, value);
|
||||
}
|
||||
|
||||
/**
|
||||
* Getter for <code>appeals.reasons_appeal.recording_date</code>. Дата
|
||||
* записи
|
||||
*/
|
||||
public Date getRecordingDate() {
|
||||
return (Date) get(5);
|
||||
}
|
||||
|
||||
/**
|
||||
* Setter for <code>appeals.reasons_appeal.incorrect_inf_percent</code>.
|
||||
* Некорректные сведения в процентах
|
||||
*/
|
||||
public void setIncorrectInfPercent(BigDecimal value) {
|
||||
set(6, value);
|
||||
}
|
||||
|
||||
/**
|
||||
* Getter for <code>appeals.reasons_appeal.incorrect_inf_percent</code>.
|
||||
* Некорректные сведения в процентах
|
||||
*/
|
||||
public BigDecimal getIncorrectInfPercent() {
|
||||
return (BigDecimal) get(6);
|
||||
}
|
||||
|
||||
/**
|
||||
* Setter for <code>appeals.reasons_appeal.no_data_percent</code>. Нет
|
||||
* данных в процентах
|
||||
*/
|
||||
public void setNoDataPercent(BigDecimal value) {
|
||||
set(7, value);
|
||||
}
|
||||
|
||||
/**
|
||||
* Getter for <code>appeals.reasons_appeal.no_data_percent</code>. Нет
|
||||
* данных в процентах
|
||||
*/
|
||||
public BigDecimal getNoDataPercent() {
|
||||
return (BigDecimal) get(7);
|
||||
}
|
||||
|
||||
/**
|
||||
* Setter for <code>appeals.reasons_appeal.other_percent</code>. Прочее в
|
||||
* процентах
|
||||
*/
|
||||
public void setOtherPercent(BigDecimal value) {
|
||||
set(8, value);
|
||||
}
|
||||
|
||||
/**
|
||||
* Getter for <code>appeals.reasons_appeal.other_percent</code>. Прочее в
|
||||
* процентах
|
||||
*/
|
||||
public BigDecimal getOtherPercent() {
|
||||
return (BigDecimal) get(8);
|
||||
}
|
||||
|
||||
/**
|
||||
* Setter for <code>appeals.reasons_appeal.recruitment_id</code>.
|
||||
*/
|
||||
public void setRecruitmentId(UUID value) {
|
||||
set(9, value);
|
||||
}
|
||||
|
||||
/**
|
||||
* Getter for <code>appeals.reasons_appeal.recruitment_id</code>.
|
||||
*/
|
||||
public UUID getRecruitmentId() {
|
||||
return (UUID) get(9);
|
||||
}
|
||||
|
||||
// -------------------------------------------------------------------------
|
||||
// Primary key information
|
||||
// -------------------------------------------------------------------------
|
||||
|
||||
@Override
|
||||
public Record1<Long> 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();
|
||||
}
|
||||
}
|
||||
|
|
@ -1,147 +0,0 @@
|
|||
/*
|
||||
* 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<ReviewRatingRecord> {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* Setter for <code>appeals.review_rating.id_review_rating</code>.
|
||||
*/
|
||||
public void setIdReviewRating(Long value) {
|
||||
set(0, value);
|
||||
}
|
||||
|
||||
/**
|
||||
* Getter for <code>appeals.review_rating.id_review_rating</code>.
|
||||
*/
|
||||
public Long getIdReviewRating() {
|
||||
return (Long) get(0);
|
||||
}
|
||||
|
||||
/**
|
||||
* Setter for <code>appeals.review_rating.speed</code>. Скорость
|
||||
* рассмотрения
|
||||
*/
|
||||
public void setSpeed(BigDecimal value) {
|
||||
set(1, value);
|
||||
}
|
||||
|
||||
/**
|
||||
* Getter for <code>appeals.review_rating.speed</code>. Скорость
|
||||
* рассмотрения
|
||||
*/
|
||||
public BigDecimal getSpeed() {
|
||||
return (BigDecimal) get(1);
|
||||
}
|
||||
|
||||
/**
|
||||
* Setter for <code>appeals.review_rating.rating</code>. Оценка
|
||||
* удовлетворенности
|
||||
*/
|
||||
public void setRating(BigDecimal value) {
|
||||
set(2, value);
|
||||
}
|
||||
|
||||
/**
|
||||
* Getter for <code>appeals.review_rating.rating</code>. Оценка
|
||||
* удовлетворенности
|
||||
*/
|
||||
public BigDecimal getRating() {
|
||||
return (BigDecimal) get(2);
|
||||
}
|
||||
|
||||
/**
|
||||
* Setter for <code>appeals.review_rating.recording_date</code>. Дата записи
|
||||
*/
|
||||
public void setRecordingDate(Date value) {
|
||||
set(3, value);
|
||||
}
|
||||
|
||||
/**
|
||||
* Getter for <code>appeals.review_rating.recording_date</code>. Дата записи
|
||||
*/
|
||||
public Date getRecordingDate() {
|
||||
return (Date) get(3);
|
||||
}
|
||||
|
||||
/**
|
||||
* Setter for <code>appeals.review_rating.id_region</code>.
|
||||
*/
|
||||
public void setIdRegion(Long value) {
|
||||
set(4, value);
|
||||
}
|
||||
|
||||
/**
|
||||
* Getter for <code>appeals.review_rating.id_region</code>.
|
||||
*/
|
||||
public Long getIdRegion() {
|
||||
return (Long) get(4);
|
||||
}
|
||||
|
||||
/**
|
||||
* Setter for <code>appeals.review_rating.recruitment_id</code>.
|
||||
*/
|
||||
public void setRecruitmentId(UUID value) {
|
||||
set(5, value);
|
||||
}
|
||||
|
||||
/**
|
||||
* Getter for <code>appeals.review_rating.recruitment_id</code>.
|
||||
*/
|
||||
public UUID getRecruitmentId() {
|
||||
return (UUID) get(5);
|
||||
}
|
||||
|
||||
// -------------------------------------------------------------------------
|
||||
// Primary key information
|
||||
// -------------------------------------------------------------------------
|
||||
|
||||
@Override
|
||||
public Record1<Long> 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();
|
||||
}
|
||||
}
|
||||
|
|
@ -1,234 +0,0 @@
|
|||
/*
|
||||
* 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<TopicAppealRecord> {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* Setter for <code>appeals.topic_appeal.id_topic_appeal</code>.
|
||||
*/
|
||||
public void setIdTopicAppeal(Long value) {
|
||||
set(0, value);
|
||||
}
|
||||
|
||||
/**
|
||||
* Getter for <code>appeals.topic_appeal.id_topic_appeal</code>.
|
||||
*/
|
||||
public Long getIdTopicAppeal() {
|
||||
return (Long) get(0);
|
||||
}
|
||||
|
||||
/**
|
||||
* Setter for <code>appeals.topic_appeal.registration</code>. Тема
|
||||
* обжалования постановка на учет
|
||||
*/
|
||||
public void setRegistration(BigDecimal value) {
|
||||
set(1, value);
|
||||
}
|
||||
|
||||
/**
|
||||
* Getter for <code>appeals.topic_appeal.registration</code>. Тема
|
||||
* обжалования постановка на учет
|
||||
*/
|
||||
public BigDecimal getRegistration() {
|
||||
return (BigDecimal) get(1);
|
||||
}
|
||||
|
||||
/**
|
||||
* Setter for <code>appeals.topic_appeal.sabpoena</code>. Тема обжалования
|
||||
* повестки
|
||||
*/
|
||||
public void setSabpoena(BigDecimal value) {
|
||||
set(2, value);
|
||||
}
|
||||
|
||||
/**
|
||||
* Getter for <code>appeals.topic_appeal.sabpoena</code>. Тема обжалования
|
||||
* повестки
|
||||
*/
|
||||
public BigDecimal getSabpoena() {
|
||||
return (BigDecimal) get(2);
|
||||
}
|
||||
|
||||
/**
|
||||
* Setter for <code>appeals.topic_appeal.appear</code>. Тема обжалования
|
||||
* явка
|
||||
*/
|
||||
public void setAppear(BigDecimal value) {
|
||||
set(3, value);
|
||||
}
|
||||
|
||||
/**
|
||||
* Getter for <code>appeals.topic_appeal.appear</code>. Тема обжалования
|
||||
* явка
|
||||
*/
|
||||
public BigDecimal getAppear() {
|
||||
return (BigDecimal) get(3);
|
||||
}
|
||||
|
||||
/**
|
||||
* Setter for <code>appeals.topic_appeal.temporary_measures</code>. Тема
|
||||
* обжалования временные меры
|
||||
*/
|
||||
public void setTemporaryMeasures(BigDecimal value) {
|
||||
set(4, value);
|
||||
}
|
||||
|
||||
/**
|
||||
* Getter for <code>appeals.topic_appeal.temporary_measures</code>. Тема
|
||||
* обжалования временные меры
|
||||
*/
|
||||
public BigDecimal getTemporaryMeasures() {
|
||||
return (BigDecimal) get(4);
|
||||
}
|
||||
|
||||
/**
|
||||
* Setter for <code>appeals.topic_appeal.recording_date</code>. Дата записи
|
||||
*/
|
||||
public void setRecordingDate(Date value) {
|
||||
set(5, value);
|
||||
}
|
||||
|
||||
/**
|
||||
* Getter for <code>appeals.topic_appeal.recording_date</code>. Дата записи
|
||||
*/
|
||||
public Date getRecordingDate() {
|
||||
return (Date) get(5);
|
||||
}
|
||||
|
||||
/**
|
||||
* Setter for <code>appeals.topic_appeal.registration_percent</code>. Тема
|
||||
* обжалования постановка на учет в процентах
|
||||
*/
|
||||
public void setRegistrationPercent(BigDecimal value) {
|
||||
set(6, value);
|
||||
}
|
||||
|
||||
/**
|
||||
* Getter for <code>appeals.topic_appeal.registration_percent</code>. Тема
|
||||
* обжалования постановка на учет в процентах
|
||||
*/
|
||||
public BigDecimal getRegistrationPercent() {
|
||||
return (BigDecimal) get(6);
|
||||
}
|
||||
|
||||
/**
|
||||
* Setter for <code>appeals.topic_appeal.sabpoena_percent</code>. Тема
|
||||
* обжалования повестки в процентах
|
||||
*/
|
||||
public void setSabpoenaPercent(BigDecimal value) {
|
||||
set(7, value);
|
||||
}
|
||||
|
||||
/**
|
||||
* Getter for <code>appeals.topic_appeal.sabpoena_percent</code>. Тема
|
||||
* обжалования повестки в процентах
|
||||
*/
|
||||
public BigDecimal getSabpoenaPercent() {
|
||||
return (BigDecimal) get(7);
|
||||
}
|
||||
|
||||
/**
|
||||
* Setter for <code>appeals.topic_appeal.appear_percent</code>. Тема
|
||||
* обжалования явка в процентах
|
||||
*/
|
||||
public void setAppearPercent(BigDecimal value) {
|
||||
set(8, value);
|
||||
}
|
||||
|
||||
/**
|
||||
* Getter for <code>appeals.topic_appeal.appear_percent</code>. Тема
|
||||
* обжалования явка в процентах
|
||||
*/
|
||||
public BigDecimal getAppearPercent() {
|
||||
return (BigDecimal) get(8);
|
||||
}
|
||||
|
||||
/**
|
||||
* Setter for <code>appeals.topic_appeal.temporary_measures_percent</code>.
|
||||
* Тема обжалования временные меры в процентах
|
||||
*/
|
||||
public void setTemporaryMeasuresPercent(BigDecimal value) {
|
||||
set(9, value);
|
||||
}
|
||||
|
||||
/**
|
||||
* Getter for <code>appeals.topic_appeal.temporary_measures_percent</code>.
|
||||
* Тема обжалования временные меры в процентах
|
||||
*/
|
||||
public BigDecimal getTemporaryMeasuresPercent() {
|
||||
return (BigDecimal) get(9);
|
||||
}
|
||||
|
||||
/**
|
||||
* Setter for <code>appeals.topic_appeal.recruitment_id</code>.
|
||||
*/
|
||||
public void setRecruitmentId(UUID value) {
|
||||
set(10, value);
|
||||
}
|
||||
|
||||
/**
|
||||
* Getter for <code>appeals.topic_appeal.recruitment_id</code>.
|
||||
*/
|
||||
public UUID getRecruitmentId() {
|
||||
return (UUID) get(10);
|
||||
}
|
||||
|
||||
// -------------------------------------------------------------------------
|
||||
// Primary key information
|
||||
// -------------------------------------------------------------------------
|
||||
|
||||
@Override
|
||||
public Record1<Long> 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();
|
||||
}
|
||||
}
|
||||
|
|
@ -4,14 +4,16 @@
|
|||
package ervu_lkrp_ul.ervu_lkrp_ul.db_beans.public_;
|
||||
|
||||
|
||||
import ervu_lkrp_ul.ervu_lkrp_ul.db_beans.public_.tables.Databasechangeloglock;
|
||||
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.Shedlock;
|
||||
import ervu_lkrp_ul.ervu_lkrp_ul.db_beans.public_.tables.records.DatabasechangeloglockRecord;
|
||||
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 ervu_lkrp_ul.ervu_lkrp_ul.db_beans.public_.tables.records.ShedlockRecord;
|
||||
|
||||
import org.jooq.TableField;
|
||||
import org.jooq.UniqueKey;
|
||||
|
|
@ -30,9 +32,10 @@ public class Keys {
|
|||
// UNIQUE and PRIMARY KEY definitions
|
||||
// -------------------------------------------------------------------------
|
||||
|
||||
public static final UniqueKey<DatabasechangeloglockRecord> DATABASECHANGELOGLOCK_PKEY = Internal.createUniqueKey(Databasechangeloglock.DATABASECHANGELOGLOCK, DSL.name("databasechangeloglock_pkey"), new TableField[] { Databasechangeloglock.DATABASECHANGELOGLOCK.ID }, true);
|
||||
public static final UniqueKey<FilesRecord> FILES_PKEY = Internal.createUniqueKey(Files.FILES, DSL.name("files_pkey"), new TableField[] { Files.FILES.FILE_ID }, true);
|
||||
public static final UniqueKey<InteractionLogRecord> INTERACTION_LOG_PKEY = Internal.createUniqueKey(InteractionLog.INTERACTION_LOG, DSL.name("interaction_log_pkey"), new TableField[] { InteractionLog.INTERACTION_LOG.ID }, true);
|
||||
public static final UniqueKey<OkopfRecordsRecord> 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<OkopfRecordsRecord> 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<OrgOkvedRecord> ORG_OKVED_PKEY = Internal.createUniqueKey(OrgOkved.ORG_OKVED, DSL.name("org_okved_pkey"), new TableField[] { OrgOkved.ORG_OKVED.ID }, true);
|
||||
public static final UniqueKey<ShedlockRecord> SHEDLOCK_PK = Internal.createUniqueKey(Shedlock.SHEDLOCK, DSL.name("shedlock_pk"), new TableField[] { Shedlock.SHEDLOCK.NAME }, true);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -5,10 +5,13 @@ 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.Databasechangelog;
|
||||
import ervu_lkrp_ul.ervu_lkrp_ul.db_beans.public_.tables.Databasechangeloglock;
|
||||
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.Shedlock;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
|
|
@ -31,6 +34,16 @@ public class Public extends SchemaImpl {
|
|||
*/
|
||||
public static final Public PUBLIC = new Public();
|
||||
|
||||
/**
|
||||
* The table <code>public.databasechangelog</code>.
|
||||
*/
|
||||
public final Databasechangelog DATABASECHANGELOG = Databasechangelog.DATABASECHANGELOG;
|
||||
|
||||
/**
|
||||
* The table <code>public.databasechangeloglock</code>.
|
||||
*/
|
||||
public final Databasechangeloglock DATABASECHANGELOGLOCK = Databasechangeloglock.DATABASECHANGELOGLOCK;
|
||||
|
||||
/**
|
||||
* The table <code>public.files</code>.
|
||||
*/
|
||||
|
|
@ -51,6 +64,11 @@ public class Public extends SchemaImpl {
|
|||
*/
|
||||
public final OrgOkved ORG_OKVED = OrgOkved.ORG_OKVED;
|
||||
|
||||
/**
|
||||
* The table <code>public.shedlock</code>.
|
||||
*/
|
||||
public final Shedlock SHEDLOCK = Shedlock.SHEDLOCK;
|
||||
|
||||
/**
|
||||
* No further instances allowed
|
||||
*/
|
||||
|
|
@ -67,10 +85,13 @@ public class Public extends SchemaImpl {
|
|||
@Override
|
||||
public final List<Table<?>> getTables() {
|
||||
return Arrays.asList(
|
||||
Databasechangelog.DATABASECHANGELOG,
|
||||
Databasechangeloglock.DATABASECHANGELOGLOCK,
|
||||
Files.FILES,
|
||||
InteractionLog.INTERACTION_LOG,
|
||||
OkopfRecords.OKOPF_RECORDS,
|
||||
OrgOkved.ORG_OKVED
|
||||
OrgOkved.ORG_OKVED,
|
||||
Shedlock.SHEDLOCK
|
||||
);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -4,10 +4,13 @@
|
|||
package ervu_lkrp_ul.ervu_lkrp_ul.db_beans.public_;
|
||||
|
||||
|
||||
import ervu_lkrp_ul.ervu_lkrp_ul.db_beans.public_.tables.Databasechangelog;
|
||||
import ervu_lkrp_ul.ervu_lkrp_ul.db_beans.public_.tables.Databasechangeloglock;
|
||||
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.Shedlock;
|
||||
|
||||
|
||||
/**
|
||||
|
|
@ -16,6 +19,16 @@ import ervu_lkrp_ul.ervu_lkrp_ul.db_beans.public_.tables.OrgOkved;
|
|||
@SuppressWarnings({ "all", "unchecked", "rawtypes" })
|
||||
public class Tables {
|
||||
|
||||
/**
|
||||
* The table <code>public.databasechangelog</code>.
|
||||
*/
|
||||
public static final Databasechangelog DATABASECHANGELOG = Databasechangelog.DATABASECHANGELOG;
|
||||
|
||||
/**
|
||||
* The table <code>public.databasechangeloglock</code>.
|
||||
*/
|
||||
public static final Databasechangeloglock DATABASECHANGELOGLOCK = Databasechangeloglock.DATABASECHANGELOGLOCK;
|
||||
|
||||
/**
|
||||
* The table <code>public.files</code>.
|
||||
*/
|
||||
|
|
@ -35,4 +48,9 @@ public class Tables {
|
|||
* The table <code>public.org_okved</code>.
|
||||
*/
|
||||
public static final OrgOkved ORG_OKVED = OrgOkved.ORG_OKVED;
|
||||
|
||||
/**
|
||||
* The table <code>public.shedlock</code>.
|
||||
*/
|
||||
public static final Shedlock SHEDLOCK = Shedlock.SHEDLOCK;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,277 @@
|
|||
/*
|
||||
* 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_.Public;
|
||||
import ervu_lkrp_ul.ervu_lkrp_ul.db_beans.public_.tables.records.DatabasechangelogRecord;
|
||||
|
||||
import java.sql.Timestamp;
|
||||
import java.util.Collection;
|
||||
|
||||
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.impl.DSL;
|
||||
import org.jooq.impl.SQLDataType;
|
||||
import org.jooq.impl.TableImpl;
|
||||
|
||||
|
||||
/**
|
||||
* This class is generated by jOOQ.
|
||||
*/
|
||||
@SuppressWarnings({ "all", "unchecked", "rawtypes" })
|
||||
public class Databasechangelog extends TableImpl<DatabasechangelogRecord> {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* The reference instance of <code>public.databasechangelog</code>
|
||||
*/
|
||||
public static final Databasechangelog DATABASECHANGELOG = new Databasechangelog();
|
||||
|
||||
/**
|
||||
* The class holding records for this type
|
||||
*/
|
||||
@Override
|
||||
public Class<DatabasechangelogRecord> getRecordType() {
|
||||
return DatabasechangelogRecord.class;
|
||||
}
|
||||
|
||||
/**
|
||||
* The column <code>public.databasechangelog.id</code>.
|
||||
*/
|
||||
public final TableField<DatabasechangelogRecord, String> ID = createField(DSL.name("id"), SQLDataType.VARCHAR(255).nullable(false), this, "");
|
||||
|
||||
/**
|
||||
* The column <code>public.databasechangelog.author</code>.
|
||||
*/
|
||||
public final TableField<DatabasechangelogRecord, String> AUTHOR = createField(DSL.name("author"), SQLDataType.VARCHAR(255).nullable(false), this, "");
|
||||
|
||||
/**
|
||||
* The column <code>public.databasechangelog.filename</code>.
|
||||
*/
|
||||
public final TableField<DatabasechangelogRecord, String> FILENAME = createField(DSL.name("filename"), SQLDataType.VARCHAR(255).nullable(false), this, "");
|
||||
|
||||
/**
|
||||
* The column <code>public.databasechangelog.dateexecuted</code>.
|
||||
*/
|
||||
public final TableField<DatabasechangelogRecord, Timestamp> DATEEXECUTED = createField(DSL.name("dateexecuted"), SQLDataType.TIMESTAMP(0).nullable(false), this, "");
|
||||
|
||||
/**
|
||||
* The column <code>public.databasechangelog.orderexecuted</code>.
|
||||
*/
|
||||
public final TableField<DatabasechangelogRecord, Integer> ORDEREXECUTED = createField(DSL.name("orderexecuted"), SQLDataType.INTEGER.nullable(false), this, "");
|
||||
|
||||
/**
|
||||
* The column <code>public.databasechangelog.exectype</code>.
|
||||
*/
|
||||
public final TableField<DatabasechangelogRecord, String> EXECTYPE = createField(DSL.name("exectype"), SQLDataType.VARCHAR(10).nullable(false), this, "");
|
||||
|
||||
/**
|
||||
* The column <code>public.databasechangelog.md5sum</code>.
|
||||
*/
|
||||
public final TableField<DatabasechangelogRecord, String> MD5SUM = createField(DSL.name("md5sum"), SQLDataType.VARCHAR(35), this, "");
|
||||
|
||||
/**
|
||||
* The column <code>public.databasechangelog.description</code>.
|
||||
*/
|
||||
public final TableField<DatabasechangelogRecord, String> DESCRIPTION = createField(DSL.name("description"), SQLDataType.VARCHAR(255), this, "");
|
||||
|
||||
/**
|
||||
* The column <code>public.databasechangelog.comments</code>.
|
||||
*/
|
||||
public final TableField<DatabasechangelogRecord, String> COMMENTS = createField(DSL.name("comments"), SQLDataType.VARCHAR(255), this, "");
|
||||
|
||||
/**
|
||||
* The column <code>public.databasechangelog.tag</code>.
|
||||
*/
|
||||
public final TableField<DatabasechangelogRecord, String> TAG = createField(DSL.name("tag"), SQLDataType.VARCHAR(255), this, "");
|
||||
|
||||
/**
|
||||
* The column <code>public.databasechangelog.liquibase</code>.
|
||||
*/
|
||||
public final TableField<DatabasechangelogRecord, String> LIQUIBASE = createField(DSL.name("liquibase"), SQLDataType.VARCHAR(20), this, "");
|
||||
|
||||
/**
|
||||
* The column <code>public.databasechangelog.contexts</code>.
|
||||
*/
|
||||
public final TableField<DatabasechangelogRecord, String> CONTEXTS = createField(DSL.name("contexts"), SQLDataType.VARCHAR(255), this, "");
|
||||
|
||||
/**
|
||||
* The column <code>public.databasechangelog.labels</code>.
|
||||
*/
|
||||
public final TableField<DatabasechangelogRecord, String> LABELS = createField(DSL.name("labels"), SQLDataType.VARCHAR(255), this, "");
|
||||
|
||||
/**
|
||||
* The column <code>public.databasechangelog.deployment_id</code>.
|
||||
*/
|
||||
public final TableField<DatabasechangelogRecord, String> DEPLOYMENT_ID = createField(DSL.name("deployment_id"), SQLDataType.VARCHAR(10), this, "");
|
||||
|
||||
private Databasechangelog(Name alias, Table<DatabasechangelogRecord> aliased) {
|
||||
this(alias, aliased, (Field<?>[]) null, null);
|
||||
}
|
||||
|
||||
private Databasechangelog(Name alias, Table<DatabasechangelogRecord> aliased, Field<?>[] parameters, Condition where) {
|
||||
super(alias, null, aliased, parameters, DSL.comment(""), TableOptions.table(), where);
|
||||
}
|
||||
|
||||
/**
|
||||
* Create an aliased <code>public.databasechangelog</code> table reference
|
||||
*/
|
||||
public Databasechangelog(String alias) {
|
||||
this(DSL.name(alias), DATABASECHANGELOG);
|
||||
}
|
||||
|
||||
/**
|
||||
* Create an aliased <code>public.databasechangelog</code> table reference
|
||||
*/
|
||||
public Databasechangelog(Name alias) {
|
||||
this(alias, DATABASECHANGELOG);
|
||||
}
|
||||
|
||||
/**
|
||||
* Create a <code>public.databasechangelog</code> table reference
|
||||
*/
|
||||
public Databasechangelog() {
|
||||
this(DSL.name("databasechangelog"), null);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Schema getSchema() {
|
||||
return aliased() ? null : Public.PUBLIC;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Databasechangelog as(String alias) {
|
||||
return new Databasechangelog(DSL.name(alias), this);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Databasechangelog as(Name alias) {
|
||||
return new Databasechangelog(alias, this);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Databasechangelog as(Table<?> alias) {
|
||||
return new Databasechangelog(alias.getQualifiedName(), this);
|
||||
}
|
||||
|
||||
/**
|
||||
* Rename this table
|
||||
*/
|
||||
@Override
|
||||
public Databasechangelog rename(String name) {
|
||||
return new Databasechangelog(DSL.name(name), null);
|
||||
}
|
||||
|
||||
/**
|
||||
* Rename this table
|
||||
*/
|
||||
@Override
|
||||
public Databasechangelog rename(Name name) {
|
||||
return new Databasechangelog(name, null);
|
||||
}
|
||||
|
||||
/**
|
||||
* Rename this table
|
||||
*/
|
||||
@Override
|
||||
public Databasechangelog rename(Table<?> name) {
|
||||
return new Databasechangelog(name.getQualifiedName(), null);
|
||||
}
|
||||
|
||||
/**
|
||||
* Create an inline derived table from this table
|
||||
*/
|
||||
@Override
|
||||
public Databasechangelog where(Condition condition) {
|
||||
return new Databasechangelog(getQualifiedName(), aliased() ? this : null, null, condition);
|
||||
}
|
||||
|
||||
/**
|
||||
* Create an inline derived table from this table
|
||||
*/
|
||||
@Override
|
||||
public Databasechangelog where(Collection<? extends Condition> conditions) {
|
||||
return where(DSL.and(conditions));
|
||||
}
|
||||
|
||||
/**
|
||||
* Create an inline derived table from this table
|
||||
*/
|
||||
@Override
|
||||
public Databasechangelog where(Condition... conditions) {
|
||||
return where(DSL.and(conditions));
|
||||
}
|
||||
|
||||
/**
|
||||
* Create an inline derived table from this table
|
||||
*/
|
||||
@Override
|
||||
public Databasechangelog where(Field<Boolean> condition) {
|
||||
return where(DSL.condition(condition));
|
||||
}
|
||||
|
||||
/**
|
||||
* Create an inline derived table from this table
|
||||
*/
|
||||
@Override
|
||||
@PlainSQL
|
||||
public Databasechangelog where(SQL condition) {
|
||||
return where(DSL.condition(condition));
|
||||
}
|
||||
|
||||
/**
|
||||
* Create an inline derived table from this table
|
||||
*/
|
||||
@Override
|
||||
@PlainSQL
|
||||
public Databasechangelog where(@Stringly.SQL String condition) {
|
||||
return where(DSL.condition(condition));
|
||||
}
|
||||
|
||||
/**
|
||||
* Create an inline derived table from this table
|
||||
*/
|
||||
@Override
|
||||
@PlainSQL
|
||||
public Databasechangelog where(@Stringly.SQL String condition, Object... binds) {
|
||||
return where(DSL.condition(condition, binds));
|
||||
}
|
||||
|
||||
/**
|
||||
* Create an inline derived table from this table
|
||||
*/
|
||||
@Override
|
||||
@PlainSQL
|
||||
public Databasechangelog where(@Stringly.SQL String condition, QueryPart... parts) {
|
||||
return where(DSL.condition(condition, parts));
|
||||
}
|
||||
|
||||
/**
|
||||
* Create an inline derived table from this table
|
||||
*/
|
||||
@Override
|
||||
public Databasechangelog whereExists(Select<?> select) {
|
||||
return where(DSL.exists(select));
|
||||
}
|
||||
|
||||
/**
|
||||
* Create an inline derived table from this table
|
||||
*/
|
||||
@Override
|
||||
public Databasechangelog whereNotExists(Select<?> select) {
|
||||
return where(DSL.notExists(select));
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,236 @@
|
|||
/*
|
||||
* 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.DatabasechangeloglockRecord;
|
||||
|
||||
import java.sql.Timestamp;
|
||||
import java.util.Collection;
|
||||
|
||||
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 Databasechangeloglock extends TableImpl<DatabasechangeloglockRecord> {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* The reference instance of <code>public.databasechangeloglock</code>
|
||||
*/
|
||||
public static final Databasechangeloglock DATABASECHANGELOGLOCK = new Databasechangeloglock();
|
||||
|
||||
/**
|
||||
* The class holding records for this type
|
||||
*/
|
||||
@Override
|
||||
public Class<DatabasechangeloglockRecord> getRecordType() {
|
||||
return DatabasechangeloglockRecord.class;
|
||||
}
|
||||
|
||||
/**
|
||||
* The column <code>public.databasechangeloglock.id</code>.
|
||||
*/
|
||||
public final TableField<DatabasechangeloglockRecord, Integer> ID = createField(DSL.name("id"), SQLDataType.INTEGER.nullable(false), this, "");
|
||||
|
||||
/**
|
||||
* The column <code>public.databasechangeloglock.locked</code>.
|
||||
*/
|
||||
public final TableField<DatabasechangeloglockRecord, Boolean> LOCKED = createField(DSL.name("locked"), SQLDataType.BOOLEAN.nullable(false), this, "");
|
||||
|
||||
/**
|
||||
* The column <code>public.databasechangeloglock.lockgranted</code>.
|
||||
*/
|
||||
public final TableField<DatabasechangeloglockRecord, Timestamp> LOCKGRANTED = createField(DSL.name("lockgranted"), SQLDataType.TIMESTAMP(0), this, "");
|
||||
|
||||
/**
|
||||
* The column <code>public.databasechangeloglock.lockedby</code>.
|
||||
*/
|
||||
public final TableField<DatabasechangeloglockRecord, String> LOCKEDBY = createField(DSL.name("lockedby"), SQLDataType.VARCHAR(255), this, "");
|
||||
|
||||
private Databasechangeloglock(Name alias, Table<DatabasechangeloglockRecord> aliased) {
|
||||
this(alias, aliased, (Field<?>[]) null, null);
|
||||
}
|
||||
|
||||
private Databasechangeloglock(Name alias, Table<DatabasechangeloglockRecord> aliased, Field<?>[] parameters, Condition where) {
|
||||
super(alias, null, aliased, parameters, DSL.comment(""), TableOptions.table(), where);
|
||||
}
|
||||
|
||||
/**
|
||||
* Create an aliased <code>public.databasechangeloglock</code> table
|
||||
* reference
|
||||
*/
|
||||
public Databasechangeloglock(String alias) {
|
||||
this(DSL.name(alias), DATABASECHANGELOGLOCK);
|
||||
}
|
||||
|
||||
/**
|
||||
* Create an aliased <code>public.databasechangeloglock</code> table
|
||||
* reference
|
||||
*/
|
||||
public Databasechangeloglock(Name alias) {
|
||||
this(alias, DATABASECHANGELOGLOCK);
|
||||
}
|
||||
|
||||
/**
|
||||
* Create a <code>public.databasechangeloglock</code> table reference
|
||||
*/
|
||||
public Databasechangeloglock() {
|
||||
this(DSL.name("databasechangeloglock"), null);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Schema getSchema() {
|
||||
return aliased() ? null : Public.PUBLIC;
|
||||
}
|
||||
|
||||
@Override
|
||||
public UniqueKey<DatabasechangeloglockRecord> getPrimaryKey() {
|
||||
return Keys.DATABASECHANGELOGLOCK_PKEY;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Databasechangeloglock as(String alias) {
|
||||
return new Databasechangeloglock(DSL.name(alias), this);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Databasechangeloglock as(Name alias) {
|
||||
return new Databasechangeloglock(alias, this);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Databasechangeloglock as(Table<?> alias) {
|
||||
return new Databasechangeloglock(alias.getQualifiedName(), this);
|
||||
}
|
||||
|
||||
/**
|
||||
* Rename this table
|
||||
*/
|
||||
@Override
|
||||
public Databasechangeloglock rename(String name) {
|
||||
return new Databasechangeloglock(DSL.name(name), null);
|
||||
}
|
||||
|
||||
/**
|
||||
* Rename this table
|
||||
*/
|
||||
@Override
|
||||
public Databasechangeloglock rename(Name name) {
|
||||
return new Databasechangeloglock(name, null);
|
||||
}
|
||||
|
||||
/**
|
||||
* Rename this table
|
||||
*/
|
||||
@Override
|
||||
public Databasechangeloglock rename(Table<?> name) {
|
||||
return new Databasechangeloglock(name.getQualifiedName(), null);
|
||||
}
|
||||
|
||||
/**
|
||||
* Create an inline derived table from this table
|
||||
*/
|
||||
@Override
|
||||
public Databasechangeloglock where(Condition condition) {
|
||||
return new Databasechangeloglock(getQualifiedName(), aliased() ? this : null, null, condition);
|
||||
}
|
||||
|
||||
/**
|
||||
* Create an inline derived table from this table
|
||||
*/
|
||||
@Override
|
||||
public Databasechangeloglock where(Collection<? extends Condition> conditions) {
|
||||
return where(DSL.and(conditions));
|
||||
}
|
||||
|
||||
/**
|
||||
* Create an inline derived table from this table
|
||||
*/
|
||||
@Override
|
||||
public Databasechangeloglock where(Condition... conditions) {
|
||||
return where(DSL.and(conditions));
|
||||
}
|
||||
|
||||
/**
|
||||
* Create an inline derived table from this table
|
||||
*/
|
||||
@Override
|
||||
public Databasechangeloglock where(Field<Boolean> condition) {
|
||||
return where(DSL.condition(condition));
|
||||
}
|
||||
|
||||
/**
|
||||
* Create an inline derived table from this table
|
||||
*/
|
||||
@Override
|
||||
@PlainSQL
|
||||
public Databasechangeloglock where(SQL condition) {
|
||||
return where(DSL.condition(condition));
|
||||
}
|
||||
|
||||
/**
|
||||
* Create an inline derived table from this table
|
||||
*/
|
||||
@Override
|
||||
@PlainSQL
|
||||
public Databasechangeloglock where(@Stringly.SQL String condition) {
|
||||
return where(DSL.condition(condition));
|
||||
}
|
||||
|
||||
/**
|
||||
* Create an inline derived table from this table
|
||||
*/
|
||||
@Override
|
||||
@PlainSQL
|
||||
public Databasechangeloglock where(@Stringly.SQL String condition, Object... binds) {
|
||||
return where(DSL.condition(condition, binds));
|
||||
}
|
||||
|
||||
/**
|
||||
* Create an inline derived table from this table
|
||||
*/
|
||||
@Override
|
||||
@PlainSQL
|
||||
public Databasechangeloglock where(@Stringly.SQL String condition, QueryPart... parts) {
|
||||
return where(DSL.condition(condition, parts));
|
||||
}
|
||||
|
||||
/**
|
||||
* Create an inline derived table from this table
|
||||
*/
|
||||
@Override
|
||||
public Databasechangeloglock whereExists(Select<?> select) {
|
||||
return where(DSL.exists(select));
|
||||
}
|
||||
|
||||
/**
|
||||
* Create an inline derived table from this table
|
||||
*/
|
||||
@Override
|
||||
public Databasechangeloglock whereNotExists(Select<?> select) {
|
||||
return where(DSL.notExists(select));
|
||||
}
|
||||
}
|
||||
|
|
@ -4,7 +4,6 @@
|
|||
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.InteractionLogRecord;
|
||||
|
||||
|
|
@ -24,7 +23,6 @@ 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;
|
||||
|
|
@ -76,6 +74,11 @@ public class InteractionLog extends TableImpl<InteractionLogRecord> {
|
|||
*/
|
||||
public final TableField<InteractionLogRecord, String> STATUS = createField(DSL.name("status"), SQLDataType.CLOB, this, "");
|
||||
|
||||
/**
|
||||
* The column <code>public.interaction_log.file_name</code>.
|
||||
*/
|
||||
public final TableField<InteractionLogRecord, String> FILE_NAME = createField(DSL.name("file_name"), SQLDataType.CLOB, this, "");
|
||||
|
||||
/**
|
||||
* The column <code>public.interaction_log.records_sent</code>.
|
||||
*/
|
||||
|
|
@ -86,11 +89,6 @@ public class InteractionLog extends TableImpl<InteractionLogRecord> {
|
|||
*/
|
||||
public final TableField<InteractionLogRecord, Integer> RECORDS_ACCEPTED = createField(DSL.name("records_accepted"), SQLDataType.INTEGER, this, "");
|
||||
|
||||
/**
|
||||
* The column <code>public.interaction_log.file_name</code>.
|
||||
*/
|
||||
public final TableField<InteractionLogRecord, String> FILE_NAME = createField(DSL.name("file_name"), SQLDataType.CLOB, this, "");
|
||||
|
||||
/**
|
||||
* The column <code>public.interaction_log.file_id</code>.
|
||||
*/
|
||||
|
|
@ -140,11 +138,6 @@ public class InteractionLog extends TableImpl<InteractionLogRecord> {
|
|||
return (Identity<InteractionLogRecord, Long>) super.getIdentity();
|
||||
}
|
||||
|
||||
@Override
|
||||
public UniqueKey<InteractionLogRecord> getPrimaryKey() {
|
||||
return Keys.INTERACTION_LOG_PKEY;
|
||||
}
|
||||
|
||||
@Override
|
||||
public InteractionLog as(String alias) {
|
||||
return new InteractionLog(DSL.name(alias), this);
|
||||
|
|
|
|||
|
|
@ -59,7 +59,7 @@ public class OkopfRecords extends TableImpl<OkopfRecordsRecord> {
|
|||
/**
|
||||
* The column <code>public.okopf_records.name</code>.
|
||||
*/
|
||||
public final TableField<OkopfRecordsRecord, String> NAME = createField(DSL.name("name"), SQLDataType.VARCHAR, this, "");
|
||||
public final TableField<OkopfRecordsRecord, String> NAME = createField(DSL.name("name"), SQLDataType.VARCHAR.nullable(false), this, "");
|
||||
|
||||
/**
|
||||
* The column <code>public.okopf_records.version</code>.
|
||||
|
|
|
|||
|
|
@ -0,0 +1,234 @@
|
|||
/*
|
||||
* 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.ShedlockRecord;
|
||||
|
||||
import java.sql.Timestamp;
|
||||
import java.util.Collection;
|
||||
|
||||
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 Shedlock extends TableImpl<ShedlockRecord> {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* The reference instance of <code>public.shedlock</code>
|
||||
*/
|
||||
public static final Shedlock SHEDLOCK = new Shedlock();
|
||||
|
||||
/**
|
||||
* The class holding records for this type
|
||||
*/
|
||||
@Override
|
||||
public Class<ShedlockRecord> getRecordType() {
|
||||
return ShedlockRecord.class;
|
||||
}
|
||||
|
||||
/**
|
||||
* The column <code>public.shedlock.name</code>.
|
||||
*/
|
||||
public final TableField<ShedlockRecord, String> NAME = createField(DSL.name("name"), SQLDataType.VARCHAR(255).nullable(false), this, "");
|
||||
|
||||
/**
|
||||
* The column <code>public.shedlock.lock_until</code>.
|
||||
*/
|
||||
public final TableField<ShedlockRecord, Timestamp> LOCK_UNTIL = createField(DSL.name("lock_until"), SQLDataType.TIMESTAMP(0), this, "");
|
||||
|
||||
/**
|
||||
* The column <code>public.shedlock.locked_at</code>.
|
||||
*/
|
||||
public final TableField<ShedlockRecord, Timestamp> LOCKED_AT = createField(DSL.name("locked_at"), SQLDataType.TIMESTAMP(0), this, "");
|
||||
|
||||
/**
|
||||
* The column <code>public.shedlock.locked_by</code>.
|
||||
*/
|
||||
public final TableField<ShedlockRecord, String> LOCKED_BY = createField(DSL.name("locked_by"), SQLDataType.VARCHAR(255), this, "");
|
||||
|
||||
private Shedlock(Name alias, Table<ShedlockRecord> aliased) {
|
||||
this(alias, aliased, (Field<?>[]) null, null);
|
||||
}
|
||||
|
||||
private Shedlock(Name alias, Table<ShedlockRecord> aliased, Field<?>[] parameters, Condition where) {
|
||||
super(alias, null, aliased, parameters, DSL.comment(""), TableOptions.table(), where);
|
||||
}
|
||||
|
||||
/**
|
||||
* Create an aliased <code>public.shedlock</code> table reference
|
||||
*/
|
||||
public Shedlock(String alias) {
|
||||
this(DSL.name(alias), SHEDLOCK);
|
||||
}
|
||||
|
||||
/**
|
||||
* Create an aliased <code>public.shedlock</code> table reference
|
||||
*/
|
||||
public Shedlock(Name alias) {
|
||||
this(alias, SHEDLOCK);
|
||||
}
|
||||
|
||||
/**
|
||||
* Create a <code>public.shedlock</code> table reference
|
||||
*/
|
||||
public Shedlock() {
|
||||
this(DSL.name("shedlock"), null);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Schema getSchema() {
|
||||
return aliased() ? null : Public.PUBLIC;
|
||||
}
|
||||
|
||||
@Override
|
||||
public UniqueKey<ShedlockRecord> getPrimaryKey() {
|
||||
return Keys.SHEDLOCK_PK;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Shedlock as(String alias) {
|
||||
return new Shedlock(DSL.name(alias), this);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Shedlock as(Name alias) {
|
||||
return new Shedlock(alias, this);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Shedlock as(Table<?> alias) {
|
||||
return new Shedlock(alias.getQualifiedName(), this);
|
||||
}
|
||||
|
||||
/**
|
||||
* Rename this table
|
||||
*/
|
||||
@Override
|
||||
public Shedlock rename(String name) {
|
||||
return new Shedlock(DSL.name(name), null);
|
||||
}
|
||||
|
||||
/**
|
||||
* Rename this table
|
||||
*/
|
||||
@Override
|
||||
public Shedlock rename(Name name) {
|
||||
return new Shedlock(name, null);
|
||||
}
|
||||
|
||||
/**
|
||||
* Rename this table
|
||||
*/
|
||||
@Override
|
||||
public Shedlock rename(Table<?> name) {
|
||||
return new Shedlock(name.getQualifiedName(), null);
|
||||
}
|
||||
|
||||
/**
|
||||
* Create an inline derived table from this table
|
||||
*/
|
||||
@Override
|
||||
public Shedlock where(Condition condition) {
|
||||
return new Shedlock(getQualifiedName(), aliased() ? this : null, null, condition);
|
||||
}
|
||||
|
||||
/**
|
||||
* Create an inline derived table from this table
|
||||
*/
|
||||
@Override
|
||||
public Shedlock where(Collection<? extends Condition> conditions) {
|
||||
return where(DSL.and(conditions));
|
||||
}
|
||||
|
||||
/**
|
||||
* Create an inline derived table from this table
|
||||
*/
|
||||
@Override
|
||||
public Shedlock where(Condition... conditions) {
|
||||
return where(DSL.and(conditions));
|
||||
}
|
||||
|
||||
/**
|
||||
* Create an inline derived table from this table
|
||||
*/
|
||||
@Override
|
||||
public Shedlock where(Field<Boolean> condition) {
|
||||
return where(DSL.condition(condition));
|
||||
}
|
||||
|
||||
/**
|
||||
* Create an inline derived table from this table
|
||||
*/
|
||||
@Override
|
||||
@PlainSQL
|
||||
public Shedlock where(SQL condition) {
|
||||
return where(DSL.condition(condition));
|
||||
}
|
||||
|
||||
/**
|
||||
* Create an inline derived table from this table
|
||||
*/
|
||||
@Override
|
||||
@PlainSQL
|
||||
public Shedlock where(@Stringly.SQL String condition) {
|
||||
return where(DSL.condition(condition));
|
||||
}
|
||||
|
||||
/**
|
||||
* Create an inline derived table from this table
|
||||
*/
|
||||
@Override
|
||||
@PlainSQL
|
||||
public Shedlock where(@Stringly.SQL String condition, Object... binds) {
|
||||
return where(DSL.condition(condition, binds));
|
||||
}
|
||||
|
||||
/**
|
||||
* Create an inline derived table from this table
|
||||
*/
|
||||
@Override
|
||||
@PlainSQL
|
||||
public Shedlock where(@Stringly.SQL String condition, QueryPart... parts) {
|
||||
return where(DSL.condition(condition, parts));
|
||||
}
|
||||
|
||||
/**
|
||||
* Create an inline derived table from this table
|
||||
*/
|
||||
@Override
|
||||
public Shedlock whereExists(Select<?> select) {
|
||||
return where(DSL.exists(select));
|
||||
}
|
||||
|
||||
/**
|
||||
* Create an inline derived table from this table
|
||||
*/
|
||||
@Override
|
||||
public Shedlock whereNotExists(Select<?> select) {
|
||||
return where(DSL.notExists(select));
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,251 @@
|
|||
/*
|
||||
* 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.Databasechangelog;
|
||||
|
||||
import java.sql.Timestamp;
|
||||
|
||||
import org.jooq.impl.TableRecordImpl;
|
||||
|
||||
|
||||
/**
|
||||
* This class is generated by jOOQ.
|
||||
*/
|
||||
@SuppressWarnings({ "all", "unchecked", "rawtypes" })
|
||||
public class DatabasechangelogRecord extends TableRecordImpl<DatabasechangelogRecord> {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* Setter for <code>public.databasechangelog.id</code>.
|
||||
*/
|
||||
public void setId(String value) {
|
||||
set(0, value);
|
||||
}
|
||||
|
||||
/**
|
||||
* Getter for <code>public.databasechangelog.id</code>.
|
||||
*/
|
||||
public String getId() {
|
||||
return (String) get(0);
|
||||
}
|
||||
|
||||
/**
|
||||
* Setter for <code>public.databasechangelog.author</code>.
|
||||
*/
|
||||
public void setAuthor(String value) {
|
||||
set(1, value);
|
||||
}
|
||||
|
||||
/**
|
||||
* Getter for <code>public.databasechangelog.author</code>.
|
||||
*/
|
||||
public String getAuthor() {
|
||||
return (String) get(1);
|
||||
}
|
||||
|
||||
/**
|
||||
* Setter for <code>public.databasechangelog.filename</code>.
|
||||
*/
|
||||
public void setFilename(String value) {
|
||||
set(2, value);
|
||||
}
|
||||
|
||||
/**
|
||||
* Getter for <code>public.databasechangelog.filename</code>.
|
||||
*/
|
||||
public String getFilename() {
|
||||
return (String) get(2);
|
||||
}
|
||||
|
||||
/**
|
||||
* Setter for <code>public.databasechangelog.dateexecuted</code>.
|
||||
*/
|
||||
public void setDateexecuted(Timestamp value) {
|
||||
set(3, value);
|
||||
}
|
||||
|
||||
/**
|
||||
* Getter for <code>public.databasechangelog.dateexecuted</code>.
|
||||
*/
|
||||
public Timestamp getDateexecuted() {
|
||||
return (Timestamp) get(3);
|
||||
}
|
||||
|
||||
/**
|
||||
* Setter for <code>public.databasechangelog.orderexecuted</code>.
|
||||
*/
|
||||
public void setOrderexecuted(Integer value) {
|
||||
set(4, value);
|
||||
}
|
||||
|
||||
/**
|
||||
* Getter for <code>public.databasechangelog.orderexecuted</code>.
|
||||
*/
|
||||
public Integer getOrderexecuted() {
|
||||
return (Integer) get(4);
|
||||
}
|
||||
|
||||
/**
|
||||
* Setter for <code>public.databasechangelog.exectype</code>.
|
||||
*/
|
||||
public void setExectype(String value) {
|
||||
set(5, value);
|
||||
}
|
||||
|
||||
/**
|
||||
* Getter for <code>public.databasechangelog.exectype</code>.
|
||||
*/
|
||||
public String getExectype() {
|
||||
return (String) get(5);
|
||||
}
|
||||
|
||||
/**
|
||||
* Setter for <code>public.databasechangelog.md5sum</code>.
|
||||
*/
|
||||
public void setMd5sum(String value) {
|
||||
set(6, value);
|
||||
}
|
||||
|
||||
/**
|
||||
* Getter for <code>public.databasechangelog.md5sum</code>.
|
||||
*/
|
||||
public String getMd5sum() {
|
||||
return (String) get(6);
|
||||
}
|
||||
|
||||
/**
|
||||
* Setter for <code>public.databasechangelog.description</code>.
|
||||
*/
|
||||
public void setDescription(String value) {
|
||||
set(7, value);
|
||||
}
|
||||
|
||||
/**
|
||||
* Getter for <code>public.databasechangelog.description</code>.
|
||||
*/
|
||||
public String getDescription() {
|
||||
return (String) get(7);
|
||||
}
|
||||
|
||||
/**
|
||||
* Setter for <code>public.databasechangelog.comments</code>.
|
||||
*/
|
||||
public void setComments(String value) {
|
||||
set(8, value);
|
||||
}
|
||||
|
||||
/**
|
||||
* Getter for <code>public.databasechangelog.comments</code>.
|
||||
*/
|
||||
public String getComments() {
|
||||
return (String) get(8);
|
||||
}
|
||||
|
||||
/**
|
||||
* Setter for <code>public.databasechangelog.tag</code>.
|
||||
*/
|
||||
public void setTag(String value) {
|
||||
set(9, value);
|
||||
}
|
||||
|
||||
/**
|
||||
* Getter for <code>public.databasechangelog.tag</code>.
|
||||
*/
|
||||
public String getTag() {
|
||||
return (String) get(9);
|
||||
}
|
||||
|
||||
/**
|
||||
* Setter for <code>public.databasechangelog.liquibase</code>.
|
||||
*/
|
||||
public void setLiquibase(String value) {
|
||||
set(10, value);
|
||||
}
|
||||
|
||||
/**
|
||||
* Getter for <code>public.databasechangelog.liquibase</code>.
|
||||
*/
|
||||
public String getLiquibase() {
|
||||
return (String) get(10);
|
||||
}
|
||||
|
||||
/**
|
||||
* Setter for <code>public.databasechangelog.contexts</code>.
|
||||
*/
|
||||
public void setContexts(String value) {
|
||||
set(11, value);
|
||||
}
|
||||
|
||||
/**
|
||||
* Getter for <code>public.databasechangelog.contexts</code>.
|
||||
*/
|
||||
public String getContexts() {
|
||||
return (String) get(11);
|
||||
}
|
||||
|
||||
/**
|
||||
* Setter for <code>public.databasechangelog.labels</code>.
|
||||
*/
|
||||
public void setLabels(String value) {
|
||||
set(12, value);
|
||||
}
|
||||
|
||||
/**
|
||||
* Getter for <code>public.databasechangelog.labels</code>.
|
||||
*/
|
||||
public String getLabels() {
|
||||
return (String) get(12);
|
||||
}
|
||||
|
||||
/**
|
||||
* Setter for <code>public.databasechangelog.deployment_id</code>.
|
||||
*/
|
||||
public void setDeploymentId(String value) {
|
||||
set(13, value);
|
||||
}
|
||||
|
||||
/**
|
||||
* Getter for <code>public.databasechangelog.deployment_id</code>.
|
||||
*/
|
||||
public String getDeploymentId() {
|
||||
return (String) get(13);
|
||||
}
|
||||
|
||||
// -------------------------------------------------------------------------
|
||||
// Constructors
|
||||
// -------------------------------------------------------------------------
|
||||
|
||||
/**
|
||||
* Create a detached DatabasechangelogRecord
|
||||
*/
|
||||
public DatabasechangelogRecord() {
|
||||
super(Databasechangelog.DATABASECHANGELOG);
|
||||
}
|
||||
|
||||
/**
|
||||
* Create a detached, initialised DatabasechangelogRecord
|
||||
*/
|
||||
public DatabasechangelogRecord(String id, String author, String filename, Timestamp dateexecuted, Integer orderexecuted, String exectype, String md5sum, String description, String comments, String tag, String liquibase, String contexts, String labels, String deploymentId) {
|
||||
super(Databasechangelog.DATABASECHANGELOG);
|
||||
|
||||
setId(id);
|
||||
setAuthor(author);
|
||||
setFilename(filename);
|
||||
setDateexecuted(dateexecuted);
|
||||
setOrderexecuted(orderexecuted);
|
||||
setExectype(exectype);
|
||||
setMd5sum(md5sum);
|
||||
setDescription(description);
|
||||
setComments(comments);
|
||||
setTag(tag);
|
||||
setLiquibase(liquibase);
|
||||
setContexts(contexts);
|
||||
setLabels(labels);
|
||||
setDeploymentId(deploymentId);
|
||||
resetChangedOnNotNull();
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,111 @@
|
|||
/*
|
||||
* 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.Databasechangeloglock;
|
||||
|
||||
import java.sql.Timestamp;
|
||||
|
||||
import org.jooq.Record1;
|
||||
import org.jooq.impl.UpdatableRecordImpl;
|
||||
|
||||
|
||||
/**
|
||||
* This class is generated by jOOQ.
|
||||
*/
|
||||
@SuppressWarnings({ "all", "unchecked", "rawtypes" })
|
||||
public class DatabasechangeloglockRecord extends UpdatableRecordImpl<DatabasechangeloglockRecord> {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* Setter for <code>public.databasechangeloglock.id</code>.
|
||||
*/
|
||||
public void setId(Integer value) {
|
||||
set(0, value);
|
||||
}
|
||||
|
||||
/**
|
||||
* Getter for <code>public.databasechangeloglock.id</code>.
|
||||
*/
|
||||
public Integer getId() {
|
||||
return (Integer) get(0);
|
||||
}
|
||||
|
||||
/**
|
||||
* Setter for <code>public.databasechangeloglock.locked</code>.
|
||||
*/
|
||||
public void setLocked(Boolean value) {
|
||||
set(1, value);
|
||||
}
|
||||
|
||||
/**
|
||||
* Getter for <code>public.databasechangeloglock.locked</code>.
|
||||
*/
|
||||
public Boolean getLocked() {
|
||||
return (Boolean) get(1);
|
||||
}
|
||||
|
||||
/**
|
||||
* Setter for <code>public.databasechangeloglock.lockgranted</code>.
|
||||
*/
|
||||
public void setLockgranted(Timestamp value) {
|
||||
set(2, value);
|
||||
}
|
||||
|
||||
/**
|
||||
* Getter for <code>public.databasechangeloglock.lockgranted</code>.
|
||||
*/
|
||||
public Timestamp getLockgranted() {
|
||||
return (Timestamp) get(2);
|
||||
}
|
||||
|
||||
/**
|
||||
* Setter for <code>public.databasechangeloglock.lockedby</code>.
|
||||
*/
|
||||
public void setLockedby(String value) {
|
||||
set(3, value);
|
||||
}
|
||||
|
||||
/**
|
||||
* Getter for <code>public.databasechangeloglock.lockedby</code>.
|
||||
*/
|
||||
public String getLockedby() {
|
||||
return (String) get(3);
|
||||
}
|
||||
|
||||
// -------------------------------------------------------------------------
|
||||
// Primary key information
|
||||
// -------------------------------------------------------------------------
|
||||
|
||||
@Override
|
||||
public Record1<Integer> key() {
|
||||
return (Record1) super.key();
|
||||
}
|
||||
|
||||
// -------------------------------------------------------------------------
|
||||
// Constructors
|
||||
// -------------------------------------------------------------------------
|
||||
|
||||
/**
|
||||
* Create a detached DatabasechangeloglockRecord
|
||||
*/
|
||||
public DatabasechangeloglockRecord() {
|
||||
super(Databasechangeloglock.DATABASECHANGELOGLOCK);
|
||||
}
|
||||
|
||||
/**
|
||||
* Create a detached, initialised DatabasechangeloglockRecord
|
||||
*/
|
||||
public DatabasechangeloglockRecord(Integer id, Boolean locked, Timestamp lockgranted, String lockedby) {
|
||||
super(Databasechangeloglock.DATABASECHANGELOGLOCK);
|
||||
|
||||
setId(id);
|
||||
setLocked(locked);
|
||||
setLockgranted(lockgranted);
|
||||
setLockedby(lockedby);
|
||||
resetChangedOnNotNull();
|
||||
}
|
||||
}
|
||||
|
|
@ -8,15 +8,14 @@ import ervu_lkrp_ul.ervu_lkrp_ul.db_beans.public_.tables.InteractionLog;
|
|||
|
||||
import java.sql.Timestamp;
|
||||
|
||||
import org.jooq.Record1;
|
||||
import org.jooq.impl.UpdatableRecordImpl;
|
||||
import org.jooq.impl.TableRecordImpl;
|
||||
|
||||
|
||||
/**
|
||||
* This class is generated by jOOQ.
|
||||
*/
|
||||
@SuppressWarnings({ "all", "unchecked", "rawtypes" })
|
||||
public class InteractionLogRecord extends UpdatableRecordImpl<InteractionLogRecord> {
|
||||
public class InteractionLogRecord extends TableRecordImpl<InteractionLogRecord> {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
|
|
@ -90,46 +89,46 @@ public class InteractionLogRecord extends UpdatableRecordImpl<InteractionLogReco
|
|||
return (String) get(4);
|
||||
}
|
||||
|
||||
/**
|
||||
* Setter for <code>public.interaction_log.records_sent</code>.
|
||||
*/
|
||||
public void setRecordsSent(Integer value) {
|
||||
set(5, value);
|
||||
}
|
||||
|
||||
/**
|
||||
* Getter for <code>public.interaction_log.records_sent</code>.
|
||||
*/
|
||||
public Integer getRecordsSent() {
|
||||
return (Integer) get(5);
|
||||
}
|
||||
|
||||
/**
|
||||
* Setter for <code>public.interaction_log.records_accepted</code>.
|
||||
*/
|
||||
public void setRecordsAccepted(Integer value) {
|
||||
set(6, value);
|
||||
}
|
||||
|
||||
/**
|
||||
* Getter for <code>public.interaction_log.records_accepted</code>.
|
||||
*/
|
||||
public Integer getRecordsAccepted() {
|
||||
return (Integer) get(6);
|
||||
}
|
||||
|
||||
/**
|
||||
* Setter for <code>public.interaction_log.file_name</code>.
|
||||
*/
|
||||
public void setFileName(String value) {
|
||||
set(7, value);
|
||||
set(5, value);
|
||||
}
|
||||
|
||||
/**
|
||||
* Getter for <code>public.interaction_log.file_name</code>.
|
||||
*/
|
||||
public String getFileName() {
|
||||
return (String) get(7);
|
||||
return (String) get(5);
|
||||
}
|
||||
|
||||
/**
|
||||
* Setter for <code>public.interaction_log.records_sent</code>.
|
||||
*/
|
||||
public void setRecordsSent(Integer value) {
|
||||
set(6, value);
|
||||
}
|
||||
|
||||
/**
|
||||
* Getter for <code>public.interaction_log.records_sent</code>.
|
||||
*/
|
||||
public Integer getRecordsSent() {
|
||||
return (Integer) get(6);
|
||||
}
|
||||
|
||||
/**
|
||||
* Setter for <code>public.interaction_log.records_accepted</code>.
|
||||
*/
|
||||
public void setRecordsAccepted(Integer value) {
|
||||
set(7, value);
|
||||
}
|
||||
|
||||
/**
|
||||
* Getter for <code>public.interaction_log.records_accepted</code>.
|
||||
*/
|
||||
public Integer getRecordsAccepted() {
|
||||
return (Integer) get(7);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -160,15 +159,6 @@ public class InteractionLogRecord extends UpdatableRecordImpl<InteractionLogReco
|
|||
return (String) get(9);
|
||||
}
|
||||
|
||||
// -------------------------------------------------------------------------
|
||||
// Primary key information
|
||||
// -------------------------------------------------------------------------
|
||||
|
||||
@Override
|
||||
public Record1<Long> key() {
|
||||
return (Record1) super.key();
|
||||
}
|
||||
|
||||
// -------------------------------------------------------------------------
|
||||
// Constructors
|
||||
// -------------------------------------------------------------------------
|
||||
|
|
@ -183,7 +173,7 @@ public class InteractionLogRecord extends UpdatableRecordImpl<InteractionLogReco
|
|||
/**
|
||||
* Create a detached, initialised InteractionLogRecord
|
||||
*/
|
||||
public InteractionLogRecord(Long id, Timestamp sentDate, String form, String sender, String status, Integer recordsSent, Integer recordsAccepted, String fileName, String fileId, String ervuId) {
|
||||
public InteractionLogRecord(Long id, Timestamp sentDate, String form, String sender, String status, String fileName, Integer recordsSent, Integer recordsAccepted, String fileId, String ervuId) {
|
||||
super(InteractionLog.INTERACTION_LOG);
|
||||
|
||||
setId(id);
|
||||
|
|
@ -191,9 +181,9 @@ public class InteractionLogRecord extends UpdatableRecordImpl<InteractionLogReco
|
|||
setForm(form);
|
||||
setSender(sender);
|
||||
setStatus(status);
|
||||
setFileName(fileName);
|
||||
setRecordsSent(recordsSent);
|
||||
setRecordsAccepted(recordsAccepted);
|
||||
setFileName(fileName);
|
||||
setFileId(fileId);
|
||||
setErvuId(ervuId);
|
||||
resetChangedOnNotNull();
|
||||
|
|
|
|||
|
|
@ -0,0 +1,111 @@
|
|||
/*
|
||||
* 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.Shedlock;
|
||||
|
||||
import java.sql.Timestamp;
|
||||
|
||||
import org.jooq.Record1;
|
||||
import org.jooq.impl.UpdatableRecordImpl;
|
||||
|
||||
|
||||
/**
|
||||
* This class is generated by jOOQ.
|
||||
*/
|
||||
@SuppressWarnings({ "all", "unchecked", "rawtypes" })
|
||||
public class ShedlockRecord extends UpdatableRecordImpl<ShedlockRecord> {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* Setter for <code>public.shedlock.name</code>.
|
||||
*/
|
||||
public void setName(String value) {
|
||||
set(0, value);
|
||||
}
|
||||
|
||||
/**
|
||||
* Getter for <code>public.shedlock.name</code>.
|
||||
*/
|
||||
public String getName() {
|
||||
return (String) get(0);
|
||||
}
|
||||
|
||||
/**
|
||||
* Setter for <code>public.shedlock.lock_until</code>.
|
||||
*/
|
||||
public void setLockUntil(Timestamp value) {
|
||||
set(1, value);
|
||||
}
|
||||
|
||||
/**
|
||||
* Getter for <code>public.shedlock.lock_until</code>.
|
||||
*/
|
||||
public Timestamp getLockUntil() {
|
||||
return (Timestamp) get(1);
|
||||
}
|
||||
|
||||
/**
|
||||
* Setter for <code>public.shedlock.locked_at</code>.
|
||||
*/
|
||||
public void setLockedAt(Timestamp value) {
|
||||
set(2, value);
|
||||
}
|
||||
|
||||
/**
|
||||
* Getter for <code>public.shedlock.locked_at</code>.
|
||||
*/
|
||||
public Timestamp getLockedAt() {
|
||||
return (Timestamp) get(2);
|
||||
}
|
||||
|
||||
/**
|
||||
* Setter for <code>public.shedlock.locked_by</code>.
|
||||
*/
|
||||
public void setLockedBy(String value) {
|
||||
set(3, value);
|
||||
}
|
||||
|
||||
/**
|
||||
* Getter for <code>public.shedlock.locked_by</code>.
|
||||
*/
|
||||
public String getLockedBy() {
|
||||
return (String) get(3);
|
||||
}
|
||||
|
||||
// -------------------------------------------------------------------------
|
||||
// Primary key information
|
||||
// -------------------------------------------------------------------------
|
||||
|
||||
@Override
|
||||
public Record1<String> key() {
|
||||
return (Record1) super.key();
|
||||
}
|
||||
|
||||
// -------------------------------------------------------------------------
|
||||
// Constructors
|
||||
// -------------------------------------------------------------------------
|
||||
|
||||
/**
|
||||
* Create a detached ShedlockRecord
|
||||
*/
|
||||
public ShedlockRecord() {
|
||||
super(Shedlock.SHEDLOCK);
|
||||
}
|
||||
|
||||
/**
|
||||
* Create a detached, initialised ShedlockRecord
|
||||
*/
|
||||
public ShedlockRecord(String name, Timestamp lockUntil, Timestamp lockedAt, String lockedBy) {
|
||||
super(Shedlock.SHEDLOCK);
|
||||
|
||||
setName(name);
|
||||
setLockUntil(lockUntil);
|
||||
setLockedAt(lockedAt);
|
||||
setLockedBy(lockedBy);
|
||||
resetChangedOnNotNull();
|
||||
}
|
||||
}
|
||||
|
|
@ -1,34 +0,0 @@
|
|||
/*
|
||||
* 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<AppearSubppoenaRecord> 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<ConsiderationComplaintRecord> 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<RecruitmentRecord> PK_RECRUITMENT = Internal.createUniqueKey(Recruitment.RECRUITMENT, DSL.name("pk_recruitment"), new TableField[] { Recruitment.RECRUITMENT.ID_RECRUITMENT }, true);
|
||||
}
|
||||
|
|
@ -1,69 +0,0 @@
|
|||
/*
|
||||
* 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 <code>ratings</code>
|
||||
*/
|
||||
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<Table<?>> getTables() {
|
||||
return Arrays.asList(
|
||||
AppearSubppoena.APPEAR_SUBPPOENA,
|
||||
ConsiderationComplaint.CONSIDERATION_COMPLAINT,
|
||||
Recruitment.RECRUITMENT
|
||||
);
|
||||
}
|
||||
}
|
||||
|
|
@ -1,32 +0,0 @@
|
|||
/*
|
||||
* 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;
|
||||
}
|
||||
|
|
@ -1,255 +0,0 @@
|
|||
/*
|
||||
* 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<AppearSubppoenaRecord> {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* The reference instance of <code>ratings.appear_subppoena</code>
|
||||
*/
|
||||
public static final AppearSubppoena APPEAR_SUBPPOENA = new AppearSubppoena();
|
||||
|
||||
/**
|
||||
* The class holding records for this type
|
||||
*/
|
||||
@Override
|
||||
public Class<AppearSubppoenaRecord> getRecordType() {
|
||||
return AppearSubppoenaRecord.class;
|
||||
}
|
||||
|
||||
/**
|
||||
* The column <code>ratings.appear_subppoena.id_appear_subppoena</code>.
|
||||
*/
|
||||
public final TableField<AppearSubppoenaRecord, Long> ID_APPEAR_SUBPPOENA = createField(DSL.name("id_appear_subppoena"), SQLDataType.BIGINT.nullable(false).identity(true), this, "");
|
||||
|
||||
/**
|
||||
* The column <code>ratings.appear_subppoena.id_region</code>.
|
||||
*/
|
||||
public final TableField<AppearSubppoenaRecord, Integer> ID_REGION = createField(DSL.name("id_region"), SQLDataType.INTEGER, this, "");
|
||||
|
||||
/**
|
||||
* The column <code>ratings.appear_subppoena.appear_mil_com</code>. Явка в
|
||||
* военкомат
|
||||
*/
|
||||
public final TableField<AppearSubppoenaRecord, BigDecimal> APPEAR_MIL_COM = createField(DSL.name("appear_mil_com"), SQLDataType.NUMERIC, this, "Явка в военкомат");
|
||||
|
||||
/**
|
||||
* The column <code>ratings.appear_subppoena.recording_date</code>. Дата
|
||||
* записи
|
||||
*/
|
||||
public final TableField<AppearSubppoenaRecord, Date> RECORDING_DATE = createField(DSL.name("recording_date"), SQLDataType.DATE, this, "Дата записи");
|
||||
|
||||
/**
|
||||
* The column <code>ratings.appear_subppoena.appear_mil_com_percent</code>.
|
||||
* Явка в военкомат в процентах
|
||||
*/
|
||||
public final TableField<AppearSubppoenaRecord, BigDecimal> APPEAR_MIL_COM_PERCENT = createField(DSL.name("appear_mil_com_percent"), SQLDataType.NUMERIC, this, "Явка в военкомат в процентах");
|
||||
|
||||
/**
|
||||
* The column <code>ratings.appear_subppoena.recruitment_id</code>.
|
||||
*/
|
||||
public final TableField<AppearSubppoenaRecord, UUID> RECRUITMENT_ID = createField(DSL.name("recruitment_id"), SQLDataType.UUID, this, "");
|
||||
|
||||
private AppearSubppoena(Name alias, Table<AppearSubppoenaRecord> aliased) {
|
||||
this(alias, aliased, (Field<?>[]) null, null);
|
||||
}
|
||||
|
||||
private AppearSubppoena(Name alias, Table<AppearSubppoenaRecord> aliased, Field<?>[] parameters, Condition where) {
|
||||
super(alias, null, aliased, parameters, DSL.comment("Явка по повестке уровень РФ"), TableOptions.table(), where);
|
||||
}
|
||||
|
||||
/**
|
||||
* Create an aliased <code>ratings.appear_subppoena</code> table reference
|
||||
*/
|
||||
public AppearSubppoena(String alias) {
|
||||
this(DSL.name(alias), APPEAR_SUBPPOENA);
|
||||
}
|
||||
|
||||
/**
|
||||
* Create an aliased <code>ratings.appear_subppoena</code> table reference
|
||||
*/
|
||||
public AppearSubppoena(Name alias) {
|
||||
this(alias, APPEAR_SUBPPOENA);
|
||||
}
|
||||
|
||||
/**
|
||||
* Create a <code>ratings.appear_subppoena</code> table reference
|
||||
*/
|
||||
public AppearSubppoena() {
|
||||
this(DSL.name("appear_subppoena"), null);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Schema getSchema() {
|
||||
return aliased() ? null : Ratings.RATINGS;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Identity<AppearSubppoenaRecord, Long> getIdentity() {
|
||||
return (Identity<AppearSubppoenaRecord, Long>) super.getIdentity();
|
||||
}
|
||||
|
||||
@Override
|
||||
public UniqueKey<AppearSubppoenaRecord> 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<Boolean> 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));
|
||||
}
|
||||
}
|
||||
|
|
@ -1,260 +0,0 @@
|
|||
/*
|
||||
* 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<ConsiderationComplaintRecord> {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* The reference instance of <code>ratings.consideration_complaint</code>
|
||||
*/
|
||||
public static final ConsiderationComplaint CONSIDERATION_COMPLAINT = new ConsiderationComplaint();
|
||||
|
||||
/**
|
||||
* The class holding records for this type
|
||||
*/
|
||||
@Override
|
||||
public Class<ConsiderationComplaintRecord> getRecordType() {
|
||||
return ConsiderationComplaintRecord.class;
|
||||
}
|
||||
|
||||
/**
|
||||
* The column
|
||||
* <code>ratings.consideration_complaint.id_consideration_complaint</code>.
|
||||
*/
|
||||
public final TableField<ConsiderationComplaintRecord, Long> ID_CONSIDERATION_COMPLAINT = createField(DSL.name("id_consideration_complaint"), SQLDataType.BIGINT.nullable(false).identity(true), this, "");
|
||||
|
||||
/**
|
||||
* The column <code>ratings.consideration_complaint.id_region</code>.
|
||||
*/
|
||||
public final TableField<ConsiderationComplaintRecord, Integer> ID_REGION = createField(DSL.name("id_region"), SQLDataType.INTEGER, this, "");
|
||||
|
||||
/**
|
||||
* The column
|
||||
* <code>ratings.consideration_complaint.consideration_complaint</code>.
|
||||
* Рассмотрение жалоб
|
||||
*/
|
||||
public final TableField<ConsiderationComplaintRecord, BigDecimal> CONSIDERATION_COMPLAINT_ = createField(DSL.name("consideration_complaint"), SQLDataType.NUMERIC, this, "Рассмотрение жалоб");
|
||||
|
||||
/**
|
||||
* The column <code>ratings.consideration_complaint.recording_date</code>.
|
||||
* Дата записи
|
||||
*/
|
||||
public final TableField<ConsiderationComplaintRecord, Date> RECORDING_DATE = createField(DSL.name("recording_date"), SQLDataType.DATE, this, "Дата записи");
|
||||
|
||||
/**
|
||||
* The column
|
||||
* <code>ratings.consideration_complaint.consideration_complaint_percent</code>.
|
||||
* Рассмотрение жалоб в процентах
|
||||
*/
|
||||
public final TableField<ConsiderationComplaintRecord, BigDecimal> CONSIDERATION_COMPLAINT_PERCENT = createField(DSL.name("consideration_complaint_percent"), SQLDataType.NUMERIC, this, "Рассмотрение жалоб в процентах");
|
||||
|
||||
/**
|
||||
* The column <code>ratings.consideration_complaint.recruitment_id</code>.
|
||||
*/
|
||||
public final TableField<ConsiderationComplaintRecord, UUID> RECRUITMENT_ID = createField(DSL.name("recruitment_id"), SQLDataType.UUID, this, "");
|
||||
|
||||
private ConsiderationComplaint(Name alias, Table<ConsiderationComplaintRecord> aliased) {
|
||||
this(alias, aliased, (Field<?>[]) null, null);
|
||||
}
|
||||
|
||||
private ConsiderationComplaint(Name alias, Table<ConsiderationComplaintRecord> aliased, Field<?>[] parameters, Condition where) {
|
||||
super(alias, null, aliased, parameters, DSL.comment("Рассмотрение жалоб уровень РФ"), TableOptions.table(), where);
|
||||
}
|
||||
|
||||
/**
|
||||
* Create an aliased <code>ratings.consideration_complaint</code> table
|
||||
* reference
|
||||
*/
|
||||
public ConsiderationComplaint(String alias) {
|
||||
this(DSL.name(alias), CONSIDERATION_COMPLAINT);
|
||||
}
|
||||
|
||||
/**
|
||||
* Create an aliased <code>ratings.consideration_complaint</code> table
|
||||
* reference
|
||||
*/
|
||||
public ConsiderationComplaint(Name alias) {
|
||||
this(alias, CONSIDERATION_COMPLAINT);
|
||||
}
|
||||
|
||||
/**
|
||||
* Create a <code>ratings.consideration_complaint</code> table reference
|
||||
*/
|
||||
public ConsiderationComplaint() {
|
||||
this(DSL.name("consideration_complaint"), null);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Schema getSchema() {
|
||||
return aliased() ? null : Ratings.RATINGS;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Identity<ConsiderationComplaintRecord, Long> getIdentity() {
|
||||
return (Identity<ConsiderationComplaintRecord, Long>) super.getIdentity();
|
||||
}
|
||||
|
||||
@Override
|
||||
public UniqueKey<ConsiderationComplaintRecord> 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<Boolean> 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));
|
||||
}
|
||||
}
|
||||
|
|
@ -1,259 +0,0 @@
|
|||
/*
|
||||
* 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<RecruitmentRecord> {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* The reference instance of <code>ratings.recruitment</code>
|
||||
*/
|
||||
public static final Recruitment RECRUITMENT = new Recruitment();
|
||||
|
||||
/**
|
||||
* The class holding records for this type
|
||||
*/
|
||||
@Override
|
||||
public Class<RecruitmentRecord> getRecordType() {
|
||||
return RecruitmentRecord.class;
|
||||
}
|
||||
|
||||
/**
|
||||
* The column <code>ratings.recruitment.id_recruitment</code>.
|
||||
*/
|
||||
public final TableField<RecruitmentRecord, Long> ID_RECRUITMENT = createField(DSL.name("id_recruitment"), SQLDataType.BIGINT.nullable(false).identity(true), this, "");
|
||||
|
||||
/**
|
||||
* The column <code>ratings.recruitment.id_region</code>.
|
||||
*/
|
||||
public final TableField<RecruitmentRecord, Integer> ID_REGION = createField(DSL.name("id_region"), SQLDataType.INTEGER, this, "");
|
||||
|
||||
/**
|
||||
* The column <code>ratings.recruitment.execution</code>. Исполнение плана
|
||||
* призыва
|
||||
*/
|
||||
public final TableField<RecruitmentRecord, BigDecimal> EXECUTION = createField(DSL.name("execution"), SQLDataType.NUMERIC, this, "Исполнение плана призыва");
|
||||
|
||||
/**
|
||||
* The column <code>ratings.recruitment.spring_autumn</code>. Осень/весна
|
||||
*/
|
||||
public final TableField<RecruitmentRecord, String> SPRING_AUTUMN = createField(DSL.name("spring_autumn"), SQLDataType.CLOB, this, "Осень/весна");
|
||||
|
||||
/**
|
||||
* The column <code>ratings.recruitment.recording_date</code>. Дата записи
|
||||
*/
|
||||
public final TableField<RecruitmentRecord, Date> RECORDING_DATE = createField(DSL.name("recording_date"), SQLDataType.DATE, this, "Дата записи");
|
||||
|
||||
/**
|
||||
* The column <code>ratings.recruitment.execution_percent</code>. Исолнение
|
||||
* плана призыва в процентах
|
||||
*/
|
||||
public final TableField<RecruitmentRecord, BigDecimal> EXECUTION_PERCENT = createField(DSL.name("execution_percent"), SQLDataType.NUMERIC, this, "Исолнение плана призыва в процентах");
|
||||
|
||||
/**
|
||||
* The column <code>ratings.recruitment.recruitment_id</code>.
|
||||
*/
|
||||
public final TableField<RecruitmentRecord, UUID> RECRUITMENT_ID = createField(DSL.name("recruitment_id"), SQLDataType.UUID, this, "");
|
||||
|
||||
private Recruitment(Name alias, Table<RecruitmentRecord> aliased) {
|
||||
this(alias, aliased, (Field<?>[]) null, null);
|
||||
}
|
||||
|
||||
private Recruitment(Name alias, Table<RecruitmentRecord> aliased, Field<?>[] parameters, Condition where) {
|
||||
super(alias, null, aliased, parameters, DSL.comment("Призыв уровень РФ"), TableOptions.table(), where);
|
||||
}
|
||||
|
||||
/**
|
||||
* Create an aliased <code>ratings.recruitment</code> table reference
|
||||
*/
|
||||
public Recruitment(String alias) {
|
||||
this(DSL.name(alias), RECRUITMENT);
|
||||
}
|
||||
|
||||
/**
|
||||
* Create an aliased <code>ratings.recruitment</code> table reference
|
||||
*/
|
||||
public Recruitment(Name alias) {
|
||||
this(alias, RECRUITMENT);
|
||||
}
|
||||
|
||||
/**
|
||||
* Create a <code>ratings.recruitment</code> table reference
|
||||
*/
|
||||
public Recruitment() {
|
||||
this(DSL.name("recruitment"), null);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Schema getSchema() {
|
||||
return aliased() ? null : Ratings.RATINGS;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Identity<RecruitmentRecord, Long> getIdentity() {
|
||||
return (Identity<RecruitmentRecord, Long>) super.getIdentity();
|
||||
}
|
||||
|
||||
@Override
|
||||
public UniqueKey<RecruitmentRecord> 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<Boolean> 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));
|
||||
}
|
||||
}
|
||||
|
|
@ -1,149 +0,0 @@
|
|||
/*
|
||||
* 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<AppearSubppoenaRecord> {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* Setter for <code>ratings.appear_subppoena.id_appear_subppoena</code>.
|
||||
*/
|
||||
public void setIdAppearSubppoena(Long value) {
|
||||
set(0, value);
|
||||
}
|
||||
|
||||
/**
|
||||
* Getter for <code>ratings.appear_subppoena.id_appear_subppoena</code>.
|
||||
*/
|
||||
public Long getIdAppearSubppoena() {
|
||||
return (Long) get(0);
|
||||
}
|
||||
|
||||
/**
|
||||
* Setter for <code>ratings.appear_subppoena.id_region</code>.
|
||||
*/
|
||||
public void setIdRegion(Integer value) {
|
||||
set(1, value);
|
||||
}
|
||||
|
||||
/**
|
||||
* Getter for <code>ratings.appear_subppoena.id_region</code>.
|
||||
*/
|
||||
public Integer getIdRegion() {
|
||||
return (Integer) get(1);
|
||||
}
|
||||
|
||||
/**
|
||||
* Setter for <code>ratings.appear_subppoena.appear_mil_com</code>. Явка в
|
||||
* военкомат
|
||||
*/
|
||||
public void setAppearMilCom(BigDecimal value) {
|
||||
set(2, value);
|
||||
}
|
||||
|
||||
/**
|
||||
* Getter for <code>ratings.appear_subppoena.appear_mil_com</code>. Явка в
|
||||
* военкомат
|
||||
*/
|
||||
public BigDecimal getAppearMilCom() {
|
||||
return (BigDecimal) get(2);
|
||||
}
|
||||
|
||||
/**
|
||||
* Setter for <code>ratings.appear_subppoena.recording_date</code>. Дата
|
||||
* записи
|
||||
*/
|
||||
public void setRecordingDate(Date value) {
|
||||
set(3, value);
|
||||
}
|
||||
|
||||
/**
|
||||
* Getter for <code>ratings.appear_subppoena.recording_date</code>. Дата
|
||||
* записи
|
||||
*/
|
||||
public Date getRecordingDate() {
|
||||
return (Date) get(3);
|
||||
}
|
||||
|
||||
/**
|
||||
* Setter for <code>ratings.appear_subppoena.appear_mil_com_percent</code>.
|
||||
* Явка в военкомат в процентах
|
||||
*/
|
||||
public void setAppearMilComPercent(BigDecimal value) {
|
||||
set(4, value);
|
||||
}
|
||||
|
||||
/**
|
||||
* Getter for <code>ratings.appear_subppoena.appear_mil_com_percent</code>.
|
||||
* Явка в военкомат в процентах
|
||||
*/
|
||||
public BigDecimal getAppearMilComPercent() {
|
||||
return (BigDecimal) get(4);
|
||||
}
|
||||
|
||||
/**
|
||||
* Setter for <code>ratings.appear_subppoena.recruitment_id</code>.
|
||||
*/
|
||||
public void setRecruitmentId(UUID value) {
|
||||
set(5, value);
|
||||
}
|
||||
|
||||
/**
|
||||
* Getter for <code>ratings.appear_subppoena.recruitment_id</code>.
|
||||
*/
|
||||
public UUID getRecruitmentId() {
|
||||
return (UUID) get(5);
|
||||
}
|
||||
|
||||
// -------------------------------------------------------------------------
|
||||
// Primary key information
|
||||
// -------------------------------------------------------------------------
|
||||
|
||||
@Override
|
||||
public Record1<Long> 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();
|
||||
}
|
||||
}
|
||||
|
|
@ -1,155 +0,0 @@
|
|||
/*
|
||||
* 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<ConsiderationComplaintRecord> {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* Setter for
|
||||
* <code>ratings.consideration_complaint.id_consideration_complaint</code>.
|
||||
*/
|
||||
public void setIdConsiderationComplaint(Long value) {
|
||||
set(0, value);
|
||||
}
|
||||
|
||||
/**
|
||||
* Getter for
|
||||
* <code>ratings.consideration_complaint.id_consideration_complaint</code>.
|
||||
*/
|
||||
public Long getIdConsiderationComplaint() {
|
||||
return (Long) get(0);
|
||||
}
|
||||
|
||||
/**
|
||||
* Setter for <code>ratings.consideration_complaint.id_region</code>.
|
||||
*/
|
||||
public void setIdRegion(Integer value) {
|
||||
set(1, value);
|
||||
}
|
||||
|
||||
/**
|
||||
* Getter for <code>ratings.consideration_complaint.id_region</code>.
|
||||
*/
|
||||
public Integer getIdRegion() {
|
||||
return (Integer) get(1);
|
||||
}
|
||||
|
||||
/**
|
||||
* Setter for
|
||||
* <code>ratings.consideration_complaint.consideration_complaint</code>.
|
||||
* Рассмотрение жалоб
|
||||
*/
|
||||
public void setConsiderationComplaint(BigDecimal value) {
|
||||
set(2, value);
|
||||
}
|
||||
|
||||
/**
|
||||
* Getter for
|
||||
* <code>ratings.consideration_complaint.consideration_complaint</code>.
|
||||
* Рассмотрение жалоб
|
||||
*/
|
||||
public BigDecimal getConsiderationComplaint() {
|
||||
return (BigDecimal) get(2);
|
||||
}
|
||||
|
||||
/**
|
||||
* Setter for <code>ratings.consideration_complaint.recording_date</code>.
|
||||
* Дата записи
|
||||
*/
|
||||
public void setRecordingDate(Date value) {
|
||||
set(3, value);
|
||||
}
|
||||
|
||||
/**
|
||||
* Getter for <code>ratings.consideration_complaint.recording_date</code>.
|
||||
* Дата записи
|
||||
*/
|
||||
public Date getRecordingDate() {
|
||||
return (Date) get(3);
|
||||
}
|
||||
|
||||
/**
|
||||
* Setter for
|
||||
* <code>ratings.consideration_complaint.consideration_complaint_percent</code>.
|
||||
* Рассмотрение жалоб в процентах
|
||||
*/
|
||||
public void setConsiderationComplaintPercent(BigDecimal value) {
|
||||
set(4, value);
|
||||
}
|
||||
|
||||
/**
|
||||
* Getter for
|
||||
* <code>ratings.consideration_complaint.consideration_complaint_percent</code>.
|
||||
* Рассмотрение жалоб в процентах
|
||||
*/
|
||||
public BigDecimal getConsiderationComplaintPercent() {
|
||||
return (BigDecimal) get(4);
|
||||
}
|
||||
|
||||
/**
|
||||
* Setter for <code>ratings.consideration_complaint.recruitment_id</code>.
|
||||
*/
|
||||
public void setRecruitmentId(UUID value) {
|
||||
set(5, value);
|
||||
}
|
||||
|
||||
/**
|
||||
* Getter for <code>ratings.consideration_complaint.recruitment_id</code>.
|
||||
*/
|
||||
public UUID getRecruitmentId() {
|
||||
return (UUID) get(5);
|
||||
}
|
||||
|
||||
// -------------------------------------------------------------------------
|
||||
// Primary key information
|
||||
// -------------------------------------------------------------------------
|
||||
|
||||
@Override
|
||||
public Record1<Long> 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();
|
||||
}
|
||||
}
|
||||
|
|
@ -1,162 +0,0 @@
|
|||
/*
|
||||
* 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<RecruitmentRecord> {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* Setter for <code>ratings.recruitment.id_recruitment</code>.
|
||||
*/
|
||||
public void setIdRecruitment(Long value) {
|
||||
set(0, value);
|
||||
}
|
||||
|
||||
/**
|
||||
* Getter for <code>ratings.recruitment.id_recruitment</code>.
|
||||
*/
|
||||
public Long getIdRecruitment() {
|
||||
return (Long) get(0);
|
||||
}
|
||||
|
||||
/**
|
||||
* Setter for <code>ratings.recruitment.id_region</code>.
|
||||
*/
|
||||
public void setIdRegion(Integer value) {
|
||||
set(1, value);
|
||||
}
|
||||
|
||||
/**
|
||||
* Getter for <code>ratings.recruitment.id_region</code>.
|
||||
*/
|
||||
public Integer getIdRegion() {
|
||||
return (Integer) get(1);
|
||||
}
|
||||
|
||||
/**
|
||||
* Setter for <code>ratings.recruitment.execution</code>. Исполнение плана
|
||||
* призыва
|
||||
*/
|
||||
public void setExecution(BigDecimal value) {
|
||||
set(2, value);
|
||||
}
|
||||
|
||||
/**
|
||||
* Getter for <code>ratings.recruitment.execution</code>. Исполнение плана
|
||||
* призыва
|
||||
*/
|
||||
public BigDecimal getExecution() {
|
||||
return (BigDecimal) get(2);
|
||||
}
|
||||
|
||||
/**
|
||||
* Setter for <code>ratings.recruitment.spring_autumn</code>. Осень/весна
|
||||
*/
|
||||
public void setSpringAutumn(String value) {
|
||||
set(3, value);
|
||||
}
|
||||
|
||||
/**
|
||||
* Getter for <code>ratings.recruitment.spring_autumn</code>. Осень/весна
|
||||
*/
|
||||
public String getSpringAutumn() {
|
||||
return (String) get(3);
|
||||
}
|
||||
|
||||
/**
|
||||
* Setter for <code>ratings.recruitment.recording_date</code>. Дата записи
|
||||
*/
|
||||
public void setRecordingDate(Date value) {
|
||||
set(4, value);
|
||||
}
|
||||
|
||||
/**
|
||||
* Getter for <code>ratings.recruitment.recording_date</code>. Дата записи
|
||||
*/
|
||||
public Date getRecordingDate() {
|
||||
return (Date) get(4);
|
||||
}
|
||||
|
||||
/**
|
||||
* Setter for <code>ratings.recruitment.execution_percent</code>. Исолнение
|
||||
* плана призыва в процентах
|
||||
*/
|
||||
public void setExecutionPercent(BigDecimal value) {
|
||||
set(5, value);
|
||||
}
|
||||
|
||||
/**
|
||||
* Getter for <code>ratings.recruitment.execution_percent</code>. Исолнение
|
||||
* плана призыва в процентах
|
||||
*/
|
||||
public BigDecimal getExecutionPercent() {
|
||||
return (BigDecimal) get(5);
|
||||
}
|
||||
|
||||
/**
|
||||
* Setter for <code>ratings.recruitment.recruitment_id</code>.
|
||||
*/
|
||||
public void setRecruitmentId(UUID value) {
|
||||
set(6, value);
|
||||
}
|
||||
|
||||
/**
|
||||
* Getter for <code>ratings.recruitment.recruitment_id</code>.
|
||||
*/
|
||||
public UUID getRecruitmentId() {
|
||||
return (UUID) get(6);
|
||||
}
|
||||
|
||||
// -------------------------------------------------------------------------
|
||||
// Primary key information
|
||||
// -------------------------------------------------------------------------
|
||||
|
||||
@Override
|
||||
public Record1<Long> 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();
|
||||
}
|
||||
}
|
||||
|
|
@ -11,19 +11,13 @@ 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.context.annotation.Import;
|
||||
import org.springframework.context.annotation.Primary;
|
||||
import org.springframework.jdbc.datasource.DataSourceTransactionManager;
|
||||
import org.springframework.jdbc.datasource.TransactionAwareDataSourceProxy;
|
||||
import org.springframework.transaction.PlatformTransactionManager;
|
||||
|
||||
import ru.cg.webbpm.modules.core.metrics.MetricsConfig;
|
||||
import ru.cg.webbpm.modules.core.runtime.api.context.ExecutionContextHelper;
|
||||
import ru.cg.webbpm.modules.database.api.ConfigurationProvider;
|
||||
import ru.cg.webbpm.modules.database.api.metrics.DataSourceWithMetrics;
|
||||
import ru.cg.webbpm.modules.database.api.provider.DslProvider;
|
||||
|
||||
import ru.cg.webbpm.modules.database.impl.DbConfInitializer;
|
||||
import ru.cg.webbpm.modules.database.bean.config.Datasource;
|
||||
import ru.cg.webbpm.modules.database.impl.data_source.DataSourceConfigReader;
|
||||
import ru.cg.webbpm.modules.database.impl.data_source.DataSourceFactory;
|
||||
import ru.cg.webbpm.modules.database.impl.data_source.HikariDataSourceFactory;
|
||||
|
|
@ -31,21 +25,13 @@ import ru.cg.webbpm.modules.database.impl.data_source.JndiDataSourceFactory;
|
|||
import ru.cg.webbpm.modules.database.impl.provider.DefaultConnectionProvider;
|
||||
import ru.cg.webbpm.modules.database.impl.provider.DslProviderImpl;
|
||||
import ru.cg.webbpm.modules.database.impl.service.ProcessSqlService;
|
||||
|
||||
import ru.cg.webbpm.modules.database.bean.config.Datasource;
|
||||
|
||||
|
||||
import ru.cg.webbpm.modules.resources.api.ResourceProvider;
|
||||
|
||||
import ru.fix.aggregating.profiler.PrefixedProfiler;
|
||||
import ru.fix.aggregating.profiler.Profiler;
|
||||
|
||||
import javax.sql.DataSource;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
@Configuration
|
||||
@Import(MetricsConfig.class)
|
||||
public class DbConfiguration {
|
||||
@Value("${webbpm.db.query_timeout:120}")
|
||||
private Integer queryTimeout;
|
||||
|
|
@ -53,10 +39,6 @@ public class DbConfiguration {
|
|||
private ResourceProvider resourceProvider;
|
||||
@Autowired
|
||||
private ProcessSqlService processSqlService;
|
||||
@Autowired
|
||||
private Profiler profiler;
|
||||
@Autowired
|
||||
private ExecutionContextHelper executionContextHelper;
|
||||
|
||||
@Autowired
|
||||
private ExecuteListener[] executeListeners;
|
||||
|
|
@ -77,15 +59,9 @@ public class DbConfiguration {
|
|||
@Bean
|
||||
@Primary
|
||||
public DataSource datasource(DataSourceFactory dataSourceFactory) {
|
||||
DataSource dataSource = dataSourceFactory.createDataSource(datasourceConfig(),
|
||||
return dataSourceFactory.createDataSource(datasourceConfig(),
|
||||
JndiDataSourceFactory::createDataSource
|
||||
);
|
||||
return new DataSourceWithMetrics(
|
||||
dataSource,
|
||||
"project",
|
||||
new PrefixedProfiler(profiler, "webbpm.db"),
|
||||
executionContextHelper
|
||||
);
|
||||
}
|
||||
|
||||
@Bean
|
||||
|
|
@ -143,14 +119,12 @@ public class DbConfiguration {
|
|||
}
|
||||
|
||||
@Bean
|
||||
public DslProvider dslProvider(@Qualifier("dsl") DSLContext dsl) {
|
||||
return new DslProviderImpl(dsl, this.dslContextMap);
|
||||
}
|
||||
|
||||
@Bean
|
||||
public DbConfInitializer dbConfInitializer(DataSourceFactory dataSourceFactory,
|
||||
org.jooq.Configuration masterConfiguration, Datasource datasource) {
|
||||
return new DbConfInitializer(dataSourceFactory, masterConfiguration, datasource,
|
||||
processSqlService, connectionProviderMap, dslContextMap);
|
||||
public DslProvider dslProvider(@Qualifier("dsl") DSLContext dsl,
|
||||
DataSourceFactory dataSourceFactory,
|
||||
org.jooq.Configuration masterConfiguration,
|
||||
Datasource datasource) {
|
||||
return new DslProviderImpl(dsl, dataSourceFactory, masterConfiguration, datasource,
|
||||
processSqlService, connectionProviderMap, this.dslContextMap
|
||||
);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,9 +1,13 @@
|
|||
package ru.micord.ervu.kafka.controller;
|
||||
|
||||
import java.lang.invoke.MethodHandles;
|
||||
import javax.servlet.http.Cookie;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
|
||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||
import ervu.client.fileupload.WebDavClient;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.beans.factory.annotation.Value;
|
||||
import org.springframework.core.io.Resource;
|
||||
|
|
@ -13,7 +17,6 @@ import org.springframework.web.bind.annotation.RestController;
|
|||
import ru.micord.ervu.kafka.model.Data;
|
||||
import ru.micord.ervu.kafka.model.ExcerptResponse;
|
||||
import ru.micord.ervu.kafka.service.ReplyingKafkaService;
|
||||
import ru.micord.ervu.s3.S3Service;
|
||||
import ru.micord.ervu.security.webbpm.jwt.model.Token;
|
||||
import ru.micord.ervu.security.webbpm.jwt.service.JwtTokenService;
|
||||
|
||||
|
|
@ -22,12 +25,13 @@ import ru.micord.ervu.security.webbpm.jwt.service.JwtTokenService;
|
|||
*/
|
||||
@RestController
|
||||
public class ErvuKafkaController {
|
||||
private static final Logger LOGGER = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass());
|
||||
|
||||
@Autowired
|
||||
private ReplyingKafkaService replyingKafkaService;
|
||||
|
||||
@Autowired
|
||||
private S3Service s3Service;
|
||||
private WebDavClient webDavClient;
|
||||
|
||||
@Autowired
|
||||
private JwtTokenService jwtTokenService;
|
||||
|
|
@ -56,12 +60,18 @@ public class ErvuKafkaController {
|
|||
objectMapper.writeValueAsString(data)
|
||||
);
|
||||
ExcerptResponse excerptResponse = objectMapper.readValue(kafkaResponse, ExcerptResponse.class);
|
||||
return s3Service.getFile(excerptResponse.getFileUrl());
|
||||
if (!excerptResponse.getSuccess()) {
|
||||
throw new RuntimeException("Error with getting excerpt url " + excerptResponse.getMessage());
|
||||
}
|
||||
else if (excerptResponse.getData() == null || excerptResponse.getData().getFileUrl() == null
|
||||
|| excerptResponse.getData().getFileUrl().isEmpty()) {
|
||||
return ResponseEntity.noContent().build();
|
||||
}
|
||||
return webDavClient.webDavDownloadFile(excerptResponse.getData().getFileUrl());
|
||||
}
|
||||
catch (Exception e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
private String getAuthToken(HttpServletRequest request) {
|
||||
|
|
|
|||
|
|
@ -0,0 +1,31 @@
|
|||
package ru.micord.ervu.kafka.model;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
|
||||
|
||||
/**
|
||||
* @author Eduard Tihomirov
|
||||
*/
|
||||
@JsonIgnoreProperties(ignoreUnknown = true)
|
||||
public class ExcerptData implements Serializable {
|
||||
private static final long serialVersionUID = 1L;
|
||||
private String orgId;
|
||||
private String fileUrl;
|
||||
|
||||
public String getOrgId() {
|
||||
return orgId;
|
||||
}
|
||||
|
||||
public void setOrgId(String orgId) {
|
||||
this.orgId = orgId;
|
||||
}
|
||||
|
||||
public String getFileUrl() {
|
||||
return fileUrl;
|
||||
}
|
||||
|
||||
public void setFileUrl(String fileUrl) {
|
||||
this.fileUrl = fileUrl;
|
||||
}
|
||||
}
|
||||
|
|
@ -9,24 +9,31 @@ import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
|
|||
@JsonIgnoreProperties(ignoreUnknown = true)
|
||||
public class ExcerptResponse implements Serializable {
|
||||
private static final long serialVersionUID = 1L;
|
||||
private boolean success;
|
||||
private String message;
|
||||
private ExcerptData data;
|
||||
|
||||
private String orgId;
|
||||
|
||||
private String fileUrl;
|
||||
|
||||
public String getOrgId() {
|
||||
return orgId;
|
||||
public boolean getSuccess() {
|
||||
return success;
|
||||
}
|
||||
|
||||
public void setOrgId(String orgId) {
|
||||
this.orgId = orgId;
|
||||
public void setSuccess(boolean success) {
|
||||
this.success = success;
|
||||
}
|
||||
|
||||
public String getFileUrl() {
|
||||
return fileUrl;
|
||||
public String getMessage() {
|
||||
return message;
|
||||
}
|
||||
|
||||
public void setFileUrl(String fileUrl) {
|
||||
this.fileUrl = fileUrl;
|
||||
public void setMessage(String message) {
|
||||
this.message = message;
|
||||
}
|
||||
|
||||
public ExcerptData getData() {
|
||||
return data;
|
||||
}
|
||||
|
||||
public void setData(ExcerptData data) {
|
||||
this.data = data;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,11 @@
|
|||
package ru.micord.ervu.property.grid;
|
||||
|
||||
/**
|
||||
* @author gulnaz
|
||||
*/
|
||||
public enum FilterType {
|
||||
TEXT,
|
||||
DATE,
|
||||
NUMBER,
|
||||
SET
|
||||
}
|
||||
|
|
@ -7,4 +7,5 @@ public class StaticColumn {
|
|||
|
||||
public String column;
|
||||
public String type;
|
||||
public FilterType filterType;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,44 +0,0 @@
|
|||
package ru.micord.ervu.s3;
|
||||
|
||||
import com.amazonaws.auth.AWSCredentials;
|
||||
import com.amazonaws.auth.AWSStaticCredentialsProvider;
|
||||
import com.amazonaws.auth.BasicAWSCredentials;
|
||||
import com.amazonaws.client.builder.AwsClientBuilder;
|
||||
import com.amazonaws.regions.Region;
|
||||
import com.amazonaws.regions.Regions;
|
||||
import com.amazonaws.services.s3.AmazonS3;
|
||||
import com.amazonaws.services.s3.AmazonS3ClientBuilder;
|
||||
import org.springframework.beans.factory.annotation.Value;
|
||||
import org.springframework.context.annotation.Bean;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
|
||||
/**
|
||||
* @author Eduard Tihomirov
|
||||
*/
|
||||
@Configuration
|
||||
public class S3Connection {
|
||||
@Value("${s3.endpoint}")
|
||||
private String endpoint;
|
||||
@Value("${s3.access_key}")
|
||||
private String accessKey;
|
||||
@Value("${s3.secret_key}")
|
||||
private String secretKey;
|
||||
@Value("${s3.path.style.access.enabled:true}")
|
||||
private boolean pathStyleAccessEnabled;
|
||||
|
||||
@Bean("outClient")
|
||||
public AmazonS3 getS3OutClient() {
|
||||
return getS3Client(endpoint, accessKey, secretKey, pathStyleAccessEnabled);
|
||||
}
|
||||
|
||||
private static AmazonS3 getS3Client(String endpoint, String accessKey, String secretKey, Boolean pathStyleAccessEnabled) {
|
||||
AWSCredentials credentials = new BasicAWSCredentials(accessKey, secretKey);
|
||||
String region = Region.getRegion(Regions.DEFAULT_REGION).toString();
|
||||
|
||||
return AmazonS3ClientBuilder.standard()
|
||||
.withEndpointConfiguration(new AwsClientBuilder.EndpointConfiguration(endpoint, region))
|
||||
.withCredentials(new AWSStaticCredentialsProvider(credentials))
|
||||
.withPathStyleAccessEnabled(pathStyleAccessEnabled)
|
||||
.build();
|
||||
}
|
||||
}
|
||||
|
|
@ -1,48 +0,0 @@
|
|||
package ru.micord.ervu.s3;
|
||||
|
||||
import java.net.URLEncoder;
|
||||
import java.nio.charset.StandardCharsets;
|
||||
|
||||
import com.amazonaws.AmazonServiceException;
|
||||
import com.amazonaws.services.s3.AmazonS3;
|
||||
import com.amazonaws.services.s3.AmazonS3URI;
|
||||
import com.amazonaws.services.s3.model.S3Object;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.core.io.InputStreamResource;
|
||||
import org.springframework.core.io.Resource;
|
||||
import org.springframework.http.HttpHeaders;
|
||||
import org.springframework.http.MediaType;
|
||||
import org.springframework.http.ResponseEntity;
|
||||
import org.springframework.stereotype.Service;
|
||||
/**
|
||||
* @author Eduard Tihomirov
|
||||
*/
|
||||
@Service
|
||||
public class S3Service {
|
||||
private final AmazonS3 outClient;
|
||||
|
||||
@Autowired
|
||||
public S3Service(AmazonS3 outClient) {
|
||||
this.outClient = outClient;
|
||||
}
|
||||
|
||||
public ResponseEntity<Resource> getFile(String fileUrl) {
|
||||
try {
|
||||
if (fileUrl == null || fileUrl.isEmpty()) {
|
||||
return ResponseEntity.noContent().build();
|
||||
}
|
||||
AmazonS3URI uri = new AmazonS3URI(fileUrl);
|
||||
S3Object s3Object = outClient.getObject(uri.getBucket(), uri.getKey());
|
||||
InputStreamResource resource = new InputStreamResource(s3Object.getObjectContent());
|
||||
String encodedFilename = URLEncoder.encode(uri.getKey(), StandardCharsets.UTF_8);
|
||||
return ResponseEntity.ok()
|
||||
.header(HttpHeaders.CONTENT_DISPOSITION, "attachment; filename*=UTF-8''" + encodedFilename)
|
||||
.contentLength(s3Object.getObjectMetadata().getContentLength())
|
||||
.contentType(MediaType.APPLICATION_OCTET_STREAM)
|
||||
.body(resource);
|
||||
}
|
||||
catch (AmazonServiceException e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -13,6 +13,7 @@ import org.springframework.security.web.AuthenticationEntryPoint;
|
|||
import org.springframework.security.web.SecurityFilterChain;
|
||||
import org.springframework.security.web.authentication.UsernamePasswordAuthenticationFilter;
|
||||
import org.springframework.security.web.authentication.logout.LogoutFilter;
|
||||
import org.springframework.security.web.authentication.session.NullAuthenticatedSessionStrategy;
|
||||
import org.springframework.security.web.csrf.CookieCsrfTokenRepository;
|
||||
import org.springframework.security.web.csrf.CsrfTokenRequestHandler;
|
||||
import org.springframework.security.web.csrf.XorCsrfTokenRequestAttributeHandler;
|
||||
|
|
@ -49,29 +50,22 @@ public class SecurityConfig {
|
|||
}
|
||||
|
||||
@Bean
|
||||
public SecurityFilterChain filterChain(HttpSecurity http) throws Exception {
|
||||
httpConfigure(http);
|
||||
http.addFilterBefore(jwtAuthenticationFilter, UsernamePasswordAuthenticationFilter.class);
|
||||
http.addFilterBefore(new RequestContextFilter(), LogoutFilter.class);
|
||||
http.addFilterAfter(filterChainExceptionHandler, RequestContextFilter.class);
|
||||
return http.build();
|
||||
}
|
||||
|
||||
protected void httpConfigure(HttpSecurity httpSecurity) throws Exception {
|
||||
CookieCsrfTokenRepository tokenRepository = CookieCsrfTokenRepository.withHttpOnlyFalse();
|
||||
tokenRepository.setCookiePath("/");
|
||||
public SecurityFilterChain filterChain(HttpSecurity http,
|
||||
CookieCsrfTokenRepository tokenRepository)
|
||||
throws Exception {
|
||||
XorCsrfTokenRequestAttributeHandler delegate = new XorCsrfTokenRequestAttributeHandler();
|
||||
delegate.setCsrfRequestAttributeName(null);
|
||||
// Use only the handle() method of XorCsrfTokenRequestAttributeHandler and the
|
||||
// default implementation of resolveCsrfTokenValue() from CsrfTokenRequestHandler
|
||||
CsrfTokenRequestHandler requestHandler = delegate::handle;
|
||||
httpSecurity.authorizeHttpRequests(
|
||||
http.authorizeHttpRequests(
|
||||
(authorizeHttpRequests) -> authorizeHttpRequests.requestMatchers(PERMIT_ALL)
|
||||
.permitAll()
|
||||
.anyRequest()
|
||||
.authenticated())
|
||||
.csrf((csrf) -> csrf.csrfTokenRepository(tokenRepository)
|
||||
.csrfTokenRequestHandler(requestHandler))
|
||||
.csrfTokenRequestHandler(requestHandler)
|
||||
.sessionAuthenticationStrategy(new NullAuthenticatedSessionStrategy()))
|
||||
.logout((logout) -> logout.logoutUrl(ESIA_LOGOUT)
|
||||
.logoutSuccessHandler(new LogoutSuccessHandler(tokenRepository, esiaAuthService)))
|
||||
.exceptionHandling()
|
||||
|
|
@ -79,6 +73,19 @@ public class SecurityConfig {
|
|||
.and()
|
||||
.sessionManagement()
|
||||
.sessionCreationPolicy(SessionCreationPolicy.STATELESS);
|
||||
http.addFilterBefore(jwtAuthenticationFilter, UsernamePasswordAuthenticationFilter.class);
|
||||
http.addFilterBefore(new RequestContextFilter(), LogoutFilter.class);
|
||||
http.addFilterAfter(filterChainExceptionHandler, RequestContextFilter.class);
|
||||
return http.build();
|
||||
}
|
||||
|
||||
@Bean
|
||||
public CookieCsrfTokenRepository cookieCsrfTokenRepository() {
|
||||
CookieCsrfTokenRepository tokenRepository = CookieCsrfTokenRepository.withHttpOnlyFalse();
|
||||
tokenRepository.setCookieName(TokenConstants.CSRF_TOKEN_NAME);
|
||||
tokenRepository.setHeaderName(TokenConstants.CSRF_HEADER_NAME);
|
||||
tokenRepository.setCookiePath("/");
|
||||
return tokenRepository;
|
||||
}
|
||||
|
||||
public AuthenticationEntryPoint entryPoint() {
|
||||
|
|
|
|||
|
|
@ -0,0 +1,10 @@
|
|||
package ru.micord.ervu.security;
|
||||
|
||||
public final class TokenConstants {
|
||||
public static String CSRF_TOKEN_NAME = "XSRF-TOKEN-LKRP-UL";
|
||||
public static String CSRF_HEADER_NAME = "X-XSRF-TOKEN-LKRP-UL";
|
||||
|
||||
private TokenConstants() {
|
||||
//must be empty
|
||||
}
|
||||
}
|
||||
|
|
@ -32,8 +32,8 @@ public class EsiaController {
|
|||
}
|
||||
|
||||
@GetMapping(value = "/esia/auth", params = "code")
|
||||
public ResponseEntity<?> esiaAuth(@RequestParam("code") String code, HttpServletRequest request, HttpServletResponse response) {
|
||||
return esiaAuthService.getEsiaTokensByCode(code, request, response);
|
||||
public ResponseEntity<?> esiaAuth(@RequestParam("code") String code, @RequestParam("error") String error, HttpServletRequest request, HttpServletResponse response) {
|
||||
return esiaAuthService.getEsiaTokensByCode(code, error, request, response);
|
||||
}
|
||||
|
||||
@PostMapping(value = "/esia/refresh")
|
||||
|
|
|
|||
|
|
@ -18,6 +18,7 @@ import java.time.format.DateTimeFormatter;
|
|||
import java.util.Arrays;
|
||||
import java.util.LinkedHashMap;
|
||||
import java.util.Map;
|
||||
import java.util.Objects;
|
||||
import java.util.UUID;
|
||||
import javax.servlet.http.Cookie;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
|
|
@ -25,6 +26,7 @@ import javax.servlet.http.HttpServletResponse;
|
|||
|
||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||
import ervu.service.okopf.OkopfService;
|
||||
import org.springframework.security.authentication.AuthenticationManager;
|
||||
import ru.micord.ervu.security.esia.token.TokensStore;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
|
@ -54,7 +56,8 @@ import ru.micord.ervu.security.webbpm.jwt.JwtAuthentication;
|
|||
import ru.micord.ervu.security.webbpm.jwt.helper.SecurityHelper;
|
||||
import ru.micord.ervu.security.webbpm.jwt.service.JwtTokenService;
|
||||
import ru.micord.ervu.security.webbpm.jwt.model.Token;
|
||||
import ru.micord.ervu.security.webbpm.jwt.util.SecurityUtil;
|
||||
|
||||
import static ru.micord.ervu.security.webbpm.jwt.util.SecurityUtil.getCurrentUsername;
|
||||
|
||||
/**
|
||||
* @author Eduard Tihomirov
|
||||
|
|
@ -62,6 +65,7 @@ import ru.micord.ervu.security.webbpm.jwt.util.SecurityUtil;
|
|||
@Service
|
||||
public class EsiaAuthService {
|
||||
private static final Logger LOGGER = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass());
|
||||
private static final Long EXPIRES_IN = 3600L;
|
||||
@Autowired
|
||||
private ObjectMapper objectMapper;
|
||||
@Autowired
|
||||
|
|
@ -76,6 +80,8 @@ public class EsiaAuthService {
|
|||
private OkopfService okopfService;
|
||||
@Autowired
|
||||
private SecurityHelper securityHelper;
|
||||
@Autowired
|
||||
private AuthenticationManager authenticationManager;
|
||||
|
||||
@Value("${ervu.kafka.org.reply.topic}")
|
||||
private String requestReplyTopic;
|
||||
|
|
@ -159,8 +165,16 @@ public class EsiaAuthService {
|
|||
return uriBuilder.toString();
|
||||
}
|
||||
|
||||
public ResponseEntity<?> getEsiaTokensByCode(String esiaAuthCode, HttpServletRequest request, HttpServletResponse response) {
|
||||
public ResponseEntity<?> getEsiaTokensByCode(String esiaAuthCode, String error,
|
||||
HttpServletRequest request, HttpServletResponse response) {
|
||||
try {
|
||||
if (error != null) {
|
||||
createTokenAndAddCookie(response, null, null, false, EXPIRES_IN);
|
||||
return new ResponseEntity<>(
|
||||
"Произошла неизвестная ошибка. Обратитесь к системному администратору",
|
||||
HttpStatus.FORBIDDEN
|
||||
);
|
||||
}
|
||||
String clientId = esiaConfig.getClientId();
|
||||
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy.MM.dd HH:mm:ss xx");
|
||||
ZonedDateTime dt = ZonedDateTime.now();
|
||||
|
|
@ -215,32 +229,20 @@ public class EsiaAuthService {
|
|||
if (tokenResponse.getError() != null) {
|
||||
throw new RuntimeException(tokenResponse.getError_description());
|
||||
}
|
||||
String accessToken = tokenResponse.getAccess_token();
|
||||
String verifyResult = verifyToken(accessToken);
|
||||
String esiaAccessTokenStr = tokenResponse.getAccess_token();
|
||||
String esiaRefreshTokenStr = tokenResponse.getRefresh_token();
|
||||
String verifyResult = verifyToken(esiaAccessTokenStr);
|
||||
if (verifyResult != null) {
|
||||
throw new RuntimeException(verifyResult);
|
||||
}
|
||||
boolean hasRole = ulDataService.checkRole(accessToken);
|
||||
EsiaAccessToken esiaAccessToken = ulDataService.readToken(accessToken);
|
||||
String prnOid = esiaAccessToken.getSbj_id();
|
||||
String refreshToken = tokenResponse.getRefresh_token();
|
||||
String ervuId = getErvuId(accessToken, prnOid);
|
||||
String ervuId = getErvuId(esiaAccessTokenStr, prnOid);
|
||||
Long expiresIn = tokenResponse.getExpires_in();
|
||||
TokensStore.addAccessToken(prnOid, accessToken, expiresIn);
|
||||
TokensStore.addRefreshToken(prnOid, refreshToken, expiresIn);
|
||||
Token token = jwtTokenService.createAccessToken(esiaAccessToken.getSbj_id(), expiresIn, ervuId, hasRole);
|
||||
int expiry = tokenResponse.getExpires_in().intValue();
|
||||
Cookie accessCookie = securityHelper.createAccessCookie(token.getValue(), expiry);
|
||||
response.addCookie(accessCookie);
|
||||
UsernamePasswordAuthenticationToken usernamePasswordAuthenticationToken =
|
||||
new UsernamePasswordAuthenticationToken(token.getUserAccountId(), null);
|
||||
SecurityContext context = SecurityContextHolder.createEmptyContext();
|
||||
JwtAuthentication authentication = new JwtAuthentication(usernamePasswordAuthenticationToken,
|
||||
esiaAccessToken.getSbj_id(), token.getValue());
|
||||
context.setAuthentication(authentication);
|
||||
SecurityContextHolder.setContext(context);
|
||||
Cookie authMarkerCookie = securityHelper.createAuthMarkerCookie("true", expiry);
|
||||
response.addCookie(authMarkerCookie);
|
||||
TokensStore.addAccessToken(prnOid, esiaAccessTokenStr, expiresIn);
|
||||
TokensStore.addRefreshToken(prnOid, esiaRefreshTokenStr, expiresIn);
|
||||
createTokenAndAddCookie(response, esiaAccessToken.getSbj_id(), ervuId, hasRole, expiresIn);
|
||||
if (!hasRole) {
|
||||
LOGGER.error("The user with id = " + prnOid + " does not have the required role");
|
||||
return new ResponseEntity<>(
|
||||
|
|
@ -251,7 +253,14 @@ public class EsiaAuthService {
|
|||
return ResponseEntity.ok("Authentication successful");
|
||||
}
|
||||
catch (Exception e) {
|
||||
throw new RuntimeException(e);
|
||||
createTokenAndAddCookie(response, null, null, false, EXPIRES_IN);
|
||||
String messageId = getMessageId(e);
|
||||
String messageWithId = String.format("[%s] %s", messageId, e.getMessage());
|
||||
LOGGER.error(messageWithId, e);
|
||||
return new ResponseEntity<>(
|
||||
"Произошла ошибка " + messageId + ". Обратитесь к системному администратору",
|
||||
HttpStatus.FORBIDDEN
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -317,19 +326,7 @@ public class EsiaAuthService {
|
|||
TokensStore.addAccessToken(prnOid, accessToken, expiresIn);
|
||||
TokensStore.addRefreshToken(prnOid, newRefreshToken, expiresIn);
|
||||
String ervuId = getErvuId(accessToken, prnOid);
|
||||
Token token = jwtTokenService.createAccessToken(esiaAccessToken.getSbj_id(), expiresIn, ervuId, true);
|
||||
int expiry = tokenResponse.getExpires_in().intValue();
|
||||
Cookie accessCookie = securityHelper.createAccessCookie(token.getValue(), expiry);
|
||||
response.addCookie(accessCookie);
|
||||
UsernamePasswordAuthenticationToken usernamePasswordAuthenticationToken =
|
||||
new UsernamePasswordAuthenticationToken(token.getUserAccountId(), null);
|
||||
SecurityContext context = SecurityContextHolder.createEmptyContext();
|
||||
JwtAuthentication authentication = new JwtAuthentication(usernamePasswordAuthenticationToken,
|
||||
esiaAccessToken.getSbj_id(), token.getValue());
|
||||
context.setAuthentication(authentication);
|
||||
SecurityContextHolder.setContext(context);
|
||||
Cookie authMarkerCookie = securityHelper.createAuthMarkerCookie("true", expiry);
|
||||
response.addCookie(authMarkerCookie);
|
||||
createTokenAndAddCookie(response, esiaAccessToken.getSbj_id(), ervuId, true, expiresIn);
|
||||
}
|
||||
catch (Exception e) {
|
||||
throw new RuntimeException(e);
|
||||
|
|
@ -466,6 +463,30 @@ public class EsiaAuthService {
|
|||
return employee;
|
||||
}
|
||||
|
||||
private String getMessageId(Exception exception) {
|
||||
return Integer.toUnsignedString(Objects
|
||||
.hashCode(getCurrentUsername()), 36)
|
||||
+ "-"
|
||||
+ Integer.toUnsignedString(exception.hashCode(), 36);
|
||||
}
|
||||
|
||||
private void createTokenAndAddCookie(HttpServletResponse response, String userId, String ervuId,
|
||||
Boolean hasRole, Long expiresIn) {
|
||||
Token token = jwtTokenService.createAccessToken(userId, expiresIn, ervuId, hasRole);
|
||||
Cookie accessCookie = securityHelper.createAccessCookie(token.getValue(), expiresIn.intValue());
|
||||
response.addCookie(accessCookie);
|
||||
UsernamePasswordAuthenticationToken usernamePasswordAuthenticationToken =
|
||||
new UsernamePasswordAuthenticationToken(token.getUserAccountId(), null);
|
||||
SecurityContext context = SecurityContextHolder.createEmptyContext();
|
||||
JwtAuthentication authentication = new JwtAuthentication(usernamePasswordAuthenticationToken,
|
||||
userId, token.getValue());
|
||||
context.setAuthentication(authentication);
|
||||
authenticationManager.authenticate(authentication);
|
||||
SecurityContextHolder.setContext(context);
|
||||
Cookie authMarkerCookie = securityHelper.createAuthMarkerCookie("true", expiresIn.intValue());
|
||||
response.addCookie(authMarkerCookie);
|
||||
}
|
||||
|
||||
private String verifyToken(String accessToken) {
|
||||
EsiaAccessToken esiaAccessToken = ulDataService.readToken(accessToken);
|
||||
EsiaHeader esiaHeader = ulDataService.readHeader(accessToken);
|
||||
|
|
|
|||
|
|
@ -264,8 +264,10 @@ public class UlDataServiceImpl implements UlDataService {
|
|||
JsonNode elementsNode = rootNode.path("elements");
|
||||
StringBuilder names = new StringBuilder();
|
||||
for (JsonNode element : elementsNode) {
|
||||
String name = element.path("name").asText();
|
||||
names.append(name).append("\n");
|
||||
if (element.path("itSystem").asText().equals(esiaConfig.getClientId())) {
|
||||
String name = element.path("name").asText();
|
||||
names.append(name).append("\n");
|
||||
}
|
||||
}
|
||||
return names.toString();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -7,55 +7,55 @@ import java.util.concurrent.ConcurrentHashMap;
|
|||
* @author Eduard Tihomirov
|
||||
*/
|
||||
public class TokensStore {
|
||||
private static final Map<String, ExpiringToken> accessTokensMap = new ConcurrentHashMap<>();
|
||||
private static final Map<String, ExpiringToken> refreshTokensMap = new ConcurrentHashMap<>();
|
||||
private static final Map<String, ExpiringToken> ACCESS_TOKENS_MAP = new ConcurrentHashMap<>();
|
||||
private static final Map<String, ExpiringToken> REFRESH_TOKENS_MAP = new ConcurrentHashMap<>();
|
||||
|
||||
public static void addAccessToken(String prnOid, String token, long expiresIn) {
|
||||
if (token != null) {
|
||||
long expiryTime = System.currentTimeMillis() + 1000L * expiresIn;
|
||||
accessTokensMap.put(prnOid, new ExpiringToken(token, expiryTime));
|
||||
ACCESS_TOKENS_MAP.put(prnOid, new ExpiringToken(token, expiryTime));
|
||||
}
|
||||
}
|
||||
|
||||
public static String getAccessToken(String prnOid) {
|
||||
return accessTokensMap.get(prnOid).getAccessToken();
|
||||
return ACCESS_TOKENS_MAP.get(prnOid).getAccessToken();
|
||||
}
|
||||
|
||||
public static void removeExpiredAccessToken() {
|
||||
for (String key : accessTokensMap.keySet()) {
|
||||
ExpiringToken token = accessTokensMap.get(key);
|
||||
for (String key : ACCESS_TOKENS_MAP.keySet()) {
|
||||
ExpiringToken token = ACCESS_TOKENS_MAP.get(key);
|
||||
if (token != null && token.isExpired()) {
|
||||
accessTokensMap.remove(key);
|
||||
ACCESS_TOKENS_MAP.remove(key);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public static void removeExpiredRefreshToken() {
|
||||
for (String key : refreshTokensMap.keySet()) {
|
||||
ExpiringToken token = refreshTokensMap.get(key);
|
||||
for (String key : REFRESH_TOKENS_MAP.keySet()) {
|
||||
ExpiringToken token = REFRESH_TOKENS_MAP.get(key);
|
||||
if (token != null && token.isExpired()) {
|
||||
refreshTokensMap.remove(key);
|
||||
REFRESH_TOKENS_MAP.remove(key);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public static void removeAccessToken(String prnOid) {
|
||||
accessTokensMap.remove(prnOid);
|
||||
ACCESS_TOKENS_MAP.remove(prnOid);
|
||||
}
|
||||
|
||||
public static void addRefreshToken(String prnOid, String token, long expiresIn) {
|
||||
if (token != null) {
|
||||
long expiryTime = System.currentTimeMillis() + 1000L * expiresIn;
|
||||
refreshTokensMap.put(prnOid, new ExpiringToken(token, expiryTime));
|
||||
REFRESH_TOKENS_MAP.put(prnOid, new ExpiringToken(token, expiryTime));
|
||||
}
|
||||
}
|
||||
|
||||
public static String getRefreshToken(String prnOid) {
|
||||
return refreshTokensMap.get(prnOid).getAccessToken();
|
||||
return REFRESH_TOKENS_MAP.get(prnOid).getAccessToken();
|
||||
}
|
||||
|
||||
public static void removeRefreshToken(String prnOid) {
|
||||
refreshTokensMap.remove(prnOid);
|
||||
REFRESH_TOKENS_MAP.remove(prnOid);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,72 @@
|
|||
package ru.micord.ervu.security.listener;
|
||||
|
||||
import java.lang.invoke.MethodHandles;
|
||||
import java.util.Arrays;
|
||||
import java.util.Objects;
|
||||
import java.util.Set;
|
||||
import java.util.stream.Collectors;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.context.ApplicationListener;
|
||||
import org.springframework.security.authentication.event.AuthenticationSuccessEvent;
|
||||
import org.springframework.security.web.csrf.CsrfTokenRepository;
|
||||
import org.springframework.security.web.csrf.CsrfTokenRequestAttributeHandler;
|
||||
import org.springframework.security.web.csrf.CsrfTokenRequestHandler;
|
||||
import org.springframework.security.web.csrf.DeferredCsrfToken;
|
||||
import org.springframework.security.web.util.matcher.AntPathRequestMatcher;
|
||||
import org.springframework.stereotype.Component;
|
||||
import org.springframework.util.Assert;
|
||||
import org.springframework.web.context.request.RequestAttributes;
|
||||
import org.springframework.web.context.request.RequestContextHolder;
|
||||
import org.springframework.web.context.request.ServletRequestAttributes;
|
||||
|
||||
import static org.springframework.web.context.request.RequestAttributes.REFERENCE_REQUEST;
|
||||
|
||||
|
||||
@Component
|
||||
public class JwtUpdateListener implements ApplicationListener<AuthenticationSuccessEvent> {
|
||||
private final Logger logger = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass());
|
||||
|
||||
private final CsrfTokenRepository tokenRepository;
|
||||
private final Set<AntPathRequestMatcher> csrfUpdateRequiredPathMatchers;
|
||||
|
||||
private CsrfTokenRequestHandler requestHandler = new CsrfTokenRequestAttributeHandler();
|
||||
|
||||
@Autowired
|
||||
public JwtUpdateListener(CsrfTokenRepository tokenRepository) {
|
||||
Assert.notNull(tokenRepository, "tokenRepository cannot be null");
|
||||
this.tokenRepository = tokenRepository;
|
||||
this.csrfUpdateRequiredPathMatchers = Arrays.stream(new String[] {"/esia/auth"})
|
||||
.map(AntPathRequestMatcher::new)
|
||||
.collect(Collectors.toSet());
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onApplicationEvent(AuthenticationSuccessEvent event) {
|
||||
RequestAttributes requestAttributes = RequestContextHolder.getRequestAttributes();
|
||||
HttpServletRequest request = (HttpServletRequest) Objects.requireNonNull(requestAttributes)
|
||||
.resolveReference(
|
||||
REFERENCE_REQUEST);
|
||||
HttpServletResponse response = ((ServletRequestAttributes) requestAttributes).getResponse();
|
||||
|
||||
//if csrf cookie update is not required return
|
||||
if (this.csrfUpdateRequiredPathMatchers.stream()
|
||||
.noneMatch(matcher -> matcher.matches(request))) {
|
||||
return;
|
||||
}
|
||||
boolean containsToken = this.tokenRepository.loadToken(request) != null;
|
||||
|
||||
if (containsToken) {
|
||||
this.tokenRepository.saveToken(null, request, response);
|
||||
DeferredCsrfToken deferredCsrfToken = this.tokenRepository.loadDeferredToken(request,
|
||||
response
|
||||
);
|
||||
this.requestHandler.handle(request, response, deferredCsrfToken::get);
|
||||
this.logger.debug("Replaced CSRF Token");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -59,6 +59,10 @@ public class JwtAuthenticationFilter extends AbstractAuthenticationProcessingFil
|
|||
}
|
||||
try {
|
||||
authentication = getAuthenticationManager().authenticate(authentication);
|
||||
String browser = httpServletRequest.getHeader("User-Agent");
|
||||
if (browser == null || !browser.contains("YaBrowser") || !browser.contains("Chromium GOST")) {
|
||||
throw new CredentialsExpiredException("Invalid browser. Use YaBrowser or Chromium GOST");
|
||||
}
|
||||
if (!httpServletRequest.getRequestURI().endsWith("esia/logout")) {
|
||||
Token token = jwtTokenService.getToken(tokenStr);
|
||||
if (!token.getHasRole()) {
|
||||
|
|
|
|||
|
|
@ -32,14 +32,14 @@ public class JwtTokenService {
|
|||
@Value("${webbpm.security.token.issuer:#{null}}")
|
||||
private final String tokenIssuerName =
|
||||
ResourceMetadataUtils.PROJECT_GROUP_ID + "." + ResourceMetadataUtils.PROJECT_ARTIFACT_ID;
|
||||
private final SecretKey SIGNING_KEY;
|
||||
private final SecretKey signingKey;
|
||||
|
||||
|
||||
@Autowired
|
||||
public JwtTokenService(@Value("${webbpm.security.token.secret.key:ZjE5ZjMxNmYtODViZC00ZTQ5LWIxZmYtOGEzYzE3Yjc1MDVk}")
|
||||
String secretKey) {
|
||||
byte[] encodedKey = Base64.getDecoder().decode(secretKey);
|
||||
this.SIGNING_KEY = Keys.hmacShaKeyFor(encodedKey);
|
||||
this.signingKey = Keys.hmacShaKeyFor(encodedKey);
|
||||
}
|
||||
|
||||
public Token createAccessToken(String userAccountId, Long expiresIn, String ervuId, Boolean hasRole) {
|
||||
|
|
@ -51,7 +51,7 @@ public class JwtTokenService {
|
|||
.setIssuedAt(new Date(System.currentTimeMillis()))
|
||||
.setExpiration(expirationDate)
|
||||
.claim("hasRole", hasRole)
|
||||
.signWith(SIGNING_KEY)
|
||||
.signWith(signingKey)
|
||||
.compact();
|
||||
return new Token(userAccountId + ":" + ervuId, tokenIssuerName, expirationDate, value, hasRole);
|
||||
}
|
||||
|
|
@ -71,7 +71,7 @@ public class JwtTokenService {
|
|||
|
||||
public Token getToken(String token) {
|
||||
Claims claims = Jwts.parser()
|
||||
.setSigningKey(SIGNING_KEY)
|
||||
.setSigningKey(signingKey)
|
||||
.parseClaimsJws(token)
|
||||
.getBody();
|
||||
|
||||
|
|
|
|||
|
|
@ -5,6 +5,8 @@ import java.nio.charset.StandardCharsets;
|
|||
import javax.servlet.http.Cookie;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
|
||||
import org.springframework.security.core.Authentication;
|
||||
import org.springframework.security.core.context.SecurityContextHolder;
|
||||
import org.springframework.web.context.request.RequestAttributes;
|
||||
import org.springframework.web.context.request.RequestContextHolder;
|
||||
import org.springframework.web.util.WebUtils;
|
||||
|
|
@ -42,4 +44,12 @@ public final class SecurityUtil {
|
|||
Cookie cookie = WebUtils.getCookie(httpRequest, AUTH_TOKEN);
|
||||
return cookie != null ? cookie.getValue() : null;
|
||||
}
|
||||
|
||||
public static String getCurrentUsername() {
|
||||
Authentication auth = SecurityContextHolder.getContext().getAuthentication();
|
||||
if (auth != null && auth.isAuthenticated()) {
|
||||
return auth.getName();
|
||||
}
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -12,7 +12,7 @@ public interface InteractionService {
|
|||
|
||||
List<InteractionLogRecord> get(String ervuId, String[] excludedStatuses);
|
||||
|
||||
void setStatus(String fileId, String status, String fileName, String form, Timestamp timestamp, String sender, Integer count, String ervuId);
|
||||
void setStatus(String fileId, String status, String fileName, String form, Timestamp timestamp, String sender, String ervuId);
|
||||
|
||||
void updateStatus(String fileId, String status, String ervuId);
|
||||
|
||||
|
|
|
|||
|
|
@ -32,8 +32,8 @@ public class InteractionServiceImpl implements InteractionService {
|
|||
.fetch();
|
||||
}
|
||||
|
||||
public void setStatus(String fileId, String status, String fileName, String form, Timestamp timestamp, String sender,
|
||||
Integer count, String ervuId) {
|
||||
public void setStatus(String fileId, String status, String fileName, String form,
|
||||
Timestamp timestamp, String sender, String ervuId) {
|
||||
dslContext.insertInto(INTERACTION_LOG)
|
||||
.set(INTERACTION_LOG.FILE_ID, fileId)
|
||||
.set(INTERACTION_LOG.STATUS, status)
|
||||
|
|
@ -41,7 +41,8 @@ public class InteractionServiceImpl implements InteractionService {
|
|||
.set(INTERACTION_LOG.SENT_DATE, timestamp)
|
||||
.set(INTERACTION_LOG.SENDER, sender)
|
||||
.set(INTERACTION_LOG.FILE_NAME, fileName)
|
||||
.set(INTERACTION_LOG.RECORDS_SENT, count)
|
||||
.set(INTERACTION_LOG.RECORDS_SENT, 0)
|
||||
.set(INTERACTION_LOG.RECORDS_ACCEPTED, 0)
|
||||
.set(INTERACTION_LOG.ERVU_ID, ervuId)
|
||||
.execute();
|
||||
}
|
||||
|
|
|
|||
79
config.md
79
config.md
|
|
@ -677,14 +677,6 @@ JBPM использует 3 корневых категории логирова
|
|||
</logger>
|
||||
```
|
||||
|
||||
# Взаимодействие с ЕСНСИ в части получения справочника ОКОПФ
|
||||
|
||||
Свойства задаются в файле config/standalone/dev/standalone.xml
|
||||
|
||||
## Параметры
|
||||
- `esnsi.okopf.url` - url который обращается к еснси для получения справочника и скачивает данные спровочников организации в виде заархивированного json файла.
|
||||
- `esnsi.okopf.cron.load` - настройка, которая указывет расписание для загрузки справочника окопф и сохранение данных по справкам в БД
|
||||
|
||||
# Описание параметров конфигурации клиентской части
|
||||
|
||||
Свойства задаются в файле frontend/src/resources/app-config.json или frontend.war/src/resources/app-config.json
|
||||
|
|
@ -756,3 +748,74 @@ JBPM использует 3 корневых категории логирова
|
|||
|
||||
1. Смените адрес NPM registry в файле frontend.npmrc. Пример - registry=https://repo.example.com/repository/npm-all/
|
||||
2. Поменяйте ссылки в блоке , файла pom.xml
|
||||
|
||||
|
||||
#### Подключение базы данных
|
||||
|
||||
- `DB_APP_USERNAME` - логин пользователя для подключения к базе данных.
|
||||
- `DB_APP_PASSWORD` - пароль пользователя для доступа к базе данных.
|
||||
- `DB_APP_HOST` - адрес сервера базы данных.
|
||||
- `DB_APP_PORT` - порт, на котором осуществляется подключение к базе данных.
|
||||
- `DB_APP_NAME` - имя базы данных, к которой необходимо подключиться.
|
||||
|
||||
|
||||
#### Аутентификация через ЕСИА
|
||||
|
||||
- `ESIA_SCOPES` - область доступа, позволяющие получить данные о пользователе. Тип данных, к которым система-клиент намерена получить доступ
|
||||
- `ESIA_ORG_SCOPES` - область доступа, позволяющие получить данные о организации. Тип данных, к которым система-клиент намерена получить доступ
|
||||
- `ESIA_ORG_SCOPE_URL` - обязательный префикс областей доступа, для получения данных об организации.
|
||||
- `ESIA_BASE_URI` - базовый url для обращения в ЕСИА.
|
||||
- `ESIA_CLIENT_ID` - – идентификатор системы-клиента (мнемоника системы в ЕСИА указанная прописными буквами)
|
||||
- `ESIA_REDIRECT_URL` - ссылка, по которой должен быть направлен пользователь
|
||||
после того, как ЕСИА даст разрешение на доступ к ресурсу.
|
||||
Важно: ESIA_REDIRECT_URL должна содержать полный адрес вплоть до последнего слэша
|
||||
- https://lkul.ervu.loc/ - правильное значение параметра
|
||||
- https://lkul.ervu.loc - неправильное значение параметра
|
||||
|
||||
- `ESIA_UPLOAD_DATA_ROLE` - мнемоника группы, для роли "Сотрудник, ответственный за военно-учетную работу".
|
||||
- `SIGN_URL` - url для подписания с помощью КриптоПро секрета клиента, необходимого для аутентификации через ЕСИА.
|
||||
- `ESIA_CLIENT_CERT_HASH` - параметр, содержащий хэш сертификата (fingerprint сертификата) системы-клиента в hex–формате.
|
||||
|
||||
#### Взаимодействие с ЕСНСИ в части получения справочника ОКОПФ
|
||||
|
||||
- `ESNSI_OKOPF_URL` - url который обращается к еснси для получения справочника и скачивает данные спровочников организации в виде заархивированного json файла.
|
||||
- `ESNSI_OKOPF_CRON_LOAD` - настройка, которая указывет расписание для загрузки справочника окопф и
|
||||
сохранение данных по справкам в БД
|
||||
- `ESNSI_OKOPF_RETRY_DELAY_LOAD` - настройка, которая указывет на повторную попытку загрузить
|
||||
справочник окопф с задержкой. По умолчанию задержка по времени 1000 ms
|
||||
- `ESNSI_OKOPF_RETRY_MAX_ATTEMPTS_LOAD` - настройка, которая указывет на максимальное кол-во попыток
|
||||
повторно загрузить справочник окопф. По умолчанию 3 попытки
|
||||
|
||||
#### Взаимодействие с WebDav
|
||||
|
||||
- `ERVU_FILE_UPLOAD_MAX_FILE_SIZE` - определяет максимальный размер загружаемого файла в байтах. Указывает предел размера для каждого индивидуального файла, который может быть загружен. Если файл превышает этот размер, загрузка будет прервана, и может быть вызвано исключение.
|
||||
- `ERVU_FILE_UPLOAD_MAX_REQUEST_SIZE` - устанавливает максимальный общий размер всех файлов в одном многозадачном запросе в байтах. Это ограничение на весь запрос, включающий данные и файлы. Если общий размер запроса превышает этот параметр, загрузка файлов будет остановлена.
|
||||
- `ERVU_FILE_UPLOAD_FILE_SIZE_THRESHOLD` - указывает размер (в байтах), при достижении которого файл будет записан во временное хранилище на диск. Это позволяет улучшить производительность, исключая непосредственную запись мелких файлов на диск, если они не превышают указанного порога. Файлы, меньшие этого значения, могут быть сохранены в памяти.
|
||||
- `FILE_WEBDAV_UPLOAD_URL` - url для подключения к WebDav
|
||||
- `FILE_WEBDAV_UPLOAD_USERNAME` - логин пользователя для подключения к WebDav
|
||||
- `FILE_WEBDAV_UPLOAD_PASSWORD` - пароль пользователя для подключения к WebDav
|
||||
- `AV_KAFKA_BOOTSTRAP_SERVERS` - список пар хост:порт, использующихся для установки первоначального соединения с кластером Kafka
|
||||
- `AV_KAFKA_SECURITY_PROTOCOL` - протокол, используемый для взаимодействия с брокерами
|
||||
- `AV_KAFKA_SASL_MECHANISM` - механизм SASL, используемый для клиентских подключений
|
||||
- `AV_KAFKA_USERNAME` - пользователь для подключения к Kafka
|
||||
- `AV_KAFKA_PASSWORD` - пароль для подключения к Kafka
|
||||
- `AV_KAFKA_GROUP_ID` - идентификатор группы потребителей, который отвечает за создание группы для объединения нескольких потребителей
|
||||
- `AV_KAFKA_MESSAGE_TOPIC_NAME` - топик для записи данных по файлу для перекладчика.
|
||||
- `AV_KAFKA_DOWNLOAD_RESPONSE` - топик для чтения статусов файла, полученных от перекладчика.
|
||||
|
||||
#### Взаимодействие с Kafka ERVU
|
||||
|
||||
- `ERVU_KAFKA_BOOTSTRAP_SERVERS` - список пар хост:порт, использующихся для установки первоначального соединения с кластером Kafka
|
||||
- `ERVU_KAFKA_SECURITY_PROTOCOL` - протокол, используемый для взаимодействия с брокерами
|
||||
- `ERVU_KAFKA_SASL_MECHANISM` - механизм SASL, используемый для клиентских подключений
|
||||
- `ERVU_KAFKA_USERNAME` - пользователь для подключения к Kafka
|
||||
- `ERVU_KAFKA_PASSWORD` - пароль для подключения к Kafka
|
||||
- `ERVU_KAFKA_GROUP_ID` - идентификатор группы потребителей, который отвечает за создание группы для объединения нескольких потребителей
|
||||
- `ERVU_KAFKA_REPLY_TIMEOUT` - определяет, сколько времени Kafka будет ожидать ответа от потребителя после отправки сообщения. Значение задается в секундах
|
||||
- `ERVU_KAFKA_ORG_REQUEST_TOPIC` - топик для записи данных об организации, для получения id организации из ЕРВУ.
|
||||
- `ERVU_KAFKA_ORG_REPLY_TOPIC` - топик для чтения id организации из ЕРВУ.
|
||||
- `ERVU_KAFKA_JOURNAL_REQUEST_TOPIC` - топик для записи запроса для получения данных по журналу взаимодействия
|
||||
- `ERVU_KAFKA_JOURNAL_REPLY_TOPIC` - топик для чтения данных по журналу взаимодействия
|
||||
- `ERVU_KAFKA_EXCERPT_REQUEST_TOPIC` - топик для записи запроса для получения выписки по журналу взаимодействия
|
||||
- `ERVU_KAFKA_EXCERPT_REPLY_TOPIC` - топик для чтения выписки по журналу взаимодействия. Содержит ссылку на S3 с файлом выписки
|
||||
- `DB.JOURNAL.EXCLUDED.STATUSES` - статусы файла, которые необходимо исключить при получении данных по журналу взаимодействия из базы данных приложения
|
||||
|
|
@ -1,10 +1,10 @@
|
|||
TZ=Europe/Moscow
|
||||
# App datasource
|
||||
DB_APP_USERNAME=ervu-lkrp-ul
|
||||
DB_APP_PASSWORD=ervu-lkrp-ul
|
||||
DB_APP_USERNAME=ervu_lkrp_ul
|
||||
DB_APP_PASSWORD=ervu_lkrp_ul
|
||||
DB_APP_HOST=10.10.31.119
|
||||
DB_APP_PORT=5432
|
||||
DB_APP_NAME=ervu-lkrp-ul
|
||||
DB_APP_NAME=ervu_lkrp_ul
|
||||
|
||||
FILE_WEBDAV_UPLOAD_URL=https://ervu-webdav.k8s.micord.ru
|
||||
FILE_WEBDAV_UPLOAD_USERNAME=test
|
||||
|
|
@ -36,9 +36,10 @@ ERVU_KAFKA_ORG_REQUEST_TOPIC=ervu.organization.request
|
|||
ERVU_KAFKA_REPLY_TIMEOUT=30
|
||||
ERVU_KAFKA_JOURNAL_REQUEST_TOPIC=ervu.organization.journal.request
|
||||
ERVU_KAFKA_JOURNAL_REPLY_TOPIC=ervu.organization.journal.response
|
||||
DB.JOURNAL.EXCLUDED.STATUSES=Направлено в ЕРВУ,Получен ЕРВУ
|
||||
ESNSI_OKOPF_URL=https://esnsi.gosuslugi.ru/rest/ext/v1/classifiers/11465/file?extension=JSON&encoding=UTF_8
|
||||
ESNSI_OKOPF_CRON=0 0 */1 * * *
|
||||
ESNSI_OKOPF_CRON_LOAD=0 0 */1 * * *
|
||||
ESNSI_OKOPF_RETRY_MAX_ATTEMPTS_LOAD=3
|
||||
ESNSI_OKOPF_RETRY_DELAY_LOAD=1000
|
||||
ERVU_KAFKA_SECURITY_PROTOCOL=SASL_PLAINTEXT
|
||||
ERVU_KAFKA_SASL_MECHANISM=SCRAM-SHA-256
|
||||
ERVU_KAFKA_USERNAME=user1
|
||||
|
|
@ -50,9 +51,10 @@ ERVU_FILE_UPLOAD_MAX_FILE_SIZE=5242880
|
|||
ERVU_FILE_UPLOAD_MAX_REQUEST_SIZE=6291456
|
||||
ERVU_FILE_UPLOAD_FILE_SIZE_THRESHOLD=0
|
||||
|
||||
S3_ENDPOINT=http://ervu-minio.k8s.micord.ru:31900
|
||||
S3_ACCESS_KEY=rlTdTvkmSXu9FsLhfecw
|
||||
S3_SECRET_KEY=NUmY0wwRIEyAd98GCKd1cOgJWvLQYAcMMul5Ulu0
|
||||
|
||||
ESIA_TOKEN_CLEAR_CRON=0 0 */1 * * *
|
||||
COOKIE_PATH=/ul
|
||||
COOKIE_PATH=/ul
|
||||
|
||||
WEBDAV_CLEANUP_CRON=0 0 0 * * *
|
||||
WEBDAV_RETRY_DELAY=500
|
||||
FILE_WEBDAV_LIFETIME_SECONDS=300
|
||||
FILE_WEBDAV_EXTENSIONS=csv,xlsx
|
||||
|
|
|
|||
|
|
@ -85,19 +85,22 @@
|
|||
<property name="ervu.kafka.password" value="Blfi9d2OFG"/>
|
||||
<property name="esnsi.okopf.cron.load" value="0 0 */1 * * *"/>
|
||||
<property name="esnsi.okopf.url" value="https://esnsi.gosuslugi.ru/rest/ext/v1/classifiers/11465/file?extension=JSON&encoding=UTF_8"/>
|
||||
<property name="esnsi.okop.retry.delay.load" value="1000"/>
|
||||
<property name="esnsi.okopf.retry.max.attempts.load" value="3"/>
|
||||
<property name="ervu.kafka.journal.request.topic" value="ervu.organization.journal.request"/>
|
||||
<property name="ervu.kafka.journal.reply.topic" value="ervu.organization.journal.response"/>
|
||||
<property name="db.journal.excluded.statuses" value="Направлено в ЕРВУ,Получен ЕРВУ"/>
|
||||
<property name="ervu.kafka.excerpt.reply.topic" value="ervu.lkrp.excerpt.response"/>
|
||||
<property name="ervu.kafka.excerpt.request.topic" value="ervu.lkrp.excerpt.request"/>
|
||||
<property name="s3.endpoint" value="http://ervu-minio.k8s.micord.ru:31900"/>
|
||||
<property name="s3.access_key" value="rlTdTvkmSXu9FsLhfecw"/>
|
||||
<property name="s3.secret_key" value="NUmY0wwRIEyAd98GCKd1cOgJWvLQYAcMMul5Ulu0"/>
|
||||
<property name="av.kafka.group.id" value="1"/>
|
||||
<property name="av.kafka.download.response" value="ervu.lkrp.av-fileupload-status"/>
|
||||
<property name="sign.verify.url" value="https://ervu-sign-dev.k8s.micord.ru/verify"/>
|
||||
<property name="esia.token.clear.cron" value="0 0 */1 * * *"/>
|
||||
<property name="esia.upload.data.role" value="MNSV89_UPLOAD_DATA"/>
|
||||
<property name="webdav.cleanup.cron" value="0 0 0 * * *"/>
|
||||
<property name="webdav.retry.delay" value="500"/>
|
||||
<property name="file.webdav.lifetime.seconds" value="300"/>
|
||||
<property name="file.webdav.extensions" value="csv,xlsx"/>
|
||||
</system-properties>
|
||||
<management>
|
||||
<audit-log>
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@
|
|||
<parent>
|
||||
<groupId>ru.micord.ervu.lkrp</groupId>
|
||||
<artifactId>ul</artifactId>
|
||||
<version>1.8.2-SNAPSHOT</version>
|
||||
<version>1.10.0-SNAPSHOT</version>
|
||||
</parent>
|
||||
|
||||
<groupId>ru.micord.ervu.lkrp.ul</groupId>
|
||||
|
|
|
|||
141
ervu_lkrp_ul-openapi.yaml
Normal file
141
ervu_lkrp_ul-openapi.yaml
Normal file
|
|
@ -0,0 +1,141 @@
|
|||
openapi: 3.0.3
|
||||
info:
|
||||
title: ervu-lkrp-ul API
|
||||
description: API сервиса ervu-lkrp-ul
|
||||
version: 1.9.1
|
||||
servers:
|
||||
- url: https://ul-lkrp-ervu-test.pgs.rtlabs.ru
|
||||
paths:
|
||||
/employee/document:
|
||||
post:
|
||||
summary: Загрузка файла
|
||||
operationId: saveEmployeeInformationFile
|
||||
description: Загрузка файла в ЕРВУ
|
||||
parameters:
|
||||
- name: file
|
||||
in: query
|
||||
required: true
|
||||
description: Файл
|
||||
schema:
|
||||
type: object
|
||||
- name: X-Employee-Info-File-Form-Type
|
||||
in: header
|
||||
required: true
|
||||
description: Тип формы
|
||||
schema:
|
||||
type: string
|
||||
- name: Client-Time-Zone
|
||||
in: header
|
||||
required: true
|
||||
description: Таймзона клиента
|
||||
schema:
|
||||
type: string
|
||||
responses:
|
||||
"200":
|
||||
description: OK
|
||||
/esia/auth:
|
||||
get:
|
||||
summary: Получение маркера доступа
|
||||
operationId: esiaAuth
|
||||
description: Получение маркера доступа в обмен на код от ЕСИА и создание внутреннего токена
|
||||
parameters:
|
||||
- name: code
|
||||
in: query
|
||||
required: true
|
||||
description: Код, присланный ЕСИА после успешной авторизации
|
||||
schema:
|
||||
type: string
|
||||
responses:
|
||||
"200":
|
||||
description: Authentication successful
|
||||
content:
|
||||
application/json:
|
||||
schema:
|
||||
type: object
|
||||
/esia/org:
|
||||
get:
|
||||
summary: Получение информации об организации
|
||||
operationId: getOrgInfo
|
||||
description: Получение информации об организации ЕСИА
|
||||
responses:
|
||||
"200":
|
||||
description: OK
|
||||
content:
|
||||
application/json:
|
||||
schema:
|
||||
type: object
|
||||
/esia/orgunitname:
|
||||
get:
|
||||
summary: Получение наименования организации
|
||||
operationId: getOrgUnitName
|
||||
description: Получение наименования организации ЕСИА
|
||||
responses:
|
||||
"200":
|
||||
description: OK
|
||||
content:
|
||||
application/json:
|
||||
schema:
|
||||
type: string
|
||||
/esia/refresh:
|
||||
post:
|
||||
summary: Обновление токена
|
||||
operationId: refreshToken
|
||||
description: Обновление токена
|
||||
responses:
|
||||
"200":
|
||||
description: OK
|
||||
/esia/url:
|
||||
get:
|
||||
summary: Получение URL ЕСИА
|
||||
operationId: getEsiaUrl
|
||||
description: Получение URL ЕСИА
|
||||
responses:
|
||||
"200":
|
||||
description: OK
|
||||
content:
|
||||
application/json:
|
||||
schema:
|
||||
type: string
|
||||
/esia/userfullname:
|
||||
get:
|
||||
summary: Получение полного имени пользователя
|
||||
operationId: getUserFullname
|
||||
description: Получение полного имени пользователя ЕСИА
|
||||
responses:
|
||||
"200":
|
||||
description: OK
|
||||
content:
|
||||
application/json:
|
||||
schema:
|
||||
type: string
|
||||
/kafka/excerpt:
|
||||
get:
|
||||
summary: Получение выписки
|
||||
operationId: getExcerptFile
|
||||
description: Получение выписки по журналу взаимодействий с ЕРВУ
|
||||
responses:
|
||||
"200":
|
||||
description: OK
|
||||
headers:
|
||||
Content-Disposition:
|
||||
schema:
|
||||
type: string
|
||||
example: attachment; filename*=UTF-8''encodedfilename.xlsx
|
||||
content:
|
||||
application/octet-stream:
|
||||
schema:
|
||||
type: object
|
||||
"204":
|
||||
description: No Content
|
||||
/rpc/filesentlog/bbaf33d7-0679-440b-a394-cb805ce80300/ru.micord.ervu.service.rpc.InMemoryStaticGridRpcService/loadData:
|
||||
post:
|
||||
summary: Получение данных по журналу взаимодействий
|
||||
operationId: call
|
||||
description: Получение данных по журналу взаимодействий с ЕРВУ
|
||||
responses:
|
||||
"200":
|
||||
description: OK
|
||||
content:
|
||||
application/json:
|
||||
schema:
|
||||
type: object
|
||||
|
|
@ -1,10 +0,0 @@
|
|||
{
|
||||
"port": 8000,
|
||||
"open": false,
|
||||
"files": [
|
||||
"./**/*.{html,htm,css,js}"
|
||||
],
|
||||
"server": {
|
||||
"baseDir": "./"
|
||||
}
|
||||
}
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
|
@ -13,6 +13,21 @@
|
|||
</div>
|
||||
|
||||
<div class="container">
|
||||
<div id="browser-check-info">
|
||||
<div class="browser-check-content">
|
||||
<div class="browser-check-text">
|
||||
<p class="plain-text text-header">
|
||||
Доступ к личному кабинету для юридических лиц осуществляется исключительно через браузеры Яндекс или Chromium gost.
|
||||
</p>
|
||||
<p class="plain-text">
|
||||
Пожалуйста, попробуйте снова, выбрав один из этих браузеров.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script>
|
||||
document.getElementById("browser-check-info").hidden = navigator.userAgent.indexOf("Chromium GOST") > -1 || navigator.userAgent.indexOf("YaBrowser") > -1;
|
||||
</script>
|
||||
<div class="container-inside">
|
||||
<div class="list-group lk-what">
|
||||
<div>
|
||||
|
|
|
|||
6832
frontend/package-lock.json
generated
6832
frontend/package-lock.json
generated
File diff suppressed because it is too large
Load diff
|
|
@ -2,7 +2,6 @@
|
|||
"name": "ervu_lkrp_ul",
|
||||
"version": "1.0.0",
|
||||
"scripts": {
|
||||
"lite": "node ./node_modules/lite-server/bin/lite-server",
|
||||
"cleanup": "npm run cleanup-ngc && node ./node_modules/rimraf/bin ./build ./dist",
|
||||
"cleanup-ngc": "node ./node_modules/rimraf/bin ./src/ts/**/*.js ./src/ts/**/*.json ./src/ts/page.routing.ts",
|
||||
"cleanup-and-ngc": "npm run cleanup && npm run ngc",
|
||||
|
|
@ -26,8 +25,8 @@
|
|||
"@angular/platform-browser": "7.2.15",
|
||||
"@angular/platform-browser-dynamic": "7.2.15",
|
||||
"@angular/router": "7.2.15",
|
||||
"@ng-bootstrap/ng-bootstrap": "4.1.1",
|
||||
"@webbpm/base-package": "3.178.2",
|
||||
"@ng-bootstrap/ng-bootstrap": "4.2.2-micord.1",
|
||||
"@webbpm/base-package": "3.185.0",
|
||||
"ag-grid-angular": "29.0.0-micord.4",
|
||||
"ag-grid-community": "29.0.0-micord.4",
|
||||
"angular-calendar": "0.28.28",
|
||||
|
|
@ -40,16 +39,16 @@
|
|||
"core-js": "2.4.1",
|
||||
"date-fns": "2.29.3",
|
||||
"downloadjs": "1.4.8",
|
||||
"eonasdan-bootstrap-datetimepicker": "4.17.47-micord.4",
|
||||
"eonasdan-bootstrap-datetimepicker": "4.17.47-micord.5",
|
||||
"esmarttokenjs": "2.2.1-cg",
|
||||
"font-awesome": "4.7.0",
|
||||
"google-libphonenumber": "3.0.9",
|
||||
"inputmask": "5.0.5-cg.2",
|
||||
"jquery": "3.3.1",
|
||||
"jquery": "3.7.1",
|
||||
"js-year-calendar": "1.0.0-cg.2",
|
||||
"jsgantt-improved": "2.0.10-cg",
|
||||
"moment": "2.17.1",
|
||||
"moment-timezone": "0.5.11",
|
||||
"moment": "2.30.1",
|
||||
"moment-timezone": "0.5.46",
|
||||
"ng2-file-upload": "1.3.0",
|
||||
"ngx-cookie": "3.0.1",
|
||||
"ngx-international-phone-number": "1.0.6",
|
||||
|
|
@ -58,11 +57,11 @@
|
|||
"reflect-metadata": "0.1.13",
|
||||
"rxjs": "6.4.0",
|
||||
"rxjs-compat": "6.4.0",
|
||||
"selectize": "0.12.4-cg.10",
|
||||
"selectize": "0.12.4-cg.11",
|
||||
"systemjs": "0.21.4",
|
||||
"systemjs-plugin-babel": "0.0.25",
|
||||
"tslib": "1.9.3",
|
||||
"zone.js": "0.8.29"
|
||||
"zone.js": "0.11.8"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@angular-devkit/build-optimizer": "0.13.9",
|
||||
|
|
@ -70,33 +69,33 @@
|
|||
"@angular/cli": "7.3.9",
|
||||
"@angular/compiler-cli": "7.2.15",
|
||||
"@angular/platform-server": "7.2.15",
|
||||
"@babel/core": "7.9.6",
|
||||
"@babel/preset-env": "7.9.6",
|
||||
"@babel/core": "7.18.10",
|
||||
"@babel/preset-env": "7.18.10",
|
||||
"@types/bootstrap": "3.3.39",
|
||||
"@types/jquery": "2.0.49",
|
||||
"@types/eslint": "7.2.5",
|
||||
"@types/jquery": "3.5.5",
|
||||
"@types/node": "7.0.5",
|
||||
"@types/selectize": "0.12.33",
|
||||
"ajv": "8.8.2",
|
||||
"angular-router-loader": "0.8.5",
|
||||
"angular2-template-loader": "0.6.2",
|
||||
"babel-loader": "8.1.0",
|
||||
"babel-loader": "9.1.2",
|
||||
"codelyzer": "5.2.1",
|
||||
"copy-webpack-plugin": "5.0.3",
|
||||
"cross-env": "5.2.1",
|
||||
"css-loader": "2.1.0",
|
||||
"css-loader": "6.11.0",
|
||||
"del": "2.2.2",
|
||||
"file-loader": "3.0.1",
|
||||
"html-webpack-plugin": "4.5.2",
|
||||
"lite-server": "2.3.0",
|
||||
"mini-css-extract-plugin": "0.6.0",
|
||||
"mkdirp": "0.5.1",
|
||||
"raw-loader": "1.0.0",
|
||||
"style-loader": "0.23.1",
|
||||
"terser-webpack-plugin": "1.2.4",
|
||||
"file-loader": "6.2.0",
|
||||
"html-webpack-plugin": "5.6.0",
|
||||
"mini-css-extract-plugin": "2.9.1",
|
||||
"mkdirp": "3.0.1",
|
||||
"raw-loader": "4.0.2",
|
||||
"style-loader": "3.3.4",
|
||||
"terser-webpack-plugin": "5.3.10",
|
||||
"tslint": "5.13.1",
|
||||
"typescript": "3.2.4",
|
||||
"typescript-parser": "2.6.1-cg-fork",
|
||||
"webpack": "4.32.2",
|
||||
"webpack-bundle-analyzer": "3.3.2",
|
||||
"webpack-cli": "3.3.2"
|
||||
"typescript-parser": "2.6.1-cg.2",
|
||||
"webpack": "5.90.1",
|
||||
"webpack-cli": "5.0.2"
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@
|
|||
<parent>
|
||||
<groupId>ru.micord.ervu.lkrp</groupId>
|
||||
<artifactId>ul</artifactId>
|
||||
<version>1.8.2-SNAPSHOT</version>
|
||||
<version>1.10.0-SNAPSHOT</version>
|
||||
</parent>
|
||||
|
||||
<groupId>ru.micord.ervu.lkrp.ul</groupId>
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@
|
|||
"filter_cleanup_interval_hours": 720,
|
||||
"filter_cleanup_check_period_minutes": 30,
|
||||
"auth_method": "form",
|
||||
"enable.version.in.url": "false",
|
||||
"enable.version.in.url": "%enable.version.in.url%",
|
||||
"backend.context": "ul",
|
||||
"guard.confirm_exit": false,
|
||||
"message_service_error_timeout": "",
|
||||
|
|
|
|||
|
|
@ -1 +1 @@
|
|||
1.8.0-SNAPSHOT
|
||||
%project.version%
|
||||
|
|
|
|||
|
|
@ -51,7 +51,7 @@
|
|||
|
||||
.webbpm.ervu_lkrp_ul .title {
|
||||
font-size: var(--size-text-title);
|
||||
font-family: 'InterSB';
|
||||
font-family: 'InterB';
|
||||
padding-top: 0;
|
||||
padding-bottom: var(--indent-medium);
|
||||
}
|
||||
|
|
@ -202,7 +202,7 @@
|
|||
.webbpm.ervu_lkrp_ul .warning-group + field-set {
|
||||
margin-top: var(--indent-medium);
|
||||
}
|
||||
.webbpm.ervu_lkrp_ul .warning-group + .warning-group,
|
||||
.webbpm.ervu_lkrp_ul .warning-group + .warning-group,
|
||||
.webbpm.ervu_lkrp_ul .warning-group + .data-group {
|
||||
margin-top: var(--indent-small);
|
||||
}
|
||||
|
|
@ -279,6 +279,10 @@
|
|||
white-space: nowrap;
|
||||
}
|
||||
|
||||
.webbpm.ervu_lkrp_ul .data-group .description {
|
||||
color: var(--color-text-secondary);
|
||||
}
|
||||
|
||||
.webbpm.ervu_lkrp_ul .pin + .pin {
|
||||
margin-top: 12px;
|
||||
}
|
||||
|
|
@ -300,20 +304,20 @@
|
|||
margin-bottom: 16px;
|
||||
}
|
||||
.webbpm.ervu_lkrp_ul .paragraph-group > .vertical-container > *:last-child {
|
||||
margin-bottom: 0;
|
||||
margin-bottom: 0;
|
||||
}
|
||||
.webbpm.ervu_lkrp_ul .paragraph-group + .paragraph-group {
|
||||
padding-top: 24px;
|
||||
margin-top: 24px;
|
||||
border-top: 1px solid var(--border-light);
|
||||
}
|
||||
}
|
||||
|
||||
.webbpm.ervu_lkrp_ul .fieldset {
|
||||
padding: 24px;
|
||||
margin-bottom: 0;
|
||||
border: 1px solid var(--border-light);
|
||||
border-radius: 4px;
|
||||
background-color: var(--bg-light);
|
||||
background-color: var(--bg-light);
|
||||
box-shadow: none;
|
||||
}
|
||||
.webbpm.ervu_lkrp_ul .fieldset legend + div {
|
||||
|
|
@ -392,7 +396,7 @@
|
|||
margin-top: var(--indent-medium);
|
||||
}
|
||||
|
||||
.webbpm.ervu_lkrp_ul input,
|
||||
.webbpm.ervu_lkrp_ul input,
|
||||
.webbpm.ervu_lkrp_ul button {
|
||||
border-radius: 4px;
|
||||
box-shadow: none !important;
|
||||
|
|
@ -408,15 +412,15 @@
|
|||
|
||||
.webbpm.ervu_lkrp_ul ag-grid-angular .grid-setting-icon,
|
||||
.webbpm.ervu_lkrp_ul ag-grid-angular .ag-header-cell.ag-header-active .ag-header-cell-menu-button,
|
||||
.webbpm.ervu_lkrp_ul ag-grid-angular .ag-header-cell .ag-header-icon .ag-icon,
|
||||
/*.webbpm.ervu_lkrp_ul ag-grid-angular .ag-header-cell .ag-header-icon .ag-icon,*/
|
||||
.webbpm.ervu_lkrp_ul ag-grid-angular .ag-header-row-column-filter :is(.ag-header-cell, .ag-header-group-cell)::after,
|
||||
.webbpm.ervu_lkrp_ul ag-grid-angular .ag-filter .ag-filter-condition,
|
||||
.webbpm.ervu_lkrp_ul ag-grid-angular .ag-filter .ag-filter-condition ~ * {
|
||||
display: none !important;
|
||||
/*display: none !important;*/
|
||||
}
|
||||
|
||||
.webbpm.ervu_lkrp_ul ag-grid-angular .ag-floating-filter-button {
|
||||
display: none !important;
|
||||
/*display: none !important;*/
|
||||
}
|
||||
|
||||
.webbpm.ervu_lkrp_ul ag-grid-angular .ag-header-row:not(:first-child) .ag-header-cell,
|
||||
|
|
@ -426,7 +430,7 @@
|
|||
|
||||
.webbpm.ervu_lkrp_ul ag-grid-angular {
|
||||
font-family: 'Inter';
|
||||
}
|
||||
}
|
||||
|
||||
.webbpm.ervu_lkrp_ul ag-grid-angular .ag-popup .ag-select-list-item {
|
||||
font-size: var(--size-text-secondary);
|
||||
|
|
@ -440,32 +444,39 @@
|
|||
width: 24px;
|
||||
height: 24px;
|
||||
}
|
||||
.webbpm.ervu_lkrp_ul ag-grid-angular .ag-icon:is(.ag-icon-small-down, .ag-icon-filter)::before {
|
||||
position: absolute;
|
||||
|
||||
.webbpm.ervu_lkrp_ul ag-grid-angular .ag-icon:is(.ag-icon-small-down)::before {
|
||||
content: "";
|
||||
width: 24px;
|
||||
height: 24px;
|
||||
top: 0;
|
||||
left: 0;
|
||||
}
|
||||
|
||||
.webbpm.ervu_lkrp_ul ag-grid-angular .ag-icon.ag-icon-small-down::before {
|
||||
background-image: url(../img/svg/arrow-left.svg);
|
||||
transform: rotate(-90deg);
|
||||
}
|
||||
.webbpm.ervu_lkrp_ul ag-grid-angular .ag-icon.ag-icon-filter::before {
|
||||
background-image: url(../img/svg/filter.svg);
|
||||
top: -4px;
|
||||
left: -4px;
|
||||
}
|
||||
|
||||
.webbpm.ervu_lkrp_ul ag-grid-angular .ag-icon-menu {
|
||||
background: transparent url(../img/svg/filter.svg) center no-repeat;
|
||||
color: transparent;
|
||||
}
|
||||
|
||||
.webbpm.ervu_lkrp_ul ag-grid-angular .ag-header-cell-menu-button:not(.ag-header-menu-always-show) {
|
||||
opacity: unset;
|
||||
}
|
||||
|
||||
.webbpm.ervu_lkrp_ul ag-grid-angular .ag-filter-select {
|
||||
font-size: var(--size-text-secondary);
|
||||
}
|
||||
|
||||
.webbpm.ervu_lkrp_ul ag-grid-angular .ag-filter-select .ag-picker-field-wrapper {
|
||||
font-family: 'InterSB';
|
||||
border: 0;
|
||||
box-shadow: none !important;
|
||||
}
|
||||
|
||||
.webbpm.ervu_lkrp_ul ag-grid-angular .ag-filter-select .ag-picker-field-wrapper .ag-picker-field-display {
|
||||
margin: 0;
|
||||
}
|
||||
|
|
@ -473,6 +484,7 @@
|
|||
.webbpm.ervu_lkrp_ul ag-grid-angular .ag-filter-body {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
.webbpm.ervu_lkrp_ul ag-grid-angular .ag-filter-body input {
|
||||
color: var(--color-light);
|
||||
font-size: var(--size-text-secondary);
|
||||
|
|
@ -480,6 +492,43 @@
|
|||
padding: 6px 12px !important;
|
||||
}
|
||||
|
||||
.webbpm.ervu_lkrp_ul ag-grid-angular .ag-set-filter {
|
||||
min-width: 100px;
|
||||
padding: 10px 12px;
|
||||
}
|
||||
|
||||
.webbpm.ervu_lkrp_ul ag-grid-angular .ag-set-filter-item + .ag-set-filter-item {
|
||||
margin-top: 8px;
|
||||
}
|
||||
|
||||
.webbpm.ervu_lkrp_ul ag-grid-angular .ag-filter .ag-filter-checkbox {
|
||||
width: 24px;
|
||||
height: 24px;
|
||||
border: 2px solid var(--color-link);
|
||||
border-radius: 4px;
|
||||
position: relative;
|
||||
margin-right: 12px;
|
||||
-webkit-appearance: none;
|
||||
-moz-appearance: none;
|
||||
appearance: none;
|
||||
vertical-align: text-bottom;
|
||||
}
|
||||
|
||||
.webbpm.ervu_lkrp_ul ag-grid-angular .ag-filter .ag-filter-checkbox:before {
|
||||
content: '';
|
||||
color: white;
|
||||
position: absolute;
|
||||
top: 3px;
|
||||
left: 3px;
|
||||
width: 14px;
|
||||
height: 14px;
|
||||
}
|
||||
|
||||
.webbpm.ervu_lkrp_ul ag-grid-angular .ag-filter .ag-filter-checkbox:checked:before {
|
||||
border-radius: 2px;
|
||||
background: var(--color-link) url(../img/svg/input-checked.svg);
|
||||
}
|
||||
|
||||
.webbpm.ervu_lkrp_ul ag-grid-angular .ag-header-row {
|
||||
font-family: 'InterSB';
|
||||
}
|
||||
|
|
@ -529,7 +578,7 @@
|
|||
flex-direction: column-reverse;
|
||||
}
|
||||
.webbpm.ervu_lkrp_ul .main-block .left-block {
|
||||
padding-right: 0;
|
||||
padding-right: 0;
|
||||
margin-top: var(--indent-medium);
|
||||
}
|
||||
|
||||
|
|
@ -543,8 +592,8 @@
|
|||
top: 20px;
|
||||
left: auto;
|
||||
right: 20px;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
.webbpm.ervu_lkrp_ul .left-block {
|
||||
width: 100%;
|
||||
}
|
||||
|
|
@ -561,7 +610,9 @@
|
|||
|
||||
.webbpm.ervu_lkrp_ul .journal in-memory-static-grid {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
flex: 1;
|
||||
height: auto;
|
||||
}
|
||||
.webbpm.ervu_lkrp_ul .journal .grid {
|
||||
flex-direction: column;
|
||||
|
|
@ -701,7 +752,7 @@
|
|||
background: none;
|
||||
}
|
||||
.webbpm.ervu_lkrp_ul .modal.show .modal-content .warning-group > div > * + *:not([hidden]) {
|
||||
margin-top: 8px;
|
||||
margin-top: 8px;
|
||||
}
|
||||
.webbpm.ervu_lkrp_ul .modal.show .modal-content hyper-link.btn {
|
||||
padding: 0;
|
||||
|
|
@ -710,7 +761,7 @@
|
|||
}
|
||||
.webbpm.ervu_lkrp_ul .modal.show .modal-content hyper-link.btn .hyper-link {
|
||||
padding: 13px 38px;
|
||||
border: 1px solid var(--color-link);
|
||||
border: 1px solid var(--color-link);
|
||||
border-radius: 4px;
|
||||
}
|
||||
.webbpm.ervu_lkrp_ul .modal.show .modal-content hyper-link.btn .hyper-link:hover {
|
||||
|
|
@ -813,7 +864,7 @@
|
|||
.webbpm.ervu_lkrp_ul .modal.show ervu-file-upload .selected-file .selected-file-size::before {
|
||||
position: relative;
|
||||
content: "|";
|
||||
margin-right: 8px;
|
||||
margin-right: 8px;
|
||||
}
|
||||
.webbpm.ervu_lkrp_ul .modal.show ervu-file-upload .selected-file .selected-file-delete-btn {
|
||||
color: var(--color-link);
|
||||
|
|
@ -867,12 +918,21 @@
|
|||
background-image: url(../img/svg/win-success.svg);
|
||||
}
|
||||
|
||||
|
||||
/* temp fix + add flex-wrap*/
|
||||
.webbpm.ervu_lkrp_ul :is(.fieldset, .warning-group) .horizontal-container text + button-component:not(.info) {
|
||||
margin-top: -2px;
|
||||
margin-top: -2px;
|
||||
}
|
||||
|
||||
.webbpm.ervu_lkrp_ul .dialog-link {
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.webbpm.ervu_lkrp_ul #mydata .data-group:first-child .subtitle {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
.webbpm.ervu_lkrp_ul #mydata .right-block field-set:first-child .fieldset {
|
||||
padding-top: 24px;
|
||||
}
|
||||
.webbpm.ervu_lkrp_ul #mydata .right-block field-set:first-child .fieldset::before {
|
||||
display: none;
|
||||
}
|
||||
|
|
@ -359,4 +359,4 @@ body.webbpm.ervu_lkrp_ul {
|
|||
87.5% {
|
||||
box-shadow: 0em -2.6em 0em 0em rgba(198, 78, 27, 0.3), 1.8em -1.8em 0 0em rgba(198, 78, 27, 0.3), 2.5em 0em 0 0em rgba(198, 78, 27, 0.3), 1.75em 1.75em 0 0em rgba(198, 78, 27, 0.3), 0em 2.5em 0 0em rgba(198, 78, 27, 0.3), -1.8em 1.8em 0 0em rgba(198, 78, 27, 0.7), -2.6em 0em 0 0em rgba(198, 78, 27, 1), -1.8em -1.8em 0 0em #ffffff;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
3
frontend/src/resources/img/svg/input-checked.svg
Normal file
3
frontend/src/resources/img/svg/input-checked.svg
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
<svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M2.56192 6.65976L5.83968 9.93751L11.4379 4.33928" stroke="white"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 179 B |
|
|
@ -624,6 +624,29 @@ a.btn:is(:hover, :focus, :active) {
|
|||
color: var(--color-link);
|
||||
}
|
||||
|
||||
.browser-check-content {
|
||||
font-family: 'Golos';
|
||||
font-size: var(--size-text-secondary);
|
||||
padding: var(--indent-mini) var(--w-screen) var(--indent-mini) calc(var(--w-screen) + 38px);
|
||||
background-color: var(--bg-warn);
|
||||
}
|
||||
.browser-check-text {
|
||||
position: relative;
|
||||
padding-left: 40px;
|
||||
}
|
||||
.browser-check-text::before {
|
||||
position: absolute;
|
||||
content: url(../img/svg/info.svg);
|
||||
left: 0;
|
||||
top: calc((100% - 24px) / 2);
|
||||
}
|
||||
.text-header {
|
||||
color: var(--color-link);
|
||||
font-family: 'GolosB';
|
||||
font-size: var(--size-text-primary);
|
||||
margin-bottom: 4px;
|
||||
}
|
||||
|
||||
/*@media ((max-width: 780px) or ((orientation: landscape) and (max-device-width : 1024px))) {*/
|
||||
@media (max-width: 1024px) {
|
||||
body {
|
||||
|
|
|
|||
|
|
@ -1,12 +1,15 @@
|
|||
import {ColDef, ICellRendererFunc, SuppressKeyboardEventParams} from "ag-grid-community";
|
||||
import {
|
||||
ColDef,
|
||||
DateFilter,
|
||||
ICellRendererFunc,
|
||||
SuppressKeyboardEventParams
|
||||
} from "ag-grid-community";
|
||||
import {
|
||||
DateTimeUtil,
|
||||
DefaultTooltip,
|
||||
GridCellTooltipUtils,
|
||||
GridColumnComparatorUtils,
|
||||
GridColumnFilterUtils,
|
||||
GridColumnKeyboardUtils,
|
||||
GridSettingHeader,
|
||||
GridValueFormatterUtils,
|
||||
GridValueRendererUtils,
|
||||
PinnedType
|
||||
|
|
@ -14,6 +17,7 @@ import {
|
|||
import {Moment} from "moment";
|
||||
import * as moment from "moment-timezone";
|
||||
import {StaticGridColumn} from "../../../generated/ru/micord/ervu/property/grid/StaticGridColumn";
|
||||
import {CustomGridColumnFilterUtils} from "./filter/CustomGridColumnFilterUtils";
|
||||
|
||||
export class StaticColumnInitializer {
|
||||
|
||||
|
|
@ -27,7 +31,6 @@ export class StaticColumnInitializer {
|
|||
columnDef.resizable = !column.widthFixed;
|
||||
columnDef.headerComponentParams = {"disable_hiding": column.disableHiding || false};
|
||||
columnDef.lockVisible = column.disableHiding;
|
||||
columnDef.headerComponent = GridSettingHeader;
|
||||
columnDef.headerTooltip = column.headerTooltip ? column.headerTooltip : column.displayName;
|
||||
columnDef.suppressMenu = column.suppressHeaderMenu;
|
||||
|
||||
|
|
@ -51,40 +54,6 @@ export class StaticColumnInitializer {
|
|||
let type = column.field.type;
|
||||
|
||||
if (type != null) {
|
||||
|
||||
if (gridRef.floatingFilter && column.filter !== false) {
|
||||
columnDef.floatingFilter = gridRef.floatingFilter;
|
||||
columnDef.filter = GridColumnFilterUtils.columnFilter(type);
|
||||
|
||||
if (columnDef.filter === 'agDateColumnFilter') {
|
||||
columnDef.filterParams = {
|
||||
comparator: function (filterLocalDateAtMidnight, cellValue) {
|
||||
|
||||
if (!cellValue) {
|
||||
return -1;
|
||||
}
|
||||
|
||||
let filterMoment: Moment = moment.utc(filterLocalDateAtMidnight)
|
||||
.add(-filterLocalDateAtMidnight.getTimezoneOffset(), 'm');
|
||||
let cellMoment: Moment = DateTimeUtil.parseToMidnightUTC(cellValue);
|
||||
|
||||
if (filterMoment.isSame(cellMoment)) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
if (cellMoment.isBefore(filterMoment)) {
|
||||
return -1;
|
||||
}
|
||||
|
||||
if (cellMoment.isAfter(filterMoment)) {
|
||||
return 1;
|
||||
}
|
||||
},
|
||||
browserDatePicker: true,
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
if (gridRef.getRowModelType() == "clientSide") {
|
||||
columnDef.comparator = GridColumnComparatorUtils.columnComparator(type);
|
||||
}
|
||||
|
|
@ -92,6 +61,39 @@ export class StaticColumnInitializer {
|
|||
columnDef.cellRenderer = gridRef.createRenderer(column);
|
||||
}
|
||||
|
||||
if (column.filter !== false) {
|
||||
columnDef.floatingFilter = gridRef.floatingFilter;
|
||||
columnDef.filter = CustomGridColumnFilterUtils.columnFilter(column.field.filterType);
|
||||
|
||||
if (columnDef.filter === DateFilter) {
|
||||
columnDef.filterParams = {
|
||||
comparator: function (filterLocalDateAtMidnight, cellValue) {
|
||||
|
||||
if (!cellValue) {
|
||||
return -1;
|
||||
}
|
||||
|
||||
let filterMoment: Moment = moment.utc(filterLocalDateAtMidnight)
|
||||
.add(-filterLocalDateAtMidnight.getTimezoneOffset(), 'm');
|
||||
let cellMoment: Moment = DateTimeUtil.parseToMidnightUTC(cellValue);
|
||||
|
||||
if (filterMoment.isSame(cellMoment)) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
if (cellMoment.isBefore(filterMoment)) {
|
||||
return -1;
|
||||
}
|
||||
|
||||
if (cellMoment.isAfter(filterMoment)) {
|
||||
return 1;
|
||||
}
|
||||
},
|
||||
browserDatePicker: true,
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
columnDef.suppressKeyboardEvent = (params: SuppressKeyboardEventParams) => {
|
||||
return GridColumnKeyboardUtils.suppressHomeAndEndKeyboardEvent(params);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,24 @@
|
|||
import {FilterType} from "../../../../generated/ru/micord/ervu/property/grid/FilterType";
|
||||
import {DateFilter, NumberFilter, TextFilter} from "ag-grid-community";
|
||||
import {SetFilter} from "./SetFilter";
|
||||
|
||||
export class CustomGridColumnFilterUtils {
|
||||
|
||||
public static columnFilter(type: FilterType) {
|
||||
if (!type) {
|
||||
return null;
|
||||
}
|
||||
|
||||
switch (type) {
|
||||
case FilterType.NUMBER:
|
||||
return NumberFilter;
|
||||
case FilterType.DATE:
|
||||
return DateFilter;
|
||||
case FilterType.SET:
|
||||
return SetFilter;
|
||||
case FilterType.TEXT:
|
||||
default:
|
||||
return TextFilter;
|
||||
}
|
||||
}
|
||||
}
|
||||
111
frontend/src/ts/ervu/component/grid/filter/SetFilter.ts
Normal file
111
frontend/src/ts/ervu/component/grid/filter/SetFilter.ts
Normal file
|
|
@ -0,0 +1,111 @@
|
|||
import {AgPromise, IDoesFilterPassParams, IFilterComp, IFilterParams} from "ag-grid-community";
|
||||
|
||||
export class SetFilter implements IFilterComp {
|
||||
|
||||
private OPTION_TEMPLATE = `<label class="ag-set-filter-item">
|
||||
<input type="checkbox" class="ag-filter-checkbox" checked/>
|
||||
<span class="ag-filter-value"></span>
|
||||
</label>`;
|
||||
|
||||
private eGui!: HTMLDivElement;
|
||||
private selectAll: HTMLInputElement;
|
||||
private checkboxes: HTMLInputElement[] = [];
|
||||
private values: any[] = [];
|
||||
private initialValues: any[];
|
||||
private filterActive: boolean;
|
||||
private filterChangedCallback!: (additionalEventAttributes?: any) => void;
|
||||
private filterParams!: IFilterParams;
|
||||
private valueType: string;
|
||||
|
||||
init(params: IFilterParams): void {
|
||||
this.eGui = document.createElement('div');
|
||||
this.eGui.className = 'ag-set-filter';
|
||||
let index = 0;
|
||||
this.selectAll = this.initCheckBox('selectAll', 'Все', index);
|
||||
this.checkboxes.push(this.selectAll);
|
||||
|
||||
params.api.getRenderedNodes()
|
||||
.map(node => node.data[params.colDef.field])
|
||||
.sort((n1, n2) => n1 > n2 ? 1 : n1 < n2 ? -1 : 0)
|
||||
.forEach(value => {
|
||||
if (this.values.includes(value)) {
|
||||
return;
|
||||
}
|
||||
index++;
|
||||
let id = `option-${index}`;
|
||||
let checkbox = this.initCheckBox(id, value, index);
|
||||
this.checkboxes.push(checkbox);
|
||||
this.values.push(value);
|
||||
});
|
||||
this.initialValues = this.values.slice();
|
||||
this.filterParams = params;
|
||||
this.filterActive = false;
|
||||
this.filterChangedCallback = params.filterChangedCallback;
|
||||
|
||||
if (this.values.length > 0) {
|
||||
this.valueType = typeof this.values[0];
|
||||
}
|
||||
};
|
||||
|
||||
private initCheckBox(id: string, value: string, index: number): HTMLInputElement {
|
||||
this.eGui.insertAdjacentHTML('beforeend', this.OPTION_TEMPLATE);
|
||||
this.eGui.querySelectorAll('.ag-filter-value')[index].innerHTML = value;
|
||||
let checkbox = this.eGui.querySelectorAll('.ag-filter-checkbox')[index] as HTMLInputElement;
|
||||
checkbox.setAttribute('id', id);
|
||||
checkbox.addEventListener('change', this.onCheckBoxChanged.bind(this));
|
||||
return checkbox;
|
||||
}
|
||||
|
||||
getGui(): HTMLDivElement {
|
||||
return this.eGui;
|
||||
};
|
||||
|
||||
onCheckBoxChanged(event: any) {
|
||||
let checked = event.target.checked;
|
||||
|
||||
if (event.target === this.selectAll) {
|
||||
this.checkboxes.forEach(checkbox => checkbox.checked = checked);
|
||||
this.values = checked ? this.initialValues.slice() : [];
|
||||
}
|
||||
else {
|
||||
let value = event.target.nextElementSibling.textContent;
|
||||
value = this.valueType === 'number' ? +value : value;
|
||||
|
||||
if (checked) {
|
||||
this.values.push(value);
|
||||
|
||||
if (this.values.length == this.initialValues.length) {
|
||||
this.selectAll.checked = true;
|
||||
}
|
||||
}
|
||||
else {
|
||||
let index = this.values.indexOf(value);
|
||||
this.values.splice(index, 1);
|
||||
this.selectAll.checked = false;
|
||||
}
|
||||
}
|
||||
this.filterActive = !this.selectAll.checked;
|
||||
this.filterChangedCallback();
|
||||
}
|
||||
|
||||
doesFilterPass(params: IDoesFilterPassParams): boolean {
|
||||
let { field } = this.filterParams.colDef;
|
||||
return this.values.includes(params.data[field]);
|
||||
}
|
||||
|
||||
getModel(): any {
|
||||
return this.isFilterActive() ? { value: this.values } : null;
|
||||
}
|
||||
|
||||
isFilterActive(): boolean {
|
||||
return this.filterActive;
|
||||
}
|
||||
|
||||
setModel(model: any): void | AgPromise<void> {
|
||||
this.values = model == null ? [] : model.value;
|
||||
}
|
||||
|
||||
destroy(): void {
|
||||
this.checkboxes.forEach(checkBox => checkBox.removeEventListener('change', this.onCheckBoxChanged.bind(this)));
|
||||
}
|
||||
}
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
class EsiaErrorDetail {
|
||||
export class EsiaErrorDetail {
|
||||
private static errors: { [code: string]: string } = {
|
||||
'ESIA-007071': 'Запрос персональных данных по физическим лицам может быть выполнен только с указанием согласий',
|
||||
'ESIA-007055': 'Вход в систему осуществляется с неподтвержденной учетной записью',
|
||||
|
|
@ -6,7 +6,7 @@ class EsiaErrorDetail {
|
|||
'ESIA-007008': 'Сервис авторизации в настоящее время не может выполнить запрос из-за большой нагрузки или технических работ на сервере',
|
||||
};
|
||||
|
||||
static getDescription(code: string): string {
|
||||
public static getDescription(code: string): string {
|
||||
return this.errors[code] || 'Доступ запрещен. Обратитесь к системному администратору. Ошибка ' + code;
|
||||
}
|
||||
}
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
export class TokenConstants {
|
||||
public static readonly CSRF_TOKEN_NAME = "XSRF-TOKEN";
|
||||
public static readonly CSRF_HEADER_NAME = "X-XSRF-TOKEN";
|
||||
public static readonly CSRF_TOKEN_NAME = "XSRF-TOKEN-LKRP-UL";
|
||||
public static readonly CSRF_HEADER_NAME = "X-XSRF-TOKEN-LKRP-UL";
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,8 +1,6 @@
|
|||
import {Injectable} from '@angular/core';
|
||||
import {HttpClient} from '@angular/common/http';
|
||||
import {Observable} from "rxjs";
|
||||
import {CookieService} from "ngx-cookie";
|
||||
import {tap} from "rxjs/operators";
|
||||
import {AppConfigService} from "@webbpm/base-package";
|
||||
|
||||
@Injectable({providedIn: 'root'})
|
||||
|
|
@ -14,7 +12,7 @@ export class AuthenticationService {
|
|||
}
|
||||
|
||||
checkAuthentication(): Promise<any>{
|
||||
return this.appConfigService.load().then(value => this.http.get<any>("version").toPromise())
|
||||
return this.appConfigService.load().then(() => this.http.get<any>("version").toPromise())
|
||||
}
|
||||
|
||||
logout(): Promise<any> {
|
||||
|
|
|
|||
|
|
@ -4,6 +4,7 @@ import {Observable} from "rxjs";
|
|||
import {HttpClient, HttpParams} from "@angular/common/http";
|
||||
import {MessagesService} from "@webbpm/base-package";
|
||||
import {AuthenticationService} from "../authentication.service";
|
||||
import {EsiaErrorDetail} from "../EsiaErrorDetail";
|
||||
|
||||
@Injectable({providedIn:'root'})
|
||||
export abstract class AuthGuard implements CanActivate {
|
||||
|
|
@ -18,10 +19,14 @@ export abstract class AuthGuard implements CanActivate {
|
|||
|
||||
public canActivate(route: ActivatedRouteSnapshot,
|
||||
state: RouterStateSnapshot): Observable<boolean> | Promise<boolean> | boolean {
|
||||
let url = new URL(window.location.href);
|
||||
if (!this.checkBrowser()) {
|
||||
window.open(url.origin + url.pathname + "home.html", "_self");
|
||||
return false;
|
||||
}
|
||||
let hasAccess: Promise<boolean> | boolean = this.checkAccess();
|
||||
|
||||
return Promise.resolve(hasAccess).then((isAccess) => {
|
||||
let url = new URL(window.location.href);
|
||||
let params = new URLSearchParams(url.search);
|
||||
let code = params.get('code');
|
||||
let error = params.get('error');
|
||||
|
|
@ -29,18 +34,8 @@ export abstract class AuthGuard implements CanActivate {
|
|||
if (isAccess) {
|
||||
return true;
|
||||
}
|
||||
else if (error) {
|
||||
let userErrorMessage = 'Произошла неизвестная ошибка. Обратитесь к системному администратору';
|
||||
let errorCode = this.extractCode(errorDescription);
|
||||
if (errorCode) {
|
||||
userErrorMessage = EsiaErrorDetail.getDescription(errorCode);
|
||||
}
|
||||
let errorMessage = error + ', error description = ' + errorDescription;
|
||||
this.messageService.error(userErrorMessage)
|
||||
throw new Error(errorMessage);
|
||||
}
|
||||
else if (code) {
|
||||
const params = new HttpParams().set('code', code);
|
||||
if (code || error) {
|
||||
const params = new HttpParams().set('code', code).set('error', error);
|
||||
this.httpClient.get("esia/auth",
|
||||
{
|
||||
params: params, responseType: 'text', observe: 'response', headers: {
|
||||
|
|
@ -56,8 +51,20 @@ export abstract class AuthGuard implements CanActivate {
|
|||
let errorMessage = reason.error.messages != null
|
||||
? reason.error.messages
|
||||
: reason.error.replaceAll('\\', '');
|
||||
this.messageService.error(errorMessage);
|
||||
console.error(reason);
|
||||
if (error) {
|
||||
errorMessage = 'Произошла неизвестная ошибка. Обратитесь к системному администратору';
|
||||
let errorCode = this.extractCode(errorDescription);
|
||||
if (errorCode) {
|
||||
errorMessage = EsiaErrorDetail.getDescription(errorCode);
|
||||
}
|
||||
let consoleError = error + ', error description = ' + errorDescription;
|
||||
this.messageService.error(errorMessage);
|
||||
console.error(consoleError);
|
||||
}
|
||||
else {
|
||||
this.messageService.error(errorMessage);
|
||||
console.error(reason);
|
||||
}
|
||||
});
|
||||
return false;
|
||||
}
|
||||
|
|
@ -82,4 +89,9 @@ export abstract class AuthGuard implements CanActivate {
|
|||
const match = message.match(regex);
|
||||
return match ? match[0] : null;
|
||||
}
|
||||
|
||||
private checkBrowser(): boolean {
|
||||
const userAgent = navigator.userAgent;
|
||||
return userAgent.indexOf("Chromium GOST") > -1 || userAgent.indexOf("YaBrowser") > -1;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,26 +1,33 @@
|
|||
import {HttpEvent, HttpHandler, HttpInterceptor, HttpRequest} from '@angular/common/http';
|
||||
import {
|
||||
HttpEvent,
|
||||
HttpHandler,
|
||||
HttpInterceptor,
|
||||
HttpRequest,
|
||||
HttpXsrfTokenExtractor
|
||||
} from '@angular/common/http';
|
||||
import {Injectable} from '@angular/core';
|
||||
import {Observable} from 'rxjs';
|
||||
import {CookieService} from "ngx-cookie";
|
||||
import {TokenConstants} from "../../security/TokenConstants";
|
||||
|
||||
@Injectable()
|
||||
export class AbsoluteUrlCsrfInterceptor implements HttpInterceptor {
|
||||
|
||||
constructor(private cookieService: CookieService) {
|
||||
constructor(private extractor: HttpXsrfTokenExtractor) {
|
||||
}
|
||||
|
||||
intercept(req: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {
|
||||
|
||||
let requestToForward = req;
|
||||
let token = this.cookieService.get(TokenConstants.CSRF_TOKEN_NAME) as string;
|
||||
|
||||
if (token != null) {
|
||||
let headers = {};
|
||||
let headerName = TokenConstants.CSRF_HEADER_NAME;
|
||||
headers[headerName] = token;
|
||||
requestToForward = req.clone({setHeaders: headers});
|
||||
if (req.method === 'GET' || req.method === 'HEAD') {
|
||||
return next.handle(req);
|
||||
}
|
||||
return next.handle(requestToForward);
|
||||
let token = this.extractor.getToken();
|
||||
let headerName = TokenConstants.CSRF_HEADER_NAME;
|
||||
|
||||
if (token != null && !req.headers.has(headerName)) {
|
||||
let headers = {};
|
||||
headers[headerName] = token;
|
||||
req = req.clone({setHeaders: headers});
|
||||
}
|
||||
return next.handle(req);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -3,7 +3,6 @@ const path = require('path');
|
|||
const webpack = require('webpack');
|
||||
const CopyWebpackPlugin = require('copy-webpack-plugin');
|
||||
const HtmlWebpackPlugin = require('html-webpack-plugin');
|
||||
const BundleAnalyzerPlugin = require('webpack-bundle-analyzer').BundleAnalyzerPlugin;
|
||||
const MiniCssExtractPlugin = require("mini-css-extract-plugin");
|
||||
const TerserPlugin = require('terser-webpack-plugin');
|
||||
|
||||
|
|
@ -14,9 +13,9 @@ function _path(p) {
|
|||
module.exports = {
|
||||
mode: 'production',
|
||||
entry: {
|
||||
'polyfills': './build/scripts/polyfills.js',
|
||||
'vendor': './build/scripts/vendor.js',
|
||||
'main': './build/scripts/main.aot.js'
|
||||
polyfills: './build/scripts/polyfills.js',
|
||||
vendor: './build/scripts/vendor.js',
|
||||
main: './build/scripts/main.aot.js',
|
||||
},
|
||||
|
||||
context: process.cwd(),
|
||||
|
|
@ -24,26 +23,33 @@ module.exports = {
|
|||
output: {
|
||||
path: path.join(process.cwd(), './dist'),
|
||||
filename: '[name].[chunkhash].bundle.js',
|
||||
chunkFilename: '[id].[chunkhash].chunk.js'
|
||||
chunkFilename: '[id].[chunkhash].chunk.js',
|
||||
assetModuleFilename: 'src/resources/[base]',
|
||||
publicPath: 'auto'
|
||||
},
|
||||
|
||||
module: {
|
||||
rules: [
|
||||
{
|
||||
test: /\.js$/,
|
||||
use: {
|
||||
loader: 'babel-loader',
|
||||
include: [path.resolve(__dirname, "node_modules")],
|
||||
options: {
|
||||
presets: ['@babel/preset-env']
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
test: /\.js$/,
|
||||
use: {
|
||||
loader: 'angular-router-loader?aot=true'
|
||||
}
|
||||
},
|
||||
{
|
||||
test: /\.html$/,
|
||||
use: {
|
||||
loader: 'raw-loader'
|
||||
}
|
||||
},
|
||||
{
|
||||
test: /\.css$/,
|
||||
|
|
@ -56,12 +62,14 @@ module.exports = {
|
|||
// publicPath: '../'
|
||||
}
|
||||
},
|
||||
"css-loader"
|
||||
{
|
||||
loader: 'css-loader'
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
test: /\.(png|jpe?g|gif|svg|woff|woff2|ttf|eot|ico|otf)$/,
|
||||
loader: 'file-loader?name=src/resources/[name].[hash].[ext]'
|
||||
type: 'asset/resource'
|
||||
}
|
||||
]
|
||||
},
|
||||
|
|
@ -69,7 +77,6 @@ module.exports = {
|
|||
optimization: {
|
||||
minimizer: [
|
||||
new TerserPlugin({
|
||||
cache: true,
|
||||
parallel: true,
|
||||
terserOptions: {
|
||||
// https://github.com/webpack-contrib/terser-webpack-plugin#terseroptions
|
||||
|
|
@ -83,7 +90,6 @@ module.exports = {
|
|||
},
|
||||
|
||||
plugins: [
|
||||
// new BundleAnalyzerPlugin(),
|
||||
new HtmlWebpackPlugin({
|
||||
template: 'index.webpack.html',
|
||||
filename: 'index.html',
|
||||
|
|
@ -100,8 +106,8 @@ module.exports = {
|
|||
{from: 'src/resources/landing', to: 'src/resources/landing'}
|
||||
]),
|
||||
new MiniCssExtractPlugin({
|
||||
filename: '[name].[hash].css',
|
||||
chunkFilename: '[id].[hash].css'
|
||||
filename: '[name].[fullhash].css',
|
||||
chunkFilename: '[id].[fullhash].css'
|
||||
}),
|
||||
new webpack.ProvidePlugin({
|
||||
$: "jquery",
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@
|
|||
<modelVersion>4.0.0</modelVersion>
|
||||
<groupId>ru.cg.webbpm.packages.base</groupId>
|
||||
<artifactId>resources</artifactId>
|
||||
<version>3.178.2</version>
|
||||
<version>3.185.0</version>
|
||||
<organization>
|
||||
<name>Micord</name>
|
||||
</organization>
|
||||
|
|
@ -28,13 +28,13 @@
|
|||
<jooq.version>3.19.3</jooq.version>
|
||||
<jupiter.version>5.10.2</jupiter.version>
|
||||
<enforcer.manageVersions>true</enforcer.manageVersions>
|
||||
<webbpm-platform.version>3.178.2</webbpm-platform.version>
|
||||
<webbpm-platform.version>3.185.0</webbpm-platform.version>
|
||||
<h2.version>1.4.200</h2.version>
|
||||
<build.timestamp>0829133121</build.timestamp>
|
||||
<build.timestamp>1107112530</build.timestamp>
|
||||
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
|
||||
<junit.platform.version>1.10.0</junit.platform.version>
|
||||
<enforcer.manageExclusions>true</enforcer.manageExclusions>
|
||||
<revision>3.178.2</revision>
|
||||
<revision>3.185.0</revision>
|
||||
<metadata.ts.filename>typescript.metadata.json</metadata.ts.filename>
|
||||
<package.repository.url>https://repo.micord.ru</package.repository.url>
|
||||
<maven.build.timestamp.format>MMddHHmmss</maven.build.timestamp.format>
|
||||
|
|
@ -47,19 +47,19 @@
|
|||
<dependency>
|
||||
<groupId>ru.cg.webbpm.packages.base</groupId>
|
||||
<artifactId>converters</artifactId>
|
||||
<version>3.178.2</version>
|
||||
<version>3.185.0</version>
|
||||
<scope>compile</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>ru.cg.webbpm.packages.base</groupId>
|
||||
<artifactId>backend</artifactId>
|
||||
<version>3.178.2</version>
|
||||
<version>3.185.0</version>
|
||||
<scope>compile</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>ru.cg.webbpm.packages.base</groupId>
|
||||
<artifactId>frontend</artifactId>
|
||||
<version>3.178.2</version>
|
||||
<version>3.185.0</version>
|
||||
<scope>compile</scope>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
|
|
|
|||
|
|
@ -60,7 +60,7 @@
|
|||
<ul>
|
||||
|
||||
<li>Образец внешней ссылки: <code>https://www.wildberries.ru/catalog/${sku}/detail.aspx</code></li>
|
||||
<li>Образец внутренней ссылки: <code>products/ru.cg.webbpm.packages.base:resources:jar:3.178.2</code></li>
|
||||
<li>Образец внутренней ссылки: <code>products/ru.cg.webbpm.packages.base:resources:jar:3.185.0</code></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>
|
||||
|
|
|
|||
|
|
@ -4,17 +4,17 @@
|
|||
<description>Base webbpm package</description>
|
||||
<groupId>ru.cg.webbpm.packages.base</groupId>
|
||||
<artifactId>resources</artifactId>
|
||||
<version>3.178.2</version>
|
||||
<studioVersion>3.178.2</studioVersion>
|
||||
<version>3.185.0</version>
|
||||
<studioVersion>3.185.0</studioVersion>
|
||||
|
||||
<backendModule>
|
||||
<groupId>ru.cg.webbpm.packages.base</groupId>
|
||||
<artifactId>backend</artifactId>
|
||||
<version>3.178.2</version>
|
||||
<version>3.185.0</version>
|
||||
</backendModule>
|
||||
<frontendModule>
|
||||
<packageName>@webbpm/base-package</packageName>
|
||||
<version>3.178.2</version>
|
||||
<version>3.185.0</version>
|
||||
</frontendModule>
|
||||
</packageInfo>
|
||||
|
||||
|
|
|
|||
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue