diff --git a/backend-node/src/controllers/popProductionController.ts b/backend-node/src/controllers/popProductionController.ts index b26490d5..7cb73740 100644 --- a/backend-node/src/controllers/popProductionController.ts +++ b/backend-node/src/controllers/popProductionController.ts @@ -1858,13 +1858,24 @@ export const acceptProcess = async (req: AuthenticatedRequest, res: Response) => client, masterId, splitId, row.routing_detail_id, companyCode, userId ); - // 마스터 행의 input_qty를 분할 합계로 갱신 - const newTotalInput = currentTotalInput + qty; - await client.query( - `UPDATE work_order_process SET input_qty = $3, updated_date = NOW() - WHERE id = $1 AND company_code = $2`, - [masterId, companyCode, String(newTotalInput)] - ); + // 마스터 행의 input_qty를 분할 합계로 갱신 (리워크 접수 시에는 마스터 input_qty 변경 안 함) + if (!isRework) { + const newTotalInput = currentTotalInput + qty; + await client.query( + `UPDATE work_order_process SET input_qty = $3, updated_date = NOW() + WHERE id = $1 AND company_code = $2`, + [masterId, companyCode, String(newTotalInput)] + ); + } + + // 리워크 카드: 전량 접수 시 status를 in_progress로 변경 (추가 접수 방지) + if (isRework && qty >= reworkInputQty) { + await client.query( + `UPDATE work_order_process SET status = 'in_progress', updated_date = NOW() + WHERE id = $1 AND company_code = $2`, + [work_order_process_id, companyCode] + ); + } await client.query("COMMIT");