diff options
Diffstat (limited to 'db/schema/evaluationTarget.ts')
| -rw-r--r-- | db/schema/evaluationTarget.ts | 22 |
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'` ); }); |
