From 927bb7cb3a368d1e98d38208c19a5d65e79b3813 Mon Sep 17 00:00:00 2001 From: bicochan Date: Thu, 20 Aug 2026 11:48:18 +0900 Subject: [PATCH] =?UTF-8?q?[st]=20chore:=20eslint=20=ED=95=B4=EA=B2=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/st/src/app/index.tsx | 12 ++- apps/st/src/app/providers/app-provider.tsx | 22 +++-- .../components/button/LastYearDataButton.tsx | 3 +- .../button/NotApplicableCheckButton.tsx | 3 +- .../src/components/module/CompactDataGrid.tsx | 8 +- apps/st/src/components/module/DataGrid.tsx | 16 ++-- .../ExceptionProcessingHistoryDialog.tsx | 3 +- .../components/module/GridTopActionButton.tsx | 4 +- apps/st/src/components/module/SearchForm.tsx | 66 +++++++++---- .../module/SidoSggFacilityNameSearchForm.tsx | 46 ++++----- apps/st/src/components/module/TabDataGrid.tsx | 2 +- .../module/VerificationResultDialog.tsx | 12 ++- .../VerificationResultHistoryDialog.tsx | 6 +- .../VerificationResultHistoryPagination.tsx | 1 + .../VerificationSelectionReport.tsx | 25 ++--- .../input/ExcretaTreatmentFacilityInp.tsx | 66 ++++++------- .../input/MainFacilityMappingSaveDialog.tsx | 3 +- .../input/PrivateSewageFacilityInp.tsx | 20 ++-- .../input/PublicSewageFacilityInp.tsx | 12 +-- .../statistics/input/PumpingStationInp.tsx | 66 ++++++------- .../input/SewageExcretaRelatedInp.tsx | 81 ++++++++-------- .../input/SewageExcretaSlurgeInp.tsx | 76 ++++++++------- .../statistics/input/SewagePipeInp.tsx | 6 +- .../input/SewagePipeMaintainInp.tsx | 8 +- .../input/SewageReservoirPumpInp.tsx | 80 ++++++++-------- .../statistics/input/SewerageFinanceInp.tsx | 6 +- .../input/SeweragePenetrationRateInp.tsx | 4 +- .../input/SewerageServiceLevelInp.tsx | 76 +++++++-------- .../input/StatisticsReviewHistory.tsx | 7 +- .../statistics/input/StatsInputStatusInp.tsx | 15 +-- .../statistics/input/SubmitDailog.tsx | 11 ++- .../statistics/input/WaterReuseInp.tsx | 96 +++++++++---------- .../management/AdmdstRenewalTab.tsx | 14 +-- .../management/DomesticPopulationTab.tsx | 16 ++-- .../management/ForeignPopulationTab.tsx | 18 ++-- .../management/LogHistoryDetailDialog.tsx | 13 +-- .../management/NotEnteredStatus.tsx | 2 +- .../management/PopulationStatusChart.tsx | 11 ++- .../management/PopulationStatusTab.tsx | 5 +- .../management/PopulationVizTab.tsx | 1 + .../StatisticsPopulationManagement.tsx | 17 ++-- .../management/UpperCodeSelectDialog.tsx | 1 + .../management/hooks/useAdmdstRenewalTab.ts | 6 +- .../hooks/usePopulationMappingTab.ts | 4 +- .../hooks/usePopulationStatusTab.ts | 6 +- .../management/hooks/usePopulationVizTab.ts | 3 +- .../management/types/population-tab-types.ts | 2 +- .../review/ExcretaTreatmentFacilityRvw.tsx | 14 +-- .../review/PrivateSewageFacilityRvw.tsx | 14 +-- .../review/PublicSewageFacilityRvw.tsx | 26 ++--- .../statistics/review/PumpingStationRvw.tsx | 18 ++-- .../statistics/review/ReturnReasonDialog.tsx | 9 +- .../statistics/review/ReviewOpinionDialog.tsx | 6 +- .../statistics/review/ReviewSubmitDialog.tsx | 16 ++-- .../review/SewageExcretaRelatedRvw.tsx | 14 +-- .../review/SewageExcretaSlurgeRvw.tsx | 14 +-- .../review/SewagePipeMaintainRvw.tsx | 14 +-- .../statistics/review/SewagePipeRvw.tsx | 18 ++-- .../review/SewageReservoirPumpRvw.tsx | 8 +- .../statistics/review/SewerageFinanceRvw.tsx | 16 ++-- .../review/SeweragePenetrationRateRvw.tsx | 39 ++++---- .../review/SewerageServiceLevelRvw.tsx | 16 ++-- .../statistics/review/StatsInputStatusRvw.tsx | 49 +++++----- .../statistics/review/WaterReuseRvw.tsx | 16 ++-- .../total/ExcretaTreatmentFacilityTot.tsx | 21 ++-- .../total/PrivateSewageFacilityTot.tsx | 25 +++-- .../total/PublicSewageFacilityTot.tsx | 15 +-- .../statistics/total/PumpingStationTot.tsx | 21 ++-- .../total/SewageExcretaRelatedTot.tsx | 35 +++---- .../total/SewageExcretaSlurgeTot.tsx | 32 +++---- .../total/SewagePipeMaintainTot.tsx | 4 +- .../statistics/total/SewagePipeTot.tsx | 9 +- .../total/SewageReservoirPumpTot.tsx | 23 +++-- .../statistics/total/SewerageFinanceTot.tsx | 27 +++--- .../total/SeweragePenetrationRateTot.tsx | 15 +-- .../total/SewerageServiceLevelTot.tsx | 23 ++--- .../statistics/total/WaterReuseTot.tsx | 30 +++--- .../generalVerification/CopyDialog.tsx | 20 ++-- .../generalVerification/FomulaDialog.tsx | 18 ++-- .../generalVerification/FormulaComponents.tsx | 3 +- .../OperatorsComponents.tsx | 7 +- .../generalVerification/RegistDialog.tsx | 41 ++++---- .../column/input/ExcretaTreatFactInpColumn.ts | 3 +- .../PublicSewageFactInpColumn.ts | 3 +- .../column/input/PumpingStationInpColumn.ts | 5 +- .../input/SeweragePenetrationRateInpColumn.ts | 3 +- .../PrivateSewageDesigStatusInpColumn.ts | 3 +- .../SepticTankStatusInpColumn.ts | 3 +- .../SewageTreatFactStatusInpColumn.ts | 3 +- .../ExcretaRelatedIndustryInpColumn.ts | 3 +- ...vateSewageTreatRelatedIndustryInpColumn.ts | 3 +- ...blicInstitutionExcretaIndustryInpColumn.ts | 3 +- ...PublicInstitutionSewerIndustryInpColumn.ts | 3 +- .../DigestorOperatingStatusInpColumn.ts | 3 +- .../ExcretaSlurgeProcessingStatusInpColumn.ts | 3 +- ...ewageSlurgeProcessingFacStatusInpColumn.ts | 3 +- .../SlurgeProcessingFacStatusInpColumn.ts | 3 +- .../sewagePipe/ConnectionStatusInpColumn.ts | 1 + .../sewagePipe/FactInstallStatusInpColumn.ts | 3 +- .../sewagePipe/ManholeStatusInpColumn.ts | 3 +- .../sewagePipe/PipeDiameterStatusInpColumn.ts | 3 +- .../sewagePipe/PipeTypeStatusInpColumn.ts | 3 +- .../sewagePipe/RegionalFactStatusInpColumn.ts | 3 +- .../input/sewagePipe/SewagePipeInpColumn.ts | 13 +-- .../RepairStatusInpColumn.ts | 3 +- .../RainfallPumpStationInpColumn.ts | 5 +- .../SewageReservoirInpColumn.ts | 5 +- .../sewerageFinance/CauserBurdenInpColumn.ts | 3 +- .../SewerageChargeInpColumn.ts | 3 +- .../SewerageFinanceSettleInpColumn.ts | 3 +- .../SewerageUsageFeeInpColumn.ts | 3 +- .../ComplaintInpColumn.ts | 3 +- .../ResidentFriendlyFactInpColumn.ts | 3 +- .../PublicSewageTreatWaterReuseInpColumn.ts | 3 +- .../RainFallUtilFactStatusInpColumn.ts | 3 +- .../RecycledWaterStatusInpColumn.ts | 3 +- .../management/DomesticPopulationColumn.ts | 1 + .../management/ForeignPopulationColumn.ts | 1 + .../management/GeneralVerificationColumn.tsx | 10 +- .../management/LogHistoryDetailColumn.ts | 3 +- .../management/PopulationStatusColumn.ts | 1 + .../review/PublicSewageFacilityRvwColumn.ts | 3 +- .../column/review/PumpingStationRvwColumn.ts | 3 +- .../review/SewagePipeMaintainRvwColumn.ts | 3 +- .../review/SewageReservoirPumpRvwColumn.ts | 10 +- .../SeweragePenetrationRateRvwColumn.ts | 3 +- .../util/grid/computedFieldCallbacks.ts | 2 +- .../src/components/util/grid/footerSummary.ts | 2 +- .../st/src/components/util/gridExcelExport.ts | 3 +- apps/st/src/entities/code/api/code-service.ts | 1 + .../src/entities/code/api/lwpocode-service.ts | 9 +- .../src/entities/code/api/upcode-service.ts | 9 +- apps/st/src/entities/code/index.ts | 24 +++-- .../entities/code/model/lwpocode-interface.ts | 3 +- .../entities/code/model/upcode-interface.ts | 3 +- .../entities/code/ui/code-select-with-all.tsx | 4 +- apps/st/src/entities/code/ui/code-select.tsx | 4 +- .../group-user/api/group-user-service.ts | 9 +- .../api/menu-authority-service.ts | 1 + apps/st/src/entities/menu-authority/index.ts | 4 +- .../model/menu-authority-interface.ts | 1 + .../model/menu-authority-table-columns.tsx | 5 +- .../menu-authority/ui/authority-button.tsx | 27 +++--- .../ui/management-authority-dialog.tsx | 13 ++- apps/st/src/entities/menu/api/menu-service.ts | 5 +- apps/st/src/entities/menu/index.ts | 10 +- .../st/src/entities/menu/lib/menu-wrapper.tsx | 7 +- .../entities/statistics/api/analysis-api.ts | 2 +- .../verification-target-management-service.ts | 18 ++-- apps/st/src/entities/user/api/user-service.ts | 23 ++--- apps/st/src/entities/user/index.ts | 22 ++--- .../src/entities/user/model/user-interface.ts | 1 + .../user/ui/password-reset-dialog.tsx | 36 +++---- .../pages/statistics/ui/statistics-page.tsx | 10 +- apps/st/src/shared/api/with-auth-header.ts | 2 +- apps/st/src/shared/lib/index.ts | 10 +- apps/st/src/shared/lib/match-query-status.ts | 2 + .../shared/lib/stats-cd-input-navigation.ts | 3 +- apps/st/src/shared/lib/use-alert-store.ts | 6 +- .../st/src/shared/lib/use-attachment-store.ts | 6 +- .../shared/lib/use-global-progress-store.ts | 4 +- apps/st/src/shared/lib/use-menu-store.ts | 6 +- apps/st/src/shared/lib/use-prompt.tsx | 1 + apps/st/src/shared/lib/use-select-prompt.tsx | 1 + ...use-statistics-input-pending-navigation.ts | 5 +- .../shared/lib/use-statistics-tab-url-sync.ts | 9 +- apps/st/src/shared/lib/use-tus.ts | 7 +- apps/st/src/shared/providers/index.ts | 2 +- .../src/shared/providers/store-provider.tsx | 1 + apps/st/src/shared/store/index.ts | 2 +- apps/st/src/shared/ui/alert-dialog.tsx | 5 +- apps/st/src/shared/ui/confirm-dialog.tsx | 9 +- apps/st/src/shared/ui/form.tsx | 18 ++-- .../src/shared/ui/global-progress-overlay.tsx | 2 +- .../st/src/shared/ui/grid-view-data-table.tsx | 14 +-- .../src/shared/ui/input-date-range-picker.tsx | 4 +- apps/st/src/shared/ui/page-layout.tsx | 1 + apps/st/src/shared/ui/prompt-dialog.tsx | 5 +- .../st/src/shared/ui/select-prompt-dialog.tsx | 8 +- apps/st/src/shared/ui/sonner.tsx | 1 + .../src/shared/ui/statistics-page-layout.tsx | 4 +- apps/st/src/shared/ui/tab-bar.tsx | 3 +- apps/st/src/shared/ui/tooltip.tsx | 3 +- apps/st/src/store/admin-store.ts | 2 + apps/st/src/store/tab-store.ts | 4 +- 185 files changed, 1195 insertions(+), 1024 deletions(-) diff --git a/apps/st/src/app/index.tsx b/apps/st/src/app/index.tsx index 24654225f..eba6fc2d3 100644 --- a/apps/st/src/app/index.tsx +++ b/apps/st/src/app/index.tsx @@ -1,12 +1,14 @@ +import { cookies } from "next/headers"; +import Script from "next/script"; + +import "@fontsource-variable/noto-sans-kr"; + +import { AppProvider } from "./providers/app-provider"; + import "./styles/base.css"; import "./styles/components.css"; -import "@fontsource-variable/noto-sans-kr"; import "realgrid/dist/realgrid-style.css"; import "../components/css/DataGrid.css"; - -import { cookies } from "next/headers"; -import { AppProvider } from "./providers/app-provider"; -import Script from "next/script"; const App = async ({ children }: Readonly<{ children: React.ReactNode }>) => { const theme = (await cookies()).get("site-theme-key"); diff --git a/apps/st/src/app/providers/app-provider.tsx b/apps/st/src/app/providers/app-provider.tsx index 4e64d241c..3c0f472b9 100644 --- a/apps/st/src/app/providers/app-provider.tsx +++ b/apps/st/src/app/providers/app-provider.tsx @@ -1,20 +1,22 @@ "use client"; import { DndProvider } from "react-dnd"; -import { MultiBackend, getBackendOptions } from "@minoru/react-dnd-treeview"; + +import { ConfirmProvider } from "@frontend-opensource/use-react-hooks"; +import { getBackendOptions,MultiBackend } from "@minoru/react-dnd-treeview"; +import { AlertDialog as RsoneAlertDialog } from "@rsone/components"; import { QueryClient, QueryClientProvider } from "@tanstack/react-query"; import { ReactQueryDevtools } from "@tanstack/react-query-devtools"; -import { ConfirmProvider } from "@frontend-opensource/use-react-hooks"; + +import { PromptProvider, StoreProvider } from "@/shared/providers"; +import { AlertDialog } from "@/shared/ui/alert-dialog"; +import { ConfirmDialog } from "@/shared/ui/confirm-dialog"; +import { GlobalProgressOverlay } from "@/shared/ui/global-progress-overlay"; +import { PromptDialog } from "@/shared/ui/prompt-dialog"; +import { SelectPromptDialog } from "@/shared/ui/select-prompt-dialog"; +import { Toaster } from "@/shared/ui/sonner"; import { AuthWrapper } from "@/entities/auth"; import { MenuWrapper } from "@/entities/menu"; -import { Toaster } from "@/shared/ui/sonner"; -import { AlertDialog } from "@/shared/ui/alert-dialog"; -import { PromptDialog } from "@/shared/ui/prompt-dialog"; -import { ConfirmDialog } from "@/shared/ui/confirm-dialog"; -import { SelectPromptDialog } from "@/shared/ui/select-prompt-dialog"; -import { GlobalProgressOverlay } from "@/shared/ui/global-progress-overlay"; -import { PromptProvider, StoreProvider } from "@/shared/providers"; -import { AlertDialog as RsoneAlertDialog } from "@rsone/components"; const AppProvider = ({ children }: Readonly<{ children: React.ReactNode }>) => { const queryClient = new QueryClient(); diff --git a/apps/st/src/components/button/LastYearDataButton.tsx b/apps/st/src/components/button/LastYearDataButton.tsx index c0cc89f3b..b3afa7293 100644 --- a/apps/st/src/components/button/LastYearDataButton.tsx +++ b/apps/st/src/components/button/LastYearDataButton.tsx @@ -1,6 +1,7 @@ -import { Button } from "@common/components"; import { useConfirm } from "@frontend-opensource/use-react-hooks"; +import { Button } from "@common/components"; + interface LastYearDataButtonProps { getLastYearDataFunc: () => void; } diff --git a/apps/st/src/components/button/NotApplicableCheckButton.tsx b/apps/st/src/components/button/NotApplicableCheckButton.tsx index 507334e2e..3df8c204a 100644 --- a/apps/st/src/components/button/NotApplicableCheckButton.tsx +++ b/apps/st/src/components/button/NotApplicableCheckButton.tsx @@ -1,6 +1,7 @@ -import { Checkbox, buttonVariants, cn } from "@common/components"; import type React from "react"; +import { buttonVariants, Checkbox, cn } from "@common/components"; + interface NotApplicableCheckButtonProp { isCheck: boolean; setIsCheck: React.Dispatch>; diff --git a/apps/st/src/components/module/CompactDataGrid.tsx b/apps/st/src/components/module/CompactDataGrid.tsx index a8605c52e..75e25c83e 100644 --- a/apps/st/src/components/module/CompactDataGrid.tsx +++ b/apps/st/src/components/module/CompactDataGrid.tsx @@ -1,9 +1,11 @@ -import { useRef, useEffect, useLayoutEffect } from "react" -import { ValueType } from "realgrid" +import { useEffect, useLayoutEffect,useRef } from "react" +import { ValueType } from "realgrid" import RealGrid, { GridFitStyle } from "realgrid" import { RealGridReact, RGDataColumn } from "realgrid-react" -import type { DataGridProps, RealGridColumnInfo, GridViewWithSetColumns, FooterItemWithCallback, CellStyleCallback, CellStyleCallbackResult, CellStyleCallbackParams } from "../type/DataGrid.type" + +import type { CellStyleCallback, CellStyleCallbackParams,CellStyleCallbackResult, DataGridProps, FooterItemWithCallback, GridViewWithSetColumns, RealGridColumnInfo } from "../type/DataGrid.type" + import { getComputedValueCallback } from "@/components/util/grid/computedFieldCallbacks" function mergeCellStyleCallbackResult( diff --git a/apps/st/src/components/module/DataGrid.tsx b/apps/st/src/components/module/DataGrid.tsx index b56d7e83d..2530fc422 100644 --- a/apps/st/src/components/module/DataGrid.tsx +++ b/apps/st/src/components/module/DataGrid.tsx @@ -1,4 +1,4 @@ -import { useEffect, useLayoutEffect, useMemo, useRef, useState, type MutableRefObject } from "react"; +import { type MutableRefObject,useEffect, useLayoutEffect, useMemo, useRef, useState } from "react"; import { createPortal } from "react-dom"; import JSZip from "jszip"; @@ -24,12 +24,6 @@ import type { } from "../type/DataGrid.type"; import { getComputedValueCallback } from "@/components/util/grid/computedFieldCallbacks"; -import { - formatVerificationTooltip, - getVerificationErrorsForField, - getVerificationStyleName, - type VerificationResultLikeMap, -} from "@/components/util/input/verification-result-display"; import { buildExcelExportFileBaseName, buildFixedColumnNameSet, @@ -40,12 +34,18 @@ import { mergeExcelImportWithExistingRows, prepareGridColumnsForExcelExport, releaseFixedOptionsForExcelExport, + resolveColumnStyleName, restoreFixedOptionsAfterExcelExport, restoreGridColumnsAfterExcelExport, - resolveColumnStyleName, shouldPrepareColumnsForExcelExport, stripFixedStylesForExport, } from "@/components/util/gridExcelExport"; +import { + formatVerificationTooltip, + getVerificationErrorsForField, + getVerificationStyleName, + type VerificationResultLikeMap, +} from "@/components/util/input/verification-result-display"; import { useTabStore } from "@/store/tab-store"; function mergeCellStyleCallbackResult( diff --git a/apps/st/src/components/module/ExceptionProcessingHistoryDialog.tsx b/apps/st/src/components/module/ExceptionProcessingHistoryDialog.tsx index 16035aec2..4626425b6 100644 --- a/apps/st/src/components/module/ExceptionProcessingHistoryDialog.tsx +++ b/apps/st/src/components/module/ExceptionProcessingHistoryDialog.tsx @@ -4,7 +4,6 @@ import { type Dispatch, type MutableRefObject, type SetStateAction, useCallback, import { RealGridReact } from "realgrid-react"; -import { getUserInfo } from "../../../../../packages/common/components/src/api"; import { useAlertStore } from "@/shared/lib"; import { statisticsApi } from "@/entities/statistics/api/statistics-service"; import type { @@ -29,6 +28,8 @@ import { Textarea, } from "@common/components"; +import { getUserInfo } from "../../../../../packages/common/components/src/api"; + import DataGrid from "@/components/module/DataGrid"; import { VerificationResultHistoryPagination } from "@/components/module/VerificationResultHistoryPagination"; import type { CellStyleCallbackParams, ColumnInfo } from "@/components/type/DataGrid.type"; diff --git a/apps/st/src/components/module/GridTopActionButton.tsx b/apps/st/src/components/module/GridTopActionButton.tsx index ae6b3ee4a..844e0e538 100644 --- a/apps/st/src/components/module/GridTopActionButton.tsx +++ b/apps/st/src/components/module/GridTopActionButton.tsx @@ -1,11 +1,13 @@ "use client"; import { useState } from "react"; + import { Button, Dialog, DialogContent, DialogHeader, DialogTitle } from "@common/components"; -import SidoSggFacilityNameSearchForm from "./SidoSggFacilityNameSearchForm"; import type { SearchFormValues } from "../type/SearchForm.type"; +import SidoSggFacilityNameSearchForm from "./SidoSggFacilityNameSearchForm"; + type GridTopActionButtonProps = { text: string; onClick?: (helpers: { openDialog: (title?: string) => void; closeDialog: () => void }) => void; diff --git a/apps/st/src/components/module/SearchForm.tsx b/apps/st/src/components/module/SearchForm.tsx index 0b6ec3080..ea94e1f9b 100644 --- a/apps/st/src/components/module/SearchForm.tsx +++ b/apps/st/src/components/module/SearchForm.tsx @@ -155,13 +155,18 @@ const SearchForm = (props: SearchFormProps = {}) => { prev.sido ? prev : { - ...prev, - sido: first.sido, - gugun: "", - bsnmCd: first.bsnmCd, - }, + ...prev, + sido: first.sido, + gugun: "", + bsnmCd: first.bsnmCd, + }, ); - }, [sidoList, props.defaultValues?.sido, props.defaultRegionAll, mergedProps.sido]); + }, [ + sidoList, + props.defaultValues?.sido, + props.defaultRegionAll, + mergedProps.sido, + ]); const sggKey: [string, string, string, string] | null = values.sido && values.sido !== "ALL" @@ -179,12 +184,12 @@ const SearchForm = (props: SearchFormProps = {}) => { onSuccess: (data) => { if (data.status !== "success") { alert(`시군구 목록을 불러오는데 실패했습니다. - 새로고침 후 다시 시도해주세요.`); + 새로고침 후 다시 시도해주세요.`); } }, onError: () => { alert(`시군구 목록을 불러오는데 실패했습니다. - 새로고침 후 다시 시도해주세요.`); + 새로고침 후 다시 시도해주세요.`); }, }, ); @@ -230,7 +235,8 @@ const SearchForm = (props: SearchFormProps = {}) => { const selectedBsnm = value === "ALL" ? "" - : sidoList?.data?.sidoList?.find((v) => v.sido === value)?.bsnmCd || ""; + : sidoList?.data?.sidoList?.find((v) => v.sido === value) + ?.bsnmCd || ""; setValues((prev) => ({ ...prev, sido: value, @@ -244,7 +250,7 @@ const SearchForm = (props: SearchFormProps = {}) => { const selectedBsnm = value === "ALL" ? sidoList?.data?.sidoList?.find((v) => v.sido === values.sido) - ?.bsnmCd || "" + ?.bsnmCd || "" : listForBsnm.find((v) => v.gugun === value)?.bsnmCd || ""; setValues((prev) => ({ @@ -397,16 +403,23 @@ const SearchForm = (props: SearchFormProps = {}) => { - 전체 - 500톤이상 - 500톤미만 + 전체 + + 500톤이상 + + + 500톤미만 + )} {mergedProps.isDetail && (
-
diff --git a/apps/st/src/components/module/SidoSggFacilityNameSearchForm.tsx b/apps/st/src/components/module/SidoSggFacilityNameSearchForm.tsx index afe29293f..84bf949fe 100644 --- a/apps/st/src/components/module/SidoSggFacilityNameSearchForm.tsx +++ b/apps/st/src/components/module/SidoSggFacilityNameSearchForm.tsx @@ -1,40 +1,42 @@ "use client"; import { useEffect, useRef, useState } from "react"; -import useSWR from "swr"; -import { ValueType } from "realgrid"; -import { - Button, - Input, - Label, - Select, - SelectTrigger, - SelectContent, - SelectItem, - SelectValue, - LoadingWithAnimation, -} from "@common/components"; -import CompactDataGrid from "./CompactDataGrid"; +import { ValueType } from "realgrid"; +import useSWR from "swr"; import { useAlertStore } from "@/shared/lib"; +import { statisticsInputSewPipeApiService } from "@/entities/statistics/api/input/statistics-sewage-pipe-input-service"; import { statisticsApi } from "@/entities/statistics/api/statistics-service"; +import type { + SeweragePipeFacilitiesListRequest, + SeweragePipeFacilityAdminAreaListRequest, + SeweragePipeFactConnectionSaveItem, + SeweragePipeFactConnectionSaveRequest, +} from "@/entities/statistics/model/input/statistics-sewage-pipe-input-interface"; import type { ApiResponse, SearchCondition, Sgg, } from "@/entities/statistics/model/statistics-interface"; +import { + Button, + Input, + Label, + LoadingWithAnimation, + Select, + SelectContent, + SelectItem, + SelectTrigger, + SelectValue, +} from "@common/components"; + +import { getUserInfo } from "../../../../../packages/common/components/src/api"; import type { ColumnInfo } from "../type/DataGrid.type"; -import type { - SeweragePipeFacilitiesListRequest, - SeweragePipeFacilityAdminAreaListRequest, - SeweragePipeFactConnectionSaveRequest, - SeweragePipeFactConnectionSaveItem, -} from "@/entities/statistics/model/input/statistics-sewage-pipe-input-interface"; -import { statisticsInputSewPipeApiService } from "@/entities/statistics/api/input/statistics-sewage-pipe-input-service"; import type { SearchFormValues } from "../type/SearchForm.type"; import { doNameList } from "../util/column/input/DoList"; -import { getUserInfo } from "../../../../../packages/common/components/src/api"; + +import CompactDataGrid from "./CompactDataGrid"; /** 다이얼로그 좌측: 처리시설 정보 (순번 없음) */ const treatmentFacilityColumnInfo: ColumnInfo = { diff --git a/apps/st/src/components/module/TabDataGrid.tsx b/apps/st/src/components/module/TabDataGrid.tsx index fcf9fa1f8..9a57e2ccc 100644 --- a/apps/st/src/components/module/TabDataGrid.tsx +++ b/apps/st/src/components/module/TabDataGrid.tsx @@ -61,9 +61,9 @@ import { mergeExcelImportWithExistingRows, prepareGridColumnsForExcelExport, releaseFixedOptionsForExcelExport, + resolveColumnStyleName, restoreFixedOptionsAfterExcelExport, restoreGridColumnsAfterExcelExport, - resolveColumnStyleName, shouldPrepareColumnsForExcelExport, stripFixedStylesForExport, } from "@/components/util/gridExcelExport" diff --git a/apps/st/src/components/module/VerificationResultDialog.tsx b/apps/st/src/components/module/VerificationResultDialog.tsx index 1bbc93bbb..6cb6f0a7e 100644 --- a/apps/st/src/components/module/VerificationResultDialog.tsx +++ b/apps/st/src/components/module/VerificationResultDialog.tsx @@ -10,7 +10,12 @@ import { useRef, useState, } from "react"; + import type { RealGridReact } from "realgrid-react"; + +import { useAlertStore } from "@/shared/lib"; +import { statisticsApi } from "@/entities/statistics/api/statistics-service"; +import type { VerificationResultListRequest, VerificationResultReportItem } from "@/entities/statistics/model/statistics-interface"; import { Button, Dialog, @@ -21,6 +26,9 @@ import { DialogTitle, LoadingWithAnimation, } from "@common/components"; + +import { getUserInfo } from "../../../../../packages/common/components/src/api"; + import DataGrid from "@/components/module/DataGrid"; import { cellContentTooltip } from "@/components/module/verificationResultCellTooltip"; import { VerificationResultHistoryPagination } from "@/components/module/VerificationResultHistoryPagination"; @@ -29,10 +37,6 @@ import type { CellStyleCallbackParams, ColumnInfo, } from "@/components/type/DataGrid.type"; -import { getUserInfo } from "../../../../../packages/common/components/src/api"; -import { statisticsApi } from "@/entities/statistics/api/statistics-service"; -import type { VerificationResultListRequest, VerificationResultReportItem } from "@/entities/statistics/model/statistics-interface"; -import { useAlertStore } from "@/shared/lib"; type VerificationResultGridRow = Record; diff --git a/apps/st/src/components/module/VerificationResultHistoryDialog.tsx b/apps/st/src/components/module/VerificationResultHistoryDialog.tsx index b68b2d05c..b8ec4a44b 100644 --- a/apps/st/src/components/module/VerificationResultHistoryDialog.tsx +++ b/apps/st/src/components/module/VerificationResultHistoryDialog.tsx @@ -10,9 +10,10 @@ import { useRef, useState, } from "react"; + import type { RealGridReact } from "realgrid-react"; -import { getUserInfo } from "../../../../../packages/common/components/src/api"; +import { useAlertStore } from "@/shared/lib"; import { statisticsApi } from "@/entities/statistics/api/statistics-service"; import type { VerificationResultListRequest, VerificationResultReportItem } from "@/entities/statistics/model/statistics-interface"; import { @@ -30,11 +31,12 @@ import { TabsTrigger, } from "@common/components"; +import { getUserInfo } from "../../../../../packages/common/components/src/api"; + import DataGrid from "@/components/module/DataGrid"; import { cellContentTooltip } from "@/components/module/verificationResultCellTooltip"; import { VerificationResultHistoryPagination } from "@/components/module/VerificationResultHistoryPagination"; import type { CellStyleCallbackParams, ColumnInfo } from "@/components/type/DataGrid.type"; -import { useAlertStore } from "@/shared/lib"; type VerificationResultGridRow = Record; type VerificationHistoryTabKey = "NV" | "IMR" | "HB"; diff --git a/apps/st/src/components/module/VerificationResultHistoryPagination.tsx b/apps/st/src/components/module/VerificationResultHistoryPagination.tsx index e3fa59851..93ab93d2d 100644 --- a/apps/st/src/components/module/VerificationResultHistoryPagination.tsx +++ b/apps/st/src/components/module/VerificationResultHistoryPagination.tsx @@ -6,6 +6,7 @@ import { DoubleArrowLeftIcon, DoubleArrowRightIcon, } from "@radix-ui/react-icons"; + import { Button, cn } from "@common/components"; export type VerificationResultHistoryPaginationProps = { diff --git a/apps/st/src/components/statistics/VerificationSelectionReport.tsx b/apps/st/src/components/statistics/VerificationSelectionReport.tsx index 85bc298e1..35996dcb7 100644 --- a/apps/st/src/components/statistics/VerificationSelectionReport.tsx +++ b/apps/st/src/components/statistics/VerificationSelectionReport.tsx @@ -1,40 +1,41 @@ "use client"; import { useCallback, useEffect, useState } from "react"; + +import { useTabStore as useGridTabStore } from "@rsone/components"; import { type InfiniteData, keepPreviousData, useInfiniteQuery, useQueryClient, } from "@tanstack/react-query"; -import { useTabStore as useGridTabStore } from "@rsone/components"; +import dayjs from "dayjs"; +import { useAlertStore, useMenuStore } from "@/shared/lib"; +import { + findMenuItemByUrlPath, + resolveInputPageNavigationFromStatsCd, +} from "@/shared/lib/stats-cd-input-navigation"; +import { CodeSelectWithAll } from "@/entities/code"; import { verificationInputReportApi } from "@/entities/statistics/api/verification-input-report-service"; import type { VerificationInputReportItem, VerificationInputReportResponse, VerificationInputReportTypeCountingInfo, } from "@/entities/statistics/model/verification-input-report-interface"; -import { useAlertStore, useMenuStore } from "@/shared/lib"; -import { - findMenuItemByUrlPath, - resolveInputPageNavigationFromStatsCd, -} from "@/shared/lib/stats-cd-input-navigation"; -import { useStatisticsInputFocusStore } from "@/store/statistics-input-focus-store"; -import { useTabStore } from "@/store/tab-store"; -import dayjs from "dayjs"; - import { Badge, type BadgeProps, + Label, LoadingWithAnimation, Tabs, TabsContent, TabsList, TabsTrigger, - Label, } from "@common/components"; -import { CodeSelectWithAll } from "@/entities/code"; + +import { useStatisticsInputFocusStore } from "@/store/statistics-input-focus-store"; +import { useTabStore } from "@/store/tab-store"; type VerificationReportTabKey = "NV" | "IMR" | "HB"; diff --git a/apps/st/src/components/statistics/input/ExcretaTreatmentFacilityInp.tsx b/apps/st/src/components/statistics/input/ExcretaTreatmentFacilityInp.tsx index adc8eed81..279f31b42 100644 --- a/apps/st/src/components/statistics/input/ExcretaTreatmentFacilityInp.tsx +++ b/apps/st/src/components/statistics/input/ExcretaTreatmentFacilityInp.tsx @@ -1,20 +1,46 @@ import { + type RefObject, useCallback, useEffect, useMemo, useRef, useState, - type RefObject, } from "react"; - import { flushSync } from "react-dom"; import { useConfirm } from "@frontend-opensource/use-react-hooks"; - import { ValueType } from "realgrid"; import type { RealGridReact } from "realgrid-react"; + +import { useAlertStore, useGlobalProgressStore, useStatisticsInputToolbarGroupGate } from "@/shared/lib"; +import { STATISTICS_INPUT_URL_PATH } from "@/shared/lib/stats-cd-input-navigation"; +import { useStatisticsInputPendingNavigation } from "@/shared/lib/use-statistics-input-pending-navigation"; +import { ConfirmDialog } from "@/shared/ui/confirm-dialog"; +import { statisticsInputExcretaTreatmentFacilityApi } from "@/entities/statistics/api/input/statistics-input-excreta-treatment-facility-service"; +import { statisticsInputSewSupplyRateApi } from "@/entities/statistics/api/input/statistics-input-sew-supply-rate-service"; +import { statisticsApi } from "@/entities/statistics/api/statistics-service"; +import { + EXCRETA_TREATMENT_FACILITY_STATS_CD, + type ExcretaTreatmentFacilityItem, + type ExcretaTreatmentFacilityRequestParams, + type ExcretaTreatmentFacilitySaveItem, + type ExcretaTreatmentFacilityVerificationResult, +} from "@/entities/statistics/model/input/statistics-input-excreta-treatment-facility-interface"; +import { isInputPeriodCurrent } from "@/entities/statistics/model/input/statistics-sewage-supply-rate-input-interface"; +import type { StatisticsInputSubmitInfoFormData } from "@/entities/statistics/model/statistics-input-submit-info-schema"; +import type { + ApiResponse, + cancelSubmitRequest, + ImrStatusResponse, + SewerageStatusInfo, + Sgg, +} from "@/entities/statistics/model/statistics-interface"; import { LoadingWithAnimation } from "@common/components"; +import { getUserInfo } from "../../../../../../packages/common/components/src/api"; + +import SubmitDailog from "./SubmitDailog"; + import AddArticleButton from "@/components/button/AddArticleButton"; import CancelSubmitButton from "@/components/button/CancelSubmitButton"; import DeleteArticleButton from "@/components/button/DeleteArticleButton"; @@ -24,13 +50,10 @@ import SaveButton from "@/components/button/SaveButton"; import SubmitButton from "@/components/button/SumitButton"; import VerificationResultButton from "@/components/button/VerificationResultButton"; import DataGrid from "@/components/module/DataGrid"; -import { toExcelExportSearchContextFromSearchForm } from "@/components/util/gridExcelExport"; import { openVerificationResultDialogIfNeeded } from "@/components/module/post-submit-verification-results"; import SearchForm from "@/components/module/SearchForm"; import { VerificationResultDialog } from "@/components/module/VerificationResultDialog"; import { VerificationResultHistoryDialog } from "@/components/module/VerificationResultHistoryDialog"; -import SubmitDailog from "./SubmitDailog"; -import { ExcretaTreatFactInpColumn } from "@/components/util/column/input/ExcretaTreatFactInpColumn"; import type { CellStyleCallbackParams, CellTooltipCallbackParams, @@ -38,37 +61,14 @@ import type { } from "@/components/type/DataGrid.type"; import type { SearchFormValues } from "@/components/type/SearchForm.type"; import { doList } from "@/components/util/column/input/DoList"; +import { ExcretaTreatFactInpColumn } from "@/components/util/column/input/ExcretaTreatFactInpColumn"; import { toGridRows } from "@/components/util/grid/gridFunction"; +import { formatCompactYmdForGrid, toCompactYmdOrNull } from "@/components/util/grid/ymdFormat"; +import { toExcelExportSearchContextFromSearchForm } from "@/components/util/gridExcelExport"; import { isVerificationFailedFromCommonInfo } from "@/components/util/input/verification-failed-flag"; import type { VerificationResultLikeMap } from "@/components/util/input/verification-result-display"; -import { formatCompactYmdForGrid, toCompactYmdOrNull } from "@/components/util/grid/ymdFormat"; -import { statisticsInputExcretaTreatmentFacilityApi } from "@/entities/statistics/api/input/statistics-input-excreta-treatment-facility-service"; -import { statisticsInputSewSupplyRateApi } from "@/entities/statistics/api/input/statistics-input-sew-supply-rate-service"; -import { statisticsApi } from "@/entities/statistics/api/statistics-service"; -import { isInputPeriodCurrent } from "@/entities/statistics/model/input/statistics-sewage-supply-rate-input-interface"; -import { - EXCRETA_TREATMENT_FACILITY_STATS_CD, - type ExcretaTreatmentFacilityItem, - type ExcretaTreatmentFacilityRequestParams, - type ExcretaTreatmentFacilitySaveItem, - type ExcretaTreatmentFacilityVerificationResult, -} from "@/entities/statistics/model/input/statistics-input-excreta-treatment-facility-interface"; -import type { StatisticsInputSubmitInfoFormData } from "@/entities/statistics/model/statistics-input-submit-info-schema"; -import type { - ApiResponse, - cancelSubmitRequest, - ImrStatusResponse, - Sgg, - SewerageStatusInfo, -} from "@/entities/statistics/model/statistics-interface"; -import { useAlertStore, useGlobalProgressStore, useStatisticsInputToolbarGroupGate } from "@/shared/lib"; -import { STATISTICS_INPUT_URL_PATH } from "@/shared/lib/stats-cd-input-navigation"; -import { useTabStore } from "@/store/tab-store"; -import { useStatisticsInputPendingNavigation } from "@/shared/lib/use-statistics-input-pending-navigation"; -import { ConfirmDialog } from "@/shared/ui/confirm-dialog"; import { useAdminStore } from "@/store/admin-store"; - -import { getUserInfo } from "../../../../../../packages/common/components/src/api"; +import { useTabStore } from "@/store/tab-store"; type GridRowWithVerification = Record & { verificationResult?: ExcretaTreatmentFacilityVerificationResult; diff --git a/apps/st/src/components/statistics/input/MainFacilityMappingSaveDialog.tsx b/apps/st/src/components/statistics/input/MainFacilityMappingSaveDialog.tsx index 623363e2c..70ab2ecef 100644 --- a/apps/st/src/components/statistics/input/MainFacilityMappingSaveDialog.tsx +++ b/apps/st/src/components/statistics/input/MainFacilityMappingSaveDialog.tsx @@ -1,8 +1,9 @@ "use client"; import { useEffect, useState } from "react"; -import { CalendarIcon } from "lucide-react"; + import dayjs from "dayjs"; +import { CalendarIcon } from "lucide-react"; import { useAlertStore } from "@/shared/lib"; import { diff --git a/apps/st/src/components/statistics/input/PrivateSewageFacilityInp.tsx b/apps/st/src/components/statistics/input/PrivateSewageFacilityInp.tsx index 838329e00..dccf6f6fd 100644 --- a/apps/st/src/components/statistics/input/PrivateSewageFacilityInp.tsx +++ b/apps/st/src/components/statistics/input/PrivateSewageFacilityInp.tsx @@ -10,20 +10,20 @@ import { statisticsInputPrivateSewageFacilityApi } from "@/entities/statistics/a import { statisticsInputSewSupplyRateApi } from "@/entities/statistics/api/input/statistics-input-sew-supply-rate-service"; import { statisticsApi } from "@/entities/statistics/api/statistics-service"; import type { - PrivateSewageDesigStatusSaveItem, - PrivateSewageFacilityVerificationResult, PrivateSewageDesigStatusItem, + PrivateSewageDesigStatusSaveItem, PrivateSewageDesigStatusSaveRequest, PrivateSewageDesigStatusSubmitRequest, + PrivateSewageFacilityVerificationResult, + SepticTankStatusItem, SepticTankStatusSaveItem, SepticTankStatusSaveRequest, SepticTankStatusSubmitRequest, SewageTreatFactStatusItem, + SewageTreatFactStatusRequestParams, SewageTreatFactStatusSaveItem, SewageTreatFactStatusSaveRequest, SewageTreatFactStatusSubmitRequest, - SepticTankStatusItem, - SewageTreatFactStatusRequestParams, } from "@/entities/statistics/model/input/statistics-input-private-sewage-facility-interface"; import { isInputPeriodCurrent } from "@/entities/statistics/model/input/statistics-sewage-supply-rate-input-interface"; import type { StatisticsInputSubmitInfoFormData } from "@/entities/statistics/model/statistics-input-submit-info-schema"; @@ -39,14 +39,13 @@ import { getUserInfo } from "../../../../../../packages/common/components/src/ap import SubmitDailog from "./SubmitDailog"; import CancelSubmitButton from "@/components/button/CancelSubmitButton"; -import SubmitButton from "@/components/button/SumitButton"; -import SaveButton from "@/components/button/SaveButton"; import LastYearDataButton from "@/components/button/LastYearDataButton"; +import SaveButton from "@/components/button/SaveButton"; +import SubmitButton from "@/components/button/SumitButton"; import VerificationResultButton from "@/components/button/VerificationResultButton"; import DataGrid from "@/components/module/DataGrid"; -import { toExcelExportSearchContextFromSearchForm } from "@/components/util/gridExcelExport"; -import SearchForm from "@/components/module/SearchForm"; import { openVerificationResultDialogIfNeeded } from "@/components/module/post-submit-verification-results"; +import SearchForm from "@/components/module/SearchForm"; import { VerificationResultDialog } from "@/components/module/VerificationResultDialog"; import { VerificationResultHistoryDialog } from "@/components/module/VerificationResultHistoryDialog"; import type { ColumnConfig, ColumnInfo } from "@/components/type/DataGrid.type"; @@ -55,15 +54,16 @@ import { doList } from "@/components/util/column/input/DoList"; import { PrivateSewageDesigStatusInpColumn } from "@/components/util/column/input/privateSewageFacility/PrivateSewageDesigStatusInpColumn"; import { SepticTankStatusInpColumn } from "@/components/util/column/input/privateSewageFacility/SepticTankStatusInpColumn"; import { SewageTreatFactStatusInpColumn } from "@/components/util/column/input/privateSewageFacility/SewageTreatFactStatusInpColumn"; -import { toGridRows } from "@/components/util/grid/gridFunction"; import { fetchColumnGuidesRecord } from "@/components/util/grid/columnGuides"; -import { useTabStore } from "@/store/tab-store"; +import { toGridRows } from "@/components/util/grid/gridFunction"; +import { toExcelExportSearchContextFromSearchForm } from "@/components/util/gridExcelExport"; import { patchFooterVerificationByTab, patchVerificationFailedByTab, } from "@/components/util/input/verification-failed-flag"; import type { VerificationResultLikeMap } from "@/components/util/input/verification-result-display"; import { useAdminStore } from "@/store/admin-store"; +import { useTabStore } from "@/store/tab-store"; const PrivateSewageFacilityInpTabList = [ SewageTreatFactStatusInpColumn, diff --git a/apps/st/src/components/statistics/input/PublicSewageFacilityInp.tsx b/apps/st/src/components/statistics/input/PublicSewageFacilityInp.tsx index ca70f9ac4..133a9cb28 100644 --- a/apps/st/src/components/statistics/input/PublicSewageFacilityInp.tsx +++ b/apps/st/src/components/statistics/input/PublicSewageFacilityInp.tsx @@ -1,4 +1,4 @@ -import { useEffect, useRef, useState, type Dispatch, type SetStateAction } from 'react'; +import { type Dispatch, type SetStateAction,useEffect, useRef, useState } from 'react'; import { useConfirm } from '@frontend-opensource/use-react-hooks'; @@ -38,22 +38,22 @@ import SubmitButton from '@/components/button/SumitButton'; import UpdateOperateDataButton from '@/components/button/UpdateOperateDataButton'; import VerificationResultButton from '@/components/button/VerificationResultButton'; import DataGrid from '@/components/module/DataGrid'; -import { toExcelExportSearchContextFromSearchForm } from "@/components/util/gridExcelExport"; +import { openVerificationResultDialogIfNeeded } from '@/components/module/post-submit-verification-results'; import SearchForm from '@/components/module/SearchForm'; import SplitDataGrid from '@/components/module/SplitDataGrid'; -import { openVerificationResultDialogIfNeeded } from '@/components/module/post-submit-verification-results'; import { VerificationResultDialog } from '@/components/module/VerificationResultDialog'; import { VerificationResultHistoryDialog } from '@/components/module/VerificationResultHistoryDialog'; import type { CellStyleCallbackParams, ColumnInfo, ColumnInfoList } from '@/components/type/DataGrid.type'; import type { SearchFormValues } from '@/components/type/SearchForm.type'; import { doList } from '@/components/util/column/input/DoList'; import { PublicSewageFactInpColumnList } from '@/components/util/column/input/PublicSewageFactInpColumn/PublicSewageFactInpColumn'; -import { toGridRows } from '@/components/util/grid/gridFunction'; import { fetchColumnGuidesRecord } from '@/components/util/grid/columnGuides'; -import { useTabStore } from '@/store/tab-store'; -import { patchVerificationFailedByTab, patchFooterVerificationByTab } from '@/components/util/input/verification-failed-flag'; +import { toGridRows } from '@/components/util/grid/gridFunction'; +import { toExcelExportSearchContextFromSearchForm } from "@/components/util/gridExcelExport"; +import { patchFooterVerificationByTab,patchVerificationFailedByTab } from '@/components/util/input/verification-failed-flag'; import type { VerificationResultLikeMap } from '@/components/util/input/verification-result-display'; import { useAdminStore } from '@/store/admin-store'; +import { useTabStore } from '@/store/tab-store'; type GridRowWithVerification = Record & { verificationResult?: SewerageSupplyRateVerificationResult; diff --git a/apps/st/src/components/statistics/input/PumpingStationInp.tsx b/apps/st/src/components/statistics/input/PumpingStationInp.tsx index 1f1d21cbb..2d3370191 100644 --- a/apps/st/src/components/statistics/input/PumpingStationInp.tsx +++ b/apps/st/src/components/statistics/input/PumpingStationInp.tsx @@ -1,20 +1,46 @@ import { + type RefObject, useCallback, useEffect, useMemo, useRef, useState, - type RefObject, } from "react"; - import { flushSync } from "react-dom"; import { useConfirm } from "@frontend-opensource/use-react-hooks"; - import { ValueType } from "realgrid"; import type { RealGridReact } from "realgrid-react"; + +import { useAlertStore, useGlobalProgressStore, useStatisticsInputToolbarGroupGate } from "@/shared/lib"; +import { STATISTICS_INPUT_URL_PATH } from "@/shared/lib/stats-cd-input-navigation"; +import { useStatisticsInputPendingNavigation } from "@/shared/lib/use-statistics-input-pending-navigation"; +import { ConfirmDialog } from "@/shared/ui/confirm-dialog"; +import { statisticsInputPumpingStationApi } from "@/entities/statistics/api/input/statistics-input-pumping-station-service"; +import { statisticsInputSewSupplyRateApi } from "@/entities/statistics/api/input/statistics-input-sew-supply-rate-service"; +import { statisticsApi } from "@/entities/statistics/api/statistics-service"; +import { + PUMPING_STATION_STATS_CD, + type PumpingStationItem, + type PumpingStationRequestParams, + type PumpingStationSaveItem, + type PumpingStationVerificationResult, +} from "@/entities/statistics/model/input/statistics-input-pumping-station-interface"; +import { isInputPeriodCurrent } from "@/entities/statistics/model/input/statistics-sewage-supply-rate-input-interface"; +import type { StatisticsInputSubmitInfoFormData } from "@/entities/statistics/model/statistics-input-submit-info-schema"; +import type { + ApiResponse, + cancelSubmitRequest, + ImrStatusResponse, + SewerageStatusInfo, + Sgg, +} from "@/entities/statistics/model/statistics-interface"; import { LoadingWithAnimation } from "@common/components"; +import { getUserInfo } from "../../../../../../packages/common/components/src/api"; + +import SubmitDailog from "./SubmitDailog"; + import AddArticleButton from "@/components/button/AddArticleButton"; import CancelSubmitButton from "@/components/button/CancelSubmitButton"; import DeleteArticleButton from "@/components/button/DeleteArticleButton"; @@ -24,13 +50,10 @@ import SaveButton from "@/components/button/SaveButton"; import SubmitButton from "@/components/button/SumitButton"; import VerificationResultButton from "@/components/button/VerificationResultButton"; import DataGrid from "@/components/module/DataGrid"; -import { toExcelExportSearchContextFromSearchForm } from "@/components/util/gridExcelExport"; import { openVerificationResultDialogIfNeeded } from "@/components/module/post-submit-verification-results"; import SearchForm from "@/components/module/SearchForm"; import { VerificationResultDialog } from "@/components/module/VerificationResultDialog"; import { VerificationResultHistoryDialog } from "@/components/module/VerificationResultHistoryDialog"; -import { PumpingStationInpColumn } from "@/components/util/column/input/PumpingStationInpColumn"; -import SubmitDailog from "./SubmitDailog"; import type { CellStyleCallbackParams, CellTooltipCallbackParams, @@ -38,37 +61,14 @@ import type { } from "@/components/type/DataGrid.type"; import type { SearchFormValues } from "@/components/type/SearchForm.type"; import { doList } from "@/components/util/column/input/DoList"; +import { PumpingStationInpColumn } from "@/components/util/column/input/PumpingStationInpColumn"; import { toGridRows } from "@/components/util/grid/gridFunction"; +import { formatCompactYmdForGrid, toCompactYmdOrNull } from "@/components/util/grid/ymdFormat"; +import { toExcelExportSearchContextFromSearchForm } from "@/components/util/gridExcelExport"; import { isVerificationFailedFromCommonInfo } from "@/components/util/input/verification-failed-flag"; import type { VerificationResultLikeMap } from "@/components/util/input/verification-result-display"; -import { formatCompactYmdForGrid, toCompactYmdOrNull } from "@/components/util/grid/ymdFormat"; -import { statisticsInputPumpingStationApi } from "@/entities/statistics/api/input/statistics-input-pumping-station-service"; -import { statisticsInputSewSupplyRateApi } from "@/entities/statistics/api/input/statistics-input-sew-supply-rate-service"; -import { statisticsApi } from "@/entities/statistics/api/statistics-service"; -import { isInputPeriodCurrent } from "@/entities/statistics/model/input/statistics-sewage-supply-rate-input-interface"; -import { - PUMPING_STATION_STATS_CD, - type PumpingStationItem, - type PumpingStationRequestParams, - type PumpingStationSaveItem, - type PumpingStationVerificationResult, -} from "@/entities/statistics/model/input/statistics-input-pumping-station-interface"; -import type { - ApiResponse, - cancelSubmitRequest, - ImrStatusResponse, - Sgg, - SewerageStatusInfo, -} from "@/entities/statistics/model/statistics-interface"; -import { useAlertStore, useGlobalProgressStore, useStatisticsInputToolbarGroupGate } from "@/shared/lib"; -import { STATISTICS_INPUT_URL_PATH } from "@/shared/lib/stats-cd-input-navigation"; -import { useTabStore } from "@/store/tab-store"; -import { useStatisticsInputPendingNavigation } from "@/shared/lib/use-statistics-input-pending-navigation"; -import { ConfirmDialog } from "@/shared/ui/confirm-dialog"; import { useAdminStore } from "@/store/admin-store"; - -import { getUserInfo } from "../../../../../../packages/common/components/src/api"; -import type { StatisticsInputSubmitInfoFormData } from "@/entities/statistics/model/statistics-input-submit-info-schema"; +import { useTabStore } from "@/store/tab-store"; type GridRowWithVerification = Record & { verificationResult?: PumpingStationVerificationResult; diff --git a/apps/st/src/components/statistics/input/SewageExcretaRelatedInp.tsx b/apps/st/src/components/statistics/input/SewageExcretaRelatedInp.tsx index 9a9a488a6..c9ddc2e0c 100644 --- a/apps/st/src/components/statistics/input/SewageExcretaRelatedInp.tsx +++ b/apps/st/src/components/statistics/input/SewageExcretaRelatedInp.tsx @@ -1,11 +1,44 @@ -import { useCallback, useEffect, useMemo, useRef, useState, type Dispatch, type SetStateAction } from "react"; - -import { LoadingWithAnimation, Tabs, TabsContent, TabsList, TabsTrigger } from "@common/components"; -import { ValueType } from "realgrid"; -import type { RealGridReact } from "realgrid-react"; +import { type Dispatch, type SetStateAction,useCallback, useEffect, useMemo, useRef, useState } from "react"; import { flushSync } from "react-dom"; import { useConfirm } from "@frontend-opensource/use-react-hooks"; +import { ValueType } from "realgrid"; +import type { RealGridReact } from "realgrid-react"; + +import { useAlertStore, useGlobalProgressStore, useStatisticsInputToolbarGroupGate } from "@/shared/lib"; +import { STATISTICS_INPUT_URL_PATH } from "@/shared/lib/stats-cd-input-navigation"; +import { useStatisticsInputPendingNavigation } from "@/shared/lib/use-statistics-input-pending-navigation"; +import { ConfirmDialog } from "@/shared/ui/confirm-dialog"; +import { statisticsInputSewSupplyRateApi } from "@/entities/statistics/api/input/statistics-input-sew-supply-rate-service"; +import { statisticsInputSewageExcretaRelatedApi } from "@/entities/statistics/api/input/statistics-input-sewage-excreta-related-service"; +import { statisticsApi } from "@/entities/statistics/api/statistics-service"; +import type { + ExcretaRelatedIndustrySaveItem, + PrivateSewageTreatRelatedIndustrySaveItem, + PublicInstitutionSewerIndustrySaveItem, + SewageExcretaRelatedRequestParams, + SewageExcretaRelatedVerificationResult, +} from "@/entities/statistics/model/input/statistics-input-sewage-excreta-related-interface"; +import { + SEWAGE_EXCRETA_EXCRETA_RELATED_INDUSTRY_STATS_CD, + SEWAGE_EXCRETA_PRIVATE_SEWAGE_TREAT_RELATED_INDUSTRY_STATS_CD, + SEWAGE_EXCRETA_PUBLIC_INSTITUTION_EXCRETA_STATS_CD, + SEWAGE_EXCRETA_PUBLIC_INSTITUTION_SEWER_STATS_CD, +} from "@/entities/statistics/model/input/statistics-input-sewage-excreta-related-interface"; +import { isInputPeriodCurrent } from "@/entities/statistics/model/input/statistics-sewage-supply-rate-input-interface"; +import type { StatisticsInputSubmitInfoFormData } from "@/entities/statistics/model/statistics-input-submit-info-schema"; +import type { + ApiResponse, + cancelSubmitRequest, + ImrStatusResponse, + SewerageStatusInfo, + Sgg, +} from "@/entities/statistics/model/statistics-interface"; +import { LoadingWithAnimation, Tabs, TabsContent, TabsList, TabsTrigger } from "@common/components"; + +import { getUserInfo } from "../../../../../../packages/common/components/src/api"; + +import SubmitDailog from "./SubmitDailog"; import AddArticleButton from "@/components/button/AddArticleButton"; import CancelSubmitButton from "@/components/button/CancelSubmitButton"; @@ -16,7 +49,6 @@ import SaveButton from "@/components/button/SaveButton"; import SubmitButton from "@/components/button/SumitButton"; import VerificationResultButton from "@/components/button/VerificationResultButton"; import DataGrid from "@/components/module/DataGrid"; -import { toExcelExportSearchContextFromSearchForm } from "@/components/util/gridExcelExport"; import { openVerificationResultDialogIfNeeded } from "@/components/module/post-submit-verification-results"; import SearchForm from "@/components/module/SearchForm"; import { VerificationResultDialog } from "@/components/module/VerificationResultDialog"; @@ -35,47 +67,16 @@ import { ExcretaRelatedIndustryInpColumn } from "@/components/util/column/input/ import { PrivateSewageTreatRelatedIndustryInpColumn } from "@/components/util/column/input/sewageExcretaRelated/PrivateSewageTreatRelatedIndustryInpColumn"; import { PublicInstitutionExcretaIndustryInpColumn } from "@/components/util/column/input/sewageExcretaRelated/PublicInstitutionExcretaIndustryInpColumn"; import { PublicInstitutionSewerIndustryInpColumn } from "@/components/util/column/input/sewageExcretaRelated/PublicInstitutionSewerIndustryInpColumn"; -import { toGridRows } from "@/components/util/grid/gridFunction"; import { fetchColumnGuidesRecord } from "@/components/util/grid/columnGuides"; -import { useTabStore } from "@/store/tab-store"; +import { toGridRows } from "@/components/util/grid/gridFunction"; +import { toExcelExportSearchContextFromSearchForm } from "@/components/util/gridExcelExport"; import { patchFooterVerificationByTab, patchVerificationFailedByTab, } from "@/components/util/input/verification-failed-flag"; import type { VerificationResultLikeMap } from "@/components/util/input/verification-result-display"; -import { statisticsInputSewageExcretaRelatedApi } from "@/entities/statistics/api/input/statistics-input-sewage-excreta-related-service"; -import { statisticsInputSewSupplyRateApi } from "@/entities/statistics/api/input/statistics-input-sew-supply-rate-service"; -import { statisticsApi } from "@/entities/statistics/api/statistics-service"; -import type { - ExcretaRelatedIndustrySaveItem, - PrivateSewageTreatRelatedIndustrySaveItem, - PublicInstitutionSewerIndustrySaveItem, - SewageExcretaRelatedRequestParams, - SewageExcretaRelatedVerificationResult, -} from "@/entities/statistics/model/input/statistics-input-sewage-excreta-related-interface"; -import { - SEWAGE_EXCRETA_EXCRETA_RELATED_INDUSTRY_STATS_CD, - SEWAGE_EXCRETA_PRIVATE_SEWAGE_TREAT_RELATED_INDUSTRY_STATS_CD, - SEWAGE_EXCRETA_PUBLIC_INSTITUTION_EXCRETA_STATS_CD, - SEWAGE_EXCRETA_PUBLIC_INSTITUTION_SEWER_STATS_CD, -} from "@/entities/statistics/model/input/statistics-input-sewage-excreta-related-interface"; -import { isInputPeriodCurrent } from "@/entities/statistics/model/input/statistics-sewage-supply-rate-input-interface"; -import type { - ApiResponse, - cancelSubmitRequest, - ImrStatusResponse, - SewerageStatusInfo, - Sgg, -} from "@/entities/statistics/model/statistics-interface"; -import type { StatisticsInputSubmitInfoFormData } from "@/entities/statistics/model/statistics-input-submit-info-schema"; -import { useAlertStore, useGlobalProgressStore, useStatisticsInputToolbarGroupGate } from "@/shared/lib"; -import { STATISTICS_INPUT_URL_PATH } from "@/shared/lib/stats-cd-input-navigation"; -import { useStatisticsInputPendingNavigation } from "@/shared/lib/use-statistics-input-pending-navigation"; -import { ConfirmDialog } from "@/shared/ui/confirm-dialog"; import { useAdminStore } from "@/store/admin-store"; -import { getUserInfo } from "../../../../../../packages/common/components/src/api"; - -import SubmitDailog from "./SubmitDailog"; +import { useTabStore } from "@/store/tab-store"; const SewageExcretaRelatedInpTabList = [ PublicInstitutionSewerIndustryInpColumn, diff --git a/apps/st/src/components/statistics/input/SewageExcretaSlurgeInp.tsx b/apps/st/src/components/statistics/input/SewageExcretaSlurgeInp.tsx index 942aaaa5a..d22d81c26 100644 --- a/apps/st/src/components/statistics/input/SewageExcretaSlurgeInp.tsx +++ b/apps/st/src/components/statistics/input/SewageExcretaSlurgeInp.tsx @@ -1,19 +1,47 @@ import { + type Dispatch, + type SetStateAction, useCallback, useEffect, useMemo, useRef, useState, - type Dispatch, - type SetStateAction, } from "react"; - -import { LoadingWithAnimation, Tabs, TabsContent, TabsList, TabsTrigger } from "@common/components"; -import { ValueType } from "realgrid"; -import type { RealGridReact } from "realgrid-react"; import { flushSync } from "react-dom"; import { useConfirm } from "@frontend-opensource/use-react-hooks"; +import { ValueType } from "realgrid"; +import type { RealGridReact } from "realgrid-react"; + +import { useAlertStore, useGlobalProgressStore, useStatisticsInputToolbarGroupGate } from "@/shared/lib"; +import { STATISTICS_INPUT_URL_PATH } from "@/shared/lib/stats-cd-input-navigation"; +import { useStatisticsInputPendingNavigation } from "@/shared/lib/use-statistics-input-pending-navigation"; +import { ConfirmDialog } from "@/shared/ui/confirm-dialog"; +import { statisticsInputSewSupplyRateApi } from "@/entities/statistics/api/input/statistics-input-sew-supply-rate-service"; +import { statisticsInputSewageExcretaSlurgeApi } from "@/entities/statistics/api/input/statistics-input-sewage-excreta-slurge-service"; +import { statisticsApi } from "@/entities/statistics/api/statistics-service"; +import type { + DigestorOperatingStatusSaveItem, + ExcretaSlurgeProcessingStatusSaveItem, + SewageExcretaSlurgeRequestParams, + SewageExcretaSlurgeVerificationResult, + SewageSlurgeProcessingFacStatusSaveItem, + SlurgeProcessingFacStatusSaveItem, +} from "@/entities/statistics/model/input/statistics-input-sewage-excreta-slurge-interface"; +import { + SEWAGE_EXCRETA_DIGESTOR_OPERATING_STATS_CD, + SEWAGE_EXCRETA_EXCRETA_SLURGE_PROCESSING_STATS_CD, + SEWAGE_EXCRETA_SEWAGE_SLURGE_FAC_STATUS_STATS_CD, + SEWAGE_EXCRETA_SLURGE_PROCESSING_FAC_STATUS_STATS_CD, +} from "@/entities/statistics/model/input/statistics-input-sewage-excreta-slurge-interface"; +import { isInputPeriodCurrent } from "@/entities/statistics/model/input/statistics-sewage-supply-rate-input-interface"; +import type { StatisticsInputSubmitInfoFormData } from "@/entities/statistics/model/statistics-input-submit-info-schema"; +import type { ApiResponse, cancelSubmitRequest, ImrStatusResponse, SewerageStatusInfo, Sgg } from "@/entities/statistics/model/statistics-interface"; +import { LoadingWithAnimation, Tabs, TabsContent, TabsList, TabsTrigger } from "@common/components"; + +import { getUserInfo } from "../../../../../../packages/common/components/src/api"; + +import SubmitDailog from "./SubmitDailog"; import AddArticleButton from "@/components/button/AddArticleButton"; import CancelSubmitButton from "@/components/button/CancelSubmitButton"; @@ -24,12 +52,10 @@ import SaveButton from "@/components/button/SaveButton"; import SubmitButton from "@/components/button/SumitButton"; import VerificationResultButton from "@/components/button/VerificationResultButton"; import DataGrid from "@/components/module/DataGrid"; -import { toExcelExportSearchContextFromSearchForm } from "@/components/util/gridExcelExport"; import { openVerificationResultDialogIfNeeded } from "@/components/module/post-submit-verification-results"; import SearchForm from "@/components/module/SearchForm"; import { VerificationResultDialog } from "@/components/module/VerificationResultDialog"; import { VerificationResultHistoryDialog } from "@/components/module/VerificationResultHistoryDialog"; -import SubmitDailog from "./SubmitDailog"; import type { CellEditedCallback, CellStyleCallback, @@ -40,49 +66,25 @@ import type { ColumnInfo, } from "@/components/type/DataGrid.type"; import type { SearchFormValues } from "@/components/type/SearchForm.type"; +import { doList } from "@/components/util/column/input/DoList"; import { - DigestorOperatingStatusInpColumn, DIGESTOR_OPERATING_STATUS_EN_YN_FIELD, + DigestorOperatingStatusInpColumn, isDigestorOperatingRowDisabled, } from "@/components/util/column/input/sewageExcretaSlurge/DigestorOperatingStatusInpColumn"; import { ExcretaSlurgeProcessingStatusInpColumn } from "@/components/util/column/input/sewageExcretaSlurge/ExcretaSlurgeProcessingStatusInpColumn"; import { SewageSlurgeProcessingFacStatusInpColumn } from "@/components/util/column/input/sewageExcretaSlurge/SewageSlurgeProcessingFacStatusInpColumn"; import { SlurgeProcessingFacStatusInpColumn } from "@/components/util/column/input/sewageExcretaSlurge/SlurgeProcessingFacStatusInpColumn"; -import { doList } from "@/components/util/column/input/DoList"; -import { toGridRows } from "@/components/util/grid/gridFunction"; import { fetchColumnGuidesRecord } from "@/components/util/grid/columnGuides"; -import { useTabStore } from "@/store/tab-store"; +import { toGridRows } from "@/components/util/grid/gridFunction"; +import { toExcelExportSearchContextFromSearchForm } from "@/components/util/gridExcelExport"; import { patchFooterVerificationByTab, patchVerificationFailedByTab, } from "@/components/util/input/verification-failed-flag"; import type { VerificationResultLikeMap } from "@/components/util/input/verification-result-display"; -import { statisticsInputSewageExcretaSlurgeApi } from "@/entities/statistics/api/input/statistics-input-sewage-excreta-slurge-service"; -import { statisticsInputSewSupplyRateApi } from "@/entities/statistics/api/input/statistics-input-sew-supply-rate-service"; -import { statisticsApi } from "@/entities/statistics/api/statistics-service"; -import { - SEWAGE_EXCRETA_DIGESTOR_OPERATING_STATS_CD, - SEWAGE_EXCRETA_EXCRETA_SLURGE_PROCESSING_STATS_CD, - SEWAGE_EXCRETA_SEWAGE_SLURGE_FAC_STATUS_STATS_CD, - SEWAGE_EXCRETA_SLURGE_PROCESSING_FAC_STATUS_STATS_CD, -} from "@/entities/statistics/model/input/statistics-input-sewage-excreta-slurge-interface"; -import type { - SewageExcretaSlurgeRequestParams, - DigestorOperatingStatusSaveItem, - ExcretaSlurgeProcessingStatusSaveItem, - SewageExcretaSlurgeVerificationResult, - SewageSlurgeProcessingFacStatusSaveItem, - SlurgeProcessingFacStatusSaveItem, -} from "@/entities/statistics/model/input/statistics-input-sewage-excreta-slurge-interface"; -import { isInputPeriodCurrent } from "@/entities/statistics/model/input/statistics-sewage-supply-rate-input-interface"; -import type { ApiResponse, cancelSubmitRequest, ImrStatusResponse, SewerageStatusInfo, Sgg } from "@/entities/statistics/model/statistics-interface"; -import type { StatisticsInputSubmitInfoFormData } from "@/entities/statistics/model/statistics-input-submit-info-schema"; -import { useAlertStore, useGlobalProgressStore, useStatisticsInputToolbarGroupGate } from "@/shared/lib"; -import { STATISTICS_INPUT_URL_PATH } from "@/shared/lib/stats-cd-input-navigation"; -import { useStatisticsInputPendingNavigation } from "@/shared/lib/use-statistics-input-pending-navigation"; -import { ConfirmDialog } from "@/shared/ui/confirm-dialog"; import { useAdminStore } from "@/store/admin-store"; -import { getUserInfo } from "../../../../../../packages/common/components/src/api"; +import { useTabStore } from "@/store/tab-store"; type GridRowWithVerification = Record & { verificationResult?: SewageExcretaSlurgeVerificationResult; diff --git a/apps/st/src/components/statistics/input/SewagePipeInp.tsx b/apps/st/src/components/statistics/input/SewagePipeInp.tsx index 1575f2912..f5e5725a7 100644 --- a/apps/st/src/components/statistics/input/SewagePipeInp.tsx +++ b/apps/st/src/components/statistics/input/SewagePipeInp.tsx @@ -53,11 +53,10 @@ import SaveButton from "@/components/button/SaveButton"; import SubmitButton from "@/components/button/SumitButton"; import VerificationResultButton from "@/components/button/VerificationResultButton"; import DataGrid from "@/components/module/DataGrid"; -import { toExcelExportSearchContextFromSearchForm } from "@/components/util/gridExcelExport"; import GridTopActionButton from "@/components/module/GridTopActionButton"; +import { openVerificationResultDialogIfNeeded } from "@/components/module/post-submit-verification-results"; import SearchForm from "@/components/module/SearchForm"; import SplitDataGrid from "@/components/module/SplitDataGrid"; -import { openVerificationResultDialogIfNeeded } from "@/components/module/post-submit-verification-results"; import { VerificationResultDialog } from "@/components/module/VerificationResultDialog"; import { VerificationResultHistoryDialog } from "@/components/module/VerificationResultHistoryDialog"; import type { ColumnConfig, ColumnInfo, ColumnInfoList, ColumnLayoutItem } from "@/components/type/DataGrid.type"; @@ -69,8 +68,9 @@ import { PipeDiameterStatusInpColumn } from "@/components/util/column/input/sewa import { PipeTypeStatusInpColumn } from "@/components/util/column/input/sewagePipe/PipeTypeStatusInpColumn"; import { RegionalFactStatusInpColumn } from "@/components/util/column/input/sewagePipe/RegionalFactStatusInpColumn"; import { SewagePipeInpColumnInfoList } from "@/components/util/column/input/sewagePipe/SewagePipeInpColumn"; -import { toGridRows } from "@/components/util/grid/gridFunction"; import { fetchColumnGuidesRecord } from "@/components/util/grid/columnGuides"; +import { toGridRows } from "@/components/util/grid/gridFunction"; +import { toExcelExportSearchContextFromSearchForm } from "@/components/util/gridExcelExport"; import { patchFooterVerificationByTab, patchVerificationFailedByTab, diff --git a/apps/st/src/components/statistics/input/SewagePipeMaintainInp.tsx b/apps/st/src/components/statistics/input/SewagePipeMaintainInp.tsx index 22843eeec..31b96d06c 100644 --- a/apps/st/src/components/statistics/input/SewagePipeMaintainInp.tsx +++ b/apps/st/src/components/statistics/input/SewagePipeMaintainInp.tsx @@ -3,11 +3,11 @@ import { useEffect, useLayoutEffect, useMemo, useRef, useState } from "react"; import { useConfirm } from "@frontend-opensource/use-react-hooks"; import { useAlertStore, useGlobalProgressStore, useStatisticsInputToolbarGroupGate } from "@/shared/lib"; -import { ConfirmDialog } from "@/shared/ui/confirm-dialog"; import { STATISTICS_INPUT_URL_PATH, verificationSearchToFormValues, } from "@/shared/lib/stats-cd-input-navigation"; +import { ConfirmDialog } from "@/shared/ui/confirm-dialog"; import { statisticsInputSewSupplyRateApi } from "@/entities/statistics/api/input/statistics-input-sew-supply-rate-service"; import { sewagePipeMaintainApiService } from "@/entities/statistics/api/input/statistics-input-sewage-pipe-maintain-service"; import { statisticsApi } from "@/entities/statistics/api/statistics-service"; @@ -46,9 +46,8 @@ import SaveButton from "@/components/button/SaveButton"; import SubmitButton from "@/components/button/SumitButton"; import VerificationResultButton from "@/components/button/VerificationResultButton"; import DataGrid from "@/components/module/DataGrid"; -import { toExcelExportSearchContextFromSearchForm } from "@/components/util/gridExcelExport"; -import SearchForm from "@/components/module/SearchForm"; import { openVerificationResultDialogIfNeeded } from "@/components/module/post-submit-verification-results"; +import SearchForm from "@/components/module/SearchForm"; import { VerificationResultDialog } from "@/components/module/VerificationResultDialog"; import { VerificationResultHistoryDialog } from "@/components/module/VerificationResultHistoryDialog"; import type { ColumnInfo } from "@/components/type/DataGrid.type"; @@ -56,8 +55,9 @@ import type { SearchFormValues } from "@/components/type/SearchForm.type"; import { doList } from "@/components/util/column/input/DoList"; import { PipeDredgingStatusInpColumn } from "@/components/util/column/input/sewagePipeMaintain/PipeDredgingStatusInpColumn"; import { RepairStatusInpColumn } from "@/components/util/column/input/sewagePipeMaintain/RepairStatusInpColumn"; -import { toGridRows } from "@/components/util/grid/gridFunction"; import { fetchColumnGuidesRecord } from "@/components/util/grid/columnGuides"; +import { toGridRows } from "@/components/util/grid/gridFunction"; +import { toExcelExportSearchContextFromSearchForm } from "@/components/util/gridExcelExport"; import { patchFooterVerificationByTab, patchVerificationFailedByTab, diff --git a/apps/st/src/components/statistics/input/SewageReservoirPumpInp.tsx b/apps/st/src/components/statistics/input/SewageReservoirPumpInp.tsx index ccf89d9cf..74d956d76 100644 --- a/apps/st/src/components/statistics/input/SewageReservoirPumpInp.tsx +++ b/apps/st/src/components/statistics/input/SewageReservoirPumpInp.tsx @@ -1,21 +1,49 @@ import { + type Dispatch, + type SetStateAction, useCallback, useEffect, useMemo, useRef, useState, - type Dispatch, - type SetStateAction, } from "react"; - import { flushSync } from "react-dom"; import { useConfirm } from "@frontend-opensource/use-react-hooks"; - import { ValueType } from "realgrid"; import type { RealGridReact } from "realgrid-react"; + +import { useAlertStore, useGlobalProgressStore, useStatisticsInputToolbarGroupGate } from "@/shared/lib"; +import { STATISTICS_INPUT_URL_PATH } from "@/shared/lib/stats-cd-input-navigation"; +import { useStatisticsInputPendingNavigation } from "@/shared/lib/use-statistics-input-pending-navigation"; +import { ConfirmDialog } from "@/shared/ui/confirm-dialog"; +import { statisticsInputSewSupplyRateApi } from "@/entities/statistics/api/input/statistics-input-sew-supply-rate-service"; +import { statisticsInputSewageReservoirPumpApi } from "@/entities/statistics/api/input/statistics-input-sewage-reservoir-pump-service"; +import { statisticsApi } from "@/entities/statistics/api/statistics-service"; +import { + type RainfallPumpStationItem, + type RainfallPumpStationSaveItem, + SEWAGE_RESERVOIR_STATS_CD, + type SewageReservoirItem, + type SewageReservoirRequestParams, + type SewageReservoirSaveItem, + type SewageReservoirVerificationResult, +} from "@/entities/statistics/model/input/statistics-input-sewage-reservoir-pump-interface"; +import { isInputPeriodCurrent } from "@/entities/statistics/model/input/statistics-sewage-supply-rate-input-interface"; +import type { StatisticsInputSubmitInfoFormData } from "@/entities/statistics/model/statistics-input-submit-info-schema"; +import type { + ApiResponse, + cancelSubmitRequest, + ImrStatusResponse, + SewerageStatusInfo, + Sgg, +} from "@/entities/statistics/model/statistics-interface"; import { LoadingWithAnimation, Tabs, TabsContent, TabsList, TabsTrigger } from "@common/components"; +import { getUserInfo } from "../../../../../../packages/common/components/src/api"; + +import SubmitDailog from "./SubmitDailog"; + import AddArticleButton from "@/components/button/AddArticleButton"; import CancelSubmitButton from "@/components/button/CancelSubmitButton"; import DeleteArticleButton from "@/components/button/DeleteArticleButton"; @@ -25,13 +53,10 @@ import SaveButton from "@/components/button/SaveButton"; import SubmitButton from "@/components/button/SumitButton"; import VerificationResultButton from "@/components/button/VerificationResultButton"; import DataGrid from "@/components/module/DataGrid"; -import { toExcelExportSearchContextFromSearchForm } from "@/components/util/gridExcelExport"; import { openVerificationResultDialogIfNeeded } from "@/components/module/post-submit-verification-results"; import SearchForm from "@/components/module/SearchForm"; import { VerificationResultDialog } from "@/components/module/VerificationResultDialog"; import { VerificationResultHistoryDialog } from "@/components/module/VerificationResultHistoryDialog"; -import SubmitDailog from "./SubmitDailog"; -import type { SearchFormValues } from "@/components/type/SearchForm.type"; import type { CellStyleCallbackParams, CellTooltipCallbackParams, @@ -39,50 +64,25 @@ import type { ColumnInfo, ColumnInfoList, } from "@/components/type/DataGrid.type"; +import type { SearchFormValues } from "@/components/type/SearchForm.type"; import { doList } from "@/components/util/column/input/DoList"; import { RainfallPumpStationInpColumn } from "@/components/util/column/input/sewageReservoirPump/RainfallPumpStationInpColumn"; import { SewageReservoirInpColumn } from "@/components/util/column/input/sewageReservoirPump/SewageReservoirInpColumn"; -import { toGridRows } from "@/components/util/grid/gridFunction"; import { fetchColumnGuidesRecord } from "@/components/util/grid/columnGuides"; -import { useTabStore } from "@/store/tab-store"; -import { - patchFooterVerificationByTab, - patchVerificationFailedByTab, -} from "@/components/util/input/verification-failed-flag"; -import type { VerificationResultLikeMap } from "@/components/util/input/verification-result-display"; +import { toGridRows } from "@/components/util/grid/gridFunction"; import { formatCompactYmdForGrid, normalizeOxYnValue, toCompactYmdOrNull, } from "@/components/util/grid/ymdFormat"; -import { statisticsInputSewageReservoirPumpApi } from "@/entities/statistics/api/input/statistics-input-sewage-reservoir-pump-service"; -import { statisticsInputSewSupplyRateApi } from "@/entities/statistics/api/input/statistics-input-sew-supply-rate-service"; -import { statisticsApi } from "@/entities/statistics/api/statistics-service"; -import { isInputPeriodCurrent } from "@/entities/statistics/model/input/statistics-sewage-supply-rate-input-interface"; +import { toExcelExportSearchContextFromSearchForm } from "@/components/util/gridExcelExport"; import { - SEWAGE_RESERVOIR_STATS_CD, - type SewageReservoirItem, - type SewageReservoirRequestParams, - type SewageReservoirSaveItem, - type RainfallPumpStationItem, - type RainfallPumpStationSaveItem, - type SewageReservoirVerificationResult, -} from "@/entities/statistics/model/input/statistics-input-sewage-reservoir-pump-interface"; -import type { StatisticsInputSubmitInfoFormData } from "@/entities/statistics/model/statistics-input-submit-info-schema"; -import type { - ApiResponse, - cancelSubmitRequest, - ImrStatusResponse, - Sgg, - SewerageStatusInfo, -} from "@/entities/statistics/model/statistics-interface"; -import { useAlertStore, useGlobalProgressStore, useStatisticsInputToolbarGroupGate } from "@/shared/lib"; -import { STATISTICS_INPUT_URL_PATH } from "@/shared/lib/stats-cd-input-navigation"; -import { useStatisticsInputPendingNavigation } from "@/shared/lib/use-statistics-input-pending-navigation"; -import { ConfirmDialog } from "@/shared/ui/confirm-dialog"; + patchFooterVerificationByTab, + patchVerificationFailedByTab, +} from "@/components/util/input/verification-failed-flag"; +import type { VerificationResultLikeMap } from "@/components/util/input/verification-result-display"; import { useAdminStore } from "@/store/admin-store"; - -import { getUserInfo } from "../../../../../../packages/common/components/src/api"; +import { useTabStore } from "@/store/tab-store"; const SewageReservoirPumpInpTabList = [ SewageReservoirInpColumn, diff --git a/apps/st/src/components/statistics/input/SewerageFinanceInp.tsx b/apps/st/src/components/statistics/input/SewerageFinanceInp.tsx index b9b4b38b8..e3c4d7ab7 100644 --- a/apps/st/src/components/statistics/input/SewerageFinanceInp.tsx +++ b/apps/st/src/components/statistics/input/SewerageFinanceInp.tsx @@ -48,7 +48,6 @@ import SaveButton from "@/components/button/SaveButton"; import SubmitButton from "@/components/button/SumitButton"; import VerificationResultButton from "@/components/button/VerificationResultButton"; import DataGrid from "@/components/module/DataGrid"; -import { toExcelExportSearchContextFromSearchForm } from "@/components/util/gridExcelExport"; import { openVerificationResultDialogIfNeeded } from "@/components/module/post-submit-verification-results"; import SearchForm from "@/components/module/SearchForm"; import { VerificationResultDialog } from "@/components/module/VerificationResultDialog"; @@ -60,15 +59,16 @@ import { CauserBurdenInpColumn } from "@/components/util/column/input/sewerageFi import { SewerageChargeInpColumn } from "@/components/util/column/input/sewerageFinance/SewerageChargeInpColumn"; import { SewerageFinanceSettleInpColumn } from "@/components/util/column/input/sewerageFinance/SewerageFinanceSettleInpColumn"; import { SewerageUsageFeeInpColumn } from "@/components/util/column/input/sewerageFinance/SewerageUsageFeeInpColumn"; -import { toGridRows } from "@/components/util/grid/gridFunction"; import { fetchColumnGuidesRecord } from "@/components/util/grid/columnGuides"; -import { useTabStore } from "@/store/tab-store"; +import { toGridRows } from "@/components/util/grid/gridFunction"; +import { toExcelExportSearchContextFromSearchForm } from "@/components/util/gridExcelExport"; import { patchFooterVerificationByTab, patchVerificationFailedByTab, } from "@/components/util/input/verification-failed-flag"; import type { VerificationResultLikeMap } from "@/components/util/input/verification-result-display"; import { useAdminStore } from "@/store/admin-store"; +import { useTabStore } from "@/store/tab-store"; const SewerageFinanceInpTabList = [ SewerageFinanceSettleInpColumn, diff --git a/apps/st/src/components/statistics/input/SeweragePenetrationRateInp.tsx b/apps/st/src/components/statistics/input/SeweragePenetrationRateInp.tsx index cd24f5a32..b4b2351f5 100644 --- a/apps/st/src/components/statistics/input/SeweragePenetrationRateInp.tsx +++ b/apps/st/src/components/statistics/input/SeweragePenetrationRateInp.tsx @@ -40,9 +40,8 @@ import SubmitButton from "@/components/button/SumitButton"; import VerificationResultButton from "@/components/button/VerificationResultButton"; // import { DataGrid } from "@rsone/components"; import DataGrid from "@/components/module/DataGrid"; -import { toExcelExportSearchContextFromSearchForm } from "@/components/util/gridExcelExport"; -import SearchForm from "@/components/module/SearchForm"; import { openVerificationResultDialogIfNeeded } from "@/components/module/post-submit-verification-results"; +import SearchForm from "@/components/module/SearchForm"; import { VerificationResultDialog } from "@/components/module/VerificationResultDialog"; import { VerificationResultHistoryDialog } from "@/components/module/VerificationResultHistoryDialog"; import type { SearchFormValues } from "@/components/type/SearchForm.type"; @@ -50,6 +49,7 @@ import { doList } from "@/components/util/column/input/DoList"; import { SeweragePenetrationRateInpColumn } from "@/components/util/column/input/SeweragePenetrationRateInpColumn"; import { getFooterSummary } from "@/components/util/grid/footerSummary"; import { toGridRows } from "@/components/util/grid/gridFunction"; +import { toExcelExportSearchContextFromSearchForm } from "@/components/util/gridExcelExport"; import { isVerificationFailedFromCommonInfo } from "@/components/util/input/verification-failed-flag"; import type { VerificationResultLikeMap } from "@/components/util/input/verification-result-display"; import { useAdminStore } from "@/store/admin-store"; diff --git a/apps/st/src/components/statistics/input/SewerageServiceLevelInp.tsx b/apps/st/src/components/statistics/input/SewerageServiceLevelInp.tsx index ed22ff08c..2e7903860 100644 --- a/apps/st/src/components/statistics/input/SewerageServiceLevelInp.tsx +++ b/apps/st/src/components/statistics/input/SewerageServiceLevelInp.tsx @@ -2,39 +2,13 @@ import { useEffect, useMemo, useRef, useState } from "react"; import { useConfirm } from "@frontend-opensource/use-react-hooks"; -import { LoadingWithAnimation, Tabs, TabsContent, TabsList, TabsTrigger } from "@common/components"; - -import { getUserInfo } from "../../../../../../packages/common/components/src/api"; - -import CancelSubmitButton from "@/components/button/CancelSubmitButton"; -import LastYearDataButton from "@/components/button/LastYearDataButton"; -import NotApplicableCheckButton from "@/components/button/NotApplicableCheckButton"; -import SaveButton from "@/components/button/SaveButton"; -import SubmitButton from "@/components/button/SumitButton"; -import VerificationResultButton from "@/components/button/VerificationResultButton"; -import DataGrid from "@/components/module/DataGrid"; -import { toExcelExportSearchContextFromSearchForm } from "@/components/util/gridExcelExport"; -import { openVerificationResultDialogIfNeeded } from "@/components/module/post-submit-verification-results"; -import SearchForm from "@/components/module/SearchForm"; -import { VerificationResultDialog } from "@/components/module/VerificationResultDialog"; -import { VerificationResultHistoryDialog } from "@/components/module/VerificationResultHistoryDialog"; -import type { ColumnConfig, ColumnInfo } from "@/components/type/DataGrid.type"; -import type { SearchFormValues } from "@/components/type/SearchForm.type"; -import { doList } from "@/components/util/column/input/DoList"; -import { ComplaintInpColumn } from "@/components/util/column/input/sewerageServiceLevel/ComplaintInpColumn"; -import { ResidentFriendlyFactInpColumn } from "@/components/util/column/input/sewerageServiceLevel/ResidentFriendlyFactInpColumn"; -import { toGridRows } from "@/components/util/grid/gridFunction"; -import { fetchColumnGuidesRecord } from "@/components/util/grid/columnGuides"; -import { useTabStore } from "@/store/tab-store"; -import { - patchFooterVerificationByTab, - patchVerificationFailedByTab, -} from "@/components/util/input/verification-failed-flag"; -import type { VerificationResultLikeMap } from "@/components/util/input/verification-result-display"; -import { statisticsInputSewerageServiceLevelApi } from "@/entities/statistics/api/input/statistics-input-sewerage-service-level-service"; +import { useAlertStore, useGlobalProgressStore, useStatisticsInputToolbarGroupGate } from "@/shared/lib"; +import { STATISTICS_INPUT_URL_PATH } from "@/shared/lib/stats-cd-input-navigation"; +import { useStatisticsInputPendingNavigation } from "@/shared/lib/use-statistics-input-pending-navigation"; +import { ConfirmDialog } from "@/shared/ui/confirm-dialog"; import { statisticsInputSewSupplyRateApi } from "@/entities/statistics/api/input/statistics-input-sew-supply-rate-service"; +import { statisticsInputSewerageServiceLevelApi } from "@/entities/statistics/api/input/statistics-input-sewerage-service-level-service"; import { statisticsApi } from "@/entities/statistics/api/statistics-service"; -import { isInputPeriodCurrent } from "@/entities/statistics/model/input/statistics-sewage-supply-rate-input-interface"; import { SEWERAGE_SERVICE_LEVEL_COMPLAINT_STATS_CD, SEWERAGE_SERVICE_LEVEL_RESIDENT_FRIENDLY_FACT_STATS_CD, @@ -45,20 +19,46 @@ import { type SewerageServiceLevelResidentFriendlyFactSaveItem, type SewerageServiceLevelVerificationResult, } from "@/entities/statistics/model/input/statistics-input-sewerage-service-level-interface"; +import { isInputPeriodCurrent } from "@/entities/statistics/model/input/statistics-sewage-supply-rate-input-interface"; +import type { StatisticsInputSubmitInfoFormData } from "@/entities/statistics/model/statistics-input-submit-info-schema"; import type { - SewerageStatusInfo, cancelSubmitRequest, ImrStatusResponse, + SewerageStatusInfo, } from "@/entities/statistics/model/statistics-interface"; -import type { StatisticsInputSubmitInfoFormData } from "@/entities/statistics/model/statistics-input-submit-info-schema"; -import { useAlertStore, useGlobalProgressStore, useStatisticsInputToolbarGroupGate } from "@/shared/lib"; -import { STATISTICS_INPUT_URL_PATH } from "@/shared/lib/stats-cd-input-navigation"; -import { useStatisticsInputPendingNavigation } from "@/shared/lib/use-statistics-input-pending-navigation"; -import { ConfirmDialog } from "@/shared/ui/confirm-dialog"; -import { useAdminStore } from "@/store/admin-store"; +import { LoadingWithAnimation, Tabs, TabsContent, TabsList, TabsTrigger } from "@common/components"; + +import { getUserInfo } from "../../../../../../packages/common/components/src/api"; import SubmitDailog from "./SubmitDailog"; +import CancelSubmitButton from "@/components/button/CancelSubmitButton"; +import LastYearDataButton from "@/components/button/LastYearDataButton"; +import NotApplicableCheckButton from "@/components/button/NotApplicableCheckButton"; +import SaveButton from "@/components/button/SaveButton"; +import SubmitButton from "@/components/button/SumitButton"; +import VerificationResultButton from "@/components/button/VerificationResultButton"; +import DataGrid from "@/components/module/DataGrid"; +import { openVerificationResultDialogIfNeeded } from "@/components/module/post-submit-verification-results"; +import SearchForm from "@/components/module/SearchForm"; +import { VerificationResultDialog } from "@/components/module/VerificationResultDialog"; +import { VerificationResultHistoryDialog } from "@/components/module/VerificationResultHistoryDialog"; +import type { ColumnConfig, ColumnInfo } from "@/components/type/DataGrid.type"; +import type { SearchFormValues } from "@/components/type/SearchForm.type"; +import { doList } from "@/components/util/column/input/DoList"; +import { ComplaintInpColumn } from "@/components/util/column/input/sewerageServiceLevel/ComplaintInpColumn"; +import { ResidentFriendlyFactInpColumn } from "@/components/util/column/input/sewerageServiceLevel/ResidentFriendlyFactInpColumn"; +import { fetchColumnGuidesRecord } from "@/components/util/grid/columnGuides"; +import { toGridRows } from "@/components/util/grid/gridFunction"; +import { toExcelExportSearchContextFromSearchForm } from "@/components/util/gridExcelExport"; +import { + patchFooterVerificationByTab, + patchVerificationFailedByTab, +} from "@/components/util/input/verification-failed-flag"; +import type { VerificationResultLikeMap } from "@/components/util/input/verification-result-display"; +import { useAdminStore } from "@/store/admin-store"; +import { useTabStore } from "@/store/tab-store"; + const SewerageServiceLevelInpTabList = [ ComplaintInpColumn, ResidentFriendlyFactInpColumn, diff --git a/apps/st/src/components/statistics/input/StatisticsReviewHistory.tsx b/apps/st/src/components/statistics/input/StatisticsReviewHistory.tsx index e0a0da381..c6a6b9412 100644 --- a/apps/st/src/components/statistics/input/StatisticsReviewHistory.tsx +++ b/apps/st/src/components/statistics/input/StatisticsReviewHistory.tsx @@ -1,13 +1,14 @@ import { useState } from "react"; +import { useAlertStore } from "@/shared/lib"; +import { statisticsApi } from "@/entities/statistics/api/statistics-service"; +import { LoadingWithAnimation } from "@common/components"; + import DataGrid from "@/components/module/DataGrid"; import SearchForm from "@/components/module/SearchForm"; import type { ColumnConfig } from "@/components/type/DataGrid.type"; import type { SearchFormValues } from "@/components/type/SearchForm.type"; import { toGridRows } from "@/components/util/grid/gridFunction"; -import { statisticsApi } from "@/entities/statistics/api/statistics-service"; -import { useAlertStore } from "@/shared/lib"; -import { LoadingWithAnimation } from "@common/components"; const StatisticsReviewHistory = () => { const { setMessage: alert } = useAlertStore((state) => state); diff --git a/apps/st/src/components/statistics/input/StatsInputStatusInp.tsx b/apps/st/src/components/statistics/input/StatsInputStatusInp.tsx index 2cf6f2261..76cbeb014 100644 --- a/apps/st/src/components/statistics/input/StatsInputStatusInp.tsx +++ b/apps/st/src/components/statistics/input/StatsInputStatusInp.tsx @@ -8,26 +8,27 @@ import { useActiveTabRegAuthorityAllowed, useAlertStore } from "@/shared/lib"; import { statisticsInputSewSupplyRateApi } from "@/entities/statistics/api/input/statistics-input-sew-supply-rate-service"; import { StatisticsInputStatusApi } from "@/entities/statistics/api/input/statistics-input-status-service"; import { statisticsApi } from "@/entities/statistics/api/statistics-service"; -import { - isInputPeriodCurrent, - type CheckInputPeriodItem, -} from "@/entities/statistics/model/input/statistics-sewage-supply-rate-input-interface"; -import type { StatsInputStatusApproveItem } from "@/entities/statistics/model/statistics-interface"; import type { StatsInputStatusListApiResponse, StatsInputStatusListRequestParams, } from "@/entities/statistics/model/input/statistics-input-status-interface"; +import { + type CheckInputPeriodItem, + isInputPeriodCurrent, +} from "@/entities/statistics/model/input/statistics-sewage-supply-rate-input-interface"; +import type { StatsInputStatusApproveItem } from "@/entities/statistics/model/statistics-interface"; +import { LoadingWithAnimation } from "@common/components"; + import { getUserInfo } from "../../../../../../packages/common/components/src/api"; -import { LoadingWithAnimation } from "@common/components"; import ApproveButton from "@/components/button/ApproveButton"; import DataGrid from "@/components/module/DataGrid"; -import type { DataCellClickCallbackParams } from "@/components/type/DataGrid.type"; import { ExceptionProcessingHistoryDialog, type ExceptionProcessingHistoryQueryContext, } from "@/components/module/ExceptionProcessingHistoryDialog"; import SearchForm from "@/components/module/SearchForm"; +import type { DataCellClickCallbackParams } from "@/components/type/DataGrid.type"; import type { SearchFormValues } from "@/components/type/SearchForm.type"; import { doList } from "@/components/util/column/input/DoList"; import { StatsInputStatusInpColumn } from "@/components/util/column/input/StatsInputStatusInpColumn"; diff --git a/apps/st/src/components/statistics/input/SubmitDailog.tsx b/apps/st/src/components/statistics/input/SubmitDailog.tsx index 9e0ab4e2c..2dd0b35a5 100644 --- a/apps/st/src/components/statistics/input/SubmitDailog.tsx +++ b/apps/st/src/components/statistics/input/SubmitDailog.tsx @@ -1,11 +1,12 @@ "use client"; import { useEffect } from "react"; -import { useForm, Controller } from "react-hook-form"; -import { zodResolver } from "@hookform/resolvers/zod"; -import { statisticsInputSubmitInfoSchema, type StatisticsInputSubmitInfoFormData } from "@/entities/statistics/model/statistics-input-submit-info-schema"; -import type { SewerageStatusInfo } from "@/entities/statistics/model/statistics-interface"; +import { Controller,useForm } from "react-hook-form"; +import { zodResolver } from "@hookform/resolvers/zod"; + +import { type StatisticsInputSubmitInfoFormData,statisticsInputSubmitInfoSchema } from "@/entities/statistics/model/statistics-input-submit-info-schema"; +import type { SewerageStatusInfo } from "@/entities/statistics/model/statistics-interface"; import { Button, Dialog, @@ -14,12 +15,12 @@ import { DialogHeader, DialogTitle, Input, + LoadingWithAnimation, Table, TableBody, TableCell, TableHead, TableRow, - LoadingWithAnimation, } from "@common/components"; /** 숫자만 추출 후 하이픈 포맷 (010-1234-5678, 02-123-4567 등) */ diff --git a/apps/st/src/components/statistics/input/WaterReuseInp.tsx b/apps/st/src/components/statistics/input/WaterReuseInp.tsx index af939808d..ad6e91999 100644 --- a/apps/st/src/components/statistics/input/WaterReuseInp.tsx +++ b/apps/st/src/components/statistics/input/WaterReuseInp.tsx @@ -1,19 +1,58 @@ import { + type Dispatch, + type SetStateAction, useCallback, useEffect, useMemo, useRef, useState, - type Dispatch, - type SetStateAction, } from "react"; +import { flushSync } from "react-dom"; import { useConfirm } from "@frontend-opensource/use-react-hooks"; - -import { LoadingWithAnimation, Tabs, TabsContent, TabsList, TabsTrigger } from "@common/components"; import { ValueType } from "realgrid"; import type { RealGridReact } from "realgrid-react"; -import { flushSync } from "react-dom"; + +import { useAlertStore, useGlobalProgressStore, useStatisticsInputToolbarGroupGate } from "@/shared/lib"; +import { STATISTICS_INPUT_URL_PATH } from "@/shared/lib/stats-cd-input-navigation"; +import { useStatisticsInputPendingNavigation } from "@/shared/lib/use-statistics-input-pending-navigation"; +import { ConfirmDialog } from "@/shared/ui/confirm-dialog"; +import { statisticsInputSewSupplyRateApi } from "@/entities/statistics/api/input/statistics-input-sew-supply-rate-service"; +import { statisticsInputWaterReuseApi } from "@/entities/statistics/api/input/statistics-input-water-reuse-service"; +import { statisticsApi } from "@/entities/statistics/api/statistics-service"; +import { + type PublicSewageTreatWaterReuseItem, + type PublicSewageTreatWaterReuseSaveItem, + type RainFallUtilFactStatusItem, + type RainFallUtilFactStatusSaveItem, + type RecycledWaterStatusItem, + type RecycledWaterStatusSaveItem, + type TreatWaterReuseBusinessApprStatusItem, + type TreatWaterReuseBusinessApprStatusSaveItem, + type TreatWaterReuseDesignConstStatusItem, + type TreatWaterReuseDesignConstStatusSaveItem, + WATER_REUSE_BUSINESS_APPR_STATS_CD, + WATER_REUSE_DESIGN_CONST_STATS_CD, + WATER_REUSE_PUBLIC_SEWAGE_TREAT_STATS_CD, + WATER_REUSE_RAINFALL_UTIL_FACT_STATS_CD, + WATER_REUSE_RECYCLED_WATER_STATS_CD, + type WaterReuseRequestParams, + type WaterReuseVerificationResult, +} from "@/entities/statistics/model/input/statistics-input-water-reuse-interface"; +import { isInputPeriodCurrent } from "@/entities/statistics/model/input/statistics-sewage-supply-rate-input-interface"; +import type { StatisticsInputSubmitInfoFormData } from "@/entities/statistics/model/statistics-input-submit-info-schema"; +import type { + ApiResponse, + cancelSubmitRequest, + ImrStatusResponse, + SewerageStatusInfo, + Sgg, +} from "@/entities/statistics/model/statistics-interface"; +import { LoadingWithAnimation, Tabs, TabsContent, TabsList, TabsTrigger } from "@common/components"; + +import { getUserInfo } from "../../../../../../packages/common/components/src/api"; + +import SubmitDailog from "./SubmitDailog"; import AddArticleButton from "@/components/button/AddArticleButton"; import CancelSubmitButton from "@/components/button/CancelSubmitButton"; @@ -25,7 +64,6 @@ import SubmitButton from "@/components/button/SumitButton"; import UpdateOperateDataButton from "@/components/button/UpdateOperateDataButton"; import VerificationResultButton from "@/components/button/VerificationResultButton"; import DataGrid from "@/components/module/DataGrid"; -import { toExcelExportSearchContextFromSearchForm } from "@/components/util/gridExcelExport"; import { openVerificationResultDialogIfNeeded } from "@/components/module/post-submit-verification-results"; import SearchForm from "@/components/module/SearchForm"; import { VerificationResultDialog } from "@/components/module/VerificationResultDialog"; @@ -38,55 +76,17 @@ import { RainFallUtilFactStatusInpColumn } from "@/components/util/column/input/ import { RecycledWaterStatusInpColumn } from "@/components/util/column/input/waterReuse/RecycledWaterStatusInpColumn"; import { TreatWaterReuseBusinessApprStatusInpColumn } from "@/components/util/column/input/waterReuse/TreatWaterReuseBusinessApprStatusInpColumn"; import { TreatWaterReuseDesignConstStatusInpColumn } from "@/components/util/column/input/waterReuse/TreatWaterReuseDesignConstStatusInpColumn"; -import { toGridRows } from "@/components/util/grid/gridFunction"; import { fetchColumnGuidesRecord } from "@/components/util/grid/columnGuides"; -import { useTabStore } from "@/store/tab-store"; +import { toGridRows } from "@/components/util/grid/gridFunction"; +import { formatCompactYmdForGrid, toCompactYmdOrNull } from "@/components/util/grid/ymdFormat"; +import { toExcelExportSearchContextFromSearchForm } from "@/components/util/gridExcelExport"; import { patchFooterVerificationByTab, patchVerificationFailedByTab, } from "@/components/util/input/verification-failed-flag"; import type { VerificationResultLikeMap } from "@/components/util/input/verification-result-display"; -import { formatCompactYmdForGrid, toCompactYmdOrNull } from "@/components/util/grid/ymdFormat"; -import { statisticsInputWaterReuseApi } from "@/entities/statistics/api/input/statistics-input-water-reuse-service"; -import { statisticsInputSewSupplyRateApi } from "@/entities/statistics/api/input/statistics-input-sew-supply-rate-service"; -import { statisticsApi } from "@/entities/statistics/api/statistics-service"; -import { isInputPeriodCurrent } from "@/entities/statistics/model/input/statistics-sewage-supply-rate-input-interface"; -import { - WATER_REUSE_BUSINESS_APPR_STATS_CD, - WATER_REUSE_DESIGN_CONST_STATS_CD, - WATER_REUSE_PUBLIC_SEWAGE_TREAT_STATS_CD, - WATER_REUSE_RAINFALL_UTIL_FACT_STATS_CD, - WATER_REUSE_RECYCLED_WATER_STATS_CD, - type PublicSewageTreatWaterReuseItem, - type PublicSewageTreatWaterReuseSaveItem, - type RainFallUtilFactStatusItem, - type RainFallUtilFactStatusSaveItem, - type RecycledWaterStatusItem, - type RecycledWaterStatusSaveItem, - type TreatWaterReuseBusinessApprStatusItem, - type TreatWaterReuseBusinessApprStatusSaveItem, - type TreatWaterReuseDesignConstStatusItem, - type TreatWaterReuseDesignConstStatusSaveItem, - type WaterReuseRequestParams, - type WaterReuseVerificationResult, -} from "@/entities/statistics/model/input/statistics-input-water-reuse-interface"; -import type { - ApiResponse, - ImrStatusResponse, - Sgg, - SewerageStatusInfo, - cancelSubmitRequest, -} from "@/entities/statistics/model/statistics-interface"; -import type { StatisticsInputSubmitInfoFormData } from "@/entities/statistics/model/statistics-input-submit-info-schema"; -import { useAlertStore, useGlobalProgressStore, useStatisticsInputToolbarGroupGate } from "@/shared/lib"; -import { STATISTICS_INPUT_URL_PATH } from "@/shared/lib/stats-cd-input-navigation"; -import { useStatisticsInputPendingNavigation } from "@/shared/lib/use-statistics-input-pending-navigation"; -import { ConfirmDialog } from "@/shared/ui/confirm-dialog"; import { useAdminStore } from "@/store/admin-store"; - -import { getUserInfo } from "../../../../../../packages/common/components/src/api"; - -import SubmitDailog from "./SubmitDailog"; +import { useTabStore } from "@/store/tab-store"; const WaterReuseInpTabList = [ PublicSewageTreatWaterReuseInpColumn, diff --git a/apps/st/src/components/statistics/management/AdmdstRenewalTab.tsx b/apps/st/src/components/statistics/management/AdmdstRenewalTab.tsx index 8e8aba373..3fb70d7d9 100644 --- a/apps/st/src/components/statistics/management/AdmdstRenewalTab.tsx +++ b/apps/st/src/components/statistics/management/AdmdstRenewalTab.tsx @@ -1,15 +1,15 @@ import { Button } from "@common/components"; -import DataGrid from "@/components/module/DataGrid"; -import type { ColumnInfo } from "@/components/type/DataGrid.type"; -import { - AdmdstRenewalReducedColumnConfig, - AdmdstRenewalAddedColumnConfig, -} from "@/components/util/column/management/AdmdstRenewalColumn"; -import { UpperCodeSelectDialog } from "@/components/statistics/management/UpperCodeSelectDialog"; +import DataGrid from "@/components/module/DataGrid"; import type { useAdmdstRenewalTab } from "@/components/statistics/management/hooks/useAdmdstRenewalTab"; import { asGridRowData, asGridRowSetter, fromGridRow } from "@/components/statistics/management/lib/gridCast"; import type { AdmdstRenewalAddedItem } from "@/components/statistics/management/types/population-tab-types"; +import { UpperCodeSelectDialog } from "@/components/statistics/management/UpperCodeSelectDialog"; +import type { ColumnInfo } from "@/components/type/DataGrid.type"; +import { + AdmdstRenewalAddedColumnConfig, + AdmdstRenewalReducedColumnConfig, +} from "@/components/util/column/management/AdmdstRenewalColumn"; const reducedColumnInfo: ColumnInfo = { columns: AdmdstRenewalReducedColumnConfig.columns ?? [], diff --git a/apps/st/src/components/statistics/management/DomesticPopulationTab.tsx b/apps/st/src/components/statistics/management/DomesticPopulationTab.tsx index 02803315d..7a1e243ce 100644 --- a/apps/st/src/components/statistics/management/DomesticPopulationTab.tsx +++ b/apps/st/src/components/statistics/management/DomesticPopulationTab.tsx @@ -1,17 +1,19 @@ -import { Button } from "@common/components"; +import { useRef } from "react"; + import type { RealGridReact } from "realgrid-react"; + +import type { DomesticPopulationItem } from "@/entities/statistics/model/ppltn/statistics-domestic-population-interface"; +import { Button } from "@common/components"; + import DataGrid from "@/components/module/DataGrid"; +import type { usePopulationMappingTab } from "@/components/statistics/management/hooks/usePopulationMappingTab"; +import { asGridRowData, asGridRowSetter, fromGridRow } from "@/components/statistics/management/lib/gridCast"; +import { UpperCodeSelectDialog } from "@/components/statistics/management/UpperCodeSelectDialog"; import type { ColumnInfo, GridViewWithEditCommit } from "@/components/type/DataGrid.type"; import { DomesticPopulationLeftColumnConfig, DomesticPopulationRightColumnConfig, } from "@/components/util/column/management/DomesticPopulationColumn"; -import { useRef } from "react"; - -import { UpperCodeSelectDialog } from "@/components/statistics/management/UpperCodeSelectDialog"; -import type { usePopulationMappingTab } from "@/components/statistics/management/hooks/usePopulationMappingTab"; -import { asGridRowData, asGridRowSetter, fromGridRow } from "@/components/statistics/management/lib/gridCast"; -import type { DomesticPopulationItem } from "@/entities/statistics/model/ppltn/statistics-domestic-population-interface"; const leftColumnInfo: ColumnInfo = { diff --git a/apps/st/src/components/statistics/management/ForeignPopulationTab.tsx b/apps/st/src/components/statistics/management/ForeignPopulationTab.tsx index c6c6e5895..af9b53b16 100644 --- a/apps/st/src/components/statistics/management/ForeignPopulationTab.tsx +++ b/apps/st/src/components/statistics/management/ForeignPopulationTab.tsx @@ -1,18 +1,20 @@ -import { Button } from "@common/components"; -import DataGrid from "@/components/module/DataGrid"; -import type { ColumnInfo, GridViewWithEditCommit } from "@/components/type/DataGrid.type"; import { useRef } from "react"; + import type { RealGridReact } from "realgrid-react"; + +import { Button } from "@common/components"; + +import DataGrid from "@/components/module/DataGrid"; +import type { usePopulationMappingTab } from "@/components/statistics/management/hooks/usePopulationMappingTab"; +import { asGridRowData, asGridRowSetter, fromGridRow } from "@/components/statistics/management/lib/gridCast"; +import type { ForeignPopulationItem } from "@/components/statistics/management/types/population-tab-types"; +import { UpperCodeSelectDialog } from "@/components/statistics/management/UpperCodeSelectDialog"; +import type { ColumnInfo, GridViewWithEditCommit } from "@/components/type/DataGrid.type"; import { ForeignPopulationLeftColumnConfig, ForeignPopulationRightColumnConfig, } from "@/components/util/column/management/ForeignPopulationColumn"; -import { UpperCodeSelectDialog } from "@/components/statistics/management/UpperCodeSelectDialog"; -import type { usePopulationMappingTab } from "@/components/statistics/management/hooks/usePopulationMappingTab"; -import { asGridRowData, asGridRowSetter, fromGridRow } from "@/components/statistics/management/lib/gridCast"; -import type { ForeignPopulationItem } from "@/components/statistics/management/types/population-tab-types"; - const leftColumnInfo: ColumnInfo = { columns: ForeignPopulationLeftColumnConfig.columns ?? [], columnLayout: ForeignPopulationLeftColumnConfig.columnLayout ?? [], diff --git a/apps/st/src/components/statistics/management/LogHistoryDetailDialog.tsx b/apps/st/src/components/statistics/management/LogHistoryDetailDialog.tsx index 46675c000..933ebda38 100644 --- a/apps/st/src/components/statistics/management/LogHistoryDetailDialog.tsx +++ b/apps/st/src/components/statistics/management/LogHistoryDetailDialog.tsx @@ -1,8 +1,12 @@ "use client"; import { useCallback, useEffect, useMemo, useState } from "react"; + import { GridFitStyle } from "realgrid"; +import { useAlertStore } from "@/shared/lib"; +import { statisticsApi } from "@/entities/statistics/api/statistics-service"; +import { UserApi } from "@/entities/user"; import { Button, Dialog, @@ -14,6 +18,8 @@ import { LoadingWithAnimation, } from "@common/components"; +import { LogHistoryDetailsNestedDialog } from "./LogHistoryDetailsNestedDialog"; + import DataGrid from "@/components/module/DataGrid"; import type { ColumnInfo, @@ -25,15 +31,10 @@ import { emptyLogHistoryDetailColumnInfo, LOG_DETAIL_DETAILS_FIELD, LOG_DETAIL_DETAILS_RAW_FIELD, - normalizeLogDetailList, type LogDetailVerificationItem, + normalizeLogDetailList, prepareLogDetailRowsForGrid, } from "@/components/util/column/management/LogHistoryDetailColumn"; -import { statisticsApi } from "@/entities/statistics/api/statistics-service"; -import { UserApi } from "@/entities/user"; -import { useAlertStore } from "@/shared/lib"; - -import { LogHistoryDetailsNestedDialog } from "./LogHistoryDetailsNestedDialog"; export interface LogHistoryDetailDialogProps { open: boolean; diff --git a/apps/st/src/components/statistics/management/NotEnteredStatus.tsx b/apps/st/src/components/statistics/management/NotEnteredStatus.tsx index 4a897589e..de5794261 100644 --- a/apps/st/src/components/statistics/management/NotEnteredStatus.tsx +++ b/apps/st/src/components/statistics/management/NotEnteredStatus.tsx @@ -5,8 +5,8 @@ import { GridFitStyle } from "realgrid"; import { useAlertStore, useUserStore } from "@/shared/lib"; import { statisticsApi } from "@/entities/statistics/api/statistics-service"; import type { - UnSubmitDataStatusItem, unSubmitDataRequest, + UnSubmitDataStatusItem, } from "@/entities/statistics/model/statistics-interface"; import { LoadingWithAnimation } from "@common/components"; diff --git a/apps/st/src/components/statistics/management/PopulationStatusChart.tsx b/apps/st/src/components/statistics/management/PopulationStatusChart.tsx index fa0f8ba5b..8a918533d 100644 --- a/apps/st/src/components/statistics/management/PopulationStatusChart.tsx +++ b/apps/st/src/components/statistics/management/PopulationStatusChart.tsx @@ -1,18 +1,19 @@ import { Chart } from "react-chartjs-2"; + +import type { ChartOptions } from "chart.js"; import { - Chart as ChartJS, - CategoryScale, - LinearScale, BarController, BarElement, + CategoryScale, + Chart as ChartJS, + Legend, + LinearScale, LineController, LineElement, PointElement, Title, Tooltip, - Legend, } from "chart.js"; -import type { ChartOptions } from "chart.js"; ChartJS.register( CategoryScale, diff --git a/apps/st/src/components/statistics/management/PopulationStatusTab.tsx b/apps/st/src/components/statistics/management/PopulationStatusTab.tsx index f84103d4d..fc40547ea 100644 --- a/apps/st/src/components/statistics/management/PopulationStatusTab.tsx +++ b/apps/st/src/components/statistics/management/PopulationStatusTab.tsx @@ -1,9 +1,8 @@ import DataGrid from "@/components/module/DataGrid"; -import type { ColumnInfo } from "@/components/type/DataGrid.type"; -import { PopulationStatusColumnConfig } from "@/components/util/column/management/PopulationStatusColumn"; - import type { usePopulationStatusTab } from "@/components/statistics/management/hooks/usePopulationStatusTab"; import { asGridRowData, asGridRowSetter } from "@/components/statistics/management/lib/gridCast"; +import type { ColumnInfo } from "@/components/type/DataGrid.type"; +import { PopulationStatusColumnConfig } from "@/components/util/column/management/PopulationStatusColumn"; const columnInfo: ColumnInfo = { columns: PopulationStatusColumnConfig.columns ?? [], diff --git a/apps/st/src/components/statistics/management/PopulationVizTab.tsx b/apps/st/src/components/statistics/management/PopulationVizTab.tsx index 0792148ec..fcb461a3e 100644 --- a/apps/st/src/components/statistics/management/PopulationVizTab.tsx +++ b/apps/st/src/components/statistics/management/PopulationVizTab.tsx @@ -1,4 +1,5 @@ import PopulationStatusChart from "./PopulationStatusChart"; + import type { usePopulationVizTab } from "@/components/statistics/management/hooks/usePopulationVizTab"; type Props = { diff --git a/apps/st/src/components/statistics/management/StatisticsPopulationManagement.tsx b/apps/st/src/components/statistics/management/StatisticsPopulationManagement.tsx index c33feff95..d2005b437 100644 --- a/apps/st/src/components/statistics/management/StatisticsPopulationManagement.tsx +++ b/apps/st/src/components/statistics/management/StatisticsPopulationManagement.tsx @@ -1,23 +1,22 @@ import { useRef, useState } from "react"; -import { Button, LoadingWithAnimation, Tabs, TabsContent, TabsList, TabsTrigger } from "@common/components"; -import SearchForm from "@/components/module/SearchForm"; -import type { SearchFormValues } from "@/components/type/SearchForm.type"; import { statisticsPpltnApi } from "@/entities/statistics/api/statistics-ppltn-service"; import type { DomesticPopulationItem } from "@/entities/statistics/model/ppltn/statistics-domestic-population-interface"; +import { Button, LoadingWithAnimation, Tabs, TabsContent, TabsList, TabsTrigger } from "@common/components"; -import { usePopulationMappingTab } from "@/components/statistics/management/hooks/usePopulationMappingTab"; -import { useAdmdstRenewalTab } from "@/components/statistics/management/hooks/useAdmdstRenewalTab"; -import { usePopulationStatusTab } from "@/components/statistics/management/hooks/usePopulationStatusTab"; -import { usePopulationVizTab } from "@/components/statistics/management/hooks/usePopulationVizTab"; - +import AdmdstRenewalTab from "./AdmdstRenewalTab"; import DomesticPopulationTab from "./DomesticPopulationTab"; import ForeignPopulationTab from "./ForeignPopulationTab"; -import AdmdstRenewalTab from "./AdmdstRenewalTab"; import PopulationStatusTab from "./PopulationStatusTab"; import PopulationVizTab from "./PopulationVizTab"; +import SearchForm from "@/components/module/SearchForm"; +import { useAdmdstRenewalTab } from "@/components/statistics/management/hooks/useAdmdstRenewalTab"; +import { usePopulationMappingTab } from "@/components/statistics/management/hooks/usePopulationMappingTab"; +import { usePopulationStatusTab } from "@/components/statistics/management/hooks/usePopulationStatusTab"; +import { usePopulationVizTab } from "@/components/statistics/management/hooks/usePopulationVizTab"; import type { ForeignPopulationItem } from "@/components/statistics/management/types/population-tab-types"; +import type { SearchFormValues } from "@/components/type/SearchForm.type"; const TAB_LIST = [ { key: "domestic", label: "행정인구등록" }, diff --git a/apps/st/src/components/statistics/management/UpperCodeSelectDialog.tsx b/apps/st/src/components/statistics/management/UpperCodeSelectDialog.tsx index ced0faf4d..e3f843714 100644 --- a/apps/st/src/components/statistics/management/UpperCodeSelectDialog.tsx +++ b/apps/st/src/components/statistics/management/UpperCodeSelectDialog.tsx @@ -1,4 +1,5 @@ import { useState } from "react"; + import { Button, Dialog, diff --git a/apps/st/src/components/statistics/management/hooks/useAdmdstRenewalTab.ts b/apps/st/src/components/statistics/management/hooks/useAdmdstRenewalTab.ts index a45d3923f..941b1700f 100644 --- a/apps/st/src/components/statistics/management/hooks/useAdmdstRenewalTab.ts +++ b/apps/st/src/components/statistics/management/hooks/useAdmdstRenewalTab.ts @@ -2,7 +2,8 @@ import { useRef, useState } from "react"; import { useAlertStore } from "@/shared/lib"; import { statisticsPpltnApi } from "@/entities/statistics/api/statistics-ppltn-service"; -import { toGridRows } from "@/components/util/grid/gridFunction"; +import type { UpperCodeCandidateItem } from "@/entities/statistics/model/ppltn/statistics-domestic-population-interface"; + // TODO: 원본 파일은 `../../../../../../packages/common/components/src/api` (6단계 상위) 였음. // 이 훅 파일은 원본 컴포넌트보다 한 단계 더 깊은 폴더(hooks/)에 위치하므로 // 실제 프로젝트에 옮길 때 상대경로 깊이를 다시 맞춰줘야 함 (혹은 @common/components에 getUserInfo가 @@ -10,13 +11,14 @@ import { toGridRows } from "@/components/util/grid/gridFunction"; import { getUserInfo } from "../../../../../../../packages/common/components/src/api"; import { useAsyncAction } from "./useAsyncAction"; -import type { UpperCodeCandidateItem } from "@/entities/statistics/model/ppltn/statistics-domestic-population-interface"; + import type { AdmdstRenewalAddedItem, AdmdstRenewalAddedSaveItem, AdmdstRenewalReducedItem, AdmdstRenewalReducedSaveItem, } from "@/components/statistics/management/types/population-tab-types"; +import { toGridRows } from "@/components/util/grid/gridFunction"; export function useAdmdstRenewalTab() { const { setMessage: alert } = useAlertStore((state) => state); diff --git a/apps/st/src/components/statistics/management/hooks/usePopulationMappingTab.ts b/apps/st/src/components/statistics/management/hooks/usePopulationMappingTab.ts index 5874e9038..7f36f785d 100644 --- a/apps/st/src/components/statistics/management/hooks/usePopulationMappingTab.ts +++ b/apps/st/src/components/statistics/management/hooks/usePopulationMappingTab.ts @@ -1,15 +1,17 @@ import { useRef, useState } from "react"; + import * as XLSX from "xlsx"; import { useAlertStore } from "@/shared/lib"; -import { toGridRows } from "@/components/util/grid/gridFunction"; import { useAsyncAction } from "./useAsyncAction"; + import type { PopulationMappingApiConfig, PopulationMappingRow, UpperCodeCandidateItem, } from "@/components/statistics/management/types/population-tab-types"; +import { toGridRows } from "@/components/util/grid/gridFunction"; /* ── 엑셀 헤더 검증 (원본 컴포넌트의 validateExcelHeader를 그대로 이동) ── */ const validateExcelHeader = (file: File, requiredKeywords: string[]): Promise => { diff --git a/apps/st/src/components/statistics/management/hooks/usePopulationStatusTab.ts b/apps/st/src/components/statistics/management/hooks/usePopulationStatusTab.ts index e4e13b46d..41cec2d6f 100644 --- a/apps/st/src/components/statistics/management/hooks/usePopulationStatusTab.ts +++ b/apps/st/src/components/statistics/management/hooks/usePopulationStatusTab.ts @@ -2,10 +2,12 @@ import { useState } from "react"; import { useAlertStore } from "@/shared/lib"; import { statisticsPpltnApi } from "@/entities/statistics/api/statistics-ppltn-service"; -import { toGridRows } from "@/components/util/grid/gridFunction"; + +import type { PopulationStatusItem } from "../types/population-tab-types"; import { useAsyncAction } from "./useAsyncAction"; -import type { PopulationStatusItem } from "../types/population-tab-types"; + +import { toGridRows } from "@/components/util/grid/gridFunction"; export function usePopulationStatusTab() { const { setMessage: alert } = useAlertStore((state) => state); diff --git a/apps/st/src/components/statistics/management/hooks/usePopulationVizTab.ts b/apps/st/src/components/statistics/management/hooks/usePopulationVizTab.ts index 7490d89bf..cda0afd39 100644 --- a/apps/st/src/components/statistics/management/hooks/usePopulationVizTab.ts +++ b/apps/st/src/components/statistics/management/hooks/usePopulationVizTab.ts @@ -3,9 +3,10 @@ import { useState } from "react"; import { useAlertStore } from "@/shared/lib"; import { statisticsPpltnApi } from "@/entities/statistics/api/statistics-ppltn-service"; -import { useAsyncAction } from "./useAsyncAction"; import type { PopulationChartData } from "../PopulationStatusChart"; +import { useAsyncAction } from "./useAsyncAction"; + export function usePopulationVizTab() { const { setMessage: alert } = useAlertStore((state) => state); const { isLoading, run } = useAsyncAction(alert); diff --git a/apps/st/src/components/statistics/management/types/population-tab-types.ts b/apps/st/src/components/statistics/management/types/population-tab-types.ts index 233fba2d1..1560e2a3b 100644 --- a/apps/st/src/components/statistics/management/types/population-tab-types.ts +++ b/apps/st/src/components/statistics/management/types/population-tab-types.ts @@ -1,5 +1,5 @@ -import type { ApiResponse } from "@/entities/statistics/model/statistics-interface"; import type { UpperCodeCandidateItem } from "@/entities/statistics/model/ppltn/statistics-domestic-population-interface"; +import type { ApiResponse } from "@/entities/statistics/model/statistics-interface"; /* ══════════════════════════════════════════════════ 외국인 인구 관련 타입 diff --git a/apps/st/src/components/statistics/review/ExcretaTreatmentFacilityRvw.tsx b/apps/st/src/components/statistics/review/ExcretaTreatmentFacilityRvw.tsx index 9b3d7f25e..c9d7831a0 100644 --- a/apps/st/src/components/statistics/review/ExcretaTreatmentFacilityRvw.tsx +++ b/apps/st/src/components/statistics/review/ExcretaTreatmentFacilityRvw.tsx @@ -1,9 +1,8 @@ import { useMemo, useState } from "react"; -import { LoadingWithAnimation } from "@common/components"; import { useAlertStore, useUserStore } from "@/shared/lib"; -import { statisticsApi } from "@/entities/statistics/api/statistics-service"; import { statisticsManagementApi } from "@/entities/statistics/api/statistics-management-service"; +import { statisticsApi } from "@/entities/statistics/api/statistics-service"; import type { ExcretaTreatmentFacilityReviewItem, } from "@/entities/statistics/model/statistics-excreta-treatment-facility-review-interface"; @@ -11,28 +10,29 @@ import { extractExcretaTreatmentFacilityReviewList, extractExcretaTreatmentFacilityReviewStatsStatusInfo, } from "@/entities/statistics/model/statistics-excreta-treatment-facility-review-interface"; -import type { StatsStatusInfo } from "@/entities/statistics/model/statistics-sewage-pipe-review-interface"; import type { - ReviewOpinionSaveRequest, ReviewerInfoRequest, + ReviewOpinionSaveRequest, } from "@/entities/statistics/model/statistics-interface"; +import type { StatsStatusInfo } from "@/entities/statistics/model/statistics-sewage-pipe-review-interface"; +import { LoadingWithAnimation } from "@common/components"; -import SubmitButton from "@/components/button/SumitButton"; import ReturnButton from "@/components/button/ReturnButton"; import ReviewOpinionButton from "@/components/button/ReviewOpinionButton"; +import SubmitButton from "@/components/button/SumitButton"; import DataGrid from "@/components/module/DataGrid"; import SearchForm from "@/components/module/SearchForm"; import { ReturnReasonDialog } from "@/components/statistics/review/ReturnReasonDialog"; -import { ReviewSubmitDialog } from "@/components/statistics/review/ReviewSubmitDialog"; +import ReviewEmptyCurrLegend from "@/components/statistics/review/ReviewEmptyCurrLegend"; import { ReviewOpinionDialog, type ReviewOpinionDialogContext, } from "@/components/statistics/review/ReviewOpinionDialog"; +import { ReviewSubmitDialog } from "@/components/statistics/review/ReviewSubmitDialog"; import type { SearchFormValues } from "@/components/type/SearchForm.type"; import { ExcretaTreatmentFacilityInfoList } from "@/components/util/column/review/ExcretaTreatmentFacilityRvwColumn"; import { toGridRows } from "@/components/util/grid/gridFunction"; import { buildReviewCellStyleCallback } from "@/components/util/grid/reviewEmptyCurrCellStyle"; -import ReviewEmptyCurrLegend from "@/components/statistics/review/ReviewEmptyCurrLegend"; const excretaTreatmentFacilityTab = ExcretaTreatmentFacilityInfoList[0]; diff --git a/apps/st/src/components/statistics/review/PrivateSewageFacilityRvw.tsx b/apps/st/src/components/statistics/review/PrivateSewageFacilityRvw.tsx index a116ce6a4..b43db75f9 100644 --- a/apps/st/src/components/statistics/review/PrivateSewageFacilityRvw.tsx +++ b/apps/st/src/components/statistics/review/PrivateSewageFacilityRvw.tsx @@ -3,6 +3,10 @@ import { useMemo, useRef, useState } from "react"; import { useAlertStore, useUserStore } from "@/shared/lib"; import { statisticsManagementApi } from "@/entities/statistics/api/statistics-management-service"; import { statisticsApi } from "@/entities/statistics/api/statistics-service"; +import type { + ReviewerInfoRequest, + ReviewOpinionSaveRequest, +} from "@/entities/statistics/model/statistics-interface"; import { extractPrivateSewageFacilityReviewList, extractPrivateSewageFacilityReviewStatsStatusInfo, @@ -10,29 +14,25 @@ import { type PrivateSewageFacilityReviewRequestParams, } from "@/entities/statistics/model/statistics-private-sewage-facility-review-interface"; import type { StatsStatusInfo } from "@/entities/statistics/model/statistics-sewage-pipe-review-interface"; -import type { - ReviewerInfoRequest, - ReviewOpinionSaveRequest, -} from "@/entities/statistics/model/statistics-interface"; import { LoadingWithAnimation, Tabs, TabsContent, TabsList, TabsTrigger } from "@common/components"; -import SubmitButton from "@/components/button/SumitButton"; import ReturnButton from "@/components/button/ReturnButton"; import ReviewOpinionButton from "@/components/button/ReviewOpinionButton"; +import SubmitButton from "@/components/button/SumitButton"; import DataGrid from "@/components/module/DataGrid"; import SearchForm from "@/components/module/SearchForm"; import { ReturnReasonDialog } from "@/components/statistics/review/ReturnReasonDialog"; -import { ReviewSubmitDialog } from "@/components/statistics/review/ReviewSubmitDialog"; +import ReviewEmptyCurrLegend from "@/components/statistics/review/ReviewEmptyCurrLegend"; import { ReviewOpinionDialog, type ReviewOpinionDialogContext, } from "@/components/statistics/review/ReviewOpinionDialog"; +import { ReviewSubmitDialog } from "@/components/statistics/review/ReviewSubmitDialog"; import type { ColumnConfig, ColumnInfo, ColumnInfoList } from "@/components/type/DataGrid.type"; import type { SearchFormValues } from "@/components/type/SearchForm.type"; import { PrivateSewageFacilityInfoListRvw } from "@/components/util/column/review/PrivateSewageFacilityColumn"; import { toGridRows } from "@/components/util/grid/gridFunction"; import { buildReviewCellStyleCallbackByTab } from "@/components/util/grid/reviewEmptyCurrCellStyle"; -import ReviewEmptyCurrLegend from "@/components/statistics/review/ReviewEmptyCurrLegend"; const firstTabKey = PrivateSewageFacilityInfoListRvw[0]?.tabKey ?? "ST00080001"; diff --git a/apps/st/src/components/statistics/review/PublicSewageFacilityRvw.tsx b/apps/st/src/components/statistics/review/PublicSewageFacilityRvw.tsx index f4b379e82..f173d1b22 100644 --- a/apps/st/src/components/statistics/review/PublicSewageFacilityRvw.tsx +++ b/apps/st/src/components/statistics/review/PublicSewageFacilityRvw.tsx @@ -1,32 +1,32 @@ import { useMemo, useState } from "react"; -import { LoadingWithAnimation } from "@common/components"; import { useAlertStore, useUserStore } from "@/shared/lib"; -import { statisticsApi } from "@/entities/statistics/api/statistics-service"; import { statisticsManagementApi } from "@/entities/statistics/api/statistics-management-service"; +import { statisticsApi } from "@/entities/statistics/api/statistics-service"; +import type { + ReviewerInfoRequest, + ReviewOpinionSaveRequest, +} from "@/entities/statistics/model/statistics-interface"; import type { PublicSewageFacilityReviewItem } from "@/entities/statistics/model/statistics-public-sewage-facility-review-interface"; import type { StatsStatusInfo } from "@/entities/statistics/model/statistics-sewage-pipe-review-interface"; -import type { - ReviewOpinionSaveRequest, - ReviewerInfoRequest, -} from "@/entities/statistics/model/statistics-interface"; +import { LoadingWithAnimation } from "@common/components"; + +import ReturnButton from "@/components/button/ReturnButton"; +import ReviewOpinionButton from "@/components/button/ReviewOpinionButton"; +import SubmitButton from "@/components/button/SumitButton"; import DataGrid from "@/components/module/DataGrid"; import SearchForm from "@/components/module/SearchForm"; -import SubmitButton from "@/components/button/SumitButton"; -import ReviewOpinionButton from "@/components/button/ReviewOpinionButton"; -import ReturnButton from "@/components/button/ReturnButton"; import { ReturnReasonDialog } from "@/components/statistics/review/ReturnReasonDialog"; -import { ReviewSubmitDialog } from "@/components/statistics/review/ReviewSubmitDialog"; +import ReviewEmptyCurrLegend from "@/components/statistics/review/ReviewEmptyCurrLegend"; import { ReviewOpinionDialog, type ReviewOpinionDialogContext, } from "@/components/statistics/review/ReviewOpinionDialog"; +import { ReviewSubmitDialog } from "@/components/statistics/review/ReviewSubmitDialog"; import type { SearchFormValues } from "@/components/type/SearchForm.type"; +import { PublicSewageFacilityInfoList } from "@/components/util/column/review/PublicSewageFacilityRvwColumn"; import { toGridRows } from "@/components/util/grid/gridFunction"; import { buildReviewCellStyleCallback } from "@/components/util/grid/reviewEmptyCurrCellStyle"; -import ReviewEmptyCurrLegend from "@/components/statistics/review/ReviewEmptyCurrLegend"; - -import { PublicSewageFacilityInfoList } from "@/components/util/column/review/PublicSewageFacilityRvwColumn"; // 하수도 통계 관리 06.공공하수처리시설 const PublicSewageFacilityRvw = () => { diff --git a/apps/st/src/components/statistics/review/PumpingStationRvw.tsx b/apps/st/src/components/statistics/review/PumpingStationRvw.tsx index 517e8d35a..b968d047c 100644 --- a/apps/st/src/components/statistics/review/PumpingStationRvw.tsx +++ b/apps/st/src/components/statistics/review/PumpingStationRvw.tsx @@ -1,36 +1,36 @@ import { useMemo, useState } from "react"; -import { LoadingWithAnimation } from "@common/components"; import { useAlertStore, useUserStore } from "@/shared/lib"; -import { statisticsApi } from "@/entities/statistics/api/statistics-service"; import { statisticsManagementApi } from "@/entities/statistics/api/statistics-management-service"; +import { statisticsApi } from "@/entities/statistics/api/statistics-service"; +import type { + ReviewerInfoRequest, + ReviewOpinionSaveRequest, +} from "@/entities/statistics/model/statistics-interface"; import { extractMediationPumpStationList, extractMediationPumpStationStatsStatusInfo, type MediationPumpStationItem, } from "@/entities/statistics/model/statistics-pumping-station-review-interface"; import type { StatsStatusInfo } from "@/entities/statistics/model/statistics-sewage-pipe-review-interface"; -import type { - ReviewOpinionSaveRequest, - ReviewerInfoRequest, -} from "@/entities/statistics/model/statistics-interface"; +import { LoadingWithAnimation } from "@common/components"; -import SubmitButton from "@/components/button/SumitButton"; import ReturnButton from "@/components/button/ReturnButton"; import ReviewOpinionButton from "@/components/button/ReviewOpinionButton"; +import SubmitButton from "@/components/button/SumitButton"; import DataGrid from "@/components/module/DataGrid"; import SearchForm from "@/components/module/SearchForm"; import { ReturnReasonDialog } from "@/components/statistics/review/ReturnReasonDialog"; -import { ReviewSubmitDialog } from "@/components/statistics/review/ReviewSubmitDialog"; +import ReviewEmptyCurrLegend from "@/components/statistics/review/ReviewEmptyCurrLegend"; import { ReviewOpinionDialog, type ReviewOpinionDialogContext, } from "@/components/statistics/review/ReviewOpinionDialog"; +import { ReviewSubmitDialog } from "@/components/statistics/review/ReviewSubmitDialog"; import type { SearchFormValues } from "@/components/type/SearchForm.type"; import { PumpingStationInfoList } from "@/components/util/column/review/PumpingStationRvwColumn"; import { toGridRows } from "@/components/util/grid/gridFunction"; import { buildReviewCellStyleCallback } from "@/components/util/grid/reviewEmptyCurrCellStyle"; -import ReviewEmptyCurrLegend from "@/components/statistics/review/ReviewEmptyCurrLegend"; /** * 하수도 통계 검토 05.중계펌프장 diff --git a/apps/st/src/components/statistics/review/ReturnReasonDialog.tsx b/apps/st/src/components/statistics/review/ReturnReasonDialog.tsx index c45acacd0..0342cbeca 100644 --- a/apps/st/src/components/statistics/review/ReturnReasonDialog.tsx +++ b/apps/st/src/components/statistics/review/ReturnReasonDialog.tsx @@ -1,9 +1,12 @@ "use client"; import { useEffect, useState } from "react"; -import { getUserInfo } from "../../../../../../packages/common/components/src/api"; + import { useConfirm } from "@frontend-opensource/use-react-hooks"; +import { useAlertStore } from "@/shared/lib"; +import { statisticsApi } from "@/entities/statistics/api/statistics-service"; +import type { ReviewReturnSaveRequest } from "@/entities/statistics/model/statistics-interface"; import { Button, Dialog, @@ -16,9 +19,7 @@ import { Textarea, } from "@common/components"; -import type { ReviewReturnSaveRequest } from "@/entities/statistics/model/statistics-interface"; -import { statisticsApi } from "@/entities/statistics/api/statistics-service"; -import { useAlertStore } from "@/shared/lib"; +import { getUserInfo } from "../../../../../../packages/common/components/src/api"; export type ReturnReasonDialogContext = Pick< ReviewReturnSaveRequest, diff --git a/apps/st/src/components/statistics/review/ReviewOpinionDialog.tsx b/apps/st/src/components/statistics/review/ReviewOpinionDialog.tsx index 17c7bb2ee..8ddde5566 100644 --- a/apps/st/src/components/statistics/review/ReviewOpinionDialog.tsx +++ b/apps/st/src/components/statistics/review/ReviewOpinionDialog.tsx @@ -2,6 +2,8 @@ import { useEffect, useState } from "react"; +import { useAlertStore } from "@/shared/lib"; +import type { ReviewOpinionSaveRequest } from "@/entities/statistics/model/statistics-interface"; import { Button, Dialog, @@ -13,10 +15,8 @@ import { Label, Textarea, } from "@common/components"; -import { getUserInfo } from "../../../../../../packages/common/components/src/api"; -import type { ReviewOpinionSaveRequest } from "@/entities/statistics/model/statistics-interface"; -import { useAlertStore } from "@/shared/lib"; +import { getUserInfo } from "../../../../../../packages/common/components/src/api"; export type ReviewOpinionDialogContext = Pick< ReviewOpinionSaveRequest, diff --git a/apps/st/src/components/statistics/review/ReviewSubmitDialog.tsx b/apps/st/src/components/statistics/review/ReviewSubmitDialog.tsx index 840f83241..a3a7564c7 100644 --- a/apps/st/src/components/statistics/review/ReviewSubmitDialog.tsx +++ b/apps/st/src/components/statistics/review/ReviewSubmitDialog.tsx @@ -1,8 +1,14 @@ "use client"; import { useEffect, useState } from "react"; -import { getUserInfo } from "../../../../../../packages/common/components/src/api"; +import { useAlertStore } from "@/shared/lib"; +import { statisticsApi } from "@/entities/statistics/api/statistics-service"; +import type { + ReviewerInfoRequest, + ReviewerInfoResponse, + ReviewSubmitRequest, +} from "@/entities/statistics/model/statistics-interface"; import { Button, Dialog, @@ -16,13 +22,7 @@ import { Textarea, } from "@common/components"; -import { statisticsApi } from "@/entities/statistics/api/statistics-service"; -import type { - ReviewerInfoRequest, - ReviewerInfoResponse, - ReviewSubmitRequest, -} from "@/entities/statistics/model/statistics-interface"; -import { useAlertStore } from "@/shared/lib"; +import { getUserInfo } from "../../../../../../packages/common/components/src/api"; export interface ReviewSubmitDialogProps { open: boolean; diff --git a/apps/st/src/components/statistics/review/SewageExcretaRelatedRvw.tsx b/apps/st/src/components/statistics/review/SewageExcretaRelatedRvw.tsx index c9ad04528..a1fee7568 100644 --- a/apps/st/src/components/statistics/review/SewageExcretaRelatedRvw.tsx +++ b/apps/st/src/components/statistics/review/SewageExcretaRelatedRvw.tsx @@ -3,6 +3,10 @@ import { useMemo, useRef, useState } from "react"; import { useAlertStore, useUserStore } from "@/shared/lib"; import { statisticsManagementApi } from "@/entities/statistics/api/statistics-management-service"; import { statisticsApi } from "@/entities/statistics/api/statistics-service"; +import type { + ReviewerInfoRequest, + ReviewOpinionSaveRequest, +} from "@/entities/statistics/model/statistics-interface"; import { extractSewageExcretaRelatedReviewList, extractSewageExcretaRelatedReviewStatsStatusInfo, @@ -10,29 +14,25 @@ import { type SewageExcretaRelatedReviewRequestParams, } from "@/entities/statistics/model/statistics-sewage-excreta-related-review-interface"; import type { StatsStatusInfo } from "@/entities/statistics/model/statistics-sewage-pipe-review-interface"; -import type { - ReviewerInfoRequest, - ReviewOpinionSaveRequest, -} from "@/entities/statistics/model/statistics-interface"; import { LoadingWithAnimation, Tabs, TabsContent, TabsList, TabsTrigger } from "@common/components"; -import SubmitButton from "@/components/button/SumitButton"; import ReturnButton from "@/components/button/ReturnButton"; import ReviewOpinionButton from "@/components/button/ReviewOpinionButton"; +import SubmitButton from "@/components/button/SumitButton"; import DataGrid from "@/components/module/DataGrid"; import SearchForm from "@/components/module/SearchForm"; import { ReturnReasonDialog } from "@/components/statistics/review/ReturnReasonDialog"; -import { ReviewSubmitDialog } from "@/components/statistics/review/ReviewSubmitDialog"; +import ReviewEmptyCurrLegend from "@/components/statistics/review/ReviewEmptyCurrLegend"; import { ReviewOpinionDialog, type ReviewOpinionDialogContext, } from "@/components/statistics/review/ReviewOpinionDialog"; +import { ReviewSubmitDialog } from "@/components/statistics/review/ReviewSubmitDialog"; import type { ColumnConfig, ColumnInfo, ColumnInfoList } from "@/components/type/DataGrid.type"; import type { SearchFormValues } from "@/components/type/SearchForm.type"; import { SewageExcretaRelatedInfoListRvw } from "@/components/util/column/review/SewageExcretaRelatedRvwColumn"; import { toGridRows } from "@/components/util/grid/gridFunction"; import { buildReviewCellStyleCallbackByTab } from "@/components/util/grid/reviewEmptyCurrCellStyle"; -import ReviewEmptyCurrLegend from "@/components/statistics/review/ReviewEmptyCurrLegend"; const firstTabKey = SewageExcretaRelatedInfoListRvw[0]?.tabKey ?? "ST00120001"; diff --git a/apps/st/src/components/statistics/review/SewageExcretaSlurgeRvw.tsx b/apps/st/src/components/statistics/review/SewageExcretaSlurgeRvw.tsx index fd83c82fb..419a085c0 100644 --- a/apps/st/src/components/statistics/review/SewageExcretaSlurgeRvw.tsx +++ b/apps/st/src/components/statistics/review/SewageExcretaSlurgeRvw.tsx @@ -3,6 +3,10 @@ import { useMemo, useRef, useState } from "react"; import { useAlertStore, useUserStore } from "@/shared/lib"; import { statisticsManagementApi } from "@/entities/statistics/api/statistics-management-service"; import { statisticsApi } from "@/entities/statistics/api/statistics-service"; +import type { + ReviewerInfoRequest, + ReviewOpinionSaveRequest, +} from "@/entities/statistics/model/statistics-interface"; import { extractSewageExcretaSlurgeReviewList, extractSewageExcretaSlurgeReviewStatsStatusInfo, @@ -10,29 +14,25 @@ import { type SewageExcretaSlurgeReviewRequestParams, } from "@/entities/statistics/model/statistics-sewage-excreta-slurge-review-interface"; import type { StatsStatusInfo } from "@/entities/statistics/model/statistics-sewage-pipe-review-interface"; -import type { - ReviewerInfoRequest, - ReviewOpinionSaveRequest, -} from "@/entities/statistics/model/statistics-interface"; import { LoadingWithAnimation, Tabs, TabsContent, TabsList, TabsTrigger } from "@common/components"; -import SubmitButton from "@/components/button/SumitButton"; import ReturnButton from "@/components/button/ReturnButton"; import ReviewOpinionButton from "@/components/button/ReviewOpinionButton"; +import SubmitButton from "@/components/button/SumitButton"; import DataGrid from "@/components/module/DataGrid"; import SearchForm from "@/components/module/SearchForm"; import { ReturnReasonDialog } from "@/components/statistics/review/ReturnReasonDialog"; -import { ReviewSubmitDialog } from "@/components/statistics/review/ReviewSubmitDialog"; +import ReviewEmptyCurrLegend from "@/components/statistics/review/ReviewEmptyCurrLegend"; import { ReviewOpinionDialog, type ReviewOpinionDialogContext, } from "@/components/statistics/review/ReviewOpinionDialog"; +import { ReviewSubmitDialog } from "@/components/statistics/review/ReviewSubmitDialog"; import type { ColumnConfig, ColumnInfo, ColumnInfoList } from "@/components/type/DataGrid.type"; import type { SearchFormValues } from "@/components/type/SearchForm.type"; import { SewageExcretaSludgeInfoListRvw } from "@/components/util/column/review/SewageExcretaSlurgeRvwColumn"; import { toGridRows } from "@/components/util/grid/gridFunction"; import { buildReviewCellStyleCallbackByTab } from "@/components/util/grid/reviewEmptyCurrCellStyle"; -import ReviewEmptyCurrLegend from "@/components/statistics/review/ReviewEmptyCurrLegend"; const firstTabKey = SewageExcretaSludgeInfoListRvw[0]?.tabKey ?? "ST00110001"; diff --git a/apps/st/src/components/statistics/review/SewagePipeMaintainRvw.tsx b/apps/st/src/components/statistics/review/SewagePipeMaintainRvw.tsx index a90af6ac2..f72746af2 100644 --- a/apps/st/src/components/statistics/review/SewagePipeMaintainRvw.tsx +++ b/apps/st/src/components/statistics/review/SewagePipeMaintainRvw.tsx @@ -3,33 +3,33 @@ import { useMemo, useRef, useState } from "react"; import { useAlertStore, useUserStore } from "@/shared/lib"; import { statisticsManagementApi } from "@/entities/statistics/api/statistics-management-service"; import { statisticsApi } from "@/entities/statistics/api/statistics-service"; -import type { - SewerPipeMtcRequestParams, - StatsStatusInfo, -} from "@/entities/statistics/model/statistics-sewage-pipe-mtc-review-interface"; import type { ReviewerInfoRequest, ReviewOpinionSaveRequest, } from "@/entities/statistics/model/statistics-interface"; +import type { + SewerPipeMtcRequestParams, + StatsStatusInfo, +} from "@/entities/statistics/model/statistics-sewage-pipe-mtc-review-interface"; import { LoadingWithAnimation, Tabs, TabsContent, TabsList, TabsTrigger } from "@common/components"; -import SubmitButton from "@/components/button/SumitButton"; import ReturnButton from "@/components/button/ReturnButton"; import ReviewOpinionButton from "@/components/button/ReviewOpinionButton"; +import SubmitButton from "@/components/button/SumitButton"; import DataGrid from "@/components/module/DataGrid"; import SearchForm from "@/components/module/SearchForm"; import { ReturnReasonDialog } from "@/components/statistics/review/ReturnReasonDialog"; -import { ReviewSubmitDialog } from "@/components/statistics/review/ReviewSubmitDialog"; +import ReviewEmptyCurrLegend from "@/components/statistics/review/ReviewEmptyCurrLegend"; import { ReviewOpinionDialog, type ReviewOpinionDialogContext, } from "@/components/statistics/review/ReviewOpinionDialog"; +import { ReviewSubmitDialog } from "@/components/statistics/review/ReviewSubmitDialog"; import type { ColumnConfig, ColumnInfo, ColumnInfoList } from "@/components/type/DataGrid.type"; import type { SearchFormValues } from "@/components/type/SearchForm.type"; import { SewagePipeMaintainColumnInfoList } from "@/components/util/column/review/SewagePipeMaintainRvwColumn"; import { toGridRows } from "@/components/util/grid/gridFunction"; import { buildReviewCellStyleCallbackByTab } from "@/components/util/grid/reviewEmptyCurrCellStyle"; -import ReviewEmptyCurrLegend from "@/components/statistics/review/ReviewEmptyCurrLegend"; const firstTabKey = SewagePipeMaintainColumnInfoList[0]?.tabKey ?? "ST00030001"; diff --git a/apps/st/src/components/statistics/review/SewagePipeRvw.tsx b/apps/st/src/components/statistics/review/SewagePipeRvw.tsx index 8fe035108..c0ae50110 100644 --- a/apps/st/src/components/statistics/review/SewagePipeRvw.tsx +++ b/apps/st/src/components/statistics/review/SewagePipeRvw.tsx @@ -3,27 +3,28 @@ import { useMemo, useRef, useState } from "react"; import { useAlertStore, useUserStore } from "@/shared/lib"; import { statisticsManagementApi } from "@/entities/statistics/api/statistics-management-service"; import { statisticsApi } from "@/entities/statistics/api/statistics-service"; -import type { - SewagePipeReviewRequestParams, - StatsStatusInfo, -} from "@/entities/statistics/model/statistics-sewage-pipe-review-interface"; import type { ReviewerInfoRequest, ReviewOpinionSaveRequest, } from "@/entities/statistics/model/statistics-interface"; +import type { + SewagePipeReviewRequestParams, + StatsStatusInfo, +} from "@/entities/statistics/model/statistics-sewage-pipe-review-interface"; import { LoadingWithAnimation, Tabs, TabsContent, TabsList, TabsTrigger } from "@common/components"; -import SubmitButton from "@/components/button/SumitButton"; import ReturnButton from "@/components/button/ReturnButton"; import ReviewOpinionButton from "@/components/button/ReviewOpinionButton"; +import SubmitButton from "@/components/button/SumitButton"; import DataGrid from "@/components/module/DataGrid"; import SearchForm from "@/components/module/SearchForm"; import { ReturnReasonDialog } from "@/components/statistics/review/ReturnReasonDialog"; -import { ReviewSubmitDialog } from "@/components/statistics/review/ReviewSubmitDialog"; +import ReviewEmptyCurrLegend from "@/components/statistics/review/ReviewEmptyCurrLegend"; import { ReviewOpinionDialog, type ReviewOpinionDialogContext, } from "@/components/statistics/review/ReviewOpinionDialog"; +import { ReviewSubmitDialog } from "@/components/statistics/review/ReviewSubmitDialog"; import type { ColumnConfig, ColumnInfo, @@ -31,10 +32,9 @@ import type { ColumnLayoutItem, } from "@/components/type/DataGrid.type"; import type { SearchFormValues } from "@/components/type/SearchForm.type"; -import { SewagePipeColumnInfoListRvw, getST00020003RvwConfig, getST00020005RvwConfig } from "@/components/util/column/review/SewagePipeRvwColumn"; -import { buildReviewCellStyleCallbackByTab } from "@/components/util/grid/reviewEmptyCurrCellStyle"; -import ReviewEmptyCurrLegend from "@/components/statistics/review/ReviewEmptyCurrLegend"; +import { getST00020003RvwConfig, getST00020005RvwConfig,SewagePipeColumnInfoListRvw } from "@/components/util/column/review/SewagePipeRvwColumn"; import { toGridRows } from "@/components/util/grid/gridFunction"; +import { buildReviewCellStyleCallbackByTab } from "@/components/util/grid/reviewEmptyCurrCellStyle"; const firstTabKey = SewagePipeColumnInfoListRvw[0]?.tabKey ?? "ST00020001"; diff --git a/apps/st/src/components/statistics/review/SewageReservoirPumpRvw.tsx b/apps/st/src/components/statistics/review/SewageReservoirPumpRvw.tsx index efb748aa3..3d20b81ab 100644 --- a/apps/st/src/components/statistics/review/SewageReservoirPumpRvw.tsx +++ b/apps/st/src/components/statistics/review/SewageReservoirPumpRvw.tsx @@ -3,31 +3,31 @@ import { useMemo, useRef, useState } from "react"; import { useAlertStore, useUserStore } from "@/shared/lib"; import { statisticsManagementApi } from "@/entities/statistics/api/statistics-management-service"; import { statisticsApi } from "@/entities/statistics/api/statistics-service"; -import type { StatsStatusInfo } from "@/entities/statistics/model/statistics-sewage-pipe-review-interface"; import type { SewerReservoirRequestParams } from "@/entities/statistics/model/sewage-reservoir-pump-review-interface"; import type { ReviewerInfoRequest, ReviewOpinionSaveRequest, } from "@/entities/statistics/model/statistics-interface"; +import type { StatsStatusInfo } from "@/entities/statistics/model/statistics-sewage-pipe-review-interface"; import { LoadingWithAnimation, Tabs, TabsContent, TabsList, TabsTrigger } from "@common/components"; -import SubmitButton from "@/components/button/SumitButton"; import ReturnButton from "@/components/button/ReturnButton"; import ReviewOpinionButton from "@/components/button/ReviewOpinionButton"; +import SubmitButton from "@/components/button/SumitButton"; import DataGrid from "@/components/module/DataGrid"; import SearchForm from "@/components/module/SearchForm"; import { ReturnReasonDialog } from "@/components/statistics/review/ReturnReasonDialog"; -import { ReviewSubmitDialog } from "@/components/statistics/review/ReviewSubmitDialog"; +import ReviewEmptyCurrLegend from "@/components/statistics/review/ReviewEmptyCurrLegend"; import { ReviewOpinionDialog, type ReviewOpinionDialogContext, } from "@/components/statistics/review/ReviewOpinionDialog"; +import { ReviewSubmitDialog } from "@/components/statistics/review/ReviewSubmitDialog"; import type { ColumnConfig, ColumnInfo, ColumnInfoList } from "@/components/type/DataGrid.type"; import type { SearchFormValues } from "@/components/type/SearchForm.type"; import { SewageReservoirPumpInfoListRvw } from "@/components/util/column/review/SewageReservoirPumpRvwColumn"; import { toGridRows } from "@/components/util/grid/gridFunction"; import { buildReviewCellStyleCallbackByTab } from "@/components/util/grid/reviewEmptyCurrCellStyle"; -import ReviewEmptyCurrLegend from "@/components/statistics/review/ReviewEmptyCurrLegend"; const firstTabKey = SewageReservoirPumpInfoListRvw[0]?.tabKey ?? "ST00040001"; diff --git a/apps/st/src/components/statistics/review/SewerageFinanceRvw.tsx b/apps/st/src/components/statistics/review/SewerageFinanceRvw.tsx index 30d2faaed..84f0d5e0c 100644 --- a/apps/st/src/components/statistics/review/SewerageFinanceRvw.tsx +++ b/apps/st/src/components/statistics/review/SewerageFinanceRvw.tsx @@ -3,36 +3,36 @@ import { useMemo, useRef, useState } from "react"; import { useAlertStore, useUserStore } from "@/shared/lib"; import { statisticsManagementApi } from "@/entities/statistics/api/statistics-management-service"; import { statisticsApi } from "@/entities/statistics/api/statistics-service"; +import type { + ReviewerInfoRequest, + ReviewOpinionSaveRequest, +} from "@/entities/statistics/model/statistics-interface"; +import type { StatsStatusInfo } from "@/entities/statistics/model/statistics-sewage-pipe-review-interface"; import { extractSewerageFinanceReviewList, extractSewerageFinanceReviewStatsStatusInfo, mapSewerageFinanceReviewRows, type SewerageFinanceReviewRequestParams, } from "@/entities/statistics/model/statistics-sewerage-finance-review-interface"; -import type { StatsStatusInfo } from "@/entities/statistics/model/statistics-sewage-pipe-review-interface"; -import type { - ReviewerInfoRequest, - ReviewOpinionSaveRequest, -} from "@/entities/statistics/model/statistics-interface"; import { LoadingWithAnimation, Tabs, TabsContent, TabsList, TabsTrigger } from "@common/components"; -import SubmitButton from "@/components/button/SumitButton"; import ReturnButton from "@/components/button/ReturnButton"; import ReviewOpinionButton from "@/components/button/ReviewOpinionButton"; +import SubmitButton from "@/components/button/SumitButton"; import DataGrid from "@/components/module/DataGrid"; import SearchForm from "@/components/module/SearchForm"; import { ReturnReasonDialog } from "@/components/statistics/review/ReturnReasonDialog"; -import { ReviewSubmitDialog } from "@/components/statistics/review/ReviewSubmitDialog"; +import ReviewEmptyCurrLegend from "@/components/statistics/review/ReviewEmptyCurrLegend"; import { ReviewOpinionDialog, type ReviewOpinionDialogContext, } from "@/components/statistics/review/ReviewOpinionDialog"; +import { ReviewSubmitDialog } from "@/components/statistics/review/ReviewSubmitDialog"; import type { ColumnConfig, ColumnInfo, ColumnInfoList } from "@/components/type/DataGrid.type"; import type { SearchFormValues } from "@/components/type/SearchForm.type"; import { SewerageFinanceInfoListRvw } from "@/components/util/column/review/SewerageFinanceRvwColumn"; import { toGridRows } from "@/components/util/grid/gridFunction"; import { buildReviewCellStyleCallbackByTab } from "@/components/util/grid/reviewEmptyCurrCellStyle"; -import ReviewEmptyCurrLegend from "@/components/statistics/review/ReviewEmptyCurrLegend"; const firstTabKey = SewerageFinanceInfoListRvw[0]?.tabKey ?? "ST00090001"; diff --git a/apps/st/src/components/statistics/review/SeweragePenetrationRateRvw.tsx b/apps/st/src/components/statistics/review/SeweragePenetrationRateRvw.tsx index 8aeb157c5..7cc296675 100644 --- a/apps/st/src/components/statistics/review/SeweragePenetrationRateRvw.tsx +++ b/apps/st/src/components/statistics/review/SeweragePenetrationRateRvw.tsx @@ -1,30 +1,31 @@ -import { useState, useMemo } from "react"; -import DataGrid from "@/components/module/DataGrid"; -import SearchForm from "@/components/module/SearchForm"; -import ReviewOpinionButton from "@/components/button/ReviewOpinionButton"; -import ReturnButton from "@/components/button/ReturnButton"; -import SubmitButton from "@/components/button/SumitButton"; -import { LoadingWithAnimation } from "@common/components"; -import { ReturnReasonDialog } from "@/components/statistics/review/ReturnReasonDialog"; -import { ReviewSubmitDialog } from "@/components/statistics/review/ReviewSubmitDialog"; +import { useMemo,useState } from "react"; import { useAlertStore, useUserStore } from "@/shared/lib"; -import { SeweragePenetrationRateInfoList } from "@/components/util/column/review/SeweragePenetrationRateRvwColumn"; -import type { SewerageSupplyRateReviewItem, statsStatusInfo } from "@/entities/statistics/model/statistics-sewerage-penetration-review-interface"; -import type { - ReviewOpinionSaveRequest, - ReviewerInfoRequest, -} from "@/entities/statistics/model/statistics-interface"; -import { statisticsApi } from "@/entities/statistics/api/statistics-service"; import { statisticsManagementApi } from "@/entities/statistics/api/statistics-management-service"; -import type { SearchFormValues } from "@/components/type/SearchForm.type"; -import { toGridRows } from "@/components/util/grid/gridFunction"; -import { buildReviewCellStyleCallback } from "@/components/util/grid/reviewEmptyCurrCellStyle"; +import { statisticsApi } from "@/entities/statistics/api/statistics-service"; +import type { + ReviewerInfoRequest, + ReviewOpinionSaveRequest, +} from "@/entities/statistics/model/statistics-interface"; +import type { SewerageSupplyRateReviewItem, statsStatusInfo } from "@/entities/statistics/model/statistics-sewerage-penetration-review-interface"; +import { LoadingWithAnimation } from "@common/components"; + +import ReturnButton from "@/components/button/ReturnButton"; +import ReviewOpinionButton from "@/components/button/ReviewOpinionButton"; +import SubmitButton from "@/components/button/SumitButton"; +import DataGrid from "@/components/module/DataGrid"; +import SearchForm from "@/components/module/SearchForm"; +import { ReturnReasonDialog } from "@/components/statistics/review/ReturnReasonDialog"; import ReviewEmptyCurrLegend from "@/components/statistics/review/ReviewEmptyCurrLegend"; import { ReviewOpinionDialog, type ReviewOpinionDialogContext, } from "@/components/statistics/review/ReviewOpinionDialog"; +import { ReviewSubmitDialog } from "@/components/statistics/review/ReviewSubmitDialog"; +import type { SearchFormValues } from "@/components/type/SearchForm.type"; +import { SeweragePenetrationRateInfoList } from "@/components/util/column/review/SeweragePenetrationRateRvwColumn"; +import { toGridRows } from "@/components/util/grid/gridFunction"; +import { buildReviewCellStyleCallback } from "@/components/util/grid/reviewEmptyCurrCellStyle"; // 하수도 통계 검토 01.하수도 보급률 const SeweragePenetrationRateRvw = () => { diff --git a/apps/st/src/components/statistics/review/SewerageServiceLevelRvw.tsx b/apps/st/src/components/statistics/review/SewerageServiceLevelRvw.tsx index 06b321d2d..f006d2217 100644 --- a/apps/st/src/components/statistics/review/SewerageServiceLevelRvw.tsx +++ b/apps/st/src/components/statistics/review/SewerageServiceLevelRvw.tsx @@ -3,30 +3,31 @@ import { useMemo, useRef, useState } from "react"; import { useAlertStore, useUserStore } from "@/shared/lib"; import { statisticsManagementApi } from "@/entities/statistics/api/statistics-management-service"; import { statisticsApi } from "@/entities/statistics/api/statistics-service"; +import type { + ReviewerInfoRequest, + ReviewOpinionSaveRequest, +} from "@/entities/statistics/model/statistics-interface"; +import type { StatsStatusInfo } from "@/entities/statistics/model/statistics-sewage-pipe-review-interface"; import { extractSewerageServiceLevelReviewList, extractSewerageServiceLevelReviewStatsStatusInfo, mapSewerageServiceLevelReviewRows, type SewerageServiceLevelReviewRequestParams, } from "@/entities/statistics/model/statistics-sewerage-service-level-review-interface"; -import type { StatsStatusInfo } from "@/entities/statistics/model/statistics-sewage-pipe-review-interface"; -import type { - ReviewerInfoRequest, - ReviewOpinionSaveRequest, -} from "@/entities/statistics/model/statistics-interface"; import { LoadingWithAnimation, Tabs, TabsContent, TabsList, TabsTrigger } from "@common/components"; -import SubmitButton from "@/components/button/SumitButton"; import ReturnButton from "@/components/button/ReturnButton"; import ReviewOpinionButton from "@/components/button/ReviewOpinionButton"; +import SubmitButton from "@/components/button/SumitButton"; import DataGrid from "@/components/module/DataGrid"; import SearchForm from "@/components/module/SearchForm"; import { ReturnReasonDialog } from "@/components/statistics/review/ReturnReasonDialog"; -import { ReviewSubmitDialog } from "@/components/statistics/review/ReviewSubmitDialog"; +import ReviewEmptyCurrLegend from "@/components/statistics/review/ReviewEmptyCurrLegend"; import { ReviewOpinionDialog, type ReviewOpinionDialogContext, } from "@/components/statistics/review/ReviewOpinionDialog"; +import { ReviewSubmitDialog } from "@/components/statistics/review/ReviewSubmitDialog"; import type { ColumnConfig, ColumnInfo, @@ -36,7 +37,6 @@ import type { SearchFormValues } from "@/components/type/SearchForm.type"; import { SewerageServiceLevelInfoListRvw } from "@/components/util/column/review/SewerageServiceLevelRvwColumn"; import { toGridRows } from "@/components/util/grid/gridFunction"; import { buildReviewCellStyleCallbackByTab } from "@/components/util/grid/reviewEmptyCurrCellStyle"; -import ReviewEmptyCurrLegend from "@/components/statistics/review/ReviewEmptyCurrLegend"; const firstTabKey = SewerageServiceLevelInfoListRvw[0]?.tabKey ?? "ST00130001"; diff --git a/apps/st/src/components/statistics/review/StatsInputStatusRvw.tsx b/apps/st/src/components/statistics/review/StatsInputStatusRvw.tsx index dee3d404a..53f520340 100644 --- a/apps/st/src/components/statistics/review/StatsInputStatusRvw.tsx +++ b/apps/st/src/components/statistics/review/StatsInputStatusRvw.tsx @@ -1,41 +1,42 @@ import { useCallback, useMemo, useState } from "react"; + import { useConfirm } from "@frontend-opensource/use-react-hooks"; import { createColumnHelper, getCoreRowModel, useReactTable } from "@tanstack/react-table"; -import DataGrid from "@/components/module/DataGrid"; -import type { DataCellClickCallbackParams } from "@/components/type/DataGrid.type"; -import SearchForm from "@/components/module/SearchForm"; -import ApproveButton from "@/components/button/ApproveButton"; -import SubmitButton from "@/components/button/SumitButton"; -import { ReviewSubmitDialog } from "@/components/statistics/review/ReviewSubmitDialog"; -import { doList } from "@/components/util/column/input/DoList"; +import { useAlertStore, useUserStore } from "@/shared/lib"; +import { statisticsManagementApi } from "@/entities/statistics/api/statistics-management-service"; +import { statisticsApi } from "@/entities/statistics/api/statistics-service"; +import type { + ReviewHistoryResponse, + StatsInputStatusReviewItem, +} from "@/entities/statistics/model/statistics-input-review-interface"; +import type { + ReviewerInfoRequest, + StatsInputStatusApproveItem, +} from "@/entities/statistics/model/statistics-interface"; import { Button, + DataTable, Dialog, DialogContent, DialogFooter, DialogHeader, DialogTitle, - LoadingWithAnimation, - DataTable -} from "@common/components"; + LoadingWithAnimation} from "@common/components"; -import { useAlertStore, useUserStore } from "@/shared/lib"; -import { statisticsApi } from "@/entities/statistics/api/statistics-service"; -import type { - ReviewerInfoRequest, - StatsInputStatusApproveItem, -} from "@/entities/statistics/model/statistics-interface"; -import { StatsInputStatusInfoList } from "@/components/util/column/review/StatsInputStatusRvwColumn"; -import { statisticsManagementApi } from "@/entities/statistics/api/statistics-management-service"; -import type { - ReviewHistoryResponse, - StatsInputStatusReviewItem, -} from "@/entities/statistics/model/statistics-input-review-interface"; -import { toGridRows } from "@/components/util/grid/gridFunction"; -import type { SearchFormValues } from "@/components/type/SearchForm.type"; import { getUserInfo } from "../../../../../../packages/common/components/src/api"; +import ApproveButton from "@/components/button/ApproveButton"; +import SubmitButton from "@/components/button/SumitButton"; +import DataGrid from "@/components/module/DataGrid"; +import SearchForm from "@/components/module/SearchForm"; +import { ReviewSubmitDialog } from "@/components/statistics/review/ReviewSubmitDialog"; +import type { DataCellClickCallbackParams } from "@/components/type/DataGrid.type"; +import type { SearchFormValues } from "@/components/type/SearchForm.type"; +import { doList } from "@/components/util/column/input/DoList"; +import { StatsInputStatusInfoList } from "@/components/util/column/review/StatsInputStatusRvwColumn"; +import { toGridRows } from "@/components/util/grid/gridFunction"; + type ReviewHistoryRow = ReviewHistoryResponse["data"][number]; const checkPrvnStatusCd = (code: string) => { diff --git a/apps/st/src/components/statistics/review/WaterReuseRvw.tsx b/apps/st/src/components/statistics/review/WaterReuseRvw.tsx index d3976cf01..89c492f5f 100644 --- a/apps/st/src/components/statistics/review/WaterReuseRvw.tsx +++ b/apps/st/src/components/statistics/review/WaterReuseRvw.tsx @@ -3,36 +3,36 @@ import { useMemo, useRef, useState } from "react"; import { useAlertStore, useUserStore } from "@/shared/lib"; import { statisticsManagementApi } from "@/entities/statistics/api/statistics-management-service"; import { statisticsApi } from "@/entities/statistics/api/statistics-service"; +import type { + ReviewerInfoRequest, + ReviewOpinionSaveRequest, +} from "@/entities/statistics/model/statistics-interface"; +import type { StatsStatusInfo } from "@/entities/statistics/model/statistics-sewage-pipe-review-interface"; import { extractWaterReuseReviewList, extractWaterReuseReviewStatsStatusInfo, mapWaterReuseReviewRows, type WaterReuseReviewRequestParams, } from "@/entities/statistics/model/statistics-water-reuse-review-interface"; -import type { StatsStatusInfo } from "@/entities/statistics/model/statistics-sewage-pipe-review-interface"; -import type { - ReviewerInfoRequest, - ReviewOpinionSaveRequest, -} from "@/entities/statistics/model/statistics-interface"; import { LoadingWithAnimation, Tabs, TabsContent, TabsList, TabsTrigger } from "@common/components"; -import SubmitButton from "@/components/button/SumitButton"; import ReturnButton from "@/components/button/ReturnButton"; import ReviewOpinionButton from "@/components/button/ReviewOpinionButton"; +import SubmitButton from "@/components/button/SumitButton"; import DataGrid from "@/components/module/DataGrid"; import SearchForm from "@/components/module/SearchForm"; import { ReturnReasonDialog } from "@/components/statistics/review/ReturnReasonDialog"; -import { ReviewSubmitDialog } from "@/components/statistics/review/ReviewSubmitDialog"; +import ReviewEmptyCurrLegend from "@/components/statistics/review/ReviewEmptyCurrLegend"; import { ReviewOpinionDialog, type ReviewOpinionDialogContext, } from "@/components/statistics/review/ReviewOpinionDialog"; +import { ReviewSubmitDialog } from "@/components/statistics/review/ReviewSubmitDialog"; import type { ColumnConfig, ColumnInfo, ColumnInfoList } from "@/components/type/DataGrid.type"; import type { SearchFormValues } from "@/components/type/SearchForm.type"; import { WaterReuseInfoListRvw } from "@/components/util/column/review/WaterReuseRvwColumn"; import { toGridRows } from "@/components/util/grid/gridFunction"; import { buildReviewCellStyleCallbackByTab } from "@/components/util/grid/reviewEmptyCurrCellStyle"; -import ReviewEmptyCurrLegend from "@/components/statistics/review/ReviewEmptyCurrLegend"; const firstTabKey = WaterReuseInfoListRvw[0]?.tabKey ?? "ST00100001"; diff --git a/apps/st/src/components/statistics/total/ExcretaTreatmentFacilityTot.tsx b/apps/st/src/components/statistics/total/ExcretaTreatmentFacilityTot.tsx index 65b9ea4d2..eac3fab6a 100644 --- a/apps/st/src/components/statistics/total/ExcretaTreatmentFacilityTot.tsx +++ b/apps/st/src/components/statistics/total/ExcretaTreatmentFacilityTot.tsx @@ -1,24 +1,23 @@ import { useRef, useState } from "react"; import { useAlertStore } from "@/shared/lib"; -import { LoadingWithAnimation } from "@common/components"; - -import SearchForm from "@/components/module/SearchForm"; -import DataGrid from "@/components/module/DataGrid"; -import type { ColumnInfo } from "@/components/type/DataGrid.type"; -import type { SearchFormValues } from "@/components/type/SearchForm.type"; -import { toGridRows } from "@/components/util/grid/gridFunction"; - -// 분리된 분뇨처리시설용 컬럼 구성 임포트 -import { ExcretaTreatmentStatusColumnConfig } from "@/components/util/column/total/SewerExcretaTreatmentStatusColumn"; - // 집계표(TOTAL) API 및 인터페이스 명세 호출 import { statisticsTotalStatusApi } from "@/entities/statistics/api/statistics-total-service"; import type { ExcretaTreatmentMaintainTotalRequest } from "@/entities/statistics/model/statistics-total/statistics-excreta-treatment-total-interface"; +import { LoadingWithAnimation } from "@common/components"; + import CellColorInfo from "./CellColorInfo"; +import DataGrid from "@/components/module/DataGrid"; +import SearchForm from "@/components/module/SearchForm"; +import type { ColumnInfo } from "@/components/type/DataGrid.type"; +import type { SearchFormValues } from "@/components/type/SearchForm.type"; +// 분리된 분뇨처리시설용 컬럼 구성 임포트 +import { ExcretaTreatmentStatusColumnConfig } from "@/components/util/column/total/SewerExcretaTreatmentStatusColumn"; +import { toGridRows } from "@/components/util/grid/gridFunction"; + const ExcretaTreatmentFacilityTot = () => { const { setMessage: alert } = useAlertStore((state) => state); diff --git a/apps/st/src/components/statistics/total/PrivateSewageFacilityTot.tsx b/apps/st/src/components/statistics/total/PrivateSewageFacilityTot.tsx index ef54dc19c..c34f17122 100644 --- a/apps/st/src/components/statistics/total/PrivateSewageFacilityTot.tsx +++ b/apps/st/src/components/statistics/total/PrivateSewageFacilityTot.tsx @@ -1,26 +1,25 @@ import { useRef, useState } from "react"; import { useAlertStore } from "@/shared/lib"; -import { LoadingWithAnimation, Tabs, TabsContent, TabsList, TabsTrigger } from "@common/components"; - -import SearchForm from "@/components/module/SearchForm"; -import DataGrid from "@/components/module/DataGrid"; -import type { ColumnInfo } from "@/components/type/DataGrid.type"; -import type { SearchFormValues } from "@/components/type/SearchForm.type"; -import { toGridRows } from "@/components/util/grid/gridFunction"; - -// 분리된 개별 3개 컬럼 스펙 파일 로드 -import { PrivateSewageTab1ColumnConfig } from "@/components/util/column/total/sewerPrivateSewageColumn/SewerPrivateSewageTab1Column"; -import { PrivateSewageTab2ColumnConfig } from "@/components/util/column/total/sewerPrivateSewageColumn/SewerPrivateSewageTab2Column"; -import { PrivateSewageTab3ColumnConfig } from "@/components/util/column/total/sewerPrivateSewageColumn/SewerPrivateSewageTab3Column"; - // 통계 API 서비스 및 통합 DTO 명세 임포트 import { statisticsTotalStatusApi } from "@/entities/statistics/api/statistics-total-service"; import type { PrivateSewageFacilitySummaryRequest } from "@/entities/statistics/model/statistics-total/statistics-private-sewage-total-interface"; +import { LoadingWithAnimation, Tabs, TabsContent, TabsList, TabsTrigger } from "@common/components"; + import CellColorInfo from "./CellColorInfo"; +import DataGrid from "@/components/module/DataGrid"; +import SearchForm from "@/components/module/SearchForm"; +import type { ColumnInfo } from "@/components/type/DataGrid.type"; +import type { SearchFormValues } from "@/components/type/SearchForm.type"; +// 분리된 개별 3개 컬럼 스펙 파일 로드 +import { PrivateSewageTab1ColumnConfig } from "@/components/util/column/total/sewerPrivateSewageColumn/SewerPrivateSewageTab1Column"; +import { PrivateSewageTab2ColumnConfig } from "@/components/util/column/total/sewerPrivateSewageColumn/SewerPrivateSewageTab2Column"; +import { PrivateSewageTab3ColumnConfig } from "@/components/util/column/total/sewerPrivateSewageColumn/SewerPrivateSewageTab3Column"; +import { toGridRows } from "@/components/util/grid/gridFunction"; + const PrivateSewageColumnListTot = [ PrivateSewageTab1ColumnConfig, PrivateSewageTab2ColumnConfig, diff --git a/apps/st/src/components/statistics/total/PublicSewageFacilityTot.tsx b/apps/st/src/components/statistics/total/PublicSewageFacilityTot.tsx index f2c816083..6b9190a1b 100644 --- a/apps/st/src/components/statistics/total/PublicSewageFacilityTot.tsx +++ b/apps/st/src/components/statistics/total/PublicSewageFacilityTot.tsx @@ -1,15 +1,16 @@ import { useState } from "react"; +import { useAlertStore } from "@/shared/lib"; +import { statisticsTotalStatusApi } from "@/entities/statistics/api/statistics-total-service"; +import { LoadingWithAnimation } from "@common/components"; + +import CellColorInfo from "./CellColorInfo"; + +import DataGrid from "@/components/module/DataGrid"; +import SearchForm from "@/components/module/SearchForm"; import type { SearchFormValues } from "@/components/type/SearchForm.type"; import { PublicSewageFacilityColumn } from "@/components/util/column/total/PublicSewageFacilityColumn"; -import { statisticsTotalStatusApi } from "@/entities/statistics/api/statistics-total-service"; import { toGridRows } from "@/components/util/grid/gridFunction"; -import { useAlertStore } from "@/shared/lib"; - -import SearchForm from "@/components/module/SearchForm"; -import DataGrid from "@/components/module/DataGrid"; -import CellColorInfo from "./CellColorInfo"; -import { LoadingWithAnimation } from "@common/components"; const PublicSewageFacilityTot = () => { const [rowData, setRowData] = useState[]>([]); diff --git a/apps/st/src/components/statistics/total/PumpingStationTot.tsx b/apps/st/src/components/statistics/total/PumpingStationTot.tsx index 590609ea7..dc6f4e4b6 100644 --- a/apps/st/src/components/statistics/total/PumpingStationTot.tsx +++ b/apps/st/src/components/statistics/total/PumpingStationTot.tsx @@ -1,24 +1,23 @@ import { useRef, useState } from "react"; import { useAlertStore } from "@/shared/lib"; -import { LoadingWithAnimation } from "@common/components"; - -import SearchForm from "@/components/module/SearchForm"; -import DataGrid from "@/components/module/DataGrid"; -import type { ColumnInfo } from "@/components/type/DataGrid.type"; -import type { SearchFormValues } from "@/components/type/SearchForm.type"; -import { toGridRows } from "@/components/util/grid/gridFunction"; - -// 분리된 중계펌프장용 컬럼 구성 임포트 -import { MediationPumpStatusColumnConfig } from "@/components/util/column/total/SewerMediationPumpStatusColumn"; - // 집계표(TOTAL) API 및 인터페이스 명세 호출 import { statisticsTotalStatusApi } from "@/entities/statistics/api/statistics-total-service"; import type { MediationPumpMaintainTotalRequest } from "@/entities/statistics/model/statistics-total/statistics-mediation-pump-total-interface"; +import { LoadingWithAnimation } from "@common/components"; + import CellColorInfo from "./CellColorInfo"; +import DataGrid from "@/components/module/DataGrid"; +import SearchForm from "@/components/module/SearchForm"; +import type { ColumnInfo } from "@/components/type/DataGrid.type"; +import type { SearchFormValues } from "@/components/type/SearchForm.type"; +// 분리된 중계펌프장용 컬럼 구성 임포트 +import { MediationPumpStatusColumnConfig } from "@/components/util/column/total/SewerMediationPumpStatusColumn"; +import { toGridRows } from "@/components/util/grid/gridFunction"; + const PumpingStationTot = () => { const { setMessage: alert } = useAlertStore((state) => state); diff --git a/apps/st/src/components/statistics/total/SewageExcretaRelatedTot.tsx b/apps/st/src/components/statistics/total/SewageExcretaRelatedTot.tsx index 87640582b..715026fda 100644 --- a/apps/st/src/components/statistics/total/SewageExcretaRelatedTot.tsx +++ b/apps/st/src/components/statistics/total/SewageExcretaRelatedTot.tsx @@ -1,25 +1,26 @@ import { useRef, useState } from "react"; -import { useAlertStore } from "@/shared/lib"; -import { LoadingWithAnimation, Tabs, TabsContent, TabsList, TabsTrigger } from "@common/components"; -import SearchForm from "@/components/module/SearchForm"; -import DataGrid from "@/components/module/DataGrid"; -import type { SearchFormValues } from "@/components/type/SearchForm.type"; -import { toGridRows } from "@/components/util/grid/gridFunction"; -import CellColorInfo from "./CellColorInfo"; -// 12. 하수 및 분뇨 관리 산업 탭 설정 (경로 확인 필수) -import { PublicSewageStaffTab1ColumnConfig } from "@/components/util/column/total/sewageExcretaIndustry/PublicSewageStaffTab1Column"; -import { PublicHumanWasteStaffTab2ColumnConfig } from "@/components/util/column/total/sewageExcretaIndustry/PublicHumanWasteStaffTab2Column"; -import { HumanWasteCollectionTab3ColumnConfig } from "@/components/util/column/total/sewageExcretaIndustry/HumanWasteCollectionTab3Column"; -import { IndividualSewageTab4ColumnConfig } from "@/components/util/column/total/sewageExcretaIndustry/IndividualSewageTab4Column"; +import { useAlertStore } from "@/shared/lib"; import { statisticsTotalStatusApi } from "@/entities/statistics/api/statistics-total-service"; import type { - SewerageIndustry, - PublicSewageStaffTab1Response, - PublicHumanWasteStaffTab2Response, HumanWasteCollectionTab3Response, - IndividualSewageTab4Response -} from "@/entities/statistics/model/statistics-total/statistics-sewerage-industry-interface"; + IndividualSewageTab4Response, + PublicHumanWasteStaffTab2Response, + PublicSewageStaffTab1Response, + SewerageIndustry} from "@/entities/statistics/model/statistics-total/statistics-sewerage-industry-interface"; +import { LoadingWithAnimation, Tabs, TabsContent, TabsList, TabsTrigger } from "@common/components"; + +import CellColorInfo from "./CellColorInfo"; + +import DataGrid from "@/components/module/DataGrid"; +import SearchForm from "@/components/module/SearchForm"; +import type { SearchFormValues } from "@/components/type/SearchForm.type"; +import { HumanWasteCollectionTab3ColumnConfig } from "@/components/util/column/total/sewageExcretaIndustry/HumanWasteCollectionTab3Column"; +import { IndividualSewageTab4ColumnConfig } from "@/components/util/column/total/sewageExcretaIndustry/IndividualSewageTab4Column"; +import { PublicHumanWasteStaffTab2ColumnConfig } from "@/components/util/column/total/sewageExcretaIndustry/PublicHumanWasteStaffTab2Column"; +// 12. 하수 및 분뇨 관리 산업 탭 설정 (경로 확인 필수) +import { PublicSewageStaffTab1ColumnConfig } from "@/components/util/column/total/sewageExcretaIndustry/PublicSewageStaffTab1Column"; +import { toGridRows } from "@/components/util/grid/gridFunction"; const SewageExcretaIndustryColumnListTot = [PublicSewageStaffTab1ColumnConfig,PublicHumanWasteStaffTab2ColumnConfig,HumanWasteCollectionTab3ColumnConfig,IndividualSewageTab4ColumnConfig].filter(Boolean); const firstTabKey = SewageExcretaIndustryColumnListTot[0]?.tabKey ?? "ST00120001"; diff --git a/apps/st/src/components/statistics/total/SewageExcretaSlurgeTot.tsx b/apps/st/src/components/statistics/total/SewageExcretaSlurgeTot.tsx index 5109ed316..bc5eaa490 100644 --- a/apps/st/src/components/statistics/total/SewageExcretaSlurgeTot.tsx +++ b/apps/st/src/components/statistics/total/SewageExcretaSlurgeTot.tsx @@ -1,30 +1,28 @@ import { useRef, useState } from "react"; import { useAlertStore } from "@/shared/lib"; -import { LoadingWithAnimation, Tabs, TabsContent, TabsList, TabsTrigger } from "@common/components"; - -import SearchForm from "@/components/module/SearchForm"; -import DataGrid from "@/components/module/DataGrid"; -import type { SearchFormValues } from "@/components/type/SearchForm.type"; -import { toGridRows } from "@/components/util/grid/gridFunction"; - -// 4개 탭 컬럼 설정 임포트 -import { SludgeProcessingTab1ColumnConfig } from "@/components/util/column/total/sludgeProcessing/SludgeProcessingTab1Column"; -import { DigestionTankTab2ColumnConfig } from "@/components/util/column/total/sludgeProcessing/DigestionTankTab2Column"; -import { SewageSludgeOperTab3ColumnConfig } from "@/components/util/column/total/sludgeProcessing/SewageSludgeOperTab3Column"; -import { HumanWasteSludgeTab4ColumnConfig } from "@/components/util/column/total/sludgeProcessing/HumanWasteSludgeTab4Column"; - // API 인스턴스 및 인터페이스 임포트 (타입 안전성 확보) import { statisticsTotalStatusApi } from "@/entities/statistics/api/statistics-total-service"; import type { - SludgeSummaryRequest, - SludgeProcessingTab1Response, DigestionTankOperTab2Response, + HumanWasteSludgeTab4Response, SewageSludgeOperTab3Response, - HumanWasteSludgeTab4Response -} from "@/entities/statistics/model/statistics-total/statistics-sludge-total-interface"; + SludgeProcessingTab1Response, + SludgeSummaryRequest} from "@/entities/statistics/model/statistics-total/statistics-sludge-total-interface"; +import { LoadingWithAnimation, Tabs, TabsContent, TabsList, TabsTrigger } from "@common/components"; + import CellColorInfo from "./CellColorInfo"; +import DataGrid from "@/components/module/DataGrid"; +import SearchForm from "@/components/module/SearchForm"; +import type { SearchFormValues } from "@/components/type/SearchForm.type"; +import { DigestionTankTab2ColumnConfig } from "@/components/util/column/total/sludgeProcessing/DigestionTankTab2Column"; +import { HumanWasteSludgeTab4ColumnConfig } from "@/components/util/column/total/sludgeProcessing/HumanWasteSludgeTab4Column"; +import { SewageSludgeOperTab3ColumnConfig } from "@/components/util/column/total/sludgeProcessing/SewageSludgeOperTab3Column"; +// 4개 탭 컬럼 설정 임포트 +import { SludgeProcessingTab1ColumnConfig } from "@/components/util/column/total/sludgeProcessing/SludgeProcessingTab1Column"; +import { toGridRows } from "@/components/util/grid/gridFunction"; + // 탭 순회 설정 const SludgeColumnListTot = [ SludgeProcessingTab1ColumnConfig, diff --git a/apps/st/src/components/statistics/total/SewagePipeMaintainTot.tsx b/apps/st/src/components/statistics/total/SewagePipeMaintainTot.tsx index 6252fc6b9..b9744bea8 100644 --- a/apps/st/src/components/statistics/total/SewagePipeMaintainTot.tsx +++ b/apps/st/src/components/statistics/total/SewagePipeMaintainTot.tsx @@ -2,15 +2,15 @@ import { useRef, useState } from "react"; import { useAlertStore } from "@/shared/lib"; import { statisticsTotalStatusApi } from "@/entities/statistics/api/statistics-total-service"; +import type { SewagePipeMaintainTotalRequest } from "@/entities/statistics/model/statistics-total/statistics-sewage-pipe-maintain-total-interface"; import { LoadingWithAnimation, Tabs, TabsContent, TabsList, TabsTrigger } from "@common/components"; -import SearchForm from "@/components/module/SearchForm"; import DataGrid from "@/components/module/DataGrid"; +import SearchForm from "@/components/module/SearchForm"; import type { ColumnInfo } from "@/components/type/DataGrid.type"; import type { SearchFormValues } from "@/components/type/SearchForm.type"; import { SewagePipeMaintainColumnListTot } from "@/components/util/column/total/sewagePipeMaintain/sewagePipeMaintainColumn"; import { toGridRows } from "@/components/util/grid/gridFunction"; -import type { SewagePipeMaintainTotalRequest } from "@/entities/statistics/model/statistics-total/statistics-sewage-pipe-maintain-total-interface"; const firstTabKey = SewagePipeMaintainColumnListTot[0]?.tabKey ?? "ST00030001"; diff --git a/apps/st/src/components/statistics/total/SewagePipeTot.tsx b/apps/st/src/components/statistics/total/SewagePipeTot.tsx index ab530fc28..217db48dc 100644 --- a/apps/st/src/components/statistics/total/SewagePipeTot.tsx +++ b/apps/st/src/components/statistics/total/SewagePipeTot.tsx @@ -2,16 +2,17 @@ import { useRef, useState } from "react"; import { useAlertStore } from "@/shared/lib"; import { statisticsTotalStatusApi } from "@/entities/statistics/api/statistics-total-service"; +import type { SewagePipeTotalRequest } from "@/entities/statistics/model/statistics-total/statistics-sewage-pipe-total-interface"; import { LoadingWithAnimation, Tabs, TabsContent, TabsList, TabsTrigger } from "@common/components"; -import SearchForm from "@/components/module/SearchForm"; +import CellColorInfo from "./CellColorInfo"; + import DataGrid from "@/components/module/DataGrid"; +import SearchForm from "@/components/module/SearchForm"; import type { ColumnInfo } from "@/components/type/DataGrid.type"; import type { SearchFormValues } from "@/components/type/SearchForm.type"; -import { SewagePipeColumnInfoListTot, getST00020003Config, getST00020005Config } from "@/components/util/column/total/SewagePipeTotColumn"; +import { getST00020003Config, getST00020005Config,SewagePipeColumnInfoListTot } from "@/components/util/column/total/SewagePipeTotColumn"; import { toGridRows } from "@/components/util/grid/gridFunction"; -import type { SewagePipeTotalRequest } from "@/entities/statistics/model/statistics-total/statistics-sewage-pipe-total-interface"; -import CellColorInfo from "./CellColorInfo"; const firstTabKey = SewagePipeColumnInfoListTot[0]?.tabKey ?? "ST00020001"; diff --git a/apps/st/src/components/statistics/total/SewageReservoirPumpTot.tsx b/apps/st/src/components/statistics/total/SewageReservoirPumpTot.tsx index 000d09365..4d60d1c0c 100644 --- a/apps/st/src/components/statistics/total/SewageReservoirPumpTot.tsx +++ b/apps/st/src/components/statistics/total/SewageReservoirPumpTot.tsx @@ -1,25 +1,24 @@ import { useRef, useState } from "react"; import { useAlertStore } from "@/shared/lib"; -import { LoadingWithAnimation, Tabs, TabsContent, TabsList, TabsTrigger } from "@common/components"; - -import SearchForm from "@/components/module/SearchForm"; -import DataGrid from "@/components/module/DataGrid"; -import type { ColumnInfo } from "@/components/type/DataGrid.type"; -import type { SearchFormValues } from "@/components/type/SearchForm.type"; -import { toGridRows } from "@/components/util/grid/gridFunction"; - -// 분리된 개별 컬럼 구성 임포트 경로 유지 -import { ReservoirStatusColumnConfig } from "@/components/util/column/total/sewerReservoir/SewerReservoirStatusColumn"; -import { PumpStationStatusColumnConfig } from "@/components/util/column/total/sewerReservoir/SewerPumpStationStatusColumn"; - // 수정 적용한 API 및 인터페이스 명세 호출 유지 import { statisticsTotalStatusApi } from "@/entities/statistics/api/statistics-total-service"; import type { SewerReservoirMaintainTotalRequest } from "@/entities/statistics/model/statistics-total/statistics-sewage-reservoir-total-interface"; +import { LoadingWithAnimation, Tabs, TabsContent, TabsList, TabsTrigger } from "@common/components"; + import CellColorInfo from "./CellColorInfo"; +import DataGrid from "@/components/module/DataGrid"; +import SearchForm from "@/components/module/SearchForm"; +import type { ColumnInfo } from "@/components/type/DataGrid.type"; +import type { SearchFormValues } from "@/components/type/SearchForm.type"; +import { PumpStationStatusColumnConfig } from "@/components/util/column/total/sewerReservoir/SewerPumpStationStatusColumn"; +// 분리된 개별 컬럼 구성 임포트 경로 유지 +import { ReservoirStatusColumnConfig } from "@/components/util/column/total/sewerReservoir/SewerReservoirStatusColumn"; +import { toGridRows } from "@/components/util/grid/gridFunction"; + const SewerReservoirColumnListTot = [ ReservoirStatusColumnConfig, PumpStationStatusColumnConfig diff --git a/apps/st/src/components/statistics/total/SewerageFinanceTot.tsx b/apps/st/src/components/statistics/total/SewerageFinanceTot.tsx index 3e4c157c7..4106a4a43 100644 --- a/apps/st/src/components/statistics/total/SewerageFinanceTot.tsx +++ b/apps/st/src/components/statistics/total/SewerageFinanceTot.tsx @@ -1,27 +1,26 @@ import { useRef, useState } from "react"; import { useAlertStore } from "@/shared/lib"; -import { LoadingWithAnimation, Tabs, TabsContent, TabsList, TabsTrigger } from "@common/components"; - -import SearchForm from "@/components/module/SearchForm"; -import DataGrid from "@/components/module/DataGrid"; -import type { ColumnInfo } from "@/components/type/DataGrid.type"; -import type { SearchFormValues } from "@/components/type/SearchForm.type"; -import { toGridRows } from "@/components/util/grid/gridFunction"; - -// 분리된 4개 개별 탭 컬럼 파일 바인딩 -import { SewerageFinancialTab1ColumnConfig } from "@/components/util/column/total/sewerageFinancial/SewerageFinancialTab1Column"; -import { SewerageFeeTab2ColumnConfig } from "@/components/util/column/total/sewerageFinancial/SewerageFeeTab2Column"; -import { SewerageUsageFeeTab3ColumnConfig } from "@/components/util/column/total/sewerageFinancial/SewerageUsageFeeTab3Column"; -import { SewerageOrgCauseTab4ColumnConfig } from "@/components/util/column/total/sewerageFinancial/SewerageOrgCauseTab4Column"; - // API 인스턴스 및 인터페이스 호출 import { statisticsTotalStatusApi } from "@/entities/statistics/api/statistics-total-service"; import type { SewerageFinanceSummaryRequest } from "@/entities/statistics/model/statistics-total/statistics-sewerage-finance-total-interface"; +import { LoadingWithAnimation, Tabs, TabsContent, TabsList, TabsTrigger } from "@common/components"; + import CellColorInfo from "./CellColorInfo"; +import DataGrid from "@/components/module/DataGrid"; +import SearchForm from "@/components/module/SearchForm"; +import type { ColumnInfo } from "@/components/type/DataGrid.type"; +import type { SearchFormValues } from "@/components/type/SearchForm.type"; +import { SewerageFeeTab2ColumnConfig } from "@/components/util/column/total/sewerageFinancial/SewerageFeeTab2Column"; +// 분리된 4개 개별 탭 컬럼 파일 바인딩 +import { SewerageFinancialTab1ColumnConfig } from "@/components/util/column/total/sewerageFinancial/SewerageFinancialTab1Column"; +import { SewerageOrgCauseTab4ColumnConfig } from "@/components/util/column/total/sewerageFinancial/SewerageOrgCauseTab4Column"; +import { SewerageUsageFeeTab3ColumnConfig } from "@/components/util/column/total/sewerageFinancial/SewerageUsageFeeTab3Column"; +import { toGridRows } from "@/components/util/grid/gridFunction"; + const SewerageFinanceColumnListTot = [ SewerageFinancialTab1ColumnConfig, SewerageFeeTab2ColumnConfig, diff --git a/apps/st/src/components/statistics/total/SeweragePenetrationRateTot.tsx b/apps/st/src/components/statistics/total/SeweragePenetrationRateTot.tsx index 34cc52e32..9766717f5 100644 --- a/apps/st/src/components/statistics/total/SeweragePenetrationRateTot.tsx +++ b/apps/st/src/components/statistics/total/SeweragePenetrationRateTot.tsx @@ -1,15 +1,16 @@ import { useState } from "react"; +import { useAlertStore } from "@/shared/lib"; +import { statisticsTotalStatusApi } from "@/entities/statistics/api/statistics-total-service"; +import { LoadingWithAnimation } from "@common/components"; + +import CellColorInfo from "./CellColorInfo"; + +import DataGrid from "@/components/module/DataGrid"; +import SearchForm from "@/components/module/SearchForm"; import type { SearchFormValues } from "@/components/type/SearchForm.type"; import { SeweragePentrationRateTotColumn } from "@/components/util/column/total/SeweragePentrationRateTotColumn"; -import { statisticsTotalStatusApi } from "@/entities/statistics/api/statistics-total-service"; import { toGridRows } from "@/components/util/grid/gridFunction"; -import { useAlertStore } from "@/shared/lib"; - -import SearchForm from "@/components/module/SearchForm"; -import DataGrid from "@/components/module/DataGrid"; -import CellColorInfo from "./CellColorInfo"; -import { LoadingWithAnimation } from "@common/components"; const SeweragePenetrationRateTot = () => { const [rowData, setRowData] = useState[]>([]); diff --git a/apps/st/src/components/statistics/total/SewerageServiceLevelTot.tsx b/apps/st/src/components/statistics/total/SewerageServiceLevelTot.tsx index 2c4a73292..0f493bc1d 100644 --- a/apps/st/src/components/statistics/total/SewerageServiceLevelTot.tsx +++ b/apps/st/src/components/statistics/total/SewerageServiceLevelTot.tsx @@ -1,22 +1,23 @@ import { useRef, useState } from "react"; + import { useAlertStore } from "@/shared/lib"; +import { statisticsTotalStatusApi } from "@/entities/statistics/api/statistics-total-service"; +import type { + SewerageServiceLevelComplaintResponse, + SewerageServiceLevelRequest, + SewerageServiceLevelResidentFriendlyFactResponse +} from "@/entities/statistics/model/statistics-total/statistics-service-level-total-interface"; import { LoadingWithAnimation, Tabs, TabsContent, TabsList, TabsTrigger } from "@common/components"; -import SearchForm from "@/components/module/SearchForm"; -import DataGrid from "@/components/module/DataGrid"; -import type { SearchFormValues } from "@/components/type/SearchForm.type"; -import { toGridRows } from "@/components/util/grid/gridFunction"; + import CellColorInfo from "./CellColorInfo"; +import DataGrid from "@/components/module/DataGrid"; +import SearchForm from "@/components/module/SearchForm"; +import type { SearchFormValues } from "@/components/type/SearchForm.type"; // 13. 하수도서비스수준 컬럼 설정 import { SewageComplaintTab1ColumnConfig } from "@/components/util/column/total/sewerageServiceLevel/ComplaintTotColumn"; import { ResidentFriendlyFacilityTab2ColumnConfig } from "@/components/util/column/total/sewerageServiceLevel/ResidentFriendlyFactTotColumn"; - -import { statisticsTotalStatusApi } from "@/entities/statistics/api/statistics-total-service"; -import type { - SewerageServiceLevelRequest, - SewerageServiceLevelComplaintResponse, - SewerageServiceLevelResidentFriendlyFactResponse -} from "@/entities/statistics/model/statistics-total/statistics-service-level-total-interface"; +import { toGridRows } from "@/components/util/grid/gridFunction"; const SewageServiceLevelColumnListTot = [ SewageComplaintTab1ColumnConfig, diff --git a/apps/st/src/components/statistics/total/WaterReuseTot.tsx b/apps/st/src/components/statistics/total/WaterReuseTot.tsx index 23d37118b..d3d56eabb 100644 --- a/apps/st/src/components/statistics/total/WaterReuseTot.tsx +++ b/apps/st/src/components/statistics/total/WaterReuseTot.tsx @@ -1,28 +1,28 @@ import { useRef, useState } from "react"; import { useAlertStore } from "@/shared/lib"; -import { LoadingWithAnimation, Tabs, TabsContent, TabsList, TabsTrigger } from "@common/components"; - -import SearchForm from "../../module/SearchForm"; -import DataGrid from "@/components/module/DataGrid"; -import type { ColumnInfo } from "@/components/type/DataGrid.type"; -import type { SearchFormValues } from "@/components/type/SearchForm.type"; -import { toGridRows } from "@/components/util/grid/gridFunction"; - -// [폴더 정밀 정비 완료] 프로젝트 트리 구조 5개 컬럼 스펙 패키지 호출 -import { SewerageReuseTab1ColumnConfig } from "@/components/util/column/total/sewerageReuse/SewerageReuseTab1Column"; -import { SewerageGrayWaterTab2ColumnConfig } from "@/components/util/column/total/sewerageReuse/SewerageGrayWaterTab2Column"; -import { SewerageRainwaterTab3ColumnConfig } from "@/components/util/column/total/sewerageReuse/SewerageRainwaterTab3Column"; -import { SewerageWwtRtlztnRegTab4ColumnConfig } from "@/components/util/column/total/sewerageReuse/SewerageWwtRtlztnRegTab4Column"; -import { SewerageWwtRtlztnSncnTab5ColumnConfig } from "@/components/util/column/total/sewerageReuse/SewerageWwtRtlztnSncnTab5Column"; - // 집계표(TOTAL) API 서비스 및 인터페이스 명세 임포트 import { statisticsTotalStatusApi } from "@/entities/statistics/api/statistics-total-service"; import type { WaterReuseSummaryRequest } from "@/entities/statistics/model/statistics-total/statistics-sewerage-reuse-total-interface"; +import { LoadingWithAnimation, Tabs, TabsContent, TabsList, TabsTrigger } from "@common/components"; + +import SearchForm from "../../module/SearchForm"; + import CellColorInfo from "./CellColorInfo"; +import DataGrid from "@/components/module/DataGrid"; +import type { ColumnInfo } from "@/components/type/DataGrid.type"; +import type { SearchFormValues } from "@/components/type/SearchForm.type"; +import { SewerageGrayWaterTab2ColumnConfig } from "@/components/util/column/total/sewerageReuse/SewerageGrayWaterTab2Column"; +import { SewerageRainwaterTab3ColumnConfig } from "@/components/util/column/total/sewerageReuse/SewerageRainwaterTab3Column"; +// [폴더 정밀 정비 완료] 프로젝트 트리 구조 5개 컬럼 스펙 패키지 호출 +import { SewerageReuseTab1ColumnConfig } from "@/components/util/column/total/sewerageReuse/SewerageReuseTab1Column"; +import { SewerageWwtRtlztnRegTab4ColumnConfig } from "@/components/util/column/total/sewerageReuse/SewerageWwtRtlztnRegTab4Column"; +import { SewerageWwtRtlztnSncnTab5ColumnConfig } from "@/components/util/column/total/sewerageReuse/SewerageWwtRtlztnSncnTab5Column"; +import { toGridRows } from "@/components/util/grid/gridFunction"; + // 5개 멀티 탭 매핑을 위한 설정 취합 배열 const WaterReuseColumnListTot = [ SewerageReuseTab1ColumnConfig, diff --git a/apps/st/src/components/statistics/verification/generalVerification/CopyDialog.tsx b/apps/st/src/components/statistics/verification/generalVerification/CopyDialog.tsx index bb2f30974..1732fd933 100644 --- a/apps/st/src/components/statistics/verification/generalVerification/CopyDialog.tsx +++ b/apps/st/src/components/statistics/verification/generalVerification/CopyDialog.tsx @@ -1,26 +1,26 @@ -import { useState, useEffect } from "react"; +import { useEffect,useState } from "react"; +import { useConfirm } from "@frontend-opensource/use-react-hooks"; + +import { useAlertStore } from "@/shared/lib"; +import { CodeSelect } from "@/entities/code"; +import { generalverificationApiService } from "@/entities/statistics/api/general-verification-service"; +import type { GeneralverificationList } from "@/entities/statistics/model/general-verification-interface"; import { Button, Dialog, + DialogClose, DialogContent, DialogFooter, DialogHeader, DialogTitle, DialogTrigger, - DialogClose, - Label, Input, + Label, } from "@common/components"; -import { CodeSelect } from "@/entities/code"; -import { useAlertStore } from "@/shared/lib"; -import { useConfirm } from "@frontend-opensource/use-react-hooks"; -import { getUserInfo } from "../../../../../../../packages/common/components/src/api"; import { LoadingWithAnimation } from "@common/components"; -import { generalverificationApiService } from "@/entities/statistics/api/general-verification-service"; - -import type { GeneralverificationList } from "@/entities/statistics/model/general-verification-interface"; +import { getUserInfo } from "../../../../../../../packages/common/components/src/api"; interface CopyDialogProps { open: boolean; diff --git a/apps/st/src/components/statistics/verification/generalVerification/FomulaDialog.tsx b/apps/st/src/components/statistics/verification/generalVerification/FomulaDialog.tsx index 13de647fd..956eb6f7a 100644 --- a/apps/st/src/components/statistics/verification/generalVerification/FomulaDialog.tsx +++ b/apps/st/src/components/statistics/verification/generalVerification/FomulaDialog.tsx @@ -1,24 +1,22 @@ import { useEffect, useRef, useState } from "react"; +import { useAlertStore } from "@/shared/lib"; +import { CodeSelect } from "@/entities/code"; +import { generalverificationApiService } from "@/entities/statistics/api/general-verification-service"; +import type { SelectedVerifyColumnListResponseData,VerifyColumnListResponseData, VerifyDetailResponseDto } from "@/entities/statistics/model/general-verification-interface"; import { Button, + Checkbox, Dialog, + DialogClose, DialogContent, DialogFooter, DialogHeader, DialogTitle, - DialogClose, - Textarea, - Skeleton, Input, - Checkbox, + Skeleton, + Textarea, } from "@common/components"; -import { CodeSelect } from "@/entities/code"; - -import { generalverificationApiService } from "@/entities/statistics/api/general-verification-service"; -import type { VerifyDetailResponseDto, VerifyColumnListResponseData, SelectedVerifyColumnListResponseData } from "@/entities/statistics/model/general-verification-interface"; - -import { useAlertStore } from "@/shared/lib"; export interface FomulaDialogConfirmPayload { kornArtopnEqtnCn: string; diff --git a/apps/st/src/components/statistics/verification/generalVerification/FormulaComponents.tsx b/apps/st/src/components/statistics/verification/generalVerification/FormulaComponents.tsx index f1bb26e73..ec27bb399 100644 --- a/apps/st/src/components/statistics/verification/generalVerification/FormulaComponents.tsx +++ b/apps/st/src/components/statistics/verification/generalVerification/FormulaComponents.tsx @@ -1,6 +1,5 @@ -import { Button, Input } from "@common/components"; - import type { VerifyDetailResponseDto } from "@/entities/statistics/model/general-verification-interface"; +import { Button, Input } from "@common/components"; import OperatorsComponents from "./OperatorsComponents"; diff --git a/apps/st/src/components/statistics/verification/generalVerification/OperatorsComponents.tsx b/apps/st/src/components/statistics/verification/generalVerification/OperatorsComponents.tsx index 75f670f12..fc93e698f 100644 --- a/apps/st/src/components/statistics/verification/generalVerification/OperatorsComponents.tsx +++ b/apps/st/src/components/statistics/verification/generalVerification/OperatorsComponents.tsx @@ -1,15 +1,14 @@ import { useEffect, useState } from "react"; +import { generalverificationApiService } from '@/entities/statistics/api/general-verification-service'; import { Select, - SelectTrigger, SelectContent, - SelectValue, SelectItem, + SelectTrigger, + SelectValue, } from "@common/components"; -import { generalverificationApiService } from '@/entities/statistics/api/general-verification-service'; - type OperatorItem = { opertSn: string; opertSymbl: string; diff --git a/apps/st/src/components/statistics/verification/generalVerification/RegistDialog.tsx b/apps/st/src/components/statistics/verification/generalVerification/RegistDialog.tsx index 9775a7b73..78d5c7bd2 100644 --- a/apps/st/src/components/statistics/verification/generalVerification/RegistDialog.tsx +++ b/apps/st/src/components/statistics/verification/generalVerification/RegistDialog.tsx @@ -1,45 +1,46 @@ "use client"; -import { useEffect, memo, useRef, useState } from "react"; +import { memo, useEffect, useRef, useState } from "react"; import { useForm } from "react-hook-form"; + +import { useConfirm } from "@frontend-opensource/use-react-hooks"; import { zodResolver } from "@hookform/resolvers/zod"; import { useQuery } from "@tanstack/react-query"; +import { ENDPOINT } from "@/shared/config"; +import { useAlertStore } from "@/shared/lib"; +import { Form, FormControl,FormField, FormItem } from "@/shared/ui/form"; +import { CodeSelect } from "@/entities/code"; +import { generalverificationApiService } from '@/entities/statistics/api/general-verification-service'; +import type { RegistVrfcMasterRequest,UpdateVrfcMasterRequest } from "@/entities/statistics/model/general-verification-interface"; +import { type GeneralVerificationMasterSubmitFormData, generalVerificationMasterSubmitSchema } from '@/entities/statistics/model/general-verification-master-submit-schema'; +import { UserApi } from "@/entities/user/api/user-service"; import { Button, Dialog, + DialogClose, DialogContent, DialogFooter, DialogHeader, DialogTitle, DialogTrigger, - DialogClose, Input, + Label, + RadioGroup, + RadioGroupItem, + Select, + SelectContent, + SelectItem, + SelectTrigger, + SelectValue, + Skeleton, Table, TableBody, TableCell, TableHead, TableRow, - RadioGroup, - RadioGroupItem, - Label, - Select, - SelectTrigger, - SelectContent, - SelectValue, - SelectItem, - Skeleton, } from "@common/components"; -import { Form, FormField, FormItem, FormControl } from "@/shared/ui/form"; -import { ENDPOINT } from "@/shared/config"; -import { CodeSelect } from "@/entities/code"; -import { type GeneralVerificationMasterSubmitFormData, generalVerificationMasterSubmitSchema } from '@/entities/statistics/model/general-verification-master-submit-schema'; -import type { UpdateVrfcMasterRequest, RegistVrfcMasterRequest } from "@/entities/statistics/model/general-verification-interface"; -import { generalverificationApiService } from '@/entities/statistics/api/general-verification-service'; -import { UserApi } from "@/entities/user/api/user-service"; -import { useConfirm } from "@frontend-opensource/use-react-hooks"; -import { useAlertStore } from "@/shared/lib"; import { getUserInfo } from "../../../../../../../packages/common/components/src/api"; interface RegistDialogProps { diff --git a/apps/st/src/components/util/column/input/ExcretaTreatFactInpColumn.ts b/apps/st/src/components/util/column/input/ExcretaTreatFactInpColumn.ts index 16bf51fdd..b61a999bc 100644 --- a/apps/st/src/components/util/column/input/ExcretaTreatFactInpColumn.ts +++ b/apps/st/src/components/util/column/input/ExcretaTreatFactInpColumn.ts @@ -1,6 +1,7 @@ -import { footerInt, footerDecimal1, footerDecimal3 } from "@/components/util/grid/footerSummary"; import { ValueType } from "realgrid"; +import { footerDecimal1, footerDecimal3,footerInt } from "@/components/util/grid/footerSummary"; + /** * 하수도 통계 관리 > 07. 분뇨처리시설 * 단일 Tab diff --git a/apps/st/src/components/util/column/input/PublicSewageFactInpColumn/PublicSewageFactInpColumn.ts b/apps/st/src/components/util/column/input/PublicSewageFactInpColumn/PublicSewageFactInpColumn.ts index 3a8345224..63989d12c 100644 --- a/apps/st/src/components/util/column/input/PublicSewageFactInpColumn/PublicSewageFactInpColumn.ts +++ b/apps/st/src/components/util/column/input/PublicSewageFactInpColumn/PublicSewageFactInpColumn.ts @@ -1,7 +1,8 @@ -import type { ColumnInfoList } from "@/components/type/DataGrid.type"; import { MainFacilityInpColumn } from "./MainFacilityInpColumn"; import { PublicSewageFactColumn } from "./PublicSewageFactColumn"; +import type { ColumnInfoList } from "@/components/type/DataGrid.type"; + export const PublicSewageFactInpColumnList: ColumnInfoList[] = [ PublicSewageFactColumn, MainFacilityInpColumn, diff --git a/apps/st/src/components/util/column/input/PumpingStationInpColumn.ts b/apps/st/src/components/util/column/input/PumpingStationInpColumn.ts index 40020c7c1..3c251514c 100644 --- a/apps/st/src/components/util/column/input/PumpingStationInpColumn.ts +++ b/apps/st/src/components/util/column/input/PumpingStationInpColumn.ts @@ -1,7 +1,8 @@ -import type { ColumnConfig } from "@/components/type/DataGrid.type"; -import { footerInt, footerDecimal1, footerDecimal3 } from "@/components/util/grid/footerSummary"; import { ValueType } from "realgrid"; +import type { ColumnConfig } from "@/components/type/DataGrid.type"; +import { footerDecimal1, footerDecimal3,footerInt } from "@/components/util/grid/footerSummary"; + /** 펌프장 구분(`pumpSeNm`) */ export const PUMPING_STATION_PUMP_SE_VALUES = ["합류식", "분류식"] as const; diff --git a/apps/st/src/components/util/column/input/SeweragePenetrationRateInpColumn.ts b/apps/st/src/components/util/column/input/SeweragePenetrationRateInpColumn.ts index 389f6c11c..28359459c 100644 --- a/apps/st/src/components/util/column/input/SeweragePenetrationRateInpColumn.ts +++ b/apps/st/src/components/util/column/input/SeweragePenetrationRateInpColumn.ts @@ -1,5 +1,6 @@ -import { footerInt, footerDecimal3, footerAvgDecimal } from "@/components/util/grid/footerSummary"; import { ValueType } from "realgrid"; + +import { footerAvgDecimal,footerDecimal3, footerInt } from "@/components/util/grid/footerSummary"; /** * 하수도 통계 관리 > 01. 하수도 보급률 * 단일 Tab diff --git a/apps/st/src/components/util/column/input/privateSewageFacility/PrivateSewageDesigStatusInpColumn.ts b/apps/st/src/components/util/column/input/privateSewageFacility/PrivateSewageDesigStatusInpColumn.ts index 43c28acf9..cee01229b 100644 --- a/apps/st/src/components/util/column/input/privateSewageFacility/PrivateSewageDesigStatusInpColumn.ts +++ b/apps/st/src/components/util/column/input/privateSewageFacility/PrivateSewageDesigStatusInpColumn.ts @@ -1,6 +1,7 @@ -import { footerInt, footerDecimal1 } from "@/components/util/grid/footerSummary"; import { ValueType } from "realgrid"; +import { footerDecimal1,footerInt } from "@/components/util/grid/footerSummary"; + // 하수도 통계 관리 > 08.개인하수처리시설 > tab 3. 개인하수도 관리지역 지정공고현황 export const PrivateSewageDesigStatusInpColumn = { columns: [ diff --git a/apps/st/src/components/util/column/input/privateSewageFacility/SepticTankStatusInpColumn.ts b/apps/st/src/components/util/column/input/privateSewageFacility/SepticTankStatusInpColumn.ts index b7de5f242..f4461d7ac 100644 --- a/apps/st/src/components/util/column/input/privateSewageFacility/SepticTankStatusInpColumn.ts +++ b/apps/st/src/components/util/column/input/privateSewageFacility/SepticTankStatusInpColumn.ts @@ -1,6 +1,7 @@ -import { footerInt } from "@/components/util/grid/footerSummary"; import { ValueType } from "realgrid"; +import { footerInt } from "@/components/util/grid/footerSummary"; + // 하수도 통계 관리 > 08.개인하수처리시설 > tab 2. 정화조 현황 export const SepticTankStatusInpColumn = { columns: [ diff --git a/apps/st/src/components/util/column/input/privateSewageFacility/SewageTreatFactStatusInpColumn.ts b/apps/st/src/components/util/column/input/privateSewageFacility/SewageTreatFactStatusInpColumn.ts index 2bd6c1094..673fa3528 100644 --- a/apps/st/src/components/util/column/input/privateSewageFacility/SewageTreatFactStatusInpColumn.ts +++ b/apps/st/src/components/util/column/input/privateSewageFacility/SewageTreatFactStatusInpColumn.ts @@ -1,6 +1,7 @@ -import { footerInt } from "@/components/util/grid/footerSummary"; import { ValueType } from "realgrid"; +import { footerInt } from "@/components/util/grid/footerSummary"; + // 하수도 통계 관리 > 08.개인하수처리시설 > tab 1. 처리용량별 오수처리시설현황 export const SewageTreatFactStatusInpColumn = { columns: [ diff --git a/apps/st/src/components/util/column/input/sewageExcretaRelated/ExcretaRelatedIndustryInpColumn.ts b/apps/st/src/components/util/column/input/sewageExcretaRelated/ExcretaRelatedIndustryInpColumn.ts index 3f7b80b78..48839bbbf 100644 --- a/apps/st/src/components/util/column/input/sewageExcretaRelated/ExcretaRelatedIndustryInpColumn.ts +++ b/apps/st/src/components/util/column/input/sewageExcretaRelated/ExcretaRelatedIndustryInpColumn.ts @@ -1,6 +1,7 @@ -import { footerInt } from "@/components/util/grid/footerSummary"; import { ValueType } from "realgrid"; +import { footerInt } from "@/components/util/grid/footerSummary"; + // 하수도 통계 관리 > 12. 하수 및 분뇨관련산업 > tab 3. 분뇨수집·운반업 export const ExcretaRelatedIndustryInpColumn = { columns: [ diff --git a/apps/st/src/components/util/column/input/sewageExcretaRelated/PrivateSewageTreatRelatedIndustryInpColumn.ts b/apps/st/src/components/util/column/input/sewageExcretaRelated/PrivateSewageTreatRelatedIndustryInpColumn.ts index 08de0039b..a0f26a091 100644 --- a/apps/st/src/components/util/column/input/sewageExcretaRelated/PrivateSewageTreatRelatedIndustryInpColumn.ts +++ b/apps/st/src/components/util/column/input/sewageExcretaRelated/PrivateSewageTreatRelatedIndustryInpColumn.ts @@ -1,6 +1,7 @@ -import { footerInt } from "@/components/util/grid/footerSummary"; import { ValueType } from "realgrid"; +import { footerInt } from "@/components/util/grid/footerSummary"; + // 하수도 통계 관리 > 12. 하수 및 분뇨관련산업 > tab 4. 개인하수처리관련업 export const PrivateSewageTreatRelatedIndustryInpColumn = { columns: [ diff --git a/apps/st/src/components/util/column/input/sewageExcretaRelated/PublicInstitutionExcretaIndustryInpColumn.ts b/apps/st/src/components/util/column/input/sewageExcretaRelated/PublicInstitutionExcretaIndustryInpColumn.ts index 27e3a00e0..0b863a9ce 100644 --- a/apps/st/src/components/util/column/input/sewageExcretaRelated/PublicInstitutionExcretaIndustryInpColumn.ts +++ b/apps/st/src/components/util/column/input/sewageExcretaRelated/PublicInstitutionExcretaIndustryInpColumn.ts @@ -1,6 +1,7 @@ -import { footerInt } from "@/components/util/grid/footerSummary"; import { ValueType } from "realgrid"; +import { footerInt } from "@/components/util/grid/footerSummary"; + // 하수도 통계 관리 > 12. 하수 및 분뇨관련산업 > tab 2. 공공기관 분뇨분야 export const PublicInstitutionExcretaIndustryInpColumn = { columns: [ diff --git a/apps/st/src/components/util/column/input/sewageExcretaRelated/PublicInstitutionSewerIndustryInpColumn.ts b/apps/st/src/components/util/column/input/sewageExcretaRelated/PublicInstitutionSewerIndustryInpColumn.ts index 43ff18b6a..e7a8dc10c 100644 --- a/apps/st/src/components/util/column/input/sewageExcretaRelated/PublicInstitutionSewerIndustryInpColumn.ts +++ b/apps/st/src/components/util/column/input/sewageExcretaRelated/PublicInstitutionSewerIndustryInpColumn.ts @@ -1,6 +1,7 @@ -import { footerInt } from "@/components/util/grid/footerSummary"; import { ValueType } from "realgrid"; +import { footerInt } from "@/components/util/grid/footerSummary"; + // 하수도 통계 관리 > 12. 하수 및 분뇨관련산업 > tab 1. 공공기관 하수분야 export const PublicInstitutionSewerIndustryInpColumn = { columns: [ diff --git a/apps/st/src/components/util/column/input/sewageExcretaSlurge/DigestorOperatingStatusInpColumn.ts b/apps/st/src/components/util/column/input/sewageExcretaSlurge/DigestorOperatingStatusInpColumn.ts index 9572ac597..af4d5b7ee 100644 --- a/apps/st/src/components/util/column/input/sewageExcretaSlurge/DigestorOperatingStatusInpColumn.ts +++ b/apps/st/src/components/util/column/input/sewageExcretaSlurge/DigestorOperatingStatusInpColumn.ts @@ -1,6 +1,7 @@ +import { ValueType } from "realgrid"; + import type { ColumnConfig } from "@/components/type/DataGrid.type"; import { footerDecimal1 } from "@/components/util/grid/footerSummary"; -import { ValueType } from "realgrid"; export const DIGESTOR_OPERATING_STATUS_YN_VALUES = ["Y", "N"] as const; export const DIGESTOR_OPERATING_STATUS_EN_YN_FIELD = "digstnEnYn" as const; diff --git a/apps/st/src/components/util/column/input/sewageExcretaSlurge/ExcretaSlurgeProcessingStatusInpColumn.ts b/apps/st/src/components/util/column/input/sewageExcretaSlurge/ExcretaSlurgeProcessingStatusInpColumn.ts index 7ca39ac9d..9f3737b81 100644 --- a/apps/st/src/components/util/column/input/sewageExcretaSlurge/ExcretaSlurgeProcessingStatusInpColumn.ts +++ b/apps/st/src/components/util/column/input/sewageExcretaSlurge/ExcretaSlurgeProcessingStatusInpColumn.ts @@ -1,6 +1,7 @@ -import { footerDecimal1 } from "@/components/util/grid/footerSummary"; import { ValueType } from "realgrid"; +import { footerDecimal1 } from "@/components/util/grid/footerSummary"; + // 하수도 통계 관리 > 11.하수 및 분뇨찌꺼기(슬러지) 처리 > tab 4. 분뇨찌꺼기(슬러지)처리 현황 export const ExcretaSlurgeProcessingStatusInpColumn = { columns: [ diff --git a/apps/st/src/components/util/column/input/sewageExcretaSlurge/SewageSlurgeProcessingFacStatusInpColumn.ts b/apps/st/src/components/util/column/input/sewageExcretaSlurge/SewageSlurgeProcessingFacStatusInpColumn.ts index 14a8b8e77..46e2a096b 100644 --- a/apps/st/src/components/util/column/input/sewageExcretaSlurge/SewageSlurgeProcessingFacStatusInpColumn.ts +++ b/apps/st/src/components/util/column/input/sewageExcretaSlurge/SewageSlurgeProcessingFacStatusInpColumn.ts @@ -1,6 +1,7 @@ -import { footerInt, footerDecimal1 } from "@/components/util/grid/footerSummary"; import { ValueType } from "realgrid"; +import { footerDecimal1,footerInt } from "@/components/util/grid/footerSummary"; + // 하수도 통계 관리 > 11.하수 및 분뇨찌꺼기(슬러지) 처리 > tab 3. 하수찌꺼기 처리시설 운영현황 export const SewageSlurgeProcessingFacStatusInpColumn = { columns: [ diff --git a/apps/st/src/components/util/column/input/sewageExcretaSlurge/SlurgeProcessingFacStatusInpColumn.ts b/apps/st/src/components/util/column/input/sewageExcretaSlurge/SlurgeProcessingFacStatusInpColumn.ts index 9e9b56ada..2b4e04203 100644 --- a/apps/st/src/components/util/column/input/sewageExcretaSlurge/SlurgeProcessingFacStatusInpColumn.ts +++ b/apps/st/src/components/util/column/input/sewageExcretaSlurge/SlurgeProcessingFacStatusInpColumn.ts @@ -1,6 +1,7 @@ -import { footerDecimal1 } from "@/components/util/grid/footerSummary"; import { ValueType } from "realgrid"; +import { footerDecimal1 } from "@/components/util/grid/footerSummary"; + // 하수도 통계 관리 > 11. 하수 및 분뇨찌꺼기(슬러지)처리 > tab 1: 찌꺼기(슬러지)처리시설현황 export const SlurgeProcessingFacStatusInpColumn = { columns: [ diff --git a/apps/st/src/components/util/column/input/sewagePipe/ConnectionStatusInpColumn.ts b/apps/st/src/components/util/column/input/sewagePipe/ConnectionStatusInpColumn.ts index 9b41b2202..75d6c021b 100644 --- a/apps/st/src/components/util/column/input/sewagePipe/ConnectionStatusInpColumn.ts +++ b/apps/st/src/components/util/column/input/sewagePipe/ConnectionStatusInpColumn.ts @@ -1,4 +1,5 @@ import { ValueType } from "realgrid"; + import type { GridTopButtonConfig } from "@/components/type/DataGrid.type"; // 하수도 통계 관리 > 02.하수관로 > tab 6. 시설별 현황관리 diff --git a/apps/st/src/components/util/column/input/sewagePipe/FactInstallStatusInpColumn.ts b/apps/st/src/components/util/column/input/sewagePipe/FactInstallStatusInpColumn.ts index 2d78ab54a..f1ff6310e 100644 --- a/apps/st/src/components/util/column/input/sewagePipe/FactInstallStatusInpColumn.ts +++ b/apps/st/src/components/util/column/input/sewagePipe/FactInstallStatusInpColumn.ts @@ -1,6 +1,7 @@ -import { footerInt, footerDecimal2, footerDecimal3 } from "@/components/util/grid/footerSummary"; import { ValueType } from "realgrid"; +import { footerDecimal2, footerDecimal3,footerInt } from "@/components/util/grid/footerSummary"; + // 하수도 통계 관리 > 02.하수관로 > tab 2. 시설별 설치현황 // SeweragePipeInputFactInstallStatusItem + commonInfo.ctpvNm (그리드 행에 병합) diff --git a/apps/st/src/components/util/column/input/sewagePipe/ManholeStatusInpColumn.ts b/apps/st/src/components/util/column/input/sewagePipe/ManholeStatusInpColumn.ts index 9d8bd334b..a907956f4 100644 --- a/apps/st/src/components/util/column/input/sewagePipe/ManholeStatusInpColumn.ts +++ b/apps/st/src/components/util/column/input/sewagePipe/ManholeStatusInpColumn.ts @@ -1,6 +1,7 @@ +import { ValueType } from "realgrid"; + import type { ColumnConfig, ColumnLayoutItem } from "@/components/type/DataGrid.type"; import { footerInt } from "@/components/util/grid/footerSummary"; -import { ValueType } from "realgrid"; // 하수도 통계 관리 > 02.하수관로 > tab 5. 맨홀 현황 // SeweragePipeInputManholeStatusItem + commonInfo.ctpvNm (그리드 행에 병합) diff --git a/apps/st/src/components/util/column/input/sewagePipe/PipeDiameterStatusInpColumn.ts b/apps/st/src/components/util/column/input/sewagePipe/PipeDiameterStatusInpColumn.ts index 1357eabee..616bd024a 100644 --- a/apps/st/src/components/util/column/input/sewagePipe/PipeDiameterStatusInpColumn.ts +++ b/apps/st/src/components/util/column/input/sewagePipe/PipeDiameterStatusInpColumn.ts @@ -1,6 +1,7 @@ -import { footerDecimal2 } from "@/components/util/grid/footerSummary"; import { ValueType } from "realgrid"; +import { footerDecimal2 } from "@/components/util/grid/footerSummary"; + // 하수도 통계 관리 > 02.하수관로 > tab 4. 관경별 현황 // SeweragePipeInputPipeDiameterStatusItem + commonInfo.ctpvNm (그리드 행에 병합) diff --git a/apps/st/src/components/util/column/input/sewagePipe/PipeTypeStatusInpColumn.ts b/apps/st/src/components/util/column/input/sewagePipe/PipeTypeStatusInpColumn.ts index 3634e0f3b..0fbd79362 100644 --- a/apps/st/src/components/util/column/input/sewagePipe/PipeTypeStatusInpColumn.ts +++ b/apps/st/src/components/util/column/input/sewagePipe/PipeTypeStatusInpColumn.ts @@ -1,6 +1,7 @@ +import { ValueType } from "realgrid"; + import type { ColumnConfig, ColumnLayoutItem } from "@/components/type/DataGrid.type"; import { footerDecimal2 } from "@/components/util/grid/footerSummary"; -import { ValueType } from "realgrid"; // 하수도 통계 관리 > 02.하수관로 > tab 3. 관종별 현황 // SeweragePipeInputPipeTypeStatusItem + commonInfo.ctpvNm (그리드 행에 병합) diff --git a/apps/st/src/components/util/column/input/sewagePipe/RegionalFactStatusInpColumn.ts b/apps/st/src/components/util/column/input/sewagePipe/RegionalFactStatusInpColumn.ts index 1904bea2b..6e1563d49 100644 --- a/apps/st/src/components/util/column/input/sewagePipe/RegionalFactStatusInpColumn.ts +++ b/apps/st/src/components/util/column/input/sewagePipe/RegionalFactStatusInpColumn.ts @@ -1,6 +1,7 @@ -import { footerInt, footerDecimal1, footerDecimal2, footerDecimal3 } from "@/components/util/grid/footerSummary"; import { ValueType } from "realgrid"; +import { footerDecimal1, footerDecimal2, footerDecimal3,footerInt } from "@/components/util/grid/footerSummary"; + // 하수도 통계 관리 > 02.하수관로 > tab 1. 지역별 시설현황 export const RegionalFactStatusInpColumn = { diff --git a/apps/st/src/components/util/column/input/sewagePipe/SewagePipeInpColumn.ts b/apps/st/src/components/util/column/input/sewagePipe/SewagePipeInpColumn.ts index 9030d4700..37cb2720d 100644 --- a/apps/st/src/components/util/column/input/sewagePipe/SewagePipeInpColumn.ts +++ b/apps/st/src/components/util/column/input/sewagePipe/SewagePipeInpColumn.ts @@ -1,10 +1,11 @@ -import type { ColumnInfoList } from "@/components/type/DataGrid.type"; -import { RegionalFactStatusInpColumn } from "./RegionalFactStatusInpColumn"; -import { FactInstallStatusInpColumn } from "./FactInstallStatusInpColumn"; -import { PipeTypeStatusInpColumn } from "./PipeTypeStatusInpColumn"; -import { PipeDiameterStatusInpColumn } from "./PipeDiameterStatusInpColumn"; -import { ManholeStatusInpColumn } from "./ManholeStatusInpColumn"; import { ConnectionStatusInpColumn } from "./ConnectionStatusInpColumn"; +import { FactInstallStatusInpColumn } from "./FactInstallStatusInpColumn"; +import { ManholeStatusInpColumn } from "./ManholeStatusInpColumn"; +import { PipeDiameterStatusInpColumn } from "./PipeDiameterStatusInpColumn"; +import { PipeTypeStatusInpColumn } from "./PipeTypeStatusInpColumn"; +import { RegionalFactStatusInpColumn } from "./RegionalFactStatusInpColumn"; + +import type { ColumnInfoList } from "@/components/type/DataGrid.type"; /** 하수관로 입력 탭 컬럼 리스트 (TabDataGrid columnInfo용) */ export const SewagePipeInpColumnInfoList: ColumnInfoList[] = [ diff --git a/apps/st/src/components/util/column/input/sewagePipeMaintain/RepairStatusInpColumn.ts b/apps/st/src/components/util/column/input/sewagePipeMaintain/RepairStatusInpColumn.ts index 25bc2f942..b608cb498 100644 --- a/apps/st/src/components/util/column/input/sewagePipeMaintain/RepairStatusInpColumn.ts +++ b/apps/st/src/components/util/column/input/sewagePipeMaintain/RepairStatusInpColumn.ts @@ -1,6 +1,7 @@ -import { footerInt, footerDecimal1 } from "@/components/util/grid/footerSummary"; import { ValueType } from "realgrid"; +import { footerDecimal1,footerInt } from "@/components/util/grid/footerSummary"; + // 하수도 통계 관리 > 03.하수관로 유지관리 > tab 1. 개보수 export const RepairStatusInpColumn = { columns: [ diff --git a/apps/st/src/components/util/column/input/sewageReservoirPump/RainfallPumpStationInpColumn.ts b/apps/st/src/components/util/column/input/sewageReservoirPump/RainfallPumpStationInpColumn.ts index 2cabdd95d..451ce8b30 100644 --- a/apps/st/src/components/util/column/input/sewageReservoirPump/RainfallPumpStationInpColumn.ts +++ b/apps/st/src/components/util/column/input/sewageReservoirPump/RainfallPumpStationInpColumn.ts @@ -1,7 +1,8 @@ -import type { ColumnConfig } from "@/components/type/DataGrid.type"; -import { footerInt, footerDecimal1, footerDecimal2, footerDecimal3 } from "@/components/util/grid/footerSummary"; import { ValueType } from "realgrid"; +import type { ColumnConfig } from "@/components/type/DataGrid.type"; +import { footerDecimal1, footerDecimal2, footerDecimal3,footerInt } from "@/components/util/grid/footerSummary"; + const RAINFALL_PUMP_FCLTY_KIND_VALUES = ["해당없음", "제1종", "제2종", "제3종"] as const; const RAINFALL_PUMP_YN_VALUES = ["유", "무"] as const; diff --git a/apps/st/src/components/util/column/input/sewageReservoirPump/SewageReservoirInpColumn.ts b/apps/st/src/components/util/column/input/sewageReservoirPump/SewageReservoirInpColumn.ts index 017a83a85..286d3ad56 100644 --- a/apps/st/src/components/util/column/input/sewageReservoirPump/SewageReservoirInpColumn.ts +++ b/apps/st/src/components/util/column/input/sewageReservoirPump/SewageReservoirInpColumn.ts @@ -1,7 +1,8 @@ -import type { ColumnConfig } from "@/components/type/DataGrid.type"; -import { footerInt, footerDecimal1, footerDecimal3 } from "@/components/util/grid/footerSummary"; import { ValueType } from "realgrid"; +import type { ColumnConfig } from "@/components/type/DataGrid.type"; +import { footerDecimal1, footerDecimal3,footerInt } from "@/components/util/grid/footerSummary"; + /** 설치목적 O/X 표기 */ export const SEWAGE_RESERVOIR_OX_YN_VALUES = ["O", "X"] as const; diff --git a/apps/st/src/components/util/column/input/sewerageFinance/CauserBurdenInpColumn.ts b/apps/st/src/components/util/column/input/sewerageFinance/CauserBurdenInpColumn.ts index 07bb04ddd..cdd8495a2 100644 --- a/apps/st/src/components/util/column/input/sewerageFinance/CauserBurdenInpColumn.ts +++ b/apps/st/src/components/util/column/input/sewerageFinance/CauserBurdenInpColumn.ts @@ -1,6 +1,7 @@ -import { footerInt, footerDecimal1 } from "@/components/util/grid/footerSummary"; import { ValueType } from "realgrid"; +import { footerDecimal1,footerInt } from "@/components/util/grid/footerSummary"; + // 하수도 통계 관리 > 09.하수도 재정 > tab 4: 원인자 부담금 export const CauserBurdenInpColumn = { columns: [ diff --git a/apps/st/src/components/util/column/input/sewerageFinance/SewerageChargeInpColumn.ts b/apps/st/src/components/util/column/input/sewerageFinance/SewerageChargeInpColumn.ts index e962d0ca7..3382f7598 100644 --- a/apps/st/src/components/util/column/input/sewerageFinance/SewerageChargeInpColumn.ts +++ b/apps/st/src/components/util/column/input/sewerageFinance/SewerageChargeInpColumn.ts @@ -1,6 +1,7 @@ -import { footerInt, footerDecimal1 } from "@/components/util/grid/footerSummary"; import { ValueType } from "realgrid"; +import { footerDecimal1,footerInt } from "@/components/util/grid/footerSummary"; + // 하수도 통계 관리 > 09.하수도 재정 > tab 2: 하수도 요금 export const SewerageChargeInpColumn = { columns: [ diff --git a/apps/st/src/components/util/column/input/sewerageFinance/SewerageFinanceSettleInpColumn.ts b/apps/st/src/components/util/column/input/sewerageFinance/SewerageFinanceSettleInpColumn.ts index d70f84063..6e34500b0 100644 --- a/apps/st/src/components/util/column/input/sewerageFinance/SewerageFinanceSettleInpColumn.ts +++ b/apps/st/src/components/util/column/input/sewerageFinance/SewerageFinanceSettleInpColumn.ts @@ -1,6 +1,7 @@ -import { footerDecimal1 } from "@/components/util/grid/footerSummary"; import { ValueType } from "realgrid"; +import { footerDecimal1 } from "@/components/util/grid/footerSummary"; + // 하수도 통계 관리 > 09.하수도 재정 > tab 1: 하수도 재정 결산 export const SewerageFinanceSettleInpColumn = { columns: [ diff --git a/apps/st/src/components/util/column/input/sewerageFinance/SewerageUsageFeeInpColumn.ts b/apps/st/src/components/util/column/input/sewerageFinance/SewerageUsageFeeInpColumn.ts index a2b7632b9..ddcea142c 100644 --- a/apps/st/src/components/util/column/input/sewerageFinance/SewerageUsageFeeInpColumn.ts +++ b/apps/st/src/components/util/column/input/sewerageFinance/SewerageUsageFeeInpColumn.ts @@ -1,6 +1,7 @@ -import { footerDecimal1 } from "@/components/util/grid/footerSummary"; import { ValueType } from "realgrid"; +import { footerDecimal1 } from "@/components/util/grid/footerSummary"; + // 하수도 통계 관리 > 09.하수도 재정 > tab 3: 하수도 사용료 export const SewerageUsageFeeInpColumn = { columns: [ diff --git a/apps/st/src/components/util/column/input/sewerageServiceLevel/ComplaintInpColumn.ts b/apps/st/src/components/util/column/input/sewerageServiceLevel/ComplaintInpColumn.ts index 272447ad6..8b9be9573 100644 --- a/apps/st/src/components/util/column/input/sewerageServiceLevel/ComplaintInpColumn.ts +++ b/apps/st/src/components/util/column/input/sewerageServiceLevel/ComplaintInpColumn.ts @@ -1,6 +1,7 @@ -import { footerInt, footerDecimal1 } from "@/components/util/grid/footerSummary"; import { ValueType } from "realgrid"; +import { footerDecimal1,footerInt } from "@/components/util/grid/footerSummary"; + const COMPLAINT_TYPE_COUNT_FIELDS = [ 'dschgWqCnt', 'odorCnt', diff --git a/apps/st/src/components/util/column/input/sewerageServiceLevel/ResidentFriendlyFactInpColumn.ts b/apps/st/src/components/util/column/input/sewerageServiceLevel/ResidentFriendlyFactInpColumn.ts index d02e78ef8..0a1ca49e0 100644 --- a/apps/st/src/components/util/column/input/sewerageServiceLevel/ResidentFriendlyFactInpColumn.ts +++ b/apps/st/src/components/util/column/input/sewerageServiceLevel/ResidentFriendlyFactInpColumn.ts @@ -1,6 +1,7 @@ -import { footerInt, footerDecimal1 } from "@/components/util/grid/footerSummary"; import { ValueType } from "realgrid"; +import { footerDecimal1,footerInt } from "@/components/util/grid/footerSummary"; + const RESIDENT_FRIENDLY_FACILITY_AREA_FIELDS = [ 'brkFcltArea', 'childFrshpSpacArea', diff --git a/apps/st/src/components/util/column/input/waterReuse/PublicSewageTreatWaterReuseInpColumn.ts b/apps/st/src/components/util/column/input/waterReuse/PublicSewageTreatWaterReuseInpColumn.ts index f3f62e34f..7d3df6b68 100644 --- a/apps/st/src/components/util/column/input/waterReuse/PublicSewageTreatWaterReuseInpColumn.ts +++ b/apps/st/src/components/util/column/input/waterReuse/PublicSewageTreatWaterReuseInpColumn.ts @@ -1,6 +1,7 @@ +import { ValueType } from "realgrid"; + import type { ColumnConfig } from "@/components/type/DataGrid.type"; import { footerDecimal1 } from "@/components/util/grid/footerSummary"; -import { ValueType } from "realgrid"; /** 법적의무대상(`lglYn`) */ export const PUBLIC_SEWAGE_TREAT_WATER_REUSE_LGL_YN_VALUES = ["대상", "미대상"] as const; diff --git a/apps/st/src/components/util/column/input/waterReuse/RainFallUtilFactStatusInpColumn.ts b/apps/st/src/components/util/column/input/waterReuse/RainFallUtilFactStatusInpColumn.ts index 85816726e..c3c00dec9 100644 --- a/apps/st/src/components/util/column/input/waterReuse/RainFallUtilFactStatusInpColumn.ts +++ b/apps/st/src/components/util/column/input/waterReuse/RainFallUtilFactStatusInpColumn.ts @@ -1,6 +1,7 @@ +import { ValueType } from "realgrid"; + import type { ColumnConfig } from "@/components/type/DataGrid.type"; import { footerDecimal1 } from "@/components/util/grid/footerSummary"; -import { ValueType } from "realgrid"; /** 건축물용도(`bdstTypCn`) */ export const RAINFALL_UTIL_FACT_BDST_TYP_VALUES = [ diff --git a/apps/st/src/components/util/column/input/waterReuse/RecycledWaterStatusInpColumn.ts b/apps/st/src/components/util/column/input/waterReuse/RecycledWaterStatusInpColumn.ts index ebf53215c..683965b6e 100644 --- a/apps/st/src/components/util/column/input/waterReuse/RecycledWaterStatusInpColumn.ts +++ b/apps/st/src/components/util/column/input/waterReuse/RecycledWaterStatusInpColumn.ts @@ -1,6 +1,7 @@ +import { ValueType } from "realgrid"; + import type { ColumnConfig } from "@/components/type/DataGrid.type"; import { footerDecimal1 } from "@/components/util/grid/footerSummary"; -import { ValueType } from "realgrid"; /** 시설물용도/개발사업종류(`bldgSeCn`) */ export const RECYCLED_WATER_BLDG_SE_VALUES = [ diff --git a/apps/st/src/components/util/column/management/DomesticPopulationColumn.ts b/apps/st/src/components/util/column/management/DomesticPopulationColumn.ts index 460c880e9..7cc5d6295 100644 --- a/apps/st/src/components/util/column/management/DomesticPopulationColumn.ts +++ b/apps/st/src/components/util/column/management/DomesticPopulationColumn.ts @@ -1,4 +1,5 @@ import { ValueType } from "realgrid"; + import type { ColumnInfoList } from "@/components/type/DataGrid.type"; /* ══════════════════════════════════════════════════ diff --git a/apps/st/src/components/util/column/management/ForeignPopulationColumn.ts b/apps/st/src/components/util/column/management/ForeignPopulationColumn.ts index ea2723f0e..e52e46552 100644 --- a/apps/st/src/components/util/column/management/ForeignPopulationColumn.ts +++ b/apps/st/src/components/util/column/management/ForeignPopulationColumn.ts @@ -1,4 +1,5 @@ import { ValueType } from "realgrid"; + import type { ColumnInfoList } from "@/components/type/DataGrid.type"; /* ══════════════════════════════════════════════════ diff --git a/apps/st/src/components/util/column/management/GeneralVerificationColumn.tsx b/apps/st/src/components/util/column/management/GeneralVerificationColumn.tsx index 1eff54286..d56a1fed4 100644 --- a/apps/st/src/components/util/column/management/GeneralVerificationColumn.tsx +++ b/apps/st/src/components/util/column/management/GeneralVerificationColumn.tsx @@ -1,11 +1,13 @@ -import dayjs from "dayjs"; import { useState } from "react"; -import type { ColumnDef } from "@tanstack/react-table"; -import type { GeneralverificationList } from "@/entities/statistics/model/general-verification-interface"; +import type { ColumnDef } from "@tanstack/react-table"; +import dayjs from "dayjs"; + +import type { GeneralverificationList } from "@/entities/statistics/model/general-verification-interface"; import { Button } from "@common/components"; -import RegistDialog from "@/components/statistics/verification/generalVerification/RegistDialog"; + import CopyDialog from "@/components/statistics/verification/generalVerification/CopyDialog"; +import RegistDialog from "@/components/statistics/verification/generalVerification/RegistDialog"; export const getGeneralVerificationColumns = ( onUpdateSuccess?: () => void, diff --git a/apps/st/src/components/util/column/management/LogHistoryDetailColumn.ts b/apps/st/src/components/util/column/management/LogHistoryDetailColumn.ts index e10e68df8..01231769f 100644 --- a/apps/st/src/components/util/column/management/LogHistoryDetailColumn.ts +++ b/apps/st/src/components/util/column/management/LogHistoryDetailColumn.ts @@ -1,8 +1,9 @@ import { ValueType } from "realgrid"; -import type { ColumnConfig, ColumnInfo } from "@/components/type/DataGrid.type"; import type { StatisticsLogDetailRow } from "@/entities/statistics/model/statistics-interface"; +import type { ColumnConfig, ColumnInfo } from "@/components/type/DataGrid.type"; + export const LOG_DETAIL_DETAILS_FIELD = "details"; export const LOG_DETAIL_DETAILS_RAW_FIELD = "__detailsRaw"; diff --git a/apps/st/src/components/util/column/management/PopulationStatusColumn.ts b/apps/st/src/components/util/column/management/PopulationStatusColumn.ts index 3ea57358e..93ba30dea 100644 --- a/apps/st/src/components/util/column/management/PopulationStatusColumn.ts +++ b/apps/st/src/components/util/column/management/PopulationStatusColumn.ts @@ -1,4 +1,5 @@ import { ValueType } from "realgrid"; + import type { ColumnInfoList } from "@/components/type/DataGrid.type"; /* ══════════════════════════════════════════════════ diff --git a/apps/st/src/components/util/column/review/PublicSewageFacilityRvwColumn.ts b/apps/st/src/components/util/column/review/PublicSewageFacilityRvwColumn.ts index b6952ff38..b36db0fbd 100644 --- a/apps/st/src/components/util/column/review/PublicSewageFacilityRvwColumn.ts +++ b/apps/st/src/components/util/column/review/PublicSewageFacilityRvwColumn.ts @@ -1,11 +1,12 @@ import { ValueType } from "realgrid"; + +import type { GridView } from "@/components/type/DataGrid.type"; import { footerAvgDecimalArrayByDivision, footerDecimal1ArrayByDivision, footerDecimal3ArrayByDivision, footerIntArrayByDivision, } from "@/components/util/grid/footerSummary"; -import type { GridView } from "@/components/type/DataGrid.type"; const getDivisionFooterLabel = (grid: GridView, divisionIndex: number, withSuffix: boolean) => { const dataSource = grid.getDataSource(); diff --git a/apps/st/src/components/util/column/review/PumpingStationRvwColumn.ts b/apps/st/src/components/util/column/review/PumpingStationRvwColumn.ts index 54dbfcedd..f273111f1 100644 --- a/apps/st/src/components/util/column/review/PumpingStationRvwColumn.ts +++ b/apps/st/src/components/util/column/review/PumpingStationRvwColumn.ts @@ -1,6 +1,7 @@ import { ValueType } from "realgrid"; -import { footerIntArrayByDivision, footerDecimal3ArrayByDivision, footerAvgDecimalArrayByDivision } from "@/components/util/grid/footerSummary"; + import type { GridView } from "@/components/type/DataGrid.type"; +import { footerAvgDecimalArrayByDivision,footerDecimal3ArrayByDivision, footerIntArrayByDivision } from "@/components/util/grid/footerSummary"; export const rawPumpingStationInfoList = { columns: [ diff --git a/apps/st/src/components/util/column/review/SewagePipeMaintainRvwColumn.ts b/apps/st/src/components/util/column/review/SewagePipeMaintainRvwColumn.ts index 98980f88d..348f37491 100644 --- a/apps/st/src/components/util/column/review/SewagePipeMaintainRvwColumn.ts +++ b/apps/st/src/components/util/column/review/SewagePipeMaintainRvwColumn.ts @@ -1,6 +1,7 @@ import { ValueType } from "realgrid"; -import { footerIntArrayByDivision, footerAvgDecimalArrayByDivision } from "@/components/util/grid/footerSummary"; + import type { GridView } from "@/components/type/DataGrid.type"; +import { footerAvgDecimalArrayByDivision,footerIntArrayByDivision } from "@/components/util/grid/footerSummary"; // 하수도 통계 관리 03. 하수관로 유지 관리 const rawMaintainList = [ diff --git a/apps/st/src/components/util/column/review/SewageReservoirPumpRvwColumn.ts b/apps/st/src/components/util/column/review/SewageReservoirPumpRvwColumn.ts index 5cfd73070..f873fe965 100644 --- a/apps/st/src/components/util/column/review/SewageReservoirPumpRvwColumn.ts +++ b/apps/st/src/components/util/column/review/SewageReservoirPumpRvwColumn.ts @@ -1,10 +1,10 @@ import { ValueType } from "realgrid"; -import { - footerIntArrayByDivision, - footerDecimal1ArrayByDivision, - footerDecimal3ArrayByDivision -} from "@/components/util/grid/footerSummary"; + import type { GridView } from "@/components/type/DataGrid.type"; +import { + footerDecimal1ArrayByDivision, + footerDecimal3ArrayByDivision, + footerIntArrayByDivision} from "@/components/util/grid/footerSummary"; // 하수도 통계 관리 04. 하수저류 시설 및 빗물 펌프장 const rawReservoirList = [ diff --git a/apps/st/src/components/util/column/review/SeweragePenetrationRateRvwColumn.ts b/apps/st/src/components/util/column/review/SeweragePenetrationRateRvwColumn.ts index 0cc8caae6..00f24dda4 100644 --- a/apps/st/src/components/util/column/review/SeweragePenetrationRateRvwColumn.ts +++ b/apps/st/src/components/util/column/review/SeweragePenetrationRateRvwColumn.ts @@ -1,6 +1,7 @@ import { ValueType } from "realgrid"; -import { footerIntArrayByDivision, footerDecimal3ArrayByDivision, footerAvgDecimalArrayByDivision } from "@/components/util/grid/footerSummary"; + import type { GridView } from "@/components/type/DataGrid.type"; +import { footerAvgDecimalArrayByDivision,footerDecimal3ArrayByDivision, footerIntArrayByDivision } from "@/components/util/grid/footerSummary"; const rawSeweragePenetrationRateInfoList = { diff --git a/apps/st/src/components/util/grid/computedFieldCallbacks.ts b/apps/st/src/components/util/grid/computedFieldCallbacks.ts index 2d7c99873..42f734967 100644 --- a/apps/st/src/components/util/grid/computedFieldCallbacks.ts +++ b/apps/st/src/components/util/grid/computedFieldCallbacks.ts @@ -1,4 +1,4 @@ -import type { DataFieldValueCallback, ComputedFieldConfig } from "@/components/type/DataGrid.type"; +import type { ComputedFieldConfig,DataFieldValueCallback } from "@/components/type/DataGrid.type"; /** 값 → 숫자 변환 (null/undefined/빈문자열 → 0) */ function toNum(v: unknown): number { diff --git a/apps/st/src/components/util/grid/footerSummary.ts b/apps/st/src/components/util/grid/footerSummary.ts index 530d65f8c..ba709d4d4 100644 --- a/apps/st/src/components/util/grid/footerSummary.ts +++ b/apps/st/src/components/util/grid/footerSummary.ts @@ -1,4 +1,4 @@ -import type { GridView, DataColumn } from "@/components/type/DataGrid.type"; +import type { DataColumn,GridView } from "@/components/type/DataGrid.type"; // 그리드 푸터 합계 계산 함수 (계산 로직) export const getFooterSummary = (grid: GridView, column: DataColumn) => { diff --git a/apps/st/src/components/util/gridExcelExport.ts b/apps/st/src/components/util/gridExcelExport.ts index 2a658a006..2fc661df9 100644 --- a/apps/st/src/components/util/gridExcelExport.ts +++ b/apps/st/src/components/util/gridExcelExport.ts @@ -1,9 +1,10 @@ +import type { GridView } from "realgrid"; + import type { ColumnConfig, ColumnLayoutItem, ExcelExportSearchContext, } from "@/components/type/DataGrid.type"; -import type { GridView } from "realgrid"; function flattenColumnLayoutNames(layout: ColumnLayoutItem[]): string[] { const result: string[] = []; diff --git a/apps/st/src/entities/code/api/code-service.ts b/apps/st/src/entities/code/api/code-service.ts index 0d1055f6a..51dbc9a80 100644 --- a/apps/st/src/entities/code/api/code-service.ts +++ b/apps/st/src/entities/code/api/code-service.ts @@ -1,5 +1,6 @@ import { client } from "@/shared/api"; import { ENDPOINT } from "@/shared/config"; + import type { CodeService, ICode } from "../model/code-interface"; export class CodeApiService implements CodeService { diff --git a/apps/st/src/entities/code/api/lwpocode-service.ts b/apps/st/src/entities/code/api/lwpocode-service.ts index 818ddb120..14582c0d1 100644 --- a/apps/st/src/entities/code/api/lwpocode-service.ts +++ b/apps/st/src/entities/code/api/lwpocode-service.ts @@ -1,12 +1,13 @@ import { client } from "@/shared/api"; import { ENDPOINT } from "@/shared/config"; + import { - LwpoCodeFormSchema, - type LwpoCodeService, - type LwpoCodeList, type LwpoCodeDetail, - type LwpoCodeParams, type LwpoCodeFormData, + LwpoCodeFormSchema, + type LwpoCodeList, + type LwpoCodeParams, + type LwpoCodeService, } from "../model/lwpocode-interface"; export class LwpoCodeApiService implements LwpoCodeService { diff --git a/apps/st/src/entities/code/api/upcode-service.ts b/apps/st/src/entities/code/api/upcode-service.ts index dcccd9534..851042fa8 100644 --- a/apps/st/src/entities/code/api/upcode-service.ts +++ b/apps/st/src/entities/code/api/upcode-service.ts @@ -1,12 +1,13 @@ import { client } from "@/shared/api"; import { ENDPOINT } from "@/shared/config"; + import { - upCodeFormSchema, - type UpCodeService, - type UpCodeList, type UpCodeDetail, - type UpCodeParams, type UpCodeFormData, + upCodeFormSchema, + type UpCodeList, + type UpCodeParams, + type UpCodeService, } from "../model/upcode-interface"; export class UpCodeApiService implements UpCodeService { diff --git a/apps/st/src/entities/code/index.ts b/apps/st/src/entities/code/index.ts index cd4a3ea80..34c550493 100644 --- a/apps/st/src/entities/code/index.ts +++ b/apps/st/src/entities/code/index.ts @@ -1,20 +1,18 @@ export { CodeApi } from "./api/code-service"; -export type { ICode } from "./model/code-interface"; -export { CodeSelect } from "./ui/code-select"; -export { CodeSelectWithAll } from "./ui/code-select-with-all"; - -export { UpCodeApi } from "./api/upcode-service"; -export { - upCodeFormSchema, - type UpCode, - type UpCodeFormData, - type UpCodeParams, -} from "./model/upcode-interface"; - export { LwpoCodeApi } from "./api/lwpocode-service"; +export { UpCodeApi } from "./api/upcode-service"; +export type { ICode } from "./model/code-interface"; export { - LwpoCodeFormSchema, type LwpoCode, type LwpoCodeFormData, + LwpoCodeFormSchema, type LwpoCodeParams, } from "./model/lwpocode-interface"; +export { + type UpCode, + type UpCodeFormData, + upCodeFormSchema, + type UpCodeParams, +} from "./model/upcode-interface"; +export { CodeSelect } from "./ui/code-select"; +export { CodeSelectWithAll } from "./ui/code-select-with-all"; diff --git a/apps/st/src/entities/code/model/lwpocode-interface.ts b/apps/st/src/entities/code/model/lwpocode-interface.ts index 2538c1c30..e9a8e12d3 100644 --- a/apps/st/src/entities/code/model/lwpocode-interface.ts +++ b/apps/st/src/entities/code/model/lwpocode-interface.ts @@ -1,5 +1,6 @@ import { z } from "zod"; -import type { PageableParams, PageableList } from "@/shared/model"; + +import type { PageableList,PageableParams } from "@/shared/model"; export interface LwpoCodeParams extends PageableParams { upCd?: string; diff --git a/apps/st/src/entities/code/model/upcode-interface.ts b/apps/st/src/entities/code/model/upcode-interface.ts index 73bf4f3ae..f40f8d836 100644 --- a/apps/st/src/entities/code/model/upcode-interface.ts +++ b/apps/st/src/entities/code/model/upcode-interface.ts @@ -1,5 +1,6 @@ import { z } from "zod"; -import type { PageableParams, PageableList } from "@/shared/model"; + +import type { PageableList,PageableParams } from "@/shared/model"; export interface UpCodeParams extends PageableParams { keyword?: string; diff --git a/apps/st/src/entities/code/ui/code-select-with-all.tsx b/apps/st/src/entities/code/ui/code-select-with-all.tsx index b6e62e4f0..aa3e4bb5f 100644 --- a/apps/st/src/entities/code/ui/code-select-with-all.tsx +++ b/apps/st/src/entities/code/ui/code-select-with-all.tsx @@ -1,4 +1,6 @@ import { useQuery } from "@tanstack/react-query"; + +import { ENDPOINT } from "@/shared/config"; import { cn, Select, @@ -7,7 +9,7 @@ import { SelectTrigger, SelectValue, } from "@common/components"; -import { ENDPOINT } from "@/shared/config"; + import { CodeApi } from "../api/code-service"; type CodeSelectProps = { diff --git a/apps/st/src/entities/code/ui/code-select.tsx b/apps/st/src/entities/code/ui/code-select.tsx index 08df4ce51..6b2c347e3 100644 --- a/apps/st/src/entities/code/ui/code-select.tsx +++ b/apps/st/src/entities/code/ui/code-select.tsx @@ -1,4 +1,6 @@ import { useQuery } from "@tanstack/react-query"; + +import { ENDPOINT } from "@/shared/config"; import { cn, Select, @@ -7,7 +9,7 @@ import { SelectTrigger, SelectValue, } from "@common/components"; -import { ENDPOINT } from "@/shared/config"; + import { CodeApi } from "../api/code-service"; type CodeSelectProps = { diff --git a/apps/st/src/entities/group-user/api/group-user-service.ts b/apps/st/src/entities/group-user/api/group-user-service.ts index 85355a88f..e88999730 100644 --- a/apps/st/src/entities/group-user/api/group-user-service.ts +++ b/apps/st/src/entities/group-user/api/group-user-service.ts @@ -1,13 +1,14 @@ import { client } from "@/shared/api"; import { ENDPOINT } from "@/shared/config"; + import type { - GroupUserService, - GroupUserSearchParams, - GroupUserListResponseDto, GroupUserDetailResponse, - PageGroupUserList, + GroupUserListResponseDto, GroupUserSaveData, + GroupUserSearchParams, + GroupUserService, GroupUserUpdateData, + PageGroupUserList, } from "../model/group-user-interface"; export class GroupUsersApiService implements GroupUserService { diff --git a/apps/st/src/entities/menu-authority/api/menu-authority-service.ts b/apps/st/src/entities/menu-authority/api/menu-authority-service.ts index ec07d88ad..4f0951e71 100644 --- a/apps/st/src/entities/menu-authority/api/menu-authority-service.ts +++ b/apps/st/src/entities/menu-authority/api/menu-authority-service.ts @@ -1,5 +1,6 @@ import { client } from "@/shared/api"; import { ENDPOINT } from "@/shared/config"; + import type { MenuAuthorityList, MenuAuthorityParams, diff --git a/apps/st/src/entities/menu-authority/index.ts b/apps/st/src/entities/menu-authority/index.ts index 5a1b11606..e33ee761e 100644 --- a/apps/st/src/entities/menu-authority/index.ts +++ b/apps/st/src/entities/menu-authority/index.ts @@ -1,9 +1,9 @@ export { MenuAuthorityApi } from "./api/menu-authority-service"; export { - menuAuthorityFormSchema, type MenuAuthority, - type MenuAuthorityPayload, type MenuAuthorityFormData, + menuAuthorityFormSchema, + type MenuAuthorityPayload, } from "./model/menu-authority-interface"; export { AuthorityButton } from "./ui/authority-button"; export { ManagementAuthorityDialog } from "./ui/management-authority-dialog"; diff --git a/apps/st/src/entities/menu-authority/model/menu-authority-interface.ts b/apps/st/src/entities/menu-authority/model/menu-authority-interface.ts index 7f5401872..20e9b063e 100644 --- a/apps/st/src/entities/menu-authority/model/menu-authority-interface.ts +++ b/apps/st/src/entities/menu-authority/model/menu-authority-interface.ts @@ -1,4 +1,5 @@ import { z } from "zod"; + import type { PageableList, PageableParams } from "@/shared/model"; export interface MenuAuthorityParams extends PageableParams { diff --git a/apps/st/src/entities/menu-authority/model/menu-authority-table-columns.tsx b/apps/st/src/entities/menu-authority/model/menu-authority-table-columns.tsx index 6969a85e9..a63137397 100644 --- a/apps/st/src/entities/menu-authority/model/menu-authority-table-columns.tsx +++ b/apps/st/src/entities/menu-authority/model/menu-authority-table-columns.tsx @@ -1,6 +1,9 @@ -import type { ColumnDef } from "@tanstack/react-table"; import type { UseFormReturn } from "react-hook-form"; + +import type { ColumnDef } from "@tanstack/react-table"; + import { Checkbox } from "@common/components"; + import type { MenuAuthority, MenuAuthorityFormData, diff --git a/apps/st/src/entities/menu-authority/ui/authority-button.tsx b/apps/st/src/entities/menu-authority/ui/authority-button.tsx index 257ab6e5d..280ea8b36 100644 --- a/apps/st/src/entities/menu-authority/ui/authority-button.tsx +++ b/apps/st/src/entities/menu-authority/ui/authority-button.tsx @@ -1,26 +1,27 @@ import { useMenuStore } from "@/shared/lib"; -import { Button, cn, type ButtonProps } from "@common/components"; +import { Button, type ButtonProps, cn } from "@common/components"; + import type { PageMenuAuthority } from "../model/menu-authority-interface"; type AuthorityButtonProps = { - authority: keyof PageMenuAuthority; + authority: keyof PageMenuAuthority; } & ButtonProps; function AuthorityButton({ - authority, - className, - children, - ...props + authority, + className, + children, + ...props }: AuthorityButtonProps) { - const pageMenuAuthority = useMenuStore((state) => state.pageMenuAuthority); + const pageMenuAuthority = useMenuStore((state) => state.pageMenuAuthority); - const isAuthority = pageMenuAuthority?.[authority] === "Y"; + const isAuthority = pageMenuAuthority?.[authority] === "Y"; - return ( - - ); + return ( + + ); } export { AuthorityButton }; diff --git a/apps/st/src/entities/menu-authority/ui/management-authority-dialog.tsx b/apps/st/src/entities/menu-authority/ui/management-authority-dialog.tsx index 2d4f6a176..12fc1d1f7 100644 --- a/apps/st/src/entities/menu-authority/ui/management-authority-dialog.tsx +++ b/apps/st/src/entities/menu-authority/ui/management-authority-dialog.tsx @@ -1,9 +1,13 @@ import { useState } from "react"; import { useForm } from "react-hook-form"; + +import { useConfirm } from "@frontend-opensource/use-react-hooks"; import { zodResolver } from "@hookform/resolvers/zod"; import { useQuery } from "@tanstack/react-query"; import { getCoreRowModel } from "@tanstack/react-table"; -import { useConfirm } from "@frontend-opensource/use-react-hooks"; + +import { ENDPOINT } from "@/shared/config"; +import { useAlertStore, useDataTable, useMutationWrapper } from "@/shared/lib"; import { Button, Dialog, @@ -14,15 +18,14 @@ import { DialogTitle, DialogTrigger, } from "@common/components"; -import { ENDPOINT } from "@/shared/config"; -import { useAlertStore, useDataTable, useMutationWrapper } from "@/shared/lib"; + +import { MenuAuthorityApi } from "../api/menu-authority-service"; import { - menuAuthorityFormSchema, type MenuAuthorityFormData, + menuAuthorityFormSchema, type MenuAuthorityPayload, } from "../model/menu-authority-interface"; import { createColumns } from "../model/menu-authority-table-columns"; -import { MenuAuthorityApi } from "../api/menu-authority-service"; type ManagementAuthorityDialogProps = { menuCd?: number; diff --git a/apps/st/src/entities/menu/api/menu-service.ts b/apps/st/src/entities/menu/api/menu-service.ts index 59788e0f5..84cfa8b35 100644 --- a/apps/st/src/entities/menu/api/menu-service.ts +++ b/apps/st/src/entities/menu/api/menu-service.ts @@ -1,10 +1,11 @@ import { client } from "@/shared/api"; import { ENDPOINT } from "@/shared/config"; + import type { - MenuService, Menu, - MenuItem, MenuFormData, + MenuItem, + MenuService, MenuTemporarilyStoredData, SiteMapFormData, } from "../model/menu-interface"; diff --git a/apps/st/src/entities/menu/index.ts b/apps/st/src/entities/menu/index.ts index e4c61dbb7..7cf1bd1d9 100644 --- a/apps/st/src/entities/menu/index.ts +++ b/apps/st/src/entities/menu/index.ts @@ -1,12 +1,12 @@ export { MenuApi } from "./api/menu-service"; +export { MenuWrapper } from "./lib/menu-wrapper"; export { MENU_TYPE, - menuFormSchema, - siteMapFormSchema, - type MenuType, - type MenuItem, type MenuFormData, + menuFormSchema, + type MenuItem, + type MenuType, type SiteMapFormData, + siteMapFormSchema, type SiteMapPayloadData, } from "./model/menu-interface"; -export { MenuWrapper } from "./lib/menu-wrapper"; diff --git a/apps/st/src/entities/menu/lib/menu-wrapper.tsx b/apps/st/src/entities/menu/lib/menu-wrapper.tsx index 1f1080cac..967a08ab8 100644 --- a/apps/st/src/entities/menu/lib/menu-wrapper.tsx +++ b/apps/st/src/entities/menu/lib/menu-wrapper.tsx @@ -2,10 +2,13 @@ import { useEffect } from "react"; import { usePathname, useRouter } from "next/navigation"; -import { MenuAuthorityApi } from "@/entities/menu-authority/@x/menu"; -import { getCookie, useAlertStore, useMenuStore } from "@/shared/lib"; + import { SITE_ID } from "@/shared/config"; +import { getCookie, useAlertStore, useMenuStore } from "@/shared/lib"; +import { MenuAuthorityApi } from "@/entities/menu-authority/@x/menu"; + import { MenuApi } from "../api/menu-service"; + import { getCurrentMenu } from "./utils"; const MenuWrapper = ({ children }: { children: React.ReactNode }) => { diff --git a/apps/st/src/entities/statistics/api/analysis-api.ts b/apps/st/src/entities/statistics/api/analysis-api.ts index b6d6c91f1..40372af4a 100644 --- a/apps/st/src/entities/statistics/api/analysis-api.ts +++ b/apps/st/src/entities/statistics/api/analysis-api.ts @@ -4,8 +4,8 @@ import { ENDPOINT } from "@/shared/config"; import type { AnalysisRequestPayload, AnalysisResponseDto, - JobStatusDto, AnalysisResultDto, + JobStatusDto, } from "../model/analysis/analysis-interface"; export class AnalysisApiService { diff --git a/apps/st/src/entities/statistics/api/verification-target-management-service.ts b/apps/st/src/entities/statistics/api/verification-target-management-service.ts index 118977970..04ee7681b 100644 --- a/apps/st/src/entities/statistics/api/verification-target-management-service.ts +++ b/apps/st/src/entities/statistics/api/verification-target-management-service.ts @@ -2,19 +2,19 @@ import { client } from "@/shared/api"; import { ENDPOINT } from "@/shared/config"; import type { + TableMetadataResponse, VerificationTargetCodeResponse, VerificationTargetManagementCheckColumnsParams, VerificationTargetManagementCheckColumnsResponse, - VerificationTargetManagementService, - VerificationTargetManagementSearchParams, - VerificationTargetManagementListApiResponse, - VerificationTargetManagementDetailApiResponse, - VerificationTargetManagementSaveRequest, - VerificationTargetManagementSaveApiResponse, - VerificationTargetManagementUpdateRequest, - VerificationTargetManagementUpdateApiResponse, VerificationTargetManagementDeleteApiResponse, - TableMetadataResponse, + VerificationTargetManagementDetailApiResponse, + VerificationTargetManagementListApiResponse, + VerificationTargetManagementSaveApiResponse, + VerificationTargetManagementSaveRequest, + VerificationTargetManagementSearchParams, + VerificationTargetManagementService, + VerificationTargetManagementUpdateApiResponse, + VerificationTargetManagementUpdateRequest, } from "../model/verification-target-management-interface"; export class VerificationTargetManagementApiService implements VerificationTargetManagementService { diff --git a/apps/st/src/entities/user/api/user-service.ts b/apps/st/src/entities/user/api/user-service.ts index 482d51e16..ab36601dd 100644 --- a/apps/st/src/entities/user/api/user-service.ts +++ b/apps/st/src/entities/user/api/user-service.ts @@ -1,22 +1,23 @@ import { client } from "@/shared/api"; import { ENDPOINT } from "@/shared/config"; + import type { - UserService, - UserSearchParams, - UserList, + AdminUserList, UserDetailResponse, + UserEmailData, + UserFindPasswordSaveData, + UserFindPasswordUpdateData, + UserIdData, + UserList, + UserPasswordMatchData, + UserPasswordUpdateData, + UserSaveData, + UserSearchParams, + UserService, UserSttsStatsList, UserUpdateData, - UserPasswordUpdateData, - UserFindPasswordUpdateData, - UserPasswordMatchData, UserUpdateInfoData, - UserSaveData, - UserFindPasswordSaveData, UserVerifyData, - UserEmailData, - UserIdData, - AdminUserList, } from "../model/user-interface"; export class UserApiService implements UserService { diff --git a/apps/st/src/entities/user/index.ts b/apps/st/src/entities/user/index.ts index 8927256f9..5aadb141d 100644 --- a/apps/st/src/entities/user/index.ts +++ b/apps/st/src/entities/user/index.ts @@ -1,17 +1,17 @@ export { UserApi } from "./api/user-service"; export { - USER_STATE_CODE, - userSaveSchema, - userPasswordUpdateSchema, - userUpdateSchema, - type UserStateCode, - type UserSearchParams, - type UserListResponse, - type UserSaveData, - type UserDetailResponse, - type UserPasswordUpdateData, - type UserUpdateData, type AdminUserList, type AdminUserListResponse, + USER_STATE_CODE, + type UserDetailResponse, + type UserListResponse, + type UserPasswordUpdateData, + userPasswordUpdateSchema, + type UserSaveData, + userSaveSchema, + type UserSearchParams, + type UserStateCode, + type UserUpdateData, + userUpdateSchema, } from "./model/user-interface"; export { PasswordResetDialog } from "./ui/password-reset-dialog"; diff --git a/apps/st/src/entities/user/model/user-interface.ts b/apps/st/src/entities/user/model/user-interface.ts index 012fe9e92..4c0091649 100644 --- a/apps/st/src/entities/user/model/user-interface.ts +++ b/apps/st/src/entities/user/model/user-interface.ts @@ -1,4 +1,5 @@ import { z } from "zod"; + import type { PageableList, PageableParams } from "@/shared/model"; export const USER_STATE_CODE = { diff --git a/apps/st/src/entities/user/ui/password-reset-dialog.tsx b/apps/st/src/entities/user/ui/password-reset-dialog.tsx index 0d6aaf94e..3984f0e0c 100644 --- a/apps/st/src/entities/user/ui/password-reset-dialog.tsx +++ b/apps/st/src/entities/user/ui/password-reset-dialog.tsx @@ -2,23 +2,10 @@ import { useState } from "react"; import { useForm } from "react-hook-form"; + import { zodResolver } from "@hookform/resolvers/zod"; -import { - Dialog, - DialogContent, - DialogHeader, - DialogTitle, - DialogFooter, - DialogClose, - Button, - Input, - DialogTrigger, -} from "@common/components"; -import { - UserApi, - userPasswordUpdateSchema, - type UserPasswordUpdateData, -} from "@/entities/user"; + +import { useAlertStore, useMutationWrapper } from "@/shared/lib"; import { Form, FormControl, @@ -27,7 +14,22 @@ import { FormLabel, FormMessage, } from "@/shared/ui/form"; -import { useAlertStore, useMutationWrapper } from "@/shared/lib"; +import { + UserApi, + type UserPasswordUpdateData, + userPasswordUpdateSchema, +} from "@/entities/user"; +import { + Button, + Dialog, + DialogClose, + DialogContent, + DialogFooter, + DialogHeader, + DialogTitle, + DialogTrigger, + Input, +} from "@common/components"; interface PasswordResetDialogProps { userUnqId: string; diff --git a/apps/st/src/pages/statistics/ui/statistics-page.tsx b/apps/st/src/pages/statistics/ui/statistics-page.tsx index 6ba58fb05..9aff49164 100644 --- a/apps/st/src/pages/statistics/ui/statistics-page.tsx +++ b/apps/st/src/pages/statistics/ui/statistics-page.tsx @@ -3,17 +3,17 @@ import { Suspense, useEffect, useMemo, useRef } from "react"; import dynamic from "next/dynamic"; -import { SkeletonPage } from "@/shared/ui/skeleton-page"; - -import "@rsone/components/index.css"; - -import Dashboard from "@/components/statistics/Dashboard"; import { isBbsNoticeMenu } from "@/shared/lib/bbs-notice-menu"; import { parseStatisticsMenuUrlPath, resolveStatisticsCategory, } from "@/shared/lib/statistics-menu-url"; import { isVerificationSelectionReportMenu } from "@/shared/lib/verification-selection-report"; +import { SkeletonPage } from "@/shared/ui/skeleton-page"; + +import "@rsone/components/index.css"; + +import Dashboard from "@/components/statistics/Dashboard"; import { useAdminStore } from "@/store/admin-store"; import { useTabStore } from "@/store/tab-store"; diff --git a/apps/st/src/shared/api/with-auth-header.ts b/apps/st/src/shared/api/with-auth-header.ts index 9f93d8407..b0ead5bce 100644 --- a/apps/st/src/shared/api/with-auth-header.ts +++ b/apps/st/src/shared/api/with-auth-header.ts @@ -1,7 +1,7 @@ import type { AxiosRequestConfig } from "axios"; -import { getToken } from "@/entities/auth/lib/token-manager"; import { CLAIM_NAME } from "@/shared/config"; +import { getToken } from "@/entities/auth/lib/token-manager"; export function withAuthHeader(config: T = {} as T): T { const authorization = getToken(CLAIM_NAME); diff --git a/apps/st/src/shared/lib/index.ts b/apps/st/src/shared/lib/index.ts index b2175d7c7..45383bf3a 100644 --- a/apps/st/src/shared/lib/index.ts +++ b/apps/st/src/shared/lib/index.ts @@ -1,14 +1,14 @@ -export { getCookie, setCookie, removeCookie } from "./cookie"; -export { useMutationWrapper } from "./use-mutation-wrapper"; +export { getCookie, removeCookie,setCookie } from "./cookie"; export { useAlertStore } from "./use-alert-store"; export { useDataTable } from "./use-data-table"; export { useGlobalProgressStore } from "./use-global-progress-store"; export { useMenuStore } from "./use-menu-store"; -export { useUserStore } from "./use-user-store"; +export { useMutationWrapper } from "./use-mutation-wrapper"; +export { usePrompt } from "./use-prompt"; +export { useSelectPrompt } from "./use-select-prompt"; export { isRegAuthorityAllowed, useActiveTabRegAuthorityAllowed, useStatisticsInputToolbarGroupGate, } from "./use-statistics-input-toolbar-group-gate"; -export { usePrompt } from "./use-prompt"; -export { useSelectPrompt } from "./use-select-prompt"; +export { useUserStore } from "./use-user-store"; diff --git a/apps/st/src/shared/lib/match-query-status.ts b/apps/st/src/shared/lib/match-query-status.ts index cfefda9fd..aaed41b8d 100644 --- a/apps/st/src/shared/lib/match-query-status.ts +++ b/apps/st/src/shared/lib/match-query-status.ts @@ -1,5 +1,7 @@ import type { ReactElement } from "react"; + import { type UseQueryResult } from "@tanstack/react-query"; + import type { PageableList } from "../model"; /** diff --git a/apps/st/src/shared/lib/stats-cd-input-navigation.ts b/apps/st/src/shared/lib/stats-cd-input-navigation.ts index 891572ef9..85fb17bfc 100644 --- a/apps/st/src/shared/lib/stats-cd-input-navigation.ts +++ b/apps/st/src/shared/lib/stats-cd-input-navigation.ts @@ -1,7 +1,8 @@ +import { menuMatchesStatisticsTabId } from "@/shared/lib/statistics-menu-url"; import type { MenuItem } from "@/entities/menu"; + import type { SearchFormValues } from "@/components/type/SearchForm.type"; import { doNameList } from "@/components/util/column/input/DoList"; -import { menuMatchesStatisticsTabId } from "@/shared/lib/statistics-menu-url"; import { EXCRETA_TREATMENT_FACILITY_INP_TAB_KEYS, INPUT_TAB_KEY_BY_STATS_CD, diff --git a/apps/st/src/shared/lib/use-alert-store.ts b/apps/st/src/shared/lib/use-alert-store.ts index c21a00ed3..e6bf49995 100644 --- a/apps/st/src/shared/lib/use-alert-store.ts +++ b/apps/st/src/shared/lib/use-alert-store.ts @@ -1,7 +1,9 @@ -import { useStore } from "zustand"; import { useContext } from "react"; -import type { AlertStore } from "../store/alert-store"; + +import { useStore } from "zustand"; + import { StoreContext } from "../providers/store-provider"; +import type { AlertStore } from "../store/alert-store"; export const useAlertStore = (selector: (store: AlertStore) => T): T => { const storeContext = useContext(StoreContext); diff --git a/apps/st/src/shared/lib/use-attachment-store.ts b/apps/st/src/shared/lib/use-attachment-store.ts index 285699cc6..b654a3d7d 100644 --- a/apps/st/src/shared/lib/use-attachment-store.ts +++ b/apps/st/src/shared/lib/use-attachment-store.ts @@ -1,7 +1,9 @@ -import { useStore } from "zustand"; import { useContext } from "react"; -import type { AttachmentStore } from "../store/attachment-store"; + +import { useStore } from "zustand"; + import { StoreContext } from "../providers/store-provider"; +import type { AttachmentStore } from "../store/attachment-store"; export const useAttachmentStore = ( selector: (store: AttachmentStore) => T, diff --git a/apps/st/src/shared/lib/use-global-progress-store.ts b/apps/st/src/shared/lib/use-global-progress-store.ts index 4161ad1d4..86ac31e5b 100644 --- a/apps/st/src/shared/lib/use-global-progress-store.ts +++ b/apps/st/src/shared/lib/use-global-progress-store.ts @@ -1,7 +1,9 @@ import { useContext } from "react"; + import { useStore } from "zustand"; -import type { GlobalProgressStore } from "../store/global-progress-store"; + import { StoreContext } from "../providers/store-provider"; +import type { GlobalProgressStore } from "../store/global-progress-store"; export const useGlobalProgressStore = ( selector: (store: GlobalProgressStore) => T, diff --git a/apps/st/src/shared/lib/use-menu-store.ts b/apps/st/src/shared/lib/use-menu-store.ts index 66e41c76c..2dcaac03d 100644 --- a/apps/st/src/shared/lib/use-menu-store.ts +++ b/apps/st/src/shared/lib/use-menu-store.ts @@ -1,7 +1,9 @@ -import { useStore } from "zustand"; import { useContext } from "react"; -import type { MenuStore } from "../store/menu-store"; + +import { useStore } from "zustand"; + import { StoreContext } from "../providers/store-provider"; +import type { MenuStore } from "../store/menu-store"; export const useMenuStore = (selector: (store: MenuStore) => T): T => { const storeContext = useContext(StoreContext); diff --git a/apps/st/src/shared/lib/use-prompt.tsx b/apps/st/src/shared/lib/use-prompt.tsx index f36858eb0..7acbe1c80 100644 --- a/apps/st/src/shared/lib/use-prompt.tsx +++ b/apps/st/src/shared/lib/use-prompt.tsx @@ -1,4 +1,5 @@ import { useContext } from "react"; + import { PromptContext } from "../providers/prompt-provider"; export const usePrompt = () => { diff --git a/apps/st/src/shared/lib/use-select-prompt.tsx b/apps/st/src/shared/lib/use-select-prompt.tsx index 357be7a36..9ee4750f7 100644 --- a/apps/st/src/shared/lib/use-select-prompt.tsx +++ b/apps/st/src/shared/lib/use-select-prompt.tsx @@ -1,4 +1,5 @@ import { useContext, useEffect } from "react"; + import { PromptContext } from "../providers/prompt-provider"; type SelectData = { diff --git a/apps/st/src/shared/lib/use-statistics-input-pending-navigation.ts b/apps/st/src/shared/lib/use-statistics-input-pending-navigation.ts index 9a901e558..89322d7f1 100644 --- a/apps/st/src/shared/lib/use-statistics-input-pending-navigation.ts +++ b/apps/st/src/shared/lib/use-statistics-input-pending-navigation.ts @@ -2,11 +2,12 @@ import { useEffect, useLayoutEffect, useRef, useState } from "react"; -import type { SearchFormValues } from "@/components/type/SearchForm.type"; import { - verificationSearchToFormValues, type StatisticsInputPendingSearch, + verificationSearchToFormValues, } from "@/shared/lib/stats-cd-input-navigation"; + +import type { SearchFormValues } from "@/components/type/SearchForm.type"; import { useStatisticsInputFocusStore } from "@/store/statistics-input-focus-store"; import { useTabStore } from "@/store/tab-store"; diff --git a/apps/st/src/shared/lib/use-statistics-tab-url-sync.ts b/apps/st/src/shared/lib/use-statistics-tab-url-sync.ts index 9388438db..b2cf5b5f0 100644 --- a/apps/st/src/shared/lib/use-statistics-tab-url-sync.ts +++ b/apps/st/src/shared/lib/use-statistics-tab-url-sync.ts @@ -3,18 +3,19 @@ import { useEffect, useRef } from "react"; import { useRouter, useSearchParams } from "next/navigation"; -import type { MenuItem } from "@/entities/menu"; import { isBbsNoticeMenu } from "@/shared/lib/bbs-notice-menu"; import { findMenuItemByUrlPath } from "@/shared/lib/stats-cd-input-navigation"; -import { getTabStoreState } from "@/store/tab-store"; +import type { MenuItem } from "@/entities/menu"; import { - STATISTICS_ROUTE, - STATISTICS_TAB_QUERY_KEY, buildStatisticsTabUrl, isStatisticsPathname, + STATISTICS_ROUTE, + STATISTICS_TAB_QUERY_KEY, } from "./statistics-tab-url"; +import { getTabStoreState } from "@/store/tab-store"; + type UseStatisticsTabUrlSyncParams = { pathname: string | null; menuList: MenuItem[] | null; diff --git a/apps/st/src/shared/lib/use-tus.ts b/apps/st/src/shared/lib/use-tus.ts index 9d4bc7c00..1c5db40af 100644 --- a/apps/st/src/shared/lib/use-tus.ts +++ b/apps/st/src/shared/lib/use-tus.ts @@ -1,9 +1,12 @@ import { useEffect, useState } from "react"; + import { type HttpResponse, Upload } from "tus-js-client"; + import { AUTH_USER_ID, CLAIM_NAME, ENDPOINT } from "../config"; -import { useAttachmentStore } from "./use-attachment-store"; -import { useAlertStore } from "./use-alert-store"; + import { getCookie } from "./cookie"; +import { useAlertStore } from "./use-alert-store"; +import { useAttachmentStore } from "./use-attachment-store"; type TusProps = { accept?: string; diff --git a/apps/st/src/shared/providers/index.ts b/apps/st/src/shared/providers/index.ts index fa8320fe7..dbc0e26d5 100644 --- a/apps/st/src/shared/providers/index.ts +++ b/apps/st/src/shared/providers/index.ts @@ -1,2 +1,2 @@ -export { StoreProvider } from "./store-provider"; export { PromptProvider } from "./prompt-provider"; +export { StoreProvider } from "./store-provider"; diff --git a/apps/st/src/shared/providers/store-provider.tsx b/apps/st/src/shared/providers/store-provider.tsx index 44d6d89f0..173b19c45 100644 --- a/apps/st/src/shared/providers/store-provider.tsx +++ b/apps/st/src/shared/providers/store-provider.tsx @@ -1,6 +1,7 @@ "use client"; import { createContext, useRef } from "react"; + import { createAlertStore, createAttachmentStore, diff --git a/apps/st/src/shared/store/index.ts b/apps/st/src/shared/store/index.ts index c5014150e..404460a6f 100644 --- a/apps/st/src/shared/store/index.ts +++ b/apps/st/src/shared/store/index.ts @@ -1,5 +1,5 @@ export { createAlertStore } from "./alert-store"; export { createAttachmentStore } from "./attachment-store"; export { createGlobalProgressStore } from "./global-progress-store"; -export { createMenuStore, type BbsType } from "./menu-store"; +export { type BbsType,createMenuStore } from "./menu-store"; export { createUserStore, type IUserInfo } from "./user-store"; diff --git a/apps/st/src/shared/ui/alert-dialog.tsx b/apps/st/src/shared/ui/alert-dialog.tsx index 6160d5301..7c93a688a 100644 --- a/apps/st/src/shared/ui/alert-dialog.tsx +++ b/apps/st/src/shared/ui/alert-dialog.tsx @@ -1,10 +1,11 @@ import { + Button, Dialog, + DialogClose, DialogContent, DialogFooter, - DialogClose, - Button, } from "@common/components"; + import { useAlertStore } from "../lib/use-alert-store"; function AlertDialog() { diff --git a/apps/st/src/shared/ui/confirm-dialog.tsx b/apps/st/src/shared/ui/confirm-dialog.tsx index 6a4996bfb..69b9de045 100644 --- a/apps/st/src/shared/ui/confirm-dialog.tsx +++ b/apps/st/src/shared/ui/confirm-dialog.tsx @@ -1,11 +1,12 @@ import { useConfirm } from "@frontend-opensource/use-react-hooks"; + import { - Dialog, - DialogContent, - DialogFooter, - DialogClose, Button, type ButtonProps, + Dialog, + DialogClose, + DialogContent, + DialogFooter, } from "@common/components"; type ConfirmDialogProps = { diff --git a/apps/st/src/shared/ui/form.tsx b/apps/st/src/shared/ui/form.tsx index bd579d263..3930d7df5 100644 --- a/apps/st/src/shared/ui/form.tsx +++ b/apps/st/src/shared/ui/form.tsx @@ -1,14 +1,16 @@ import * as React from "react"; -import * as LabelPrimitive from "@radix-ui/react-label"; -import { Slot } from "@radix-ui/react-slot"; import { Controller, - FormProvider, - useFormContext, type ControllerProps, type FieldPath, type FieldValues, + FormProvider, + useFormContext, } from "react-hook-form"; + +import * as LabelPrimitive from "@radix-ui/react-label"; +import { Slot } from "@radix-ui/react-slot"; + import { cn, Label } from "@common/components"; const Form = FormProvider; @@ -164,12 +166,12 @@ const FormMessage = React.forwardRef< FormMessage.displayName = "FormMessage"; export { - useFormField, Form, - FormItem, - FormLabel, FormControl, FormDescription, - FormMessage, FormField, + FormItem, + FormLabel, + FormMessage, + useFormField, }; diff --git a/apps/st/src/shared/ui/global-progress-overlay.tsx b/apps/st/src/shared/ui/global-progress-overlay.tsx index c9007148b..f00296630 100644 --- a/apps/st/src/shared/ui/global-progress-overlay.tsx +++ b/apps/st/src/shared/ui/global-progress-overlay.tsx @@ -1,7 +1,7 @@ "use client"; -import { Progress } from "@common/components"; import { useGlobalProgressStore } from "@/shared/lib"; +import { Progress } from "@common/components"; export const GlobalProgressOverlay = () => { const visible = useGlobalProgressStore((state) => state.visible); diff --git a/apps/st/src/shared/ui/grid-view-data-table.tsx b/apps/st/src/shared/ui/grid-view-data-table.tsx index 1005d4951..38205545b 100644 --- a/apps/st/src/shared/ui/grid-view-data-table.tsx +++ b/apps/st/src/shared/ui/grid-view-data-table.tsx @@ -1,16 +1,18 @@ import type { HTMLAttributes } from "react"; -import { - flexRender, - type RowData, - type Table as TableInstance, -} from "@tanstack/react-table"; + import { ChevronLeftIcon, ChevronRightIcon, DoubleArrowLeftIcon, DoubleArrowRightIcon, } from "@radix-ui/react-icons"; -import { Button, Checkbox, Label, cn } from "@common/components"; +import { + flexRender, + type RowData, + type Table as TableInstance, +} from "@tanstack/react-table"; + +import { Button, Checkbox, cn,Label } from "@common/components"; declare module "@tanstack/react-table" { // eslint-disable-next-line @typescript-eslint/no-unused-vars diff --git a/apps/st/src/shared/ui/input-date-range-picker.tsx b/apps/st/src/shared/ui/input-date-range-picker.tsx index 1ee2bc5e1..d9f9990b6 100644 --- a/apps/st/src/shared/ui/input-date-range-picker.tsx +++ b/apps/st/src/shared/ui/input-date-range-picker.tsx @@ -1,5 +1,7 @@ -import { InputDatePicker } from "@common/components"; import { useEffect } from "react"; + +import { InputDatePicker } from "@common/components"; + import { useAlertStore } from "../lib"; type DateRange = { diff --git a/apps/st/src/shared/ui/page-layout.tsx b/apps/st/src/shared/ui/page-layout.tsx index 358d3b5db..8bb94f52a 100644 --- a/apps/st/src/shared/ui/page-layout.tsx +++ b/apps/st/src/shared/ui/page-layout.tsx @@ -1,4 +1,5 @@ import { PageTitle } from "@common/components"; + import { useMenuStore } from "../lib/use-menu-store"; function PageLayout({ children }: { children: React.ReactNode }) { diff --git a/apps/st/src/shared/ui/prompt-dialog.tsx b/apps/st/src/shared/ui/prompt-dialog.tsx index c7e1ebc57..34dee457b 100644 --- a/apps/st/src/shared/ui/prompt-dialog.tsx +++ b/apps/st/src/shared/ui/prompt-dialog.tsx @@ -1,13 +1,14 @@ import { useEffect, useState } from "react"; + +import { usePrompt } from "@/shared/lib/use-prompt"; import { Button, Dialog, + DialogClose, DialogContent, DialogFooter, - DialogClose, Input, } from "@common/components"; -import { usePrompt } from "@/shared/lib/use-prompt"; function PromptDialog() { const { message, isOpen, onSubmit, onCancel } = usePrompt(); diff --git a/apps/st/src/shared/ui/select-prompt-dialog.tsx b/apps/st/src/shared/ui/select-prompt-dialog.tsx index 19092c8a1..8bd35bfce 100644 --- a/apps/st/src/shared/ui/select-prompt-dialog.tsx +++ b/apps/st/src/shared/ui/select-prompt-dialog.tsx @@ -1,17 +1,19 @@ import { useEffect, useState } from "react"; + import { Button, Dialog, + DialogClose, DialogContent, DialogFooter, - DialogClose, Select, - SelectTrigger, - SelectValue, SelectContent, SelectItem, + SelectTrigger, + SelectValue, Textarea, } from "@common/components"; + import { useSelectPrompt } from "../lib/use-select-prompt"; function SelectPromptDialog() { diff --git a/apps/st/src/shared/ui/sonner.tsx b/apps/st/src/shared/ui/sonner.tsx index f96a98d91..14f9d756e 100644 --- a/apps/st/src/shared/ui/sonner.tsx +++ b/apps/st/src/shared/ui/sonner.tsx @@ -1,6 +1,7 @@ "use client"; import { useTheme } from "next-themes"; + import { Toaster as Sonner, type ToasterProps } from "sonner"; const Toaster = ({ ...props }: ToasterProps) => { diff --git a/apps/st/src/shared/ui/statistics-page-layout.tsx b/apps/st/src/shared/ui/statistics-page-layout.tsx index 26a9d6ddc..dace83b3e 100644 --- a/apps/st/src/shared/ui/statistics-page-layout.tsx +++ b/apps/st/src/shared/ui/statistics-page-layout.tsx @@ -1,7 +1,9 @@ import { PageTitle } from "@common/components"; -import { useTabStore } from "@/store/tab-store"; + import { TabBar } from "./tab-bar"; +import { useTabStore } from "@/store/tab-store"; + function StatisticsPageLayout({ children }: { children: React.ReactNode }) { const { activeTabId, tabs } = useTabStore(); diff --git a/apps/st/src/shared/ui/tab-bar.tsx b/apps/st/src/shared/ui/tab-bar.tsx index d6fd4db9a..47e1f6811 100644 --- a/apps/st/src/shared/ui/tab-bar.tsx +++ b/apps/st/src/shared/ui/tab-bar.tsx @@ -3,9 +3,10 @@ import { useCallback, useEffect, useRef, useState } from "react"; import { createPortal } from "react-dom"; -import { useTabStore } from "@/store/tab-store"; import { Tabs, TabsList, TabsTrigger } from "@common/components"; +import { useTabStore } from "@/store/tab-store"; + type TabContextMenuState = { x: number; y: number; diff --git a/apps/st/src/shared/ui/tooltip.tsx b/apps/st/src/shared/ui/tooltip.tsx index c7578a4d9..6acf3bd67 100644 --- a/apps/st/src/shared/ui/tooltip.tsx +++ b/apps/st/src/shared/ui/tooltip.tsx @@ -1,6 +1,7 @@ "use client"; import * as React from "react"; + import * as TooltipPrimitive from "@radix-ui/react-tooltip"; import { cn } from "@common/components"; @@ -58,4 +59,4 @@ function TooltipContent({ ); } -export { Tooltip, TooltipTrigger, TooltipContent, TooltipProvider }; +export { Tooltip, TooltipContent, TooltipProvider,TooltipTrigger }; diff --git a/apps/st/src/store/admin-store.ts b/apps/st/src/store/admin-store.ts index 1b9937d4f..6968c92d6 100644 --- a/apps/st/src/store/admin-store.ts +++ b/apps/st/src/store/admin-store.ts @@ -1,5 +1,7 @@ import { create } from "zustand"; + import { UserApi } from "@/entities/user"; + import { getUserInfo } from "../../../../packages/common/components/src/api"; interface AdminStore { diff --git a/apps/st/src/store/tab-store.ts b/apps/st/src/store/tab-store.ts index 7e942879a..0ae428e6a 100644 --- a/apps/st/src/store/tab-store.ts +++ b/apps/st/src/store/tab-store.ts @@ -1,11 +1,11 @@ import { create } from "zustand"; import { createJSONStorage, persist } from "zustand/middleware"; +import { isBbsNoticeMenu } from "@/shared/lib/bbs-notice-menu"; +import { resolveStatisticsTabId } from "@/shared/lib/statistics-menu-url"; import type { MenuItem } from "@/entities/menu"; import { MenuAuthorityApi } from "@/entities/menu-authority"; import type { PageMenuAuthority } from "@/entities/menu-authority/model/menu-authority-interface"; -import { isBbsNoticeMenu } from "@/shared/lib/bbs-notice-menu"; -import { resolveStatisticsTabId } from "@/shared/lib/statistics-menu-url"; export interface Tab { id: string; // 고유 ID (urlPath)