add summarize

This commit is contained in:
fro1991
2024-12-19 03:59:48 +07:00
parent b475d6c738
commit 36f5f2fef1
6 changed files with 190 additions and 37 deletions

View File

@ -1,5 +1,6 @@
import { Column, CreateDateColumn, DeleteDateColumn, Entity, JoinColumn, ManyToOne, OneToMany, PrimaryGeneratedColumn, UpdateDateColumn } from 'typeorm'; import { Column, CreateDateColumn, DeleteDateColumn, Entity, ManyToOne, OneToMany, PrimaryGeneratedColumn, UpdateDateColumn } from 'typeorm';
import { CategoryType } from '../types/category';
import { CategorySource } from '../types/category_source'; import { CategorySource } from '../types/category_source';
import { Status } from '../types/status'; import { Status } from '../types/status';
import { Target } from './targets'; import { Target } from './targets';
@ -57,10 +58,28 @@ export class Category {
}) })
products: string[]; products: string[];
@Column({
type: 'enum',
enum: CategoryType,
nullable: true,
})
type: CategoryType
@Column({
type: 'jsonb',
nullable: true,
})
condition: string[]
@Column({
nullable: true,
length: 50,
})
date_column: string
@OneToMany(() => Target, (target) => target.category) @OneToMany(() => Target, (target) => target.category)
targets: Target[]; targets: Target[];
@Column() @Column()
@CreateDateColumn() @CreateDateColumn()
created_at: Date; created_at: Date;

View File

@ -0,0 +1,57 @@
import { Entity, PrimaryGeneratedColumn, Column, CreateDateColumn, UpdateDateColumn, DeleteDateColumn, Index, OneToOne, ManyToOne, JoinColumn } from 'typeorm';
import { SummarizeType, SummarizeLogStatus } from '../types/summarize';
import { Category } from './categories';
@Entity('summarize_log')
export class SummarizeLog {
@PrimaryGeneratedColumn('uuid')
id: string;
@Column({
nullable: true,
length: 256
})
position_date: string;
@Column({
type: 'enum',
enum: SummarizeType,
nullable: false,
})
type: SummarizeType;
@ManyToOne(() => Category)
@JoinColumn()
category: Category;
@Column({
type: 'enum',
enum: SummarizeLogStatus,
nullable: false,
})
status: SummarizeLogStatus;
@Column({
nullable: true,
type: 'text'
})
error_log: string;
@Column()
@CreateDateColumn()
created_at: Date;
@Column()
@UpdateDateColumn()
updated_at: Date;
@Column({
nullable: true
})
finished_at: Date;
@Column({ nullable: true })
@DeleteDateColumn()
deleted_at: Date;
}

46
src/entity/summarizes.ts Normal file
View File

@ -0,0 +1,46 @@
import { Entity, PrimaryGeneratedColumn, Column, CreateDateColumn, UpdateDateColumn, DeleteDateColumn, Index, ManyToOne, JoinColumn } from 'typeorm';
import { SummarizeType } from '../types/summarize';
import { Category } from './categories';
import { Branch } from './branchs';
@Entity('summarizes')
export class Summarize {
@PrimaryGeneratedColumn('uuid')
id: string;
@Column({
nullable: true,
length: 256
})
position_date: string;
@Column({
type: 'enum',
enum: SummarizeType,
nullable: false,
})
type: SummarizeType;
@ManyToOne(() => Category)
@JoinColumn()
category_parent: Category;
@ManyToOne(() => Category)
@JoinColumn()
category_child: Category;
@ManyToOne(() => Branch)
@JoinColumn()
branch: Branch
@Column({
nullable: false,
type: 'float8'
})
total: number;
@Column()
@CreateDateColumn()
created_at: Date;
}

View File

@ -31,41 +31,50 @@ import { Target } from "./entity/targets";
import { BankGaransi } from "./entity/bank_garansi"; import { BankGaransi } from "./entity/bank_garansi";
import { BankGaransiType } from "./entity/bank_garansi_type"; import { BankGaransiType } from "./entity/bank_garansi_type";
import { BankGaransiStatus } from "./entity/bank_garansi_status"; import { BankGaransiStatus } from "./entity/bank_garansi_status";
import { CategoryType } from "./types/category";
import { Summarize } from "./entity/summarizes";
import { SummarizeLog } from "./entity/summarize_log";
import { SummarizeLogStatus, SummarizeType } from "./types/summarize";
export { export {
User, // User, //
UserRole, UserRole,
UserActivity, UserActivity,
UserRefreshToken, UserRefreshToken,
TrialBalanceBranch, TrialBalanceBranch,
TrialBalanceConsolidation, TrialBalanceConsolidation,
LNKOLEK, LNKOLEK,
CifAccount, CifAccount,
ActivityType, ActivityType,
ErrorType, ErrorType,
ErrorValidation, ErrorValidation,
Paging, Paging,
RoleList, RoleList,
Status, Status,
EmailBody, EmailBody,
Product, Product,
Branch, Branch,
Menu, Menu,
Administrativu, Administrativu,
Aldeia, Aldeia,
ClassEconomi, ClassEconomi,
District, District,
IncomeTier, IncomeTier,
Munisipo, Munisipo,
Suco, Suco,
LogPull, LogPull,
LogPullType, LogPullType,
StatusLogPull, StatusLogPull,
Category, Category,
CategorySource, CategorySource,
PullerStatus, CategoryType,
Target, PullerStatus,
BankGaransi, Target,
BankGaransiType, BankGaransi,
BankGaransiStatus, BankGaransiType,
BankGaransiStatus,
Summarize,
SummarizeLog,
SummarizeLogStatus,
SummarizeType
}; };

4
src/types/category.ts Normal file
View File

@ -0,0 +1,4 @@
export enum CategoryType {
Parent = 'parent',
Child = 'child',
};

18
src/types/summarize.ts Normal file
View File

@ -0,0 +1,18 @@
export enum SummarizeType {
"ASSET" = "ASSET",
"DPK" = "DPK",
"KREDIT" = "KREDIT",
"CASA" = "CASA",
"FBI" = "FBI",
"NPL" = "NPL",
"PPAP_KHUSUS" = "PPAP_KHUSUS",
"PPAP_UMUM" = "PPAP_UMUM"
};
export enum SummarizeLogStatus {
"Waiting Schedule" = "W",
"On Going Summarize Data" = "O",
"Success Summarize Data" = "Y",
"Failed Summarize Data" = "N"
};