diff --git a/src/app/api/survey-sales/[id]/route.ts b/src/app/api/survey-sales/[id]/route.ts index 07ecd6a..7c03530 100644 --- a/src/app/api/survey-sales/[id]/route.ts +++ b/src/app/api/survey-sales/[id]/route.ts @@ -19,14 +19,16 @@ export async function GET(request: NextRequest, { params }: { params: Promise<{ } } -const getNewSrlNo = async (srlNo: string, storeId: string) => { +const getNewSrlNo = async (srlNo: string, storeId: string, role: string) => { + const srlRole = role === 'T01' || role === 'Admin' ? 'HO' : role === 'Admin_Sub' || role === 'Builder' ? 'HM' : '' + let newSrlNo = srlNo if (srlNo.startsWith('一時保存')) { //@ts-ignore const lastSurvey = await prisma.SD_SURVEY_SALES_BASIC_INFO.findFirst({ where: { SRL_NO: { - startsWith: storeId, + startsWith: srlRole + storeId, }, }, orderBy: { @@ -34,7 +36,9 @@ const getNewSrlNo = async (srlNo: string, storeId: string) => { }, }) const lastNo = lastSurvey ? parseInt(lastSurvey.SRL_NO.slice(-3)) : 0 + newSrlNo = + srlRole + storeId + new Date().getFullYear().toString().slice(-2) + (new Date().getMonth() + 1).toString().padStart(2, '0') + @@ -51,7 +55,7 @@ export async function PUT(request: NextRequest, { params }: { params: Promise<{ const { detailInfo, ...basicInfo } = body.survey // PUT 요청 시 임시저장 여부 확인 후 임시저장 시 기존 SRL_NO 사용, 기본 저장 시 새로운 SRL_NO 생성 - const newSrlNo = body.isTemporary ? body.survey.srlNo : await getNewSrlNo(body.survey.srlNo, body.storeId) + const newSrlNo = body.isTemporary ? body.survey.srlNo : await getNewSrlNo(body.survey.srlNo, body.storeId, body.role) // @ts-ignore const survey = await prisma.SD_SURVEY_SALES_BASIC_INFO.update({ where: { ID: Number(id) }, @@ -113,7 +117,7 @@ export async function PATCH(request: NextRequest, { params }: { params: Promise< const body = await request.json() // 제출 시 기존 SRL_NO 확인 후 '임시저장'으로 시작하면 새로운 SRL_NO 생성 - const newSrlNo = await getNewSrlNo(body.srlNo, body.storeId) + const newSrlNo = await getNewSrlNo(body.srlNo, body.storeId, body.role) if (body.targetId) { // @ts-ignore diff --git a/src/app/api/survey-sales/route.ts b/src/app/api/survey-sales/route.ts index d3160b6..a5d60c8 100644 --- a/src/app/api/survey-sales/route.ts +++ b/src/app/api/survey-sales/route.ts @@ -227,11 +227,21 @@ export async function POST(request: Request) { try { const body = await request.json() - // 임시 저장 시 임시저장 + 000 으로 저장 - // 기본 저장 시 판매점ID + yyMMdd + 000 으로 저장 + const role = + body.role === 'T01' || body.role === 'Admin' + ? 'HO' + : body.role === 'Admin_Sub' || body.role === 'Builder' + ? 'HM' + : body.role === 'Partner' + ? '' + : null + + // 임시 저장 시 임시저장으로 저장 + // 기본 저장 시 (HO/HM) + 판매점ID + yyMMdd + 000 으로 저장 const baseSrlNo = body.survey.srlNo ?? - body.storeId + + role + + body.storeId + new Date().getFullYear().toString().slice(-2) + (new Date().getMonth() + 1).toString().padStart(2, '0') + new Date().getDate().toString().padStart(2, '0') @@ -240,7 +250,7 @@ export async function POST(request: Request) { const lastSurvey = await prisma.SD_SURVEY_SALES_BASIC_INFO.findFirst({ where: { SRL_NO: { - startsWith: body.storeId, + startsWith: role + body.storeId, }, }, orderBy: { diff --git a/src/components/survey-sale/detail/ButtonForm.tsx b/src/components/survey-sale/detail/ButtonForm.tsx index 8f8e3dd..fd3e339 100644 --- a/src/components/survey-sale/detail/ButtonForm.tsx +++ b/src/components/survey-sale/detail/ButtonForm.tsx @@ -29,7 +29,7 @@ export default function ButtonForm(props: { }) // !!!!!!!!!! - const [tempTargetId, setTempTargetId] = useState('') + const [tempTargetId, setTempTargetId] = useState('TEST') // -------------------------------------------------------------- // 권한 @@ -158,6 +158,7 @@ export default function ButtonForm(props: { if (routeId) { window.neoConfirm('削除しますか?', async () => { await deleteSurvey() + alert('削除されました。') router.push('/survey-sale') }) } @@ -269,9 +270,6 @@ function SubmitButton(props: { handleSubmit: () => void; setTempTargetId: (targe 提出 -