SUPPORT-9212: фиксы

This commit is contained in:
adel.ka 2025-06-16 18:28:01 +03:00
parent f846e2504d
commit 843b55d48a
9 changed files with 2781 additions and 2272 deletions

View file

@ -27,7 +27,6 @@ import ru.micord.ervu.account_applications.db_beans.public_.tables.UserApplicati
import ru.micord.ervu.account_applications.db_beans.public_.tables.UserApplicationList;
import ru.micord.ervu.account_applications.db_beans.public_.tables.UserApplicationListAudit;
import ru.micord.ervu.account_applications.db_beans.public_.tables.UserApplicationRole;
import ru.micord.ervu.account_applications.db_beans.public_.tables.UserIp;
import ru.micord.ervu.account_applications.db_beans.public_.tables.records.DatabasechangeloglockRecord;
import ru.micord.ervu.account_applications.db_beans.public_.tables.records.IpDirectoryRecord;
import ru.micord.ervu.account_applications.db_beans.public_.tables.records.JobPositionRecord;
@ -45,7 +44,6 @@ import ru.micord.ervu.account_applications.db_beans.public_.tables.records.UserA
import ru.micord.ervu.account_applications.db_beans.public_.tables.records.UserApplicationListAuditRecord;
import ru.micord.ervu.account_applications.db_beans.public_.tables.records.UserApplicationListRecord;
import ru.micord.ervu.account_applications.db_beans.public_.tables.records.UserApplicationRoleRecord;
import ru.micord.ervu.account_applications.db_beans.public_.tables.records.UserIpRecord;
/**
@ -82,7 +80,6 @@ public class Keys {
public static final UniqueKey<UserApplicationListAuditRecord> USER_APPLICATION_LIST_AUDIT_PKEY = Internal.createUniqueKey(UserApplicationListAudit.USER_APPLICATION_LIST_AUDIT, DSL.name("user_application_list_audit_pkey"), new TableField[] { UserApplicationListAudit.USER_APPLICATION_LIST_AUDIT.ID }, true);
public static final UniqueKey<UserApplicationRoleRecord> USER_APPLICATION_ROLE_PKEY = Internal.createUniqueKey(UserApplicationRole.USER_APPLICATION_ROLE, DSL.name("user_application_role_pkey"), new TableField[] { UserApplicationRole.USER_APPLICATION_ROLE.USER_ROLE_ID }, true);
public static final UniqueKey<UserApplicationRoleRecord> USER_APPLICATION_ROLE_ROLE_NAME_KEY = Internal.createUniqueKey(UserApplicationRole.USER_APPLICATION_ROLE, DSL.name("user_application_role_role_name_key"), new TableField[] { UserApplicationRole.USER_APPLICATION_ROLE.ROLE_NAME }, true);
public static final UniqueKey<UserIpRecord> USER_IP_PKEY = Internal.createUniqueKey(UserIp.USER_IP, DSL.name("user_ip_pkey"), new TableField[] { UserIp.USER_IP.USER_ID, UserIp.USER_IP.IP_ADDRESS }, true);
// -------------------------------------------------------------------------
// FOREIGN KEY definitions

View file

@ -31,7 +31,6 @@ import ru.micord.ervu.account_applications.db_beans.public_.tables.UserApplicati
import ru.micord.ervu.account_applications.db_beans.public_.tables.UserApplicationList;
import ru.micord.ervu.account_applications.db_beans.public_.tables.UserApplicationListAudit;
import ru.micord.ervu.account_applications.db_beans.public_.tables.UserApplicationRole;
import ru.micord.ervu.account_applications.db_beans.public_.tables.UserIp;
/**
@ -139,11 +138,6 @@ public class Public extends SchemaImpl {
*/
public final UserApplicationRole USER_APPLICATION_ROLE = UserApplicationRole.USER_APPLICATION_ROLE;
/**
* The table <code>public.user_ip</code>.
*/
public final UserIp USER_IP = UserIp.USER_IP;
/**
* No further instances allowed
*/
@ -187,8 +181,7 @@ public class Public extends SchemaImpl {
UserApplicationDocument.USER_APPLICATION_DOCUMENT,
UserApplicationList.USER_APPLICATION_LIST,
UserApplicationListAudit.USER_APPLICATION_LIST_AUDIT,
UserApplicationRole.USER_APPLICATION_ROLE,
UserIp.USER_IP
UserApplicationRole.USER_APPLICATION_ROLE
);
}
}

View file

@ -22,7 +22,6 @@ import ru.micord.ervu.account_applications.db_beans.public_.tables.UserApplicati
import ru.micord.ervu.account_applications.db_beans.public_.tables.UserApplicationList;
import ru.micord.ervu.account_applications.db_beans.public_.tables.UserApplicationListAudit;
import ru.micord.ervu.account_applications.db_beans.public_.tables.UserApplicationRole;
import ru.micord.ervu.account_applications.db_beans.public_.tables.UserIp;
/**
@ -122,9 +121,4 @@ public class Tables {
* The table <code>public.user_application_role</code>.
*/
public static final UserApplicationRole USER_APPLICATION_ROLE = UserApplicationRole.USER_APPLICATION_ROLE;
/**
* The table <code>public.user_ip</code>.
*/
public static final UserIp USER_IP = UserIp.USER_IP;
}

View file

