This commit is contained in:
2025-11-10 19:06:47 +07:00
8 changed files with 174 additions and 52 deletions

View File

@ -0,0 +1,61 @@
import { Entity, PrimaryGeneratedColumn, Column, CreateDateColumn, UpdateDateColumn, DeleteDateColumn, Index, JoinColumn, ManyToOne } from "typeorm";
import { Status } from "../types/status";
import { EformLanguage } from "./eform_languages";
import { ComplianceRiskPepType } from "../types/compliance";
@Entity("compliance_aml_news", { schema: "compliances" })
export class ComplianceAmlNew {
@PrimaryGeneratedColumn("uuid")
id: string;
@Column({
nullable: true,
length: 256,
})
name: string;
@Column({
nullable: true,
length: 256,
})
remarks: string;
@Column({
nullable: true,
length: 4096,
})
link: string;
@Column({
nullable: true,
length: 4096,
})
file: string;
@Column({
nullable: false,
length: 64,
})
status: Status;
@Column()
@CreateDateColumn()
created_at: Date;
@Column({ nullable: true, length: 256 })
created_by: string;
@Column({ nullable: true })
@UpdateDateColumn()
updated_at: Date;
@Column({ nullable: true, length: 256 })
updated_by: string;
@Column({ nullable: true })
@DeleteDateColumn()
deleted_at: Date;
@Column({ nullable: true, length: 256 })
deleted_by: string;
}

View File

