From 0657acebf56cc245edeea28d0b789c2cbdc410ff Mon Sep 17 00:00:00 2001 From: "adel.kalimullin" Date: Thu, 17 Apr 2025 14:11:31 +0300 Subject: [PATCH 01/40] SUPPORT-9122:add kafka --- backend/pom.xml | 8 + backend/src/main/java/AppConfig.java | 7 + .../kafka/KafkaConfig.java | 62 +++ .../listener/IdmDirectoriesListener.java | 33 ++ .../model/dto/AccountResponse.java | 184 +++++++ .../model/dto/DomainResponse.java | 474 ++++++++++++++++++ .../model/dto/PersonResponse.java | 169 +++++++ .../model/dto/RoleResponse.java | 124 +++++ config/micord.env | 17 + pom.xml | 23 + 10 files changed, 1101 insertions(+) create mode 100644 backend/src/main/java/ervu_business_metrics/kafka/KafkaConfig.java create mode 100644 backend/src/main/java/ervu_business_metrics/kafka/listener/IdmDirectoriesListener.java create mode 100644 backend/src/main/java/ervu_business_metrics/model/dto/AccountResponse.java create mode 100644 backend/src/main/java/ervu_business_metrics/model/dto/DomainResponse.java create mode 100644 backend/src/main/java/ervu_business_metrics/model/dto/PersonResponse.java create mode 100644 backend/src/main/java/ervu_business_metrics/model/dto/RoleResponse.java diff --git a/backend/pom.xml b/backend/pom.xml index 3c4b755..7d96188 100644 --- a/backend/pom.xml +++ b/backend/pom.xml @@ -167,6 +167,14 @@ org.postgresql postgresql + + org.springframework.kafka + spring-kafka + + + org.apache.kafka + kafka-clients + ${project.parent.artifactId} diff --git a/backend/src/main/java/AppConfig.java b/backend/src/main/java/AppConfig.java index 9c1d462..c2674db 100644 --- a/backend/src/main/java/AppConfig.java +++ b/backend/src/main/java/AppConfig.java @@ -22,8 +22,10 @@ import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.EnableAspectJAutoProxy; import org.springframework.context.annotation.FilterType; import org.springframework.context.support.PropertySourcesPlaceholderConfigurer; +import org.springframework.http.client.HttpComponentsClientHttpRequestFactory; import org.springframework.scheduling.annotation.EnableScheduling; import org.springframework.scheduling.concurrent.ThreadPoolTaskScheduler; +import org.springframework.web.client.RestTemplate; import org.springframework.web.servlet.config.annotation.EnableWebMvc; /** @@ -117,4 +119,9 @@ public class AppConfig { throw new AppInitializeException(e); } } + + @Bean + public RestTemplate restTemplate() { + return new RestTemplate(); + } } diff --git a/backend/src/main/java/ervu_business_metrics/kafka/KafkaConfig.java b/backend/src/main/java/ervu_business_metrics/kafka/KafkaConfig.java new file mode 100644 index 0000000..501e2df --- /dev/null +++ b/backend/src/main/java/ervu_business_metrics/kafka/KafkaConfig.java @@ -0,0 +1,62 @@ +package ervu_business_metrics.kafka; + +import java.util.HashMap; +import java.util.Map; + +import org.apache.kafka.clients.CommonClientConfigs; +import org.apache.kafka.clients.consumer.ConsumerConfig; +import org.apache.kafka.common.config.SaslConfigs; +import org.apache.kafka.common.serialization.StringDeserializer; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.kafka.annotation.EnableKafka; +import org.springframework.kafka.config.ConcurrentKafkaListenerContainerFactory; +import org.springframework.kafka.core.ConsumerFactory; +import org.springframework.kafka.core.DefaultKafkaConsumerFactory; + +/** + * @author Adel Kalimullin + */ +@Configuration +@EnableKafka +public class KafkaConfig { + @Value("${kafka.hosts}") + private String bootstrapServers; + @Value("${kafka.auth_sec_proto}") + private String securityProtocol; + @Value("${kafka.auth_sasl_module}") + private String loginModule; + @Value("${kafka.user}") + private String username; + @Value("${kafka.pass}") + private String password; + @Value("${kafka.auth_sasl_mech}") + private String saslMechanism; + + @Bean + public ConsumerFactory consumerFactory() { + return new DefaultKafkaConsumerFactory<>(consumerConfigs()); + } + + @Bean + public Map consumerConfigs() { + Map props = new HashMap<>(); + props.put(ConsumerConfig.BOOTSTRAP_SERVERS_CONFIG, bootstrapServers); + props.put(ConsumerConfig.KEY_DESERIALIZER_CLASS_CONFIG, StringDeserializer.class); + props.put(ConsumerConfig.VALUE_DESERIALIZER_CLASS_CONFIG, StringDeserializer.class); + props.put(CommonClientConfigs.SECURITY_PROTOCOL_CONFIG, securityProtocol); + props.put(SaslConfigs.SASL_JAAS_CONFIG, loginModule + " required username=\"" + + username + "\" password=\"" + password + "\";"); + props.put(SaslConfigs.SASL_MECHANISM, saslMechanism); + + return props; + } + + @Bean + public ConcurrentKafkaListenerContainerFactory kafkaListenerContainerFactory() { + ConcurrentKafkaListenerContainerFactory factory = new ConcurrentKafkaListenerContainerFactory<>(); + factory.setConsumerFactory(consumerFactory()); + return factory; + } +} diff --git a/backend/src/main/java/ervu_business_metrics/kafka/listener/IdmDirectoriesListener.java b/backend/src/main/java/ervu_business_metrics/kafka/listener/IdmDirectoriesListener.java new file mode 100644 index 0000000..70c8872 --- /dev/null +++ b/backend/src/main/java/ervu_business_metrics/kafka/listener/IdmDirectoriesListener.java @@ -0,0 +1,33 @@ +package ervu_business_metrics.kafka.listener; + +import ervu_business_metrics.service.IdmDirectoriesService; +import org.springframework.kafka.annotation.KafkaListener; +import org.springframework.stereotype.Component; + +/** + * @author Adel Kalimullin + */ +@Component +public class IdmDirectoriesListener { + private IdmDirectoriesService idmDirectoriesService; + + @KafkaListener(id = "${kafka.domain.group.id}", topics = "${kafka.domain.reconciliation}") + public void listenKafkaDomain(String kafkaMessage) { + idmDirectoriesService.upsertKafkaDomainMessage(kafkaMessage); + } + + @KafkaListener(id = "${kafka.role.group.id}", topics = "${kafka.role.reconciliation}") + public void listenKafkaRole(String kafkaMessage) { + idmDirectoriesService.upsertKafkaRoleMessage(kafkaMessage); + } + + @KafkaListener(id = "${kafka.account.group.id}", topics = "${kafka.account.reconciliation}") + public void listenKafkaAccount(String kafkaMessage) { + idmDirectoriesService.upsertKafkaAccountMessage(kafkaMessage); + } + + @KafkaListener(id = "${kafka.person.group.id}", topics = "${kafka.person.reconciliation}") + public void listenKafkaPerson(String kafkaMessage) { + idmDirectoriesService.upsertKafkaPersonMessage(kafkaMessage); + } +} diff --git a/backend/src/main/java/ervu_business_metrics/model/dto/AccountResponse.java b/backend/src/main/java/ervu_business_metrics/model/dto/AccountResponse.java new file mode 100644 index 0000000..6364b3c --- /dev/null +++ b/backend/src/main/java/ervu_business_metrics/model/dto/AccountResponse.java @@ -0,0 +1,184 @@ +package ervu_business_metrics.model.dto; + +import java.util.List; + +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import com.fasterxml.jackson.annotation.JsonProperty; + +/** + * @author Adel Kalimullin + */ +@JsonIgnoreProperties(ignoreUnknown = true) +public class AccountResponse { + private List data; + + public List getData() { + return data; + } + + public void setData(List data) { + this.data = data; + } + + @JsonIgnoreProperties(ignoreUnknown = true) + public static class Data { + private String id; + private int version; + private long modified; + private String schema; + private String start; + private String finish; + private boolean enabled; + private String position; + private String fio; + private String workMail; + private boolean esiaAccount; + private String userDomainId; + private String personId; + @JsonProperty("user-domain") + private ReferenceEntity userDomain; + private ReferenceEntity person; + private List roles; + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public int getVersion() { + return version; + } + + public void setVersion(int version) { + this.version = version; + } + + public long getModified() { + return modified; + } + + public void setModified(long modified) { + this.modified = modified; + } + + public String getSchema() { + return schema; + } + + public void setSchema(String schema) { + this.schema = schema; + } + + public String getStart() { + return start; + } + + public void setStart(String start) { + this.start = start; + } + + public String getFinish() { + return finish; + } + + public void setFinish(String finish) { + this.finish = finish; + } + + public boolean isEnabled() { + return enabled; + } + + public void setEnabled(boolean enabled) { + this.enabled = enabled; + } + + public String getPosition() { + return position; + } + + public void setPosition(String position) { + this.position = position; + } + + public String getFio() { + return fio; + } + + public void setFio(String fio) { + this.fio = fio; + } + + public String getWorkMail() { + return workMail; + } + + public void setWorkMail(String workMail) { + this.workMail = workMail; + } + + public boolean isEsiaAccount() { + return esiaAccount; + } + + public void setEsiaAccount(boolean esiaAccount) { + this.esiaAccount = esiaAccount; + } + + public String getUserDomainId() { + return userDomainId; + } + + public void setUserDomainId(String userDomainId) { + this.userDomainId = userDomainId; + } + + public String getPersonId() { + return personId; + } + + public void setPersonId(String personId) { + this.personId = personId; + } + + public ReferenceEntity getUserDomain() { + return userDomain; + } + + public void setUserDomain(ReferenceEntity userDomain) { + this.userDomain = userDomain; + } + + public ReferenceEntity getPerson() { + return person; + } + + public void setPerson(ReferenceEntity person) { + this.person = person; + } + + public List getRoles() { + return roles; + } + + public void setRoles(List roles) { + this.roles = roles; + } + } + + @JsonIgnoreProperties(ignoreUnknown = true) + public static class ReferenceEntity { + private String id; + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + } +} diff --git a/backend/src/main/java/ervu_business_metrics/model/dto/DomainResponse.java b/backend/src/main/java/ervu_business_metrics/model/dto/DomainResponse.java new file mode 100644 index 0000000..8722c80 --- /dev/null +++ b/backend/src/main/java/ervu_business_metrics/model/dto/DomainResponse.java @@ -0,0 +1,474 @@ +package ervu_business_metrics.model.dto; +import java.util.List; + +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; + +/** + * @author Eduard Tihomirov + */ +@JsonIgnoreProperties(ignoreUnknown = true) +public class DomainResponse{ + private List data; + + public List getData() { + return data; + } + + public void setData(List data) { + this.data = data; + } + + @JsonIgnoreProperties(ignoreUnknown = true) + public static class Data { + private String id; + private int version; + private long modified; + private String schema; + private String name; + private String shortname; + private String fullname; + private String dns; + private String email; + private String phone; + private String address; + private String postalAddress; + private String addressId; + private String postalAddressId; + private String militaryCode; + private String timezone; + private boolean reportsEnabled; + private String inn; + private String leg; + private String ogrn; + private String region; + private String epguId; + private String type; + private boolean esiaEmployeeAuthorization; + private String defaultS3Bucket; + private String opf; + private String kpp; + private String checkingAccount; + private String bik; + private String bankName; + private String bankCorrespondentAccount; + private String oktmo; + private String okato; + private String govRegistrationDate; + private String govOrganizationType; + private String aliasKey; + private String passKey; + private String certificate; + private String accountNumberTOFK; + private String bikTOFK; + private String correspondentBankAccountTOFK; + private String nameTOFK; + private String nsiOrganizationId; + private String docHandle; + private String divisionType; + private String tnsDepartmentId; + private boolean enabled; + private String parent; + private String regionId; + private String managed; + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public int getVersion() { + return version; + } + + public void setVersion(int version) { + this.version = version; + } + + public long getModified() { + return modified; + } + + public void setModified(long modified) { + this.modified = modified; + } + + public String getSchema() { + return schema; + } + + public void setSchema(String schema) { + this.schema = schema; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getShortname() { + return shortname; + } + + public void setShortname(String shortname) { + this.shortname = shortname; + } + + public String getFullname() { + return fullname; + } + + public void setFullname(String fullname) { + this.fullname = fullname; + } + + public String getDns() { + return dns; + } + + public void setDns(String dns) { + this.dns = dns; + } + + public String getEmail() { + return email; + } + + public void setEmail(String email) { + this.email = email; + } + + public String getPhone() { + return phone; + } + + public void setPhone(String phone) { + this.phone = phone; + } + + public String getAddress() { + return address; + } + + public void setAddress(String address) { + this.address = address; + } + + public String getPostalAddress() { + return postalAddress; + } + + public void setPostalAddress(String postalAddress) { + this.postalAddress = postalAddress; + } + + public String getAddressId() { + return addressId; + } + + public void setAddressId(String addressId) { + this.addressId = addressId; + } + + public String getPostalAddressId() { + return postalAddressId; + } + + public void setPostalAddressId(String postalAddressId) { + this.postalAddressId = postalAddressId; + } + + public String getMilitaryCode() { + return militaryCode; + } + + public void setMilitaryCode(String militaryCode) { + this.militaryCode = militaryCode; + } + + public String getTimezone() { + return timezone; + } + + public void setTimezone(String timezone) { + this.timezone = timezone; + } + + public boolean isReportsEnabled() { + return reportsEnabled; + } + + public void setReportsEnabled(boolean reportsEnabled) { + this.reportsEnabled = reportsEnabled; + } + + public String getInn() { + return inn; + } + + public void setInn(String inn) { + this.inn = inn; + } + + public String getLeg() { + return leg; + } + + public void setLeg(String leg) { + this.leg = leg; + } + + public String getOgrn() { + return ogrn; + } + + public void setOgrn(String ogrn) { + this.ogrn = ogrn; + } + + public String getRegion() { + return region; + } + + public void setRegion(String region) { + this.region = region; + } + + public String getEpguId() { + return epguId; + } + + public void setEpguId(String epguId) { + this.epguId = epguId; + } + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + public boolean isEsiaEmployeeAuthorization() { + return esiaEmployeeAuthorization; + } + + public void setEsiaEmployeeAuthorization(boolean esiaEmployeeAuthorization) { + this.esiaEmployeeAuthorization = esiaEmployeeAuthorization; + } + + public String getDefaultS3Bucket() { + return defaultS3Bucket; + } + + public void setDefaultS3Bucket(String defaultS3Bucket) { + this.defaultS3Bucket = defaultS3Bucket; + } + + public String getOpf() { + return opf; + } + + public void setOpf(String opf) { + this.opf = opf; + } + + public String getKpp() { + return kpp; + } + + public void setKpp(String kpp) { + this.kpp = kpp; + } + + public String getCheckingAccount() { + return checkingAccount; + } + + public void setCheckingAccount(String checkingAccount) { + this.checkingAccount = checkingAccount; + } + + public String getBik() { + return bik; + } + + public void setBik(String bik) { + this.bik = bik; + } + + public String getBankName() { + return bankName; + } + + public void setBankName(String bankName) { + this.bankName = bankName; + } + + public String getBankCorrespondentAccount() { + return bankCorrespondentAccount; + } + + public void setBankCorrespondentAccount(String bankCorrespondentAccount) { + this.bankCorrespondentAccount = bankCorrespondentAccount; + } + + public String getOktmo() { + return oktmo; + } + + public void setOktmo(String oktmo) { + this.oktmo = oktmo; + } + + public String getOkato() { + return okato; + } + + public void setOkato(String okato) { + this.okato = okato; + } + + public String getGovRegistrationDate() { + return govRegistrationDate; + } + + public void setGovRegistrationDate(String govRegistrationDate) { + this.govRegistrationDate = govRegistrationDate; + } + + public String getGovOrganizationType() { + return govOrganizationType; + } + + public void setGovOrganizationType(String govOrganizationType) { + this.govOrganizationType = govOrganizationType; + } + + public String getAliasKey() { + return aliasKey; + } + + public void setAliasKey(String aliasKey) { + this.aliasKey = aliasKey; + } + + public String getPassKey() { + return passKey; + } + + public void setPassKey(String passKey) { + this.passKey = passKey; + } + + public String getCertificate() { + return certificate; + } + + public void setCertificate(String certificate) { + this.certificate = certificate; + } + + public String getAccountNumberTOFK() { + return accountNumberTOFK; + } + + public void setAccountNumberTOFK(String accountNumberTOFK) { + this.accountNumberTOFK = accountNumberTOFK; + } + + public String getBikTOFK() { + return bikTOFK; + } + + public void setBikTOFK(String bikTOFK) { + this.bikTOFK = bikTOFK; + } + + public String getCorrespondentBankAccountTOFK() { + return correspondentBankAccountTOFK; + } + + public void setCorrespondentBankAccountTOFK(String correspondentBankAccountTOFK) { + this.correspondentBankAccountTOFK = correspondentBankAccountTOFK; + } + + public String getNameTOFK() { + return nameTOFK; + } + + public void setNameTOFK(String nameTOFK) { + this.nameTOFK = nameTOFK; + } + + public String getNsiOrganizationId() { + return nsiOrganizationId; + } + + public void setNsiOrganizationId(String nsiOrganizationId) { + this.nsiOrganizationId = nsiOrganizationId; + } + + public String getDocHandle() { + return docHandle; + } + + public void setDocHandle(String docHandle) { + this.docHandle = docHandle; + } + + public String getDivisionType() { + return divisionType; + } + + public void setDivisionType(String divisionType) { + this.divisionType = divisionType; + } + + public String getTnsDepartmentId() { + return tnsDepartmentId; + } + + public void setTnsDepartmentId(String tnsDepartmentId) { + this.tnsDepartmentId = tnsDepartmentId; + } + + public boolean isEnabled() { + return enabled; + } + + public void setEnabled(boolean enabled) { + this.enabled = enabled; + } + + public String getParent() { + return parent; + } + + public void setParent(String parent) { + this.parent = parent; + } + + public String getRegionId() { + return regionId; + } + + public void setRegionId(String regionId) { + this.regionId = regionId; + } + + public String getManaged() { + return managed; + } + + public void setManaged(String managed) { + this.managed = managed; + } + } +} diff --git a/backend/src/main/java/ervu_business_metrics/model/dto/PersonResponse.java b/backend/src/main/java/ervu_business_metrics/model/dto/PersonResponse.java new file mode 100644 index 0000000..32a71e4 --- /dev/null +++ b/backend/src/main/java/ervu_business_metrics/model/dto/PersonResponse.java @@ -0,0 +1,169 @@ +package ervu_business_metrics.model.dto; + +import java.util.List; + +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; + +/** + * @author Adel Kalimullin + */ +@JsonIgnoreProperties(ignoreUnknown = true) +public class PersonResponse { + private List data; + + public List getData() { + return data; + } + + public void setData(List data) { + this.data = data; + } + + @JsonIgnoreProperties(ignoreUnknown = true) + public static class Data { + private String id; + private int version; + private long modified; + private String schema; + private String birthdate; + private String firstname; + private String middlename; + private String surname; + private String sex; + private String email; + private String photo; + private String phone; + private String snils; + private boolean secondFactorEnabled; + private List ipAddresses; + private String fio; + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public int getVersion() { + return version; + } + + public void setVersion(int version) { + this.version = version; + } + + public long getModified() { + return modified; + } + + public void setModified(long modified) { + this.modified = modified; + } + + public String getSchema() { + return schema; + } + + public void setSchema(String schema) { + this.schema = schema; + } + + public String getBirthdate() { + return birthdate; + } + + public void setBirthdate(String birthdate) { + this.birthdate = birthdate; + } + + public String getFirstname() { + return firstname; + } + + public void setFirstname(String firstname) { + this.firstname = firstname; + } + + public String getMiddlename() { + return middlename; + } + + public void setMiddlename(String middlename) { + this.middlename = middlename; + } + + public String getSurname() { + return surname; + } + + public void setSurname(String surname) { + this.surname = surname; + } + + public String getSex() { + return sex; + } + + public void setSex(String sex) { + this.sex = sex; + } + + public String getEmail() { + return email; + } + + public void setEmail(String email) { + this.email = email; + } + + public String getPhoto() { + return photo; + } + + public void setPhoto(String photo) { + this.photo = photo; + } + + public String getPhone() { + return phone; + } + + public void setPhone(String phone) { + this.phone = phone; + } + + public String getSnils() { + return snils; + } + + public void setSnils(String snils) { + this.snils = snils; + } + + public boolean isSecondFactorEnabled() { + return secondFactorEnabled; + } + + public void setSecondFactorEnabled(boolean secondFactorEnabled) { + this.secondFactorEnabled = secondFactorEnabled; + } + + public List getIpAddresses() { + return ipAddresses; + } + + public void setIpAddresses(List ipAddresses) { + this.ipAddresses = ipAddresses; + } + + public String getFio() { + return fio; + } + + public void setFio(String fio) { + this.fio = fio; + } + } +} diff --git a/backend/src/main/java/ervu_business_metrics/model/dto/RoleResponse.java b/backend/src/main/java/ervu_business_metrics/model/dto/RoleResponse.java new file mode 100644 index 0000000..2e0cf47 --- /dev/null +++ b/backend/src/main/java/ervu_business_metrics/model/dto/RoleResponse.java @@ -0,0 +1,124 @@ +package ervu_business_metrics.model.dto; + +import java.util.List; + +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; + +/** + * @author Eduard Tihomirov + */ +@JsonIgnoreProperties(ignoreUnknown = true) +public class RoleResponse { + private List data; + + public List getData() { + return data; + } + + public void setData(List data) { + this.data = data; + } + + @JsonIgnoreProperties(ignoreUnknown = true) + public static class Data { + private String id; + private int version; + private long modified; + private String schema; + private String name; + private String shortname; + private String displayName; + private int sessionsLimit; + private boolean ervuRole; + private int imported; + private String description; + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public int getVersion() { + return version; + } + + public void setVersion(int version) { + this.version = version; + } + + public long getModified() { + return modified; + } + + public void setModified(long modified) { + this.modified = modified; + } + + public String getSchema() { + return schema; + } + + public void setSchema(String schema) { + this.schema = schema; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getShortname() { + return shortname; + } + + public void setShortname(String shortname) { + this.shortname = shortname; + } + + public String getDisplayName() { + return displayName; + } + + public void setDisplayName(String displayName) { + this.displayName = displayName; + } + + public int getSessionsLimit() { + return sessionsLimit; + } + + public void setSessionsLimit(int sessionsLimit) { + this.sessionsLimit = sessionsLimit; + } + + public boolean isErvuRole() { + return ervuRole; + } + + public void setErvuRole(boolean ervuRole) { + this.ervuRole = ervuRole; + } + + public int getImported() { + return imported; + } + + public void setImported(int imported) { + this.imported = imported; + } + + public String getDescription() { + return description; + } + + public void setDescription(String description) { + this.description = description; + } + } +} diff --git a/config/micord.env b/config/micord.env index 11671a1..723b441 100644 --- a/config/micord.env +++ b/config/micord.env @@ -5,3 +5,20 @@ DB_APP_PASSWORD=ervu_business_metrics DB_APP_HOST=10.10.31.119 DB_APP_PORT=5432 DB_APP_NAME=ervu-dashboard-recr + +#Kafka +KAFKA_HOSTS=10.10.31.11:32609 +KAFKA_AUTH_SEC_PROTO=SASL_PLAINTEXT +KAFKA_AUTH_SASL_MECH=SCRAM-SHA-256 +KAFKA_AUTH_SASL_MODULE=org.apache.kafka.common.security.scram.ScramLoginModule +KAFKA_USER=user1 +KAFKA_PASS=Blfi9d2OFG +KAFKA_DOMAIN_GROUP_ID=ervu-business-metrics-backend-domain +KAFKA_ROLE_GROUP_ID=ervu-business-metrics-backend-role +KAFKA_ACCOUNT_GROUP_ID=ervu-business-metrics-backend-account +KAFKA_ROLE_RECONCILIATION=idmv2.role.reconciliation +KAFKA_DOMAIN_RECONCILIATION=idmv2.domain.reconciliation +KAFKA_ACCOUNT_RECONCILIATION=idmv2.account.reconciliation +KAFKA_PERSON_RECONCILIATION=idmv2.person.reconciliation +KAFKA_CREDENTIAL_RECONCILIATION=idmv2.credential.reconciliation +IDM_URL=http://idm \ No newline at end of file diff --git a/pom.xml b/pom.xml index bf523a8..9a9c344 100644 --- a/pom.xml +++ b/pom.xml @@ -15,6 +15,7 @@ scm:git:git://gitserver/webbpm/webbpm-components.git + 2.9.13 1.60 UTF-8 false @@ -285,6 +286,28 @@ log4j-web 2.23.1 + + org.springframework.kafka + spring-kafka + ${spring-kafka.version} + + + org.apache.kafka + kafka-clients + + + + + org.apache.kafka + kafka-clients + 3.9.0 + + + org.xerial.snappy + snappy-java + + + From bb1df25bc6dc2898031f0e2dbcc973c60b6973e5 Mon Sep 17 00:00:00 2001 From: "adel.kalimullin" Date: Fri, 18 Apr 2025 11:55:48 +0300 Subject: [PATCH 02/40] SUPPORT-9122:add scripts --- .../v_1.0/20250418-SUPPORT-9122_add_idm.xml | 180 ++++++++++++++++++ 1 file changed, 180 insertions(+) create mode 100644 backend/src/main/resources/config/v_1.0/20250418-SUPPORT-9122_add_idm.xml diff --git a/backend/src/main/resources/config/v_1.0/20250418-SUPPORT-9122_add_idm.xml b/backend/src/main/resources/config/v_1.0/20250418-SUPPORT-9122_add_idm.xml new file mode 100644 index 0000000..9b30217 --- /dev/null +++ b/backend/src/main/resources/config/v_1.0/20250418-SUPPORT-9122_add_idm.xml @@ -0,0 +1,180 @@ + + + + + create schema idm_reconcile + + CREATE SCHEMA IF NOT EXISTS idm_reconcile; + ALTER SCHEMA metrics OWNER TO ervu_business_metrics; + + + + + creat table domain + + CREATE TABLE IF NOT EXISTS idm_reconcile.domain ( + id varchar(255) PRIMARY KEY, + version int NOT NULL, + modified timestamp without time zone, + schema varchar(255) NOT NULL, + name varchar(255), + shortname varchar(255), + fullname varchar(255), + dns varchar(255), + email varchar(255), + phone varchar(255), + address varchar(1024), + postal_address varchar(1024), + address_id varchar(255), + postal_address_id varchar(255), + military_code varchar(255), + timezone varchar(255), + reports_enabled boolean, + inn varchar(255), + leg varchar(255), + ogrn varchar(255), + region varchar(255), + epgu_id varchar(255), + type varchar(255), + esia_employee_authorization boolean, + default_s3_bucket varchar(255), + opf varchar(255), + kpp varchar(255), + checking_account varchar(255), + bik varchar(255), + bank_name varchar(255), + bank_correspondent_account varchar(255), + oktmo varchar(255), + okato varchar(255), + gov_registration_date varchar(255), + gov_organization_type varchar(255), + alias_key varchar(255), + pass_key varchar(255), + certificate varchar(2048), + account_number_tofk varchar(255), + bik_tofk varchar(255), + correspondent_bank_account_tofk varchar(255), + name_tofk varchar(255), + nsi_organization_id varchar(255), + doc_handle varchar(255), + division_type varchar(255), + tns_department_id varchar(255), + enabled boolean, + parent varchar(255), + region_id varchar(255), + managed varchar(255) + ); + + ALTER TABLE idm_reconcile.domain OWNER TO ervu_business_metrics; + + + + + create table role + + CREATE TABLE IF NOT EXISTS idm_reconcile.role ( + id varchar(255) PRIMARY KEY, + version int NOT NULL, + modified timestamp without time zone, + schema varchar(255) NOT NULL, + name varchar(255), + shortname varchar(255), + display_name varchar(255), + sessions_limit int, + ervu_role boolean, + imported int, + description TEXT + ); + + ALTER TABLE idm_reconcile.role OWNER TO ervu_business_metrics; + + + + + create table person and person_ip_address + + CREATE TABLE IF NOT EXISTS idm_reconcile.person ( + id varchar(36) PRIMARY KEY, + version int NOT NULL, + modified timestamp without time zone, + schema varchar(100) NOT NULL, + birthdate DATE, + firstname varchar(255), + middlename varchar(255), + surname varchar(255), + sex varchar(10), + email varchar(255), + photo TEXT, + phone varchar(50), + snils varchar(20), + second_factor_enabled boolean NOT NULL DEFAULT FALSE, + fio varchar(255) + ); + + ALTER TABLE idm_reconcile.person OWNER TO ervu_business_metrics; + + CREATE TABLE IF NOT EXISTS idm_reconcile.person_ip_address ( + person_id varchar(36) NOT NULL, + ip_address varchar(45) NOT NULL, + CONSTRAINT pk_person_ip PRIMARY KEY (person_id, ip_address), + CONSTRAINT fk_person_ip_person FOREIGN KEY (person_id) + REFERENCES idm_reconcile.person (id) + ON DELETE CASCADE + ); + + ALTER TABLE idm_reconcile.person_ip_address OWNER TO ervu_business_metrics; + + + + + create table account and account_role + + CREATE TABLE IF NOT EXISTS idm_reconcile.account ( + id varchar(36) PRIMARY KEY, + version int NOT NULL, + modified timestamp without time zone, + schema varchar(100) NOT NULL, + start varchar(50), + finish varchar(50), + enabled boolean NOT NULL DEFAULT TRUE, + position varchar(255), + fio varchar(255), + work_mail varchar(255), + esia_account boolean NOT NULL DEFAULT FALSE, + domain_id varchar(36), + person_id varchar(36), + + CONSTRAINT fk_domain FOREIGN KEY (domain_id) + REFERENCES idm_reconcile.domain (id) + ON DELETE SET NULL, + + CONSTRAINT fk_person FOREIGN KEY (person_id) + REFERENCES idm_reconcile.person (id) + ON DELETE SET NULL + ); + + ALTER TABLE idm_reconcile.account OWNER TO ervu_business_metrics; + + CREATE TABLE IF NOT EXISTS idm_reconcile.account_role ( + account_id varchar(36) NOT NULL, + role_id varchar(36) NOT NULL, + + CONSTRAINT pk_account_role PRIMARY KEY (account_id, role_id), + + CONSTRAINT fk_account_role_account FOREIGN KEY (account_id) + REFERENCES idm_reconcile.account (id) + ON DELETE CASCADE, + + CONSTRAINT fk_account_role_role FOREIGN KEY (role_id) + REFERENCES idm_reconcile.role (id) + ON DELETE CASCADE + ); + + ALTER TABLE idm_reconcile.account_role OWNER TO ervu_business_metrics; + + + \ No newline at end of file From f343cd577bc68834aa18e2a324bea10b1914c898 Mon Sep 17 00:00:00 2001 From: "adel.kalimullin" Date: Fri, 18 Apr 2025 15:53:18 +0300 Subject: [PATCH 03/40] SUPPORT-9122:add db beans --- .../db_beans/idm_reconcile/IdmReconcile.java | 90 ++ .../db_beans/idm_reconcile/Keys.java | 54 ++ .../db_beans/idm_reconcile/Tables.java | 50 ++ .../idm_reconcile/tables/Account.java | 372 ++++++++ .../idm_reconcile/tables/AccountRole.java | 292 +++++++ .../db_beans/idm_reconcile/tables/Domain.java | 514 +++++++++++ .../db_beans/idm_reconcile/tables/Person.java | 353 ++++++++ .../idm_reconcile/tables/PersonIpAddress.java | 281 ++++++ .../db_beans/idm_reconcile/tables/Role.java | 327 +++++++ .../tables/records/AccountRecord.java | 246 ++++++ .../tables/records/AccountRoleRecord.java | 79 ++ .../tables/records/DomainRecord.java | 803 ++++++++++++++++++ .../tables/records/PersonIpAddressRecord.java | 79 ++ .../tables/records/PersonRecord.java | 277 ++++++ .../tables/records/RoleRecord.java | 216 +++++ .../resources/config/v_1.0/changelog-1.0.xml | 1 + 16 files changed, 4034 insertions(+) create mode 100644 backend/src/main/java/ru/micord/webbpm/ervu/business_metrics/db_beans/idm_reconcile/IdmReconcile.java create mode 100644 backend/src/main/java/ru/micord/webbpm/ervu/business_metrics/db_beans/idm_reconcile/Keys.java create mode 100644 backend/src/main/java/ru/micord/webbpm/ervu/business_metrics/db_beans/idm_reconcile/Tables.java create mode 100644 backend/src/main/java/ru/micord/webbpm/ervu/business_metrics/db_beans/idm_reconcile/tables/Account.java create mode 100644 backend/src/main/java/ru/micord/webbpm/ervu/business_metrics/db_beans/idm_reconcile/tables/AccountRole.java create mode 100644 backend/src/main/java/ru/micord/webbpm/ervu/business_metrics/db_beans/idm_reconcile/tables/Domain.java create mode 100644 backend/src/main/java/ru/micord/webbpm/ervu/business_metrics/db_beans/idm_reconcile/tables/Person.java create mode 100644 backend/src/main/java/ru/micord/webbpm/ervu/business_metrics/db_beans/idm_reconcile/tables/PersonIpAddress.java create mode 100644 backend/src/main/java/ru/micord/webbpm/ervu/business_metrics/db_beans/idm_reconcile/tables/Role.java create mode 100644 backend/src/main/java/ru/micord/webbpm/ervu/business_metrics/db_beans/idm_reconcile/tables/records/AccountRecord.java create mode 100644 backend/src/main/java/ru/micord/webbpm/ervu/business_metrics/db_beans/idm_reconcile/tables/records/AccountRoleRecord.java create mode 100644 backend/src/main/java/ru/micord/webbpm/ervu/business_metrics/db_beans/idm_reconcile/tables/records/DomainRecord.java create mode 100644 backend/src/main/java/ru/micord/webbpm/ervu/business_metrics/db_beans/idm_reconcile/tables/records/PersonIpAddressRecord.java create mode 100644 backend/src/main/java/ru/micord/webbpm/ervu/business_metrics/db_beans/idm_reconcile/tables/records/PersonRecord.java create mode 100644 backend/src/main/java/ru/micord/webbpm/ervu/business_metrics/db_beans/idm_reconcile/tables/records/RoleRecord.java diff --git a/backend/src/main/java/ru/micord/webbpm/ervu/business_metrics/db_beans/idm_reconcile/IdmReconcile.java b/backend/src/main/java/ru/micord/webbpm/ervu/business_metrics/db_beans/idm_reconcile/IdmReconcile.java new file mode 100644 index 0000000..da8c998 --- /dev/null +++ b/backend/src/main/java/ru/micord/webbpm/ervu/business_metrics/db_beans/idm_reconcile/IdmReconcile.java @@ -0,0 +1,90 @@ +/* + * This file is generated by jOOQ. + */ +package ru.micord.webbpm.ervu.business_metrics.db_beans.idm_reconcile; + + +import java.util.Arrays; +import java.util.List; + +import org.jooq.Catalog; +import org.jooq.Table; +import org.jooq.impl.SchemaImpl; + +import ru.micord.webbpm.ervu.business_metrics.db_beans.DefaultCatalog; +import ru.micord.webbpm.ervu.business_metrics.db_beans.idm_reconcile.tables.Account; +import ru.micord.webbpm.ervu.business_metrics.db_beans.idm_reconcile.tables.AccountRole; +import ru.micord.webbpm.ervu.business_metrics.db_beans.idm_reconcile.tables.Domain; +import ru.micord.webbpm.ervu.business_metrics.db_beans.idm_reconcile.tables.Person; +import ru.micord.webbpm.ervu.business_metrics.db_beans.idm_reconcile.tables.PersonIpAddress; +import ru.micord.webbpm.ervu.business_metrics.db_beans.idm_reconcile.tables.Role; + + +/** + * This class is generated by jOOQ. + */ +@SuppressWarnings({ "all", "unchecked", "rawtypes" }) +public class IdmReconcile extends SchemaImpl { + + private static final long serialVersionUID = 1L; + + /** + * The reference instance of idm_reconcile + */ + public static final IdmReconcile IDM_RECONCILE = new IdmReconcile(); + + /** + * The table idm_reconcile.account. + */ + public final Account ACCOUNT = Account.ACCOUNT; + + /** + * The table idm_reconcile.account_role. + */ + public final AccountRole ACCOUNT_ROLE = AccountRole.ACCOUNT_ROLE; + + /** + * The table idm_reconcile.domain. + */ + public final Domain DOMAIN = Domain.DOMAIN; + + /** + * The table idm_reconcile.person. + */ + public final Person PERSON = Person.PERSON; + + /** + * The table idm_reconcile.person_ip_address. + */ + public final PersonIpAddress PERSON_IP_ADDRESS = PersonIpAddress.PERSON_IP_ADDRESS; + + /** + * The table idm_reconcile.role. + */ + public final Role ROLE = Role.ROLE; + + /** + * No further instances allowed + */ + private IdmReconcile() { + super("idm_reconcile", null); + } + + + @Override + public Catalog getCatalog() { + return DefaultCatalog.DEFAULT_CATALOG; + } + + @Override + public final List> getTables() { + return Arrays.asList( + Account.ACCOUNT, + AccountRole.ACCOUNT_ROLE, + Domain.DOMAIN, + Person.PERSON, + PersonIpAddress.PERSON_IP_ADDRESS, + Role.ROLE + ); + } +} diff --git a/backend/src/main/java/ru/micord/webbpm/ervu/business_metrics/db_beans/idm_reconcile/Keys.java b/backend/src/main/java/ru/micord/webbpm/ervu/business_metrics/db_beans/idm_reconcile/Keys.java new file mode 100644 index 0000000..0276984 --- /dev/null +++ b/backend/src/main/java/ru/micord/webbpm/ervu/business_metrics/db_beans/idm_reconcile/Keys.java @@ -0,0 +1,54 @@ +/* + * This file is generated by jOOQ. + */ +package ru.micord.webbpm.ervu.business_metrics.db_beans.idm_reconcile; + + +import org.jooq.ForeignKey; +import org.jooq.TableField; +import org.jooq.UniqueKey; +import org.jooq.impl.DSL; +import org.jooq.impl.Internal; + +import ru.micord.webbpm.ervu.business_metrics.db_beans.idm_reconcile.tables.Account; +import ru.micord.webbpm.ervu.business_metrics.db_beans.idm_reconcile.tables.AccountRole; +import ru.micord.webbpm.ervu.business_metrics.db_beans.idm_reconcile.tables.Domain; +import ru.micord.webbpm.ervu.business_metrics.db_beans.idm_reconcile.tables.Person; +import ru.micord.webbpm.ervu.business_metrics.db_beans.idm_reconcile.tables.PersonIpAddress; +import ru.micord.webbpm.ervu.business_metrics.db_beans.idm_reconcile.tables.Role; +import ru.micord.webbpm.ervu.business_metrics.db_beans.idm_reconcile.tables.records.AccountRecord; +import ru.micord.webbpm.ervu.business_metrics.db_beans.idm_reconcile.tables.records.AccountRoleRecord; +import ru.micord.webbpm.ervu.business_metrics.db_beans.idm_reconcile.tables.records.DomainRecord; +import ru.micord.webbpm.ervu.business_metrics.db_beans.idm_reconcile.tables.records.PersonIpAddressRecord; +import ru.micord.webbpm.ervu.business_metrics.db_beans.idm_reconcile.tables.records.PersonRecord; +import ru.micord.webbpm.ervu.business_metrics.db_beans.idm_reconcile.tables.records.RoleRecord; + + +/** + * A class modelling foreign key relationships and constraints of tables in + * idm_reconcile. + */ +@SuppressWarnings({ "all", "unchecked", "rawtypes" }) +public class Keys { + + // ------------------------------------------------------------------------- + // UNIQUE and PRIMARY KEY definitions + // ------------------------------------------------------------------------- + + public static final UniqueKey ACCOUNT_PKEY = Internal.createUniqueKey(Account.ACCOUNT, DSL.name("account_pkey"), new TableField[] { Account.ACCOUNT.ID }, true); + public static final UniqueKey PK_ACCOUNT_ROLE = Internal.createUniqueKey(AccountRole.ACCOUNT_ROLE, DSL.name("pk_account_role"), new TableField[] { AccountRole.ACCOUNT_ROLE.ACCOUNT_ID, AccountRole.ACCOUNT_ROLE.ROLE_ID }, true); + public static final UniqueKey DOMAIN_PKEY = Internal.createUniqueKey(Domain.DOMAIN, DSL.name("domain_pkey"), new TableField[] { Domain.DOMAIN.ID }, true); + public static final UniqueKey PERSON_PKEY = Internal.createUniqueKey(Person.PERSON, DSL.name("person_pkey"), new TableField[] { Person.PERSON.ID }, true); + public static final UniqueKey PK_PERSON_IP = Internal.createUniqueKey(PersonIpAddress.PERSON_IP_ADDRESS, DSL.name("pk_person_ip"), new TableField[] { PersonIpAddress.PERSON_IP_ADDRESS.PERSON_ID, PersonIpAddress.PERSON_IP_ADDRESS.IP_ADDRESS }, true); + public static final UniqueKey ROLE_PKEY = Internal.createUniqueKey(Role.ROLE, DSL.name("role_pkey"), new TableField[] { Role.ROLE.ID }, true); + + // ------------------------------------------------------------------------- + // FOREIGN KEY definitions + // ------------------------------------------------------------------------- + + public static final ForeignKey ACCOUNT__FK_DOMAIN = Internal.createForeignKey(Account.ACCOUNT, DSL.name("fk_domain"), new TableField[] { Account.ACCOUNT.DOMAIN_ID }, Keys.DOMAIN_PKEY, new TableField[] { Domain.DOMAIN.ID }, true); + public static final ForeignKey ACCOUNT__FK_PERSON = Internal.createForeignKey(Account.ACCOUNT, DSL.name("fk_person"), new TableField[] { Account.ACCOUNT.PERSON_ID }, Keys.PERSON_PKEY, new TableField[] { Person.PERSON.ID }, true); + public static final ForeignKey ACCOUNT_ROLE__FK_ACCOUNT_ROLE_ACCOUNT = Internal.createForeignKey(AccountRole.ACCOUNT_ROLE, DSL.name("fk_account_role_account"), new TableField[] { AccountRole.ACCOUNT_ROLE.ACCOUNT_ID }, Keys.ACCOUNT_PKEY, new TableField[] { Account.ACCOUNT.ID }, true); + public static final ForeignKey ACCOUNT_ROLE__FK_ACCOUNT_ROLE_ROLE = Internal.createForeignKey(AccountRole.ACCOUNT_ROLE, DSL.name("fk_account_role_role"), new TableField[] { AccountRole.ACCOUNT_ROLE.ROLE_ID }, Keys.ROLE_PKEY, new TableField[] { Role.ROLE.ID }, true); + public static final ForeignKey PERSON_IP_ADDRESS__FK_PERSON_IP_PERSON = Internal.createForeignKey(PersonIpAddress.PERSON_IP_ADDRESS, DSL.name("fk_person_ip_person"), new TableField[] { PersonIpAddress.PERSON_IP_ADDRESS.PERSON_ID }, Keys.PERSON_PKEY, new TableField[] { Person.PERSON.ID }, true); +} diff --git a/backend/src/main/java/ru/micord/webbpm/ervu/business_metrics/db_beans/idm_reconcile/Tables.java b/backend/src/main/java/ru/micord/webbpm/ervu/business_metrics/db_beans/idm_reconcile/Tables.java new file mode 100644 index 0000000..31fcd73 --- /dev/null +++ b/backend/src/main/java/ru/micord/webbpm/ervu/business_metrics/db_beans/idm_reconcile/Tables.java @@ -0,0 +1,50 @@ +/* + * This file is generated by jOOQ. + */ +package ru.micord.webbpm.ervu.business_metrics.db_beans.idm_reconcile; + + +import ru.micord.webbpm.ervu.business_metrics.db_beans.idm_reconcile.tables.Account; +import ru.micord.webbpm.ervu.business_metrics.db_beans.idm_reconcile.tables.AccountRole; +import ru.micord.webbpm.ervu.business_metrics.db_beans.idm_reconcile.tables.Domain; +import ru.micord.webbpm.ervu.business_metrics.db_beans.idm_reconcile.tables.Person; +import ru.micord.webbpm.ervu.business_metrics.db_beans.idm_reconcile.tables.PersonIpAddress; +import ru.micord.webbpm.ervu.business_metrics.db_beans.idm_reconcile.tables.Role; + + +/** + * Convenience access to all tables in idm_reconcile. + */ +@SuppressWarnings({ "all", "unchecked", "rawtypes" }) +public class Tables { + + /** + * The table idm_reconcile.account. + */ + public static final Account ACCOUNT = Account.ACCOUNT; + + /** + * The table idm_reconcile.account_role. + */ + public static final AccountRole ACCOUNT_ROLE = AccountRole.ACCOUNT_ROLE; + + /** + * The table idm_reconcile.domain. + */ + public static final Domain DOMAIN = Domain.DOMAIN; + + /** + * The table idm_reconcile.person. + */ + public static final Person PERSON = Person.PERSON; + + /** + * The table idm_reconcile.person_ip_address. + */ + public static final PersonIpAddress PERSON_IP_ADDRESS = PersonIpAddress.PERSON_IP_ADDRESS; + + /** + * The table idm_reconcile.role. + */ + public static final Role ROLE = Role.ROLE; +} diff --git a/backend/src/main/java/ru/micord/webbpm/ervu/business_metrics/db_beans/idm_reconcile/tables/Account.java b/backend/src/main/java/ru/micord/webbpm/ervu/business_metrics/db_beans/idm_reconcile/tables/Account.java new file mode 100644 index 0000000..dd16c43 --- /dev/null +++ b/backend/src/main/java/ru/micord/webbpm/ervu/business_metrics/db_beans/idm_reconcile/tables/Account.java @@ -0,0 +1,372 @@ +/* + * This file is generated by jOOQ. + */ +package ru.micord.webbpm.ervu.business_metrics.db_beans.idm_reconcile.tables; + + +import java.sql.Timestamp; +import java.util.Arrays; +import java.util.Collection; +import java.util.List; + +import org.jooq.Condition; +import org.jooq.Field; +import org.jooq.ForeignKey; +import org.jooq.InverseForeignKey; +import org.jooq.Name; +import org.jooq.Path; +import org.jooq.PlainSQL; +import org.jooq.QueryPart; +import org.jooq.Record; +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; + +import ru.micord.webbpm.ervu.business_metrics.db_beans.idm_reconcile.IdmReconcile; +import ru.micord.webbpm.ervu.business_metrics.db_beans.idm_reconcile.Keys; +import ru.micord.webbpm.ervu.business_metrics.db_beans.idm_reconcile.tables.AccountRole.AccountRolePath; +import ru.micord.webbpm.ervu.business_metrics.db_beans.idm_reconcile.tables.Domain.DomainPath; +import ru.micord.webbpm.ervu.business_metrics.db_beans.idm_reconcile.tables.Person.PersonPath; +import ru.micord.webbpm.ervu.business_metrics.db_beans.idm_reconcile.tables.Role.RolePath; +import ru.micord.webbpm.ervu.business_metrics.db_beans.idm_reconcile.tables.records.AccountRecord; + + +/** + * This class is generated by jOOQ. + */ +@SuppressWarnings({ "all", "unchecked", "rawtypes" }) +public class Account extends TableImpl { + + private static final long serialVersionUID = 1L; + + /** + * The reference instance of idm_reconcile.account + */ + public static final Account ACCOUNT = new Account(); + + /** + * The class holding records for this type + */ + @Override + public Class getRecordType() { + return AccountRecord.class; + } + + /** + * The column idm_reconcile.account.id. + */ + public final TableField ID = createField(DSL.name("id"), SQLDataType.VARCHAR(36).nullable(false), this, ""); + + /** + * The column idm_reconcile.account.version. + */ + public final TableField VERSION = createField(DSL.name("version"), SQLDataType.INTEGER.nullable(false), this, ""); + + /** + * The column idm_reconcile.account.modified. + */ + public final TableField MODIFIED = createField(DSL.name("modified"), SQLDataType.TIMESTAMP(0), this, ""); + + /** + * The column idm_reconcile.account.schema. + */ + public final TableField SCHEMA = createField(DSL.name("schema"), SQLDataType.VARCHAR(100).nullable(false), this, ""); + + /** + * The column idm_reconcile.account.start. + */ + public final TableField START = createField(DSL.name("start"), SQLDataType.VARCHAR(50), this, ""); + + /** + * The column idm_reconcile.account.finish. + */ + public final TableField FINISH = createField(DSL.name("finish"), SQLDataType.VARCHAR(50), this, ""); + + /** + * The column idm_reconcile.account.enabled. + */ + public final TableField ENABLED = createField(DSL.name("enabled"), SQLDataType.BOOLEAN.nullable(false).defaultValue(DSL.field(DSL.raw("true"), SQLDataType.BOOLEAN)), this, ""); + + /** + * The column idm_reconcile.account.position. + */ + public final TableField POSITION = createField(DSL.name("position"), SQLDataType.VARCHAR(255), this, ""); + + /** + * The column idm_reconcile.account.fio. + */ + public final TableField FIO = createField(DSL.name("fio"), SQLDataType.VARCHAR(255), this, ""); + + /** + * The column idm_reconcile.account.work_mail. + */ + public final TableField WORK_MAIL = createField(DSL.name("work_mail"), SQLDataType.VARCHAR(255), this, ""); + + /** + * The column idm_reconcile.account.esia_account. + */ + public final TableField ESIA_ACCOUNT = createField(DSL.name("esia_account"), SQLDataType.BOOLEAN.nullable(false).defaultValue(DSL.field(DSL.raw("false"), SQLDataType.BOOLEAN)), this, ""); + + /** + * The column idm_reconcile.account.domain_id. + */ + public final TableField DOMAIN_ID = createField(DSL.name("domain_id"), SQLDataType.VARCHAR(36), this, ""); + + /** + * The column idm_reconcile.account.person_id. + */ + public final TableField PERSON_ID = createField(DSL.name("person_id"), SQLDataType.VARCHAR(36), this, ""); + + private Account(Name alias, Table aliased) { + this(alias, aliased, (Field[]) null, null); + } + + private Account(Name alias, Table aliased, Field[] parameters, Condition where) { + super(alias, null, aliased, parameters, DSL.comment(""), TableOptions.table(), where); + } + + /** + * Create an aliased idm_reconcile.account table reference + */ + public Account(String alias) { + this(DSL.name(alias), ACCOUNT); + } + + /** + * Create an aliased idm_reconcile.account table reference + */ + public Account(Name alias) { + this(alias, ACCOUNT); + } + + /** + * Create a idm_reconcile.account table reference + */ + public Account() { + this(DSL.name("account"), null); + } + + public Account(Table path, ForeignKey childPath, InverseForeignKey parentPath) { + super(path, childPath, parentPath, ACCOUNT); + } + + /** + * A subtype implementing {@link Path} for simplified path-based joins. + */ + public static class AccountPath extends Account implements Path { + public AccountPath(Table path, ForeignKey childPath, InverseForeignKey parentPath) { + super(path, childPath, parentPath); + } + private AccountPath(Name alias, Table aliased) { + super(alias, aliased); + } + + @Override + public AccountPath as(String alias) { + return new AccountPath(DSL.name(alias), this); + } + + @Override + public AccountPath as(Name alias) { + return new AccountPath(alias, this); + } + + @Override + public AccountPath as(Table alias) { + return new AccountPath(alias.getQualifiedName(), this); + } + } + + @Override + public Schema getSchema() { + return aliased() ? null : IdmReconcile.IDM_RECONCILE; + } + + @Override + public UniqueKey getPrimaryKey() { + return Keys.ACCOUNT_PKEY; + } + + @Override + public List> getReferences() { + return Arrays.asList(Keys.ACCOUNT__FK_DOMAIN, Keys.ACCOUNT__FK_PERSON); + } + + private transient DomainPath _domain; + + /** + * Get the implicit join path to the idm_reconcile.domain + * table. + */ + public DomainPath domain() { + if (_domain == null) + _domain = new DomainPath(this, Keys.ACCOUNT__FK_DOMAIN, null); + + return _domain; + } + + private transient PersonPath _person; + + /** + * Get the implicit join path to the idm_reconcile.person + * table. + */ + public PersonPath person() { + if (_person == null) + _person = new PersonPath(this, Keys.ACCOUNT__FK_PERSON, null); + + return _person; + } + + private transient AccountRolePath _accountRole; + + /** + * Get the implicit to-many join path to the + * idm_reconcile.account_role table + */ + public AccountRolePath accountRole() { + if (_accountRole == null) + _accountRole = new AccountRolePath(this, null, Keys.ACCOUNT_ROLE__FK_ACCOUNT_ROLE_ACCOUNT.getInverseKey()); + + return _accountRole; + } + + /** + * Get the implicit many-to-many join path to the + * idm_reconcile.role table + */ + public RolePath role() { + return accountRole().role(); + } + + @Override + public Account as(String alias) { + return new Account(DSL.name(alias), this); + } + + @Override + public Account as(Name alias) { + return new Account(alias, this); + } + + @Override + public Account as(Table alias) { + return new Account(alias.getQualifiedName(), this); + } + + /** + * Rename this table + */ + @Override + public Account rename(String name) { + return new Account(DSL.name(name), null); + } + + /** + * Rename this table + */ + @Override + public Account rename(Name name) { + return new Account(name, null); + } + + /** + * Rename this table + */ + @Override + public Account rename(Table name) { + return new Account(name.getQualifiedName(), null); + } + + /** + * Create an inline derived table from this table + */ + @Override + public Account where(Condition condition) { + return new Account(getQualifiedName(), aliased() ? this : null, null, condition); + } + + /** + * Create an inline derived table from this table + */ + @Override + public Account where(Collection conditions) { + return where(DSL.and(conditions)); + } + + /** + * Create an inline derived table from this table + */ + @Override + public Account where(Condition... conditions) { + return where(DSL.and(conditions)); + } + + /** + * Create an inline derived table from this table + */ + @Override + public Account where(Field condition) { + return where(DSL.condition(condition)); + } + + /** + * Create an inline derived table from this table + */ + @Override + @PlainSQL + public Account where(SQL condition) { + return where(DSL.condition(condition)); + } + + /** + * Create an inline derived table from this table + */ + @Override + @PlainSQL + public Account where(@Stringly.SQL String condition) { + return where(DSL.condition(condition)); + } + + /** + * Create an inline derived table from this table + */ + @Override + @PlainSQL + public Account where(@Stringly.SQL String condition, Object... binds) { + return where(DSL.condition(condition, binds)); + } + + /** + * Create an inline derived table from this table + */ + @Override + @PlainSQL + public Account where(@Stringly.SQL String condition, QueryPart... parts) { + return where(DSL.condition(condition, parts)); + } + + /** + * Create an inline derived table from this table + */ + @Override + public Account whereExists(Select select) { + return where(DSL.exists(select)); + } + + /** + * Create an inline derived table from this table + */ + @Override + public Account whereNotExists(Select select) { + return where(DSL.notExists(select)); + } +} diff --git a/backend/src/main/java/ru/micord/webbpm/ervu/business_metrics/db_beans/idm_reconcile/tables/AccountRole.java b/backend/src/main/java/ru/micord/webbpm/ervu/business_metrics/db_beans/idm_reconcile/tables/AccountRole.java new file mode 100644 index 0000000..e0a896c --- /dev/null +++ b/backend/src/main/java/ru/micord/webbpm/ervu/business_metrics/db_beans/idm_reconcile/tables/AccountRole.java @@ -0,0 +1,292 @@ +/* + * This file is generated by jOOQ. + */ +package ru.micord.webbpm.ervu.business_metrics.db_beans.idm_reconcile.tables; + + +import java.util.Arrays; +import java.util.Collection; +import java.util.List; + +import org.jooq.Condition; +import org.jooq.Field; +import org.jooq.ForeignKey; +import org.jooq.InverseForeignKey; +import org.jooq.Name; +import org.jooq.Path; +import org.jooq.PlainSQL; +import org.jooq.QueryPart; +import org.jooq.Record; +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; + +import ru.micord.webbpm.ervu.business_metrics.db_beans.idm_reconcile.IdmReconcile; +import ru.micord.webbpm.ervu.business_metrics.db_beans.idm_reconcile.Keys; +import ru.micord.webbpm.ervu.business_metrics.db_beans.idm_reconcile.tables.Account.AccountPath; +import ru.micord.webbpm.ervu.business_metrics.db_beans.idm_reconcile.tables.Role.RolePath; +import ru.micord.webbpm.ervu.business_metrics.db_beans.idm_reconcile.tables.records.AccountRoleRecord; + + +/** + * This class is generated by jOOQ. + */ +@SuppressWarnings({ "all", "unchecked", "rawtypes" }) +public class AccountRole extends TableImpl { + + private static final long serialVersionUID = 1L; + + /** + * The reference instance of idm_reconcile.account_role + */ + public static final AccountRole ACCOUNT_ROLE = new AccountRole(); + + /** + * The class holding records for this type + */ + @Override + public Class getRecordType() { + return AccountRoleRecord.class; + } + + /** + * The column idm_reconcile.account_role.account_id. + */ + public final TableField ACCOUNT_ID = createField(DSL.name("account_id"), SQLDataType.VARCHAR(36).nullable(false), this, ""); + + /** + * The column idm_reconcile.account_role.role_id. + */ + public final TableField ROLE_ID = createField(DSL.name("role_id"), SQLDataType.VARCHAR(36).nullable(false), this, ""); + + private AccountRole(Name alias, Table aliased) { + this(alias, aliased, (Field[]) null, null); + } + + private AccountRole(Name alias, Table aliased, Field[] parameters, Condition where) { + super(alias, null, aliased, parameters, DSL.comment(""), TableOptions.table(), where); + } + + /** + * Create an aliased idm_reconcile.account_role table reference + */ + public AccountRole(String alias) { + this(DSL.name(alias), ACCOUNT_ROLE); + } + + /** + * Create an aliased idm_reconcile.account_role table reference + */ + public AccountRole(Name alias) { + this(alias, ACCOUNT_ROLE); + } + + /** + * Create a idm_reconcile.account_role table reference + */ + public AccountRole() { + this(DSL.name("account_role"), null); + } + + public AccountRole(Table path, ForeignKey childPath, InverseForeignKey parentPath) { + super(path, childPath, parentPath, ACCOUNT_ROLE); + } + + /** + * A subtype implementing {@link Path} for simplified path-based joins. + */ + public static class AccountRolePath extends AccountRole implements Path { + public AccountRolePath(Table path, ForeignKey childPath, InverseForeignKey parentPath) { + super(path, childPath, parentPath); + } + private AccountRolePath(Name alias, Table aliased) { + super(alias, aliased); + } + + @Override + public AccountRolePath as(String alias) { + return new AccountRolePath(DSL.name(alias), this); + } + + @Override + public AccountRolePath as(Name alias) { + return new AccountRolePath(alias, this); + } + + @Override + public AccountRolePath as(Table alias) { + return new AccountRolePath(alias.getQualifiedName(), this); + } + } + + @Override + public Schema getSchema() { + return aliased() ? null : IdmReconcile.IDM_RECONCILE; + } + + @Override + public UniqueKey getPrimaryKey() { + return Keys.PK_ACCOUNT_ROLE; + } + + @Override + public List> getReferences() { + return Arrays.asList(Keys.ACCOUNT_ROLE__FK_ACCOUNT_ROLE_ACCOUNT, Keys.ACCOUNT_ROLE__FK_ACCOUNT_ROLE_ROLE); + } + + private transient AccountPath _account; + + /** + * Get the implicit join path to the idm_reconcile.account + * table. + */ + public AccountPath account() { + if (_account == null) + _account = new AccountPath(this, Keys.ACCOUNT_ROLE__FK_ACCOUNT_ROLE_ACCOUNT, null); + + return _account; + } + + private transient RolePath _role; + + /** + * Get the implicit join path to the idm_reconcile.role table. + */ + public RolePath role() { + if (_role == null) + _role = new RolePath(this, Keys.ACCOUNT_ROLE__FK_ACCOUNT_ROLE_ROLE, null); + + return _role; + } + + @Override + public AccountRole as(String alias) { + return new AccountRole(DSL.name(alias), this); + } + + @Override + public AccountRole as(Name alias) { + return new AccountRole(alias, this); + } + + @Override + public AccountRole as(Table alias) { + return new AccountRole(alias.getQualifiedName(), this); + } + + /** + * Rename this table + */ + @Override + public AccountRole rename(String name) { + return new AccountRole(DSL.name(name), null); + } + + /** + * Rename this table + */ + @Override + public AccountRole rename(Name name) { + return new AccountRole(name, null); + } + + /** + * Rename this table + */ + @Override + public AccountRole rename(Table name) { + return new AccountRole(name.getQualifiedName(), null); + } + + /** + * Create an inline derived table from this table + */ + @Override + public AccountRole where(Condition condition) { + return new AccountRole(getQualifiedName(), aliased() ? this : null, null, condition); + } + + /** + * Create an inline derived table from this table + */ + @Override + public AccountRole where(Collection conditions) { + return where(DSL.and(conditions)); + } + + /** + * Create an inline derived table from this table + */ + @Override + public AccountRole where(Condition... conditions) { + return where(DSL.and(conditions)); + } + + /** + * Create an inline derived table from this table + */ + @Override + public AccountRole where(Field condition) { + return where(DSL.condition(condition)); + } + + /** + * Create an inline derived table from this table + */ + @Override + @PlainSQL + public AccountRole where(SQL condition) { + return where(DSL.condition(condition)); + } + + /** + * Create an inline derived table from this table + */ + @Override + @PlainSQL + public AccountRole where(@Stringly.SQL String condition) { + return where(DSL.condition(condition)); + } + + /** + * Create an inline derived table from this table + */ + @Override + @PlainSQL + public AccountRole where(@Stringly.SQL String condition, Object... binds) { + return where(DSL.condition(condition, binds)); + } + + /** + * Create an inline derived table from this table + */ + @Override + @PlainSQL + public AccountRole where(@Stringly.SQL String condition, QueryPart... parts) { + return where(DSL.condition(condition, parts)); + } + + /** + * Create an inline derived table from this table + */ + @Override + public AccountRole whereExists(Select select) { + return where(DSL.exists(select)); + } + + /** + * Create an inline derived table from this table + */ + @Override + public AccountRole whereNotExists(Select select) { + return where(DSL.notExists(select)); + } +} diff --git a/backend/src/main/java/ru/micord/webbpm/ervu/business_metrics/db_beans/idm_reconcile/tables/Domain.java b/backend/src/main/java/ru/micord/webbpm/ervu/business_metrics/db_beans/idm_reconcile/tables/Domain.java new file mode 100644 index 0000000..f3e17b2 --- /dev/null +++ b/backend/src/main/java/ru/micord/webbpm/ervu/business_metrics/db_beans/idm_reconcile/tables/Domain.java @@ -0,0 +1,514 @@ +/* + * This file is generated by jOOQ. + */ +package ru.micord.webbpm.ervu.business_metrics.db_beans.idm_reconcile.tables; + + +import java.sql.Timestamp; +import java.util.Collection; + +import org.jooq.Condition; +import org.jooq.Field; +import org.jooq.ForeignKey; +import org.jooq.InverseForeignKey; +import org.jooq.Name; +import org.jooq.Path; +import org.jooq.PlainSQL; +import org.jooq.QueryPart; +import org.jooq.Record; +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; + +import ru.micord.webbpm.ervu.business_metrics.db_beans.idm_reconcile.IdmReconcile; +import ru.micord.webbpm.ervu.business_metrics.db_beans.idm_reconcile.Keys; +import ru.micord.webbpm.ervu.business_metrics.db_beans.idm_reconcile.tables.Account.AccountPath; +import ru.micord.webbpm.ervu.business_metrics.db_beans.idm_reconcile.tables.records.DomainRecord; + + +/** + * This class is generated by jOOQ. + */ +@SuppressWarnings({ "all", "unchecked", "rawtypes" }) +public class Domain extends TableImpl { + + private static final long serialVersionUID = 1L; + + /** + * The reference instance of idm_reconcile.domain + */ + public static final Domain DOMAIN = new Domain(); + + /** + * The class holding records for this type + */ + @Override + public Class getRecordType() { + return DomainRecord.class; + } + + /** + * The column idm_reconcile.domain.id. + */ + public final TableField ID = createField(DSL.name("id"), SQLDataType.VARCHAR(255).nullable(false), this, ""); + + /** + * The column idm_reconcile.domain.version. + */ + public final TableField VERSION = createField(DSL.name("version"), SQLDataType.INTEGER.nullable(false), this, ""); + + /** + * The column idm_reconcile.domain.modified. + */ + public final TableField MODIFIED = createField(DSL.name("modified"), SQLDataType.TIMESTAMP(0), this, ""); + + /** + * The column idm_reconcile.domain.schema. + */ + public final TableField SCHEMA = createField(DSL.name("schema"), SQLDataType.VARCHAR(255).nullable(false), this, ""); + + /** + * The column idm_reconcile.domain.name. + */ + public final TableField NAME = createField(DSL.name("name"), SQLDataType.VARCHAR(255), this, ""); + + /** + * The column idm_reconcile.domain.shortname. + */ + public final TableField SHORTNAME = createField(DSL.name("shortname"), SQLDataType.VARCHAR(255), this, ""); + + /** + * The column idm_reconcile.domain.fullname. + */ + public final TableField FULLNAME = createField(DSL.name("fullname"), SQLDataType.VARCHAR(255), this, ""); + + /** + * The column idm_reconcile.domain.dns. + */ + public final TableField DNS = createField(DSL.name("dns"), SQLDataType.VARCHAR(255), this, ""); + + /** + * The column idm_reconcile.domain.email. + */ + public final TableField EMAIL = createField(DSL.name("email"), SQLDataType.VARCHAR(255), this, ""); + + /** + * The column idm_reconcile.domain.phone. + */ + public final TableField PHONE = createField(DSL.name("phone"), SQLDataType.VARCHAR(255), this, ""); + + /** + * The column idm_reconcile.domain.address. + */ + public final TableField ADDRESS = createField(DSL.name("address"), SQLDataType.VARCHAR(1024), this, ""); + + /** + * The column idm_reconcile.domain.postal_address. + */ + public final TableField POSTAL_ADDRESS = createField(DSL.name("postal_address"), SQLDataType.VARCHAR(1024), this, ""); + + /** + * The column idm_reconcile.domain.address_id. + */ + public final TableField ADDRESS_ID = createField(DSL.name("address_id"), SQLDataType.VARCHAR(255), this, ""); + + /** + * The column idm_reconcile.domain.postal_address_id. + */ + public final TableField POSTAL_ADDRESS_ID = createField(DSL.name("postal_address_id"), SQLDataType.VARCHAR(255), this, ""); + + /** + * The column idm_reconcile.domain.military_code. + */ + public final TableField MILITARY_CODE = createField(DSL.name("military_code"), SQLDataType.VARCHAR(255), this, ""); + + /** + * The column idm_reconcile.domain.timezone. + */ + public final TableField TIMEZONE = createField(DSL.name("timezone"), SQLDataType.VARCHAR(255), this, ""); + + /** + * The column idm_reconcile.domain.reports_enabled. + */ + public final TableField REPORTS_ENABLED = createField(DSL.name("reports_enabled"), SQLDataType.BOOLEAN, this, ""); + + /** + * The column idm_reconcile.domain.inn. + */ + public final TableField INN = createField(DSL.name("inn"), SQLDataType.VARCHAR(255), this, ""); + + /** + * The column idm_reconcile.domain.leg. + */ + public final TableField LEG = createField(DSL.name("leg"), SQLDataType.VARCHAR(255), this, ""); + + /** + * The column idm_reconcile.domain.ogrn. + */ + public final TableField OGRN = createField(DSL.name("ogrn"), SQLDataType.VARCHAR(255), this, ""); + + /** + * The column idm_reconcile.domain.region. + */ + public final TableField REGION = createField(DSL.name("region"), SQLDataType.VARCHAR(255), this, ""); + + /** + * The column idm_reconcile.domain.epgu_id. + */ + public final TableField EPGU_ID = createField(DSL.name("epgu_id"), SQLDataType.VARCHAR(255), this, ""); + + /** + * The column idm_reconcile.domain.type. + */ + public final TableField TYPE = createField(DSL.name("type"), SQLDataType.VARCHAR(255), this, ""); + + /** + * The column idm_reconcile.domain.esia_employee_authorization. + */ + public final TableField ESIA_EMPLOYEE_AUTHORIZATION = createField(DSL.name("esia_employee_authorization"), SQLDataType.BOOLEAN, this, ""); + + /** + * The column idm_reconcile.domain.default_s3_bucket. + */ + public final TableField DEFAULT_S3_BUCKET = createField(DSL.name("default_s3_bucket"), SQLDataType.VARCHAR(255), this, ""); + + /** + * The column idm_reconcile.domain.opf. + */ + public final TableField OPF = createField(DSL.name("opf"), SQLDataType.VARCHAR(255), this, ""); + + /** + * The column idm_reconcile.domain.kpp. + */ + public final TableField KPP = createField(DSL.name("kpp"), SQLDataType.VARCHAR(255), this, ""); + + /** + * The column idm_reconcile.domain.checking_account. + */ + public final TableField CHECKING_ACCOUNT = createField(DSL.name("checking_account"), SQLDataType.VARCHAR(255), this, ""); + + /** + * The column idm_reconcile.domain.bik. + */ + public final TableField BIK = createField(DSL.name("bik"), SQLDataType.VARCHAR(255), this, ""); + + /** + * The column idm_reconcile.domain.bank_name. + */ + public final TableField BANK_NAME = createField(DSL.name("bank_name"), SQLDataType.VARCHAR(255), this, ""); + + /** + * The column idm_reconcile.domain.bank_correspondent_account. + */ + public final TableField BANK_CORRESPONDENT_ACCOUNT = createField(DSL.name("bank_correspondent_account"), SQLDataType.VARCHAR(255), this, ""); + + /** + * The column idm_reconcile.domain.oktmo. + */ + public final TableField OKTMO = createField(DSL.name("oktmo"), SQLDataType.VARCHAR(255), this, ""); + + /** + * The column idm_reconcile.domain.okato. + */ + public final TableField OKATO = createField(DSL.name("okato"), SQLDataType.VARCHAR(255), this, ""); + + /** + * The column idm_reconcile.domain.gov_registration_date. + */ + public final TableField GOV_REGISTRATION_DATE = createField(DSL.name("gov_registration_date"), SQLDataType.VARCHAR(255), this, ""); + + /** + * The column idm_reconcile.domain.gov_organization_type. + */ + public final TableField GOV_ORGANIZATION_TYPE = createField(DSL.name("gov_organization_type"), SQLDataType.VARCHAR(255), this, ""); + + /** + * The column idm_reconcile.domain.alias_key. + */ + public final TableField ALIAS_KEY = createField(DSL.name("alias_key"), SQLDataType.VARCHAR(255), this, ""); + + /** + * The column idm_reconcile.domain.pass_key. + */ + public final TableField PASS_KEY = createField(DSL.name("pass_key"), SQLDataType.VARCHAR(255), this, ""); + + /** + * The column idm_reconcile.domain.certificate. + */ + public final TableField CERTIFICATE = createField(DSL.name("certificate"), SQLDataType.VARCHAR(2048), this, ""); + + /** + * The column idm_reconcile.domain.account_number_tofk. + */ + public final TableField ACCOUNT_NUMBER_TOFK = createField(DSL.name("account_number_tofk"), SQLDataType.VARCHAR(255), this, ""); + + /** + * The column idm_reconcile.domain.bik_tofk. + */ + public final TableField BIK_TOFK = createField(DSL.name("bik_tofk"), SQLDataType.VARCHAR(255), this, ""); + + /** + * The column + * idm_reconcile.domain.correspondent_bank_account_tofk. + */ + public final TableField CORRESPONDENT_BANK_ACCOUNT_TOFK = createField(DSL.name("correspondent_bank_account_tofk"), SQLDataType.VARCHAR(255), this, ""); + + /** + * The column idm_reconcile.domain.name_tofk. + */ + public final TableField NAME_TOFK = createField(DSL.name("name_tofk"), SQLDataType.VARCHAR(255), this, ""); + + /** + * The column idm_reconcile.domain.nsi_organization_id. + */ + public final TableField NSI_ORGANIZATION_ID = createField(DSL.name("nsi_organization_id"), SQLDataType.VARCHAR(255), this, ""); + + /** + * The column idm_reconcile.domain.doc_handle. + */ + public final TableField DOC_HANDLE = createField(DSL.name("doc_handle"), SQLDataType.VARCHAR(255), this, ""); + + /** + * The column idm_reconcile.domain.division_type. + */ + public final TableField DIVISION_TYPE = createField(DSL.name("division_type"), SQLDataType.VARCHAR(255), this, ""); + + /** + * The column idm_reconcile.domain.tns_department_id. + */ + public final TableField TNS_DEPARTMENT_ID = createField(DSL.name("tns_department_id"), SQLDataType.VARCHAR(255), this, ""); + + /** + * The column idm_reconcile.domain.enabled. + */ + public final TableField ENABLED = createField(DSL.name("enabled"), SQLDataType.BOOLEAN, this, ""); + + /** + * The column idm_reconcile.domain.parent. + */ + public final TableField PARENT = createField(DSL.name("parent"), SQLDataType.VARCHAR(255), this, ""); + + /** + * The column idm_reconcile.domain.region_id. + */ + public final TableField REGION_ID = createField(DSL.name("region_id"), SQLDataType.VARCHAR(255), this, ""); + + /** + * The column idm_reconcile.domain.managed. + */ + public final TableField MANAGED = createField(DSL.name("managed"), SQLDataType.VARCHAR(255), this, ""); + + private Domain(Name alias, Table aliased) { + this(alias, aliased, (Field[]) null, null); + } + + private Domain(Name alias, Table aliased, Field[] parameters, Condition where) { + super(alias, null, aliased, parameters, DSL.comment(""), TableOptions.table(), where); + } + + /** + * Create an aliased idm_reconcile.domain table reference + */ + public Domain(String alias) { + this(DSL.name(alias), DOMAIN); + } + + /** + * Create an aliased idm_reconcile.domain table reference + */ + public Domain(Name alias) { + this(alias, DOMAIN); + } + + /** + * Create a idm_reconcile.domain table reference + */ + public Domain() { + this(DSL.name("domain"), null); + } + + public Domain(Table path, ForeignKey childPath, InverseForeignKey parentPath) { + super(path, childPath, parentPath, DOMAIN); + } + + /** + * A subtype implementing {@link Path} for simplified path-based joins. + */ + public static class DomainPath extends Domain implements Path { + public DomainPath(Table path, ForeignKey childPath, InverseForeignKey parentPath) { + super(path, childPath, parentPath); + } + private DomainPath(Name alias, Table aliased) { + super(alias, aliased); + } + + @Override + public DomainPath as(String alias) { + return new DomainPath(DSL.name(alias), this); + } + + @Override + public DomainPath as(Name alias) { + return new DomainPath(alias, this); + } + + @Override + public DomainPath as(Table alias) { + return new DomainPath(alias.getQualifiedName(), this); + } + } + + @Override + public Schema getSchema() { + return aliased() ? null : IdmReconcile.IDM_RECONCILE; + } + + @Override + public UniqueKey getPrimaryKey() { + return Keys.DOMAIN_PKEY; + } + + private transient AccountPath _account; + + /** + * Get the implicit to-many join path to the + * idm_reconcile.account table + */ + public AccountPath account() { + if (_account == null) + _account = new AccountPath(this, null, Keys.ACCOUNT__FK_DOMAIN.getInverseKey()); + + return _account; + } + + @Override + public Domain as(String alias) { + return new Domain(DSL.name(alias), this); + } + + @Override + public Domain as(Name alias) { + return new Domain(alias, this); + } + + @Override + public Domain as(Table alias) { + return new Domain(alias.getQualifiedName(), this); + } + + /** + * Rename this table + */ + @Override + public Domain rename(String name) { + return new Domain(DSL.name(name), null); + } + + /** + * Rename this table + */ + @Override + public Domain rename(Name name) { + return new Domain(name, null); + } + + /** + * Rename this table + */ + @Override + public Domain rename(Table name) { + return new Domain(name.getQualifiedName(), null); + } + + /** + * Create an inline derived table from this table + */ + @Override + public Domain where(Condition condition) { + return new Domain(getQualifiedName(), aliased() ? this : null, null, condition); + } + + /** + * Create an inline derived table from this table + */ + @Override + public Domain where(Collection conditions) { + return where(DSL.and(conditions)); + } + + /** + * Create an inline derived table from this table + */ + @Override + public Domain where(Condition... conditions) { + return where(DSL.and(conditions)); + } + + /** + * Create an inline derived table from this table + */ + @Override + public Domain where(Field condition) { + return where(DSL.condition(condition)); + } + + /** + * Create an inline derived table from this table + */ + @Override + @PlainSQL + public Domain where(SQL condition) { + return where(DSL.condition(condition)); + } + + /** + * Create an inline derived table from this table + */ + @Override + @PlainSQL + public Domain where(@Stringly.SQL String condition) { + return where(DSL.condition(condition)); + } + + /** + * Create an inline derived table from this table + */ + @Override + @PlainSQL + public Domain where(@Stringly.SQL String condition, Object... binds) { + return where(DSL.condition(condition, binds)); + } + + /** + * Create an inline derived table from this table + */ + @Override + @PlainSQL + public Domain where(@Stringly.SQL String condition, QueryPart... parts) { + return where(DSL.condition(condition, parts)); + } + + /** + * Create an inline derived table from this table + */ + @Override + public Domain whereExists(Select select) { + return where(DSL.exists(select)); + } + + /** + * Create an inline derived table from this table + */ + @Override + public Domain whereNotExists(Select select) { + return where(DSL.notExists(select)); + } +} diff --git a/backend/src/main/java/ru/micord/webbpm/ervu/business_metrics/db_beans/idm_reconcile/tables/Person.java b/backend/src/main/java/ru/micord/webbpm/ervu/business_metrics/db_beans/idm_reconcile/tables/Person.java new file mode 100644 index 0000000..177e08e --- /dev/null +++ b/backend/src/main/java/ru/micord/webbpm/ervu/business_metrics/db_beans/idm_reconcile/tables/Person.java @@ -0,0 +1,353 @@ +/* + * This file is generated by jOOQ. + */ +package ru.micord.webbpm.ervu.business_metrics.db_beans.idm_reconcile.tables; + + +import java.sql.Date; +import java.sql.Timestamp; +import java.util.Collection; + +import org.jooq.Condition; +import org.jooq.Field; +import org.jooq.ForeignKey; +import org.jooq.InverseForeignKey; +import org.jooq.Name; +import org.jooq.Path; +import org.jooq.PlainSQL; +import org.jooq.QueryPart; +import org.jooq.Record; +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; + +import ru.micord.webbpm.ervu.business_metrics.db_beans.idm_reconcile.IdmReconcile; +import ru.micord.webbpm.ervu.business_metrics.db_beans.idm_reconcile.Keys; +import ru.micord.webbpm.ervu.business_metrics.db_beans.idm_reconcile.tables.Account.AccountPath; +import ru.micord.webbpm.ervu.business_metrics.db_beans.idm_reconcile.tables.PersonIpAddress.PersonIpAddressPath; +import ru.micord.webbpm.ervu.business_metrics.db_beans.idm_reconcile.tables.records.PersonRecord; + + +/** + * This class is generated by jOOQ. + */ +@SuppressWarnings({ "all", "unchecked", "rawtypes" }) +public class Person extends TableImpl { + + private static final long serialVersionUID = 1L; + + /** + * The reference instance of idm_reconcile.person + */ + public static final Person PERSON = new Person(); + + /** + * The class holding records for this type + */ + @Override + public Class getRecordType() { + return PersonRecord.class; + } + + /** + * The column idm_reconcile.person.id. + */ + public final TableField ID = createField(DSL.name("id"), SQLDataType.VARCHAR(36).nullable(false), this, ""); + + /** + * The column idm_reconcile.person.version. + */ + public final TableField VERSION = createField(DSL.name("version"), SQLDataType.INTEGER.nullable(false), this, ""); + + /** + * The column idm_reconcile.person.modified. + */ + public final TableField MODIFIED = createField(DSL.name("modified"), SQLDataType.TIMESTAMP(0), this, ""); + + /** + * The column idm_reconcile.person.schema. + */ + public final TableField SCHEMA = createField(DSL.name("schema"), SQLDataType.VARCHAR(100).nullable(false), this, ""); + + /** + * The column idm_reconcile.person.birthdate. + */ + public final TableField BIRTHDATE = createField(DSL.name("birthdate"), SQLDataType.DATE, this, ""); + + /** + * The column idm_reconcile.person.firstname. + */ + public final TableField FIRSTNAME = createField(DSL.name("firstname"), SQLDataType.VARCHAR(255), this, ""); + + /** + * The column idm_reconcile.person.middlename. + */ + public final TableField MIDDLENAME = createField(DSL.name("middlename"), SQLDataType.VARCHAR(255), this, ""); + + /** + * The column idm_reconcile.person.surname. + */ + public final TableField SURNAME = createField(DSL.name("surname"), SQLDataType.VARCHAR(255), this, ""); + + /** + * The column idm_reconcile.person.sex. + */ + public final TableField SEX = createField(DSL.name("sex"), SQLDataType.VARCHAR(10), this, ""); + + /** + * The column idm_reconcile.person.email. + */ + public final TableField EMAIL = createField(DSL.name("email"), SQLDataType.VARCHAR(255), this, ""); + + /** + * The column idm_reconcile.person.photo. + */ + public final TableField PHOTO = createField(DSL.name("photo"), SQLDataType.CLOB, this, ""); + + /** + * The column idm_reconcile.person.phone. + */ + public final TableField PHONE = createField(DSL.name("phone"), SQLDataType.VARCHAR(50), this, ""); + + /** + * The column idm_reconcile.person.snils. + */ + public final TableField SNILS = createField(DSL.name("snils"), SQLDataType.VARCHAR(20), this, ""); + + /** + * The column idm_reconcile.person.second_factor_enabled. + */ + public final TableField SECOND_FACTOR_ENABLED = createField(DSL.name("second_factor_enabled"), SQLDataType.BOOLEAN.nullable(false).defaultValue(DSL.field(DSL.raw("false"), SQLDataType.BOOLEAN)), this, ""); + + /** + * The column idm_reconcile.person.fio. + */ + public final TableField FIO = createField(DSL.name("fio"), SQLDataType.VARCHAR(255), this, ""); + + private Person(Name alias, Table aliased) { + this(alias, aliased, (Field[]) null, null); + } + + private Person(Name alias, Table aliased, Field[] parameters, Condition where) { + super(alias, null, aliased, parameters, DSL.comment(""), TableOptions.table(), where); + } + + /** + * Create an aliased idm_reconcile.person table reference + */ + public Person(String alias) { + this(DSL.name(alias), PERSON); + } + + /** + * Create an aliased idm_reconcile.person table reference + */ + public Person(Name alias) { + this(alias, PERSON); + } + + /** + * Create a idm_reconcile.person table reference + */ + public Person() { + this(DSL.name("person"), null); + } + + public Person(Table path, ForeignKey childPath, InverseForeignKey parentPath) { + super(path, childPath, parentPath, PERSON); + } + + /** + * A subtype implementing {@link Path} for simplified path-based joins. + */ + public static class PersonPath extends Person implements Path { + public PersonPath(Table path, ForeignKey childPath, InverseForeignKey parentPath) { + super(path, childPath, parentPath); + } + private PersonPath(Name alias, Table aliased) { + super(alias, aliased); + } + + @Override + public PersonPath as(String alias) { + return new PersonPath(DSL.name(alias), this); + } + + @Override + public PersonPath as(Name alias) { + return new PersonPath(alias, this); + } + + @Override + public PersonPath as(Table alias) { + return new PersonPath(alias.getQualifiedName(), this); + } + } + + @Override + public Schema getSchema() { + return aliased() ? null : IdmReconcile.IDM_RECONCILE; + } + + @Override + public UniqueKey getPrimaryKey() { + return Keys.PERSON_PKEY; + } + + private transient AccountPath _account; + + /** + * Get the implicit to-many join path to the + * idm_reconcile.account table + */ + public AccountPath account() { + if (_account == null) + _account = new AccountPath(this, null, Keys.ACCOUNT__FK_PERSON.getInverseKey()); + + return _account; + } + + private transient PersonIpAddressPath _personIpAddress; + + /** + * Get the implicit to-many join path to the + * idm_reconcile.person_ip_address table + */ + public PersonIpAddressPath personIpAddress() { + if (_personIpAddress == null) + _personIpAddress = new PersonIpAddressPath(this, null, Keys.PERSON_IP_ADDRESS__FK_PERSON_IP_PERSON.getInverseKey()); + + return _personIpAddress; + } + + @Override + public Person as(String alias) { + return new Person(DSL.name(alias), this); + } + + @Override + public Person as(Name alias) { + return new Person(alias, this); + } + + @Override + public Person as(Table alias) { + return new Person(alias.getQualifiedName(), this); + } + + /** + * Rename this table + */ + @Override + public Person rename(String name) { + return new Person(DSL.name(name), null); + } + + /** + * Rename this table + */ + @Override + public Person rename(Name name) { + return new Person(name, null); + } + + /** + * Rename this table + */ + @Override + public Person rename(Table name) { + return new Person(name.getQualifiedName(), null); + } + + /** + * Create an inline derived table from this table + */ + @Override + public Person where(Condition condition) { + return new Person(getQualifiedName(), aliased() ? this : null, null, condition); + } + + /** + * Create an inline derived table from this table + */ + @Override + public Person where(Collection conditions) { + return where(DSL.and(conditions)); + } + + /** + * Create an inline derived table from this table + */ + @Override + public Person where(Condition... conditions) { + return where(DSL.and(conditions)); + } + + /** + * Create an inline derived table from this table + */ + @Override + public Person where(Field condition) { + return where(DSL.condition(condition)); + } + + /** + * Create an inline derived table from this table + */ + @Override + @PlainSQL + public Person where(SQL condition) { + return where(DSL.condition(condition)); + } + + /** + * Create an inline derived table from this table + */ + @Override + @PlainSQL + public Person where(@Stringly.SQL String condition) { + return where(DSL.condition(condition)); + } + + /** + * Create an inline derived table from this table + */ + @Override + @PlainSQL + public Person where(@Stringly.SQL String condition, Object... binds) { + return where(DSL.condition(condition, binds)); + } + + /** + * Create an inline derived table from this table + */ + @Override + @PlainSQL + public Person where(@Stringly.SQL String condition, QueryPart... parts) { + return where(DSL.condition(condition, parts)); + } + + /** + * Create an inline derived table from this table + */ + @Override + public Person whereExists(Select select) { + return where(DSL.exists(select)); + } + + /** + * Create an inline derived table from this table + */ + @Override + public Person whereNotExists(Select select) { + return where(DSL.notExists(select)); + } +} diff --git a/backend/src/main/java/ru/micord/webbpm/ervu/business_metrics/db_beans/idm_reconcile/tables/PersonIpAddress.java b/backend/src/main/java/ru/micord/webbpm/ervu/business_metrics/db_beans/idm_reconcile/tables/PersonIpAddress.java new file mode 100644 index 0000000..8d3f85d --- /dev/null +++ b/backend/src/main/java/ru/micord/webbpm/ervu/business_metrics/db_beans/idm_reconcile/tables/PersonIpAddress.java @@ -0,0 +1,281 @@ +/* + * This file is generated by jOOQ. + */ +package ru.micord.webbpm.ervu.business_metrics.db_beans.idm_reconcile.tables; + + +import java.util.Arrays; +import java.util.Collection; +import java.util.List; + +import org.jooq.Condition; +import org.jooq.Field; +import org.jooq.ForeignKey; +import org.jooq.InverseForeignKey; +import org.jooq.Name; +import org.jooq.Path; +import org.jooq.PlainSQL; +import org.jooq.QueryPart; +import org.jooq.Record; +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; + +import ru.micord.webbpm.ervu.business_metrics.db_beans.idm_reconcile.IdmReconcile; +import ru.micord.webbpm.ervu.business_metrics.db_beans.idm_reconcile.Keys; +import ru.micord.webbpm.ervu.business_metrics.db_beans.idm_reconcile.tables.Person.PersonPath; +import ru.micord.webbpm.ervu.business_metrics.db_beans.idm_reconcile.tables.records.PersonIpAddressRecord; + + +/** + * This class is generated by jOOQ. + */ +@SuppressWarnings({ "all", "unchecked", "rawtypes" }) +public class PersonIpAddress extends TableImpl { + + private static final long serialVersionUID = 1L; + + /** + * The reference instance of idm_reconcile.person_ip_address + */ + public static final PersonIpAddress PERSON_IP_ADDRESS = new PersonIpAddress(); + + /** + * The class holding records for this type + */ + @Override + public Class getRecordType() { + return PersonIpAddressRecord.class; + } + + /** + * The column idm_reconcile.person_ip_address.person_id. + */ + public final TableField PERSON_ID = createField(DSL.name("person_id"), SQLDataType.VARCHAR(36).nullable(false), this, ""); + + /** + * The column idm_reconcile.person_ip_address.ip_address. + */ + public final TableField IP_ADDRESS = createField(DSL.name("ip_address"), SQLDataType.VARCHAR(45).nullable(false), this, ""); + + private PersonIpAddress(Name alias, Table aliased) { + this(alias, aliased, (Field[]) null, null); + } + + private PersonIpAddress(Name alias, Table aliased, Field[] parameters, Condition where) { + super(alias, null, aliased, parameters, DSL.comment(""), TableOptions.table(), where); + } + + /** + * Create an aliased idm_reconcile.person_ip_address table + * reference + */ + public PersonIpAddress(String alias) { + this(DSL.name(alias), PERSON_IP_ADDRESS); + } + + /** + * Create an aliased idm_reconcile.person_ip_address table + * reference + */ + public PersonIpAddress(Name alias) { + this(alias, PERSON_IP_ADDRESS); + } + + /** + * Create a idm_reconcile.person_ip_address table reference + */ + public PersonIpAddress() { + this(DSL.name("person_ip_address"), null); + } + + public PersonIpAddress(Table path, ForeignKey childPath, InverseForeignKey parentPath) { + super(path, childPath, parentPath, PERSON_IP_ADDRESS); + } + + /** + * A subtype implementing {@link Path} for simplified path-based joins. + */ + public static class PersonIpAddressPath extends PersonIpAddress implements Path { + public PersonIpAddressPath(Table path, ForeignKey childPath, InverseForeignKey parentPath) { + super(path, childPath, parentPath); + } + private PersonIpAddressPath(Name alias, Table aliased) { + super(alias, aliased); + } + + @Override + public PersonIpAddressPath as(String alias) { + return new PersonIpAddressPath(DSL.name(alias), this); + } + + @Override + public PersonIpAddressPath as(Name alias) { + return new PersonIpAddressPath(alias, this); + } + + @Override + public PersonIpAddressPath as(Table alias) { + return new PersonIpAddressPath(alias.getQualifiedName(), this); + } + } + + @Override + public Schema getSchema() { + return aliased() ? null : IdmReconcile.IDM_RECONCILE; + } + + @Override + public UniqueKey getPrimaryKey() { + return Keys.PK_PERSON_IP; + } + + @Override + public List> getReferences() { + return Arrays.asList(Keys.PERSON_IP_ADDRESS__FK_PERSON_IP_PERSON); + } + + private transient PersonPath _person; + + /** + * Get the implicit join path to the idm_reconcile.person + * table. + */ + public PersonPath person() { + if (_person == null) + _person = new PersonPath(this, Keys.PERSON_IP_ADDRESS__FK_PERSON_IP_PERSON, null); + + return _person; + } + + @Override + public PersonIpAddress as(String alias) { + return new PersonIpAddress(DSL.name(alias), this); + } + + @Override + public PersonIpAddress as(Name alias) { + return new PersonIpAddress(alias, this); + } + + @Override + public PersonIpAddress as(Table alias) { + return new PersonIpAddress(alias.getQualifiedName(), this); + } + + /** + * Rename this table + */ + @Override + public PersonIpAddress rename(String name) { + return new PersonIpAddress(DSL.name(name), null); + } + + /** + * Rename this table + */ + @Override + public PersonIpAddress rename(Name name) { + return new PersonIpAddress(name, null); + } + + /** + * Rename this table + */ + @Override + public PersonIpAddress rename(Table name) { + return new PersonIpAddress(name.getQualifiedName(), null); + } + + /** + * Create an inline derived table from this table + */ + @Override + public PersonIpAddress where(Condition condition) { + return new PersonIpAddress(getQualifiedName(), aliased() ? this : null, null, condition); + } + + /** + * Create an inline derived table from this table + */ + @Override + public PersonIpAddress where(Collection conditions) { + return where(DSL.and(conditions)); + } + + /** + * Create an inline derived table from this table + */ + @Override + public PersonIpAddress where(Condition... conditions) { + return where(DSL.and(conditions)); + } + + /** + * Create an inline derived table from this table + */ + @Override + public PersonIpAddress where(Field condition) { + return where(DSL.condition(condition)); + } + + /** + * Create an inline derived table from this table + */ + @Override + @PlainSQL + public PersonIpAddress where(SQL condition) { + return where(DSL.condition(condition)); + } + + /** + * Create an inline derived table from this table + */ + @Override + @PlainSQL + public PersonIpAddress where(@Stringly.SQL String condition) { + return where(DSL.condition(condition)); + } + + /** + * Create an inline derived table from this table + */ + @Override + @PlainSQL + public PersonIpAddress where(@Stringly.SQL String condition, Object... binds) { + return where(DSL.condition(condition, binds)); + } + + /** + * Create an inline derived table from this table + */ + @Override + @PlainSQL + public PersonIpAddress where(@Stringly.SQL String condition, QueryPart... parts) { + return where(DSL.condition(condition, parts)); + } + + /** + * Create an inline derived table from this table + */ + @Override + public PersonIpAddress whereExists(Select select) { + return where(DSL.exists(select)); + } + + /** + * Create an inline derived table from this table + */ + @Override + public PersonIpAddress whereNotExists(Select select) { + return where(DSL.notExists(select)); + } +} diff --git a/backend/src/main/java/ru/micord/webbpm/ervu/business_metrics/db_beans/idm_reconcile/tables/Role.java b/backend/src/main/java/ru/micord/webbpm/ervu/business_metrics/db_beans/idm_reconcile/tables/Role.java new file mode 100644 index 0000000..d6a1afd --- /dev/null +++ b/backend/src/main/java/ru/micord/webbpm/ervu/business_metrics/db_beans/idm_reconcile/tables/Role.java @@ -0,0 +1,327 @@ +/* + * This file is generated by jOOQ. + */ +package ru.micord.webbpm.ervu.business_metrics.db_beans.idm_reconcile.tables; + + +import java.sql.Timestamp; +import java.util.Collection; + +import org.jooq.Condition; +import org.jooq.Field; +import org.jooq.ForeignKey; +import org.jooq.InverseForeignKey; +import org.jooq.Name; +import org.jooq.Path; +import org.jooq.PlainSQL; +import org.jooq.QueryPart; +import org.jooq.Record; +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; + +import ru.micord.webbpm.ervu.business_metrics.db_beans.idm_reconcile.IdmReconcile; +import ru.micord.webbpm.ervu.business_metrics.db_beans.idm_reconcile.Keys; +import ru.micord.webbpm.ervu.business_metrics.db_beans.idm_reconcile.tables.Account.AccountPath; +import ru.micord.webbpm.ervu.business_metrics.db_beans.idm_reconcile.tables.AccountRole.AccountRolePath; +import ru.micord.webbpm.ervu.business_metrics.db_beans.idm_reconcile.tables.records.RoleRecord; + + +/** + * This class is generated by jOOQ. + */ +@SuppressWarnings({ "all", "unchecked", "rawtypes" }) +public class Role extends TableImpl { + + private static final long serialVersionUID = 1L; + + /** + * The reference instance of idm_reconcile.role + */ + public static final Role ROLE = new Role(); + + /** + * The class holding records for this type + */ + @Override + public Class getRecordType() { + return RoleRecord.class; + } + + /** + * The column idm_reconcile.role.id. + */ + public final TableField ID = createField(DSL.name("id"), SQLDataType.VARCHAR(255).nullable(false), this, ""); + + /** + * The column idm_reconcile.role.version. + */ + public final TableField VERSION = createField(DSL.name("version"), SQLDataType.INTEGER.nullable(false), this, ""); + + /** + * The column idm_reconcile.role.modified. + */ + public final TableField MODIFIED = createField(DSL.name("modified"), SQLDataType.TIMESTAMP(0), this, ""); + + /** + * The column idm_reconcile.role.schema. + */ + public final TableField SCHEMA = createField(DSL.name("schema"), SQLDataType.VARCHAR(255).nullable(false), this, ""); + + /** + * The column idm_reconcile.role.name. + */ + public final TableField NAME = createField(DSL.name("name"), SQLDataType.VARCHAR(255), this, ""); + + /** + * The column idm_reconcile.role.shortname. + */ + public final TableField SHORTNAME = createField(DSL.name("shortname"), SQLDataType.VARCHAR(255), this, ""); + + /** + * The column idm_reconcile.role.display_name. + */ + public final TableField DISPLAY_NAME = createField(DSL.name("display_name"), SQLDataType.VARCHAR(255), this, ""); + + /** + * The column idm_reconcile.role.sessions_limit. + */ + public final TableField SESSIONS_LIMIT = createField(DSL.name("sessions_limit"), SQLDataType.INTEGER, this, ""); + + /** + * The column idm_reconcile.role.ervu_role. + */ + public final TableField ERVU_ROLE = createField(DSL.name("ervu_role"), SQLDataType.BOOLEAN, this, ""); + + /** + * The column idm_reconcile.role.imported. + */ + public final TableField IMPORTED = createField(DSL.name("imported"), SQLDataType.INTEGER, this, ""); + + /** + * The column idm_reconcile.role.description. + */ + public final TableField DESCRIPTION = createField(DSL.name("description"), SQLDataType.CLOB, this, ""); + + private Role(Name alias, Table aliased) { + this(alias, aliased, (Field[]) null, null); + } + + private Role(Name alias, Table aliased, Field[] parameters, Condition where) { + super(alias, null, aliased, parameters, DSL.comment(""), TableOptions.table(), where); + } + + /** + * Create an aliased idm_reconcile.role table reference + */ + public Role(String alias) { + this(DSL.name(alias), ROLE); + } + + /** + * Create an aliased idm_reconcile.role table reference + */ + public Role(Name alias) { + this(alias, ROLE); + } + + /** + * Create a idm_reconcile.role table reference + */ + public Role() { + this(DSL.name("role"), null); + } + + public Role(Table path, ForeignKey childPath, InverseForeignKey parentPath) { + super(path, childPath, parentPath, ROLE); + } + + /** + * A subtype implementing {@link Path} for simplified path-based joins. + */ + public static class RolePath extends Role implements Path { + public RolePath(Table path, ForeignKey childPath, InverseForeignKey parentPath) { + super(path, childPath, parentPath); + } + private RolePath(Name alias, Table aliased) { + super(alias, aliased); + } + + @Override + public RolePath as(String alias) { + return new RolePath(DSL.name(alias), this); + } + + @Override + public RolePath as(Name alias) { + return new RolePath(alias, this); + } + + @Override + public RolePath as(Table alias) { + return new RolePath(alias.getQualifiedName(), this); + } + } + + @Override + public Schema getSchema() { + return aliased() ? null : IdmReconcile.IDM_RECONCILE; + } + + @Override + public UniqueKey getPrimaryKey() { + return Keys.ROLE_PKEY; + } + + private transient AccountRolePath _accountRole; + + /** + * Get the implicit to-many join path to the + * idm_reconcile.account_role table + */ + public AccountRolePath accountRole() { + if (_accountRole == null) + _accountRole = new AccountRolePath(this, null, Keys.ACCOUNT_ROLE__FK_ACCOUNT_ROLE_ROLE.getInverseKey()); + + return _accountRole; + } + + /** + * Get the implicit many-to-many join path to the + * idm_reconcile.account table + */ + public AccountPath account() { + return accountRole().account(); + } + + @Override + public Role as(String alias) { + return new Role(DSL.name(alias), this); + } + + @Override + public Role as(Name alias) { + return new Role(alias, this); + } + + @Override + public Role as(Table alias) { + return new Role(alias.getQualifiedName(), this); + } + + /** + * Rename this table + */ + @Override + public Role rename(String name) { + return new Role(DSL.name(name), null); + } + + /** + * Rename this table + */ + @Override + public Role rename(Name name) { + return new Role(name, null); + } + + /** + * Rename this table + */ + @Override + public Role rename(Table name) { + return new Role(name.getQualifiedName(), null); + } + + /** + * Create an inline derived table from this table + */ + @Override + public Role where(Condition condition) { + return new Role(getQualifiedName(), aliased() ? this : null, null, condition); + } + + /** + * Create an inline derived table from this table + */ + @Override + public Role where(Collection conditions) { + return where(DSL.and(conditions)); + } + + /** + * Create an inline derived table from this table + */ + @Override + public Role where(Condition... conditions) { + return where(DSL.and(conditions)); + } + + /** + * Create an inline derived table from this table + */ + @Override + public Role where(Field condition) { + return where(DSL.condition(condition)); + } + + /** + * Create an inline derived table from this table + */ + @Override + @PlainSQL + public Role where(SQL condition) { + return where(DSL.condition(condition)); + } + + /** + * Create an inline derived table from this table + */ + @Override + @PlainSQL + public Role where(@Stringly.SQL String condition) { + return where(DSL.condition(condition)); + } + + /** + * Create an inline derived table from this table + */ + @Override + @PlainSQL + public Role where(@Stringly.SQL String condition, Object... binds) { + return where(DSL.condition(condition, binds)); + } + + /** + * Create an inline derived table from this table + */ + @Override + @PlainSQL + public Role where(@Stringly.SQL String condition, QueryPart... parts) { + return where(DSL.condition(condition, parts)); + } + + /** + * Create an inline derived table from this table + */ + @Override + public Role whereExists(Select select) { + return where(DSL.exists(select)); + } + + /** + * Create an inline derived table from this table + */ + @Override + public Role whereNotExists(Select select) { + return where(DSL.notExists(select)); + } +} diff --git a/backend/src/main/java/ru/micord/webbpm/ervu/business_metrics/db_beans/idm_reconcile/tables/records/AccountRecord.java b/backend/src/main/java/ru/micord/webbpm/ervu/business_metrics/db_beans/idm_reconcile/tables/records/AccountRecord.java new file mode 100644 index 0000000..68db55d --- /dev/null +++ b/backend/src/main/java/ru/micord/webbpm/ervu/business_metrics/db_beans/idm_reconcile/tables/records/AccountRecord.java @@ -0,0 +1,246 @@ +/* + * This file is generated by jOOQ. + */ +package ru.micord.webbpm.ervu.business_metrics.db_beans.idm_reconcile.tables.records; + + +import java.sql.Timestamp; + +import org.jooq.Record1; +import org.jooq.impl.UpdatableRecordImpl; + +import ru.micord.webbpm.ervu.business_metrics.db_beans.idm_reconcile.tables.Account; + + +/** + * This class is generated by jOOQ. + */ +@SuppressWarnings({ "all", "unchecked", "rawtypes" }) +public class AccountRecord extends UpdatableRecordImpl { + + private static final long serialVersionUID = 1L; + + /** + * Setter for idm_reconcile.account.id. + */ + public void setId(String value) { + set(0, value); + } + + /** + * Getter for idm_reconcile.account.id. + */ + public String getId() { + return (String) get(0); + } + + /** + * Setter for idm_reconcile.account.version. + */ + public void setVersion(Integer value) { + set(1, value); + } + + /** + * Getter for idm_reconcile.account.version. + */ + public Integer getVersion() { + return (Integer) get(1); + } + + /** + * Setter for idm_reconcile.account.modified. + */ + public void setModified(Timestamp value) { + set(2, value); + } + + /** + * Getter for idm_reconcile.account.modified. + */ + public Timestamp getModified() { + return (Timestamp) get(2); + } + + /** + * Setter for idm_reconcile.account.schema. + */ + public void setSchema(String value) { + set(3, value); + } + + /** + * Getter for idm_reconcile.account.schema. + */ + public String getSchema() { + return (String) get(3); + } + + /** + * Setter for idm_reconcile.account.start. + */ + public void setStart(String value) { + set(4, value); + } + + /** + * Getter for idm_reconcile.account.start. + */ + public String getStart() { + return (String) get(4); + } + + /** + * Setter for idm_reconcile.account.finish. + */ + public void setFinish(String value) { + set(5, value); + } + + /** + * Getter for idm_reconcile.account.finish. + */ + public String getFinish() { + return (String) get(5); + } + + /** + * Setter for idm_reconcile.account.enabled. + */ + public void setEnabled(Boolean value) { + set(6, value); + } + + /** + * Getter for idm_reconcile.account.enabled. + */ + public Boolean getEnabled() { + return (Boolean) get(6); + } + + /** + * Setter for idm_reconcile.account.position. + */ + public void setPosition(String value) { + set(7, value); + } + + /** + * Getter for idm_reconcile.account.position. + */ + public String getPosition() { + return (String) get(7); + } + + /** + * Setter for idm_reconcile.account.fio. + */ + public void setFio(String value) { + set(8, value); + } + + /** + * Getter for idm_reconcile.account.fio. + */ + public String getFio() { + return (String) get(8); + } + + /** + * Setter for idm_reconcile.account.work_mail. + */ + public void setWorkMail(String value) { + set(9, value); + } + + /** + * Getter for idm_reconcile.account.work_mail. + */ + public String getWorkMail() { + return (String) get(9); + } + + /** + * Setter for idm_reconcile.account.esia_account. + */ + public void setEsiaAccount(Boolean value) { + set(10, value); + } + + /** + * Getter for idm_reconcile.account.esia_account. + */ + public Boolean getEsiaAccount() { + return (Boolean) get(10); + } + + /** + * Setter for idm_reconcile.account.domain_id. + */ + public void setDomainId(String value) { + set(11, value); + } + + /** + * Getter for idm_reconcile.account.domain_id. + */ + public String getDomainId() { + return (String) get(11); + } + + /** + * Setter for idm_reconcile.account.person_id. + */ + public void setPersonId(String value) { + set(12, value); + } + + /** + * Getter for idm_reconcile.account.person_id. + */ + public String getPersonId() { + return (String) get(12); + } + + // ------------------------------------------------------------------------- + // Primary key information + // ------------------------------------------------------------------------- + + @Override + public Record1 key() { + return (Record1) super.key(); + } + + // ------------------------------------------------------------------------- + // Constructors + // ------------------------------------------------------------------------- + + /** + * Create a detached AccountRecord + */ + public AccountRecord() { + super(Account.ACCOUNT); + } + + /** + * Create a detached, initialised AccountRecord + */ + public AccountRecord(String id, Integer version, Timestamp modified, String schema, String start, String finish, Boolean enabled, String position, String fio, String workMail, Boolean esiaAccount, String domainId, String personId) { + super(Account.ACCOUNT); + + setId(id); + setVersion(version); + setModified(modified); + setSchema(schema); + setStart(start); + setFinish(finish); + setEnabled(enabled); + setPosition(position); + setFio(fio); + setWorkMail(workMail); + setEsiaAccount(esiaAccount); + setDomainId(domainId); + setPersonId(personId); + resetChangedOnNotNull(); + } +} diff --git a/backend/src/main/java/ru/micord/webbpm/ervu/business_metrics/db_beans/idm_reconcile/tables/records/AccountRoleRecord.java b/backend/src/main/java/ru/micord/webbpm/ervu/business_metrics/db_beans/idm_reconcile/tables/records/AccountRoleRecord.java new file mode 100644 index 0000000..7fad8f8 --- /dev/null +++ b/backend/src/main/java/ru/micord/webbpm/ervu/business_metrics/db_beans/idm_reconcile/tables/records/AccountRoleRecord.java @@ -0,0 +1,79 @@ +/* + * This file is generated by jOOQ. + */ +package ru.micord.webbpm.ervu.business_metrics.db_beans.idm_reconcile.tables.records; + + +import org.jooq.Record2; +import org.jooq.impl.UpdatableRecordImpl; + +import ru.micord.webbpm.ervu.business_metrics.db_beans.idm_reconcile.tables.AccountRole; + + +/** + * This class is generated by jOOQ. + */ +@SuppressWarnings({ "all", "unchecked", "rawtypes" }) +public class AccountRoleRecord extends UpdatableRecordImpl { + + private static final long serialVersionUID = 1L; + + /** + * Setter for idm_reconcile.account_role.account_id. + */ + public void setAccountId(String value) { + set(0, value); + } + + /** + * Getter for idm_reconcile.account_role.account_id. + */ + public String getAccountId() { + return (String) get(0); + } + + /** + * Setter for idm_reconcile.account_role.role_id. + */ + public void setRoleId(String value) { + set(1, value); + } + + /** + * Getter for idm_reconcile.account_role.role_id. + */ + public String getRoleId() { + return (String) get(1); + } + + // ------------------------------------------------------------------------- + // Primary key information + // ------------------------------------------------------------------------- + + @Override + public Record2 key() { + return (Record2) super.key(); + } + + // ------------------------------------------------------------------------- + // Constructors + // ------------------------------------------------------------------------- + + /** + * Create a detached AccountRoleRecord + */ + public AccountRoleRecord() { + super(AccountRole.ACCOUNT_ROLE); + } + + /** + * Create a detached, initialised AccountRoleRecord + */ + public AccountRoleRecord(String accountId, String roleId) { + super(AccountRole.ACCOUNT_ROLE); + + setAccountId(accountId); + setRoleId(roleId); + resetChangedOnNotNull(); + } +} diff --git a/backend/src/main/java/ru/micord/webbpm/ervu/business_metrics/db_beans/idm_reconcile/tables/records/DomainRecord.java b/backend/src/main/java/ru/micord/webbpm/ervu/business_metrics/db_beans/idm_reconcile/tables/records/DomainRecord.java new file mode 100644 index 0000000..d14d4fd --- /dev/null +++ b/backend/src/main/java/ru/micord/webbpm/ervu/business_metrics/db_beans/idm_reconcile/tables/records/DomainRecord.java @@ -0,0 +1,803 @@ +/* + * This file is generated by jOOQ. + */ +package ru.micord.webbpm.ervu.business_metrics.db_beans.idm_reconcile.tables.records; + + +import java.sql.Timestamp; + +import org.jooq.Record1; +import org.jooq.impl.UpdatableRecordImpl; + +import ru.micord.webbpm.ervu.business_metrics.db_beans.idm_reconcile.tables.Domain; + + +/** + * This class is generated by jOOQ. + */ +@SuppressWarnings({ "all", "unchecked", "rawtypes" }) +public class DomainRecord extends UpdatableRecordImpl { + + private static final long serialVersionUID = 1L; + + /** + * Setter for idm_reconcile.domain.id. + */ + public void setId(String value) { + set(0, value); + } + + /** + * Getter for idm_reconcile.domain.id. + */ + public String getId() { + return (String) get(0); + } + + /** + * Setter for idm_reconcile.domain.version. + */ + public void setVersion(Integer value) { + set(1, value); + } + + /** + * Getter for idm_reconcile.domain.version. + */ + public Integer getVersion() { + return (Integer) get(1); + } + + /** + * Setter for idm_reconcile.domain.modified. + */ + public void setModified(Timestamp value) { + set(2, value); + } + + /** + * Getter for idm_reconcile.domain.modified. + */ + public Timestamp getModified() { + return (Timestamp) get(2); + } + + /** + * Setter for idm_reconcile.domain.schema. + */ + public void setSchema(String value) { + set(3, value); + } + + /** + * Getter for idm_reconcile.domain.schema. + */ + public String getSchema() { + return (String) get(3); + } + + /** + * Setter for idm_reconcile.domain.name. + */ + public void setName(String value) { + set(4, value); + } + + /** + * Getter for idm_reconcile.domain.name. + */ + public String getName() { + return (String) get(4); + } + + /** + * Setter for idm_reconcile.domain.shortname. + */ + public void setShortname(String value) { + set(5, value); + } + + /** + * Getter for idm_reconcile.domain.shortname. + */ + public String getShortname() { + return (String) get(5); + } + + /** + * Setter for idm_reconcile.domain.fullname. + */ + public void setFullname(String value) { + set(6, value); + } + + /** + * Getter for idm_reconcile.domain.fullname. + */ + public String getFullname() { + return (String) get(6); + } + + /** + * Setter for idm_reconcile.domain.dns. + */ + public void setDns(String value) { + set(7, value); + } + + /** + * Getter for idm_reconcile.domain.dns. + */ + public String getDns() { + return (String) get(7); + } + + /** + * Setter for idm_reconcile.domain.email. + */ + public void setEmail(String value) { + set(8, value); + } + + /** + * Getter for idm_reconcile.domain.email. + */ + public String getEmail() { + return (String) get(8); + } + + /** + * Setter for idm_reconcile.domain.phone. + */ + public void setPhone(String value) { + set(9, value); + } + + /** + * Getter for idm_reconcile.domain.phone. + */ + public String getPhone() { + return (String) get(9); + } + + /** + * Setter for idm_reconcile.domain.address. + */ + public void setAddress(String value) { + set(10, value); + } + + /** + * Getter for idm_reconcile.domain.address. + */ + public String getAddress() { + return (String) get(10); + } + + /** + * Setter for idm_reconcile.domain.postal_address. + */ + public void setPostalAddress(String value) { + set(11, value); + } + + /** + * Getter for idm_reconcile.domain.postal_address. + */ + public String getPostalAddress() { + return (String) get(11); + } + + /** + * Setter for idm_reconcile.domain.address_id. + */ + public void setAddressId(String value) { + set(12, value); + } + + /** + * Getter for idm_reconcile.domain.address_id. + */ + public String getAddressId() { + return (String) get(12); + } + + /** + * Setter for idm_reconcile.domain.postal_address_id. + */ + public void setPostalAddressId(String value) { + set(13, value); + } + + /** + * Getter for idm_reconcile.domain.postal_address_id. + */ + public String getPostalAddressId() { + return (String) get(13); + } + + /** + * Setter for idm_reconcile.domain.military_code. + */ + public void setMilitaryCode(String value) { + set(14, value); + } + + /** + * Getter for idm_reconcile.domain.military_code. + */ + public String getMilitaryCode() { + return (String) get(14); + } + + /** + * Setter for idm_reconcile.domain.timezone. + */ + public void setTimezone(String value) { + set(15, value); + } + + /** + * Getter for idm_reconcile.domain.timezone. + */ + public String getTimezone() { + return (String) get(15); + } + + /** + * Setter for idm_reconcile.domain.reports_enabled. + */ + public void setReportsEnabled(Boolean value) { + set(16, value); + } + + /** + * Getter for idm_reconcile.domain.reports_enabled. + */ + public Boolean getReportsEnabled() { + return (Boolean) get(16); + } + + /** + * Setter for idm_reconcile.domain.inn. + */ + public void setInn(String value) { + set(17, value); + } + + /** + * Getter for idm_reconcile.domain.inn. + */ + public String getInn() { + return (String) get(17); + } + + /** + * Setter for idm_reconcile.domain.leg. + */ + public void setLeg(String value) { + set(18, value); + } + + /** + * Getter for idm_reconcile.domain.leg. + */ + public String getLeg() { + return (String) get(18); + } + + /** + * Setter for idm_reconcile.domain.ogrn. + */ + public void setOgrn(String value) { + set(19, value); + } + + /** + * Getter for idm_reconcile.domain.ogrn. + */ + public String getOgrn() { + return (String) get(19); + } + + /** + * Setter for idm_reconcile.domain.region. + */ + public void setRegion(String value) { + set(20, value); + } + + /** + * Getter for idm_reconcile.domain.region. + */ + public String getRegion() { + return (String) get(20); + } + + /** + * Setter for idm_reconcile.domain.epgu_id. + */ + public void setEpguId(String value) { + set(21, value); + } + + /** + * Getter for idm_reconcile.domain.epgu_id. + */ + public String getEpguId() { + return (String) get(21); + } + + /** + * Setter for idm_reconcile.domain.type. + */ + public void setType(String value) { + set(22, value); + } + + /** + * Getter for idm_reconcile.domain.type. + */ + public String getType() { + return (String) get(22); + } + + /** + * Setter for idm_reconcile.domain.esia_employee_authorization. + */ + public void setEsiaEmployeeAuthorization(Boolean value) { + set(23, value); + } + + /** + * Getter for idm_reconcile.domain.esia_employee_authorization. + */ + public Boolean getEsiaEmployeeAuthorization() { + return (Boolean) get(23); + } + + /** + * Setter for idm_reconcile.domain.default_s3_bucket. + */ + public void setDefaultS3Bucket(String value) { + set(24, value); + } + + /** + * Getter for idm_reconcile.domain.default_s3_bucket. + */ + public String getDefaultS3Bucket() { + return (String) get(24); + } + + /** + * Setter for idm_reconcile.domain.opf. + */ + public void setOpf(String value) { + set(25, value); + } + + /** + * Getter for idm_reconcile.domain.opf. + */ + public String getOpf() { + return (String) get(25); + } + + /** + * Setter for idm_reconcile.domain.kpp. + */ + public void setKpp(String value) { + set(26, value); + } + + /** + * Getter for idm_reconcile.domain.kpp. + */ + public String getKpp() { + return (String) get(26); + } + + /** + * Setter for idm_reconcile.domain.checking_account. + */ + public void setCheckingAccount(String value) { + set(27, value); + } + + /** + * Getter for idm_reconcile.domain.checking_account. + */ + public String getCheckingAccount() { + return (String) get(27); + } + + /** + * Setter for idm_reconcile.domain.bik. + */ + public void setBik(String value) { + set(28, value); + } + + /** + * Getter for idm_reconcile.domain.bik. + */ + public String getBik() { + return (String) get(28); + } + + /** + * Setter for idm_reconcile.domain.bank_name. + */ + public void setBankName(String value) { + set(29, value); + } + + /** + * Getter for idm_reconcile.domain.bank_name. + */ + public String getBankName() { + return (String) get(29); + } + + /** + * Setter for idm_reconcile.domain.bank_correspondent_account. + */ + public void setBankCorrespondentAccount(String value) { + set(30, value); + } + + /** + * Getter for idm_reconcile.domain.bank_correspondent_account. + */ + public String getBankCorrespondentAccount() { + return (String) get(30); + } + + /** + * Setter for idm_reconcile.domain.oktmo. + */ + public void setOktmo(String value) { + set(31, value); + } + + /** + * Getter for idm_reconcile.domain.oktmo. + */ + public String getOktmo() { + return (String) get(31); + } + + /** + * Setter for idm_reconcile.domain.okato. + */ + public void setOkato(String value) { + set(32, value); + } + + /** + * Getter for idm_reconcile.domain.okato. + */ + public String getOkato() { + return (String) get(32); + } + + /** + * Setter for idm_reconcile.domain.gov_registration_date. + */ + public void setGovRegistrationDate(String value) { + set(33, value); + } + + /** + * Getter for idm_reconcile.domain.gov_registration_date. + */ + public String getGovRegistrationDate() { + return (String) get(33); + } + + /** + * Setter for idm_reconcile.domain.gov_organization_type. + */ + public void setGovOrganizationType(String value) { + set(34, value); + } + + /** + * Getter for idm_reconcile.domain.gov_organization_type. + */ + public String getGovOrganizationType() { + return (String) get(34); + } + + /** + * Setter for idm_reconcile.domain.alias_key. + */ + public void setAliasKey(String value) { + set(35, value); + } + + /** + * Getter for idm_reconcile.domain.alias_key. + */ + public String getAliasKey() { + return (String) get(35); + } + + /** + * Setter for idm_reconcile.domain.pass_key. + */ + public void setPassKey(String value) { + set(36, value); + } + + /** + * Getter for idm_reconcile.domain.pass_key. + */ + public String getPassKey() { + return (String) get(36); + } + + /** + * Setter for idm_reconcile.domain.certificate. + */ + public void setCertificate(String value) { + set(37, value); + } + + /** + * Getter for idm_reconcile.domain.certificate. + */ + public String getCertificate() { + return (String) get(37); + } + + /** + * Setter for idm_reconcile.domain.account_number_tofk. + */ + public void setAccountNumberTofk(String value) { + set(38, value); + } + + /** + * Getter for idm_reconcile.domain.account_number_tofk. + */ + public String getAccountNumberTofk() { + return (String) get(38); + } + + /** + * Setter for idm_reconcile.domain.bik_tofk. + */ + public void setBikTofk(String value) { + set(39, value); + } + + /** + * Getter for idm_reconcile.domain.bik_tofk. + */ + public String getBikTofk() { + return (String) get(39); + } + + /** + * Setter for + * idm_reconcile.domain.correspondent_bank_account_tofk. + */ + public void setCorrespondentBankAccountTofk(String value) { + set(40, value); + } + + /** + * Getter for + * idm_reconcile.domain.correspondent_bank_account_tofk. + */ + public String getCorrespondentBankAccountTofk() { + return (String) get(40); + } + + /** + * Setter for idm_reconcile.domain.name_tofk. + */ + public void setNameTofk(String value) { + set(41, value); + } + + /** + * Getter for idm_reconcile.domain.name_tofk. + */ + public String getNameTofk() { + return (String) get(41); + } + + /** + * Setter for idm_reconcile.domain.nsi_organization_id. + */ + public void setNsiOrganizationId(String value) { + set(42, value); + } + + /** + * Getter for idm_reconcile.domain.nsi_organization_id. + */ + public String getNsiOrganizationId() { + return (String) get(42); + } + + /** + * Setter for idm_reconcile.domain.doc_handle. + */ + public void setDocHandle(String value) { + set(43, value); + } + + /** + * Getter for idm_reconcile.domain.doc_handle. + */ + public String getDocHandle() { + return (String) get(43); + } + + /** + * Setter for idm_reconcile.domain.division_type. + */ + public void setDivisionType(String value) { + set(44, value); + } + + /** + * Getter for idm_reconcile.domain.division_type. + */ + public String getDivisionType() { + return (String) get(44); + } + + /** + * Setter for idm_reconcile.domain.tns_department_id. + */ + public void setTnsDepartmentId(String value) { + set(45, value); + } + + /** + * Getter for idm_reconcile.domain.tns_department_id. + */ + public String getTnsDepartmentId() { + return (String) get(45); + } + + /** + * Setter for idm_reconcile.domain.enabled. + */ + public void setEnabled(Boolean value) { + set(46, value); + } + + /** + * Getter for idm_reconcile.domain.enabled. + */ + public Boolean getEnabled() { + return (Boolean) get(46); + } + + /** + * Setter for idm_reconcile.domain.parent. + */ + public void setParent(String value) { + set(47, value); + } + + /** + * Getter for idm_reconcile.domain.parent. + */ + public String getParent() { + return (String) get(47); + } + + /** + * Setter for idm_reconcile.domain.region_id. + */ + public void setRegionId(String value) { + set(48, value); + } + + /** + * Getter for idm_reconcile.domain.region_id. + */ + public String getRegionId() { + return (String) get(48); + } + + /** + * Setter for idm_reconcile.domain.managed. + */ + public void setManaged(String value) { + set(49, value); + } + + /** + * Getter for idm_reconcile.domain.managed. + */ + public String getManaged() { + return (String) get(49); + } + + // ------------------------------------------------------------------------- + // Primary key information + // ------------------------------------------------------------------------- + + @Override + public Record1 key() { + return (Record1) super.key(); + } + + // ------------------------------------------------------------------------- + // Constructors + // ------------------------------------------------------------------------- + + /** + * Create a detached DomainRecord + */ + public DomainRecord() { + super(Domain.DOMAIN); + } + + /** + * Create a detached, initialised DomainRecord + */ + public DomainRecord(String id, Integer version, Timestamp modified, String schema, String name, String shortname, String fullname, String dns, String email, String phone, String address, String postalAddress, String addressId, String postalAddressId, String militaryCode, String timezone, Boolean reportsEnabled, String inn, String leg, String ogrn, String region, String epguId, String type, Boolean esiaEmployeeAuthorization, String defaultS3Bucket, String opf, String kpp, String checkingAccount, String bik, String bankName, String bankCorrespondentAccount, String oktmo, String okato, String govRegistrationDate, String govOrganizationType, String aliasKey, String passKey, String certificate, String accountNumberTofk, String bikTofk, String correspondentBankAccountTofk, String nameTofk, String nsiOrganizationId, String docHandle, String divisionType, String tnsDepartmentId, Boolean enabled, String parent, String regionId, String managed) { + super(Domain.DOMAIN); + + setId(id); + setVersion(version); + setModified(modified); + setSchema(schema); + setName(name); + setShortname(shortname); + setFullname(fullname); + setDns(dns); + setEmail(email); + setPhone(phone); + setAddress(address); + setPostalAddress(postalAddress); + setAddressId(addressId); + setPostalAddressId(postalAddressId); + setMilitaryCode(militaryCode); + setTimezone(timezone); + setReportsEnabled(reportsEnabled); + setInn(inn); + setLeg(leg); + setOgrn(ogrn); + setRegion(region); + setEpguId(epguId); + setType(type); + setEsiaEmployeeAuthorization(esiaEmployeeAuthorization); + setDefaultS3Bucket(defaultS3Bucket); + setOpf(opf); + setKpp(kpp); + setCheckingAccount(checkingAccount); + setBik(bik); + setBankName(bankName); + setBankCorrespondentAccount(bankCorrespondentAccount); + setOktmo(oktmo); + setOkato(okato); + setGovRegistrationDate(govRegistrationDate); + setGovOrganizationType(govOrganizationType); + setAliasKey(aliasKey); + setPassKey(passKey); + setCertificate(certificate); + setAccountNumberTofk(accountNumberTofk); + setBikTofk(bikTofk); + setCorrespondentBankAccountTofk(correspondentBankAccountTofk); + setNameTofk(nameTofk); + setNsiOrganizationId(nsiOrganizationId); + setDocHandle(docHandle); + setDivisionType(divisionType); + setTnsDepartmentId(tnsDepartmentId); + setEnabled(enabled); + setParent(parent); + setRegionId(regionId); + setManaged(managed); + resetChangedOnNotNull(); + } +} diff --git a/backend/src/main/java/ru/micord/webbpm/ervu/business_metrics/db_beans/idm_reconcile/tables/records/PersonIpAddressRecord.java b/backend/src/main/java/ru/micord/webbpm/ervu/business_metrics/db_beans/idm_reconcile/tables/records/PersonIpAddressRecord.java new file mode 100644 index 0000000..335c94f --- /dev/null +++ b/backend/src/main/java/ru/micord/webbpm/ervu/business_metrics/db_beans/idm_reconcile/tables/records/PersonIpAddressRecord.java @@ -0,0 +1,79 @@ +/* + * This file is generated by jOOQ. + */ +package ru.micord.webbpm.ervu.business_metrics.db_beans.idm_reconcile.tables.records; + + +import org.jooq.Record2; +import org.jooq.impl.UpdatableRecordImpl; + +import ru.micord.webbpm.ervu.business_metrics.db_beans.idm_reconcile.tables.PersonIpAddress; + + +/** + * This class is generated by jOOQ. + */ +@SuppressWarnings({ "all", "unchecked", "rawtypes" }) +public class PersonIpAddressRecord extends UpdatableRecordImpl { + + private static final long serialVersionUID = 1L; + + /** + * Setter for idm_reconcile.person_ip_address.person_id. + */ + public void setPersonId(String value) { + set(0, value); + } + + /** + * Getter for idm_reconcile.person_ip_address.person_id. + */ + public String getPersonId() { + return (String) get(0); + } + + /** + * Setter for idm_reconcile.person_ip_address.ip_address. + */ + public void setIpAddress(String value) { + set(1, value); + } + + /** + * Getter for idm_reconcile.person_ip_address.ip_address. + */ + public String getIpAddress() { + return (String) get(1); + } + + // ------------------------------------------------------------------------- + // Primary key information + // ------------------------------------------------------------------------- + + @Override + public Record2 key() { + return (Record2) super.key(); + } + + // ------------------------------------------------------------------------- + // Constructors + // ------------------------------------------------------------------------- + + /** + * Create a detached PersonIpAddressRecord + */ + public PersonIpAddressRecord() { + super(PersonIpAddress.PERSON_IP_ADDRESS); + } + + /** + * Create a detached, initialised PersonIpAddressRecord + */ + public PersonIpAddressRecord(String personId, String ipAddress) { + super(PersonIpAddress.PERSON_IP_ADDRESS); + + setPersonId(personId); + setIpAddress(ipAddress); + resetChangedOnNotNull(); + } +} diff --git a/backend/src/main/java/ru/micord/webbpm/ervu/business_metrics/db_beans/idm_reconcile/tables/records/PersonRecord.java b/backend/src/main/java/ru/micord/webbpm/ervu/business_metrics/db_beans/idm_reconcile/tables/records/PersonRecord.java new file mode 100644 index 0000000..8075ab0 --- /dev/null +++ b/backend/src/main/java/ru/micord/webbpm/ervu/business_metrics/db_beans/idm_reconcile/tables/records/PersonRecord.java @@ -0,0 +1,277 @@ +/* + * This file is generated by jOOQ. + */ +package ru.micord.webbpm.ervu.business_metrics.db_beans.idm_reconcile.tables.records; + + +import java.sql.Date; +import java.sql.Timestamp; + +import org.jooq.Record1; +import org.jooq.impl.UpdatableRecordImpl; + +import ru.micord.webbpm.ervu.business_metrics.db_beans.idm_reconcile.tables.Person; + + +/** + * This class is generated by jOOQ. + */ +@SuppressWarnings({ "all", "unchecked", "rawtypes" }) +public class PersonRecord extends UpdatableRecordImpl { + + private static final long serialVersionUID = 1L; + + /** + * Setter for idm_reconcile.person.id. + */ + public void setId(String value) { + set(0, value); + } + + /** + * Getter for idm_reconcile.person.id. + */ + public String getId() { + return (String) get(0); + } + + /** + * Setter for idm_reconcile.person.version. + */ + public void setVersion(Integer value) { + set(1, value); + } + + /** + * Getter for idm_reconcile.person.version. + */ + public Integer getVersion() { + return (Integer) get(1); + } + + /** + * Setter for idm_reconcile.person.modified. + */ + public void setModified(Timestamp value) { + set(2, value); + } + + /** + * Getter for idm_reconcile.person.modified. + */ + public Timestamp getModified() { + return (Timestamp) get(2); + } + + /** + * Setter for idm_reconcile.person.schema. + */ + public void setSchema(String value) { + set(3, value); + } + + /** + * Getter for idm_reconcile.person.schema. + */ + public String getSchema() { + return (String) get(3); + } + + /** + * Setter for idm_reconcile.person.birthdate. + */ + public void setBirthdate(Date value) { + set(4, value); + } + + /** + * Getter for idm_reconcile.person.birthdate. + */ + public Date getBirthdate() { + return (Date) get(4); + } + + /** + * Setter for idm_reconcile.person.firstname. + */ + public void setFirstname(String value) { + set(5, value); + } + + /** + * Getter for idm_reconcile.person.firstname. + */ + public String getFirstname() { + return (String) get(5); + } + + /** + * Setter for idm_reconcile.person.middlename. + */ + public void setMiddlename(String value) { + set(6, value); + } + + /** + * Getter for idm_reconcile.person.middlename. + */ + public String getMiddlename() { + return (String) get(6); + } + + /** + * Setter for idm_reconcile.person.surname. + */ + public void setSurname(String value) { + set(7, value); + } + + /** + * Getter for idm_reconcile.person.surname. + */ + public String getSurname() { + return (String) get(7); + } + + /** + * Setter for idm_reconcile.person.sex. + */ + public void setSex(String value) { + set(8, value); + } + + /** + * Getter for idm_reconcile.person.sex. + */ + public String getSex() { + return (String) get(8); + } + + /** + * Setter for idm_reconcile.person.email. + */ + public void setEmail(String value) { + set(9, value); + } + + /** + * Getter for idm_reconcile.person.email. + */ + public String getEmail() { + return (String) get(9); + } + + /** + * Setter for idm_reconcile.person.photo. + */ + public void setPhoto(String value) { + set(10, value); + } + + /** + * Getter for idm_reconcile.person.photo. + */ + public String getPhoto() { + return (String) get(10); + } + + /** + * Setter for idm_reconcile.person.phone. + */ + public void setPhone(String value) { + set(11, value); + } + + /** + * Getter for idm_reconcile.person.phone. + */ + public String getPhone() { + return (String) get(11); + } + + /** + * Setter for idm_reconcile.person.snils. + */ + public void setSnils(String value) { + set(12, value); + } + + /** + * Getter for idm_reconcile.person.snils. + */ + public String getSnils() { + return (String) get(12); + } + + /** + * Setter for idm_reconcile.person.second_factor_enabled. + */ + public void setSecondFactorEnabled(Boolean value) { + set(13, value); + } + + /** + * Getter for idm_reconcile.person.second_factor_enabled. + */ + public Boolean getSecondFactorEnabled() { + return (Boolean) get(13); + } + + /** + * Setter for idm_reconcile.person.fio. + */ + public void setFio(String value) { + set(14, value); + } + + /** + * Getter for idm_reconcile.person.fio. + */ + public String getFio() { + return (String) get(14); + } + + // ------------------------------------------------------------------------- + // Primary key information + // ------------------------------------------------------------------------- + + @Override + public Record1 key() { + return (Record1) super.key(); + } + + // ------------------------------------------------------------------------- + // Constructors + // ------------------------------------------------------------------------- + + /** + * Create a detached PersonRecord + */ + public PersonRecord() { + super(Person.PERSON); + } + + /** + * Create a detached, initialised PersonRecord + */ + public PersonRecord(String id, Integer version, Timestamp modified, String schema, Date birthdate, String firstname, String middlename, String surname, String sex, String email, String photo, String phone, String snils, Boolean secondFactorEnabled, String fio) { + super(Person.PERSON); + + setId(id); + setVersion(version); + setModified(modified); + setSchema(schema); + setBirthdate(birthdate); + setFirstname(firstname); + setMiddlename(middlename); + setSurname(surname); + setSex(sex); + setEmail(email); + setPhoto(photo); + setPhone(phone); + setSnils(snils); + setSecondFactorEnabled(secondFactorEnabled); + setFio(fio); + resetChangedOnNotNull(); + } +} diff --git a/backend/src/main/java/ru/micord/webbpm/ervu/business_metrics/db_beans/idm_reconcile/tables/records/RoleRecord.java b/backend/src/main/java/ru/micord/webbpm/ervu/business_metrics/db_beans/idm_reconcile/tables/records/RoleRecord.java new file mode 100644 index 0000000..009e902 --- /dev/null +++ b/backend/src/main/java/ru/micord/webbpm/ervu/business_metrics/db_beans/idm_reconcile/tables/records/RoleRecord.java @@ -0,0 +1,216 @@ +/* + * This file is generated by jOOQ. + */ +package ru.micord.webbpm.ervu.business_metrics.db_beans.idm_reconcile.tables.records; + + +import java.sql.Timestamp; + +import org.jooq.Record1; +import org.jooq.impl.UpdatableRecordImpl; + +import ru.micord.webbpm.ervu.business_metrics.db_beans.idm_reconcile.tables.Role; + + +/** + * This class is generated by jOOQ. + */ +@SuppressWarnings({ "all", "unchecked", "rawtypes" }) +public class RoleRecord extends UpdatableRecordImpl { + + private static final long serialVersionUID = 1L; + + /** + * Setter for idm_reconcile.role.id. + */ + public void setId(String value) { + set(0, value); + } + + /** + * Getter for idm_reconcile.role.id. + */ + public String getId() { + return (String) get(0); + } + + /** + * Setter for idm_reconcile.role.version. + */ + public void setVersion(Integer value) { + set(1, value); + } + + /** + * Getter for idm_reconcile.role.version. + */ + public Integer getVersion() { + return (Integer) get(1); + } + + /** + * Setter for idm_reconcile.role.modified. + */ + public void setModified(Timestamp value) { + set(2, value); + } + + /** + * Getter for idm_reconcile.role.modified. + */ + public Timestamp getModified() { + return (Timestamp) get(2); + } + + /** + * Setter for idm_reconcile.role.schema. + */ + public void setSchema(String value) { + set(3, value); + } + + /** + * Getter for idm_reconcile.role.schema. + */ + public String getSchema() { + return (String) get(3); + } + + /** + * Setter for idm_reconcile.role.name. + */ + public void setName(String value) { + set(4, value); + } + + /** + * Getter for idm_reconcile.role.name. + */ + public String getName() { + return (String) get(4); + } + + /** + * Setter for idm_reconcile.role.shortname. + */ + public void setShortname(String value) { + set(5, value); + } + + /** + * Getter for idm_reconcile.role.shortname. + */ + public String getShortname() { + return (String) get(5); + } + + /** + * Setter for idm_reconcile.role.display_name. + */ + public void setDisplayName(String value) { + set(6, value); + } + + /** + * Getter for idm_reconcile.role.display_name. + */ + public String getDisplayName() { + return (String) get(6); + } + + /** + * Setter for idm_reconcile.role.sessions_limit. + */ + public void setSessionsLimit(Integer value) { + set(7, value); + } + + /** + * Getter for idm_reconcile.role.sessions_limit. + */ + public Integer getSessionsLimit() { + return (Integer) get(7); + } + + /** + * Setter for idm_reconcile.role.ervu_role. + */ + public void setErvuRole(Boolean value) { + set(8, value); + } + + /** + * Getter for idm_reconcile.role.ervu_role. + */ + public Boolean getErvuRole() { + return (Boolean) get(8); + } + + /** + * Setter for idm_reconcile.role.imported. + */ + public void setImported(Integer value) { + set(9, value); + } + + /** + * Getter for idm_reconcile.role.imported. + */ + public Integer getImported() { + return (Integer) get(9); + } + + /** + * Setter for idm_reconcile.role.description. + */ + public void setDescription(String value) { + set(10, value); + } + + /** + * Getter for idm_reconcile.role.description. + */ + public String getDescription() { + return (String) get(10); + } + + // ------------------------------------------------------------------------- + // Primary key information + // ------------------------------------------------------------------------- + + @Override + public Record1 key() { + return (Record1) super.key(); + } + + // ------------------------------------------------------------------------- + // Constructors + // ------------------------------------------------------------------------- + + /** + * Create a detached RoleRecord + */ + public RoleRecord() { + super(Role.ROLE); + } + + /** + * Create a detached, initialised RoleRecord + */ + public RoleRecord(String id, Integer version, Timestamp modified, String schema, String name, String shortname, String displayName, Integer sessionsLimit, Boolean ervuRole, Integer imported, String description) { + super(Role.ROLE); + + setId(id); + setVersion(version); + setModified(modified); + setSchema(schema); + setName(name); + setShortname(shortname); + setDisplayName(displayName); + setSessionsLimit(sessionsLimit); + setErvuRole(ervuRole); + setImported(imported); + setDescription(description); + resetChangedOnNotNull(); + } +} diff --git a/backend/src/main/resources/config/v_1.0/changelog-1.0.xml b/backend/src/main/resources/config/v_1.0/changelog-1.0.xml index e6cf37f..7ca7e95 100644 --- a/backend/src/main/resources/config/v_1.0/changelog-1.0.xml +++ b/backend/src/main/resources/config/v_1.0/changelog-1.0.xml @@ -27,5 +27,6 @@ + \ No newline at end of file From 709d957558881c1187ec90c400fbc59a0d361e72 Mon Sep 17 00:00:00 2001 From: "adel.kalimullin" Date: Fri, 18 Apr 2025 16:28:29 +0300 Subject: [PATCH 04/40] SUPPORT-9122:saves --- .../dao/IdmDirectoriesDaoService.java | 33 +++ .../service/IdmDirectoriesService.java | 250 ++++++++++++++++++ 2 files changed, 283 insertions(+) create mode 100644 backend/src/main/java/ervu_business_metrics/dao/IdmDirectoriesDaoService.java create mode 100644 backend/src/main/java/ervu_business_metrics/service/IdmDirectoriesService.java diff --git a/backend/src/main/java/ervu_business_metrics/dao/IdmDirectoriesDaoService.java b/backend/src/main/java/ervu_business_metrics/dao/IdmDirectoriesDaoService.java new file mode 100644 index 0000000..6261416 --- /dev/null +++ b/backend/src/main/java/ervu_business_metrics/dao/IdmDirectoriesDaoService.java @@ -0,0 +1,33 @@ +package ervu_business_metrics.dao; + + + + +import org.jooq.DSLContext; +import org.springframework.stereotype.Repository; +import ru.micord.webbpm.ervu.business_metrics.db_beans.idm_reconcile.tables.records.DomainRecord; +import ru.micord.webbpm.ervu.business_metrics.db_beans.idm_reconcile.tables.records.RoleRecord; + +import static ru.micord.webbpm.ervu.business_metrics.db_beans.idm_reconcile.Tables.DOMAIN; +import static ru.micord.webbpm.ervu.business_metrics.db_beans.idm_reconcile.Tables.ROLE; + + +/** + * @author Adel Kalimullin + */ +@Repository +public class IdmDirectoriesDaoService { + private final DSLContext dsl; + + public IdmDirectoriesDaoService(DSLContext dsl) { + this.dsl = dsl; + } + + public RoleRecord getRoleRecord() { + return dsl.newRecord(ROLE); + } + + public DomainRecord getDomainRecord() { + return dsl.newRecord(DOMAIN); + } +} diff --git a/backend/src/main/java/ervu_business_metrics/service/IdmDirectoriesService.java b/backend/src/main/java/ervu_business_metrics/service/IdmDirectoriesService.java new file mode 100644 index 0000000..12454ae --- /dev/null +++ b/backend/src/main/java/ervu_business_metrics/service/IdmDirectoriesService.java @@ -0,0 +1,250 @@ +package ervu_business_metrics.service; + +import java.lang.invoke.MethodHandles; +import java.sql.Timestamp; +import java.time.Instant; +import java.util.*; + +import com.fasterxml.jackson.core.JsonProcessingException; +import com.fasterxml.jackson.databind.ObjectMapper; +import ervu_business_metrics.dao.IdmDirectoriesDaoService; +import ervu_business_metrics.model.dto.AccountResponse; +import ervu_business_metrics.model.dto.DomainResponse; +import ervu_business_metrics.model.dto.PersonResponse; +import ervu_business_metrics.model.dto.RoleResponse; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.cache.annotation.CacheEvict; +import org.springframework.cache.annotation.Caching; +import org.springframework.http.HttpEntity; +import org.springframework.http.HttpHeaders; +import org.springframework.http.MediaType; +import org.springframework.http.ResponseEntity; +import org.springframework.stereotype.Component; +import org.springframework.transaction.annotation.Transactional; +import org.springframework.web.client.RestTemplate; +import ru.micord.webbpm.ervu.business_metrics.db_beans.idm_reconcile.tables.records.DomainRecord; + +/** + * @author Adel Kalimullin + */ +@Component +public class IdmDirectoriesService { + private static final Logger LOGGER = LoggerFactory.getLogger( + MethodHandles.lookup().lookupClass()); + @Value("${idm.url}") + private String idmUrl; + @Value("${ervu.collection:domain, role , account , person}") + private String ervuCollection; + + private final RestTemplate restTemplate; + private final IdmDirectoriesDaoService idmDirectoriesDaoService; + private final ObjectMapper objectMapper; + + public IdmDirectoriesService(RestTemplate restTemplate, + IdmDirectoriesDaoService idmDirectoriesDaoService, ObjectMapper objectMapper) { + this.restTemplate = restTemplate; + this.idmDirectoriesDaoService = idmDirectoriesDaoService; + this.objectMapper = objectMapper; + } + + + @Caching(evict = { + @CacheEvict(value = "domain-ids", allEntries = true), + @CacheEvict(value = "role-ids", allEntries = true) + }) + public void updateDirectories() { + try { + String[] ervuCollectionArray = ervuCollection.split(","); + Arrays.stream(ervuCollectionArray).forEach(ervuCollection -> { + String targetUrl = idmUrl + "/reconcile/"+ ervuCollection.trim() + "/to/kafka/v1"; + HttpHeaders headers = new HttpHeaders(); + headers.setContentType(MediaType.APPLICATION_JSON); + String emptyJson = "{}"; + HttpEntity requestEntity = new HttpEntity<>(emptyJson, headers); + ResponseEntity response = restTemplate.postForEntity(targetUrl, requestEntity, String.class); + if (!response.getStatusCode().is2xxSuccessful()) { + LOGGER.error( + "Error in " + ervuCollection + " request. Status code: " + response.getStatusCode() + + "; Body: " + response.getBody()); + } + }); + } + catch (Exception e) { + LOGGER.error(e.getMessage()); + throw new RuntimeException(e); + } + + } + + @Transactional + public void upsertKafkaPersonMessage(String kafkaMessage) { + PersonResponse[] personResponses; + try { + personResponses = objectMapper.readValue(kafkaMessage, PersonResponse[].class); + } + catch (JsonProcessingException e) { + throw new RuntimeException(e); + } + if (personResponses.length > 0 && personResponses[0].getData() != null && !personResponses[0].getData().isEmpty()) { + upsertRecruitmentData(personResponses[0].getData()); + } + } + + @Transactional + public void upsertKafkaAccountMessage(String kafkaMessage) { + AccountResponse[] accountResponses; + try { + accountResponses = objectMapper.readValue(kafkaMessage, AccountResponse[].class); + } + catch (JsonProcessingException e) { + throw new RuntimeException(e); + } + if (accountResponses.length > 0 && accountResponses[0].getData() != null && !accountResponses[0].getData().isEmpty()) { + upsertRecruitmentData(accountResponses[0].getData()); + } + } + + @Transactional + public void upsertKafkaDomainMessage(String kafkaMessage) { + DomainResponse[] domainResponses; + try { + domainResponses = objectMapper.readValue(kafkaMessage, DomainResponse[].class); + } + catch (JsonProcessingException e) { + throw new RuntimeException(e); + } + if (domainResponses.length > 0 && domainResponses[0].getData() != null && !domainResponses[0].getData().isEmpty()) { + upsertDomainData(domainResponses[0].getData()); + } + } + + @Transactional + public void upsertKafkaRoleMessage(String kafkaMessage) { + RoleResponse[] roleResponses; + try { + roleResponses = objectMapper.readValue(kafkaMessage, RoleResponse[].class); + } + catch (JsonProcessingException e) { + throw new RuntimeException(e); + } + if (roleResponses.length > 0 && roleResponses[0].getData() != null && !roleResponses[0].getData().isEmpty()) { + upsertRoleData(roleResponses[0].getData()); + } + } + + private void upsertDomainData(List dataList) { + List newRecruitmentRecords = new ArrayList<>(); + List recruitmentRecords = new ArrayList<>(); + List existingIds = idmDirectoriesDaoService.getDomainIds(); + + for (DomainResponse.Data data : dataList) { + DomainRecord domainRecord = idmDirectoriesDaoService.getDomainRecord(); + + + Timestamp createdAt = Timestamp.from(Instant.now()); + Timestamp modifiedAt = Timestamp.from(Instant.ofEpochMilli(data.getModified())); + + + domainRecord.setId(data.getId()); + domainRecord.setVersion(data.getVersion()); + domainRecord.setModified(modifiedAt); + domainRecord.setSchema(data.getSchema()); + domainRecord.setName(data.getName()); + domainRecord.setShortname(data.getShortname()); + domainRecord.setFullname(data.getFullname()); + domainRecord.setDns(data.getDns()); + domainRecord.setEmail(data.getEmail()); + domainRecord.setPhone(data.getPhone()); + domainRecord.setAddress(data.getAddress()); + domainRecord.setPostalAddress(data.getPostalAddress()); + domainRecord.setAddressId(data.getAddressId()); + domainRecord.setPostalAddressId(data.getPostalAddressId()); + domainRecord.setMilitaryCode(data.getMilitaryCode()); + domainRecord.setTimezone(data.getTimezone()); + domainRecord.setReportsEnabled(data.isReportsEnabled()); + domainRecord.setInn(data.getInn()); + domainRecord.setLeg(data.getLeg()); + domainRecord.setOgrn(data.getOgrn()); + domainRecord.setRegion(data.getRegion()); + domainRecord.setEpguId(data.getEpguId()); + domainRecord.setType(data.getType()); + domainRecord.setEsiaEmployeeAuthorization(data.isEsiaEmployeeAuthorization()); + domainRecord.setDefaultS3Bucket(data.getDefaultS3Bucket()); + domainRecord.setOpf(data.getOpf()); + domainRecord.setKpp(data.getKpp()); + domainRecord.setCheckingAccount(data.getCheckingAccount()); + domainRecord.setBik(data.getBik()); + domainRecord.setBankName(data.getBankName()); + domainRecord.setBankCorrespondentAccount(data.getBankCorrespondentAccount()); + domainRecord.setOktmo(data.getOktmo()); + domainRecord.setOkato(data.getOkato()); + domainRecord.setGovRegistrationDate(data.getGovRegistrationDate()); + domainRecord.setGovOrganizationType(data.getGovOrganizationType()); + domainRecord.setAliasKey(data.getAliasKey()); + domainRecord.setPassKey(data.getPassKey()); + domainRecord.setCertificate(data.getCertificate()); + domainRecord.setAccountNumberTofk(data.getAccountNumberTOFK()); + domainRecord.setBikTofk(data.getBikTOFK()); + domainRecord.setCorrespondentBankAccountTofk(data.getCorrespondentBankAccountTOFK()); + domainRecord.setNameTofk(data.getNameTOFK()); + domainRecord.setNsiOrganizationId(data.getNsiOrganizationId()); + domainRecord.setDocHandle(data.getDocHandle()); + domainRecord.setDivisionType(data.getDivisionType()); + domainRecord.setTnsDepartmentId(data.getTnsDepartmentId()); + domainRecord.setEnabled(data.isEnabled() != null ? data.isEnabled() : true); + domainRecord.setParent(data.getParent()); + domainRecord.setRegionId(data.getRegionId()); + domainRecord.setManaged(data.getManaged()); + domainRecord.setCreatedAt(createdAt); + + if (existingIds.contains(data.getId())) { + recruitmentRecords.add(domainRecord); + } else { + newRecruitmentRecords.add(domainRecord); + } + } + + ervuDirectoriesDaoService.insertRecruitmentRecords(newRecruitmentRecords); + ervuDirectoriesDaoService.updateRecruitmentRecords(recruitmentRecords); + } + + private void upsertRoleData(List dataList) { + String[] adminRoles = ervuAdminRole.split(","); + List newRoleRecords = new ArrayList<>(); + List roleRecords = new ArrayList<>(); + List ids = ervuDirectoriesDaoService.getRoleIds(); + dataList.forEach(data -> { + if (data.getErvuRole() == null || !data.getErvuRole()) { + return; + } + Timestamp updatedAt = Timestamp.from(Instant.ofEpochSecond(data.getModified())); + Timestamp createdAt = Timestamp.from(Instant.ofEpochSecond(data.getCreateDate())); + Timestamp finishAt = null; + if (data.getFinish() != null) { + finishAt = Timestamp.from(Instant.ofEpochSecond(data.getFinish())); + } + UserApplicationRoleRecord roleRecord = ervuDirectoriesDaoService.getRoleRecord(); + roleRecord.setUserRoleId(data.getId()); + roleRecord.setRoleCode(data.getName()); + roleRecord.setRoleName(data.getDisplayName()); + roleRecord.setCreated(createdAt); + roleRecord.setUpdated(updatedAt); + roleRecord.setFinished(finishAt); + Arrays.stream(adminRoles).forEach(role -> { + if (role.trim().equals(data.getName())) { + roleRecord.setAdminRole(true); + } + }); + if (ids.contains(data.getId())) { + roleRecords.add(roleRecord); + } + else { + newRoleRecords.add(roleRecord); + } + }); + ervuDirectoriesDaoService.insertRoleRecords(newRoleRecords); + ervuDirectoriesDaoService.updateRoleRecords(roleRecords); + } +} From 62ee10b1333bb5dd681febb65171b04d94bab193 Mon Sep 17 00:00:00 2001 From: Foat Saliakhov Date: Mon, 21 Apr 2025 13:00:39 +0300 Subject: [PATCH 05/40] =?UTF-8?q?=D0=98=D1=81=D0=BF=D1=80=D0=B0=D0=B2?= =?UTF-8?q?=D0=BB=D0=B5=D0=BD=D0=B8=D0=B5=20=D0=B3=D1=80=D0=B0=D1=84=D0=B8?= =?UTF-8?q?=D0=BA=D0=BE=D0=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ervu-business-metrics/conversion.page | 511 +----------------- ...ilitary_registration_changing_address.page | 14 +- 2 files changed, 31 insertions(+), 494 deletions(-) diff --git a/resources/src/main/resources/business-model/ervu-business-metrics/conversion.page b/resources/src/main/resources/business-model/ervu-business-metrics/conversion.page index 7913a78..235a110 100644 --- a/resources/src/main/resources/business-model/ervu-business-metrics/conversion.page +++ b/resources/src/main/resources/business-model/ervu-business-metrics/conversion.page @@ -1638,6 +1638,7 @@ 96dcba2b-4fa7-46b6-8f64-1cef7cd5b5d1 ВК Загрузка сведений воинского учета (csv) true + false false @@ -1700,6 +1701,7 @@ 1d1c94ee-1cbd-4db4-b26f-bb81c639c5ff ГК Загрузка сведений воинского учета (csv) true + false false @@ -1759,6 +1761,7 @@ 25288605-15b7-47ec-91c0-6bfc7fcfc3de ГК График и показатели true + false false @@ -2459,27 +2462,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -2715,28 +2699,8 @@ textFormatter - - -replaceModels - - - - - - value - - "0" - - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -2820,27 +2784,8 @@ textFormatter - - -replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -2936,27 +2881,8 @@ textFormatter - - -replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -3030,27 +2956,8 @@ textFormatter - - -replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -3951,27 +3858,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -4151,27 +4039,8 @@ textFormatter - - -replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -4249,27 +4118,8 @@ textFormatter - - -replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -4368,27 +4218,8 @@ textFormatter - - -replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -4461,27 +4292,8 @@ textFormatter - - -replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -4646,6 +4458,7 @@ 3447ab1c-24c9-435a-9e23-1e0ab39404ab ГК второй ряд показателей true + false false @@ -5481,27 +5294,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - -ReplaceValueTextFormatter +NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -5933,7 +5727,6 @@ 674c1487-8d74-433c-9cb4-a2f4695625dd ВК Результаты конвертации true - false false @@ -6886,27 +6679,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -6978,27 +6752,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -7070,27 +6825,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -7162,27 +6898,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -7443,7 +7160,6 @@ ea4d0df5-9e4f-48b2-bf91-3a72d3a90640 ГК третий ряд показателей true - false false @@ -9624,27 +9340,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -9716,27 +9413,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -9808,27 +9486,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -9900,27 +9559,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -9992,27 +9632,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -10084,27 +9705,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -10176,27 +9778,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -10268,27 +9851,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -10360,27 +9924,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter diff --git a/resources/src/main/resources/business-model/ervu-business-metrics/military_registration_changing_address.page b/resources/src/main/resources/business-model/ervu-business-metrics/military_registration_changing_address.page index 157d06d..ccf9059 100644 --- a/resources/src/main/resources/business-model/ervu-business-metrics/military_registration_changing_address.page +++ b/resources/src/main/resources/business-model/ervu-business-metrics/military_registration_changing_address.page @@ -2538,7 +2538,6 @@ f0b30a65-2e61-4c6f-ae48-0f8b36d9e7cd ГК Первый ряд true - false false @@ -5612,7 +5611,6 @@ 6c20dc29-0fba-4eda-a956-69721c9545c8 ВК Повестки, подписанные в текущем ВК true - false false @@ -5946,7 +5944,7 @@ graph - {"conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"nodeByIndex":{"0":{"tableName":"summonses_sign","schemaName":"registration_change_address","x":255.0,"y":88.0,"alias":"summonses_sign","conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"},"1":{"tableName":"view_summonses_sign","schemaName":"registration_change_address","x":442.0,"y":150.0,"alias":"view_summonses_sign","conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"},"2":{"tableName":"recruitment","schemaName":"metrics","x":76.0,"y":174.0,"alias":"recruitment","conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"}},"nodes":[{"tableName":"summonses_sign","schemaName":"registration_change_address","x":255.0,"y":88.0,"alias":"summonses_sign","conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"},{"tableName":"view_summonses_sign","schemaName":"registration_change_address","x":442.0,"y":150.0,"alias":"view_summonses_sign","conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"},{"tableName":"recruitment","schemaName":"metrics","x":76.0,"y":174.0,"alias":"recruitment","conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"}],"nodeByEntityName":{"recruitment":{"tableName":"recruitment","schemaName":"metrics","x":76.0,"y":174.0,"alias":"recruitment","conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"},"view_summonses_sign":{"tableName":"view_summonses_sign","schemaName":"registration_change_address","x":442.0,"y":150.0,"alias":"view_summonses_sign","conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"},"summonses_sign":{"tableName":"summonses_sign","schemaName":"registration_change_address","x":255.0,"y":88.0,"alias":"summonses_sign","conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"}},"matrix":[[null,null,{"refOnEntityName":"summonses_sign","refToEntityName":"recruitment","refToColumns":[{"schema":"metrics","table":"recruitment","entity":"recruitment","name":"idm_id"}],"refOnColumns":[{"schema":"registration_change_address","table":"summonses_sign","entity":"summonses_sign","name":"recruitment_id"}],"required":false,"cyclic":false,"conditionGroup":{"operator":"AND","conditions":[],"groups":[]}}],[{"refOnEntityName":"view_summonses_sign","refToEntityName":"summonses_sign","refToColumns":[{"schema":"registration_change_address","table":"summonses_sign","entity":"summonses_sign","name":"summonses_sign_id"}],"refOnColumns":[{"schema":"registration_change_address","table":"view_summonses_sign","entity":"view_summonses_sign","name":"summonses_sign_id"}],"required":false,"cyclic":false,"conditionGroup":{"operator":"AND","conditions":[],"groups":[]}},null,null],[null,null,null]],"mainNodeIndex":0} + {"conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"nodeByIndex":{"0":{"tableName":"summonses_sign","schemaName":"registration_change_address","x":255.0,"y":88.0,"alias":"summonses_sign","conditionGroup":{"operator":"AND","conditions":[{"column":{"schema":"registration_change_address","table":"summonses_sign","entity":"summonses_sign","name":"info_source"},"operation":"EQUAL","typeCode":"CONST","values":["\"GIR_VU\""]}],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"},"1":{"tableName":"view_summonses_sign","schemaName":"registration_change_address","x":442.0,"y":150.0,"alias":"view_summonses_sign","conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"},"2":{"tableName":"recruitment","schemaName":"metrics","x":76.0,"y":174.0,"alias":"recruitment","conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"}},"nodes":[{"tableName":"summonses_sign","schemaName":"registration_change_address","x":255.0,"y":88.0,"alias":"summonses_sign","conditionGroup":{"operator":"AND","conditions":[{"column":{"schema":"registration_change_address","table":"summonses_sign","entity":"summonses_sign","name":"info_source"},"operation":"EQUAL","typeCode":"CONST","values":["\"GIR_VU\""]}],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"},{"tableName":"view_summonses_sign","schemaName":"registration_change_address","x":442.0,"y":150.0,"alias":"view_summonses_sign","conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"},{"tableName":"recruitment","schemaName":"metrics","x":76.0,"y":174.0,"alias":"recruitment","conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"}],"nodeByEntityName":{"recruitment":{"tableName":"recruitment","schemaName":"metrics","x":76.0,"y":174.0,"alias":"recruitment","conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"},"view_summonses_sign":{"tableName":"view_summonses_sign","schemaName":"registration_change_address","x":442.0,"y":150.0,"alias":"view_summonses_sign","conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"},"summonses_sign":{"tableName":"summonses_sign","schemaName":"registration_change_address","x":255.0,"y":88.0,"alias":"summonses_sign","conditionGroup":{"operator":"AND","conditions":[{"column":{"schema":"registration_change_address","table":"summonses_sign","entity":"summonses_sign","name":"info_source"},"operation":"EQUAL","typeCode":"CONST","values":["\"GIR_VU\""]}],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"}},"matrix":[[null,null,{"refOnEntityName":"summonses_sign","refToEntityName":"recruitment","refToColumns":[{"schema":"metrics","table":"recruitment","entity":"recruitment","name":"idm_id"}],"refOnColumns":[{"schema":"registration_change_address","table":"summonses_sign","entity":"summonses_sign","name":"recruitment_id"}],"required":false,"cyclic":false,"conditionGroup":{"operator":"AND","conditions":[],"groups":[]}}],[{"refOnEntityName":"view_summonses_sign","refToEntityName":"summonses_sign","refToColumns":[{"schema":"registration_change_address","table":"summonses_sign","entity":"summonses_sign","name":"summonses_sign_id"}],"refOnColumns":[{"schema":"registration_change_address","table":"view_summonses_sign","entity":"view_summonses_sign","name":"summonses_sign_id"}],"required":false,"cyclic":false,"conditionGroup":{"operator":"AND","conditions":[],"groups":[]}},null,null],[null,null,null]],"mainNodeIndex":0} @@ -6078,7 +6076,7 @@ graph - {"conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"nodeByIndex":{"0":{"tableName":"recruitment","schemaName":"metrics","x":161.0,"y":114.0,"alias":"recruitment","conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"},"1":{"tableName":"summonses_sign","schemaName":"registration_change_address","x":397.0,"y":131.0,"alias":"summonses_sign","conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"}},"nodes":[{"tableName":"recruitment","schemaName":"metrics","x":161.0,"y":114.0,"alias":"recruitment","conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"},{"tableName":"summonses_sign","schemaName":"registration_change_address","x":397.0,"y":131.0,"alias":"summonses_sign","conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"}],"nodeByEntityName":{"recruitment":{"tableName":"recruitment","schemaName":"metrics","x":161.0,"y":114.0,"alias":"recruitment","conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"},"summonses_sign":{"tableName":"summonses_sign","schemaName":"registration_change_address","x":397.0,"y":131.0,"alias":"summonses_sign","conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"}},"matrix":[[null,null],[{"refOnEntityName":"summonses_sign","refToEntityName":"recruitment","refToColumns":[{"schema":"metrics","table":"recruitment","entity":"recruitment","name":"idm_id"}],"refOnColumns":[{"schema":"registration_change_address","table":"summonses_sign","entity":"summonses_sign","name":"recruitment_id"}],"required":false,"cyclic":false,"conditionGroup":{"operator":"AND","conditions":[],"groups":[]}},null]],"mainNodeIndex":1} + {"conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"nodeByIndex":{"0":{"tableName":"recruitment","schemaName":"metrics","x":161.0,"y":114.0,"alias":"recruitment","conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"},"1":{"tableName":"summonses_sign","schemaName":"registration_change_address","x":397.0,"y":131.0,"alias":"summonses_sign","conditionGroup":{"operator":"AND","conditions":[{"column":{"schema":"registration_change_address","table":"summonses_sign","entity":"summonses_sign","name":"info_source"},"operation":"EQUAL","typeCode":"CONST","values":["\"GIR_VU\""]}],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"}},"nodes":[{"tableName":"recruitment","schemaName":"metrics","x":161.0,"y":114.0,"alias":"recruitment","conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"},{"tableName":"summonses_sign","schemaName":"registration_change_address","x":397.0,"y":131.0,"alias":"summonses_sign","conditionGroup":{"operator":"AND","conditions":[{"column":{"schema":"registration_change_address","table":"summonses_sign","entity":"summonses_sign","name":"info_source"},"operation":"EQUAL","typeCode":"CONST","values":["\"GIR_VU\""]}],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"}],"nodeByEntityName":{"recruitment":{"tableName":"recruitment","schemaName":"metrics","x":161.0,"y":114.0,"alias":"recruitment","conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"},"summonses_sign":{"tableName":"summonses_sign","schemaName":"registration_change_address","x":397.0,"y":131.0,"alias":"summonses_sign","conditionGroup":{"operator":"AND","conditions":[{"column":{"schema":"registration_change_address","table":"summonses_sign","entity":"summonses_sign","name":"info_source"},"operation":"EQUAL","typeCode":"CONST","values":["\"GIR_VU\""]}],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"}},"matrix":[[null,null],[{"refOnEntityName":"summonses_sign","refToEntityName":"recruitment","refToColumns":[{"schema":"metrics","table":"recruitment","entity":"recruitment","name":"idm_id"}],"refOnColumns":[{"schema":"registration_change_address","table":"summonses_sign","entity":"summonses_sign","name":"recruitment_id"}],"required":false,"cyclic":false,"conditionGroup":{"operator":"AND","conditions":[],"groups":[]}},null]],"mainNodeIndex":1} @@ -7076,6 +7074,7 @@ 0dcbc26f-c5a3-4a88-880f-9823106ae254 ГК Второй ряд true + false false @@ -12492,7 +12491,6 @@ 7d1af108-5b97-4214-a340-52c2176d8593 ВК ЕПГУ true - false false @@ -17089,7 +17087,6 @@ 43a871c6-d1d0-49d4-8d3b-463b1fff38e3 ВК Инциденты по расхождениям данных true - false false @@ -20274,7 +20271,6 @@ d7b65a7a-897c-4614-b63a-ab9c453db3a3 ГК Третий ряд true - false false @@ -24034,7 +24030,6 @@ fcdc61b7-bbbe-42cf-b2ab-498f9b30704f Повестки, подписанные в текущем ВК true - false false @@ -25504,7 +25499,6 @@ c722dbd5-fcd1-411f-8b07-df707673125f ГК Первый ряд true - false false @@ -25529,7 +25523,6 @@ 93df9d35-d84b-4433-a119-877066f5ea8c Vbox_50% true - false false @@ -31689,7 +31682,6 @@ 16a68225-fd7e-4be3-ad8d-2c4cbe1bff8e ВК уникальных записей граждан true -false false From 920284a506928dd13e1cdce95776e60c0fb82ed7 Mon Sep 17 00:00:00 2001 From: "m.epshtein" Date: Tue, 22 Apr 2025 11:54:15 +0300 Subject: [PATCH 06/40] ERVU-433 --- .../src/resources/css/components-business-metrics.css | 10 ++++++++++ frontend/src/resources/css/inbox-business-metrics.css | 3 +++ 2 files changed, 13 insertions(+) diff --git a/frontend/src/resources/css/components-business-metrics.css b/frontend/src/resources/css/components-business-metrics.css index 5c6b33c..30dbcb9 100644 --- a/frontend/src/resources/css/components-business-metrics.css +++ b/frontend/src/resources/css/components-business-metrics.css @@ -475,6 +475,15 @@ .webbpm.ervu_business_metrics .graph-legend-right .text-wrap text { position: relative; } +.webbpm.ervu_business_metrics .graph-legend-right .text-wrap text.level-1 { + padding-left: var(--level-1); +} +.webbpm.ervu_business_metrics .graph-legend-right .text-wrap text.level-2 { + padding-left: var(--level-2); +} +.webbpm.ervu_business_metrics .graph-legend-right .text-wrap text.level-3 { + padding-left: var(--level-3); +} .webbpm.ervu_business_metrics .graph-legend-right .text-wrap text > .form-group > div:last-of-type { display: inline-block; width: auto; @@ -482,6 +491,7 @@ white-space: nowrap; overflow: hidden; } + .webbpm.ervu_business_metrics .graph-text-hidden { height: calc(var(--size-text-primary)*1.5); } diff --git a/frontend/src/resources/css/inbox-business-metrics.css b/frontend/src/resources/css/inbox-business-metrics.css index a4b8f77..7b44cd8 100644 --- a/frontend/src/resources/css/inbox-business-metrics.css +++ b/frontend/src/resources/css/inbox-business-metrics.css @@ -42,6 +42,9 @@ --indent-mini: 8px; --indent-xmini: 4px; + --level-1: 24px; + --level-2: calc(2*var(--level-1)); + --level-3: calc(3*var(--level-1)); --h-header: 68px; } From 33d9ee206e4194c1bf9527ebaa4409a7c3525bd4 Mon Sep 17 00:00:00 2001 From: "adel.ka" Date: Mon, 21 Apr 2025 09:42:23 +0300 Subject: [PATCH 07/40] SUPPORT-9122:add reconcile data --- .../config/IdmReconcileEnabledCondition.java | 19 + .../dao/IdmDirectoriesDao.java | 112 +++++ .../dao/IdmDirectoriesDaoService.java | 33 -- .../kafka/KafkaConfig.java | 9 + .../kafka/KafkaConsumerInitializer.java | 54 ++ .../listener/IdmDirectoriesListener.java | 49 +- .../kafka/model/DeleteKafkaMessage.java | 47 ++ .../kafka/model/UpsertMessage.java | 21 + .../model/AccountData.java | 132 +++++ .../model/DomainData.java | 460 +++++++++++++++++ .../model/ReferenceEntity.java | 19 + .../ervu_business_metrics/model/RoleData.java | 109 ++++ .../model/dto/AccountResponse.java | 184 ------- .../model/dto/DomainResponse.java | 474 ------------------ .../model/dto/PersonResponse.java | 169 ------- .../model/dto/RoleResponse.java | 124 ----- .../service/IdmDirectoriesDaoService.java | 100 ++++ .../service/IdmDirectoriesService.java | 276 ++++------ .../service/processor/DataProcessor.java | 11 + .../processor/impl/AccountDataProcessor.java | 93 ++++ .../processor/impl/DomainDataProcessor.java | 106 ++++ .../processor/impl/RoleDataProcessor.java | 70 +++ .../exception/IdmDirectoriesException.java | 18 + .../v_1.0/20250418-SUPPORT-9122_add_idm.xml | 43 +- config/micord.env | 17 +- .../main/resources/database/datasource.xml | 1 + 26 files changed, 1522 insertions(+), 1228 deletions(-) create mode 100644 backend/src/main/java/ervu_business_metrics/config/IdmReconcileEnabledCondition.java create mode 100644 backend/src/main/java/ervu_business_metrics/dao/IdmDirectoriesDao.java delete mode 100644 backend/src/main/java/ervu_business_metrics/dao/IdmDirectoriesDaoService.java create mode 100644 backend/src/main/java/ervu_business_metrics/kafka/KafkaConsumerInitializer.java create mode 100644 backend/src/main/java/ervu_business_metrics/kafka/model/DeleteKafkaMessage.java create mode 100644 backend/src/main/java/ervu_business_metrics/kafka/model/UpsertMessage.java create mode 100644 backend/src/main/java/ervu_business_metrics/model/AccountData.java create mode 100644 backend/src/main/java/ervu_business_metrics/model/DomainData.java create mode 100644 backend/src/main/java/ervu_business_metrics/model/ReferenceEntity.java create mode 100644 backend/src/main/java/ervu_business_metrics/model/RoleData.java delete mode 100644 backend/src/main/java/ervu_business_metrics/model/dto/AccountResponse.java delete mode 100644 backend/src/main/java/ervu_business_metrics/model/dto/DomainResponse.java delete mode 100644 backend/src/main/java/ervu_business_metrics/model/dto/PersonResponse.java delete mode 100644 backend/src/main/java/ervu_business_metrics/model/dto/RoleResponse.java create mode 100644 backend/src/main/java/ervu_business_metrics/service/IdmDirectoriesDaoService.java create mode 100644 backend/src/main/java/ervu_business_metrics/service/processor/DataProcessor.java create mode 100644 backend/src/main/java/ervu_business_metrics/service/processor/impl/AccountDataProcessor.java create mode 100644 backend/src/main/java/ervu_business_metrics/service/processor/impl/DomainDataProcessor.java create mode 100644 backend/src/main/java/ervu_business_metrics/service/processor/impl/RoleDataProcessor.java create mode 100644 backend/src/main/java/exception/IdmDirectoriesException.java diff --git a/backend/src/main/java/ervu_business_metrics/config/IdmReconcileEnabledCondition.java b/backend/src/main/java/ervu_business_metrics/config/IdmReconcileEnabledCondition.java new file mode 100644 index 0000000..889718c --- /dev/null +++ b/backend/src/main/java/ervu_business_metrics/config/IdmReconcileEnabledCondition.java @@ -0,0 +1,19 @@ +package ervu_business_metrics.config; + +import org.springframework.context.annotation.Condition; +import org.springframework.context.annotation.ConditionContext; +import org.springframework.core.env.Environment; +import org.springframework.core.type.AnnotatedTypeMetadata; + +/** + * @author Adel Kalimullin + */ +public class IdmReconcileEnabledCondition implements Condition { + private static final String ERVU_RECONCILE_ENABLED = "ervu.idm.reconcile.enabled"; + + @Override + public boolean matches(ConditionContext context, AnnotatedTypeMetadata metadata) { + Environment env = context.getEnvironment(); + return Boolean.parseBoolean(env.getProperty(ERVU_RECONCILE_ENABLED, Boolean.toString(true))); + } +} diff --git a/backend/src/main/java/ervu_business_metrics/dao/IdmDirectoriesDao.java b/backend/src/main/java/ervu_business_metrics/dao/IdmDirectoriesDao.java new file mode 100644 index 0000000..3882355 --- /dev/null +++ b/backend/src/main/java/ervu_business_metrics/dao/IdmDirectoriesDao.java @@ -0,0 +1,112 @@ +package ervu_business_metrics.dao; + +import java.util.HashSet; +import java.util.List; +import java.util.Set; + +import ervu_business_metrics.config.IdmReconcileEnabledCondition; +import org.jooq.DSLContext; +import org.springframework.context.annotation.Conditional; +import org.springframework.stereotype.Repository; +import ru.micord.webbpm.ervu.business_metrics.db_beans.idm_reconcile.tables.records.AccountRecord; +import ru.micord.webbpm.ervu.business_metrics.db_beans.idm_reconcile.tables.records.AccountRoleRecord; +import ru.micord.webbpm.ervu.business_metrics.db_beans.idm_reconcile.tables.records.DomainRecord; +import ru.micord.webbpm.ervu.business_metrics.db_beans.idm_reconcile.tables.records.RoleRecord; + +import static ru.micord.webbpm.ervu.business_metrics.db_beans.idm_reconcile.Tables.ACCOUNT; +import static ru.micord.webbpm.ervu.business_metrics.db_beans.idm_reconcile.Tables.ACCOUNT_ROLE; +import static ru.micord.webbpm.ervu.business_metrics.db_beans.idm_reconcile.Tables.DOMAIN; +import static ru.micord.webbpm.ervu.business_metrics.db_beans.idm_reconcile.Tables.ROLE; + +/** + * @author Adel Kalimullin + */ +@Repository +@Conditional(IdmReconcileEnabledCondition.class) +public class IdmDirectoriesDao { + private final DSLContext dsl; + + public IdmDirectoriesDao(DSLContext dsl) { + this.dsl = dsl; + } + + public RoleRecord getRoleRecord() { + return dsl.newRecord(ROLE); + } + + public DomainRecord getDomainRecord() { + return dsl.newRecord(DOMAIN); + } + + public AccountRecord getAccountRecord() { + return dsl.newRecord(ACCOUNT); + } + + public AccountRoleRecord getAccountRoleRecord() { + return dsl.newRecord(ACCOUNT_ROLE); + } + + public Set getAccountIds() { + return new HashSet<>(dsl.select(ACCOUNT.ID) + .from(ACCOUNT) + .fetch(ACCOUNT.ID)); + } + + public Set getRoleIds() { + return new HashSet<>(dsl.select(ROLE.ID) + .from(ROLE) + .fetch(ROLE.ID)); + } + + public Set getDomainIds() { + return new HashSet<>(dsl.select(DOMAIN.ID) + .from(DOMAIN) + .fetch(DOMAIN.ID)); + } + + public void insertDomainRecords(List domainRecords) { + dsl.batchInsert(domainRecords).execute(); + } + + public void updateDomainRecords(List domainRecords) { + dsl.batchUpdate(domainRecords).execute(); + } + + public void insertRoleRecords(List newRoleRecords) { + dsl.batchInsert(newRoleRecords).execute(); + } + + public void updateRoleRecords(List roleRecords) { + dsl.batchUpdate(roleRecords).execute(); + } + + public void insertAccountRecords(List newAccountRecords) { + dsl.batchInsert(newAccountRecords).execute(); + } + + public void updateAccountRecords(List accountRecords) { + dsl.batchUpdate(accountRecords).execute(); + } + + public void insertAccountRoleRecords(List newAccountRoleRecords) { + dsl.batchInsert(newAccountRoleRecords).execute(); + } + + public void deleteAccountRolesByAccountIds(List accountIds) { + dsl.deleteFrom(ACCOUNT_ROLE) + .where(ACCOUNT_ROLE.ACCOUNT_ID.in(accountIds)) + .execute(); + } + + public void deleteAccountByIds(List accountIds) { + dsl.deleteFrom(ACCOUNT) + .where(ACCOUNT.ID.in(accountIds)) + .execute(); + } + + public void deleteDomainsByIds(List domainIds) { + dsl.deleteFrom(DOMAIN) + .where(DOMAIN.ID.in(domainIds)) + .execute(); + } +} diff --git a/backend/src/main/java/ervu_business_metrics/dao/IdmDirectoriesDaoService.java b/backend/src/main/java/ervu_business_metrics/dao/IdmDirectoriesDaoService.java deleted file mode 100644 index 6261416..0000000 --- a/backend/src/main/java/ervu_business_metrics/dao/IdmDirectoriesDaoService.java +++ /dev/null @@ -1,33 +0,0 @@ -package ervu_business_metrics.dao; - - - - -import org.jooq.DSLContext; -import org.springframework.stereotype.Repository; -import ru.micord.webbpm.ervu.business_metrics.db_beans.idm_reconcile.tables.records.DomainRecord; -import ru.micord.webbpm.ervu.business_metrics.db_beans.idm_reconcile.tables.records.RoleRecord; - -import static ru.micord.webbpm.ervu.business_metrics.db_beans.idm_reconcile.Tables.DOMAIN; -import static ru.micord.webbpm.ervu.business_metrics.db_beans.idm_reconcile.Tables.ROLE; - - -/** - * @author Adel Kalimullin - */ -@Repository -public class IdmDirectoriesDaoService { - private final DSLContext dsl; - - public IdmDirectoriesDaoService(DSLContext dsl) { - this.dsl = dsl; - } - - public RoleRecord getRoleRecord() { - return dsl.newRecord(ROLE); - } - - public DomainRecord getDomainRecord() { - return dsl.newRecord(DOMAIN); - } -} diff --git a/backend/src/main/java/ervu_business_metrics/kafka/KafkaConfig.java b/backend/src/main/java/ervu_business_metrics/kafka/KafkaConfig.java index 501e2df..cd01fca 100644 --- a/backend/src/main/java/ervu_business_metrics/kafka/KafkaConfig.java +++ b/backend/src/main/java/ervu_business_metrics/kafka/KafkaConfig.java @@ -3,15 +3,18 @@ package ervu_business_metrics.kafka; import java.util.HashMap; import java.util.Map; +import ervu_business_metrics.config.IdmReconcileEnabledCondition; import org.apache.kafka.clients.CommonClientConfigs; import org.apache.kafka.clients.consumer.ConsumerConfig; import org.apache.kafka.common.config.SaslConfigs; import org.apache.kafka.common.serialization.StringDeserializer; import org.springframework.beans.factory.annotation.Value; import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Conditional; import org.springframework.context.annotation.Configuration; import org.springframework.kafka.annotation.EnableKafka; import org.springframework.kafka.config.ConcurrentKafkaListenerContainerFactory; +import org.springframework.kafka.config.KafkaListenerEndpointRegistry; import org.springframework.kafka.core.ConsumerFactory; import org.springframework.kafka.core.DefaultKafkaConsumerFactory; @@ -20,6 +23,7 @@ import org.springframework.kafka.core.DefaultKafkaConsumerFactory; */ @Configuration @EnableKafka +@Conditional(IdmReconcileEnabledCondition.class) public class KafkaConfig { @Value("${kafka.hosts}") private String bootstrapServers; @@ -34,6 +38,11 @@ public class KafkaConfig { @Value("${kafka.auth_sasl_mech}") private String saslMechanism; + @Bean + public KafkaListenerEndpointRegistry kafkaListenerEndpointRegistry() { + return new KafkaListenerEndpointRegistry(); + } + @Bean public ConsumerFactory consumerFactory() { return new DefaultKafkaConsumerFactory<>(consumerConfigs()); diff --git a/backend/src/main/java/ervu_business_metrics/kafka/KafkaConsumerInitializer.java b/backend/src/main/java/ervu_business_metrics/kafka/KafkaConsumerInitializer.java new file mode 100644 index 0000000..3de8adc --- /dev/null +++ b/backend/src/main/java/ervu_business_metrics/kafka/KafkaConsumerInitializer.java @@ -0,0 +1,54 @@ +package ervu_business_metrics.kafka; + +import javax.annotation.PostConstruct; + +import ervu_business_metrics.config.IdmReconcileEnabledCondition; +import ervu_business_metrics.service.IdmDirectoriesService; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.context.annotation.Conditional; +import org.springframework.context.annotation.DependsOn; +import org.springframework.kafka.config.KafkaListenerEndpointRegistry; +import org.springframework.kafka.listener.MessageListenerContainer; +import org.springframework.stereotype.Component; + +/** + * @author Adel Kalimullin + */ +@Component +@DependsOn("idmDirectoriesListener") +@Conditional(IdmReconcileEnabledCondition.class) +public class KafkaConsumerInitializer { + private final KafkaListenerEndpointRegistry kafkaListenerEndpointRegistry; + private final IdmDirectoriesService idmDirectoriesService; + @Value("${kafka.domain.group.id}") + private String domainGroupId; + @Value("${kafka.role.group.id}") + private String roleGroupId; + @Value("${kafka.account.group.id}") + private String accountGroupId; + + public KafkaConsumerInitializer(KafkaListenerEndpointRegistry kafkaListenerEndpointRegistry, + IdmDirectoriesService idmDirectoriesService) { + this.kafkaListenerEndpointRegistry = kafkaListenerEndpointRegistry; + this.idmDirectoriesService = idmDirectoriesService; + } + + @PostConstruct + public void initialize() { + startKafkaListener(domainGroupId); + startKafkaListener(roleGroupId); + startKafkaListener(accountGroupId); + + new Thread(idmDirectoriesService::updateDirectories).start(); + } + + private void startKafkaListener(String listenerId) { + MessageListenerContainer container = kafkaListenerEndpointRegistry.getListenerContainer(listenerId); + if (container != null) { + container.start(); + } + else { + throw new IllegalStateException("Kafka Listener not found: " + listenerId); + } + } +} diff --git a/backend/src/main/java/ervu_business_metrics/kafka/listener/IdmDirectoriesListener.java b/backend/src/main/java/ervu_business_metrics/kafka/listener/IdmDirectoriesListener.java index 70c8872..eda5cf5 100644 --- a/backend/src/main/java/ervu_business_metrics/kafka/listener/IdmDirectoriesListener.java +++ b/backend/src/main/java/ervu_business_metrics/kafka/listener/IdmDirectoriesListener.java @@ -1,6 +1,11 @@ package ervu_business_metrics.kafka.listener; +import ervu_business_metrics.config.IdmReconcileEnabledCondition; +import ervu_business_metrics.model.AccountData; +import ervu_business_metrics.model.DomainData; +import ervu_business_metrics.model.RoleData; import ervu_business_metrics.service.IdmDirectoriesService; +import org.springframework.context.annotation.Conditional; import org.springframework.kafka.annotation.KafkaListener; import org.springframework.stereotype.Component; @@ -8,26 +13,56 @@ import org.springframework.stereotype.Component; * @author Adel Kalimullin */ @Component +@Conditional(IdmReconcileEnabledCondition.class) public class IdmDirectoriesListener { - private IdmDirectoriesService idmDirectoriesService; + private final IdmDirectoriesService idmDirectoriesService; + + public IdmDirectoriesListener(IdmDirectoriesService idmDirectoriesService) { + this.idmDirectoriesService = idmDirectoriesService; + } @KafkaListener(id = "${kafka.domain.group.id}", topics = "${kafka.domain.reconciliation}") public void listenKafkaDomain(String kafkaMessage) { - idmDirectoriesService.upsertKafkaDomainMessage(kafkaMessage); + idmDirectoriesService.processUpsertMessage(kafkaMessage, DomainData.class); } @KafkaListener(id = "${kafka.role.group.id}", topics = "${kafka.role.reconciliation}") public void listenKafkaRole(String kafkaMessage) { - idmDirectoriesService.upsertKafkaRoleMessage(kafkaMessage); + idmDirectoriesService.processUpsertMessage(kafkaMessage, RoleData.class); } @KafkaListener(id = "${kafka.account.group.id}", topics = "${kafka.account.reconciliation}") public void listenKafkaAccount(String kafkaMessage) { - idmDirectoriesService.upsertKafkaAccountMessage(kafkaMessage); + idmDirectoriesService.processUpsertMessage(kafkaMessage, AccountData.class); } - @KafkaListener(id = "${kafka.person.group.id}", topics = "${kafka.person.reconciliation}") - public void listenKafkaPerson(String kafkaMessage) { - idmDirectoriesService.upsertKafkaPersonMessage(kafkaMessage); + @KafkaListener(id = "${kafka.domain.updated.group.id}", topics = "${kafka.domain.updated}") + public void listenKafkaDomainUpdated(String kafkaMessage) { + idmDirectoriesService.processUpsertMessage(kafkaMessage, DomainData.class); + } + + @KafkaListener(id = "${kafka.domain.created.group.id}", topics = "${kafka.domain.created}") + public void listenKafkaDomainCreated(String kafkaMessage) { + idmDirectoriesService.processUpsertMessage(kafkaMessage, DomainData.class); + } + + @KafkaListener(id = "${kafka.account.updated.group.id}", topics = "${kafka.account.updated}") + public void listenKafkaAccountUpdated(String kafkaMessage) { + idmDirectoriesService.processUpsertMessage(kafkaMessage, AccountData.class); + } + + @KafkaListener(id = "${kafka.account.created.group.id}", topics = "${kafka.account.created}") + public void listenKafkaAccountCreated(String kafkaMessage) { + idmDirectoriesService.processUpsertMessage(kafkaMessage, AccountData.class); + } + + @KafkaListener(id = "${kafka.domain.deleted.group.id}", topics = "${kafka.domain.deleted}") + public void listenKafkaDomainDeleted(String kafkaMessage) { + idmDirectoriesService.processDeleteMessage(kafkaMessage, DomainData.class); + } + + @KafkaListener(id = "${kafka.account.deleted.group.id}", topics = "${kafka.account.deleted}") + public void listenKafkaAccountDeleted(String kafkaMessage) { + idmDirectoriesService.processDeleteMessage(kafkaMessage, AccountData.class); } } diff --git a/backend/src/main/java/ervu_business_metrics/kafka/model/DeleteKafkaMessage.java b/backend/src/main/java/ervu_business_metrics/kafka/model/DeleteKafkaMessage.java new file mode 100644 index 0000000..0382c67 --- /dev/null +++ b/backend/src/main/java/ervu_business_metrics/kafka/model/DeleteKafkaMessage.java @@ -0,0 +1,47 @@ +package ervu_business_metrics.kafka.model; + +import java.util.List; + +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; + +/** + * @author Adel Kalimullin + */ +@JsonIgnoreProperties(ignoreUnknown = true) +public class DeleteKafkaMessage { + private boolean success; + private String message; + private List data; + private String origin; + public List getData() { + return data; + } + + public void setData(List data) { + this.data = data; + } + + public boolean isSuccess() { + return success; + } + + public void setSuccess(boolean success) { + this.success = success; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public String getOrigin() { + return origin; + } + + public void setOrigin(String origin) { + this.origin = origin; + } +} diff --git a/backend/src/main/java/ervu_business_metrics/kafka/model/UpsertMessage.java b/backend/src/main/java/ervu_business_metrics/kafka/model/UpsertMessage.java new file mode 100644 index 0000000..220dafc --- /dev/null +++ b/backend/src/main/java/ervu_business_metrics/kafka/model/UpsertMessage.java @@ -0,0 +1,21 @@ +package ervu_business_metrics.kafka.model; + +import java.util.List; + +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; + +/** + * @author Adel Kalimullin + */ +@JsonIgnoreProperties(ignoreUnknown = true) +public class UpsertMessage{ + private List data; + + public List getData() { + return data; + } + + public void setData(List data) { + this.data = data; + } +} diff --git a/backend/src/main/java/ervu_business_metrics/model/AccountData.java b/backend/src/main/java/ervu_business_metrics/model/AccountData.java new file mode 100644 index 0000000..e05f44b --- /dev/null +++ b/backend/src/main/java/ervu_business_metrics/model/AccountData.java @@ -0,0 +1,132 @@ +package ervu_business_metrics.model; + +import java.util.List; + +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import com.fasterxml.jackson.annotation.JsonProperty; + +/** + * @author Adel Kalimullin + */ +@JsonIgnoreProperties(ignoreUnknown = true) +public class AccountData { + private String id; + private int version; + private long modified; + private String schema; + private String start; + private String finish; + private boolean enabled; + private String position; + private String fio; + private String workMail; + private boolean esiaAccount; + @JsonProperty("user-domain") + private ReferenceEntity userDomain; + private List roles; + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public int getVersion() { + return version; + } + + public void setVersion(int version) { + this.version = version; + } + + public long getModified() { + return modified; + } + + public void setModified(long modified) { + this.modified = modified; + } + + public String getSchema() { + return schema; + } + + public void setSchema(String schema) { + this.schema = schema; + } + + public String getStart() { + return start; + } + + public void setStart(String start) { + this.start = start; + } + + public String getFinish() { + return finish; + } + + public void setFinish(String finish) { + this.finish = finish; + } + + public boolean isEnabled() { + return enabled; + } + + public void setEnabled(boolean enabled) { + this.enabled = enabled; + } + + public String getPosition() { + return position; + } + + public void setPosition(String position) { + this.position = position; + } + + public String getFio() { + return fio; + } + + public void setFio(String fio) { + this.fio = fio; + } + + public String getWorkMail() { + return workMail; + } + + public void setWorkMail(String workMail) { + this.workMail = workMail; + } + + public boolean isEsiaAccount() { + return esiaAccount; + } + + public void setEsiaAccount(boolean esiaAccount) { + this.esiaAccount = esiaAccount; + } + + public ReferenceEntity getUserDomain() { + return userDomain; + } + + public void setUserDomain(ReferenceEntity userDomain) { + this.userDomain = userDomain; + } + + public List getRoles() { + return roles; + } + + public void setRoles(List roles) { + this.roles = roles; + } +} + diff --git a/backend/src/main/java/ervu_business_metrics/model/DomainData.java b/backend/src/main/java/ervu_business_metrics/model/DomainData.java new file mode 100644 index 0000000..de3db50 --- /dev/null +++ b/backend/src/main/java/ervu_business_metrics/model/DomainData.java @@ -0,0 +1,460 @@ +package ervu_business_metrics.model; + +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; + +/** + * @author Adel Kalimullin + */ +@JsonIgnoreProperties(ignoreUnknown = true) +public class DomainData { + private String id; + private int version; + private long modified; + private String schema; + private String name; + private String shortname; + private String fullname; + private String dns; + private String email; + private String phone; + private String address; + private String postalAddress; + private String addressId; + private String postalAddressId; + private String militaryCode; + private String timezone; + private boolean reportsEnabled; + private String inn; + private String leg; + private String ogrn; + private String region; + private String epguId; + private String type; + private boolean esiaEmployeeAuthorization; + private String defaultS3Bucket; + private String opf; + private String kpp; + private String checkingAccount; + private String bik; + private String bankName; + private String bankCorrespondentAccount; + private String oktmo; + private String okato; + private String govRegistrationDate; + private String govOrganizationType; + private String aliasKey; + private String passKey; + private String certificate; + private String accountNumberTOFK; + private String bikTOFK; + private String correspondentBankAccountTOFK; + private String nameTOFK; + private String nsiOrganizationId; + private String docHandle; + private String divisionType; + private String tnsDepartmentId; + private boolean enabled; + private String parent; + private String regionId; + private String managed; + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public int getVersion() { + return version; + } + + public void setVersion(int version) { + this.version = version; + } + + public long getModified() { + return modified; + } + + public void setModified(long modified) { + this.modified = modified; + } + + public String getSchema() { + return schema; + } + + public void setSchema(String schema) { + this.schema = schema; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getShortname() { + return shortname; + } + + public void setShortname(String shortname) { + this.shortname = shortname; + } + + public String getFullname() { + return fullname; + } + + public void setFullname(String fullname) { + this.fullname = fullname; + } + + public String getDns() { + return dns; + } + + public void setDns(String dns) { + this.dns = dns; + } + + public String getEmail() { + return email; + } + + public void setEmail(String email) { + this.email = email; + } + + public String getPhone() { + return phone; + } + + public void setPhone(String phone) { + this.phone = phone; + } + + public String getAddress() { + return address; + } + + public void setAddress(String address) { + this.address = address; + } + + public String getPostalAddress() { + return postalAddress; + } + + public void setPostalAddress(String postalAddress) { + this.postalAddress = postalAddress; + } + + public String getAddressId() { + return addressId; + } + + public void setAddressId(String addressId) { + this.addressId = addressId; + } + + public String getPostalAddressId() { + return postalAddressId; + } + + public void setPostalAddressId(String postalAddressId) { + this.postalAddressId = postalAddressId; + } + + public String getMilitaryCode() { + return militaryCode; + } + + public void setMilitaryCode(String militaryCode) { + this.militaryCode = militaryCode; + } + + public String getTimezone() { + return timezone; + } + + public void setTimezone(String timezone) { + this.timezone = timezone; + } + + public boolean isReportsEnabled() { + return reportsEnabled; + } + + public void setReportsEnabled(boolean reportsEnabled) { + this.reportsEnabled = reportsEnabled; + } + + public String getInn() { + return inn; + } + + public void setInn(String inn) { + this.inn = inn; + } + + public String getLeg() { + return leg; + } + + public void setLeg(String leg) { + this.leg = leg; + } + + public String getOgrn() { + return ogrn; + } + + public void setOgrn(String ogrn) { + this.ogrn = ogrn; + } + + public String getRegion() { + return region; + } + + public void setRegion(String region) { + this.region = region; + } + + public String getEpguId() { + return epguId; + } + + public void setEpguId(String epguId) { + this.epguId = epguId; + } + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + public boolean isEsiaEmployeeAuthorization() { + return esiaEmployeeAuthorization; + } + + public void setEsiaEmployeeAuthorization(boolean esiaEmployeeAuthorization) { + this.esiaEmployeeAuthorization = esiaEmployeeAuthorization; + } + + public String getDefaultS3Bucket() { + return defaultS3Bucket; + } + + public void setDefaultS3Bucket(String defaultS3Bucket) { + this.defaultS3Bucket = defaultS3Bucket; + } + + public String getOpf() { + return opf; + } + + public void setOpf(String opf) { + this.opf = opf; + } + + public String getKpp() { + return kpp; + } + + public void setKpp(String kpp) { + this.kpp = kpp; + } + + public String getCheckingAccount() { + return checkingAccount; + } + + public void setCheckingAccount(String checkingAccount) { + this.checkingAccount = checkingAccount; + } + + public String getBik() { + return bik; + } + + public void setBik(String bik) { + this.bik = bik; + } + + public String getBankName() { + return bankName; + } + + public void setBankName(String bankName) { + this.bankName = bankName; + } + + public String getBankCorrespondentAccount() { + return bankCorrespondentAccount; + } + + public void setBankCorrespondentAccount(String bankCorrespondentAccount) { + this.bankCorrespondentAccount = bankCorrespondentAccount; + } + + public String getOktmo() { + return oktmo; + } + + public void setOktmo(String oktmo) { + this.oktmo = oktmo; + } + + public String getOkato() { + return okato; + } + + public void setOkato(String okato) { + this.okato = okato; + } + + public String getGovRegistrationDate() { + return govRegistrationDate; + } + + public void setGovRegistrationDate(String govRegistrationDate) { + this.govRegistrationDate = govRegistrationDate; + } + + public String getGovOrganizationType() { + return govOrganizationType; + } + + public void setGovOrganizationType(String govOrganizationType) { + this.govOrganizationType = govOrganizationType; + } + + public String getAliasKey() { + return aliasKey; + } + + public void setAliasKey(String aliasKey) { + this.aliasKey = aliasKey; + } + + public String getPassKey() { + return passKey; + } + + public void setPassKey(String passKey) { + this.passKey = passKey; + } + + public String getCertificate() { + return certificate; + } + + public void setCertificate(String certificate) { + this.certificate = certificate; + } + + public String getAccountNumberTOFK() { + return accountNumberTOFK; + } + + public void setAccountNumberTOFK(String accountNumberTOFK) { + this.accountNumberTOFK = accountNumberTOFK; + } + + public String getBikTOFK() { + return bikTOFK; + } + + public void setBikTOFK(String bikTOFK) { + this.bikTOFK = bikTOFK; + } + + public String getCorrespondentBankAccountTOFK() { + return correspondentBankAccountTOFK; + } + + public void setCorrespondentBankAccountTOFK(String correspondentBankAccountTOFK) { + this.correspondentBankAccountTOFK = correspondentBankAccountTOFK; + } + + public String getNameTOFK() { + return nameTOFK; + } + + public void setNameTOFK(String nameTOFK) { + this.nameTOFK = nameTOFK; + } + + public String getNsiOrganizationId() { + return nsiOrganizationId; + } + + public void setNsiOrganizationId(String nsiOrganizationId) { + this.nsiOrganizationId = nsiOrganizationId; + } + + public String getDocHandle() { + return docHandle; + } + + public void setDocHandle(String docHandle) { + this.docHandle = docHandle; + } + + public String getDivisionType() { + return divisionType; + } + + public void setDivisionType(String divisionType) { + this.divisionType = divisionType; + } + + public String getTnsDepartmentId() { + return tnsDepartmentId; + } + + public void setTnsDepartmentId(String tnsDepartmentId) { + this.tnsDepartmentId = tnsDepartmentId; + } + + public boolean isEnabled() { + return enabled; + } + + public void setEnabled(boolean enabled) { + this.enabled = enabled; + } + + public String getParent() { + return parent; + } + + public void setParent(String parent) { + this.parent = parent; + } + + public String getRegionId() { + return regionId; + } + + public void setRegionId(String regionId) { + this.regionId = regionId; + } + + public String getManaged() { + return managed; + } + + public void setManaged(String managed) { + this.managed = managed; + } +} diff --git a/backend/src/main/java/ervu_business_metrics/model/ReferenceEntity.java b/backend/src/main/java/ervu_business_metrics/model/ReferenceEntity.java new file mode 100644 index 0000000..5296d75 --- /dev/null +++ b/backend/src/main/java/ervu_business_metrics/model/ReferenceEntity.java @@ -0,0 +1,19 @@ +package ervu_business_metrics.model; + +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; + +/** + * @author Adel Kalimullin + */ +@JsonIgnoreProperties(ignoreUnknown = true) +public class ReferenceEntity { + private String id; + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } +} diff --git a/backend/src/main/java/ervu_business_metrics/model/RoleData.java b/backend/src/main/java/ervu_business_metrics/model/RoleData.java new file mode 100644 index 0000000..76466d2 --- /dev/null +++ b/backend/src/main/java/ervu_business_metrics/model/RoleData.java @@ -0,0 +1,109 @@ +package ervu_business_metrics.model; + +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; + +/** + * @author Adel Kalimullin + */ +@JsonIgnoreProperties(ignoreUnknown = true) +public class RoleData { + private String id; + private int version; + private long modified; + private String schema; + private String name; + private String shortname; + private String displayName; + private int sessionsLimit; + private boolean ervuRole; + private int imported; + private String description; + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public int getVersion() { + return version; + } + + public void setVersion(int version) { + this.version = version; + } + + public long getModified() { + return modified; + } + + public void setModified(long modified) { + this.modified = modified; + } + + public String getSchema() { + return schema; + } + + public void setSchema(String schema) { + this.schema = schema; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getShortname() { + return shortname; + } + + public void setShortname(String shortname) { + this.shortname = shortname; + } + + public String getDisplayName() { + return displayName; + } + + public void setDisplayName(String displayName) { + this.displayName = displayName; + } + + public int getSessionsLimit() { + return sessionsLimit; + } + + public void setSessionsLimit(int sessionsLimit) { + this.sessionsLimit = sessionsLimit; + } + + public boolean isErvuRole() { + return ervuRole; + } + + public void setErvuRole(boolean ervuRole) { + this.ervuRole = ervuRole; + } + + public int getImported() { + return imported; + } + + public void setImported(int imported) { + this.imported = imported; + } + + public String getDescription() { + return description; + } + + public void setDescription(String description) { + this.description = description; + } +} diff --git a/backend/src/main/java/ervu_business_metrics/model/dto/AccountResponse.java b/backend/src/main/java/ervu_business_metrics/model/dto/AccountResponse.java deleted file mode 100644 index 6364b3c..0000000 --- a/backend/src/main/java/ervu_business_metrics/model/dto/AccountResponse.java +++ /dev/null @@ -1,184 +0,0 @@ -package ervu_business_metrics.model.dto; - -import java.util.List; - -import com.fasterxml.jackson.annotation.JsonIgnoreProperties; -import com.fasterxml.jackson.annotation.JsonProperty; - -/** - * @author Adel Kalimullin - */ -@JsonIgnoreProperties(ignoreUnknown = true) -public class AccountResponse { - private List data; - - public List getData() { - return data; - } - - public void setData(List data) { - this.data = data; - } - - @JsonIgnoreProperties(ignoreUnknown = true) - public static class Data { - private String id; - private int version; - private long modified; - private String schema; - private String start; - private String finish; - private boolean enabled; - private String position; - private String fio; - private String workMail; - private boolean esiaAccount; - private String userDomainId; - private String personId; - @JsonProperty("user-domain") - private ReferenceEntity userDomain; - private ReferenceEntity person; - private List roles; - - public String getId() { - return id; - } - - public void setId(String id) { - this.id = id; - } - - public int getVersion() { - return version; - } - - public void setVersion(int version) { - this.version = version; - } - - public long getModified() { - return modified; - } - - public void setModified(long modified) { - this.modified = modified; - } - - public String getSchema() { - return schema; - } - - public void setSchema(String schema) { - this.schema = schema; - } - - public String getStart() { - return start; - } - - public void setStart(String start) { - this.start = start; - } - - public String getFinish() { - return finish; - } - - public void setFinish(String finish) { - this.finish = finish; - } - - public boolean isEnabled() { - return enabled; - } - - public void setEnabled(boolean enabled) { - this.enabled = enabled; - } - - public String getPosition() { - return position; - } - - public void setPosition(String position) { - this.position = position; - } - - public String getFio() { - return fio; - } - - public void setFio(String fio) { - this.fio = fio; - } - - public String getWorkMail() { - return workMail; - } - - public void setWorkMail(String workMail) { - this.workMail = workMail; - } - - public boolean isEsiaAccount() { - return esiaAccount; - } - - public void setEsiaAccount(boolean esiaAccount) { - this.esiaAccount = esiaAccount; - } - - public String getUserDomainId() { - return userDomainId; - } - - public void setUserDomainId(String userDomainId) { - this.userDomainId = userDomainId; - } - - public String getPersonId() { - return personId; - } - - public void setPersonId(String personId) { - this.personId = personId; - } - - public ReferenceEntity getUserDomain() { - return userDomain; - } - - public void setUserDomain(ReferenceEntity userDomain) { - this.userDomain = userDomain; - } - - public ReferenceEntity getPerson() { - return person; - } - - public void setPerson(ReferenceEntity person) { - this.person = person; - } - - public List getRoles() { - return roles; - } - - public void setRoles(List roles) { - this.roles = roles; - } - } - - @JsonIgnoreProperties(ignoreUnknown = true) - public static class ReferenceEntity { - private String id; - - public String getId() { - return id; - } - - public void setId(String id) { - this.id = id; - } - } -} diff --git a/backend/src/main/java/ervu_business_metrics/model/dto/DomainResponse.java b/backend/src/main/java/ervu_business_metrics/model/dto/DomainResponse.java deleted file mode 100644 index 8722c80..0000000 --- a/backend/src/main/java/ervu_business_metrics/model/dto/DomainResponse.java +++ /dev/null @@ -1,474 +0,0 @@ -package ervu_business_metrics.model.dto; -import java.util.List; - -import com.fasterxml.jackson.annotation.JsonIgnoreProperties; - -/** - * @author Eduard Tihomirov - */ -@JsonIgnoreProperties(ignoreUnknown = true) -public class DomainResponse{ - private List data; - - public List getData() { - return data; - } - - public void setData(List data) { - this.data = data; - } - - @JsonIgnoreProperties(ignoreUnknown = true) - public static class Data { - private String id; - private int version; - private long modified; - private String schema; - private String name; - private String shortname; - private String fullname; - private String dns; - private String email; - private String phone; - private String address; - private String postalAddress; - private String addressId; - private String postalAddressId; - private String militaryCode; - private String timezone; - private boolean reportsEnabled; - private String inn; - private String leg; - private String ogrn; - private String region; - private String epguId; - private String type; - private boolean esiaEmployeeAuthorization; - private String defaultS3Bucket; - private String opf; - private String kpp; - private String checkingAccount; - private String bik; - private String bankName; - private String bankCorrespondentAccount; - private String oktmo; - private String okato; - private String govRegistrationDate; - private String govOrganizationType; - private String aliasKey; - private String passKey; - private String certificate; - private String accountNumberTOFK; - private String bikTOFK; - private String correspondentBankAccountTOFK; - private String nameTOFK; - private String nsiOrganizationId; - private String docHandle; - private String divisionType; - private String tnsDepartmentId; - private boolean enabled; - private String parent; - private String regionId; - private String managed; - - public String getId() { - return id; - } - - public void setId(String id) { - this.id = id; - } - - public int getVersion() { - return version; - } - - public void setVersion(int version) { - this.version = version; - } - - public long getModified() { - return modified; - } - - public void setModified(long modified) { - this.modified = modified; - } - - public String getSchema() { - return schema; - } - - public void setSchema(String schema) { - this.schema = schema; - } - - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name; - } - - public String getShortname() { - return shortname; - } - - public void setShortname(String shortname) { - this.shortname = shortname; - } - - public String getFullname() { - return fullname; - } - - public void setFullname(String fullname) { - this.fullname = fullname; - } - - public String getDns() { - return dns; - } - - public void setDns(String dns) { - this.dns = dns; - } - - public String getEmail() { - return email; - } - - public void setEmail(String email) { - this.email = email; - } - - public String getPhone() { - return phone; - } - - public void setPhone(String phone) { - this.phone = phone; - } - - public String getAddress() { - return address; - } - - public void setAddress(String address) { - this.address = address; - } - - public String getPostalAddress() { - return postalAddress; - } - - public void setPostalAddress(String postalAddress) { - this.postalAddress = postalAddress; - } - - public String getAddressId() { - return addressId; - } - - public void setAddressId(String addressId) { - this.addressId = addressId; - } - - public String getPostalAddressId() { - return postalAddressId; - } - - public void setPostalAddressId(String postalAddressId) { - this.postalAddressId = postalAddressId; - } - - public String getMilitaryCode() { - return militaryCode; - } - - public void setMilitaryCode(String militaryCode) { - this.militaryCode = militaryCode; - } - - public String getTimezone() { - return timezone; - } - - public void setTimezone(String timezone) { - this.timezone = timezone; - } - - public boolean isReportsEnabled() { - return reportsEnabled; - } - - public void setReportsEnabled(boolean reportsEnabled) { - this.reportsEnabled = reportsEnabled; - } - - public String getInn() { - return inn; - } - - public void setInn(String inn) { - this.inn = inn; - } - - public String getLeg() { - return leg; - } - - public void setLeg(String leg) { - this.leg = leg; - } - - public String getOgrn() { - return ogrn; - } - - public void setOgrn(String ogrn) { - this.ogrn = ogrn; - } - - public String getRegion() { - return region; - } - - public void setRegion(String region) { - this.region = region; - } - - public String getEpguId() { - return epguId; - } - - public void setEpguId(String epguId) { - this.epguId = epguId; - } - - public String getType() { - return type; - } - - public void setType(String type) { - this.type = type; - } - - public boolean isEsiaEmployeeAuthorization() { - return esiaEmployeeAuthorization; - } - - public void setEsiaEmployeeAuthorization(boolean esiaEmployeeAuthorization) { - this.esiaEmployeeAuthorization = esiaEmployeeAuthorization; - } - - public String getDefaultS3Bucket() { - return defaultS3Bucket; - } - - public void setDefaultS3Bucket(String defaultS3Bucket) { - this.defaultS3Bucket = defaultS3Bucket; - } - - public String getOpf() { - return opf; - } - - public void setOpf(String opf) { - this.opf = opf; - } - - public String getKpp() { - return kpp; - } - - public void setKpp(String kpp) { - this.kpp = kpp; - } - - public String getCheckingAccount() { - return checkingAccount; - } - - public void setCheckingAccount(String checkingAccount) { - this.checkingAccount = checkingAccount; - } - - public String getBik() { - return bik; - } - - public void setBik(String bik) { - this.bik = bik; - } - - public String getBankName() { - return bankName; - } - - public void setBankName(String bankName) { - this.bankName = bankName; - } - - public String getBankCorrespondentAccount() { - return bankCorrespondentAccount; - } - - public void setBankCorrespondentAccount(String bankCorrespondentAccount) { - this.bankCorrespondentAccount = bankCorrespondentAccount; - } - - public String getOktmo() { - return oktmo; - } - - public void setOktmo(String oktmo) { - this.oktmo = oktmo; - } - - public String getOkato() { - return okato; - } - - public void setOkato(String okato) { - this.okato = okato; - } - - public String getGovRegistrationDate() { - return govRegistrationDate; - } - - public void setGovRegistrationDate(String govRegistrationDate) { - this.govRegistrationDate = govRegistrationDate; - } - - public String getGovOrganizationType() { - return govOrganizationType; - } - - public void setGovOrganizationType(String govOrganizationType) { - this.govOrganizationType = govOrganizationType; - } - - public String getAliasKey() { - return aliasKey; - } - - public void setAliasKey(String aliasKey) { - this.aliasKey = aliasKey; - } - - public String getPassKey() { - return passKey; - } - - public void setPassKey(String passKey) { - this.passKey = passKey; - } - - public String getCertificate() { - return certificate; - } - - public void setCertificate(String certificate) { - this.certificate = certificate; - } - - public String getAccountNumberTOFK() { - return accountNumberTOFK; - } - - public void setAccountNumberTOFK(String accountNumberTOFK) { - this.accountNumberTOFK = accountNumberTOFK; - } - - public String getBikTOFK() { - return bikTOFK; - } - - public void setBikTOFK(String bikTOFK) { - this.bikTOFK = bikTOFK; - } - - public String getCorrespondentBankAccountTOFK() { - return correspondentBankAccountTOFK; - } - - public void setCorrespondentBankAccountTOFK(String correspondentBankAccountTOFK) { - this.correspondentBankAccountTOFK = correspondentBankAccountTOFK; - } - - public String getNameTOFK() { - return nameTOFK; - } - - public void setNameTOFK(String nameTOFK) { - this.nameTOFK = nameTOFK; - } - - public String getNsiOrganizationId() { - return nsiOrganizationId; - } - - public void setNsiOrganizationId(String nsiOrganizationId) { - this.nsiOrganizationId = nsiOrganizationId; - } - - public String getDocHandle() { - return docHandle; - } - - public void setDocHandle(String docHandle) { - this.docHandle = docHandle; - } - - public String getDivisionType() { - return divisionType; - } - - public void setDivisionType(String divisionType) { - this.divisionType = divisionType; - } - - public String getTnsDepartmentId() { - return tnsDepartmentId; - } - - public void setTnsDepartmentId(String tnsDepartmentId) { - this.tnsDepartmentId = tnsDepartmentId; - } - - public boolean isEnabled() { - return enabled; - } - - public void setEnabled(boolean enabled) { - this.enabled = enabled; - } - - public String getParent() { - return parent; - } - - public void setParent(String parent) { - this.parent = parent; - } - - public String getRegionId() { - return regionId; - } - - public void setRegionId(String regionId) { - this.regionId = regionId; - } - - public String getManaged() { - return managed; - } - - public void setManaged(String managed) { - this.managed = managed; - } - } -} diff --git a/backend/src/main/java/ervu_business_metrics/model/dto/PersonResponse.java b/backend/src/main/java/ervu_business_metrics/model/dto/PersonResponse.java deleted file mode 100644 index 32a71e4..0000000 --- a/backend/src/main/java/ervu_business_metrics/model/dto/PersonResponse.java +++ /dev/null @@ -1,169 +0,0 @@ -package ervu_business_metrics.model.dto; - -import java.util.List; - -import com.fasterxml.jackson.annotation.JsonIgnoreProperties; - -/** - * @author Adel Kalimullin - */ -@JsonIgnoreProperties(ignoreUnknown = true) -public class PersonResponse { - private List data; - - public List getData() { - return data; - } - - public void setData(List data) { - this.data = data; - } - - @JsonIgnoreProperties(ignoreUnknown = true) - public static class Data { - private String id; - private int version; - private long modified; - private String schema; - private String birthdate; - private String firstname; - private String middlename; - private String surname; - private String sex; - private String email; - private String photo; - private String phone; - private String snils; - private boolean secondFactorEnabled; - private List ipAddresses; - private String fio; - - public String getId() { - return id; - } - - public void setId(String id) { - this.id = id; - } - - public int getVersion() { - return version; - } - - public void setVersion(int version) { - this.version = version; - } - - public long getModified() { - return modified; - } - - public void setModified(long modified) { - this.modified = modified; - } - - public String getSchema() { - return schema; - } - - public void setSchema(String schema) { - this.schema = schema; - } - - public String getBirthdate() { - return birthdate; - } - - public void setBirthdate(String birthdate) { - this.birthdate = birthdate; - } - - public String getFirstname() { - return firstname; - } - - public void setFirstname(String firstname) { - this.firstname = firstname; - } - - public String getMiddlename() { - return middlename; - } - - public void setMiddlename(String middlename) { - this.middlename = middlename; - } - - public String getSurname() { - return surname; - } - - public void setSurname(String surname) { - this.surname = surname; - } - - public String getSex() { - return sex; - } - - public void setSex(String sex) { - this.sex = sex; - } - - public String getEmail() { - return email; - } - - public void setEmail(String email) { - this.email = email; - } - - public String getPhoto() { - return photo; - } - - public void setPhoto(String photo) { - this.photo = photo; - } - - public String getPhone() { - return phone; - } - - public void setPhone(String phone) { - this.phone = phone; - } - - public String getSnils() { - return snils; - } - - public void setSnils(String snils) { - this.snils = snils; - } - - public boolean isSecondFactorEnabled() { - return secondFactorEnabled; - } - - public void setSecondFactorEnabled(boolean secondFactorEnabled) { - this.secondFactorEnabled = secondFactorEnabled; - } - - public List getIpAddresses() { - return ipAddresses; - } - - public void setIpAddresses(List ipAddresses) { - this.ipAddresses = ipAddresses; - } - - public String getFio() { - return fio; - } - - public void setFio(String fio) { - this.fio = fio; - } - } -} diff --git a/backend/src/main/java/ervu_business_metrics/model/dto/RoleResponse.java b/backend/src/main/java/ervu_business_metrics/model/dto/RoleResponse.java deleted file mode 100644 index 2e0cf47..0000000 --- a/backend/src/main/java/ervu_business_metrics/model/dto/RoleResponse.java +++ /dev/null @@ -1,124 +0,0 @@ -package ervu_business_metrics.model.dto; - -import java.util.List; - -import com.fasterxml.jackson.annotation.JsonIgnoreProperties; - -/** - * @author Eduard Tihomirov - */ -@JsonIgnoreProperties(ignoreUnknown = true) -public class RoleResponse { - private List data; - - public List getData() { - return data; - } - - public void setData(List data) { - this.data = data; - } - - @JsonIgnoreProperties(ignoreUnknown = true) - public static class Data { - private String id; - private int version; - private long modified; - private String schema; - private String name; - private String shortname; - private String displayName; - private int sessionsLimit; - private boolean ervuRole; - private int imported; - private String description; - - public String getId() { - return id; - } - - public void setId(String id) { - this.id = id; - } - - public int getVersion() { - return version; - } - - public void setVersion(int version) { - this.version = version; - } - - public long getModified() { - return modified; - } - - public void setModified(long modified) { - this.modified = modified; - } - - public String getSchema() { - return schema; - } - - public void setSchema(String schema) { - this.schema = schema; - } - - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name; - } - - public String getShortname() { - return shortname; - } - - public void setShortname(String shortname) { - this.shortname = shortname; - } - - public String getDisplayName() { - return displayName; - } - - public void setDisplayName(String displayName) { - this.displayName = displayName; - } - - public int getSessionsLimit() { - return sessionsLimit; - } - - public void setSessionsLimit(int sessionsLimit) { - this.sessionsLimit = sessionsLimit; - } - - public boolean isErvuRole() { - return ervuRole; - } - - public void setErvuRole(boolean ervuRole) { - this.ervuRole = ervuRole; - } - - public int getImported() { - return imported; - } - - public void setImported(int imported) { - this.imported = imported; - } - - public String getDescription() { - return description; - } - - public void setDescription(String description) { - this.description = description; - } - } -} diff --git a/backend/src/main/java/ervu_business_metrics/service/IdmDirectoriesDaoService.java b/backend/src/main/java/ervu_business_metrics/service/IdmDirectoriesDaoService.java new file mode 100644 index 0000000..9ea6c2c --- /dev/null +++ b/backend/src/main/java/ervu_business_metrics/service/IdmDirectoriesDaoService.java @@ -0,0 +1,100 @@ +package ervu_business_metrics.service; + + +import java.util.List; +import java.util.Set; + +import ervu_business_metrics.dao.IdmDirectoriesDao; +import ervu_business_metrics.config.IdmReconcileEnabledCondition; +import org.springframework.cache.annotation.CacheEvict; +import org.springframework.cache.annotation.Cacheable; +import org.springframework.context.annotation.Conditional; +import org.springframework.stereotype.Repository; +import ru.micord.webbpm.ervu.business_metrics.db_beans.idm_reconcile.tables.records.*; + + +/** + * @author Adel Kalimullin + */ +@Repository +@Conditional(IdmReconcileEnabledCondition.class) +public class IdmDirectoriesDaoService { + private final IdmDirectoriesDao idmDirectoriesDao; + + public IdmDirectoriesDaoService(IdmDirectoriesDao idmDirectoriesDao) { + this.idmDirectoriesDao = idmDirectoriesDao; + } + + public RoleRecord getRoleRecord() { + return idmDirectoriesDao.getRoleRecord(); + } + + public DomainRecord getDomainRecord() { + return idmDirectoriesDao.getDomainRecord(); + } + + public AccountRecord getAccountRecord() { + return idmDirectoriesDao.getAccountRecord(); + } + + public AccountRoleRecord getAccountRoleRecord() { + return idmDirectoriesDao.getAccountRoleRecord(); + } + + @Cacheable(value = "account-ids", unless = "#result == null") + public Set getAccountIds() { + return idmDirectoriesDao.getAccountIds(); + } + + @Cacheable(value = "role-ids", unless = "#result == null") + public Set getRoleIds() { + return idmDirectoriesDao.getRoleIds(); + } + + @Cacheable(value = "domain-ids", unless = "#result == null") + public Set getDomainIds() { + return idmDirectoriesDao.getDomainIds(); + } + + public void insertDomainRecords(List newDomainRecords) { + idmDirectoriesDao.insertDomainRecords(newDomainRecords); + } + + public void updateDomainRecords(List domainRecords) { + idmDirectoriesDao.updateDomainRecords(domainRecords); + } + + public void insertRoleRecords(List newRoleRecords) { + idmDirectoriesDao.insertRoleRecords(newRoleRecords); + } + + public void updateRoleRecords(List roleRecords) { + idmDirectoriesDao.updateRoleRecords(roleRecords); + } + + public void insertAccountRecords(List accountRecords) { + idmDirectoriesDao.insertAccountRecords(accountRecords); + } + + public void updateAccountRecords(List accountRecords) { + idmDirectoriesDao.updateAccountRecords(accountRecords); + } + + public void insertAccountRoleRecords(List newAccountRoleRecords) { + idmDirectoriesDao.insertAccountRoleRecords(newAccountRoleRecords); + } + + public void deleteAccountRolesByAccountIds(List accountIds) { + idmDirectoriesDao.deleteAccountRolesByAccountIds(accountIds); + } + + @CacheEvict(value = "domain-ids", allEntries = true) + public void deleteDomainsByIds(List domainIds) { + idmDirectoriesDao.deleteDomainsByIds(domainIds); + } + + @CacheEvict(value = "account-ids", allEntries = true) + public void deleteAccountsByIds(List accountIds) { + idmDirectoriesDao.deleteAccountByIds(accountIds); + } +} diff --git a/backend/src/main/java/ervu_business_metrics/service/IdmDirectoriesService.java b/backend/src/main/java/ervu_business_metrics/service/IdmDirectoriesService.java index 12454ae..93d2d08 100644 --- a/backend/src/main/java/ervu_business_metrics/service/IdmDirectoriesService.java +++ b/backend/src/main/java/ervu_business_metrics/service/IdmDirectoriesService.java @@ -1,22 +1,30 @@ package ervu_business_metrics.service; import java.lang.invoke.MethodHandles; -import java.sql.Timestamp; -import java.time.Instant; -import java.util.*; +import java.util.Arrays; +import java.util.HashMap; +import java.util.Map; -import com.fasterxml.jackson.core.JsonProcessingException; +import com.fasterxml.jackson.databind.JavaType; import com.fasterxml.jackson.databind.ObjectMapper; -import ervu_business_metrics.dao.IdmDirectoriesDaoService; -import ervu_business_metrics.model.dto.AccountResponse; -import ervu_business_metrics.model.dto.DomainResponse; -import ervu_business_metrics.model.dto.PersonResponse; -import ervu_business_metrics.model.dto.RoleResponse; +import ervu_business_metrics.config.IdmReconcileEnabledCondition; +import ervu_business_metrics.kafka.model.DeleteKafkaMessage; +import ervu_business_metrics.kafka.model.UpsertMessage; +import ervu_business_metrics.model.AccountData; +import ervu_business_metrics.model.DomainData; +import ervu_business_metrics.model.RoleData; +import ervu_business_metrics.service.processor.impl.AccountDataProcessor; +import ervu_business_metrics.service.processor.DataProcessor; +import ervu_business_metrics.service.processor.impl.DomainDataProcessor; +import ervu_business_metrics.service.processor.impl.RoleDataProcessor; +import exception.IdmDirectoriesException; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Value; import org.springframework.cache.annotation.CacheEvict; import org.springframework.cache.annotation.Caching; +import org.springframework.context.annotation.Conditional; +import org.springframework.context.annotation.DependsOn; import org.springframework.http.HttpEntity; import org.springframework.http.HttpHeaders; import org.springframework.http.MediaType; @@ -24,227 +32,111 @@ import org.springframework.http.ResponseEntity; import org.springframework.stereotype.Component; import org.springframework.transaction.annotation.Transactional; import org.springframework.web.client.RestTemplate; -import ru.micord.webbpm.ervu.business_metrics.db_beans.idm_reconcile.tables.records.DomainRecord; /** * @author Adel Kalimullin */ @Component +@DependsOn("liquibase") +@Conditional(IdmReconcileEnabledCondition.class) public class IdmDirectoriesService { private static final Logger LOGGER = LoggerFactory.getLogger( MethodHandles.lookup().lookupClass()); - @Value("${idm.url}") - private String idmUrl; - @Value("${ervu.collection:domain, role , account , person}") - private String ervuCollection; - private final RestTemplate restTemplate; - private final IdmDirectoriesDaoService idmDirectoriesDaoService; private final ObjectMapper objectMapper; + private final Map, DataProcessor> dataProcessors = new HashMap<>(); + @Value("${ervu.idm.url}") + private String idmUrl; + @Value("${ervu.directories:domain, role , account }") + private String ervuDirectories; - public IdmDirectoriesService(RestTemplate restTemplate, - IdmDirectoriesDaoService idmDirectoriesDaoService, ObjectMapper objectMapper) { + public IdmDirectoriesService( + RestTemplate restTemplate, + AccountDataProcessor accountDataProcessor, + DomainDataProcessor domainDataProcessor, + RoleDataProcessor roleDataProcessor, ObjectMapper objectMapper) { this.restTemplate = restTemplate; - this.idmDirectoriesDaoService = idmDirectoriesDaoService; this.objectMapper = objectMapper; + dataProcessors.put(AccountData.class, accountDataProcessor); + dataProcessors.put(DomainData.class, domainDataProcessor); + dataProcessors.put(RoleData.class, roleDataProcessor); } - @Caching(evict = { @CacheEvict(value = "domain-ids", allEntries = true), - @CacheEvict(value = "role-ids", allEntries = true) + @CacheEvict(value = "role-ids", allEntries = true), + @CacheEvict(value = "account-ids", allEntries = true) }) public void updateDirectories() { try { - String[] ervuCollectionArray = ervuCollection.split(","); - Arrays.stream(ervuCollectionArray).forEach(ervuCollection -> { - String targetUrl = idmUrl + "/reconcile/"+ ervuCollection.trim() + "/to/kafka/v1"; + String[] ervuDirectoriesArray = ervuDirectories.split(","); + Arrays.stream(ervuDirectoriesArray).forEach(ervuDirectory -> { + String targetUrl = idmUrl + "/reconcile/" + ervuDirectory.trim() + "/to/kafka/v1"; HttpHeaders headers = new HttpHeaders(); headers.setContentType(MediaType.APPLICATION_JSON); String emptyJson = "{}"; HttpEntity requestEntity = new HttpEntity<>(emptyJson, headers); - ResponseEntity response = restTemplate.postForEntity(targetUrl, requestEntity, String.class); + ResponseEntity response = restTemplate.postForEntity(targetUrl, requestEntity, + String.class + ); if (!response.getStatusCode().is2xxSuccessful()) { - LOGGER.error( - "Error in " + ervuCollection + " request. Status code: " + response.getStatusCode() - + "; Body: " + response.getBody()); + LOGGER.error("Error in {} request. Status code: {}; Body: {}", + ervuDirectory, response.getStatusCode(), response.getBody() + ); } }); } catch (Exception e) { LOGGER.error(e.getMessage()); - throw new RuntimeException(e); - } - - } - - @Transactional - public void upsertKafkaPersonMessage(String kafkaMessage) { - PersonResponse[] personResponses; - try { - personResponses = objectMapper.readValue(kafkaMessage, PersonResponse[].class); - } - catch (JsonProcessingException e) { - throw new RuntimeException(e); - } - if (personResponses.length > 0 && personResponses[0].getData() != null && !personResponses[0].getData().isEmpty()) { - upsertRecruitmentData(personResponses[0].getData()); + throw new IdmDirectoriesException(e); } } @Transactional - public void upsertKafkaAccountMessage(String kafkaMessage) { - AccountResponse[] accountResponses; + public void processUpsertMessage(String kafkaMessage, Class entityClass) { try { - accountResponses = objectMapper.readValue(kafkaMessage, AccountResponse[].class); - } - catch (JsonProcessingException e) { - throw new RuntimeException(e); - } - if (accountResponses.length > 0 && accountResponses[0].getData() != null && !accountResponses[0].getData().isEmpty()) { - upsertRecruitmentData(accountResponses[0].getData()); - } - } + JavaType messageType = objectMapper.getTypeFactory() + .constructParametricType(UpsertMessage.class, entityClass); + JavaType arrayType = objectMapper.getTypeFactory() + .constructArrayType(messageType); - @Transactional - public void upsertKafkaDomainMessage(String kafkaMessage) { - DomainResponse[] domainResponses; - try { - domainResponses = objectMapper.readValue(kafkaMessage, DomainResponse[].class); - } - catch (JsonProcessingException e) { - throw new RuntimeException(e); - } - if (domainResponses.length > 0 && domainResponses[0].getData() != null && !domainResponses[0].getData().isEmpty()) { - upsertDomainData(domainResponses[0].getData()); - } - } - - @Transactional - public void upsertKafkaRoleMessage(String kafkaMessage) { - RoleResponse[] roleResponses; - try { - roleResponses = objectMapper.readValue(kafkaMessage, RoleResponse[].class); - } - catch (JsonProcessingException e) { - throw new RuntimeException(e); - } - if (roleResponses.length > 0 && roleResponses[0].getData() != null && !roleResponses[0].getData().isEmpty()) { - upsertRoleData(roleResponses[0].getData()); - } - } - - private void upsertDomainData(List dataList) { - List newRecruitmentRecords = new ArrayList<>(); - List recruitmentRecords = new ArrayList<>(); - List existingIds = idmDirectoriesDaoService.getDomainIds(); - - for (DomainResponse.Data data : dataList) { - DomainRecord domainRecord = idmDirectoriesDaoService.getDomainRecord(); - - - Timestamp createdAt = Timestamp.from(Instant.now()); - Timestamp modifiedAt = Timestamp.from(Instant.ofEpochMilli(data.getModified())); - - - domainRecord.setId(data.getId()); - domainRecord.setVersion(data.getVersion()); - domainRecord.setModified(modifiedAt); - domainRecord.setSchema(data.getSchema()); - domainRecord.setName(data.getName()); - domainRecord.setShortname(data.getShortname()); - domainRecord.setFullname(data.getFullname()); - domainRecord.setDns(data.getDns()); - domainRecord.setEmail(data.getEmail()); - domainRecord.setPhone(data.getPhone()); - domainRecord.setAddress(data.getAddress()); - domainRecord.setPostalAddress(data.getPostalAddress()); - domainRecord.setAddressId(data.getAddressId()); - domainRecord.setPostalAddressId(data.getPostalAddressId()); - domainRecord.setMilitaryCode(data.getMilitaryCode()); - domainRecord.setTimezone(data.getTimezone()); - domainRecord.setReportsEnabled(data.isReportsEnabled()); - domainRecord.setInn(data.getInn()); - domainRecord.setLeg(data.getLeg()); - domainRecord.setOgrn(data.getOgrn()); - domainRecord.setRegion(data.getRegion()); - domainRecord.setEpguId(data.getEpguId()); - domainRecord.setType(data.getType()); - domainRecord.setEsiaEmployeeAuthorization(data.isEsiaEmployeeAuthorization()); - domainRecord.setDefaultS3Bucket(data.getDefaultS3Bucket()); - domainRecord.setOpf(data.getOpf()); - domainRecord.setKpp(data.getKpp()); - domainRecord.setCheckingAccount(data.getCheckingAccount()); - domainRecord.setBik(data.getBik()); - domainRecord.setBankName(data.getBankName()); - domainRecord.setBankCorrespondentAccount(data.getBankCorrespondentAccount()); - domainRecord.setOktmo(data.getOktmo()); - domainRecord.setOkato(data.getOkato()); - domainRecord.setGovRegistrationDate(data.getGovRegistrationDate()); - domainRecord.setGovOrganizationType(data.getGovOrganizationType()); - domainRecord.setAliasKey(data.getAliasKey()); - domainRecord.setPassKey(data.getPassKey()); - domainRecord.setCertificate(data.getCertificate()); - domainRecord.setAccountNumberTofk(data.getAccountNumberTOFK()); - domainRecord.setBikTofk(data.getBikTOFK()); - domainRecord.setCorrespondentBankAccountTofk(data.getCorrespondentBankAccountTOFK()); - domainRecord.setNameTofk(data.getNameTOFK()); - domainRecord.setNsiOrganizationId(data.getNsiOrganizationId()); - domainRecord.setDocHandle(data.getDocHandle()); - domainRecord.setDivisionType(data.getDivisionType()); - domainRecord.setTnsDepartmentId(data.getTnsDepartmentId()); - domainRecord.setEnabled(data.isEnabled() != null ? data.isEnabled() : true); - domainRecord.setParent(data.getParent()); - domainRecord.setRegionId(data.getRegionId()); - domainRecord.setManaged(data.getManaged()); - domainRecord.setCreatedAt(createdAt); - - if (existingIds.contains(data.getId())) { - recruitmentRecords.add(domainRecord); - } else { - newRecruitmentRecords.add(domainRecord); - } - } - - ervuDirectoriesDaoService.insertRecruitmentRecords(newRecruitmentRecords); - ervuDirectoriesDaoService.updateRecruitmentRecords(recruitmentRecords); - } - - private void upsertRoleData(List dataList) { - String[] adminRoles = ervuAdminRole.split(","); - List newRoleRecords = new ArrayList<>(); - List roleRecords = new ArrayList<>(); - List ids = ervuDirectoriesDaoService.getRoleIds(); - dataList.forEach(data -> { - if (data.getErvuRole() == null || !data.getErvuRole()) { - return; - } - Timestamp updatedAt = Timestamp.from(Instant.ofEpochSecond(data.getModified())); - Timestamp createdAt = Timestamp.from(Instant.ofEpochSecond(data.getCreateDate())); - Timestamp finishAt = null; - if (data.getFinish() != null) { - finishAt = Timestamp.from(Instant.ofEpochSecond(data.getFinish())); - } - UserApplicationRoleRecord roleRecord = ervuDirectoriesDaoService.getRoleRecord(); - roleRecord.setUserRoleId(data.getId()); - roleRecord.setRoleCode(data.getName()); - roleRecord.setRoleName(data.getDisplayName()); - roleRecord.setCreated(createdAt); - roleRecord.setUpdated(updatedAt); - roleRecord.setFinished(finishAt); - Arrays.stream(adminRoles).forEach(role -> { - if (role.trim().equals(data.getName())) { - roleRecord.setAdminRole(true); + UpsertMessage[] messages = objectMapper.readValue(kafkaMessage, arrayType); + if (messages.length > 0 && messages[0].getData() != null && !messages[0].getData() + .isEmpty()) { + DataProcessor processor = (DataProcessor) dataProcessors.get(entityClass); + if (processor == null) { + throw new IllegalStateException("No processor found for " + entityClass.getSimpleName()); } - }); - if (ids.contains(data.getId())) { - roleRecords.add(roleRecord); + + processor.upsertData(messages[0].getData()); } - else { - newRoleRecords.add(roleRecord); + } + catch (Exception e) { + throw new IdmDirectoriesException(e); + } + } + + @Transactional + public void processDeleteMessage(String kafkaMessage, Class entityClass) { + try { + DeleteKafkaMessage[] deleteKafkaMessages = objectMapper.readValue(kafkaMessage, + DeleteKafkaMessage[].class + ); + + if (Boolean.TRUE.equals(deleteKafkaMessages[0].isSuccess()) + && deleteKafkaMessages[0].getData() != null && !deleteKafkaMessages[0].getData() + .isEmpty()) { + DataProcessor processor = (DataProcessor) dataProcessors.get(entityClass); + if (processor == null) { + throw new IllegalStateException("No processor found for " + entityClass.getSimpleName()); + } + + processor.deleteData(deleteKafkaMessages[0].getData()); } - }); - ervuDirectoriesDaoService.insertRoleRecords(newRoleRecords); - ervuDirectoriesDaoService.updateRoleRecords(roleRecords); + + } + catch (Exception e) { + throw new IdmDirectoriesException(e); + } } } diff --git a/backend/src/main/java/ervu_business_metrics/service/processor/DataProcessor.java b/backend/src/main/java/ervu_business_metrics/service/processor/DataProcessor.java new file mode 100644 index 0000000..9fb0e49 --- /dev/null +++ b/backend/src/main/java/ervu_business_metrics/service/processor/DataProcessor.java @@ -0,0 +1,11 @@ +package ervu_business_metrics.service.processor; + +import java.util.List; + +/** + * @author Adel Kalimullin + */ +public interface DataProcessor { + void upsertData(List dataList); + void deleteData(List ids); +} \ No newline at end of file diff --git a/backend/src/main/java/ervu_business_metrics/service/processor/impl/AccountDataProcessor.java b/backend/src/main/java/ervu_business_metrics/service/processor/impl/AccountDataProcessor.java new file mode 100644 index 0000000..719dec2 --- /dev/null +++ b/backend/src/main/java/ervu_business_metrics/service/processor/impl/AccountDataProcessor.java @@ -0,0 +1,93 @@ +package ervu_business_metrics.service.processor.impl; + +import java.sql.Timestamp; +import java.time.Instant; +import java.util.ArrayList; +import java.util.List; +import java.util.Set; + +import ervu_business_metrics.config.IdmReconcileEnabledCondition; +import ervu_business_metrics.model.AccountData; +import ervu_business_metrics.service.IdmDirectoriesDaoService; +import ervu_business_metrics.service.processor.DataProcessor; +import org.springframework.context.annotation.Conditional; +import org.springframework.stereotype.Component; +import ru.micord.webbpm.ervu.business_metrics.db_beans.idm_reconcile.tables.records.AccountRecord; +import ru.micord.webbpm.ervu.business_metrics.db_beans.idm_reconcile.tables.records.AccountRoleRecord; + +/** + * @author Adel Kalimullin + */ +@Component +@Conditional(IdmReconcileEnabledCondition.class) +public class AccountDataProcessor implements DataProcessor { + private final IdmDirectoriesDaoService idmDirectoriesDaoService; + + public AccountDataProcessor(IdmDirectoriesDaoService idmDirectoriesDaoService) { + this.idmDirectoriesDaoService = idmDirectoriesDaoService; + } + + @Override + public void upsertData(List dataList) { + List newAccountRecords = new ArrayList<>(); + List accountRecordsToUpdate = new ArrayList<>(); + List newAccountRoleRecords = new ArrayList<>(); + List accountsToDeleteRoles = new ArrayList<>(); + Set existingIds = idmDirectoriesDaoService.getAccountIds(); + + for (AccountData data : dataList) { + AccountRecord record = idmDirectoriesDaoService.getAccountRecord(); + Timestamp modifiedAt = Timestamp.from(Instant.ofEpochMilli(data.getModified())); + + record.setId(data.getId()); + record.setVersion(data.getVersion()); + record.setSchema(data.getSchema()); + record.setModified(modifiedAt); + record.setStart(data.getStart()); + record.setFinish(data.getFinish()); + record.setEnabled(data.isEnabled()); + record.setPosition(data.getPosition()); + record.setFio(data.getFio()); + record.setWorkMail(data.getWorkMail()); + record.setEsiaAccount(data.isEsiaAccount()); + record.setDomainId(data.getUserDomain().getId()); + + if (existingIds.contains(data.getId())) { + accountRecordsToUpdate.add(record); + accountsToDeleteRoles.add(data.getId()); + } + else { + newAccountRecords.add(record); + } + + if (data.getRoles() != null && !data.getRoles().isEmpty()) { + addRolesForAccount(data, newAccountRoleRecords); + } + } + + idmDirectoriesDaoService.insertAccountRecords(newAccountRecords); + idmDirectoriesDaoService.updateAccountRecords(accountRecordsToUpdate); + + if (!accountsToDeleteRoles.isEmpty()) { + idmDirectoriesDaoService.deleteAccountRolesByAccountIds(accountsToDeleteRoles); + } + + if (!newAccountRoleRecords.isEmpty()) { + idmDirectoriesDaoService.insertAccountRoleRecords(newAccountRoleRecords); + } + } + + @Override + public void deleteData(List ids) { + idmDirectoriesDaoService.deleteAccountsByIds(ids); + } + + private void addRolesForAccount(AccountData data, List accountRoleRecords) { + for (String roleId : data.getRoles()) { + AccountRoleRecord accountRoleRecord = idmDirectoriesDaoService.getAccountRoleRecord(); + accountRoleRecord.setAccountId(data.getId()); + accountRoleRecord.setRoleId(roleId); + accountRoleRecords.add(accountRoleRecord); + } + } +} diff --git a/backend/src/main/java/ervu_business_metrics/service/processor/impl/DomainDataProcessor.java b/backend/src/main/java/ervu_business_metrics/service/processor/impl/DomainDataProcessor.java new file mode 100644 index 0000000..ad7eba7 --- /dev/null +++ b/backend/src/main/java/ervu_business_metrics/service/processor/impl/DomainDataProcessor.java @@ -0,0 +1,106 @@ +package ervu_business_metrics.service.processor.impl; + +import java.sql.Timestamp; +import java.time.Instant; +import java.util.ArrayList; +import java.util.List; +import java.util.Set; + +import ervu_business_metrics.config.IdmReconcileEnabledCondition; +import ervu_business_metrics.model.DomainData; +import ervu_business_metrics.service.IdmDirectoriesDaoService; +import ervu_business_metrics.service.processor.DataProcessor; +import org.springframework.context.annotation.Conditional; +import org.springframework.stereotype.Component; +import ru.micord.webbpm.ervu.business_metrics.db_beans.idm_reconcile.tables.records.DomainRecord; + +/** + * @author Adel Kalimullin + */ +@Component +@Conditional(IdmReconcileEnabledCondition.class) +public class DomainDataProcessor implements DataProcessor { + private final IdmDirectoriesDaoService idmDirectoriesDaoService; + + public DomainDataProcessor(IdmDirectoriesDaoService idmDirectoriesDaoService) { + this.idmDirectoriesDaoService = idmDirectoriesDaoService; + } + + @Override + public void upsertData(List dataList) { + List newRecruitmentRecords = new ArrayList<>(); + List recruitmentRecords = new ArrayList<>(); + Set existingIds = idmDirectoriesDaoService.getDomainIds(); + + for (DomainData data : dataList) { + DomainRecord domainRecord = idmDirectoriesDaoService.getDomainRecord(); + Timestamp modifiedAt = Timestamp.from(Instant.ofEpochMilli(data.getModified())); + + domainRecord.setId(data.getId()); + domainRecord.setVersion(data.getVersion()); + domainRecord.setModified(modifiedAt); + domainRecord.setSchema(data.getSchema()); + domainRecord.setName(data.getName()); + domainRecord.setShortname(data.getShortname()); + domainRecord.setFullname(data.getFullname()); + domainRecord.setDns(data.getDns()); + domainRecord.setEmail(data.getEmail()); + domainRecord.setPhone(data.getPhone()); + domainRecord.setAddress(data.getAddress()); + domainRecord.setPostalAddress(data.getPostalAddress()); + domainRecord.setAddressId(data.getAddressId()); + domainRecord.setPostalAddressId(data.getPostalAddressId()); + domainRecord.setMilitaryCode(data.getMilitaryCode()); + domainRecord.setTimezone(data.getTimezone()); + domainRecord.setReportsEnabled(data.isReportsEnabled()); + domainRecord.setInn(data.getInn()); + domainRecord.setLeg(data.getLeg()); + domainRecord.setOgrn(data.getOgrn()); + domainRecord.setRegion(data.getRegion()); + domainRecord.setEpguId(data.getEpguId()); + domainRecord.setType(data.getType()); + domainRecord.setEsiaEmployeeAuthorization(data.isEsiaEmployeeAuthorization()); + domainRecord.setDefaultS3Bucket(data.getDefaultS3Bucket()); + domainRecord.setOpf(data.getOpf()); + domainRecord.setKpp(data.getKpp()); + domainRecord.setCheckingAccount(data.getCheckingAccount()); + domainRecord.setBik(data.getBik()); + domainRecord.setBankName(data.getBankName()); + domainRecord.setBankCorrespondentAccount(data.getBankCorrespondentAccount()); + domainRecord.setOktmo(data.getOktmo()); + domainRecord.setOkato(data.getOkato()); + domainRecord.setGovRegistrationDate(data.getGovRegistrationDate()); + domainRecord.setGovOrganizationType(data.getGovOrganizationType()); + domainRecord.setAliasKey(data.getAliasKey()); + domainRecord.setPassKey(data.getPassKey()); + domainRecord.setCertificate(data.getCertificate()); + domainRecord.setAccountNumberTofk(data.getAccountNumberTOFK()); + domainRecord.setBikTofk(data.getBikTOFK()); + domainRecord.setCorrespondentBankAccountTofk(data.getCorrespondentBankAccountTOFK()); + domainRecord.setNameTofk(data.getNameTOFK()); + domainRecord.setNsiOrganizationId(data.getNsiOrganizationId()); + domainRecord.setDocHandle(data.getDocHandle()); + domainRecord.setDivisionType(data.getDivisionType()); + domainRecord.setTnsDepartmentId(data.getTnsDepartmentId()); + domainRecord.setEnabled(data.isEnabled()); + domainRecord.setParent(data.getParent()); + domainRecord.setRegionId(data.getRegionId()); + domainRecord.setManaged(data.getManaged()); + + if (existingIds.contains(data.getId())) { + recruitmentRecords.add(domainRecord); + } + else { + newRecruitmentRecords.add(domainRecord); + } + } + + idmDirectoriesDaoService.insertDomainRecords(newRecruitmentRecords); + idmDirectoriesDaoService.updateDomainRecords(recruitmentRecords); + } + + @Override + public void deleteData(List ids) { + idmDirectoriesDaoService.deleteDomainsByIds(ids); + } +} diff --git a/backend/src/main/java/ervu_business_metrics/service/processor/impl/RoleDataProcessor.java b/backend/src/main/java/ervu_business_metrics/service/processor/impl/RoleDataProcessor.java new file mode 100644 index 0000000..5ae4720 --- /dev/null +++ b/backend/src/main/java/ervu_business_metrics/service/processor/impl/RoleDataProcessor.java @@ -0,0 +1,70 @@ +package ervu_business_metrics.service.processor.impl; + +import java.sql.Timestamp; +import java.time.Instant; +import java.util.ArrayList; +import java.util.List; +import java.util.Set; + +import ervu_business_metrics.config.IdmReconcileEnabledCondition; +import ervu_business_metrics.model.RoleData; +import ervu_business_metrics.service.IdmDirectoriesDaoService; +import ervu_business_metrics.service.processor.DataProcessor; +import org.springframework.context.annotation.Conditional; +import org.springframework.stereotype.Component; +import ru.micord.webbpm.ervu.business_metrics.db_beans.idm_reconcile.tables.records.RoleRecord; + +/** + * @author Adel Kalimullin + */ +@Component +@Conditional(IdmReconcileEnabledCondition.class) +public class RoleDataProcessor implements DataProcessor { + private final IdmDirectoriesDaoService idmDirectoriesDaoService; + + public RoleDataProcessor(IdmDirectoriesDaoService idmDirectoriesDaoService) { + this.idmDirectoriesDaoService = idmDirectoriesDaoService; + } + + @Override + public void upsertData(List dataList) { + List newRoleRecords = new ArrayList<>(); + List roleRecords = new ArrayList<>(); + Set existingIds = idmDirectoriesDaoService.getRoleIds(); + + for (RoleData data : dataList) { + if (!data.isErvuRole()) { + continue; + } + RoleRecord record = idmDirectoriesDaoService.getRoleRecord(); + Timestamp modifiedAt = Timestamp.from(Instant.ofEpochMilli(data.getModified())); + + record.setId(data.getId()); + record.setName(data.getName()); + record.setDisplayName(data.getDisplayName()); + record.setShortname(data.getShortname()); + record.setSchema(data.getSchema()); + record.setVersion(data.getVersion()); + record.setSessionsLimit(data.getSessionsLimit()); + record.setImported(data.getImported()); + record.setDescription(data.getDescription()); + record.setErvuRole(data.isErvuRole()); + record.setModified(modifiedAt); + + if (existingIds.contains(data.getId())) { + roleRecords.add(record); + } + else { + newRoleRecords.add(record); + } + } + + idmDirectoriesDaoService.insertRoleRecords(newRoleRecords); + idmDirectoriesDaoService.updateRoleRecords(roleRecords); + } + + @Override + public void deleteData(List ids) { + // TODO удаление пока не реализовано + } +} diff --git a/backend/src/main/java/exception/IdmDirectoriesException.java b/backend/src/main/java/exception/IdmDirectoriesException.java new file mode 100644 index 0000000..02405a0 --- /dev/null +++ b/backend/src/main/java/exception/IdmDirectoriesException.java @@ -0,0 +1,18 @@ +package exception; + +/** + * @author Adel Kalimullin + */ +public class IdmDirectoriesException extends RuntimeException{ + public IdmDirectoriesException(String message) { + super(message); + } + + public IdmDirectoriesException(Throwable cause) { + super(cause); + } + + public IdmDirectoriesException(String message, Throwable cause) { + super(message, cause); + } +} diff --git a/backend/src/main/resources/config/v_1.0/20250418-SUPPORT-9122_add_idm.xml b/backend/src/main/resources/config/v_1.0/20250418-SUPPORT-9122_add_idm.xml index 9b30217..614c534 100644 --- a/backend/src/main/resources/config/v_1.0/20250418-SUPPORT-9122_add_idm.xml +++ b/backend/src/main/resources/config/v_1.0/20250418-SUPPORT-9122_add_idm.xml @@ -94,43 +94,7 @@ - - create table person and person_ip_address - - CREATE TABLE IF NOT EXISTS idm_reconcile.person ( - id varchar(36) PRIMARY KEY, - version int NOT NULL, - modified timestamp without time zone, - schema varchar(100) NOT NULL, - birthdate DATE, - firstname varchar(255), - middlename varchar(255), - surname varchar(255), - sex varchar(10), - email varchar(255), - photo TEXT, - phone varchar(50), - snils varchar(20), - second_factor_enabled boolean NOT NULL DEFAULT FALSE, - fio varchar(255) - ); - - ALTER TABLE idm_reconcile.person OWNER TO ervu_business_metrics; - - CREATE TABLE IF NOT EXISTS idm_reconcile.person_ip_address ( - person_id varchar(36) NOT NULL, - ip_address varchar(45) NOT NULL, - CONSTRAINT pk_person_ip PRIMARY KEY (person_id, ip_address), - CONSTRAINT fk_person_ip_person FOREIGN KEY (person_id) - REFERENCES idm_reconcile.person (id) - ON DELETE CASCADE - ); - - ALTER TABLE idm_reconcile.person_ip_address OWNER TO ervu_business_metrics; - - - - + create table account and account_role CREATE TABLE IF NOT EXISTS idm_reconcile.account ( @@ -146,14 +110,9 @@ work_mail varchar(255), esia_account boolean NOT NULL DEFAULT FALSE, domain_id varchar(36), - person_id varchar(36), CONSTRAINT fk_domain FOREIGN KEY (domain_id) REFERENCES idm_reconcile.domain (id) - ON DELETE SET NULL, - - CONSTRAINT fk_person FOREIGN KEY (person_id) - REFERENCES idm_reconcile.person (id) ON DELETE SET NULL ); diff --git a/config/micord.env b/config/micord.env index 723b441..6af5df5 100644 --- a/config/micord.env +++ b/config/micord.env @@ -19,6 +19,17 @@ KAFKA_ACCOUNT_GROUP_ID=ervu-business-metrics-backend-account KAFKA_ROLE_RECONCILIATION=idmv2.role.reconciliation KAFKA_DOMAIN_RECONCILIATION=idmv2.domain.reconciliation KAFKA_ACCOUNT_RECONCILIATION=idmv2.account.reconciliation -KAFKA_PERSON_RECONCILIATION=idmv2.person.reconciliation -KAFKA_CREDENTIAL_RECONCILIATION=idmv2.credential.reconciliation -IDM_URL=http://idm \ No newline at end of file +KAFKA_DOMAIN_UPDATED_GROUP_ID=ervu-business-metrics-backend-domain-updated +KAFKA_DOMAIN_UPDATED=idmv2.domain.updated +KAFKA_DOMAIN_CREATED_GROUP_ID=ervu-business-metrics-backend-domain-created +KAFKA_DOMAIN_CREATED=idmv2.domain.created +KAFKA_ACCOUNT_UPDATED_GROUP_ID=ervu-business-metrics-backend-account-updated +KAFKA_ACCOUNT_UPDATED=idmv2.account.updated +KAFKA_ACCOUNT_CREATED_GROUP_ID=ervu-business-metrics-backend-account-created +KAFKA_ACCOUNT_CREATED=idmv2.account.created +KAFKA_DOMAIN_DELETED_GROUP_ID=ervu-business-metrics-backend-domain-deleted +KAFKA_DOMAIN_DELETED=idmv2.domain.deleted +KAFKA_ACCOUNT_DELETED_GROUP_ID=ervu-business-metrics-backend-account-deleted +KAFKA_ACCOUNT_DELETED=idmv2.account.deleted +ERVU_IDM_RECONCILE_ENABLED=false +ERVU_IDM_URL=http://idm \ No newline at end of file diff --git a/resources/src/main/resources/database/datasource.xml b/resources/src/main/resources/database/datasource.xml index 77aa28d..de989c7 100644 --- a/resources/src/main/resources/database/datasource.xml +++ b/resources/src/main/resources/database/datasource.xml @@ -10,6 +10,7 @@ actualization admin_indicators deregistration + idm_reconcile init_registration_info journal_log metrics From 42ebfa309a17f7d5bbf625ec69b3238f9a1d0d90 Mon Sep 17 00:00:00 2001 From: "adel.ka" Date: Tue, 22 Apr 2025 15:08:28 +0300 Subject: [PATCH 08/40] SUPPORT-9122:remove unused --- .../db_beans/DefaultCatalog.java | 7 + .../db_beans/idm_reconcile/IdmReconcile.java | 14 - .../db_beans/idm_reconcile/Keys.java | 8 - .../db_beans/idm_reconcile/Tables.java | 12 - .../idm_reconcile/tables/Account.java | 21 +- .../db_beans/idm_reconcile/tables/Person.java | 353 ------------------ .../idm_reconcile/tables/PersonIpAddress.java | 281 -------------- .../tables/records/PersonIpAddressRecord.java | 79 ---- .../tables/records/PersonRecord.java | 277 -------------- 9 files changed, 8 insertions(+), 1044 deletions(-) delete mode 100644 backend/src/main/java/ru/micord/webbpm/ervu/business_metrics/db_beans/idm_reconcile/tables/Person.java delete mode 100644 backend/src/main/java/ru/micord/webbpm/ervu/business_metrics/db_beans/idm_reconcile/tables/PersonIpAddress.java delete mode 100644 backend/src/main/java/ru/micord/webbpm/ervu/business_metrics/db_beans/idm_reconcile/tables/records/PersonIpAddressRecord.java delete mode 100644 backend/src/main/java/ru/micord/webbpm/ervu/business_metrics/db_beans/idm_reconcile/tables/records/PersonRecord.java diff --git a/backend/src/main/java/ru/micord/webbpm/ervu/business_metrics/db_beans/DefaultCatalog.java b/backend/src/main/java/ru/micord/webbpm/ervu/business_metrics/db_beans/DefaultCatalog.java index 747ba3e..5b03d9a 100644 --- a/backend/src/main/java/ru/micord/webbpm/ervu/business_metrics/db_beans/DefaultCatalog.java +++ b/backend/src/main/java/ru/micord/webbpm/ervu/business_metrics/db_beans/DefaultCatalog.java @@ -14,6 +14,7 @@ import org.jooq.impl.CatalogImpl; import ru.micord.webbpm.ervu.business_metrics.db_beans.actualization.Actualization; import ru.micord.webbpm.ervu.business_metrics.db_beans.admin_indicators.AdminIndicators; import ru.micord.webbpm.ervu.business_metrics.db_beans.deregistration.Deregistration; +import ru.micord.webbpm.ervu.business_metrics.db_beans.idm_reconcile.IdmReconcile; import ru.micord.webbpm.ervu.business_metrics.db_beans.init_registration_info.InitRegistrationInfo; import ru.micord.webbpm.ervu.business_metrics.db_beans.journal_log.JournalLog; import ru.micord.webbpm.ervu.business_metrics.db_beans.metrics.Metrics; @@ -51,6 +52,11 @@ public class DefaultCatalog extends CatalogImpl { */ public final Deregistration DEREGISTRATION = Deregistration.DEREGISTRATION; + /** + * The schema idm_reconcile. + */ + public final IdmReconcile IDM_RECONCILE = IdmReconcile.IDM_RECONCILE; + /** * The schema init_registration_info. */ @@ -99,6 +105,7 @@ public class DefaultCatalog extends CatalogImpl { Actualization.ACTUALIZATION, AdminIndicators.ADMIN_INDICATORS, Deregistration.DEREGISTRATION, + IdmReconcile.IDM_RECONCILE, InitRegistrationInfo.INIT_REGISTRATION_INFO, JournalLog.JOURNAL_LOG, Metrics.METRICS, diff --git a/backend/src/main/java/ru/micord/webbpm/ervu/business_metrics/db_beans/idm_reconcile/IdmReconcile.java b/backend/src/main/java/ru/micord/webbpm/ervu/business_metrics/db_beans/idm_reconcile/IdmReconcile.java index da8c998..8574585 100644 --- a/backend/src/main/java/ru/micord/webbpm/ervu/business_metrics/db_beans/idm_reconcile/IdmReconcile.java +++ b/backend/src/main/java/ru/micord/webbpm/ervu/business_metrics/db_beans/idm_reconcile/IdmReconcile.java @@ -15,8 +15,6 @@ import ru.micord.webbpm.ervu.business_metrics.db_beans.DefaultCatalog; import ru.micord.webbpm.ervu.business_metrics.db_beans.idm_reconcile.tables.Account; import ru.micord.webbpm.ervu.business_metrics.db_beans.idm_reconcile.tables.AccountRole; import ru.micord.webbpm.ervu.business_metrics.db_beans.idm_reconcile.tables.Domain; -import ru.micord.webbpm.ervu.business_metrics.db_beans.idm_reconcile.tables.Person; -import ru.micord.webbpm.ervu.business_metrics.db_beans.idm_reconcile.tables.PersonIpAddress; import ru.micord.webbpm.ervu.business_metrics.db_beans.idm_reconcile.tables.Role; @@ -48,16 +46,6 @@ public class IdmReconcile extends SchemaImpl { */ public final Domain DOMAIN = Domain.DOMAIN; - /** - * The table idm_reconcile.person. - */ - public final Person PERSON = Person.PERSON; - - /** - * The table idm_reconcile.person_ip_address. - */ - public final PersonIpAddress PERSON_IP_ADDRESS = PersonIpAddress.PERSON_IP_ADDRESS; - /** * The table idm_reconcile.role. */ @@ -82,8 +70,6 @@ public class IdmReconcile extends SchemaImpl { Account.ACCOUNT, AccountRole.ACCOUNT_ROLE, Domain.DOMAIN, - Person.PERSON, - PersonIpAddress.PERSON_IP_ADDRESS, Role.ROLE ); } diff --git a/backend/src/main/java/ru/micord/webbpm/ervu/business_metrics/db_beans/idm_reconcile/Keys.java b/backend/src/main/java/ru/micord/webbpm/ervu/business_metrics/db_beans/idm_reconcile/Keys.java index 0276984..cdf9869 100644 --- a/backend/src/main/java/ru/micord/webbpm/ervu/business_metrics/db_beans/idm_reconcile/Keys.java +++ b/backend/src/main/java/ru/micord/webbpm/ervu/business_metrics/db_beans/idm_reconcile/Keys.java @@ -13,14 +13,10 @@ import org.jooq.impl.Internal; import ru.micord.webbpm.ervu.business_metrics.db_beans.idm_reconcile.tables.Account; import ru.micord.webbpm.ervu.business_metrics.db_beans.idm_reconcile.tables.AccountRole; import ru.micord.webbpm.ervu.business_metrics.db_beans.idm_reconcile.tables.Domain; -import ru.micord.webbpm.ervu.business_metrics.db_beans.idm_reconcile.tables.Person; -import ru.micord.webbpm.ervu.business_metrics.db_beans.idm_reconcile.tables.PersonIpAddress; import ru.micord.webbpm.ervu.business_metrics.db_beans.idm_reconcile.tables.Role; import ru.micord.webbpm.ervu.business_metrics.db_beans.idm_reconcile.tables.records.AccountRecord; import ru.micord.webbpm.ervu.business_metrics.db_beans.idm_reconcile.tables.records.AccountRoleRecord; import ru.micord.webbpm.ervu.business_metrics.db_beans.idm_reconcile.tables.records.DomainRecord; -import ru.micord.webbpm.ervu.business_metrics.db_beans.idm_reconcile.tables.records.PersonIpAddressRecord; -import ru.micord.webbpm.ervu.business_metrics.db_beans.idm_reconcile.tables.records.PersonRecord; import ru.micord.webbpm.ervu.business_metrics.db_beans.idm_reconcile.tables.records.RoleRecord; @@ -38,8 +34,6 @@ public class Keys { public static final UniqueKey ACCOUNT_PKEY = Internal.createUniqueKey(Account.ACCOUNT, DSL.name("account_pkey"), new TableField[] { Account.ACCOUNT.ID }, true); public static final UniqueKey PK_ACCOUNT_ROLE = Internal.createUniqueKey(AccountRole.ACCOUNT_ROLE, DSL.name("pk_account_role"), new TableField[] { AccountRole.ACCOUNT_ROLE.ACCOUNT_ID, AccountRole.ACCOUNT_ROLE.ROLE_ID }, true); public static final UniqueKey DOMAIN_PKEY = Internal.createUniqueKey(Domain.DOMAIN, DSL.name("domain_pkey"), new TableField[] { Domain.DOMAIN.ID }, true); - public static final UniqueKey PERSON_PKEY = Internal.createUniqueKey(Person.PERSON, DSL.name("person_pkey"), new TableField[] { Person.PERSON.ID }, true); - public static final UniqueKey PK_PERSON_IP = Internal.createUniqueKey(PersonIpAddress.PERSON_IP_ADDRESS, DSL.name("pk_person_ip"), new TableField[] { PersonIpAddress.PERSON_IP_ADDRESS.PERSON_ID, PersonIpAddress.PERSON_IP_ADDRESS.IP_ADDRESS }, true); public static final UniqueKey ROLE_PKEY = Internal.createUniqueKey(Role.ROLE, DSL.name("role_pkey"), new TableField[] { Role.ROLE.ID }, true); // ------------------------------------------------------------------------- @@ -47,8 +41,6 @@ public class Keys { // ------------------------------------------------------------------------- public static final ForeignKey ACCOUNT__FK_DOMAIN = Internal.createForeignKey(Account.ACCOUNT, DSL.name("fk_domain"), new TableField[] { Account.ACCOUNT.DOMAIN_ID }, Keys.DOMAIN_PKEY, new TableField[] { Domain.DOMAIN.ID }, true); - public static final ForeignKey ACCOUNT__FK_PERSON = Internal.createForeignKey(Account.ACCOUNT, DSL.name("fk_person"), new TableField[] { Account.ACCOUNT.PERSON_ID }, Keys.PERSON_PKEY, new TableField[] { Person.PERSON.ID }, true); public static final ForeignKey ACCOUNT_ROLE__FK_ACCOUNT_ROLE_ACCOUNT = Internal.createForeignKey(AccountRole.ACCOUNT_ROLE, DSL.name("fk_account_role_account"), new TableField[] { AccountRole.ACCOUNT_ROLE.ACCOUNT_ID }, Keys.ACCOUNT_PKEY, new TableField[] { Account.ACCOUNT.ID }, true); public static final ForeignKey ACCOUNT_ROLE__FK_ACCOUNT_ROLE_ROLE = Internal.createForeignKey(AccountRole.ACCOUNT_ROLE, DSL.name("fk_account_role_role"), new TableField[] { AccountRole.ACCOUNT_ROLE.ROLE_ID }, Keys.ROLE_PKEY, new TableField[] { Role.ROLE.ID }, true); - public static final ForeignKey PERSON_IP_ADDRESS__FK_PERSON_IP_PERSON = Internal.createForeignKey(PersonIpAddress.PERSON_IP_ADDRESS, DSL.name("fk_person_ip_person"), new TableField[] { PersonIpAddress.PERSON_IP_ADDRESS.PERSON_ID }, Keys.PERSON_PKEY, new TableField[] { Person.PERSON.ID }, true); } diff --git a/backend/src/main/java/ru/micord/webbpm/ervu/business_metrics/db_beans/idm_reconcile/Tables.java b/backend/src/main/java/ru/micord/webbpm/ervu/business_metrics/db_beans/idm_reconcile/Tables.java index 31fcd73..7001362 100644 --- a/backend/src/main/java/ru/micord/webbpm/ervu/business_metrics/db_beans/idm_reconcile/Tables.java +++ b/backend/src/main/java/ru/micord/webbpm/ervu/business_metrics/db_beans/idm_reconcile/Tables.java @@ -7,8 +7,6 @@ package ru.micord.webbpm.ervu.business_metrics.db_beans.idm_reconcile; import ru.micord.webbpm.ervu.business_metrics.db_beans.idm_reconcile.tables.Account; import ru.micord.webbpm.ervu.business_metrics.db_beans.idm_reconcile.tables.AccountRole; import ru.micord.webbpm.ervu.business_metrics.db_beans.idm_reconcile.tables.Domain; -import ru.micord.webbpm.ervu.business_metrics.db_beans.idm_reconcile.tables.Person; -import ru.micord.webbpm.ervu.business_metrics.db_beans.idm_reconcile.tables.PersonIpAddress; import ru.micord.webbpm.ervu.business_metrics.db_beans.idm_reconcile.tables.Role; @@ -33,16 +31,6 @@ public class Tables { */ public static final Domain DOMAIN = Domain.DOMAIN; - /** - * The table idm_reconcile.person. - */ - public static final Person PERSON = Person.PERSON; - - /** - * The table idm_reconcile.person_ip_address. - */ - public static final PersonIpAddress PERSON_IP_ADDRESS = PersonIpAddress.PERSON_IP_ADDRESS; - /** * The table idm_reconcile.role. */ diff --git a/backend/src/main/java/ru/micord/webbpm/ervu/business_metrics/db_beans/idm_reconcile/tables/Account.java b/backend/src/main/java/ru/micord/webbpm/ervu/business_metrics/db_beans/idm_reconcile/tables/Account.java index dd16c43..b955bcd 100644 --- a/backend/src/main/java/ru/micord/webbpm/ervu/business_metrics/db_beans/idm_reconcile/tables/Account.java +++ b/backend/src/main/java/ru/micord/webbpm/ervu/business_metrics/db_beans/idm_reconcile/tables/Account.java @@ -34,7 +34,6 @@ import ru.micord.webbpm.ervu.business_metrics.db_beans.idm_reconcile.IdmReconcil import ru.micord.webbpm.ervu.business_metrics.db_beans.idm_reconcile.Keys; import ru.micord.webbpm.ervu.business_metrics.db_beans.idm_reconcile.tables.AccountRole.AccountRolePath; import ru.micord.webbpm.ervu.business_metrics.db_beans.idm_reconcile.tables.Domain.DomainPath; -import ru.micord.webbpm.ervu.business_metrics.db_beans.idm_reconcile.tables.Person.PersonPath; import ru.micord.webbpm.ervu.business_metrics.db_beans.idm_reconcile.tables.Role.RolePath; import ru.micord.webbpm.ervu.business_metrics.db_beans.idm_reconcile.tables.records.AccountRecord; @@ -120,11 +119,6 @@ public class Account extends TableImpl { */ public final TableField DOMAIN_ID = createField(DSL.name("domain_id"), SQLDataType.VARCHAR(36), this, ""); - /** - * The column idm_reconcile.account.person_id. - */ - public final TableField PERSON_ID = createField(DSL.name("person_id"), SQLDataType.VARCHAR(36), this, ""); - private Account(Name alias, Table aliased) { this(alias, aliased, (Field[]) null, null); } @@ -197,7 +191,7 @@ public class Account extends TableImpl { @Override public List> getReferences() { - return Arrays.asList(Keys.ACCOUNT__FK_DOMAIN, Keys.ACCOUNT__FK_PERSON); + return Arrays.asList(Keys.ACCOUNT__FK_DOMAIN); } private transient DomainPath _domain; @@ -213,19 +207,6 @@ public class Account extends TableImpl { return _domain; } - private transient PersonPath _person; - - /** - * Get the implicit join path to the idm_reconcile.person - * table. - */ - public PersonPath person() { - if (_person == null) - _person = new PersonPath(this, Keys.ACCOUNT__FK_PERSON, null); - - return _person; - } - private transient AccountRolePath _accountRole; /** diff --git a/backend/src/main/java/ru/micord/webbpm/ervu/business_metrics/db_beans/idm_reconcile/tables/Person.java b/backend/src/main/java/ru/micord/webbpm/ervu/business_metrics/db_beans/idm_reconcile/tables/Person.java deleted file mode 100644 index 177e08e..0000000 --- a/backend/src/main/java/ru/micord/webbpm/ervu/business_metrics/db_beans/idm_reconcile/tables/Person.java +++ /dev/null @@ -1,353 +0,0 @@ -/* - * This file is generated by jOOQ. - */ -package ru.micord.webbpm.ervu.business_metrics.db_beans.idm_reconcile.tables; - - -import java.sql.Date; -import java.sql.Timestamp; -import java.util.Collection; - -import org.jooq.Condition; -import org.jooq.Field; -import org.jooq.ForeignKey; -import org.jooq.InverseForeignKey; -import org.jooq.Name; -import org.jooq.Path; -import org.jooq.PlainSQL; -import org.jooq.QueryPart; -import org.jooq.Record; -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; - -import ru.micord.webbpm.ervu.business_metrics.db_beans.idm_reconcile.IdmReconcile; -import ru.micord.webbpm.ervu.business_metrics.db_beans.idm_reconcile.Keys; -import ru.micord.webbpm.ervu.business_metrics.db_beans.idm_reconcile.tables.Account.AccountPath; -import ru.micord.webbpm.ervu.business_metrics.db_beans.idm_reconcile.tables.PersonIpAddress.PersonIpAddressPath; -import ru.micord.webbpm.ervu.business_metrics.db_beans.idm_reconcile.tables.records.PersonRecord; - - -/** - * This class is generated by jOOQ. - */ -@SuppressWarnings({ "all", "unchecked", "rawtypes" }) -public class Person extends TableImpl { - - private static final long serialVersionUID = 1L; - - /** - * The reference instance of idm_reconcile.person - */ - public static final Person PERSON = new Person(); - - /** - * The class holding records for this type - */ - @Override - public Class getRecordType() { - return PersonRecord.class; - } - - /** - * The column idm_reconcile.person.id. - */ - public final TableField ID = createField(DSL.name("id"), SQLDataType.VARCHAR(36).nullable(false), this, ""); - - /** - * The column idm_reconcile.person.version. - */ - public final TableField VERSION = createField(DSL.name("version"), SQLDataType.INTEGER.nullable(false), this, ""); - - /** - * The column idm_reconcile.person.modified. - */ - public final TableField MODIFIED = createField(DSL.name("modified"), SQLDataType.TIMESTAMP(0), this, ""); - - /** - * The column idm_reconcile.person.schema. - */ - public final TableField SCHEMA = createField(DSL.name("schema"), SQLDataType.VARCHAR(100).nullable(false), this, ""); - - /** - * The column idm_reconcile.person.birthdate. - */ - public final TableField BIRTHDATE = createField(DSL.name("birthdate"), SQLDataType.DATE, this, ""); - - /** - * The column idm_reconcile.person.firstname. - */ - public final TableField FIRSTNAME = createField(DSL.name("firstname"), SQLDataType.VARCHAR(255), this, ""); - - /** - * The column idm_reconcile.person.middlename. - */ - public final TableField MIDDLENAME = createField(DSL.name("middlename"), SQLDataType.VARCHAR(255), this, ""); - - /** - * The column idm_reconcile.person.surname. - */ - public final TableField SURNAME = createField(DSL.name("surname"), SQLDataType.VARCHAR(255), this, ""); - - /** - * The column idm_reconcile.person.sex. - */ - public final TableField SEX = createField(DSL.name("sex"), SQLDataType.VARCHAR(10), this, ""); - - /** - * The column idm_reconcile.person.email. - */ - public final TableField EMAIL = createField(DSL.name("email"), SQLDataType.VARCHAR(255), this, ""); - - /** - * The column idm_reconcile.person.photo. - */ - public final TableField PHOTO = createField(DSL.name("photo"), SQLDataType.CLOB, this, ""); - - /** - * The column idm_reconcile.person.phone. - */ - public final TableField PHONE = createField(DSL.name("phone"), SQLDataType.VARCHAR(50), this, ""); - - /** - * The column idm_reconcile.person.snils. - */ - public final TableField SNILS = createField(DSL.name("snils"), SQLDataType.VARCHAR(20), this, ""); - - /** - * The column idm_reconcile.person.second_factor_enabled. - */ - public final TableField SECOND_FACTOR_ENABLED = createField(DSL.name("second_factor_enabled"), SQLDataType.BOOLEAN.nullable(false).defaultValue(DSL.field(DSL.raw("false"), SQLDataType.BOOLEAN)), this, ""); - - /** - * The column idm_reconcile.person.fio. - */ - public final TableField FIO = createField(DSL.name("fio"), SQLDataType.VARCHAR(255), this, ""); - - private Person(Name alias, Table aliased) { - this(alias, aliased, (Field[]) null, null); - } - - private Person(Name alias, Table aliased, Field[] parameters, Condition where) { - super(alias, null, aliased, parameters, DSL.comment(""), TableOptions.table(), where); - } - - /** - * Create an aliased idm_reconcile.person table reference - */ - public Person(String alias) { - this(DSL.name(alias), PERSON); - } - - /** - * Create an aliased idm_reconcile.person table reference - */ - public Person(Name alias) { - this(alias, PERSON); - } - - /** - * Create a idm_reconcile.person table reference - */ - public Person() { - this(DSL.name("person"), null); - } - - public Person(Table path, ForeignKey childPath, InverseForeignKey parentPath) { - super(path, childPath, parentPath, PERSON); - } - - /** - * A subtype implementing {@link Path} for simplified path-based joins. - */ - public static class PersonPath extends Person implements Path { - public PersonPath(Table path, ForeignKey childPath, InverseForeignKey parentPath) { - super(path, childPath, parentPath); - } - private PersonPath(Name alias, Table aliased) { - super(alias, aliased); - } - - @Override - public PersonPath as(String alias) { - return new PersonPath(DSL.name(alias), this); - } - - @Override - public PersonPath as(Name alias) { - return new PersonPath(alias, this); - } - - @Override - public PersonPath as(Table alias) { - return new PersonPath(alias.getQualifiedName(), this); - } - } - - @Override - public Schema getSchema() { - return aliased() ? null : IdmReconcile.IDM_RECONCILE; - } - - @Override - public UniqueKey getPrimaryKey() { - return Keys.PERSON_PKEY; - } - - private transient AccountPath _account; - - /** - * Get the implicit to-many join path to the - * idm_reconcile.account table - */ - public AccountPath account() { - if (_account == null) - _account = new AccountPath(this, null, Keys.ACCOUNT__FK_PERSON.getInverseKey()); - - return _account; - } - - private transient PersonIpAddressPath _personIpAddress; - - /** - * Get the implicit to-many join path to the - * idm_reconcile.person_ip_address table - */ - public PersonIpAddressPath personIpAddress() { - if (_personIpAddress == null) - _personIpAddress = new PersonIpAddressPath(this, null, Keys.PERSON_IP_ADDRESS__FK_PERSON_IP_PERSON.getInverseKey()); - - return _personIpAddress; - } - - @Override - public Person as(String alias) { - return new Person(DSL.name(alias), this); - } - - @Override - public Person as(Name alias) { - return new Person(alias, this); - } - - @Override - public Person as(Table alias) { - return new Person(alias.getQualifiedName(), this); - } - - /** - * Rename this table - */ - @Override - public Person rename(String name) { - return new Person(DSL.name(name), null); - } - - /** - * Rename this table - */ - @Override - public Person rename(Name name) { - return new Person(name, null); - } - - /** - * Rename this table - */ - @Override - public Person rename(Table name) { - return new Person(name.getQualifiedName(), null); - } - - /** - * Create an inline derived table from this table - */ - @Override - public Person where(Condition condition) { - return new Person(getQualifiedName(), aliased() ? this : null, null, condition); - } - - /** - * Create an inline derived table from this table - */ - @Override - public Person where(Collection conditions) { - return where(DSL.and(conditions)); - } - - /** - * Create an inline derived table from this table - */ - @Override - public Person where(Condition... conditions) { - return where(DSL.and(conditions)); - } - - /** - * Create an inline derived table from this table - */ - @Override - public Person where(Field condition) { - return where(DSL.condition(condition)); - } - - /** - * Create an inline derived table from this table - */ - @Override - @PlainSQL - public Person where(SQL condition) { - return where(DSL.condition(condition)); - } - - /** - * Create an inline derived table from this table - */ - @Override - @PlainSQL - public Person where(@Stringly.SQL String condition) { - return where(DSL.condition(condition)); - } - - /** - * Create an inline derived table from this table - */ - @Override - @PlainSQL - public Person where(@Stringly.SQL String condition, Object... binds) { - return where(DSL.condition(condition, binds)); - } - - /** - * Create an inline derived table from this table - */ - @Override - @PlainSQL - public Person where(@Stringly.SQL String condition, QueryPart... parts) { - return where(DSL.condition(condition, parts)); - } - - /** - * Create an inline derived table from this table - */ - @Override - public Person whereExists(Select select) { - return where(DSL.exists(select)); - } - - /** - * Create an inline derived table from this table - */ - @Override - public Person whereNotExists(Select select) { - return where(DSL.notExists(select)); - } -} diff --git a/backend/src/main/java/ru/micord/webbpm/ervu/business_metrics/db_beans/idm_reconcile/tables/PersonIpAddress.java b/backend/src/main/java/ru/micord/webbpm/ervu/business_metrics/db_beans/idm_reconcile/tables/PersonIpAddress.java deleted file mode 100644 index 8d3f85d..0000000 --- a/backend/src/main/java/ru/micord/webbpm/ervu/business_metrics/db_beans/idm_reconcile/tables/PersonIpAddress.java +++ /dev/null @@ -1,281 +0,0 @@ -/* - * This file is generated by jOOQ. - */ -package ru.micord.webbpm.ervu.business_metrics.db_beans.idm_reconcile.tables; - - -import java.util.Arrays; -import java.util.Collection; -import java.util.List; - -import org.jooq.Condition; -import org.jooq.Field; -import org.jooq.ForeignKey; -import org.jooq.InverseForeignKey; -import org.jooq.Name; -import org.jooq.Path; -import org.jooq.PlainSQL; -import org.jooq.QueryPart; -import org.jooq.Record; -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; - -import ru.micord.webbpm.ervu.business_metrics.db_beans.idm_reconcile.IdmReconcile; -import ru.micord.webbpm.ervu.business_metrics.db_beans.idm_reconcile.Keys; -import ru.micord.webbpm.ervu.business_metrics.db_beans.idm_reconcile.tables.Person.PersonPath; -import ru.micord.webbpm.ervu.business_metrics.db_beans.idm_reconcile.tables.records.PersonIpAddressRecord; - - -/** - * This class is generated by jOOQ. - */ -@SuppressWarnings({ "all", "unchecked", "rawtypes" }) -public class PersonIpAddress extends TableImpl { - - private static final long serialVersionUID = 1L; - - /** - * The reference instance of idm_reconcile.person_ip_address - */ - public static final PersonIpAddress PERSON_IP_ADDRESS = new PersonIpAddress(); - - /** - * The class holding records for this type - */ - @Override - public Class getRecordType() { - return PersonIpAddressRecord.class; - } - - /** - * The column idm_reconcile.person_ip_address.person_id. - */ - public final TableField PERSON_ID = createField(DSL.name("person_id"), SQLDataType.VARCHAR(36).nullable(false), this, ""); - - /** - * The column idm_reconcile.person_ip_address.ip_address. - */ - public final TableField IP_ADDRESS = createField(DSL.name("ip_address"), SQLDataType.VARCHAR(45).nullable(false), this, ""); - - private PersonIpAddress(Name alias, Table aliased) { - this(alias, aliased, (Field[]) null, null); - } - - private PersonIpAddress(Name alias, Table aliased, Field[] parameters, Condition where) { - super(alias, null, aliased, parameters, DSL.comment(""), TableOptions.table(), where); - } - - /** - * Create an aliased idm_reconcile.person_ip_address table - * reference - */ - public PersonIpAddress(String alias) { - this(DSL.name(alias), PERSON_IP_ADDRESS); - } - - /** - * Create an aliased idm_reconcile.person_ip_address table - * reference - */ - public PersonIpAddress(Name alias) { - this(alias, PERSON_IP_ADDRESS); - } - - /** - * Create a idm_reconcile.person_ip_address table reference - */ - public PersonIpAddress() { - this(DSL.name("person_ip_address"), null); - } - - public PersonIpAddress(Table path, ForeignKey childPath, InverseForeignKey parentPath) { - super(path, childPath, parentPath, PERSON_IP_ADDRESS); - } - - /** - * A subtype implementing {@link Path} for simplified path-based joins. - */ - public static class PersonIpAddressPath extends PersonIpAddress implements Path { - public PersonIpAddressPath(Table path, ForeignKey childPath, InverseForeignKey parentPath) { - super(path, childPath, parentPath); - } - private PersonIpAddressPath(Name alias, Table aliased) { - super(alias, aliased); - } - - @Override - public PersonIpAddressPath as(String alias) { - return new PersonIpAddressPath(DSL.name(alias), this); - } - - @Override - public PersonIpAddressPath as(Name alias) { - return new PersonIpAddressPath(alias, this); - } - - @Override - public PersonIpAddressPath as(Table alias) { - return new PersonIpAddressPath(alias.getQualifiedName(), this); - } - } - - @Override - public Schema getSchema() { - return aliased() ? null : IdmReconcile.IDM_RECONCILE; - } - - @Override - public UniqueKey getPrimaryKey() { - return Keys.PK_PERSON_IP; - } - - @Override - public List> getReferences() { - return Arrays.asList(Keys.PERSON_IP_ADDRESS__FK_PERSON_IP_PERSON); - } - - private transient PersonPath _person; - - /** - * Get the implicit join path to the idm_reconcile.person - * table. - */ - public PersonPath person() { - if (_person == null) - _person = new PersonPath(this, Keys.PERSON_IP_ADDRESS__FK_PERSON_IP_PERSON, null); - - return _person; - } - - @Override - public PersonIpAddress as(String alias) { - return new PersonIpAddress(DSL.name(alias), this); - } - - @Override - public PersonIpAddress as(Name alias) { - return new PersonIpAddress(alias, this); - } - - @Override - public PersonIpAddress as(Table alias) { - return new PersonIpAddress(alias.getQualifiedName(), this); - } - - /** - * Rename this table - */ - @Override - public PersonIpAddress rename(String name) { - return new PersonIpAddress(DSL.name(name), null); - } - - /** - * Rename this table - */ - @Override - public PersonIpAddress rename(Name name) { - return new PersonIpAddress(name, null); - } - - /** - * Rename this table - */ - @Override - public PersonIpAddress rename(Table name) { - return new PersonIpAddress(name.getQualifiedName(), null); - } - - /** - * Create an inline derived table from this table - */ - @Override - public PersonIpAddress where(Condition condition) { - return new PersonIpAddress(getQualifiedName(), aliased() ? this : null, null, condition); - } - - /** - * Create an inline derived table from this table - */ - @Override - public PersonIpAddress where(Collection conditions) { - return where(DSL.and(conditions)); - } - - /** - * Create an inline derived table from this table - */ - @Override - public PersonIpAddress where(Condition... conditions) { - return where(DSL.and(conditions)); - } - - /** - * Create an inline derived table from this table - */ - @Override - public PersonIpAddress where(Field condition) { - return where(DSL.condition(condition)); - } - - /** - * Create an inline derived table from this table - */ - @Override - @PlainSQL - public PersonIpAddress where(SQL condition) { - return where(DSL.condition(condition)); - } - - /** - * Create an inline derived table from this table - */ - @Override - @PlainSQL - public PersonIpAddress where(@Stringly.SQL String condition) { - return where(DSL.condition(condition)); - } - - /** - * Create an inline derived table from this table - */ - @Override - @PlainSQL - public PersonIpAddress where(@Stringly.SQL String condition, Object... binds) { - return where(DSL.condition(condition, binds)); - } - - /** - * Create an inline derived table from this table - */ - @Override - @PlainSQL - public PersonIpAddress where(@Stringly.SQL String condition, QueryPart... parts) { - return where(DSL.condition(condition, parts)); - } - - /** - * Create an inline derived table from this table - */ - @Override - public PersonIpAddress whereExists(Select select) { - return where(DSL.exists(select)); - } - - /** - * Create an inline derived table from this table - */ - @Override - public PersonIpAddress whereNotExists(Select select) { - return where(DSL.notExists(select)); - } -} diff --git a/backend/src/main/java/ru/micord/webbpm/ervu/business_metrics/db_beans/idm_reconcile/tables/records/PersonIpAddressRecord.java b/backend/src/main/java/ru/micord/webbpm/ervu/business_metrics/db_beans/idm_reconcile/tables/records/PersonIpAddressRecord.java deleted file mode 100644 index 335c94f..0000000 --- a/backend/src/main/java/ru/micord/webbpm/ervu/business_metrics/db_beans/idm_reconcile/tables/records/PersonIpAddressRecord.java +++ /dev/null @@ -1,79 +0,0 @@ -/* - * This file is generated by jOOQ. - */ -package ru.micord.webbpm.ervu.business_metrics.db_beans.idm_reconcile.tables.records; - - -import org.jooq.Record2; -import org.jooq.impl.UpdatableRecordImpl; - -import ru.micord.webbpm.ervu.business_metrics.db_beans.idm_reconcile.tables.PersonIpAddress; - - -/** - * This class is generated by jOOQ. - */ -@SuppressWarnings({ "all", "unchecked", "rawtypes" }) -public class PersonIpAddressRecord extends UpdatableRecordImpl { - - private static final long serialVersionUID = 1L; - - /** - * Setter for idm_reconcile.person_ip_address.person_id. - */ - public void setPersonId(String value) { - set(0, value); - } - - /** - * Getter for idm_reconcile.person_ip_address.person_id. - */ - public String getPersonId() { - return (String) get(0); - } - - /** - * Setter for idm_reconcile.person_ip_address.ip_address. - */ - public void setIpAddress(String value) { - set(1, value); - } - - /** - * Getter for idm_reconcile.person_ip_address.ip_address. - */ - public String getIpAddress() { - return (String) get(1); - } - - // ------------------------------------------------------------------------- - // Primary key information - // ------------------------------------------------------------------------- - - @Override - public Record2 key() { - return (Record2) super.key(); - } - - // ------------------------------------------------------------------------- - // Constructors - // ------------------------------------------------------------------------- - - /** - * Create a detached PersonIpAddressRecord - */ - public PersonIpAddressRecord() { - super(PersonIpAddress.PERSON_IP_ADDRESS); - } - - /** - * Create a detached, initialised PersonIpAddressRecord - */ - public PersonIpAddressRecord(String personId, String ipAddress) { - super(PersonIpAddress.PERSON_IP_ADDRESS); - - setPersonId(personId); - setIpAddress(ipAddress); - resetChangedOnNotNull(); - } -} diff --git a/backend/src/main/java/ru/micord/webbpm/ervu/business_metrics/db_beans/idm_reconcile/tables/records/PersonRecord.java b/backend/src/main/java/ru/micord/webbpm/ervu/business_metrics/db_beans/idm_reconcile/tables/records/PersonRecord.java deleted file mode 100644 index 8075ab0..0000000 --- a/backend/src/main/java/ru/micord/webbpm/ervu/business_metrics/db_beans/idm_reconcile/tables/records/PersonRecord.java +++ /dev/null @@ -1,277 +0,0 @@ -/* - * This file is generated by jOOQ. - */ -package ru.micord.webbpm.ervu.business_metrics.db_beans.idm_reconcile.tables.records; - - -import java.sql.Date; -import java.sql.Timestamp; - -import org.jooq.Record1; -import org.jooq.impl.UpdatableRecordImpl; - -import ru.micord.webbpm.ervu.business_metrics.db_beans.idm_reconcile.tables.Person; - - -/** - * This class is generated by jOOQ. - */ -@SuppressWarnings({ "all", "unchecked", "rawtypes" }) -public class PersonRecord extends UpdatableRecordImpl { - - private static final long serialVersionUID = 1L; - - /** - * Setter for idm_reconcile.person.id. - */ - public void setId(String value) { - set(0, value); - } - - /** - * Getter for idm_reconcile.person.id. - */ - public String getId() { - return (String) get(0); - } - - /** - * Setter for idm_reconcile.person.version. - */ - public void setVersion(Integer value) { - set(1, value); - } - - /** - * Getter for idm_reconcile.person.version. - */ - public Integer getVersion() { - return (Integer) get(1); - } - - /** - * Setter for idm_reconcile.person.modified. - */ - public void setModified(Timestamp value) { - set(2, value); - } - - /** - * Getter for idm_reconcile.person.modified. - */ - public Timestamp getModified() { - return (Timestamp) get(2); - } - - /** - * Setter for idm_reconcile.person.schema. - */ - public void setSchema(String value) { - set(3, value); - } - - /** - * Getter for idm_reconcile.person.schema. - */ - public String getSchema() { - return (String) get(3); - } - - /** - * Setter for idm_reconcile.person.birthdate. - */ - public void setBirthdate(Date value) { - set(4, value); - } - - /** - * Getter for idm_reconcile.person.birthdate. - */ - public Date getBirthdate() { - return (Date) get(4); - } - - /** - * Setter for idm_reconcile.person.firstname. - */ - public void setFirstname(String value) { - set(5, value); - } - - /** - * Getter for idm_reconcile.person.firstname. - */ - public String getFirstname() { - return (String) get(5); - } - - /** - * Setter for idm_reconcile.person.middlename. - */ - public void setMiddlename(String value) { - set(6, value); - } - - /** - * Getter for idm_reconcile.person.middlename. - */ - public String getMiddlename() { - return (String) get(6); - } - - /** - * Setter for idm_reconcile.person.surname. - */ - public void setSurname(String value) { - set(7, value); - } - - /** - * Getter for idm_reconcile.person.surname. - */ - public String getSurname() { - return (String) get(7); - } - - /** - * Setter for idm_reconcile.person.sex. - */ - public void setSex(String value) { - set(8, value); - } - - /** - * Getter for idm_reconcile.person.sex. - */ - public String getSex() { - return (String) get(8); - } - - /** - * Setter for idm_reconcile.person.email. - */ - public void setEmail(String value) { - set(9, value); - } - - /** - * Getter for idm_reconcile.person.email. - */ - public String getEmail() { - return (String) get(9); - } - - /** - * Setter for idm_reconcile.person.photo. - */ - public void setPhoto(String value) { - set(10, value); - } - - /** - * Getter for idm_reconcile.person.photo. - */ - public String getPhoto() { - return (String) get(10); - } - - /** - * Setter for idm_reconcile.person.phone. - */ - public void setPhone(String value) { - set(11, value); - } - - /** - * Getter for idm_reconcile.person.phone. - */ - public String getPhone() { - return (String) get(11); - } - - /** - * Setter for idm_reconcile.person.snils. - */ - public void setSnils(String value) { - set(12, value); - } - - /** - * Getter for idm_reconcile.person.snils. - */ - public String getSnils() { - return (String) get(12); - } - - /** - * Setter for idm_reconcile.person.second_factor_enabled. - */ - public void setSecondFactorEnabled(Boolean value) { - set(13, value); - } - - /** - * Getter for idm_reconcile.person.second_factor_enabled. - */ - public Boolean getSecondFactorEnabled() { - return (Boolean) get(13); - } - - /** - * Setter for idm_reconcile.person.fio. - */ - public void setFio(String value) { - set(14, value); - } - - /** - * Getter for idm_reconcile.person.fio. - */ - public String getFio() { - return (String) get(14); - } - - // ------------------------------------------------------------------------- - // Primary key information - // ------------------------------------------------------------------------- - - @Override - public Record1 key() { - return (Record1) super.key(); - } - - // ------------------------------------------------------------------------- - // Constructors - // ------------------------------------------------------------------------- - - /** - * Create a detached PersonRecord - */ - public PersonRecord() { - super(Person.PERSON); - } - - /** - * Create a detached, initialised PersonRecord - */ - public PersonRecord(String id, Integer version, Timestamp modified, String schema, Date birthdate, String firstname, String middlename, String surname, String sex, String email, String photo, String phone, String snils, Boolean secondFactorEnabled, String fio) { - super(Person.PERSON); - - setId(id); - setVersion(version); - setModified(modified); - setSchema(schema); - setBirthdate(birthdate); - setFirstname(firstname); - setMiddlename(middlename); - setSurname(surname); - setSex(sex); - setEmail(email); - setPhoto(photo); - setPhone(phone); - setSnils(snils); - setSecondFactorEnabled(secondFactorEnabled); - setFio(fio); - resetChangedOnNotNull(); - } -} From 95de57b5dede31f5abb57c3c3d64bad42ccf4ec4 Mon Sep 17 00:00:00 2001 From: "adel.ka" Date: Tue, 22 Apr 2025 15:43:20 +0300 Subject: [PATCH 09/40] SUPPORT-9122:fixes --- .../processor/impl/AccountDataProcessor.java | 9 +++++++-- .../processor/impl/DomainDataProcessor.java | 17 +++++++++++------ .../processor/impl/RoleDataProcessor.java | 9 +++++++-- 3 files changed, 25 insertions(+), 10 deletions(-) diff --git a/backend/src/main/java/ervu_business_metrics/service/processor/impl/AccountDataProcessor.java b/backend/src/main/java/ervu_business_metrics/service/processor/impl/AccountDataProcessor.java index 719dec2..dc079d3 100644 --- a/backend/src/main/java/ervu_business_metrics/service/processor/impl/AccountDataProcessor.java +++ b/backend/src/main/java/ervu_business_metrics/service/processor/impl/AccountDataProcessor.java @@ -65,8 +65,13 @@ public class AccountDataProcessor implements DataProcessor { } } - idmDirectoriesDaoService.insertAccountRecords(newAccountRecords); - idmDirectoriesDaoService.updateAccountRecords(accountRecordsToUpdate); + if (!newAccountRecords.isEmpty()) { + idmDirectoriesDaoService.insertAccountRecords(newAccountRecords); + } + + if (!accountRecordsToUpdate.isEmpty()) { + idmDirectoriesDaoService.updateAccountRecords(accountRecordsToUpdate); + } if (!accountsToDeleteRoles.isEmpty()) { idmDirectoriesDaoService.deleteAccountRolesByAccountIds(accountsToDeleteRoles); diff --git a/backend/src/main/java/ervu_business_metrics/service/processor/impl/DomainDataProcessor.java b/backend/src/main/java/ervu_business_metrics/service/processor/impl/DomainDataProcessor.java index ad7eba7..fce5f7c 100644 --- a/backend/src/main/java/ervu_business_metrics/service/processor/impl/DomainDataProcessor.java +++ b/backend/src/main/java/ervu_business_metrics/service/processor/impl/DomainDataProcessor.java @@ -28,8 +28,8 @@ public class DomainDataProcessor implements DataProcessor { @Override public void upsertData(List dataList) { - List newRecruitmentRecords = new ArrayList<>(); - List recruitmentRecords = new ArrayList<>(); + List newDomainRecords = new ArrayList<>(); + List domainRecords = new ArrayList<>(); Set existingIds = idmDirectoriesDaoService.getDomainIds(); for (DomainData data : dataList) { @@ -88,15 +88,20 @@ public class DomainDataProcessor implements DataProcessor { domainRecord.setManaged(data.getManaged()); if (existingIds.contains(data.getId())) { - recruitmentRecords.add(domainRecord); + domainRecords.add(domainRecord); } else { - newRecruitmentRecords.add(domainRecord); + newDomainRecords.add(domainRecord); } } - idmDirectoriesDaoService.insertDomainRecords(newRecruitmentRecords); - idmDirectoriesDaoService.updateDomainRecords(recruitmentRecords); + if (!newDomainRecords.isEmpty()) { + idmDirectoriesDaoService.insertDomainRecords(newDomainRecords); + } + + if (!domainRecords.isEmpty()) { + idmDirectoriesDaoService.updateDomainRecords(domainRecords); + } } @Override diff --git a/backend/src/main/java/ervu_business_metrics/service/processor/impl/RoleDataProcessor.java b/backend/src/main/java/ervu_business_metrics/service/processor/impl/RoleDataProcessor.java index 5ae4720..d22e30c 100644 --- a/backend/src/main/java/ervu_business_metrics/service/processor/impl/RoleDataProcessor.java +++ b/backend/src/main/java/ervu_business_metrics/service/processor/impl/RoleDataProcessor.java @@ -59,8 +59,13 @@ public class RoleDataProcessor implements DataProcessor { } } - idmDirectoriesDaoService.insertRoleRecords(newRoleRecords); - idmDirectoriesDaoService.updateRoleRecords(roleRecords); + if (!newRoleRecords.isEmpty()) { + idmDirectoriesDaoService.insertRoleRecords(newRoleRecords); + } + + if (!roleRecords.isEmpty()) { + idmDirectoriesDaoService.updateRoleRecords(roleRecords); + } } @Override From 979819284a930ec8c73a30509a5d6c2a93d87b92 Mon Sep 17 00:00:00 2001 From: "adel.ka" Date: Tue, 22 Apr 2025 16:20:01 +0300 Subject: [PATCH 10/40] SUPPORT-9122:fixes --- .../ervu_business_metrics/dao/IdmDirectoriesDao.java | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/backend/src/main/java/ervu_business_metrics/dao/IdmDirectoriesDao.java b/backend/src/main/java/ervu_business_metrics/dao/IdmDirectoriesDao.java index 3882355..0a497ba 100644 --- a/backend/src/main/java/ervu_business_metrics/dao/IdmDirectoriesDao.java +++ b/backend/src/main/java/ervu_business_metrics/dao/IdmDirectoriesDao.java @@ -47,21 +47,21 @@ public class IdmDirectoriesDao { } public Set getAccountIds() { - return new HashSet<>(dsl.select(ACCOUNT.ID) + return dsl.select(ACCOUNT.ID) .from(ACCOUNT) - .fetch(ACCOUNT.ID)); + .fetchSet(ACCOUNT.ID); } public Set getRoleIds() { - return new HashSet<>(dsl.select(ROLE.ID) + return dsl.select(ROLE.ID) .from(ROLE) - .fetch(ROLE.ID)); + .fetchSet(ROLE.ID); } public Set getDomainIds() { - return new HashSet<>(dsl.select(DOMAIN.ID) + return dsl.select(DOMAIN.ID) .from(DOMAIN) - .fetch(DOMAIN.ID)); + .fetchSet(DOMAIN.ID); } public void insertDomainRecords(List domainRecords) { From 49a0c44cf2286dc6f5a05f88b8549b10020516ee Mon Sep 17 00:00:00 2001 From: "adel.ka" Date: Tue, 22 Apr 2025 16:25:49 +0300 Subject: [PATCH 11/40] SUPPORT-9122:fix from review --- .../config/IdmReconcileEnabledCondition.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/backend/src/main/java/ervu_business_metrics/config/IdmReconcileEnabledCondition.java b/backend/src/main/java/ervu_business_metrics/config/IdmReconcileEnabledCondition.java index 889718c..2af5f0d 100644 --- a/backend/src/main/java/ervu_business_metrics/config/IdmReconcileEnabledCondition.java +++ b/backend/src/main/java/ervu_business_metrics/config/IdmReconcileEnabledCondition.java @@ -14,6 +14,6 @@ public class IdmReconcileEnabledCondition implements Condition { @Override public boolean matches(ConditionContext context, AnnotatedTypeMetadata metadata) { Environment env = context.getEnvironment(); - return Boolean.parseBoolean(env.getProperty(ERVU_RECONCILE_ENABLED, Boolean.toString(true))); + return Boolean.parseBoolean(env.getProperty(ERVU_RECONCILE_ENABLED, "true")); } } From 57fe1628ded5f5ce378e18d112b2710aed69fe5e Mon Sep 17 00:00:00 2001 From: "adel.ka" Date: Wed, 23 Apr 2025 10:19:06 +0300 Subject: [PATCH 12/40] SUPPORT-9122:fix --- .../service/processor/impl/AccountDataProcessor.java | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/backend/src/main/java/ervu_business_metrics/service/processor/impl/AccountDataProcessor.java b/backend/src/main/java/ervu_business_metrics/service/processor/impl/AccountDataProcessor.java index dc079d3..31183f6 100644 --- a/backend/src/main/java/ervu_business_metrics/service/processor/impl/AccountDataProcessor.java +++ b/backend/src/main/java/ervu_business_metrics/service/processor/impl/AccountDataProcessor.java @@ -88,11 +88,15 @@ public class AccountDataProcessor implements DataProcessor { } private void addRolesForAccount(AccountData data, List accountRoleRecords) { + Set existingRoleIds = idmDirectoriesDaoService.getRoleIds(); + for (String roleId : data.getRoles()) { - AccountRoleRecord accountRoleRecord = idmDirectoriesDaoService.getAccountRoleRecord(); - accountRoleRecord.setAccountId(data.getId()); - accountRoleRecord.setRoleId(roleId); - accountRoleRecords.add(accountRoleRecord); + if (existingRoleIds.contains(roleId)) { + AccountRoleRecord accountRoleRecord = idmDirectoriesDaoService.getAccountRoleRecord(); + accountRoleRecord.setAccountId(data.getId()); + accountRoleRecord.setRoleId(roleId); + accountRoleRecords.add(accountRoleRecord); + } } } } From f888cc99348b3d43ccc71139f56ad02c3f036437 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=A4=D0=BE=D0=B0=D1=82=20=D0=A1=D0=B0=D0=BB=D1=8F=D1=85?= =?UTF-8?q?=D0=BE=D0=B2?= Date: Wed, 23 Apr 2025 11:22:08 +0300 Subject: [PATCH 13/40] changeSet --- .../config/v_1.0/20250423-db_changes.xml | 24 +++++++++++++++++++ .../resources/config/v_1.0/changelog-1.0.xml | 2 ++ 2 files changed, 26 insertions(+) create mode 100644 backend/src/main/resources/config/v_1.0/20250423-db_changes.xml diff --git a/backend/src/main/resources/config/v_1.0/20250423-db_changes.xml b/backend/src/main/resources/config/v_1.0/20250423-db_changes.xml new file mode 100644 index 0000000..bec87d1 --- /dev/null +++ b/backend/src/main/resources/config/v_1.0/20250423-db_changes.xml @@ -0,0 +1,24 @@ + + + + + + + CREATE VIEW + + CREATE OR REPLACE VIEW actualization.view_app_reason + AS SELECT app_reason.app_reason_id, + COALESCE(round(app_reason.count_place_of_stay::numeric * 100::numeric / NULLIF((app_reason.count_place_of_stay + app_reason.count_work + app_reason.count_place_of_study + app_reason.count_family_status + app_reason.count_education+count_education + app_reason.count_renaming)::numeric, 0::numeric)), 0::numeric) AS percent_place_of_stay, + COALESCE(round(app_reason.count_work::numeric * 100::numeric / NULLIF((app_reason.count_place_of_stay + app_reason.count_work + app_reason.count_place_of_study + app_reason.count_family_status + app_reason.count_education+count_education + app_reason.count_renaming)::numeric, 0::numeric)), 0::numeric) AS percent_work, + COALESCE(round(app_reason.count_place_of_study::numeric * 100::numeric / NULLIF((app_reason.count_place_of_stay + app_reason.count_work + app_reason.count_place_of_study + app_reason.count_family_status + app_reason.count_education+count_education + app_reason.count_renaming)::numeric, 0::numeric)), 0::numeric) AS percent_place_of_study, + COALESCE(round(app_reason.count_family_status::numeric * 100::numeric / NULLIF((app_reason.count_place_of_stay + app_reason.count_work + app_reason.count_place_of_study + app_reason.count_family_status + app_reason.count_education+count_education + app_reason.count_renaming)::numeric, 0::numeric)), 0::numeric) AS percent_family_status, + COALESCE(round(app_reason.count_education::numeric * 100::numeric / NULLIF((app_reason.count_place_of_stay + app_reason.count_work + app_reason.count_place_of_study + app_reason.count_family_status + app_reason.count_education+count_education + app_reason.count_renaming)::numeric, 0::numeric)), 0::numeric) AS percent_education, + COALESCE(round(app_reason.count_renaming::numeric * 100::numeric / NULLIF((app_reason.count_place_of_stay + app_reason.count_work + app_reason.count_place_of_study + app_reason.count_family_status + app_reason.count_education+count_education + app_reason.count_renaming)::numeric, 0::numeric)), 0::numeric) AS percent_renaming + FROM actualization.app_reason; + + + \ No newline at end of file diff --git a/backend/src/main/resources/config/v_1.0/changelog-1.0.xml b/backend/src/main/resources/config/v_1.0/changelog-1.0.xml index e6cf37f..b2348bc 100644 --- a/backend/src/main/resources/config/v_1.0/changelog-1.0.xml +++ b/backend/src/main/resources/config/v_1.0/changelog-1.0.xml @@ -27,5 +27,7 @@ + + \ No newline at end of file From 9e2c1189bfd97eb8b3bab0240aea48987c7d3a2f Mon Sep 17 00:00:00 2001 From: "adel.ka" Date: Wed, 23 Apr 2025 20:13:28 +0300 Subject: [PATCH 14/40] SUPPORT-9122:fix --- .../kafka/KafkaConsumerInitializer.java | 32 +++++-------------- 1 file changed, 8 insertions(+), 24 deletions(-) diff --git a/backend/src/main/java/ervu_business_metrics/kafka/KafkaConsumerInitializer.java b/backend/src/main/java/ervu_business_metrics/kafka/KafkaConsumerInitializer.java index 3de8adc..fa362fa 100644 --- a/backend/src/main/java/ervu_business_metrics/kafka/KafkaConsumerInitializer.java +++ b/backend/src/main/java/ervu_business_metrics/kafka/KafkaConsumerInitializer.java @@ -4,11 +4,8 @@ import javax.annotation.PostConstruct; import ervu_business_metrics.config.IdmReconcileEnabledCondition; import ervu_business_metrics.service.IdmDirectoriesService; -import org.springframework.beans.factory.annotation.Value; import org.springframework.context.annotation.Conditional; import org.springframework.context.annotation.DependsOn; -import org.springframework.kafka.config.KafkaListenerEndpointRegistry; -import org.springframework.kafka.listener.MessageListenerContainer; import org.springframework.stereotype.Component; /** @@ -18,37 +15,24 @@ import org.springframework.stereotype.Component; @DependsOn("idmDirectoriesListener") @Conditional(IdmReconcileEnabledCondition.class) public class KafkaConsumerInitializer { - private final KafkaListenerEndpointRegistry kafkaListenerEndpointRegistry; private final IdmDirectoriesService idmDirectoriesService; - @Value("${kafka.domain.group.id}") - private String domainGroupId; - @Value("${kafka.role.group.id}") - private String roleGroupId; - @Value("${kafka.account.group.id}") - private String accountGroupId; - public KafkaConsumerInitializer(KafkaListenerEndpointRegistry kafkaListenerEndpointRegistry, - IdmDirectoriesService idmDirectoriesService) { - this.kafkaListenerEndpointRegistry = kafkaListenerEndpointRegistry; + public KafkaConsumerInitializer(IdmDirectoriesService idmDirectoriesService) { this.idmDirectoriesService = idmDirectoriesService; } @PostConstruct public void initialize() { - startKafkaListener(domainGroupId); - startKafkaListener(roleGroupId); - startKafkaListener(accountGroupId); - - new Thread(idmDirectoriesService::updateDirectories).start(); + new Thread(this::runWithSleep).start(); } - private void startKafkaListener(String listenerId) { - MessageListenerContainer container = kafkaListenerEndpointRegistry.getListenerContainer(listenerId); - if (container != null) { - container.start(); + private void runWithSleep() { + try { + Thread.sleep(10000); } - else { - throw new IllegalStateException("Kafka Listener not found: " + listenerId); + catch (InterruptedException e) { + throw new RuntimeException(e); } + idmDirectoriesService.updateDirectories(); } } From f077526b4b025b6c401c307e1862a2519b90ba01 Mon Sep 17 00:00:00 2001 From: "adel.ka" Date: Wed, 23 Apr 2025 21:19:41 +0300 Subject: [PATCH 15/40] SUPPORT-9122:fixes --- .../model/AccountData.java | 10 +++++----- .../model/ReferenceEntity.java | 19 ------------------- .../processor/impl/AccountDataProcessor.java | 2 +- 3 files changed, 6 insertions(+), 25 deletions(-) delete mode 100644 backend/src/main/java/ervu_business_metrics/model/ReferenceEntity.java diff --git a/backend/src/main/java/ervu_business_metrics/model/AccountData.java b/backend/src/main/java/ervu_business_metrics/model/AccountData.java index e05f44b..b0d6dca 100644 --- a/backend/src/main/java/ervu_business_metrics/model/AccountData.java +++ b/backend/src/main/java/ervu_business_metrics/model/AccountData.java @@ -22,7 +22,7 @@ public class AccountData { private String workMail; private boolean esiaAccount; @JsonProperty("user-domain") - private ReferenceEntity userDomain; + private String userDomainId; private List roles; public String getId() { @@ -113,12 +113,12 @@ public class AccountData { this.esiaAccount = esiaAccount; } - public ReferenceEntity getUserDomain() { - return userDomain; + public String getUserDomainId() { + return userDomainId; } - public void setUserDomain(ReferenceEntity userDomain) { - this.userDomain = userDomain; + public void setUserDomainId(String userDomainId) { + this.userDomainId = userDomainId; } public List getRoles() { diff --git a/backend/src/main/java/ervu_business_metrics/model/ReferenceEntity.java b/backend/src/main/java/ervu_business_metrics/model/ReferenceEntity.java deleted file mode 100644 index 5296d75..0000000 --- a/backend/src/main/java/ervu_business_metrics/model/ReferenceEntity.java +++ /dev/null @@ -1,19 +0,0 @@ -package ervu_business_metrics.model; - -import com.fasterxml.jackson.annotation.JsonIgnoreProperties; - -/** - * @author Adel Kalimullin - */ -@JsonIgnoreProperties(ignoreUnknown = true) -public class ReferenceEntity { - private String id; - - public String getId() { - return id; - } - - public void setId(String id) { - this.id = id; - } -} diff --git a/backend/src/main/java/ervu_business_metrics/service/processor/impl/AccountDataProcessor.java b/backend/src/main/java/ervu_business_metrics/service/processor/impl/AccountDataProcessor.java index 31183f6..463bcae 100644 --- a/backend/src/main/java/ervu_business_metrics/service/processor/impl/AccountDataProcessor.java +++ b/backend/src/main/java/ervu_business_metrics/service/processor/impl/AccountDataProcessor.java @@ -50,7 +50,7 @@ public class AccountDataProcessor implements DataProcessor { record.setFio(data.getFio()); record.setWorkMail(data.getWorkMail()); record.setEsiaAccount(data.isEsiaAccount()); - record.setDomainId(data.getUserDomain().getId()); + record.setDomainId(data.getUserDomainId()); if (existingIds.contains(data.getId())) { accountRecordsToUpdate.add(record); From 87da2515c3401ca50a82e75d0ffc10a9cebc850e Mon Sep 17 00:00:00 2001 From: "adel.ka" Date: Wed, 23 Apr 2025 22:48:45 +0300 Subject: [PATCH 16/40] SUPPORT-9122:fixes --- .../service/IdmDirectoriesDaoService.java | 3 +++ 1 file changed, 3 insertions(+) diff --git a/backend/src/main/java/ervu_business_metrics/service/IdmDirectoriesDaoService.java b/backend/src/main/java/ervu_business_metrics/service/IdmDirectoriesDaoService.java index 9ea6c2c..d25b6ea 100644 --- a/backend/src/main/java/ervu_business_metrics/service/IdmDirectoriesDaoService.java +++ b/backend/src/main/java/ervu_business_metrics/service/IdmDirectoriesDaoService.java @@ -56,6 +56,7 @@ public class IdmDirectoriesDaoService { return idmDirectoriesDao.getDomainIds(); } + @CacheEvict(value = "domain-ids", allEntries = true) public void insertDomainRecords(List newDomainRecords) { idmDirectoriesDao.insertDomainRecords(newDomainRecords); } @@ -64,6 +65,7 @@ public class IdmDirectoriesDaoService { idmDirectoriesDao.updateDomainRecords(domainRecords); } + @CacheEvict(value = "role-ids", allEntries = true) public void insertRoleRecords(List newRoleRecords) { idmDirectoriesDao.insertRoleRecords(newRoleRecords); } @@ -72,6 +74,7 @@ public class IdmDirectoriesDaoService { idmDirectoriesDao.updateRoleRecords(roleRecords); } + @CacheEvict(value = "account-ids", allEntries = true) public void insertAccountRecords(List accountRecords) { idmDirectoriesDao.insertAccountRecords(accountRecords); } From 8aa05afa489a9b65e54fbca4f02fbe0c9778eaae Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=A4=D0=BE=D0=B0=D1=82=20=D0=A1=D0=B0=D0=BB=D1=8F=D1=85?= =?UTF-8?q?=D0=BE=D0=B2?= Date: Thu, 24 Apr 2025 11:53:27 +0300 Subject: [PATCH 17/40] changeSet --- .../main/resources/config/v_1.0/20250423-db_changes.xml | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/backend/src/main/resources/config/v_1.0/20250423-db_changes.xml b/backend/src/main/resources/config/v_1.0/20250423-db_changes.xml index bec87d1..84d1e74 100644 --- a/backend/src/main/resources/config/v_1.0/20250423-db_changes.xml +++ b/backend/src/main/resources/config/v_1.0/20250423-db_changes.xml @@ -21,4 +21,12 @@ FROM actualization.app_reason; + + + EDIT TABLE + + ALTER TABLE metrics.citizen_appeals + ALTER COLUMN average_response_time TYPE numeric(10,1); + + \ No newline at end of file From 87c3995070cdd89a8f18a276976bd0af0d9c7deb Mon Sep 17 00:00:00 2001 From: "adel.ka" Date: Thu, 24 Apr 2025 12:04:44 +0300 Subject: [PATCH 18/40] SUPPORT-9122:fixes --- .../src/main/java/ervu_business_metrics/kafka/KafkaConfig.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/backend/src/main/java/ervu_business_metrics/kafka/KafkaConfig.java b/backend/src/main/java/ervu_business_metrics/kafka/KafkaConfig.java index cd01fca..0fd473b 100644 --- a/backend/src/main/java/ervu_business_metrics/kafka/KafkaConfig.java +++ b/backend/src/main/java/ervu_business_metrics/kafka/KafkaConfig.java @@ -58,7 +58,7 @@ public class KafkaConfig { props.put(SaslConfigs.SASL_JAAS_CONFIG, loginModule + " required username=\"" + username + "\" password=\"" + password + "\";"); props.put(SaslConfigs.SASL_MECHANISM, saslMechanism); - + props.put(ConsumerConfig.AUTO_OFFSET_RESET_CONFIG, "latest"); return props; } From ecd72bdf6a3f529dd6408fc9c2f1324a5285f84e Mon Sep 17 00:00:00 2001 From: "adel.ka" Date: Thu, 24 Apr 2025 16:29:52 +0300 Subject: [PATCH 19/40] SUPPORT-9122:fix --- .../resources/config/v_1.0/20250418-SUPPORT-9122_add_idm.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/backend/src/main/resources/config/v_1.0/20250418-SUPPORT-9122_add_idm.xml b/backend/src/main/resources/config/v_1.0/20250418-SUPPORT-9122_add_idm.xml index 614c534..0ce201c 100644 --- a/backend/src/main/resources/config/v_1.0/20250418-SUPPORT-9122_add_idm.xml +++ b/backend/src/main/resources/config/v_1.0/20250418-SUPPORT-9122_add_idm.xml @@ -9,7 +9,7 @@ create schema idm_reconcile CREATE SCHEMA IF NOT EXISTS idm_reconcile; - ALTER SCHEMA metrics OWNER TO ervu_business_metrics; + ALTER SCHEMA idm_reconcile OWNER TO ervu_business_metrics; From fed8b9c27fd15e6de36a7dc35597c202ead8a852 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=A0=D0=B0=D1=83=D1=84=20=D0=9B=D0=B0=D1=82=D1=8B=D0=BF?= =?UTF-8?q?=D0=BE=D0=B2?= Date: Thu, 24 Apr 2025 23:45:17 +0300 Subject: [PATCH 20/40] =?UTF-8?q?SUPPORT-9133:=20=D0=BF=D0=B5=D1=80=D0=B5?= =?UTF-8?q?=D0=BD=D0=BE=D1=81=20=D0=B4=D0=BE=D1=80=D0=B0=D0=B1=D0=BE=D1=82?= =?UTF-8?q?=D0=BE=D0=BA=20=D0=B8=D0=B7=20ervu-dashboard?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../component/enum/TreeValuesCacheStrategy.ts | 5 + .../field/DropdownTreeViewComponent.ts | 149 ++++++++++++++++-- 2 files changed, 140 insertions(+), 14 deletions(-) create mode 100644 frontend/src/ts/component/enum/TreeValuesCacheStrategy.ts diff --git a/frontend/src/ts/component/enum/TreeValuesCacheStrategy.ts b/frontend/src/ts/component/enum/TreeValuesCacheStrategy.ts new file mode 100644 index 0000000..92b5cef --- /dev/null +++ b/frontend/src/ts/component/enum/TreeValuesCacheStrategy.ts @@ -0,0 +1,5 @@ +export enum TreeValuesCacheStrategy { + BY_PAGE_OBJECT_ID = "BY_PAGE_OBJECT_ID", + BY_OBJECT_NAME = "BY_OBJECT_NAME", + BY_CUSTOM_NAME = "BY_CUSTOM_NAME", +} diff --git a/frontend/src/ts/component/field/DropdownTreeViewComponent.ts b/frontend/src/ts/component/field/DropdownTreeViewComponent.ts index c946e03..a3730a1 100644 --- a/frontend/src/ts/component/field/DropdownTreeViewComponent.ts +++ b/frontend/src/ts/component/field/DropdownTreeViewComponent.ts @@ -2,19 +2,29 @@ import { ChangeDetectionStrategy, ChangeDetectorRef, Component, - ElementRef + ElementRef, + Input } from "@angular/core"; import { + AdvancedProperty, Event, InputControl, - UserService, - Visible + LocalStorageService, + NotNull, + PageContextHolder, + PageObjectUtils, + TaskParamsProvider, + Visible, + WebbpmStorage } from "@webbpm/base-package"; import {TreeItemDto} from "../../generated/component/model/TreeItemDto"; import {TreeItemRpcService} from "../../generated/component/rpc/TreeItemRpcService"; -import {DropdownTreeviewSelectI18n} from "../external/ngx-treeview/dropdown-treeview-select/dropdown-treeview-select-i18n"; +import { + DropdownTreeviewSelectI18n +} from "../external/ngx-treeview/dropdown-treeview-select/dropdown-treeview-select-i18n"; import {TreeItem, TreeviewItem} from "ngx-treeview"; +import {TreeValuesCacheStrategy} from "../enum/TreeValuesCacheStrategy"; @Component({ moduleId: module.id, @@ -26,44 +36,118 @@ import {TreeItem, TreeviewItem} from "ngx-treeview"; changeDetection: ChangeDetectionStrategy.OnPush }) export class DropdownTreeViewComponent extends InputControl { + @Input() + @AdvancedProperty() + public treeValuesCacheStrategy: TreeValuesCacheStrategy; + @Visible("treeValuesCacheStrategy == TreeValuesCacheStrategy.BY_CUSTOM_NAME") + @NotNull("treeValuesCacheStrategy == TreeValuesCacheStrategy.BY_CUSTOM_NAME") + @AdvancedProperty() + public treeValuesCustomName: string; + @Visible("false") + public cachedValue: TreeItemDto; public collapseLevel: number; public maxHeight: number; @Visible("false") public items: TreeviewItem[]; @Visible("false") - public value: any; + public value: TreeItemDto; @Visible("false") public valueChangeEvent: Event = new Event(); private rpcService: TreeItemRpcService; - constructor(el: ElementRef, cd: ChangeDetectorRef, - private i18n: DropdownTreeviewSelectI18n) { + private localStorageService: LocalStorageService; + private taskParamsProvider: TaskParamsProvider; + private pageContextHolder: PageContextHolder; + private webbpmStorage: WebbpmStorage; + private storageKey: string; + private rootValues: TreeItemDto[]; + + constructor(el: ElementRef, cd: ChangeDetectorRef, private i18n: DropdownTreeviewSelectI18n) { super(el, cd); } public initialize() { super.initialize(); this.rpcService = this.getScript(TreeItemRpcService); + + this.taskParamsProvider = this.injector.get(TaskParamsProvider); + this.localStorageService = this.injector.get(LocalStorageService); + this.pageContextHolder = this.injector.get(PageContextHolder); + this.webbpmStorage = + this.getTreeValuesStorage(this.treeValuesCacheStrategy, this.treeValuesCustomName); + this.cachedValue = this.getCachedValue(); this.loadTreeItems(); } + private getTreeValuesStorage(treeValuesCacheStrategy: TreeValuesCacheStrategy, + customKeyName: string) { + if (!treeValuesCacheStrategy) { + return null; + } + switch (treeValuesCacheStrategy) { + case TreeValuesCacheStrategy.BY_PAGE_OBJECT_ID: + this.storageKey = PageObjectUtils.getPageObjectKey(this); + return this.readWebbpmStorage(this.storageKey); + case TreeValuesCacheStrategy.BY_OBJECT_NAME: + this.storageKey = this.getObjectName(); + return this.readWebbpmStorage(this.storageKey); + case TreeValuesCacheStrategy.BY_CUSTOM_NAME: + this.storageKey = customKeyName; + return this.readWebbpmStorage(this.storageKey); + default: + throw new Error("Unknown tree values storage type = " + treeValuesCacheStrategy) + } + } + + readWebbpmStorage(treeStorageKey: string) { + if (this.pageContextHolder.isPageInBpmnContext()) { + treeStorageKey = treeStorageKey + "$" + this.taskParamsProvider.processInstanceId + } + return this.localStorageService.readTemporalWebbpmStorage(treeStorageKey); + } + @Visible() public loadTreeItems(): void { this.rpcService.loadTreeData() .then((res: TreeItemDto[]) => { this.items = res.map(value => new TreeviewItem(this.createTreeItem(value))); + this.rootValues = res; const rootItem = this.items[0]; - this.i18n.selectedItem = rootItem; - this.value = rootItem ? rootItem.value : rootItem; + if (this.cachedValue) { + const matchedItem = this.findTreeItemByValue(this.items, this.cachedValue); + if (matchedItem) { + this.i18n.selectedItem = matchedItem; + this.value = matchedItem.value; + } + } + else { + this.i18n.selectedItem = rootItem; + this.value = rootItem.value; + } this.doCollapseLevel(); this.onValueChange(this.value); this.cd.markForCheck(); }); } + private findTreeItemByValue(rootItems: TreeviewItem[], valueToFind: any): TreeviewItem | null { + for (const item of rootItems) { + if (JSON.stringify(item.value) === JSON.stringify(valueToFind)) { + return item; + } + if (item.children) { + const found = this.findTreeItemByValue(item.children, valueToFind); + if (found) { + return found; + } + } + } + return null; + } + private createTreeItem(treeItemDto: TreeItemDto): TreeItem { let treeItem: TreeItem; if (treeItemDto) { @@ -84,6 +168,7 @@ export class DropdownTreeViewComponent extends InputControl { } public onValueChange($event: any) { + this.setCachedValue(this.value); this.valueChangeEvent.trigger($event); this.applyListener(this.changeListeners); } @@ -113,20 +198,51 @@ export class DropdownTreeViewComponent extends InputControl { } } + protected setCachedValue(newValue: TreeItemDto): void { + if (this.webbpmStorage) { + this.webbpmStorage.put(this.storageKey, newValue); + } + } + + protected getCachedValue(): TreeItemDto { + if (this.webbpmStorage) { + return this.webbpmStorage.get(this.storageKey); + } + return null; + } + getPresentationValue(): string | number | boolean { - return this.value; + return this.value ? this.value.label : ''; } getValue(): any { - return this.value; + return this.value ? this.value.id : this.value; } - getValueAsModel(): any { + getValueAsModel(): TreeItemDto { return this.value ? this.value : null; } - setValue(value: any): any { - this.value = value; + setValue(value: any): void { + const foundValue: TreeItemDto = this.findValueInRootsById(value); + if (foundValue) { + this.value = foundValue; + this.onValueChange(this.value); + } + } + + private findValueInRootsById(id: any): TreeItemDto { + let searchArray: TreeItemDto[] = this.rootValues.slice(); + while (searchArray.length > 0) { + const current = searchArray.shift(); + if (current.id == id) { + return current; + } + if (current.children && current.children.length > 0) { + searchArray.push(...current.children); + } + } + return undefined; } onChange() { @@ -134,6 +250,11 @@ export class DropdownTreeViewComponent extends InputControl { this.valueChangeEvent.trigger(this.value); } + addChangeListener(onChangeFunction: Function): void { + super.addChangeListener(onChangeFunction); + onChangeFunction(); + } + subscribeToModelChange() { //empty because there is no ngModel here } From 80eca20532c9b632ae2304c3b6f89f291826237d Mon Sep 17 00:00:00 2001 From: "adel.ka" Date: Fri, 25 Apr 2025 09:27:11 +0300 Subject: [PATCH 21/40] SUPPORT-9122:fix --- backend/src/main/java/AppConfig.java | 1 + 1 file changed, 1 insertion(+) diff --git a/backend/src/main/java/AppConfig.java b/backend/src/main/java/AppConfig.java index c2674db..d9b024a 100644 --- a/backend/src/main/java/AppConfig.java +++ b/backend/src/main/java/AppConfig.java @@ -124,4 +124,5 @@ public class AppConfig { public RestTemplate restTemplate() { return new RestTemplate(); } + } From fd028c934ac97d29eae9d357f28ea3a59c5dba91 Mon Sep 17 00:00:00 2001 From: "adel.ka" Date: Fri, 25 Apr 2025 10:19:35 +0300 Subject: [PATCH 22/40] SUPPORT-9122: return ReferenceEntity and add deserializer --- .../model/AccountData.java | 13 ++++--- .../model/ReferenceEntity.java | 23 +++++++++++++ .../ReferenceEntityDeserializer.java | 34 +++++++++++++++++++ .../processor/impl/AccountDataProcessor.java | 2 +- 4 files changed, 66 insertions(+), 6 deletions(-) create mode 100644 backend/src/main/java/ervu_business_metrics/model/ReferenceEntity.java create mode 100644 backend/src/main/java/ervu_business_metrics/model/deserializer/ReferenceEntityDeserializer.java diff --git a/backend/src/main/java/ervu_business_metrics/model/AccountData.java b/backend/src/main/java/ervu_business_metrics/model/AccountData.java index b0d6dca..938965a 100644 --- a/backend/src/main/java/ervu_business_metrics/model/AccountData.java +++ b/backend/src/main/java/ervu_business_metrics/model/AccountData.java @@ -4,6 +4,8 @@ import java.util.List; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import ervu_business_metrics.model.deserializer.ReferenceEntityDeserializer; /** * @author Adel Kalimullin @@ -22,7 +24,8 @@ public class AccountData { private String workMail; private boolean esiaAccount; @JsonProperty("user-domain") - private String userDomainId; + @JsonDeserialize(using = ReferenceEntityDeserializer.class) + private ReferenceEntity userDomain; private List roles; public String getId() { @@ -113,12 +116,12 @@ public class AccountData { this.esiaAccount = esiaAccount; } - public String getUserDomainId() { - return userDomainId; + public ReferenceEntity getUserDomain() { + return userDomain; } - public void setUserDomainId(String userDomainId) { - this.userDomainId = userDomainId; + public void setUserDomain(ReferenceEntity userDomain) { + this.userDomain = userDomain; } public List getRoles() { diff --git a/backend/src/main/java/ervu_business_metrics/model/ReferenceEntity.java b/backend/src/main/java/ervu_business_metrics/model/ReferenceEntity.java new file mode 100644 index 0000000..2e48519 --- /dev/null +++ b/backend/src/main/java/ervu_business_metrics/model/ReferenceEntity.java @@ -0,0 +1,23 @@ +package ervu_business_metrics.model; + +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; + +/** + * @author Adel Kalimullin + */ +@JsonIgnoreProperties(ignoreUnknown = true) +public class ReferenceEntity { + private String id; + + public ReferenceEntity(String id) { + this.id = id; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } +} diff --git a/backend/src/main/java/ervu_business_metrics/model/deserializer/ReferenceEntityDeserializer.java b/backend/src/main/java/ervu_business_metrics/model/deserializer/ReferenceEntityDeserializer.java new file mode 100644 index 0000000..43c244d --- /dev/null +++ b/backend/src/main/java/ervu_business_metrics/model/deserializer/ReferenceEntityDeserializer.java @@ -0,0 +1,34 @@ +package ervu_business_metrics.model.deserializer; + +import java.io.IOException; + +import com.fasterxml.jackson.core.JacksonException; +import com.fasterxml.jackson.core.JsonParser; +import com.fasterxml.jackson.databind.DeserializationContext; +import com.fasterxml.jackson.databind.JsonDeserializer; +import com.fasterxml.jackson.databind.JsonNode; +import ervu_business_metrics.model.ReferenceEntity; + +/** + * @author Adel Kalimullin + */ +public class ReferenceEntityDeserializer extends JsonDeserializer { + + @Override + public ReferenceEntity deserialize(JsonParser jsonParser, + DeserializationContext deserializationContext) throws IOException, JacksonException { + JsonNode node = jsonParser.readValueAsTree(); + + if (node.isTextual()) { + return new ReferenceEntity(node.asText()); + } + else if (node.isObject()) { + JsonNode idNode = node.get("id"); + if (idNode != null && idNode.isTextual()) { + return new ReferenceEntity(idNode.asText()); + } + } + + return null; + } +} diff --git a/backend/src/main/java/ervu_business_metrics/service/processor/impl/AccountDataProcessor.java b/backend/src/main/java/ervu_business_metrics/service/processor/impl/AccountDataProcessor.java index 463bcae..31183f6 100644 --- a/backend/src/main/java/ervu_business_metrics/service/processor/impl/AccountDataProcessor.java +++ b/backend/src/main/java/ervu_business_metrics/service/processor/impl/AccountDataProcessor.java @@ -50,7 +50,7 @@ public class AccountDataProcessor implements DataProcessor { record.setFio(data.getFio()); record.setWorkMail(data.getWorkMail()); record.setEsiaAccount(data.isEsiaAccount()); - record.setDomainId(data.getUserDomainId()); + record.setDomainId(data.getUserDomain().getId()); if (existingIds.contains(data.getId())) { accountRecordsToUpdate.add(record); From 69ae35b5d0875b717ce035000c9f789a321719df Mon Sep 17 00:00:00 2001 From: "adel.ka" Date: Fri, 25 Apr 2025 11:40:42 +0300 Subject: [PATCH 23/40] SUPPORT-9122: fixes --- .../service/processor/impl/AccountDataProcessor.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/backend/src/main/java/ervu_business_metrics/service/processor/impl/AccountDataProcessor.java b/backend/src/main/java/ervu_business_metrics/service/processor/impl/AccountDataProcessor.java index 31183f6..da87328 100644 --- a/backend/src/main/java/ervu_business_metrics/service/processor/impl/AccountDataProcessor.java +++ b/backend/src/main/java/ervu_business_metrics/service/processor/impl/AccountDataProcessor.java @@ -50,7 +50,9 @@ public class AccountDataProcessor implements DataProcessor { record.setFio(data.getFio()); record.setWorkMail(data.getWorkMail()); record.setEsiaAccount(data.isEsiaAccount()); - record.setDomainId(data.getUserDomain().getId()); + if (data.getUserDomain() != null) { + record.setDomainId(data.getUserDomain().getId()); + } if (existingIds.contains(data.getId())) { accountRecordsToUpdate.add(record); From fccfabe8aab4ac4043648c7e1c34c9e52ae07033 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=A4=D0=BE=D0=B0=D1=82=20=D0=A1=D0=B0=D0=BB=D1=8F=D1=85?= =?UTF-8?q?=D0=BE=D0=B2?= Date: Mon, 28 Apr 2025 13:40:53 +0300 Subject: [PATCH 24/40] =?UTF-8?q?=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=BB?= =?UTF-8?q?=D0=B5=D0=BD=D0=B8=D0=B5=20=D1=81=D0=BE=D1=85=D1=80=D0=B0=D0=BD?= =?UTF-8?q?=D0=B5=D0=BD=D0=B8=D1=8F=20=D1=83=D1=80=D0=BE=D0=B2=D0=BD=D0=B5?= =?UTF-8?q?=D0=B9=20=D0=BF=D1=80=D0=B8=20=D0=BF=D0=B5=D1=80=D0=B5=D1=85?= =?UTF-8?q?=D0=BE=D0=B4=D0=B5=20=D0=B2=20=D0=B4=D1=80=D1=83=D0=B3=D1=83?= =?UTF-8?q?=D1=8E=20=D0=B2=D0=BA=D0=BB=D0=B0=D0=B4=D0=BA=D1=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...ing_criminal_administrative_liability.page | 12 ++++++++++++ .../ervu-business-metrics/administration.page | 12 ++++++++++++ .../ervu-business-metrics/appeals.page | 12 ++++++++++++ .../ervu-business-metrics/conversion.page | 12 ++++++++++++ .../ervu-business-metrics/incidents.page | 12 ++++++++++++ .../initial_registration.page | 19 ++++++++++++------- ...ilitary_registration_changing_address.page | 12 ++++++++++++ .../register_subpoenas.page | 12 ++++++++++++ .../register_subpoenas_subsystem.page | 12 ++++++++++++ .../removal_military_registration.page | 12 ++++++++++++ .../ervu-business-metrics/updating.page | 12 ++++++++++++ 11 files changed, 132 insertions(+), 7 deletions(-) diff --git a/resources/src/main/resources/business-model/ervu-business-metrics/accounting_criminal_administrative_liability.page b/resources/src/main/resources/business-model/ervu-business-metrics/accounting_criminal_administrative_liability.page index bcc19ec..138c568 100644 --- a/resources/src/main/resources/business-model/ervu-business-metrics/accounting_criminal_administrative_liability.page +++ b/resources/src/main/resources/business-model/ervu-business-metrics/accounting_criminal_administrative_liability.page @@ -222,6 +222,18 @@ + + treeValuesCacheStrategy + +"BY_CUSTOM_NAME" + + + + treeValuesCustomName + +"treeSelectionCache" + + diff --git a/resources/src/main/resources/business-model/ervu-business-metrics/administration.page b/resources/src/main/resources/business-model/ervu-business-metrics/administration.page index ebb42f1..b217ad7 100644 --- a/resources/src/main/resources/business-model/ervu-business-metrics/administration.page +++ b/resources/src/main/resources/business-model/ervu-business-metrics/administration.page @@ -123,6 +123,18 @@ + + treeValuesCacheStrategy + +"BY_CUSTOM_NAME" + + + + treeValuesCustomName + +"treeSelectionCache" + + diff --git a/resources/src/main/resources/business-model/ervu-business-metrics/appeals.page b/resources/src/main/resources/business-model/ervu-business-metrics/appeals.page index 2ede5b5..969177d 100644 --- a/resources/src/main/resources/business-model/ervu-business-metrics/appeals.page +++ b/resources/src/main/resources/business-model/ervu-business-metrics/appeals.page @@ -123,6 +123,18 @@ + + treeValuesCacheStrategy + +"BY_CUSTOM_NAME" + + + + treeValuesCustomName + +"treeSelectionCache" + + diff --git a/resources/src/main/resources/business-model/ervu-business-metrics/conversion.page b/resources/src/main/resources/business-model/ervu-business-metrics/conversion.page index 235a110..1f1eb86 100644 --- a/resources/src/main/resources/business-model/ervu-business-metrics/conversion.page +++ b/resources/src/main/resources/business-model/ervu-business-metrics/conversion.page @@ -129,6 +129,18 @@ + + treeValuesCacheStrategy + +"BY_CUSTOM_NAME" + + + + treeValuesCustomName + +"treeSelectionCache" + + visible diff --git a/resources/src/main/resources/business-model/ervu-business-metrics/incidents.page b/resources/src/main/resources/business-model/ervu-business-metrics/incidents.page index f4749c9..dc3d1b6 100644 --- a/resources/src/main/resources/business-model/ervu-business-metrics/incidents.page +++ b/resources/src/main/resources/business-model/ervu-business-metrics/incidents.page @@ -123,6 +123,18 @@ + + treeValuesCacheStrategy + +"BY_CUSTOM_NAME" + + + + treeValuesCustomName + +"treeSelectionCache" + + diff --git a/resources/src/main/resources/business-model/ervu-business-metrics/initial_registration.page b/resources/src/main/resources/business-model/ervu-business-metrics/initial_registration.page index cbc6cfc..82b51c4 100644 --- a/resources/src/main/resources/business-model/ervu-business-metrics/initial_registration.page +++ b/resources/src/main/resources/business-model/ervu-business-metrics/initial_registration.page @@ -123,6 +123,18 @@ + + treeValuesCacheStrategy + +"BY_CUSTOM_NAME" + + + + treeValuesCustomName + +"treeSelectionCache" + + @@ -1118,13 +1130,6 @@ - - fd7e47b9-dce1-4d14-9f3a-580c79f59579 - 9ec1be5b-2050-412c-b0c8-ccfb2c521613 - Администрирование - false - true - fd7e47b9-dce1-4d14-9f3a-580c79f59579 83e6b112-6cd6-4a1b-b672-9574af1cb2bc diff --git a/resources/src/main/resources/business-model/ervu-business-metrics/military_registration_changing_address.page b/resources/src/main/resources/business-model/ervu-business-metrics/military_registration_changing_address.page index ccf9059..a2e5c0e 100644 --- a/resources/src/main/resources/business-model/ervu-business-metrics/military_registration_changing_address.page +++ b/resources/src/main/resources/business-model/ervu-business-metrics/military_registration_changing_address.page @@ -123,6 +123,18 @@ + + treeValuesCacheStrategy + +"BY_CUSTOM_NAME" + + + + treeValuesCustomName + +"treeSelectionCache" + + diff --git a/resources/src/main/resources/business-model/ervu-business-metrics/register_subpoenas.page b/resources/src/main/resources/business-model/ervu-business-metrics/register_subpoenas.page index 5a46fb8..f98a42c 100644 --- a/resources/src/main/resources/business-model/ervu-business-metrics/register_subpoenas.page +++ b/resources/src/main/resources/business-model/ervu-business-metrics/register_subpoenas.page @@ -133,6 +133,18 @@ + + treeValuesCacheStrategy + +"BY_CUSTOM_NAME" + + + + treeValuesCustomName + +"treeSelectionCache" + + diff --git a/resources/src/main/resources/business-model/ervu-business-metrics/register_subpoenas_subsystem.page b/resources/src/main/resources/business-model/ervu-business-metrics/register_subpoenas_subsystem.page index f328cf2..2531c45 100644 --- a/resources/src/main/resources/business-model/ervu-business-metrics/register_subpoenas_subsystem.page +++ b/resources/src/main/resources/business-model/ervu-business-metrics/register_subpoenas_subsystem.page @@ -123,6 +123,18 @@ + + treeValuesCacheStrategy + +"BY_CUSTOM_NAME" + + + + treeValuesCustomName + +"treeSelectionCache" + + diff --git a/resources/src/main/resources/business-model/ervu-business-metrics/removal_military_registration.page b/resources/src/main/resources/business-model/ervu-business-metrics/removal_military_registration.page index 762331d..5af7d8a 100644 --- a/resources/src/main/resources/business-model/ervu-business-metrics/removal_military_registration.page +++ b/resources/src/main/resources/business-model/ervu-business-metrics/removal_military_registration.page @@ -124,6 +124,18 @@ + + treeValuesCacheStrategy + +"BY_CUSTOM_NAME" + + + + treeValuesCustomName + +"treeSelectionCache" + + diff --git a/resources/src/main/resources/business-model/ervu-business-metrics/updating.page b/resources/src/main/resources/business-model/ervu-business-metrics/updating.page index 0360678..620c758 100644 --- a/resources/src/main/resources/business-model/ervu-business-metrics/updating.page +++ b/resources/src/main/resources/business-model/ervu-business-metrics/updating.page @@ -123,6 +123,18 @@ + + treeValuesCacheStrategy + +"BY_CUSTOM_NAME" + + + + treeValuesCustomName + +"treeSelectionCache" + + From b264e4a14c1e940f6b195e529d3ce52d8c9eea56 Mon Sep 17 00:00:00 2001 From: Foat Saliakhov Date: Tue, 29 Apr 2025 13:06:51 +0300 Subject: [PATCH 25/40] =?UTF-8?q?=D0=A1=D0=BA=D1=80=D1=8B=D1=82=D0=B8?= =?UTF-8?q?=D0=B5=20=D0=B4=D0=B2=D1=83=D1=85=20=D0=B3=D1=80=D0=B0=D1=84?= =?UTF-8?q?=D0=B8=D0=BA=D0=BE=D0=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ervu-business-metrics/updating.page | 2493 +++++++++-------- 1 file changed, 1247 insertions(+), 1246 deletions(-) diff --git a/resources/src/main/resources/business-model/ervu-business-metrics/updating.page b/resources/src/main/resources/business-model/ervu-business-metrics/updating.page index 620c758..a1228e4 100644 --- a/resources/src/main/resources/business-model/ervu-business-metrics/updating.page +++ b/resources/src/main/resources/business-model/ervu-business-metrics/updating.page @@ -123,18 +123,6 @@ - - treeValuesCacheStrategy - -"BY_CUSTOM_NAME" - - - - treeValuesCustomName - -"treeSelectionCache" - - @@ -9953,7 +9941,6 @@ 43f837aa-1141-4bd6-b4d4-ef62295bd2ba ВК ЕПГУ true - false false @@ -15876,6 +15863,1240 @@ + + 9d1b5af1-0b8f-4b1b-b9a5-c2e6acf72d91 + 2802c20b-a52d-4e61-99f5-6ba02cfd8500 + ВК Инциденты по заявлениям ЕПГУ + true + false + false + + + + cssClasses + + + + "block-section" + + + + + + + style + + + + height + + null + + + + width + + "50%" + + + + + + + + + true + + + service + + + + loadDao + + + + graph + +{"conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"nodeByIndex":{"0":{"tableName":"recruitment","schemaName":"metrics","x":155.0,"y":210.0,"alias":"recruitment","conditionGroup":{"operator":"AND","conditions":[{"column":{"schema":"metrics","table":"recruitment","entity":"recruitment","name":"schema"},"operation":"EQUAL","typeCode":"CONST","values":["\"Ministry\""]}],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"},"1":{"tableName":"incidents_epgu_info","schemaName":"actualization","x":342.0,"y":139.0,"alias":"incidents_epgu_info","conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"},"2":{"tableName":"view_incidents_epgu_info","schemaName":"actualization","x":574.0,"y":211.0,"alias":"view_incidents_epgu_info","conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"}},"nodes":[{"tableName":"recruitment","schemaName":"metrics","x":155.0,"y":210.0,"alias":"recruitment","conditionGroup":{"operator":"AND","conditions":[{"column":{"schema":"metrics","table":"recruitment","entity":"recruitment","name":"schema"},"operation":"EQUAL","typeCode":"CONST","values":["\"Ministry\""]}],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"},{"tableName":"incidents_epgu_info","schemaName":"actualization","x":342.0,"y":139.0,"alias":"incidents_epgu_info","conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"},{"tableName":"view_incidents_epgu_info","schemaName":"actualization","x":574.0,"y":211.0,"alias":"view_incidents_epgu_info","conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"}],"nodeByEntityName":{"view_incidents_epgu_info":{"tableName":"view_incidents_epgu_info","schemaName":"actualization","x":574.0,"y":211.0,"alias":"view_incidents_epgu_info","conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"},"recruitment":{"tableName":"recruitment","schemaName":"metrics","x":155.0,"y":210.0,"alias":"recruitment","conditionGroup":{"operator":"AND","conditions":[{"column":{"schema":"metrics","table":"recruitment","entity":"recruitment","name":"schema"},"operation":"EQUAL","typeCode":"CONST","values":["\"Ministry\""]}],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"},"incidents_epgu_info":{"tableName":"incidents_epgu_info","schemaName":"actualization","x":342.0,"y":139.0,"alias":"incidents_epgu_info","conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"}},"matrix":[[null,null,null],[{"refOnEntityName":"incidents_epgu_info","refToEntityName":"recruitment","refToColumns":[{"schema":"metrics","table":"recruitment","entity":"recruitment","name":"idm_id"}],"refOnColumns":[{"schema":"actualization","table":"incidents_epgu_info","entity":"incidents_epgu_info","name":"recruitment_id"}],"required":false,"cyclic":false,"conditionGroup":{"operator":"AND","conditions":[],"groups":[]}},null,null],[null,{"refOnEntityName":"view_incidents_epgu_info","refToEntityName":"incidents_epgu_info","refToColumns":[{"schema":"actualization","table":"incidents_epgu_info","entity":"incidents_epgu_info","name":"incidents_epgu_info_id"}],"refOnColumns":[{"schema":"actualization","table":"view_incidents_epgu_info","entity":"view_incidents_epgu_info","name":"incidents_epgu_info_id"}],"required":false,"cyclic":false,"conditionGroup":{"operator":"AND","conditions":[],"groups":[]}},null]],"mainNodeIndex":1} + + + + + DefaultLoadDao + database.dao + + + + + + ProjectDefaultValueLoaderServiceImpl + service.loading + + + + + + + true + + + true + + + eventRefs + + + + + + behavior + + {"objectId":"513939e4-6ebe-495e-b0cc-83f53650f9a8","packageName":"component.field","className":"DropdownTreeViewComponent","type":"TS"} + + + + propertyName + + "valueChangeEvent" + + + + + + + + + + behavior + + {"objectId":"2802c20b-a52d-4e61-99f5-6ba02cfd8500","packageName":"custom","className":"ContainerLoader","type":"TS"} + + + + propertyName + + "beforeStart" + + + + + + + + + loadParams + + + + + + objectValue + + + + argument + + null + + + + behavior + + {"objectId":"513939e4-6ebe-495e-b0cc-83f53650f9a8","packageName":"component.field","className":"DropdownTreeViewComponent","type":"TS"} + + + + method + + "getBusinessId" + + + + + + + + + + + + + + true + + + containerValueLoaderService + + + + loadDao + + + + graph + +{"conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"nodeByIndex":{"0":{"tableName":"incidents_epgu_info","schemaName":"actualization","x":268.0,"y":121.0,"alias":"incidents_epgu_info","conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"},"1":{"tableName":"view_incidents_epgu_info","schemaName":"actualization","x":517.0,"y":128.0,"alias":"view_incidents_epgu_info","conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"},"2":{"tableName":"recruitment","schemaName":"metrics","x":110.0,"y":273.0,"alias":"recruitment","conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"}},"nodes":[{"tableName":"incidents_epgu_info","schemaName":"actualization","x":268.0,"y":121.0,"alias":"incidents_epgu_info","conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"},{"tableName":"view_incidents_epgu_info","schemaName":"actualization","x":517.0,"y":128.0,"alias":"view_incidents_epgu_info","conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"},{"tableName":"recruitment","schemaName":"metrics","x":110.0,"y":273.0,"alias":"recruitment","conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"}],"nodeByEntityName":{"view_incidents_epgu_info":{"tableName":"view_incidents_epgu_info","schemaName":"actualization","x":517.0,"y":128.0,"alias":"view_incidents_epgu_info","conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"},"recruitment":{"tableName":"recruitment","schemaName":"metrics","x":110.0,"y":273.0,"alias":"recruitment","conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"},"incidents_epgu_info":{"tableName":"incidents_epgu_info","schemaName":"actualization","x":268.0,"y":121.0,"alias":"incidents_epgu_info","conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"}},"matrix":[[null,null,{"refOnEntityName":"incidents_epgu_info","refToEntityName":"recruitment","refToColumns":[{"schema":"metrics","table":"recruitment","entity":"recruitment","name":"idm_id"}],"refOnColumns":[{"schema":"actualization","table":"incidents_epgu_info","entity":"incidents_epgu_info","name":"recruitment_id"}],"required":false,"cyclic":false,"conditionGroup":{"operator":"AND","conditions":[],"groups":[]}}],[{"refOnEntityName":"view_incidents_epgu_info","refToEntityName":"incidents_epgu_info","refToColumns":[{"schema":"actualization","table":"incidents_epgu_info","entity":"incidents_epgu_info","name":"incidents_epgu_info_id"}],"refOnColumns":[{"schema":"actualization","table":"view_incidents_epgu_info","entity":"view_incidents_epgu_info","name":"incidents_epgu_info_id"}],"required":false,"cyclic":false,"conditionGroup":{"operator":"AND","conditions":[],"groups":[]}},null,null],[null,null,null]],"mainNodeIndex":0} + + + + + DefaultLoadDao + database.dao + + + + + replacePkColumn + + {"schema":"metrics","table":"recruitment","entity":"recruitment","name":"idm_id"} + + + + + ContainerByPkValueLoaderServiceImpl + service.loading + + + + + + + ba24d307-0b91-4299-ba82-9d0b52384ff2 + d7d075e1-2e0d-4980-8b29-c108f4c06a88 + Инциденты по заявлениям ЕПГУ + false + false + + + + cssClasses + + + + "section-header" + + + + + + + initialValue + + "Инциденты по заявлениям ЕПГУ" + + + + label + + null + + + + + + + + +false + + + + d7d54cfb-26b5-4dba-b56f-b6247183c24d + 2a329c6b-a8c8-44fc-a430-18680d86adeb + ГК График и показатели + true + false + + + + + + +9d1b5af1-0b8f-4b1b-b9a5-c2e6acf72d91 +e2fa1d0e-9d53-4aeb-93b4-84e074f91207 +ВК График +true +false + + + + style + + + + width + + "50%" + + + + + + + + + + + + + 85eb12aa-f878-4e29-b109-9d31af0fefb4 + 05be91f9-c3d9-4592-9b35-b704f9809aeb + График бублик 3 + true + false + + false + false + + + + + chartService + + + + chartType + +"DOUGHNUT" + + + + dataSetService + + + + centerLabelConfigurations + + + + + + aggregationFunction + +"SUM" + + + + font + + + + family + + "GolosUI" + + + + size + + 25 + + + + weight + + "550" + + + + + + + loadDao + + + + graph + + {"conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"nodeByIndex":{"0":{"tableName":"incidents_epgu_info","schemaName":"actualization","x":346.0,"y":87.0,"alias":"incidents_epgu_info","conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"},"1":{"tableName":"recruitment","schemaName":"metrics","x":147.0,"y":118.0,"alias":"recruitment","conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"}},"nodes":[{"tableName":"incidents_epgu_info","schemaName":"actualization","x":346.0,"y":87.0,"alias":"incidents_epgu_info","conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"},{"tableName":"recruitment","schemaName":"metrics","x":147.0,"y":118.0,"alias":"recruitment","conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"}],"nodeByEntityName":{"recruitment":{"tableName":"recruitment","schemaName":"metrics","x":147.0,"y":118.0,"alias":"recruitment","conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"},"incidents_epgu_info":{"tableName":"incidents_epgu_info","schemaName":"actualization","x":346.0,"y":87.0,"alias":"incidents_epgu_info","conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"}},"matrix":[[null,{"refOnEntityName":"incidents_epgu_info","refToEntityName":"recruitment","refToColumns":[{"schema":"metrics","table":"recruitment","entity":"recruitment","name":"idm_id"}],"refOnColumns":[{"schema":"actualization","table":"incidents_epgu_info","entity":"incidents_epgu_info","name":"recruitment_id"}],"required":false,"cyclic":false,"conditionGroup":{"operator":"AND","conditions":[],"groups":[]}}],[null,null]],"mainNodeIndex":0} + + + + + DefaultLoadDao + database.dao + + + + + valueColumn + +{"schema":"actualization","table":"incidents_epgu_info","entity":"incidents_epgu_info","name":"count_registered"} + + + + + DefaultRoundLabelConfiguration + ervu_business_metrics.component.chart.label + + + + + + + + dataSetConfigurations + + + + + + columnAggregationDataSet + + + + aggregationData + + + + + + aggregationColumn + +{"schema":"actualization","table":"incidents_epgu_info","entity":"incidents_epgu_info","name":"count_resolved"} + + + + aggregationFunction + +"SUM" + + + + backgroundColor + +"#A1C2E0FF" + + + + label + +"Инцидентов зарегистрировано" + + + + + + + + + + aggregationColumn + +{"schema":"actualization","table":"view_incidents_epgu_info","entity":"view_incidents_epgu_info","name":"count_not_resolved"} + + + + aggregationFunction + +"SUM" + + + + backgroundColor + +"#F3F3F3FF" + + + + label + +" " + + + + + + + + + + + + dataLabel + + "Инцидентов зарегистрировано, в т.ч.:" + + + + + + + cutout + +"80%" + + + + datasetType + +"COLUMN_AGGREGATION" + + + + loadDao + + + + graph + + {"conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"nodeByIndex":{"0":{"tableName":"recruitment","schemaName":"metrics","x":103.0,"y":179.0,"alias":"recruitment","conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"},"1":{"tableName":"incidents_epgu_info","schemaName":"actualization","x":297.0,"y":81.0,"alias":"incidents_epgu_info","conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"},"2":{"tableName":"view_incidents_epgu_info","schemaName":"actualization","x":546.0,"y":125.0,"alias":"view_incidents_epgu_info","conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"}},"nodes":[{"tableName":"recruitment","schemaName":"metrics","x":103.0,"y":179.0,"alias":"recruitment","conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"},{"tableName":"incidents_epgu_info","schemaName":"actualization","x":297.0,"y":81.0,"alias":"incidents_epgu_info","conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"},{"tableName":"view_incidents_epgu_info","schemaName":"actualization","x":546.0,"y":125.0,"alias":"view_incidents_epgu_info","conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"}],"nodeByEntityName":{"view_incidents_epgu_info":{"tableName":"view_incidents_epgu_info","schemaName":"actualization","x":546.0,"y":125.0,"alias":"view_incidents_epgu_info","conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"},"recruitment":{"tableName":"recruitment","schemaName":"metrics","x":103.0,"y":179.0,"alias":"recruitment","conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"},"incidents_epgu_info":{"tableName":"incidents_epgu_info","schemaName":"actualization","x":297.0,"y":81.0,"alias":"incidents_epgu_info","conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"}},"matrix":[[null,null,null],[{"refOnEntityName":"incidents_epgu_info","refToEntityName":"recruitment","refToColumns":[{"schema":"metrics","table":"recruitment","entity":"recruitment","name":"idm_id"}],"refOnColumns":[{"schema":"actualization","table":"incidents_epgu_info","entity":"incidents_epgu_info","name":"recruitment_id"}],"required":false,"cyclic":false,"conditionGroup":{"operator":"AND","conditions":[],"groups":[]}},null,null],[null,{"refOnEntityName":"view_incidents_epgu_info","refToEntityName":"incidents_epgu_info","refToColumns":[{"schema":"actualization","table":"incidents_epgu_info","entity":"incidents_epgu_info","name":"incidents_epgu_info_id"}],"refOnColumns":[{"schema":"actualization","table":"view_incidents_epgu_info","entity":"view_incidents_epgu_info","name":"incidents_epgu_info_id"}],"required":false,"cyclic":false,"conditionGroup":{"operator":"AND","conditions":[],"groups":[]}},null]],"mainNodeIndex":0} + + + + + DefaultLoadDao + database.dao + + + + + radius + +"80%" + + + + + + + + + + + + RoundSingleChartDataSetService + ervu_business_metrics.component.chart + + + + + + + + + + + ErvuChartV2 + ervu_business_metrics.component.chart + + true + + + cssClasses + + + + "graph-donut" + + + + + + legend + + + + display + +false + + + + + + + loadOnStart + + true + + + + + + + RoundArcCornersChartPlugin + ervu_business_metrics.component.chart.plugin + + true + true + + + + FilterReferences + ervu_business_metrics.component.filter + + true + true + + + references + + + + + + column + + "idm_id" + + + + dataConverter + + + + + + filterComponent + + {"objectId":"513939e4-6ebe-495e-b0cc-83f53650f9a8","packageName":"component.rpc","className":"TreeItemRpcService","type":"JAVA"} + + + + table + + "recruitment" + + + + +StaticFilterReference +ervu_business_metrics.component.filter + + + + + + + + + + FilterGroupDelegate + ervu_business_metrics.component.filter + + true + true + + + filterComponents + + + + {"objectId":"513939e4-6ebe-495e-b0cc-83f53650f9a8","packageName":"component.filter","className":"FilterComponent","type":"TS"} + + + + + + + liveFilter + + true + + + + triggerOnStart + + true + + + + + + + DoughnutCenterLabelsPlugin + ervu_business_metrics.component.chart.plugin + + true + true + + + formatters + + + + +NumberToLocalStringLabelFormatter +ervu_business_metrics.component.chart.plugin.formatters + + + + + + + + + + +d7d54cfb-26b5-4dba-b56f-b6247183c24d +63555de1-b489-4349-9577-d58035d46a11 +Горизонтальный контейнер +true +true + + +9d1b5af1-0b8f-4b1b-b9a5-c2e6acf72d91 +42f30a67-6547-4759-9c2b-c65651c5a113 +Вертикальный контейнер +true +false + + + + cssClasses + + + + "graph-legend-right" + + + + + + + + + + + + d7d54cfb-26b5-4dba-b56f-b6247183c24d + 8d210b45-f8a4-443d-b3e1-34990a746016 + Hbox + true + false + + + + cssClasses + + + + "subhead" + + + + + + + + + + + + ba24d307-0b91-4299-ba82-9d0b52384ff2 + 20e6c5e8-c0a1-48c3-be00-75517a2cf0f1 + 5 000 + false + false + + + + initialValue + + null + + + + textFormatter + + + +replaceModels + + + + + + value + + "0" + + + + + + + + + + ReplaceValueTextFormatter + ervu_business_metrics.formatter + + + + + + + + + + defaultValueColumn + + {"schema":"actualization","table":"incidents_epgu_info","entity":"incidents_epgu_info","name":"count_registered"} + + + + loadType + + "BY_COLUMN" + + + + + + + + loadType + + "BY_COLUMN" + + + + valueByEventColumn + + {"schema":"actualization","table":"incidents_epgu_info","entity":"incidents_epgu_info","name":"count_registered"} + + + + + + false + + + + 9d1b5af1-0b8f-4b1b-b9a5-c2e6acf72d91 + 891b4533-40bf-4940-bb0f-7cf8be6a5c94 + Вертикальный контейнер + true + false + + + + cssClasses + + + +"text-wrap" + + + + + + + + + + + + + ba24d307-0b91-4299-ba82-9d0b52384ff2 + e0892763-5b67-4eec-ab72-90659a144c77 + Инцидентов зарегистрировано, в т.ч.: + false + false + + + + initialValue + + "Инцидентов зарегистрировано, в т.ч.:" + + + + label + + null + + + + tooltip + + "Инцидентов зарегистрировано, в т.ч.:" + + + + + + + + + false + + + + + + ba24d307-0b91-4299-ba82-9d0b52384ff2 + 185512eb-b739-44dd-8119-dbb973bb2574 + Пустое поле + false + true + + + d7d54cfb-26b5-4dba-b56f-b6247183c24d + 63555de1-b489-4349-9577-d58035d46a11 + Горизонтальный контейнер + true + false + + + + + + + 9d1b5af1-0b8f-4b1b-b9a5-c2e6acf72d91 + 0bad1580-47a4-46d4-9556-048273647754 + Vbox% + true + false + + + + cssClasses + + + + + + + + + + + + ba24d307-0b91-4299-ba82-9d0b52384ff2 + b05d366a-9ab1-4347-89fd-9737bf4436cb + 60% + false + false + + + + cssClasses + + + + "legend-col-blue" + + + + + "text-invert" + + + + + + initialValue + + null + + + + label + + "%" + + + + textFormatter + + + + replaceModels + + + + + + value + + "0" + + + + + + + + + +ReplaceValueTextFormatter +ervu_business_metrics.formatter + + + + + + + + + + defaultValueColumn + + {"schema":"actualization","table":"view_incidents_epgu_info","entity":"view_incidents_epgu_info","name":"percent_resolved"} + + + + loadType + + "BY_COLUMN" + + + + + + + + loadType + + "BY_COLUMN" + + + + valueByEventColumn + + {"schema":"actualization","table":"view_incidents_epgu_info","entity":"view_incidents_epgu_info","name":"percent_resolved"} + + + + + + false + + + + + 9d1b5af1-0b8f-4b1b-b9a5-c2e6acf72d91 + d54307ed-0d81-4ff4-b226-75b7feaa3807 + VboxValue + true + false + + + + + + + ba24d307-0b91-4299-ba82-9d0b52384ff2 + ce9d04a6-7bdc-4367-b2b4-efad018096d3 + 3 000 + false + false + + + + cssClasses + + + + "pull-right" + + + + + + initialValue + + null + + + + textFormatter + + + + replaceModels + + + + + + value + + "0" + + + + + + + + + +ReplaceValueTextFormatter +ervu_business_metrics.formatter + + + + + + + + + + defaultValueColumn + + {"schema":"actualization","table":"incidents_epgu_info","entity":"incidents_epgu_info","name":"count_resolved"} + + + + loadType + + "BY_COLUMN" + + + + + + + + loadType + + "BY_COLUMN" + + + + valueByEventColumn + + {"schema":"actualization","table":"incidents_epgu_info","entity":"incidents_epgu_info","name":"count_resolved"} + + + + + + false + + + + + 9d1b5af1-0b8f-4b1b-b9a5-c2e6acf72d91 + d27b8269-0fa3-4090-ad6f-0363e230f3d8 + ВК Показатели + true + false + + + + cssClasses + + + +"text-wrap" + + + + + + style + + + +width + + null + + + + + + + + + + + + + d7d54cfb-26b5-4dba-b56f-b6247183c24d + 0624a585-9df7-45c0-802d-90a71068fb27 + ГК Показатель + true + true + + + d7d54cfb-26b5-4dba-b56f-b6247183c24d + 829f35be-86dd-4f2f-8f49-ad2331fafbef + ГК Показатель + true + true + + + d7d54cfb-26b5-4dba-b56f-b6247183c24d + 5d8c268c-3689-4f61-b909-ef480bf5e617 + ГК Показатель + true + true + + + d7d54cfb-26b5-4dba-b56f-b6247183c24d + 6d1f0646-a606-4a0d-92f6-5c856b25292b + ГК Показатель + true + true + + + d7d54cfb-26b5-4dba-b56f-b6247183c24d + 8fe55b8a-bd96-4931-9b4c-054a998cda21 + Горизонтальный контейнер + true + true + + + d7d54cfb-26b5-4dba-b56f-b6247183c24d + 783150b4-31e7-41e9-b931-1f1760bf7b38 + Горизонтальный контейнер + true + true + + + d7d54cfb-26b5-4dba-b56f-b6247183c24d + 3737e905-ece3-4de0-b40d-37d0fef67504 + Горизонтальный контейнер + true + true + + + ba24d307-0b91-4299-ba82-9d0b52384ff2 + 78f3c32a-f2d8-4ad7-86d8-4c05ab790ba9 + Инцидентов разрешено + false + false + + + + initialValue + + "Инцидентов разрешено" + + + + label + + null + + + + tooltip + + "Инцидентов разрешено" + + + + + + + + + false + + + + + + + 9d1b5af1-0b8f-4b1b-b9a5-c2e6acf72d91 9607094d-d4da-4806-bd17-816e6ae9f155 @@ -15907,6 +17128,12 @@ + + + visible + + false + @@ -19599,1239 +20826,6 @@ false - - - - - - 9d1b5af1-0b8f-4b1b-b9a5-c2e6acf72d91 - 2802c20b-a52d-4e61-99f5-6ba02cfd8500 - ВК Инциденты по заявлениям ЕПГУ - true - false - - - - cssClasses - - - - "block-section" - - - - - - - style - - - - height - - null - - - - width - - "50%" - - - - - - - - - true - - - service - - - - loadDao - - - - graph - -{"conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"nodeByIndex":{"0":{"tableName":"recruitment","schemaName":"metrics","x":155.0,"y":210.0,"alias":"recruitment","conditionGroup":{"operator":"AND","conditions":[{"column":{"schema":"metrics","table":"recruitment","entity":"recruitment","name":"schema"},"operation":"EQUAL","typeCode":"CONST","values":["\"Ministry\""]}],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"},"1":{"tableName":"incidents_epgu_info","schemaName":"actualization","x":342.0,"y":139.0,"alias":"incidents_epgu_info","conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"},"2":{"tableName":"view_incidents_epgu_info","schemaName":"actualization","x":574.0,"y":211.0,"alias":"view_incidents_epgu_info","conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"}},"nodes":[{"tableName":"recruitment","schemaName":"metrics","x":155.0,"y":210.0,"alias":"recruitment","conditionGroup":{"operator":"AND","conditions":[{"column":{"schema":"metrics","table":"recruitment","entity":"recruitment","name":"schema"},"operation":"EQUAL","typeCode":"CONST","values":["\"Ministry\""]}],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"},{"tableName":"incidents_epgu_info","schemaName":"actualization","x":342.0,"y":139.0,"alias":"incidents_epgu_info","conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"},{"tableName":"view_incidents_epgu_info","schemaName":"actualization","x":574.0,"y":211.0,"alias":"view_incidents_epgu_info","conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"}],"nodeByEntityName":{"view_incidents_epgu_info":{"tableName":"view_incidents_epgu_info","schemaName":"actualization","x":574.0,"y":211.0,"alias":"view_incidents_epgu_info","conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"},"recruitment":{"tableName":"recruitment","schemaName":"metrics","x":155.0,"y":210.0,"alias":"recruitment","conditionGroup":{"operator":"AND","conditions":[{"column":{"schema":"metrics","table":"recruitment","entity":"recruitment","name":"schema"},"operation":"EQUAL","typeCode":"CONST","values":["\"Ministry\""]}],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"},"incidents_epgu_info":{"tableName":"incidents_epgu_info","schemaName":"actualization","x":342.0,"y":139.0,"alias":"incidents_epgu_info","conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"}},"matrix":[[null,null,null],[{"refOnEntityName":"incidents_epgu_info","refToEntityName":"recruitment","refToColumns":[{"schema":"metrics","table":"recruitment","entity":"recruitment","name":"idm_id"}],"refOnColumns":[{"schema":"actualization","table":"incidents_epgu_info","entity":"incidents_epgu_info","name":"recruitment_id"}],"required":false,"cyclic":false,"conditionGroup":{"operator":"AND","conditions":[],"groups":[]}},null,null],[null,{"refOnEntityName":"view_incidents_epgu_info","refToEntityName":"incidents_epgu_info","refToColumns":[{"schema":"actualization","table":"incidents_epgu_info","entity":"incidents_epgu_info","name":"incidents_epgu_info_id"}],"refOnColumns":[{"schema":"actualization","table":"view_incidents_epgu_info","entity":"view_incidents_epgu_info","name":"incidents_epgu_info_id"}],"required":false,"cyclic":false,"conditionGroup":{"operator":"AND","conditions":[],"groups":[]}},null]],"mainNodeIndex":1} - - - - - DefaultLoadDao - database.dao - - - - - - ProjectDefaultValueLoaderServiceImpl - service.loading - - - - - - - true - - - true - - - eventRefs - - - - - - behavior - - {"objectId":"513939e4-6ebe-495e-b0cc-83f53650f9a8","packageName":"component.field","className":"DropdownTreeViewComponent","type":"TS"} - - - - propertyName - - "valueChangeEvent" - - - - - - - - - - behavior - - {"objectId":"2802c20b-a52d-4e61-99f5-6ba02cfd8500","packageName":"custom","className":"ContainerLoader","type":"TS"} - - - - propertyName - - "beforeStart" - - - - - - - - - loadParams - - - - - - objectValue - - - - argument - - null - - - - behavior - - {"objectId":"513939e4-6ebe-495e-b0cc-83f53650f9a8","packageName":"component.field","className":"DropdownTreeViewComponent","type":"TS"} - - - - method - - "getBusinessId" - - - - - - - - - - - - - - true - - - containerValueLoaderService - - - - loadDao - - - - graph - -{"conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"nodeByIndex":{"0":{"tableName":"incidents_epgu_info","schemaName":"actualization","x":268.0,"y":121.0,"alias":"incidents_epgu_info","conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"},"1":{"tableName":"view_incidents_epgu_info","schemaName":"actualization","x":517.0,"y":128.0,"alias":"view_incidents_epgu_info","conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"},"2":{"tableName":"recruitment","schemaName":"metrics","x":110.0,"y":273.0,"alias":"recruitment","conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"}},"nodes":[{"tableName":"incidents_epgu_info","schemaName":"actualization","x":268.0,"y":121.0,"alias":"incidents_epgu_info","conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"},{"tableName":"view_incidents_epgu_info","schemaName":"actualization","x":517.0,"y":128.0,"alias":"view_incidents_epgu_info","conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"},{"tableName":"recruitment","schemaName":"metrics","x":110.0,"y":273.0,"alias":"recruitment","conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"}],"nodeByEntityName":{"view_incidents_epgu_info":{"tableName":"view_incidents_epgu_info","schemaName":"actualization","x":517.0,"y":128.0,"alias":"view_incidents_epgu_info","conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"},"recruitment":{"tableName":"recruitment","schemaName":"metrics","x":110.0,"y":273.0,"alias":"recruitment","conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"},"incidents_epgu_info":{"tableName":"incidents_epgu_info","schemaName":"actualization","x":268.0,"y":121.0,"alias":"incidents_epgu_info","conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"}},"matrix":[[null,null,{"refOnEntityName":"incidents_epgu_info","refToEntityName":"recruitment","refToColumns":[{"schema":"metrics","table":"recruitment","entity":"recruitment","name":"idm_id"}],"refOnColumns":[{"schema":"actualization","table":"incidents_epgu_info","entity":"incidents_epgu_info","name":"recruitment_id"}],"required":false,"cyclic":false,"conditionGroup":{"operator":"AND","conditions":[],"groups":[]}}],[{"refOnEntityName":"view_incidents_epgu_info","refToEntityName":"incidents_epgu_info","refToColumns":[{"schema":"actualization","table":"incidents_epgu_info","entity":"incidents_epgu_info","name":"incidents_epgu_info_id"}],"refOnColumns":[{"schema":"actualization","table":"view_incidents_epgu_info","entity":"view_incidents_epgu_info","name":"incidents_epgu_info_id"}],"required":false,"cyclic":false,"conditionGroup":{"operator":"AND","conditions":[],"groups":[]}},null,null],[null,null,null]],"mainNodeIndex":0} - - - - - DefaultLoadDao - database.dao - - - - - replacePkColumn - - {"schema":"metrics","table":"recruitment","entity":"recruitment","name":"idm_id"} - - - - - ContainerByPkValueLoaderServiceImpl - service.loading - - - - - - - ba24d307-0b91-4299-ba82-9d0b52384ff2 - d7d075e1-2e0d-4980-8b29-c108f4c06a88 - Инциденты по заявлениям ЕПГУ - false - false - - - - cssClasses - - - - "section-header" - - - - - - - initialValue - - "Инциденты по заявлениям ЕПГУ" - - - - label - - null - - - - - - - - -false - - - - d7d54cfb-26b5-4dba-b56f-b6247183c24d - 2a329c6b-a8c8-44fc-a430-18680d86adeb - ГК График и показатели - true - false - - - - - - -9d1b5af1-0b8f-4b1b-b9a5-c2e6acf72d91 -e2fa1d0e-9d53-4aeb-93b4-84e074f91207 -ВК График -true -false - - - - style - - - - width - - "50%" - - - - - - - - - - - - - 85eb12aa-f878-4e29-b109-9d31af0fefb4 - 05be91f9-c3d9-4592-9b35-b704f9809aeb - График бублик 3 - true - false - - false - false - - - - - chartService - - - - chartType - -"DOUGHNUT" - - - - dataSetService - - - - centerLabelConfigurations - - - - - - aggregationFunction - -"SUM" - - - - font - - - - family - - "GolosUI" - - - - size - - 25 - - - - weight - - "550" - - - - - - - loadDao - - - - graph - - {"conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"nodeByIndex":{"0":{"tableName":"incidents_epgu_info","schemaName":"actualization","x":346.0,"y":87.0,"alias":"incidents_epgu_info","conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"},"1":{"tableName":"recruitment","schemaName":"metrics","x":147.0,"y":118.0,"alias":"recruitment","conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"}},"nodes":[{"tableName":"incidents_epgu_info","schemaName":"actualization","x":346.0,"y":87.0,"alias":"incidents_epgu_info","conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"},{"tableName":"recruitment","schemaName":"metrics","x":147.0,"y":118.0,"alias":"recruitment","conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"}],"nodeByEntityName":{"recruitment":{"tableName":"recruitment","schemaName":"metrics","x":147.0,"y":118.0,"alias":"recruitment","conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"},"incidents_epgu_info":{"tableName":"incidents_epgu_info","schemaName":"actualization","x":346.0,"y":87.0,"alias":"incidents_epgu_info","conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"}},"matrix":[[null,{"refOnEntityName":"incidents_epgu_info","refToEntityName":"recruitment","refToColumns":[{"schema":"metrics","table":"recruitment","entity":"recruitment","name":"idm_id"}],"refOnColumns":[{"schema":"actualization","table":"incidents_epgu_info","entity":"incidents_epgu_info","name":"recruitment_id"}],"required":false,"cyclic":false,"conditionGroup":{"operator":"AND","conditions":[],"groups":[]}}],[null,null]],"mainNodeIndex":0} - - - - - DefaultLoadDao - database.dao - - - - - valueColumn - -{"schema":"actualization","table":"incidents_epgu_info","entity":"incidents_epgu_info","name":"count_registered"} - - - - - DefaultRoundLabelConfiguration - ervu_business_metrics.component.chart.label - - - - - - - - dataSetConfigurations - - - - - - columnAggregationDataSet - - - - aggregationData - - - - - - aggregationColumn - -{"schema":"actualization","table":"incidents_epgu_info","entity":"incidents_epgu_info","name":"count_resolved"} - - - - aggregationFunction - -"SUM" - - - - backgroundColor - -"#A1C2E0FF" - - - - label - -"Инцидентов зарегистрировано" - - - - - - - - - - aggregationColumn - -{"schema":"actualization","table":"view_incidents_epgu_info","entity":"view_incidents_epgu_info","name":"count_not_resolved"} - - - - aggregationFunction - -"SUM" - - - - backgroundColor - -"#F3F3F3FF" - - - - label - -" " - - - - - - - - - - - - dataLabel - - "Инцидентов зарегистрировано, в т.ч.:" - - - - - - - cutout - -"80%" - - - - datasetType - -"COLUMN_AGGREGATION" - - - - loadDao - - - - graph - - {"conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"nodeByIndex":{"0":{"tableName":"recruitment","schemaName":"metrics","x":103.0,"y":179.0,"alias":"recruitment","conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"},"1":{"tableName":"incidents_epgu_info","schemaName":"actualization","x":297.0,"y":81.0,"alias":"incidents_epgu_info","conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"},"2":{"tableName":"view_incidents_epgu_info","schemaName":"actualization","x":546.0,"y":125.0,"alias":"view_incidents_epgu_info","conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"}},"nodes":[{"tableName":"recruitment","schemaName":"metrics","x":103.0,"y":179.0,"alias":"recruitment","conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"},{"tableName":"incidents_epgu_info","schemaName":"actualization","x":297.0,"y":81.0,"alias":"incidents_epgu_info","conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"},{"tableName":"view_incidents_epgu_info","schemaName":"actualization","x":546.0,"y":125.0,"alias":"view_incidents_epgu_info","conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"}],"nodeByEntityName":{"view_incidents_epgu_info":{"tableName":"view_incidents_epgu_info","schemaName":"actualization","x":546.0,"y":125.0,"alias":"view_incidents_epgu_info","conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"},"recruitment":{"tableName":"recruitment","schemaName":"metrics","x":103.0,"y":179.0,"alias":"recruitment","conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"},"incidents_epgu_info":{"tableName":"incidents_epgu_info","schemaName":"actualization","x":297.0,"y":81.0,"alias":"incidents_epgu_info","conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"}},"matrix":[[null,null,null],[{"refOnEntityName":"incidents_epgu_info","refToEntityName":"recruitment","refToColumns":[{"schema":"metrics","table":"recruitment","entity":"recruitment","name":"idm_id"}],"refOnColumns":[{"schema":"actualization","table":"incidents_epgu_info","entity":"incidents_epgu_info","name":"recruitment_id"}],"required":false,"cyclic":false,"conditionGroup":{"operator":"AND","conditions":[],"groups":[]}},null,null],[null,{"refOnEntityName":"view_incidents_epgu_info","refToEntityName":"incidents_epgu_info","refToColumns":[{"schema":"actualization","table":"incidents_epgu_info","entity":"incidents_epgu_info","name":"incidents_epgu_info_id"}],"refOnColumns":[{"schema":"actualization","table":"view_incidents_epgu_info","entity":"view_incidents_epgu_info","name":"incidents_epgu_info_id"}],"required":false,"cyclic":false,"conditionGroup":{"operator":"AND","conditions":[],"groups":[]}},null]],"mainNodeIndex":0} - - - - - DefaultLoadDao - database.dao - - - - - radius - -"80%" - - - - - - - - - - - - RoundSingleChartDataSetService - ervu_business_metrics.component.chart - - - - - - - - - - - ErvuChartV2 - ervu_business_metrics.component.chart - - true - - - cssClasses - - - - "graph-donut" - - - - - - legend - - - - display - -false - - - - - - - loadOnStart - - true - - - - - - - RoundArcCornersChartPlugin - ervu_business_metrics.component.chart.plugin - - true - true - - - - FilterReferences - ervu_business_metrics.component.filter - - true - true - - - references - - - - - - column - - "idm_id" - - - - dataConverter - - - - - - filterComponent - - {"objectId":"513939e4-6ebe-495e-b0cc-83f53650f9a8","packageName":"component.rpc","className":"TreeItemRpcService","type":"JAVA"} - - - - table - - "recruitment" - - - - -StaticFilterReference -ervu_business_metrics.component.filter - - - - - - - - - - FilterGroupDelegate - ervu_business_metrics.component.filter - - true - true - - - filterComponents - - - - {"objectId":"513939e4-6ebe-495e-b0cc-83f53650f9a8","packageName":"component.filter","className":"FilterComponent","type":"TS"} - - - - - - - liveFilter - - true - - - - triggerOnStart - - true - - - - - - - DoughnutCenterLabelsPlugin - ervu_business_metrics.component.chart.plugin - - true - true - - - formatters - - - - -NumberToLocalStringLabelFormatter -ervu_business_metrics.component.chart.plugin.formatters - - - - - - - - - - -d7d54cfb-26b5-4dba-b56f-b6247183c24d -63555de1-b489-4349-9577-d58035d46a11 -Горизонтальный контейнер -true -true - - -9d1b5af1-0b8f-4b1b-b9a5-c2e6acf72d91 -42f30a67-6547-4759-9c2b-c65651c5a113 -Вертикальный контейнер -true -false - - - - cssClasses - - - - "graph-legend-right" - - - - - - - - - - - - d7d54cfb-26b5-4dba-b56f-b6247183c24d - 8d210b45-f8a4-443d-b3e1-34990a746016 - Hbox - true - false - - - - cssClasses - - - - "subhead" - - - - - - - - - - - - ba24d307-0b91-4299-ba82-9d0b52384ff2 - 20e6c5e8-c0a1-48c3-be00-75517a2cf0f1 - 5 000 - false - false - - - - initialValue - - null - - - - textFormatter - - - -replaceModels - - - - - - value - - "0" - - - - - - - - - - ReplaceValueTextFormatter - ervu_business_metrics.formatter - - - - - - - - - - defaultValueColumn - - {"schema":"actualization","table":"incidents_epgu_info","entity":"incidents_epgu_info","name":"count_registered"} - - - - loadType - - "BY_COLUMN" - - - - - - - - loadType - - "BY_COLUMN" - - - - valueByEventColumn - - {"schema":"actualization","table":"incidents_epgu_info","entity":"incidents_epgu_info","name":"count_registered"} - - - - - - false - - - - 9d1b5af1-0b8f-4b1b-b9a5-c2e6acf72d91 - 891b4533-40bf-4940-bb0f-7cf8be6a5c94 - Вертикальный контейнер - true - false - - - - cssClasses - - - -"text-wrap" - - - - - - - - - - - - - ba24d307-0b91-4299-ba82-9d0b52384ff2 - e0892763-5b67-4eec-ab72-90659a144c77 - Инцидентов зарегистрировано, в т.ч.: - false - false - - - - initialValue - - "Инцидентов зарегистрировано, в т.ч.:" - - - - label - - null - - - - tooltip - - "Инцидентов зарегистрировано, в т.ч.:" - - - - - - - - - false - - - - - - ba24d307-0b91-4299-ba82-9d0b52384ff2 - 185512eb-b739-44dd-8119-dbb973bb2574 - Пустое поле - false - true - - - d7d54cfb-26b5-4dba-b56f-b6247183c24d - 63555de1-b489-4349-9577-d58035d46a11 - Горизонтальный контейнер - true - false - - - - - - - 9d1b5af1-0b8f-4b1b-b9a5-c2e6acf72d91 - 0bad1580-47a4-46d4-9556-048273647754 - Vbox% - true - false - - - - cssClasses - - - - - - - - - - - - ba24d307-0b91-4299-ba82-9d0b52384ff2 - b05d366a-9ab1-4347-89fd-9737bf4436cb - 60% - false - false - - - - cssClasses - - - - "legend-col-blue" - - - - - "text-invert" - - - - - - initialValue - - null - - - - label - - "%" - - - - textFormatter - - - - replaceModels - - - - - - value - - "0" - - - - - - - - - -ReplaceValueTextFormatter -ervu_business_metrics.formatter - - - - - - - - - - defaultValueColumn - - {"schema":"actualization","table":"view_incidents_epgu_info","entity":"view_incidents_epgu_info","name":"percent_resolved"} - - - - loadType - - "BY_COLUMN" - - - - - - - - loadType - - "BY_COLUMN" - - - - valueByEventColumn - - {"schema":"actualization","table":"view_incidents_epgu_info","entity":"view_incidents_epgu_info","name":"percent_resolved"} - - - - - - false - - - - - 9d1b5af1-0b8f-4b1b-b9a5-c2e6acf72d91 - d54307ed-0d81-4ff4-b226-75b7feaa3807 - VboxValue - true - false - - - - - - - ba24d307-0b91-4299-ba82-9d0b52384ff2 - ce9d04a6-7bdc-4367-b2b4-efad018096d3 - 3 000 - false - false - - - - cssClasses - - - - "pull-right" - - - - - - initialValue - - null - - - - textFormatter - - - - replaceModels - - - - - - value - - "0" - - - - - - - - - -ReplaceValueTextFormatter -ervu_business_metrics.formatter - - - - - - - - - - defaultValueColumn - - {"schema":"actualization","table":"incidents_epgu_info","entity":"incidents_epgu_info","name":"count_resolved"} - - - - loadType - - "BY_COLUMN" - - - - - - - - loadType - - "BY_COLUMN" - - - - valueByEventColumn - - {"schema":"actualization","table":"incidents_epgu_info","entity":"incidents_epgu_info","name":"count_resolved"} - - - - - - false - - - - - 9d1b5af1-0b8f-4b1b-b9a5-c2e6acf72d91 - d27b8269-0fa3-4090-ad6f-0363e230f3d8 - ВК Показатели - true - false - - - - cssClasses - - - -"text-wrap" - - - - - - style - - - -width - - null - - - - - - - - - - - - - d7d54cfb-26b5-4dba-b56f-b6247183c24d - 0624a585-9df7-45c0-802d-90a71068fb27 - ГК Показатель - true - true - - - d7d54cfb-26b5-4dba-b56f-b6247183c24d - 829f35be-86dd-4f2f-8f49-ad2331fafbef - ГК Показатель - true - true - - - d7d54cfb-26b5-4dba-b56f-b6247183c24d - 5d8c268c-3689-4f61-b909-ef480bf5e617 - ГК Показатель - true - true - - - d7d54cfb-26b5-4dba-b56f-b6247183c24d - 6d1f0646-a606-4a0d-92f6-5c856b25292b - ГК Показатель - true - true - - - d7d54cfb-26b5-4dba-b56f-b6247183c24d - 8fe55b8a-bd96-4931-9b4c-054a998cda21 - Горизонтальный контейнер - true - true - - - d7d54cfb-26b5-4dba-b56f-b6247183c24d - 783150b4-31e7-41e9-b931-1f1760bf7b38 - Горизонтальный контейнер - true - true - - - d7d54cfb-26b5-4dba-b56f-b6247183c24d - 3737e905-ece3-4de0-b40d-37d0fef67504 - Горизонтальный контейнер - true - true - - - ba24d307-0b91-4299-ba82-9d0b52384ff2 - 78f3c32a-f2d8-4ad7-86d8-4c05ab790ba9 - Инцидентов разрешено - false - false - - - - initialValue - - "Инцидентов разрешено" - - - - label - - null - - - - tooltip - - "Инцидентов разрешено" - - - - - - - - - false - - - @@ -22710,6 +22704,7 @@ a6d5e74b-9662-4d5d-9fd3-a3a796297622 ВК Отправка уведомлений в ЛК гражданина на ЕПГУ true + false false @@ -22735,6 +22730,12 @@ + + + visible + + false + From 0bfac90f7ea2a7baecee9d0221e78cbc7eb7bdf9 Mon Sep 17 00:00:00 2001 From: Foat Saliakhov Date: Tue, 29 Apr 2025 14:32:28 +0300 Subject: [PATCH 26/40] fix --- .../initial_registration.page | 154 +++++++++--------- .../ervu-business-metrics/updating.page | 12 ++ 2 files changed, 92 insertions(+), 74 deletions(-) diff --git a/resources/src/main/resources/business-model/ervu-business-metrics/initial_registration.page b/resources/src/main/resources/business-model/ervu-business-metrics/initial_registration.page index 82b51c4..157b1fc 100644 --- a/resources/src/main/resources/business-model/ervu-business-metrics/initial_registration.page +++ b/resources/src/main/resources/business-model/ervu-business-metrics/initial_registration.page @@ -1124,6 +1124,82 @@ visible +true + + + + + + + fd7e47b9-dce1-4d14-9f3a-580c79f59579 + 9ec1be5b-2050-412c-b0c8-ccfb2c521613 + Администрирование + false + false + false + + false + + + caption + +"Администрирование" + + + + style + + + + height + + null + + + + width + + null + + + + + + + + + + StaticRouteNavigationButton + modules.user-management.component + + true + true + + + caption + +"Администрирование" + + + + cssClasses + + + + "panel-btn" + + + + + + route + +"/administration" + + + + visible + true @@ -1494,7 +1570,6 @@ 7b47ba81-1c81-4780-b0f6-7fe726e099a7 Постановка в 17 лет true - false false @@ -31872,76 +31947,7 @@ 9ec1be5b-2050-412c-b0c8-ccfb2c521613 Администрирование false - false - false - - false - - - caption - - "Администрирование" - - - - style - - - - height - - null - - - - width - - null - - - - - - - - - -StaticRouteNavigationButton -modules.user-management.component - - true - true - - - caption - - "Администрирование" - - - - cssClasses - - - - "panel-btn" - - - - - - route - - "/administration" - - - - visible - - true - - - - + true @@ -31949,6 +31955,7 @@ 8ce33491-362c-4be8-b964-2abec01f4e30 Постановка в 18 лет и старше true + false false @@ -32926,7 +32933,6 @@ 160f5fc4-2041-4779-9bad-e5b9bf61ad86 ВК ГИР ВУ true - false false @@ -32938,7 +32944,6 @@ 21f993d1-071b-440c-9e26-245a6095025c ГК Первый ряд true - false false @@ -36299,6 +36304,7 @@ 78372736-3179-4b79-bd3a-8c1df6f2c9ba ГК Второй ряд true + false false @@ -42116,7 +42122,6 @@ b6fa93df-1136-4357-ba93-fac3068b1446 ГК Третий ряд true - false false @@ -54250,6 +54255,7 @@ 8e07960c-62ef-4ade-ae0f-1ccc1d836aea ВК Личное посещение true + false false diff --git a/resources/src/main/resources/business-model/ervu-business-metrics/updating.page b/resources/src/main/resources/business-model/ervu-business-metrics/updating.page index a1228e4..212825c 100644 --- a/resources/src/main/resources/business-model/ervu-business-metrics/updating.page +++ b/resources/src/main/resources/business-model/ervu-business-metrics/updating.page @@ -123,6 +123,18 @@ + + treeValuesCacheStrategy + +"BY_CUSTOM_NAME" + + + + treeValuesCustomName + +"treeSelectionCache" + + From 83fddc0767c4dccdde787f49fcf842d65526fd0d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=A4=D0=BE=D0=B0=D1=82=20=D0=A1=D0=B0=D0=BB=D1=8F=D1=85?= =?UTF-8?q?=D0=BE=D0=B2?= Date: Wed, 30 Apr 2025 16:23:10 +0300 Subject: [PATCH 27/40] =?UTF-8?q?=D0=9F=D1=80=D0=B0=D0=B2=D0=BA=D0=B8=20?= =?UTF-8?q?=D0=BF=D0=BE=20=D0=B7=D0=B0=D0=BC=D0=B5=D1=87=D0=B0=D0=BD=D0=B8?= =?UTF-8?q?=D1=8F=D0=BC=20=D0=A2=D0=B8=D0=BC=D1=83=D1=80=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../register_subpoenas_subsystem.page | 7 +- .../removal_military_registration.page | 6220 ++++++++--------- .../ervu-business-metrics/updating.page | 1423 +--- 3 files changed, 3316 insertions(+), 4334 deletions(-) diff --git a/resources/src/main/resources/business-model/ervu-business-metrics/register_subpoenas_subsystem.page b/resources/src/main/resources/business-model/ervu-business-metrics/register_subpoenas_subsystem.page index 2531c45..a38909d 100644 --- a/resources/src/main/resources/business-model/ervu-business-metrics/register_subpoenas_subsystem.page +++ b/resources/src/main/resources/business-model/ervu-business-metrics/register_subpoenas_subsystem.page @@ -16082,6 +16082,7 @@ 0f5ecbb9-36e5-41f1-b498-34817da67f69 ГК Четвертый ряд true + false false @@ -21399,7 +21400,7 @@ ba24d307-0b91-4299-ba82-9d0b52384ff2 871c8d04-a807-4f28-b139-9ed172439bdd - В т.ч. сформировано выписок по состоящим на учете + В т.ч. сформировано выписок по не состоящим на учете false false @@ -21407,7 +21408,7 @@ initialValue - "В т.ч. сформировано выписок по состоящим на учете" + "В т.ч. сформировано выписок по не состоящим на учете" @@ -21419,7 +21420,7 @@ tooltip - "В т.ч. сформировано выписок по состоящим на учете" + "В т.ч. сформировано выписок по не состоящим на учете" diff --git a/resources/src/main/resources/business-model/ervu-business-metrics/removal_military_registration.page b/resources/src/main/resources/business-model/ervu-business-metrics/removal_military_registration.page index 5af7d8a..01988f2 100644 --- a/resources/src/main/resources/business-model/ervu-business-metrics/removal_military_registration.page +++ b/resources/src/main/resources/business-model/ervu-business-metrics/removal_military_registration.page @@ -3083,7 +3083,6 @@ 02aafe66-22b4-4921-a9d7-bb665dfdb4d0 ВК ГИР ВУ true - false false @@ -3095,7 +3094,6 @@ 79b0d99f-6fcf-479f-93fc-86cf40091bdb ГК Первый ряд true - false false @@ -4605,6 +4603,1501 @@ + + false + + + + + 9d1b5af1-0b8f-4b1b-b9a5-c2e6acf72d91 + 9b9f2335-d26e-48af-b079-9d49e3b7f1f6 + ВК Решения на подписании + true + false + false + + + + cssClasses + + + + "block-section" + + + + + + style + + + + width + + "50%" + + + + + + + + +true + + + service + + + + loadDao + + + +graph + + {"conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"nodeByIndex":{"0":{"tableName":"recruitment","schemaName":"metrics","x":127.0,"y":261.0,"alias":"recruitment","conditionGroup":{"operator":"AND","conditions":[{"column":{"schema":"metrics","table":"recruitment","entity":"recruitment","name":"schema"},"operation":"EQUAL","typeCode":"CONST","values":["\"Ministry\""]}],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"},"1":{"tableName":"decisions_signing","schemaName":"deregistration","x":288.0,"y":168.0,"alias":"decisions_signing","conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"},"2":{"tableName":"view_decisions_signing","schemaName":"deregistration","x":509.0,"y":258.0,"alias":"view_decisions_signing","conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"}},"nodes":[{"tableName":"recruitment","schemaName":"metrics","x":127.0,"y":261.0,"alias":"recruitment","conditionGroup":{"operator":"AND","conditions":[{"column":{"schema":"metrics","table":"recruitment","entity":"recruitment","name":"schema"},"operation":"EQUAL","typeCode":"CONST","values":["\"Ministry\""]}],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"},{"tableName":"decisions_signing","schemaName":"deregistration","x":288.0,"y":168.0,"alias":"decisions_signing","conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"},{"tableName":"view_decisions_signing","schemaName":"deregistration","x":509.0,"y":258.0,"alias":"view_decisions_signing","conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"}],"nodeByEntityName":{"decisions_signing":{"tableName":"decisions_signing","schemaName":"deregistration","x":288.0,"y":168.0,"alias":"decisions_signing","conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"},"view_decisions_signing":{"tableName":"view_decisions_signing","schemaName":"deregistration","x":509.0,"y":258.0,"alias":"view_decisions_signing","conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"},"recruitment":{"tableName":"recruitment","schemaName":"metrics","x":127.0,"y":261.0,"alias":"recruitment","conditionGroup":{"operator":"AND","conditions":[{"column":{"schema":"metrics","table":"recruitment","entity":"recruitment","name":"schema"},"operation":"EQUAL","typeCode":"CONST","values":["\"Ministry\""]}],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"}},"matrix":[[null,null,null],[{"refOnEntityName":"decisions_signing","refToEntityName":"recruitment","refToColumns":[{"schema":"metrics","table":"recruitment","entity":"recruitment","name":"idm_id"}],"refOnColumns":[{"schema":"deregistration","table":"decisions_signing","entity":"decisions_signing","name":"recruitment_id"}],"required":false,"cyclic":false,"conditionGroup":{"operator":"AND","conditions":[],"groups":[]}},null,null],[null,{"refOnEntityName":"view_decisions_signing","refToEntityName":"decisions_signing","refToColumns":[{"schema":"deregistration","table":"decisions_signing","entity":"decisions_signing","name":"decisions_signing_id"}],"refOnColumns":[{"schema":"deregistration","table":"view_decisions_signing","entity":"view_decisions_signing","name":"decisions_signing_id"}],"required":false,"cyclic":false,"conditionGroup":{"operator":"AND","conditions":[],"groups":[]}},null]],"mainNodeIndex":1} + + + + + DefaultLoadDao + database.dao + + + + + + ProjectDefaultValueLoaderServiceImpl + service.loading + + + + + + +true + + +true + + + eventRefs + + + + + + behavior + +{"objectId":"bdc2c41b-2309-473b-8baf-9021654b2d63","packageName":"component.field","className":"DropdownTreeViewComponent","type":"TS"} + + + + propertyName + +"valueChangeEvent" + + + + + + + + + + behavior + +{"objectId":"9b9f2335-d26e-48af-b079-9d49e3b7f1f6","packageName":"custom","className":"ContainerLoader","type":"TS"} + + + + propertyName + +"beforeStart" + + + + + + + + + loadParams + + + + + + objectValue + + + + argument + + null + + + + behavior + + {"objectId":"bdc2c41b-2309-473b-8baf-9021654b2d63","packageName":"component.field","className":"DropdownTreeViewComponent","type":"TS"} + + + + method + + "getBusinessId" + + + + + + + + + + + + + +true + + + containerValueLoaderService + + + + loadDao + + + +graph + + {"conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"nodeByIndex":{"0":{"tableName":"recruitment","schemaName":"metrics","x":78.0,"y":185.0,"alias":"recruitment","conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"},"1":{"tableName":"decisions_signing","schemaName":"deregistration","x":253.0,"y":64.0,"alias":"decisions_signing","conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"},"2":{"tableName":"view_decisions_signing","schemaName":"deregistration","x":472.0,"y":180.0,"alias":"view_decisions_signing","conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"}},"nodes":[{"tableName":"recruitment","schemaName":"metrics","x":78.0,"y":185.0,"alias":"recruitment","conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"},{"tableName":"decisions_signing","schemaName":"deregistration","x":253.0,"y":64.0,"alias":"decisions_signing","conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"},{"tableName":"view_decisions_signing","schemaName":"deregistration","x":472.0,"y":180.0,"alias":"view_decisions_signing","conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"}],"nodeByEntityName":{"decisions_signing":{"tableName":"decisions_signing","schemaName":"deregistration","x":253.0,"y":64.0,"alias":"decisions_signing","conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"},"view_decisions_signing":{"tableName":"view_decisions_signing","schemaName":"deregistration","x":472.0,"y":180.0,"alias":"view_decisions_signing","conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"},"recruitment":{"tableName":"recruitment","schemaName":"metrics","x":78.0,"y":185.0,"alias":"recruitment","conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"}},"matrix":[[null,null,null],[{"refOnEntityName":"decisions_signing","refToEntityName":"recruitment","refToColumns":[{"schema":"metrics","table":"recruitment","entity":"recruitment","name":"idm_id"}],"refOnColumns":[{"schema":"deregistration","table":"decisions_signing","entity":"decisions_signing","name":"recruitment_id"}],"required":false,"cyclic":false,"conditionGroup":{"operator":"AND","conditions":[],"groups":[]}},null,null],[null,{"refOnEntityName":"view_decisions_signing","refToEntityName":"decisions_signing","refToColumns":[{"schema":"deregistration","table":"decisions_signing","entity":"decisions_signing","name":"decisions_signing_id"}],"refOnColumns":[{"schema":"deregistration","table":"view_decisions_signing","entity":"view_decisions_signing","name":"decisions_signing_id"}],"required":false,"cyclic":false,"conditionGroup":{"operator":"AND","conditions":[],"groups":[]}},null]],"mainNodeIndex":1} + + + + + DefaultLoadDao + database.dao + + + + + replacePkColumn + + {"schema":"metrics","table":"recruitment","entity":"recruitment","name":"idm_id"} + + + + + ContainerByPkValueLoaderServiceImpl + service.loading + + + + + + +ba24d307-0b91-4299-ba82-9d0b52384ff2 +4683d483-4bac-4901-9d3a-bc06399e79c8 +Решения на подписании +false +false +false + + + + cssClasses + + + + "section-header" + + + + + + + initialValue + + "Решения на подписании" + + + + label + + null + + + + + + + + + false + + + +d7d54cfb-26b5-4dba-b56f-b6247183c24d +4ef60f90-d706-49c0-bf6f-ac990c4a0086 +ГК График и показатели +true +false + + + + + + + 9d1b5af1-0b8f-4b1b-b9a5-c2e6acf72d91 + 5ddc2fed-b799-4c51-a0e6-9c7bc5db91e2 + ВК График + true + false + + + + style + + + + width + +null + + + + + + + + + + + + + 85eb12aa-f878-4e29-b109-9d31af0fefb4 + 37e46780-b17b-418e-9463-635b98cd42a7 + График бублик 3 + true + false + false + + false + false + + + + + chartService + + + +chartType + + "DOUGHNUT" + + + +dataSetService + + + + centerLabelConfigurations + + + + + +aggregationFunction + + "SUM" + + + +font + + + + family + + "GolosUI" + + + + size + + 25 + + + + weight + + "550" + + + + + + +loadDao + + + + graph + + {"conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"nodeByIndex":{"0":{"tableName":"recruitment","schemaName":"metrics","x":35.0,"y":158.0,"alias":"recruitment","conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"},"1":{"tableName":"decisions_signing","schemaName":"deregistration","x":231.0,"y":32.0,"alias":"decisions_signing","conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"},"2":{"tableName":"view_decisions_signing","schemaName":"deregistration","x":400.0,"y":158.0,"alias":"view_decisions_signing","conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"}},"nodes":[{"tableName":"recruitment","schemaName":"metrics","x":35.0,"y":158.0,"alias":"recruitment","conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"},{"tableName":"decisions_signing","schemaName":"deregistration","x":231.0,"y":32.0,"alias":"decisions_signing","conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"},{"tableName":"view_decisions_signing","schemaName":"deregistration","x":400.0,"y":158.0,"alias":"view_decisions_signing","conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"}],"nodeByEntityName":{"decisions_signing":{"tableName":"decisions_signing","schemaName":"deregistration","x":231.0,"y":32.0,"alias":"decisions_signing","conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"},"view_decisions_signing":{"tableName":"view_decisions_signing","schemaName":"deregistration","x":400.0,"y":158.0,"alias":"view_decisions_signing","conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"},"recruitment":{"tableName":"recruitment","schemaName":"metrics","x":35.0,"y":158.0,"alias":"recruitment","conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"}},"matrix":[[null,null,null],[{"refOnEntityName":"decisions_signing","refToEntityName":"recruitment","refToColumns":[{"schema":"metrics","table":"recruitment","entity":"recruitment","name":"idm_id"}],"refOnColumns":[{"schema":"deregistration","table":"decisions_signing","entity":"decisions_signing","name":"recruitment_id"}],"required":false,"cyclic":false,"conditionGroup":{"operator":"AND","conditions":[],"groups":[]}},null,null],[null,{"refOnEntityName":"view_decisions_signing","refToEntityName":"decisions_signing","refToColumns":[{"schema":"deregistration","table":"decisions_signing","entity":"decisions_signing","name":"decisions_signing_id"}],"refOnColumns":[{"schema":"deregistration","table":"view_decisions_signing","entity":"view_decisions_signing","name":"decisions_signing_id"}],"required":false,"cyclic":false,"conditionGroup":{"operator":"AND","conditions":[],"groups":[]}},null]],"mainNodeIndex":1} + + + + + DefaultLoadDao + database.dao + + + + +valueColumn + + {"schema":"deregistration","table":"view_decisions_signing","entity":"view_decisions_signing","name":"count_arrived_all"} + + + + + DefaultRoundLabelConfiguration + ervu_business_metrics.component.chart.label + + + + + + + + dataSetConfigurations + + + + + +columnAggregationDataSet + + + + aggregationData + + + + + +aggregationColumn + + {"schema":"deregistration","table":"decisions_signing","entity":"decisions_signing","name":"count_arrived_death_reason"} + + + +aggregationFunction + + "SUM" + + + +backgroundColor + + "#AB8A99FF" + + + +label + + "По причине смерти" + + + + + + + + + +aggregationColumn + + {"schema":"deregistration","table":"decisions_signing","entity":"decisions_signing","name":"count_arrived_age_limit"} + + + +aggregationFunction + + "SUM" + + + +backgroundColor + + "#729AC9FF" + + + +label + + "По причине наступления предельного возраста *" + + + + + + + + + + + + dataLabel + + " " + + + + + + +cutout + + "80%" + + + +datasetType + + "COLUMN_AGGREGATION" + + + +loadDao + + + + graph + + {"conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"nodeByIndex":{"0":{"tableName":"recruitment","schemaName":"metrics","x":157.0,"y":176.0,"alias":"recruitment","conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"},"1":{"tableName":"decisions_signing","schemaName":"deregistration","x":430.0,"y":127.0,"alias":"decisions_signing","conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"}},"nodes":[{"tableName":"recruitment","schemaName":"metrics","x":157.0,"y":176.0,"alias":"recruitment","conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"},{"tableName":"decisions_signing","schemaName":"deregistration","x":430.0,"y":127.0,"alias":"decisions_signing","conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"}],"nodeByEntityName":{"decisions_signing":{"tableName":"decisions_signing","schemaName":"deregistration","x":430.0,"y":127.0,"alias":"decisions_signing","conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"},"recruitment":{"tableName":"recruitment","schemaName":"metrics","x":157.0,"y":176.0,"alias":"recruitment","conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"}},"matrix":[[null,null],[{"refOnEntityName":"decisions_signing","refToEntityName":"recruitment","refToColumns":[{"schema":"metrics","table":"recruitment","entity":"recruitment","name":"idm_id"}],"refOnColumns":[{"schema":"deregistration","table":"decisions_signing","entity":"decisions_signing","name":"recruitment_id"}],"required":false,"cyclic":false,"conditionGroup":{"operator":"AND","conditions":[],"groups":[]}},null]],"mainNodeIndex":1} + + + + + DefaultLoadDao + database.dao + + + + +radius + + "80%" + + + + + + + + + + + + RoundSingleChartDataSetService + ervu_business_metrics.component.chart + + + + + + + + + + + ErvuChartV2 + ervu_business_metrics.component.chart + + true + + + cssClasses + + + +"graph-donut" + + + + + + legend + + + +display + + false + + + + + + + loadOnStart + + true + + + + + + + RoundArcCornersChartPlugin + ervu_business_metrics.component.chart.plugin + + true + true + + + + FilterReferences + ervu_business_metrics.component.filter + + true + true + + + references + + + + + + column + + "idm_id" + + + + dataConverter + + + + + + filterComponent + + {"objectId":"bdc2c41b-2309-473b-8baf-9021654b2d63","packageName":"component.rpc","className":"TreeItemRpcService","type":"JAVA"} + + + + table + + "recruitment" + + + + + StaticFilterReference + ervu_business_metrics.component.filter + + + + + + + + + + FilterGroupDelegate + ervu_business_metrics.component.filter + + true + true + + + filterComponents + + + +{"objectId":"bdc2c41b-2309-473b-8baf-9021654b2d63","packageName":"component.filter","className":"FilterComponent","type":"TS"} + + + + + + + liveFilter + + true + + + + triggerOnStart + + true + + + + + + + DoughnutCenterLabelsPlugin + ervu_business_metrics.component.chart.plugin + + true + true + + + formatters + + + + + NumberToLocalStringLabelFormatter + ervu_business_metrics.component.chart.plugin.formatters + + + + + + + + + + + 9d1b5af1-0b8f-4b1b-b9a5-c2e6acf72d91 + e4dd1e7e-2169-4d53-88f9-cf7584a8b346 + Вертикальный контейнер + true + false + + + + cssClasses + + + + "graph-legend-right" + + + + + + + + + + + + d7d54cfb-26b5-4dba-b56f-b6247183c24d + 3023a17d-c0ab-429e-a2a7-f134d29b7641 + ГК Показатель + true + false + + + + cssClasses + + + +"subhead" + + + + + + + + + + + + ba24d307-0b91-4299-ba82-9d0b52384ff2 + e5597dfe-09c5-4a6f-8834-88fa4089022e + 5 000 + false + false + + + + cssClasses + + + + + + initialValue + + null + + + + textFormatter + + + + replaceModels + + + + + + value + + "0" + + + + + + + + + +ReplaceValueTextFormatter +ervu_business_metrics.formatter + + + + + + + + + + defaultValueColumn + + {"schema":"deregistration","table":"view_decisions_signing","entity":"view_decisions_signing","name":"count_arrived_all"} + + + + loadType + + "BY_COLUMN" + + + + + + + + loadType + + "BY_COLUMN" + + + + valueByEventColumn + + {"schema":"deregistration","table":"view_decisions_signing","entity":"view_decisions_signing","name":"count_arrived_all"} + + + + + + false + + + + 9d1b5af1-0b8f-4b1b-b9a5-c2e6acf72d91 + bcac2dc1-ad26-4a0f-9fc7-4dcb25b8f32c + Вертикальный контейнер + true + false + + + + cssClasses + + + + "text-wrap" + + + + + + + + + + + + ba24d307-0b91-4299-ba82-9d0b52384ff2 + 0572ae8f-d440-4590-8454-9e4a221241f4 + Решений на подписании, в т.ч.: + false + false + + + + initialValue + +"Решений на подписании, в т.ч.:" + + + + label + +null + + + + tooltip + +"Решений на подписании, в т.ч.:" + + + + + + + + + false + + + + + + d7d54cfb-26b5-4dba-b56f-b6247183c24d + 9cf94285-32ce-4fb9-8e3b-d96015cb6325 + ГК Показатели + true + false + + + + cssClasses + + + + + + + + + + + + 9d1b5af1-0b8f-4b1b-b9a5-c2e6acf72d91 + 1f60418c-29af-4463-ad99-355edc64e24d + Vbox% + true + false + + + + cssClasses + + + + + + + + + + + + ba24d307-0b91-4299-ba82-9d0b52384ff2 + af47b55e-1551-422a-b7ee-fa5f8341049f + 60% + false + false + + + + cssClasses + + + + "legend-col-purple" + + + + + "text-invert" + + + + + + initialValue + +null + + + + label + +"%" + + + + textFormatter + + + + replaceModels + + + + + + value + +"0" + + + + + + + + + + ReplaceValueTextFormatter + ervu_business_metrics.formatter + + + + + + + + + + defaultValueColumn + +{"schema":"deregistration","table":"view_decisions_signing","entity":"view_decisions_signing","name":"percent_arrived_death_reason"} + + + + loadType + +"BY_COLUMN" + + + + + + + + loadType + +"BY_COLUMN" + + + + valueByEventColumn + +{"schema":"deregistration","table":"view_decisions_signing","entity":"view_decisions_signing","name":"percent_arrived_death_reason"} + + + + + + false + + + + ba24d307-0b91-4299-ba82-9d0b52384ff2 + d28bdab2-2f9b-4b72-9d14-ef17eed55815 + 40% + false + false + + + + cssClasses + + + + "legend-col-dk-blue" + + + + + "text-invert" + + + + + + initialValue + +null + + + + label + +"%" + + + + textFormatter + + + + replaceModels + + + + + + value + +"0" + + + + + + + + + + ReplaceValueTextFormatter + ervu_business_metrics.formatter + + + + + + + + + + defaultValueColumn + +{"schema":"deregistration","table":"view_decisions_signing","entity":"view_decisions_signing","name":"percent_arrived_age_limit"} + + + + loadType + +"BY_COLUMN" + + + + + + + + loadType + +"BY_COLUMN" + + + + valueByEventColumn + +{"schema":"deregistration","table":"view_decisions_signing","entity":"view_decisions_signing","name":"percent_arrived_age_limit"} + + + + + + false + + + + + 9d1b5af1-0b8f-4b1b-b9a5-c2e6acf72d91 + 7f2ef3eb-c73b-47d5-b24c-0f09b58f2b5d + VboxValue + true + false + + + + + + + ba24d307-0b91-4299-ba82-9d0b52384ff2 + 13551a0d-3bcb-4469-a738-235f2d0c23ca + 3 000 + false + false + false + + + + cssClasses + + + + "pull-right" + + + + + + initialValue + +null + + + + textFormatter + + + + replaceModels + + + + + + value + +"0" + + + + + + + + + + ReplaceValueTextFormatter + ervu_business_metrics.formatter + + + + + + + + + + defaultValueColumn + +{"schema":"deregistration","table":"decisions_signing","entity":"decisions_signing","name":"count_arrived_death_reason"} + + + + loadType + +"BY_COLUMN" + + + + + + + + loadType + +"BY_COLUMN" + + + + valueByEventColumn + +{"schema":"deregistration","table":"decisions_signing","entity":"decisions_signing","name":"count_arrived_death_reason"} + + + + + + false + + + + ba24d307-0b91-4299-ba82-9d0b52384ff2 + b7660e54-c59d-4b4d-9f92-7596cf9690ac + 2 000 + false + false + + + + cssClasses + + + + "pull-right" + + + + + + initialValue + +null + + + + textFormatter + + + + replaceModels + + + + + + value + +"0" + + + + + + + + + + ReplaceValueTextFormatter + ervu_business_metrics.formatter + + + + + + + + + + defaultValueColumn + +{"schema":"deregistration","table":"decisions_signing","entity":"decisions_signing","name":"count_arrived_age_limit"} + + + + loadType + +"BY_COLUMN" + + + + + + + + loadType + +"BY_COLUMN" + + + + valueByEventColumn + +{"schema":"deregistration","table":"decisions_signing","entity":"decisions_signing","name":"count_arrived_age_limit"} + + + + + + false + + + + + 9d1b5af1-0b8f-4b1b-b9a5-c2e6acf72d91 + ccc3e3b8-89bf-43b5-9d8a-b3eceb2f5a29 + ВК Показатели + true + false + + + + cssClasses + + + + "text-wrap" + + + + + + + style + + + + width + + null + + + + + + + + + + + + + d7d54cfb-26b5-4dba-b56f-b6247183c24d + a60e391d-0616-4afd-96a6-8bb86ca5295f + ГК Показатель + true + true + + + d7d54cfb-26b5-4dba-b56f-b6247183c24d + 26f60873-7ed5-42ff-8d89-9202723989f7 + ГК Показатель + true + true + + + d7d54cfb-26b5-4dba-b56f-b6247183c24d + 23c5d94a-1fc4-4517-a50a-503c1b7e9bed + ГК Показатель + true + true + + + d7d54cfb-26b5-4dba-b56f-b6247183c24d + 26191847-c1ac-4328-9ee3-e57123595e69 + ГК Показатель + true + true + + + d7d54cfb-26b5-4dba-b56f-b6247183c24d + 91d938a2-28fe-4b39-9004-7dc154dca10b + Горизонтальный контейнер + true + true + + + d7d54cfb-26b5-4dba-b56f-b6247183c24d + 73fcd60f-94f9-42d3-9395-568ed4862f89 + Горизонтальный контейнер + true + true + + + d7d54cfb-26b5-4dba-b56f-b6247183c24d + c01d79e5-57c4-42f9-b04b-7c0555ea2ce0 + Горизонтальный контейнер + true + true + + + ba24d307-0b91-4299-ba82-9d0b52384ff2 + 9a6da3c6-4e96-49aa-94e9-6ddb035b63cc + По причине смерти + false + false + + + + initialValue + +"По причине смерти" + + + + label + +null + + + + tooltip + +"По причине смерти" + + + + + + + + + false + + + + ba24d307-0b91-4299-ba82-9d0b52384ff2 + 937d2ab5-8cb9-41b2-bc78-af3362f556bb + По причине наступления предельного возраста * + false + false + + + + initialValue + +"По причине наступления предельного возраста *" + + + + label + +null + + + + tooltip + +"По причине наступления предельного возраста *" + + + + + + + + + false + + + + + + + d7d54cfb-26b5-4dba-b56f-b6247183c24d + 9cf94285-32ce-4fb9-8e3b-d96015cb6325 + ГК Показатели + true + true + + + +ba24d307-0b91-4299-ba82-9d0b52384ff2 +a1bd5686-d5af-4f49-93ad-6fdb55f633c1 +* предельный возраст: 70 лет для мужчин и 50 лет для женщин +false +false + + + + initialValue + + "* предельный возраст: 70 лет для мужчин и 50 лет для женщин" + + + + tooltip + + null + + + + + + + false @@ -4642,6 +6135,12 @@ + + visible + + false + + @@ -6157,7 +7656,7 @@ height - "70%" + null @@ -6333,6 +7832,7 @@ 4adf16e0-0d6f-4f75-abb3-f9ef50598608 ГК Заголовок true +false false @@ -6391,6 +7891,7 @@ ba90ef5b-5e45-49fc-bfb1-51dbc8e938dd ГК График и показатели true +false false @@ -9905,9 +11406,27 @@ 3f20cd01-58d4-4c34-9857-9119b8d9f56a Vbox true + true + + + 9d1b5af1-0b8f-4b1b-b9a5-c2e6acf72d91 + 7a6667cb-c585-4de9-a62f-54a77b1246c2 + ГК Сформированные решения о снятии с ВУ + true + false false + + cssClasses + + + + "block-section" + + + + style @@ -9923,269 +11442,306 @@ - - - - - -9d1b5af1-0b8f-4b1b-b9a5-c2e6acf72d91 -9b9f2335-d26e-48af-b079-9d49e3b7f1f6 -ВК Решения на подписании -true -false + +true + + + service + + + + loadDao + + + +graph + + {"conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"nodeByIndex":{"0":{"tableName":"recruitment","schemaName":"metrics","x":162.0,"y":260.0,"alias":"recruitment","conditionGroup":{"operator":"AND","conditions":[{"column":{"schema":"metrics","table":"recruitment","entity":"recruitment","name":"schema"},"operation":"EQUAL","typeCode":"CONST","values":["\"Ministry\""]}],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"},"1":{"tableName":"solutions","schemaName":"deregistration","x":383.0,"y":166.0,"alias":"solutions","conditionGroup":{"operator":"AND","conditions":[{"column":{"schema":"deregistration","table":"solutions","entity":"solutions","name":"info_source"},"operation":"EQUAL","typeCode":"CONST","values":["\"GIR_VU\""]}],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"},"2":{"tableName":"view_solutions","schemaName":"deregistration","x":630.0,"y":198.0,"alias":"view_solutions","conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"}},"nodes":[{"tableName":"recruitment","schemaName":"metrics","x":162.0,"y":260.0,"alias":"recruitment","conditionGroup":{"operator":"AND","conditions":[{"column":{"schema":"metrics","table":"recruitment","entity":"recruitment","name":"schema"},"operation":"EQUAL","typeCode":"CONST","values":["\"Ministry\""]}],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"},{"tableName":"solutions","schemaName":"deregistration","x":383.0,"y":166.0,"alias":"solutions","conditionGroup":{"operator":"AND","conditions":[{"column":{"schema":"deregistration","table":"solutions","entity":"solutions","name":"info_source"},"operation":"EQUAL","typeCode":"CONST","values":["\"GIR_VU\""]}],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"},{"tableName":"view_solutions","schemaName":"deregistration","x":630.0,"y":198.0,"alias":"view_solutions","conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"}],"nodeByEntityName":{"recruitment":{"tableName":"recruitment","schemaName":"metrics","x":162.0,"y":260.0,"alias":"recruitment","conditionGroup":{"operator":"AND","conditions":[{"column":{"schema":"metrics","table":"recruitment","entity":"recruitment","name":"schema"},"operation":"EQUAL","typeCode":"CONST","values":["\"Ministry\""]}],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"},"solutions":{"tableName":"solutions","schemaName":"deregistration","x":383.0,"y":166.0,"alias":"solutions","conditionGroup":{"operator":"AND","conditions":[{"column":{"schema":"deregistration","table":"solutions","entity":"solutions","name":"info_source"},"operation":"EQUAL","typeCode":"CONST","values":["\"GIR_VU\""]}],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"},"view_solutions":{"tableName":"view_solutions","schemaName":"deregistration","x":630.0,"y":198.0,"alias":"view_solutions","conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"}},"matrix":[[null,null,null],[{"refOnEntityName":"solutions","refToEntityName":"recruitment","refToColumns":[{"schema":"metrics","table":"recruitment","entity":"recruitment","name":"idm_id"}],"refOnColumns":[{"schema":"deregistration","table":"solutions","entity":"solutions","name":"recruitment_id"}],"required":false,"cyclic":false,"conditionGroup":{"operator":"AND","conditions":[],"groups":[]}},null,null],[null,{"refOnEntityName":"view_solutions","refToEntityName":"solutions","refToColumns":[{"schema":"deregistration","table":"solutions","entity":"solutions","name":"solutions_id"}],"refOnColumns":[{"schema":"deregistration","table":"view_solutions","entity":"view_solutions","name":"solutions_id"}],"required":false,"cyclic":false,"conditionGroup":{"operator":"AND","conditions":[],"groups":[]}},null]],"mainNodeIndex":1} + + + + + DefaultLoadDao + database.dao + + + + + + ProjectDefaultValueLoaderServiceImpl + service.loading + + + + + + +true + + +true + + + eventRefs + + + + + + behavior + +{"objectId":"bdc2c41b-2309-473b-8baf-9021654b2d63","packageName":"component.field","className":"DropdownTreeViewComponent","type":"TS"} + + + + propertyName + +"valueChangeEvent" + + + + + + + + + + behavior + +{"objectId":"7a6667cb-c585-4de9-a62f-54a77b1246c2","packageName":"custom","className":"ContainerLoader","type":"TS"} + + + + propertyName + +"beforeStart" + + + + + + + + + loadParams + + + + + + objectValue + + + + argument + + null + + + + behavior + + {"objectId":"bdc2c41b-2309-473b-8baf-9021654b2d63","packageName":"component.field","className":"DropdownTreeViewComponent","type":"TS"} + + + + method + + "getBusinessId" + + + + + + + + + + + + + +true + + + containerValueLoaderService + + + + loadDao + + + +graph + + {"conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"nodeByIndex":{"0":{"tableName":"recruitment","schemaName":"metrics","x":73.0,"y":179.0,"alias":"recruitment","conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"},"1":{"tableName":"solutions","schemaName":"deregistration","x":347.0,"y":107.0,"alias":"solutions","conditionGroup":{"operator":"AND","conditions":[{"column":{"schema":"deregistration","table":"solutions","entity":"solutions","name":"info_source"},"operation":"EQUAL","typeCode":"CONST","values":["\"GIR_VU\""]}],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"},"2":{"tableName":"view_solutions","schemaName":"deregistration","x":565.0,"y":181.0,"alias":"view_solutions","conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"}},"nodes":[{"tableName":"recruitment","schemaName":"metrics","x":73.0,"y":179.0,"alias":"recruitment","conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"},{"tableName":"solutions","schemaName":"deregistration","x":347.0,"y":107.0,"alias":"solutions","conditionGroup":{"operator":"AND","conditions":[{"column":{"schema":"deregistration","table":"solutions","entity":"solutions","name":"info_source"},"operation":"EQUAL","typeCode":"CONST","values":["\"GIR_VU\""]}],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"},{"tableName":"view_solutions","schemaName":"deregistration","x":565.0,"y":181.0,"alias":"view_solutions","conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"}],"nodeByEntityName":{"recruitment":{"tableName":"recruitment","schemaName":"metrics","x":73.0,"y":179.0,"alias":"recruitment","conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"},"solutions":{"tableName":"solutions","schemaName":"deregistration","x":347.0,"y":107.0,"alias":"solutions","conditionGroup":{"operator":"AND","conditions":[{"column":{"schema":"deregistration","table":"solutions","entity":"solutions","name":"info_source"},"operation":"EQUAL","typeCode":"CONST","values":["\"GIR_VU\""]}],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"},"view_solutions":{"tableName":"view_solutions","schemaName":"deregistration","x":565.0,"y":181.0,"alias":"view_solutions","conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"}},"matrix":[[null,null,null],[{"refOnEntityName":"solutions","refToEntityName":"recruitment","refToColumns":[{"schema":"metrics","table":"recruitment","entity":"recruitment","name":"idm_id"}],"refOnColumns":[{"schema":"deregistration","table":"solutions","entity":"solutions","name":"recruitment_id"}],"required":false,"cyclic":false,"conditionGroup":{"operator":"AND","conditions":[],"groups":[]}},null,null],[null,{"refOnEntityName":"view_solutions","refToEntityName":"solutions","refToColumns":[{"schema":"deregistration","table":"solutions","entity":"solutions","name":"solutions_id"}],"refOnColumns":[{"schema":"deregistration","table":"view_solutions","entity":"view_solutions","name":"solutions_id"}],"required":false,"cyclic":false,"conditionGroup":{"operator":"AND","conditions":[],"groups":[]}},null]],"mainNodeIndex":1} + + + + + DefaultLoadDao + database.dao + + + + + replacePkColumn + + {"schema":"metrics","table":"recruitment","entity":"recruitment","name":"idm_id"} + + + + + ContainerByPkValueLoaderServiceImpl + service.loading + + + + + + +ba24d307-0b91-4299-ba82-9d0b52384ff2 +4b7d8d38-ef08-4032-9c1f-94f1eab88b57 +Сформированные решения о снятии с ВУ +false false - + cssClasses - + - "block-section" + "section-header" - style + initialValue - - - width - - null - - - - - - - - - true - - - service - - - - loadDao - - - - graph - - {"conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"nodeByIndex":{"0":{"tableName":"recruitment","schemaName":"metrics","x":127.0,"y":261.0,"alias":"recruitment","conditionGroup":{"operator":"AND","conditions":[{"column":{"schema":"metrics","table":"recruitment","entity":"recruitment","name":"schema"},"operation":"EQUAL","typeCode":"CONST","values":["\"Ministry\""]}],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"},"1":{"tableName":"decisions_signing","schemaName":"deregistration","x":288.0,"y":168.0,"alias":"decisions_signing","conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"},"2":{"tableName":"view_decisions_signing","schemaName":"deregistration","x":509.0,"y":258.0,"alias":"view_decisions_signing","conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"}},"nodes":[{"tableName":"recruitment","schemaName":"metrics","x":127.0,"y":261.0,"alias":"recruitment","conditionGroup":{"operator":"AND","conditions":[{"column":{"schema":"metrics","table":"recruitment","entity":"recruitment","name":"schema"},"operation":"EQUAL","typeCode":"CONST","values":["\"Ministry\""]}],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"},{"tableName":"decisions_signing","schemaName":"deregistration","x":288.0,"y":168.0,"alias":"decisions_signing","conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"},{"tableName":"view_decisions_signing","schemaName":"deregistration","x":509.0,"y":258.0,"alias":"view_decisions_signing","conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"}],"nodeByEntityName":{"decisions_signing":{"tableName":"decisions_signing","schemaName":"deregistration","x":288.0,"y":168.0,"alias":"decisions_signing","conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"},"view_decisions_signing":{"tableName":"view_decisions_signing","schemaName":"deregistration","x":509.0,"y":258.0,"alias":"view_decisions_signing","conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"},"recruitment":{"tableName":"recruitment","schemaName":"metrics","x":127.0,"y":261.0,"alias":"recruitment","conditionGroup":{"operator":"AND","conditions":[{"column":{"schema":"metrics","table":"recruitment","entity":"recruitment","name":"schema"},"operation":"EQUAL","typeCode":"CONST","values":["\"Ministry\""]}],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"}},"matrix":[[null,null,null],[{"refOnEntityName":"decisions_signing","refToEntityName":"recruitment","refToColumns":[{"schema":"metrics","table":"recruitment","entity":"recruitment","name":"idm_id"}],"refOnColumns":[{"schema":"deregistration","table":"decisions_signing","entity":"decisions_signing","name":"recruitment_id"}],"required":false,"cyclic":false,"conditionGroup":{"operator":"AND","conditions":[],"groups":[]}},null,null],[null,{"refOnEntityName":"view_decisions_signing","refToEntityName":"decisions_signing","refToColumns":[{"schema":"deregistration","table":"decisions_signing","entity":"decisions_signing","name":"decisions_signing_id"}],"refOnColumns":[{"schema":"deregistration","table":"view_decisions_signing","entity":"view_decisions_signing","name":"decisions_signing_id"}],"required":false,"cyclic":false,"conditionGroup":{"operator":"AND","conditions":[],"groups":[]}},null]],"mainNodeIndex":1} - - - - -DefaultLoadDao -database.dao - - - - - - ProjectDefaultValueLoaderServiceImpl - service.loading - - - - - - - true - - - true - - - eventRefs - - - - - -behavior - - {"objectId":"bdc2c41b-2309-473b-8baf-9021654b2d63","packageName":"component.field","className":"DropdownTreeViewComponent","type":"TS"} - - - -propertyName - - "valueChangeEvent" - - - - - - - - - -behavior - - {"objectId":"9b9f2335-d26e-48af-b079-9d49e3b7f1f6","packageName":"custom","className":"ContainerLoader","type":"TS"} - - - -propertyName - - "beforeStart" - - - - - + "Сформированные решения о снятии с ВУ" - loadParams - - - - - -objectValue - - - - argument + label null - - behavior - - {"objectId":"bdc2c41b-2309-473b-8baf-9021654b2d63","packageName":"component.field","className":"DropdownTreeViewComponent","type":"TS"} - - - - method - - "getBusinessId" - - - - - - - - - - - - true - - - containerValueLoaderService - - - - loadDao - - - - graph - - {"conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"nodeByIndex":{"0":{"tableName":"recruitment","schemaName":"metrics","x":78.0,"y":185.0,"alias":"recruitment","conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"},"1":{"tableName":"decisions_signing","schemaName":"deregistration","x":253.0,"y":64.0,"alias":"decisions_signing","conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"},"2":{"tableName":"view_decisions_signing","schemaName":"deregistration","x":472.0,"y":180.0,"alias":"view_decisions_signing","conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"}},"nodes":[{"tableName":"recruitment","schemaName":"metrics","x":78.0,"y":185.0,"alias":"recruitment","conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"},{"tableName":"decisions_signing","schemaName":"deregistration","x":253.0,"y":64.0,"alias":"decisions_signing","conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"},{"tableName":"view_decisions_signing","schemaName":"deregistration","x":472.0,"y":180.0,"alias":"view_decisions_signing","conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"}],"nodeByEntityName":{"decisions_signing":{"tableName":"decisions_signing","schemaName":"deregistration","x":253.0,"y":64.0,"alias":"decisions_signing","conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"},"view_decisions_signing":{"tableName":"view_decisions_signing","schemaName":"deregistration","x":472.0,"y":180.0,"alias":"view_decisions_signing","conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"},"recruitment":{"tableName":"recruitment","schemaName":"metrics","x":78.0,"y":185.0,"alias":"recruitment","conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"}},"matrix":[[null,null,null],[{"refOnEntityName":"decisions_signing","refToEntityName":"recruitment","refToColumns":[{"schema":"metrics","table":"recruitment","entity":"recruitment","name":"idm_id"}],"refOnColumns":[{"schema":"deregistration","table":"decisions_signing","entity":"decisions_signing","name":"recruitment_id"}],"required":false,"cyclic":false,"conditionGroup":{"operator":"AND","conditions":[],"groups":[]}},null,null],[null,{"refOnEntityName":"view_decisions_signing","refToEntityName":"decisions_signing","refToColumns":[{"schema":"deregistration","table":"decisions_signing","entity":"decisions_signing","name":"decisions_signing_id"}],"refOnColumns":[{"schema":"deregistration","table":"view_decisions_signing","entity":"view_decisions_signing","name":"decisions_signing_id"}],"required":false,"cyclic":false,"conditionGroup":{"operator":"AND","conditions":[],"groups":[]}},null]],"mainNodeIndex":1} - - - - -DefaultLoadDao -database.dao - - - - - replacePkColumn - - {"schema":"metrics","table":"recruitment","entity":"recruitment","name":"idm_id"} - - - - - ContainerByPkValueLoaderServiceImpl - service.loading - - - - + + + + + false - - ba24d307-0b91-4299-ba82-9d0b52384ff2 - 4683d483-4bac-4901-9d3a-bc06399e79c8 - Решения на подписании - false - false + + +d7d54cfb-26b5-4dba-b56f-b6247183c24d +4cecc152-f9bc-4594-aade-5517376b758b +ГК График и показатели +true +false + + + + + + + 9d1b5af1-0b8f-4b1b-b9a5-c2e6acf72d91 + 8be6bab8-70c6-4f0f-b71b-3d6195cbb04d + ВК График + true false - + cssClasses - + - "section-header" + "graph-row-left" - - initialValue + style - "Решения на подписании" - - - - label - - null + + + width + +null + + + - - - - - false - - - - d7d54cfb-26b5-4dba-b56f-b6247183c24d - 4ef60f90-d706-49c0-bf6f-ac990c4a0086 - ГК График и показатели - true - false - - - - - - - 9d1b5af1-0b8f-4b1b-b9a5-c2e6acf72d91 - 5ddc2fed-b799-4c51-a0e6-9c7bc5db91e2 - ВК График + + + + + + ba24d307-0b91-4299-ba82-9d0b52384ff2 + 2b2c97f9-eb9a-46bc-a252-4d5d0efea967 + Пустое поле + false + true + + + 85eb12aa-f878-4e29-b109-9d31af0fefb4 + 3d5e7119-6b40-4cf5-9333-54912e1127cc + График 1 true false - + + false + false + + indexAxis + + "y" + + + + legend + + + +align + + "CENTER" + + + +color + + "#E6E699FF" + + + +position + + "LEFT" + + + + + style -width +height - null + "250px" @@ -10193,405 +11749,616 @@ - - - - - - 85eb12aa-f878-4e29-b109-9d31af0fefb4 - 37e46780-b17b-418e-9463-635b98cd42a7 - График бублик 3 - true - false - false - - false - false - - - - - chartService - - - - chartType - - "DOUGHNUT" - - - - dataSetService - - - - centerLabelConfigurations - - - - - - aggregationFunction - - "SUM" - - - - font - - - - family - - "GolosUI" - - - - size - - 25 - - - - weight - - "550" - - - - - - - loadDao - - - - graph - - {"conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"nodeByIndex":{"0":{"tableName":"recruitment","schemaName":"metrics","x":35.0,"y":158.0,"alias":"recruitment","conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"},"1":{"tableName":"decisions_signing","schemaName":"deregistration","x":231.0,"y":32.0,"alias":"decisions_signing","conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"},"2":{"tableName":"view_decisions_signing","schemaName":"deregistration","x":400.0,"y":158.0,"alias":"view_decisions_signing","conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"}},"nodes":[{"tableName":"recruitment","schemaName":"metrics","x":35.0,"y":158.0,"alias":"recruitment","conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"},{"tableName":"decisions_signing","schemaName":"deregistration","x":231.0,"y":32.0,"alias":"decisions_signing","conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"},{"tableName":"view_decisions_signing","schemaName":"deregistration","x":400.0,"y":158.0,"alias":"view_decisions_signing","conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"}],"nodeByEntityName":{"decisions_signing":{"tableName":"decisions_signing","schemaName":"deregistration","x":231.0,"y":32.0,"alias":"decisions_signing","conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"},"view_decisions_signing":{"tableName":"view_decisions_signing","schemaName":"deregistration","x":400.0,"y":158.0,"alias":"view_decisions_signing","conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"},"recruitment":{"tableName":"recruitment","schemaName":"metrics","x":35.0,"y":158.0,"alias":"recruitment","conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"}},"matrix":[[null,null,null],[{"refOnEntityName":"decisions_signing","refToEntityName":"recruitment","refToColumns":[{"schema":"metrics","table":"recruitment","entity":"recruitment","name":"idm_id"}],"refOnColumns":[{"schema":"deregistration","table":"decisions_signing","entity":"decisions_signing","name":"recruitment_id"}],"required":false,"cyclic":false,"conditionGroup":{"operator":"AND","conditions":[],"groups":[]}},null,null],[null,{"refOnEntityName":"view_decisions_signing","refToEntityName":"decisions_signing","refToColumns":[{"schema":"deregistration","table":"decisions_signing","entity":"decisions_signing","name":"decisions_signing_id"}],"refOnColumns":[{"schema":"deregistration","table":"view_decisions_signing","entity":"view_decisions_signing","name":"decisions_signing_id"}],"required":false,"cyclic":false,"conditionGroup":{"operator":"AND","conditions":[],"groups":[]}},null]],"mainNodeIndex":1} - - - - - DefaultLoadDao - database.dao - - - - - valueColumn - - {"schema":"deregistration","table":"view_decisions_signing","entity":"view_decisions_signing","name":"count_arrived_all"} - - - - -DefaultRoundLabelConfiguration -ervu_business_metrics.component.chart.label - - - - - - - - dataSetConfigurations - - - - - - columnAggregationDataSet - - - - aggregationData - - - - - - aggregationColumn - - {"schema":"deregistration","table":"decisions_signing","entity":"decisions_signing","name":"count_arrived_death_reason"} - - - - aggregationFunction - - "SUM" - - - - backgroundColor - - "#AB8A99FF" - - - - label - - "По причине смерти" - - - - - - - - - - aggregationColumn - - {"schema":"deregistration","table":"decisions_signing","entity":"decisions_signing","name":"count_arrived_age_limit"} - - - - aggregationFunction - - "SUM" - - - - backgroundColor - - "#729AC9FF" - - - - label - - "По причине наступления предельного возраста *" - - - - - - - - - - - - dataLabel - - " " - - - - - - - cutout - - "80%" - - - - datasetType - - "COLUMN_AGGREGATION" - - - - loadDao - - - - graph - - {"conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"nodeByIndex":{"0":{"tableName":"recruitment","schemaName":"metrics","x":157.0,"y":176.0,"alias":"recruitment","conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"},"1":{"tableName":"decisions_signing","schemaName":"deregistration","x":430.0,"y":127.0,"alias":"decisions_signing","conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"}},"nodes":[{"tableName":"recruitment","schemaName":"metrics","x":157.0,"y":176.0,"alias":"recruitment","conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"},{"tableName":"decisions_signing","schemaName":"deregistration","x":430.0,"y":127.0,"alias":"decisions_signing","conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"}],"nodeByEntityName":{"decisions_signing":{"tableName":"decisions_signing","schemaName":"deregistration","x":430.0,"y":127.0,"alias":"decisions_signing","conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"},"recruitment":{"tableName":"recruitment","schemaName":"metrics","x":157.0,"y":176.0,"alias":"recruitment","conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"}},"matrix":[[null,null],[{"refOnEntityName":"decisions_signing","refToEntityName":"recruitment","refToColumns":[{"schema":"metrics","table":"recruitment","entity":"recruitment","name":"idm_id"}],"refOnColumns":[{"schema":"deregistration","table":"decisions_signing","entity":"decisions_signing","name":"recruitment_id"}],"required":false,"cyclic":false,"conditionGroup":{"operator":"AND","conditions":[],"groups":[]}},null]],"mainNodeIndex":1} - - - - - DefaultLoadDao - database.dao - - - - - radius - - "80%" - - - - - - - - - - - - RoundSingleChartDataSetService - ervu_business_metrics.component.chart - - - - - - - - - - - ErvuChartV2 - ervu_business_metrics.component.chart - - true - - - cssClasses - - + + + + chartService + + + +chartType - "graph-donut" + "BAR" - - - - - legend - - - - display - - false - - - - - - - loadOnStart - - true - - - - - - - RoundArcCornersChartPlugin - ervu_business_metrics.component.chart.plugin - - true - true - - - - FilterReferences - ervu_business_metrics.component.filter - - true - true - - - references - - + + +dataSetServices + + + + + + datasetType + + "STATIC" + + + + loadDao + + + +graph + + {"conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"nodeByIndex":{"0":{"tableName":"recruitment","schemaName":"metrics","x":35.0,"y":163.0,"alias":"recruitment","conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"},"1":{"tableName":"solutions","schemaName":"deregistration","x":180.0,"y":61.0,"alias":"solutions","conditionGroup":{"operator":"AND","conditions":[{"column":{"schema":"deregistration","table":"solutions","entity":"solutions","name":"info_source"},"operation":"EQUAL","typeCode":"CONST","values":["\"GIR_VU\""]}],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"},"2":{"tableName":"view_solutions","schemaName":"deregistration","x":430.0,"y":185.0,"alias":"view_solutions","conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"}},"nodes":[{"tableName":"recruitment","schemaName":"metrics","x":35.0,"y":163.0,"alias":"recruitment","conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"},{"tableName":"solutions","schemaName":"deregistration","x":180.0,"y":61.0,"alias":"solutions","conditionGroup":{"operator":"AND","conditions":[{"column":{"schema":"deregistration","table":"solutions","entity":"solutions","name":"info_source"},"operation":"EQUAL","typeCode":"CONST","values":["\"GIR_VU\""]}],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"},{"tableName":"view_solutions","schemaName":"deregistration","x":430.0,"y":185.0,"alias":"view_solutions","conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"}],"nodeByEntityName":{"recruitment":{"tableName":"recruitment","schemaName":"metrics","x":35.0,"y":163.0,"alias":"recruitment","conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"},"solutions":{"tableName":"solutions","schemaName":"deregistration","x":180.0,"y":61.0,"alias":"solutions","conditionGroup":{"operator":"AND","conditions":[{"column":{"schema":"deregistration","table":"solutions","entity":"solutions","name":"info_source"},"operation":"EQUAL","typeCode":"CONST","values":["\"GIR_VU\""]}],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"},"view_solutions":{"tableName":"view_solutions","schemaName":"deregistration","x":430.0,"y":185.0,"alias":"view_solutions","conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"}},"matrix":[[null,null,null],[{"refOnEntityName":"solutions","refToEntityName":"recruitment","refToColumns":[{"schema":"metrics","table":"recruitment","entity":"recruitment","name":"idm_id"}],"refOnColumns":[{"schema":"deregistration","table":"solutions","entity":"solutions","name":"recruitment_id"}],"required":false,"cyclic":false,"conditionGroup":{"operator":"AND","conditions":[],"groups":[]}},null,null],[null,{"refOnEntityName":"view_solutions","refToEntityName":"solutions","refToColumns":[{"schema":"deregistration","table":"solutions","entity":"solutions","name":"solutions_id"}],"refOnColumns":[{"schema":"deregistration","table":"view_solutions","entity":"view_solutions","name":"solutions_id"}],"required":false,"cyclic":false,"conditionGroup":{"operator":"AND","conditions":[],"groups":[]}},null]],"mainNodeIndex":1} + + + + + DefaultLoadDao + database.dao + + + + + staticDataSet + + + +staticData + + + + + + + + + + backgroundColor + + "#E9DECDFF" + + + + chartType + + "BAR" + + + + dataColumn + + {"schema":"deregistration","table":"solutions","entity":"solutions","name":"count_accepted_for_sign"} + + + + dataLabel + + "Доступно для подписания" + + + + labelColumn + + {"schema":"deregistration","table":"solutions","entity":"solutions","name":"count_accepted_for_sign"} + + + + stack + + "Доступно для подписания" + + + + + + + + + + backgroundColor + + "#E9DECDFF" + + + + chartType + + "BAR" + + + + dataColumn + + {"schema":"deregistration","table":"solutions","entity":"solutions","name":"count_accepted_signed"} + + + + dataLabel + + "Подписано" + + + + labelColumn + + {"schema":"deregistration","table":"solutions","entity":"solutions","name":"count_accepted_signed"} + + + + stack + + "Подписано" + + + + + + + + + + backgroundColor + + "#E9DECDFF" + + + + chartType + + "BAR" + + + + dataColumn + + {"schema":"deregistration","table":"solutions","entity":"solutions","name":"count_refused"} + + + + dataLabel + + "Отклонено" + + + + labelColumn + + {"schema":"deregistration","table":"solutions","entity":"solutions","name":"count_refused"} + + + + stack + + "Отклонено" + + + + + + + + + + backgroundColor + + "#F2F2F2FF" + + + + chartType + + "BAR" + + + + dataColumn + + {"schema":"deregistration","table":"view_solutions","entity":"view_solutions","name":"count_accepted_all"} + + + + dataLabel + + " " + + + + labelColumn + + {"schema":"deregistration","table":"view_solutions","entity":"view_solutions","name":"count_accepted_all"} + + + + stack + + "100%" + + + + + + + + + + + + + ErvuMultiChartDataSetService + ervu_business_metrics.component.chart + + + + + + + + + + + + + ErvuChartV2 + ervu_business_metrics.component.chart + + true + + + bars + + + +barPositions - column + barStackIndexes - "idm_id" + + + + +barStack + + "Доступно для подписания" + + + +index + + 85.0 + + + + + + + + + +barStack + + "Подписано" + + + +index + + 43.0 + + + + + + + + + +barStack + + "Отклонено" + + + +index + + 1.0 + + + + + - dataConverter + barThickness - + 20.0 - filterComponent + max - {"objectId":"bdc2c41b-2309-473b-8baf-9021654b2d63","packageName":"component.rpc","className":"TreeItemRpcService","type":"JAVA"} + 132.0 - table + min - "recruitment" + 0.0 - - StaticFilterReference - ervu_business_metrics.component.filter - - - - - - - - - FilterGroupDelegate - ervu_business_metrics.component.filter - - true - true - - - filterComponents - - + + +shadowBar - {"objectId":"bdc2c41b-2309-473b-8baf-9021654b2d63","packageName":"component.filter","className":"FilterComponent","type":"TS"} + "100%" - - - - - - liveFilter - - true - - - - triggerOnStart - - true - - - - - - - DoughnutCenterLabelsPlugin - ervu_business_metrics.component.chart.plugin - - true - true - - - formatters - - + + +x - - NumberToLocalStringLabelFormatter - ervu_business_metrics.component.chart.plugin.formatters - - - + + + grid + + + + display + + false - - - + + drawBorder + + false + + + + + + + stacked + + false + + + + ticks + + + + display + + false + + + + + + + + + +y + + + + grid + + + + display + + false + + + + drawBorder + + false + + + + + + + ticks + + + + display + + false + + + + + + + + + + + + + indexAxis + + "y" + + + + legend + + + +display + + false + + + + + + + loadOnStart + + true + + + + options + + + +borderRadiusNumber + + 50.0 + + + + + + + style + + + +height + + "140px" + + + +margin + + "4px 0px 0px 0px" + + + + + + + visible + + true + + + + + + + FilterGroupDelegate + ervu_business_metrics.component.filter + + true + true + + + filterComponents + + + +{"objectId":"bdc2c41b-2309-473b-8baf-9021654b2d63","packageName":"component.filter","className":"FilterComponent","type":"TS"} + + + + + + liveFilter + + true + + + + triggerOnStart + + true + + + + + + + FilterReferences + ervu_business_metrics.component.filter + + true + true + + + references + + + + + + column + + "idm_id" + + + + dataConverter + + + + + + filterComponent + + {"objectId":"bdc2c41b-2309-473b-8baf-9021654b2d63","packageName":"component.rpc","className":"TreeItemRpcService","type":"JAVA"} + + + + table + + "recruitment" + + + + + StaticFilterReference + ervu_business_metrics.component.filter + + + + + + + - - 9d1b5af1-0b8f-4b1b-b9a5-c2e6acf72d91 - e4dd1e7e-2169-4d53-88f9-cf7584a8b346 - Вертикальный контейнер + + + d7d54cfb-26b5-4dba-b56f-b6247183c24d + 925dfe5f-6c16-4f0c-bc36-18c625532703 + Горизонтальный контейнер + true + true + + + 9d1b5af1-0b8f-4b1b-b9a5-c2e6acf72d91 + 62ba0893-2ccd-4bff-97d8-6d72455e64dd + Вертикальный контейнер + true + false + + + + cssClasses + + + + "graph-legend-right" + + + + + + + + + + + + d7d54cfb-26b5-4dba-b56f-b6247183c24d + 4ed2c477-8634-445b-b7cb-e6850cf42263 + Горизонтальный контейнер true false @@ -10599,23 +12366,98 @@ cssClasses - + -"graph-legend-right" +"subhead" - - - - - - d7d54cfb-26b5-4dba-b56f-b6247183c24d - 3023a17d-c0ab-429e-a2a7-f134d29b7641 - ГК Показатель + + + + + + ba24d307-0b91-4299-ba82-9d0b52384ff2 + 570ce91a-5cdc-4317-9fc2-e1c8b548d87d + Value + false + false + + + + textFormatter + + + + replaceModels + + + + + + value + + "0" + + + + + + + + + +ReplaceValueTextFormatter +ervu_business_metrics.formatter + + + + + + + + + + defaultValueColumn + + {"schema":"deregistration","table":"view_solutions","entity":"view_solutions","name":"count_accepted_all"} + + + + loadType + + "BY_COLUMN" + + + + + + + + loadType + + "BY_COLUMN" + + + + valueByEventColumn + + {"schema":"deregistration","table":"view_solutions","entity":"view_solutions","name":"count_accepted_all"} + + + + + + false + + + + 9d1b5af1-0b8f-4b1b-b9a5-c2e6acf72d91 + 882885e8-ee2e-4361-b7ee-404a0d6ed36f + Вертикальный контейнер true false @@ -10623,23 +12465,85 @@ cssClasses - + - "subhead" + "text-invert" - - - - - + + + + + ba24d307-0b91-4299-ba82-9d0b52384ff2 - e5597dfe-09c5-4a6f-8834-88fa4089022e - 5 000 + 408bdd4f-3dcd-42fb-b7ac-a9fb8cefcf7c + Решений всего, в т.ч.: + false + false + + + + initialValue + +"Решений всего, в т.ч.:" + + + + tooltip + +"Решений всего, в т.ч.:" + + + + + + + + + false + + + + + + d7d54cfb-26b5-4dba-b56f-b6247183c24d + 925dfe5f-6c16-4f0c-bc36-18c625532703 + Горизонтальный контейнер + true + false + + + + cssClasses + + + + + + + + + + + + 9d1b5af1-0b8f-4b1b-b9a5-c2e6acf72d91 + fc010744-b222-4362-8290-68c00215ede1 + Vbox% + true + false + + + + + + + ba24d307-0b91-4299-ba82-9d0b52384ff2 + 763a18fa-f5c8-4fdc-a83a-271818c77f1d + 94% false false @@ -10647,7 +12551,314 @@ cssClasses - + + + "text-invert" + + + + + + initialValue + +null + + + + label + +"%" + + + + textFormatter + + + + replaceModels + + + + + + value + +"0" + + + + + + + + + + ReplaceValueTextFormatter + ervu_business_metrics.formatter + + + + + + + + + + defaultValueColumn + +{"schema":"deregistration","table":"view_solutions","entity":"view_solutions","name":"percent_accepted_for_sign"} + + + + loadType + +"BY_COLUMN" + + + + + + + + loadType + +"BY_COLUMN" + + + + valueByEventColumn + +{"schema":"deregistration","table":"view_solutions","entity":"view_solutions","name":"percent_accepted_for_sign"} + + + + + + false + + + + ba24d307-0b91-4299-ba82-9d0b52384ff2 + e7e40168-3def-41ae-af2c-b45330752f27 + 94% + false + false + + + + cssClasses + + + + "text-invert" + + + + + + initialValue + +null + + + + label + +"%" + + + + textFormatter + + + + replaceModels + + + + + + value + +"0" + + + + + + + + + + ReplaceValueTextFormatter + ervu_business_metrics.formatter + + + + + + + + + + defaultValueColumn + +{"schema":"deregistration","table":"view_solutions","entity":"view_solutions","name":"percent_accepted_signed"} + + + + loadType + +"BY_COLUMN" + + + + + + + + loadType + +"BY_COLUMN" + + + + valueByEventColumn + +{"schema":"deregistration","table":"view_solutions","entity":"view_solutions","name":"percent_accepted_signed"} + + + + + + false + + + + ba24d307-0b91-4299-ba82-9d0b52384ff2 + a196481e-3204-4fdd-89bb-0759df4c631c + 1% + false + false + + + + cssClasses + + + + "text-invert" + + + + + + initialValue + +null + + + + label + +"%" + + + + textFormatter + + + + replaceModels + + + + + + value + +"0" + + + + + + + + + + ReplaceValueTextFormatter + ervu_business_metrics.formatter + + + + + + + + + + defaultValueColumn + +{"schema":"deregistration","table":"view_solutions","entity":"view_solutions","name":"percent_refused"} + + + + loadType + +"BY_COLUMN" + + + + + + + + loadType + +"BY_COLUMN" + + + + valueByEventColumn + +{"schema":"deregistration","table":"view_solutions","entity":"view_solutions","name":"percent_refused"} + + + + + + false + + + + + 9d1b5af1-0b8f-4b1b-b9a5-c2e6acf72d91 + 2e61ebcb-74af-427c-a7d2-77e7c16b01bd + VboxValue + true + false + + + + + + + ba24d307-0b91-4299-ba82-9d0b52384ff2 + 71ca6778-9fd8-484d-a8d6-01acf0ec77eb + 29 200 + false + false + + + + cssClasses + + + + "pull-right" + + @@ -10663,7 +12874,7 @@ replaceModels - + @@ -10692,7 +12903,7 @@ defaultValueColumn -{"schema":"deregistration","table":"view_decisions_signing","entity":"view_decisions_signing","name":"count_arrived_all"} +{"schema":"deregistration","table":"solutions","entity":"solutions","name":"count_accepted_for_sign"} @@ -10714,7 +12925,7 @@ valueByEventColumn -{"schema":"deregistration","table":"view_decisions_signing","entity":"view_decisions_signing","name":"count_arrived_all"} +{"schema":"deregistration","table":"solutions","entity":"solutions","name":"count_accepted_for_sign"} @@ -10723,1683 +12934,30 @@ false - - 9d1b5af1-0b8f-4b1b-b9a5-c2e6acf72d91 - bcac2dc1-ad26-4a0f-9fc7-4dcb25b8f32c - Вертикальный контейнер - true - false - - - - cssClasses - - - - "text-wrap" - - - - - - - - - - - - ba24d307-0b91-4299-ba82-9d0b52384ff2 - 0572ae8f-d440-4590-8454-9e4a221241f4 - Решений на подписании, в т.ч.: - false - false - - - -initialValue - - "Решений на подписании, в т.ч.:" - - - -label - - null - - - -tooltip - - "Решений на подписании, в т.ч.:" - - - - - - - - - false - - - - - - d7d54cfb-26b5-4dba-b56f-b6247183c24d - 9cf94285-32ce-4fb9-8e3b-d96015cb6325 - ГК Показатели - true - false - - - - cssClasses - - - - - - - - - - - - 9d1b5af1-0b8f-4b1b-b9a5-c2e6acf72d91 - 1f60418c-29af-4463-ad99-355edc64e24d - Vbox% - true - false - - - - cssClasses - - - - - - - - - - - - ba24d307-0b91-4299-ba82-9d0b52384ff2 - af47b55e-1551-422a-b7ee-fa5f8341049f - 60% - false - false - - - -cssClasses - - - - "legend-col-purple" - - - - - "text-invert" - - - - - -initialValue - - null - - - -label - - "%" - - - -textFormatter - - - - replaceModels - - - - - -value - - "0" - - - - - - - - - - ReplaceValueTextFormatter - ervu_business_metrics.formatter - - - - - - - - - -defaultValueColumn - - {"schema":"deregistration","table":"view_decisions_signing","entity":"view_decisions_signing","name":"percent_arrived_death_reason"} - - - -loadType - - "BY_COLUMN" - - - - - - - -loadType - - "BY_COLUMN" - - - -valueByEventColumn - - {"schema":"deregistration","table":"view_decisions_signing","entity":"view_decisions_signing","name":"percent_arrived_death_reason"} - - - - - - false - - - - ba24d307-0b91-4299-ba82-9d0b52384ff2 - d28bdab2-2f9b-4b72-9d14-ef17eed55815 - 40% - false - false - - - -cssClasses - - - - "legend-col-dk-blue" - - - - - "text-invert" - - - - - -initialValue - - null - - - -label - - "%" - - - -textFormatter - - - - replaceModels - - - - - -value - - "0" - - - - - - - - - - ReplaceValueTextFormatter - ervu_business_metrics.formatter - - - - - - - - - -defaultValueColumn - - {"schema":"deregistration","table":"view_decisions_signing","entity":"view_decisions_signing","name":"percent_arrived_age_limit"} - - - -loadType - - "BY_COLUMN" - - - - - - - -loadType - - "BY_COLUMN" - - - -valueByEventColumn - - {"schema":"deregistration","table":"view_decisions_signing","entity":"view_decisions_signing","name":"percent_arrived_age_limit"} - - - - - - false - - - - - 9d1b5af1-0b8f-4b1b-b9a5-c2e6acf72d91 - 7f2ef3eb-c73b-47d5-b24c-0f09b58f2b5d - VboxValue - true - false - - - - - - - ba24d307-0b91-4299-ba82-9d0b52384ff2 - 13551a0d-3bcb-4469-a738-235f2d0c23ca - 3 000 - false - false - false - - - -cssClasses - - - - "pull-right" - - - - - -initialValue - - null - - - -textFormatter - - - - replaceModels - - - - - -value - - "0" - - - - - - - - - - ReplaceValueTextFormatter - ervu_business_metrics.formatter - - - - - - - - - -defaultValueColumn - - {"schema":"deregistration","table":"decisions_signing","entity":"decisions_signing","name":"count_arrived_death_reason"} - - - -loadType - - "BY_COLUMN" - - - - - - - -loadType - - "BY_COLUMN" - - - -valueByEventColumn - - {"schema":"deregistration","table":"decisions_signing","entity":"decisions_signing","name":"count_arrived_death_reason"} - - - - - - false - - - - ba24d307-0b91-4299-ba82-9d0b52384ff2 - b7660e54-c59d-4b4d-9f92-7596cf9690ac - 2 000 - false - false - - - -cssClasses - - - - "pull-right" - - - - - -initialValue - - null - - - -textFormatter - - - - replaceModels - - - - - -value - - "0" - - - - - - - - - - ReplaceValueTextFormatter - ervu_business_metrics.formatter - - - - - - - - - -defaultValueColumn - - {"schema":"deregistration","table":"decisions_signing","entity":"decisions_signing","name":"count_arrived_age_limit"} - - - -loadType - - "BY_COLUMN" - - - - - - - -loadType - - "BY_COLUMN" - - - -valueByEventColumn - - {"schema":"deregistration","table":"decisions_signing","entity":"decisions_signing","name":"count_arrived_age_limit"} - - - - - - false - - - - - 9d1b5af1-0b8f-4b1b-b9a5-c2e6acf72d91 - ccc3e3b8-89bf-43b5-9d8a-b3eceb2f5a29 - ВК Показатели - true - false - - - - cssClasses - - - - "text-wrap" - - - - - - - style - - - - width - - null - - - - - - - - - - - - - d7d54cfb-26b5-4dba-b56f-b6247183c24d - a60e391d-0616-4afd-96a6-8bb86ca5295f - ГК Показатель - true - true - - - d7d54cfb-26b5-4dba-b56f-b6247183c24d - 26f60873-7ed5-42ff-8d89-9202723989f7 - ГК Показатель - true - true - - - d7d54cfb-26b5-4dba-b56f-b6247183c24d - 23c5d94a-1fc4-4517-a50a-503c1b7e9bed - ГК Показатель - true - true - - - d7d54cfb-26b5-4dba-b56f-b6247183c24d - 26191847-c1ac-4328-9ee3-e57123595e69 - ГК Показатель - true - true - - - d7d54cfb-26b5-4dba-b56f-b6247183c24d - 91d938a2-28fe-4b39-9004-7dc154dca10b - Горизонтальный контейнер - true - true - - - d7d54cfb-26b5-4dba-b56f-b6247183c24d - 73fcd60f-94f9-42d3-9395-568ed4862f89 - Горизонтальный контейнер - true - true - - - d7d54cfb-26b5-4dba-b56f-b6247183c24d - c01d79e5-57c4-42f9-b04b-7c0555ea2ce0 - Горизонтальный контейнер - true - true - - - ba24d307-0b91-4299-ba82-9d0b52384ff2 - 9a6da3c6-4e96-49aa-94e9-6ddb035b63cc - По причине смерти - false - false - - - -initialValue - - "По причине смерти" - - - -label - - null - - - -tooltip - - "По причине смерти" - - - - - - - - - false - - - - ba24d307-0b91-4299-ba82-9d0b52384ff2 - 937d2ab5-8cb9-41b2-bc78-af3362f556bb - По причине наступления предельного возраста * - false - false - - - -initialValue - - "По причине наступления предельного возраста *" - - - -label - - null - - - -tooltip - - "По причине наступления предельного возраста *" - - - - - - - - - false - - - - - - - d7d54cfb-26b5-4dba-b56f-b6247183c24d - 9cf94285-32ce-4fb9-8e3b-d96015cb6325 - ГК Показатели - true - true - - - - ba24d307-0b91-4299-ba82-9d0b52384ff2 - a1bd5686-d5af-4f49-93ad-6fdb55f633c1 - * предельный возраст: 70 лет для мужчин и 50 лет для женщин - false - false - - - - initialValue - - "* предельный возраст: 70 лет для мужчин и 50 лет для женщин" - - - - tooltip - - null - - - - - - - - - false - - - - -9d1b5af1-0b8f-4b1b-b9a5-c2e6acf72d91 -7a6667cb-c585-4de9-a62f-54a77b1246c2 -ГК Сформированные решения о снятии с ВУ -true -false - - - - cssClasses - - - - "block-section" - - - - - - style - - - - width - - null - - - - - - - - - true - - - service - - - - loadDao - - - - graph - - {"conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"nodeByIndex":{"0":{"tableName":"recruitment","schemaName":"metrics","x":162.0,"y":260.0,"alias":"recruitment","conditionGroup":{"operator":"AND","conditions":[{"column":{"schema":"metrics","table":"recruitment","entity":"recruitment","name":"schema"},"operation":"EQUAL","typeCode":"CONST","values":["\"Ministry\""]}],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"},"1":{"tableName":"solutions","schemaName":"deregistration","x":383.0,"y":166.0,"alias":"solutions","conditionGroup":{"operator":"AND","conditions":[{"column":{"schema":"deregistration","table":"solutions","entity":"solutions","name":"info_source"},"operation":"EQUAL","typeCode":"CONST","values":["\"GIR_VU\""]}],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"},"2":{"tableName":"view_solutions","schemaName":"deregistration","x":630.0,"y":198.0,"alias":"view_solutions","conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"}},"nodes":[{"tableName":"recruitment","schemaName":"metrics","x":162.0,"y":260.0,"alias":"recruitment","conditionGroup":{"operator":"AND","conditions":[{"column":{"schema":"metrics","table":"recruitment","entity":"recruitment","name":"schema"},"operation":"EQUAL","typeCode":"CONST","values":["\"Ministry\""]}],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"},{"tableName":"solutions","schemaName":"deregistration","x":383.0,"y":166.0,"alias":"solutions","conditionGroup":{"operator":"AND","conditions":[{"column":{"schema":"deregistration","table":"solutions","entity":"solutions","name":"info_source"},"operation":"EQUAL","typeCode":"CONST","values":["\"GIR_VU\""]}],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"},{"tableName":"view_solutions","schemaName":"deregistration","x":630.0,"y":198.0,"alias":"view_solutions","conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"}],"nodeByEntityName":{"recruitment":{"tableName":"recruitment","schemaName":"metrics","x":162.0,"y":260.0,"alias":"recruitment","conditionGroup":{"operator":"AND","conditions":[{"column":{"schema":"metrics","table":"recruitment","entity":"recruitment","name":"schema"},"operation":"EQUAL","typeCode":"CONST","values":["\"Ministry\""]}],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"},"solutions":{"tableName":"solutions","schemaName":"deregistration","x":383.0,"y":166.0,"alias":"solutions","conditionGroup":{"operator":"AND","conditions":[{"column":{"schema":"deregistration","table":"solutions","entity":"solutions","name":"info_source"},"operation":"EQUAL","typeCode":"CONST","values":["\"GIR_VU\""]}],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"},"view_solutions":{"tableName":"view_solutions","schemaName":"deregistration","x":630.0,"y":198.0,"alias":"view_solutions","conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"}},"matrix":[[null,null,null],[{"refOnEntityName":"solutions","refToEntityName":"recruitment","refToColumns":[{"schema":"metrics","table":"recruitment","entity":"recruitment","name":"idm_id"}],"refOnColumns":[{"schema":"deregistration","table":"solutions","entity":"solutions","name":"recruitment_id"}],"required":false,"cyclic":false,"conditionGroup":{"operator":"AND","conditions":[],"groups":[]}},null,null],[null,{"refOnEntityName":"view_solutions","refToEntityName":"solutions","refToColumns":[{"schema":"deregistration","table":"solutions","entity":"solutions","name":"solutions_id"}],"refOnColumns":[{"schema":"deregistration","table":"view_solutions","entity":"view_solutions","name":"solutions_id"}],"required":false,"cyclic":false,"conditionGroup":{"operator":"AND","conditions":[],"groups":[]}},null]],"mainNodeIndex":1} - - - - -DefaultLoadDao -database.dao - - - - - - ProjectDefaultValueLoaderServiceImpl - service.loading - - - - - - - true - - - true - - - eventRefs - - - - - -behavior - - {"objectId":"bdc2c41b-2309-473b-8baf-9021654b2d63","packageName":"component.field","className":"DropdownTreeViewComponent","type":"TS"} - - - -propertyName - - "valueChangeEvent" - - - - - - - - - -behavior - - {"objectId":"7a6667cb-c585-4de9-a62f-54a77b1246c2","packageName":"custom","className":"ContainerLoader","type":"TS"} - - - -propertyName - - "beforeStart" - - - - - - - - - loadParams - - - - - -objectValue - - - - argument - - null - - - - behavior - - {"objectId":"bdc2c41b-2309-473b-8baf-9021654b2d63","packageName":"component.field","className":"DropdownTreeViewComponent","type":"TS"} - - - - method - - "getBusinessId" - - - - - - - - - - - - - - true - - - containerValueLoaderService - - - - loadDao - - - - graph - - {"conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"nodeByIndex":{"0":{"tableName":"recruitment","schemaName":"metrics","x":73.0,"y":179.0,"alias":"recruitment","conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"},"1":{"tableName":"solutions","schemaName":"deregistration","x":347.0,"y":107.0,"alias":"solutions","conditionGroup":{"operator":"AND","conditions":[{"column":{"schema":"deregistration","table":"solutions","entity":"solutions","name":"info_source"},"operation":"EQUAL","typeCode":"CONST","values":["\"GIR_VU\""]}],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"},"2":{"tableName":"view_solutions","schemaName":"deregistration","x":565.0,"y":181.0,"alias":"view_solutions","conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"}},"nodes":[{"tableName":"recruitment","schemaName":"metrics","x":73.0,"y":179.0,"alias":"recruitment","conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"},{"tableName":"solutions","schemaName":"deregistration","x":347.0,"y":107.0,"alias":"solutions","conditionGroup":{"operator":"AND","conditions":[{"column":{"schema":"deregistration","table":"solutions","entity":"solutions","name":"info_source"},"operation":"EQUAL","typeCode":"CONST","values":["\"GIR_VU\""]}],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"},{"tableName":"view_solutions","schemaName":"deregistration","x":565.0,"y":181.0,"alias":"view_solutions","conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"}],"nodeByEntityName":{"recruitment":{"tableName":"recruitment","schemaName":"metrics","x":73.0,"y":179.0,"alias":"recruitment","conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"},"solutions":{"tableName":"solutions","schemaName":"deregistration","x":347.0,"y":107.0,"alias":"solutions","conditionGroup":{"operator":"AND","conditions":[{"column":{"schema":"deregistration","table":"solutions","entity":"solutions","name":"info_source"},"operation":"EQUAL","typeCode":"CONST","values":["\"GIR_VU\""]}],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"},"view_solutions":{"tableName":"view_solutions","schemaName":"deregistration","x":565.0,"y":181.0,"alias":"view_solutions","conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"}},"matrix":[[null,null,null],[{"refOnEntityName":"solutions","refToEntityName":"recruitment","refToColumns":[{"schema":"metrics","table":"recruitment","entity":"recruitment","name":"idm_id"}],"refOnColumns":[{"schema":"deregistration","table":"solutions","entity":"solutions","name":"recruitment_id"}],"required":false,"cyclic":false,"conditionGroup":{"operator":"AND","conditions":[],"groups":[]}},null,null],[null,{"refOnEntityName":"view_solutions","refToEntityName":"solutions","refToColumns":[{"schema":"deregistration","table":"solutions","entity":"solutions","name":"solutions_id"}],"refOnColumns":[{"schema":"deregistration","table":"view_solutions","entity":"view_solutions","name":"solutions_id"}],"required":false,"cyclic":false,"conditionGroup":{"operator":"AND","conditions":[],"groups":[]}},null]],"mainNodeIndex":1} - - - - -DefaultLoadDao -database.dao - - - - - replacePkColumn - - {"schema":"metrics","table":"recruitment","entity":"recruitment","name":"idm_id"} - - - - - ContainerByPkValueLoaderServiceImpl - service.loading - - - - - - - ba24d307-0b91-4299-ba82-9d0b52384ff2 - 4b7d8d38-ef08-4032-9c1f-94f1eab88b57 - Сформированные решения о снятии с ВУ - false - false - - - - cssClasses - - - - "section-header" - - - - - - initialValue - - "Сформированные решения о снятии с ВУ" - - - - label - - null - - - - - - - - - false - - - - d7d54cfb-26b5-4dba-b56f-b6247183c24d - 4cecc152-f9bc-4594-aade-5517376b758b - ГК График и показатели - true - false - - - - - - - 9d1b5af1-0b8f-4b1b-b9a5-c2e6acf72d91 - 8be6bab8-70c6-4f0f-b71b-3d6195cbb04d - ВК График - true - false - - - - cssClasses - - - -"graph-row-left" - - - - - - style - - - -width - - null - - - - - - - - - - - - - ba24d307-0b91-4299-ba82-9d0b52384ff2 - 2b2c97f9-eb9a-46bc-a252-4d5d0efea967 - Пустое поле - false - true - - - 85eb12aa-f878-4e29-b109-9d31af0fefb4 - 3d5e7119-6b40-4cf5-9333-54912e1127cc - График 1 - true - false - - false - false - - - indexAxis - - "y" - - - - legend - - - - align - - "CENTER" - - - - color - - "#E6E699FF" - - - - position - - "LEFT" - - - - - - - style - - - - height - - "250px" - - - - - - - - - - - chartService - - - - chartType - - "BAR" - - - - dataSetServices - - - - - - datasetType - - "STATIC" - - - - loadDao - - - - graph - - {"conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"nodeByIndex":{"0":{"tableName":"recruitment","schemaName":"metrics","x":35.0,"y":163.0,"alias":"recruitment","conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"},"1":{"tableName":"solutions","schemaName":"deregistration","x":180.0,"y":61.0,"alias":"solutions","conditionGroup":{"operator":"AND","conditions":[{"column":{"schema":"deregistration","table":"solutions","entity":"solutions","name":"info_source"},"operation":"EQUAL","typeCode":"CONST","values":["\"GIR_VU\""]}],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"},"2":{"tableName":"view_solutions","schemaName":"deregistration","x":430.0,"y":185.0,"alias":"view_solutions","conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"}},"nodes":[{"tableName":"recruitment","schemaName":"metrics","x":35.0,"y":163.0,"alias":"recruitment","conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"},{"tableName":"solutions","schemaName":"deregistration","x":180.0,"y":61.0,"alias":"solutions","conditionGroup":{"operator":"AND","conditions":[{"column":{"schema":"deregistration","table":"solutions","entity":"solutions","name":"info_source"},"operation":"EQUAL","typeCode":"CONST","values":["\"GIR_VU\""]}],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"},{"tableName":"view_solutions","schemaName":"deregistration","x":430.0,"y":185.0,"alias":"view_solutions","conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"}],"nodeByEntityName":{"recruitment":{"tableName":"recruitment","schemaName":"metrics","x":35.0,"y":163.0,"alias":"recruitment","conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"},"solutions":{"tableName":"solutions","schemaName":"deregistration","x":180.0,"y":61.0,"alias":"solutions","conditionGroup":{"operator":"AND","conditions":[{"column":{"schema":"deregistration","table":"solutions","entity":"solutions","name":"info_source"},"operation":"EQUAL","typeCode":"CONST","values":["\"GIR_VU\""]}],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"},"view_solutions":{"tableName":"view_solutions","schemaName":"deregistration","x":430.0,"y":185.0,"alias":"view_solutions","conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"}},"matrix":[[null,null,null],[{"refOnEntityName":"solutions","refToEntityName":"recruitment","refToColumns":[{"schema":"metrics","table":"recruitment","entity":"recruitment","name":"idm_id"}],"refOnColumns":[{"schema":"deregistration","table":"solutions","entity":"solutions","name":"recruitment_id"}],"required":false,"cyclic":false,"conditionGroup":{"operator":"AND","conditions":[],"groups":[]}},null,null],[null,{"refOnEntityName":"view_solutions","refToEntityName":"solutions","refToColumns":[{"schema":"deregistration","table":"solutions","entity":"solutions","name":"solutions_id"}],"refOnColumns":[{"schema":"deregistration","table":"view_solutions","entity":"view_solutions","name":"solutions_id"}],"required":false,"cyclic":false,"conditionGroup":{"operator":"AND","conditions":[],"groups":[]}},null]],"mainNodeIndex":1} - - - - -DefaultLoadDao -database.dao - - - - - staticDataSet - - - - staticData - - - - - - - - - - backgroundColor - - "#E9DECDFF" - - - - chartType - - "BAR" - - - - dataColumn - - {"schema":"deregistration","table":"solutions","entity":"solutions","name":"count_accepted_for_sign"} - - - - dataLabel - - "Доступно для подписания" - - - - labelColumn - - {"schema":"deregistration","table":"solutions","entity":"solutions","name":"count_accepted_for_sign"} - - - - stack - - "Доступно для подписания" - - - - - - - - - - backgroundColor - - "#E9DECDFF" - - - - chartType - - "BAR" - - - - dataColumn - - {"schema":"deregistration","table":"solutions","entity":"solutions","name":"count_accepted_signed"} - - - - dataLabel - - "Подписано" - - - - labelColumn - - {"schema":"deregistration","table":"solutions","entity":"solutions","name":"count_accepted_signed"} - - - - stack - - "Подписано" - - - - - - - - - - backgroundColor - - "#E9DECDFF" - - - - chartType - - "BAR" - - - - dataColumn - - {"schema":"deregistration","table":"solutions","entity":"solutions","name":"count_refused"} - - - - dataLabel - - "Отклонено" - - - - labelColumn - - {"schema":"deregistration","table":"solutions","entity":"solutions","name":"count_refused"} - - - - stack - - "Отклонено" - - - - - - - - - - backgroundColor - - "#F2F2F2FF" - - - - chartType - - "BAR" - - - - dataColumn - - {"schema":"deregistration","table":"view_solutions","entity":"view_solutions","name":"count_accepted_all"} - - - - dataLabel - - " " - - - - labelColumn - - {"schema":"deregistration","table":"view_solutions","entity":"view_solutions","name":"count_accepted_all"} - - - - stack - - "100%" - - - - - - - - - - - - - ErvuMultiChartDataSetService - ervu_business_metrics.component.chart - - - - - - - - - - - - - ErvuChartV2 - ervu_business_metrics.component.chart - - true - - - bars - - - - barPositions - - - - barStackIndexes - - - - - - barStack - - "Доступно для подписания" - - - - index - - 85.0 - - - - - - - - - - barStack - - "Подписано" - - - - index - - 43.0 - - - - - - - - - - barStack - - "Отклонено" - - - - index - - 1.0 - - - - - - - - - barThickness - - 20.0 - - - - max - - 132.0 - - - - min - - 0.0 - - - - - - - shadowBar - - "100%" - - - - x - - - - grid - - - - display - -false - - - - drawBorder - -false - - - - - - - stacked - - false - - - - ticks - - - - display - -false - - - - - - - - - - y - - - - grid - - - - display - -false - - - - drawBorder - -false - - - - - - - ticks - - - - display - -false - - - - - - - - - - - - - indexAxis - - "y" - - - - legend - - - - display - - false - - - - - - - loadOnStart - - true - - - - options - - - - borderRadiusNumber - - 50.0 - - - - - - - style - - - - height - - "140px" - - - - margin - - "4px 0px 0px 0px" - - - - - - - visible - - true - - - - - - - FilterGroupDelegate - ervu_business_metrics.component.filter - - true - true - - - filterComponents - - - - {"objectId":"bdc2c41b-2309-473b-8baf-9021654b2d63","packageName":"component.filter","className":"FilterComponent","type":"TS"} - - - - - - liveFilter - - true - - - - triggerOnStart - - true - - - - - - - FilterReferences - ervu_business_metrics.component.filter - - true - true - - - references - - - - - - column - - "idm_id" - - - - dataConverter - - - - - - filterComponent - - {"objectId":"bdc2c41b-2309-473b-8baf-9021654b2d63","packageName":"component.rpc","className":"TreeItemRpcService","type":"JAVA"} - - - - table - - "recruitment" - - - - - StaticFilterReference - ervu_business_metrics.component.filter - - - - - - - - - - - d7d54cfb-26b5-4dba-b56f-b6247183c24d - 925dfe5f-6c16-4f0c-bc36-18c625532703 - Горизонтальный контейнер - true - true - - - 9d1b5af1-0b8f-4b1b-b9a5-c2e6acf72d91 - 62ba0893-2ccd-4bff-97d8-6d72455e64dd - Вертикальный контейнер - true - false - - - - cssClasses - - - -"graph-legend-right" - - - - - - - - - - - - d7d54cfb-26b5-4dba-b56f-b6247183c24d - 4ed2c477-8634-445b-b7cb-e6850cf42263 - Горизонтальный контейнер - true - false - - - - cssClasses - - - - "subhead" - - - - - - - - - - - + ba24d307-0b91-4299-ba82-9d0b52384ff2 - 570ce91a-5cdc-4317-9fc2-e1c8b548d87d - Value + 6a43877e-033f-437f-8305-9503c01bce42 + 29 100 false false + + cssClasses + + + + "pull-right" + + + + + + initialValue + +null + + textFormatter @@ -12407,7 +12965,7 @@ replaceModels - + @@ -12436,7 +12994,7 @@ defaultValueColumn -{"schema":"deregistration","table":"view_solutions","entity":"view_solutions","name":"count_accepted_all"} +{"schema":"deregistration","table":"solutions","entity":"solutions","name":"count_accepted_signed"} @@ -12458,7 +13016,7 @@ valueByEventColumn -{"schema":"deregistration","table":"view_solutions","entity":"view_solutions","name":"count_accepted_all"} +{"schema":"deregistration","table":"solutions","entity":"solutions","name":"count_accepted_signed"} @@ -12467,65 +13025,102 @@ false - - 9d1b5af1-0b8f-4b1b-b9a5-c2e6acf72d91 - 882885e8-ee2e-4361-b7ee-404a0d6ed36f - Вертикальный контейнер - true + + ba24d307-0b91-4299-ba82-9d0b52384ff2 + 03476b99-2f11-47aa-89b2-544c29361dc7 + 100 + false false - + cssClasses - + - "text-invert" + "pull-right" + + initialValue + +null + + + + textFormatter + + + + replaceModels + + + + + + value + +"0" + + + + + + + + + + ReplaceValueTextFormatter + ervu_business_metrics.formatter + + + - - - - - - ba24d307-0b91-4299-ba82-9d0b52384ff2 - 408bdd4f-3dcd-42fb-b7ac-a9fb8cefcf7c - Решений всего, в т.ч.: - false - false - - - -initialValue - - "Решений всего, в т.ч.:" - - - -tooltip - - "Решений всего, в т.ч.:" - - - - - - - - - false - - + + + + + defaultValueColumn + +{"schema":"deregistration","table":"solutions","entity":"solutions","name":"count_refused"} + + + + loadType + +"BY_COLUMN" + + + + + + + + loadType + +"BY_COLUMN" + + + + valueByEventColumn + +{"schema":"deregistration","table":"solutions","entity":"solutions","name":"count_refused"} + + + + + + false + - - d7d54cfb-26b5-4dba-b56f-b6247183c24d - 925dfe5f-6c16-4f0c-bc36-18c625532703 - Горизонтальный контейнер + + 9d1b5af1-0b8f-4b1b-b9a5-c2e6acf72d91 + 10905c2b-4cfe-40f5-a8fb-2e4e8d7de2d5 + ВК Показатели true false @@ -12533,813 +13128,204 @@ cssClasses - + + + "text-wrap" + + + + + + style + + + + width + + null + + + - - - - - - 9d1b5af1-0b8f-4b1b-b9a5-c2e6acf72d91 - fc010744-b222-4362-8290-68c00215ede1 - Vbox% + + + + + + d7d54cfb-26b5-4dba-b56f-b6247183c24d + 894d05ad-81b7-4a44-8bfc-0321b4da004f + ГК Показатель true - false - - - - - - - ba24d307-0b91-4299-ba82-9d0b52384ff2 - 763a18fa-f5c8-4fdc-a83a-271818c77f1d - 94% - false - false - - - -cssClasses - - - - "text-invert" - - - - - -initialValue - - null - - - -label - - "%" - - - -textFormatter - - - - replaceModels - - - - - -value - - "0" - - - - - - - - - - ReplaceValueTextFormatter - ervu_business_metrics.formatter - - - - - - - - - -defaultValueColumn - - {"schema":"deregistration","table":"view_solutions","entity":"view_solutions","name":"percent_accepted_for_sign"} - - - -loadType - - "BY_COLUMN" - - - - - - - -loadType - - "BY_COLUMN" - - - -valueByEventColumn - - {"schema":"deregistration","table":"view_solutions","entity":"view_solutions","name":"percent_accepted_for_sign"} - - - - - - false - - - - ba24d307-0b91-4299-ba82-9d0b52384ff2 - e7e40168-3def-41ae-af2c-b45330752f27 - 94% - false - false - - - -cssClasses - - - - "text-invert" - - - - - -initialValue - - null - - - -label - - "%" - - - -textFormatter - - - - replaceModels - - - - - -value - - "0" - - - - - - - - - - ReplaceValueTextFormatter - ervu_business_metrics.formatter - - - - - - - - - -defaultValueColumn - - {"schema":"deregistration","table":"view_solutions","entity":"view_solutions","name":"percent_accepted_signed"} - - - -loadType - - "BY_COLUMN" - - - - - - - -loadType - - "BY_COLUMN" - - - -valueByEventColumn - - {"schema":"deregistration","table":"view_solutions","entity":"view_solutions","name":"percent_accepted_signed"} - - - - - - false - - - - ba24d307-0b91-4299-ba82-9d0b52384ff2 - a196481e-3204-4fdd-89bb-0759df4c631c - 1% - false - false - - - -cssClasses - - - - "text-invert" - - - - - -initialValue - - null - - - -label - - "%" - - - -textFormatter - - - - replaceModels - - - - - -value - - "0" - - - - - - - - - - ReplaceValueTextFormatter - ervu_business_metrics.formatter - - - - - - - - - -defaultValueColumn - - {"schema":"deregistration","table":"view_solutions","entity":"view_solutions","name":"percent_refused"} - - - -loadType - - "BY_COLUMN" - - - - - - - -loadType - - "BY_COLUMN" - - - -valueByEventColumn - - {"schema":"deregistration","table":"view_solutions","entity":"view_solutions","name":"percent_refused"} - - - - - - false - - + true - - 9d1b5af1-0b8f-4b1b-b9a5-c2e6acf72d91 - 2e61ebcb-74af-427c-a7d2-77e7c16b01bd - VboxValue + + d7d54cfb-26b5-4dba-b56f-b6247183c24d + 8b8ebbac-c446-46cf-b03d-0c7e5e684e9c + ГК Показатель true - false - - - - - - - ba24d307-0b91-4299-ba82-9d0b52384ff2 - 71ca6778-9fd8-484d-a8d6-01acf0ec77eb - 29 200 - false - false - - - -cssClasses - - - - "pull-right" - - - - - -initialValue - - null - - - -textFormatter - - - - replaceModels - - - - - -value - - "0" - - - - - - - - - - ReplaceValueTextFormatter - ervu_business_metrics.formatter - - - - - - - - - -defaultValueColumn - - {"schema":"deregistration","table":"solutions","entity":"solutions","name":"count_accepted_for_sign"} - - - -loadType - - "BY_COLUMN" - - - - - - - -loadType - - "BY_COLUMN" - - - -valueByEventColumn - - {"schema":"deregistration","table":"solutions","entity":"solutions","name":"count_accepted_for_sign"} - - - - - - false - - - - ba24d307-0b91-4299-ba82-9d0b52384ff2 - 6a43877e-033f-437f-8305-9503c01bce42 - 29 100 - false - false - - - -cssClasses - - - - "pull-right" - - - - - -initialValue - - null - - - -textFormatter - - - - replaceModels - - - - - -value - - "0" - - - - - - - - - - ReplaceValueTextFormatter - ervu_business_metrics.formatter - - - - - - - - - -defaultValueColumn - - {"schema":"deregistration","table":"solutions","entity":"solutions","name":"count_accepted_signed"} - - - -loadType - - "BY_COLUMN" - - - - - - - -loadType - - "BY_COLUMN" - - - -valueByEventColumn - - {"schema":"deregistration","table":"solutions","entity":"solutions","name":"count_accepted_signed"} - - - - - - false - - - - ba24d307-0b91-4299-ba82-9d0b52384ff2 - 03476b99-2f11-47aa-89b2-544c29361dc7 - 100 - false - false - - - -cssClasses - - - - "pull-right" - - - - - -initialValue - - null - - - -textFormatter - - - - replaceModels - - - - - -value - - "0" - - - - - - - - - - ReplaceValueTextFormatter - ervu_business_metrics.formatter - - - - - - - - - -defaultValueColumn - - {"schema":"deregistration","table":"solutions","entity":"solutions","name":"count_refused"} - - - -loadType - - "BY_COLUMN" - - - - - - - -loadType - - "BY_COLUMN" - - - -valueByEventColumn - - {"schema":"deregistration","table":"solutions","entity":"solutions","name":"count_refused"} - - - - - - false - - + true - - 9d1b5af1-0b8f-4b1b-b9a5-c2e6acf72d91 - 10905c2b-4cfe-40f5-a8fb-2e4e8d7de2d5 - ВК Показатели + + d7d54cfb-26b5-4dba-b56f-b6247183c24d + b8014bbe-c550-490b-a726-5dd48ffdee2f + ГК Показатель true + true + + + d7d54cfb-26b5-4dba-b56f-b6247183c24d + 7d6eac69-3ec6-4a63-a67c-3b48e6920499 + ГК Показатель + true + true + + + d7d54cfb-26b5-4dba-b56f-b6247183c24d + dba796f5-ccc7-4e03-b544-b918c3c25516 + Горизонтальный контейнер + true + true + + + d7d54cfb-26b5-4dba-b56f-b6247183c24d + 64a78c3b-206d-42de-bd28-39c59cd63414 + Горизонтальный контейнер + true + true + + + d7d54cfb-26b5-4dba-b56f-b6247183c24d + 4f13a0dc-bc1b-4b8f-909e-e0cb1808178e + Горизонтальный контейнер + true + true + + + ba24d307-0b91-4299-ba82-9d0b52384ff2 + aeec8084-0dc6-44a6-9e53-3ee771f1765c + Доступно для подписания + false false - + - cssClasses + initialValue - - - "text-wrap" - - +"Доступно для подписания" - style + label - - - width - - null - - - +null + + + + tooltip + +"Доступно для подписания" - - - - - - d7d54cfb-26b5-4dba-b56f-b6247183c24d - 894d05ad-81b7-4a44-8bfc-0321b4da004f - ГК Показатель - true - true - - - d7d54cfb-26b5-4dba-b56f-b6247183c24d - 8b8ebbac-c446-46cf-b03d-0c7e5e684e9c - ГК Показатель - true - true - - - d7d54cfb-26b5-4dba-b56f-b6247183c24d - b8014bbe-c550-490b-a726-5dd48ffdee2f - ГК Показатель - true - true - - - d7d54cfb-26b5-4dba-b56f-b6247183c24d - 7d6eac69-3ec6-4a63-a67c-3b48e6920499 - ГК Показатель - true - true - - - d7d54cfb-26b5-4dba-b56f-b6247183c24d - dba796f5-ccc7-4e03-b544-b918c3c25516 - Горизонтальный контейнер - true - true - - - d7d54cfb-26b5-4dba-b56f-b6247183c24d - 64a78c3b-206d-42de-bd28-39c59cd63414 - Горизонтальный контейнер - true - true - - - d7d54cfb-26b5-4dba-b56f-b6247183c24d - 4f13a0dc-bc1b-4b8f-909e-e0cb1808178e - Горизонтальный контейнер - true - true - - - ba24d307-0b91-4299-ba82-9d0b52384ff2 - aeec8084-0dc6-44a6-9e53-3ee771f1765c - Доступно для подписания - false - false - - - -initialValue - - "Доступно для подписания" - - - -label - - null - - - -tooltip - - "Доступно для подписания" - - - - - - - - - false - - - - ba24d307-0b91-4299-ba82-9d0b52384ff2 - f165ea60-c48b-4595-a71a-f545ce7d2b06 - Подписано - false - false - false - - - -initialValue - - "Подписано" - - - -label - - null - - - -tooltip - - "Подписано" - - - - - - - - - false - - - - ba24d307-0b91-4299-ba82-9d0b52384ff2 - c4014b3e-f555-4466-bbb9-ccf186bdcdb7 - Отклонено - false - false - - - -initialValue - - "Отклонено" - - - -label - - null - - - -tooltip - - "Отклонено" - - - - - - - - - false - - + + + + + false + + + + ba24d307-0b91-4299-ba82-9d0b52384ff2 + f165ea60-c48b-4595-a71a-f545ce7d2b06 + Подписано + false + false + false + + + + initialValue + +"Подписано" + + + + label + +null + + + + tooltip + +"Подписано" + + + + + + + + + false + + + + ba24d307-0b91-4299-ba82-9d0b52384ff2 + c4014b3e-f555-4466-bbb9-ccf186bdcdb7 + Отклонено + false + false + + + + initialValue + +"Отклонено" + + + + label + +null + + + + tooltip + +"Отклонено" + + + + + + + + + false + - - 85eb12aa-f878-4e29-b109-9d31af0fefb4 - 2085d57f-b865-4c68-a834-409a89052c88 - График 3 - true - true - - - 85eb12aa-f878-4e29-b109-9d31af0fefb4 - 4f9559d6-cfc3-4812-b29f-e1684f79b389 - График 5 - true - true - + + +85eb12aa-f878-4e29-b109-9d31af0fefb4 +2085d57f-b865-4c68-a834-409a89052c88 +График 3 +true +true + + +85eb12aa-f878-4e29-b109-9d31af0fefb4 +4f9559d6-cfc3-4812-b29f-e1684f79b389 +График 5 +true +true @@ -13349,7 +13335,6 @@ f76d2719-8f7b-4beb-92e6-76f67c0ed98b ВК ЕПГУ true - false false @@ -13361,7 +13346,6 @@ 92405751-8a4d-40af-9fad-f67df705f860 ГК Первый ряд true - false false @@ -27021,7 +27005,6 @@ 952023b4-fcb0-4c95-b164-5612c2b7a6dd ГК Первый ряд true - false false @@ -32785,6 +32768,7 @@ 2d870d73-aaa0-4d59-988c-197b7ad2e482 ВК Ручное снятие true + false false diff --git a/resources/src/main/resources/business-model/ervu-business-metrics/updating.page b/resources/src/main/resources/business-model/ervu-business-metrics/updating.page index 212825c..3dca4ed 100644 --- a/resources/src/main/resources/business-model/ervu-business-metrics/updating.page +++ b/resources/src/main/resources/business-model/ervu-business-metrics/updating.page @@ -9953,6 +9953,7 @@ 43f837aa-1141-4bd6-b4d4-ef62295bd2ba ВК ЕПГУ true + false false @@ -15856,6 +15857,7 @@ cf105548-2385-49cb-8951-faab404492d7 ГК Второй ряд true + false false @@ -20867,7 +20869,6 @@ 0a26670a-d865-4e81-8f01-30dedfa06629 ГК Первый ряд true - false false @@ -20892,6 +20893,7 @@ 08c9fc47-4f2e-428e-adf8-eb30f0d8b91d ВК записей граждан отредактировано true + false false @@ -21232,6 +21234,16 @@ "block-section" + + + "block-colored" + + + + + "colored-green" + + @@ -21411,30 +21423,122 @@ 17dd07b0-84b2-4222-82bd-d7c55333c4bb Инциденты false + true + + + d7d54cfb-26b5-4dba-b56f-b6247183c24d + 12691ab9-6ade-474d-943e-a283c148d81c + ГК График и показатели + true + true + + + ba24d307-0b91-4299-ba82-9d0b52384ff2 + 662d17ac-eae3-4ba1-93b3-904a268bf65e + 1 + false false cssClasses - + - "section-header" + "title" - initialValue - "Инциденты" + null - label + textFormatter - null + + + replaceModels + + + + + + value + + "0" + + + + + + + + + + ReplaceValueTextFormatter + ervu_business_metrics.formatter + + + + + + + + + + defaultValueColumn + + {"schema":"actualization","table":"incidents_info","entity":"incidents_info","name":"count_without_id_ern"} + + + + loadType + + "BY_COLUMN" + + + + + + + + loadType + + "BY_COLUMN" + + + + valueByEventColumn + + {"schema":"actualization","table":"incidents_info","entity":"incidents_info","name":"count_without_id_ern"} + + + + + +false + + + + ba24d307-0b91-4299-ba82-9d0b52384ff2 + 4f0daa6f-60fa-48a0-aa8e-20e0b007a892 + Пустое поле + false + false + + + + cssClasses + + + + "graph-text-hidden" + + @@ -21446,1237 +21550,129 @@ false - - d7d54cfb-26b5-4dba-b56f-b6247183c24d - 12691ab9-6ade-474d-943e-a283c148d81c - ГК График и показатели - true + + ba24d307-0b91-4299-ba82-9d0b52384ff2 + cdb89213-59ee-416d-a878-c80f85251db5 + Пустое поле + false false - - - - - - -9d1b5af1-0b8f-4b1b-b9a5-c2e6acf72d91 -ce72894e-f23d-4836-8d12-f59048a2e280 -ВК График -true -false - - - - style - - - - width - - null - - - - - - - - - - - - - 85eb12aa-f878-4e29-b109-9d31af0fefb4 - 864e2360-7980-40ca-9db3-1f447e211997 - График бублик 3 - true - false - - false - false - - - - - chartService + + + + cssClasses + + - - - chartType - -"DOUGHNUT" - - - - dataSetService - - - - centerLabelConfigurations - - - - - - aggregationFunction - -"SUM" - - - - font - - - - family - - "GolosUI" - - - - size - - 25 - - - - weight - - "550" - - - - - - - loadDao - - - - graph - - {"conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"nodeByIndex":{"0":{"tableName":"incidents_info","schemaName":"actualization","x":353.0,"y":159.0,"alias":"incidents_info","conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"},"1":{"tableName":"view_incidents_info","schemaName":"actualization","x":552.0,"y":173.0,"alias":"view_incidents_info","conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"},"2":{"tableName":"recruitment","schemaName":"metrics","x":126.0,"y":209.0,"alias":"recruitment","conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"}},"nodes":[{"tableName":"incidents_info","schemaName":"actualization","x":353.0,"y":159.0,"alias":"incidents_info","conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"},{"tableName":"view_incidents_info","schemaName":"actualization","x":552.0,"y":173.0,"alias":"view_incidents_info","conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"},{"tableName":"recruitment","schemaName":"metrics","x":126.0,"y":209.0,"alias":"recruitment","conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"}],"nodeByEntityName":{"recruitment":{"tableName":"recruitment","schemaName":"metrics","x":126.0,"y":209.0,"alias":"recruitment","conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"},"view_incidents_info":{"tableName":"view_incidents_info","schemaName":"actualization","x":552.0,"y":173.0,"alias":"view_incidents_info","conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"},"incidents_info":{"tableName":"incidents_info","schemaName":"actualization","x":353.0,"y":159.0,"alias":"incidents_info","conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"}},"matrix":[[null,null,{"refOnEntityName":"incidents_info","refToEntityName":"recruitment","refToColumns":[{"schema":"metrics","table":"recruitment","entity":"recruitment","name":"idm_id"}],"refOnColumns":[{"schema":"actualization","table":"incidents_info","entity":"incidents_info","name":"recruitment_id"}],"required":false,"cyclic":false,"conditionGroup":{"operator":"AND","conditions":[],"groups":[]}}],[{"refOnEntityName":"view_incidents_info","refToEntityName":"incidents_info","refToColumns":[{"schema":"actualization","table":"incidents_info","entity":"incidents_info","name":"incidents_info_id"}],"refOnColumns":[{"schema":"actualization","table":"view_incidents_info","entity":"view_incidents_info","name":"incidents_info_id"}],"required":false,"cyclic":false,"conditionGroup":{"operator":"AND","conditions":[],"groups":[]}},null,null],[null,null,null]],"mainNodeIndex":0} - - - - - DefaultLoadDao - database.dao - - - - - valueColumn - -{"schema":"actualization","table":"view_incidents_info","entity":"view_incidents_info","name":"count_all"} - - - - - DefaultRoundLabelConfiguration - ervu_business_metrics.component.chart.label - + "graph-text-hidden" - + + + + + + +false + + + + ba24d307-0b91-4299-ba82-9d0b52384ff2 + cf5ad411-6a12-416c-8cea-c4ca9c09c827 + Пустое поле + false + false + + - dataSetConfigurations + cssClasses - + - - - columnAggregationDataSet - - - - aggregationData - - - - - - aggregationColumn - -{"schema":"actualization","table":"incidents_info","entity":"incidents_info","name":"count_without_id_ern"} - - - - aggregationFunction - -"SUM" - - - - backgroundColor - -"#96B9ADFF" - - - - label - -"По отсутсвию ИД ЕРН" - - - + "graph-text-hidden" - - - - - aggregationColumn - -{"schema":"actualization","table":"incidents_info","entity":"incidents_info","name":"count_discrepancy_epgu_info"} - - - - aggregationFunction - -"SUM" - - - - backgroundColor - -"#A1C2E0FF" - - - - label - -"По отсутствию СНИЛС" - - - - - - - - + + + + + + + + +false + + + + ba24d307-0b91-4299-ba82-9d0b52384ff2 + f49a5633-c990-459d-9104-eca697e49fa2 + Инцидентов по несоответствию + false + false + + + + cssClasses + + - dataLabel + initialValue - "Инцидентов сформировано в т.ч.:" + "Инцидентов по несоответствию" - - - - - cutout - -"80%" - - - - datasetType - -"COLUMN_AGGREGATION" - - - - loadDao - - - graph + tooltip - {"conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"nodeByIndex":{"0":{"tableName":"recruitment","schemaName":"metrics","x":158.0,"y":176.0,"alias":"recruitment","conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"},"1":{"tableName":"incidents_info","schemaName":"actualization","x":411.0,"y":123.0,"alias":"incidents_info","conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"}},"nodes":[{"tableName":"recruitment","schemaName":"metrics","x":158.0,"y":176.0,"alias":"recruitment","conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"},{"tableName":"incidents_info","schemaName":"actualization","x":411.0,"y":123.0,"alias":"incidents_info","conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"}],"nodeByEntityName":{"recruitment":{"tableName":"recruitment","schemaName":"metrics","x":158.0,"y":176.0,"alias":"recruitment","conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"},"incidents_info":{"tableName":"incidents_info","schemaName":"actualization","x":411.0,"y":123.0,"alias":"incidents_info","conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"}},"matrix":[[null,null],[{"refOnEntityName":"incidents_info","refToEntityName":"recruitment","refToColumns":[{"schema":"metrics","table":"recruitment","entity":"recruitment","name":"idm_id"}],"refOnColumns":[{"schema":"actualization","table":"incidents_info","entity":"incidents_info","name":"recruitment_id"}],"required":false,"cyclic":false,"conditionGroup":{"operator":"AND","conditions":[],"groups":[]}},null]],"mainNodeIndex":1} + "Инцидентов по несоответствию сведений ЕРВУ и ручному вводу" - - - DefaultLoadDao - database.dao - - - - - radius - -"80%" - - - - - - - + + + + + + +false + + + + ba24d307-0b91-4299-ba82-9d0b52384ff2 + 78e0b42f-c829-493c-9cc6-b885b389142b + сведений ЕРВУ и ручному вводу + false + false + + + + cssClasses + + - - - RoundSingleChartDataSetService - ervu_business_metrics.component.chart - - - - - - - - - - - ErvuChartV2 - ervu_business_metrics.component.chart - - true - - - cssClasses - - - - "graph-donut" - - - - - - legend - - - - display - -false - - - - - - - loadOnStart - - true - - - - - - - RoundArcCornersChartPlugin - ervu_business_metrics.component.chart.plugin - - true - true - - - - FilterReferences - ervu_business_metrics.component.filter - - true - true - - - references - - - - - - column - - "idm_id" - - - - dataConverter - - - - - - filterComponent - - {"objectId":"513939e4-6ebe-495e-b0cc-83f53650f9a8","packageName":"component.rpc","className":"TreeItemRpcService","type":"JAVA"} - - - - table - - "recruitment" - - - - -StaticFilterReference -ervu_business_metrics.component.filter - - - - - - - - - - FilterGroupDelegate - ervu_business_metrics.component.filter - - true - true - - - filterComponents - - - - {"objectId":"513939e4-6ebe-495e-b0cc-83f53650f9a8","packageName":"component.filter","className":"FilterComponent","type":"TS"} - - - - - - - liveFilter - - true - - - - triggerOnStart - - true - - - - - - - DoughnutCenterLabelsPlugin - ervu_business_metrics.component.chart.plugin - - true - true - - - formatters - - - - -NumberToLocalStringLabelFormatter -ervu_business_metrics.component.chart.plugin.formatters - - - - - - - - - - -d7d54cfb-26b5-4dba-b56f-b6247183c24d -d47db17e-40c3-4d94-ba65-846d21587629 -ГК Показатели -true -true - - -9d1b5af1-0b8f-4b1b-b9a5-c2e6acf72d91 -c25a2418-923d-4b8c-bd03-c2257485bba3 -Вертикальный контейнер -true -false - - - - cssClasses - - - - "graph-legend-right" - - - - - - - - - - - - d7d54cfb-26b5-4dba-b56f-b6247183c24d - 36507fba-3345-4f92-af2a-59e268052bb0 - Hbox - true - false - - - - cssClasses - - - - "subhead" - - - - - - - - - - - - ba24d307-0b91-4299-ba82-9d0b52384ff2 - 8ee14586-e042-484e-af7e-7fa06264cc70 - 5 000 - false - false - - - - initialValue - - null - - - - textFormatter - - - -replaceModels - - + + initialValue - - - value - - "0" - - - + "сведений ЕРВУ и ручному вводу" - - - - - - ReplaceValueTextFormatter - ervu_business_metrics.formatter - - - - - - - - - - defaultValueColumn - - {"schema":"actualization","table":"view_incidents_info","entity":"view_incidents_info","name":"count_all"} - - - - loadType - - "BY_COLUMN" - - - - - - - - loadType - - "BY_COLUMN" - - - - valueByEventColumn - - {"schema":"actualization","table":"view_incidents_info","entity":"view_incidents_info","name":"count_all"} - - - - - - false - - - - 9d1b5af1-0b8f-4b1b-b9a5-c2e6acf72d91 - 5e36b808-b25e-4332-9f0d-f918497a411e - Вертикальный контейнер - true - false - - - - cssClasses - - - -"text-wrap" - - - - - - - - - - - - ba24d307-0b91-4299-ba82-9d0b52384ff2 - 520fcc08-127e-4470-941d-07cd635a9c90 - Инцидентов сформировано в т.ч.: - false - false - - - - initialValue - - "Инцидентов сформировано в т.ч.:" - - - - label - - null - - - - tooltip - - "Инцидентов сформировано в т.ч.:" - - - - - - - - - false - - - - - - ba24d307-0b91-4299-ba82-9d0b52384ff2 - 5f0323ec-fc16-404d-a511-9670c44d2ba6 - Пустое поле - false - true - - - d7d54cfb-26b5-4dba-b56f-b6247183c24d - d47db17e-40c3-4d94-ba65-846d21587629 - ГК Показатели - true - false - - - - cssClasses - - - - - - - - - - - - 9d1b5af1-0b8f-4b1b-b9a5-c2e6acf72d91 - d0b4a6cc-5ebe-4656-aff1-16df6bd6d71f - Vbox% - true - false - - - - cssClasses - - - - - - - - - - - - ba24d307-0b91-4299-ba82-9d0b52384ff2 - 908a7027-c61b-495d-91da-152e7ee33833 - 60% - false - false - - - - cssClasses - - - - "legend-col-dk-green" - - - - - "text-invert" - - - - - - initialValue - - null - - - - label - - "%" - - - - textFormatter - - - - replaceModels - - - - - - value - - "0" - - - - - - - - - -ReplaceValueTextFormatter -ervu_business_metrics.formatter - - - - - - - - - - defaultValueColumn - - {"schema":"actualization","table":"view_incidents_info","entity":"view_incidents_info","name":"percent_without_id_ern"} - - - - loadType - - "BY_COLUMN" - - - - - - - - loadType - - "BY_COLUMN" - - - - valueByEventColumn - - {"schema":"actualization","table":"view_incidents_info","entity":"view_incidents_info","name":"percent_without_id_ern"} - - - - - - false - - - - ba24d307-0b91-4299-ba82-9d0b52384ff2 - d54b45a8-1f96-493f-baa5-14c9ebabcfb4 - 40% - false - false - - - - cssClasses - - - - "legend-col-blue" - - - - - "text-invert" - - - - - - initialValue - - null - - - - label - - "%" - - - - textFormatter - - - - replaceModels - - - - - - value - - "0" - - - - - - - - - -ReplaceValueTextFormatter -ervu_business_metrics.formatter - - - - - - - - - - defaultValueColumn - - {"schema":"actualization","table":"view_incidents_info","entity":"view_incidents_info","name":"percent_discrepancy_epgu_info"} - - - - loadType - - "BY_COLUMN" - - - - - - - - loadType - - "BY_COLUMN" - - - - valueByEventColumn - - {"schema":"actualization","table":"view_incidents_info","entity":"view_incidents_info","name":"percent_discrepancy_epgu_info"} - - - - - - false - - - - - 9d1b5af1-0b8f-4b1b-b9a5-c2e6acf72d91 - a4db3b2c-e23e-498a-ac93-1db4851c9def - VboxValue - true - false - - - - - - - ba24d307-0b91-4299-ba82-9d0b52384ff2 - 32f2ddab-c68f-4c5a-8287-1d9c5a12c4cf - 3 000 - false - false - false - - - - cssClasses - - - - "pull-right" - - - - - - initialValue - - null - - - - textFormatter - - - - replaceModels - - - - - - value - - "0" - - - - - - - - - -ReplaceValueTextFormatter -ervu_business_metrics.formatter - - - - - - - - - - defaultValueColumn - - {"schema":"actualization","table":"incidents_info","entity":"incidents_info","name":"count_without_id_ern"} - - - - loadType - - "BY_COLUMN" - - - - - - - - loadType - - "BY_COLUMN" - - - - valueByEventColumn - - {"schema":"actualization","table":"incidents_info","entity":"incidents_info","name":"count_without_id_ern"} - - - - - - false - - - - ba24d307-0b91-4299-ba82-9d0b52384ff2 - 4bb8cfda-99ac-4769-8e1b-81f2f3eadd58 - 2 000 - false - false - - - - cssClasses - - - - "pull-right" - - - - - - initialValue - - null - - - - textFormatter - - - - replaceModels - - - - - - value - - "0" - - - - - - - - - -ReplaceValueTextFormatter -ervu_business_metrics.formatter - - - - - - - - - - defaultValueColumn - - {"schema":"actualization","table":"incidents_info","entity":"incidents_info","name":"count_discrepancy_epgu_info"} - - - - loadType - - "BY_COLUMN" - - - - - - - - loadType - - "BY_COLUMN" - - - - valueByEventColumn - - {"schema":"actualization","table":"incidents_info","entity":"incidents_info","name":"count_discrepancy_epgu_info"} - - - - - - false - - - - - 9d1b5af1-0b8f-4b1b-b9a5-c2e6acf72d91 - 689b3724-d162-4457-a063-129b1ee128de - ВК Показатели - true - false - - - - cssClasses - - - -"text-wrap" - - - - - - style - - - -width - - null - - - - - - - - - - - - - d7d54cfb-26b5-4dba-b56f-b6247183c24d - 353c8295-e7cb-4713-a4c0-816353621163 - ГК Показатель - true - true - - - d7d54cfb-26b5-4dba-b56f-b6247183c24d - 65a471fb-4d43-43d7-8570-47e1f4592d3a - ГК Показатель - true - true - - - d7d54cfb-26b5-4dba-b56f-b6247183c24d - c6d57f88-d8b3-481f-9b35-63013122e570 - ГК Показатель - true - true - - - d7d54cfb-26b5-4dba-b56f-b6247183c24d - 44e782a2-7cc4-4214-b00e-dc9c8abf9ac9 - ГК Показатель - true - true - - - d7d54cfb-26b5-4dba-b56f-b6247183c24d - 3df26a50-cd5b-489c-8546-287f5b0c88b7 - Горизонтальный контейнер - true - true - - - d7d54cfb-26b5-4dba-b56f-b6247183c24d - 37b1edfa-6832-4a0d-9d37-dd02c5c626f8 - Горизонтальный контейнер - true - true - - - d7d54cfb-26b5-4dba-b56f-b6247183c24d - 623287c1-1433-4dc1-9942-dd5f6721c647 - Горизонтальный контейнер - true - true - - - ba24d307-0b91-4299-ba82-9d0b52384ff2 - 329fa33c-5af4-4ba9-97e5-ca218d92a3b5 - По отсутсвию ИД ЕРН - false - false - - - - initialValue - - "По отсутсвию ИД ЕРН" - - - - label - - null - - - - tooltip - - "По отсутсвию ИД ЕРН" - - - - - - - - - false - - - - ba24d307-0b91-4299-ba82-9d0b52384ff2 - 0dc1d714-c11a-4775-b0e0-b8c0b4b7af72 - По отсутствию СНИЛС - false - false - - - - initialValue - - "По отсутствию СНИЛС" - - - - label - - null - - - - tooltip - - "По отсутствию СНИЛС" - - - - - - - - - false - - - - - + + + tooltip + + "Инцидентов по несоответствию сведений ЕРВУ и ручному вводу" + + + + + + + + +false + fd7e47b9-dce1-4d14-9f3a-580c79f59579 @@ -22692,6 +21688,7 @@ 45cf2023-1dee-46de-8a23-5160ff54a4d8 ГК Второй ряд true + false false From 7430336f9cbd6eb75a171feeb8b4a89e03082ca8 Mon Sep 17 00:00:00 2001 From: "adel.ka" Date: Thu, 1 May 2025 16:30:07 +0300 Subject: [PATCH 28/40] SUPPORT-9122: fixes --- .../config/v_1.0/20250418-SUPPORT-9122_add_idm.xml | 10 +--------- 1 file changed, 1 insertion(+), 9 deletions(-) diff --git a/backend/src/main/resources/config/v_1.0/20250418-SUPPORT-9122_add_idm.xml b/backend/src/main/resources/config/v_1.0/20250418-SUPPORT-9122_add_idm.xml index 0ce201c..18731d0 100644 --- a/backend/src/main/resources/config/v_1.0/20250418-SUPPORT-9122_add_idm.xml +++ b/backend/src/main/resources/config/v_1.0/20250418-SUPPORT-9122_add_idm.xml @@ -109,11 +109,7 @@ fio varchar(255), work_mail varchar(255), esia_account boolean NOT NULL DEFAULT FALSE, - domain_id varchar(36), - - CONSTRAINT fk_domain FOREIGN KEY (domain_id) - REFERENCES idm_reconcile.domain (id) - ON DELETE SET NULL + domain_id varchar(36) ); ALTER TABLE idm_reconcile.account OWNER TO ervu_business_metrics; @@ -126,10 +122,6 @@ CONSTRAINT fk_account_role_account FOREIGN KEY (account_id) REFERENCES idm_reconcile.account (id) - ON DELETE CASCADE, - - CONSTRAINT fk_account_role_role FOREIGN KEY (role_id) - REFERENCES idm_reconcile.role (id) ON DELETE CASCADE ); From 7c6881cf9d16d1a9d2c7e394cfa765611fedd36f Mon Sep 17 00:00:00 2001 From: Foat Saliakhov Date: Mon, 5 May 2025 13:03:08 +0300 Subject: [PATCH 29/40] =?UTF-8?q?=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=BB?= =?UTF-8?q?=D0=B5=D0=BD=D0=B8=D0=B5=20=D1=84=D0=BE=D1=80=D0=BC=D0=B0=D1=82?= =?UTF-8?q?=D0=B5=D1=80=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...ing_criminal_administrative_liability.page | 42 +- .../ervu-business-metrics/administration.page | 610 +-- .../ervu-business-metrics/appeals.page | 189 +- .../ervu-business-metrics/conversion.page | 4 +- .../ervu-business-metrics/incidents.page | 633 +-- .../initial_registration.page | 4852 +---------------- ...ilitary_registration_changing_address.page | 2514 +-------- .../register_subpoenas.page | 1434 +---- .../register_subpoenas_subsystem.page | 2290 +------- .../removal_military_registration.page | 2940 +--------- .../ervu-business-metrics/updating.page | 2285 +------- 11 files changed, 929 insertions(+), 16864 deletions(-) diff --git a/resources/src/main/resources/business-model/ervu-business-metrics/accounting_criminal_administrative_liability.page b/resources/src/main/resources/business-model/ervu-business-metrics/accounting_criminal_administrative_liability.page index 138c568..5dd7a50 100644 --- a/resources/src/main/resources/business-model/ervu-business-metrics/accounting_criminal_administrative_liability.page +++ b/resources/src/main/resources/business-model/ervu-business-metrics/accounting_criminal_administrative_liability.page @@ -1956,27 +1956,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -2405,27 +2386,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter diff --git a/resources/src/main/resources/business-model/ervu-business-metrics/administration.page b/resources/src/main/resources/business-model/ervu-business-metrics/administration.page index b217ad7..6a5b678 100644 --- a/resources/src/main/resources/business-model/ervu-business-metrics/administration.page +++ b/resources/src/main/resources/business-model/ervu-business-metrics/administration.page @@ -1871,27 +1871,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -2027,27 +2008,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -2225,27 +2187,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -2381,27 +2324,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -2489,7 +2413,6 @@ 1ce3c26e-d819-4499-9cb0-6c47f3bfd86b ВК Анализ пользователей по ролям true - false false @@ -4011,27 +3934,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -4188,27 +4092,8 @@ textFormatter - - -replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -4279,27 +4164,8 @@ textFormatter - - -replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -4370,27 +4236,8 @@ textFormatter - - -replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -4461,27 +4308,8 @@ textFormatter - - -replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -4552,27 +4380,8 @@ textFormatter - - -replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -4643,27 +4452,8 @@ textFormatter - - -replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -4734,27 +4524,8 @@ textFormatter - - -replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -4825,27 +4596,8 @@ textFormatter - - -replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -4916,27 +4668,8 @@ textFormatter - - -replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -5007,27 +4740,8 @@ textFormatter - - -replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -5098,27 +4812,8 @@ textFormatter - - -replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -5189,27 +4884,8 @@ textFormatter - - -replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -5308,27 +4984,8 @@ textFormatter - - -replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -5399,27 +5056,8 @@ textFormatter - - -replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -5490,27 +5128,8 @@ textFormatter - - -replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -5581,27 +5200,8 @@ textFormatter - - -replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -5672,27 +5272,8 @@ textFormatter - - -replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -5757,27 +5338,8 @@ textFormatter - - -replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -5843,27 +5405,8 @@ textFormatter - - -replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -5928,27 +5471,8 @@ textFormatter - - -replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -6013,27 +5537,8 @@ textFormatter - - -replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -6098,27 +5603,8 @@ textFormatter - - -replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -6183,27 +5669,8 @@ textFormatter - - -replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -6268,27 +5735,8 @@ textFormatter - - -replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter diff --git a/resources/src/main/resources/business-model/ervu-business-metrics/appeals.page b/resources/src/main/resources/business-model/ervu-business-metrics/appeals.page index 969177d..69598ae 100644 --- a/resources/src/main/resources/business-model/ervu-business-metrics/appeals.page +++ b/resources/src/main/resources/business-model/ervu-business-metrics/appeals.page @@ -1981,27 +1981,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -2393,27 +2374,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -3340,27 +3302,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -3550,27 +3493,8 @@ textFormatter - - -replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -3646,27 +3570,8 @@ textFormatter - - -replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -3749,27 +3654,8 @@ textFormatter - - -replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -3852,27 +3738,8 @@ textFormatter - - -replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -3937,27 +3804,8 @@ textFormatter - - -replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -4028,27 +3876,8 @@ textFormatter - - -replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter diff --git a/resources/src/main/resources/business-model/ervu-business-metrics/conversion.page b/resources/src/main/resources/business-model/ervu-business-metrics/conversion.page index 1f1eb86..5229ef5 100644 --- a/resources/src/main/resources/business-model/ervu-business-metrics/conversion.page +++ b/resources/src/main/resources/business-model/ervu-business-metrics/conversion.page @@ -1540,6 +1540,7 @@ e7d99292-f2d5-4c52-a9db-e4e63e768527 ВК основная информация раздела Конвертация true + false false @@ -1650,7 +1651,6 @@ 96dcba2b-4fa7-46b6-8f64-1cef7cd5b5d1 ВК Загрузка сведений воинского учета (csv) true - false false @@ -1713,7 +1713,6 @@ 1d1c94ee-1cbd-4db4-b26f-bb81c639c5ff ГК Загрузка сведений воинского учета (csv) true - false false @@ -1773,7 +1772,6 @@ 25288605-15b7-47ec-91c0-6bfc7fcfc3de ГК График и показатели true - false false diff --git a/resources/src/main/resources/business-model/ervu-business-metrics/incidents.page b/resources/src/main/resources/business-model/ervu-business-metrics/incidents.page index dc3d1b6..45a8ef5 100644 --- a/resources/src/main/resources/business-model/ervu-business-metrics/incidents.page +++ b/resources/src/main/resources/business-model/ervu-business-metrics/incidents.page @@ -2364,27 +2364,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -2568,27 +2549,8 @@ textFormatter - - -replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -2670,27 +2632,8 @@ textFormatter - - -replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -2772,27 +2715,8 @@ textFormatter - - -replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -2875,27 +2799,8 @@ textFormatter - - -replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -2966,27 +2871,8 @@ textFormatter - - -replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -3057,27 +2943,8 @@ textFormatter - - -replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -3337,7 +3204,6 @@ 8c048d37-2167-4bfd-86b1-1e5ac6f71e2a ВК инцидентов принято на рассмотрение true - false false @@ -3568,27 +3434,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -4451,27 +4298,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -4654,27 +4482,8 @@ textFormatter - - -replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -4756,27 +4565,8 @@ textFormatter - - -replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -4859,27 +4649,8 @@ textFormatter - - -replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -4950,27 +4721,8 @@ textFormatter - - -replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -6289,27 +6041,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -6478,27 +6211,8 @@ textFormatter - - -replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -6575,27 +6289,8 @@ textFormatter - - -replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -6672,27 +6367,8 @@ textFormatter - - -replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -6769,27 +6445,8 @@ textFormatter - - -replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -6866,27 +6523,8 @@ textFormatter - - -replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -6969,27 +6607,8 @@ textFormatter - - -replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -7060,27 +6679,8 @@ textFormatter - - -replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -7151,27 +6751,8 @@ textFormatter - - -replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -7242,27 +6823,8 @@ textFormatter - - -replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -7333,27 +6895,8 @@ textFormatter - - -replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -8643,27 +8186,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -8734,27 +8258,9 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - + false - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -8838,27 +8344,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -8930,27 +8417,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -9140,6 +8608,7 @@ 62f20d4e-a45e-47d0-97f9-e8cb7e62c104 ГК Плашки true + false false @@ -9414,27 +8883,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -9807,27 +9257,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter diff --git a/resources/src/main/resources/business-model/ervu-business-metrics/initial_registration.page b/resources/src/main/resources/business-model/ervu-business-metrics/initial_registration.page index 157b1fc..6cf7186 100644 --- a/resources/src/main/resources/business-model/ervu-business-metrics/initial_registration.page +++ b/resources/src/main/resources/business-model/ervu-business-metrics/initial_registration.page @@ -1434,6 +1434,13 @@ + + ba24d307-0b91-4299-ba82-9d0b52384ff2 + 5450f801-64a9-4415-92b3-36cbc946743d + Text Первоначальная постановка на воинский учет + false + true + d7d54cfb-26b5-4dba-b56f-b6247183c24d 7aa0d2f7-5846-4687-8181-bed27079ea40 @@ -1559,17 +1566,26 @@ 36a2e073-5d65-4760-b444-ee9abed23a16 Tab container true + false false + + ba24d307-0b91-4299-ba82-9d0b52384ff2 + 5450f801-64a9-4415-92b3-36cbc946743d + Text Первоначальная постановка на воинский учет + false + true + 84b784bf-7bec-42f5-bbb7-8a465de45019 7b47ba81-1c81-4780-b0f6-7fe726e099a7 Постановка в 17 лет true + false false @@ -2575,6 +2591,7 @@ b3543f98-8317-42b5-93bb-1737fbb2d3ee ГК Первый ряд true + false false @@ -2599,6 +2616,7 @@ 205f17a7-729b-412e-b9ee-ac65bc6543bc Vbox_50% true +false false @@ -2830,27 +2848,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -3029,6 +3028,7 @@ 7bdaa111-435a-4989-865b-949de6e6f8c6 ВК Присвоение идентификатора true +false false @@ -3964,27 +3964,8 @@ textFormatter - - - replaceModels - - - - - - value - -"0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -4180,27 +4161,8 @@ textFormatter - - - replaceModels - - - - - -value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -4278,27 +4240,8 @@ textFormatter - - - replaceModels - - - - - -value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -4382,27 +4325,8 @@ textFormatter - - - replaceModels - - - - - -value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -4474,27 +4398,8 @@ textFormatter - - - replaceModels - - - - - -value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -4685,6 +4590,7 @@ 1d6eb28d-9c1f-4dc4-bf37-49eb7a2e4d37 ГК Второй ряд true + false false @@ -4969,6 +4875,7 @@ 3fa6eec2-ebc1-4d1d-b262-dde7fb48aefb ВК График true + false false @@ -6066,27 +5973,8 @@ textFormatter - - - replaceModels - - - - - - value - -"0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -6164,27 +6052,8 @@ textFormatter - - - replaceModels - - - - - - value - -"0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -6262,27 +6131,8 @@ textFormatter - - - replaceModels - - - - - - value - -"0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -6360,27 +6210,8 @@ textFormatter - - - replaceModels - - - - - - value - -"0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -6458,27 +6289,8 @@ textFormatter - - - replaceModels - - - - - - value - -"0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -6556,27 +6368,8 @@ textFormatter - - - replaceModels - - - - - - value - -"0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -6654,27 +6447,8 @@ textFormatter - - - replaceModels - - - - - - value - -"0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -6752,27 +6526,8 @@ textFormatter - - - replaceModels - - - - - - value - -"0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -6850,27 +6605,8 @@ textFormatter - - - replaceModels - - - - - - value - -"0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -6954,27 +6690,8 @@ textFormatter - - - replaceModels - - - - - - value - -"0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -7046,27 +6763,8 @@ textFormatter - - - replaceModels - - - - - - value - -"0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -7138,27 +6836,8 @@ textFormatter - - - replaceModels - - - - - - value - -"0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -7230,27 +6909,8 @@ textFormatter - - - replaceModels - - - - - - value - -"0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -7322,27 +6982,8 @@ textFormatter - - - replaceModels - - - - - - value - -"0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -7414,27 +7055,8 @@ textFormatter - - - replaceModels - - - - - - value - -"0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -7506,27 +7128,8 @@ textFormatter - - - replaceModels - - - - - - value - -"0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -7598,27 +7201,8 @@ textFormatter - - - replaceModels - - - - - - value - -"0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -7690,27 +7274,8 @@ textFormatter - - - replaceModels - - - - - - value - -"0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -8436,6 +8001,7 @@ f9b72a92-ac14-47c0-8a18-0a392b96bebd Вертикальный контейнер true +false false @@ -10404,6 +9970,7 @@ 73d1266f-664f-4e69-b77a-5b5c83f22486 Vbox_50% true + false false @@ -10635,27 +10202,8 @@ textFormatter - - -replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -11157,27 +10705,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -12300,27 +11829,8 @@ textFormatter - - - replaceModels - - - - - - value - -"0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -12516,27 +12026,8 @@ textFormatter - - - replaceModels - - - - - -value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -12614,27 +12105,8 @@ textFormatter - - - replaceModels - - - - - -value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -12718,27 +12190,8 @@ textFormatter - - - replaceModels - - - - - -value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -12810,27 +12263,8 @@ textFormatter - - - replaceModels - - - - - -value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -14342,27 +13776,8 @@ textFormatter - - - replaceModels - - - - - - value - -"0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -14543,27 +13958,8 @@ textFormatter - - - replaceModels - - - - - -value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -14645,27 +14041,8 @@ textFormatter - - - replaceModels - - - - - -value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -14747,27 +14124,8 @@ textFormatter - - - replaceModels - - - - - -value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -14849,27 +14207,8 @@ textFormatter - - - replaceModels - - - - - -value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -14951,27 +14290,8 @@ textFormatter - - - replaceModels - - - - - -value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -15053,27 +14373,8 @@ textFormatter - - - replaceModels - - - - - -value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -15155,27 +14456,8 @@ textFormatter - - - replaceModels - - - - - -value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -15257,27 +14539,8 @@ textFormatter - - - replaceModels - - - - - -value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -15366,27 +14629,8 @@ textFormatter - - - replaceModels - - - - - -value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -15457,27 +14701,8 @@ textFormatter - - - replaceModels - - - - - -value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -15548,27 +14773,8 @@ textFormatter - - - replaceModels - - - - - -value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -15639,27 +14845,8 @@ textFormatter - - - replaceModels - - - - - -value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -15730,27 +14917,8 @@ textFormatter - - - replaceModels - - - - - -value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -15821,27 +14989,8 @@ textFormatter - - - replaceModels - - - - - -value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -15912,27 +15061,8 @@ textFormatter - - - replaceModels - - - - - -value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -16003,27 +15133,8 @@ textFormatter - - - replaceModels - - - - - -value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -16452,7 +15563,6 @@ c2ee826b-4b6e-4e45-b833-70195189a69d ВК Сформированные решения true - false false @@ -17494,27 +16604,8 @@ textFormatter - - - replaceModels - - - - - -value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -17684,27 +16775,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -17775,27 +16847,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -17866,27 +16919,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -18106,27 +17140,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -18197,27 +17212,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -18288,27 +17284,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -18758,27 +17735,8 @@ textFormatter - - -replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -18965,6 +17923,7 @@ ed50e948-b0aa-48a1-a35e-fe9ec8460ba5 ГК третий ряд true + false false @@ -19180,7 +18139,6 @@ 2e5c8cde-f15e-4c67-a529-acf76fd6f7cc ГК Заголовок true - false false @@ -19239,7 +18197,6 @@ 5c4e1ffc-9a20-4248-b8dc-40d306090eba ГК График и показатели true - false false @@ -20348,27 +19305,8 @@ textFormatter - - - replaceModels - - - - - - value - -"0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -20446,27 +19384,8 @@ textFormatter - - - replaceModels - - - - - - value - -"0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -20544,27 +19463,8 @@ textFormatter - - - replaceModels - - - - - - value - -"0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -20642,27 +19542,8 @@ textFormatter - - - replaceModels - - - - - - value - -"0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -20740,27 +19621,8 @@ textFormatter - - - replaceModels - - - - - - value - -"0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -20838,27 +19700,8 @@ textFormatter - - - replaceModels - - - - - - value - -"0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -20936,27 +19779,8 @@ textFormatter - - - replaceModels - - - - - - value - -"0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -21034,27 +19858,8 @@ textFormatter - - - replaceModels - - - - - - value - -"0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -21132,27 +19937,8 @@ textFormatter - - - replaceModels - - - - - - value - -"0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -21236,27 +20022,8 @@ textFormatter - - - replaceModels - - - - - - value - -"0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -21328,27 +20095,8 @@ textFormatter - - - replaceModels - - - - - - value - -"0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -21420,27 +20168,8 @@ textFormatter - - - replaceModels - - - - - - value - -"0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -21512,27 +20241,8 @@ textFormatter - - - replaceModels - - - - - - value - -"0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -21604,27 +20314,8 @@ textFormatter - - - replaceModels - - - - - - value - -"0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -21696,27 +20387,8 @@ textFormatter - - - replaceModels - - - - - - value - -"0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -21788,27 +20460,8 @@ textFormatter - - - replaceModels - - - - - - value - -"0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -21880,27 +20533,8 @@ textFormatter - - - replaceModels - - - - - - value - -"0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -21972,27 +20606,8 @@ textFormatter - - - replaceModels - - - - - - value - -"0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -22718,6 +21333,7 @@ a8bf2e61-57cb-4654-9618-ab51c9a99e7b Вертикальный контейнер true +false false @@ -22745,6 +21361,7 @@ f9c0232a-5785-4fde-9a6d-dfbdd909073e Vbox_50% true + false false @@ -22976,27 +21593,8 @@ textFormatter - - -replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -23379,27 +21977,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -24612,27 +23191,8 @@ textFormatter - - - replaceModels - - - - - - value - -"0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -24802,27 +23362,8 @@ textFormatter - - - replaceModels - - - - - -value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -24893,27 +23434,8 @@ textFormatter - - - replaceModels - - - - - -value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -24984,27 +23506,8 @@ textFormatter - - - replaceModels - - - - - -value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -25224,27 +23727,8 @@ textFormatter - - - replaceModels - - - - - -value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -25316,27 +23800,8 @@ textFormatter - - - replaceModels - - - - - -value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -25407,27 +23872,8 @@ textFormatter - - - replaceModels - - - - - -value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -26614,27 +25060,8 @@ textFormatter - - - replaceModels - - - - - - value - -"0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -26830,27 +25257,8 @@ textFormatter - - - replaceModels - - - - - -value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -26928,27 +25336,8 @@ textFormatter - - - replaceModels - - - - - -value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -27032,27 +25421,8 @@ textFormatter - - - replaceModels - - - - - -value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -27124,27 +25494,8 @@ textFormatter - - - replaceModels - - - - - -value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -27566,27 +25917,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -27822,6 +26154,7 @@ 99429bab-99a2-45cd-aea3-841287e1bd9d ГК третий ряд true + false false @@ -29203,27 +27536,8 @@ textFormatter - - - replaceModels - - - - - - value - -"0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -29301,27 +27615,8 @@ textFormatter - - - replaceModels - - - - - - value - -"0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -29399,27 +27694,8 @@ textFormatter - - - replaceModels - - - - - - value - -"0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -29497,27 +27773,8 @@ textFormatter - - - replaceModels - - - - - - value - -"0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -29595,27 +27852,8 @@ textFormatter - - - replaceModels - - - - - - value - -"0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -29693,27 +27931,8 @@ textFormatter - - - replaceModels - - - - - - value - -"0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -29791,27 +28010,8 @@ textFormatter - - - replaceModels - - - - - - value - -"0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -29889,27 +28089,8 @@ textFormatter - - - replaceModels - - - - - - value - -"0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -29987,27 +28168,8 @@ textFormatter - - - replaceModels - - - - - - value - -"0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -30091,27 +28253,8 @@ textFormatter - - - replaceModels - - - - - - value - -"0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -30183,27 +28326,8 @@ textFormatter - - - replaceModels - - - - - - value - -"0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -30275,27 +28399,8 @@ textFormatter - - - replaceModels - - - - - - value - -"0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -30367,27 +28472,8 @@ textFormatter - - - replaceModels - - - - - - value - -"0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -30459,27 +28545,8 @@ textFormatter - - - replaceModels - - - - - - value - -"0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -30551,27 +28618,8 @@ textFormatter - - - replaceModels - - - - - - value - -"0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -30643,27 +28691,8 @@ textFormatter - - - replaceModels - - - - - - value - -"0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -30735,27 +28764,8 @@ textFormatter - - - replaceModels - - - - - - value - -"0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -30827,27 +28837,8 @@ textFormatter - - - replaceModels - - - - - - value - -"0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -31802,27 +29793,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -31955,7 +29927,6 @@ 8ce33491-362c-4be8-b964-2abec01f4e30 Постановка в 18 лет и старше true - false false @@ -32933,6 +30904,7 @@ 160f5fc4-2041-4779-9bad-e5b9bf61ad86 ВК ГИР ВУ true + false false @@ -32944,6 +30916,7 @@ 21f993d1-071b-440c-9e26-245a6095025c ГК Первый ряд true + false false @@ -33697,27 +31670,8 @@ textFormatter - - - replaceModels - - - - - - value - -"0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -33907,27 +31861,8 @@ textFormatter - - - replaceModels - - - - - -value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -34003,27 +31938,8 @@ textFormatter - - - replaceModels - - - - - -value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -34106,27 +32022,8 @@ textFormatter - - - replaceModels - - - - - -value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -34209,27 +32106,8 @@ textFormatter - - - replaceModels - - - - - -value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -34294,27 +32172,8 @@ textFormatter - - - replaceModels - - - - - -value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -34385,27 +32244,8 @@ textFormatter - - - replaceModels - - - - - -value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -35589,27 +33429,8 @@ textFormatter - - - replaceModels - - - - - - value - -"0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -35805,27 +33626,8 @@ textFormatter - - - replaceModels - - - - - -value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -35897,27 +33699,8 @@ textFormatter - - - replaceModels - - - - - -value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -36001,27 +33784,8 @@ textFormatter - - - replaceModels - - - - - -value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -36093,27 +33857,8 @@ textFormatter - - - replaceModels - - - - - -value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -36329,7 +34074,6 @@ dbd62d9c-9623-46d1-8a07-daba8c057090 ВК Отправка уведомлений в ЛК гражданина на ЕПГУ true -false false @@ -37686,27 +35430,8 @@ textFormatter - - - replaceModels - - - - - - value - -"0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -37784,27 +35509,8 @@ textFormatter - - - replaceModels - - - - - - value - -"0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -37882,27 +35588,8 @@ textFormatter - - - replaceModels - - - - - - value - -"0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -37980,27 +35667,8 @@ textFormatter - - - replaceModels - - - - - - value - -"0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -38078,27 +35746,8 @@ textFormatter - - - replaceModels - - - - - - value - -"0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -38176,27 +35825,8 @@ textFormatter - - - replaceModels - - - - - - value - -"0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -38274,27 +35904,8 @@ textFormatter - - - replaceModels - - - - - - value - -"0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -38372,27 +35983,8 @@ textFormatter - - - replaceModels - - - - - - value - -"0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -38470,27 +36062,8 @@ textFormatter - - - replaceModels - - - - - - value - -"0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -38574,27 +36147,8 @@ textFormatter - - - replaceModels - - - - - - value - -"0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -38666,27 +36220,8 @@ textFormatter - - - replaceModels - - - - - - value - -"0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -38758,27 +36293,8 @@ textFormatter - - - replaceModels - - - - - - value - -"0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -38850,27 +36366,8 @@ textFormatter - - - replaceModels - - - - - - value - -"0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -38942,27 +36439,8 @@ textFormatter - - - replaceModels - - - - - - value - -"0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -39034,27 +36512,8 @@ textFormatter - - - replaceModels - - - - - - value - -"0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -39126,27 +36585,8 @@ textFormatter - - - replaceModels - - - - - - value - -"0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -39218,27 +36658,8 @@ textFormatter - - - replaceModels - - - - - - value - -"0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -39310,27 +36731,8 @@ textFormatter - - - replaceModels - - - - - - value - -"0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -40056,6 +37458,7 @@ ff054998-1054-4b6a-8cd4-37095753985a ВК Сформированные решения true +false false @@ -41089,27 +38492,8 @@ textFormatter - - - replaceModels - - - - - - value - -"0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -41279,27 +38663,8 @@ textFormatter - - - replaceModels - - - - - -value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -41370,27 +38735,8 @@ textFormatter - - - replaceModels - - - - - -value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -41461,27 +38807,8 @@ textFormatter - - - replaceModels - - - - - -value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -41701,27 +39028,8 @@ textFormatter - - - replaceModels - - - - - -value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -41792,27 +39100,8 @@ textFormatter - - - replaceModels - - - - - -value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -41883,27 +39172,8 @@ textFormatter - - - replaceModels - - - - - -value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -42122,6 +39392,7 @@ b6fa93df-1136-4357-ba93-fac3068b1446 ГК Третий ряд true + false false @@ -42152,11 +39423,8 @@ cssClasses - - - "bl" - - + + @@ -42166,7 +39434,7 @@ width - "51%" + "50%" @@ -42415,27 +39683,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -43945,27 +41194,8 @@ textFormatter - - - replaceModels - - - - - - value - -"0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -44146,27 +41376,8 @@ textFormatter - - - replaceModels - - - - - -value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -44248,27 +41459,8 @@ textFormatter - - - replaceModels - - - - - -value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -44350,27 +41542,8 @@ textFormatter - - - replaceModels - - - - - -value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -44452,27 +41625,8 @@ textFormatter - - - replaceModels - - - - - -value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -44554,27 +41708,8 @@ textFormatter - - - replaceModels - - - - - -value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -44656,27 +41791,8 @@ textFormatter - - - replaceModels - - - - - -value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -44758,27 +41874,8 @@ textFormatter - - - replaceModels - - - - - -value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -44860,27 +41957,8 @@ textFormatter - - - replaceModels - - - - - -value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -44963,27 +42041,8 @@ textFormatter - - - replaceModels - - - - - -value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -45054,27 +42113,8 @@ textFormatter - - - replaceModels - - - - - -value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -45145,27 +42185,8 @@ textFormatter - - - replaceModels - - - - - -value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -45236,27 +42257,8 @@ textFormatter - - - replaceModels - - - - - -value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -45327,27 +42329,8 @@ textFormatter - - - replaceModels - - - - - -value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -45418,27 +42401,8 @@ textFormatter - - - replaceModels - - - - - -value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -45510,27 +42474,8 @@ textFormatter - - - replaceModels - - - - - -value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -45601,27 +42546,8 @@ textFormatter - - - replaceModels - - - - - -value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -46986,27 +43912,8 @@ textFormatter - - - replaceModels - - - - - -value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -47202,27 +44109,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -47300,27 +44188,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -47404,27 +44273,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -47496,27 +44346,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -48740,27 +45571,8 @@ textFormatter - - - replaceModels - - - - - -value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -48930,27 +45742,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -49021,27 +45814,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -49112,27 +45886,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -49352,27 +46107,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -49443,27 +46179,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -49534,27 +46251,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -49774,6 +46472,7 @@ fa86bb83-ba12-4887-9da6-dc72c0994957 ГК Второй ряд true + false false @@ -49798,7 +46497,6 @@ d37169a7-d955-40f5-b35b-75b752738fb8 ВК Отправка уведомлений в ЛК гражданина на ЕПГУ true -false false @@ -51156,27 +47854,8 @@ textFormatter - - - replaceModels - - - - - - value - -"0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -51254,27 +47933,8 @@ textFormatter - - - replaceModels - - - - - - value - -"0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -51352,27 +48012,8 @@ textFormatter - - - replaceModels - - - - - - value - -"0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -51450,27 +48091,8 @@ textFormatter - - - replaceModels - - - - - - value - -"0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -51548,27 +48170,8 @@ textFormatter - - - replaceModels - - - - - - value - -"0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -51646,27 +48249,8 @@ textFormatter - - - replaceModels - - - - - - value - -"0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -51744,27 +48328,8 @@ textFormatter - - - replaceModels - - - - - - value - -"0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -51842,27 +48407,8 @@ textFormatter - - - replaceModels - - - - - - value - -"0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -51940,27 +48486,8 @@ textFormatter - - - replaceModels - - - - - - value - -"0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -52044,27 +48571,8 @@ textFormatter - - - replaceModels - - - - - - value - -"0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -52136,27 +48644,8 @@ textFormatter - - - replaceModels - - - - - - value - -"0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -52228,27 +48717,8 @@ textFormatter - - - replaceModels - - - - - - value - -"0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -52320,27 +48790,8 @@ textFormatter - - - replaceModels - - - - - - value - -"0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -52412,27 +48863,8 @@ textFormatter - - - replaceModels - - - - - - value - -"0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -52504,27 +48936,8 @@ textFormatter - - - replaceModels - - - - - - value - -"0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -52596,27 +49009,8 @@ textFormatter - - - replaceModels - - - - - - value - -"0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -52688,27 +49082,8 @@ textFormatter - - - replaceModels - - - - - - value - -"0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -52780,27 +49155,8 @@ textFormatter - - - replaceModels - - - - - - value - -"0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -53526,6 +49882,7 @@ 6cc29784-485d-4090-bf17-5367bb67c4bc Вертикальный контейнер true +false false @@ -53784,27 +50141,8 @@ textFormatter - - -replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -54130,27 +50468,8 @@ textFormatter - - -replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -54255,7 +50574,6 @@ 8e07960c-62ef-4ade-ae0f-1ccc1d836aea ВК Личное посещение true - false false @@ -54533,27 +50851,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -55682,27 +51981,8 @@ textFormatter - - - replaceModels - - - - - - value - -"0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -55872,27 +52152,8 @@ textFormatter - - - replaceModels - - - - - -value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -55963,27 +52224,8 @@ textFormatter - - - replaceModels - - - - - -value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -56054,27 +52296,8 @@ textFormatter - - - replaceModels - - - - - -value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -56294,27 +52517,8 @@ textFormatter - - - replaceModels - - - - - -value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -56385,27 +52589,8 @@ textFormatter - - - replaceModels - - - - - -value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -56476,27 +52661,8 @@ textFormatter - - - replaceModels - - - - - -value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -57676,27 +53842,8 @@ textFormatter - - - replaceModels - - - - - - value - -"0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -57892,27 +54039,8 @@ textFormatter - - - replaceModels - - - - - -value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -57990,27 +54118,8 @@ textFormatter - - - replaceModels - - - - - -value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -58094,27 +54203,8 @@ textFormatter - - - replaceModels - - - - - -value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -58186,27 +54276,8 @@ textFormatter - - - replaceModels - - - - - -value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -58628,27 +54699,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -60125,27 +56177,8 @@ textFormatter - - - replaceModels - - - - - - value - -"0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -60223,27 +56256,8 @@ textFormatter - - - replaceModels - - - - - - value - -"0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -60321,27 +56335,8 @@ textFormatter - - - replaceModels - - - - - - value - -"0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -60419,27 +56414,8 @@ textFormatter - - - replaceModels - - - - - - value - -"0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -60517,27 +56493,8 @@ textFormatter - - - replaceModels - - - - - - value - -"0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -60615,27 +56572,8 @@ textFormatter - - - replaceModels - - - - - - value - -"0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -60713,27 +56651,8 @@ textFormatter - - - replaceModels - - - - - - value - -"0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -60811,27 +56730,8 @@ textFormatter - - - replaceModels - - - - - - value - -"0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -60909,27 +56809,8 @@ textFormatter - - - replaceModels - - - - - - value - -"0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -61013,27 +56894,8 @@ textFormatter - - - replaceModels - - - - - - value - -"0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -61105,27 +56967,8 @@ textFormatter - - - replaceModels - - - - - - value - -"0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -61197,27 +57040,8 @@ textFormatter - - - replaceModels - - - - - - value - -"0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -61289,27 +57113,8 @@ textFormatter - - - replaceModels - - - - - - value - -"0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -61381,27 +57186,8 @@ textFormatter - - - replaceModels - - - - - - value - -"0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -61473,27 +57259,8 @@ textFormatter - - - replaceModels - - - - - - value - -"0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -61565,27 +57332,8 @@ textFormatter - - - replaceModels - - - - - - value - -"0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -61657,27 +57405,8 @@ textFormatter - - - replaceModels - - - - - - value - -"0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -61749,27 +57478,8 @@ textFormatter - - - replaceModels - - - - - - value - -"0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -62495,6 +58205,7 @@ 92835167-8fbb-4760-ba85-16d4f2778204 Vbox_50% true +false false @@ -62724,27 +58435,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -62863,6 +58555,20 @@ + + ba24d307-0b91-4299-ba82-9d0b52384ff2 + 5450f801-64a9-4415-92b3-36cbc946743d + Text Первоначальная постановка на воинский учет + false + true + + + 9d1b5af1-0b8f-4b1b-b9a5-c2e6acf72d91 + 62e2055e-ccf0-4878-9420-5aa4c2cd0a0c + ВК ЕПГУ + true + true + diff --git a/resources/src/main/resources/business-model/ervu-business-metrics/military_registration_changing_address.page b/resources/src/main/resources/business-model/ervu-business-metrics/military_registration_changing_address.page index a2e5c0e..39f052f 100644 --- a/resources/src/main/resources/business-model/ervu-business-metrics/military_registration_changing_address.page +++ b/resources/src/main/resources/business-model/ervu-business-metrics/military_registration_changing_address.page @@ -3791,27 +3791,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - -ReplaceValueTextFormatter +NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -3971,27 +3952,8 @@ textFormatter - - - replaceModels - - - - - - value - -"0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -4068,27 +4030,8 @@ textFormatter - - - replaceModels - - - - - - value - -"0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -4165,27 +4108,8 @@ textFormatter - - - replaceModels - - - - - - value - -"0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -4262,27 +4186,8 @@ textFormatter - - - replaceModels - - - - - - value - -"0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -4359,27 +4264,8 @@ textFormatter - - - replaceModels - - - - - - value - -"0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -4456,27 +4342,8 @@ textFormatter - - - replaceModels - - - - - - value - -"0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -4553,27 +4420,8 @@ textFormatter - - - replaceModels - - - - - - value - -"0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -4656,27 +4504,8 @@ textFormatter - - - replaceModels - - - - - - value - -"0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -4747,27 +4576,8 @@ textFormatter - - - replaceModels - - - - - - value - -"0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -4838,27 +4648,8 @@ textFormatter - - - replaceModels - - - - - - value - -"0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -4929,27 +4720,8 @@ textFormatter - - - replaceModels - - - - - - value - -"0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -5020,27 +4792,8 @@ textFormatter - - - replaceModels - - - - - - value - -"0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -5111,27 +4864,8 @@ textFormatter - - - replaceModels - - - - - - value - -"0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -5202,27 +4936,8 @@ textFormatter - - - replaceModels - - - - - - value - -"0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -5623,6 +5338,7 @@ 6c20dc29-0fba-4eda-a956-69721c9545c8 ВК Повестки, подписанные в текущем ВК true + false false @@ -6348,27 +6064,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - -ReplaceValueTextFormatter +NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -6551,27 +6248,8 @@ textFormatter - - - replaceModels - - - - - - value - -"0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -6653,27 +6331,8 @@ textFormatter - - - replaceModels - - - - - - value - -"0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -6756,27 +6415,8 @@ textFormatter - - - replaceModels - - - - - - value - -"0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -6847,27 +6487,8 @@ textFormatter - - - replaceModels - - - - - - value - -"0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -7086,7 +6707,6 @@ 0dcbc26f-c5a3-4a88-880f-9823106ae254 ГК Второй ряд true - false false @@ -8469,27 +8089,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - -ReplaceValueTextFormatter +NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -8567,27 +8168,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - -ReplaceValueTextFormatter +NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -8665,27 +8247,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - -ReplaceValueTextFormatter +NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -8763,27 +8326,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - -ReplaceValueTextFormatter +NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -8861,27 +8405,9 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - + false -ReplaceValueTextFormatter +NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -8959,27 +8485,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - -ReplaceValueTextFormatter +NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -9057,27 +8564,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - -ReplaceValueTextFormatter +NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -9155,27 +8643,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - -ReplaceValueTextFormatter +NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -9253,27 +8722,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - -ReplaceValueTextFormatter +NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -10839,6 +10289,7 @@ 5474580e-080e-4895-9772-18cf6fdbf1ed ВК Временные меры, введенные в текущем ВК true + false false @@ -11781,27 +11232,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - -ReplaceValueTextFormatter +NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -11997,27 +11429,8 @@ textFormatter - - - replaceModels - - - - - - value - -"0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -12095,27 +11508,8 @@ textFormatter - - - replaceModels - - - - - - value - -"0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -12199,27 +11593,8 @@ textFormatter - - - replaceModels - - - - - - value - -"0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -12291,27 +11666,8 @@ textFormatter - - - replaceModels - - - - - - value - -"0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -12503,6 +11859,7 @@ 7d1af108-5b97-4214-a340-52c2176d8593 ВК ЕПГУ true + false false @@ -13766,27 +13123,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - -ReplaceValueTextFormatter +NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -13955,27 +13293,8 @@ textFormatter - - - replaceModels - - - - - - value - -"0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -14053,27 +13372,8 @@ textFormatter - - - replaceModels - - - - - - value - -"0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -14150,27 +13450,8 @@ textFormatter - - - replaceModels - - - - - - value - -"0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -14247,27 +13528,8 @@ textFormatter - - - replaceModels - - - - - - value - -"0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -14344,27 +13606,8 @@ textFormatter - - - replaceModels - - - - - - value - -"0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -14441,27 +13684,8 @@ textFormatter - - - replaceModels - - - - - - value - -"0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -14539,27 +13763,8 @@ textFormatter - - - replaceModels - - - - - - value - -"0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -14642,27 +13847,8 @@ textFormatter - - - replaceModels - - - - - - value - -"0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -14733,27 +13919,8 @@ textFormatter - - - replaceModels - - - - - - value - -"0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -14818,27 +13985,8 @@ textFormatter - - - replaceModels - - - - - - value - -"0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -14909,27 +14057,8 @@ textFormatter - - - replaceModels - - - - - - value - -"0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -15000,27 +14129,8 @@ textFormatter - - - replaceModels - - - - - - value - -"0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -15091,27 +14201,8 @@ textFormatter - - - replaceModels - - - - - - value - -"0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -15182,27 +14273,8 @@ textFormatter - - - replaceModels - - - - - - value - -"0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -16329,27 +15401,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - -ReplaceValueTextFormatter +NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -16532,27 +15585,8 @@ textFormatter - - - replaceModels - - - - - - value - -"0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -16634,27 +15668,8 @@ textFormatter - - - replaceModels - - - - - - value - -"0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -16737,27 +15752,8 @@ textFormatter - - - replaceModels - - - - - - value - -"0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -16828,27 +15824,8 @@ textFormatter - - - replaceModels - - - - - - value - -"0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -17099,6 +16076,7 @@ 43a871c6-d1d0-49d4-8d3b-463b1fff38e3 ВК Инциденты по расхождениям данных true + false false @@ -17831,27 +16809,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - -ReplaceValueTextFormatter +NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -18025,27 +16984,8 @@ textFormatter - - - replaceModels - - - - - - value - -"0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -18128,27 +17068,8 @@ textFormatter - - - replaceModels - - - - - - value - -"0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -19326,27 +18247,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - -ReplaceValueTextFormatter +NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -19507,27 +18409,8 @@ textFormatter - - - replaceModels - - - - - - value - -"0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -19604,27 +18487,8 @@ textFormatter - - - replaceModels - - - - - - value - -"0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -19701,27 +18565,8 @@ textFormatter - - - replaceModels - - - - - - value - -"0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -19804,27 +18649,8 @@ textFormatter - - - replaceModels - - - - - - value - -"0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -19895,27 +18721,8 @@ textFormatter - - - replaceModels - - - - - - value - -"0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -19986,27 +18793,8 @@ textFormatter - - - replaceModels - - - - - - value - -"0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -20283,6 +19071,7 @@ d7b65a7a-897c-4614-b63a-ab9c453db3a3 ГК Третий ряд true + false false @@ -20557,6 +19346,7 @@ fbe393b4-f772-4a89-b444-a0272d2bcd4a ГК График и показатели true +false false @@ -21665,27 +20455,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - -ReplaceValueTextFormatter +NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -21763,27 +20534,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - -ReplaceValueTextFormatter +NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -21861,27 +20613,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - -ReplaceValueTextFormatter +NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -21959,27 +20692,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - -ReplaceValueTextFormatter +NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -22057,27 +20771,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - -ReplaceValueTextFormatter +NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -22155,27 +20850,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - -ReplaceValueTextFormatter +NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -22253,27 +20929,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - -ReplaceValueTextFormatter +NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -22351,27 +21008,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - -ReplaceValueTextFormatter +NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -22449,27 +21087,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - -ReplaceValueTextFormatter +NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -22553,27 +21172,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - -ReplaceValueTextFormatter +NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -22645,27 +21245,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - -ReplaceValueTextFormatter +NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -22737,27 +21318,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - -ReplaceValueTextFormatter +NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -22829,27 +21391,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - -ReplaceValueTextFormatter +NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -22921,27 +21464,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - -ReplaceValueTextFormatter +NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -23013,27 +21537,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - -ReplaceValueTextFormatter +NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -23105,27 +21610,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - -ReplaceValueTextFormatter +NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -23197,27 +21683,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - -ReplaceValueTextFormatter +NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -23289,27 +21756,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - -ReplaceValueTextFormatter +NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -24767,27 +23215,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - -ReplaceValueTextFormatter +NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -24970,27 +23399,8 @@ textFormatter - - - replaceModels - - - - - - value - -"0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -25072,27 +23482,8 @@ textFormatter - - - replaceModels - - - - - - value - -"0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -25175,27 +23566,8 @@ textFormatter - - - replaceModels - - - - - - value - -"0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -25266,27 +23638,8 @@ textFormatter - - - replaceModels - - - - - - value - -"0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -25511,6 +23864,7 @@ c722dbd5-fcd1-411f-8b07-df707673125f ГК Первый ряд true + false false @@ -25535,6 +23889,7 @@ 93df9d35-d84b-4433-a119-877066f5ea8c Vbox_50% true + false false @@ -25766,27 +24121,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -26959,27 +25295,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - -ReplaceValueTextFormatter +NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -27140,27 +25457,8 @@ textFormatter - - - replaceModels - - - - - - value - -"0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -27237,27 +25535,8 @@ textFormatter - - - replaceModels - - - - - - value - -"0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -27334,27 +25613,8 @@ textFormatter - - - replaceModels - - - - - - value - -"0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -27437,27 +25697,8 @@ textFormatter - - - replaceModels - - - - - - value - -"0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -27528,27 +25769,8 @@ textFormatter - - - replaceModels - - - - - - value - -"0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -27619,27 +25841,8 @@ textFormatter - - - replaceModels - - - - - - value - -"0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -27902,6 +26105,7 @@ 20c086fb-6d54-4861-a5f5-a1118adafe3e ГК Второй ряд true + false false @@ -29289,27 +27493,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - -ReplaceValueTextFormatter +NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -29387,27 +27572,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - -ReplaceValueTextFormatter +NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -29485,27 +27651,9 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - + false -ReplaceValueTextFormatter +NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -29583,27 +27731,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - -ReplaceValueTextFormatter +NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -29681,27 +27810,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - -ReplaceValueTextFormatter +NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -29779,27 +27889,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - -ReplaceValueTextFormatter +NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -29877,27 +27968,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - -ReplaceValueTextFormatter +NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -29975,27 +28047,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - -ReplaceValueTextFormatter +NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -30073,27 +28126,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - -ReplaceValueTextFormatter +NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -30177,27 +28211,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - -ReplaceValueTextFormatter +NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -30269,27 +28284,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - -ReplaceValueTextFormatter +NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -30361,27 +28357,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - -ReplaceValueTextFormatter +NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -30453,29 +28430,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - - - -ReplaceValueTextFormatter +NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -30547,27 +28503,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - -ReplaceValueTextFormatter +NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -30639,27 +28576,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - -ReplaceValueTextFormatter +NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -30731,27 +28649,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - -ReplaceValueTextFormatter +NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -30823,27 +28722,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - -ReplaceValueTextFormatter +NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -30915,27 +28795,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - -ReplaceValueTextFormatter +NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -31694,6 +29555,7 @@ 16a68225-fd7e-4be3-ad8d-2c4cbe1bff8e ВК уникальных записей граждан true +false false @@ -31924,27 +29786,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -32837,27 +30680,8 @@ textFormatter - - - replaceModels - - - - - - value - -"0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -33040,27 +30864,8 @@ textFormatter - - - replaceModels - - - - - -value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -33142,27 +30947,8 @@ textFormatter - - - replaceModels - - - - - -value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -33246,27 +31032,8 @@ textFormatter - - - replaceModels - - - - - -value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -33337,27 +31104,8 @@ textFormatter - - - replaceModels - - - - - -value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter diff --git a/resources/src/main/resources/business-model/ervu-business-metrics/register_subpoenas.page b/resources/src/main/resources/business-model/ervu-business-metrics/register_subpoenas.page index f98a42c..36e6d3f 100644 --- a/resources/src/main/resources/business-model/ervu-business-metrics/register_subpoenas.page +++ b/resources/src/main/resources/business-model/ervu-business-metrics/register_subpoenas.page @@ -1833,6 +1833,7 @@ 80ab4312-6e8e-4f5f-83a7-376cab791eb7 ГК График и показатели true + false false @@ -2462,27 +2463,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -2564,27 +2546,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -2666,27 +2629,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -2768,27 +2712,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -2871,27 +2796,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -2962,27 +2868,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -3053,27 +2940,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -3144,27 +3012,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -4996,27 +4845,8 @@ textFormatter - - -replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -5094,27 +4924,8 @@ textFormatter - - -replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -5191,27 +5002,8 @@ textFormatter - - -replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -5288,27 +5080,8 @@ textFormatter - - -replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -5385,27 +5158,8 @@ textFormatter - - -replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -5482,27 +5236,8 @@ textFormatter - - -replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -5579,27 +5314,8 @@ textFormatter - - -replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -5682,27 +5398,8 @@ textFormatter - - -replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -5773,27 +5470,8 @@ textFormatter - - -replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -5865,27 +5543,8 @@ textFormatter - - -replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -5956,27 +5615,8 @@ textFormatter - - -replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -6047,27 +5687,8 @@ textFormatter - - -replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -6138,27 +5759,8 @@ textFormatter - - -replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -6229,27 +5831,8 @@ textFormatter - - -replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -7635,27 +7218,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -7737,27 +7301,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -7839,27 +7384,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -7941,27 +7467,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -8037,27 +7544,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -8140,27 +7628,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -8231,27 +7700,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -8322,27 +7772,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -8413,27 +7844,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -8498,27 +7910,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -8829,6 +8222,7 @@ d1069ca8-24fc-4368-9465-cc0a70928fae ГК Третий ряд true + false false @@ -9815,27 +9209,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -9917,27 +9292,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -10019,27 +9375,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -10122,27 +9459,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -10213,27 +9531,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -10304,27 +9603,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -10569,6 +9849,7 @@ 0c521101-939d-495d-98a5-952f9ee80973 ВК Решения о снятии временной меры true + false false @@ -11531,27 +10812,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -11633,27 +10895,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -11735,27 +10978,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -11838,27 +11062,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -11929,27 +11134,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -12020,27 +11206,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -12287,7 +11454,6 @@ 8ccf3815-9f26-4892-9c46-f78f72f8b019 ГК Четвертый ряд true - false false @@ -12607,7 +11773,6 @@ 4574ec29-dda1-444d-9bb1-683ed80b03ce ГК График и показатели true - false false @@ -13281,27 +12446,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -13383,27 +12529,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -13485,27 +12612,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -13588,27 +12696,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -13679,27 +12768,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -13770,27 +12840,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -16592,27 +15643,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -16690,27 +15722,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -16788,27 +15801,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -16886,27 +15880,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -16984,27 +15959,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -17082,27 +16038,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -17180,27 +16117,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -17278,27 +16196,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -17376,27 +16275,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -17486,27 +16366,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -17584,27 +16445,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -17682,27 +16524,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -17780,27 +16603,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -17878,27 +16682,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -17976,27 +16761,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -18074,27 +16840,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -18172,27 +16919,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -18270,27 +16998,9 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - + false - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter diff --git a/resources/src/main/resources/business-model/ervu-business-metrics/register_subpoenas_subsystem.page b/resources/src/main/resources/business-model/ervu-business-metrics/register_subpoenas_subsystem.page index a38909d..fe6ff3c 100644 --- a/resources/src/main/resources/business-model/ervu-business-metrics/register_subpoenas_subsystem.page +++ b/resources/src/main/resources/business-model/ervu-business-metrics/register_subpoenas_subsystem.page @@ -1801,27 +1801,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -2747,27 +2728,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -2951,27 +2913,8 @@ textFormatter - - -replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -3053,27 +2996,8 @@ textFormatter - - -replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -3155,27 +3079,8 @@ textFormatter - - -replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -3257,27 +3162,8 @@ textFormatter - - -replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -3360,27 +3246,8 @@ textFormatter - - -replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -3451,27 +3318,8 @@ textFormatter - - -replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -3542,27 +3390,8 @@ textFormatter - - -replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -3633,27 +3462,8 @@ textFormatter - - -replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -3977,6 +3787,7 @@ 3ec749dd-dae8-49c7-9e71-6c00bac707a4 ВК Для прохождения призывной службы true + false false @@ -4875,27 +4686,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -4977,27 +4769,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -5079,27 +4852,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -5176,27 +4930,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -5278,27 +5013,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -5380,27 +5096,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -5477,27 +5174,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -5579,27 +5257,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -5681,27 +5340,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -5784,27 +5424,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -5875,27 +5496,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -5966,27 +5568,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -6057,27 +5640,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -6148,27 +5712,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -6239,27 +5784,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -6330,27 +5856,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -6421,27 +5928,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -6512,27 +6000,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -7894,27 +7363,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -7996,27 +7446,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -8098,27 +7529,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -8195,27 +7607,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -8297,27 +7690,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -8399,27 +7773,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -8496,27 +7851,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -8598,27 +7934,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -8700,27 +8017,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -8803,27 +8101,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -8894,27 +8173,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -8985,27 +8245,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -9076,27 +8317,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -9167,27 +8389,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -9258,27 +8461,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -9349,27 +8533,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -9440,27 +8605,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -9531,27 +8677,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -10940,27 +10067,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -11042,27 +10150,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -11144,27 +10233,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -11241,27 +10311,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -11343,27 +10394,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -11445,27 +10477,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -11542,27 +10555,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -11644,27 +10638,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -11746,27 +10721,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -11849,27 +10805,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -11940,27 +10877,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -12031,27 +10949,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -12122,27 +11021,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -12213,27 +11093,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -12304,27 +11165,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -12395,27 +11237,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -12486,27 +11309,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -12577,27 +11381,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -13960,27 +12745,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -14062,27 +12828,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -14164,27 +12911,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -14261,27 +12989,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -14363,27 +13072,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -14465,27 +13155,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -14562,27 +13233,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -14664,27 +13316,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -14766,27 +13399,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -14869,27 +13483,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -14960,27 +13555,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -15051,27 +13627,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -15142,27 +13699,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -15233,27 +13771,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -15324,27 +13843,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -15415,27 +13915,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -15506,27 +13987,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -15597,27 +14059,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -17007,27 +15450,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -17109,27 +15533,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -17211,27 +15616,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -17308,27 +15694,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -17410,27 +15777,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -17512,27 +15860,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -17609,27 +15938,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -17711,27 +16021,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -17813,27 +16104,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -17916,27 +16188,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -18007,27 +16260,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -18098,27 +16332,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -18189,27 +16404,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -18280,27 +16476,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -18371,27 +16548,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -18462,27 +16620,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -18553,27 +16692,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -18644,27 +16764,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -20249,27 +18350,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -20451,27 +18533,8 @@ textFormatter - - -replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -20553,27 +18616,8 @@ textFormatter - - -replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -20655,27 +18699,8 @@ textFormatter - - -replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -20757,27 +18782,8 @@ textFormatter - - -replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -20860,27 +18866,8 @@ textFormatter - - -replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -20951,27 +18938,8 @@ textFormatter - - -replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -21042,27 +19010,8 @@ textFormatter - - -replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -21133,27 +19082,8 @@ textFormatter - - -replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter diff --git a/resources/src/main/resources/business-model/ervu-business-metrics/removal_military_registration.page b/resources/src/main/resources/business-model/ervu-business-metrics/removal_military_registration.page index 01988f2..c2adf4d 100644 --- a/resources/src/main/resources/business-model/ervu-business-metrics/removal_military_registration.page +++ b/resources/src/main/resources/business-model/ervu-business-metrics/removal_military_registration.page @@ -3083,6 +3083,7 @@ 02aafe66-22b4-4921-a9d7-bb665dfdb4d0 ВК ГИР ВУ true + false false @@ -3094,6 +3095,7 @@ 79b0d99f-6fcf-479f-93fc-86cf40091bdb ГК Первый ряд true + false false @@ -3845,27 +3847,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - -ReplaceValueTextFormatter +NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -4048,27 +4031,8 @@ textFormatter - - - replaceModels - - - - - - value - -"0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -4150,27 +4114,8 @@ textFormatter - - - replaceModels - - - - - - value - -"0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -4254,27 +4199,8 @@ textFormatter - - - replaceModels - - - - - - value - -"0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -4345,27 +4271,8 @@ textFormatter - - - replaceModels - - - - - - value - -"0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -5340,27 +5247,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - -ReplaceValueTextFormatter +NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -5543,27 +5431,8 @@ textFormatter - - - replaceModels - - - - - - value - -"0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -5645,27 +5514,8 @@ textFormatter - - - replaceModels - - - - - - value - -"0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -5749,27 +5599,8 @@ textFormatter - - - replaceModels - - - - - - value - -"0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -5840,27 +5671,8 @@ textFormatter - - - replaceModels - - - - - - value - -"0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -6842,27 +6654,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - -ReplaceValueTextFormatter +NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -7045,27 +6838,8 @@ textFormatter - - - replaceModels - - - - - - value - -"0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -7147,27 +6921,8 @@ textFormatter - - - replaceModels - - - - - - value - -"0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -7251,27 +7006,8 @@ textFormatter - - - replaceModels - - - - - - value - -"0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -7342,27 +7078,8 @@ textFormatter - - - replaceModels - - - - - - value - -"0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -7611,6 +7328,7 @@ 1e5b6f27-261c-46ae-a6d9-e28b5e588328 ГК Второй ряд true + false false @@ -7832,7 +7550,6 @@ 4adf16e0-0d6f-4f75-abb3-f9ef50598608 ГК Заголовок true -false false @@ -7891,7 +7608,6 @@ ba90ef5b-5e45-49fc-bfb1-51dbc8e938dd ГК График и показатели true -false false @@ -9036,27 +8752,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - -ReplaceValueTextFormatter +NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -9134,27 +8831,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - -ReplaceValueTextFormatter +NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -9232,27 +8910,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - -ReplaceValueTextFormatter +NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -9330,27 +8989,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - -ReplaceValueTextFormatter +NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -9428,27 +9068,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - -ReplaceValueTextFormatter +NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -9526,27 +9147,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - -ReplaceValueTextFormatter +NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -9624,27 +9226,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - -ReplaceValueTextFormatter +NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -9722,27 +9305,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - -ReplaceValueTextFormatter +NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -9820,27 +9384,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - -ReplaceValueTextFormatter +NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -9924,27 +9469,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - -ReplaceValueTextFormatter +NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -10016,27 +9542,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - -ReplaceValueTextFormatter +NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -10108,27 +9615,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - -ReplaceValueTextFormatter +NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -10200,27 +9688,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - -ReplaceValueTextFormatter +NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -10292,27 +9761,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - -ReplaceValueTextFormatter +NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -10384,27 +9834,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - -ReplaceValueTextFormatter +NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -10476,27 +9907,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - -ReplaceValueTextFormatter +NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -10568,27 +9980,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - -ReplaceValueTextFormatter +NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -10660,27 +10053,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - -ReplaceValueTextFormatter +NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -11401,19 +10775,11 @@ - - 9d1b5af1-0b8f-4b1b-b9a5-c2e6acf72d91 - 3f20cd01-58d4-4c34-9857-9119b8d9f56a - Vbox - true - true - 9d1b5af1-0b8f-4b1b-b9a5-c2e6acf72d91 7a6667cb-c585-4de9-a62f-54a77b1246c2 ГК Сформированные решения о снятии с ВУ true - false false @@ -12390,27 +11756,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - -ReplaceValueTextFormatter +NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -12573,27 +11920,8 @@ textFormatter - - - replaceModels - - - - - - value - -"0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -12670,27 +11998,8 @@ textFormatter - - - replaceModels - - - - - - value - -"0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -12767,27 +12076,8 @@ textFormatter - - - replaceModels - - - - - - value - -"0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -12870,27 +12160,8 @@ textFormatter - - - replaceModels - - - - - - value - -"0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -12961,27 +12232,8 @@ textFormatter - - - replaceModels - - - - - - value - -"0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -13052,27 +12304,8 @@ textFormatter - - - replaceModels - - - - - - value - -"0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -13335,6 +12568,7 @@ f76d2719-8f7b-4beb-92e6-76f67c0ed98b ВК ЕПГУ true + false false @@ -13346,6 +12580,7 @@ 92405751-8a4d-40af-9fad-f67df705f860 ГК Первый ряд true + false false @@ -14120,27 +13355,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - -ReplaceValueTextFormatter +NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -14324,27 +13540,8 @@ textFormatter - - - replaceModels - - - - - - value - -"0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -14426,27 +13623,8 @@ textFormatter - - - replaceModels - - - - - - value - -"0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -14528,27 +13706,8 @@ textFormatter - - - replaceModels - - - - - - value - -"0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -14636,27 +13795,8 @@ textFormatter - - - replaceModels - - - - - - value - -"0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -14745,27 +13885,8 @@ textFormatter - - - replaceModels - - - - - - value - -"0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -14836,27 +13957,8 @@ textFormatter - - - replaceModels - - - - - - value - -"0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -14927,27 +14029,8 @@ textFormatter - - - replaceModels - - - - - - value - -"0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -15024,27 +14107,8 @@ textFormatter - - - replaceModels - - - - - - value - -"0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -16576,27 +15640,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - -ReplaceValueTextFormatter +NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -16765,27 +15810,8 @@ textFormatter - - - replaceModels - - - - - - value - -"0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -16863,27 +15889,8 @@ textFormatter - - - replaceModels - - - - - - value - -"0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -16960,27 +15967,8 @@ textFormatter - - - replaceModels - - - - - - value - -"0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -17057,27 +16045,8 @@ textFormatter - - - replaceModels - - - - - - value - -"0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -17154,27 +16123,8 @@ textFormatter - - - replaceModels - - - - - - value - -"0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -17251,27 +16201,8 @@ textFormatter - - - replaceModels - - - - - - value - -"0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -17348,27 +16279,8 @@ textFormatter - - - replaceModels - - - - - - value - -"0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -17451,27 +16363,8 @@ textFormatter - - - replaceModels - - - - - - value - -"0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -17542,27 +16435,8 @@ textFormatter - - - replaceModels - - - - - - value - -"0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -17633,27 +16507,8 @@ textFormatter - - - replaceModels - - - - - - value - -"0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -17724,27 +16579,8 @@ textFormatter - - - replaceModels - - - - - - value - -"0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -17815,27 +16651,8 @@ textFormatter - - - replaceModels - - - - - - value - -"0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -17906,27 +16723,8 @@ textFormatter - - - replaceModels - - - - - - value - -"0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -17997,27 +16795,8 @@ textFormatter - - - replaceModels - - - - - - value - -"0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -18679,27 +17458,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -19853,27 +18613,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - -ReplaceValueTextFormatter +NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -20036,27 +18777,8 @@ textFormatter - - - replaceModels - - - - - - value - -"0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -20133,27 +18855,8 @@ textFormatter - - - replaceModels - - - - - - value - -"0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -20230,27 +18933,8 @@ textFormatter - - - replaceModels - - - - - - value - -"0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -20333,27 +19017,8 @@ textFormatter - - - replaceModels - - - - - - value - -"0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -20424,27 +19089,8 @@ textFormatter - - - replaceModels - - - - - - value - -"0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -20515,27 +19161,8 @@ textFormatter - - - replaceModels - - - - - - value - -"0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -22214,27 +20841,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - -ReplaceValueTextFormatter +NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -22312,27 +20920,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - -ReplaceValueTextFormatter +NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -22410,27 +20999,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - -ReplaceValueTextFormatter +NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -22508,27 +21078,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - -ReplaceValueTextFormatter +NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -22606,27 +21157,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - -ReplaceValueTextFormatter +NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -22704,27 +21236,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - -ReplaceValueTextFormatter +NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -22802,27 +21315,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - -ReplaceValueTextFormatter +NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -22900,27 +21394,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - -ReplaceValueTextFormatter +NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -22998,27 +21473,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - -ReplaceValueTextFormatter +NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -23102,27 +21558,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - -ReplaceValueTextFormatter +NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -23194,27 +21631,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - -ReplaceValueTextFormatter +NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -23286,27 +21704,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - -ReplaceValueTextFormatter +NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -23378,27 +21777,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - -ReplaceValueTextFormatter +NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -23470,27 +21850,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - -ReplaceValueTextFormatter +NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -23562,27 +21923,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - -ReplaceValueTextFormatter +NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -23654,27 +21996,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - -ReplaceValueTextFormatter +NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -23746,27 +22069,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - -ReplaceValueTextFormatter +NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -23838,27 +22142,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - -ReplaceValueTextFormatter +NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -25592,27 +23877,8 @@ textFormatter - - - replaceModels - - - - - - value - -"0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -25775,27 +24041,8 @@ textFormatter - - - replaceModels - - - - - -value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -25872,27 +24119,8 @@ textFormatter - - - replaceModels - - - - - -value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -25969,27 +24197,8 @@ textFormatter - - - replaceModels - - - - - -value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -26072,27 +24281,8 @@ textFormatter - - - replaceModels - - - - - -value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -26163,27 +24353,8 @@ textFormatter - - - replaceModels - - - - - -value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -26254,27 +24425,8 @@ textFormatter - - - replaceModels - - - - - -value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -26768,27 +24920,9 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - + false - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -27005,6 +25139,7 @@ 952023b4-fcb0-4c95-b164-5612c2b7a6dd ГК Первый ряд true + false false @@ -28009,27 +26144,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - -ReplaceValueTextFormatter +NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -28192,27 +26308,8 @@ textFormatter - - - replaceModels - - - - - - value - -"0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -28289,27 +26386,8 @@ textFormatter - - - replaceModels - - - - - - value - -"0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -28386,27 +26464,8 @@ textFormatter - - - replaceModels - - - - - - value - -"0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -28489,27 +26548,8 @@ textFormatter - - - replaceModels - - - - - - value - -"0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -28580,27 +26620,8 @@ textFormatter - - - replaceModels - - - - - - value - -"0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -28671,27 +26692,8 @@ textFormatter - - - replaceModels - - - - - - value - -"0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -28981,6 +26983,7 @@ 60308693-0f23-461e-8eeb-34c1baea3c2f ГК Второй ряд true + false false @@ -29005,6 +27008,7 @@ 40fa4069-bef6-41d4-be81-e439d18600f9 ВК Отправка уведомлений в ЛК гражданина на ЕПГУ true + false false @@ -29260,6 +27264,7 @@ 1ed640cd-fcde-4bac-bbdc-16771aa831f5 ГК График и показатели true +false false @@ -30368,27 +28373,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - -ReplaceValueTextFormatter +NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -30466,27 +28452,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - -ReplaceValueTextFormatter +NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -30564,27 +28531,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - -ReplaceValueTextFormatter +NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -30662,27 +28610,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - -ReplaceValueTextFormatter +NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -30760,27 +28689,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - -ReplaceValueTextFormatter +NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -30858,27 +28768,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - -ReplaceValueTextFormatter +NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -30956,27 +28847,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - -ReplaceValueTextFormatter +NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -31054,27 +28926,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - -ReplaceValueTextFormatter +NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -31152,27 +29005,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - -ReplaceValueTextFormatter +NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -31256,27 +29090,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - -ReplaceValueTextFormatter +NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -31348,27 +29163,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - -ReplaceValueTextFormatter +NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -31440,27 +29236,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - -ReplaceValueTextFormatter +NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -31532,27 +29309,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - -ReplaceValueTextFormatter +NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -31624,27 +29382,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - -ReplaceValueTextFormatter +NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -31716,27 +29455,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - -ReplaceValueTextFormatter +NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -31808,27 +29528,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - -ReplaceValueTextFormatter +NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -31900,27 +29601,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - -ReplaceValueTextFormatter +NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -31992,27 +29674,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - -ReplaceValueTextFormatter +NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -33619,27 +31282,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - -ReplaceValueTextFormatter +NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -33823,27 +31467,8 @@ textFormatter - - - replaceModels - - - - - - value - -"0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -33925,27 +31550,8 @@ textFormatter - - - replaceModels - - - - - - value - -"0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -34027,27 +31633,8 @@ textFormatter - - - replaceModels - - - - - - value - -"0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -34129,27 +31716,8 @@ textFormatter - - - replaceModels - - - - - - value - -"0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -34232,27 +31800,8 @@ textFormatter - - - replaceModels - - - - - - value - -"0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -34323,27 +31872,8 @@ textFormatter - - - replaceModels - - - - - - value - -"0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -34414,27 +31944,8 @@ textFormatter - - - replaceModels - - - - - - value - -"0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -34505,27 +32016,8 @@ textFormatter - - - replaceModels - - - - - - value - -"0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -34859,6 +32351,7 @@ 22d8f47c-2798-4b0e-b103-407a14cc6ac0 ГК Сформированные решения о снятии с ВУ true + false false @@ -35838,27 +33331,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - -ReplaceValueTextFormatter +NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -36021,27 +33495,8 @@ textFormatter - - - replaceModels - - - - - - value - -"0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -36118,27 +33573,8 @@ textFormatter - - - replaceModels - - - - - - value - -"0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -36215,27 +33651,8 @@ textFormatter - - - replaceModels - - - - - - value - -"0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -36318,27 +33735,8 @@ textFormatter - - - replaceModels - - - - - - value - -"0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -36409,27 +33807,8 @@ textFormatter - - - replaceModels - - - - - - value - -"0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -36500,27 +33879,8 @@ textFormatter - - - replaceModels - - - - - - value - -"0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter diff --git a/resources/src/main/resources/business-model/ervu-business-metrics/updating.page b/resources/src/main/resources/business-model/ervu-business-metrics/updating.page index 3dca4ed..93bc7e0 100644 --- a/resources/src/main/resources/business-model/ervu-business-metrics/updating.page +++ b/resources/src/main/resources/business-model/ervu-business-metrics/updating.page @@ -2490,6 +2490,7 @@ 9bc6be2e-cff9-48ca-8aab-280a3f290a23 ГК Первый ряд true + false false @@ -3471,27 +3472,8 @@ textFormatter - - -replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -3672,27 +3654,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - -ReplaceValueTextFormatter +NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -3768,27 +3731,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - -ReplaceValueTextFormatter +NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -3870,27 +3814,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - -ReplaceValueTextFormatter +NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -3972,27 +3897,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - -ReplaceValueTextFormatter +NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -4074,27 +3980,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - -ReplaceValueTextFormatter +NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -4176,27 +4063,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - -ReplaceValueTextFormatter +NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -4278,27 +4146,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - -ReplaceValueTextFormatter +NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -4380,27 +4229,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - -ReplaceValueTextFormatter +NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -4483,27 +4313,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - -ReplaceValueTextFormatter +NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -4586,27 +4397,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - -ReplaceValueTextFormatter +NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -4677,27 +4469,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - -ReplaceValueTextFormatter +NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -4768,27 +4541,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - -ReplaceValueTextFormatter +NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -4859,27 +4613,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - -ReplaceValueTextFormatter +NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -4950,27 +4685,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - -ReplaceValueTextFormatter +NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -5041,27 +4757,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - -ReplaceValueTextFormatter +NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -5132,27 +4829,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - -ReplaceValueTextFormatter +NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -5223,27 +4901,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - -ReplaceValueTextFormatter +NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -5314,27 +4973,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - -ReplaceValueTextFormatter +NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -5798,6 +5438,7 @@ ef3f9692-ae92-4772-91d3-7f177f5e691a ВК уникальных записей граждан true + false false @@ -6028,27 +5669,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -6163,6 +5785,7 @@ a256c8f1-1935-4a49-8058-5513e08191c0 ГК Второй ряд true + false false @@ -7546,27 +7169,8 @@ textFormatter - - -replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -7644,27 +7248,8 @@ textFormatter - - -replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -7742,27 +7327,8 @@ textFormatter - - -replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -7840,27 +7406,8 @@ textFormatter - - -replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -7938,27 +7485,8 @@ textFormatter - - -replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -8036,27 +7564,8 @@ textFormatter - - -replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -8134,27 +7643,8 @@ textFormatter - - -replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -8232,27 +7722,8 @@ textFormatter - - -replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -8330,27 +7801,8 @@ textFormatter - - -replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -8434,27 +7886,8 @@ textFormatter - - -replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -8526,27 +7959,8 @@ textFormatter - - -replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -8618,27 +8032,8 @@ textFormatter - - -replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -8710,27 +8105,8 @@ textFormatter - - -replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -8802,27 +8178,8 @@ textFormatter - - -replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -8894,27 +8251,8 @@ textFormatter - - -replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -8986,27 +8324,8 @@ textFormatter - - -replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -9078,27 +8397,8 @@ textFormatter - - -replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -9170,27 +8470,8 @@ textFormatter - - -replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -9953,7 +9234,6 @@ 43f837aa-1141-4bd6-b4d4-ef62295bd2ba ВК ЕПГУ true - false false @@ -9965,7 +9245,6 @@ d17e6df1-babb-4dbb-9b29-0400277e0776 ГК Первый ряд true - false false @@ -9990,7 +9269,6 @@ 338ec387-9b16-4fba-9a44-cd35ca77e953 ВК Поступившие заявления true - false false @@ -10863,27 +10141,8 @@ textFormatter - - -replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -11071,27 +10330,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - -ReplaceValueTextFormatter +NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -11167,27 +10407,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - -ReplaceValueTextFormatter +NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -11269,27 +10490,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - -ReplaceValueTextFormatter +NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -11371,27 +10573,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - -ReplaceValueTextFormatter +NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -11473,27 +10656,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - -ReplaceValueTextFormatter +NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -11575,27 +10739,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - -ReplaceValueTextFormatter +NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -11678,27 +10823,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - -ReplaceValueTextFormatter +NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -11769,27 +10895,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - -ReplaceValueTextFormatter +NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -11860,27 +10967,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - -ReplaceValueTextFormatter +NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -11951,27 +11039,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - -ReplaceValueTextFormatter +NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -12042,27 +11111,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - -ReplaceValueTextFormatter +NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -12133,27 +11183,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - -ReplaceValueTextFormatter +NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -13805,27 +12836,8 @@ textFormatter - - -replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -13985,27 +12997,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - -ReplaceValueTextFormatter +NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -14082,27 +13075,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - -ReplaceValueTextFormatter +NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -14180,27 +13154,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - -ReplaceValueTextFormatter +NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -14277,27 +13232,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - -ReplaceValueTextFormatter +NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -14374,27 +13310,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - -ReplaceValueTextFormatter +NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -14471,27 +13388,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - -ReplaceValueTextFormatter +NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -14568,27 +13466,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - -ReplaceValueTextFormatter +NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -14665,27 +13544,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - -ReplaceValueTextFormatter +NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -14762,27 +13622,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - -ReplaceValueTextFormatter +NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -14853,27 +13694,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - -ReplaceValueTextFormatter +NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -14944,27 +13766,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - -ReplaceValueTextFormatter +NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -15035,27 +13838,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - -ReplaceValueTextFormatter +NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -15126,27 +13910,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - -ReplaceValueTextFormatter +NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -15217,27 +13982,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - -ReplaceValueTextFormatter +NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -15308,27 +14054,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - -ReplaceValueTextFormatter +NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -15399,27 +14126,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - -ReplaceValueTextFormatter +NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -16615,27 +15323,8 @@ textFormatter - - -replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -16817,27 +15506,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - -ReplaceValueTextFormatter +NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -16920,27 +15590,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - -ReplaceValueTextFormatter +NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -18479,27 +17130,8 @@ textFormatter - - -replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -18577,27 +17209,8 @@ textFormatter - - -replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -18675,27 +17288,8 @@ textFormatter - - -replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -18773,27 +17367,8 @@ textFormatter - - -replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -18871,27 +17446,8 @@ textFormatter - - -replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -18969,27 +17525,8 @@ textFormatter - - -replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -19067,27 +17604,8 @@ textFormatter - - -replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -19165,27 +17683,8 @@ textFormatter - - -replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -19263,27 +17762,8 @@ textFormatter - - -replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -19367,27 +17847,8 @@ textFormatter - - -replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -19459,27 +17920,8 @@ textFormatter - - -replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -19551,27 +17993,9 @@ textFormatter - - -replaceModels - - - - - - value - - "0" - - - - - - - - + false - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -19643,27 +18067,8 @@ textFormatter - - -replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -19735,27 +18140,8 @@ textFormatter - - -replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -19827,27 +18213,8 @@ textFormatter - - -replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -19919,27 +18286,8 @@ textFormatter - - -replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -20011,27 +18359,8 @@ textFormatter - - -replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -20858,6 +19187,7 @@ 683da71b-655f-45c5-b5fe-da914b814cc2 ВК Личное посещение ВК true + false false @@ -20869,6 +19199,7 @@ 0a26670a-d865-4e81-8f01-30dedfa06629 ГК Первый ряд true + false false @@ -21118,27 +19449,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -21418,13 +19730,6 @@ - - ba24d307-0b91-4299-ba82-9d0b52384ff2 - 17dd07b0-84b2-4222-82bd-d7c55333c4bb - Инциденты - false - true - d7d54cfb-26b5-4dba-b56f-b6247183c24d 12691ab9-6ade-474d-943e-a283c148d81c @@ -21459,27 +19764,8 @@ textFormatter - - - replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -21713,7 +19999,6 @@ a6d5e74b-9662-4d5d-9fd3-a3a796297622 ВК Отправка уведомлений в ЛК гражданина на ЕПГУ true - false false @@ -23067,27 +21352,8 @@ textFormatter - - -replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -23165,27 +21431,8 @@ textFormatter - - -replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -23263,27 +21510,8 @@ textFormatter - - -replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -23361,27 +21589,8 @@ textFormatter - - -replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -23459,27 +21668,8 @@ textFormatter - - -replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -23557,27 +21747,8 @@ textFormatter - - -replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -23655,27 +21826,8 @@ textFormatter - - -replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -23753,27 +21905,8 @@ textFormatter - - -replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -23851,27 +21984,8 @@ textFormatter - - -replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -23955,27 +22069,8 @@ textFormatter - - -replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -24047,27 +22142,8 @@ textFormatter - - -replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -24139,27 +22215,8 @@ textFormatter - - -replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -24231,27 +22288,8 @@ textFormatter - - -replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -24323,27 +22361,8 @@ textFormatter - - -replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -24415,27 +22434,8 @@ textFormatter - - -replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -24507,27 +22507,8 @@ textFormatter - - -replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -24599,27 +22580,8 @@ textFormatter - - -replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter @@ -24691,27 +22653,8 @@ textFormatter - - -replaceModels - - - - - - value - - "0" - - - - - - - - - ReplaceValueTextFormatter + NumberToLocalStringFormatter ervu_business_metrics.formatter From ba85cc67524ab42dee4d63af51bc886cb3097d58 Mon Sep 17 00:00:00 2001 From: Foat Saliakhov Date: Mon, 5 May 2025 14:43:15 +0300 Subject: [PATCH 30/40] =?UTF-8?q?=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=BB?= =?UTF-8?q?=D0=B5=D0=BD=D0=B8=D0=B5=20=D1=80=D0=BE=D0=BB=D0=B5=D0=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ervu-business-metrics/administration.page | 88 +++++++++++++------ 1 file changed, 59 insertions(+), 29 deletions(-) diff --git a/resources/src/main/resources/business-model/ervu-business-metrics/administration.page b/resources/src/main/resources/business-model/ervu-business-metrics/administration.page index 6a5b678..cd9fd42 100644 --- a/resources/src/main/resources/business-model/ervu-business-metrics/administration.page +++ b/resources/src/main/resources/business-model/ervu-business-metrics/administration.page @@ -4059,6 +4059,7 @@ d7d9aff8-1b75-429c-887d-6dda8239df87 Value % true + false false @@ -6308,35 +6309,6 @@ false - - ba24d307-0b91-4299-ba82-9d0b52384ff2 - 581f2843-87f0-4454-9c69-1040dd93ea37 - Администратор военкомата - false - false - - - - initialValue - - "Администратор военкомата" - - - - tooltip - - "Администратор военкомата" - - - - - - - - - false - - ba24d307-0b91-4299-ba82-9d0b52384ff2 16bc82ce-6710-41a1-a91c-ed2b01461575 @@ -6395,6 +6367,64 @@ false + + ba24d307-0b91-4299-ba82-9d0b52384ff2 + 581f2843-87f0-4454-9c69-1040dd93ea37 + Ответственный за защиту информации + false + false + + + + initialValue + + "Ответственный за защиту информации" + + + + tooltip + + "Ответственный за защиту информации" + + + + + + + + + false + + + + ba24d307-0b91-4299-ba82-9d0b52384ff2 + d79613dd-1558-40cb-9704-479756465f74 + Ответственный за защиту информации военного комиссариата субъекта РФ + false + false + + + + initialValue + + "Ответственный за защиту информации военного комиссариата субъекта РФ" + + + + tooltip + + "Ответственный за защиту информации военного комиссариата субъекта РФ" + + + + + + + + + false + + From d1c0b3b01851dfd84c0bb921e2aab3c5b9fe0c36 Mon Sep 17 00:00:00 2001 From: Foat Saliakhov Date: Mon, 5 May 2025 14:52:13 +0300 Subject: [PATCH 31/40] changeSet --- .../config/v_1.0/20250505-db_changes.xml | 54 +++++++++++++++++++ .../resources/config/v_1.0/changelog-1.0.xml | 1 + 2 files changed, 55 insertions(+) create mode 100644 backend/src/main/resources/config/v_1.0/20250505-db_changes.xml diff --git a/backend/src/main/resources/config/v_1.0/20250505-db_changes.xml b/backend/src/main/resources/config/v_1.0/20250505-db_changes.xml new file mode 100644 index 0000000..b032ab3 --- /dev/null +++ b/backend/src/main/resources/config/v_1.0/20250505-db_changes.xml @@ -0,0 +1,54 @@ + + + + + + + ALTER TABLE + + ALTER TABLE IF EXISTS admin_indicators.user_analysis + ADD COLUMN count_responsible_zi bigint NOT NULL DEFAULT 0; + COMMENT ON COLUMN admin_indicators.user_analysis.count_responsible_zi + IS 'Ответственный за ЗИ'; + + + ALTER TABLE IF EXISTS admin_indicators.user_analysis + ADD COLUMN count_responsible_zi_svk bigint NOT NULL DEFAULT 0; + COMMENT ON COLUMN admin_indicators.user_analysis.count_responsible_zi_svk + IS 'Ответственный за ЗИ СВК'; + + + + + CREATE VIEW + + DROP VIEW admin_indicators.view_user_analysis; + + CREATE OR REPLACE VIEW admin_indicators.view_user_analysis + AS + SELECT user_analysis.user_analysis_id, + user_analysis.count_administrator_is + user_analysis.count_administrator_poib + user_analysis.count_employee_gomy + user_analysis.count_observer_gomy + user_analysis.count_supervisor_gomy + user_analysis.count_military_commissar + user_analysis.count_specialist_statements + user_analysis.count_observer_vo + user_analysis.count_observer_vk + user_analysis.count_responsible_zi_svk + user_analysis.count_responsible_zi + user_analysis.count_specialist_military_accounting + user_analysis.count_specialist_acquisition AS count_all, + COALESCE(round(user_analysis.count_administrator_is::numeric * 100::numeric / NULLIF((user_analysis.count_administrator_is + user_analysis.count_administrator_poib + user_analysis.count_employee_gomy + user_analysis.count_observer_gomy + user_analysis.count_supervisor_gomy + user_analysis.count_military_commissar + user_analysis.count_specialist_statements + user_analysis.count_observer_vo + user_analysis.count_observer_vk + user_analysis.count_responsible_zi_svk + user_analysis.count_responsible_zi + user_analysis.count_specialist_military_accounting + user_analysis.count_specialist_acquisition)::numeric, 0::numeric)), 0::numeric) AS percent_administrator_is, + COALESCE(round(user_analysis.count_administrator_poib::numeric * 100::numeric / NULLIF((user_analysis.count_administrator_is + user_analysis.count_administrator_poib + user_analysis.count_employee_gomy + user_analysis.count_observer_gomy + user_analysis.count_supervisor_gomy + user_analysis.count_military_commissar + user_analysis.count_specialist_statements + user_analysis.count_observer_vo + user_analysis.count_observer_vk + user_analysis.count_responsible_zi_svk + user_analysis.count_responsible_zi + user_analysis.count_specialist_military_accounting + user_analysis.count_specialist_acquisition)::numeric, 0::numeric)), 0::numeric) AS percent_administrator_poib, + COALESCE(round(user_analysis.count_employee_gomy::numeric * 100::numeric / NULLIF((user_analysis.count_administrator_is + user_analysis.count_administrator_poib + user_analysis.count_employee_gomy + user_analysis.count_observer_gomy + user_analysis.count_supervisor_gomy + user_analysis.count_military_commissar + user_analysis.count_specialist_statements + user_analysis.count_observer_vo + user_analysis.count_observer_vk + user_analysis.count_responsible_zi_svk + user_analysis.count_responsible_zi + user_analysis.count_specialist_military_accounting + user_analysis.count_specialist_acquisition)::numeric, 0::numeric)), 0::numeric) AS percent_employee_gomy, + COALESCE(round(user_analysis.count_observer_gomy::numeric * 100::numeric / NULLIF((user_analysis.count_administrator_is + user_analysis.count_administrator_poib + user_analysis.count_employee_gomy + user_analysis.count_observer_gomy + user_analysis.count_supervisor_gomy + user_analysis.count_military_commissar + user_analysis.count_specialist_statements + user_analysis.count_observer_vo + user_analysis.count_observer_vk + user_analysis.count_responsible_zi_svk + user_analysis.count_responsible_zi + user_analysis.count_specialist_military_accounting + user_analysis.count_specialist_acquisition)::numeric, 0::numeric)), 0::numeric) AS percent_bserver_gomy, + COALESCE(round(user_analysis.count_supervisor_gomy::numeric * 100::numeric / NULLIF((user_analysis.count_administrator_is + user_analysis.count_administrator_poib + user_analysis.count_employee_gomy + user_analysis.count_observer_gomy + user_analysis.count_supervisor_gomy + user_analysis.count_military_commissar + user_analysis.count_specialist_statements + user_analysis.count_observer_vo + user_analysis.count_observer_vk + user_analysis.count_responsible_zi_svk + user_analysis.count_responsible_zi + user_analysis.count_specialist_military_accounting + user_analysis.count_specialist_acquisition)::numeric, 0::numeric)), 0::numeric) AS percent_supervisor_gomy, + COALESCE(round(user_analysis.count_military_commissar::numeric * 100::numeric / NULLIF((user_analysis.count_administrator_is + user_analysis.count_administrator_poib + user_analysis.count_employee_gomy + user_analysis.count_observer_gomy + user_analysis.count_supervisor_gomy + user_analysis.count_military_commissar + user_analysis.count_specialist_statements + user_analysis.count_observer_vo + user_analysis.count_observer_vk + user_analysis.count_responsible_zi_svk + user_analysis.count_responsible_zi + user_analysis.count_specialist_military_accounting + user_analysis.count_specialist_acquisition)::numeric, 0::numeric)), 0::numeric) AS percent_military_commissar, + COALESCE(round(user_analysis.count_specialist_statements::numeric * 100::numeric / NULLIF((user_analysis.count_administrator_is + user_analysis.count_administrator_poib + user_analysis.count_employee_gomy + user_analysis.count_observer_gomy + user_analysis.count_supervisor_gomy + user_analysis.count_military_commissar + user_analysis.count_specialist_statements + user_analysis.count_observer_vo + user_analysis.count_observer_vk + user_analysis.count_responsible_zi_svk + user_analysis.count_responsible_zi + user_analysis.count_specialist_military_accounting + user_analysis.count_specialist_acquisition)::numeric, 0::numeric)), 0::numeric) AS percent_specialist_statements, + COALESCE(round(user_analysis.count_observer_vo::numeric * 100::numeric / NULLIF((user_analysis.count_administrator_is + user_analysis.count_administrator_poib + user_analysis.count_employee_gomy + user_analysis.count_observer_gomy + user_analysis.count_supervisor_gomy + user_analysis.count_military_commissar + user_analysis.count_specialist_statements + user_analysis.count_observer_vo + user_analysis.count_observer_vk + user_analysis.count_responsible_zi_svk + user_analysis.count_responsible_zi + user_analysis.count_specialist_military_accounting + user_analysis.count_specialist_acquisition)::numeric, 0::numeric)), 0::numeric) AS percent_observer_vo, + COALESCE(round(user_analysis.count_observer_vk::numeric * 100::numeric / NULLIF((user_analysis.count_administrator_is + user_analysis.count_administrator_poib + user_analysis.count_employee_gomy + user_analysis.count_observer_gomy + user_analysis.count_supervisor_gomy + user_analysis.count_military_commissar + user_analysis.count_specialist_statements + user_analysis.count_observer_vo + user_analysis.count_observer_vk + user_analysis.count_responsible_zi_svk + user_analysis.count_responsible_zi + user_analysis.count_specialist_military_accounting + user_analysis.count_specialist_acquisition)::numeric, 0::numeric)), 0::numeric) AS percent_observer_vk, + COALESCE(round(user_analysis.count_responsible_zi::numeric * 100::numeric / NULLIF((user_analysis.count_administrator_is + user_analysis.count_administrator_poib + user_analysis.count_employee_gomy + user_analysis.count_observer_gomy + user_analysis.count_supervisor_gomy + user_analysis.count_military_commissar + user_analysis.count_specialist_statements + user_analysis.count_observer_vo + user_analysis.count_observer_vk + user_analysis.count_responsible_zi_svk + user_analysis.count_responsible_zi + user_analysis.count_specialist_military_accounting + user_analysis.count_specialist_acquisition)::numeric, 0::numeric)), 0::numeric) AS percent_responsible_zi, + COALESCE(round(user_analysis.count_specialist_military_accounting::numeric * 100::numeric / NULLIF((user_analysis.count_administrator_is + user_analysis.count_administrator_poib + user_analysis.count_employee_gomy + user_analysis.count_observer_gomy + user_analysis.count_supervisor_gomy + user_analysis.count_military_commissar + user_analysis.count_specialist_statements + user_analysis.count_observer_vo + user_analysis.count_observer_vk + user_analysis.count_responsible_zi_svk + user_analysis.count_responsible_zi + user_analysis.count_specialist_military_accounting + user_analysis.count_specialist_acquisition)::numeric, 0::numeric)), 0::numeric) AS percent_specialist_military_accounting, + COALESCE(round(user_analysis.count_specialist_acquisition::numeric * 100::numeric / NULLIF((user_analysis.count_administrator_is + user_analysis.count_administrator_poib + user_analysis.count_employee_gomy + user_analysis.count_observer_gomy + user_analysis.count_supervisor_gomy + user_analysis.count_military_commissar + user_analysis.count_specialist_statements + user_analysis.count_observer_vo + user_analysis.count_observer_vk + user_analysis.count_responsible_zi_svk + user_analysis.count_responsible_zi + user_analysis.count_specialist_military_accounting + user_analysis.count_specialist_acquisition)::numeric, 0::numeric)), 0::numeric) AS percent_specialist_acquisition, + COALESCE(round(user_analysis.count_responsible_zi_svk::numeric * 100::numeric / NULLIF((user_analysis.count_administrator_is + user_analysis.count_administrator_poib + user_analysis.count_employee_gomy + user_analysis.count_observer_gomy + user_analysis.count_supervisor_gomy + user_analysis.count_military_commissar + user_analysis.count_specialist_statements + user_analysis.count_observer_vo + user_analysis.count_observer_vk + user_analysis.count_responsible_zi_svk + user_analysis.count_responsible_zi + user_analysis.count_specialist_military_accounting + user_analysis.count_specialist_acquisition)::numeric, 0::numeric)), 0::numeric) AS percent_responsible_zi_svk + FROM admin_indicators.user_analysis; + + ALTER TABLE admin_indicators.view_user_analysis + OWNER TO ervu_business_metrics; + + + \ No newline at end of file diff --git a/backend/src/main/resources/config/v_1.0/changelog-1.0.xml b/backend/src/main/resources/config/v_1.0/changelog-1.0.xml index e2fd638..c648254 100644 --- a/backend/src/main/resources/config/v_1.0/changelog-1.0.xml +++ b/backend/src/main/resources/config/v_1.0/changelog-1.0.xml @@ -29,6 +29,7 @@ + \ No newline at end of file From 585ad096a3bd68ba4005c34f30086f4bafb71552 Mon Sep 17 00:00:00 2001 From: Foat Saliakhov Date: Mon, 5 May 2025 15:12:47 +0300 Subject: [PATCH 32/40] =?UTF-8?q?=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=BB?= =?UTF-8?q?=D0=B5=D0=BD=D0=B8=D0=B5=20=D1=80=D0=BE=D0=BB=D0=B5=D0=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../actualization/tables/ViewAppReason.java | 12 +- .../admin_indicators/tables/UserAnalysis.java | 14 + .../tables/ViewUserAnalysis.java | 37 +- .../tables/records/UserAnalysisRecord.java | 40 +- .../records/ViewUserAnalysisRecord.java | 29 +- .../tables/records/AccountRecord.java | 17 +- .../metrics/tables/CitizenAppeals.java | 2 +- .../ervu-business-metrics/administration.page | 415 ++++++++++++------ 8 files changed, 382 insertions(+), 184 deletions(-) diff --git a/backend/src/main/java/ru/micord/webbpm/ervu/business_metrics/db_beans/actualization/tables/ViewAppReason.java b/backend/src/main/java/ru/micord/webbpm/ervu/business_metrics/db_beans/actualization/tables/ViewAppReason.java index 9e21b5d..b50b1f1 100644 --- a/backend/src/main/java/ru/micord/webbpm/ervu/business_metrics/db_beans/actualization/tables/ViewAppReason.java +++ b/backend/src/main/java/ru/micord/webbpm/ervu/business_metrics/db_beans/actualization/tables/ViewAppReason.java @@ -93,12 +93,12 @@ public class ViewAppReason extends TableImpl { private ViewAppReason(Name alias, Table aliased, Field[] parameters, Condition where) { super(alias, null, aliased, parameters, DSL.comment(""), TableOptions.view(""" create view "view_app_reason" as SELECT app_reason.app_reason_id, - COALESCE(round((((app_reason.count_place_of_stay)::numeric * (100)::numeric) / NULLIF((app_reason.count_all)::numeric, (0)::numeric))), (0)::numeric) AS percent_place_of_stay, - COALESCE(round((((app_reason.count_work)::numeric * (100)::numeric) / NULLIF((app_reason.count_all)::numeric, (0)::numeric))), (0)::numeric) AS percent_work, - COALESCE(round((((app_reason.count_place_of_study)::numeric * (100)::numeric) / NULLIF((app_reason.count_all)::numeric, (0)::numeric))), (0)::numeric) AS percent_place_of_study, - COALESCE(round((((app_reason.count_family_status)::numeric * (100)::numeric) / NULLIF((app_reason.count_all)::numeric, (0)::numeric))), (0)::numeric) AS percent_family_status, - COALESCE(round((((app_reason.count_education)::numeric * (100)::numeric) / NULLIF((app_reason.count_all)::numeric, (0)::numeric))), (0)::numeric) AS percent_education, - COALESCE(round((((app_reason.count_renaming)::numeric * (100)::numeric) / NULLIF((app_reason.count_all)::numeric, (0)::numeric))), (0)::numeric) AS percent_renaming + COALESCE(round((((app_reason.count_place_of_stay)::numeric * (100)::numeric) / NULLIF((((((((app_reason.count_place_of_stay + app_reason.count_work) + app_reason.count_place_of_study) + app_reason.count_family_status) + app_reason.count_education) + app_reason.count_education) + app_reason.count_renaming))::numeric, (0)::numeric))), (0)::numeric) AS percent_place_of_stay, + COALESCE(round((((app_reason.count_work)::numeric * (100)::numeric) / NULLIF((((((((app_reason.count_place_of_stay + app_reason.count_work) + app_reason.count_place_of_study) + app_reason.count_family_status) + app_reason.count_education) + app_reason.count_education) + app_reason.count_renaming))::numeric, (0)::numeric))), (0)::numeric) AS percent_work, + COALESCE(round((((app_reason.count_place_of_study)::numeric * (100)::numeric) / NULLIF((((((((app_reason.count_place_of_stay + app_reason.count_work) + app_reason.count_place_of_study) + app_reason.count_family_status) + app_reason.count_education) + app_reason.count_education) + app_reason.count_renaming))::numeric, (0)::numeric))), (0)::numeric) AS percent_place_of_study, + COALESCE(round((((app_reason.count_family_status)::numeric * (100)::numeric) / NULLIF((((((((app_reason.count_place_of_stay + app_reason.count_work) + app_reason.count_place_of_study) + app_reason.count_family_status) + app_reason.count_education) + app_reason.count_education) + app_reason.count_renaming))::numeric, (0)::numeric))), (0)::numeric) AS percent_family_status, + COALESCE(round((((app_reason.count_education)::numeric * (100)::numeric) / NULLIF((((((((app_reason.count_place_of_stay + app_reason.count_work) + app_reason.count_place_of_study) + app_reason.count_family_status) + app_reason.count_education) + app_reason.count_education) + app_reason.count_renaming))::numeric, (0)::numeric))), (0)::numeric) AS percent_education, + COALESCE(round((((app_reason.count_renaming)::numeric * (100)::numeric) / NULLIF((((((((app_reason.count_place_of_stay + app_reason.count_work) + app_reason.count_place_of_study) + app_reason.count_family_status) + app_reason.count_education) + app_reason.count_education) + app_reason.count_renaming))::numeric, (0)::numeric))), (0)::numeric) AS percent_renaming FROM actualization.app_reason; """), where); } diff --git a/backend/src/main/java/ru/micord/webbpm/ervu/business_metrics/db_beans/admin_indicators/tables/UserAnalysis.java b/backend/src/main/java/ru/micord/webbpm/ervu/business_metrics/db_beans/admin_indicators/tables/UserAnalysis.java index d791258..7cddd63 100644 --- a/backend/src/main/java/ru/micord/webbpm/ervu/business_metrics/db_beans/admin_indicators/tables/UserAnalysis.java +++ b/backend/src/main/java/ru/micord/webbpm/ervu/business_metrics/db_beans/admin_indicators/tables/UserAnalysis.java @@ -173,6 +173,20 @@ public class UserAnalysis extends TableImpl { */ public final TableField RECRUITMENT_ID = createField(DSL.name("recruitment_id"), SQLDataType.VARCHAR(36).nullable(false), this, ""); + /** + * The column + * admin_indicators.user_analysis.count_responsible_zi. + * Ответственный за ЗИ + */ + public final TableField COUNT_RESPONSIBLE_ZI = createField(DSL.name("count_responsible_zi"), SQLDataType.BIGINT.nullable(false).defaultValue(DSL.field(DSL.raw("0"), SQLDataType.BIGINT)), this, "Ответственный за ЗИ"); + + /** + * The column + * admin_indicators.user_analysis.count_responsible_zi_svk. + * Ответственный за ЗИ СВК + */ + public final TableField COUNT_RESPONSIBLE_ZI_SVK = createField(DSL.name("count_responsible_zi_svk"), SQLDataType.BIGINT.nullable(false).defaultValue(DSL.field(DSL.raw("0"), SQLDataType.BIGINT)), this, "Ответственный за ЗИ СВК"); + private UserAnalysis(Name alias, Table aliased) { this(alias, aliased, (Field[]) null, null); } diff --git a/backend/src/main/java/ru/micord/webbpm/ervu/business_metrics/db_beans/admin_indicators/tables/ViewUserAnalysis.java b/backend/src/main/java/ru/micord/webbpm/ervu/business_metrics/db_beans/admin_indicators/tables/ViewUserAnalysis.java index d501366..5ac843c 100644 --- a/backend/src/main/java/ru/micord/webbpm/ervu/business_metrics/db_beans/admin_indicators/tables/ViewUserAnalysis.java +++ b/backend/src/main/java/ru/micord/webbpm/ervu/business_metrics/db_beans/admin_indicators/tables/ViewUserAnalysis.java @@ -116,9 +116,9 @@ public class ViewUserAnalysis extends TableImpl { /** * The column - * admin_indicators.view_user_analysis.percent_administrator_military_office. + * admin_indicators.view_user_analysis.percent_responsible_zi. */ - public final TableField PERCENT_ADMINISTRATOR_MILITARY_OFFICE = createField(DSL.name("percent_administrator_military_office"), SQLDataType.NUMERIC, this, ""); + public final TableField PERCENT_RESPONSIBLE_ZI = createField(DSL.name("percent_responsible_zi"), SQLDataType.NUMERIC, this, ""); /** * The column @@ -132,6 +132,12 @@ public class ViewUserAnalysis extends TableImpl { */ public final TableField PERCENT_SPECIALIST_ACQUISITION = createField(DSL.name("percent_specialist_acquisition"), SQLDataType.NUMERIC, this, ""); + /** + * The column + * admin_indicators.view_user_analysis.percent_responsible_zi_svk. + */ + public final TableField PERCENT_RESPONSIBLE_ZI_SVK = createField(DSL.name("percent_responsible_zi_svk"), SQLDataType.NUMERIC, this, ""); + private ViewUserAnalysis(Name alias, Table aliased) { this(alias, aliased, (Field[]) null, null); } @@ -139,19 +145,20 @@ public class ViewUserAnalysis extends TableImpl { private ViewUserAnalysis(Name alias, Table aliased, Field[] parameters, Condition where) { super(alias, null, aliased, parameters, DSL.comment(""), TableOptions.view(""" create view "view_user_analysis" as SELECT user_analysis.user_analysis_id, - (((((((((((user_analysis.count_administrator_is + user_analysis.count_administrator_poib) + user_analysis.count_employee_gomy) + user_analysis.count_observer_gomy) + user_analysis.count_supervisor_gomy) + user_analysis.count_military_commissar) + user_analysis.count_specialist_statements) + user_analysis.count_observer_vo) + user_analysis.count_observer_vk) + user_analysis.count_administrator_military_office) + user_analysis.count_specialist_military_accounting) + user_analysis.count_specialist_acquisition) AS count_all, - COALESCE(round((((user_analysis.count_administrator_is)::numeric * (100)::numeric) / NULLIF(((((((((((((user_analysis.count_administrator_is + user_analysis.count_administrator_poib) + user_analysis.count_employee_gomy) + user_analysis.count_observer_gomy) + user_analysis.count_supervisor_gomy) + user_analysis.count_military_commissar) + user_analysis.count_specialist_statements) + user_analysis.count_observer_vo) + user_analysis.count_observer_vk) + user_analysis.count_administrator_military_office) + user_analysis.count_specialist_military_accounting) + user_analysis.count_specialist_acquisition))::numeric, (0)::numeric))), (0)::numeric) AS percent_administrator_is, - COALESCE(round((((user_analysis.count_administrator_poib)::numeric * (100)::numeric) / NULLIF(((((((((((((user_analysis.count_administrator_is + user_analysis.count_administrator_poib) + user_analysis.count_employee_gomy) + user_analysis.count_observer_gomy) + user_analysis.count_supervisor_gomy) + user_analysis.count_military_commissar) + user_analysis.count_specialist_statements) + user_analysis.count_observer_vo) + user_analysis.count_observer_vk) + user_analysis.count_administrator_military_office) + user_analysis.count_specialist_military_accounting) + user_analysis.count_specialist_acquisition))::numeric, (0)::numeric))), (0)::numeric) AS percent_administrator_poib, - COALESCE(round((((user_analysis.count_employee_gomy)::numeric * (100)::numeric) / NULLIF(((((((((((((user_analysis.count_administrator_is + user_analysis.count_administrator_poib) + user_analysis.count_employee_gomy) + user_analysis.count_observer_gomy) + user_analysis.count_supervisor_gomy) + user_analysis.count_military_commissar) + user_analysis.count_specialist_statements) + user_analysis.count_observer_vo) + user_analysis.count_observer_vk) + user_analysis.count_administrator_military_office) + user_analysis.count_specialist_military_accounting) + user_analysis.count_specialist_acquisition))::numeric, (0)::numeric))), (0)::numeric) AS percent_employee_gomy, - COALESCE(round((((user_analysis.count_observer_gomy)::numeric * (100)::numeric) / NULLIF(((((((((((((user_analysis.count_administrator_is + user_analysis.count_administrator_poib) + user_analysis.count_employee_gomy) + user_analysis.count_observer_gomy) + user_analysis.count_supervisor_gomy) + user_analysis.count_military_commissar) + user_analysis.count_specialist_statements) + user_analysis.count_observer_vo) + user_analysis.count_observer_vk) + user_analysis.count_administrator_military_office) + user_analysis.count_specialist_military_accounting) + user_analysis.count_specialist_acquisition))::numeric, (0)::numeric))), (0)::numeric) AS percent_bserver_gomy, - COALESCE(round((((user_analysis.count_supervisor_gomy)::numeric * (100)::numeric) / NULLIF(((((((((((((user_analysis.count_administrator_is + user_analysis.count_administrator_poib) + user_analysis.count_employee_gomy) + user_analysis.count_observer_gomy) + user_analysis.count_supervisor_gomy) + user_analysis.count_military_commissar) + user_analysis.count_specialist_statements) + user_analysis.count_observer_vo) + user_analysis.count_observer_vk) + user_analysis.count_administrator_military_office) + user_analysis.count_specialist_military_accounting) + user_analysis.count_specialist_acquisition))::numeric, (0)::numeric))), (0)::numeric) AS percent_supervisor_gomy, - COALESCE(round((((user_analysis.count_military_commissar)::numeric * (100)::numeric) / NULLIF(((((((((((((user_analysis.count_administrator_is + user_analysis.count_administrator_poib) + user_analysis.count_employee_gomy) + user_analysis.count_observer_gomy) + user_analysis.count_supervisor_gomy) + user_analysis.count_military_commissar) + user_analysis.count_specialist_statements) + user_analysis.count_observer_vo) + user_analysis.count_observer_vk) + user_analysis.count_administrator_military_office) + user_analysis.count_specialist_military_accounting) + user_analysis.count_specialist_acquisition))::numeric, (0)::numeric))), (0)::numeric) AS percent_military_commissar, - COALESCE(round((((user_analysis.count_specialist_statements)::numeric * (100)::numeric) / NULLIF(((((((((((((user_analysis.count_administrator_is + user_analysis.count_administrator_poib) + user_analysis.count_employee_gomy) + user_analysis.count_observer_gomy) + user_analysis.count_supervisor_gomy) + user_analysis.count_military_commissar) + user_analysis.count_specialist_statements) + user_analysis.count_observer_vo) + user_analysis.count_observer_vk) + user_analysis.count_administrator_military_office) + user_analysis.count_specialist_military_accounting) + user_analysis.count_specialist_acquisition))::numeric, (0)::numeric))), (0)::numeric) AS percent_specialist_statements, - COALESCE(round((((user_analysis.count_observer_vo)::numeric * (100)::numeric) / NULLIF(((((((((((((user_analysis.count_administrator_is + user_analysis.count_administrator_poib) + user_analysis.count_employee_gomy) + user_analysis.count_observer_gomy) + user_analysis.count_supervisor_gomy) + user_analysis.count_military_commissar) + user_analysis.count_specialist_statements) + user_analysis.count_observer_vo) + user_analysis.count_observer_vk) + user_analysis.count_administrator_military_office) + user_analysis.count_specialist_military_accounting) + user_analysis.count_specialist_acquisition))::numeric, (0)::numeric))), (0)::numeric) AS percent_observer_vo, - COALESCE(round((((user_analysis.count_observer_vk)::numeric * (100)::numeric) / NULLIF(((((((((((((user_analysis.count_administrator_is + user_analysis.count_administrator_poib) + user_analysis.count_employee_gomy) + user_analysis.count_observer_gomy) + user_analysis.count_supervisor_gomy) + user_analysis.count_military_commissar) + user_analysis.count_specialist_statements) + user_analysis.count_observer_vo) + user_analysis.count_observer_vk) + user_analysis.count_administrator_military_office) + user_analysis.count_specialist_military_accounting) + user_analysis.count_specialist_acquisition))::numeric, (0)::numeric))), (0)::numeric) AS percent_observer_vk, - COALESCE(round((((user_analysis.count_administrator_military_office)::numeric * (100)::numeric) / NULLIF(((((((((((((user_analysis.count_administrator_is + user_analysis.count_administrator_poib) + user_analysis.count_employee_gomy) + user_analysis.count_observer_gomy) + user_analysis.count_supervisor_gomy) + user_analysis.count_military_commissar) + user_analysis.count_specialist_statements) + user_analysis.count_observer_vo) + user_analysis.count_observer_vk) + user_analysis.count_administrator_military_office) + user_analysis.count_specialist_military_accounting) + user_analysis.count_specialist_acquisition))::numeric, (0)::numeric))), (0)::numeric) AS percent_administrator_military_office, - COALESCE(round((((user_analysis.count_specialist_military_accounting)::numeric * (100)::numeric) / NULLIF(((((((((((((user_analysis.count_administrator_is + user_analysis.count_administrator_poib) + user_analysis.count_employee_gomy) + user_analysis.count_observer_gomy) + user_analysis.count_supervisor_gomy) + user_analysis.count_military_commissar) + user_analysis.count_specialist_statements) + user_analysis.count_observer_vo) + user_analysis.count_observer_vk) + user_analysis.count_administrator_military_office) + user_analysis.count_specialist_military_accounting) + user_analysis.count_specialist_acquisition))::numeric, (0)::numeric))), (0)::numeric) AS percent_specialist_military_accounting, - COALESCE(round((((user_analysis.count_specialist_acquisition)::numeric * (100)::numeric) / NULLIF(((((((((((((user_analysis.count_administrator_is + user_analysis.count_administrator_poib) + user_analysis.count_employee_gomy) + user_analysis.count_observer_gomy) + user_analysis.count_supervisor_gomy) + user_analysis.count_military_commissar) + user_analysis.count_specialist_statements) + user_analysis.count_observer_vo) + user_analysis.count_observer_vk) + user_analysis.count_administrator_military_office) + user_analysis.count_specialist_military_accounting) + user_analysis.count_specialist_acquisition))::numeric, (0)::numeric))), (0)::numeric) AS percent_specialist_acquisition + ((((((((((((user_analysis.count_administrator_is + user_analysis.count_administrator_poib) + user_analysis.count_employee_gomy) + user_analysis.count_observer_gomy) + user_analysis.count_supervisor_gomy) + user_analysis.count_military_commissar) + user_analysis.count_specialist_statements) + user_analysis.count_observer_vo) + user_analysis.count_observer_vk) + user_analysis.count_responsible_zi_svk) + user_analysis.count_responsible_zi) + user_analysis.count_specialist_military_accounting) + user_analysis.count_specialist_acquisition) AS count_all, + COALESCE(round((((user_analysis.count_administrator_is)::numeric * (100)::numeric) / NULLIF((((((((((((((user_analysis.count_administrator_is + user_analysis.count_administrator_poib) + user_analysis.count_employee_gomy) + user_analysis.count_observer_gomy) + user_analysis.count_supervisor_gomy) + user_analysis.count_military_commissar) + user_analysis.count_specialist_statements) + user_analysis.count_observer_vo) + user_analysis.count_observer_vk) + user_analysis.count_responsible_zi_svk) + user_analysis.count_responsible_zi) + user_analysis.count_specialist_military_accounting) + user_analysis.count_specialist_acquisition))::numeric, (0)::numeric))), (0)::numeric) AS percent_administrator_is, + COALESCE(round((((user_analysis.count_administrator_poib)::numeric * (100)::numeric) / NULLIF((((((((((((((user_analysis.count_administrator_is + user_analysis.count_administrator_poib) + user_analysis.count_employee_gomy) + user_analysis.count_observer_gomy) + user_analysis.count_supervisor_gomy) + user_analysis.count_military_commissar) + user_analysis.count_specialist_statements) + user_analysis.count_observer_vo) + user_analysis.count_observer_vk) + user_analysis.count_responsible_zi_svk) + user_analysis.count_responsible_zi) + user_analysis.count_specialist_military_accounting) + user_analysis.count_specialist_acquisition))::numeric, (0)::numeric))), (0)::numeric) AS percent_administrator_poib, + COALESCE(round((((user_analysis.count_employee_gomy)::numeric * (100)::numeric) / NULLIF((((((((((((((user_analysis.count_administrator_is + user_analysis.count_administrator_poib) + user_analysis.count_employee_gomy) + user_analysis.count_observer_gomy) + user_analysis.count_supervisor_gomy) + user_analysis.count_military_commissar) + user_analysis.count_specialist_statements) + user_analysis.count_observer_vo) + user_analysis.count_observer_vk) + user_analysis.count_responsible_zi_svk) + user_analysis.count_responsible_zi) + user_analysis.count_specialist_military_accounting) + user_analysis.count_specialist_acquisition))::numeric, (0)::numeric))), (0)::numeric) AS percent_employee_gomy, + COALESCE(round((((user_analysis.count_observer_gomy)::numeric * (100)::numeric) / NULLIF((((((((((((((user_analysis.count_administrator_is + user_analysis.count_administrator_poib) + user_analysis.count_employee_gomy) + user_analysis.count_observer_gomy) + user_analysis.count_supervisor_gomy) + user_analysis.count_military_commissar) + user_analysis.count_specialist_statements) + user_analysis.count_observer_vo) + user_analysis.count_observer_vk) + user_analysis.count_responsible_zi_svk) + user_analysis.count_responsible_zi) + user_analysis.count_specialist_military_accounting) + user_analysis.count_specialist_acquisition))::numeric, (0)::numeric))), (0)::numeric) AS percent_bserver_gomy, + COALESCE(round((((user_analysis.count_supervisor_gomy)::numeric * (100)::numeric) / NULLIF((((((((((((((user_analysis.count_administrator_is + user_analysis.count_administrator_poib) + user_analysis.count_employee_gomy) + user_analysis.count_observer_gomy) + user_analysis.count_supervisor_gomy) + user_analysis.count_military_commissar) + user_analysis.count_specialist_statements) + user_analysis.count_observer_vo) + user_analysis.count_observer_vk) + user_analysis.count_responsible_zi_svk) + user_analysis.count_responsible_zi) + user_analysis.count_specialist_military_accounting) + user_analysis.count_specialist_acquisition))::numeric, (0)::numeric))), (0)::numeric) AS percent_supervisor_gomy, + COALESCE(round((((user_analysis.count_military_commissar)::numeric * (100)::numeric) / NULLIF((((((((((((((user_analysis.count_administrator_is + user_analysis.count_administrator_poib) + user_analysis.count_employee_gomy) + user_analysis.count_observer_gomy) + user_analysis.count_supervisor_gomy) + user_analysis.count_military_commissar) + user_analysis.count_specialist_statements) + user_analysis.count_observer_vo) + user_analysis.count_observer_vk) + user_analysis.count_responsible_zi_svk) + user_analysis.count_responsible_zi) + user_analysis.count_specialist_military_accounting) + user_analysis.count_specialist_acquisition))::numeric, (0)::numeric))), (0)::numeric) AS percent_military_commissar, + COALESCE(round((((user_analysis.count_specialist_statements)::numeric * (100)::numeric) / NULLIF((((((((((((((user_analysis.count_administrator_is + user_analysis.count_administrator_poib) + user_analysis.count_employee_gomy) + user_analysis.count_observer_gomy) + user_analysis.count_supervisor_gomy) + user_analysis.count_military_commissar) + user_analysis.count_specialist_statements) + user_analysis.count_observer_vo) + user_analysis.count_observer_vk) + user_analysis.count_responsible_zi_svk) + user_analysis.count_responsible_zi) + user_analysis.count_specialist_military_accounting) + user_analysis.count_specialist_acquisition))::numeric, (0)::numeric))), (0)::numeric) AS percent_specialist_statements, + COALESCE(round((((user_analysis.count_observer_vo)::numeric * (100)::numeric) / NULLIF((((((((((((((user_analysis.count_administrator_is + user_analysis.count_administrator_poib) + user_analysis.count_employee_gomy) + user_analysis.count_observer_gomy) + user_analysis.count_supervisor_gomy) + user_analysis.count_military_commissar) + user_analysis.count_specialist_statements) + user_analysis.count_observer_vo) + user_analysis.count_observer_vk) + user_analysis.count_responsible_zi_svk) + user_analysis.count_responsible_zi) + user_analysis.count_specialist_military_accounting) + user_analysis.count_specialist_acquisition))::numeric, (0)::numeric))), (0)::numeric) AS percent_observer_vo, + COALESCE(round((((user_analysis.count_observer_vk)::numeric * (100)::numeric) / NULLIF((((((((((((((user_analysis.count_administrator_is + user_analysis.count_administrator_poib) + user_analysis.count_employee_gomy) + user_analysis.count_observer_gomy) + user_analysis.count_supervisor_gomy) + user_analysis.count_military_commissar) + user_analysis.count_specialist_statements) + user_analysis.count_observer_vo) + user_analysis.count_observer_vk) + user_analysis.count_responsible_zi_svk) + user_analysis.count_responsible_zi) + user_analysis.count_specialist_military_accounting) + user_analysis.count_specialist_acquisition))::numeric, (0)::numeric))), (0)::numeric) AS percent_observer_vk, + COALESCE(round((((user_analysis.count_responsible_zi)::numeric * (100)::numeric) / NULLIF((((((((((((((user_analysis.count_administrator_is + user_analysis.count_administrator_poib) + user_analysis.count_employee_gomy) + user_analysis.count_observer_gomy) + user_analysis.count_supervisor_gomy) + user_analysis.count_military_commissar) + user_analysis.count_specialist_statements) + user_analysis.count_observer_vo) + user_analysis.count_observer_vk) + user_analysis.count_responsible_zi_svk) + user_analysis.count_responsible_zi) + user_analysis.count_specialist_military_accounting) + user_analysis.count_specialist_acquisition))::numeric, (0)::numeric))), (0)::numeric) AS percent_responsible_zi, + COALESCE(round((((user_analysis.count_specialist_military_accounting)::numeric * (100)::numeric) / NULLIF((((((((((((((user_analysis.count_administrator_is + user_analysis.count_administrator_poib) + user_analysis.count_employee_gomy) + user_analysis.count_observer_gomy) + user_analysis.count_supervisor_gomy) + user_analysis.count_military_commissar) + user_analysis.count_specialist_statements) + user_analysis.count_observer_vo) + user_analysis.count_observer_vk) + user_analysis.count_responsible_zi_svk) + user_analysis.count_responsible_zi) + user_analysis.count_specialist_military_accounting) + user_analysis.count_specialist_acquisition))::numeric, (0)::numeric))), (0)::numeric) AS percent_specialist_military_accounting, + COALESCE(round((((user_analysis.count_specialist_acquisition)::numeric * (100)::numeric) / NULLIF((((((((((((((user_analysis.count_administrator_is + user_analysis.count_administrator_poib) + user_analysis.count_employee_gomy) + user_analysis.count_observer_gomy) + user_analysis.count_supervisor_gomy) + user_analysis.count_military_commissar) + user_analysis.count_specialist_statements) + user_analysis.count_observer_vo) + user_analysis.count_observer_vk) + user_analysis.count_responsible_zi_svk) + user_analysis.count_responsible_zi) + user_analysis.count_specialist_military_accounting) + user_analysis.count_specialist_acquisition))::numeric, (0)::numeric))), (0)::numeric) AS percent_specialist_acquisition, + COALESCE(round((((user_analysis.count_responsible_zi_svk)::numeric * (100)::numeric) / NULLIF((((((((((((((user_analysis.count_administrator_is + user_analysis.count_administrator_poib) + user_analysis.count_employee_gomy) + user_analysis.count_observer_gomy) + user_analysis.count_supervisor_gomy) + user_analysis.count_military_commissar) + user_analysis.count_specialist_statements) + user_analysis.count_observer_vo) + user_analysis.count_observer_vk) + user_analysis.count_responsible_zi_svk) + user_analysis.count_responsible_zi) + user_analysis.count_specialist_military_accounting) + user_analysis.count_specialist_acquisition))::numeric, (0)::numeric))), (0)::numeric) AS percent_responsible_zi_svk FROM admin_indicators.user_analysis; """), where); } diff --git a/backend/src/main/java/ru/micord/webbpm/ervu/business_metrics/db_beans/admin_indicators/tables/records/UserAnalysisRecord.java b/backend/src/main/java/ru/micord/webbpm/ervu/business_metrics/db_beans/admin_indicators/tables/records/UserAnalysisRecord.java index 1edd746..7e38807 100644 --- a/backend/src/main/java/ru/micord/webbpm/ervu/business_metrics/db_beans/admin_indicators/tables/records/UserAnalysisRecord.java +++ b/backend/src/main/java/ru/micord/webbpm/ervu/business_metrics/db_beans/admin_indicators/tables/records/UserAnalysisRecord.java @@ -339,6 +339,42 @@ public class UserAnalysisRecord extends UpdatableRecordImpl return (String) get(18); } + /** + * Setter for + * admin_indicators.user_analysis.count_responsible_zi. + * Ответственный за ЗИ + */ + public void setCountResponsibleZi(Long value) { + set(19, value); + } + + /** + * Getter for + * admin_indicators.user_analysis.count_responsible_zi. + * Ответственный за ЗИ + */ + public Long getCountResponsibleZi() { + return (Long) get(19); + } + + /** + * Setter for + * admin_indicators.user_analysis.count_responsible_zi_svk. + * Ответственный за ЗИ СВК + */ + public void setCountResponsibleZiSvk(Long value) { + set(20, value); + } + + /** + * Getter for + * admin_indicators.user_analysis.count_responsible_zi_svk. + * Ответственный за ЗИ СВК + */ + public Long getCountResponsibleZiSvk() { + return (Long) get(20); + } + // ------------------------------------------------------------------------- // Primary key information // ------------------------------------------------------------------------- @@ -362,7 +398,7 @@ public class UserAnalysisRecord extends UpdatableRecordImpl /** * Create a detached, initialised UserAnalysisRecord */ - public UserAnalysisRecord(Long userAnalysisId, Timestamp updateDate, Date infoDate, Long countOffices, Long countRegUsers, Long countInvalidAuthentication, Long countAdministratorIs, Long countAdministratorPoib, Long countEmployeeGomy, Long countObserverGomy, Long countSupervisorGomy, Long countMilitaryCommissar, Long countSpecialistStatements, Long countObserverVo, Long countObserverVk, Long countAdministratorMilitaryOffice, Long countSpecialistMilitaryAccounting, Long countSpecialistAcquisition, String recruitmentId) { + public UserAnalysisRecord(Long userAnalysisId, Timestamp updateDate, Date infoDate, Long countOffices, Long countRegUsers, Long countInvalidAuthentication, Long countAdministratorIs, Long countAdministratorPoib, Long countEmployeeGomy, Long countObserverGomy, Long countSupervisorGomy, Long countMilitaryCommissar, Long countSpecialistStatements, Long countObserverVo, Long countObserverVk, Long countAdministratorMilitaryOffice, Long countSpecialistMilitaryAccounting, Long countSpecialistAcquisition, String recruitmentId, Long countResponsibleZi, Long countResponsibleZiSvk) { super(UserAnalysis.USER_ANALYSIS); setUserAnalysisId(userAnalysisId); @@ -384,6 +420,8 @@ public class UserAnalysisRecord extends UpdatableRecordImpl setCountSpecialistMilitaryAccounting(countSpecialistMilitaryAccounting); setCountSpecialistAcquisition(countSpecialistAcquisition); setRecruitmentId(recruitmentId); + setCountResponsibleZi(countResponsibleZi); + setCountResponsibleZiSvk(countResponsibleZiSvk); resetChangedOnNotNull(); } } diff --git a/backend/src/main/java/ru/micord/webbpm/ervu/business_metrics/db_beans/admin_indicators/tables/records/ViewUserAnalysisRecord.java b/backend/src/main/java/ru/micord/webbpm/ervu/business_metrics/db_beans/admin_indicators/tables/records/ViewUserAnalysisRecord.java index 82fb400..92d9af8 100644 --- a/backend/src/main/java/ru/micord/webbpm/ervu/business_metrics/db_beans/admin_indicators/tables/records/ViewUserAnalysisRecord.java +++ b/backend/src/main/java/ru/micord/webbpm/ervu/business_metrics/db_beans/admin_indicators/tables/records/ViewUserAnalysisRecord.java @@ -195,17 +195,17 @@ public class ViewUserAnalysisRecord extends TableRecordImpladmin_indicators.view_user_analysis.percent_administrator_military_office. + * admin_indicators.view_user_analysis.percent_responsible_zi. */ - public void setPercentAdministratorMilitaryOffice(BigDecimal value) { + public void setPercentResponsibleZi(BigDecimal value) { set(11, value); } /** * Getter for - * admin_indicators.view_user_analysis.percent_administrator_military_office. + * admin_indicators.view_user_analysis.percent_responsible_zi. */ - public BigDecimal getPercentAdministratorMilitaryOffice() { + public BigDecimal getPercentResponsibleZi() { return (BigDecimal) get(11); } @@ -241,6 +241,22 @@ public class ViewUserAnalysisRecord extends TableRecordImpladmin_indicators.view_user_analysis.percent_responsible_zi_svk. + */ + public void setPercentResponsibleZiSvk(BigDecimal value) { + set(14, value); + } + + /** + * Getter for + * admin_indicators.view_user_analysis.percent_responsible_zi_svk. + */ + public BigDecimal getPercentResponsibleZiSvk() { + return (BigDecimal) get(14); + } + // ------------------------------------------------------------------------- // Constructors // ------------------------------------------------------------------------- @@ -255,7 +271,7 @@ public class ViewUserAnalysisRecord extends TableRecordImpl { return (String) get(11); } - /** - * Setter for idm_reconcile.account.person_id. - */ - public void setPersonId(String value) { - set(12, value); - } - - /** - * Getter for idm_reconcile.account.person_id. - */ - public String getPersonId() { - return (String) get(12); - } - // ------------------------------------------------------------------------- // Primary key information // ------------------------------------------------------------------------- @@ -225,7 +211,7 @@ public class AccountRecord extends UpdatableRecordImpl { /** * Create a detached, initialised AccountRecord */ - public AccountRecord(String id, Integer version, Timestamp modified, String schema, String start, String finish, Boolean enabled, String position, String fio, String workMail, Boolean esiaAccount, String domainId, String personId) { + public AccountRecord(String id, Integer version, Timestamp modified, String schema, String start, String finish, Boolean enabled, String position, String fio, String workMail, Boolean esiaAccount, String domainId) { super(Account.ACCOUNT); setId(id); @@ -240,7 +226,6 @@ public class AccountRecord extends UpdatableRecordImpl { setWorkMail(workMail); setEsiaAccount(esiaAccount); setDomainId(domainId); - setPersonId(personId); resetChangedOnNotNull(); } } diff --git a/backend/src/main/java/ru/micord/webbpm/ervu/business_metrics/db_beans/metrics/tables/CitizenAppeals.java b/backend/src/main/java/ru/micord/webbpm/ervu/business_metrics/db_beans/metrics/tables/CitizenAppeals.java index c02b174..1736342 100644 --- a/backend/src/main/java/ru/micord/webbpm/ervu/business_metrics/db_beans/metrics/tables/CitizenAppeals.java +++ b/backend/src/main/java/ru/micord/webbpm/ervu/business_metrics/db_beans/metrics/tables/CitizenAppeals.java @@ -107,7 +107,7 @@ public class CitizenAppeals extends TableImpl { * The column metrics.citizen_appeals.average_response_time. * Средний срок ответа */ - public final TableField AVERAGE_RESPONSE_TIME = createField(DSL.name("average_response_time"), SQLDataType.NUMERIC(10, 2).nullable(false).defaultValue(DSL.field(DSL.raw("0"), SQLDataType.NUMERIC)), this, "Средний срок ответа"); + public final TableField AVERAGE_RESPONSE_TIME = createField(DSL.name("average_response_time"), SQLDataType.NUMERIC(10, 1).nullable(false).defaultValue(DSL.field(DSL.raw("0"), SQLDataType.NUMERIC)), this, "Средний срок ответа"); private CitizenAppeals(Name alias, Table aliased) { this(alias, aliased, (Field[]) null, null); diff --git a/resources/src/main/resources/business-model/ervu-business-metrics/administration.page b/resources/src/main/resources/business-model/ervu-business-metrics/administration.page index cd9fd42..5a87f00 100644 --- a/resources/src/main/resources/business-model/ervu-business-metrics/administration.page +++ b/resources/src/main/resources/business-model/ervu-business-metrics/administration.page @@ -4059,7 +4059,6 @@ d7d9aff8-1b75-429c-887d-6dda8239df87 Value % true - false false @@ -4714,78 +4713,6 @@ false - - ba24d307-0b91-4299-ba82-9d0b52384ff2 - 5a9d921c-168c-4e73-82eb-665859fc567a - 10% - false - false - - - - cssClasses - - - -"text-invert" - - - - - - label - - "%" - - - - textFormatter - - - NumberToLocalStringFormatter - ervu_business_metrics.formatter - - - - - - - - - - defaultValueColumn - - {"schema":"admin_indicators","table":"view_user_analysis","entity":"view_user_analysis","name":"percent_administrator_military_office"} - - - - loadType - - "BY_COLUMN" - - - - - - - - loadType - - "BY_COLUMN" - - - - valueByEventColumn - - {"schema":"admin_indicators","table":"view_user_analysis","entity":"view_user_analysis","name":"percent_administrator_military_office"} - - - - - - false - - ba24d307-0b91-4299-ba82-9d0b52384ff2 4e58c780-8bcf-4965-94b8-cee4275d7006 @@ -4930,6 +4857,150 @@ false + + ba24d307-0b91-4299-ba82-9d0b52384ff2 + dff09964-6e71-4fd4-a8c8-6ca3a354f6f4 + 10% + false + false + + + + cssClasses + + + +"text-invert" + + + + + + label + + "%" + + + + textFormatter + + + NumberToLocalStringFormatter + ervu_business_metrics.formatter + + + + + + + + + + defaultValueColumn + + {"schema":"admin_indicators","table":"view_user_analysis","entity":"view_user_analysis","name":"percent_responsible_zi"} + + + + loadType + + "BY_COLUMN" + + + + + + + + loadType + + "BY_COLUMN" + + + + valueByEventColumn + + {"schema":"admin_indicators","table":"view_user_analysis","entity":"view_user_analysis","name":"percent_responsible_zi"} + + + + + + false + + + + ba24d307-0b91-4299-ba82-9d0b52384ff2 + 5a9d921c-168c-4e73-82eb-665859fc567a + 10% + false + false + + + + cssClasses + + + +"text-invert" + + + + + + label + + "%" + + + + textFormatter + + + NumberToLocalStringFormatter + ervu_business_metrics.formatter + + + + + + + + + + defaultValueColumn + + {"schema":"admin_indicators","table":"view_user_analysis","entity":"view_user_analysis","name":"percent_responsible_zi_svk"} + + + + loadType + + "BY_COLUMN" + + + + + + + + loadType + + "BY_COLUMN" + + + + valueByEventColumn + + {"schema":"admin_indicators","table":"view_user_analysis","entity":"view_user_analysis","name":"percent_responsible_zi_svk"} + + + + + + false + + 9d1b5af1-0b8f-4b1b-b9a5-c2e6acf72d91 @@ -5583,72 +5654,6 @@ false - - ba24d307-0b91-4299-ba82-9d0b52384ff2 - f6429082-3de0-4720-94d9-ac2b15052e8f - 10 - false - false - - - - cssClasses - - - -"pull-right" - - - - - - textFormatter - - - NumberToLocalStringFormatter - ervu_business_metrics.formatter - - - - - - - - - - defaultValueColumn - - {"schema":"admin_indicators","table":"user_analysis","entity":"user_analysis","name":"count_administrator_military_office"} - - - - loadType - - "BY_COLUMN" - - - - - - - - loadType - - "BY_COLUMN" - - - - valueByEventColumn - - {"schema":"admin_indicators","table":"user_analysis","entity":"user_analysis","name":"count_administrator_military_office"} - - - - - - false - - ba24d307-0b91-4299-ba82-9d0b52384ff2 3fa4f8bb-dcf6-4290-8280-9e2979173c91 @@ -5781,6 +5786,138 @@ false + + ba24d307-0b91-4299-ba82-9d0b52384ff2 + ad846270-1069-428d-977a-68311bb999d1 + 10 + false + false + + + + cssClasses + + + +"pull-right" + + + + + + textFormatter + + + NumberToLocalStringFormatter + ervu_business_metrics.formatter + + + + + + + + + + defaultValueColumn + + {"schema":"admin_indicators","table":"user_analysis","entity":"user_analysis","name":"count_responsible_zi"} + + + + loadType + + "BY_COLUMN" + + + + + + + + loadType + + "BY_COLUMN" + + + + valueByEventColumn + + {"schema":"admin_indicators","table":"user_analysis","entity":"user_analysis","name":"count_responsible_zi"} + + + + + + false + + + + ba24d307-0b91-4299-ba82-9d0b52384ff2 + f6429082-3de0-4720-94d9-ac2b15052e8f + 10 + false + false + + + + cssClasses + + + +"pull-right" + + + + + + textFormatter + + + NumberToLocalStringFormatter + ervu_business_metrics.formatter + + + + + + + + + + defaultValueColumn + + {"schema":"admin_indicators","table":"user_analysis","entity":"user_analysis","name":"count_responsible_zi_svk"} + + + + loadType + + "BY_COLUMN" + + + + + + + + loadType + + "BY_COLUMN" + + + + valueByEventColumn + + {"schema":"admin_indicators","table":"user_analysis","entity":"user_analysis","name":"count_responsible_zi_svk"} + + + + + + false + + 9d1b5af1-0b8f-4b1b-b9a5-c2e6acf72d91 From cc9b89bf206f74562967ae6937318a7afc583f5a Mon Sep 17 00:00:00 2001 From: Foat Saliakhov Date: Mon, 5 May 2025 15:36:32 +0300 Subject: [PATCH 33/40] fix --- .../src/main/resources/config/v_1.0/20250505-db_changes.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/backend/src/main/resources/config/v_1.0/20250505-db_changes.xml b/backend/src/main/resources/config/v_1.0/20250505-db_changes.xml index b032ab3..47d758e 100644 --- a/backend/src/main/resources/config/v_1.0/20250505-db_changes.xml +++ b/backend/src/main/resources/config/v_1.0/20250505-db_changes.xml @@ -11,13 +11,13 @@ ALTER TABLE ALTER TABLE IF EXISTS admin_indicators.user_analysis - ADD COLUMN count_responsible_zi bigint NOT NULL DEFAULT 0; + ADD COLUMN IF NOT EXISTS count_responsible_zi bigint NOT NULL DEFAULT 0; COMMENT ON COLUMN admin_indicators.user_analysis.count_responsible_zi IS 'Ответственный за ЗИ'; ALTER TABLE IF EXISTS admin_indicators.user_analysis - ADD COLUMN count_responsible_zi_svk bigint NOT NULL DEFAULT 0; + ADD COLUMN IF NOT EXISTS count_responsible_zi_svk bigint NOT NULL DEFAULT 0; COMMENT ON COLUMN admin_indicators.user_analysis.count_responsible_zi_svk IS 'Ответственный за ЗИ СВК'; From 0be53c59bf7d685e16d02706afdded741cd44843 Mon Sep 17 00:00:00 2001 From: Foat Saliakhov Date: Mon, 5 May 2025 15:46:43 +0300 Subject: [PATCH 34/40] fix --- .../ervu-business-metrics/administration.page | 184 ++++++++++++------ 1 file changed, 124 insertions(+), 60 deletions(-) diff --git a/resources/src/main/resources/business-model/ervu-business-metrics/administration.page b/resources/src/main/resources/business-model/ervu-business-metrics/administration.page index 5a87f00..66768ad 100644 --- a/resources/src/main/resources/business-model/ervu-business-metrics/administration.page +++ b/resources/src/main/resources/business-model/ervu-business-metrics/administration.page @@ -3180,48 +3180,7 @@ - - - - - backgroundColor - - "#E9DECDFF" - - - - chartType - - "BAR" - - - - dataColumn - - {"schema":"admin_indicators","table":"user_analysis","entity":"user_analysis","name":"count_administrator_military_office"} - - - - dataLabel - - "Администратор военкомата" - - - - labelColumn - - {"schema":"admin_indicators","table":"user_analysis","entity":"user_analysis","name":"count_administrator_military_office"} - - - - stack - - "Администратор военкомата" - - - - - + @@ -3306,7 +3265,92 @@ - + + + + + + backgroundColor + + "#E9DECDFF" + + + + chartType + + "BAR" + + + + dataColumn + + {"schema":"admin_indicators","table":"user_analysis","entity":"user_analysis","name":"count_responsible_zi"} + + + + dataLabel + + "Ответственный за защиту информации" + + + + labelColumn + + {"schema":"admin_indicators","table":"user_analysis","entity":"user_analysis","name":"count_responsible_zi"} + + + + stack + + "Ответственный за защиту информации" + + + + + + + + + + backgroundColor + + "#E9DECDFF" + + + + chartType + + "BAR" + + + + dataColumn + + {"schema":"admin_indicators","table":"user_analysis","entity":"user_analysis","name":"count_responsible_zi_svk"} + + + + dataLabel + + "Ответственный за защиту информации военного комиссариата субъекта РФ" + + + + labelColumn + + {"schema":"admin_indicators","table":"user_analysis","entity":"user_analysis","name":"count_responsible_zi_svk"} + + + + stack + + "Ответственный за защиту информации военного комиссариата субъекта РФ" + + + + + + @@ -3346,6 +3390,7 @@ + false @@ -3375,6 +3420,7 @@ ervu_business_metrics.component.chart true + true bars @@ -3399,7 +3445,7 @@ index - 462.0 + 504.0 @@ -3417,7 +3463,7 @@ index - 420.0 + 462.0 @@ -3435,7 +3481,7 @@ index - 378.0 + 420.0 @@ -3453,7 +3499,7 @@ index - 336.0 + 378.0 @@ -3471,7 +3517,7 @@ index - 294.0 + 336.0 @@ -3489,7 +3535,7 @@ index - 252.0 + 294.0 @@ -3507,7 +3553,7 @@ index - 210.0 + 252.0 @@ -3525,7 +3571,7 @@ index - 168.0 + 210.0 @@ -3543,7 +3589,7 @@ index - 126.0 + 168.0 @@ -3555,13 +3601,13 @@ barStack - "Администратор военкомата" + "Специалист ВК по ВУ" index - 84.0 + 126.0 @@ -3573,13 +3619,13 @@ barStack - "Специалист ВК по ВУ" + "Специалист по комплектованию" index - 42.0 + 84.0 @@ -3591,7 +3637,25 @@ barStack - "Специалист по комплектованию" + "Ответственный за защиту информации" + + + + index + + 42.0 + + + + + + + + + + barStack + + "Ответственный за защиту информации военного комиссариата субъекта РФ" @@ -3614,7 +3678,7 @@ max - 480.0 + 520.0 @@ -3758,13 +3822,13 @@ height - "462px" + "525px" margin - "10px 0px 0px 0px" + "4px 0px 0px 0px" From d6ae9af0d2d7e6615f209552def9c3e0a80381fb Mon Sep 17 00:00:00 2001 From: Artyom Hackimullin Date: Tue, 6 May 2025 15:30:22 +0300 Subject: [PATCH 35/40] SUPPORT-9117: add dp tooltip --- .../ervu_business_metrics/component/chart/ErvuChartV2.ts | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/frontend/src/ts/ervu_business_metrics/component/chart/ErvuChartV2.ts b/frontend/src/ts/ervu_business_metrics/component/chart/ErvuChartV2.ts index faccd33..b278aea 100644 --- a/frontend/src/ts/ervu_business_metrics/component/chart/ErvuChartV2.ts +++ b/frontend/src/ts/ervu_business_metrics/component/chart/ErvuChartV2.ts @@ -241,6 +241,13 @@ export class ErvuChartV2 extends Control implements Filterable { } this.cd.markForCheck(); } + }, + filter: tooltipItem => { + const type = tooltipItem.chart.config.type; + if (type == 'doughnut' || type == 'pie') { + return tooltipItem.label.trim().length !== 0; + } + return tooltipItem.dataset.label.trim().length !== 0 } }; From 274202dc8b61b321c4ae7797fb803d84866db762 Mon Sep 17 00:00:00 2001 From: Artyom Hackimullin Date: Tue, 6 May 2025 15:33:33 +0300 Subject: [PATCH 36/40] SUPPORT-9117: fix --- .../src/ts/ervu_business_metrics/component/chart/ErvuChartV2.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frontend/src/ts/ervu_business_metrics/component/chart/ErvuChartV2.ts b/frontend/src/ts/ervu_business_metrics/component/chart/ErvuChartV2.ts index b278aea..6b57f03 100644 --- a/frontend/src/ts/ervu_business_metrics/component/chart/ErvuChartV2.ts +++ b/frontend/src/ts/ervu_business_metrics/component/chart/ErvuChartV2.ts @@ -247,7 +247,7 @@ export class ErvuChartV2 extends Control implements Filterable { if (type == 'doughnut' || type == 'pie') { return tooltipItem.label.trim().length !== 0; } - return tooltipItem.dataset.label.trim().length !== 0 + return tooltipItem.dataset.label.trim().length !== 0; } }; From 6daf52256238e93faf37155df428880dc46e5c65 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=91=D1=83=D0=BB=D0=B0=D1=82=20=D0=A5=D0=B0=D0=B9=D1=80?= =?UTF-8?q?=D1=83=D0=BB=D0=BB=D0=B8=D0=BD?= Date: Wed, 7 May 2025 00:15:41 +0300 Subject: [PATCH 37/40] fix --- .../military_registration_changing_address.page | 13 ++++--------- 1 file changed, 4 insertions(+), 9 deletions(-) diff --git a/resources/src/main/resources/business-model/ervu-business-metrics/military_registration_changing_address.page b/resources/src/main/resources/business-model/ervu-business-metrics/military_registration_changing_address.page index 39f052f..792f10d 100644 --- a/resources/src/main/resources/business-model/ervu-business-metrics/military_registration_changing_address.page +++ b/resources/src/main/resources/business-model/ervu-business-metrics/military_registration_changing_address.page @@ -11871,7 +11871,6 @@ 9bb72b2d-518c-4726-908c-8f169b888d21 ГК Первый ряд true - false false @@ -11896,7 +11895,6 @@ b4179cab-5033-4b6d-84ab-b86a09246de4 ГК Заявления, поступившие из ЕПГУ true - false false @@ -23852,7 +23850,6 @@ 5225591e-a5bb-4473-9fa9-d11dd162494a ВК Личное посещение ВК true - false false @@ -23889,7 +23886,6 @@ 93df9d35-d84b-4433-a119-877066f5ea8c Vbox_50% true - false false @@ -26105,7 +26101,6 @@ 20c086fb-6d54-4861-a5f5-a1118adafe3e ГК Второй ряд true - false false @@ -30381,7 +30376,7 @@ label - "По отсутсвию СНИЛС" + "По несоответствию сведений ЕРВУ и ручной ввод (редактирование)" @@ -31274,7 +31269,7 @@ ba24d307-0b91-4299-ba82-9d0b52384ff2 311fc385-a4a7-4826-ac9e-3d2c9a520f84 - По отсутсвию СНИЛС + По несоответствию сведений ЕРВУ и ручной ввод (редактирование) false false @@ -31282,7 +31277,7 @@ initialValue - "По отсутсвию СНИЛС" + "По несоответствию сведений ЕРВУ и ручной ввод (редактирование)" @@ -31294,7 +31289,7 @@ tooltip - "По отсутсвию СНИЛС" + "По несоответствию сведений ЕРВУ и ручной ввод (редактирование)" From e7596813449abd88b65368818b6547b89f93031b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=91=D1=83=D0=BB=D0=B0=D1=82=20=D0=A5=D0=B0=D0=B9=D1=80?= =?UTF-8?q?=D1=83=D0=BB=D0=BB=D0=B8=D0=BD?= Date: Wed, 7 May 2025 03:43:21 +0300 Subject: [PATCH 38/40] alter VIEW registration_change_address.view_personal_info_stat --- .../config/v_1.0/20250507-db_changes.xml | 26 +++++++++++++++++++ .../resources/config/v_1.0/changelog-1.0.xml | 1 + 2 files changed, 27 insertions(+) create mode 100644 backend/src/main/resources/config/v_1.0/20250507-db_changes.xml diff --git a/backend/src/main/resources/config/v_1.0/20250507-db_changes.xml b/backend/src/main/resources/config/v_1.0/20250507-db_changes.xml new file mode 100644 index 0000000..d1fa865 --- /dev/null +++ b/backend/src/main/resources/config/v_1.0/20250507-db_changes.xml @@ -0,0 +1,26 @@ + + + + + + + ALTER VIEW registration_change_address.view_personal_info_stat + + CREATE OR REPLACE VIEW registration_change_address.view_personal_info_stat + AS + SELECT personal_info_stat.personal_info_stat_id, + personal_info_stat.count_refused + personal_info_stat.count_accepted_to_send + personal_info_stat.count_unloaded AS count_all, + COALESCE(round(personal_info_stat.count_refused::numeric * 100::numeric / NULLIF((personal_info_stat.count_refused + personal_info_stat.count_accepted_to_send + personal_info_stat.count_unloaded)::numeric, 0::numeric)), 0::numeric) AS percent_refused, + COALESCE(round(personal_info_stat.count_unloaded::numeric * 100::numeric / NULLIF((personal_info_stat.count_refused + personal_info_stat.count_accepted_to_send + personal_info_stat.count_unloaded)::numeric, 0::numeric)), 0::numeric) AS percent_unloaded, + COALESCE(round(personal_info_stat.count_accepted_to_send::numeric * 100::numeric / NULLIF((personal_info_stat.count_refused + personal_info_stat.count_accepted_to_send + personal_info_stat.count_unloaded)::numeric, 0::numeric)), 0::numeric) AS percent_accepted_to_send + FROM registration_change_address.personal_info_stat; + + ALTER TABLE registration_change_address.view_personal_info_stat + OWNER TO ervu_business_metrics; + + + \ No newline at end of file diff --git a/backend/src/main/resources/config/v_1.0/changelog-1.0.xml b/backend/src/main/resources/config/v_1.0/changelog-1.0.xml index c648254..139f07d 100644 --- a/backend/src/main/resources/config/v_1.0/changelog-1.0.xml +++ b/backend/src/main/resources/config/v_1.0/changelog-1.0.xml @@ -30,6 +30,7 @@ + \ No newline at end of file From bd9d788368c6253373d373ffad5d0b6f1770c658 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=91=D1=83=D0=BB=D0=B0=D1=82=20=D0=A5=D0=B0=D0=B9=D1=80?= =?UTF-8?q?=D1=83=D0=BB=D0=BB=D0=B8=D0=BD?= Date: Thu, 8 May 2025 18:30:07 +0300 Subject: [PATCH 39/40] + set add new table account_blocked --- .../config/v_1.0/20250507-db_changes.xml | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/backend/src/main/resources/config/v_1.0/20250507-db_changes.xml b/backend/src/main/resources/config/v_1.0/20250507-db_changes.xml index d1fa865..56bc895 100644 --- a/backend/src/main/resources/config/v_1.0/20250507-db_changes.xml +++ b/backend/src/main/resources/config/v_1.0/20250507-db_changes.xml @@ -23,4 +23,21 @@ OWNER TO ervu_business_metrics; + + + + CREATE TABLE idm_reconcile.account_blocked + + CREATE TABLE IF NOT EXISTS idm_reconcile.account_blocked + ( + id character varying(36) COLLATE pg_catalog."default" NOT NULL, + account_id character varying(36) COLLATE pg_catalog."default" NOT NULL, + blocked boolean default 'false', + CONSTRAINT account_blocked_pkey PRIMARY KEY (id) + ) + TABLESPACE pg_default; + ALTER TABLE IF EXISTS idm_reconcile.account_blocked + OWNER to ervu_business_metrics; + + \ No newline at end of file From 129d7e57778d9442220e9d748f1a4f98995958c5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=91=D1=83=D0=BB=D0=B0=D1=82=20=D0=A5=D0=B0=D0=B9=D1=80?= =?UTF-8?q?=D1=83=D0=BB=D0=BB=D0=B8=D0=BD?= Date: Fri, 9 May 2025 00:02:51 +0300 Subject: [PATCH 40/40] fix set --- .../src/main/resources/config/v_1.0/20250507-db_changes.xml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/backend/src/main/resources/config/v_1.0/20250507-db_changes.xml b/backend/src/main/resources/config/v_1.0/20250507-db_changes.xml index 56bc895..b9cf3df 100644 --- a/backend/src/main/resources/config/v_1.0/20250507-db_changes.xml +++ b/backend/src/main/resources/config/v_1.0/20250507-db_changes.xml @@ -30,10 +30,9 @@ CREATE TABLE IF NOT EXISTS idm_reconcile.account_blocked ( - id character varying(36) COLLATE pg_catalog."default" NOT NULL, account_id character varying(36) COLLATE pg_catalog."default" NOT NULL, blocked boolean default 'false', - CONSTRAINT account_blocked_pkey PRIMARY KEY (id) + CONSTRAINT account_blocked_pkey PRIMARY KEY (account_id) ) TABLESPACE pg_default; ALTER TABLE IF EXISTS idm_reconcile.account_blocked