@ -1,39 +1,27 @@
import {
AnalyticalScope,
Behavior,
EditableGrid,
LinkField,
NotNull,
ObjectRef,
TextFieldGridColumn,
Visible
} from "@webbpm/base-package";
@AnalyticalScope("EditableGrid")
@AnalyticalScope("LinkField")
export class GridDataTransfer extends Behavior {
private editableGrid: EditableGrid;
private textFieldGridColumn: TextFieldGridColumn;
private linkTextFieldGridColumn: TextFieldGridColumn;
private linkField: LinkField;
@ObjectRef()
@NotNull()
public editableGridLinkRef: EditableGrid;
public linkFieldRef: LinkField;
initialize() {
this.editableGrid = this.getScript(EditableGrid);
this.textFieldGridColumn = this.editableGrid.getScriptInChildren(TextFieldGridColumn);
this.linkTextFieldGridColumn =
this.editableGridLinkRef.getScriptInChildren(TextFieldGridColumn);
this.linkField = this.getScript(LinkField);
}
@Visible()
public copyValuesToTargetGrid() {
const objectId: string = this.textFieldGridColumn.getObjectId();
const linkObjectId: string = this.linkTextFieldGridColumn.getObjectId();
const linkGridRows = this.editableGridLinkRef.getValue();
const newRows = linkGridRows.rows.map(row => ({
[objectId]: row[linkObjectId]
}));
this.editableGrid.addRows(newRows);
this.linkField.removeRows(this.linkField.getAllRows());
this.linkField.addRows(this.linkFieldRef.getAllRows());
}
}

View file

@ -1,7 +1,7 @@
import {AnalyticalScope, Behavior, LinkField, NotNull, Visible} from "@webbpm/base-package";
@AnalyticalScope("LinkField")
export class GridSetValuesScript extends Behavior {
export class GridSetIpValuesScript extends Behavior {
private linkField: LinkField;
private userRemovedIps: Set<string> = new Set();
private initialized = false;
@ -15,18 +15,13 @@ export class GridSetValuesScript extends Behavior {
}
@Visible()
public setValues(ipList: string) {
if (!ipList) {
public setValues(ipList: string[]) {
if (!ipList || ipList.length === 0) {
return;
}
const incomingIps = ipList
.split(';')
.map(ip => ip.trim())
.filter(ip => ip);
if (!this.initialized) {
this.addRows(incomingIps);
this.addRows(ipList);
this.initialized = true;
return;
}
@ -34,18 +29,18 @@ export class GridSetValuesScript extends Behavior {
const existingRows = this.linkField.getAllRows();
const existingIps = new Set(existingRows.map(row => row.row_uid));
incomingIps.forEach(ip => {
ipList.forEach(ip => {
if (!existingIps.has(ip)) {
this.userRemovedIps.add(ip);
}
});
const toRemove = existingRows.filter(row =>
!incomingIps.includes(row.row_uid) ||
!ipList.includes(row.row_uid) ||
this.userRemovedIps.has(row.row_uid)
);
this.linkField.removeRows(toRemove);
const toAdd = incomingIps
const toAdd = ipList
.filter(ip =>
!this.userRemovedIps.has(ip) &&
!existingIps.has(ip)

View file

@ -0,0 +1,51 @@
import {AnalyticalScope, Behavior, LinkField, Visible} from "@webbpm/base-package";
@AnalyticalScope("LinkField")
export class GridSetRoleValuesScript extends Behavior {
private linkField: LinkField;
private userRemovedRoleIds: Set<string> = new Set();
private initialized = false;
initialize() {
super.initialize();
this.linkField = this.getScript(LinkField);
}
@Visible()
public setValues(roleIdList: string[]) {
if (!roleIdList || roleIdList.length === 0) {
return;
}
if (!this.initialized) {
this.linkField.setValue(roleIdList);
this.initialized = true;
return;
}
const existingRows = this.linkField.getAllRows();
const existingRoleIds = new Set(existingRows.map(row => row.row_uid));
roleIdList.forEach(id => {
if (!existingRoleIds.has(id)) {
this.userRemovedRoleIds.add(id);
}
});
const toRemove = existingRows.filter(row =>
!roleIdList.includes(row.row_uid) ||
this.userRemovedRoleIds.has(row.row_uid)
);
const toAdd = roleIdList.filter(id =>
!this.userRemovedRoleIds.has(id) &&
!existingRoleIds.has(id)
);
const remainingIds = existingRows
.filter(row => !toRemove.includes(row))
.map(row => row.row_uid);
const finalIds = [...remainingIds, ...toAdd];
this.linkField.setValue(finalIds);
}
}

View file

@ -1,15 +1,15 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<datasource>
<dbBeanPackage>ru.micord.ervu.account_applications.db_beans</dbBeanPackage>
<dbName>ervu_account_applications_seamlessness</dbName>
<dbName>ervu_account_applications</dbName>
<driverClassName>org.postgresql.Driver</driverClassName>
<host>10.10.31.118</host>
<host>10.10.31.119</host>
<manually>false</manually>
<password>ervu_account_applications</password>
<port>5432</port>
<schemas>public</schemas>
<sqlDialect>POSTGRES</sqlDialect>
<url>jdbc:postgresql://10.10.31.118:5432/ervu_account_applications_seamlessness</url>
<url>jdbc:postgresql://10.10.31.119:5432/ervu_account_applications</url>
<urlPrefix>jdbc:postgresql:</urlPrefix>
<user>ervu_account_applications</user>
</datasource>