From 2eb988142179f565a06f312052aa88ca939857ef Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=A2=D0=B8=D0=BC=D1=83=D1=80?= Date: Wed, 18 Jun 2025 18:09:39 +0300 Subject: [PATCH] ERVU-481 change filter and add table vehicle_categories --- .../ervu_dashboard/db_beans/appeals/Keys.java | 1 - .../db_beans/appeals/tables/AppealsList.java | 5 + .../db_beans/appeals/tables/MainProfile.java | 4 +- .../db_beans/appeals/tables/ReviewRating.java | 10 - .../tables/records/AppealsListRecord.java | 17 +- .../tables/records/MainProfileRecord.java | 14 +- .../tables/records/ReviewRatingRecord.java | 17 +- .../ervu_dashboard/ErvuDashboard.java | 7 + .../db_beans/ervu_dashboard/Keys.java | 3 + .../db_beans/ervu_dashboard/Tables.java | 6 + .../tables/VehicleCategories.java | 258 ++++++++++++++++++ .../records/VehicleCategoriesRecord.java | 143 ++++++++++ .../config/v_1.10/20250618-ERVU-481.xml | 51 ++++ .../config/v_1.10/changelog-1.10.xml | 1 + pom.xml | 2 +- .../business-model/citizen_all_filters.page | 249 +++++++++++++---- 16 files changed, 694 insertions(+), 94 deletions(-) create mode 100644 backend/src/main/java/ru/micord/ervu_dashboard/db_beans/ervu_dashboard/tables/VehicleCategories.java create mode 100644 backend/src/main/java/ru/micord/ervu_dashboard/db_beans/ervu_dashboard/tables/records/VehicleCategoriesRecord.java create mode 100644 backend/src/main/resources/config/v_1.10/20250618-ERVU-481.xml diff --git a/backend/src/main/java/ru/micord/ervu_dashboard/db_beans/appeals/Keys.java b/backend/src/main/java/ru/micord/ervu_dashboard/db_beans/appeals/Keys.java index 5d6168f1..47f3042f 100644 --- a/backend/src/main/java/ru/micord/ervu_dashboard/db_beans/appeals/Keys.java +++ b/backend/src/main/java/ru/micord/ervu_dashboard/db_beans/appeals/Keys.java @@ -39,7 +39,6 @@ public class Keys { public static final UniqueKey PK_MAIN_PROFILE = Internal.createUniqueKey(MainProfile.MAIN_PROFILE, DSL.name("pk_main_profile"), new TableField[] { MainProfile.MAIN_PROFILE.RECRUITMENT_ID, MainProfile.MAIN_PROFILE.RECORDING_DATE, MainProfile.MAIN_PROFILE.SCHEMA }, true); public static final UniqueKey PK_REASONS_APPEAL = Internal.createUniqueKey(ReasonsAppeal.REASONS_APPEAL, DSL.name("pk_reasons_appeal"), new TableField[] { ReasonsAppeal.REASONS_APPEAL.RECRUITMENT_ID, ReasonsAppeal.REASONS_APPEAL.RECORDING_DATE, ReasonsAppeal.REASONS_APPEAL.SCHEMA }, true); public static final UniqueKey PK_REVIEW_RATING = Internal.createUniqueKey(ReviewRating.REVIEW_RATING, DSL.name("pk_review_rating"), new TableField[] { ReviewRating.REVIEW_RATING.ID_REVIEW_RATING }, true); - public static final UniqueKey UNIQUE_REVIEW_RATING = Internal.createUniqueKey(ReviewRating.REVIEW_RATING, DSL.name("unique_review_rating"), new TableField[] { ReviewRating.REVIEW_RATING.RECRUITMENT_ID, ReviewRating.REVIEW_RATING.RECORDING_DATE, ReviewRating.REVIEW_RATING.SCHEMA, ReviewRating.REVIEW_RATING.ID_FOR_VIEW }, true); public static final UniqueKey PK_TOPIC_APPEAL = Internal.createUniqueKey(TopicAppeal.TOPIC_APPEAL, DSL.name("pk_topic_appeal"), new TableField[] { TopicAppeal.TOPIC_APPEAL.RECRUITMENT_ID, TopicAppeal.TOPIC_APPEAL.RECORDING_DATE, TopicAppeal.TOPIC_APPEAL.SCHEMA }, true); // ------------------------------------------------------------------------- diff --git a/backend/src/main/java/ru/micord/ervu_dashboard/db_beans/appeals/tables/AppealsList.java b/backend/src/main/java/ru/micord/ervu_dashboard/db_beans/appeals/tables/AppealsList.java index 6546c585..2169625e 100644 --- a/backend/src/main/java/ru/micord/ervu_dashboard/db_beans/appeals/tables/AppealsList.java +++ b/backend/src/main/java/ru/micord/ervu_dashboard/db_beans/appeals/tables/AppealsList.java @@ -230,6 +230,11 @@ public class AppealsList extends TableImpl { */ public final TableField REGION_ID = createField(DSL.name("region_id"), SQLDataType.UUID, this, "idm_id региональных ВК (у которых schema = 'Organization')"); + /** + * The column appeals.appeals_list.system_esia_id. + */ + public final TableField SYSTEM_ESIA_ID = createField(DSL.name("system_esia_id"), SQLDataType.VARCHAR, this, ""); + private AppealsList(Name alias, Table aliased) { this(alias, aliased, (Field[]) null, null); } diff --git a/backend/src/main/java/ru/micord/ervu_dashboard/db_beans/appeals/tables/MainProfile.java b/backend/src/main/java/ru/micord/ervu_dashboard/db_beans/appeals/tables/MainProfile.java index cbcdbcc5..a7ab25da 100644 --- a/backend/src/main/java/ru/micord/ervu_dashboard/db_beans/appeals/tables/MainProfile.java +++ b/backend/src/main/java/ru/micord/ervu_dashboard/db_beans/appeals/tables/MainProfile.java @@ -65,12 +65,12 @@ public class MainProfile extends TableImpl { /** * The column appeals.main_profile.age. Возраст */ - public final TableField AGE = createField(DSL.name("age"), SQLDataType.CLOB, this, "Возраст"); + public final TableField AGE = createField(DSL.name("age"), SQLDataType.INTEGER, this, "Возраст"); /** * The column appeals.main_profile.child_min_18. Дети до 18 лет */ - public final TableField CHILD_MIN_18 = createField(DSL.name("child_min_18"), SQLDataType.CLOB, this, "Дети до 18 лет"); + public final TableField CHILD_MIN_18 = createField(DSL.name("child_min_18"), SQLDataType.INTEGER, this, "Дети до 18 лет"); /** * The column appeals.main_profile.education. Образование diff --git a/backend/src/main/java/ru/micord/ervu_dashboard/db_beans/appeals/tables/ReviewRating.java b/backend/src/main/java/ru/micord/ervu_dashboard/db_beans/appeals/tables/ReviewRating.java index 48afcaee..f5c03a5e 100644 --- a/backend/src/main/java/ru/micord/ervu_dashboard/db_beans/appeals/tables/ReviewRating.java +++ b/backend/src/main/java/ru/micord/ervu_dashboard/db_beans/appeals/tables/ReviewRating.java @@ -101,11 +101,6 @@ public class ReviewRating extends TableImpl { */ public final TableField SCHEMA = createField(DSL.name("schema"), SQLDataType.VARCHAR(64).nullable(false).defaultValue(DSL.field(DSL.raw("'empty'::character varying"), SQLDataType.VARCHAR)), this, "'Department' - обычный ВК, 'Organization' - главный ВК региона, 'Region' - главный ВК военного округа,\n 'Ministry' - уровень РФ, 'REG_LVL' - сумма всех ВК региона, 'MD_LVL' - сумма всех ВК ВО, 'Country' - все ВК РФ"); - /** - * The column appeals.review_rating.id_for_view. - */ - public final TableField ID_FOR_VIEW = createField(DSL.name("id_for_view"), SQLDataType.UUID.nullable(false), this, ""); - private ReviewRating(Name alias, Table aliased) { this(alias, aliased, (Field[]) null, null); } @@ -181,11 +176,6 @@ public class ReviewRating extends TableImpl { return Keys.PK_REVIEW_RATING; } - @Override - public List> getUniqueKeys() { - return Arrays.asList(Keys.UNIQUE_REVIEW_RATING); - } - @Override public List> getReferences() { return Arrays.asList(Keys.REVIEW_RATING__FK_REGION); diff --git a/backend/src/main/java/ru/micord/ervu_dashboard/db_beans/appeals/tables/records/AppealsListRecord.java b/backend/src/main/java/ru/micord/ervu_dashboard/db_beans/appeals/tables/records/AppealsListRecord.java index 1cfea17e..db078993 100644 --- a/backend/src/main/java/ru/micord/ervu_dashboard/db_beans/appeals/tables/records/AppealsListRecord.java +++ b/backend/src/main/java/ru/micord/ervu_dashboard/db_beans/appeals/tables/records/AppealsListRecord.java @@ -507,6 +507,20 @@ public class AppealsListRecord extends UpdatableRecordImpl { return (UUID) get(31); } + /** + * Setter for appeals.appeals_list.system_esia_id. + */ + public void setSystemEsiaId(String value) { + set(32, value); + } + + /** + * Getter for appeals.appeals_list.system_esia_id. + */ + public String getSystemEsiaId() { + return (String) get(32); + } + // ------------------------------------------------------------------------- // Primary key information // ------------------------------------------------------------------------- @@ -530,7 +544,7 @@ public class AppealsListRecord extends UpdatableRecordImpl { /** * Create a detached, initialised AppealsListRecord */ - public AppealsListRecord(Integer number, String epguNum, String source, String region, String category, String subcategory, String fact, String incomingOrg, String currentOrg, String incomingDate, String planEndDate, String factEndDate, String stage, String status, String overdue, String fastTrack, String fz, String solutionType, String sentByEmailToNotConnectedFoiv, String responseEvalution, String reconsideration, String coordinatorOrg, String coordinatorFio, String contractorOrg, String contractorFio, String headOrg, String headFio, String issueDate, Timestamp uploadDate, String reasonsAppeal, String topicAppeal, UUID regionId) { + public AppealsListRecord(Integer number, String epguNum, String source, String region, String category, String subcategory, String fact, String incomingOrg, String currentOrg, String incomingDate, String planEndDate, String factEndDate, String stage, String status, String overdue, String fastTrack, String fz, String solutionType, String sentByEmailToNotConnectedFoiv, String responseEvalution, String reconsideration, String coordinatorOrg, String coordinatorFio, String contractorOrg, String contractorFio, String headOrg, String headFio, String issueDate, Timestamp uploadDate, String reasonsAppeal, String topicAppeal, UUID regionId, String systemEsiaId) { super(AppealsList.APPEALS_LIST); setNumber(number); @@ -565,6 +579,7 @@ public class AppealsListRecord extends UpdatableRecordImpl { setReasonsAppeal(reasonsAppeal); setTopicAppeal(topicAppeal); setRegionId(regionId); + setSystemEsiaId(systemEsiaId); resetChangedOnNotNull(); } } diff --git a/backend/src/main/java/ru/micord/ervu_dashboard/db_beans/appeals/tables/records/MainProfileRecord.java b/backend/src/main/java/ru/micord/ervu_dashboard/db_beans/appeals/tables/records/MainProfileRecord.java index cc732d57..e8c521da 100644 --- a/backend/src/main/java/ru/micord/ervu_dashboard/db_beans/appeals/tables/records/MainProfileRecord.java +++ b/backend/src/main/java/ru/micord/ervu_dashboard/db_beans/appeals/tables/records/MainProfileRecord.java @@ -52,29 +52,29 @@ public class MainProfileRecord extends UpdatableRecordImpl { /** * Setter for appeals.main_profile.age. Возраст */ - public void setAge(String value) { + public void setAge(Integer value) { set(2, value); } /** * Getter for appeals.main_profile.age. Возраст */ - public String getAge() { - return (String) get(2); + public Integer getAge() { + return (Integer) get(2); } /** * Setter for appeals.main_profile.child_min_18. Дети до 18 лет */ - public void setChildMin_18(String value) { + public void setChildMin_18(Integer value) { set(3, value); } /** * Getter for appeals.main_profile.child_min_18. Дети до 18 лет */ - public String getChildMin_18() { - return (String) get(3); + public Integer getChildMin_18() { + return (Integer) get(3); } /** @@ -178,7 +178,7 @@ public class MainProfileRecord extends UpdatableRecordImpl { /** * Create a detached, initialised MainProfileRecord */ - public MainProfileRecord(Long idMainProfile, String gender, String age, String childMin_18, String education, String employment, Date recordingDate, UUID recruitmentId, String schema) { + public MainProfileRecord(Long idMainProfile, String gender, Integer age, Integer childMin_18, String education, String employment, Date recordingDate, UUID recruitmentId, String schema) { super(MainProfile.MAIN_PROFILE); setIdMainProfile(idMainProfile); diff --git a/backend/src/main/java/ru/micord/ervu_dashboard/db_beans/appeals/tables/records/ReviewRatingRecord.java b/backend/src/main/java/ru/micord/ervu_dashboard/db_beans/appeals/tables/records/ReviewRatingRecord.java index e7711ec5..4995677f 100644 --- a/backend/src/main/java/ru/micord/ervu_dashboard/db_beans/appeals/tables/records/ReviewRatingRecord.java +++ b/backend/src/main/java/ru/micord/ervu_dashboard/db_beans/appeals/tables/records/ReviewRatingRecord.java @@ -132,20 +132,6 @@ public class ReviewRatingRecord extends UpdatableRecordImpl return (String) get(6); } - /** - * Setter for appeals.review_rating.id_for_view. - */ - public void setIdForView(UUID value) { - set(7, value); - } - - /** - * Getter for appeals.review_rating.id_for_view. - */ - public UUID getIdForView() { - return (UUID) get(7); - } - // ------------------------------------------------------------------------- // Primary key information // ------------------------------------------------------------------------- @@ -169,7 +155,7 @@ public class ReviewRatingRecord extends UpdatableRecordImpl /** * Create a detached, initialised ReviewRatingRecord */ - public ReviewRatingRecord(Long idReviewRating, BigDecimal speed, BigDecimal rating, Date recordingDate, Long idRegion, UUID recruitmentId, String schema, UUID idForView) { + public ReviewRatingRecord(Long idReviewRating, BigDecimal speed, BigDecimal rating, Date recordingDate, Long idRegion, UUID recruitmentId, String schema) { super(ReviewRating.REVIEW_RATING); setIdReviewRating(idReviewRating); @@ -179,7 +165,6 @@ public class ReviewRatingRecord extends UpdatableRecordImpl setIdRegion(idRegion); setRecruitmentId(recruitmentId); setSchema(schema); - setIdForView(idForView); resetChangedOnNotNull(); } } diff --git a/backend/src/main/java/ru/micord/ervu_dashboard/db_beans/ervu_dashboard/ErvuDashboard.java b/backend/src/main/java/ru/micord/ervu_dashboard/db_beans/ervu_dashboard/ErvuDashboard.java index 43ea741b..f1054426 100644 --- a/backend/src/main/java/ru/micord/ervu_dashboard/db_beans/ervu_dashboard/ErvuDashboard.java +++ b/backend/src/main/java/ru/micord/ervu_dashboard/db_beans/ervu_dashboard/ErvuDashboard.java @@ -67,6 +67,7 @@ import ru.micord.ervu_dashboard.db_beans.ervu_dashboard.tables.RecruitErvuStatus import ru.micord.ervu_dashboard.db_beans.ervu_dashboard.tables.Recruitment; import ru.micord.ervu_dashboard.db_beans.ervu_dashboard.tables.Subpoena; import ru.micord.ervu_dashboard.db_beans.ervu_dashboard.tables.TemporaryMeasures; +import ru.micord.ervu_dashboard.db_beans.ervu_dashboard.tables.VehicleCategories; import ru.micord.ervu_dashboard.db_beans.ervu_dashboard.tables.Work; @@ -356,6 +357,11 @@ public class ErvuDashboard extends SchemaImpl { */ public final TemporaryMeasures TEMPORARY_MEASURES = TemporaryMeasures.TEMPORARY_MEASURES; + /** + * The table ervu_dashboard.vehicle_categories. + */ + public final VehicleCategories VEHICLE_CATEGORIES = VehicleCategories.VEHICLE_CATEGORIES; + /** * сведения об имуществе */ @@ -442,6 +448,7 @@ public class ErvuDashboard extends SchemaImpl { Recruitment.RECRUITMENT, Subpoena.SUBPOENA, TemporaryMeasures.TEMPORARY_MEASURES, + VehicleCategories.VEHICLE_CATEGORIES, Work.WORK ); } diff --git a/backend/src/main/java/ru/micord/ervu_dashboard/db_beans/ervu_dashboard/Keys.java b/backend/src/main/java/ru/micord/ervu_dashboard/db_beans/ervu_dashboard/Keys.java index 08102e40..2100d142 100644 --- a/backend/src/main/java/ru/micord/ervu_dashboard/db_beans/ervu_dashboard/Keys.java +++ b/backend/src/main/java/ru/micord/ervu_dashboard/db_beans/ervu_dashboard/Keys.java @@ -63,6 +63,7 @@ import ru.micord.ervu_dashboard.db_beans.ervu_dashboard.tables.RecruitErvuStatus import ru.micord.ervu_dashboard.db_beans.ervu_dashboard.tables.Recruitment; import ru.micord.ervu_dashboard.db_beans.ervu_dashboard.tables.Subpoena; import ru.micord.ervu_dashboard.db_beans.ervu_dashboard.tables.TemporaryMeasures; +import ru.micord.ervu_dashboard.db_beans.ervu_dashboard.tables.VehicleCategories; import ru.micord.ervu_dashboard.db_beans.ervu_dashboard.tables.Work; import ru.micord.ervu_dashboard.db_beans.ervu_dashboard.tables.records.ArrayMildisRecord; import ru.micord.ervu_dashboard.db_beans.ervu_dashboard.tables.records.ArrayRegRecord; @@ -117,6 +118,7 @@ import ru.micord.ervu_dashboard.db_beans.ervu_dashboard.tables.records.RecruitEr import ru.micord.ervu_dashboard.db_beans.ervu_dashboard.tables.records.RecruitmentRecord; import ru.micord.ervu_dashboard.db_beans.ervu_dashboard.tables.records.SubpoenaRecord; import ru.micord.ervu_dashboard.db_beans.ervu_dashboard.tables.records.TemporaryMeasuresRecord; +import ru.micord.ervu_dashboard.db_beans.ervu_dashboard.tables.records.VehicleCategoriesRecord; import ru.micord.ervu_dashboard.db_beans.ervu_dashboard.tables.records.WorkRecord; @@ -197,6 +199,7 @@ public class Keys { public static final UniqueKey RECRUITMENT_PKEY = Internal.createUniqueKey(Recruitment.RECRUITMENT, DSL.name("recruitment_pkey"), new TableField[] { Recruitment.RECRUITMENT.IDM_ID }, true); public static final UniqueKey SUBPOENA_PKEY = Internal.createUniqueKey(Subpoena.SUBPOENA, DSL.name("subpoena_pkey"), new TableField[] { Subpoena.SUBPOENA.SUB_ID }, true); public static final UniqueKey TEMPORARY_MEASURES_PKEY = Internal.createUniqueKey(TemporaryMeasures.TEMPORARY_MEASURES, DSL.name("temporary_measures_pkey"), new TableField[] { TemporaryMeasures.TEMPORARY_MEASURES.TEMPORARY_MEASURES_ID }, true); + public static final UniqueKey VEHICLE_CATEGORIES_PKEY = Internal.createUniqueKey(VehicleCategories.VEHICLE_CATEGORIES, DSL.name("vehicle_categories_pkey"), new TableField[] { VehicleCategories.VEHICLE_CATEGORIES.CODE }, true); public static final UniqueKey PK_WORK = Internal.createUniqueKey(Work.WORK, DSL.name("pk_work"), new TableField[] { Work.WORK.WORK_ID }, true); // ------------------------------------------------------------------------- diff --git a/backend/src/main/java/ru/micord/ervu_dashboard/db_beans/ervu_dashboard/Tables.java b/backend/src/main/java/ru/micord/ervu_dashboard/db_beans/ervu_dashboard/Tables.java index 37eb3354..a7ac05e5 100644 --- a/backend/src/main/java/ru/micord/ervu_dashboard/db_beans/ervu_dashboard/Tables.java +++ b/backend/src/main/java/ru/micord/ervu_dashboard/db_beans/ervu_dashboard/Tables.java @@ -58,6 +58,7 @@ import ru.micord.ervu_dashboard.db_beans.ervu_dashboard.tables.RecruitErvuStatus import ru.micord.ervu_dashboard.db_beans.ervu_dashboard.tables.Recruitment; import ru.micord.ervu_dashboard.db_beans.ervu_dashboard.tables.Subpoena; import ru.micord.ervu_dashboard.db_beans.ervu_dashboard.tables.TemporaryMeasures; +import ru.micord.ervu_dashboard.db_beans.ervu_dashboard.tables.VehicleCategories; import ru.micord.ervu_dashboard.db_beans.ervu_dashboard.tables.Work; @@ -340,6 +341,11 @@ public class Tables { */ public static final TemporaryMeasures TEMPORARY_MEASURES = TemporaryMeasures.TEMPORARY_MEASURES; + /** + * The table ervu_dashboard.vehicle_categories. + */ + public static final VehicleCategories VEHICLE_CATEGORIES = VehicleCategories.VEHICLE_CATEGORIES; + /** * сведения об имуществе */ diff --git a/backend/src/main/java/ru/micord/ervu_dashboard/db_beans/ervu_dashboard/tables/VehicleCategories.java b/backend/src/main/java/ru/micord/ervu_dashboard/db_beans/ervu_dashboard/tables/VehicleCategories.java new file mode 100644 index 00000000..d8c5ee5c --- /dev/null +++ b/backend/src/main/java/ru/micord/ervu_dashboard/db_beans/ervu_dashboard/tables/VehicleCategories.java @@ -0,0 +1,258 @@ +/* + * This file is generated by jOOQ. + */ +package ru.micord.ervu_dashboard.db_beans.ervu_dashboard.tables; + + +import java.sql.Timestamp; +import java.util.Arrays; +import java.util.Collection; +import java.util.List; + +import org.jooq.Check; +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.Internal; +import org.jooq.impl.SQLDataType; +import org.jooq.impl.TableImpl; + +import ru.micord.ervu_dashboard.db_beans.ervu_dashboard.ErvuDashboard; +import ru.micord.ervu_dashboard.db_beans.ervu_dashboard.Keys; +import ru.micord.ervu_dashboard.db_beans.ervu_dashboard.tables.records.VehicleCategoriesRecord; + + +/** + * This class is generated by jOOQ. + */ +@SuppressWarnings({ "all", "unchecked", "rawtypes" }) +public class VehicleCategories extends TableImpl { + + private static final long serialVersionUID = 1L; + + /** + * The reference instance of ervu_dashboard.vehicle_categories + */ + public static final VehicleCategories VEHICLE_CATEGORIES = new VehicleCategories(); + + /** + * The class holding records for this type + */ + @Override + public Class getRecordType() { + return VehicleCategoriesRecord.class; + } + + /** + * The column ervu_dashboard.vehicle_categories.code. + */ + public final TableField CODE = createField(DSL.name("code"), SQLDataType.VARCHAR(5).nullable(false), this, ""); + + /** + * The column ervu_dashboard.vehicle_categories.name. + */ + public final TableField NAME = createField(DSL.name("name"), SQLDataType.CLOB.nullable(false), this, ""); + + /** + * The column ervu_dashboard.vehicle_categories.description. + */ + public final TableField DESCRIPTION = createField(DSL.name("description"), SQLDataType.CLOB, this, ""); + + /** + * The column + * ervu_dashboard.vehicle_categories.is_driver_license. + */ + public final TableField IS_DRIVER_LICENSE = createField(DSL.name("is_driver_license"), SQLDataType.BOOLEAN.nullable(false).defaultValue(DSL.field(DSL.raw("true"), SQLDataType.BOOLEAN)), this, ""); + + /** + * The column ervu_dashboard.vehicle_categories.created_at. + */ + public final TableField CREATED_AT = createField(DSL.name("created_at"), SQLDataType.TIMESTAMP(0).defaultValue(DSL.field(DSL.raw("CURRENT_TIMESTAMP"), SQLDataType.TIMESTAMP)), this, ""); + + /** + * The column ervu_dashboard.vehicle_categories.updated_at. + */ + public final TableField UPDATED_AT = createField(DSL.name("updated_at"), SQLDataType.TIMESTAMP(0).defaultValue(DSL.field(DSL.raw("CURRENT_TIMESTAMP"), SQLDataType.TIMESTAMP)), this, ""); + + private VehicleCategories(Name alias, Table aliased) { + this(alias, aliased, (Field[]) null, null); + } + + private VehicleCategories(Name alias, Table aliased, Field[] parameters, Condition where) { + super(alias, null, aliased, parameters, DSL.comment(""), TableOptions.table(), where); + } + + /** + * Create an aliased ervu_dashboard.vehicle_categories table + * reference + */ + public VehicleCategories(String alias) { + this(DSL.name(alias), VEHICLE_CATEGORIES); + } + + /** + * Create an aliased ervu_dashboard.vehicle_categories table + * reference + */ + public VehicleCategories(Name alias) { + this(alias, VEHICLE_CATEGORIES); + } + + /** + * Create a ervu_dashboard.vehicle_categories table reference + */ + public VehicleCategories() { + this(DSL.name("vehicle_categories"), null); + } + + @Override + public Schema getSchema() { + return aliased() ? null : ErvuDashboard.ERVU_DASHBOARD; + } + + @Override + public UniqueKey getPrimaryKey() { + return Keys.VEHICLE_CATEGORIES_PKEY; + } + + @Override + public List> getChecks() { + return Arrays.asList( + Internal.createCheck(this, DSL.name("vehicle_categories_code_check"), "(((length((code)::text) >= 1) AND (length((code)::text) <= 5)))", true) + ); + } + + @Override + public VehicleCategories as(String alias) { + return new VehicleCategories(DSL.name(alias), this); + } + + @Override + public VehicleCategories as(Name alias) { + return new VehicleCategories(alias, this); + } + + @Override + public VehicleCategories as(Table alias) { + return new VehicleCategories(alias.getQualifiedName(), this); + } + + /** + * Rename this table + */ + @Override + public VehicleCategories rename(String name) { + return new VehicleCategories(DSL.name(name), null); + } + + /** + * Rename this table + */ + @Override + public VehicleCategories rename(Name name) { + return new VehicleCategories(name, null); + } + + /** + * Rename this table + */ + @Override + public VehicleCategories rename(Table name) { + return new VehicleCategories(name.getQualifiedName(), null); + } + + /** + * Create an inline derived table from this table + */ + @Override + public VehicleCategories where(Condition condition) { + return new VehicleCategories(getQualifiedName(), aliased() ? this : null, null, condition); + } + + /** + * Create an inline derived table from this table + */ + @Override + public VehicleCategories where(Collection conditions) { + return where(DSL.and(conditions)); + } + + /** + * Create an inline derived table from this table + */ + @Override + public VehicleCategories where(Condition... conditions) { + return where(DSL.and(conditions)); + } + + /** + * Create an inline derived table from this table + */ + @Override + public VehicleCategories where(Field condition) { + return where(DSL.condition(condition)); + } + + /** + * Create an inline derived table from this table + */ + @Override + @PlainSQL + public VehicleCategories where(SQL condition) { + return where(DSL.condition(condition)); + } + + /** + * Create an inline derived table from this table + */ + @Override + @PlainSQL + public VehicleCategories where(@Stringly.SQL String condition) { + return where(DSL.condition(condition)); + } + + /** + * Create an inline derived table from this table + */ + @Override + @PlainSQL + public VehicleCategories where(@Stringly.SQL String condition, Object... binds) { + return where(DSL.condition(condition, binds)); + } + + /** + * Create an inline derived table from this table + */ + @Override + @PlainSQL + public VehicleCategories where(@Stringly.SQL String condition, QueryPart... parts) { + return where(DSL.condition(condition, parts)); + } + + /** + * Create an inline derived table from this table + */ + @Override + public VehicleCategories whereExists(Select select) { + return where(DSL.exists(select)); + } + + /** + * Create an inline derived table from this table + */ + @Override + public VehicleCategories whereNotExists(Select select) { + return where(DSL.notExists(select)); + } +} diff --git a/backend/src/main/java/ru/micord/ervu_dashboard/db_beans/ervu_dashboard/tables/records/VehicleCategoriesRecord.java b/backend/src/main/java/ru/micord/ervu_dashboard/db_beans/ervu_dashboard/tables/records/VehicleCategoriesRecord.java new file mode 100644 index 00000000..fbfccdde --- /dev/null +++ b/backend/src/main/java/ru/micord/ervu_dashboard/db_beans/ervu_dashboard/tables/records/VehicleCategoriesRecord.java @@ -0,0 +1,143 @@ +/* + * This file is generated by jOOQ. + */ +package ru.micord.ervu_dashboard.db_beans.ervu_dashboard.tables.records; + + +import java.sql.Timestamp; + +import org.jooq.Record1; +import org.jooq.impl.UpdatableRecordImpl; + +import ru.micord.ervu_dashboard.db_beans.ervu_dashboard.tables.VehicleCategories; + + +/** + * This class is generated by jOOQ. + */ +@SuppressWarnings({ "all", "unchecked", "rawtypes" }) +public class VehicleCategoriesRecord extends UpdatableRecordImpl { + + private static final long serialVersionUID = 1L; + + /** + * Setter for ervu_dashboard.vehicle_categories.code. + */ + public void setCode(String value) { + set(0, value); + } + + /** + * Getter for ervu_dashboard.vehicle_categories.code. + */ + public String getCode() { + return (String) get(0); + } + + /** + * Setter for ervu_dashboard.vehicle_categories.name. + */ + public void setName(String value) { + set(1, value); + } + + /** + * Getter for ervu_dashboard.vehicle_categories.name. + */ + public String getName() { + return (String) get(1); + } + + /** + * Setter for ervu_dashboard.vehicle_categories.description. + */ + public void setDescription(String value) { + set(2, value); + } + + /** + * Getter for ervu_dashboard.vehicle_categories.description. + */ + public String getDescription() { + return (String) get(2); + } + + /** + * Setter for + * ervu_dashboard.vehicle_categories.is_driver_license. + */ + public void setIsDriverLicense(Boolean value) { + set(3, value); + } + + /** + * Getter for + * ervu_dashboard.vehicle_categories.is_driver_license. + */ + public Boolean getIsDriverLicense() { + return (Boolean) get(3); + } + + /** + * Setter for ervu_dashboard.vehicle_categories.created_at. + */ + public void setCreatedAt(Timestamp value) { + set(4, value); + } + + /** + * Getter for ervu_dashboard.vehicle_categories.created_at. + */ + public Timestamp getCreatedAt() { + return (Timestamp) get(4); + } + + /** + * Setter for ervu_dashboard.vehicle_categories.updated_at. + */ + public void setUpdatedAt(Timestamp value) { + set(5, value); + } + + /** + * Getter for ervu_dashboard.vehicle_categories.updated_at. + */ + public Timestamp getUpdatedAt() { + return (Timestamp) get(5); + } + + // ------------------------------------------------------------------------- + // Primary key information + // ------------------------------------------------------------------------- + + @Override + public Record1 key() { + return (Record1) super.key(); + } + + // ------------------------------------------------------------------------- + // Constructors + // ------------------------------------------------------------------------- + + /** + * Create a detached VehicleCategoriesRecord + */ + public VehicleCategoriesRecord() { + super(VehicleCategories.VEHICLE_CATEGORIES); + } + + /** + * Create a detached, initialised VehicleCategoriesRecord + */ + public VehicleCategoriesRecord(String code, String name, String description, Boolean isDriverLicense, Timestamp createdAt, Timestamp updatedAt) { + super(VehicleCategories.VEHICLE_CATEGORIES); + + setCode(code); + setName(name); + setDescription(description); + setIsDriverLicense(isDriverLicense); + setCreatedAt(createdAt); + setUpdatedAt(updatedAt); + resetChangedOnNotNull(); + } +} diff --git a/backend/src/main/resources/config/v_1.10/20250618-ERVU-481.xml b/backend/src/main/resources/config/v_1.10/20250618-ERVU-481.xml new file mode 100644 index 00000000..a1f8f269 --- /dev/null +++ b/backend/src/main/resources/config/v_1.10/20250618-ERVU-481.xml @@ -0,0 +1,51 @@ + + + + + edit table + + CREATE table iF NOT EXISTS vehicle_categories ( + code VARCHAR(5) PRIMARY KEY CHECK (LENGTH(code) BETWEEN 1 AND 5), + name TEXT NOT NULL, + description TEXT, + is_driver_license BOOLEAN NOT NULL DEFAULT TRUE, -- TRUE = водительское удостоверение, FALSE = удостоверение тракториста + created_at TIMESTAMP WITH TIME ZONE DEFAULT CURRENT_TIMESTAMP, + updated_at TIMESTAMP WITH TIME ZONE DEFAULT CURRENT_TIMESTAMP + ); + + + INSERT INTO vehicle_categories (code, name, description, is_driver_license) VALUES + -- Водительские категории (ГИБДД) + ('A', 'Мотоциклы', 'Все мотоциклы без ограничений по мощности', TRUE), + ('A1', 'Легкие мотоциклы', 'Объем двигателя до 125 см³ и мощность до 11 кВт', TRUE), + ('B', 'Легковые автомобили', 'ТС до 3,5 т и до 8 пассажирских мест', TRUE), + ('B1', 'Трициклы и квадрициклы', 'Механические ТС с тремя/четырьмя колесами', TRUE), + ('BE', 'Легковой с прицепом', 'Категория B с прицепом свыше 750 кг', TRUE), + ('C', 'Грузовые автомобили', 'ТС массой более 3,5 тонн', TRUE), + ('C1', 'Легкие грузовики', 'ТС от 3,5 до 7,5 тонн', TRUE), + ('CE', 'Грузовик с прицепом', 'Категория C с прицепом свыше 750 кг', TRUE), + ('C1E', 'Легкий грузовик с прицепом', 'Категория C1 с прицепом более 750 кг', TRUE), + ('D', 'Автобусы', 'ТС для перевозки более 8 пассажиров', TRUE), + ('D1', 'Малые автобусы', 'ТС от 9 до 16 пассажирских мест', TRUE), + ('DE', 'Автобус с прицепом', 'Категория D с прицепом', TRUE), + ('D1E', 'Малый автобус с прицепом', 'Категория D1 с прицепом более 750 кг', TRUE), + ('M', 'Мопеды', 'ТС с объемом двигателя до 50 см³ или макс. скоростью до 50 км/ч', TRUE), + + -- Трактористские категории (Гостехнадзор) + ('AI', 'Внедорожные мотосредства', 'Снегоходы, квадроциклы, мотовездеходы', FALSE), + ('AII', 'Внедорожные автотранспортные средства', 'Багги, вездеходы, легкие внедорожники', FALSE), + ('TB', 'Колёсные машины', 'Погрузчики, катки, самоходные шасси', FALSE), + ('TC', 'Гусеничные машины', 'Гусеничные тракторы, бульдозеры', FALSE), + ('TD', 'Машины с прицепами', 'Колёсные и гусеничные машины с прицепом', FALSE), + ('TE', 'Специальные машины', 'Комбайны, дорожные, лесозаготовительные машины', FALSE), + ('TF', 'Сельхозтехника', 'Сельскохозяйственные машины (сеялки, культиваторы и др.)', FALSE) + ON CONFLICT (code) DO NOTHING; + + + + + \ No newline at end of file diff --git a/backend/src/main/resources/config/v_1.10/changelog-1.10.xml b/backend/src/main/resources/config/v_1.10/changelog-1.10.xml index e229c12a..5075b76e 100644 --- a/backend/src/main/resources/config/v_1.10/changelog-1.10.xml +++ b/backend/src/main/resources/config/v_1.10/changelog-1.10.xml @@ -25,5 +25,6 @@ + diff --git a/pom.xml b/pom.xml index 93f6c550..b67a08b7 100644 --- a/pom.xml +++ b/pom.xml @@ -19,7 +19,7 @@ UTF-8 false 2.9.2 - 3.192.13 + 3.192.14 72000 diff --git a/resources/src/main/resources/business-model/citizen_all_filters.page b/resources/src/main/resources/business-model/citizen_all_filters.page index b83c69cd..c65744cc 100644 --- a/resources/src/main/resources/business-model/citizen_all_filters.page +++ b/resources/src/main/resources/business-model/citizen_all_filters.page @@ -53739,7 +53739,6 @@ e51605ff-2659-49db-8753-54cf44fd3c02 Tab item_Сведения о праве управления транспортным средством true - false false @@ -54341,33 +54340,23 @@ false - - 4d981f15-5535-45f7-882b-3647b251ad05 - 0b68a785-b057-47f5-ae31-53d3ddd0c6c7 - Категории (filter) + + 3a00a919-c6aa-4fbf-951e-b6f2dbc24764 + 55ad7eb5-0720-440b-9b9b-02c1ec27cfc3 + Список (фильтр) авто false false - + - cssClasses + maxItems - - - "free-label" - - - - - - mask - - null + 10.0 - + operation @@ -54377,20 +54366,106 @@ - + - columnForFilter + comboBoxService - {"schema":"ervu_dashboard","table":"citizen","entity":"citizen","name":"driver_license"} + + + businessIdColumn + + {"schema":"ervu_dashboard","table":"vehicle_categories","entity":"vehicle_categories","name":"code"} + + + + columnSorts + + + + + + field + + {"schema":"ervu_dashboard","table":"vehicle_categories","entity":"vehicle_categories","name":"code"} + + + + sortOrder + + "ASC" + + + + + + + + + displayColumn + + {"schema":"ervu_dashboard","table":"vehicle_categories","entity":"vehicle_categories","name":"code"} + + + + filterColumn + + {"schema":"ervu_dashboard","table":"vehicle_categories","entity":"vehicle_categories","name":"code"} + + + + loadDao + + + + graph + + {"conditionGroup":{"operator":"AND","conditions":[{"column":{"schema":"ervu_dashboard","table":"vehicle_categories","entity":"vehicle_categories","name":"is_driver_license"},"operation":"EQUAL","typeCode":"CONST","values":["true"]}],"groups":[]},"nodeByIndex":{"0":{"tableName":"vehicle_categories","schemaName":"ervu_dashboard","x":510.0,"y":362.0,"alias":"vehicle_categories","conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"}},"nodes":[{"tableName":"vehicle_categories","schemaName":"ervu_dashboard","x":510.0,"y":362.0,"alias":"vehicle_categories","conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"}],"nodeByEntityName":{"vehicle_categories":{"tableName":"vehicle_categories","schemaName":"ervu_dashboard","x":510.0,"y":362.0,"alias":"vehicle_categories","conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"}},"matrix":[[null]],"mainNodeIndex":0} + + + + + + + parentControlReference + + {"schema":"ervu_dashboard","table":"vehicle_categories","entity":"vehicle_categories","name":"code"} + + + - - - - + + + + columnForFilter + + {"schema":"ervu_dashboard","table":"drivers_licence","entity":"drivers_licence","name":"categories"} + + + + dataConverter + + +StringValueConverter +component.field.dataconvert + + + + + + + + + + + 4d981f15-5535-45f7-882b-3647b251ad05 + 0b68a785-b057-47f5-ae31-53d3ddd0c6c7 + Категории (filter) + false + true 98594cec-0a9b-4cef-af09-e1b71cb2ad9e @@ -54410,7 +54485,7 @@ behavior - {"objectId":"0b68a785-b057-47f5-ae31-53d3ddd0c6c7","packageName":"component.field","className":"TextField","type":"TS"} + {"objectId":"55ad7eb5-0720-440b-9b9b-02c1ec27cfc3","packageName":"component.filter","className":"FilterComboBox","type":"TS"} @@ -54571,7 +54646,7 @@ behavior - {"objectId":"0b68a785-b057-47f5-ae31-53d3ddd0c6c7","packageName":"component.field","className":"TextField","type":"TS"} + {"objectId":"55ad7eb5-0720-440b-9b9b-02c1ec27cfc3","packageName":"component.filter","className":"FilterComboBox","type":"TS"} @@ -54600,13 +54675,13 @@ - + behavior - {"objectId":"0b68a785-b057-47f5-ae31-53d3ddd0c6c7","packageName":"component.field","className":"TextField","type":"TS"} + {"objectId":"55ad7eb5-0720-440b-9b9b-02c1ec27cfc3","packageName":"component.filter","className":"FilterComboBox","type":"TS"} @@ -54624,6 +54699,7 @@ + @@ -55140,33 +55216,23 @@ false - - 4d981f15-5535-45f7-882b-3647b251ad05 - 137da0d7-2735-43a6-a433-ff0a122cdc9c - Категории (filter) + + 3a00a919-c6aa-4fbf-951e-b6f2dbc24764 + 6d8b804e-f183-4f7c-8724-1d68d1e3e91d + Список (фильтр) трактор false false - + - cssClasses + maxItems - - - "free-label" - - - - - - mask - - null + 10.0 - + operation @@ -55176,7 +55242,55 @@ - + + + + comboBoxService + + + + businessIdColumn + + {"schema":"ervu_dashboard","table":"vehicle_categories","entity":"vehicle_categories","name":"code"} + + + + displayColumn + + {"schema":"ervu_dashboard","table":"vehicle_categories","entity":"vehicle_categories","name":"code"} + + + + filterColumn + + {"schema":"ervu_dashboard","table":"vehicle_categories","entity":"vehicle_categories","name":"code"} + + + + loadDao + + + + graph + + {"conditionGroup":{"operator":"AND","conditions":[{"column":{"schema":"ervu_dashboard","table":"vehicle_categories","entity":"vehicle_categories","name":"is_driver_license"},"operation":"EQUAL","typeCode":"CONST","values":["false"]}],"groups":[]},"nodeByIndex":{"0":{"tableName":"vehicle_categories","schemaName":"ervu_dashboard","x":510.0,"y":362.0,"alias":"vehicle_categories","conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"}},"nodes":[{"tableName":"vehicle_categories","schemaName":"ervu_dashboard","x":510.0,"y":362.0,"alias":"vehicle_categories","conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"}],"nodeByEntityName":{"vehicle_categories":{"tableName":"vehicle_categories","schemaName":"ervu_dashboard","x":510.0,"y":362.0,"alias":"vehicle_categories","conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"}},"matrix":[[null]],"mainNodeIndex":0} + + + + + + + parentControlReference + + {"schema":"ervu_dashboard","table":"vehicle_categories","entity":"vehicle_categories","name":"code"} + + + + + + + + columnForFilter @@ -55184,12 +55298,27 @@ {"schema":"ervu_dashboard","table":"drivers_licence","entity":"drivers_licence","name":"categories"} + + dataConverter + + +StringValueConverter +component.field.dataconvert + + + - - - - + + + + + + 4d981f15-5535-45f7-882b-3647b251ad05 + 137da0d7-2735-43a6-a433-ff0a122cdc9c + Категории (filter) + false + true 98594cec-0a9b-4cef-af09-e1b71cb2ad9e @@ -55209,7 +55338,7 @@ behavior - {"objectId":"137da0d7-2735-43a6-a433-ff0a122cdc9c","packageName":"component.field","className":"TextField","type":"TS"} + {"objectId":"6d8b804e-f183-4f7c-8724-1d68d1e3e91d","packageName":"component.filter","className":"FilterComboBox","type":"TS"} @@ -55370,7 +55499,7 @@ behavior - {"objectId":"137da0d7-2735-43a6-a433-ff0a122cdc9c","packageName":"component.field","className":"TextField","type":"TS"} + {"objectId":"6d8b804e-f183-4f7c-8724-1d68d1e3e91d","packageName":"component.filter","className":"FilterComboBox","type":"TS"} @@ -55405,7 +55534,7 @@ behavior - {"objectId":"137da0d7-2735-43a6-a433-ff0a122cdc9c","packageName":"component.field","className":"TextField","type":"TS"} + {"objectId":"6d8b804e-f183-4f7c-8724-1d68d1e3e91d","packageName":"component.filter","className":"FilterComboBox","type":"TS"} @@ -55434,6 +55563,13 @@ + + 3a00a919-c6aa-4fbf-951e-b6f2dbc24764 + f3223825-b803-4a4a-8153-20d3d97d4d16 + Список (фильтр) + false + true + 84b784bf-7bec-42f5-bbb7-8a465de45019 98605185-5a04-49b3-9132-269356e2625b @@ -57378,6 +57514,7 @@ f0e23de9-c1a2-4caf-9476-6191d5b1961b Tab item_Сведения о пересечении границы true + false false