Implement server-side pagination for order summaries, plans, and shipping orders

- Added pagination parameters (page and size) to the getOrderSummary and getPlans functions in the productionController.
- Updated the getList function in shippingOrderController and shippingPlanController to support server-side pagination.
- Modified frontend components to handle pagination state and display total counts for orders and plans.
- Ensured compatibility with existing functionality by maintaining behavior when pagination is not used.
This commit is contained in:
kjs
2026-04-28 13:59:34 +09:00
parent 8bfa1f9838
commit 4afb0f5ca4
39 changed files with 1158 additions and 330 deletions

View File

@@ -70,6 +70,8 @@ export interface TimelineSchedulerProps {
onEventMove?: (eventId: string | number, newStartDate: string, newEndDate: string) => void;
/** 리사이즈 완료 */
onEventResize?: (eventId: string | number, newStartDate: string, newEndDate: string) => void;
/** 표시 기간(이전/다음/오늘 또는 줌 변경) 변경 시 호출 — 부모가 데이터 재조회 등에 사용 */
onRangeChange?: (startDate: string, endDate: string) => void;
/** 상태별 색상 배열 */
statusColors?: StatusColor[];
/** 진행률 바 표시 여부 */
@@ -191,6 +193,7 @@ export default function TimelineScheduler({
onEventClick,
onEventMove,
onEventResize,
onRangeChange,
statusColors = DEFAULT_STATUS_COLORS,
showProgress = true,
showMilestones = true,
@@ -249,6 +252,14 @@ export default function TimelineScheduler({
return arr;
}, [baseDate, config.spanDays]);
// 표시 범위 변경 시 부모에 알림 (데이터 재조회 트리거용)
useEffect(() => {
if (!onRangeChange) return;
const start = toDateStr(baseDate);
const end = toDateStr(addDays(baseDate, config.spanDays - 1));
onRangeChange(start, end);
}, [baseDate, config.spanDays, onRangeChange]);
const totalWidth = config.cellWidth * config.spanDays;
// 충돌 ID 집합