update function tab
This commit is contained in:
parent
4c0c02cc8b
commit
78fb5b5c0a
3 changed files with 177 additions and 77 deletions
|
|
@ -25,6 +25,8 @@ import {
|
||||||
UpdateDevelopment3,
|
UpdateDevelopment3,
|
||||||
UpdateDevelopment4,
|
UpdateDevelopment4,
|
||||||
UpdateDevelopment5,
|
UpdateDevelopment5,
|
||||||
|
UpdateDevelopment7,
|
||||||
|
UpdateDevelopment8,
|
||||||
} from "../entities/Development";
|
} from "../entities/Development";
|
||||||
import { ActualPeople, CreateActualPeople } from "../entities/ActualPeople";
|
import { ActualPeople, CreateActualPeople } from "../entities/ActualPeople";
|
||||||
import { CreatePlannedPeople, PlannedPeople } from "../entities/PlannedPeople";
|
import { CreatePlannedPeople, PlannedPeople } from "../entities/PlannedPeople";
|
||||||
|
|
@ -1200,6 +1202,31 @@ export class DevelopmentController extends Controller {
|
||||||
}),
|
}),
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
//move from tab5
|
||||||
|
await this.developmentAddresssRepository.remove(development.developmentAddresss, {
|
||||||
|
data: request,
|
||||||
|
});
|
||||||
|
const before = structuredClone(development);
|
||||||
|
await Promise.all(
|
||||||
|
requestBody.developmentAddresss.map(async (x) => {
|
||||||
|
const data = Object.assign(new DevelopmentAddress(), x);
|
||||||
|
const chkProvince = await this.provinceRepository.findOne({
|
||||||
|
where: {
|
||||||
|
id: x.provinceId,
|
||||||
|
},
|
||||||
|
});
|
||||||
|
if (chkProvince == null) return;
|
||||||
|
data.developmentId = development.id;
|
||||||
|
data.createdUserId = request.user.sub;
|
||||||
|
data.createdFullName = request.user.name;
|
||||||
|
data.lastUpdateUserId = request.user.sub;
|
||||||
|
data.lastUpdateFullName = request.user.name;
|
||||||
|
await this.developmentAddresssRepository.save(data, { data: request });
|
||||||
|
setLogDataDiff(request, { before, after: development });
|
||||||
|
}),
|
||||||
|
);
|
||||||
|
Object.assign(development, { ...requestBody, developmentAddresss: [] });
|
||||||
|
//End
|
||||||
return new HttpSuccess(development.id);
|
return new HttpSuccess(development.id);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -1216,11 +1243,6 @@ export class DevelopmentController extends Controller {
|
||||||
@Body() requestBody: UpdateDevelopment4,
|
@Body() requestBody: UpdateDevelopment4,
|
||||||
@Request() request: RequestWithUser,
|
@Request() request: RequestWithUser,
|
||||||
) {
|
) {
|
||||||
// addLogSequence(request, {
|
|
||||||
// action: "database",
|
|
||||||
// status: "success",
|
|
||||||
// description: "Get Development.",
|
|
||||||
// });
|
|
||||||
const development = await this.developmentRepository.findOne({
|
const development = await this.developmentRepository.findOne({
|
||||||
where: { id },
|
where: { id },
|
||||||
});
|
});
|
||||||
|
|
@ -1231,11 +1253,6 @@ export class DevelopmentController extends Controller {
|
||||||
Object.assign(development, requestBody);
|
Object.assign(development, requestBody);
|
||||||
development.lastUpdateUserId = request.user.sub;
|
development.lastUpdateUserId = request.user.sub;
|
||||||
development.lastUpdateFullName = request.user.name;
|
development.lastUpdateFullName = request.user.name;
|
||||||
// addLogSequence(request, {
|
|
||||||
// action: "database",
|
|
||||||
// status: "success",
|
|
||||||
// description: "Store Development.",
|
|
||||||
// });
|
|
||||||
await this.developmentRepository.save(development, { data: request });
|
await this.developmentRepository.save(development, { data: request });
|
||||||
setLogDataDiff(request, { before, after: development });
|
setLogDataDiff(request, { before, after: development });
|
||||||
return new HttpSuccess(development.id);
|
return new HttpSuccess(development.id);
|
||||||
|
|
@ -1254,11 +1271,6 @@ export class DevelopmentController extends Controller {
|
||||||
@Body() requestBody: CreateDevelopmentEvaluation,
|
@Body() requestBody: CreateDevelopmentEvaluation,
|
||||||
@Request() request: RequestWithUser,
|
@Request() request: RequestWithUser,
|
||||||
) {
|
) {
|
||||||
// addLogSequence(request, {
|
|
||||||
// action: "database",
|
|
||||||
// status: "success",
|
|
||||||
// description: "Get Development.",
|
|
||||||
// });
|
|
||||||
const development = await this.developmentRepository.findOne({
|
const development = await this.developmentRepository.findOne({
|
||||||
where: { id },
|
where: { id },
|
||||||
});
|
});
|
||||||
|
|
@ -1272,11 +1284,6 @@ export class DevelopmentController extends Controller {
|
||||||
data.lastUpdateUserId = request.user.sub;
|
data.lastUpdateUserId = request.user.sub;
|
||||||
data.lastUpdateFullName = request.user.name;
|
data.lastUpdateFullName = request.user.name;
|
||||||
data.developmentId = development.id;
|
data.developmentId = development.id;
|
||||||
// addLogSequence(request, {
|
|
||||||
// action: "database",
|
|
||||||
// status: "success",
|
|
||||||
// description: "Store DevelopmentEvaluation.",
|
|
||||||
// });
|
|
||||||
await this.developmentEvaluationRepository.save(data, { data: request });
|
await this.developmentEvaluationRepository.save(data, { data: request });
|
||||||
setLogDataDiff(request, { before, after: development });
|
setLogDataDiff(request, { before, after: development });
|
||||||
return new HttpSuccess(data.id);
|
return new HttpSuccess(data.id);
|
||||||
|
|
@ -1370,49 +1377,64 @@ export class DevelopmentController extends Controller {
|
||||||
throw new HttpError(HttpStatusCode.NOT_FOUND, "ไม่พบข้อมูลจังหวัดข้อมูลด้านวิชาการ");
|
throw new HttpError(HttpStatusCode.NOT_FOUND, "ไม่พบข้อมูลจังหวัดข้อมูลด้านวิชาการ");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Object.assign(development, { ...requestBody, developmentAddresss: [] });
|
Object.assign(development, { ...requestBody, developmentAddresss: [] });
|
||||||
development.lastUpdateUserId = request.user.sub;
|
development.lastUpdateUserId = request.user.sub;
|
||||||
development.lastUpdateFullName = request.user.name;
|
development.lastUpdateFullName = request.user.name;
|
||||||
// addLogSequence(request, {
|
|
||||||
// action: "database",
|
|
||||||
// status: "success",
|
|
||||||
// description: "Store Development.",
|
|
||||||
// });
|
|
||||||
await this.developmentRepository.save(development, { data: request });
|
await this.developmentRepository.save(development, { data: request });
|
||||||
// addLogSequence(request, {
|
return new HttpSuccess(development.id);
|
||||||
// action: "remove",
|
}
|
||||||
// status: "success",
|
|
||||||
// description: "Remove DevelopmentAddresss.",
|
|
||||||
// });
|
|
||||||
await this.developmentAddresssRepository.remove(development.developmentAddresss, {
|
|
||||||
data: request,
|
|
||||||
});
|
|
||||||
const before = structuredClone(development);
|
|
||||||
await Promise.all(
|
|
||||||
requestBody.developmentAddresss.map(async (x) => {
|
|
||||||
const data = Object.assign(new DevelopmentAddress(), x);
|
|
||||||
const chkProvince = await this.provinceRepository.findOne({
|
|
||||||
where: {
|
|
||||||
id: x.provinceId,
|
|
||||||
},
|
|
||||||
});
|
|
||||||
if (chkProvince == null) return;
|
|
||||||
data.developmentId = development.id;
|
|
||||||
data.createdUserId = request.user.sub;
|
|
||||||
data.createdFullName = request.user.name;
|
|
||||||
data.lastUpdateUserId = request.user.sub;
|
|
||||||
data.lastUpdateFullName = request.user.name;
|
|
||||||
// addLogSequence(request, {
|
|
||||||
// action: "database",
|
|
||||||
// status: "success",
|
|
||||||
// description: "Store DevelopmentAddresss.",
|
|
||||||
// });
|
|
||||||
await this.developmentAddresssRepository.save(data, { data: request });
|
|
||||||
setLogDataDiff(request, { before, after: development });
|
|
||||||
}),
|
|
||||||
);
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* API แก้ไขโครงการ/หลักสูตรการฝึกอบรม tab7
|
||||||
|
*
|
||||||
|
* @summary DEV_00 - แก้ไขโครงการ/หลักสูตรการฝึกอบรม tab7 #
|
||||||
|
*
|
||||||
|
* @param {string} id Id โครงการ
|
||||||
|
*/
|
||||||
|
@Put("tab7/{id}")
|
||||||
|
async UpdateDevelopmentTab7(
|
||||||
|
@Path() id: string,
|
||||||
|
@Body() requestBody: UpdateDevelopment7,
|
||||||
|
@Request() request: RequestWithUser,
|
||||||
|
) {
|
||||||
|
const development = await this.developmentRepository.findOne({
|
||||||
|
where: { id },
|
||||||
|
relations: { developmentAddresss: true },
|
||||||
|
});
|
||||||
|
if (!development) {
|
||||||
|
throw new HttpError(HttpStatusCode.NOT_FOUND, "ไม่พบข้อมูลโครงการ/หลักสูตรการฝึกอบรมนี้");
|
||||||
|
}
|
||||||
|
Object.assign(development, { ...requestBody });
|
||||||
|
development.lastUpdateUserId = request.user.sub;
|
||||||
|
development.lastUpdateFullName = request.user.name;
|
||||||
|
await this.developmentRepository.save(development, { data: request });
|
||||||
|
return new HttpSuccess(development.id);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* API แก้ไขโครงการ/หลักสูตรการฝึกอบรม tab8
|
||||||
|
*
|
||||||
|
* @summary DEV_00 - แก้ไขโครงการ/หลักสูตรการฝึกอบรม tab8 #
|
||||||
|
*
|
||||||
|
* @param {string} id Id โครงการ
|
||||||
|
*/
|
||||||
|
@Put("tab8/{id}")
|
||||||
|
async UpdateDevelopmentTab8(
|
||||||
|
@Path() id: string,
|
||||||
|
@Body() requestBody: UpdateDevelopment8,
|
||||||
|
@Request() request: RequestWithUser,
|
||||||
|
) {
|
||||||
|
const development = await this.developmentRepository.findOne({
|
||||||
|
where: { id },
|
||||||
|
relations: { developmentAddresss: true },
|
||||||
|
});
|
||||||
|
if (!development) {
|
||||||
|
throw new HttpError(HttpStatusCode.NOT_FOUND, "ไม่พบข้อมูลโครงการ/หลักสูตรการฝึกอบรมนี้");
|
||||||
|
}
|
||||||
|
Object.assign(development, { ...requestBody });
|
||||||
|
development.lastUpdateUserId = request.user.sub;
|
||||||
|
development.lastUpdateFullName = request.user.name;
|
||||||
|
await this.developmentRepository.save(development, { data: request });
|
||||||
return new HttpSuccess(development.id);
|
return new HttpSuccess(development.id);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -652,6 +652,38 @@ export class Development extends EntityBase {
|
||||||
@ManyToOne(() => StrategyChild5, (strategyChild5) => strategyChild5.developmentActuals)
|
@ManyToOne(() => StrategyChild5, (strategyChild5) => strategyChild5.developmentActuals)
|
||||||
@JoinColumn({ name: "strategyChild5ActualId" })
|
@JoinColumn({ name: "strategyChild5ActualId" })
|
||||||
strategyChild5Actual: StrategyChild5;
|
strategyChild5Actual: StrategyChild5;
|
||||||
|
|
||||||
|
@Column({
|
||||||
|
type: "longtext",
|
||||||
|
nullable: true,
|
||||||
|
comment: "การติดตามความก้าวหน้า",
|
||||||
|
default: null,
|
||||||
|
})
|
||||||
|
progressTracking: string;
|
||||||
|
|
||||||
|
@Column({
|
||||||
|
type: "longtext",
|
||||||
|
nullable: true,
|
||||||
|
comment: "การประเมินผลโครงการ",
|
||||||
|
default: null,
|
||||||
|
})
|
||||||
|
projectEvaluation: string;
|
||||||
|
|
||||||
|
@Column({
|
||||||
|
type: "longtext",
|
||||||
|
nullable: true,
|
||||||
|
comment: "ปัญหาอุปสรรค",
|
||||||
|
default: null,
|
||||||
|
})
|
||||||
|
obstacle: string;
|
||||||
|
|
||||||
|
@Column({
|
||||||
|
type: "longtext",
|
||||||
|
nullable: true,
|
||||||
|
comment: "ข้อเสนอแนะ",
|
||||||
|
default: null,
|
||||||
|
})
|
||||||
|
suggestion: string;
|
||||||
}
|
}
|
||||||
export class CreateDevelopment {
|
export class CreateDevelopment {
|
||||||
@Column()
|
@Column()
|
||||||
|
|
@ -695,6 +727,16 @@ export class UpdateDevelopment2_2 {
|
||||||
plannedPeoples: CreatePlannedPeople[];
|
plannedPeoples: CreatePlannedPeople[];
|
||||||
}
|
}
|
||||||
export class UpdateDevelopment3 {
|
export class UpdateDevelopment3 {
|
||||||
|
//move from tab5
|
||||||
|
@Column()
|
||||||
|
dateStart: Date | null;
|
||||||
|
@Column()
|
||||||
|
dateEnd: Date | null;
|
||||||
|
@Column()
|
||||||
|
totalDate: number | null;
|
||||||
|
//end
|
||||||
|
@Column()
|
||||||
|
developmentAddresss: CreateDevelopmentAddress[];
|
||||||
@Column()
|
@Column()
|
||||||
developmentProjectTypes?: string[];
|
developmentProjectTypes?: string[];
|
||||||
@Column()
|
@Column()
|
||||||
|
|
@ -749,6 +791,22 @@ export class UpdateDevelopment3 {
|
||||||
export class UpdateDevelopment4 {
|
export class UpdateDevelopment4 {
|
||||||
// @Column()
|
// @Column()
|
||||||
// developmentEvaluations: CreateDevelopmentEvaluation[];
|
// developmentEvaluations: CreateDevelopmentEvaluation[];
|
||||||
|
//new
|
||||||
|
@Column()
|
||||||
|
progressTracking: string | null;
|
||||||
|
@Column()
|
||||||
|
projectEvaluation: string | null;
|
||||||
|
//end
|
||||||
|
|
||||||
|
}
|
||||||
|
export class UpdateDevelopment5 {
|
||||||
|
//new
|
||||||
|
@Column()
|
||||||
|
obstacle: string | null;
|
||||||
|
@Column()
|
||||||
|
suggestion: string | null;
|
||||||
|
//end
|
||||||
|
//move from tab4
|
||||||
@Column()
|
@Column()
|
||||||
project: string | null;
|
project: string | null;
|
||||||
@Column()
|
@Column()
|
||||||
|
|
@ -761,16 +819,21 @@ export class UpdateDevelopment4 {
|
||||||
isBudget: boolean;
|
isBudget: boolean;
|
||||||
@Column()
|
@Column()
|
||||||
isOutBudget: boolean;
|
isOutBudget: boolean;
|
||||||
|
//end
|
||||||
|
@Column()
|
||||||
|
budgetPay: Double | null;
|
||||||
|
@Column()
|
||||||
|
expect: string | null;
|
||||||
|
@Column()
|
||||||
|
topicAcademic: string | null;
|
||||||
|
@Column()
|
||||||
|
addressAcademic: string | null;
|
||||||
|
@Column()
|
||||||
|
provinceActualId: string | null;
|
||||||
}
|
}
|
||||||
export class UpdateDevelopment5 {
|
|
||||||
@Column()
|
export class UpdateDevelopment7 {
|
||||||
dateStart: Date | null;
|
//move from tab5
|
||||||
@Column()
|
|
||||||
dateEnd: Date | null;
|
|
||||||
@Column()
|
|
||||||
totalDate: number | null;
|
|
||||||
@Column()
|
|
||||||
developmentAddresss: CreateDevelopmentAddress[];
|
|
||||||
@Column()
|
@Column()
|
||||||
budget: string | null;
|
budget: string | null;
|
||||||
@Column()
|
@Column()
|
||||||
|
|
@ -781,8 +844,10 @@ export class UpdateDevelopment5 {
|
||||||
receive: Double | null;
|
receive: Double | null;
|
||||||
@Column()
|
@Column()
|
||||||
approved: Double | null;
|
approved: Double | null;
|
||||||
@Column()
|
//end
|
||||||
budgetPay: Double | null;
|
}
|
||||||
|
export class UpdateDevelopment8 {
|
||||||
|
//move from tab5
|
||||||
@Column()
|
@Column()
|
||||||
issues: string | null;
|
issues: string | null;
|
||||||
@Column()
|
@Column()
|
||||||
|
|
@ -793,12 +858,5 @@ export class UpdateDevelopment5 {
|
||||||
riskLevel: string | null;
|
riskLevel: string | null;
|
||||||
@Column()
|
@Column()
|
||||||
riskManagement: string | null;
|
riskManagement: string | null;
|
||||||
@Column()
|
//end
|
||||||
expect: string | null;
|
|
||||||
@Column()
|
|
||||||
topicAcademic: string | null;
|
|
||||||
@Column()
|
|
||||||
addressAcademic: string | null;
|
|
||||||
@Column()
|
|
||||||
provinceActualId: string | null;
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,20 @@
|
||||||
|
import { MigrationInterface, QueryRunner } from "typeorm";
|
||||||
|
|
||||||
|
export class UpdateTableMigration080720241723013963408 implements MigrationInterface {
|
||||||
|
name = 'UpdateTableMigration080720241723013963408'
|
||||||
|
|
||||||
|
public async up(queryRunner: QueryRunner): Promise<void> {
|
||||||
|
await queryRunner.query(`ALTER TABLE \`development\` ADD \`progressTracking\` longtext NULL COMMENT 'การติดตามความก้าวหน้า'`);
|
||||||
|
await queryRunner.query(`ALTER TABLE \`development\` ADD \`projectEvaluation\` longtext NULL COMMENT 'การประเมินผลโครงการ'`);
|
||||||
|
await queryRunner.query(`ALTER TABLE \`development\` ADD \`obstacle\` longtext NULL COMMENT 'ปัญหาอุปสรรค'`);
|
||||||
|
await queryRunner.query(`ALTER TABLE \`development\` ADD \`suggestion\` longtext NULL COMMENT 'ข้อเสนอแนะ'`);
|
||||||
|
}
|
||||||
|
|
||||||
|
public async down(queryRunner: QueryRunner): Promise<void> {
|
||||||
|
await queryRunner.query(`ALTER TABLE \`development\` DROP COLUMN \`suggestion\``);
|
||||||
|
await queryRunner.query(`ALTER TABLE \`development\` DROP COLUMN \`obstacle\``);
|
||||||
|
await queryRunner.query(`ALTER TABLE \`development\` DROP COLUMN \`projectEvaluation\``);
|
||||||
|
await queryRunner.query(`ALTER TABLE \`development\` DROP COLUMN \`progressTracking\``);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
Loading…
Add table
Add a link
Reference in a new issue