summaryrefslogtreecommitdiff
path: root/db/schema/evaluationTarget.ts
diff options
context:
space:
mode:
authordujinkim <dujin.kim@dtsolution.co.kr>2025-07-25 07:51:15 +0000
committerdujinkim <dujin.kim@dtsolution.co.kr>2025-07-25 07:51:15 +0000
commit2650b7c0bb0ea12b68a58c0439f72d61df04b2f1 (patch)
tree17156183fd74b69d78178065388ac61a18ac07b4 /db/schema/evaluationTarget.ts
parentd32acea05915bd6c1ed4b95e56c41ef9204347bc (diff)
(대표님) 정기평가 대상, 미들웨어 수정, nextauth 토큰 처리 개선, GTC 등
(최겸) 기술영업
Diffstat (limited to 'db/schema/evaluationTarget.ts')
-rw-r--r--db/schema/evaluationTarget.ts22
1 files changed, 16 insertions, 6 deletions
diff --git a/db/schema/evaluationTarget.ts b/db/schema/evaluationTarget.ts
index c8011e96..f55cacc4 100644
--- a/db/schema/evaluationTarget.ts
+++ b/db/schema/evaluationTarget.ts
@@ -124,7 +124,7 @@ export const evaluationTargetReviews = pgTable("evaluation_target_reviews", {
}, (table) => ({
// 같은 평가대상에 같은 담당자는 한 번만 검토
uniqueTargetReviewer: unique("unique_target_reviewer")
- .on(table.evaluationTargetId, table.reviewerUserId),
+ .on(table.evaluationTargetId, table.reviewerUserId, table.departmentCode),
}));
@@ -321,7 +321,9 @@ export const evaluationTargetsWithDepartments = pgView("evaluation_targets_with_
)
.leftJoin(
sql`evaluation_target_reviews order_review`,
- sql`${evaluationTargets.id} = order_review.evaluation_target_id AND order_review.reviewer_user_id = order_reviewer.id`
+ sql`${evaluationTargets.id} = order_review.evaluation_target_id
+ AND order_review.reviewer_user_id = order_reviewer.id
+ AND order_review.department_code = 'ORDER_EVAL'`
)
// 조달 평가 담당자 JOIN
@@ -335,7 +337,9 @@ export const evaluationTargetsWithDepartments = pgView("evaluation_targets_with_
)
.leftJoin(
sql`evaluation_target_reviews procurement_review`,
- sql`${evaluationTargets.id} = procurement_review.evaluation_target_id AND procurement_review.reviewer_user_id = procurement_reviewer.id`
+ sql`${evaluationTargets.id} = procurement_review.evaluation_target_id
+ AND procurement_review.reviewer_user_id = procurement_reviewer.id
+ AND procurement_review.department_code = 'PROCUREMENT_EVAL'`
)
// 품질 평가 담당자 JOIN
@@ -349,7 +353,9 @@ export const evaluationTargetsWithDepartments = pgView("evaluation_targets_with_
)
.leftJoin(
sql`evaluation_target_reviews quality_review`,
- sql`${evaluationTargets.id} = quality_review.evaluation_target_id AND quality_review.reviewer_user_id = quality_reviewer.id`
+ sql`${evaluationTargets.id} = quality_review.evaluation_target_id
+ AND quality_review.reviewer_user_id = quality_reviewer.id
+ AND quality_review.department_code = 'QUALITY_EVAL'`
)
// 설계 평가 담당자 JOIN
@@ -363,7 +369,9 @@ export const evaluationTargetsWithDepartments = pgView("evaluation_targets_with_
)
.leftJoin(
sql`evaluation_target_reviews design_review`,
- sql`${evaluationTargets.id} = design_review.evaluation_target_id AND design_review.reviewer_user_id = design_reviewer.id`
+ sql`${evaluationTargets.id} = design_review.evaluation_target_id
+ AND design_review.reviewer_user_id = design_reviewer.id
+ AND design_review.department_code = 'DESIGN_EVAL'`
)
// CS 평가 담당자 JOIN
@@ -377,7 +385,9 @@ export const evaluationTargetsWithDepartments = pgView("evaluation_targets_with_
)
.leftJoin(
sql`evaluation_target_reviews cs_review`,
- sql`${evaluationTargets.id} = cs_review.evaluation_target_id AND cs_review.reviewer_user_id = cs_reviewer.id`
+ sql`${evaluationTargets.id} = cs_review.evaluation_target_id
+ AND cs_review.reviewer_user_id = cs_reviewer.id
+ AND cs_review.department_code = 'CS_EVAL'`
);
});