crud ผังยุทธศาสตร์
This commit is contained in:
parent
37bf71aca5
commit
5e2fcfdf05
2 changed files with 333 additions and 1 deletions
332
src/controllers/StrategyController.ts
Normal file
332
src/controllers/StrategyController.ts
Normal file
|
|
@ -0,0 +1,332 @@
|
|||
import {
|
||||
Body,
|
||||
Controller,
|
||||
Delete,
|
||||
Example,
|
||||
Get,
|
||||
Patch,
|
||||
Path,
|
||||
Post,
|
||||
Request,
|
||||
Route,
|
||||
Security,
|
||||
Tags,
|
||||
} from "tsoa";
|
||||
import { AppDataSource } from "../database/data-source";
|
||||
import {
|
||||
CreateStrategyChild1,
|
||||
StrategyChild1,
|
||||
UpdateStrategyChild1,
|
||||
} from "../entities/StrategyChild1";
|
||||
import {
|
||||
CreateStrategyChild2,
|
||||
StrategyChild2,
|
||||
UpdateStrategyChild2,
|
||||
} from "../entities/StrategyChild2";
|
||||
import {
|
||||
CreateStrategyChild3,
|
||||
StrategyChild3,
|
||||
UpdateStrategyChild3,
|
||||
} from "../entities/StrategyChild3";
|
||||
import {
|
||||
CreateStrategyChild4,
|
||||
StrategyChild4,
|
||||
UpdateStrategyChild4,
|
||||
} from "../entities/StrategyChild4";
|
||||
import {
|
||||
CreateStrategyChild5,
|
||||
StrategyChild5,
|
||||
UpdateStrategyChild5,
|
||||
} from "../entities/StrategyChild5";
|
||||
import HttpError from "../interfaces/http-error";
|
||||
import HttpStatus from "../interfaces/http-status";
|
||||
import HttpSuccess from "../interfaces/http-success";
|
||||
import { Check } from "typeorm";
|
||||
|
||||
@Route("api/v1/development/strategy")
|
||||
@Tags("Strategy")
|
||||
@Security("bearerAuth")
|
||||
export class StrategyController extends Controller {
|
||||
private strategy1Repo = AppDataSource.getRepository(StrategyChild1);
|
||||
private strategy2Repo = AppDataSource.getRepository(StrategyChild2);
|
||||
private strategy3Repo = AppDataSource.getRepository(StrategyChild3);
|
||||
private strategy4Repo = AppDataSource.getRepository(StrategyChild4);
|
||||
private strategy5Repo = AppDataSource.getRepository(StrategyChild5);
|
||||
|
||||
@Get()
|
||||
public async listStrategyChild1() {
|
||||
const listStrategyChild1 = await this.strategy1Repo.find({
|
||||
relations: ["strategyChild2s", "strategyChild3s", "strategyChild4s", "strategyChild5s"],
|
||||
});
|
||||
if (!listStrategyChild1) {
|
||||
throw new HttpError(HttpStatus.NOT_FOUND, "ไม่พบข้อมูลยุทธศาสตร์");
|
||||
}
|
||||
return new HttpSuccess(listStrategyChild1);
|
||||
}
|
||||
|
||||
@Post()
|
||||
public async newStrategyChild(
|
||||
@Request() request: { user: Record<string, any> },
|
||||
@Body()
|
||||
body: {
|
||||
name: string;
|
||||
levelnode: number;
|
||||
idnode?: string | null;
|
||||
},
|
||||
) {
|
||||
let strategyRepo: any;
|
||||
let strategyChild: any;
|
||||
let repoSave: any;
|
||||
|
||||
switch (body.levelnode) {
|
||||
case 0:
|
||||
strategyRepo = this.strategy1Repo;
|
||||
repoSave = this.strategy1Repo;
|
||||
strategyChild = new StrategyChild1();
|
||||
strategyChild.strategyChild1Name = body.name;
|
||||
break;
|
||||
case 1:
|
||||
strategyRepo = this.strategy1Repo;
|
||||
repoSave = this.strategy2Repo;
|
||||
strategyChild = new StrategyChild2();
|
||||
strategyChild.strategyChild2Name = body.name;
|
||||
if(body.idnode){
|
||||
const chk1 = await this.strategy1Repo.findOne({
|
||||
where: { id: body.idnode },
|
||||
})
|
||||
if(chk1){
|
||||
strategyChild.strategyChild1Id = chk1.id
|
||||
}else{
|
||||
throw new HttpError(HttpStatus.NOT_FOUND, "ไม่พบข้อมูลยุทธศาสตร์");
|
||||
}
|
||||
}
|
||||
break;
|
||||
case 2:
|
||||
strategyRepo = this.strategy2Repo;
|
||||
repoSave = this.strategy3Repo;
|
||||
strategyChild = new StrategyChild3();
|
||||
strategyChild.strategyChild3Name = body.name;
|
||||
if(body.idnode){
|
||||
const chk2 = await this.strategy2Repo.findOne({
|
||||
where: { id: body.idnode },
|
||||
})
|
||||
if(chk2){
|
||||
strategyChild.strategyChild1Id = chk2.strategyChild1Id
|
||||
strategyChild.strategyChild2Id = chk2.id
|
||||
}else{
|
||||
throw new HttpError(HttpStatus.NOT_FOUND, "ไม่พบข้อมูลยุทธศาสตร์");
|
||||
}
|
||||
}
|
||||
break;
|
||||
case 3:
|
||||
strategyRepo = this.strategy3Repo;
|
||||
repoSave = this.strategy4Repo;
|
||||
strategyChild = new StrategyChild4();
|
||||
strategyChild.strategyChild4Name = body.name;
|
||||
if(body.idnode){
|
||||
const chk3 = await this.strategy3Repo.findOne({
|
||||
where: { id: body.idnode },
|
||||
})
|
||||
if(chk3){
|
||||
strategyChild.strategyChild1Id = chk3.strategyChild1Id
|
||||
strategyChild.strategyChild2Id = chk3.strategyChild2Id
|
||||
strategyChild.strategyChild3Id = chk3.id
|
||||
}else{
|
||||
throw new HttpError(HttpStatus.NOT_FOUND, "ไม่พบข้อมูลยุทธศาสตร์");
|
||||
}
|
||||
}
|
||||
break;
|
||||
case 4:
|
||||
strategyRepo = this.strategy4Repo;
|
||||
repoSave = this.strategy5Repo;
|
||||
strategyChild = new StrategyChild5();
|
||||
strategyChild.strategyChild5Name = body.name;
|
||||
if(body.idnode){
|
||||
const chk4 = await this.strategy4Repo.findOne({
|
||||
where: { id: body.idnode },
|
||||
})
|
||||
if(chk4){
|
||||
strategyChild.strategyChild1Id = chk4.strategyChild1Id
|
||||
strategyChild.strategyChild2Id = chk4.strategyChild2Id
|
||||
strategyChild.strategyChild3Id = chk4.strategyChild3Id
|
||||
strategyChild.strategyChild4Id = chk4.id
|
||||
}else{
|
||||
throw new HttpError(HttpStatus.NOT_FOUND, "ไม่พบข้อมูลยุทธศาสตร์");
|
||||
}
|
||||
}
|
||||
break;
|
||||
default:
|
||||
throw new HttpError(HttpStatus.BAD_REQUEST, "levelnode ไม่ถูกต้อง");
|
||||
}
|
||||
|
||||
strategyChild.createdUserId = request.user.sub;
|
||||
strategyChild.createdFullName = request.user.name;
|
||||
strategyChild.lastUpdateUserId = request.user.sub;
|
||||
strategyChild.lastUpdateFullName = request.user.name;
|
||||
|
||||
await repoSave.save(strategyChild);
|
||||
|
||||
return new HttpSuccess(strategyChild.id);
|
||||
}
|
||||
|
||||
@Patch("{levelnode}/{idnode}")
|
||||
public async editStrategyChild1(
|
||||
@Request() request: { user: Record<string, any> },
|
||||
@Body()
|
||||
body: {
|
||||
name: string;
|
||||
levelnode: number;
|
||||
idnode: string;
|
||||
},
|
||||
) {
|
||||
let strategyRepo: any;
|
||||
let strategyChild: any;
|
||||
let repoSave: any;
|
||||
|
||||
|
||||
switch (body.levelnode) {
|
||||
|
||||
case 1:
|
||||
strategyRepo = this.strategy1Repo;
|
||||
strategyChild = await strategyRepo.findOne({
|
||||
where: { id: body.idnode },
|
||||
})
|
||||
if(!strategyChild){
|
||||
throw new HttpError(HttpStatus.NOT_FOUND, "ไม่พบข้อมูลยุทธศาสตร์");
|
||||
}
|
||||
strategyChild.strategyChild1Name = body.name;
|
||||
break;
|
||||
case 2:
|
||||
strategyRepo = this.strategy2Repo;
|
||||
strategyChild = await strategyRepo.findOne({
|
||||
where: { id: body.idnode },
|
||||
})
|
||||
if(!strategyChild){
|
||||
throw new HttpError(HttpStatus.NOT_FOUND, "ไม่พบข้อมูลยุทธศาสตร์");
|
||||
}
|
||||
repoSave = this.strategy2Repo;
|
||||
break;
|
||||
case 3:
|
||||
strategyRepo = this.strategy3Repo;
|
||||
strategyChild = await strategyRepo.findOne({
|
||||
where: { id: body.idnode },
|
||||
})
|
||||
if(!strategyChild){
|
||||
throw new HttpError(HttpStatus.NOT_FOUND, "ไม่พบข้อมูลยุทธศาสตร์");
|
||||
}
|
||||
strategyChild.strategyChild3Name = body.name;
|
||||
break;
|
||||
case 4:
|
||||
strategyRepo = this.strategy4Repo;
|
||||
strategyChild = await strategyRepo.findOne({
|
||||
where: { id: body.idnode },
|
||||
})
|
||||
if(!strategyChild){
|
||||
throw new HttpError(HttpStatus.NOT_FOUND, "ไม่พบข้อมูลยุทธศาสตร์");
|
||||
}
|
||||
strategyChild.strategyChild4Name = body.name;
|
||||
break;
|
||||
case 5:
|
||||
strategyRepo = this.strategy5Repo;
|
||||
strategyChild = await this.strategy5Repo.findOne({
|
||||
where: { id: body.idnode },
|
||||
})
|
||||
if(!strategyChild){
|
||||
throw new HttpError(HttpStatus.NOT_FOUND, "ไม่พบข้อมูลยุทธศาสตร์");
|
||||
}
|
||||
strategyChild.strategyChild5Name = body.name;
|
||||
break;
|
||||
default:
|
||||
throw new HttpError(HttpStatus.BAD_REQUEST, "levelnode ไม่ถูกต้อง");
|
||||
}
|
||||
strategyChild.lastUpdateUserId = request.user.sub;
|
||||
strategyChild.lastUpdateFullName = request.user.name;
|
||||
|
||||
await strategyRepo.save(strategyChild);
|
||||
|
||||
return new HttpSuccess();
|
||||
}
|
||||
|
||||
@Delete("{levelnode}/{idnode}")
|
||||
public async deleteStrategyChild(
|
||||
@Request() request: { user: Record<string, any> },
|
||||
@Body()
|
||||
body: {
|
||||
levelnode: number;
|
||||
idnode: string;
|
||||
},) {
|
||||
let strategyRepo: any;
|
||||
let data: any;
|
||||
|
||||
switch (body.levelnode) {
|
||||
case 1:
|
||||
strategyRepo = this.strategy1Repo;
|
||||
data = await strategyRepo.find({
|
||||
where: { id: body.idnode },
|
||||
});
|
||||
if(!data){
|
||||
throw new HttpError(HttpStatus.NOT_FOUND, "ไม่พบข้อมูลยุทธศาสตร์");
|
||||
}
|
||||
await this.strategy5Repo.delete({ strategyChild1Id: body.idnode });
|
||||
await this.strategy4Repo.delete({ strategyChild1Id: body.idnode });
|
||||
await this.strategy3Repo.delete({ strategyChild1Id: body.idnode });
|
||||
await this.strategy2Repo.delete({ strategyChild1Id: body.idnode });
|
||||
await this.strategy1Repo.delete({ id : body.idnode });
|
||||
break;
|
||||
case 2:
|
||||
strategyRepo = this.strategy2Repo;
|
||||
data = await strategyRepo.find({
|
||||
where: { id: body.idnode },
|
||||
});
|
||||
if(!data){
|
||||
throw new HttpError(HttpStatus.NOT_FOUND, "ไม่พบข้อมูลยุทธศาสตร์");
|
||||
}
|
||||
await this.strategy5Repo.delete({ strategyChild2Id: body.idnode });
|
||||
await this.strategy4Repo.delete({ strategyChild2Id: body.idnode });
|
||||
await this.strategy3Repo.delete({ strategyChild2Id: body.idnode });
|
||||
await this.strategy2Repo.delete({ id : body.idnode });
|
||||
break;
|
||||
case 3:
|
||||
strategyRepo = this.strategy3Repo;
|
||||
data = await strategyRepo.find({
|
||||
where: { id: body.idnode },
|
||||
});
|
||||
if(!data){
|
||||
throw new HttpError(HttpStatus.NOT_FOUND, "ไม่พบข้อมูลยุทธศาสตร์");
|
||||
}
|
||||
await this.strategy5Repo.delete({ strategyChild3Id: body.idnode });
|
||||
await this.strategy4Repo.delete({ strategyChild3Id: body.idnode });
|
||||
await this.strategy3Repo.delete({ id: body.idnode });
|
||||
break;
|
||||
case 4:
|
||||
strategyRepo = this.strategy4Repo;
|
||||
data = await strategyRepo.find({
|
||||
where: { id: body.idnode },
|
||||
});
|
||||
if(!data){
|
||||
throw new HttpError(HttpStatus.NOT_FOUND, "ไม่พบข้อมูลยุทธศาสตร์");
|
||||
}
|
||||
await this.strategy5Repo.delete({ strategyChild4Id: body.idnode });
|
||||
await this.strategy4Repo.delete({ id: body.idnode });
|
||||
break;
|
||||
case 5:
|
||||
strategyRepo = this.strategy5Repo;
|
||||
data = await strategyRepo.find({
|
||||
where: { id: body.idnode },
|
||||
});
|
||||
if(!data){
|
||||
throw new HttpError(HttpStatus.NOT_FOUND, "ไม่พบข้อมูลยุทธศาสตร์");
|
||||
}
|
||||
await this.strategy5Repo.delete({ id: body.idnode });
|
||||
break;
|
||||
default:
|
||||
throw new HttpError(HttpStatus.BAD_REQUEST, "levelnode ไม่ถูกต้อง");
|
||||
}
|
||||
|
||||
if (!data) {
|
||||
throw new HttpError(HttpStatus.NOT_FOUND, "ไม่พบข้อมูล");
|
||||
}
|
||||
|
||||
return new HttpSuccess();
|
||||
}
|
||||
}
|
||||
|
|
@ -10,7 +10,7 @@ import { StrategyChild4 } from "./StrategyChild4";
|
|||
export class StrategyChild5 extends EntityBase {
|
||||
@Column({
|
||||
nullable: true,
|
||||
comment: "กลยุทธ์ที่",
|
||||
comment: "กลยุทธ์ที่/เป้าประสงค์ที่",
|
||||
length: 255,
|
||||
default: null,
|
||||
})
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue