플로우 분기처리 구현

This commit is contained in:
kjs
2025-10-20 15:53:00 +09:00
parent de9491aa29
commit 7d8abc0449
15 changed files with 2098 additions and 203 deletions

View File

@@ -573,28 +573,46 @@ export class FlowController {
*/
moveBatchData = async (req: Request, res: Response): Promise<void> => {
try {
const { flowId, recordIds, toStepId, note } = req.body;
const { flowId, fromStepId, toStepId, dataIds } = req.body;
const userId = (req as any).user?.userId || "system";
if (!flowId || !recordIds || !Array.isArray(recordIds) || !toStepId) {
if (
!flowId ||
!fromStepId ||
!toStepId ||
!dataIds ||
!Array.isArray(dataIds)
) {
res.status(400).json({
success: false,
message: "flowId, recordIds (array), and toStepId are required",
message:
"flowId, fromStepId, toStepId, and dataIds (array) are required",
});
return;
}
await this.flowDataMoveService.moveBatchData(
const result = await this.flowDataMoveService.moveBatchData(
flowId,
recordIds,
fromStepId,
toStepId,
userId,
note
dataIds,
userId
);
const successCount = result.results.filter((r) => r.success).length;
const failureCount = result.results.filter((r) => !r.success).length;
res.json({
success: true,
message: `${recordIds.length} records moved successfully`,
success: result.success,
message: result.success
? `${successCount}건의 데이터를 성공적으로 이동했습니다`
: `${successCount}건 성공, ${failureCount}건 실패`,
data: {
successCount,
failureCount,
total: dataIds.length,
},
results: result.results,
});
} catch (error: any) {
console.error("Error moving batch data:", error);