@ -4,15 +4,18 @@ import { Application } from "./application";
import { ComplianceRiskParameterInformation } from "./compliance_risk_parameter_informations";
import { ComplianceRiskFactor } from "./compliance_risk_factors";
import { ComplianceRiskParameter } from "./compliance_risk_parameters";
import { ComplianceRiskFormulaType } from "../types/compliance";
@Entity("compliance_risk_formulas", { schema: "compliances" })
export class ComplianceRiskFormula {
@PrimaryGeneratedColumn("uuid")
id: string;
@ManyToOne(() => Application, { onDelete: "NO ACTION" })
@JoinColumn()
application: Application;
@Column({
length: 256,
default: ComplianceRiskFormulaType.transaction,
})
type: ComplianceRiskFormulaType;
@ManyToOne(() => ComplianceRiskFactor, { onDelete: "NO ACTION" })
@JoinColumn()
@ -34,6 +37,12 @@ export class ComplianceRiskFormula {
})
name: string;
@Column({
nullable: false,
default: 0,
})
seq: Number;
@Column({
nullable: false,
length: 64,

View File

@ -1,38 +0,0 @@
import { Column, CreateDateColumn, DeleteDateColumn, Entity, JoinColumn, ManyToOne, PrimaryGeneratedColumn, UpdateDateColumn } from "typeorm";
import { ComplianceRiskFormula } from "./compliance_risk_formulas";
import { ComplianceRiskResults } from "./compliance_risk_results";
@Entity("compliance_risk_result_details", { schema: "compliances" })
export class ComplianceRiskResultDetail {
@PrimaryGeneratedColumn("uuid")
id: string;
@ManyToOne(() => ComplianceRiskResults, { onDelete: "NO ACTION" })
@JoinColumn()
risk_result: ComplianceRiskResults;
@ManyToOne(() => ComplianceRiskFormula, { onDelete: "NO ACTION" })
@JoinColumn()
risk_formula: ComplianceRiskFormula;
@Column()
@CreateDateColumn()
created_at: Date;
@Column({ nullable: true, length: 256 })
created_by: string;
@Column({ nullable: true })
@UpdateDateColumn()
updated_at: Date;
@Column({ nullable: true, length: 256 })
updated_by: string;
@Column({ nullable: true })
@DeleteDateColumn()
deleted_at: Date;
@Column({ nullable: true, length: 256 })
deleted_by: string;
}

View File

@ -0,0 +1,64 @@
import { Column, CreateDateColumn, DeleteDateColumn, Entity, JoinColumn, ManyToOne, PrimaryGeneratedColumn, UpdateDateColumn } from "typeorm";
import { ComplianceRiskFormula } from "./compliance_risk_formulas";
import { ComplianceRiskFactor } from "./compliance_risk_factors";
import { ComplianceRiskParameter } from "./compliance_risk_parameters";
import { ComplianceRiskParameterInformation } from "./compliance_risk_parameter_informations";
import { ComplianceRiskTransaction } from "./compliance_risk_transactions";
@Entity("compliance_risk_transaction_details", { schema: "compliances" })
export class ComplianceRiskTransactionDetail {
@PrimaryGeneratedColumn("uuid")
id: string;
@ManyToOne(() => ComplianceRiskTransaction, { onDelete: "NO ACTION" })
@JoinColumn()
risk_result: ComplianceRiskTransaction;
@ManyToOne(() => ComplianceRiskFormula, { onDelete: "NO ACTION" })
@JoinColumn()
risk_formula: ComplianceRiskFormula;
@ManyToOne(() => ComplianceRiskFactor, { onDelete: "NO ACTION" })
@JoinColumn()
risk_factor: ComplianceRiskFactor;
@ManyToOne(() => ComplianceRiskParameter, { onDelete: "NO ACTION" })
@JoinColumn()
risk_parameter: ComplianceRiskParameter;
@ManyToOne(() => ComplianceRiskParameterInformation, { onDelete: "NO ACTION" })
@JoinColumn()
risk_parameter_information: ComplianceRiskParameterInformation;
@Column({
length: 4096,
})
value: string;
@Column({
type: "smallint",
default: 3,
})
level: Number;
@Column()
@CreateDateColumn()
created_at: Date;
@Column({ nullable: true, length: 256 })
created_by: string;
@Column({ nullable: true })
@UpdateDateColumn()
updated_at: Date;
@Column({ nullable: true, length: 256 })
updated_by: string;
@Column({ nullable: true })
@DeleteDateColumn()
deleted_at: Date;
@Column({ nullable: true, length: 256 })
deleted_by: string;
}

View File

@ -1,9 +1,9 @@
import { Column, CreateDateColumn, DeleteDateColumn, Entity, JoinColumn, ManyToOne, PrimaryGeneratedColumn, UpdateDateColumn } from "typeorm";
import { Status } from "../types/status";
import { ComplianceRiskTransactionClassification, ComplianceRiskTransactionType } from "../types/compliance";
import { Application } from "./application";
@Entity("compliance_risk_results", { schema: "compliances" })
export class ComplianceRiskResults {
@Entity("compliance_risk_transactions", { schema: "compliances" })
export class ComplianceRiskTransaction {
@PrimaryGeneratedColumn("uuid")
id: string;
@ -17,6 +17,16 @@ export class ComplianceRiskResults {
@JoinColumn()
application: Application;
@Column({
length: 256,
})
type: ComplianceRiskTransactionType;
@Column({
length: 4096,
})
account_number: string;
@Column({
length: 4096,
})
@ -29,20 +39,16 @@ export class ComplianceRiskResults {
reference: string;
@Column({
nullable: true,
type: "float8",
})
total: number;
@Column({
nullable: true,
length: 50,
})
classification: string;
@Column({
nullable: false,
length: 64,
})
status: Status;
classification: ComplianceRiskTransactionClassification;
@Column()
@CreateDateColumn()

View File

@ -68,6 +68,12 @@ export class TrxReceiver {
})
bsb_number: string;
@Column({
nullable: true,
length: 256,
})
identity_number: string;
@Column()
@CreateDateColumn()
created_at: Date;

View File

@ -3,3 +3,7 @@ export * from "../entity/compliance_risk_factors";
export * from "../entity/compliance_risk_parameters";
export * from "../entity/compliance_risk_parameter_informations";
export * from "../entity/compliance_risk_formulas";
export * from "../entity/compliance_risk_transactions";
export * from "../entity/compliance_risk_transaction_details";
export * from "../entity/compliance_aml_news";
export * from "../types/compliance";

View File

@ -1,4 +1,4 @@
export enum ComplianceRiskResultClassification {
export enum ComplianceRiskTransactionClassification {
"low" = "low",
"medium" = "medium",
"high" = "high",
@ -10,3 +10,13 @@ export enum ComplianceRiskPepType {
"pntl" = "pntl",
"bctl" = "bctl",
}
export enum ComplianceRiskFormulaType {
"transaction" = "transaction",
"customer" = "customer",
}
export enum ComplianceRiskTransactionType {
"bri" = "bri",
"wic" = "wic",
}