Skip to content

Commit

Permalink
qa 반영 (#135)
Browse files Browse the repository at this point in the history
* fix: 지도 관계 수정 API에서 기존 배정 인원 확인하여 error를 보내는 로직 삭제

* [HOTFIX] 심사의견 양식 수정  /  최종판정 심사의견 확인 가능하도록 수정 (#125)

* fix: 심사보고서 양식 수정

* fix: /reviews/me otherReviews Dto 수정

* fix: 심사현황 조회 심사가 끝난 정보 남기도록 수정 (#131)

* fix: 학생 엑셀 등록 timeout 40초로 수정 (#124)

* fix: 심사논문 관련 추가 수정 (#129)

* fix: 논문 제출이 안된 학생의 심사를 진행할 수 없도록 수정

* fix: 심사위원장이 전원 심사완료가 아닐시 심사할수 없도록 수정

* 추가수정

* fix: filter 조건 수정

* fix: 누락된 query 조건 추가

* fix(be): query typo 수정

* [FIX] 특정 학과 학생 논문 정보 업데이트 오류 수정 (#130)

* fix: 학생이 본심 논문 수정 시 수정지시사항 반영 학과 체크

* fix: 관리자가 본심 논문 수정 시 수정지시사항 반영 학과 체크

* fix: 논문 정보 업데이트 API 다시 수정

* fix: 학생 엑셀 업로드로 논문 제목 수정시 생길 수 있는 오류 수정

* fix: 논문 정보 업데이트 api 파일 업데이트 부분 수정

---------

Co-authored-by: yesjuhee <juhee0924@g.skku.edu>
Co-authored-by: chanyeong <60565169+jcy0308@users.noreply.github.com>
  • Loading branch information
3 people authored May 17, 2024
1 parent 6b6c9cb commit aec5414
Show file tree
Hide file tree
Showing 2 changed files with 90 additions and 60 deletions.
75 changes: 45 additions & 30 deletions src/modules/students/students.service.ts
Original file line number Diff line number Diff line change
Expand Up @@ -1537,22 +1537,27 @@ export class StudentsService {
(thesisFile) => thesisFile.type === ThesisFileType.PRESENTATION
)[0];

const fileUpdateData = [];
if (thesisFileUUID) {
fileUpdateData.push({
where: { id: preThesisFile.id },
data: { fileId: thesisFileUUID },
});
}
if (presentationFileUUID) {
fileUpdateData.push({
where: { id: prePPTFile.id },
data: { fileId: presentationFileUUID },
});
}

return await this.prismaService.thesisInfo.update({
where: { id: preThesisInfo.id },
data: {
title,
abstract,
thesisFiles: {
update: [
{
where: { id: preThesisFile.id },
data: { fileId: thesisFileUUID },
},
{
where: { id: prePPTFile.id },
data: { fileId: presentationFileUUID },
},
],
update: fileUpdateData,
},
},
include: {
Expand All @@ -1574,6 +1579,20 @@ export class StudentsService {
(thesisFile) => thesisFile.type === ThesisFileType.PRESENTATION
)[0];

const fileUpdateData = [];
if (thesisFileUUID) {
fileUpdateData.push({
where: { id: mainThesisFile.id },
data: { fileId: thesisFileUUID },
});
}
if (presentationFileUUID) {
fileUpdateData.push({
where: { id: mainPPTFile.id },
data: { fileId: presentationFileUUID },
});
}

const thesisInfo = await this.prismaService.$transaction(async (tx) => {
// 본심 논문 정보 업데이트
const thesisData = await tx.thesisInfo.update({
Expand All @@ -1582,16 +1601,7 @@ export class StudentsService {
title,
abstract,
thesisFiles: {
update: [
{
where: { id: mainThesisFile.id },
data: { fileId: thesisFileUUID },
},
{
where: { id: mainPPTFile.id },
data: { fileId: presentationFileUUID },
},
],
update: fileUpdateData,
},
},
include: {
Expand Down Expand Up @@ -1628,20 +1638,25 @@ export class StudentsService {
(thesisFile) => thesisFile.type === ThesisFileType.REVISION_REPORT
)[0];

const fileUpdateData = [];
if (thesisFileUUID) {
fileUpdateData.push({
where: { id: revisionThesisFile.id },
data: { fileId: thesisFileUUID },
});
}
if (revisionReportFileUUID) {
fileUpdateData.push({
where: { id: revisionReportFile.id },
data: { fileId: revisionReportFileUUID },
});
}

return await this.prismaService.thesisInfo.update({
where: { id: revisionThesisInfo.id },
data: {
thesisFiles: {
update: [
{
where: { id: revisionThesisFile.id },
data: { fileId: thesisFileUUID },
},
{
where: { id: revisionReportFile.id },
data: { fileId: revisionReportFileUUID },
},
],
update: fileUpdateData,
},
},
include: {
Expand Down
75 changes: 45 additions & 30 deletions src/modules/theses/theses.service.ts
Original file line number Diff line number Diff line change
Expand Up @@ -36,22 +36,27 @@ export class ThesesService {
(thesisFile) => thesisFile.type === ThesisFileType.PRESENTATION
)[0];

const fileUpdateData = [];
if (thesisFileUUID) {
fileUpdateData.push({
where: { id: preThesisFile.id },
data: { fileId: thesisFileUUID },
});
}
if (presentationFileUUID) {
fileUpdateData.push({
where: { id: prePPTFile.id },
data: { fileId: presentationFileUUID },
});
}

return await this.prismaService.thesisInfo.update({
where: { id },
data: {
title,
abstract,
thesisFiles: {
update: [
{
where: { id: preThesisFile.id },
data: { fileId: thesisFileUUID },
},
{
where: { id: prePPTFile.id },
data: { fileId: presentationFileUUID },
},
],
update: fileUpdateData,
},
},
include: {
Expand All @@ -78,6 +83,20 @@ export class ThesesService {
(thesisInfo) => thesisInfo.stage === Stage.REVISION
)[0];

const fileUpdateData = [];
if (thesisFileUUID) {
fileUpdateData.push({
where: { id: mainThesisFile.id },
data: { fileId: thesisFileUUID },
});
}
if (presentationFileUUID) {
fileUpdateData.push({
where: { id: mainPPTFile.id },
data: { fileId: presentationFileUUID },
});
}

const thesisInfo = await this.prismaService.$transaction(async (tx) => {
// 본심 논문 정보 업데이트
const thesisData = tx.thesisInfo.update({
Expand All @@ -86,16 +105,7 @@ export class ThesesService {
title,
abstract,
thesisFiles: {
update: [
{
where: { id: mainThesisFile.id },
data: { fileId: thesisFileUUID },
},
{
where: { id: mainPPTFile.id },
data: { fileId: presentationFileUUID },
},
],
update: fileUpdateData,
},
},
include: {
Expand Down Expand Up @@ -139,6 +149,20 @@ export class ThesesService {
(thesisInfo) => thesisInfo.stage === Stage.MAIN
)[0];

const fileUpdateData = [];
if (thesisFileUUID) {
fileUpdateData.push({
where: { id: revisionThesisFile.id },
data: { fileId: thesisFileUUID },
});
}
if (revisionReportFileUUID) {
fileUpdateData.push({
where: { id: revisionReportFile.id },
data: { fileId: presentationFileUUID },
});
}

const [thesisInfo] = await this.prismaService.$transaction([
// 수정지시사항 논문 정보 업데이트
this.prismaService.thesisInfo.update({
Expand All @@ -147,16 +171,7 @@ export class ThesesService {
title,
abstract,
thesisFiles: {
update: [
{
where: { id: revisionThesisFile.id },
data: { fileId: thesisFileUUID },
},
{
where: { id: revisionReportFile.id },
data: { fileId: revisionReportFileUUID },
},
],
update: fileUpdateData,
},
},
include: {
Expand Down

0 comments on commit aec5414

Please sign in to comment.