summaryrefslogtreecommitdiff
path: root/lib/pq
diff options
context:
space:
mode:
Diffstat (limited to 'lib/pq')
-rw-r--r--lib/pq/pq-criteria/pq-table.tsx2
-rw-r--r--lib/pq/service.ts13
2 files changed, 9 insertions, 6 deletions
diff --git a/lib/pq/pq-criteria/pq-table.tsx b/lib/pq/pq-criteria/pq-table.tsx
index 187a727b..83c2daec 100644
--- a/lib/pq/pq-criteria/pq-table.tsx
+++ b/lib/pq/pq-criteria/pq-table.tsx
@@ -9,7 +9,7 @@ import type {
import { useDataTable } from "@/hooks/use-data-table"
import { DataTable } from "@/components/data-table/data-table"
-import { getPQsByListId } from "../service"
+import { getPQsByListId, getPQListInfo } from "../service"
import { DataTableAdvancedToolbar } from "@/components/data-table/data-table-advanced-toolbar"
import { PqCriterias } from "@/db/schema/pq"
import { DeletePqsDialog } from "./delete-pqs-dialog"
diff --git a/lib/pq/service.ts b/lib/pq/service.ts
index 54459a6c..b6640453 100644
--- a/lib/pq/service.ts
+++ b/lib/pq/service.ts
@@ -495,7 +495,7 @@ export async function submitPQAction({
}
// 제출 가능한 상태 확인
- const allowedStatuses = ["REQUESTED", "IN_PROGRESS", "REJECTED"];
+ const allowedStatuses = ["REQUESTED", "IN_PROGRESS", "SUBMITTED", "REJECTED"];
if (existingSubmission) {
if (!allowedStatuses.includes(existingSubmission.status)) {
@@ -533,7 +533,6 @@ export async function submitPQAction({
submittedAt: currentDate,
createdAt: currentDate,
updatedAt: currentDate,
- requesterId: requesterId,
});
}
@@ -554,9 +553,9 @@ export async function submitPQAction({
// 5. PQ 요청자에게 이메일 알림 발송
const targetSubmissionId = existingSubmission?.id || '';
- const targetRequesterId = existingSubmission?.requesterId || requesterId;
+ const targetRequesterId = existingSubmission?.requesterId || null;
- if (targetRequesterId) {
+ if (targetRequesterId !== null) {
try {
// 요청자 정보 조회
const requester = await db
@@ -2886,6 +2885,7 @@ function getInvestigationMethodLabel(method: string): string {
export async function getQMManagers() {
try {
// domain이 'partners'가 아니고, isActive가 true인 사용자만 조회
+ // 또는 deptName이 '품질경영팀('를 포함하는 경우도 포함
const qmUsers = await db
.select({
id: users.id,
@@ -2897,7 +2897,7 @@ export async function getQMManagers() {
.where(
and(
eq(users.isActive, true),
- ne(users.domain, "partners")
+ ilike(users.deptName, "%품질경영팀(%")
)
)
.orderBy(users.name);
@@ -3770,6 +3770,9 @@ export async function deletePQSubmissionAction(pqSubmissionId: number) {
.where(eq(vendorPQSubmissions.id, pqSubmissionId));
});
+ // 삭제 후 캐시 무효화 (PQ 히스토리 캐시)
+ revalidateTag('pq-submissions');
+
return { success: true };
} catch (error) {
console.error("deletePQSubmissionAction error:", error);