no message
This commit is contained in:
parent
317920ad0d
commit
b2b97aecf0
6 changed files with 225 additions and 6 deletions
|
|
@ -234,6 +234,78 @@ export class CommandController extends Controller {
|
||||||
return new HttpSuccess();
|
return new HttpSuccess();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* API รายละเอียดรายการคำสั่ง tab2
|
||||||
|
*
|
||||||
|
* @summary API รายละเอียดรายการคำสั่ง tab2
|
||||||
|
*
|
||||||
|
* @param {string} id Id คำสั่ง
|
||||||
|
*/
|
||||||
|
@Get("tab2/{id}")
|
||||||
|
async GetByIdTab2(@Path() id: string) {
|
||||||
|
const command = await this.commandRepository.findOne({
|
||||||
|
where: { id },
|
||||||
|
relations: ["commandSalary", "commandRecives"],
|
||||||
|
});
|
||||||
|
if (!command) {
|
||||||
|
throw new HttpError(HttpStatusCode.NOT_FOUND, "ไม่พบข้อมูลคำสั่งนี้");
|
||||||
|
}
|
||||||
|
|
||||||
|
const _command = {
|
||||||
|
id: command.id,
|
||||||
|
commandSalaryId: command.commandSalaryId,
|
||||||
|
commandSalary: command.commandSalary?.name || null,
|
||||||
|
positionDetail: command.positionDetail,
|
||||||
|
sendCC: command.commandRecives
|
||||||
|
.sort((a, b) => a.order - b.order)
|
||||||
|
.map((x) => ({
|
||||||
|
citizenId: x.citizenId,
|
||||||
|
prefix: x.prefix,
|
||||||
|
fristName: x.fristName,
|
||||||
|
lastName: x.lastName,
|
||||||
|
profileId: x.profileId,
|
||||||
|
order: x.order,
|
||||||
|
})),
|
||||||
|
};
|
||||||
|
return new HttpSuccess(_command);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* API แก้ไขรายการ body คำสั่ง Tab2
|
||||||
|
*
|
||||||
|
* @summary API แก้ไขรายการ body คำสั่ง Tab2
|
||||||
|
*
|
||||||
|
* @param {string} id Id คำสั่ง
|
||||||
|
*/
|
||||||
|
@Put("tab2/{id}")
|
||||||
|
async PutTab2(
|
||||||
|
@Path() id: string,
|
||||||
|
@Body()
|
||||||
|
requestBody: {
|
||||||
|
commandNo: string | null;
|
||||||
|
commandYear: number | null;
|
||||||
|
issue: string | null;
|
||||||
|
detailHeader: string | null;
|
||||||
|
detailBody: string | null;
|
||||||
|
detailFooter: string | null;
|
||||||
|
commandAffectDate: Date | null;
|
||||||
|
commandExcecuteDate: Date | null;
|
||||||
|
},
|
||||||
|
@Request() request: RequestWithUser,
|
||||||
|
) {
|
||||||
|
const command = await this.commandRepository.findOne({ where: { id: id } });
|
||||||
|
if (!command) {
|
||||||
|
throw new HttpError(HttpStatusCode.NOT_FOUND, "ไม่พบข้อมูลคำสั่งนี้");
|
||||||
|
}
|
||||||
|
const data = new Command();
|
||||||
|
Object.assign(data, { ...command, ...requestBody });
|
||||||
|
data.lastUpdateUserId = request.user.sub;
|
||||||
|
data.lastUpdateFullName = request.user.name;
|
||||||
|
data.lastUpdatedAt = new Date();
|
||||||
|
await this.commandRepository.save(data);
|
||||||
|
return new HttpSuccess();
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* API รายละเอียดรายการคำสั่ง tab3
|
* API รายละเอียดรายการคำสั่ง tab3
|
||||||
*
|
*
|
||||||
|
|
@ -526,6 +598,7 @@ export class CommandController extends Controller {
|
||||||
status: command.status,
|
status: command.status,
|
||||||
isDraft: command.isDraft,
|
isDraft: command.isDraft,
|
||||||
isSign: command.isSign,
|
isSign: command.isSign,
|
||||||
|
isAttachment: command.isAttachment,
|
||||||
};
|
};
|
||||||
return new HttpSuccess(_command);
|
return new HttpSuccess(_command);
|
||||||
}
|
}
|
||||||
|
|
@ -568,14 +641,14 @@ export class CommandController extends Controller {
|
||||||
async PutSelectDraft(
|
async PutSelectDraft(
|
||||||
@Path() id: string,
|
@Path() id: string,
|
||||||
@Body()
|
@Body()
|
||||||
requestBody: { sign?: boolean },
|
requestBody: { sign: boolean },
|
||||||
@Request() request: RequestWithUser,
|
@Request() request: RequestWithUser,
|
||||||
) {
|
) {
|
||||||
const command = await this.commandRepository.findOne({ where: { id: id } });
|
const command = await this.commandRepository.findOne({ where: { id: id } });
|
||||||
if (!command) {
|
if (!command) {
|
||||||
throw new HttpError(HttpStatusCode.NOT_FOUND, "ไม่พบข้อมูลคำสั่งนี้");
|
throw new HttpError(HttpStatusCode.NOT_FOUND, "ไม่พบข้อมูลคำสั่งนี้");
|
||||||
}
|
}
|
||||||
command.isDraft = true;
|
command.isDraft = requestBody.sign;
|
||||||
command.status = "PENDING";
|
command.status = "PENDING";
|
||||||
command.lastUpdateUserId = request.user.sub;
|
command.lastUpdateUserId = request.user.sub;
|
||||||
command.lastUpdateFullName = request.user.name;
|
command.lastUpdateFullName = request.user.name;
|
||||||
|
|
|
||||||
|
|
@ -2,6 +2,8 @@ import { Entity, Column, JoinColumn, ManyToOne, OneToMany } from "typeorm";
|
||||||
import { EntityBase } from "./base/Base";
|
import { EntityBase } from "./base/Base";
|
||||||
import { CommandType } from "./CommandType";
|
import { CommandType } from "./CommandType";
|
||||||
import { CommandSend } from "./CommandSend";
|
import { CommandSend } from "./CommandSend";
|
||||||
|
import { CommandSalary } from "./CommandSalary";
|
||||||
|
import { CommandRecive } from "./CommandRecive";
|
||||||
|
|
||||||
@Entity("command")
|
@Entity("command")
|
||||||
export class Command extends EntityBase {
|
export class Command extends EntityBase {
|
||||||
|
|
@ -83,10 +85,12 @@ export class Command extends EntityBase {
|
||||||
detailFooter: string;
|
detailFooter: string;
|
||||||
|
|
||||||
@Column({
|
@Column({
|
||||||
length: 40,
|
nullable: true,
|
||||||
comment: "คีย์นอก(FK)ของตาราง commandType",
|
comment: "ตำแหน่ง",
|
||||||
|
type: "text",
|
||||||
|
default: null,
|
||||||
})
|
})
|
||||||
commandTypeId: string;
|
positionDetail: string;
|
||||||
|
|
||||||
@Column({
|
@Column({
|
||||||
comment: "สถานะบัญชีแนบท้าย",
|
comment: "สถานะบัญชีแนบท้าย",
|
||||||
|
|
@ -112,12 +116,33 @@ export class Command extends EntityBase {
|
||||||
})
|
})
|
||||||
isSign: boolean;
|
isSign: boolean;
|
||||||
|
|
||||||
|
@Column({
|
||||||
|
length: 40,
|
||||||
|
comment: "คีย์นอก(FK)ของตาราง commandType",
|
||||||
|
})
|
||||||
|
commandTypeId: string;
|
||||||
|
|
||||||
@ManyToOne(() => CommandType, (commandType) => commandType.commands)
|
@ManyToOne(() => CommandType, (commandType) => commandType.commands)
|
||||||
@JoinColumn({ name: "commandTypeId" })
|
@JoinColumn({ name: "commandTypeId" })
|
||||||
commandType: CommandType;
|
commandType: CommandType;
|
||||||
|
|
||||||
|
@Column({
|
||||||
|
nullable: true,
|
||||||
|
length: 40,
|
||||||
|
comment: "คีย์นอก(FK)ของตาราง commandSalary",
|
||||||
|
default: null,
|
||||||
|
})
|
||||||
|
commandSalaryId: string;
|
||||||
|
|
||||||
|
@ManyToOne(() => CommandSalary, (commandSalary) => commandSalary.commands)
|
||||||
|
@JoinColumn({ name: "commandSalaryId" })
|
||||||
|
commandSalary: CommandSalary;
|
||||||
|
|
||||||
@OneToMany(() => CommandSend, (commandSend) => commandSend.command)
|
@OneToMany(() => CommandSend, (commandSend) => commandSend.command)
|
||||||
commandSends: CommandSend[];
|
commandSends: CommandSend[];
|
||||||
|
|
||||||
|
@OneToMany(() => CommandRecive, (commandRecive) => commandRecive.command)
|
||||||
|
commandRecives: CommandRecive[];
|
||||||
}
|
}
|
||||||
|
|
||||||
export class CreateCommand {
|
export class CreateCommand {
|
||||||
|
|
|
||||||
89
src/entities/CommandRecive.ts
Normal file
89
src/entities/CommandRecive.ts
Normal file
|
|
@ -0,0 +1,89 @@
|
||||||
|
import { Entity, Column, JoinColumn, ManyToOne, OneToMany } from "typeorm";
|
||||||
|
import { EntityBase } from "./base/Base";
|
||||||
|
import { Command } from "./Command";
|
||||||
|
import { Profile } from "./Profile";
|
||||||
|
|
||||||
|
@Entity("commandRecive")
|
||||||
|
export class CommandRecive extends EntityBase {
|
||||||
|
@Column({
|
||||||
|
nullable: true,
|
||||||
|
comment: "เลขประจำตัวประชาชน",
|
||||||
|
length: 255,
|
||||||
|
default: null,
|
||||||
|
})
|
||||||
|
citizenId: string;
|
||||||
|
|
||||||
|
@Column({
|
||||||
|
nullable: true,
|
||||||
|
comment: "คำนำหน้า",
|
||||||
|
length: 255,
|
||||||
|
default: null,
|
||||||
|
})
|
||||||
|
prefix: string;
|
||||||
|
|
||||||
|
@Column({
|
||||||
|
nullable: true,
|
||||||
|
comment: "ชื่อ",
|
||||||
|
length: 255,
|
||||||
|
default: null,
|
||||||
|
})
|
||||||
|
fristName: string;
|
||||||
|
|
||||||
|
@Column({
|
||||||
|
nullable: true,
|
||||||
|
comment: "สกุล",
|
||||||
|
length: 255,
|
||||||
|
default: null,
|
||||||
|
})
|
||||||
|
lastName: string;
|
||||||
|
|
||||||
|
@Column({
|
||||||
|
nullable: true,
|
||||||
|
comment: "ตำแหน่ง",
|
||||||
|
length: 255,
|
||||||
|
default: null,
|
||||||
|
})
|
||||||
|
position: string;
|
||||||
|
|
||||||
|
@Column({
|
||||||
|
nullable: true,
|
||||||
|
comment: "หน่วยงาน",
|
||||||
|
length: 255,
|
||||||
|
default: null,
|
||||||
|
})
|
||||||
|
org: string;
|
||||||
|
|
||||||
|
@Column({
|
||||||
|
nullable: true,
|
||||||
|
comment: "ลำดับแสดงผล",
|
||||||
|
default: null,
|
||||||
|
})
|
||||||
|
order: number;
|
||||||
|
|
||||||
|
@Column({
|
||||||
|
length: 40,
|
||||||
|
comment: "คีย์นอก(FK)ของตาราง command",
|
||||||
|
})
|
||||||
|
commandId: string;
|
||||||
|
|
||||||
|
@ManyToOne(() => Command, (command) => command.commandRecives)
|
||||||
|
@JoinColumn({ name: "commandId" })
|
||||||
|
command: Command;
|
||||||
|
|
||||||
|
@Column({
|
||||||
|
length: 40,
|
||||||
|
comment: "คีย์นอก(FK)ของตาราง profile",
|
||||||
|
})
|
||||||
|
profileId: string;
|
||||||
|
|
||||||
|
@ManyToOne(() => Profile, (profile) => profile.commandRecives)
|
||||||
|
@JoinColumn({ name: "profileId" })
|
||||||
|
profile: Profile;
|
||||||
|
}
|
||||||
|
|
||||||
|
export class CreateCommandRecive {
|
||||||
|
@Column()
|
||||||
|
name: string;
|
||||||
|
}
|
||||||
|
|
||||||
|
// export type UpdateCommandRecive = Partial<CreateCommandRecive>;
|
||||||
|
|
@ -1,6 +1,7 @@
|
||||||
import { Entity, Column, JoinColumn, ManyToOne } from "typeorm";
|
import { Entity, Column, JoinColumn, ManyToOne, OneToMany } from "typeorm";
|
||||||
import { EntityBase } from "./base/Base";
|
import { EntityBase } from "./base/Base";
|
||||||
import { CommandSys } from "./CommandSys";
|
import { CommandSys } from "./CommandSys";
|
||||||
|
import { Command } from "./Command";
|
||||||
|
|
||||||
@Entity("commandSalary")
|
@Entity("commandSalary")
|
||||||
export class CommandSalary extends EntityBase {
|
export class CommandSalary extends EntityBase {
|
||||||
|
|
@ -29,6 +30,9 @@ export class CommandSalary extends EntityBase {
|
||||||
@ManyToOne(() => CommandSys, (commandSys) => commandSys.commandSalarys)
|
@ManyToOne(() => CommandSys, (commandSys) => commandSys.commandSalarys)
|
||||||
@JoinColumn({ name: "commandSysId" })
|
@JoinColumn({ name: "commandSysId" })
|
||||||
commandSalarySys: CommandSys;
|
commandSalarySys: CommandSys;
|
||||||
|
|
||||||
|
@OneToMany(() => Command, (command) => command.commandSalary)
|
||||||
|
commands: Command[];
|
||||||
}
|
}
|
||||||
|
|
||||||
export class CreateCommandSalary {
|
export class CreateCommandSalary {
|
||||||
|
|
|
||||||
|
|
@ -32,6 +32,7 @@ import { ProfileDevelopment } from "./ProfileDevelopment";
|
||||||
import { OrgRoot } from "./OrgRoot";
|
import { OrgRoot } from "./OrgRoot";
|
||||||
import { PermissionOrg } from "./PermissionOrg";
|
import { PermissionOrg } from "./PermissionOrg";
|
||||||
import { CommandSend } from "./CommandSend";
|
import { CommandSend } from "./CommandSend";
|
||||||
|
import { CommandRecive } from "./CommandRecive";
|
||||||
|
|
||||||
@Entity("profile")
|
@Entity("profile")
|
||||||
export class Profile extends EntityBase {
|
export class Profile extends EntityBase {
|
||||||
|
|
@ -375,6 +376,9 @@ export class Profile extends EntityBase {
|
||||||
@OneToMany(() => CommandSend, (v) => v.profile)
|
@OneToMany(() => CommandSend, (v) => v.profile)
|
||||||
commandSends: CommandSend[];
|
commandSends: CommandSend[];
|
||||||
|
|
||||||
|
@OneToMany(() => CommandRecive, (v) => v.profile)
|
||||||
|
commandRecives: CommandRecive[];
|
||||||
|
|
||||||
@ManyToOne(() => PosLevel, (posLevel) => posLevel.profiles)
|
@ManyToOne(() => PosLevel, (posLevel) => posLevel.profiles)
|
||||||
@JoinColumn({ name: "posLevelId" })
|
@JoinColumn({ name: "posLevelId" })
|
||||||
posLevel: PosLevel;
|
posLevel: PosLevel;
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,24 @@
|
||||||
|
import { MigrationInterface, QueryRunner } from "typeorm";
|
||||||
|
|
||||||
|
export class UpdateCommandAddPositiondetail1727167169710 implements MigrationInterface {
|
||||||
|
name = 'UpdateCommandAddPositiondetail1727167169710'
|
||||||
|
|
||||||
|
public async up(queryRunner: QueryRunner): Promise<void> {
|
||||||
|
await queryRunner.query(`CREATE TABLE \`commandRecive\` (\`id\` varchar(36) NOT NULL, \`createdAt\` datetime(6) NOT NULL COMMENT 'สร้างข้อมูลเมื่อ' DEFAULT CURRENT_TIMESTAMP(6), \`createdUserId\` varchar(40) NOT NULL COMMENT 'User Id ที่สร้างข้อมูล' DEFAULT '00000000-0000-0000-0000-000000000000', \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6), \`lastUpdateUserId\` varchar(40) NOT NULL COMMENT 'User Id ที่แก้ไขข้อมูล' DEFAULT '00000000-0000-0000-0000-000000000000', \`createdFullName\` varchar(200) NOT NULL COMMENT 'ชื่อ User ที่สร้างข้อมูล' DEFAULT 'string', \`lastUpdateFullName\` varchar(200) NOT NULL COMMENT 'ชื่อ User ที่แก้ไขข้อมูลล่าสุด' DEFAULT 'string', \`citizenId\` varchar(255) NULL COMMENT 'เลขประจำตัวประชาชน', \`prefix\` varchar(255) NULL COMMENT 'คำนำหน้า', \`fristName\` varchar(255) NULL COMMENT 'ชื่อ', \`lastName\` varchar(255) NULL COMMENT 'สกุล', \`position\` varchar(255) NULL COMMENT 'ตำแหน่ง', \`org\` varchar(255) NULL COMMENT 'หน่วยงาน', \`commandId\` varchar(40) NOT NULL COMMENT 'คีย์นอก(FK)ของตาราง command', \`profileId\` varchar(40) NOT NULL COMMENT 'คีย์นอก(FK)ของตาราง profile', PRIMARY KEY (\`id\`)) ENGINE=InnoDB`);
|
||||||
|
await queryRunner.query(`ALTER TABLE \`command\` ADD \`positionDetail\` text NULL COMMENT 'ตำแหน่ง'`);
|
||||||
|
await queryRunner.query(`ALTER TABLE \`command\` ADD \`commandSalaryId\` varchar(40) NULL COMMENT 'คีย์นอก(FK)ของตาราง commandSalary'`);
|
||||||
|
await queryRunner.query(`ALTER TABLE \`commandRecive\` ADD CONSTRAINT \`FK_66de028b0d8e4cff62bc43a58be\` FOREIGN KEY (\`commandId\`) REFERENCES \`command\`(\`id\`) ON DELETE NO ACTION ON UPDATE NO ACTION`);
|
||||||
|
await queryRunner.query(`ALTER TABLE \`commandRecive\` ADD CONSTRAINT \`FK_fb29bfd315d0d43d0b49b362995\` FOREIGN KEY (\`profileId\`) REFERENCES \`profile\`(\`id\`) ON DELETE NO ACTION ON UPDATE NO ACTION`);
|
||||||
|
await queryRunner.query(`ALTER TABLE \`command\` ADD CONSTRAINT \`FK_c85f006fc84cebf07b0980c6b94\` FOREIGN KEY (\`commandSalaryId\`) REFERENCES \`commandSalary\`(\`id\`) ON DELETE NO ACTION ON UPDATE NO ACTION`);
|
||||||
|
}
|
||||||
|
|
||||||
|
public async down(queryRunner: QueryRunner): Promise<void> {
|
||||||
|
await queryRunner.query(`ALTER TABLE \`command\` DROP FOREIGN KEY \`FK_c85f006fc84cebf07b0980c6b94\``);
|
||||||
|
await queryRunner.query(`ALTER TABLE \`commandRecive\` DROP FOREIGN KEY \`FK_fb29bfd315d0d43d0b49b362995\``);
|
||||||
|
await queryRunner.query(`ALTER TABLE \`commandRecive\` DROP FOREIGN KEY \`FK_66de028b0d8e4cff62bc43a58be\``);
|
||||||
|
await queryRunner.query(`ALTER TABLE \`command\` DROP COLUMN \`commandSalaryId\``);
|
||||||
|
await queryRunner.query(`ALTER TABLE \`command\` DROP COLUMN \`positionDetail\``);
|
||||||
|
await queryRunner.query(`DROP TABLE \`commandRecive\``);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
Loading…
Add table
Add a link
Reference in a new issue