comment
This commit is contained in:
parent
d899039b9d
commit
465723e440
3 changed files with 67 additions and 0 deletions
|
|
@ -318,6 +318,7 @@ export class DevelopmentRequestController extends Controller {
|
|||
...meta,
|
||||
id: undefined,
|
||||
type: "REQUEST",
|
||||
kpiDevelopmentId: record.id,
|
||||
developmentProject: [],
|
||||
});
|
||||
await this.profileDevelopmentRepository.save(profileDevelopment);
|
||||
|
|
@ -327,6 +328,7 @@ export class DevelopmentRequestController extends Controller {
|
|||
...profileDevelopment,
|
||||
id: undefined,
|
||||
type: "REQUEST",
|
||||
kpiDevelopmentId: record.id,
|
||||
developmentProject: [],
|
||||
});
|
||||
history.profileDevelopmentId = profileDevelopment.id;
|
||||
|
|
|
|||
|
|
@ -24,6 +24,8 @@ import {
|
|||
UpdateProfileDevelopment,
|
||||
} from "../entities/ProfileDevelopment";
|
||||
import permission from "../interfaces/permission";
|
||||
import { DevelopmentProject } from "../entities/DevelopmentProject";
|
||||
import { In } from "typeorm";
|
||||
@Route("api/v1/org/profile/development")
|
||||
@Tags("ProfileDevelopment")
|
||||
@Security("bearerAuth")
|
||||
|
|
@ -31,6 +33,7 @@ export class ProfileDevelopmentController extends Controller {
|
|||
private profileRepository = AppDataSource.getRepository(Profile);
|
||||
private developmentRepository = AppDataSource.getRepository(ProfileDevelopment);
|
||||
private developmentHistoryRepository = AppDataSource.getRepository(ProfileDevelopmentHistory);
|
||||
private developmentProjectRepository = AppDataSource.getRepository(DevelopmentProject);
|
||||
|
||||
@Get("user")
|
||||
public async getDevelopmentUser(@Request() request: { user: Record<string, any> }) {
|
||||
|
|
@ -102,6 +105,29 @@ export class ProfileDevelopmentController extends Controller {
|
|||
history.profileDevelopmentId = data.id;
|
||||
await this.developmentHistoryRepository.save(history);
|
||||
|
||||
if (body.developmentProjects != null) {
|
||||
await Promise.all(
|
||||
body.developmentProjects.map(async (x) => {
|
||||
let developmentProject = new DevelopmentProject();
|
||||
let developmentProjectHistory = new DevelopmentProject();
|
||||
Object.assign(developmentProject, {
|
||||
...meta,
|
||||
name: x,
|
||||
profileDevelopmentId: data.id,
|
||||
});
|
||||
Object.assign(developmentProject, {
|
||||
...meta,
|
||||
name: x,
|
||||
profileDevelopmentHistoryId: history.id,
|
||||
});
|
||||
await Promise.all([
|
||||
this.developmentProjectRepository.save(developmentProject),
|
||||
this.developmentProjectRepository.save(developmentProjectHistory),
|
||||
]);
|
||||
}),
|
||||
);
|
||||
}
|
||||
|
||||
return new HttpSuccess();
|
||||
}
|
||||
|
||||
|
|
@ -138,6 +164,37 @@ export class ProfileDevelopmentController extends Controller {
|
|||
this.developmentHistoryRepository.save(history),
|
||||
]);
|
||||
|
||||
await this.developmentProjectRepository.delete({ profileDevelopmentId: record.id });
|
||||
if (body.developmentProjects != null) {
|
||||
const meta = {
|
||||
createdUserId: req.user.sub,
|
||||
createdFullName: req.user.name,
|
||||
lastUpdateUserId: req.user.sub,
|
||||
lastUpdateFullName: req.user.name,
|
||||
createdAt: new Date(),
|
||||
lastUpdatedAt: new Date(),
|
||||
};
|
||||
await Promise.all(
|
||||
body.developmentProjects.map(async (x) => {
|
||||
let developmentProject = new DevelopmentProject();
|
||||
let developmentProjectHistory = new DevelopmentProject();
|
||||
Object.assign(developmentProject, {
|
||||
...meta,
|
||||
name: x,
|
||||
profileDevelopmentId: record.id,
|
||||
});
|
||||
Object.assign(developmentProject, {
|
||||
...meta,
|
||||
name: x,
|
||||
profileDevelopmentHistoryId: history.id,
|
||||
});
|
||||
await Promise.all([
|
||||
this.developmentProjectRepository.save(developmentProject),
|
||||
this.developmentProjectRepository.save(developmentProjectHistory),
|
||||
]);
|
||||
}),
|
||||
);
|
||||
}
|
||||
return new HttpSuccess();
|
||||
}
|
||||
|
||||
|
|
@ -151,10 +208,15 @@ export class ProfileDevelopmentController extends Controller {
|
|||
_record.profileId,
|
||||
);
|
||||
}
|
||||
const history = await this.developmentHistoryRepository.find({
|
||||
where: { profileDevelopmentId: developmentId },
|
||||
});
|
||||
await this.developmentProjectRepository.delete({ profileDevelopmentHistoryId: In(history) });
|
||||
await this.developmentHistoryRepository.delete({
|
||||
profileDevelopmentId: developmentId,
|
||||
});
|
||||
|
||||
await this.developmentProjectRepository.delete({ profileDevelopmentId: developmentId });
|
||||
const result = await this.developmentRepository.delete({ id: developmentId });
|
||||
|
||||
if (result.affected == undefined || result.affected <= 0) {
|
||||
|
|
|
|||
|
|
@ -192,6 +192,7 @@ export class CreateProfileDevelopment {
|
|||
isDevelopment10: boolean | null;
|
||||
summary?: number | null;
|
||||
point?: number | null;
|
||||
developmentProjects?: string[];
|
||||
}
|
||||
|
||||
export class CreateProfileEmployeeDevelopment {
|
||||
|
|
@ -211,6 +212,7 @@ export class CreateProfileEmployeeDevelopment {
|
|||
isDevelopment10: boolean | null;
|
||||
summary?: number | null;
|
||||
point?: number | null;
|
||||
developmentProjects?: string[];
|
||||
}
|
||||
|
||||
export type UpdateProfileDevelopment = {
|
||||
|
|
@ -229,4 +231,5 @@ export type UpdateProfileDevelopment = {
|
|||
isDevelopment10: boolean | null;
|
||||
summary?: number | null;
|
||||
point?: number | null;
|
||||
developmentProjects?: string[];
|
||||
};
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue