api ทุน ของ user
This commit is contained in:
parent
37bf71aca5
commit
a4eed4f690
8 changed files with 496 additions and 124 deletions
|
|
@ -38,9 +38,13 @@ import { PosLevel } from "../entities/PosLevel";
|
|||
import { PlannedGoalPosition } from "../entities/PlannedGoalPosition";
|
||||
import { DevelopmentHistory } from "../entities/DevelopmentHistory";
|
||||
import { DevelopmentProjectType } from "../entities/DevelopmentProjectType";
|
||||
import { DevelopmentProjectTechnique } from "../entities/DevelopmentProjectTechnique";
|
||||
import { DevelopmentEvaluation } from "../entities/DevelopmentEvaluation";
|
||||
import {
|
||||
CreateDevelopmentEvaluation,
|
||||
DevelopmentEvaluation,
|
||||
} from "../entities/DevelopmentEvaluation";
|
||||
import { DevelopmentAddress } from "../entities/DevelopmentAddress";
|
||||
import { DevelopmentProjectTechniquePlanned } from "../entities/DevelopmentProjectTechniquePlanned";
|
||||
import { DevelopmentProjectTechniqueActual } from "../entities/DevelopmentProjectTechniqueActual";
|
||||
|
||||
@Route("api/v1/development/main")
|
||||
@Tags("Development")
|
||||
|
|
@ -50,8 +54,11 @@ export class DevelopmentController extends Controller {
|
|||
private developmentAddresssRepository = AppDataSource.getRepository(DevelopmentAddress);
|
||||
private developmentEvaluationRepository = AppDataSource.getRepository(DevelopmentEvaluation);
|
||||
private developmentProjectTypeRepository = AppDataSource.getRepository(DevelopmentProjectType);
|
||||
private developmentProjectTechniqueRepository = AppDataSource.getRepository(
|
||||
DevelopmentProjectTechnique,
|
||||
private developmentProjectTechniquePlannedRepository = AppDataSource.getRepository(
|
||||
DevelopmentProjectTechniquePlanned,
|
||||
);
|
||||
private developmentProjectTechniqueActualRepository = AppDataSource.getRepository(
|
||||
DevelopmentProjectTechniqueActual,
|
||||
);
|
||||
private developmentHistoryRepository = AppDataSource.getRepository(DevelopmentHistory);
|
||||
private actualPeopleRepository = AppDataSource.getRepository(ActualPeople);
|
||||
|
|
@ -162,7 +169,7 @@ export class DevelopmentController extends Controller {
|
|||
if (!development) {
|
||||
throw new HttpError(HttpStatusCode.NOT_FOUND, "ไม่พบข้อมูลโครงการ/หลักสูตรการฝึกอบรมนี้");
|
||||
}
|
||||
const data = Object.assign(new PlannedGoal(), requestBody);
|
||||
const data = Object.assign(new PlannedGoal(), { ...requestBody, positions: [] });
|
||||
data.createdUserId = request.user.sub;
|
||||
data.createdFullName = request.user.name;
|
||||
data.lastUpdateUserId = request.user.sub;
|
||||
|
|
@ -284,7 +291,7 @@ export class DevelopmentController extends Controller {
|
|||
@Put("tab2_4_add/{id}")
|
||||
async CreateDevelopmenttab2_4(
|
||||
@Path() id: string,
|
||||
@Body() requestBody: CreateActualPeople[],
|
||||
@Body() requestBody: CreateActualPeople,
|
||||
@Request() request: { user: Record<string, any> },
|
||||
) {
|
||||
const development = await this.developmentRepository.findOne({
|
||||
|
|
@ -308,7 +315,7 @@ export class DevelopmentController extends Controller {
|
|||
*
|
||||
* @summary DEV_00 - แก้ไขโครงการ/หลักสูตรการฝึกอบรมtab2-1 #
|
||||
*
|
||||
* @param {string} id Id โครงการ
|
||||
* @param {string} id Id รายการ
|
||||
*/
|
||||
@Put("tab2_1_edit/{id}")
|
||||
async UpdateDevelopmenttab2_1(
|
||||
|
|
@ -327,9 +334,7 @@ export class DevelopmentController extends Controller {
|
|||
}
|
||||
|
||||
await this.plannedGoalPositionRepository.remove(development.plannedGoalPositions);
|
||||
const _requestBody: any = requestBody;
|
||||
delete _requestBody.positions;
|
||||
Object.assign(development, requestBody);
|
||||
Object.assign(development, { ...requestBody, positions: [] });
|
||||
development.lastUpdateUserId = request.user.sub;
|
||||
development.lastUpdateFullName = request.user.name;
|
||||
await this.plannedGoalRepository.save(development);
|
||||
|
|
@ -371,7 +376,7 @@ export class DevelopmentController extends Controller {
|
|||
*
|
||||
* @summary DEV_00 - แก้ไขโครงการ/หลักสูตรการฝึกอบรมtab2-2 #
|
||||
*
|
||||
* @param {string} id Id โครงการ
|
||||
* @param {string} id Id รายการ
|
||||
*/
|
||||
@Put("tab2_2_edit/{id}")
|
||||
async UpdateDevelopmenttab2_2(
|
||||
|
|
@ -397,7 +402,7 @@ export class DevelopmentController extends Controller {
|
|||
*
|
||||
* @summary DEV_00 - แก้ไขโครงการ/หลักสูตรการฝึกอบรมtab2-3 #
|
||||
*
|
||||
* @param {string} id Id โครงการ
|
||||
* @param {string} id Id รายการ
|
||||
*/
|
||||
@Put("tab2_3_edit/{id}")
|
||||
async UpdateDevelopmenttab2_3(
|
||||
|
|
@ -439,7 +444,7 @@ export class DevelopmentController extends Controller {
|
|||
*
|
||||
* @summary DEV_00 - แก้ไขโครงการ/หลักสูตรการฝึกอบรมtab2-4 #
|
||||
*
|
||||
* @param {string} id Id โครงการ
|
||||
* @param {string} id Id รายการ
|
||||
*/
|
||||
@Put("tab2_4_edit/{id}")
|
||||
async UpdateDevelopmenttab2_4(
|
||||
|
|
@ -557,19 +562,28 @@ export class DevelopmentController extends Controller {
|
|||
where: { id },
|
||||
relations: {
|
||||
developmentProjectTypes: true,
|
||||
developmentProjectTechniques: true,
|
||||
developmentProjectTechniquePlanneds: true,
|
||||
developmentProjectTechniqueActuals: true,
|
||||
},
|
||||
});
|
||||
if (!development) {
|
||||
throw new HttpError(HttpStatusCode.NOT_FOUND, "ไม่พบข้อมูลโครงการ/หลักสูตรการฝึกอบรมนี้");
|
||||
}
|
||||
Object.assign(development, requestBody);
|
||||
Object.assign(development, {
|
||||
...requestBody,
|
||||
developmentProjectTypes: [],
|
||||
developmentProjectTechniquePlanneds: [],
|
||||
developmentProjectTechniqueActuals: [],
|
||||
});
|
||||
development.lastUpdateUserId = request.user.sub;
|
||||
development.lastUpdateFullName = request.user.name;
|
||||
await this.developmentRepository.save(development);
|
||||
await this.developmentProjectTypeRepository.remove(development.developmentProjectTypes);
|
||||
await this.developmentProjectTechniqueRepository.remove(
|
||||
development.developmentProjectTechniques,
|
||||
await this.developmentProjectTechniquePlannedRepository.remove(
|
||||
development.developmentProjectTechniquePlanneds,
|
||||
);
|
||||
await this.developmentProjectTechniqueActualRepository.remove(
|
||||
development.developmentProjectTechniqueActuals,
|
||||
);
|
||||
if (requestBody.developmentProjectTypes != null) {
|
||||
await Promise.all(
|
||||
|
|
@ -585,17 +599,31 @@ export class DevelopmentController extends Controller {
|
|||
}),
|
||||
);
|
||||
}
|
||||
if (requestBody.developmentProjectTechniques != null) {
|
||||
if (requestBody.developmentProjectTechniquePlanneds != null) {
|
||||
await Promise.all(
|
||||
requestBody.developmentProjectTechniques.map(async (x) => {
|
||||
let data = new DevelopmentProjectTechnique();
|
||||
requestBody.developmentProjectTechniquePlanneds.map(async (x) => {
|
||||
let data = new DevelopmentProjectTechniquePlanned();
|
||||
data.name = x;
|
||||
data.createdUserId = request.user.sub;
|
||||
data.createdFullName = request.user.name;
|
||||
data.lastUpdateUserId = request.user.sub;
|
||||
data.lastUpdateFullName = request.user.name;
|
||||
data.developmentId = development.id;
|
||||
await this.developmentProjectTechniqueRepository.save(data);
|
||||
await this.developmentProjectTechniquePlannedRepository.save(data);
|
||||
}),
|
||||
);
|
||||
}
|
||||
if (requestBody.developmentProjectTechniqueActuals != null) {
|
||||
await Promise.all(
|
||||
requestBody.developmentProjectTechniqueActuals.map(async (x) => {
|
||||
let data = new DevelopmentProjectTechniquePlanned();
|
||||
data.name = x;
|
||||
data.createdUserId = request.user.sub;
|
||||
data.createdFullName = request.user.name;
|
||||
data.lastUpdateUserId = request.user.sub;
|
||||
data.lastUpdateFullName = request.user.name;
|
||||
data.developmentId = development.id;
|
||||
await this.developmentProjectTechniqueActualRepository.save(data);
|
||||
}),
|
||||
);
|
||||
}
|
||||
|
|
@ -617,9 +645,6 @@ export class DevelopmentController extends Controller {
|
|||
) {
|
||||
const development = await this.developmentRepository.findOne({
|
||||
where: { id },
|
||||
relations: {
|
||||
developmentEvaluations: true,
|
||||
},
|
||||
});
|
||||
if (!development) {
|
||||
throw new HttpError(HttpStatusCode.NOT_FOUND, "ไม่พบข้อมูลโครงการ/หลักสูตรการฝึกอบรมนี้");
|
||||
|
|
@ -628,18 +653,80 @@ export class DevelopmentController extends Controller {
|
|||
development.lastUpdateUserId = request.user.sub;
|
||||
development.lastUpdateFullName = request.user.name;
|
||||
await this.developmentRepository.save(development);
|
||||
await this.developmentEvaluationRepository.remove(development.developmentEvaluations);
|
||||
await Promise.all(
|
||||
requestBody.developmentEvaluations.map(async (x) => {
|
||||
const data = Object.assign(new DevelopmentEvaluation(), x);
|
||||
data.createdUserId = request.user.sub;
|
||||
data.createdFullName = request.user.name;
|
||||
data.lastUpdateUserId = request.user.sub;
|
||||
data.lastUpdateFullName = request.user.name;
|
||||
data.developmentId = development.id;
|
||||
await this.developmentEvaluationRepository.save(data);
|
||||
}),
|
||||
);
|
||||
return new HttpSuccess(development.id);
|
||||
}
|
||||
|
||||
/**
|
||||
* API เพิ่มโครงการ/หลักสูตรการฝึกอบรมtab4-1
|
||||
*
|
||||
* @summary DEV_00 - เพิ่มโครงการ/หลักสูตรการฝึกอบรมtab4-1 #
|
||||
*
|
||||
* @param {string} id Id โครงการ
|
||||
*/
|
||||
@Put("tab4_1_add/{id}")
|
||||
async CreateDevelopmenttab4_1(
|
||||
@Path() id: string,
|
||||
@Body() requestBody: CreateDevelopmentEvaluation,
|
||||
@Request() request: { user: Record<string, any> },
|
||||
) {
|
||||
const development = await this.developmentRepository.findOne({
|
||||
where: { id },
|
||||
});
|
||||
if (!development) {
|
||||
throw new HttpError(HttpStatusCode.NOT_FOUND, "ไม่พบข้อมูลโครงการ/หลักสูตรการฝึกอบรมนี้");
|
||||
}
|
||||
const data = Object.assign(new DevelopmentEvaluation(), requestBody);
|
||||
data.createdUserId = request.user.sub;
|
||||
data.createdFullName = request.user.name;
|
||||
data.lastUpdateUserId = request.user.sub;
|
||||
data.lastUpdateFullName = request.user.name;
|
||||
data.developmentId = development.id;
|
||||
await this.developmentEvaluationRepository.save(data);
|
||||
return new HttpSuccess(data.id);
|
||||
}
|
||||
|
||||
/**
|
||||
* API ลบโครงการ/หลักสูตรการฝึกอบรมtab4-1
|
||||
*
|
||||
* @summary DEV_00 - ลบโครงการ/หลักสูตรการฝึกอบรมtab4-1 #
|
||||
*
|
||||
* @param {string} id Id รายการ
|
||||
*/
|
||||
@Delete("tab4_1/{id}")
|
||||
async DeleteDevelopmenttab4_1(@Path() id: string) {
|
||||
const development = await this.developmentEvaluationRepository.findOne({
|
||||
where: { id },
|
||||
});
|
||||
if (!development) {
|
||||
throw new HttpError(HttpStatusCode.NOT_FOUND, "ไม่พบข้อมูลผู้เกี่ยวข้องเป้าหมายตามแผน");
|
||||
}
|
||||
await this.developmentEvaluationRepository.remove(development);
|
||||
return new HttpSuccess(development.id);
|
||||
}
|
||||
|
||||
/**
|
||||
* API แก้ไขโครงการ/หลักสูตรการฝึกอบรมtab4-1
|
||||
*
|
||||
* @summary DEV_00 - แก้ไขโครงการ/หลักสูตรการฝึกอบรมtab4-1 #
|
||||
*
|
||||
* @param {string} id Id รายการ
|
||||
*/
|
||||
@Put("tab4_1_edit/{id}")
|
||||
async UpdateDevelopmenttab4_1(
|
||||
@Path() id: string,
|
||||
@Body() requestBody: CreateDevelopmentEvaluation,
|
||||
@Request() request: { user: Record<string, any> },
|
||||
) {
|
||||
const development = await this.developmentEvaluationRepository.findOne({
|
||||
where: { id },
|
||||
});
|
||||
if (!development) {
|
||||
throw new HttpError(HttpStatusCode.NOT_FOUND, "ไม่พบข้อมูลโครงการ/หลักสูตรการฝึกอบรมนี้");
|
||||
}
|
||||
Object.assign(development, requestBody);
|
||||
development.lastUpdateUserId = request.user.sub;
|
||||
development.lastUpdateFullName = request.user.name;
|
||||
await this.developmentEvaluationRepository.save(development);
|
||||
return new HttpSuccess(development.id);
|
||||
}
|
||||
|
||||
|
|
@ -658,9 +745,7 @@ export class DevelopmentController extends Controller {
|
|||
) {
|
||||
const development = await this.developmentRepository.findOne({
|
||||
where: { id },
|
||||
relations: {
|
||||
developmentAddresss: true,
|
||||
},
|
||||
relations: { developmentAddresss: true },
|
||||
});
|
||||
if (!development) {
|
||||
throw new HttpError(HttpStatusCode.NOT_FOUND, "ไม่พบข้อมูลโครงการ/หลักสูตรการฝึกอบรมนี้");
|
||||
|
|
@ -673,28 +758,31 @@ export class DevelopmentController extends Controller {
|
|||
throw new HttpError(HttpStatusCode.NOT_FOUND, "ไม่พบข้อมูลจังหวัดข้อมูลด้านวิชาการ");
|
||||
}
|
||||
}
|
||||
Object.assign(development, requestBody);
|
||||
|
||||
Object.assign(development, { ...requestBody, developmentAddresss: [] });
|
||||
development.lastUpdateUserId = request.user.sub;
|
||||
development.lastUpdateFullName = request.user.name;
|
||||
await this.developmentRepository.save(development);
|
||||
|
||||
await this.developmentAddresssRepository.remove(development.developmentAddresss);
|
||||
await Promise.all(
|
||||
requestBody.developmentAddresss.map(async (x) => {
|
||||
const data = Object.assign(new DevelopmentAddress(), x);
|
||||
const chkProvince = await this.provinceRepository.find({
|
||||
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;
|
||||
data.developmentId = development.id;
|
||||
await this.developmentAddresssRepository.save(data);
|
||||
}),
|
||||
);
|
||||
|
||||
return new HttpSuccess(development.id);
|
||||
}
|
||||
|
||||
|
|
@ -703,7 +791,6 @@ export class DevelopmentController extends Controller {
|
|||
*
|
||||
* @summary DEV_00 - ค้นหาโครงการ #
|
||||
*
|
||||
* @param {string} id Id โครงการ
|
||||
*/
|
||||
@Get("search")
|
||||
async ListDevelopemt(
|
||||
|
|
@ -752,7 +839,7 @@ export class DevelopmentController extends Controller {
|
|||
*
|
||||
* @summary DEV_003 - ลบโครงการ/หลักสูตรการฝึกอบรม #3
|
||||
*
|
||||
* @param {string} id Id โครงการ
|
||||
* @param {string} id Id รายการ
|
||||
*/
|
||||
@Delete("{id}")
|
||||
async DeleteDevelopment(@Path() id: string) {
|
||||
|
|
@ -764,7 +851,8 @@ export class DevelopmentController extends Controller {
|
|||
developmentActualGoals: true,
|
||||
developmentPlannedGoals: true,
|
||||
developmentProjectTypes: true,
|
||||
developmentProjectTechniques: true,
|
||||
developmentProjectTechniquePlanneds: true,
|
||||
developmentProjectTechniqueActuals: true,
|
||||
developmentEvaluations: true,
|
||||
developmentAddresss: true,
|
||||
},
|
||||
|
|
@ -787,8 +875,11 @@ export class DevelopmentController extends Controller {
|
|||
await this.actualGoalRepository.remove(development.developmentActualGoals);
|
||||
await this.plannedGoalRepository.remove(development.developmentPlannedGoals);
|
||||
await this.developmentProjectTypeRepository.remove(development.developmentProjectTypes);
|
||||
await this.developmentProjectTechniqueRepository.remove(
|
||||
development.developmentProjectTechniques,
|
||||
await this.developmentProjectTechniquePlannedRepository.remove(
|
||||
development.developmentProjectTechniquePlanneds,
|
||||
);
|
||||
await this.developmentProjectTechniqueActualRepository.remove(
|
||||
development.developmentProjectTechniqueActuals,
|
||||
);
|
||||
await this.developmentEvaluationRepository.remove(development.developmentEvaluations);
|
||||
await this.developmentAddresssRepository.remove(development.developmentAddresss);
|
||||
|
|
@ -915,10 +1006,38 @@ export class DevelopmentController extends Controller {
|
|||
}
|
||||
let _getDevelopment: any = {
|
||||
id: getDevelopment.id,
|
||||
actualPeoples: getDevelopment.developmentActualPeoples,
|
||||
plannedPeoples: getDevelopment.developmentPlannedPeoples,
|
||||
actualGoals: getDevelopment.developmentActualGoals,
|
||||
plannedGoals: getDevelopment.developmentPlannedGoals,
|
||||
actualPeoples:
|
||||
getDevelopment.developmentActualPeoples == null
|
||||
? null
|
||||
: getDevelopment.developmentActualPeoples.sort((a, b) =>
|
||||
(a.groupTarget == null ? "" : a.groupTarget).localeCompare(
|
||||
b.groupTarget == null ? "" : b.groupTarget,
|
||||
),
|
||||
),
|
||||
plannedPeoples:
|
||||
getDevelopment.developmentPlannedPeoples == null
|
||||
? null
|
||||
: getDevelopment.developmentPlannedPeoples.sort((a, b) =>
|
||||
(a.groupTarget == null ? "" : a.groupTarget).localeCompare(
|
||||
b.groupTarget == null ? "" : b.groupTarget,
|
||||
),
|
||||
),
|
||||
actualGoals:
|
||||
getDevelopment.developmentActualGoals == null
|
||||
? null
|
||||
: getDevelopment.developmentActualGoals.sort((a, b) =>
|
||||
(a.groupTarget == null ? "" : a.groupTarget).localeCompare(
|
||||
b.groupTarget == null ? "" : b.groupTarget,
|
||||
),
|
||||
),
|
||||
plannedGoals:
|
||||
getDevelopment.developmentPlannedGoals == null
|
||||
? null
|
||||
: getDevelopment.developmentPlannedGoals.sort((a, b) =>
|
||||
(a.groupTarget == null ? "" : a.groupTarget).localeCompare(
|
||||
b.groupTarget == null ? "" : b.groupTarget,
|
||||
),
|
||||
),
|
||||
};
|
||||
return new HttpSuccess(_getDevelopment);
|
||||
}
|
||||
|
|
@ -935,28 +1054,34 @@ export class DevelopmentController extends Controller {
|
|||
const getDevelopment = await this.developmentRepository.findOne({
|
||||
where: { id: id },
|
||||
relations: [
|
||||
"developmentActualPeoples",
|
||||
"developmentPlannedPeoples",
|
||||
"developmentActualGoals",
|
||||
"developmentPlannedGoals",
|
||||
"developmentPlannedGoals.plannedGoalPositions",
|
||||
"provinces",
|
||||
// "provinces.developmentProvinces",
|
||||
"developmentProjectTypes",
|
||||
"developmentProjectTechniquePlanneds",
|
||||
"developmentProjectTechniqueActuals",
|
||||
],
|
||||
});
|
||||
if (!getDevelopment) {
|
||||
throw new HttpError(HttpStatusCode.NOT_FOUND, "ไม่พบข้อมูลโครงการ/หลักสูตรการฝึกอบรมนี้");
|
||||
}
|
||||
let _getDevelopment: any = getDevelopment;
|
||||
_getDevelopment.actualPeoples = getDevelopment.developmentActualPeoples;
|
||||
_getDevelopment.plannedPeoples = getDevelopment.developmentPlannedPeoples;
|
||||
_getDevelopment.actualGoals = getDevelopment.developmentActualGoals;
|
||||
_getDevelopment.plannedGoals = getDevelopment.developmentPlannedGoals;
|
||||
// _getDevelopment.provinces = getDevelopment.provinces.map(x=>x.developmentProvinces);
|
||||
delete _getDevelopment.developmentActualPeoples;
|
||||
delete _getDevelopment.developmentPlannedPeoples;
|
||||
delete _getDevelopment.developmentActualGoals;
|
||||
delete _getDevelopment.developmentPlannedGoals;
|
||||
let _getDevelopment: any = {
|
||||
developmentProjectTypes: getDevelopment.developmentProjectTypes.map((x) => x.name).sort(),
|
||||
projectModal: getDevelopment.projectModal,
|
||||
isBackPlanned: getDevelopment.isBackPlanned,
|
||||
isHoldPlanned: getDevelopment.isHoldPlanned,
|
||||
projectDayBackPlanned: getDevelopment.projectDayBackPlanned,
|
||||
projectDayHoldPlanned: getDevelopment.projectDayHoldPlanned,
|
||||
projectNigthHoldPlanned: getDevelopment.projectNigthHoldPlanned,
|
||||
developmentProjectTechniquePlanneds: getDevelopment.developmentProjectTechniquePlanneds
|
||||
.map((x) => x.name)
|
||||
.sort(),
|
||||
isBackActual: getDevelopment.isBackActual,
|
||||
isHoldActual: getDevelopment.isHoldActual,
|
||||
projectDayBackActual: getDevelopment.projectDayBackActual,
|
||||
projectDayHoldActual: getDevelopment.projectDayHoldActual,
|
||||
projectNigthHoldActual: getDevelopment.projectNigthHoldActual,
|
||||
developmentProjectTechniqueActuals: getDevelopment.developmentProjectTechniqueActuals
|
||||
.map((x) => x.name)
|
||||
.sort(),
|
||||
};
|
||||
return new HttpSuccess(_getDevelopment);
|
||||
}
|
||||
|
||||
|
|
@ -971,29 +1096,28 @@ export class DevelopmentController extends Controller {
|
|||
async GetDevelopemtTab4ById(@Path() id: string) {
|
||||
const getDevelopment = await this.developmentRepository.findOne({
|
||||
where: { id: id },
|
||||
relations: [
|
||||
"developmentActualPeoples",
|
||||
"developmentPlannedPeoples",
|
||||
"developmentActualGoals",
|
||||
"developmentPlannedGoals",
|
||||
"developmentPlannedGoals.plannedGoalPositions",
|
||||
"provinces",
|
||||
// "provinces.developmentProvinces",
|
||||
],
|
||||
relations: ["developmentEvaluations"],
|
||||
});
|
||||
if (!getDevelopment) {
|
||||
throw new HttpError(HttpStatusCode.NOT_FOUND, "ไม่พบข้อมูลโครงการ/หลักสูตรการฝึกอบรมนี้");
|
||||
}
|
||||
let _getDevelopment: any = getDevelopment;
|
||||
_getDevelopment.actualPeoples = getDevelopment.developmentActualPeoples;
|
||||
_getDevelopment.plannedPeoples = getDevelopment.developmentPlannedPeoples;
|
||||
_getDevelopment.actualGoals = getDevelopment.developmentActualGoals;
|
||||
_getDevelopment.plannedGoals = getDevelopment.developmentPlannedGoals;
|
||||
// _getDevelopment.provinces = getDevelopment.provinces.map(x=>x.developmentProvinces);
|
||||
delete _getDevelopment.developmentActualPeoples;
|
||||
delete _getDevelopment.developmentPlannedPeoples;
|
||||
delete _getDevelopment.developmentActualGoals;
|
||||
delete _getDevelopment.developmentPlannedGoals;
|
||||
let _getDevelopment = {
|
||||
developmentEvaluations:
|
||||
getDevelopment.developmentEvaluations == null
|
||||
? null
|
||||
: getDevelopment.developmentEvaluations.sort((a, b) =>
|
||||
(a.indicators == null ? "" : a.indicators).localeCompare(
|
||||
b.indicators == null ? "" : b.indicators,
|
||||
),
|
||||
),
|
||||
project: getDevelopment.project,
|
||||
isPassAllocate: getDevelopment.isPassAllocate,
|
||||
isPassNoAllocate: getDevelopment.isPassNoAllocate,
|
||||
isNoPass: getDevelopment.isNoPass,
|
||||
isBudget: getDevelopment.isBudget,
|
||||
isOutBudget: getDevelopment.isOutBudget,
|
||||
};
|
||||
|
||||
return new HttpSuccess(_getDevelopment);
|
||||
}
|
||||
|
||||
|
|
@ -1008,29 +1132,39 @@ export class DevelopmentController extends Controller {
|
|||
async GetDevelopemtTab5ById(@Path() id: string) {
|
||||
const getDevelopment = await this.developmentRepository.findOne({
|
||||
where: { id: id },
|
||||
relations: [
|
||||
"developmentActualPeoples",
|
||||
"developmentPlannedPeoples",
|
||||
"developmentActualGoals",
|
||||
"developmentPlannedGoals",
|
||||
"developmentPlannedGoals.plannedGoalPositions",
|
||||
"provinces",
|
||||
// "provinces.developmentProvinces",
|
||||
],
|
||||
relations: ["developmentAddresss"],
|
||||
});
|
||||
if (!getDevelopment) {
|
||||
throw new HttpError(HttpStatusCode.NOT_FOUND, "ไม่พบข้อมูลโครงการ/หลักสูตรการฝึกอบรมนี้");
|
||||
}
|
||||
let _getDevelopment: any = getDevelopment;
|
||||
_getDevelopment.actualPeoples = getDevelopment.developmentActualPeoples;
|
||||
_getDevelopment.plannedPeoples = getDevelopment.developmentPlannedPeoples;
|
||||
_getDevelopment.actualGoals = getDevelopment.developmentActualGoals;
|
||||
_getDevelopment.plannedGoals = getDevelopment.developmentPlannedGoals;
|
||||
// _getDevelopment.provinces = getDevelopment.provinces.map(x=>x.developmentProvinces);
|
||||
delete _getDevelopment.developmentActualPeoples;
|
||||
delete _getDevelopment.developmentPlannedPeoples;
|
||||
delete _getDevelopment.developmentActualGoals;
|
||||
delete _getDevelopment.developmentPlannedGoals;
|
||||
let _getDevelopment = {
|
||||
dateStart: getDevelopment.dateStart,
|
||||
dateEnd: getDevelopment.dateEnd,
|
||||
totalDate: getDevelopment.totalDate,
|
||||
developmentAddresss:
|
||||
getDevelopment.developmentAddresss == null
|
||||
? null
|
||||
: getDevelopment.developmentAddresss.sort((a, b) =>
|
||||
(a.address == null ? "" : a.address).localeCompare(
|
||||
b.address == null ? "" : b.address,
|
||||
),
|
||||
),
|
||||
budget: getDevelopment.budget,
|
||||
budgetSub: getDevelopment.budgetSub,
|
||||
accept: getDevelopment.accept,
|
||||
receive: getDevelopment.receive,
|
||||
approved: getDevelopment.approved,
|
||||
budgetPay: getDevelopment.budgetPay,
|
||||
issues: getDevelopment.issues,
|
||||
chance: getDevelopment.chance,
|
||||
effects: getDevelopment.effects,
|
||||
riskLevel: getDevelopment.riskLevel,
|
||||
riskManagement: getDevelopment.riskManagement,
|
||||
expect: getDevelopment.expect,
|
||||
topicAcademic: getDevelopment.topicAcademic,
|
||||
addressAcademic: getDevelopment.addressAcademic,
|
||||
provinceActualId: getDevelopment.provinceActualId,
|
||||
};
|
||||
return new HttpSuccess(_getDevelopment);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -21,6 +21,7 @@ import {
|
|||
CreateDevelopmentScholarship,
|
||||
DevelopmentScholarship,
|
||||
UpdateDevelopmentScholarship,
|
||||
UpdateDevelopmentScholarshipUser,
|
||||
} from "../entities/DevelopmentScholarship";
|
||||
import { PosType } from "../entities/PosType";
|
||||
import { PosLevel } from "../entities/PosLevel";
|
||||
|
|
@ -314,10 +315,91 @@ export class DevelopmentScholarshipController extends Controller {
|
|||
totalPeriod: getDevelopment.totalPeriod ? getDevelopment.totalPeriod : null,
|
||||
status: getDevelopment.status ? getDevelopment.status : null,
|
||||
profileId: getDevelopment.profileId ? getDevelopment.profileId : null,
|
||||
planType: getDevelopment.planType ? getDevelopment.planType : null,
|
||||
isNoUseBudget: getDevelopment.isNoUseBudget ? getDevelopment.isNoUseBudget : null,
|
||||
};
|
||||
return new HttpSuccess(formattedData);
|
||||
}
|
||||
|
||||
/**
|
||||
* API รายการทุนของ user
|
||||
*
|
||||
* @summary DEV_0 - รายการทุนของ user #
|
||||
*
|
||||
* @param {string} profileId profileId ข้าราชการฯที่ได้รับทุนการศึกษา
|
||||
*/
|
||||
@Get("user/{profileId}")
|
||||
async GetDevelopemtScholarshipUserById(@Path() profileId: string) {
|
||||
const getDevelopment = await this.developmentScholarshipRepository.find({
|
||||
where: { profileId: profileId },
|
||||
});
|
||||
const formattedData = getDevelopment.map((item) => ({
|
||||
id: item.id,
|
||||
scholarshipYear: item.scholarshipYear,
|
||||
scholarshipType: item.scholarshipType,
|
||||
fundType: item.fundType,
|
||||
}));
|
||||
|
||||
return new HttpSuccess(formattedData);
|
||||
}
|
||||
|
||||
/**
|
||||
* API รายละเอียดทุนของ user
|
||||
*
|
||||
* @summary DEV_0 - รายละเอียดทุนของ user #
|
||||
*
|
||||
* @param {string} id id รายการ
|
||||
*/
|
||||
@Get("user/detail/{id}")
|
||||
async GetDevelopemtScholarshipUserDetailById(@Path() id: string) {
|
||||
const getDevelopment = await this.developmentScholarshipRepository.findOne({
|
||||
where: { id: id },
|
||||
select: [
|
||||
"id",
|
||||
"scholarshipYear",
|
||||
"scholarshipType",
|
||||
"fundType",
|
||||
"governmentDate",
|
||||
"isGraduated",
|
||||
"graduatedDate",
|
||||
"isNoGraduated",
|
||||
"graduatedReason",
|
||||
],
|
||||
});
|
||||
if (!getDevelopment) {
|
||||
throw new HttpError(HttpStatusCode.NOT_FOUND, "ไม่พบข้อมูลทุนการศึกษา/ฝึกอบรมนี้");
|
||||
}
|
||||
|
||||
return new HttpSuccess(getDevelopment);
|
||||
}
|
||||
|
||||
/**
|
||||
* API แก้ไขรายการทุนของ user
|
||||
*
|
||||
* @summary DEV_015 - แก้ไขรายการทุนของ user #15
|
||||
*
|
||||
* @param {string} id รายการ
|
||||
*/
|
||||
@Put("user/detail/{id}")
|
||||
async UpdateDevelopemtScholarshipUserById(
|
||||
@Path() id: string,
|
||||
@Body() requestBody: UpdateDevelopmentScholarshipUser,
|
||||
@Request() request: { user: Record<string, any> },
|
||||
) {
|
||||
const getDevelopment = await this.developmentScholarshipRepository.findOne({
|
||||
where: { id: id },
|
||||
});
|
||||
if (!getDevelopment) {
|
||||
throw new HttpError(HttpStatusCode.NOT_FOUND, "ไม่พบข้อมูลทุนการศึกษา/ฝึกอบรมนี้");
|
||||
}
|
||||
Object.assign(getDevelopment, requestBody);
|
||||
getDevelopment.lastUpdateUserId = request.user.sub;
|
||||
getDevelopment.lastUpdateFullName = request.user.name;
|
||||
await this.developmentScholarshipRepository.save(getDevelopment);
|
||||
|
||||
return new HttpSuccess(getDevelopment.id);
|
||||
}
|
||||
|
||||
/**
|
||||
* API เปลี่ยนสถานะ
|
||||
*
|
||||
|
|
@ -340,6 +422,8 @@ export class DevelopmentScholarshipController extends Controller {
|
|||
}
|
||||
const _status = status.trim().toUpperCase();
|
||||
getDevelopment.status = _status;
|
||||
getDevelopment.lastUpdateUserId = request.user.sub;
|
||||
getDevelopment.lastUpdateFullName = request.user.name;
|
||||
if (_status == "GRADUATE") {
|
||||
if (getDevelopment.scholarshipType != null) {
|
||||
switch (getDevelopment.scholarshipType.trim().toUpperCase()) {
|
||||
|
|
|
|||
|
|
@ -7,9 +7,10 @@ import { ActualGoal, CreateActualGoal } from "./ActualGoal";
|
|||
import { CreatePlannedGoal, PlannedGoal } from "./PlannedGoal";
|
||||
import { DevelopmentHistory } from "./DevelopmentHistory";
|
||||
import { DevelopmentProjectType } from "./DevelopmentProjectType";
|
||||
import { DevelopmentProjectTechnique } from "./DevelopmentProjectTechnique";
|
||||
import { DevelopmentProjectTechniquePlanned } from "./DevelopmentProjectTechniquePlanned";
|
||||
import { CreateDevelopmentEvaluation, DevelopmentEvaluation } from "./DevelopmentEvaluation";
|
||||
import { CreateDevelopmentAddress, DevelopmentAddress } from "./DevelopmentAddress";
|
||||
import { DevelopmentProjectTechniqueActual } from "./DevelopmentProjectTechniqueActual";
|
||||
|
||||
@Entity("development")
|
||||
export class Development extends EntityBase {
|
||||
|
|
@ -141,11 +142,18 @@ export class Development extends EntityBase {
|
|||
projectNigthHoldActual: number;
|
||||
|
||||
@OneToMany(
|
||||
() => DevelopmentProjectTechnique,
|
||||
(developmentProjectTechnique: DevelopmentProjectTechnique) =>
|
||||
developmentProjectTechnique.development,
|
||||
() => DevelopmentProjectTechniquePlanned,
|
||||
(developmentProjectTechniquePlanned: DevelopmentProjectTechniquePlanned) =>
|
||||
developmentProjectTechniquePlanned.development,
|
||||
)
|
||||
developmentProjectTechniques: DevelopmentProjectTechnique[];
|
||||
developmentProjectTechniquePlanneds: DevelopmentProjectTechniquePlanned[];
|
||||
|
||||
@OneToMany(
|
||||
() => DevelopmentProjectTechniqueActual,
|
||||
(developmentProjectTechniqueActual: DevelopmentProjectTechniqueActual) =>
|
||||
developmentProjectTechniqueActual.development,
|
||||
)
|
||||
developmentProjectTechniqueActuals: DevelopmentProjectTechniqueActual[];
|
||||
|
||||
@Column({
|
||||
nullable: true,
|
||||
|
|
@ -400,6 +408,8 @@ export class UpdateDevelopment3 {
|
|||
@Column()
|
||||
developmentProjectTypes?: string[];
|
||||
@Column()
|
||||
projectModal?: number | null;
|
||||
@Column()
|
||||
isBackPlanned?: boolean | null;
|
||||
@Column()
|
||||
isHoldPlanned?: boolean | null;
|
||||
|
|
@ -410,6 +420,8 @@ export class UpdateDevelopment3 {
|
|||
@Column()
|
||||
projectNigthHoldPlanned?: number | null;
|
||||
@Column()
|
||||
developmentProjectTechniquePlanneds?: string[];
|
||||
@Column()
|
||||
isBackActual?: boolean | null;
|
||||
@Column()
|
||||
isHoldActual?: boolean | null;
|
||||
|
|
@ -420,13 +432,11 @@ export class UpdateDevelopment3 {
|
|||
@Column()
|
||||
projectNigthHoldActual?: number | null;
|
||||
@Column()
|
||||
developmentProjectTechniques?: string[];
|
||||
@Column()
|
||||
projectModal?: number | null;
|
||||
developmentProjectTechniqueActuals?: string[];
|
||||
}
|
||||
export class UpdateDevelopment4 {
|
||||
@Column()
|
||||
developmentEvaluations: CreateDevelopmentEvaluation[];
|
||||
// @Column()
|
||||
// developmentEvaluations: CreateDevelopmentEvaluation[];
|
||||
@Column()
|
||||
project: string | null;
|
||||
@Column()
|
||||
|
|
@ -479,8 +489,4 @@ export class UpdateDevelopment5 {
|
|||
addressAcademic: string | null;
|
||||
@Column()
|
||||
provinceActualId: string | null;
|
||||
@Column()
|
||||
dateStudyStart: Date | null;
|
||||
@Column()
|
||||
dateStudyEnd: Date | null;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -2,8 +2,8 @@ import { Entity, Column, ManyToOne, JoinColumn } from "typeorm";
|
|||
import { EntityBase } from "./base/Base";
|
||||
import { Development } from "./Development";
|
||||
|
||||
@Entity("developmentProjectTechnique")
|
||||
export class DevelopmentProjectTechnique extends EntityBase {
|
||||
@Entity("developmentProjectTechniqueActual")
|
||||
export class DevelopmentProjectTechniqueActual extends EntityBase {
|
||||
@Column({
|
||||
// TRAINING = การอบรม
|
||||
// MEETING = การประชุม
|
||||
|
|
@ -28,12 +28,12 @@ export class DevelopmentProjectTechnique extends EntityBase {
|
|||
|
||||
@ManyToOne(
|
||||
() => Development,
|
||||
(development: Development) => development.developmentProjectTechniques,
|
||||
(development: Development) => development.developmentProjectTechniqueActuals,
|
||||
)
|
||||
@JoinColumn({ name: "developmentId" })
|
||||
development: Development;
|
||||
}
|
||||
export class CreateDevelopmentProjectTechnique {
|
||||
export class CreateDevelopmentProjectTechniqueActual {
|
||||
@Column()
|
||||
name: number;
|
||||
}
|
||||
39
src/entities/DevelopmentProjectTechniquePlanned.ts
Normal file
39
src/entities/DevelopmentProjectTechniquePlanned.ts
Normal file
|
|
@ -0,0 +1,39 @@
|
|||
import { Entity, Column, ManyToOne, JoinColumn } from "typeorm";
|
||||
import { EntityBase } from "./base/Base";
|
||||
import { Development } from "./Development";
|
||||
|
||||
@Entity("developmentProjectTechniquePlanned")
|
||||
export class DevelopmentProjectTechniquePlanned extends EntityBase {
|
||||
@Column({
|
||||
// TRAINING = การอบรม
|
||||
// MEETING = การประชุม
|
||||
// SEMINAR = การสัมมนา
|
||||
// STUDY_TOUR = การศึกษาดูงาน
|
||||
// ACADEMIC_SEMINAR = การสัมมนาทางวิชาการ
|
||||
// WORKSHOP = การสัมมนาเชิงปฏิบัติการ
|
||||
// SPECIAL_LECTURE = การบรรยายพิเศษ
|
||||
// STUDY_TRAINING = การฝึกศึกษา
|
||||
nullable: true,
|
||||
comment: "เทคนิควิธีการที่ใช้ในการพัฒนา",
|
||||
default: null,
|
||||
})
|
||||
name: string;
|
||||
|
||||
@Column({
|
||||
nullable: true,
|
||||
comment: "โครงการ/หลักสูตรการฝึกอบรม",
|
||||
default: null,
|
||||
})
|
||||
developmentId: string;
|
||||
|
||||
@ManyToOne(
|
||||
() => Development,
|
||||
(development: Development) => development.developmentProjectTechniquePlanneds,
|
||||
)
|
||||
@JoinColumn({ name: "developmentId" })
|
||||
development: Development;
|
||||
}
|
||||
export class CreateDevelopmentProjectTechniquePlanned {
|
||||
@Column()
|
||||
name: number;
|
||||
}
|
||||
|
|
@ -429,6 +429,57 @@ export class DevelopmentScholarship extends EntityBase {
|
|||
default: null,
|
||||
})
|
||||
totalPeriod: string;
|
||||
|
||||
@Column({
|
||||
// ในแผนฯ (INPLAN)
|
||||
// นอกแผนฯ (OUTPLAN)
|
||||
nullable: true,
|
||||
comment: "ในแผนฯ",
|
||||
length: 40,
|
||||
default: null,
|
||||
})
|
||||
planType: string;
|
||||
|
||||
@Column({
|
||||
comment: "ไม่ใช้งบประมาณ",
|
||||
default: false,
|
||||
})
|
||||
isNoUseBudget: boolean;
|
||||
|
||||
@Column({
|
||||
nullable: true,
|
||||
type: "datetime",
|
||||
comment: "กลับเข้ารับราชการตั้งแต่",
|
||||
default: null,
|
||||
})
|
||||
governmentDate: Date;
|
||||
|
||||
@Column({
|
||||
comment: "สำเร็จการศึกษาตามที่หลักสูตรกำหนด",
|
||||
default: false,
|
||||
})
|
||||
isGraduated: boolean;
|
||||
|
||||
@Column({
|
||||
nullable: true,
|
||||
type: "datetime",
|
||||
comment: "ตั้งแต่",
|
||||
default: null,
|
||||
})
|
||||
graduatedDate: Date;
|
||||
|
||||
@Column({
|
||||
comment: "เสร็จสิ้นการศึกษาตามที่หลักสูตรกำหนดแล้วแต่ยังไม่สำเร็จการศึกษา",
|
||||
default: false,
|
||||
})
|
||||
isNoGraduated: boolean;
|
||||
|
||||
@Column({
|
||||
nullable: true,
|
||||
comment: "เนื่องจาก",
|
||||
default: null,
|
||||
})
|
||||
graduatedReason: string;
|
||||
}
|
||||
export class CreateDevelopmentScholarship {
|
||||
profileId: string | null;
|
||||
|
|
@ -481,6 +532,8 @@ export class CreateDevelopmentScholarship {
|
|||
studyAbroadStartDate: Date | null;
|
||||
studyAbroadEndDate: Date | null;
|
||||
totalPeriod: string | null;
|
||||
planType: string | null;
|
||||
isNoUseBudget: boolean | null;
|
||||
}
|
||||
|
||||
export class UpdateDevelopmentScholarship {
|
||||
|
|
@ -534,4 +587,14 @@ export class UpdateDevelopmentScholarship {
|
|||
studyAbroadStartDate: Date | null;
|
||||
studyAbroadEndDate: Date | null;
|
||||
totalPeriod: string | null;
|
||||
planType: string | null;
|
||||
isNoUseBudget: boolean | null;
|
||||
}
|
||||
|
||||
export class UpdateDevelopmentScholarshipUser {
|
||||
governmentDate: Date | null;
|
||||
isGraduated: boolean | null;
|
||||
graduatedDate: Date | null;
|
||||
isNoGraduated: boolean | null;
|
||||
graduatedReason: string | null;
|
||||
}
|
||||
|
|
|
|||
20
src/migration/1712815316667-add_table_starty1.ts
Normal file
20
src/migration/1712815316667-add_table_starty1.ts
Normal file
|
|
@ -0,0 +1,20 @@
|
|||
import { MigrationInterface, QueryRunner } from "typeorm";
|
||||
|
||||
export class AddTableStarty11712815316667 implements MigrationInterface {
|
||||
name = 'AddTableStarty11712815316667'
|
||||
|
||||
public async up(queryRunner: QueryRunner): Promise<void> {
|
||||
await queryRunner.query(`CREATE TABLE \`developmentProjectTechniquePlanned\` (\`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', \`name\` varchar(255) NULL COMMENT 'เทคนิควิธีการที่ใช้ในการพัฒนา', \`developmentId\` varchar(255) NULL COMMENT 'โครงการ/หลักสูตรการฝึกอบรม', PRIMARY KEY (\`id\`)) ENGINE=InnoDB`);
|
||||
await queryRunner.query(`CREATE TABLE \`developmentProjectTechniqueActual\` (\`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', \`name\` varchar(255) NULL COMMENT 'เทคนิควิธีการที่ใช้ในการพัฒนา', \`developmentId\` varchar(255) NULL COMMENT 'โครงการ/หลักสูตรการฝึกอบรม', PRIMARY KEY (\`id\`)) ENGINE=InnoDB`);
|
||||
await queryRunner.query(`ALTER TABLE \`developmentProjectTechniquePlanned\` ADD CONSTRAINT \`FK_7166cc94112552ea072a2cc6134\` FOREIGN KEY (\`developmentId\`) REFERENCES \`development\`(\`id\`) ON DELETE NO ACTION ON UPDATE NO ACTION`);
|
||||
await queryRunner.query(`ALTER TABLE \`developmentProjectTechniqueActual\` ADD CONSTRAINT \`FK_aaaee1c5fb44bef093ed78a0c32\` FOREIGN KEY (\`developmentId\`) REFERENCES \`development\`(\`id\`) ON DELETE NO ACTION ON UPDATE NO ACTION`);
|
||||
}
|
||||
|
||||
public async down(queryRunner: QueryRunner): Promise<void> {
|
||||
await queryRunner.query(`ALTER TABLE \`developmentProjectTechniqueActual\` DROP FOREIGN KEY \`FK_aaaee1c5fb44bef093ed78a0c32\``);
|
||||
await queryRunner.query(`ALTER TABLE \`developmentProjectTechniquePlanned\` DROP FOREIGN KEY \`FK_7166cc94112552ea072a2cc6134\``);
|
||||
await queryRunner.query(`DROP TABLE \`developmentProjectTechniqueActual\``);
|
||||
await queryRunner.query(`DROP TABLE \`developmentProjectTechniquePlanned\``);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,26 @@
|
|||
import { MigrationInterface, QueryRunner } from "typeorm";
|
||||
|
||||
export class UpdateTableDevelopmentScholarshipAddPlanType1712824449740 implements MigrationInterface {
|
||||
name = 'UpdateTableDevelopmentScholarshipAddPlanType1712824449740'
|
||||
|
||||
public async up(queryRunner: QueryRunner): Promise<void> {
|
||||
await queryRunner.query(`ALTER TABLE \`developmentScholarship\` ADD \`planType\` varchar(40) NULL COMMENT 'ในแผนฯ'`);
|
||||
await queryRunner.query(`ALTER TABLE \`developmentScholarship\` ADD \`isNoUseBudget\` tinyint NOT NULL COMMENT 'ไม่ใช้งบประมาณ' DEFAULT 0`);
|
||||
await queryRunner.query(`ALTER TABLE \`developmentScholarship\` ADD \`governmentDate\` datetime NULL COMMENT 'กลับเข้ารับราชการตั้งแต่'`);
|
||||
await queryRunner.query(`ALTER TABLE \`developmentScholarship\` ADD \`isGraduated\` tinyint NOT NULL COMMENT 'สำเร็จการศึกษาตามที่หลักสูตรกำหนด' DEFAULT 0`);
|
||||
await queryRunner.query(`ALTER TABLE \`developmentScholarship\` ADD \`graduatedDate\` datetime NULL COMMENT 'ตั้งแต่'`);
|
||||
await queryRunner.query(`ALTER TABLE \`developmentScholarship\` ADD \`isNoGraduated\` tinyint NOT NULL COMMENT 'เสร็จสิ้นการศึกษาตามที่หลักสูตรกำหนดแล้วแต่ยังไม่สำเร็จการศึกษา' DEFAULT 0`);
|
||||
await queryRunner.query(`ALTER TABLE \`developmentScholarship\` ADD \`graduatedReason\` varchar(255) NULL COMMENT 'เนื่องจาก'`);
|
||||
}
|
||||
|
||||
public async down(queryRunner: QueryRunner): Promise<void> {
|
||||
await queryRunner.query(`ALTER TABLE \`developmentScholarship\` DROP COLUMN \`graduatedReason\``);
|
||||
await queryRunner.query(`ALTER TABLE \`developmentScholarship\` DROP COLUMN \`isNoGraduated\``);
|
||||
await queryRunner.query(`ALTER TABLE \`developmentScholarship\` DROP COLUMN \`graduatedDate\``);
|
||||
await queryRunner.query(`ALTER TABLE \`developmentScholarship\` DROP COLUMN \`isGraduated\``);
|
||||
await queryRunner.query(`ALTER TABLE \`developmentScholarship\` DROP COLUMN \`governmentDate\``);
|
||||
await queryRunner.query(`ALTER TABLE \`developmentScholarship\` DROP COLUMN \`isNoUseBudget\``);
|
||||
await queryRunner.query(`ALTER TABLE \`developmentScholarship\` DROP COLUMN \`planType\``);
|
||||
}
|
||||
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue