Compare commits

...
Author SHA1 Message Date
100JM 03a08a320a [ST] - fix: DB 표준화에 따른 소스 수정 2026-10-14 14:24:03 +09:00
rsone001 f2ec9327fd feat: [ST] - eval 제거 2026-09-30 17:17:01 +09:00
183 changed files with 4534 additions and 4545 deletions
+14 -14
View File
@@ -2403,16 +2403,16 @@ useEffect(() => {
<div className="data-grid-status-bubble flex flex-wrap items-center gap-x-4 gap-y-1">
<span>
진행상황:{" "}
{statusInfo.laeSbmsnSttsCd === null ||
statusInfo.laeSbmsnSttsCd === "0" ? (
{statusInfo.lclgvSbmsnSttsCd === null ||
statusInfo.lclgvSbmsnSttsCd === "0" ? (
"미작성"
) : statusInfo.laeSbmsnSttsCd === "1" ? (
) : statusInfo.lclgvSbmsnSttsCd === "1" ? (
<span className="animate-pulse">작성중</span>
) : statusInfo.laeSbmsnSttsCd === "2" ? (
) : statusInfo.lclgvSbmsnSttsCd === "2" ? (
<span className="!text-[#2094fa]">제출</span>
) : statusInfo.laeSbmsnSttsCd === "3" ? (
) : statusInfo.lclgvSbmsnSttsCd === "3" ? (
<span className="!text-[#1fd078]">승인</span>
) : statusInfo.laeSbmsnSttsCd === "4" ? (
) : statusInfo.lclgvSbmsnSttsCd === "4" ? (
<span className="relative inline-flex pr-3 !text-[#ff6c64]">
반려
<span className="absolute -right-0.5 -top-0.5 inline-flex size-[0.6125rem]">
@@ -2432,21 +2432,21 @@ useEffect(() => {
</span>
<span>
제출일:{" "}
{statusInfo.laeSbmsnYmd
? statusInfo.laeSbmsnYmd.length === 8 &&
/^\d{8}$/.test(statusInfo.laeSbmsnYmd)
? `${statusInfo.laeSbmsnYmd.slice(0, 4)}-${statusInfo.laeSbmsnYmd.slice(4, 6)}-${statusInfo.laeSbmsnYmd.slice(6, 8)}`
: statusInfo.laeSbmsnYmd
{statusInfo.lclgvSbmsnYmd
? statusInfo.lclgvSbmsnYmd.length === 8 &&
/^\d{8}$/.test(statusInfo.lclgvSbmsnYmd)
? `${statusInfo.lclgvSbmsnYmd.slice(0, 4)}-${statusInfo.lclgvSbmsnYmd.slice(4, 6)}-${statusInfo.lclgvSbmsnYmd.slice(6, 8)}`
: statusInfo.lclgvSbmsnYmd
: "미제출"}
</span>
<span>
담당자:{" "}
{statusInfo.laePicNm ? statusInfo.laePicNm : "-"}
{statusInfo.lclgvPicNm ? statusInfo.lclgvPicNm : "-"}
</span>
<span>
연락처:{" "}
{statusInfo.laePicTelNo
? statusInfo.laePicTelNo
{statusInfo.lclgvPicTelnoCn
? statusInfo.lclgvPicTelnoCn
: "-"}
</span>
</div>
@@ -70,7 +70,7 @@ export type ExceptionRejectSubmitItem = {
statsYr: string;
sewerBzmnCd: string;
statsCd: string;
mdfrId: string;
mdfrUuid: string;
rjctOpnnCn?: string;
};
@@ -84,8 +84,8 @@ function prcsYnCodeToNumber(raw: string | number | undefined): number | undefine
}
function exceptionPrcsYnNmCellStyle({ fieldName, row }: CellStyleCallbackParams): string | undefined {
if (fieldName !== "prcsYnNm") return undefined;
const code = prcsYnCodeToNumber(row.prcsYn);
if (fieldName !== "vrfcSttsNm") return undefined;
const code = prcsYnCodeToNumber(row.vrfcSttsCd);
if (code === 0 || code === 4) return "rg-cell-vrf-prcs-bad";
return "rg-cell-vrf-prcs-ok";
}
@@ -96,10 +96,10 @@ const exceptionHistoryColumnInfo: ColumnInfo = {
{ name: "admdstNm", fieldName: "admdstNm", header: { text: "행정구역" }, editable: false },
{ name: "vrfcTrgtNm", fieldName: "vrfcTrgtNm", header: { text: "검증대상" }, editable: false },
{ name: "rsnExpln", fieldName: "rsnExpln", header: { text: "사유" }, editable: false },
{ name: "nowVlCn", fieldName: "nowVlCn", header: { text: "입력값" }, editable: false },
{ name: "compVlCn", fieldName: "compVlCn", header: { text: "기준값" }, editable: false },
{ name: "prcsYnNm", fieldName: "prcsYnNm", header: { text: "처리여부" }, editable: false },
{ name: "stVrfRjtComNm", fieldName: "stVrfRjtComNm", header: { text: "반려상태" }, editable: false },
{ name: "nowCn", fieldName: "nowCn", header: { text: "입력값" }, editable: false },
{ name: "cmprCn", fieldName: "cmprCn", header: { text: "기준값" }, editable: false },
{ name: "vrfcSttsNm", fieldName: "vrfcSttsNm", header: { text: "처리여부" }, editable: false },
{ name: "statsVrfcRjtComNm", fieldName: "statsVrfcRjtComNm", header: { text: "반려상태" }, editable: false },
{ name: "prcsOpnnExpln", fieldName: "prcsOpnnExpln", header: { text: "처리의견" }, editable: false },
{ name: "rjctOpnnCn", fieldName: "rjctOpnnCn", header: { text: "반려의견" }, editable: false },
{ name: "regDt", fieldName: "regDt", header: { text: "등록일시" }, editable: false },
@@ -112,7 +112,7 @@ const exceptionHistoryColumnInfo: ColumnInfo = {
width: 104,
styleName: "rg-cell-reject-mini-btn",
},
{ name: "prcsYn", fieldName: "prcsYn", header: { text: "검증결과상태코드" }, editable: false, visible: false },
{ name: "vrfcSttsCd", fieldName: "vrfcSttsCd", header: { text: "검증결과상태코드" }, editable: false, visible: false },
{ name: "vrfcSn", fieldName: "vrfcSn", header: { text: "vrfcSn" }, editable: false, visible: false },
],
columnLayout: [
@@ -120,16 +120,16 @@ const exceptionHistoryColumnInfo: ColumnInfo = {
"admdstNm",
"vrfcTrgtNm",
"rsnExpln",
"nowVlCn",
"compVlCn",
"prcsYnNm",
"stVrfRjtComNm",
"nowCn",
"cmprCn",
"vrfcSttsNm",
"statsVrfcRjtComNm",
"prcsOpnnExpln",
"rjctOpnnCn",
"regDt",
"mdfcnDt",
"individualReject",
"prcsYn",
"vrfcSttsCd",
"vrfcSn",
],
};
@@ -316,13 +316,13 @@ export function ExceptionProcessingHistoryDialog({
admdstNm: item.admdstNm ?? item.sggNm ?? "-",
vrfcTrgtNm: item.vrfcTrgtNm,
rsnExpln: item.rsnExpln,
nowVlCn: item.nowVlCn ?? "-",
compVlCn: item.compVlCn ?? "-",
prcsYnNm: item.prcsYnNm ?? "-",
stVrfRjtComNm: item.stVrfRjtComNm ?? "-",
nowCn: item.nowCn ?? "-",
cmprCn: item.cmprCn ?? "-",
vrfcSttsNm: item.vrfcSttsNm ?? "-",
statsVrfcRjtComNm: item.statsVrfcRjtComNm ?? "-",
prcsOpnnExpln: item.prcsOpnnExpln ?? "-",
rjctOpnnCn: item.rjctOpnnCn ?? "-",
prcsYn: item.prcsYn ?? "",
vrfcSttsCd: item.vrfcSttsCd ?? "",
regDt: (item.regDt ?? "").slice(0, 16),
mdfcnDt: (item.mdfcnDt ?? "").slice(0, 16),
individualReject: "개별 반려",
@@ -401,7 +401,7 @@ export function ExceptionProcessingHistoryDialog({
alert("사용자 정보를 불러오지 못했습니다.");
return;
}
const mdfrId = userInfo.userUnqId;
const mdfrUuid = userInfo.userUnqId;
const trimmedReason = rejectReasonText.trim();
const items: ReviewInputSaveRequest[] = pendingRejectVrfcSns.map((vrfcSn) => ({
@@ -409,7 +409,7 @@ export function ExceptionProcessingHistoryDialog({
statsYr: queryContext.statsYr,
sewerBzmnCd: queryContext.sewerBzmnCd,
statsCd: queryContext.statsCd,
mdfrId,
mdfrUuid,
vrfcSn: String(vrfcSn),
...(trimmedReason ? { rjctOpnnCn: trimmedReason } : {}),
}));
+5 -2
View File
@@ -145,6 +145,9 @@ const SearchForm = (props: SearchFormProps = {}) => {
const currentYear = new Date().getFullYear();
const defaultYear = currentYear - 1;
const isInput = Boolean(props.isInput);
const isDetailInputId = props.tabKey
? `${props.tabKey}-isDetail`
: "isDetail";
const sidoListKind = isInput ? "input" : "default";
const { data: sidoList } = useSWR<ApiResponse<SearchCondition>>(
@@ -479,12 +482,12 @@ const SearchForm = (props: SearchFormProps = {}) => {
<div className="flex items-center gap-2">
<Label
className="cursor-pointer text-label"
htmlFor="isDetail"
htmlFor={isDetailInputId}
>
세부 데이터 포함
</Label>
<Checkbox
id="isDetail"
id={isDetailInputId}
checked={values.isDetail}
onCheckedChange={(value) =>
setValues({
@@ -399,7 +399,7 @@ const SidoSggFacilityNameSearchForm = ({
swtrmtFcltNm: String(selectedFacilityRow.fcltNm ?? ""),
prcsFcltCpct: Number(selectedFacilityRow.fcltCpct ?? 0),
sewerBzmnCd: initialSearchValues?.bsnmCd?.trim() ?? "",
userId: userInfo.userUnqId,
userUuid: userInfo.userUnqId,
saveList,
deleteList,
};
@@ -101,9 +101,9 @@ const verificationSubmitResultColumnInfo: ColumnInfo = {
{ name: "fcltNm", fieldName: "fcltNm", header: { text: "시설명" }, editable: false },
{ name: "vrfcTrgtNm", fieldName: "vrfcTrgtNm", header: { text: "검증대상" }, editable: false },
{ name: "rsnExpln", fieldName: "rsnExpln", header: { text: "사유" }, editable: false },
{ name: "nowVlCn", fieldName: "nowVlCn", header: { text: "입력값" }, editable: false },
{ name: "compVlCn", fieldName: "compVlCn", header: { text: "기준값" }, editable: false },
{ name: "prcsYn", fieldName: "prcsYn", header: { text: "처리여부" }, editable: false },
{ name: "nowCn", fieldName: "nowCn", header: { text: "입력값" }, editable: false },
{ name: "cmprCn", fieldName: "cmprCn", header: { text: "기준값" }, editable: false },
{ name: "vrfcSttsNm", fieldName: "vrfcSttsNm", header: { text: "처리여부" }, editable: false },
{ name: "regDt", fieldName: "regDt", header: { text: "등록일시" }, editable: false },
{ name: "mdfcnDt", fieldName: "mdfcnDt", header: { text: "갱신일시" }, editable: false },
{
@@ -120,9 +120,9 @@ const verificationSubmitResultColumnInfo: ColumnInfo = {
"fcltNm",
"vrfcTrgtNm",
"rsnExpln",
"nowVlCn",
"compVlCn",
"prcsYn",
"nowCn",
"cmprCn",
"vrfcSttsNm",
"regDt",
"mdfcnDt",
"prcsOpnnExpln",
@@ -211,9 +211,9 @@ export function VerificationResultDialog({
fcltNm: item.fcltNm ?? "-",
vrfcTrgtNm: item.vrfcTrgtNm,
rsnExpln: item.rsnExpln,
nowVlCn: item.nowVlCn ?? "-",
compVlCn: item.compVlCn ?? "-",
prcsYn: item.prcsYnNm ?? PRCS_YN_LABEL[item.prcsYn] ?? item.prcsYn,
nowCn: item.nowCn ?? "-",
cmprCn: item.cmprCn ?? "-",
vrfcSttsNm: item.vrfcSttsNm ?? PRCS_YN_LABEL[item.vrfcSttsCd] ?? item.vrfcSttsCd,
regDt: (item.regDt ?? "").slice(0, 16),
mdfcnDt: (item.mdfcnDt ?? "").slice(0, 16),
prcsOpnnExpln: item.prcsOpnnExpln ?? "",
@@ -351,7 +351,7 @@ export function VerificationResultDialog({
sewerBzmnCd: stableQueryContext.sewerBzmnCd,
statsYr: stableQueryContext.statsYr,
statsCd: stableQueryContext.statsCd,
userId: userInfo.userUnqId,
userUuid: userInfo.userUnqId,
exceptionList: payload,
});
if (response.status === "success") {
@@ -113,7 +113,7 @@ function syncCheckedMapFromGrid(
if (!entry) continue;
const sn = Number(entry.vrfcSn);
if (!Number.isFinite(sn)) continue;
next.set(sn, String(entry.prcsYn ?? ""));
next.set(sn, String(entry.vrfcSttsCd ?? ""));
}
return next;
}
@@ -124,15 +124,15 @@ function selectionHasNonExceptionResetAllowed(
): boolean {
for (const [vrfcSn, storedPrcsYn] of map) {
const onPage = currentEntries.find((e) => Number(e.vrfcSn) === vrfcSn);
const prcsYn = onPage ? onPage.prcsYn : storedPrcsYn;
const prcsYn = onPage ? onPage.vrfcSttsCd : storedPrcsYn;
if (!canExceptionReset(prcsYn)) return true;
}
return false;
}
function verificationPrcsYnNmCellStyle({ fieldName, row }: CellStyleCallbackParams): string | undefined {
if (fieldName !== "prcsYnNm") return undefined;
const code = prcsYnCodeToNumber(row.prcsYn);
if (fieldName !== "vrfcSttsNm") return undefined;
const code = prcsYnCodeToNumber(row.vrfcSttsCd);
if (code === 0 || code === 3) return "rg-cell-vrf-prcs-bad";
return "rg-cell-vrf-prcs-ok";
}
@@ -144,15 +144,15 @@ const verificationResultColumnInfo: ColumnInfo = {
{ name: "fcltNm", fieldName: "fcltNm", header: { text: "시설명" }, editable: false },
{ name: "vrfcTrgtNm", fieldName: "vrfcTrgtNm", header: { text: "검증대상" }, editable: false },
{ name: "rsnExpln", fieldName: "rsnExpln", header: { text: "사유" }, editable: false },
{ name: "nowVlCn", fieldName: "nowVlCn", header: { text: "입력값" }, editable: false },
{ name: "compVlCn", fieldName: "compVlCn", header: { text: "기준값" }, editable: false },
{ name: "prcsYnNm", fieldName: "prcsYnNm", header: { text: "처리여부" }, editable: false },
{ name: "stVrfRjtComNm", fieldName: "stVrfRjtComNm", header: { text: "반려상태" }, editable: false },
{ name: "nowCn", fieldName: "nowCn", header: { text: "입력값" }, editable: false },
{ name: "cmprCn", fieldName: "cmprCn", header: { text: "기준값" }, editable: false },
{ name: "vrfcSttsNm", fieldName: "vrfcSttsNm", header: { text: "처리여부" }, editable: false },
{ name: "statsVrfcRjtComNm", fieldName: "statsVrfcRjtComNm", header: { text: "반려상태" }, editable: false },
{ name: "prcsOpnnExpln", fieldName: "prcsOpnnExpln", header: { text: "처리의견" }, editable: false },
{ name: "rjctOpnnCn", fieldName: "rjctOpnnCn", header: { text: "반려의견" }, editable: false },
{ name: "regDt", fieldName: "regDt", header: { text: "등록일시" }, editable: false },
{ name: "mdfcnDt", fieldName: "mdfcnDt", header: { text: "갱신일시" }, editable: false },
{ name: "prcsYn", fieldName: "prcsYn", header: { text: "검증결과상태코드" }, editable: false, visible: false },
{ name: "vrfcSttsCd", fieldName: "vrfcSttsCd", header: { text: "검증결과상태코드" }, editable: false, visible: false },
{ name: "vrfcSn", fieldName: "vrfcSn", header: { text: "검증일련번호" }, editable: false, visible: false },
],
columnLayout: [
@@ -161,15 +161,15 @@ const verificationResultColumnInfo: ColumnInfo = {
"fcltNm",
"vrfcTrgtNm",
"rsnExpln",
"nowVlCn",
"compVlCn",
"prcsYnNm",
"stVrfRjtComNm",
"nowCn",
"cmprCn",
"vrfcSttsNm",
"statsVrfcRjtComNm",
"prcsOpnnExpln",
"rjctOpnnCn",
"regDt",
"mdfcnDt",
"prcsYn",
"vrfcSttsCd",
"vrfcSn",
],
};
@@ -385,13 +385,13 @@ export function VerificationResultHistoryDialog({
fcltNm: item.fcltNm ?? "-",
vrfcTrgtNm: item.vrfcTrgtNm,
rsnExpln: item.rsnExpln,
nowVlCn: item.nowVlCn ?? "-",
compVlCn: item.compVlCn ?? "-",
prcsYnNm: item.prcsYnNm ?? "-",
stVrfRjtComNm: item.stVrfRjtComNm ?? "-",
nowCn: item.nowCn ?? "-",
cmprCn: item.cmprCn ?? "-",
vrfcSttsNm: item.vrfcSttsNm ?? "-",
statsVrfcRjtComNm: item.statsVrfcRjtComNm ?? "-",
prcsOpnnExpln: item.prcsOpnnExpln ?? "-",
rjctOpnnCn: item.rjctOpnnCn ?? "-",
prcsYn: item.prcsYn ?? "",
vrfcSttsCd: item.vrfcSttsCd ?? "",
regDt: (item.regDt ?? "").slice(0, 16),
mdfcnDt: (item.mdfcnDt ?? "").slice(0, 16),
};
@@ -434,10 +434,10 @@ export function VerificationResultHistoryDialog({
}
setCheckedVrfcByTab((prev) => ({ ...prev, [tab]: syncedMap }));
const vrfcSnList = Array.from(syncedMap.keys());
let mdfrId: string;
let mdfrUuid: string;
try {
const userInfo = await getUserInfo();
mdfrId = userInfo.userUnqId;
mdfrUuid = userInfo.userUnqId;
} catch {
alert("사용자 정보를 불러오지 못했습니다.");
return;
@@ -449,7 +449,7 @@ export function VerificationResultHistoryDialog({
statsYr: stableQueryContext.statsYr,
sewerBzmnCd: stableQueryContext.sewerBzmnCd,
statsCd: stableQueryContext.statsCd,
mdfrId,
mdfrUuid,
vrfcSnList,
});
if (response.status !== "success") {
@@ -512,13 +512,13 @@ export function VerificationResultHistoryDialog({
if (!entry) return;
const vrfcSn = Number(entry.vrfcSn);
if (!Number.isFinite(vrfcSn)) return;
if (checked && !canExceptionReset(entry.prcsYn)) {
if (checked && !canExceptionReset(entry.vrfcSttsCd)) {
alert(EXCEPTION_RESET_ONLY_PRCS_YN_2_MESSAGE);
uncheckGridRow(gridRef, itemIndex);
return;
}
updateCheckedVrfcForTab(tab, (map) => {
if (checked) map.set(vrfcSn, String(entry.prcsYn ?? ""));
if (checked) map.set(vrfcSn, String(entry.vrfcSttsCd ?? ""));
else map.delete(vrfcSn);
});
}}
@@ -531,14 +531,14 @@ export function VerificationResultHistoryDialog({
map.delete(vrfcSn);
return;
}
if (canExceptionReset(entry.prcsYn)) {
map.set(vrfcSn, String(entry.prcsYn ?? ""));
if (canExceptionReset(entry.vrfcSttsCd)) {
map.set(vrfcSn, String(entry.vrfcSttsCd ?? ""));
} else {
uncheckGridRow(gridRef, itemIndex);
}
});
});
if (checked && entries.some((e) => !canExceptionReset(e.prcsYn))) {
if (checked && entries.some((e) => !canExceptionReset(e.vrfcSttsCd))) {
alert(EXCEPTION_RESET_ONLY_PRCS_YN_2_MESSAGE);
}
}}
@@ -379,8 +379,8 @@ const VerificationSelectionReport = ({
<div className="flex justify-between text-lg text-muted-foreground">
<span>{formatReportItemRegion(item)}</span>
<span>
현재: {item.nowVlCn ?? "-"} / 비교:{" "}
{item.compVlCn ?? "-"}
현재: {item.nowCn ?? "-"} / 비교:{" "}
{item.cmprCn ?? "-"}
</span>
</div>
</div>
@@ -93,8 +93,8 @@ const computeTabEnterable = (
statusInfo: SewerageStatusInfo | null | undefined,
periodEnterable: boolean,
): boolean => {
if (statusInfo?.laeSbmsnSttsCd) {
if (["2", "3"].includes(statusInfo.laeSbmsnSttsCd)) {
if (statusInfo?.lclgvSbmsnSttsCd) {
if (["2", "3"].includes(statusInfo.lclgvSbmsnSttsCd)) {
return false;
}
return periodEnterable;
@@ -130,7 +130,7 @@ function computeTabToolbarSnapshot(
): TabToolbarSnapshot {
const gugunOk = buildGugunOkForToolbar(searchContext);
const enterable = computeTabEnterable(statusInfo, periodEnterable);
const isSubmitted = statusInfo?.laeSbmsnSttsCd === "2";
const isSubmitted = statusInfo?.lclgvSbmsnSttsCd === "2";
const showSaveInToolbar = (enterable || isAdminInfo) && periodEnterable && gugunOk;
const showEnterableToolbarButtons = enterable && gugunOk;
const showSubmittedInInputPeriodToolbar =
@@ -257,35 +257,35 @@ function buildExcretaTreatmentFacilitySaveItem(
fcltSn: nullableTrimmedString(row.fcltSn),
fcltNm: nullableTrimmedString(row.fcltNm),
fcltPstnCn: nullableTrimmedString(row.fcltPstnCn),
telNo: nullableTrimmedString(row.telNo),
telnoCn: nullableTrimmedString(row.telnoCn),
cmptnStrtYmd: toApiYmd(row.cmptnStrtYmd),
oprtngStrtYmd: toApiYmd(row.oprtngStrtYmd),
wholPjtcoAmt: toGridNumber(row.wholPjtcoAmt),
prcsFcltCpct: toGridNumber(row.prcsFcltCpct),
cpct: toGridNumber(row.cpct),
oprtngDayCnt: toGridNumber(row.oprtngDayCnt),
prcsMthdExpln: nullableTrimmedString(row.prcsMthdExpln),
fcltCpct: toGridNumber(row.fcltCpct),
excrFcltPrcqty: toGridNumber(row.excrFcltPrcqty),
fcltOprtngDayCnt: toGridNumber(row.fcltOprtngDayCnt),
prcsExpln: nullableTrimmedString(row.prcsExpln),
linkTmplntCn: nullableTrimmedString(row.linkTmplntCn),
linkPrcsQnt: toGridNumber(row.linkPrcsQnt),
inflwBodWqVl: toGridNumber(row.inflwBodWqVl),
inflwTocWqVl: toGridNumber(row.inflwTocWqVl),
inflwSsWqVl: toGridNumber(row.inflwSsWqVl),
inflwTnWqVl: toGridNumber(row.inflwTnWqVl),
inflwTpWqVl: toGridNumber(row.inflwTpWqVl),
inflwClfgCnt: toGridNumber(row.inflwClfgCnt),
dschgBodWqVl: toGridNumber(row.dschgBodWqVl),
dschgTocWqVl: toGridNumber(row.dschgTocWqVl),
dschgSsWqVl: toGridNumber(row.dschgSsWqVl),
dschgTnWqVl: toGridNumber(row.dschgTnWqVl),
dschgTpWqVl: toGridNumber(row.dschgTpWqVl),
dschgClfgCnt: toGridNumber(row.dschgClfgCnt),
wtsysNm: nullableTrimmedString(row.wtsysNm),
trbtrNm: nullableTrimmedString(row.trbtrNm),
inflwWqBod: toGridNumber(row.inflwWqBod),
inflwWqTorgcb: toGridNumber(row.inflwWqTorgcb),
inflwWqSpsld: toGridNumber(row.inflwWqSpsld),
inflwWqDtn: toGridNumber(row.inflwWqDtn),
inflwWqTph: toGridNumber(row.inflwWqTph),
fcltInflwClfgCnt: toGridNumber(row.fcltInflwClfgCnt),
dschgWqBod: toGridNumber(row.dschgWqBod),
dschgWqTorgcb: toGridNumber(row.dschgWqTorgcb),
dschgWqSpsld: toGridNumber(row.dschgWqSpsld),
dschgWqDtn: toGridNumber(row.dschgWqDtn),
dschgWqTph: toGridNumber(row.dschgWqTph),
fcltDschgClfgCnt: toGridNumber(row.fcltDschgClfgCnt),
fcltWtsysNm: nullableTrimmedString(row.fcltWtsysNm),
fcltTrbtrNm: nullableTrimmedString(row.fcltTrbtrNm),
msirbCn: nullableTrimmedString(row.msirbCn),
ssirbCn: nullableTrimmedString(row.ssirbCn),
operMthdCdCn: nullableTrimmedString(row.operMthdCdCn),
operCn: nullableTrimmedString(row.operCn),
wholNope: toGridNumber(row.wholNope),
sftyAcdntEvntcsCnt: toGridNumber(row.sftyAcdntEvntcsCnt),
sftyAcdntNocs: toGridNumber(row.sftyAcdntNocs),
rmrk: nullableTrimmedString(row.rmrk),
};
}
@@ -615,7 +615,7 @@ const ExcretaTreatmentFacilityInp = () => {
...toInputSearchRegion(sidoListRef.current, lastSearchedValues),
ctpvNm: lastSearchedValues.sido ?? "",
statsYr: lastSearchedValues.year ?? "",
mdfrId: userInfo.userUnqId,
mdfrUuid: userInfo.userUnqId,
statsCd: statsCd || EXCRETA_TREATMENT_FACILITY_STATS_CD,
};
@@ -674,7 +674,7 @@ const ExcretaTreatmentFacilityInp = () => {
statsYr: lastSearchedValues.year ?? "",
ctpvNm: lastSearchedValues.sido ?? "",
...toInputSearchRegion(sidoListRef.current, lastSearchedValues),
userId: userInfo.userUnqId,
userUuid: userInfo.userUnqId,
...(isAdminInfo ? { superAdmin: "superAdmin" } : {}),
noApplicable,
saveList,
@@ -775,15 +775,15 @@ const ExcretaTreatmentFacilityInp = () => {
statsYr: lastSearchedValues.year ?? "",
ctpvNm: lastSearchedValues.sido ?? "",
...toInputSearchRegion(sidoListRef.current, lastSearchedValues),
userId: userInfo.userUnqId,
laePicNm: submitInfo.laePicNm,
laePicTelNo: submitInfo.laePicTelNo,
laeKbrdrDeptNm: submitInfo.laeKbrdrDeptNm,
laeKbrdrJbgdNm: submitInfo.laeKbrdrJbgdNm,
laeIdfrNm: submitInfo.laeIdfrNm,
laeIdfrTelNo: submitInfo.laeIdfrTelNo,
laeIdfrDeptNm: submitInfo.laeIdfrDeptNm,
laeIdfrJbgdNm: submitInfo.laeIdfrJbgdNm,
userUuid: userInfo.userUnqId,
lclgvPicNm: submitInfo.lclgvPicNm,
lclgvPicTelnoCn: submitInfo.lclgvPicTelnoCn,
lclgvKbrdrDeptNm: submitInfo.lclgvKbrdrDeptNm,
lclgvKbrdrJbgdNm: submitInfo.lclgvKbrdrJbgdNm,
lclgvIdfrNm: submitInfo.lclgvIdfrNm,
lclgvIdfrTelnoCn: submitInfo.lclgvIdfrTelnoCn,
lclgvIdfrDeptNm: submitInfo.lclgvIdfrDeptNm,
lclgvIdfrJbgdNm: submitInfo.lclgvIdfrJbgdNm,
...(isAdminInfo ? { superAdmin: "superAdmin" } : {}),
noApplicable,
submitList,
@@ -808,7 +808,7 @@ const ExcretaTreatmentFacilityInp = () => {
stats_cd: statsCdForSubmit,
stats_yr: lastSearchedValues.year ?? "",
lae_sbmsn_stts_cd:
statusInfo?.laeSbmsnSttsCd === "4" ? "4" : "2",
statusInfo?.lclgvSbmsnSttsCd === "4" ? "4" : "2",
gen_verify_stts_cd: nvpassed ? "1" : "2",
hb_pass_yn: response.data?.isHbPassed,
};
@@ -962,7 +962,7 @@ const ExcretaTreatmentFacilityInp = () => {
? "일반검증 - "
: "모집단 검증 -";
return `${prefix}${e.rsnExpln}
(검증 기준값: ${e.compVlCn} / 현재 입력값: ${e.nowVlCn})`;
(검증 기준값: ${e.cmprCn} / 현재 입력값: ${e.nowCn})`;
})
.filter(Boolean)
.join("\n");
@@ -1044,7 +1044,7 @@ const ExcretaTreatmentFacilityInp = () => {
{submitOk && <SubmitButton submitFunc={submitFunc} />}
</>
)}
{statusInfo?.laeSbmsnSttsCd === "2" && submitOk && (
{statusInfo?.lclgvSbmsnSttsCd === "2" && submitOk && (
<CancelSubmitButton cnacelSubmitFunc={cnacelSubmitFunc} />
)}
{showSaveInToolbar && <SaveButton saveFunc={saveFunc} />}
@@ -249,7 +249,7 @@ export function MainFacilityMappingSaveDialog({
setIsSubmitting(true);
await onConfirm?.({
prxyBzentyNmCn: prxyBzentyNmCn.trim(),
cnsgnCstVl,
cnsgnCstVl: cnsgnCstVl,
wholNope,
prxyCtrtCn: prxyCtrtCnParam,
});
@@ -119,8 +119,8 @@ const computeTabEnterable = (
statusInfo: SewerageStatusInfo | null | undefined,
periodEnterable: boolean,
): boolean => {
if (statusInfo?.laeSbmsnSttsCd) {
if (["2", "3"].includes(statusInfo.laeSbmsnSttsCd)) {
if (statusInfo?.lclgvSbmsnSttsCd) {
if (["2", "3"].includes(statusInfo.lclgvSbmsnSttsCd)) {
return false;
}
return periodEnterable;
@@ -148,7 +148,7 @@ function computeTabToolbarSnapshot(
): TabToolbarSnapshot {
const gugunOk = buildGugunOkForToolbar(searchContext);
const enterable = computeTabEnterable(statusInfo, periodEnterable);
const isSubmitted = statusInfo?.laeSbmsnSttsCd === "2";
const isSubmitted = statusInfo?.lclgvSbmsnSttsCd === "2";
const showSaveInToolbar = (enterable || isAdminInfo) && periodEnterable && gugunOk;
const showEnterableToolbarButtons = enterable && gugunOk;
const showSubmittedInInputPeriodToolbar = isSubmitted && periodEnterable && gugunOk;
@@ -210,20 +210,20 @@ function buildSewageTreatFactStatusSaveList(
return currentData.map((d) => ({
admdstCd: nullableTrimmedString(d.admdstCd),
admdstNm: nullableTrimmedString(d.admdstNm),
step1StaaPrcsQnt: formatNumber(d.step1StaaPrcsQnt, "step1StaaPrcsQnt"),
step2StaaPrcsQnt: formatNumber(d.step2StaaPrcsQnt, "step2StaaPrcsQnt"),
step3StaaPrcsQnt: formatNumber(d.step3StaaPrcsQnt, "step3StaaPrcsQnt"),
step4StaaPrcsQnt: formatNumber(d.step4StaaPrcsQnt, "step4StaaPrcsQnt"),
step5StaaPrcsQnt: formatNumber(d.step5StaaPrcsQnt, "step5StaaPrcsQnt"),
step6StaaPrcsQnt: formatNumber(d.step6StaaPrcsQnt, "step6StaaPrcsQnt"),
step7StaaPrcsQnt: formatNumber(d.step7StaaPrcsQnt, "step7StaaPrcsQnt"),
step1StaaExcpPrcsQnt: formatNumber(d.step1StaaExcpPrcsQnt, "step1StaaExcpPrcsQnt"),
step2StaaExcpPrcsQnt: formatNumber(d.step2StaaExcpPrcsQnt, "step2StaaExcpPrcsQnt"),
step3StaaExcpPrcsQnt: formatNumber(d.step3StaaExcpPrcsQnt, "step3StaaExcpPrcsQnt"),
step4StaaExcpPrcsQnt: formatNumber(d.step4StaaExcpPrcsQnt, "step4StaaExcpPrcsQnt"),
step5StaaExcpPrcsQnt: formatNumber(d.step5StaaExcpPrcsQnt, "step5StaaExcpPrcsQnt"),
step6StaaExcpPrcsQnt: formatNumber(d.step6StaaExcpPrcsQnt, "step6StaaExcpPrcsQnt"),
step7StaaExcpPrcsQnt: formatNumber(d.step7StaaExcpPrcsQnt, "step7StaaExcpPrcsQnt"),
frlvlStaaPrcqty: formatNumber(d.frlvlStaaPrcqty, "frlvlStaaPrcqty"),
sclvlStaaPrcqty: formatNumber(d.sclvlStaaPrcqty, "sclvlStaaPrcqty"),
thlvlStaaPrcqty: formatNumber(d.thlvlStaaPrcqty, "thlvlStaaPrcqty"),
folvlStaaPrcqty: formatNumber(d.folvlStaaPrcqty, "folvlStaaPrcqty"),
filvlStaaPrcqty: formatNumber(d.filvlStaaPrcqty, "filvlStaaPrcqty"),
sxlvlStaaPrcqty: formatNumber(d.sxlvlStaaPrcqty, "sxlvlStaaPrcqty"),
svlvlStaaPrcqty: formatNumber(d.svlvlStaaPrcqty, "svlvlStaaPrcqty"),
frlvlStaaOtsdPrcqty: formatNumber(d.frlvlStaaOtsdPrcqty, "frlvlStaaOtsdPrcqty"),
sclvlStaaOtsdPrcqty: formatNumber(d.sclvlStaaOtsdPrcqty, "sclvlStaaOtsdPrcqty"),
thlvlStaaOtsdPrcqty: formatNumber(d.thlvlStaaOtsdPrcqty, "thlvlStaaOtsdPrcqty"),
folvlStaaOtsdPrcqty: formatNumber(d.folvlStaaOtsdPrcqty, "folvlStaaOtsdPrcqty"),
filvlStaaOtsdPrcqty: formatNumber(d.filvlStaaOtsdPrcqty, "filvlStaaOtsdPrcqty"),
sxlvlStaaOtsdPrcqty: formatNumber(d.sxlvlStaaOtsdPrcqty, "sxlvlStaaOtsdPrcqty"),
svlvlStaaOtsdPrcqty: formatNumber(d.svlvlStaaOtsdPrcqty, "svlvlStaaOtsdPrcqty"),
rmrk: nullableTrimmedString(d.rmrk),
}));
}
@@ -236,34 +236,34 @@ function buildSepticTankStatusSaveList(
return currentData.map((d) => ({
admdstCd: nullableTrimmedString(d.admdstCd),
admdstNm: nullableTrimmedString(d.admdstNm),
staaInsdSttkNprsflCnt: formatNumber(d.staaInsdSttkNprsflCnt, "staaInsdSttkNprsflCnt"),
step1StaaInsdSttkFrcCnt: formatNumber(d.step1StaaInsdSttkFrcCnt, "step1StaaInsdSttkFrcCnt"),
staaInsdSprktpFltrtbCnt: formatNumber(d.staaInsdSprktpFltrtbCnt, "staaInsdSprktpFltrtbCnt"),
staaInsdAertMthdCnt: formatNumber(d.staaInsdAertMthdCnt, "staaInsdAertMthdCnt"),
staaInsdCntcAertCnt: formatNumber(d.staaInsdCntcAertCnt, "staaInsdCntcAertCnt"),
staaInsdSpctnkNatrCnt: formatNumber(d.staaInsdSpctnkNatrCnt, "staaInsdSpctnkNatrCnt"),
staaInsdSpctnkFrcCnt: formatNumber(d.staaInsdSpctnkFrcCnt, "staaInsdSpctnkFrcCnt"),
staaInsdSprklFiltrCnt: formatNumber(d.staaInsdSprklFiltrCnt, "staaInsdSprklFiltrCnt"),
staaInsdAirCnt: formatNumber(d.staaInsdAirCnt, "staaInsdAirCnt"),
staaInsdCntcAirCnt: formatNumber(d.staaInsdCntcAirCnt, "staaInsdCntcAirCnt"),
staaInsdEtcCnt: formatNumber(d.staaInsdEtcCnt, "staaInsdEtcCnt"),
step1StaaInsdNope: formatNumber(d.step1StaaInsdNope, "step1StaaInsdNope"),
step2StaaInsdNope: formatNumber(d.step2StaaInsdNope, "step2StaaInsdNope"),
step3StaaInsdNope: formatNumber(d.step3StaaInsdNope, "step3StaaInsdNope"),
step4StaaInsdNope: formatNumber(d.step4StaaInsdNope, "step4StaaInsdNope"),
step5StaaInsdNope: formatNumber(d.step5StaaInsdNope, "step5StaaInsdNope"),
step6StaaInsdNope: formatNumber(d.step6StaaInsdNope, "step6StaaInsdNope"),
step7StaaInsdNope: formatNumber(d.step7StaaInsdNope, "step7StaaInsdNope"),
step8StaaInsdNope: formatNumber(d.step8StaaInsdNope, "step8StaaInsdNope"),
staaExcpSttkNprsflCnt: formatNumber(d.staaExcpSttkNprsflCnt, "staaExcpSttkNprsflCnt"),
step1StaaExcpSttkFrcCnt: formatNumber(d.step1StaaExcpSttkFrcCnt, "step1StaaExcpSttkFrcCnt"),
staaExcpSprktpFltrtbCnt: formatNumber(d.staaExcpSprktpFltrtbCnt, "staaExcpSprktpFltrtbCnt"),
staaExcpAertMthdCnt: formatNumber(d.staaExcpAertMthdCnt, "staaExcpAertMthdCnt"),
staaExcpCntcAertCnt: formatNumber(d.staaExcpCntcAertCnt, "staaExcpCntcAertCnt"),
staaExcpEtcCnt: formatNumber(d.staaExcpEtcCnt, "staaExcpEtcCnt"),
step1StaaExcpNope: formatNumber(d.step1StaaExcpNope, "step1StaaExcpNope"),
step2StaaExcpNope: formatNumber(d.step2StaaExcpNope, "step2StaaExcpNope"),
step3StaaExcpNope: formatNumber(d.step3StaaExcpNope, "step3StaaExcpNope"),
step4StaaExcpNope: formatNumber(d.step4StaaExcpNope, "step4StaaExcpNope"),
step5StaaExcpNope: formatNumber(d.step5StaaExcpNope, "step5StaaExcpNope"),
step6StaaExcpNope: formatNumber(d.step6StaaExcpNope, "step6StaaExcpNope"),
step7StaaExcpNope: formatNumber(d.step7StaaExcpNope, "step7StaaExcpNope"),
step8StaaExcpNope: formatNumber(d.step8StaaExcpNope, "step8StaaExcpNope"),
frlvlStaaInsdNope: formatNumber(d.frlvlStaaInsdNope, "frlvlStaaInsdNope"),
sclvlStaaInsdNope: formatNumber(d.sclvlStaaInsdNope, "sclvlStaaInsdNope"),
thlvlStaaInsdNope: formatNumber(d.thlvlStaaInsdNope, "thlvlStaaInsdNope"),
folvlStaaInsdNope: formatNumber(d.folvlStaaInsdNope, "folvlStaaInsdNope"),
filvlStaaInsdNope: formatNumber(d.filvlStaaInsdNope, "filvlStaaInsdNope"),
sxlvlStaaInsdNope: formatNumber(d.sxlvlStaaInsdNope, "sxlvlStaaInsdNope"),
svlvlStaaInsdNope: formatNumber(d.svlvlStaaInsdNope, "svlvlStaaInsdNope"),
eilvlStaaInsdNope: formatNumber(d.eilvlStaaInsdNope, "eilvlStaaInsdNope"),
staaOtsdSpctnkNatrCnt: formatNumber(d.staaOtsdSpctnkNatrCnt, "staaOtsdSpctnkNatrCnt"),
staaOtsdSpctnkFrcCnt: formatNumber(d.staaOtsdSpctnkFrcCnt, "staaOtsdSpctnkFrcCnt"),
staaOtsdSprklFiltrCnt: formatNumber(d.staaOtsdSprklFiltrCnt, "staaOtsdSprklFiltrCnt"),
staaOtsdAirCnt: formatNumber(d.staaOtsdAirCnt, "staaOtsdAirCnt"),
staaOtsdCntcAirCnt: formatNumber(d.staaOtsdCntcAirCnt, "staaOtsdCntcAirCnt"),
staaOtsdEtcCnt: formatNumber(d.staaOtsdEtcCnt, "staaOtsdEtcCnt"),
frlvlStaaOtsdNope: formatNumber(d.frlvlStaaOtsdNope, "frlvlStaaOtsdNope"),
sclvlStaaOtsdNope: formatNumber(d.sclvlStaaOtsdNope, "sclvlStaaOtsdNope"),
thlvlStaaOtsdNope: formatNumber(d.thlvlStaaOtsdNope, "thlvlStaaOtsdNope"),
folvlStaaOtsdNope: formatNumber(d.folvlStaaOtsdNope, "folvlStaaOtsdNope"),
filvlStaaOtsdNope: formatNumber(d.filvlStaaOtsdNope, "filvlStaaOtsdNope"),
sxlvlStaaOtsdNope: formatNumber(d.sxlvlStaaOtsdNope, "sxlvlStaaOtsdNope"),
svlvlStaaOtsdNope: formatNumber(d.svlvlStaaOtsdNope, "svlvlStaaOtsdNope"),
eilvlStaaOtsdNope: formatNumber(d.eilvlStaaOtsdNope, "eilvlStaaOtsdNope"),
rmrk: nullableTrimmedString(d.rmrk),
}));
}
@@ -278,13 +278,13 @@ function buildPrivateSewageDesigStatusSaveList(
admdstNm: nullableTrimmedString(d.admdstNm),
indvSwagePbancRgnCnt: formatNumber(d.indvSwagePbancRgnCnt, "indvSwagePbancRgnCnt"),
indvSwageDsgnScpLen: formatNumber(d.indvSwageDsgnScpLen, "indvSwageDsgnScpLen"),
spctnkGrssFcltCnt: formatNumber(d.spctnkGrssFcltCnt, "spctnkGrssFcltCnt"),
spctnkQnt: formatNumber(d.spctnkQnt, "spctnkQnt"),
drtwPrcsFcltGrssFcltCnt: formatNumber(
d.drtwPrcsFcltGrssFcltCnt,
"drtwPrcsFcltGrssFcltCnt",
spctnkWholFcltCnt: formatNumber(d.spctnkWholFcltCnt, "spctnkWholFcltCnt"),
spctnkPrcqty: formatNumber(d.spctnkPrcqty, "spctnkPrcqty"),
swgdplFcltWholFcltCnt: formatNumber(
d.swgdplFcltWholFcltCnt,
"swgdplFcltWholFcltCnt",
),
drtwPrcsFcltQnt: formatNumber(d.drtwPrcsFcltQnt, "drtwPrcsFcltQnt"),
swgdplFcltPrcqty: formatNumber(d.swgdplFcltPrcqty, "swgdplFcltPrcqty"),
rmrk: nullableTrimmedString(d.rmrk),
}));
}
@@ -721,7 +721,7 @@ const PrivateSewageFacilityInp = () => {
...toInputSearchRegion(sidoListRef.current, lastSearchedValues),
ctpvNm: lastSearchedValues.sido ?? "",
statsYr: lastSearchedValues.year ?? "",
mdfrId: userInfo.userUnqId,
mdfrUuid: userInfo.userUnqId,
statsCd: statsCdForTab,
};
@@ -803,14 +803,14 @@ const PrivateSewageFacilityInp = () => {
statsYr: lastSearchedValues.year ?? "",
ctpvNm: lastSearchedValues.sido ?? "",
...toInputSearchRegion(sidoListRef.current, lastSearchedValues),
laePicNm: submitInfo.laePicNm,
laePicTelNo: submitInfo.laePicTelNo,
laeKbrdrDeptNm: submitInfo.laeKbrdrDeptNm,
laeKbrdrJbgdNm: submitInfo.laeKbrdrJbgdNm,
laeIdfrNm: submitInfo.laeIdfrNm,
laeIdfrTelNo: submitInfo.laeIdfrTelNo,
laeIdfrDeptNm: submitInfo.laeIdfrDeptNm,
laeIdfrJbgdNm: submitInfo.laeIdfrJbgdNm,
lclgvPicNm: submitInfo.lclgvPicNm,
lclgvPicTelnoCn: submitInfo.lclgvPicTelnoCn,
lclgvKbrdrDeptNm: submitInfo.lclgvKbrdrDeptNm,
lclgvKbrdrJbgdNm: submitInfo.lclgvKbrdrJbgdNm,
lclgvIdfrNm: submitInfo.lclgvIdfrNm,
lclgvIdfrTelnoCn: submitInfo.lclgvIdfrTelnoCn,
lclgvIdfrDeptNm: submitInfo.lclgvIdfrDeptNm,
lclgvIdfrJbgdNm: submitInfo.lclgvIdfrJbgdNm,
};
const verificationQuery = {
@@ -840,7 +840,7 @@ const PrivateSewageFacilityInp = () => {
if (isSewageTreatTab) {
const param: SewageTreatFactStatusSubmitRequest = {
...submitInfoBase,
userId: userInfo.userUnqId,
userUuid: userInfo.userUnqId,
submitList: buildSewageTreatFactStatusSaveList(currentData),
...adminOpt,
};
@@ -851,7 +851,7 @@ const PrivateSewageFacilityInp = () => {
} else if (isSepticTankTab) {
const param: SepticTankStatusSubmitRequest = {
...submitInfoBase,
userId: userInfo.userUnqId,
userUuid: userInfo.userUnqId,
submitList: buildSepticTankStatusSaveList(currentData),
...adminOpt,
};
@@ -860,7 +860,7 @@ const PrivateSewageFacilityInp = () => {
} else {
const param: PrivateSewageDesigStatusSubmitRequest = {
...submitInfoBase,
userId: userInfo.userUnqId,
userUuid: userInfo.userUnqId,
submitList: buildPrivateSewageDesigStatusSaveList(currentData),
...adminOpt,
};
@@ -886,7 +886,7 @@ const PrivateSewageFacilityInp = () => {
sewer_bzmn_cd: lastSearchedValues?.bsnmCd ?? "",
stats_cd: statsCdForTab,
stats_yr: lastSearchedValues.year ?? "",
lae_sbmsn_stts_cd: activeTabStatus?.laeSbmsnSttsCd === "4" ? "4" : "2",
lae_sbmsn_stts_cd: activeTabStatus?.lclgvSbmsnSttsCd === "4" ? "4" : "2",
gen_verify_stts_cd: nvpassed ? "1" : "2",
hb_pass_yn: response.data?.isHbPassed,
};
@@ -982,7 +982,7 @@ const PrivateSewageFacilityInp = () => {
if (isSewageTreatTab) {
const param: SewageTreatFactStatusSaveRequest = {
...baseRequest,
userId: userInfo.userUnqId,
userUuid: userInfo.userUnqId,
saveList: buildSewageTreatFactStatusSaveList(currentData),
...(isAdminInfo ? { superAdmin: "superAdmin" } : {}),
};
@@ -1008,7 +1008,7 @@ const PrivateSewageFacilityInp = () => {
if (isSepticTankTab) {
const param: SepticTankStatusSaveRequest = {
...baseRequest,
userId: userInfo.userUnqId,
userUuid: userInfo.userUnqId,
saveList: buildSepticTankStatusSaveList(currentData),
...(isAdminInfo ? { superAdmin: "superAdmin" } : {}),
};
@@ -1031,7 +1031,7 @@ const PrivateSewageFacilityInp = () => {
const param: PrivateSewageDesigStatusSaveRequest = {
...baseRequest,
userId: userInfo.userUnqId,
userUuid: userInfo.userUnqId,
saveList: buildPrivateSewageDesigStatusSaveList(currentData),
...(isAdminInfo ? { superAdmin: "superAdmin" } : {}),
};
@@ -1156,7 +1156,7 @@ const PrivateSewageFacilityInp = () => {
: e.vrfcCd === "NV"
? "일반검증 - "
: "모집단 검증 - ";
return `${prefix}${e.rsnExpln}(검증 기준값: ${e.compVlCn} / 현재 입력값: ${e.nowVlCn})`;
return `${prefix}${e.rsnExpln}(검증 기준값: ${e.cmprCn} / 현재 입력값: ${e.nowCn})`;
})
.filter(Boolean)
.join("\n");
@@ -1202,7 +1202,7 @@ const PrivateSewageFacilityInp = () => {
{submitOk && <SubmitButton submitFunc={submitFunc} />}
</>
)}
{activeTabStatus?.laeSbmsnSttsCd === "2" && submitOk && (
{activeTabStatus?.lclgvSbmsnSttsCd === "2" && submitOk && (
<CancelSubmitButton cnacelSubmitFunc={cnacelSubmitFunc} />
)}
{showSaveInToolbar && <SaveButton saveFunc={saveFunc} />}
@@ -1,4 +1,4 @@
import { type Dispatch, type SetStateAction,useEffect, useRef, useState } from 'react';
import { type Dispatch, type SetStateAction,useEffect, useRef, useState } from 'react';
import { useConfirm } from '@frontend-opensource/use-react-hooks';
@@ -89,8 +89,8 @@ const computeTabEnterable = (
statusInfo: SewerageStatusInfo | null | undefined,
periodEnterable: boolean,
): boolean => {
if (statusInfo?.laeSbmsnSttsCd) {
if (['2', '3'].includes(statusInfo.laeSbmsnSttsCd)) {
if (statusInfo?.lclgvSbmsnSttsCd) {
if (['2', '3'].includes(statusInfo.lclgvSbmsnSttsCd)) {
return false;
}
return periodEnterable;
@@ -108,7 +108,7 @@ function computeTabToolbarSnapshot(
): TabToolbarSnapshot {
const gugunOk = buildGugunOkForToolbar(searchContext);
const enterable = computeTabEnterable(statusInfo, periodEnterable);
const isSubmitted = statusInfo?.laeSbmsnSttsCd === '2';
const isSubmitted = statusInfo?.lclgvSbmsnSttsCd === '2';
const showSaveInToolbar = (enterable || isAdminInfo) && periodEnterable && gugunOk;
const showEnterableToolbarButtons = enterable && gugunOk;
const showSubmittedInInputPeriodToolbar = isSubmitted && periodEnterable && gugunOk;
@@ -397,16 +397,16 @@ const PublicSewageFacilityInp = () => {
statsYr: lastSearchedValues.year ?? '',
ctpvNm: lastSearchedValues.sido ?? '',
...toInputSearchRegion(sidoListRef.current, lastSearchedValues),
userId: userInfo.userUnqId,
userUuid: userInfo.userUnqId,
noApplicable,
laePicNm: submitInfo.laePicNm,
laeKbrdrJbgdNm: submitInfo.laeKbrdrJbgdNm,
laeKbrdrDeptNm: submitInfo.laeKbrdrDeptNm,
laePicTelNo: submitInfo.laePicTelNo,
laeIdfrNm: submitInfo.laeIdfrNm,
laeIdfrJbgdNm: submitInfo.laeIdfrJbgdNm,
laeIdfrDeptNm: submitInfo.laeIdfrDeptNm,
laeIdfrTelNo: submitInfo.laeIdfrTelNo,
lclgvPicNm: submitInfo.lclgvPicNm,
lclgvKbrdrJbgdNm: submitInfo.lclgvKbrdrJbgdNm,
lclgvKbrdrDeptNm: submitInfo.lclgvKbrdrDeptNm,
lclgvPicTelnoCn: submitInfo.lclgvPicTelnoCn,
lclgvIdfrNm: submitInfo.lclgvIdfrNm,
lclgvIdfrJbgdNm: submitInfo.lclgvIdfrJbgdNm,
lclgvIdfrDeptNm: submitInfo.lclgvIdfrDeptNm,
lclgvIdfrTelnoCn: submitInfo.lclgvIdfrTelnoCn,
submitList,
};
@@ -432,7 +432,7 @@ const PublicSewageFacilityInp = () => {
sewer_bzmn_cd: lastSearchedValues?.bsnmCd ?? '',
stats_cd: statsCdForTab,
stats_yr: lastSearchedValues.year ?? '',
lae_sbmsn_stts_cd: activeTabStatus?.laeSbmsnSttsCd === '4' ? '4' : '2',
lae_sbmsn_stts_cd: activeTabStatus?.lclgvSbmsnSttsCd === '4' ? '4' : '2',
gen_verify_stts_cd: nvpassed ? '1' : '2',
hb_pass_yn: response.data?.isHbPassed,
};
@@ -657,7 +657,7 @@ const PublicSewageFacilityInp = () => {
statsYr: lastSearchedValues.year ?? '',
ctpvNm: lastSearchedValues.sido ?? '',
...toInputSearchRegion(sidoListRef.current, lastSearchedValues),
userId: userInfo.userUnqId,
userUuid: userInfo.userUnqId,
...(isAdminInfo ? { superAdmin: 'superAdmin' } : {}),
noApplicable,
saveList,
@@ -902,7 +902,7 @@ const PublicSewageFacilityInp = () => {
statsYr: lastSearchedValues.year ?? '',
ctpvNm: lastSearchedValues.sido ?? '',
...toInputSearchRegion(sidoListRef.current, lastSearchedValues),
userId: userInfo.userUnqId,
userUuid: userInfo.userUnqId,
};
const response =
@@ -949,7 +949,7 @@ const PublicSewageFacilityInp = () => {
admdstNm: draft.admdstNm,
mainFcltSn: draft.mainFcltSn,
mainFcltNm: draft.mainFcltNm,
userId: userInfo.userUnqId,
userUuid: userInfo.userUnqId,
saveList: draft.saveList,
deleteList: draft.deleteList,
};
@@ -1128,7 +1128,7 @@ const PublicSewageFacilityInp = () => {
...toInputSearchRegion(sidoListRef.current, lastSearchedValues),
ctpvNm: lastSearchedValues?.sido ?? '',
statsYr: lastSearchedValues?.year ?? '',
mdfrId: userInfo.userUnqId,
mdfrUuid: userInfo.userUnqId,
statsCd: statsCdForCancel,
};
@@ -1203,15 +1203,17 @@ const PublicSewageFacilityInp = () => {
alert('해당 시설은 중심처리시설의 위탁시설로 연결되어있습니다.');
}
const mappedTargetRows = applyExclusiveSelfMappingChecks(
rawList.map((item) => ({
...item,
__checked: item.mappedYn === 'Y' ? 'Y' : '',
})),
toGridRows(
rawList.map((item) => ({
...item,
__checked: item.mappedYn === 'Y' ? 'Y' : '',
})),
),
fcltSn,
);
setRowDataMap((prev) => {
const next = new Map(prev);
next.set('MainFacilityTarget', toGridRows(mappedTargetRows));
next.set('MainFacilityTarget', mappedTargetRows);
return next;
});
} catch {
@@ -1321,7 +1323,7 @@ const PublicSewageFacilityInp = () => {
{submitOk && <SubmitButton submitFunc={submitFunc} />}
</>
)}
{!isMainFacilityTab && activeTabStatus?.laeSbmsnSttsCd === '2' && submitOk && (
{!isMainFacilityTab && activeTabStatus?.lclgvSbmsnSttsCd === '2' && submitOk && (
<CancelSubmitButton cnacelSubmitFunc={cnacelSubmitFunc} />
)}
{showSaveInToolbar && <SaveButton saveFunc={saveFunc} />}
@@ -1577,8 +1579,8 @@ const PublicSewageFacilityInp = () => {
.map((e) => {
const prefix =
e.vrfcCd === "IMR" ? "시계열 검증 - " : (e.vrfcCd === "NV" ? "일반검증 - " : "모집단 검증 - ");
const comp = e.compVlCn ?? "";
const now = e.nowVlCn ?? "";
const comp = e.cmprCn ?? "";
const now = e.nowCn ?? "";
return `${prefix}${e.rsnExpln}
(검증 기준값: ${comp} / 현재 입력값: ${now})`;
})
@@ -93,8 +93,8 @@ const computeTabEnterable = (
statusInfo: SewerageStatusInfo | null | undefined,
periodEnterable: boolean,
): boolean => {
if (statusInfo?.laeSbmsnSttsCd) {
if (["2", "3"].includes(statusInfo.laeSbmsnSttsCd)) {
if (statusInfo?.lclgvSbmsnSttsCd) {
if (["2", "3"].includes(statusInfo.lclgvSbmsnSttsCd)) {
return false;
}
return periodEnterable;
@@ -130,7 +130,7 @@ function computeTabToolbarSnapshot(
): TabToolbarSnapshot {
const gugunOk = buildGugunOkForToolbar(searchContext);
const enterable = computeTabEnterable(statusInfo, periodEnterable);
const isSubmitted = statusInfo?.laeSbmsnSttsCd === "2";
const isSubmitted = statusInfo?.lclgvSbmsnSttsCd === "2";
const showSaveInToolbar = (enterable || isAdminInfo) && periodEnterable && gugunOk;
const showEnterableToolbarButtons = enterable && gugunOk;
const showSubmittedInInputPeriodToolbar =
@@ -252,34 +252,34 @@ function buildPumpingStationSaveItem(
pumpSeNm: nullableTrimmedString(row.pumpSeNm),
fcltPstnCn: nullableTrimmedString(row.fcltPstnCn),
oprtngStrtYmd: toCompactYmdOrNull(row.oprtngStrtYmd),
planMltvArea: toGridNumber(row.planMltvArea),
sndyArea: toGridNumber(row.sndyArea),
planDrnar: toGridNumber(row.planDrnar),
icodwArea: toGridNumber(row.icodwArea),
rainArea: toGridNumber(row.rainArea),
drtwPumpN1DmtrArea: toGridNumber(row.drtwPumpN1DmtrArea),
drtwPumpN1Dmtr: toGridNumber(row.drtwPumpN1Dmtr),
drtwPumpN1Ppqty: toGridNumber(row.drtwPumpN1Ppqty),
drtwPumpN1Cnt: toGridNumber(row.drtwPumpN1Cnt),
drtwPumpN1RsrvCnt: toGridNumber(row.drtwPumpN1RsrvCnt),
drtwPumpN2DmtrArea: toGridNumber(row.drtwPumpN2DmtrArea),
drtwPumpN2Dmtr: toGridNumber(row.drtwPumpN2Dmtr),
drtwPumpN2Ppqty: toGridNumber(row.drtwPumpN2Ppqty),
drtwPumpN2Cnt: toGridNumber(row.drtwPumpN2Cnt),
drtwPumpN2RsrvCnt: toGridNumber(row.drtwPumpN2RsrvCnt),
drtwPumpN3DmtrArea: toGridNumber(row.drtwPumpN3DmtrArea),
drtwPumpN3Dmtr: toGridNumber(row.drtwPumpN3Dmtr),
drtwPumpN3Ppqty: toGridNumber(row.drtwPumpN3Ppqty),
drtwPumpN3Cnt: toGridNumber(row.drtwPumpN3Cnt),
drtwPumpN3RsrvCnt: toGridNumber(row.drtwPumpN3RsrvCnt),
exlnPumpN1DmtrArea: toGridNumber(row.exlnPumpN1DmtrArea),
exlnPumpN1Dmtr: toGridNumber(row.exlnPumpN1Dmtr),
exlnPumpN1Ppqty: toGridNumber(row.exlnPumpN1Ppqty),
exlnPumpN1Cnt: toGridNumber(row.exlnPumpN1Cnt),
exlnPumpN1RsrvCnt: toGridNumber(row.exlnPumpN1RsrvCnt),
exlnPumpN2DmtrArea: toGridNumber(row.exlnPumpN2DmtrArea),
exlnPumpN2Dmtr: toGridNumber(row.exlnPumpN2Dmtr),
exlnPumpN2Ppqty: toGridNumber(row.exlnPumpN2Ppqty),
exlnPumpN2Cnt: toGridNumber(row.exlnPumpN2Cnt),
exlnPumpN2RsrvCnt: toGridNumber(row.exlnPumpN2RsrvCnt),
exlnPumpN3DmtrArea: toGridNumber(row.exlnPumpN3DmtrArea),
exlnPumpN3Dmtr: toGridNumber(row.exlnPumpN3Dmtr),
exlnPumpN3Ppqty: toGridNumber(row.exlnPumpN3Ppqty),
exlnPumpN3Cnt: toGridNumber(row.exlnPumpN3Cnt),
exlnPumpN3RsrvCnt: toGridNumber(row.exlnPumpN3RsrvCnt),
anlElpwrUseQnt: toGridNumber(row.anlElpwrUseQnt),
anlElpwrUsqty: toGridNumber(row.anlElpwrUsqty),
rmrk: nullableTrimmedString(row.rmrk),
};
}
@@ -606,7 +606,7 @@ const PumpingStationInp = () => {
...toInputSearchRegion(sidoListRef.current, lastSearchedValues),
ctpvNm: lastSearchedValues.sido ?? "",
statsYr: lastSearchedValues.year ?? "",
mdfrId: userInfo.userUnqId,
mdfrUuid: userInfo.userUnqId,
statsCd: statsCd || PUMPING_STATION_STATS_CD,
};
@@ -691,7 +691,7 @@ const PumpingStationInp = () => {
statsYr: lastSearchedValues.year ?? "",
ctpvNm: lastSearchedValues.sido ?? "",
...toInputSearchRegion(sidoListRef.current, lastSearchedValues),
userId: userInfo.userUnqId,
userUuid: userInfo.userUnqId,
...(isAdminInfo ? { superAdmin: "superAdmin" } : {}),
noApplicable,
saveList,
@@ -759,15 +759,15 @@ const PumpingStationInp = () => {
statsYr: lastSearchedValues.year ?? "",
ctpvNm: lastSearchedValues.sido ?? "",
...toInputSearchRegion(sidoListRef.current, lastSearchedValues),
userId: userInfo.userUnqId,
laePicNm: submitInfo.laePicNm,
laePicTelNo: submitInfo.laePicTelNo,
laeKbrdrDeptNm: submitInfo.laeKbrdrDeptNm,
laeKbrdrJbgdNm: submitInfo.laeKbrdrJbgdNm,
laeIdfrNm: submitInfo.laeIdfrNm,
laeIdfrTelNo: submitInfo.laeIdfrTelNo,
laeIdfrDeptNm: submitInfo.laeIdfrDeptNm,
laeIdfrJbgdNm: submitInfo.laeIdfrJbgdNm,
userUuid: userInfo.userUnqId,
lclgvPicNm: submitInfo.lclgvPicNm,
lclgvPicTelnoCn: submitInfo.lclgvPicTelnoCn,
lclgvKbrdrDeptNm: submitInfo.lclgvKbrdrDeptNm,
lclgvKbrdrJbgdNm: submitInfo.lclgvKbrdrJbgdNm,
lclgvIdfrNm: submitInfo.lclgvIdfrNm,
lclgvIdfrTelnoCn: submitInfo.lclgvIdfrTelnoCn,
lclgvIdfrDeptNm: submitInfo.lclgvIdfrDeptNm,
lclgvIdfrJbgdNm: submitInfo.lclgvIdfrJbgdNm,
...(isAdminInfo ? { superAdmin: "superAdmin" } : {}),
noApplicable,
submitList,
@@ -791,7 +791,7 @@ const PumpingStationInp = () => {
stats_cd: statsCdForSubmit,
stats_yr: lastSearchedValues.year ?? "",
lae_sbmsn_stts_cd:
statusInfo?.laeSbmsnSttsCd === "4" ? "4" : "2",
statusInfo?.lclgvSbmsnSttsCd === "4" ? "4" : "2",
gen_verify_stts_cd: nvpassed ? "1" : "2",
hb_pass_yn: response.data?.isHbPassed,
};
@@ -945,7 +945,7 @@ const PumpingStationInp = () => {
? "일반검증 - "
: "모집단 검증 -";
return `${prefix}${e.rsnExpln}
(검증 기준값: ${e.compVlCn} / 현재 입력값: ${e.nowVlCn})`;
(검증 기준값: ${e.cmprCn} / 현재 입력값: ${e.nowCn})`;
})
.filter(Boolean)
.join("\n");
@@ -1027,7 +1027,7 @@ const PumpingStationInp = () => {
{submitOk && <SubmitButton submitFunc={submitFunc} />}
</>
)}
{statusInfo?.laeSbmsnSttsCd === "2" && submitOk && (
{statusInfo?.lclgvSbmsnSttsCd === "2" && submitOk && (
<CancelSubmitButton cnacelSubmitFunc={cnacelSubmitFunc} />
)}
{showSaveInToolbar && <SaveButton saveFunc={saveFunc} />}
@@ -16,6 +16,7 @@ import { statisticsApi } from "@/entities/statistics/api/statistics-service";
import type {
ExcretaRelatedIndustrySaveItem,
PrivateSewageTreatRelatedIndustrySaveItem,
PublicInstitutionExcretaIndustrySaveItem,
PublicInstitutionSewerIndustrySaveItem,
SewageExcretaRelatedRequestParams,
SewageExcretaRelatedVerificationResult,
@@ -157,8 +158,8 @@ const computeTabEnterable = (
statusInfo: SewerageStatusInfo | null | undefined,
periodEnterable: boolean,
): boolean => {
if (statusInfo?.laeSbmsnSttsCd) {
if (["2", "3"].includes(statusInfo.laeSbmsnSttsCd)) {
if (statusInfo?.lclgvSbmsnSttsCd) {
if (["2", "3"].includes(statusInfo.lclgvSbmsnSttsCd)) {
return false;
}
return periodEnterable;
@@ -194,7 +195,7 @@ function computeTabToolbarSnapshot(
): TabToolbarSnapshot {
const gugunOk = buildGugunOkForToolbar(searchContext);
const enterable = computeTabEnterable(statusInfo, periodEnterable);
const isSubmitted = statusInfo?.laeSbmsnSttsCd === "2";
const isSubmitted = statusInfo?.lclgvSbmsnSttsCd === "2";
const showSaveInToolbar = (enterable || isAdminInfo) && periodEnterable && gugunOk;
const showEnterableToolbarButtons = enterable && gugunOk;
const showSubmittedInInputPeriodToolbar = isSubmitted && periodEnterable && gugunOk;
@@ -238,10 +239,20 @@ function isCheckedRow(row: Record<string, string | number>): boolean {
type ArticleOgnzSnSet = Set<string>;
function extractOgnzSnSet(rows: Record<string, string | number>[]): ArticleOgnzSnSet {
const PUBLIC_INSTITUTION_OGNZ_SN_FIELD = "statsOgnzSn" as const;
function getPublicInstitutionOgnzSn(
row: Record<string, string | number>,
): string {
return String(row[PUBLIC_INSTITUTION_OGNZ_SN_FIELD] ?? "").trim();
}
function extractOgnzSnSet(
rows: Record<string, string | number>[],
): ArticleOgnzSnSet {
const set = new Set<string>();
for (const row of rows) {
const ognzSn = String(row.ognzSn ?? "").trim();
const ognzSn = getPublicInstitutionOgnzSn(row);
if (ognzSn) set.add(ognzSn);
}
return set;
@@ -277,7 +288,7 @@ function isPersistedPublicInstitutionArticleRow(
): boolean {
if (!ARTICLE_EDIT_TAB_KEYS.has(tabKey)) return false;
if (isNewArticleRow(row)) return false;
const ognzSn = String(row.ognzSn ?? "").trim();
const ognzSn = getPublicInstitutionOgnzSn(row);
if (!ognzSn) return false;
if ((preYearRef.current.get(tabKey) ?? new Set()).has(ognzSn)) return false;
return (persistedRef.current.get(tabKey) ?? new Set()).has(ognzSn);
@@ -402,18 +413,18 @@ function toGridNumber(value: string | number | null | undefined): number {
function buildPublicInstitutionIndustrySaveItem(
row: Record<string, string | number>,
sggOptions: Sgg[],
): PublicInstitutionSewerIndustrySaveItem {
): PublicInstitutionSewerIndustrySaveItem | PublicInstitutionExcretaIndustrySaveItem {
const { admdstCd, admdstNm } = resolvePublicInstitutionAdmdst(row, sggOptions);
return {
admdstCd,
admdstNm,
ognzSn: nullableTrimmedString(row.ognzSn),
statsOgnzSn: nullableTrimmedString(row.statsOgnzSn),
ognzNm: nullableTrimmedString(row.ognzNm),
pbadmsNope: toGridNumber(row.pbadmsNope),
engrkCnt: toGridNumber(row.engrkCnt),
mchnCnt: toGridNumber(row.mchnCnt),
prvtmCnt: toGridNumber(row.prvtmCnt),
chmengCnt: toGridNumber(row.chmengCnt),
chemCnt: toGridNumber(row.chemCnt),
envCnt: toGridNumber(row.envCnt),
enjbEtcCnt: toGridNumber(row.enjbEtcCnt),
etcCnt: toGridNumber(row.etcCnt),
@@ -430,9 +441,9 @@ function buildExcretaRelatedIndustrySaveItem(
admdstNm: nullableTrimmedString(row.admdstNm),
bzentyCnt: toGridNumber(row.bzentyCnt),
empNope: toGridNumber(row.empNope),
n3TonUdrCnt: toGridNumber(row.n3TonUdrCnt),
n4TonUdrCnt: toGridNumber(row.n4TonUdrCnt),
n8TonUdrCnt: toGridNumber(row.n8TonUdrCnt),
frlvlTonUdrCnt: toGridNumber(row.frlvlTonUdrCnt),
sclvlTonUdrCnt: toGridNumber(row.sclvlTonUdrCnt),
thlvlTonUdrCnt: toGridNumber(row.thlvlTonUdrCnt),
etcCnt: toGridNumber(row.etcCnt),
clctCnvncPrfmncQnt: toGridNumber(row.clctCnvncPrfmncQnt),
rmrk: nullableTrimmedString(row.rmrk),
@@ -550,7 +561,7 @@ function verificationCellTooltip({
? "일반검증 - "
: "모집단 검증 - ";
return `${prefix}${e.rsnExpln}
(검증 기준값: ${e.compVlCn} / 현재 입력값: ${e.nowVlCn})`;
(검증 기준값: ${e.cmprCn} / 현재 입력값: ${e.nowCn})`;
})
.filter(Boolean)
.join("\n");
@@ -1179,7 +1190,7 @@ const SewageExcretaRelatedInp = () => {
...toInputSearchRegion(sidoListRef.current, ctx),
ctpvNm: ctx.sido ?? "",
statsYr: ctx.year ?? "",
mdfrId: userInfo.userUnqId,
mdfrUuid: userInfo.userUnqId,
statsCd: statsCdForTab,
};
@@ -1317,9 +1328,12 @@ const SewageExcretaRelatedInp = () => {
let submitList:
| PublicInstitutionSewerIndustrySaveItem[]
| PublicInstitutionExcretaIndustrySaveItem[]
| ExcretaRelatedIndustrySaveItem[]
| PrivateSewageTreatRelatedIndustrySaveItem[];
let deleteList: PublicInstitutionSewerIndustrySaveItem[] = [];
let deleteList:
| PublicInstitutionSewerIndustrySaveItem[]
| PublicInstitutionExcretaIndustrySaveItem[] = [];
let sggList: Sgg[] = [];
if (isDistrictRowTab) {
@@ -1351,7 +1365,7 @@ const SewageExcretaRelatedInp = () => {
sggList = list;
const rowsForSubmit = mergeGridRowsWithMapRows(currentData, mapRows, [
"ognzSn",
PUBLIC_INSTITUTION_OGNZ_SN_FIELD,
"admdstCd",
"admdstNm",
"__isNewArticle",
@@ -1387,14 +1401,14 @@ const SewageExcretaRelatedInp = () => {
const submitRequestBase = {
...searchContextBase,
laePicNm: submitInfo.laePicNm,
laePicTelNo: submitInfo.laePicTelNo,
laeKbrdrDeptNm: submitInfo.laeKbrdrDeptNm,
laeKbrdrJbgdNm: submitInfo.laeKbrdrJbgdNm,
laeIdfrNm: submitInfo.laeIdfrNm,
laeIdfrTelNo: submitInfo.laeIdfrTelNo,
laeIdfrDeptNm: submitInfo.laeIdfrDeptNm,
laeIdfrJbgdNm: submitInfo.laeIdfrJbgdNm,
lclgvPicNm: submitInfo.lclgvPicNm,
lclgvPicTelnoCn: submitInfo.lclgvPicTelnoCn,
lclgvKbrdrDeptNm: submitInfo.lclgvKbrdrDeptNm,
lclgvKbrdrJbgdNm: submitInfo.lclgvKbrdrJbgdNm,
lclgvIdfrNm: submitInfo.lclgvIdfrNm,
lclgvIdfrTelnoCn: submitInfo.lclgvIdfrTelnoCn,
lclgvIdfrDeptNm: submitInfo.lclgvIdfrDeptNm,
lclgvIdfrJbgdNm: submitInfo.lclgvIdfrJbgdNm,
...(isPublicInstitutionTab ? { noApplicable } : {}),
...(isAdminInfo ? { superAdmin: "superAdmin" as const } : {}),
};
@@ -1437,14 +1451,14 @@ const SewageExcretaRelatedInp = () => {
tabKey === ExcretaRelatedIndustryInpColumn.tabKey
? await statisticsInputSewageExcretaRelatedApi.submitExcretaRelatedIndustry({
...submitRequestBase,
userId: userInfo.userUnqId,
userUuid: userInfo.userUnqId,
submitList: submitList as ExcretaRelatedIndustrySaveItem[],
})
: tabKey === PrivateSewageTreatRelatedIndustryInpColumn.tabKey
? await statisticsInputSewageExcretaRelatedApi.submitPrivateSewageTreatRelatedIndustry(
{
...submitRequestBase,
userId: userInfo.userUnqId,
userUuid: userInfo.userUnqId,
submitList:
submitList as PrivateSewageTreatRelatedIndustrySaveItem[],
},
@@ -1453,17 +1467,17 @@ const SewageExcretaRelatedInp = () => {
? await statisticsInputSewageExcretaRelatedApi.submitPublicInstitutionSewerIndustry(
{
...submitRequestBase,
userId: userInfo.userUnqId,
userUuid: userInfo.userUnqId,
submitList: submitList as PublicInstitutionSewerIndustrySaveItem[],
deleteList,
deleteList: deleteList as PublicInstitutionSewerIndustrySaveItem[],
},
)
: await statisticsInputSewageExcretaRelatedApi.submitPublicInstitutionExcretaIndustry(
{
...submitRequestBase,
userId: userInfo.userUnqId,
submitList: submitList as PublicInstitutionSewerIndustrySaveItem[],
deleteList,
userUuid: userInfo.userUnqId,
submitList: submitList as PublicInstitutionExcretaIndustrySaveItem[],
deleteList: deleteList as PublicInstitutionExcretaIndustrySaveItem[],
},
);
@@ -1484,7 +1498,7 @@ const SewageExcretaRelatedInp = () => {
stats_cd: statsCdForTab,
stats_yr: lastSearchedValues.year ?? "",
lae_sbmsn_stts_cd:
activeTabStatus?.laeSbmsnSttsCd === "4" ? "4" : "2",
activeTabStatus?.lclgvSbmsnSttsCd === "4" ? "4" : "2",
gen_verify_stts_cd: nvpassed ? "1" : "2",
hb_pass_yn: response.data?.isHbPassed,
};
@@ -1577,7 +1591,7 @@ const SewageExcretaRelatedInp = () => {
setIsLoading(true);
const userInfo = await getUserInfo();
const userFields = {
userId: userInfo.userUnqId,
userUuid: userInfo.userUnqId,
...(isAdminInfo ? { superAdmin: "superAdmin" as const } : {}),
};
@@ -1628,7 +1642,7 @@ const SewageExcretaRelatedInp = () => {
sggList = list;
const rowsForSave = mergeGridRowsWithMapRows(currentData, mapRows, [
"ognzSn",
PUBLIC_INSTITUTION_OGNZ_SN_FIELD,
"admdstCd",
"admdstNm",
"__isNewArticle",
@@ -1661,16 +1675,16 @@ const SewageExcretaRelatedInp = () => {
{
...baseSaveRequest,
...userFields,
saveList,
deleteList,
saveList: saveList as PublicInstitutionSewerIndustrySaveItem[],
deleteList: deleteList as PublicInstitutionSewerIndustrySaveItem[],
},
)
: await statisticsInputSewageExcretaRelatedApi.savePublicInstitutionExcretaIndustry(
{
...baseSaveRequest,
...userFields,
saveList,
deleteList,
saveList: saveList as PublicInstitutionExcretaIndustrySaveItem[],
deleteList: deleteList as PublicInstitutionExcretaIndustrySaveItem[],
},
);
} else {
@@ -2011,7 +2025,7 @@ const SewageExcretaRelatedInp = () => {
{submitOk && <SubmitButton submitFunc={submitFunc} />}
</>
)}
{activeTabStatus?.laeSbmsnSttsCd === "2" && submitOk && (
{activeTabStatus?.lclgvSbmsnSttsCd === "2" && submitOk && (
<CancelSubmitButton cnacelSubmitFunc={cnacelSubmitFunc} />
)}
{showSaveInToolbar && <SaveButton saveFunc={saveFunc} />}
@@ -157,7 +157,7 @@ function verificationCellTooltip({
? "일반검증 - "
: "모집단 검증 - ";
return `${prefix}${e.rsnExpln}
(검증 기준값: ${e.compVlCn} / 현재 입력값: ${e.nowVlCn})`;
(검증 기준값: ${e.cmprCn} / 현재 입력값: ${e.nowCn})`;
})
.filter(Boolean)
.join("\n");
@@ -343,8 +343,8 @@ const computeTabEnterable = (
statusInfo: SewerageStatusInfo | null | undefined,
periodEnterable: boolean,
): boolean => {
if (statusInfo?.laeSbmsnSttsCd) {
if (["2", "3"].includes(statusInfo.laeSbmsnSttsCd)) {
if (statusInfo?.lclgvSbmsnSttsCd) {
if (["2", "3"].includes(statusInfo.lclgvSbmsnSttsCd)) {
return false;
}
return periodEnterable;
@@ -380,7 +380,7 @@ function computeTabToolbarSnapshot(
): TabToolbarSnapshot {
const gugunOk = buildGugunOkForToolbar(searchContext);
const enterable = computeTabEnterable(statusInfo, periodEnterable);
const isSubmitted = statusInfo?.laeSbmsnSttsCd === "2";
const isSubmitted = statusInfo?.lclgvSbmsnSttsCd === "2";
const showSaveInToolbar = (enterable || isAdminInfo) && periodEnterable && gugunOk;
const showEnterableToolbarButtons = enterable && gugunOk;
const showSubmittedInInputPeriodToolbar =
@@ -504,39 +504,39 @@ function buildSlurgeProcessingFacStatusSaveItem(
otsdInflwQnt: toGridNumber(row.otsdInflwQnt),
transfTmplntNm: nullableTrimmedString(row.transfTmplntNm),
transfPrcsQnt: toGridNumber(row.transfPrcsQnt),
srpFncRt: toGridNumber(row.srpFncRt),
itslfTs1RclmQnt: toGridNumber(row.itslfTs1RclmQnt),
itslfTs1IncnrQnt: toGridNumber(row.itslfTs1IncnrQnt),
itslfTs1AltdQnt: toGridNumber(row.itslfTs1AltdQnt),
itslfTs1DryQnt: toGridNumber(row.itslfTs1DryQnt),
itslfTs1FuelQnt: toGridNumber(row.itslfTs1FuelQnt),
itslfTs1CmpstgQnt: toGridNumber(row.itslfTs1CmpstgQnt),
sludgeFncRt: toGridNumber(row.sludgeFncRt),
itslfFrlvlRclmQnt: toGridNumber(row.itslfFrlvlRclmQnt),
itslfFrlvlIncnrQnt: toGridNumber(row.itslfFrlvlIncnrQnt),
itslfFrlvlSldQnt: toGridNumber(row.itslfFrlvlSldQnt),
itslfFrlvlDryQnt: toGridNumber(row.itslfFrlvlDryQnt),
itslfFrlvlCrbnQnt: toGridNumber(row.itslfFrlvlCrbnQnt),
itslfFrlvlCmpstgQnt: toGridNumber(row.itslfFrlvlCmpstgQnt),
cmpsPrcsFcltBzentyNm: nullableTrimmedString(row.cmpsPrcsFcltBzentyNm),
incnrPrcsLfvlm: toGridNumber(row.incnrPrcsLfvlm),
incnrPrcsPrdctRmtrlQnt: toGridNumber(row.incnrPrcsPrdctRmtrlQnt),
incnrPrcsFmlyrQnt: toGridNumber(row.incnrPrcsFmlyrQnt),
incnrPrcsCwthQnt: toGridNumber(row.incnrPrcsCwthQnt),
incnrPrcsFcltNm: nullableTrimmedString(row.incnrPrcsFcltNm),
stbznPrcsLfvlm: toGridNumber(row.stbznPrcsLfvlm),
stbznPrcsFmlyrQnt: toGridNumber(row.stbznPrcsFmlyrQnt),
stbznPrcsFcltNm: nullableTrimmedString(row.stbznPrcsFcltNm),
sldPrcsLfvlm: toGridNumber(row.sldPrcsLfvlm),
sldPrcsCwthQnt: toGridNumber(row.sldPrcsCwthQnt),
sldPrcsFcltNm: nullableTrimmedString(row.sldPrcsFcltNm),
dryPrcsLfvlm: toGridNumber(row.dryPrcsLfvlm),
dryPrcsIncnrQnt: toGridNumber(row.dryPrcsIncnrQnt),
dryPrcsFuelQnt: toGridNumber(row.dryPrcsFuelQnt),
dryPrcsPrdctRmtrlQnt: toGridNumber(row.dryPrcsPrdctRmtrlQnt),
dryPrcsFmlyrQnt: toGridNumber(row.dryPrcsFmlyrQnt),
dryPrcsCwthQnt: toGridNumber(row.dryPrcsCwthQnt),
dryPrcsCmpstgQnt: toGridNumber(row.dryPrcsCmpstgQnt),
dryPrcsFcltNm: nullableTrimmedString(row.dryPrcsFcltNm),
fuelPrcsIncnrQnt: toGridNumber(row.fuelPrcsIncnrQnt),
fuelPrcsFuelQnt: toGridNumber(row.fuelPrcsFuelQnt),
fuelPrcsFcltNm: nullableTrimmedString(row.fuelPrcsFcltNm),
crbnPrcsIncnrQnt: toGridNumber(row.crbnPrcsIncnrQnt),
crbnPrcsFuelQnt: toGridNumber(row.crbnPrcsFuelQnt),
crbnPrcsFcltNm: nullableTrimmedString(row.crbnPrcsFcltNm),
otsdCnsgnRclmQnt: toGridNumber(row.otsdCnsgnRclmQnt),
otsdCnsgnIncnrQnt: toGridNumber(row.otsdCnsgnIncnrQnt),
otsdCnsgnFuelPwplQnt: toGridNumber(row.otsdCnsgnFuelPwplQnt),
otsdCnsgnPwplQnt: toGridNumber(row.otsdCnsgnPwplQnt),
otsdCnsgnPrdctRmtrlQnt: toGridNumber(row.otsdCnsgnPrdctRmtrlQnt),
otsdCnsgnFmlyrQnt: toGridNumber(row.otsdCnsgnFmlyrQnt),
otsdCnsgnCwthQnt: toGridNumber(row.otsdCnsgnCwthQnt),
otsdCnsgnCmpstgQnt: toGridNumber(row.otsdCnsgnCmpstgQnt),
otsdCnsgnFcltNm: nullableTrimmedString(row.otsdCnsgnFcltNm),
cparTs1Whol: toGridNumber(row.cparTs1Whol),
cparFrlvlWholQnt: toGridNumber(row.cparFrlvlWholQnt),
rmrk: nullableTrimmedString(row.rmrk),
};
}
@@ -553,23 +553,23 @@ function buildDigestorOperatingStatusSaveItem(
swtrmtFcltCd: nullableTrimmedString(row.swtrmtFcltCd),
swtrmtFcltNm: nullableTrimmedString(row.swtrmtFcltNm),
fcltSn: nullableTrimmedString(row.fcltSn),
digstnEnYn: nullableTrimmedString(row.digstnEnYn),
gasPrcsEnYn: nullableTrimmedString(row.gasPrcsEnYn),
};
if (isDigestorOperatingRowDisabled(row)) {
return {
...base,
digstnEnYn: "N",
digstnCpct: 0,
gasPrcsEnYn: "N",
gasPrcsCpct: 0,
actlDrvnCpct: 0,
digstnGasInputQnt: 0,
digstnGasInputSldDnst: 0,
digstnTnkOprtngDayCnt: 0,
prcsGasInputQnt: 0,
prcsGasInputSldDnst: 0,
prcsRepoOprtngDayCnt: 0,
ocrnGasQnt: 0,
digstnGasUtztnNtslQnt: 0,
digstnGasUtztnEtgtQnt: 0,
digstnGasUtztnItslfQnt: 0,
digstnGasUtztnEtcQnt: 0,
prcsGasUtztnNtslQnt: 0,
prcsGasUtztnEtgtQnt: 0,
prcsGasUtztnItslfQnt: 0,
prcsGasUtztnEtcQnt: 0,
surplsGasQnt: 0,
rmrk: null,
};
@@ -577,16 +577,16 @@ function buildDigestorOperatingStatusSaveItem(
return {
...base,
digstnCpct: toGridNumber(row.digstnCpct),
gasPrcsCpct: toGridNumber(row.gasPrcsCpct),
actlDrvnCpct: toGridNumber(row.actlDrvnCpct),
digstnGasInputQnt: toGridNumber(row.digstnGasInputQnt),
digstnGasInputSldDnst: toGridNumber(row.digstnGasInputSldDnst),
digstnTnkOprtngDayCnt: toGridNumber(row.digstnTnkOprtngDayCnt),
prcsGasInputQnt: toGridNumber(row.prcsGasInputQnt),
prcsGasInputSldDnst: toGridNumber(row.prcsGasInputSldDnst),
prcsRepoOprtngDayCnt: toGridNumber(row.prcsRepoOprtngDayCnt),
ocrnGasQnt: toGridNumber(row.ocrnGasQnt),
digstnGasUtztnNtslQnt: toGridNumber(row.digstnGasUtztnNtslQnt),
digstnGasUtztnEtgtQnt: toGridNumber(row.digstnGasUtztnEtgtQnt),
digstnGasUtztnItslfQnt: toGridNumber(row.digstnGasUtztnItslfQnt),
digstnGasUtztnEtcQnt: toGridNumber(row.digstnGasUtztnEtcQnt),
prcsGasUtztnNtslQnt: toGridNumber(row.prcsGasUtztnNtslQnt),
prcsGasUtztnEtgtQnt: toGridNumber(row.prcsGasUtztnEtgtQnt),
prcsGasUtztnItslfQnt: toGridNumber(row.prcsGasUtztnItslfQnt),
prcsGasUtztnEtcQnt: toGridNumber(row.prcsGasUtztnEtcQnt),
surplsGasQnt: toGridNumber(row.surplsGasQnt),
rmrk: nullableTrimmedString(row.rmrk),
};
@@ -604,10 +604,10 @@ function buildSewageSlurgeProcessingFacStatusSaveItem(
fcltSn: nullableTrimmedString(row.fcltSn),
fcltNm: nullableTrimmedString(row.fcltNm),
prcsMthExpln: nullableTrimmedString(row.prcsMthExpln),
fcltCpct: toGridNumber(row.fcltCpct),
sludgeFcltCpct: toGridNumber(row.sludgeFcltCpct),
anlPrcsQnt: toGridNumber(row.anlPrcsQnt),
dayAvgOprtngHr: toGridNumber(row.dayAvgOprtngHr),
anlOprtngDayCnt: toGridNumber(row.anlOprtngDayCnt),
dyrgOprtngHr: toGridNumber(row.dyrgOprtngHr),
fcltAnlOprtngDayCnt: toGridNumber(row.fcltAnlOprtngDayCnt),
rmrk: nullableTrimmedString(row.rmrk),
};
}
@@ -630,7 +630,7 @@ function buildExcretaSlurgeProcessingStatusSaveItem(
oceanInputQnt: toGridNumber(row.oceanInputQnt),
fuelQnt: toGridNumber(row.fuelQnt),
etcQnt: toGridNumber(row.etcQnt),
nondspsQnt: toGridNumber(row.nondspsQnt),
unprcsQnt: toGridNumber(row.unprcsQnt),
swtrmtFcltNm: nullableTrimmedString(row.swtrmtFcltNm),
rmrk: nullableTrimmedString(row.rmrk),
};
@@ -1423,15 +1423,15 @@ const SewageExcretaSlurgeInp = () => {
statsYr: lastSearchedValues.year ?? "",
ctpvNm: lastSearchedValues.sido ?? "",
...toInputSearchRegion(sidoListRef.current, lastSearchedValues),
userId: "",
laePicNm: submitInfo.laePicNm,
laePicTelNo: submitInfo.laePicTelNo,
laeKbrdrDeptNm: submitInfo.laeKbrdrDeptNm,
laeKbrdrJbgdNm: submitInfo.laeKbrdrJbgdNm,
laeIdfrNm: submitInfo.laeIdfrNm,
laeIdfrTelNo: submitInfo.laeIdfrTelNo,
laeIdfrDeptNm: submitInfo.laeIdfrDeptNm,
laeIdfrJbgdNm: submitInfo.laeIdfrJbgdNm,
userUuid: "",
lclgvPicNm: submitInfo.lclgvPicNm,
lclgvPicTelnoCn: submitInfo.lclgvPicTelnoCn,
lclgvKbrdrDeptNm: submitInfo.lclgvKbrdrDeptNm,
lclgvKbrdrJbgdNm: submitInfo.lclgvKbrdrJbgdNm,
lclgvIdfrNm: submitInfo.lclgvIdfrNm,
lclgvIdfrTelnoCn: submitInfo.lclgvIdfrTelnoCn,
lclgvIdfrDeptNm: submitInfo.lclgvIdfrDeptNm,
lclgvIdfrJbgdNm: submitInfo.lclgvIdfrJbgdNm,
...(isAdminInfo ? { superAdmin: "superAdmin" as const } : {}),
noApplicable,
};
@@ -1443,21 +1443,21 @@ const SewageExcretaSlurgeInp = () => {
const response = isSlurgeFacTab
? await statisticsInputSewageExcretaSlurgeApi.submitSlurgeProcessingFacStatus({
...submitRequestBase,
userId: userInfo.userUnqId,
userUuid: userInfo.userUnqId,
submitList: slurgeSubmitList,
deleteList: slurgeDeleteList,
})
: isDigestorTab
? await statisticsInputSewageExcretaSlurgeApi.submitDigestorOperatingStatus({
...submitRequestBase,
userId: userInfo.userUnqId,
userUuid: userInfo.userUnqId,
submitList: digestorSubmitList,
})
: isSewageSlurgeFacTab
? await statisticsInputSewageExcretaSlurgeApi.submitSewageSlurgeProcessingFacStatus(
{
...submitRequestBase,
userId: userInfo.userUnqId,
userUuid: userInfo.userUnqId,
submitList: sewageSlurgeFacSubmitList,
deleteList: sewageSlurgeFacDeleteList,
},
@@ -1465,7 +1465,7 @@ const SewageExcretaSlurgeInp = () => {
: await statisticsInputSewageExcretaSlurgeApi.submitExcretaSlurgeProcessingStatus(
{
...submitRequestBase,
userId: userInfo.userUnqId,
userUuid: userInfo.userUnqId,
submitList: excretaSlurgeSubmitList,
},
);
@@ -1487,7 +1487,7 @@ const SewageExcretaSlurgeInp = () => {
stats_cd: statsCdForSubmit,
stats_yr: lastSearchedValues.year ?? "",
lae_sbmsn_stts_cd:
activeTabStatus?.laeSbmsnSttsCd === "4" ? "4" : "2",
activeTabStatus?.lclgvSbmsnSttsCd === "4" ? "4" : "2",
gen_verify_stts_cd: nvpassed ? "1" : "2",
hb_pass_yn: response.data?.isHbPassed,
};
@@ -1564,7 +1564,7 @@ const SewageExcretaSlurgeInp = () => {
...toInputSearchRegion(sidoListRef.current, lastSearchedValues),
ctpvNm: lastSearchedValues.sido ?? "",
statsYr: lastSearchedValues.year ?? "",
mdfrId: userInfo.userUnqId,
mdfrUuid: userInfo.userUnqId,
statsCd: statsCdForTab,
};
@@ -1636,7 +1636,7 @@ const SewageExcretaSlurgeInp = () => {
setIsLoading(true);
const userInfo = await getUserInfo();
const userFields = {
userId: userInfo.userUnqId,
userUuid: userInfo.userUnqId,
...(isAdminInfo ? { superAdmin: "superAdmin" as const } : {}),
};
@@ -2109,7 +2109,7 @@ const SewageExcretaSlurgeInp = () => {
{submitOk && <SubmitButton submitFunc={submitFunc} />}
</>
)}
{activeTabStatus?.laeSbmsnSttsCd === "2" && submitOk && (
{activeTabStatus?.lclgvSbmsnSttsCd === "2" && submitOk && (
<CancelSubmitButton cnacelSubmitFunc={cnacelSubmitFunc} />
)}
{showSaveInToolbar && <SaveButton saveFunc={saveFunc} />}
@@ -91,8 +91,8 @@ const computeTabEnterable = (
statusInfo: SewerageStatusInfo | null | undefined,
periodEnterable: boolean,
): boolean => {
if (statusInfo?.laeSbmsnSttsCd) {
if (["2", "3"].includes(statusInfo.laeSbmsnSttsCd)) {
if (statusInfo?.lclgvSbmsnSttsCd) {
if (["2", "3"].includes(statusInfo.lclgvSbmsnSttsCd)) {
return false;
}
return periodEnterable;
@@ -242,6 +242,7 @@ function normalizePipeTypeStatusRow(
lyngPrlgWhol,
dmltnPrlgWhol,
verificationResult,
rmrk,
...rest
} = row;
const yearFields: Record<string, number> = {};
@@ -256,7 +257,7 @@ function normalizePipeTypeStatusRow(
if (!Number.isFinite(year)) continue;
const targetYear = Math.min(lastDataYear, Math.max(1995, year));
yearFields[`y${targetYear}PrlgWhol`] =
(yearFields[`y${targetYear}PrlgWhol`] ?? 0) + Number(y.prlgWhol ?? 0);
(yearFields[`y${targetYear}PrlgWhol`] ?? 0) + Number(y.pipeWholPrlg ?? 0);
yearFields[`y${targetYear}LyngPrlg`] =
(yearFields[`y${targetYear}LyngPrlg`] ?? 0) + Number(y.lyngPrlg ?? 0);
yearFields[`y${targetYear}DmltnPrlg`] =
@@ -266,8 +267,9 @@ function normalizePipeTypeStatusRow(
return {
ctpvNm,
...rest,
lyngPrlg: Number(row.lyngPrlg ?? lyngPrlgWhol ?? 0),
dmltnPrlg: Number(row.dmltnPrlg ?? dmltnPrlgWhol ?? 0),
rmrk: rmrk ?? "",
lyngPrlg: Number(lyngPrlgWhol ?? 0),
dmltnPrlg: Number(dmltnPrlgWhol ?? 0),
...yearFields,
verificationResult: remapPipeTypePrlgWholVerification(verificationResult) ?? undefined,
};
@@ -341,29 +343,29 @@ function buildRegionalFactSubmitListFromGrid(
cbsysPplMtncPlanPrlg: formatNumber(d.cbsysPplMtncPlanPrlg, "cbsysPplMtncPlanPrlg"),
cbsysPlanPrlg: formatNumber(d.cbsysPlanPrlg, "cbsysPlanPrlg"),
cbsysFcltPrlg: formatNumber(d.cbsysFcltPrlg, "cbsysFcltPrlg"),
cbsysSqrePrlg: formatNumber(d.cbsysSqrePrlg, "cbsysSqrePrlg"),
cbsysCiclPrlg: formatNumber(d.cbsysCiclPrlg, "cbsysCiclPrlg"),
cbsysShpPrlg: formatNumber(d.cbsysShpPrlg, "cbsysShpPrlg"),
cbsysElpsdPrlg: formatNumber(d.cbsysElpsdPrlg, "cbsysElpsdPrlg"),
cbsysOpnPrlg: formatNumber(d.cbsysOpnPrlg, "cbsysOpnPrlg"),
cbsysGttrPrlg: formatNumber(d.cbsysGttrPrlg, "cbsysGttrPrlg"),
cbsysLaditPrlg: formatNumber(d.cbsysLaditPrlg, "cbsysLaditPrlg"),
drtwPplMtncPlanArea: formatNumber(d.drtwPplMtncPlanArea, "drtwPplMtncPlanArea"),
drtwPplMtncPlanPrlg: formatNumber(d.drtwPplMtncPlanPrlg, "drtwPplMtncPlanPrlg"),
drtwPplPlanPrlg: formatNumber(d.drtwPplPlanPrlg, "drtwPplPlanPrlg"),
drtwPplFcltPrlg: formatNumber(d.drtwPplFcltPrlg, "drtwPplFcltPrlg"),
drtwPplSqrePrlg: formatNumber(d.drtwPplSqrePrlg, "drtwPplSqrePrlg"),
drtwPplCiclPrlg: formatNumber(d.drtwPplCiclPrlg, "drtwPplCiclPrlg"),
drtwPplShpPrlg: formatNumber(d.drtwPplShpPrlg, "drtwPplShpPrlg"),
drtwPplElpsdPrlg: formatNumber(d.drtwPplElpsdPrlg, "drtwPplElpsdPrlg"),
exlnPplMtncPlanArea: formatNumber(d.exlnPplMtncPlanArea, "exlnPplMtncPlanArea"),
exlnPplMtncPlanPrlg: formatNumber(d.exlnPplMtncPlanPrlg, "exlnPplMtncPlanPrlg"),
exlnPplPlanPrlg: formatNumber(d.exlnPplPlanPrlg, "exlnPplPlanPrlg"),
exlnPplFcltPrlg: formatNumber(d.exlnPplFcltPrlg, "exlnPplFcltPrlg"),
exlnPplSqrePrlg: formatNumber(d.exlnPplSqrePrlg, "exlnPplSqrePrlg"),
exlnPplCiclPrlg: formatNumber(d.exlnPplCiclPrlg, "exlnPplCiclPrlg"),
exlnPplShpPrlg: formatNumber(d.exlnPplShpPrlg, "exlnPplShpPrlg"),
exlnPplElpsdPrlg: formatNumber(d.exlnPplElpsdPrlg, "exlnPplElpsdPrlg"),
exlnPplOpnPrlg: formatNumber(d.exlnPplOpnPrlg, "exlnPplOpnPrlg"),
exlnPplGttrPrlg: formatNumber(d.exlnPplGttrPrlg, "exlnPplGttrPrlg"),
exlnPplLaditPrlg: formatNumber(d.exlnPplLaditPrlg, "exlnPplLaditPrlg"),
cbsysMnhlCnt: formatNumber(d.cbsysMnhlCnt, "cbsysMnhlCnt"),
sprsysDrtwMnhlCnt: formatNumber(d.sprsysDrtwMnhlCnt, "sprsysDrtwMnhlCnt"),
sprsysExlnMnhlCnt: formatNumber(d.sprsysExlnMnhlCnt, "sprsysExlnMnhlCnt"),
drtwRcvprpCnt: formatNumber(d.drtwRcvprpCnt, "drtwRcvprpCnt"),
exlnRcvprpCnt: formatNumber(d.exlnRcvprpCnt, "exlnRcvprpCnt"),
drtwDrgCnt: formatNumber(d.drtwDrgCnt, "drtwDrgCnt"),
exlnDrgCnt: formatNumber(d.exlnDrgCnt, "exlnDrgCnt"),
stofcbrCnt: formatNumber(d.stofcbrCnt, "stofcbrCnt"),
exlnOtflCnt: formatNumber(d.exlnOtflCnt, "exlnOtflCnt"),
sewerLdgrEdpPrlg: formatNumber(d.sewerLdgrEdpPrlg, "sewerLdgrEdpPrlg"),
@@ -419,7 +421,7 @@ function computeTabToolbarSnapshot(
): TabToolbarSnapshot {
const gugunOk = buildGugunOkForToolbar(searchContext);
const enterable = computeTabEnterable(statusInfo, periodEnterable);
const isSubmitted = statusInfo?.laeSbmsnSttsCd === "2";
const isSubmitted = statusInfo?.lclgvSbmsnSttsCd === "2";
const showSaveInToolbar = (enterable || isAdminInfo) && periodEnterable && gugunOk;
const showEnterableToolbarButtons = enterable && gugunOk;
const showSubmittedInInputPeriodToolbar = isSubmitted && periodEnterable && gugunOk;
@@ -1109,7 +1111,7 @@ const SewagePipeInp = () => {
...toInputSearchRegion(sidoListRef.current, searchValues),
ctpvNm: searchValues?.sido ?? "",
statsYr: searchValues?.year ?? "",
userId: userInfo.userUnqId,
userUuid: userInfo.userUnqId,
statsCd: statsCdForTab,
};
@@ -1191,15 +1193,15 @@ const SewagePipeInp = () => {
statsYr: values.year ?? "",
ctpvNm: values.sido ?? "",
...toInputSearchRegion(sidoListRef.current, values),
userId: userInfo.userUnqId,
laePicNm: submitInfo.laePicNm,
laeKbrdrJbgdNm: submitInfo.laeKbrdrJbgdNm,
laeKbrdrDeptNm: submitInfo.laeKbrdrDeptNm,
laePicTelNo: submitInfo.laePicTelNo,
laeIdfrNm: submitInfo.laeIdfrNm,
laeIdfrJbgdNm: submitInfo.laeIdfrJbgdNm,
laeIdfrDeptNm: submitInfo.laeIdfrDeptNm,
laeIdfrTelNo: submitInfo.laeIdfrTelNo,
userUuid: userInfo.userUnqId,
lclgvPicNm: submitInfo.lclgvPicNm,
lclgvKbrdrJbgdNm: submitInfo.lclgvKbrdrJbgdNm,
lclgvKbrdrDeptNm: submitInfo.lclgvKbrdrDeptNm,
lclgvPicTelnoCn: submitInfo.lclgvPicTelnoCn,
lclgvIdfrNm: submitInfo.lclgvIdfrNm,
lclgvIdfrJbgdNm: submitInfo.lclgvIdfrJbgdNm,
lclgvIdfrDeptNm: submitInfo.lclgvIdfrDeptNm,
lclgvIdfrTelnoCn: submitInfo.lclgvIdfrTelnoCn,
};
let response: SeweragePipeInputSubmitResponse | null = null;
@@ -1250,14 +1252,14 @@ const SewagePipeInp = () => {
swtrmtFcltCd: nullableTrimmedString(d.swtrmtFcltCd),
swtrmtFcltNm: nullableTrimmedString(d.swtrmtFcltNm),
prcsZoneArea: formatNumber(d.prcsZoneArea, "prcsZoneArea"),
cbsysPrcsZoneArea: formatNumber(d.cbsysPrcsZoneArea, "cbsysPrcsZoneArea"),
sprsysPrcsZoneArea: formatNumber(d.sprsysPrcsZoneArea, "sprsysPrcsZoneArea"),
cbsysTrtznArea: formatNumber(d.cbsysTrtznArea, "cbsysTrtznArea"),
sprsysTrtznArea: formatNumber(d.sprsysTrtznArea, "sprsysTrtznArea"),
sprsysVartnRt: formatNumber(d.sprsysVartnRt, "sprsysVartnRt"),
mltvEqpmCnt: formatNumber(d.mltvEqpmCnt, "mltvEqpmCnt"),
cbsysMltvEqpmCnt: formatNumber(d.cbsysMltvEqpmCnt, "cbsysMltvEqpmCnt"),
sprsysMltvEqpmCnt: formatNumber(d.sprsysMltvEqpmCnt, "sprsysMltvEqpmCnt"),
sprsysMltvLnkgCnt: formatNumber(d.sprsysMltvLnkgCnt, "sprsysMltvLnkgCnt"),
sprsysMltvYetLnkgCnt: formatNumber(d.sprsysMltvYetLnkgCnt, "sprsysMltvYetLnkgCnt"),
wholDrgCnt: formatNumber(d.wholDrgCnt, "wholDrgCnt"),
cbsysDrgCnt: formatNumber(d.cbsysDrgCnt, "cbsysDrgCnt"),
sprsysDrgCnt: formatNumber(d.sprsysDrgCnt, "sprsysDrgCnt"),
sprsysDrgLnkgCnt: formatNumber(d.sprsysDrgLnkgCnt, "sprsysDrgLnkgCnt"),
sprsysDrgNoinsLnkgCnt: formatNumber(d.sprsysDrgNoinsLnkgCnt, "sprsysDrgNoinsLnkgCnt"),
wholFcltPrlg: formatNumber(d.wholFcltPrlg, "wholFcltPrlg"),
wholIcptgAtlfcsPrlg: formatNumber(d.wholIcptgAtlfcsPrlg, "wholIcptgAtlfcsPrlg"),
icptgPrlg: formatNumber(d.icptgPrlg, "icptgPrlg"),
@@ -1265,10 +1267,10 @@ const SewagePipeInp = () => {
cbsysStofcbrCnt: formatNumber(d.cbsysStofcbrCnt, "cbsysStofcbrCnt"),
sprsysStofcbrCnt: formatNumber(d.sprsysStofcbrCnt, "sprsysStofcbrCnt"),
sprsysExlnOtflCnt: formatNumber(d.sprsysExlnOtflCnt, "sprsysExlnOtflCnt"),
wholBrchlnPrlg: formatNumber(d.wholBrchlnPrlg, "wholBrchlnPrlg"),
cbsysBrchlnPrlg: formatNumber(d.cbsysBrchlnPrlg, "cbsysBrchlnPrlg"),
exlnBrchlnPrlg: formatNumber(d.exlnBrchlnPrlg, "exlnBrchlnPrlg"),
drtwBrchlnPrlg: formatNumber(d.drtwBrchlnPrlg, "drtwBrchlnPrlg"),
wholPplPrlg: formatNumber(d.wholPplPrlg, "wholPplPrlg"),
cbsysPplPrlg: formatNumber(d.cbsysPplPrlg, "cbsysPplPrlg"),
exlnPplPrlg: formatNumber(d.exlnPplPrlg, "exlnPplPrlg"),
drtwPplPrlg: formatNumber(d.drtwPplPrlg, "drtwPplPrlg"),
rmrk: nullableTrimmedString(d.rmrk),
}));
const requestData: SeweragePipeInputFactInstallStatusSubmitRequest = {
@@ -1309,7 +1311,7 @@ const SewagePipeInp = () => {
lyngYr: String(year),
lyngPrlg: formatNumber(d[lyngKey] as string | number | undefined, lyngKey),
dmltnPrlg: formatNumber(d[dmltnKey] as string | number | undefined, dmltnKey),
prlgWhol: formatNumber(d[wholKey] as string | number | undefined, wholKey),
pipeWholPrlg: formatNumber(d[wholKey] as string | number | undefined, wholKey),
});
}
return {
@@ -1352,15 +1354,15 @@ const SewagePipeInp = () => {
};
const submitList = currentData.map((d) => ({
pipeSeCd: nullableTrimmedString(d.pipeSeCd),
step1PdmtPrlg: formatNumber(d.step1PdmtPrlg, "step1PdmtPrlg"),
step2PdmtPrlg: formatNumber(d.step2PdmtPrlg, "step2PdmtPrlg"),
step3PdmtPrlg: formatNumber(d.step3PdmtPrlg, "step3PdmtPrlg"),
step4PdmtPrlg: formatNumber(d.step4PdmtPrlg, "step4PdmtPrlg"),
step5PdmtPrlg: formatNumber(d.step5PdmtPrlg, "step5PdmtPrlg"),
sqrePdmtPrlg: formatNumber(d.sqrePdmtPrlg, "sqrePdmtPrlg"),
frlvlPdmtPrlg: formatNumber(d.frlvlPdmtPrlg, "frlvlPdmtPrlg"),
sclvlPdmtPrlg: formatNumber(d.sclvlPdmtPrlg, "sclvlPdmtPrlg"),
thlvlPdmtPrlg: formatNumber(d.thlvlPdmtPrlg, "thlvlPdmtPrlg"),
folvlPdmtPrlg: formatNumber(d.folvlPdmtPrlg, "folvlPdmtPrlg"),
filvlPdmtPrlg: formatNumber(d.filvlPdmtPrlg, "filvlPdmtPrlg"),
shpPdmtPrlg: formatNumber(d.shpPdmtPrlg, "shpPdmtPrlg"),
etcPdmtPrlg: formatNumber(d.etcPdmtPrlg, "etcPdmtPrlg"),
rmrk: nullableTrimmedString(d.rmrk),
pdmtByTsmWhol: formatNumber(d.pdmtByTsmWhol, "pdmtByTsmWhol"),
pdmtSeWholPrlg: formatNumber(d.pdmtSeWholPrlg, "pdmtSeWholPrlg"),
admdstCd: nullableTrimmedString(d.admdstCd),
admdstNm: nullableTrimmedString(d.admdstNm),
}));
@@ -1431,7 +1433,7 @@ const SewagePipeInp = () => {
sewer_bzmn_cd: values?.bsnmCd ?? '',
stats_cd: statsCdForTab,
stats_yr: values.year ?? "",
lae_sbmsn_stts_cd: statusForTab?.laeSbmsnSttsCd === "4" ? "4" : "2",
lae_sbmsn_stts_cd: statusForTab?.lclgvSbmsnSttsCd === "4" ? "4" : "2",
gen_verify_stts_cd: nvpassed ? "1" : "2",
hb_pass_yn: response.data?.isHbPassed,
};
@@ -1533,7 +1535,7 @@ const SewagePipeInp = () => {
...toInputSearchRegion(sidoListRef.current, searchValues),
ctpvNm: searchValues?.sido ?? '',
statsYr: searchValues?.year ?? '',
mdfrId: userInfo.userUnqId,
mdfrUuid: userInfo.userUnqId,
statsCd: tabStatsCdMap.get(activeTab) ?? statsCd,
};
@@ -1628,29 +1630,29 @@ const SewagePipeInp = () => {
cbsysPplMtncPlanPrlg: formatNumber(d.cbsysPplMtncPlanPrlg, "cbsysPplMtncPlanPrlg"),
cbsysPlanPrlg: formatNumber(d.cbsysPlanPrlg, "cbsysPlanPrlg"),
cbsysFcltPrlg: formatNumber(d.cbsysFcltPrlg, "cbsysFcltPrlg"),
cbsysSqrePrlg: formatNumber(d.cbsysSqrePrlg, "cbsysSqrePrlg"),
cbsysCiclPrlg: formatNumber(d.cbsysCiclPrlg, "cbsysCiclPrlg"),
cbsysShpPrlg: formatNumber(d.cbsysShpPrlg, "cbsysShpPrlg"),
cbsysElpsdPrlg: formatNumber(d.cbsysElpsdPrlg, "cbsysElpsdPrlg"),
cbsysOpnPrlg: formatNumber(d.cbsysOpnPrlg, "cbsysOpnPrlg"),
cbsysGttrPrlg: formatNumber(d.cbsysGttrPrlg, "cbsysGttrPrlg"),
cbsysLaditPrlg: formatNumber(d.cbsysLaditPrlg, "cbsysLaditPrlg"),
drtwPplMtncPlanArea: formatNumber(d.drtwPplMtncPlanArea, "drtwPplMtncPlanArea"),
drtwPplMtncPlanPrlg: formatNumber(d.drtwPplMtncPlanPrlg, "drtwPplMtncPlanPrlg"),
drtwPplPlanPrlg: formatNumber(d.drtwPplPlanPrlg, "drtwPplPlanPrlg"),
drtwPplFcltPrlg: formatNumber(d.drtwPplFcltPrlg, "drtwPplFcltPrlg"),
drtwPplSqrePrlg: formatNumber(d.drtwPplSqrePrlg, "drtwPplSqrePrlg"),
drtwPplCiclPrlg: formatNumber(d.drtwPplCiclPrlg, "drtwPplCiclPrlg"),
drtwPplShpPrlg: formatNumber(d.drtwPplShpPrlg, "drtwPplShpPrlg"),
drtwPplElpsdPrlg: formatNumber(d.drtwPplElpsdPrlg, "drtwPplElpsdPrlg"),
exlnPplMtncPlanArea: formatNumber(d.exlnPplMtncPlanArea, "exlnPplMtncPlanArea"),
exlnPplMtncPlanPrlg: formatNumber(d.exlnPplMtncPlanPrlg, "exlnPplMtncPlanPrlg"),
exlnPplPlanPrlg: formatNumber(d.exlnPplPlanPrlg, "exlnPplPlanPrlg"),
exlnPplFcltPrlg: formatNumber(d.exlnPplFcltPrlg, "exlnPplFcltPrlg"),
exlnPplSqrePrlg: formatNumber(d.exlnPplSqrePrlg, "exlnPplSqrePrlg"),
exlnPplCiclPrlg: formatNumber(d.exlnPplCiclPrlg, "exlnPplCiclPrlg"),
exlnPplShpPrlg: formatNumber(d.exlnPplShpPrlg, "exlnPplShpPrlg"),
exlnPplElpsdPrlg: formatNumber(d.exlnPplElpsdPrlg, "exlnPplElpsdPrlg"),
exlnPplOpnPrlg: formatNumber(d.exlnPplOpnPrlg, "exlnPplOpnPrlg"),
exlnPplGttrPrlg: formatNumber(d.exlnPplGttrPrlg, "exlnPplGttrPrlg"),
exlnPplLaditPrlg: formatNumber(d.exlnPplLaditPrlg, "exlnPplLaditPrlg"),
cbsysMnhlCnt: formatNumber(d.cbsysMnhlCnt, "cbsysMnhlCnt"),
sprsysDrtwMnhlCnt: formatNumber(d.sprsysDrtwMnhlCnt, "sprsysDrtwMnhlCnt"),
sprsysExlnMnhlCnt: formatNumber(d.sprsysExlnMnhlCnt, "sprsysExlnMnhlCnt"),
drtwRcvprpCnt: formatNumber(d.drtwRcvprpCnt, "drtwRcvprpCnt"),
exlnRcvprpCnt: formatNumber(d.exlnRcvprpCnt, "exlnRcvprpCnt"),
drtwDrgCnt: formatNumber(d.drtwDrgCnt, "drtwDrgCnt"),
exlnDrgCnt: formatNumber(d.exlnDrgCnt, "exlnDrgCnt"),
stofcbrCnt: formatNumber(d.stofcbrCnt, "stofcbrCnt"),
exlnOtflCnt: formatNumber(d.exlnOtflCnt, "exlnOtflCnt"),
sewerLdgrEdpPrlg: formatNumber(d.sewerLdgrEdpPrlg, "sewerLdgrEdpPrlg"),
@@ -1662,7 +1664,7 @@ const SewagePipeInp = () => {
statsYr: values.year ?? "",
ctpvNm: values.sido ?? "",
...toInputSearchRegion(sidoListRef.current, values),
userId: userInfo.userUnqId,
userUuid: userInfo.userUnqId,
...(isAdminInfo ? { superAdmin: "superAdmin" } : {}),
saveList,
};
@@ -1714,14 +1716,14 @@ const SewagePipeInp = () => {
swtrmtFcltCd: nullableTrimmedString(d.swtrmtFcltCd),
swtrmtFcltNm: nullableTrimmedString(d.swtrmtFcltNm),
prcsZoneArea: formatNumber(d.prcsZoneArea, "prcsZoneArea"),
cbsysPrcsZoneArea: formatNumber(d.cbsysPrcsZoneArea, "cbsysPrcsZoneArea"),
sprsysPrcsZoneArea: formatNumber(d.sprsysPrcsZoneArea, "sprsysPrcsZoneArea"),
cbsysTrtznArea: formatNumber(d.cbsysTrtznArea, "cbsysTrtznArea"),
sprsysTrtznArea: formatNumber(d.sprsysTrtznArea, "sprsysTrtznArea"),
sprsysVartnRt: formatNumber(d.sprsysVartnRt, "sprsysVartnRt"),
mltvEqpmCnt: formatNumber(d.mltvEqpmCnt, "mltvEqpmCnt"),
cbsysMltvEqpmCnt: formatNumber(d.cbsysMltvEqpmCnt, "cbsysMltvEqpmCnt"),
sprsysMltvEqpmCnt: formatNumber(d.sprsysMltvEqpmCnt, "sprsysMltvEqpmCnt"),
sprsysMltvLnkgCnt: formatNumber(d.sprsysMltvLnkgCnt, "sprsysMltvLnkgCnt"),
sprsysMltvYetLnkgCnt: formatNumber(d.sprsysMltvYetLnkgCnt, "sprsysMltvYetLnkgCnt"),
wholDrgCnt: formatNumber(d.wholDrgCnt, "wholDrgCnt"),
cbsysDrgCnt: formatNumber(d.cbsysDrgCnt, "cbsysDrgCnt"),
sprsysDrgCnt: formatNumber(d.sprsysDrgCnt, "sprsysDrgCnt"),
sprsysDrgLnkgCnt: formatNumber(d.sprsysDrgLnkgCnt, "sprsysDrgLnkgCnt"),
sprsysDrgNoinsLnkgCnt: formatNumber(d.sprsysDrgNoinsLnkgCnt, "sprsysDrgNoinsLnkgCnt"),
wholFcltPrlg: formatNumber(d.wholFcltPrlg, "wholFcltPrlg"),
wholIcptgAtlfcsPrlg: formatNumber(d.wholIcptgAtlfcsPrlg, "wholIcptgAtlfcsPrlg"),
icptgPrlg: formatNumber(d.icptgPrlg, "icptgPrlg"),
@@ -1729,10 +1731,10 @@ const SewagePipeInp = () => {
cbsysStofcbrCnt: formatNumber(d.cbsysStofcbrCnt, "cbsysStofcbrCnt"),
sprsysStofcbrCnt: formatNumber(d.sprsysStofcbrCnt, "sprsysStofcbrCnt"),
sprsysExlnOtflCnt: formatNumber(d.sprsysExlnOtflCnt, "sprsysExlnOtflCnt"),
wholBrchlnPrlg: formatNumber(d.wholBrchlnPrlg, "wholBrchlnPrlg"),
cbsysBrchlnPrlg: formatNumber(d.cbsysBrchlnPrlg, "cbsysBrchlnPrlg"),
exlnBrchlnPrlg: formatNumber(d.exlnBrchlnPrlg, "exlnBrchlnPrlg"),
drtwBrchlnPrlg: formatNumber(d.drtwBrchlnPrlg, "drtwBrchlnPrlg"),
wholPplPrlg: formatNumber(d.wholPplPrlg, "wholPplPrlg"),
cbsysPplPrlg: formatNumber(d.cbsysPplPrlg, "cbsysPplPrlg"),
exlnPplPrlg: formatNumber(d.exlnPplPrlg, "exlnPplPrlg"),
drtwPplPrlg: formatNumber(d.drtwPplPrlg, "drtwPplPrlg"),
rmrk: nullableTrimmedString(d.rmrk),
}));
@@ -1740,7 +1742,7 @@ const SewagePipeInp = () => {
statsYr: values.year ?? "",
ctpvNm: values.sido ?? "",
...toInputSearchRegion(sidoListRef.current, values),
userId: userInfo.userUnqId,
userUuid: userInfo.userUnqId,
...(isAdminInfo ? { superAdmin: "superAdmin" } : {}),
saveList,
};
@@ -1800,7 +1802,7 @@ const SewagePipeInp = () => {
d[dmltnKey] as string | number | undefined,
dmltnKey,
),
prlgWhol: formatNumber(
pipeWholPrlg: formatNumber(
d[wholKey] as string | number | undefined,
wholKey,
),
@@ -1824,7 +1826,7 @@ const SewagePipeInp = () => {
statsYr: values.year ?? "",
ctpvNm: values.sido ?? "",
...toInputSearchRegion(sidoListRef.current, values),
userId: userInfo.userUnqId,
userUuid: userInfo.userUnqId,
...(isAdminInfo ? { superAdmin: "superAdmin" } : {}),
saveList,
};
@@ -1867,15 +1869,15 @@ const SewagePipeInp = () => {
const saveList = currentData.map((d) => ({
pipeSeCd: nullableTrimmedString(d.pipeSeCd),
step1PdmtPrlg: formatNumber(d.step1PdmtPrlg, "step1PdmtPrlg"),
step2PdmtPrlg: formatNumber(d.step2PdmtPrlg, "step2PdmtPrlg"),
step3PdmtPrlg: formatNumber(d.step3PdmtPrlg, "step3PdmtPrlg"),
step4PdmtPrlg: formatNumber(d.step4PdmtPrlg, "step4PdmtPrlg"),
step5PdmtPrlg: formatNumber(d.step5PdmtPrlg, "step5PdmtPrlg"),
sqrePdmtPrlg: formatNumber(d.sqrePdmtPrlg, "sqrePdmtPrlg"),
frlvlPdmtPrlg: formatNumber(d.frlvlPdmtPrlg, "frlvlPdmtPrlg"),
sclvlPdmtPrlg: formatNumber(d.sclvlPdmtPrlg, "sclvlPdmtPrlg"),
thlvlPdmtPrlg: formatNumber(d.thlvlPdmtPrlg, "thlvlPdmtPrlg"),
folvlPdmtPrlg: formatNumber(d.folvlPdmtPrlg, "folvlPdmtPrlg"),
filvlPdmtPrlg: formatNumber(d.filvlPdmtPrlg, "filvlPdmtPrlg"),
shpPdmtPrlg: formatNumber(d.shpPdmtPrlg, "shpPdmtPrlg"),
etcPdmtPrlg: formatNumber(d.etcPdmtPrlg, "etcPdmtPrlg"),
rmrk: nullableTrimmedString(d.rmrk),
pdmtByTsmWhol: formatNumber(d.pdmtByTsmWhol, "pdmtByTsmWhol"),
pdmtSeWholPrlg: formatNumber(d.pdmtSeWholPrlg, "pdmtSeWholPrlg"),
admdstCd: nullableTrimmedString(d.admdstCd),
admdstNm: nullableTrimmedString(d.admdstNm),
}));
@@ -1886,7 +1888,7 @@ const SewagePipeInp = () => {
statsYr: values.year ?? "",
ctpvNm: values.sido ?? "",
...toInputSearchRegion(sidoListRef.current, values),
userId: userInfo.userUnqId,
userUuid: userInfo.userUnqId,
...(isAdminInfo ? { superAdmin: "superAdmin" } : {}),
saveList,
};
@@ -1944,7 +1946,7 @@ const SewagePipeInp = () => {
statsYr: values.year ?? "",
ctpvNm: values.sido ?? "",
...toInputSearchRegion(sidoListRef.current, values),
userId: userInfo.userUnqId,
userUuid: userInfo.userUnqId,
...(isAdminInfo ? { superAdmin: "superAdmin" } : {}),
saveList,
};
@@ -2025,7 +2027,7 @@ const SewagePipeInp = () => {
{submitOk && <SubmitButton submitFunc={() => void submitFunc(false)} />}
</>
)}
{activeTabStatus?.laeSbmsnSttsCd === "2" && submitOk && (
{activeTabStatus?.lclgvSbmsnSttsCd === "2" && submitOk && (
<CancelSubmitButton cnacelSubmitFunc={cnacelSubmitFunc} />
)}
{showSaveInToolbar && <SaveButton saveFunc={saveFunc} />}
@@ -2219,8 +2221,8 @@ const SewagePipeInp = () => {
.map((e) => {
const prefix =
e.vrfcCd === "IMR" ? "시계열 검증 - " : (e.vrfcCd === "NV" ? "일반검증 - " : "모집단 검증 - ");
const comp = e.compVlCn ?? "";
const now = e.nowVlCn ?? "";
const comp = e.cmprCn ?? "";
const now = e.nowCn ?? "";
return `${prefix}${e.rsnExpln}
(검증 기준값: ${comp} / 현재 입력값: ${now})`;
})
@@ -113,8 +113,8 @@ const computeTabEnterable = (
statusInfo: SewerageStatusInfo | null | undefined,
periodEnterable: boolean,
): boolean => {
if (statusInfo?.laeSbmsnSttsCd) {
if (["2", "3"].includes(statusInfo.laeSbmsnSttsCd)) {
if (statusInfo?.lclgvSbmsnSttsCd) {
if (["2", "3"].includes(statusInfo.lclgvSbmsnSttsCd)) {
return false;
}
return periodEnterable;
@@ -142,7 +142,7 @@ function computeTabToolbarSnapshot(
): TabToolbarSnapshot {
const gugunOk = buildGugunOkForToolbar(searchContext);
const enterable = computeTabEnterable(statusInfo, periodEnterable);
const isSubmitted = statusInfo?.laeSbmsnSttsCd === "2";
const isSubmitted = statusInfo?.lclgvSbmsnSttsCd === "2";
const showSaveInToolbar = (enterable || isAdminInfo) && periodEnterable && gugunOk;
const showEnterableToolbarButtons = enterable && gugunOk;
const showSubmittedInInputPeriodToolbar =
@@ -220,18 +220,19 @@ function buildRepairRowList(
admdstCd: nullableTrimmedString(d.admdstCd),
sggNm: nullableTrimmedString(d.sggNm),
admdstNm: nullableTrimmedString(d.admdstNm),
mendngWhol: formatNumber(d.mendngWhol, "mendngWhol"),
cbsysMendngPrlg: formatNumber(d.cbsysMendngPrlg, "cbsysMendngPrlg"),
dfrpWholPrlg: formatNumber(d.dfrpWholPrlg, "dfrpWholPrlg"),
cbsysDfrpPrlg: formatNumber(d.cbsysDfrpPrlg, "cbsysDfrpPrlg"),
sprsysExlnPrlg: formatNumber(d.sprsysExlnPrlg, "sprsysExlnPrlg"),
sprsysDrtwPrlg: formatNumber(d.sprsysDrtwPrlg, "sprsysDrtwPrlg"),
cbsysPartMendngPrlg: formatNumber(d.cbsysPartMendngPrlg, "cbsysPartMendngPrlg"),
sprsysExlnMendngPrlg: formatNumber(d.sprsysExlnMendngPrlg, "sprsysExlnMendngPrlg"),
sprsysDrtwMendngPrlg: formatNumber(d.sprsysDrtwMendngPrlg, "sprsysDrtwMendngPrlg"),
partDfrpWhol: formatNumber(d.partDfrpWhol, "partDfrpWhol"),
cbsysPartDfrpPrlg: formatNumber(d.cbsysPartDfrpPrlg, "cbsysPartDfrpPrlg"),
sprsysExlnDfrpPrlg: formatNumber(d.sprsysExlnDfrpPrlg, "sprsysExlnDfrpPrlg"),
sprsysDrtwDfrpPrlg: formatNumber(d.sprsysDrtwDfrpPrlg, "sprsysDrtwDfrpPrlg"),
cbsysMnhlCnt: formatNumber(d.cbsysMnhlCnt, "cbsysMnhlCnt"),
sprsysDrtwMnhlCnt: formatNumber(d.sprsysDrtwMnhlCnt, "sprsysDrtwMnhlCnt"),
sprsysExlnMnhlCnt: formatNumber(d.sprsysExlnMnhlCnt, "sprsysExlnMnhlCnt"),
drtwRcvprpCnt: formatNumber(d.drtwRcvprpCnt, "drtwRcvprpCnt"),
exlnRcvprpCnt: formatNumber(d.exlnRcvprpCnt, "exlnRcvprpCnt"),
drtwDrgCnt: formatNumber(d.drtwDrgCnt, "drtwDrgCnt"),
exlnDrgCnt: formatNumber(d.exlnDrgCnt, "exlnDrgCnt"),
stofcbrCnt: formatNumber(d.stofcbrCnt, "stofcbrCnt"),
otflCnt: formatNumber(d.otflCnt, "otflCnt"),
cctvExmnPrlg: formatNumber(d.cctvExmnPrlg, "cctvExmnPrlg"),
@@ -254,14 +255,14 @@ function buildDredgingRowList(
sprsysExlnPrlg: formatNumber(d.sprsysExlnPrlg, "sprsysExlnPrlg"),
sprsysDrtwPrlg: formatNumber(d.sprsysDrtwPrlg, "sprsysDrtwPrlg"),
mnhlCnt: formatNumber(d.mnhlCnt, "mnhlCnt"),
exlnDrtwRcvprpCnt: formatNumber(d.exlnDrtwRcvprpCnt, "exlnDrtwRcvprpCnt"),
exlnDrtwDrgCnt: formatNumber(d.exlnDrtwDrgCnt, "exlnDrtwDrgCnt"),
stofcbrOtflCnt: formatNumber(d.stofcbrOtflCnt, "stofcbrOtflCnt"),
drdgnPlanPrlg: formatNumber(d.drdgnPlanPrlg, "drdgnPlanPrlg"),
drdgnTrgtCtrsDrdgnRt: formatNumber(d.drdgnTrgtCtrsDrdgnRt, "drdgnTrgtCtrsDrdgnRt"),
wholPrlgCtrsDrdgnRt: formatNumber(d.wholPrlgCtrsDrdgnRt, "wholPrlgCtrsDrdgnRt"),
drdgnAmt: formatNumber(d.drdgnAmt, "drdgnAmt"),
drdgnQnt: formatNumber(d.drdgnQnt, "drdgnQnt"),
drdgnUntprcAmt: formatNumber(d.drdgnUntprcAmt, "drdgnUntprcAmt"),
pplDrdqty: formatNumber(d.pplDrdqty, "pplDrdqty"),
drdgnSoilPrcsAmt: formatNumber(d.drdgnSoilPrcsAmt, "drdgnSoilPrcsAmt"),
wholDrdgnPrcsQnt: formatNumber(d.wholDrdgnPrcsQnt, "wholDrdgnPrcsQnt"),
rclmQnt: formatNumber(d.rclmQnt, "rclmQnt"),
oceanEmsnQnt: formatNumber(d.oceanEmsnQnt, "oceanEmsnQnt"),
@@ -613,14 +614,14 @@ const SewagePipeMaintainInp = () => {
statsYr: lastSearchedValues.year ?? "",
ctpvNm: lastSearchedValues.sido ?? "",
...toInputSearchRegion(sidoListRef.current, lastSearchedValues),
laePicNm: submitInfo.laePicNm,
laeKbrdrJbgdNm: submitInfo.laeKbrdrJbgdNm,
laeKbrdrDeptNm: submitInfo.laeKbrdrDeptNm,
laePicTelNo: submitInfo.laePicTelNo,
laeIdfrNm: submitInfo.laeIdfrNm,
laeIdfrJbgdNm: submitInfo.laeIdfrJbgdNm,
laeIdfrDeptNm: submitInfo.laeIdfrDeptNm,
laeIdfrTelNo: submitInfo.laeIdfrTelNo,
lclgvPicNm: submitInfo.lclgvPicNm,
lclgvKbrdrJbgdNm: submitInfo.lclgvKbrdrJbgdNm,
lclgvKbrdrDeptNm: submitInfo.lclgvKbrdrDeptNm,
lclgvPicTelnoCn: submitInfo.lclgvPicTelnoCn,
lclgvIdfrNm: submitInfo.lclgvIdfrNm,
lclgvIdfrJbgdNm: submitInfo.lclgvIdfrJbgdNm,
lclgvIdfrDeptNm: submitInfo.lclgvIdfrDeptNm,
lclgvIdfrTelnoCn: submitInfo.lclgvIdfrTelnoCn,
};
const verificationQuery = {
@@ -648,12 +649,12 @@ const SewagePipeMaintainInp = () => {
const response = isRepairTab
? await sewagePipeMaintainApiService.submitSewagePipeMaintainRepair({
...submitInfoBase,
userId: userInfo.userUnqId,
userUuid: userInfo.userUnqId,
submitList: buildRepairRowList(currentData),
} satisfies SewagePipeMaintainRepairSubmitRequest)
: await sewagePipeMaintainApiService.submitSewagePipeMaintainDredging({
...submitInfoBase,
userId: userInfo.userUnqId,
userUuid: userInfo.userUnqId,
submitList: buildDredgingRowList(currentData),
} satisfies SewagePipeMaintainDredgingSubmitRequest);
@@ -673,7 +674,7 @@ const SewagePipeMaintainInp = () => {
sewer_bzmn_cd: lastSearchedValues?.bsnmCd ?? "",
stats_cd: statsCdForTab,
stats_yr: lastSearchedValues.year ?? "",
lae_sbmsn_stts_cd: activeTabStatus?.laeSbmsnSttsCd === "4" ? "4" : "2",
lae_sbmsn_stts_cd: activeTabStatus?.lclgvSbmsnSttsCd === "4" ? "4" : "2",
gen_verify_stts_cd: nvpassed ? "1" : "2",
hb_pass_yn: response.data?.isHbPassed,
};
@@ -767,7 +768,7 @@ const SewagePipeMaintainInp = () => {
const param: SewagePipeMaintainRepairSaveRequest = {
...baseRequest,
userId: userInfo.userUnqId,
userUuid: userInfo.userUnqId,
saveList: buildRepairRowList(currentData),
};
if (isAdminInfo) {
@@ -804,7 +805,7 @@ const SewagePipeMaintainInp = () => {
const param: SewagePipeMaintainDredgingSaveRequest = {
...baseRequest,
userId: userInfo.userUnqId,
userUuid: userInfo.userUnqId,
saveList: buildDredgingRowList(currentData),
};
if (isAdminInfo) {
@@ -856,7 +857,7 @@ const SewagePipeMaintainInp = () => {
...toInputSearchRegion(sidoListRef.current, lastSearchedValues),
ctpvNm: lastSearchedValues.sido ?? "",
statsYr: lastSearchedValues.year ?? "",
mdfrId: userInfo.userUnqId,
mdfrUuid: userInfo.userUnqId,
statsCd: statsCdForTab,
};
@@ -1108,7 +1109,7 @@ const SewagePipeMaintainInp = () => {
.map((e) => {
const prefix =
e.vrfcCd === "IMR" ? "시계열 검증 - " : e.vrfcCd === "NV" ? "일반검증 - " : "모집단 검증 - ";
return `${prefix}${e.rsnExpln}(검증 기준값: ${e.compVlCn} / 현재 입력값: ${e.nowVlCn})`;
return `${prefix}${e.rsnExpln}(검증 기준값: ${e.cmprCn} / 현재 입력값: ${e.nowCn})`;
})
.filter(Boolean)
.join("\n");
@@ -1143,7 +1144,7 @@ const SewagePipeMaintainInp = () => {
{submitOk && <SubmitButton submitFunc={submitFunc} />}
</>
)}
{activeTabStatus?.laeSbmsnSttsCd === "2" && submitOk && (
{activeTabStatus?.lclgvSbmsnSttsCd === "2" && submitOk && (
<CancelSubmitButton cnacelSubmitFunc={cnacelSubmitFunc} />
)}
{showSaveInToolbar && <SaveButton saveFunc={saveFunc} />}
@@ -125,8 +125,8 @@ const computeTabEnterable = (
statusInfo: SewerageStatusInfo | null | undefined,
periodEnterable: boolean,
): boolean => {
if (statusInfo?.laeSbmsnSttsCd) {
if (["2", "3"].includes(statusInfo.laeSbmsnSttsCd)) {
if (statusInfo?.lclgvSbmsnSttsCd) {
if (["2", "3"].includes(statusInfo.lclgvSbmsnSttsCd)) {
return false;
}
return periodEnterable;
@@ -162,7 +162,7 @@ function computeTabToolbarSnapshot(
): TabToolbarSnapshot {
const gugunOk = buildGugunOkForToolbar(searchContext);
const enterable = computeTabEnterable(statusInfo, periodEnterable);
const isSubmitted = statusInfo?.laeSbmsnSttsCd === "2";
const isSubmitted = statusInfo?.lclgvSbmsnSttsCd === "2";
const showSaveInToolbar = (enterable || isAdminInfo) && periodEnterable && gugunOk;
const showEnterableToolbarButtons = enterable && gugunOk;
const showSubmittedInInputPeriodToolbar =
@@ -274,7 +274,7 @@ function mapSewageReservoirListToGridRows(
ctpvNm,
oprtngStrtYmd: formatCompactYmdForGrid(item.oprtngStrtYmd),
fldngPrvtnYn: normalizeOxYnValue(item.fldngPrvtnYn),
wqPlltnMtgtYn: normalizeOxYnValue(item.wqPlltnMtgtYn),
wtpltMtgtYn: normalizeOxYnValue(item.wtpltMtgtYn),
rtlztnUsgYn: normalizeOxYnValue(item.rtlztnUsgYn),
},
])[0] as GridRowWithVerification;
@@ -332,37 +332,37 @@ function buildSewageReservoirSaveItem(
oprtngStrtYmd: toCompactYmdOrNull(row.oprtngStrtYmd),
planDesignFreqCnt: toGridNumber(row.planDesignFreqCnt),
fldngPrvtnYn: nullableTrimmedString(normalizeOxYnValue(row.fldngPrvtnYn)),
wqPlltnMtgtYn: nullableTrimmedString(normalizeOxYnValue(row.wqPlltnMtgtYn)),
wtpltMtgtYn: nullableTrimmedString(normalizeOxYnValue(row.wtpltMtgtYn)),
rtlztnUsgYn: nullableTrimmedString(normalizeOxYnValue(row.rtlztnUsgYn)),
fcltStrctCn: nullableTrimmedString(row.fcltStrctCn),
wtrStrgZoneArea: toGridNumber(row.wtrStrgZoneArea),
impdFcltCpct: toGridNumber(row.impdFcltCpct),
grssPpqty: toGridNumber(row.grssPpqty),
wholPpqty: toGridNumber(row.wholPpqty),
pumpFcltN1DmtrExpln: toPumpDmtrExpln(row.pumpFcltN1DmtrExpln),
pumpFcltN1PerPpqty: toGridNumber(row.pumpFcltN1PerPpqty),
pumpFcltN1Ppqty: toGridNumber(row.pumpFcltN1Ppqty),
pumpFcltN1PumpCnt: toGridNumber(row.pumpFcltN1PumpCnt),
pumpFcltN1RsrvPumpCnt: toGridNumber(row.pumpFcltN1RsrvPumpCnt),
pumpFcltN2DmtrExpln: toPumpDmtrExpln(row.pumpFcltN2DmtrExpln),
pumpFcltN2PerPpqty: toGridNumber(row.pumpFcltN2PerPpqty),
pumpFcltN2Ppqty: toGridNumber(row.pumpFcltN2Ppqty),
pumpFcltN2PumpCnt: toGridNumber(row.pumpFcltN2PumpCnt),
pumpFcltN2RsrvPumpCnt: toGridNumber(row.pumpFcltN2RsrvPumpCnt),
pumpFcltN3DmtrExpln: toPumpDmtrExpln(row.pumpFcltN3DmtrExpln),
pumpFcltN3PerPpqty: toGridNumber(row.pumpFcltN3PerPpqty),
pumpFcltN3Ppqty: toGridNumber(row.pumpFcltN3Ppqty),
pumpFcltN3PumpCnt: toGridNumber(row.pumpFcltN3PumpCnt),
pumpFcltN3RsrvPumpCnt: toGridNumber(row.pumpFcltN3RsrvPumpCnt),
prcsgFcltYn: row.prcsgFcltYn ? (row.prcsgFcltYn === "무" ? "N" : "Y") : null,
ddrztnEqpmYn: row.ddrztnEqpmYn ? (row.prcsgFcltYn === "무" ? "N" : "Y") : null,
odorEqpmYn: row.odorEqpmYn ? (row.prcsgFcltYn === "무" ? "N" : "Y") : null,
oslfEtgtYn: row.oslfEtgtYn ? (row.prcsgFcltYn === "무" ? "N" : "Y") : null,
mltvMthCn: nullableTrimmedString(row.mltvMthCn),
drgptnCn: nullableTrimmedString(row.drgptnCn),
impdMthCn: nullableTrimmedString(row.impdMthCn),
impdPrcsMthdCn: nullableTrimmedString(row.impdPrcsMthdCn),
impdPrcsCn: nullableTrimmedString(row.impdPrcsCn),
dschgWtrsExpln: nullableTrimmedString(row.dschgWtrsExpln),
prcptnLastDspsQnt: toGridNumber(row.prcptnLastDspsQnt),
prpwLastDspsQnt: toGridNumber(row.prpwLastDspsQnt),
ctmnLastDspsQnt: toGridNumber(row.ctmnLastDspsQnt),
prcptnLastDspsMthdExpln: nullableTrimmedString(row.prcptnLastDspsMthdExpln),
ctmnLastDspsMthdExpln: nullableTrimmedString(row.ctmnLastDspsMthdExpln),
prpwLastDspsExpln: nullableTrimmedString(row.prpwLastDspsExpln),
ctmnLastDspsExpln: nullableTrimmedString(row.ctmnLastDspsExpln),
oprtngDayCnt: toGridNumber(row.oprtngDayCnt),
grssMltvQnt: toGridNumber(row.grssMltvQnt),
wholQnt: toGridNumber(row.wholQnt),
rmrk: nullableTrimmedString(row.rmrk),
};
}
@@ -386,32 +386,32 @@ function buildRainfallPumpStationSaveItem(
oprtngStrtYmd: toCompactYmdOrNull(row.oprtngStrtYmd),
planDesignFreqCnt: toGridNumber(row.planDesignFreqCnt),
wtrStrgZoneArea: toGridNumber(row.wtrStrgZoneArea),
rsvrYn: row.rsvrYn ? (row.rsvrYn === "무" ? "N" : "Y") : null,
rsvrImpndQnt: toGridNumber(row.rsvrImpndQnt),
runwtrYn: row.runwtrYn ? (row.runwtrYn === "무" ? "N" : "Y") : null,
runwtrStrqty: toGridNumber(row.runwtrStrqty),
abstnRgnImpdQnt: toGridNumber(row.abstnRgnImpdQnt),
grssPpqty: toGridNumber(row.grssPpqty),
wholPpqty: toGridNumber(row.wholPpqty),
pumpFcltN1DmtrExpln: toPumpDmtrExpln(row.pumpFcltN1DmtrExpln),
pumpFcltN1PerPpqty: toGridNumber(row.pumpFcltN1PerPpqty),
pumpFcltN1UnitPpqty: toGridNumber(row.pumpFcltN1UnitPpqty),
pumpFcltN1PumpCnt: toGridNumber(row.pumpFcltN1PumpCnt),
pumpFcltN1RsrvPumpCnt: toGridNumber(row.pumpFcltN1RsrvPumpCnt),
pumpFcltN2DmtrExpln: toPumpDmtrExpln(row.pumpFcltN2DmtrExpln),
pumpFcltN2PerPpqty: toGridNumber(row.pumpFcltN2PerPpqty),
pumpFcltN2UnitPpqty: toGridNumber(row.pumpFcltN2UnitPpqty),
pumpFcltN2PumpCnt: toGridNumber(row.pumpFcltN2PumpCnt),
pumpFcltN2RsrvPumpCnt: toGridNumber(row.pumpFcltN2RsrvPumpCnt),
pumpFcltN3DmtrExpln: toPumpDmtrExpln(row.pumpFcltN3DmtrExpln),
pumpFcltN3PerPpqty: toGridNumber(row.pumpFcltN3PerPpqty),
pumpFcltN3UnitPpqty: toGridNumber(row.pumpFcltN3UnitPpqty),
pumpFcltN3PumpCnt: toGridNumber(row.pumpFcltN3PumpCnt),
pumpFcltN3RsrvPumpCnt: toGridNumber(row.pumpFcltN3RsrvPumpCnt),
prcsgFcltYn: row.prcsgFcltYn ? (row.prcsgFcltYn === "무" ? "N" : "Y") : null,
ddrztnEqpmYn: row.ddrztnEqpmYn ? (row.prcsgFcltYn === "무" ? "N" : "Y") : null,
odorEqpmYn: row.odorEqpmYn ? (row.prcsgFcltYn === "무" ? "N" : "Y") : null,
oslfEtgtYn: row.oslfEtgtYn ? (row.prcsgFcltYn === "무" ? "N" : "Y") : null,
dschgWtrsExpln: nullableTrimmedString(row.dschgWtrsExpln),
prcptnLastDspsQnt: toGridNumber(row.prcptnLastDspsQnt),
prpwLastDspsQnt: toGridNumber(row.prpwLastDspsQnt),
ctmnLastDspsQnt: toGridNumber(row.ctmnLastDspsQnt),
prcptnLastDspsMthdExpln: nullableTrimmedString(row.prcptnLastDspsMthdExpln),
ctmnLastDspsMthdExpln: nullableTrimmedString(row.ctmnLastDspsMthdExpln),
prpwLastDspsExpln: nullableTrimmedString(row.prpwLastDspsExpln),
ctmnLastDspsExpln: nullableTrimmedString(row.ctmnLastDspsExpln),
oprtngDayCnt: toGridNumber(row.oprtngDayCnt),
grssMltvQnt: toGridNumber(row.grssMltvQnt),
wholQnt: toGridNumber(row.wholQnt),
rmrk: nullableTrimmedString(row.rmrk),
};
}
@@ -427,9 +427,9 @@ function mapRainfallPumpStationListToGridRows(
...item,
ctpvNm,
oprtngStrtYmd: formatCompactYmdForGrid(item.oprtngStrtYmd),
rsvrYn: normalizeOxYnValue(item.rsvrYn),
runwtrYn: normalizeOxYnValue(item.runwtrYn),
prcsgFcltYn: normalizeOxYnValue(item.prcsgFcltYn),
ddrztnEqpmYn: normalizeOxYnValue(item.ddrztnEqpmYn),
odorEqpmYn: normalizeOxYnValue(item.odorEqpmYn),
oslfEtgtYn: normalizeOxYnValue(item.oslfEtgtYn),
},
])[0] as GridRowWithVerification;
@@ -531,7 +531,7 @@ const SewageReservoirPumpInp = () => {
...toInputSearchRegion(sidoListRef.current, lastSearchedValues),
ctpvNm: lastSearchedValues.sido ?? "",
statsYr: lastSearchedValues.year ?? "",
mdfrId: userInfo.userUnqId,
mdfrUuid: userInfo.userUnqId,
statsCd: statsCdForTab,
};
@@ -720,13 +720,13 @@ const SewageReservoirPumpInp = () => {
const response = isReservoirTab
? await statisticsInputSewageReservoirPumpApi.saveSewageReservoir({
...requestBase,
userId: userInfo.userUnqId,
userUuid: userInfo.userUnqId,
saveList: saveList as SewageReservoirSaveItem[],
deleteList: deleteList as SewageReservoirSaveItem[],
})
: await statisticsInputSewageReservoirPumpApi.saveRainfallPumpStation({
...requestBase,
userId: userInfo.userUnqId,
userUuid: userInfo.userUnqId,
saveList: saveList as RainfallPumpStationSaveItem[],
deleteList: deleteList as RainfallPumpStationSaveItem[],
});
@@ -813,14 +813,14 @@ const SewageReservoirPumpInp = () => {
ctpvNm: lastSearchedValues.sido ?? "",
...toInputSearchRegion(sidoListRef.current, lastSearchedValues),
...(noApplicable ? { noApplicable: true } : {}),
laePicNm: submitInfo.laePicNm,
laeKbrdrJbgdNm: submitInfo.laeKbrdrJbgdNm,
laeKbrdrDeptNm: submitInfo.laeKbrdrDeptNm,
laePicTelNo: submitInfo.laePicTelNo,
laeIdfrNm: submitInfo.laeIdfrNm,
laeIdfrJbgdNm: submitInfo.laeIdfrJbgdNm,
laeIdfrDeptNm: submitInfo.laeIdfrDeptNm,
laeIdfrTelNo: submitInfo.laeIdfrTelNo,
lclgvPicNm: submitInfo.lclgvPicNm,
lclgvKbrdrJbgdNm: submitInfo.lclgvKbrdrJbgdNm,
lclgvKbrdrDeptNm: submitInfo.lclgvKbrdrDeptNm,
lclgvPicTelnoCn: submitInfo.lclgvPicTelnoCn,
lclgvIdfrNm: submitInfo.lclgvIdfrNm,
lclgvIdfrJbgdNm: submitInfo.lclgvIdfrJbgdNm,
lclgvIdfrDeptNm: submitInfo.lclgvIdfrDeptNm,
lclgvIdfrTelnoCn: submitInfo.lclgvIdfrTelnoCn,
};
try {
@@ -830,13 +830,13 @@ const SewageReservoirPumpInp = () => {
const response = isReservoirTab
? await statisticsInputSewageReservoirPumpApi.submitSewageReservoir({
...submitRequestBase,
userId: userInfo.userUnqId,
userUuid: userInfo.userUnqId,
submitList: submitList as SewageReservoirSaveItem[],
deleteList: deleteList as SewageReservoirSaveItem[],
})
: await statisticsInputSewageReservoirPumpApi.submitRainfallPumpStation({
...submitRequestBase,
userId: userInfo.userUnqId,
userUuid: userInfo.userUnqId,
submitList: submitList as RainfallPumpStationSaveItem[],
deleteList: deleteList as RainfallPumpStationSaveItem[],
});
@@ -858,7 +858,7 @@ const SewageReservoirPumpInp = () => {
stats_cd: statsCdForTab,
stats_yr: lastSearchedValues.year ?? "",
lae_sbmsn_stts_cd:
activeTabStatus?.laeSbmsnSttsCd === "4" ? "4" : "2",
activeTabStatus?.lclgvSbmsnSttsCd === "4" ? "4" : "2",
gen_verify_stts_cd: nvpassed ? "1" : "2",
hb_pass_yn: response.data?.isHbPassed,
};
@@ -1525,7 +1525,7 @@ const SewageReservoirPumpInp = () => {
? "일반검증 - "
: "모집단 검증 -";
return `${prefix}${e.rsnExpln}
(검증 기준값: ${e.compVlCn} / 현재 입력값: ${e.nowVlCn})`;
(검증 기준값: ${e.cmprCn} / 현재 입력값: ${e.nowCn})`;
})
.filter(Boolean)
.join("\n");
@@ -1584,7 +1584,7 @@ const SewageReservoirPumpInp = () => {
{submitOk && <SubmitButton submitFunc={submitFunc} />}
</>
)}
{activeTabStatus?.laeSbmsnSttsCd === "2" && submitOk && (
{activeTabStatus?.lclgvSbmsnSttsCd === "2" && submitOk && (
<CancelSubmitButton cnacelSubmitFunc={cnacelSubmitFunc} />
)}
{showSaveInToolbar && <SaveButton saveFunc={saveFunc} />}
@@ -118,8 +118,8 @@ const computeTabEnterable = (
statusInfo: SewerageStatusInfo | null | undefined,
periodEnterable: boolean,
): boolean => {
if (statusInfo?.laeSbmsnSttsCd) {
if (["2", "3"].includes(statusInfo.laeSbmsnSttsCd)) {
if (statusInfo?.lclgvSbmsnSttsCd) {
if (["2", "3"].includes(statusInfo.lclgvSbmsnSttsCd)) {
return false;
}
return periodEnterable;
@@ -147,7 +147,7 @@ function computeTabToolbarSnapshot(
): TabToolbarSnapshot {
const gugunOk = buildGugunOkForToolbar(searchContext);
const enterable = computeTabEnterable(statusInfo, periodEnterable);
const isSubmitted = statusInfo?.laeSbmsnSttsCd === "2";
const isSubmitted = statusInfo?.lclgvSbmsnSttsCd === "2";
const showSaveInToolbar = (enterable || isAdminInfo) && periodEnterable && gugunOk;
const showEnterableToolbarButtons = enterable && gugunOk;
const showSubmittedInInputPeriodToolbar = isSubmitted && periodEnterable && gugunOk;
@@ -217,32 +217,32 @@ function buildSewerageFinanceSettleSaveList(
admdstCd: nullableTrimmedString(d.admdstCd),
sggNm: nullableTrimmedString(d.sggNm),
admdstNm: nullableTrimmedString(d.admdstNm),
cnterGovSprtAmt: formatNumber(d.cnterGovSprtAmt, "cnterGovSprtAmt"),
soaGovSprtAmt: formatNumber(d.soaGovSprtAmt, "soaGovSprtAmt"),
mctpvLcexpAmt: formatNumber(d.mctpvLcexpAmt, "mctpvLcexpAmt"),
wareaSggLclAmt: formatNumber(d.wareaSggLclAmt, "wareaSggLclAmt"),
sewerUseAmt: formatNumber(d.sewerUseAmt, "sewerUseAmt"),
orgprBrdnAmt: formatNumber(d.orgprBrdnAmt, "orgprBrdnAmt"),
fnnOrgprBrdnAmt: formatNumber(d.fnnOrgprBrdnAmt, "fnnOrgprBrdnAmt"),
etcIncmAmt: formatNumber(d.etcIncmAmt, "etcIncmAmt"),
crfwAmt: formatNumber(d.crfwAmt, "crfwAmt"),
lbltAmt: formatNumber(d.lbltAmt, "lbltAmt"),
soaCrfwAmt: formatNumber(d.soaCrfwAmt, "soaCrfwAmt"),
soaLbltAmt: formatNumber(d.soaLbltAmt, "soaLbltAmt"),
tmplntFcltAmt: formatNumber(d.tmplntFcltAmt, "tmplntFcltAmt"),
tmplntMendngAmt: formatNumber(d.tmplntMendngAmt, "tmplntMendngAmt"),
tmplntAmt: formatNumber(d.tmplntAmt, "tmplntAmt"),
tmplntOperKeepAmt: formatNumber(d.tmplntOperKeepAmt, "tmplntOperKeepAmt"),
tmplntEtcAmt: formatNumber(d.tmplntEtcAmt, "tmplntEtcAmt"),
swagePplFcltAmt: formatNumber(d.swagePplFcltAmt, "swagePplFcltAmt"),
swagePplMendngAmt: formatNumber(d.swagePplMendngAmt, "swagePplMendngAmt"),
swagePplAmt: formatNumber(d.swagePplAmt, "swagePplAmt"),
swagePplOperKeepAmt: formatNumber(d.swagePplOperKeepAmt, "swagePplOperKeepAmt"),
swagePplEtcAmt: formatNumber(d.swagePplEtcAmt, "swagePplEtcAmt"),
swageImpdFcltAmt: formatNumber(d.swageImpdFcltAmt, "swageImpdFcltAmt"),
swageImpdMendngAmt: formatNumber(d.swageImpdMendngAmt, "swageImpdMendngAmt"),
swageImpdAmt: formatNumber(d.swageImpdAmt, "swageImpdAmt"),
swageImpdOperKeepAmt: formatNumber(d.swageImpdOperKeepAmt, "swageImpdOperKeepAmt"),
swageImpdFcltEtcAmt: formatNumber(d.swageImpdFcltEtcAmt, "swageImpdFcltEtcAmt"),
etcAcdntCrfwAmt: formatNumber(d.etcAcdntCrfwAmt, "etcAcdntCrfwAmt"),
etcNrcpAmt: formatNumber(d.etcNrcpAmt, "etcNrcpAmt"),
etcAmt: formatNumber(d.etcAmt, "etcAmt"),
fnnEtcAmt: formatNumber(d.fnnEtcAmt, "fnnEtcAmt"),
rmrk: nullableTrimmedString(d.rmrk),
fnnByWholPjtcoAmt: formatNumber(d.fnnByWholPjtcoAmt, "fnnByWholPjtcoAmt"),
usgByWholPjtcoAmt: formatNumber(d.usgByWholPjtcoAmt, "usgByWholPjtcoAmt"),
fnnSeWholPjtcoAmt: formatNumber(d.fnnSeWholPjtcoAmt, "fnnSeWholPjtcoAmt"),
usgSeWholPjtcoAmt: formatNumber(d.usgSeWholPjtcoAmt, "usgSeWholPjtcoAmt"),
tmplntWholAmt: formatNumber(d.tmplntWholAmt, "tmplntWholAmt"),
wholSwagePplAmt: formatNumber(d.wholSwagePplAmt, "wholSwagePplAmt"),
wholSwageImpdFcltAmt: formatNumber(d.wholSwageImpdFcltAmt, "wholSwageImpdFcltAmt"),
@@ -260,12 +260,12 @@ function buildSewerageChargeSaveList(
sggNm: nullableTrimmedString(d.sggNm),
admdstNm: nullableTrimmedString(d.admdstNm),
anlLevyQnt: formatNumber(d.anlLevyQnt, "anlLevyQnt"),
levyAmt: formatNumber(d.levyAmt, "levyAmt"),
grssPrmcoAmt: formatNumber(d.grssPrmcoAmt, "grssPrmcoAmt"),
sewerLevyAmt: formatNumber(d.sewerLevyAmt, "sewerLevyAmt"),
wholPrmcoAmt: formatNumber(d.wholPrmcoAmt, "wholPrmcoAmt"),
rmrk: nullableTrimmedString(d.rmrk),
avgUntprcAmt: formatNumber(d.avgUntprcAmt, "avgUntprcAmt"),
grssUnitPrmcoAmt: formatNumber(d.grssUnitPrmcoAmt, "grssUnitPrmcoAmt"),
rlztnRt: formatNumber(d.rlztnRt, "rlztnRt"),
wholUnitPrmcoAmt: formatNumber(d.wholUnitPrmcoAmt, "wholUnitPrmcoAmt"),
sewerCrgRlztnRt: formatNumber(d.sewerCrgRlztnRt, "sewerCrgRlztnRt"),
}));
}
@@ -281,27 +281,27 @@ function buildSewerageUsageFeeSaveList(
hshusLevyAmt: formatNumber(d.hshusLevyAmt, "hshusLevyAmt"),
hshusLevyQnt: formatNumber(d.hshusLevyQnt, "hshusLevyQnt"),
hshusUntprcAmt: formatNumber(d.hshusUntprcAmt, "hshusUntprcAmt"),
taskFrLevyAmt: formatNumber(d.taskFrLevyAmt, "taskFrLevyAmt"),
taskFrLevyQnt: formatNumber(d.taskFrLevyQnt, "taskFrLevyQnt"),
taskFrUntprcAmt: formatNumber(d.taskFrUntprcAmt, "taskFrUntprcAmt"),
ofuseLevyAmt: formatNumber(d.ofuseLevyAmt, "ofuseLevyAmt"),
ofuseLevyQnt: formatNumber(d.ofuseLevyQnt, "ofuseLevyQnt"),
ofuseUntprcAmt: formatNumber(d.ofuseUntprcAmt, "ofuseUntprcAmt"),
fbuLevyAmt: formatNumber(d.fbuLevyAmt, "fbuLevyAmt"),
fbuLevyQnt: formatNumber(d.fbuLevyQnt, "fbuLevyQnt"),
fbuUntprcAmt: formatNumber(d.fbuUntprcAmt, "fbuUntprcAmt"),
bthhsFrSpcs1LevyAmt: formatNumber(d.bthhsFrSpcs1LevyAmt, "bthhsFrSpcs1LevyAmt"),
bthhsFrSpcs1LevyQnt: formatNumber(d.bthhsFrSpcs1LevyQnt, "bthhsFrSpcs1LevyQnt"),
bthhsFrSpcs1UntprcAmt: formatNumber(d.bthhsFrSpcs1UntprcAmt, "bthhsFrSpcs1UntprcAmt"),
bthhsFrSpcs2LevyAmt: formatNumber(d.bthhsFrSpcs2LevyAmt, "bthhsFrSpcs2LevyAmt"),
bthhsFrSpcs2LevyQnt: formatNumber(d.bthhsFrSpcs2LevyQnt, "bthhsFrSpcs2LevyQnt"),
bthhsFrSpcs2UntprcAmt: formatNumber(d.bthhsFrSpcs2UntprcAmt, "bthhsFrSpcs2UntprcAmt"),
induLevyAmt: formatNumber(d.induLevyAmt, "induLevyAmt"),
induLevyQnt: formatNumber(d.induLevyQnt, "induLevyQnt"),
induUntprcAmt: formatNumber(d.induUntprcAmt, "induUntprcAmt"),
btht1LevyAmt: formatNumber(d.btht1LevyAmt, "btht1LevyAmt"),
btht1LevyQnt: formatNumber(d.btht1LevyQnt, "btht1LevyQnt"),
btht1UntprcAmt: formatNumber(d.btht1UntprcAmt, "btht1UntprcAmt"),
btht2LevyAmt: formatNumber(d.btht2LevyAmt, "btht2LevyAmt"),
btht2LevyQnt: formatNumber(d.btht2LevyQnt, "btht2LevyQnt"),
btht2UntprcAmt: formatNumber(d.btht2UntprcAmt, "btht2UntprcAmt"),
indstLevyAmt: formatNumber(d.indstLevyAmt, "indstLevyAmt"),
indstLevyQnt: formatNumber(d.indstLevyQnt, "indstLevyQnt"),
indstUntprcAmt: formatNumber(d.indstUntprcAmt, "indstUntprcAmt"),
etcLevyAmt: formatNumber(d.etcLevyAmt, "etcLevyAmt"),
etcLevyQnt: formatNumber(d.etcLevyQnt, "etcLevyQnt"),
etcLevyUntprcAmt: formatNumber(d.etcLevyUntprcAmt, "etcLevyUntprcAmt"),
rmrk: nullableTrimmedString(d.rmrk),
levyAmt: formatNumber(d.levyAmt, "levyAmt"),
levyQnt: formatNumber(d.levyQnt, "levyQnt"),
sewerLevyAmt: formatNumber(d.sewerLevyAmt, "sewerLevyAmt"),
sewerLevyQnt: formatNumber(d.sewerLevyQnt, "sewerLevyQnt"),
}));
}
@@ -314,14 +314,14 @@ function buildCauserBurdenSaveList(
admdstCd: nullableTrimmedString(d.admdstCd),
sggNm: nullableTrimmedString(d.sggNm),
admdstNm: nullableTrimmedString(d.admdstNm),
levyEvntcsCnt: formatNumber(d.levyEvntcsCnt, "levyEvntcsCnt"),
levyAmt: formatNumber(d.levyAmt, "levyAmt"),
mltvEqpmEvntcsCnt: formatNumber(d.mltvEqpmEvntcsCnt, "mltvEqpmEvntcsCnt"),
mltvEqpmAmt: formatNumber(d.mltvEqpmAmt, "mltvEqpmAmt"),
brdnAmtLevyNocs: formatNumber(d.brdnAmtLevyNocs, "brdnAmtLevyNocs"),
brdnAmtLevyAmt: formatNumber(d.brdnAmtLevyAmt, "brdnAmtLevyAmt"),
drgNocs: formatNumber(d.drgNocs, "drgNocs"),
drgAmt: formatNumber(d.drgAmt, "drgAmt"),
othrCstrnOthrActrCnt: formatNumber(d.othrCstrnOthrActrCnt, "othrCstrnOthrActrCnt"),
othrCstrnOthrActrAmt: formatNumber(d.othrCstrnOthrActrAmt, "othrCstrnOthrActrAmt"),
rmrk: nullableTrimmedString(d.rmrk),
trgtByWholClctnAmt: formatNumber(d.trgtByWholClctnAmt, "trgtByWholClctnAmt"),
trgtSeWholClctnAmt: formatNumber(d.trgtSeWholClctnAmt, "trgtSeWholClctnAmt"),
}));
}
@@ -773,7 +773,7 @@ const SewerageFinanceInp = () => {
...toInputSearchRegion(sidoListRef.current, lastSearchedValues),
ctpvNm: lastSearchedValues.sido ?? "",
statsYr: lastSearchedValues.year ?? "",
mdfrId: userInfo.userUnqId,
mdfrUuid: userInfo.userUnqId,
statsCd: statsCdForTab,
};
@@ -855,14 +855,14 @@ const SewerageFinanceInp = () => {
statsYr: lastSearchedValues.year ?? "",
ctpvNm: lastSearchedValues.sido ?? "",
...toInputSearchRegion(sidoListRef.current, lastSearchedValues),
laePicNm: submitInfo.laePicNm,
laePicTelNo: submitInfo.laePicTelNo,
laeKbrdrDeptNm: submitInfo.laeKbrdrDeptNm,
laeKbrdrJbgdNm: submitInfo.laeKbrdrJbgdNm,
laeIdfrNm: submitInfo.laeIdfrNm,
laeIdfrTelNo: submitInfo.laeIdfrTelNo,
laeIdfrDeptNm: submitInfo.laeIdfrDeptNm,
laeIdfrJbgdNm: submitInfo.laeIdfrJbgdNm,
lclgvPicNm: submitInfo.lclgvPicNm,
lclgvPicTelnoCn: submitInfo.lclgvPicTelnoCn,
lclgvKbrdrDeptNm: submitInfo.lclgvKbrdrDeptNm,
lclgvKbrdrJbgdNm: submitInfo.lclgvKbrdrJbgdNm,
lclgvIdfrNm: submitInfo.lclgvIdfrNm,
lclgvIdfrTelnoCn: submitInfo.lclgvIdfrTelnoCn,
lclgvIdfrDeptNm: submitInfo.lclgvIdfrDeptNm,
lclgvIdfrJbgdNm: submitInfo.lclgvIdfrJbgdNm,
};
const verificationQuery = {
@@ -892,7 +892,7 @@ const SewerageFinanceInp = () => {
if (isSettleTab) {
const param: SewerageFinanceSettleSubmitRequest = {
...submitInfoBase,
userId: userInfo.userUnqId,
userUuid: userInfo.userUnqId,
submitList: buildSewerageFinanceSettleSaveList(currentData),
...adminOpt,
};
@@ -903,7 +903,7 @@ const SewerageFinanceInp = () => {
} else if (isChargeTab) {
const param: SewerageChargeSubmitRequest = {
...submitInfoBase,
userId: userInfo.userUnqId,
userUuid: userInfo.userUnqId,
submitList: buildSewerageChargeSaveList(currentData),
...adminOpt,
};
@@ -911,7 +911,7 @@ const SewerageFinanceInp = () => {
} else if (isUsageFeeTab) {
const param: SewerageUsageFeeSubmitRequest = {
...submitInfoBase,
userId: userInfo.userUnqId,
userUuid: userInfo.userUnqId,
submitList: buildSewerageUsageFeeSaveList(currentData),
...adminOpt,
};
@@ -920,7 +920,7 @@ const SewerageFinanceInp = () => {
} else {
const param: CauserBurdenSubmitRequest = {
...submitInfoBase,
userId: userInfo.userUnqId,
userUuid: userInfo.userUnqId,
submitList: buildCauserBurdenSaveList(currentData),
...adminOpt,
};
@@ -943,7 +943,7 @@ const SewerageFinanceInp = () => {
sewer_bzmn_cd: lastSearchedValues?.bsnmCd ?? "",
stats_cd: statsCdForTab,
stats_yr: lastSearchedValues.year ?? "",
lae_sbmsn_stts_cd: activeTabStatus?.laeSbmsnSttsCd === "4" ? "4" : "2",
lae_sbmsn_stts_cd: activeTabStatus?.lclgvSbmsnSttsCd === "4" ? "4" : "2",
gen_verify_stts_cd: nvpassed ? "1" : "2",
hb_pass_yn: response.data?.isHbPassed,
};
@@ -1039,7 +1039,7 @@ const SewerageFinanceInp = () => {
if (isSettleTab) {
const param: SewerageFinanceSettleSaveRequest = {
...baseRequest,
userId: userInfo.userUnqId,
userUuid: userInfo.userUnqId,
saveList: buildSewerageFinanceSettleSaveList(currentData),
...(isAdminInfo ? { superAdmin: "superAdmin" } : {}),
};
@@ -1063,7 +1063,7 @@ const SewerageFinanceInp = () => {
if (isChargeTab) {
const param: SewerageChargeSaveRequest = {
...baseRequest,
userId: userInfo.userUnqId,
userUuid: userInfo.userUnqId,
saveList: buildSewerageChargeSaveList(currentData),
...(isAdminInfo ? { superAdmin: "superAdmin" } : {}),
};
@@ -1087,7 +1087,7 @@ const SewerageFinanceInp = () => {
if (isUsageFeeTab) {
const param: SewerageUsageFeeSaveRequest = {
...baseRequest,
userId: userInfo.userUnqId,
userUuid: userInfo.userUnqId,
saveList: buildSewerageUsageFeeSaveList(currentData),
...(isAdminInfo ? { superAdmin: "superAdmin" } : {}),
};
@@ -1110,7 +1110,7 @@ const SewerageFinanceInp = () => {
const param: CauserBurdenSaveRequest = {
...baseRequest,
userId: userInfo.userUnqId,
userUuid: userInfo.userUnqId,
saveList: buildCauserBurdenSaveList(currentData),
...(isAdminInfo ? { superAdmin: "superAdmin" } : {}),
};
@@ -1232,7 +1232,7 @@ const SewerageFinanceInp = () => {
: e.vrfcCd === "NV"
? "일반검증 - "
: "모집단 검증 - ";
return `${prefix}${e.rsnExpln}(검증 기준값: ${e.compVlCn} / 현재 입력값: ${e.nowVlCn})`;
return `${prefix}${e.rsnExpln}(검증 기준값: ${e.cmprCn} / 현재 입력값: ${e.nowCn})`;
})
.filter(Boolean)
.join("\n");
@@ -1278,7 +1278,7 @@ const SewerageFinanceInp = () => {
{submitOk && <SubmitButton submitFunc={submitFunc} />}
</>
)}
{activeTabStatus?.laeSbmsnSttsCd === "2" && submitOk && (
{activeTabStatus?.lclgvSbmsnSttsCd === "2" && submitOk && (
<CancelSubmitButton cnacelSubmitFunc={cnacelSubmitFunc} />
)}
{showSaveInToolbar && <SaveButton saveFunc={saveFunc} />}
@@ -325,8 +325,8 @@ const SeweragePenetrationRateInp = () => {
);
setStatsCd(commonInfo.statsCd);
setIsVerificationFailed(isVerificationFailedFromCommonInfo(commonInfo));
if (statusInfo && statusInfo.laeSbmsnSttsCd) {
if (['2', '3'].includes(statusInfo.laeSbmsnSttsCd)) {
if (statusInfo && statusInfo.lclgvSbmsnSttsCd) {
if (['2', '3'].includes(statusInfo.lclgvSbmsnSttsCd)) {
setIsEnterable(false);
} else {
setIsEnterable(isEnterable);
@@ -395,7 +395,7 @@ const SeweragePenetrationRateInp = () => {
...toInputSearchRegion(sidoListRef.current, searchValues),
ctpvNm: searchValues?.sido ?? '',
statsYr: searchValues?.year ?? '',
userId: userInfo.userUnqId,
userUuid: userInfo.userUnqId,
statsCd: statsCd,
};
@@ -501,30 +501,30 @@ const SeweragePenetrationRateInp = () => {
sggNm: nullableTrimmedString(d.sggNm),
admdstCd: nullableTrimmedString(d.admdstCd),
admdstNm: nullableTrimmedString(d.admdstNm),
trbtrNm: nullableTrimmedString(d.trbtrNm),
statsTrbtrNm: nullableTrimmedString(d.statsTrbtrNm),
spcCtpnRgnCn:
d.spcCtpnRgnCn === '해당없음' ? null : nullableTrimmedString(d.spcCtpnRgnCn),
ts1SwtrmtPpltnCnt: formatNumber(d.ts1SwtrmtPpltnCnt, 'ts1SwtrmtPpltnCnt'),
ts2SwtrmtPpltnCnt: formatNumber(d.ts2SwtrmtPpltnCnt, 'ts2SwtrmtPpltnCnt'),
ts3SwtrmtPpltnCnt: formatNumber(d.ts3SwtrmtPpltnCnt, 'ts3SwtrmtPpltnCnt'),
ts1WwtPrcsPpltnCnt: formatNumber(d.ts1WwtPrcsPpltnCnt, 'ts1WwtPrcsPpltnCnt'),
ts2WwtPrcsPpltnCnt: formatNumber(d.ts2WwtPrcsPpltnCnt, 'ts2WwtPrcsPpltnCnt'),
ts3WwtPrcsPpltnCnt: formatNumber(d.ts3WwtPrcsPpltnCnt, 'ts3WwtPrcsPpltnCnt'),
yetCntnPpltnCnt: formatNumber(d.yetCntnPpltnCnt, 'yetCntnPpltnCnt'),
staaArea: formatNumber(d.staaArea, 'staaArea'),
physSwtrmtPpltnCnt: formatNumber(d.physSwtrmtPpltnCnt, 'physSwtrmtPpltnCnt'),
crtureSwtrmtPpltnCnt: formatNumber(d.crtureSwtrmtPpltnCnt, 'crtureSwtrmtPpltnCnt'),
altdSwtrmtPpltnCnt: formatNumber(d.altdSwtrmtPpltnCnt, 'altdSwtrmtPpltnCnt'),
physWswtPpltnCnt: formatNumber(d.physWswtPpltnCnt, 'physWswtPpltnCnt'),
crtureWswtPpltnCnt: formatNumber(d.crtureWswtPpltnCnt, 'crtureWswtPpltnCnt'),
altdWswtPpltnCnt: formatNumber(d.altdWswtPpltnCnt, 'altdWswtPpltnCnt'),
urftPpltnCnt: formatNumber(d.urftPpltnCnt, 'urftPpltnCnt'),
swtrmtZoneIntnar: formatNumber(d.swtrmtZoneIntnar, 'swtrmtZoneIntnar'),
unprcsPpltnCnt: formatNumber(d.unprcsPpltnCnt, 'unprcsPpltnCnt'),
drtwPrcsPpltnCnt: formatNumber(d.drtwPrcsPpltnCnt, 'drtwPrcsPpltnCnt'),
swgdplPpltnCnt: formatNumber(d.swgdplPpltnCnt, 'swgdplPpltnCnt'),
spctnkPpltnCnt: formatNumber(d.spctnkPpltnCnt, 'spctnkPpltnCnt'),
staaExcpArea: formatNumber(d.staaExcpArea, 'staaExcpArea'),
swtrmtZoneExtnar: formatNumber(d.swtrmtZoneExtnar, 'swtrmtZoneExtnar'),
rmrk: nullableTrimmedString(d.rmrk),
wholPpltnCnt: formatNumber(d.wholPpltnCnt, 'wholPpltnCnt'),
wholArea: formatNumber(d.wholArea, 'wholArea'),
whlar: formatNumber(d.whlar, 'whlar'),
wholSwtrmtPpltnCnt: formatNumber(d.wholSwtrmtPpltnCnt, 'wholSwtrmtPpltnCnt'),
wholPblSwtrmtPpltnCnt: formatNumber(d.wholPblSwtrmtPpltnCnt, 'wholPblSwtrmtPpltnCnt'),
wholWwtPrcsPpltnCnt: formatNumber(d.wholWwtPrcsPpltnCnt, 'wholWwtPrcsPpltnCnt'),
wholStaaExcpPpltnCnt: formatNumber(d.wholStaaExcpPpltnCnt, 'wholStaaExcpPpltnCnt'),
staaPsplyRt: formatNumber(d.staaPsplyRt, 'staaPsplyRt'),
altdPrcsPsplyRt: formatNumber(d.altdPrcsPsplyRt, 'altdPrcsPsplyRt'),
wholWswtPpltnCnt: formatNumber(d.wholWswtPpltnCnt, 'wholWswtPpltnCnt'),
wholStaaOtsdPpltnCnt: formatNumber(d.wholStaaOtsdPpltnCnt, 'wholStaaOtsdPpltnCnt'),
swagePplPsplyRt: formatNumber(d.swagePplPsplyRt, 'swagePplPsplyRt'),
awtrPsplyRt: formatNumber(d.awtrPsplyRt, 'awtrPsplyRt'),
sewerInstlRt: formatNumber(d.sewerInstlRt, 'sewerInstlRt'),
}));
@@ -532,17 +532,17 @@ const SeweragePenetrationRateInp = () => {
...toInputSearchRegion(sidoListRef.current, searchValues),
ctpvNm: searchValues?.sido ?? '',
statsYr: searchValues?.year ?? '',
userId: userInfo.userUnqId,
userUuid: userInfo.userUnqId,
submitList: convertedData,
sewerBzmnArea: footerFromApi?.sewerBzmnArea,
laePicNm: submitInfo.laePicNm,
laeKbrdrJbgdNm: submitInfo.laeKbrdrJbgdNm,
laeKbrdrDeptNm: submitInfo.laeKbrdrDeptNm,
laePicTelNo: submitInfo.laePicTelNo,
laeIdfrNm: submitInfo.laeIdfrNm,
laeIdfrJbgdNm: submitInfo.laeIdfrJbgdNm,
laeIdfrDeptNm: submitInfo.laeIdfrDeptNm,
laeIdfrTelNo: submitInfo.laeIdfrTelNo,
lclgvPicNm: submitInfo.lclgvPicNm,
lclgvKbrdrJbgdNm: submitInfo.lclgvKbrdrJbgdNm,
lclgvKbrdrDeptNm: submitInfo.lclgvKbrdrDeptNm,
lclgvPicTelnoCn: submitInfo.lclgvPicTelnoCn,
lclgvIdfrNm: submitInfo.lclgvIdfrNm,
lclgvIdfrJbgdNm: submitInfo.lclgvIdfrJbgdNm,
lclgvIdfrDeptNm: submitInfo.lclgvIdfrDeptNm,
lclgvIdfrTelnoCn: submitInfo.lclgvIdfrTelnoCn,
};
setGlobalProgressLabel('일반 검증 진행 중...');
@@ -557,7 +557,7 @@ const SeweragePenetrationRateInp = () => {
sewer_bzmn_cd: searchValues?.bsnmCd ?? '',
stats_cd: statsCd,
stats_yr: searchValues?.year ?? '',
lae_sbmsn_stts_cd: (statusInfo?.laeSbmsnSttsCd === '4' ? '4' : '2'),
lae_sbmsn_stts_cd: (statusInfo?.lclgvSbmsnSttsCd === '4' ? '4' : '2'),
gen_verify_stts_cd: response.data.nvpassed ? '1' : '2',
hb_pass_yn: response.data.isHbPassed,
};
@@ -681,37 +681,37 @@ const SeweragePenetrationRateInp = () => {
sggNm: nullableTrimmedString(d.sggNm), // 시군구
admdstCd: nullableTrimmedString(d.admdstCd), // 행정코드
admdstNm: nullableTrimmedString(d.admdstNm), // 행정구역명
trbtrNm: nullableTrimmedString(d.trbtrNm), // 지류
statsTrbtrNm: nullableTrimmedString(d.statsTrbtrNm), // 지류
spcCtpnRgnCn:
d.spcCtpnRgnCn === '해당없음'
? null
: nullableTrimmedString(d.spcCtpnRgnCn), // 특별대책지역
// 공공하수처리인구(명) - 물리적/생물학적/고도처리
ts1SwtrmtPpltnCnt: formatNumber(d.ts1SwtrmtPpltnCnt, 'ts1SwtrmtPpltnCnt'), // 물리적처리
ts2SwtrmtPpltnCnt: formatNumber(d.ts2SwtrmtPpltnCnt, 'ts2SwtrmtPpltnCnt'), // 생물학적처리
ts3SwtrmtPpltnCnt: formatNumber(d.ts3SwtrmtPpltnCnt, 'ts3SwtrmtPpltnCnt'), // 고도처리
physSwtrmtPpltnCnt: formatNumber(d.physSwtrmtPpltnCnt, 'physSwtrmtPpltnCnt'), // 물리적처리
crtureSwtrmtPpltnCnt: formatNumber(d.crtureSwtrmtPpltnCnt, 'crtureSwtrmtPpltnCnt'), // 생물학적처리
altdSwtrmtPpltnCnt: formatNumber(d.altdSwtrmtPpltnCnt, 'altdSwtrmtPpltnCnt'), // 고도처리
// 폐수처리인구(명) - 물리적/생물학적/고도처리
ts1WwtPrcsPpltnCnt: formatNumber(d.ts1WwtPrcsPpltnCnt, 'ts1WwtPrcsPpltnCnt'),
ts2WwtPrcsPpltnCnt: formatNumber(d.ts2WwtPrcsPpltnCnt, 'ts2WwtPrcsPpltnCnt'),
ts3WwtPrcsPpltnCnt: formatNumber(d.ts3WwtPrcsPpltnCnt, 'ts3WwtPrcsPpltnCnt'),
yetCntnPpltnCnt: formatNumber(d.yetCntnPpltnCnt, 'yetCntnPpltnCnt'), // 미접속인구
staaArea: formatNumber(d.staaArea, 'staaArea'), // 하수처리구역 내 면적(㎢)
physWswtPpltnCnt: formatNumber(d.physWswtPpltnCnt, 'physWswtPpltnCnt'),
crtureWswtPpltnCnt: formatNumber(d.crtureWswtPpltnCnt, 'crtureWswtPpltnCnt'),
altdWswtPpltnCnt: formatNumber(d.altdWswtPpltnCnt, 'altdWswtPpltnCnt'),
urftPpltnCnt: formatNumber(d.urftPpltnCnt, 'urftPpltnCnt'), // 미접속인구
swtrmtZoneIntnar: formatNumber(d.swtrmtZoneIntnar, 'swtrmtZoneIntnar'), // 하수처리구역 내 면적(㎢)
// 하수처리구역 외
unprcsPpltnCnt: formatNumber(d.unprcsPpltnCnt, 'unprcsPpltnCnt'), // 미처리인구
drtwPrcsPpltnCnt: formatNumber(d.drtwPrcsPpltnCnt, 'drtwPrcsPpltnCnt'), // 오수처리인구
swgdplPpltnCnt: formatNumber(d.swgdplPpltnCnt, 'swgdplPpltnCnt'), // 오수처리인구
spctnkPpltnCnt: formatNumber(d.spctnkPpltnCnt, 'spctnkPpltnCnt'), // 정화조인구
staaExcpArea: formatNumber(d.staaExcpArea, 'staaExcpArea'), // 하수처리구역 외 면적(㎢)
swtrmtZoneExtnar: formatNumber(d.swtrmtZoneExtnar, 'swtrmtZoneExtnar'), // 하수처리구역 외 면적(㎢)
rmrk: nullableTrimmedString(d.rmrk), // 비고
// 합계·소계(계산필드 저장용)
wholPpltnCnt: formatNumber(d.wholPpltnCnt, 'wholPpltnCnt'), // 총인구(명)
wholArea: formatNumber(d.wholArea, 'wholArea'), // 총면적(㎢)
whlar: formatNumber(d.whlar, 'whlar'), // 총면적(㎢)
wholSwtrmtPpltnCnt: formatNumber(d.wholSwtrmtPpltnCnt, 'wholSwtrmtPpltnCnt'), // 하수처리구역 내 합계
wholPblSwtrmtPpltnCnt: formatNumber(d.wholPblSwtrmtPpltnCnt, 'wholPblSwtrmtPpltnCnt'), // 공공하수처리인구 소계
wholWwtPrcsPpltnCnt: formatNumber(d.wholWwtPrcsPpltnCnt, 'wholWwtPrcsPpltnCnt'), // 폐수처리인구 소계
wholStaaExcpPpltnCnt: formatNumber(d.wholStaaExcpPpltnCnt, 'wholStaaExcpPpltnCnt'), // 하수처리구역 외 합계
wholWswtPpltnCnt: formatNumber(d.wholWswtPpltnCnt, 'wholWswtPpltnCnt'), // 폐수처리인구 소계
wholStaaOtsdPpltnCnt: formatNumber(d.wholStaaOtsdPpltnCnt, 'wholStaaOtsdPpltnCnt'), // 하수처리구역 외 합계
// 보급률(%)
staaPsplyRt: formatNumber(d.staaPsplyRt, 'staaPsplyRt'), // 공공하수처리구역 인구보급률
altdPrcsPsplyRt: formatNumber(d.altdPrcsPsplyRt, 'altdPrcsPsplyRt'), // 고도처리 인구보급률
swagePplPsplyRt: formatNumber(d.swagePplPsplyRt, 'swagePplPsplyRt'), // 공공하수처리구역 인구보급률
awtrPsplyRt: formatNumber(d.awtrPsplyRt, 'awtrPsplyRt'), // 고도처리 인구보급률
sewerInstlRt: formatNumber(d.sewerInstlRt, 'sewerInstlRt'), // 하수도 설치율
}));
@@ -719,7 +719,7 @@ const SeweragePenetrationRateInp = () => {
...toInputSearchRegion(sidoListRef.current, searchValues),
ctpvNm: searchValues?.sido ?? '', // 시도
statsYr: searchValues?.year ?? '', // 통계 연도
userId: userInfo.userUnqId, // 사용자
userUuid: userInfo.userUnqId, // 사용자
saveList: convertedData, // 저장 데이터
sewerBzmnArea: footerFromApi?.sewerBzmnArea, // 행정참고자료면적
};
@@ -763,7 +763,7 @@ const SeweragePenetrationRateInp = () => {
...toInputSearchRegion(sidoListRef.current, searchValues),
ctpvNm: searchValues?.sido ?? '',
statsYr: searchValues?.year ?? '',
mdfrId: userInfo.userUnqId,
mdfrUuid: userInfo.userUnqId,
statsCd: statsCd,
};
@@ -794,7 +794,7 @@ const SeweragePenetrationRateInp = () => {
const submitOk = isSubmitOkForToolbar(sidoList, toolbarSearchContext);
const inputPeriodCurrent = isInputPeriodCurrent(periodCheckList);
const isSubmitted = statusInfo?.laeSbmsnSttsCd === '2';
const isSubmitted = statusInfo?.lclgvSbmsnSttsCd === '2';
const baseShowSaveInToolbar =
(isEnterable || isAdminInfo) && inputPeriodCurrent && gugunOkOrNotDoList;
const baseShowEnterableToolbarButtons = isEnterable && gugunOkOrNotDoList;
@@ -834,7 +834,7 @@ const SeweragePenetrationRateInp = () => {
{submitOk && <SubmitButton submitFunc={() => submitFunc(false)} />}
</>
)}
{statusInfo?.laeSbmsnSttsCd === '2' && submitOk && <CancelSubmitButton cnacelSubmitFunc={cnacelSubmitFunc} />}
{statusInfo?.lclgvSbmsnSttsCd === '2' && submitOk && <CancelSubmitButton cnacelSubmitFunc={cnacelSubmitFunc} />}
{showSaveInToolbar && <SaveButton saveFunc={saveFunc} />}
</div>
</div>
@@ -878,7 +878,7 @@ const SeweragePenetrationRateInp = () => {
.map((e) => {
const prefix = e.vrfcCd === 'IMR' ? '시계열 검증 - ' : (e.vrfcCd === 'NV' ? '일반검증 - ' : '모집단 검증 -');
return `${prefix}${e.rsnExpln}
(검증 기준값: ${e.compVlCn} / 현재 입력값: ${e.nowVlCn})`;
(검증 기준값: ${e.cmprCn} / 현재 입력값: ${e.nowCn})`;
})
.filter(Boolean)
.join('\n');
@@ -119,8 +119,8 @@ const computeTabEnterable = (
statusInfo: SewerageStatusInfo | null | undefined,
periodEnterable: boolean,
): boolean => {
if (statusInfo?.laeSbmsnSttsCd) {
if (["2", "3"].includes(statusInfo.laeSbmsnSttsCd)) {
if (statusInfo?.lclgvSbmsnSttsCd) {
if (["2", "3"].includes(statusInfo.lclgvSbmsnSttsCd)) {
return false;
}
return periodEnterable;
@@ -156,7 +156,7 @@ function computeTabToolbarSnapshot(
): TabToolbarSnapshot {
const gugunOk = buildGugunOkForToolbar(searchContext);
const enterable = computeTabEnterable(statusInfo, periodEnterable);
const isSubmitted = statusInfo?.laeSbmsnSttsCd === "2";
const isSubmitted = statusInfo?.lclgvSbmsnSttsCd === "2";
const showSaveInToolbar = (enterable || isAdminInfo) && periodEnterable && gugunOk;
const showEnterableToolbarButtons = enterable && gugunOk;
const showSubmittedInInputPeriodToolbar = isSubmitted && periodEnterable && gugunOk;
@@ -223,18 +223,18 @@ function buildComplaintSaveList(
admdstCd: nullableTrimmedString(d.admdstCd),
admdstNm: nullableTrimmedString(d.admdstNm),
swtrmtPpltnCnt: formatNumber(d.swtrmtPpltnCnt, "swtrmtPpltnCnt"),
dschgWqCnt: formatNumber(d.dschgWqCnt, "dschgWqCnt"),
odorCnt: formatNumber(d.odorCnt, "odorCnt"),
ldsCnt: formatNumber(d.ldsCnt, "ldsCnt"),
plltnAcdntCnt: formatNumber(d.plltnAcdntCnt, "plltnAcdntCnt"),
swagePplCnt: formatNumber(d.swagePplCnt, "swagePplCnt"),
sewerCrgAmt: formatNumber(d.sewerCrgAmt, "sewerCrgAmt"),
etcCnt: formatNumber(d.etcCnt, "etcCnt"),
cvlcptDschgWq: formatNumber(d.cvlcptDschgWq, "cvlcptDschgWq"),
cvlcptOdorCnt: formatNumber(d.cvlcptOdorCnt, "cvlcptOdorCnt"),
cvlcptDrgCnt: formatNumber(d.cvlcptDrgCnt, "cvlcptDrgCnt"),
cvlcptMnhlCnt: formatNumber(d.cvlcptMnhlCnt, "cvlcptMnhlCnt"),
cvlcptSpctnkCnt: formatNumber(d.cvlcptSpctnkCnt, "cvlcptSpctnkCnt"),
cvlcptSewerCrg: formatNumber(d.cvlcptSewerCrg, "cvlcptSewerCrg"),
cvlcptEtcCnt: formatNumber(d.cvlcptEtcCnt, "cvlcptEtcCnt"),
rmrk: nullableTrimmedString(d.rmrk),
whol: formatNumber(d.whol, "whol"),
crtrPpltnCvlcptEvntcsCnt: formatNumber(
d.crtrPpltnCvlcptEvntcsCnt,
"crtrPpltnCvlcptEvntcsCnt",
cvlcptWholCnt: formatNumber(d.cvlcptWholCnt, "cvlcptWholCnt"),
crtrPpltnCvlcptCnt: formatNumber(
d.crtrPpltnCvlcptCnt,
"crtrPpltnCvlcptCnt",
),
}));
}
@@ -250,15 +250,15 @@ function buildResidentFriendlyFactSaveList(
swtrmtFcltCd: nullableTrimmedString(d.swtrmtFcltCd),
swtrmtFcltNm: nullableTrimmedString(d.swtrmtFcltNm),
fcltSn: nullableTrimmedString(d.fcltSn),
tmplntArea: formatNumber(d.tmplntArea, "tmplntArea"),
brkFcltArea: formatNumber(d.brkFcltArea, "brkFcltArea"),
stpar: formatNumber(d.stpar, "stpar"),
brkFcar: formatNumber(d.brkFcar, "brkFcar"),
childFrshpSpacArea: formatNumber(d.childFrshpSpacArea, "childFrshpSpacArea"),
bdySportsFcltArea: formatNumber(d.bdySportsFcltArea, "bdySportsFcltArea"),
sportsFcltArea: formatNumber(d.sportsFcltArea, "sportsFcltArea"),
pkltArea: formatNumber(d.pkltArea, "pkltArea"),
eduMultiFcltArea: formatNumber(d.eduMultiFcltArea, "eduMultiFcltArea"),
bdySportsFcar: formatNumber(d.bdySportsFcar, "bdySportsFcar"),
sportsFcar: formatNumber(d.sportsFcar, "sportsFcar"),
pkltar: formatNumber(d.pkltar, "pkltar"),
eduMultiFcar: formatNumber(d.eduMultiFcar, "eduMultiFcar"),
wtlndMakeArea: formatNumber(d.wtlndMakeArea, "wtlndMakeArea"),
etcCnt: formatNumber(d.etcCnt, "etcCnt"),
othrar: formatNumber(d.othrar, "othrar"),
rmrk: nullableTrimmedString(d.rmrk),
}));
}
@@ -772,14 +772,14 @@ const SewerageServiceLevelInp = () => {
statsYr: lastSearchedValues.year ?? "",
ctpvNm: lastSearchedValues.sido ?? "",
...toInputSearchRegion(sidoListRef.current, lastSearchedValues),
laePicNm: submitInfo.laePicNm,
laePicTelNo: submitInfo.laePicTelNo,
laeKbrdrDeptNm: submitInfo.laeKbrdrDeptNm,
laeKbrdrJbgdNm: submitInfo.laeKbrdrJbgdNm,
laeIdfrNm: submitInfo.laeIdfrNm,
laeIdfrTelNo: submitInfo.laeIdfrTelNo,
laeIdfrDeptNm: submitInfo.laeIdfrDeptNm,
laeIdfrJbgdNm: submitInfo.laeIdfrJbgdNm,
lclgvPicNm: submitInfo.lclgvPicNm,
lclgvPicTelnoCn: submitInfo.lclgvPicTelnoCn,
lclgvKbrdrDeptNm: submitInfo.lclgvKbrdrDeptNm,
lclgvKbrdrJbgdNm: submitInfo.lclgvKbrdrJbgdNm,
lclgvIdfrNm: submitInfo.lclgvIdfrNm,
lclgvIdfrTelnoCn: submitInfo.lclgvIdfrTelnoCn,
lclgvIdfrDeptNm: submitInfo.lclgvIdfrDeptNm,
lclgvIdfrJbgdNm: submitInfo.lclgvIdfrJbgdNm,
};
const verificationQuery = {
@@ -807,13 +807,13 @@ const SewerageServiceLevelInp = () => {
const response = isComplaintTab
? await statisticsInputSewerageServiceLevelApi.submitComplaintList({
...submitInfoBase,
userId: userInfo.userUnqId,
userUuid: userInfo.userUnqId,
...(isAdminInfo ? { superAdmin: "superAdmin" } : {}),
submitList: complaintSubmitList,
})
: await statisticsInputSewerageServiceLevelApi.submitResidentFriendlyFactList({
...submitInfoBase,
userId: userInfo.userUnqId,
userUuid: userInfo.userUnqId,
...(isAdminInfo ? { superAdmin: "superAdmin" } : {}),
noApplicable,
submitList: residentSubmitList,
@@ -835,7 +835,7 @@ const SewerageServiceLevelInp = () => {
sewer_bzmn_cd: lastSearchedValues?.bsnmCd ?? "",
stats_cd: statsCdForTab,
stats_yr: lastSearchedValues.year ?? "",
lae_sbmsn_stts_cd: activeTabStatus?.laeSbmsnSttsCd === "4" ? "4" : "2",
lae_sbmsn_stts_cd: activeTabStatus?.lclgvSbmsnSttsCd === "4" ? "4" : "2",
gen_verify_stts_cd: nvpassed ? "1" : "2",
hb_pass_yn: response.data?.isHbPassed,
};
@@ -941,7 +941,7 @@ const SewerageServiceLevelInp = () => {
const response =
await statisticsInputSewerageServiceLevelApi.saveComplaintList({
...baseRequest,
userId: userInfo.userUnqId,
userUuid: userInfo.userUnqId,
...(isAdminInfo ? { superAdmin: "superAdmin" } : {}),
saveList,
});
@@ -967,7 +967,7 @@ const SewerageServiceLevelInp = () => {
await statisticsInputSewerageServiceLevelApi.saveResidentFriendlyFactList(
{
...baseRequest,
userId: userInfo.userUnqId,
userUuid: userInfo.userUnqId,
...(isAdminInfo ? { superAdmin: "superAdmin" } : {}),
noApplicable,
saveList,
@@ -1021,7 +1021,7 @@ const SewerageServiceLevelInp = () => {
...toInputSearchRegion(sidoListRef.current, lastSearchedValues),
ctpvNm: lastSearchedValues.sido ?? "",
statsYr: lastSearchedValues.year ?? "",
mdfrId: userInfo.userUnqId,
mdfrUuid: userInfo.userUnqId,
statsCd: statsCdForTab,
};
@@ -1156,7 +1156,7 @@ const SewerageServiceLevelInp = () => {
: e.vrfcCd === "NV"
? "일반검증 - "
: "모집단 검증 - ";
return `${prefix}${e.rsnExpln}(검증 기준값: ${e.compVlCn} / 현재 입력값: ${e.nowVlCn})`;
return `${prefix}${e.rsnExpln}(검증 기준값: ${e.cmprCn} / 현재 입력값: ${e.nowCn})`;
})
.filter(Boolean)
.join("\n");
@@ -1202,7 +1202,7 @@ const SewerageServiceLevelInp = () => {
{submitOk && <SubmitButton submitFunc={submitFunc} />}
</>
)}
{activeTabStatus?.laeSbmsnSttsCd === "2" && submitOk && (
{activeTabStatus?.lclgvSbmsnSttsCd === "2" && submitOk && (
<CancelSubmitButton cnacelSubmitFunc={cnacelSubmitFunc} />
)}
{showSaveInToolbar && <SaveButton saveFunc={saveFunc} />}
@@ -176,8 +176,8 @@ const StatsInputStatusInp = () => {
setIsApproveLoading(true);
try {
const userInfo = await getUserInfo();
const mdfrId = (userInfo.userUnqId ?? "").trim();
if (!mdfrId) {
const mdfrUuid = (userInfo.userUnqId ?? "").trim();
if (!mdfrUuid) {
alert("수정자 ID를 확인할 수 없습니다.");
return;
}
@@ -189,7 +189,7 @@ const StatsInputStatusInp = () => {
.map((row) => {
const statsCd = String(row.statsCd ?? "").trim();
const sewerBzmnCd = String(row.sewerBzmnCd ?? sewerBzmnCdDefault).trim();
return { statsYr, sewerBzmnCd, statsCd, mdfrId };
return { statsYr, sewerBzmnCd, statsCd, mdfrUuid };
})
.filter((item) => item.statsCd.length > 0);
@@ -40,7 +40,7 @@ function formatPhoneWithHyphen(value: string): string {
return `${digits.slice(0, 3)}-${digits.slice(3, 6)}-${digits.slice(6, 10)}`;
}
const PHONE_FIELDS: (keyof StatisticsInputSubmitInfoFormData)[] = ["laePicTelNo", "laeIdfrTelNo"];
const PHONE_FIELDS: (keyof StatisticsInputSubmitInfoFormData)[] = ["lclgvPicTelnoCn", "lclgvIdfrTelnoCn"];
interface SubmitDialogProps {
open: boolean;
@@ -56,26 +56,26 @@ interface SubmitDialogProps {
}
const defaultValues: StatisticsInputSubmitInfoFormData = {
laePicNm: "",
laeKbrdrJbgdNm: "",
laeKbrdrDeptNm: "",
laePicTelNo: "",
laeIdfrNm: "",
laeIdfrJbgdNm: "",
laeIdfrDeptNm: "",
laeIdfrTelNo: "",
lclgvPicNm: "",
lclgvKbrdrJbgdNm: "",
lclgvKbrdrDeptNm: "",
lclgvPicTelnoCn: "",
lclgvIdfrNm: "",
lclgvIdfrJbgdNm: "",
lclgvIdfrDeptNm: "",
lclgvIdfrTelnoCn: "",
};
function statusInfoToFormData(info: SewerageStatusInfo): StatisticsInputSubmitInfoFormData {
return {
laePicNm: info.laePicNm ?? "",
laeKbrdrJbgdNm: info.laeKbrdrJbgdNm ?? "",
laeKbrdrDeptNm: info.laeKbrdrDeptNm ?? "",
laePicTelNo: info.laePicTelNo ?? "",
laeIdfrNm: info.laeIdfrNm ?? "",
laeIdfrJbgdNm: info.laeIdfrJbgdNm ?? "",
laeIdfrDeptNm: info.laeIdfrDeptNm ?? "",
laeIdfrTelNo: info.laeIdfrTelNo ?? "",
lclgvPicNm: info.lclgvPicNm ?? "",
lclgvKbrdrJbgdNm: info.lclgvKbrdrJbgdNm ?? "",
lclgvKbrdrDeptNm: info.lclgvKbrdrDeptNm ?? "",
lclgvPicTelnoCn: info.lclgvPicTelnoCn ?? "",
lclgvIdfrNm: info.lclgvIdfrNm ?? "",
lclgvIdfrJbgdNm: info.lclgvIdfrJbgdNm ?? "",
lclgvIdfrDeptNm: info.lclgvIdfrDeptNm ?? "",
lclgvIdfrTelnoCn: info.lclgvIdfrTelnoCn ?? "",
};
};
@@ -115,14 +115,14 @@ const SubmitDailog = ({
}
const rows: { name: keyof StatisticsInputSubmitInfoFormData; label: string; placeholder: string }[] = [
{ name: "laePicNm", label: "작성자 명", placeholder: "작성자 명 입력" },
{ name: "laeKbrdrJbgdNm", label: "작성자 직제", placeholder: "작성자 직제 입력" },
{ name: "laeKbrdrDeptNm", label: "작성자 부서", placeholder: "작성자 부서 입력" },
{ name: "laePicTelNo", label: "작성자 연락처", placeholder: "작성자 연락처 입력" },
{ name: "laeIdfrNm", label: "승인자명", placeholder: "승인자명 입력" },
{ name: "laeIdfrJbgdNm", label: "승인자 직제", placeholder: "승인자 직제 입력" },
{ name: "laeIdfrDeptNm", label: "승인자 부서", placeholder: "승인자 부서 입력" },
{ name: "laeIdfrTelNo", label: "승인자 연락처", placeholder: "승인자 연락처" },
{ name: "lclgvPicNm", label: "작성자 명", placeholder: "작성자 명 입력" },
{ name: "lclgvKbrdrJbgdNm", label: "작성자 직제", placeholder: "작성자 직제 입력" },
{ name: "lclgvKbrdrDeptNm", label: "작성자 부서", placeholder: "작성자 부서 입력" },
{ name: "lclgvPicTelnoCn", label: "작성자 연락처", placeholder: "작성자 연락처 입력" },
{ name: "lclgvIdfrNm", label: "승인자명", placeholder: "승인자명 입력" },
{ name: "lclgvIdfrJbgdNm", label: "승인자 직제", placeholder: "승인자 직제 입력" },
{ name: "lclgvIdfrDeptNm", label: "승인자 부서", placeholder: "승인자 부서 입력" },
{ name: "lclgvIdfrTelnoCn", label: "승인자 연락처", placeholder: "승인자 연락처" },
];
return (
@@ -158,8 +158,8 @@ const computeTabEnterable = (
statusInfo: SewerageStatusInfo | null | undefined,
periodEnterable: boolean,
): boolean => {
if (statusInfo?.laeSbmsnSttsCd) {
if (["2", "3"].includes(statusInfo.laeSbmsnSttsCd)) {
if (statusInfo?.lclgvSbmsnSttsCd) {
if (["2", "3"].includes(statusInfo.lclgvSbmsnSttsCd)) {
return false;
}
return periodEnterable;
@@ -195,7 +195,7 @@ function computeTabToolbarSnapshot(
): TabToolbarSnapshot {
const gugunOk = buildGugunOkForToolbar(searchContext);
const enterable = computeTabEnterable(statusInfo, periodEnterable);
const isSubmitted = statusInfo?.laeSbmsnSttsCd === "2";
const isSubmitted = statusInfo?.lclgvSbmsnSttsCd === "2";
const showSaveInToolbar = (enterable || isAdminInfo) && periodEnterable && gugunOk;
const showEnterableToolbarButtons = enterable && gugunOk;
const showSubmittedInInputPeriodToolbar = isSubmitted && periodEnterable && gugunOk;
@@ -320,12 +320,12 @@ function buildRecycledWaterStatusSaveItem(
lglTrgtYn: nullableTrimmedString(row.lglTrgtYn),
cmptnStrtYmd: toCompactYmdOrNull(row.cmptnStrtYmd),
oprtngStrtYmd: toCompactYmdOrNull(row.oprtngStrtYmd),
archWholArea: toGridNumber(row.archWholArea),
archWhlar: toGridNumber(row.archWhlar),
prcsCpct: toGridNumber(row.prcsCpct),
wtrUseQnt: toGridNumber(row.wtrUseQnt),
ruswtrWtrUsqty: toGridNumber(row.ruswtrWtrUsqty),
ruswtrUtztnQnt: toGridNumber(row.ruswtrUtztnQnt),
sbstCntUtztnQnt: toGridNumber(row.sbstCntUtztnQnt),
mnUsgCn: nullableTrimmedString(row.mnUsgCn),
ruswtrUsgCn: nullableTrimmedString(row.ruswtrUsgCn),
ruswtrOperAmt: toGridNumber(row.ruswtrOperAmt),
rmrk: nullableTrimmedString(row.rmrk),
};
@@ -341,14 +341,14 @@ function buildRainFallUtilFactStatusSaveItem(
admdstNm,
fcltSn: nullableTrimmedString(row.fcltSn),
fcltNm: nullableTrimmedString(row.fcltNm),
bdstTypCn: nullableTrimmedString(row.bdstTypCn),
bdstSeCn: nullableTrimmedString(row.bdstSeCn),
fcltPstnCn: nullableTrimmedString(row.fcltPstnCn),
lglTrgtYn: nullableTrimmedString(row.lglTrgtYn),
cmptYmd: toCompactYmdOrNull(row.cmptYmd),
instlAmt: toGridNumber(row.instlAmt),
rcptMynCn: nullableTrimmedString(row.rcptMynCn),
filtrPrcsFcltYnExpln: nullableTrimmedString(row.filtrPrcsFcltYnExpln),
impdCpct: toGridNumber(row.impdCpct),
cmptnYmd: toCompactYmdOrNull(row.cmptnYmd),
fcltInstlAmt: toGridNumber(row.fcltInstlAmt),
rcptKndCn: nullableTrimmedString(row.rcptKndCn),
filtrPrcsFcltExpln: nullableTrimmedString(row.filtrPrcsFcltExpln),
fcltRtntnkCpct: toGridNumber(row.fcltRtntnkCpct),
anlUseQnt: toGridNumber(row.anlUseQnt),
exlnUtlzUsgExpln: nullableTrimmedString(row.exlnUtlzUsgExpln),
anlOperAmt: toGridNumber(row.anlOperAmt),
@@ -477,7 +477,7 @@ function mapRainFallUtilFactStatusListToGridRows(
{
ctpvNm,
...rest,
cmptYmd: formatCompactYmdForGrid(item.cmptYmd),
cmptnYmd: formatCompactYmdForGrid(item.cmptnYmd),
},
])[0] as GridRowWithVerification;
if (verificationResult) row.verificationResult = verificationResult;
@@ -1145,14 +1145,14 @@ const WaterReuseInp = () => {
statsYr: lastSearchedValues.year ?? "",
ctpvNm: lastSearchedValues.sido ?? "",
...toInputSearchRegion(sidoListRef.current, lastSearchedValues),
laePicNm: submitInfo.laePicNm,
laePicTelNo: submitInfo.laePicTelNo,
laeKbrdrDeptNm: submitInfo.laeKbrdrDeptNm,
laeKbrdrJbgdNm: submitInfo.laeKbrdrJbgdNm,
laeIdfrNm: submitInfo.laeIdfrNm,
laeIdfrTelNo: submitInfo.laeIdfrTelNo,
laeIdfrDeptNm: submitInfo.laeIdfrDeptNm,
laeIdfrJbgdNm: submitInfo.laeIdfrJbgdNm,
lclgvPicNm: submitInfo.lclgvPicNm,
lclgvPicTelnoCn: submitInfo.lclgvPicTelnoCn,
lclgvKbrdrDeptNm: submitInfo.lclgvKbrdrDeptNm,
lclgvKbrdrJbgdNm: submitInfo.lclgvKbrdrJbgdNm,
lclgvIdfrNm: submitInfo.lclgvIdfrNm,
lclgvIdfrTelnoCn: submitInfo.lclgvIdfrTelnoCn,
lclgvIdfrDeptNm: submitInfo.lclgvIdfrDeptNm,
lclgvIdfrJbgdNm: submitInfo.lclgvIdfrJbgdNm,
...(isAdminInfo ? { superAdmin: "superAdmin" } : {}),
};
@@ -1211,7 +1211,7 @@ const WaterReuseInp = () => {
response = await statisticsInputWaterReuseApi.submitPublicSewageTreatWaterReuse({
...submitRequestBase,
userId: userInfo.userUnqId,
userUuid: userInfo.userUnqId,
noApplicable,
submitList,
});
@@ -1233,7 +1233,7 @@ const WaterReuseInp = () => {
const articleSubmitRequest = {
...submitRequestBase,
userId: userInfo.userUnqId,
userUuid: userInfo.userUnqId,
...(noApplicable ? { noApplicable: true } : {}),
};
@@ -1350,7 +1350,7 @@ const WaterReuseInp = () => {
stats_cd: statsCdForTab,
stats_yr: lastSearchedValues.year ?? "",
lae_sbmsn_stts_cd:
activeTabStatus?.laeSbmsnSttsCd === "4" ? "4" : "2",
activeTabStatus?.lclgvSbmsnSttsCd === "4" ? "4" : "2",
gen_verify_stts_cd: nvpassed ? "1" : "2",
hb_pass_yn: response.data?.isHbPassed,
};
@@ -1456,7 +1456,7 @@ const WaterReuseInp = () => {
const response =
await statisticsInputWaterReuseApi.savePublicSewageTreatWaterReuse({
...requestBase,
userId: userInfo.userUnqId,
userUuid: userInfo.userUnqId,
noApplicable,
saveList,
});
@@ -1509,7 +1509,7 @@ const WaterReuseInp = () => {
const userInfo = await getUserInfo();
const response = await statisticsInputWaterReuseApi.saveRecycledWaterStatus({
...requestBase,
userId: userInfo.userUnqId,
userUuid: userInfo.userUnqId,
...(noApplicable ? { noApplicable: true } : {}),
saveList,
deleteList,
@@ -1570,7 +1570,7 @@ const WaterReuseInp = () => {
const response =
await statisticsInputWaterReuseApi.saveRainFallUtilFactStatus({
...requestBase,
userId: userInfo.userUnqId,
userUuid: userInfo.userUnqId,
...(noApplicable ? { noApplicable: true } : {}),
saveList,
deleteList,
@@ -1634,7 +1634,7 @@ const WaterReuseInp = () => {
await statisticsInputWaterReuseApi.saveTreatWaterReuseDesignConstStatus(
{
...requestBase,
userId: userInfo.userUnqId,
userUuid: userInfo.userUnqId,
...(noApplicable ? { noApplicable: true } : {}),
saveList,
deleteList,
@@ -1699,7 +1699,7 @@ const WaterReuseInp = () => {
await statisticsInputWaterReuseApi.saveTreatWaterReuseBusinessApprStatus(
{
...requestBase,
userId: userInfo.userUnqId,
userUuid: userInfo.userUnqId,
...(noApplicable ? { noApplicable: true } : {}),
saveList,
deleteList,
@@ -1742,7 +1742,7 @@ const WaterReuseInp = () => {
statsYr: lastSearchedValues.year ?? "",
ctpvNm: lastSearchedValues.sido ?? "",
...toInputSearchRegion(sidoListRef.current, lastSearchedValues),
userId: userInfo.userUnqId,
userUuid: userInfo.userUnqId,
};
const response =
@@ -1902,7 +1902,7 @@ const WaterReuseInp = () => {
...toInputSearchRegion(sidoListRef.current, lastSearchedValues),
ctpvNm: lastSearchedValues.sido ?? "",
statsYr: lastSearchedValues.year ?? "",
mdfrId: userInfo.userUnqId,
mdfrUuid: userInfo.userUnqId,
statsCd: statsCdForTab,
};
@@ -2072,7 +2072,7 @@ const WaterReuseInp = () => {
: e.vrfcCd === "NV"
? "일반검증 - "
: "모집단 검증 - ";
return `${prefix}${e.rsnExpln}(검증 기준값: ${e.compVlCn} / 현재 입력값: ${e.nowVlCn})`;
return `${prefix}${e.rsnExpln}(검증 기준값: ${e.cmprCn} / 현재 입력값: ${e.nowCn})`;
})
.filter(Boolean)
.join("\n");
@@ -2118,7 +2118,7 @@ const WaterReuseInp = () => {
{submitOk && <SubmitButton submitFunc={submitFunc} />}
</>
)}
{activeTabStatus?.laeSbmsnSttsCd === "2" && submitOk && (
{activeTabStatus?.lclgvSbmsnSttsCd === "2" && submitOk && (
<CancelSubmitButton cnacelSubmitFunc={cnacelSubmitFunc} />
)}
{showSaveInToolbar && <SaveButton saveFunc={saveFunc} />}
@@ -75,9 +75,9 @@ export function LogHistoryDetailDialog({
if (!row) return;
const sn = row.statsLogSn;
const rgtrId =
row.rgtrId != null && String(row.rgtrId).trim() !== ""
? String(row.rgtrId).trim()
const rgtrUuid =
row.rgtrUuid != null && String(row.rgtrUuid).trim() !== ""
? String(row.rgtrUuid).trim()
: "";
let cancelled = false;
@@ -88,8 +88,8 @@ export function LogHistoryDetailDialog({
try {
const userLookupPromise =
rgtrId !== ""
? UserApi.findByUserUnqId(rgtrId).catch(() => {
rgtrUuid !== ""
? UserApi.findByUserUnqId(rgtrUuid).catch(() => {
return null;
})
: Promise.resolve(null);
@@ -48,7 +48,7 @@ export function LogHistoryDetailsNestedDialog({
<span className="font-semibold">
조합순번:
</span>{" "}
{item.eqtnCombSeq ?? "-"}
{item.fmlaCombSeq ?? "-"}
</p>
<p>
<span className="font-semibold">
@@ -60,7 +60,7 @@ export function LogHistoryDetailsNestedDialog({
<span className="font-semibold">
비교연산:
</span>{" "}
{item.cmprOpert ?? "-"}
{item.cmprArtopnCn ?? "-"}
</p>
<p>
<span className="font-semibold">
@@ -72,13 +72,13 @@ export function LogHistoryDetailsNestedDialog({
<span className="font-semibold">
한글 수식:
</span>{" "}
{item.kornArtopnEqtnCn ?? "-"}
{item.kornArtopnFmlaCn ?? "-"}
</p>
<p className="col-span-2">
<span className="font-semibold">
영문 수식:
</span>{" "}
{item.engArtopnEqtnCn ?? "-"}
{item.engArtopnFmlaCn ?? "-"}
</p>
</div>
</div>
@@ -20,14 +20,14 @@ import type { SearchFormValues } from "@/components/type/SearchForm.type";
import { toGridRows } from "@/components/util/grid/gridFunction";
/** API `YYYYMMDD` 등 → Date */
function seTypeToDisplayLabel(seType: StatsInputPeriodItem["seType"]): string {
if (seType === "INPT") return "입력";
if (seType === "VRFC") return "검증";
return seType;
function seTypeToDisplayLabel(seTypeCd: StatsInputPeriodItem["seTypeCd"]): string {
if (seTypeCd === "INPT") return "입력";
if (seTypeCd === "VRFC") return "검증";
return seTypeCd;
}
function rowSeTypeToCode(row: Record<string, string | number>): "INPT" | "VRFC" {
const v = String(row.seType ?? "");
const v = String(row.seTypeCd ?? "");
if (v === "INPT" || v === "입력") return "INPT";
if (v === "VRFC" || v === "검증") return "VRFC";
return "INPT";
@@ -86,16 +86,16 @@ const StatisticsInputManagement = () => {
const params: StatsInputPeriodListRequest = {
statsYr: values.year,
...(values.clsfCd && values.clsfCd !== "ALL"
? { seType: values.clsfCd }
? { seTypeCd: values.clsfCd }
: {}),
};
const res = await statisticsApi.getStatsInputPeriodList(params);
if (res.status === "success" && Array.isArray(res.data)) {
const rowsForGrid = res.data.map((row) => ({
...row,
seType: seTypeToDisplayLabel(row.seType),
inptBgngYmd: formatYmdForDisplay(row.inptBgngYmd),
inptEndYmd: formatYmdForDisplay(row.inptEndYmd),
seTypeCd: seTypeToDisplayLabel(row.seTypeCd),
bgngYmd: formatYmdForDisplay(row.bgngYmd),
endYmd: formatYmdForDisplay(row.endYmd),
[PERIOD_DETAIL_FIELD]: "상세정보",
}));
setRowData(toGridRows(rowsForGrid));
@@ -138,22 +138,22 @@ const StatisticsInputManagement = () => {
const openPeriodDetailForRow = useCallback(
async (row: Record<string, string | number>) => {
const seCdRaw = row.seCd;
const seCdNum =
typeof seCdRaw === "number"
? seCdRaw
: parseInt(String(seCdRaw ?? ""), 10);
const seCd = Number.isFinite(seCdNum) ? seCdNum : 0;
const cyclSeNoRaw = row.cyclSeNo;
const cyclSeNoNum =
typeof cyclSeNoRaw === "number"
? cyclSeNoRaw
: parseInt(String(cyclSeNoRaw ?? ""), 10);
const cyclSeNo = Number.isFinite(cyclSeNoNum) ? cyclSeNoNum : 0;
const statsYr = String(row.statsYr ?? "");
const seType = rowSeTypeToCode(row);
const seTypeCd = rowSeTypeToCode(row);
const extSchdlId = parseExtSchdlId(row.extSchdlId);
try {
setIsLoading(true);
const res = await statisticsApi.getStatsInputPeriodDetail({
statsYr,
seType,
seCd,
seTypeCd,
cyclSeNo,
...(extSchdlId != null ? { extSchdlId } : {}),
});
@@ -168,13 +168,13 @@ const StatisticsInputManagement = () => {
setPeriodDialogInitial({
extSchdlId: detailExtSchdlId,
statsYr: String(detail.statsYr ?? statsYr),
seType: detail.seType === "VRFC" ? "VRFC" : "INPT",
seCd:
typeof detail.seCd === "number" && Number.isFinite(detail.seCd)
? detail.seCd
: seCd,
inptBgngYmd: parseYmdToDate(detail.inptBgngYmd),
inptEndYmd: parseYmdToDate(detail.inptEndYmd),
seTypeCd: detail.seTypeCd === "VRFC" ? "VRFC" : "INPT",
cyclSeNo:
typeof detail.cyclSeNo === "number" && Number.isFinite(detail.cyclSeNo)
? detail.cyclSeNo
: cyclSeNo,
bgngYmd: parseYmdToDate(detail.bgngYmd),
endYmd: parseYmdToDate(detail.endYmd),
});
setPeriodDialogOpen(true);
} catch {
@@ -202,20 +202,20 @@ const StatisticsInputManagement = () => {
editable: false,
},
{
name: "seType",
fieldName: "seType",
name: "seTypeCd",
fieldName: "seTypeCd",
header: { text: "분류" },
editable: false,
},
{
name: "inptBgngYmd",
fieldName: "inptBgngYmd",
name: "bgngYmd",
fieldName: "bgngYmd",
header: { text: "시작일" },
editable: false,
},
{
name: "inptEndYmd",
fieldName: "inptEndYmd",
name: "endYmd",
fieldName: "endYmd",
header: { text: "종료일" },
editable: false,
},
@@ -231,9 +231,9 @@ const StatisticsInputManagement = () => {
const columnLayout = [
"statsYr",
"seType",
"inptBgngYmd",
"inptEndYmd",
"seTypeCd",
"bgngYmd",
"endYmd",
PERIOD_DETAIL_FIELD,
];
@@ -33,10 +33,10 @@ import { getUserInfo } from "../../../../../../packages/common/components/src/ap
export type StatisticsInputPeriodDialogValues = {
extSchdlId?: number;
statsYr: string;
seType: "INPT" | "VRFC";
seCd: number;
inptBgngYmd: Date | undefined;
inptEndYmd: Date | undefined;
seTypeCd: "INPT" | "VRFC";
cyclSeNo: number;
bgngYmd: Date | undefined;
endYmd: Date | undefined;
};
export type StatisticsInputPeriodDialogMode = "edit" | "create";
@@ -76,33 +76,33 @@ export function StatisticsInputPeriodDialog({
const { setMessage: alert } = useAlertStore((state) => state);
const { confirm } = useConfirm();
const [statsYr, setStatsYr] = useState("");
const [seType, setSeType] = useState<"INPT" | "VRFC" | null>(null);
const [seCdInput, setSeCdInput] = useState("");
const [inptBgngYmd, setInptBgngYmd] = useState<Date | undefined>(undefined);
const [inptEndYmd, setInptEndYmd] = useState<Date | undefined>(undefined);
const [seTypeCd, setSeTypeCd] = useState<"INPT" | "VRFC" | null>(null);
const [cyclSeNoInput, setCyclSeNoInput] = useState("");
const [bgngYmd, setBgngYmd] = useState<Date | undefined>(undefined);
const [endYmd, setEndYmd] = useState<Date | undefined>(undefined);
const [isSubmitting, setIsSubmitting] = useState(false);
useEffect(() => {
if (!open) return;
if (mode === "create") {
setStatsYr(normalizeStatsYrInput(createDefaultStatsYr ?? ""));
setSeType(null);
setSeCdInput("0");
setInptBgngYmd(undefined);
setInptEndYmd(undefined);
setSeTypeCd(null);
setCyclSeNoInput("0");
setBgngYmd(undefined);
setEndYmd(undefined);
return;
}
if (!initial) return;
setStatsYr(normalizeStatsYrInput(String(initial.statsYr ?? "")));
setSeType(initial.seType);
setSeCdInput(String(Number.isFinite(initial.seCd) ? initial.seCd : 0));
setInptBgngYmd(initial.inptBgngYmd);
setInptEndYmd(initial.inptEndYmd);
setSeTypeCd(initial.seTypeCd);
setCyclSeNoInput(String(Number.isFinite(initial.cyclSeNo) ? initial.cyclSeNo : 0));
setBgngYmd(initial.bgngYmd);
setEndYmd(initial.endYmd);
}, [open, mode, initial, createDefaultStatsYr]);
const handleSave = async () => {
const bgng = formatDateToYmd(inptBgngYmd);
const end = formatDateToYmd(inptEndYmd);
const bgng = formatDateToYmd(bgngYmd);
const end = formatDateToYmd(endYmd);
if (!bgng || !end) {
alert("시작일과 종료일을 선택해주세요.");
return;
@@ -111,18 +111,18 @@ export function StatisticsInputPeriodDialog({
alert("시작일은 종료일보다 늦을 수 없습니다.");
return;
}
if (seType === null) {
if (seTypeCd === null) {
alert("분류를 선택해주세요.");
return;
}
const seCdParsed =
const cyclSeNoParsed =
mode === "create"
? 0
: (() => {
const n = parseInt(seCdInput, 10);
const n = parseInt(cyclSeNoInput, 10);
return Number.isFinite(n) && n >= 0 ? n : NaN;
})();
if (mode === "edit" && !Number.isFinite(seCdParsed)) {
if (mode === "edit" && !Number.isFinite(cyclSeNoParsed)) {
alert("구분 값이 올바르지 않습니다.");
return;
}
@@ -140,13 +140,13 @@ export function StatisticsInputPeriodDialog({
const userInfo = await getUserInfo();
const param: StatsInputPeriodSaveRequest = {
statsYr: yr,
seType,
inptBgngYmd: bgng,
inptEndYmd: end,
rgtrId: userInfo.userUnqId,
seTypeCd,
bgngYmd: bgng,
endYmd: end,
rgtrUuid: userInfo.userUnqId,
};
if (!isCreate) {
param.seCd = seCdParsed;
param.cyclSeNo = cyclSeNoParsed;
if (
initial?.extSchdlId != null &&
Number.isFinite(initial.extSchdlId)
@@ -173,8 +173,8 @@ export function StatisticsInputPeriodDialog({
if (mode === "create" || !initial) return;
if (!(await confirm("삭제하시겠습니까?"))) return;
const bgng = formatDateToYmd(initial.inptBgngYmd);
const end = formatDateToYmd(initial.inptEndYmd);
const bgng = formatDateToYmd(initial.bgngYmd);
const end = formatDateToYmd(initial.endYmd);
if (!bgng || !end) {
alert("삭제할 기간 정보가 없습니다.");
return;
@@ -184,19 +184,19 @@ export function StatisticsInputPeriodDialog({
alert("연도가 없습니다.");
return;
}
const seCd =
Number.isFinite(initial.seCd) && initial.seCd >= 0 ? initial.seCd : 0;
const cyclSeNo =
Number.isFinite(initial.cyclSeNo) && initial.cyclSeNo >= 0 ? initial.cyclSeNo : 0;
try {
setIsSubmitting(true);
const userInfo = await getUserInfo();
const param: StatsInputPeriodDeleteRequest = {
statsYr: yr,
seType: initial.seType,
seCd,
inptBgngYmd: bgng,
inptEndYmd: end,
rgtrId: userInfo.userUnqId,
seTypeCd: initial.seTypeCd,
cyclSeNo,
bgngYmd: bgng,
endYmd: end,
rgtrUuid: userInfo.userUnqId,
};
if (initial.extSchdlId != null && Number.isFinite(initial.extSchdlId)) {
param.extSchdlId = initial.extSchdlId;
@@ -253,8 +253,8 @@ export function StatisticsInputPeriodDialog({
<div className="flex flex-col gap-2">
<Label className="text-label">분류</Label>
<Select
value={seType ?? undefined}
onValueChange={(v) => setSeType(v as "INPT" | "VRFC")}
value={seTypeCd ?? undefined}
onValueChange={(v) => setSeTypeCd(v as "INPT" | "VRFC")}
disabled={isSubmitting || mode === "edit"}
>
<SelectTrigger className="w-full">
@@ -273,7 +273,7 @@ export function StatisticsInputPeriodDialog({
type="number"
inputMode="numeric"
min={0}
value={seCdInput}
value={cyclSeNoInput}
disabled
className="!text-[1.3rem]"
/>
@@ -282,16 +282,16 @@ export function StatisticsInputPeriodDialog({
<div className="flex flex-col gap-2">
<Label className="text-label">시작일</Label>
<InputDatePicker
value={inptBgngYmd}
onChange={setInptBgngYmd}
value={bgngYmd}
onChange={setBgngYmd}
className="w-full"
/>
</div>
<div className="flex flex-col gap-2">
<Label className="text-label">종료일</Label>
<InputDatePicker
value={inptEndYmd}
onChange={setInptEndYmd}
value={endYmd}
onChange={setEndYmd}
className="w-full"
/>
</div>
@@ -76,11 +76,11 @@ const ExcretaTreatmentFacilityRvw = () => {
const { showReviewOpinionButton, showReturnButton, showSubmitButton } = useMemo(() => {
const submit =
statsStatusInfo.submitStatusCd != null
? String(statsStatusInfo.submitStatusCd)
statsStatusInfo.lclgvSbmsnSttsCd != null
? String(statsStatusInfo.lclgvSbmsnSttsCd)
: "";
const prvn =
statsStatusInfo.prvnStatusCd != null ? String(statsStatusInfo.prvnStatusCd) : "";
statsStatusInfo.mctpvPicSbmsnSttsCd != null ? String(statsStatusInfo.mctpvPicSbmsnSttsCd) : "";
const submitIs3 = submit === "3";
const reviewSubmitVisible = submitIs3 && (prvn === "0" || prvn === "1");
return {
@@ -150,16 +150,16 @@ const ExcretaTreatmentFacilityRvw = () => {
...item,
admdstNm: item.admdstNm ?? "",
fcltPstnCn: item.fcltPstnCn ?? "",
telNo: item.telNo ?? "",
telnoCn: item.telnoCn ?? "",
cmptnStrtYmd: item.cmptnStrtYmd ?? "",
oprtngStrtYmd: item.oprtngStrtYmd ?? "",
prcsMthdExpln: item.prcsMthdExpln ?? "",
prcsExpln: item.prcsExpln ?? "",
linkTmplntCn: item.linkTmplntCn ?? "",
wtsysNm: item.wtsysNm ?? "",
trbtrNm: item.trbtrNm ?? "",
fcltWtsysNm: item.fcltWtsysNm ?? "",
fcltTrbtrNm: item.fcltTrbtrNm ?? "",
msirbCn: item.msirbCn ?? "",
ssirbCn: item.ssirbCn ?? "",
operMthdCdCn: item.operMthdCdCn ?? "",
operCn: item.operCn ?? "",
rmrk: item.rmrk ?? "",
}));
@@ -170,7 +170,7 @@ const ExcretaTreatmentFacilityRvw = () => {
statsCd: statsInfo.statsCd ?? "",
});
setLatestReviewOpinion(statsInfo.splmntOpnnCn ?? "");
setLatestProcessHistory(statsInfo.wrterOpnnCn ?? "");
setLatestProcessHistory(statsInfo.splmntRsltCn ?? "");
setRowData(toGridRows(convertedData as unknown as object[]));
} else {
setRowData([]);
@@ -216,7 +216,7 @@ const ExcretaTreatmentFacilityRvw = () => {
const row = detailRes.data?.[0];
setLatestReviewOpinion(row?.splmntOpnnCn ?? "");
setLatestProcessHistory(row?.wrterOpnnCn ?? "");
setLatestProcessHistory(row?.splmntRsltCn ?? "");
setReviewOpinionOpen(true);
} catch {
alert("검토의견 조회 중 오류가 발생했습니다.");
@@ -234,10 +234,10 @@ const ExcretaTreatmentFacilityRvw = () => {
setStatsStatusInfo((prev) => ({
...prev,
splmntOpnnCn: param.splmntOpnnCn,
wrterOpnnCn: param.wrterOpnnCn,
splmntRsltCn: param.splmntRsltCn,
}));
setLatestReviewOpinion(param.splmntOpnnCn);
setLatestProcessHistory(param.wrterOpnnCn);
setLatestProcessHistory(param.splmntRsltCn);
} catch {
alert("저장 중 오류가 발생했습니다.");
}
@@ -102,7 +102,7 @@ const PrivateSewageFacilityRvw = () => {
}, [activeStatsStatusInfo.statsCd, lastSearchValues]);
const latestReviewOpinion = activeStatsStatusInfo.splmntOpnnCn ?? "";
const latestProcessHistory = activeStatsStatusInfo.wrterOpnnCn ?? "";
const latestProcessHistory = activeStatsStatusInfo.splmntRsltCn ?? "";
const submitDialogContext = useMemo<ReviewerInfoRequest | null>(() => {
if (lastSearchValues == null) return null;
@@ -127,11 +127,11 @@ const PrivateSewageFacilityRvw = () => {
const { showReviewOpinionButton, showReturnButton, showSubmitButton } = useMemo(() => {
const statsStatusInfo = activeStatsStatusInfo;
const submit =
statsStatusInfo.submitStatusCd != null
? String(statsStatusInfo.submitStatusCd)
statsStatusInfo.lclgvSbmsnSttsCd != null
? String(statsStatusInfo.lclgvSbmsnSttsCd)
: "";
const prvn =
statsStatusInfo.prvnStatusCd != null ? String(statsStatusInfo.prvnStatusCd) : "";
statsStatusInfo.mctpvPicSbmsnSttsCd != null ? String(statsStatusInfo.mctpvPicSbmsnSttsCd) : "";
const submitIs3 = submit === "3";
const reviewSubmitVisible = submitIs3 && (prvn === "0" || prvn === "1");
return {
@@ -284,7 +284,7 @@ const PrivateSewageFacilityRvw = () => {
next.set(activeTab, {
...(next.get(activeTab) ?? {}),
splmntOpnnCn: row?.splmntOpnnCn ?? "",
wrterOpnnCn: row?.wrterOpnnCn ?? "",
splmntRsltCn: row?.splmntRsltCn ?? "",
});
return next;
});
@@ -307,7 +307,7 @@ const PrivateSewageFacilityRvw = () => {
next.set(activeTab, {
...(next.get(activeTab) ?? {}),
splmntOpnnCn: param.splmntOpnnCn,
wrterOpnnCn: param.wrterOpnnCn,
splmntRsltCn: param.splmntRsltCn,
});
return next;
});
@@ -63,8 +63,8 @@ const PublicSewageFacilityRvw = () => {
);
const { showReviewOpinionButton, showReturnButton, showSubmitButton } = useMemo(() => {
const submit = statsStatusInfo.submitStatusCd != null ? String(statsStatusInfo.submitStatusCd) : "";
const prvn = statsStatusInfo.prvnStatusCd != null ? String(statsStatusInfo.prvnStatusCd) : "";
const submit = statsStatusInfo.lclgvSbmsnSttsCd != null ? String(statsStatusInfo.lclgvSbmsnSttsCd) : "";
const prvn = statsStatusInfo.mctpvPicSbmsnSttsCd != null ? String(statsStatusInfo.mctpvPicSbmsnSttsCd) : "";
const submitIs3 = submit === "3";
const reviewSubmitVisible = submitIs3 && (prvn === "0" || prvn === "1");
return {
@@ -144,7 +144,7 @@ const PublicSewageFacilityRvw = () => {
response.data.statsStatusInfo.splmntOpnnCn ?? "",
);
setLatestProcessHistory(
response.data.statsStatusInfo.wrterOpnnCn ?? "",
response.data.statsStatusInfo.splmntRsltCn ?? "",
);
setRowData(toGridRows(convertedData as unknown as object[]));
} else {
@@ -192,7 +192,7 @@ const PublicSewageFacilityRvw = () => {
const row = detailRes.data?.[0];
setLatestReviewOpinion(row?.splmntOpnnCn ?? "");
setLatestProcessHistory(row?.wrterOpnnCn ?? "");
setLatestProcessHistory(row?.splmntRsltCn ?? "");
setReviewOpinionOpen(true);
} catch {
alert("검토의견 조회 중 오류가 발생했습니다.");
@@ -210,10 +210,10 @@ const PublicSewageFacilityRvw = () => {
setStatsStatusInfo((prev) => ({
...prev,
splmntOpnnCn: param.splmntOpnnCn,
wrterOpnnCn: param.wrterOpnnCn,
splmntRsltCn: param.splmntRsltCn,
}));
setLatestReviewOpinion(param.splmntOpnnCn);
setLatestProcessHistory(param.wrterOpnnCn);
setLatestProcessHistory(param.splmntRsltCn);
} catch {
alert("저장 중 오류가 발생했습니다.");
}
@@ -71,11 +71,11 @@ const PumpingStationRvw = () => {
const { showReviewOpinionButton, showReturnButton, showSubmitButton } = useMemo(() => {
const submit =
statsStatusInfo.submitStatusCd != null
? String(statsStatusInfo.submitStatusCd)
statsStatusInfo.lclgvSbmsnSttsCd != null
? String(statsStatusInfo.lclgvSbmsnSttsCd)
: "";
const prvn =
statsStatusInfo.prvnStatusCd != null ? String(statsStatusInfo.prvnStatusCd) : "";
statsStatusInfo.mctpvPicSbmsnSttsCd != null ? String(statsStatusInfo.mctpvPicSbmsnSttsCd) : "";
const submitIs3 = submit === "3";
const reviewSubmitVisible = submitIs3 && (prvn === "0" || prvn === "1");
return {
@@ -144,12 +144,9 @@ const PumpingStationRvw = () => {
const convertedData = rawList.map((item: MediationPumpStationItem) => ({
...item,
admdstNm: item.admdstNm ?? "",
pumpstNm: item.fcltNm ?? "",
impdFcltPstnCn: item.fcltPstnCn ?? "",
pumpSeNm: item.pumpSeNm ?? "",
swtrmtFcltNm: item.swtrmtFcltNm ?? "",
oprtngStrtYmd: item.oprtngStrtYmd ?? "",
exlnPumpN4RsrvCnt: item.exlnPumpN1RsrvCnt ?? 0,
rmrk: item.rmrk ?? "",
}));
@@ -160,7 +157,7 @@ const PumpingStationRvw = () => {
statsCd: statsInfo.statsCd ?? "",
});
setLatestReviewOpinion(statsInfo.splmntOpnnCn ?? "");
setLatestProcessHistory(statsInfo.wrterOpnnCn ?? "");
setLatestProcessHistory(statsInfo.splmntRsltCn ?? "");
setRowData(toGridRows(convertedData));
} else {
setRowData([]);
@@ -206,7 +203,7 @@ const PumpingStationRvw = () => {
const row = detailRes.data?.[0];
setLatestReviewOpinion(row?.splmntOpnnCn ?? "");
setLatestProcessHistory(row?.wrterOpnnCn ?? "");
setLatestProcessHistory(row?.splmntRsltCn ?? "");
setReviewOpinionOpen(true);
} catch {
alert("검토의견 조회 중 오류가 발생했습니다.");
@@ -224,10 +221,10 @@ const PumpingStationRvw = () => {
setStatsStatusInfo((prev) => ({
...prev,
splmntOpnnCn: param.splmntOpnnCn,
wrterOpnnCn: param.wrterOpnnCn,
splmntRsltCn: param.splmntRsltCn,
}));
setLatestReviewOpinion(param.splmntOpnnCn);
setLatestProcessHistory(param.wrterOpnnCn);
setLatestProcessHistory(param.splmntRsltCn);
} catch {
alert("저장 중 오류가 발생했습니다.");
}
@@ -96,7 +96,7 @@ export function ReturnReasonDialog({
sewerBzmnCd: context.sewerBzmnCd,
statsCd: context.statsCd,
rjctOpnnCn: reason,
mdfrId: userInfo.userUnqId,
mdfrUuid: userInfo.userUnqId,
};
const response = await statisticsApi.saveReviewReturn(param);
@@ -96,8 +96,8 @@ export function ReviewOpinionDialog({
sewerBzmnCd: context.sewerBzmnCd,
statsCd: context.statsCd,
splmntOpnnCn: reviewOpinion,
wrterOpnnCn: processHistory,
mdfrId: userInfo.userUnqId,
splmntRsltCn: processHistory,
mdfrUuid: userInfo.userUnqId,
};
await onSave?.(param);
resetForm();
@@ -31,7 +31,7 @@ export interface ReviewSubmitDialogProps {
onSubmitted?: () => void | Promise<void>;
/**
* true면 검토의견·처리내역 UI를 숨기고
* submit body에 statsCd / splmntOpnnCn / wrterOpnnCn을 넣지 않음
* submit body에 statsCd / splmntOpnnCn / splmntRsltCn을 넣지 않음
*/
hideOpinionFields?: boolean;
}
@@ -108,15 +108,15 @@ export function ReviewSubmitDialog({
? {
statsYr: context.statsYr,
sewerBzmnCd: [context.sewerBzmnCd],
mdfrId: userInfo.userUnqId,
mdfrUuid: userInfo.userUnqId,
}
: {
statsYr: context.statsYr,
sewerBzmnCd: context.sewerBzmnCd,
statsCd: context.statsCd,
mdfrId: userInfo.userUnqId,
mdfrUuid: userInfo.userUnqId,
splmntOpnnCn: reviewerInfo?.splmntOpnnCn ?? "",
wrterOpnnCn: reviewerInfo?.wrterOpnnCn ?? "",
splmntRsltCn: reviewerInfo?.splmntRsltCn ?? "",
};
const response = await statisticsApi.submitReview(submitParam);
@@ -178,7 +178,7 @@ export function ReviewSubmitDialog({
<div className="col-span-2 flex flex-col gap-2">
<Label className="text-label">처리내역</Label>
<Textarea
value={reviewerInfo?.wrterOpnnCn ?? "-"}
value={reviewerInfo?.splmntRsltCn ?? "-"}
readOnly
className="min-h-[10rem] p-2 resize-none !text-xl"
/>
@@ -105,7 +105,7 @@ const SewageExcretaRelatedRvw = () => {
}, [activeStatsStatusInfo.statsCd, lastSearchValues]);
const latestReviewOpinion = activeStatsStatusInfo.splmntOpnnCn ?? "";
const latestProcessHistory = activeStatsStatusInfo.wrterOpnnCn ?? "";
const latestProcessHistory = activeStatsStatusInfo.splmntRsltCn ?? "";
const submitDialogContext = useMemo<ReviewerInfoRequest | null>(() => {
if (lastSearchValues == null) return null;
@@ -130,11 +130,11 @@ const SewageExcretaRelatedRvw = () => {
const { showReviewOpinionButton, showReturnButton, showSubmitButton } = useMemo(() => {
const statsStatusInfo = activeStatsStatusInfo;
const submit =
statsStatusInfo.submitStatusCd != null
? String(statsStatusInfo.submitStatusCd)
statsStatusInfo.lclgvSbmsnSttsCd != null
? String(statsStatusInfo.lclgvSbmsnSttsCd)
: "";
const prvn =
statsStatusInfo.prvnStatusCd != null ? String(statsStatusInfo.prvnStatusCd) : "";
statsStatusInfo.mctpvPicSbmsnSttsCd != null ? String(statsStatusInfo.mctpvPicSbmsnSttsCd) : "";
const submitIs3 = submit === "3";
const reviewSubmitVisible = submitIs3 && (prvn === "0" || prvn === "1");
return {
@@ -289,7 +289,7 @@ const SewageExcretaRelatedRvw = () => {
next.set(activeTab, {
...(next.get(activeTab) ?? {}),
splmntOpnnCn: row?.splmntOpnnCn ?? "",
wrterOpnnCn: row?.wrterOpnnCn ?? "",
splmntRsltCn: row?.splmntRsltCn ?? "",
});
return next;
});
@@ -312,7 +312,7 @@ const SewageExcretaRelatedRvw = () => {
next.set(activeTab, {
...(next.get(activeTab) ?? {}),
splmntOpnnCn: param.splmntOpnnCn,
wrterOpnnCn: param.wrterOpnnCn,
splmntRsltCn: param.splmntRsltCn,
});
return next;
});
@@ -105,7 +105,7 @@ const SewageExcretaSlurgeRvw = () => {
}, [activeStatsStatusInfo.statsCd, lastSearchValues]);
const latestReviewOpinion = activeStatsStatusInfo.splmntOpnnCn ?? "";
const latestProcessHistory = activeStatsStatusInfo.wrterOpnnCn ?? "";
const latestProcessHistory = activeStatsStatusInfo.splmntRsltCn ?? "";
const submitDialogContext = useMemo<ReviewerInfoRequest | null>(() => {
if (lastSearchValues == null) return null;
@@ -130,11 +130,11 @@ const SewageExcretaSlurgeRvw = () => {
const { showReviewOpinionButton, showReturnButton, showSubmitButton } = useMemo(() => {
const statsStatusInfo = activeStatsStatusInfo;
const submit =
statsStatusInfo.submitStatusCd != null
? String(statsStatusInfo.submitStatusCd)
statsStatusInfo.lclgvSbmsnSttsCd != null
? String(statsStatusInfo.lclgvSbmsnSttsCd)
: "";
const prvn =
statsStatusInfo.prvnStatusCd != null ? String(statsStatusInfo.prvnStatusCd) : "";
statsStatusInfo.mctpvPicSbmsnSttsCd != null ? String(statsStatusInfo.mctpvPicSbmsnSttsCd) : "";
const submitIs3 = submit === "3";
const reviewSubmitVisible = submitIs3 && (prvn === "0" || prvn === "1");
return {
@@ -290,7 +290,7 @@ const SewageExcretaSlurgeRvw = () => {
next.set(activeTab, {
...(next.get(activeTab) ?? {}),
splmntOpnnCn: row?.splmntOpnnCn ?? "",
wrterOpnnCn: row?.wrterOpnnCn ?? "",
splmntRsltCn: row?.splmntRsltCn ?? "",
});
return next;
});
@@ -313,7 +313,7 @@ const SewageExcretaSlurgeRvw = () => {
next.set(activeTab, {
...(next.get(activeTab) ?? {}),
splmntOpnnCn: param.splmntOpnnCn,
wrterOpnnCn: param.wrterOpnnCn,
splmntRsltCn: param.splmntRsltCn,
});
return next;
});
@@ -120,7 +120,7 @@ const SewagePipeMaintainRvw = () => {
}, [activeStatsStatusInfo.statsCd, lastSearchValues]);
const latestReviewOpinion = activeStatsStatusInfo.splmntOpnnCn ?? "";
const latestProcessHistory = activeStatsStatusInfo.wrterOpnnCn ?? "";
const latestProcessHistory = activeStatsStatusInfo.splmntRsltCn ?? "";
const submitDialogContext = useMemo<ReviewerInfoRequest | null>(() => {
if (lastSearchValues == null) return null;
@@ -145,11 +145,11 @@ const SewagePipeMaintainRvw = () => {
const { showReviewOpinionButton, showReturnButton, showSubmitButton } = useMemo(() => {
const statsStatusInfo = activeStatsStatusInfo;
const submit =
statsStatusInfo.submitStatusCd != null
? String(statsStatusInfo.submitStatusCd)
statsStatusInfo.lclgvSbmsnSttsCd != null
? String(statsStatusInfo.lclgvSbmsnSttsCd)
: "";
const prvn =
statsStatusInfo.prvnStatusCd != null ? String(statsStatusInfo.prvnStatusCd) : "";
statsStatusInfo.mctpvPicSbmsnSttsCd != null ? String(statsStatusInfo.mctpvPicSbmsnSttsCd) : "";
const submitIs3 = submit === "3";
const reviewSubmitVisible = submitIs3 && (prvn === "0" || prvn === "1");
return {
@@ -302,7 +302,7 @@ const SewagePipeMaintainRvw = () => {
next.set(activeTab, {
...(next.get(activeTab) ?? {}),
splmntOpnnCn: row?.splmntOpnnCn ?? "",
wrterOpnnCn: row?.wrterOpnnCn ?? "",
splmntRsltCn: row?.splmntRsltCn ?? "",
});
return next;
});
@@ -325,7 +325,7 @@ const SewagePipeMaintainRvw = () => {
next.set(activeTab, {
...(next.get(activeTab) ?? {}),
splmntOpnnCn: param.splmntOpnnCn,
wrterOpnnCn: param.wrterOpnnCn,
splmntRsltCn: param.splmntRsltCn,
});
return next;
});
@@ -181,7 +181,7 @@ const SewagePipeRvw = () => {
};
}, [activeStatsStatusInfo.statsCd, lastSearchValues]);
const latestReviewOpinion = activeStatsStatusInfo.splmntOpnnCn ?? "";
const latestProcessHistory = activeStatsStatusInfo.wrterOpnnCn ?? "";
const latestProcessHistory = activeStatsStatusInfo.splmntRsltCn ?? "";
const submitDialogContext = useMemo<ReviewerInfoRequest | null>(() => {
if (lastSearchValues == null) return null;
@@ -205,11 +205,11 @@ const SewagePipeRvw = () => {
const { showReviewOpinionButton, showReturnButton, showSubmitButton } = useMemo(() => {
const statsStatusInfo = activeStatsStatusInfo;
const submit =
statsStatusInfo.submitStatusCd != null
? String(statsStatusInfo.submitStatusCd)
statsStatusInfo.lclgvSbmsnSttsCd != null
? String(statsStatusInfo.lclgvSbmsnSttsCd)
: "";
const prvn =
statsStatusInfo.prvnStatusCd != null ? String(statsStatusInfo.prvnStatusCd) : "";
statsStatusInfo.mctpvPicSbmsnSttsCd != null ? String(statsStatusInfo.mctpvPicSbmsnSttsCd) : "";
const submitIs3 = submit === "3";
const reviewSubmitVisible = submitIs3 && (prvn === "0" || prvn === "1");
return {
@@ -362,7 +362,7 @@ const SewagePipeRvw = () => {
next.set(activeTab, {
...(next.get(activeTab) ?? {}),
splmntOpnnCn: row?.splmntOpnnCn ?? "",
wrterOpnnCn: row?.wrterOpnnCn ?? "",
splmntRsltCn: row?.splmntRsltCn ?? "",
});
return next;
});
@@ -385,7 +385,7 @@ const SewagePipeRvw = () => {
next.set(activeTab, {
...(next.get(activeTab) ?? {}),
splmntOpnnCn: param.splmntOpnnCn,
wrterOpnnCn: param.wrterOpnnCn,
splmntRsltCn: param.splmntRsltCn,
});
return next;
});
@@ -126,7 +126,7 @@ const SewageReservoirPumpRvw = () => {
}, [activeStatsCd, lastSearchValues]);
const latestReviewOpinion = activeStatsStatusInfo.splmntOpnnCn ?? "";
const latestProcessHistory = activeStatsStatusInfo.wrterOpnnCn ?? "";
const latestProcessHistory = activeStatsStatusInfo.splmntRsltCn ?? "";
const submitDialogContext = useMemo<ReviewerInfoRequest | null>(() => {
if (lastSearchValues == null) return null;
@@ -151,11 +151,11 @@ const SewageReservoirPumpRvw = () => {
const { showReviewOpinionButton, showReturnButton, showSubmitButton } = useMemo(() => {
const statsStatusInfo = activeStatsStatusInfo;
const submit =
statsStatusInfo.submitStatusCd != null
? String(statsStatusInfo.submitStatusCd)
statsStatusInfo.lclgvSbmsnSttsCd != null
? String(statsStatusInfo.lclgvSbmsnSttsCd)
: "";
const prvn =
statsStatusInfo.prvnStatusCd != null ? String(statsStatusInfo.prvnStatusCd) : "";
statsStatusInfo.mctpvPicSbmsnSttsCd != null ? String(statsStatusInfo.mctpvPicSbmsnSttsCd) : "";
const submitIs3 = submit === "3";
const reviewSubmitVisible = submitIs3 && (prvn === "0" || prvn === "1");
return {
@@ -308,7 +308,7 @@ const SewageReservoirPumpRvw = () => {
next.set(activeTab, {
...(next.get(activeTab) ?? {}),
splmntOpnnCn: row?.splmntOpnnCn ?? "",
wrterOpnnCn: row?.wrterOpnnCn ?? "",
splmntRsltCn: row?.splmntRsltCn ?? "",
});
return next;
});
@@ -331,7 +331,7 @@ const SewageReservoirPumpRvw = () => {
next.set(activeTab, {
...(next.get(activeTab) ?? {}),
splmntOpnnCn: param.splmntOpnnCn,
wrterOpnnCn: param.wrterOpnnCn,
splmntRsltCn: param.splmntRsltCn,
});
return next;
});
@@ -105,7 +105,7 @@ const SewerageFinanceRvw = () => {
}, [activeStatsStatusInfo.statsCd, lastSearchValues]);
const latestReviewOpinion = activeStatsStatusInfo.splmntOpnnCn ?? "";
const latestProcessHistory = activeStatsStatusInfo.wrterOpnnCn ?? "";
const latestProcessHistory = activeStatsStatusInfo.splmntRsltCn ?? "";
const submitDialogContext = useMemo<ReviewerInfoRequest | null>(() => {
if (lastSearchValues == null) return null;
@@ -130,11 +130,11 @@ const SewerageFinanceRvw = () => {
const { showReviewOpinionButton, showReturnButton, showSubmitButton } = useMemo(() => {
const statsStatusInfo = activeStatsStatusInfo;
const submit =
statsStatusInfo.submitStatusCd != null
? String(statsStatusInfo.submitStatusCd)
statsStatusInfo.lclgvSbmsnSttsCd != null
? String(statsStatusInfo.lclgvSbmsnSttsCd)
: "";
const prvn =
statsStatusInfo.prvnStatusCd != null ? String(statsStatusInfo.prvnStatusCd) : "";
statsStatusInfo.mctpvPicSbmsnSttsCd != null ? String(statsStatusInfo.mctpvPicSbmsnSttsCd) : "";
const submitIs3 = submit === "3";
const reviewSubmitVisible = submitIs3 && (prvn === "0" || prvn === "1");
return {
@@ -287,7 +287,7 @@ const SewerageFinanceRvw = () => {
next.set(activeTab, {
...(next.get(activeTab) ?? {}),
splmntOpnnCn: row?.splmntOpnnCn ?? "",
wrterOpnnCn: row?.wrterOpnnCn ?? "",
splmntRsltCn: row?.splmntRsltCn ?? "",
});
return next;
});
@@ -310,7 +310,7 @@ const SewerageFinanceRvw = () => {
next.set(activeTab, {
...(next.get(activeTab) ?? {}),
splmntOpnnCn: param.splmntOpnnCn,
wrterOpnnCn: param.wrterOpnnCn,
splmntRsltCn: param.splmntRsltCn,
});
return next;
});
@@ -63,8 +63,8 @@ const SeweragePenetrationRateRvw = () => {
);
const { showReviewOpinionButton, showReturnButton, showSubmitButton } = useMemo(() => {
const submit = statsStatusInfo.submitStatusCd != null ? String(statsStatusInfo.submitStatusCd) : "";
const prvn = statsStatusInfo.prvnStatusCd != null ? String(statsStatusInfo.prvnStatusCd) : "";
const submit = statsStatusInfo.lclgvSbmsnSttsCd != null ? String(statsStatusInfo.lclgvSbmsnSttsCd) : "";
const prvn = statsStatusInfo.mctpvPicSbmsnSttsCd != null ? String(statsStatusInfo.mctpvPicSbmsnSttsCd) : "";
const submitIs3 = submit === "3";
const reviewSubmitVisible = submitIs3 && (prvn === "0" || prvn === "1");
return {
@@ -140,7 +140,7 @@ const SeweragePenetrationRateRvw = () => {
response.data.statsStatusInfo.splmntOpnnCn ?? "",
);
setLatestProcessHistory(
response.data.statsStatusInfo.wrterOpnnCn ?? "",
response.data.statsStatusInfo.splmntRsltCn ?? "",
);
setRowData(toGridRows(convertedData));
} else {
@@ -187,7 +187,7 @@ const SeweragePenetrationRateRvw = () => {
const row = detailRes.data?.[0];
setLatestReviewOpinion(row?.splmntOpnnCn ?? "");
setLatestProcessHistory(row?.wrterOpnnCn ?? "");
setLatestProcessHistory(row?.splmntRsltCn ?? "");
setReviewOpinionOpen(true);
} catch {
alert("검토의견 조회 중 오류가 발생했습니다.");
@@ -205,10 +205,10 @@ const SeweragePenetrationRateRvw = () => {
setStatsStatusInfo((prev) => ({
...prev,
splmntOpnnCn: param.splmntOpnnCn,
wrterOpnnCn: param.wrterOpnnCn,
splmntRsltCn: param.splmntRsltCn,
}));
setLatestReviewOpinion(param.splmntOpnnCn);
setLatestProcessHistory(param.wrterOpnnCn);
setLatestProcessHistory(param.splmntRsltCn);
} catch {
alert("저장 중 오류가 발생했습니다.");
}
@@ -103,7 +103,7 @@ const SewerageServiceLevelRvw = () => {
}, [activeStatsStatusInfo.statsCd, lastSearchValues]);
const latestReviewOpinion = activeStatsStatusInfo.splmntOpnnCn ?? "";
const latestProcessHistory = activeStatsStatusInfo.wrterOpnnCn ?? "";
const latestProcessHistory = activeStatsStatusInfo.splmntRsltCn ?? "";
const submitDialogContext = useMemo<ReviewerInfoRequest | null>(() => {
if (lastSearchValues == null) return null;
@@ -128,11 +128,11 @@ const SewerageServiceLevelRvw = () => {
const { showReviewOpinionButton, showReturnButton, showSubmitButton } = useMemo(() => {
const statsStatusInfo = activeStatsStatusInfo;
const submit =
statsStatusInfo.submitStatusCd != null
? String(statsStatusInfo.submitStatusCd)
statsStatusInfo.lclgvSbmsnSttsCd != null
? String(statsStatusInfo.lclgvSbmsnSttsCd)
: "";
const prvn =
statsStatusInfo.prvnStatusCd != null ? String(statsStatusInfo.prvnStatusCd) : "";
statsStatusInfo.mctpvPicSbmsnSttsCd != null ? String(statsStatusInfo.mctpvPicSbmsnSttsCd) : "";
const submitIs3 = submit === "3";
const reviewSubmitVisible = submitIs3 && (prvn === "0" || prvn === "1");
return {
@@ -288,7 +288,7 @@ const SewerageServiceLevelRvw = () => {
next.set(activeTab, {
...(next.get(activeTab) ?? {}),
splmntOpnnCn: row?.splmntOpnnCn ?? "",
wrterOpnnCn: row?.wrterOpnnCn ?? "",
splmntRsltCn: row?.splmntRsltCn ?? "",
});
return next;
});
@@ -311,7 +311,7 @@ const SewerageServiceLevelRvw = () => {
next.set(activeTab, {
...(next.get(activeTab) ?? {}),
splmntOpnnCn: param.splmntOpnnCn,
wrterOpnnCn: param.wrterOpnnCn,
splmntRsltCn: param.splmntRsltCn,
});
return next;
});
@@ -184,8 +184,8 @@ const StatsInputStatusRvw = () => {
setIsApproveLoading(true);
try {
const userInfo = await getUserInfo();
const mdfrId = (userInfo.userUnqId ?? "").trim();
if (!mdfrId) {
const mdfrUuid = (userInfo.userUnqId ?? "").trim();
if (!mdfrUuid) {
alert("수정자 ID를 확인할 수 없습니다.");
return;
}
@@ -197,7 +197,7 @@ const StatsInputStatusRvw = () => {
.map((row) => {
const statsCd = String(row.statsCd ?? "").trim();
const sewerBzmnCd = String(row.sewerBzmnCd ?? sewerBzmnCdDefault).trim();
return { statsYr, sewerBzmnCd, statsCd, mdfrId };
return { statsYr, sewerBzmnCd, statsCd, mdfrUuid };
})
.filter((item) => item.statsCd.length > 0);
@@ -108,7 +108,7 @@ const WaterReuseRvw = () => {
}, [activeStatsStatusInfo.statsCd, lastSearchValues]);
const latestReviewOpinion = activeStatsStatusInfo.splmntOpnnCn ?? "";
const latestProcessHistory = activeStatsStatusInfo.wrterOpnnCn ?? "";
const latestProcessHistory = activeStatsStatusInfo.splmntRsltCn ?? "";
const submitDialogContext = useMemo<ReviewerInfoRequest | null>(() => {
if (lastSearchValues == null) return null;
@@ -133,11 +133,11 @@ const WaterReuseRvw = () => {
const { showReviewOpinionButton, showReturnButton, showSubmitButton } = useMemo(() => {
const statsStatusInfo = activeStatsStatusInfo;
const submit =
statsStatusInfo.submitStatusCd != null
? String(statsStatusInfo.submitStatusCd)
statsStatusInfo.lclgvSbmsnSttsCd != null
? String(statsStatusInfo.lclgvSbmsnSttsCd)
: "";
const prvn =
statsStatusInfo.prvnStatusCd != null ? String(statsStatusInfo.prvnStatusCd) : "";
statsStatusInfo.mctpvPicSbmsnSttsCd != null ? String(statsStatusInfo.mctpvPicSbmsnSttsCd) : "";
const submitIs3 = submit === "3";
const reviewSubmitVisible = submitIs3 && (prvn === "0" || prvn === "1");
return {
@@ -291,7 +291,7 @@ const WaterReuseRvw = () => {
next.set(activeTab, {
...(next.get(activeTab) ?? {}),
splmntOpnnCn: row?.splmntOpnnCn ?? "",
wrterOpnnCn: row?.wrterOpnnCn ?? "",
splmntRsltCn: row?.splmntRsltCn ?? "",
});
return next;
});
@@ -314,7 +314,7 @@ const WaterReuseRvw = () => {
next.set(activeTab, {
...(next.get(activeTab) ?? {}),
splmntOpnnCn: param.splmntOpnnCn,
wrterOpnnCn: param.wrterOpnnCn,
splmntRsltCn: param.splmntRsltCn,
});
return next;
});
@@ -83,7 +83,7 @@ const ExcretaTreatmentFacilityTot = () => {
return (
<div className="relative">
<SearchForm isDetail={true} isSummary={true} onSubmit={handleSearch} onReset={handleReset} sidoSelectText="전체" defaultRegionAll />
<SearchForm tabKey={config.tabKey} isDetail={true} isSummary={true} onSubmit={handleSearch} onReset={handleReset} sidoSelectText="전체" defaultRegionAll />
{isLoading && (
<div className="absolute inset-0 z-50 [data-theme='black']:bg-transparent rounded-lg p-10 flex justify-center items-center">
@@ -131,7 +131,7 @@ const PrivateSewageFacilityTot = () => {
return (
<div className="relative">
<SearchForm isDetail={true} isSummary={true} onSubmit={handleSearch} onReset={handleReset} sidoSelectText="전체" defaultRegionAll />
<SearchForm tabKey={firstTabKey} isDetail={true} isSummary={true} onSubmit={handleSearch} onReset={handleReset} sidoSelectText="전체" defaultRegionAll />
{/* 하수관로 규칙과 100% 싱크 맞춘 중앙 정렬 소형 팝업 로딩 바 고정 */}
{isLoading && (
@@ -53,7 +53,7 @@ const PublicSewageFacilityTot = () => {
return (
<>
<SearchForm isDetail={true} capacityGbn={true} isSummary={true} onSubmit={handleSearch} sidoSelectText="전체" defaultRegionAll />
<SearchForm tabKey="ST00060001" isDetail={true} capacityGbn={true} isSummary={true} onSubmit={handleSearch} sidoSelectText="전체" defaultRegionAll />
{isLoading && (
<div className="absolute inset-0 z-50 [data-theme='black']:bg-transparent rounded-lg p-10 flex justify-center items-center">
<div className="relative size-[5rem]">
@@ -83,7 +83,7 @@ const PumpingStationTot = () => {
return (
<div className="relative">
<SearchForm isDetail={true} isSummary={true} onSubmit={handleSearch} onReset={handleReset} sidoSelectText="전체" defaultRegionAll />
<SearchForm tabKey={config.tabKey} isDetail={true} isSummary={true} onSubmit={handleSearch} onReset={handleReset} sidoSelectText="전체" defaultRegionAll />
{isLoading && (
<div className="absolute inset-0 z-50 [data-theme='black']:bg-transparent rounded-lg p-10 flex justify-center items-center">
@@ -103,7 +103,7 @@ const SewageExcretaRelatedTot = () => {
return (
<div className="relative">
<SearchForm isDetail={true} isSummary={true} onSubmit={handleSearch} onReset={handleReset} sidoSelectText="전체" defaultRegionAll />
<SearchForm tabKey={firstTabKey} isDetail={true} isSummary={true} onSubmit={handleSearch} onReset={handleReset} sidoSelectText="전체" defaultRegionAll />
{isLoading && (
<div className="absolute inset-0 z-50 [data-theme='black']:bg-transparent rounded-lg p-10 flex justify-center items-center">
@@ -144,7 +144,7 @@ const loadGridData = async (tabKey: string, values: SearchFormValues): Promise<b
return (
<div className="relative">
<SearchForm isDetail={true} isSummary={true} onSubmit={handleSearch} onReset={handleReset} sidoSelectText="전체" defaultRegionAll />
<SearchForm tabKey={firstTabKey} isDetail={true} isSummary={true} onSubmit={handleSearch} onReset={handleReset} sidoSelectText="전체" defaultRegionAll />
{isLoading && (
<div className="absolute inset-0 z-50 [data-theme='black']:bg-transparent rounded-lg p-10 flex justify-center items-center">
@@ -133,7 +133,7 @@ const SewagePipeMaintainTot = () => {
return (
<div className="relative">
<SearchForm isDetail={true} isSummary={true} onSubmit={handleSearch} onReset={handleReset} sidoSelectText="전체" defaultRegionAll />
<SearchForm tabKey={firstTabKey} isDetail={true} isSummary={true} onSubmit={handleSearch} onReset={handleReset} sidoSelectText="전체" defaultRegionAll />
{isLoading && (
<div className="absolute inset-0 z-50 [data-theme='black']:bg-transparent rounded-lg p-10 flex justify-center items-center">
<div className="relative size-[5rem]">
@@ -179,7 +179,7 @@ const SewagePipeTot = () => {
return (
<div className="relative">
<SearchForm isDetail={true} isSummary={true} onSubmit={handleSearch} onReset={handleReset} sidoSelectText="전체" defaultRegionAll />
<SearchForm tabKey={firstTabKey} isDetail={true} isSummary={true} onSubmit={handleSearch} onReset={handleReset} sidoSelectText="전체" defaultRegionAll />
{isLoading && (
<div className="absolute inset-0 z-50 [data-theme='black']:bg-transparent rounded-lg p-10 flex justify-center items-center">
<div className="relative size-[5rem]">
@@ -117,7 +117,7 @@ const SewageReservoirPumpTot = () => {
return (
<div className="relative">
<SearchForm isDetail={true} isSummary={true} onSubmit={handleSearch} onReset={handleReset} sidoSelectText="전체" defaultRegionAll />
<SearchForm tabKey={firstTabKey} isDetail={true} isSummary={true} onSubmit={handleSearch} onReset={handleReset} sidoSelectText="전체" defaultRegionAll />
{isLoading && (
<div className="absolute inset-0 z-50 [data-theme='black']:bg-transparent rounded-lg p-10 flex justify-center items-center">
@@ -143,7 +143,7 @@ const SewerageFinanceTot = () => {
return (
<div className="relative">
<SearchForm isDetail={true} isSummary={true} onSubmit={handleSearch} onReset={handleReset} sidoSelectText="전체" defaultRegionAll />
<SearchForm tabKey={firstTabKey} isDetail={true} isSummary={true} onSubmit={handleSearch} onReset={handleReset} sidoSelectText="전체" defaultRegionAll />
{isLoading && (
<div className="absolute inset-0 z-50 [data-theme='black']:bg-transparent rounded-lg p-10 flex justify-center items-center">
@@ -52,7 +52,7 @@ const SeweragePenetrationRateTot = () => {
return (
<>
<SearchForm isDetail={true} isSummary={true} onSubmit={handleSearch} sidoSelectText="전체" defaultRegionAll />
<SearchForm tabKey="ST00010001" isDetail={true} isSummary={true} onSubmit={handleSearch} sidoSelectText="전체" defaultRegionAll />
{isLoading && <div className="absolute inset-0 z-50 [data-theme='black']:bg-transparent rounded-lg p-10 flex justify-center items-center">
<div className="relative size-[5rem]">
<LoadingWithAnimation color="primary" />
@@ -92,7 +92,7 @@ const SewerageServiceLevelTot = () => {
return (
<div className="relative">
<SearchForm isDetail={true} isSummary={true} onSubmit={handleSearch} onReset={handleReset} sidoSelectText="전체" defaultRegionAll />
<SearchForm tabKey={firstTabKey} isDetail={true} isSummary={true} onSubmit={handleSearch} onReset={handleReset} sidoSelectText="전체" defaultRegionAll />
{isLoading && (
<div className="absolute inset-0 z-50 [data-theme='black']:bg-transparent rounded-lg p-10 flex justify-center items-center">
@@ -157,7 +157,7 @@ const WaterReuseTot = () => {
return (
<div className="relative">
<SearchForm isDetail={true} isSummary={true} onSubmit={handleSearch} onReset={handleReset} sidoSelectText="전체" defaultRegionAll />
<SearchForm tabKey={firstTabKey} isDetail={true} isSummary={true} onSubmit={handleSearch} onReset={handleReset} sidoSelectText="전체" defaultRegionAll />
{/* 정중앙 5rem 크기 고정 격리형 로딩 애니메이션 */}
{isLoading && (
@@ -527,7 +527,7 @@ function StatisticsVerificationReport() {
async function handleApprovalConfirm(formData: ApprovalFormData) {
const commonParam = {
statsYr: filters.statsYr,
mdfrId: userInfo?.userUnqId ?? "",
mdfrUuid: userInfo?.userUnqId ?? "",
};
const approvalRequests = selectedReportRows.map((row) => ({
...commonParam,
@@ -549,7 +549,7 @@ function StatisticsVerificationReport() {
async function handleReject() {
const commonParam = {
statsYr: filters.statsYr,
mdfrId: userInfo?.userUnqId ?? "",
mdfrUuid: userInfo?.userUnqId ?? "",
};
const requestRows = selectedResultRows.map((row) => {
@@ -67,7 +67,7 @@ const CopyDialog = ({
{
vrfcSn: row?.vrfcSn ?? null,
targetStatsCd: selectedCode ?? '',
rgtrId: userInfo.userUnqId,
rgtrUuid: userInfo.userUnqId,
},
userInfo.userUnqId,
);
@@ -61,7 +61,7 @@ const getPreviousFormulaCmprOpert = (
for (let i = formulaBlockIndex - 1; i >= 0; i -= 1) {
const block = blocks[i];
if (block?.kind === "formula") {
return block.data?.cmprOpert ?? null;
return block.data?.cmprArtopnCn ?? null;
}
}
return null;
@@ -71,20 +71,21 @@ const isLikePatternOperator = (value: string | null | undefined) =>
value != null && LIKE_PATTERN_OPERATORS.has(value);
type OperatorItem = {
opertSn: string;
opertSymbl: string;
opertKornNm: string;
artopnSn: string;
artopnSymbl: string;
artopnKornNm: string;
opertSeCd?: string;
};
type ConnectorOperatorItem = OperatorItem;
type SaveDetailRow = {
eqtnCombSeq: number;
fmlaCombSeq: number;
trgtStatsCd: string;
refStatsCd: string | null;
kornArtopnEqtnCn: string;
engArtopnEqtnCn: string;
cmprOpert: string | null;
kornArtopnFmlaCn: string;
engArtopnFmlaCn: string;
cmprArtopnCn: string | null;
grpByYn: string;
};
@@ -155,7 +156,7 @@ const isConnectorOperatorSymbol = (
connectorOps: ConnectorOperatorItem[],
) => {
if (value == null || value === "") return false;
return connectorOps.some((op) => op.opertSymbl === value);
return connectorOps.some((op) => op.artopnSymbl === value);
};
const isConditionConnectorValue = (
@@ -171,8 +172,8 @@ const isConditionConnectorValue = (
) {
return true;
}
const op = connectorOps.find((o) => o.opertSymbl === value);
return op ? /조건/.test(op.opertKornNm) : false;
const op = connectorOps.find((o) => o.artopnSymbl === value);
return op ? /조건/.test(op.artopnKornNm) : false;
};
/** ruleBlocks 기준 등록 벨리데이션 + 저장 rows 생성 */
@@ -182,8 +183,8 @@ const validateAndBuildSaveRows = (
cmprOps: OperatorItem[],
connectorOps: ConnectorOperatorItem[],
): { ok: true; rows: SaveDetailRow[] } | { ok: false; message: string } => {
const cmprSet = new Set(cmprOps.map((o) => o.opertSymbl));
const connectorSet = new Set(connectorOps.map((o) => o.opertSymbl));
const cmprSet = new Set(cmprOps.map((o) => o.artopnSymbl));
const connectorSet = new Set(connectorOps.map((o) => o.artopnSymbl));
const formulaBlockIndexes = blocks
.map((b, i) => (b.kind === "formula" ? i : -1))
@@ -244,8 +245,8 @@ const validateAndBuildSaveRows = (
const blockIndex = formulaBlockIndexes[fi]!;
const block = blocks[blockIndex] as FormulaBlock;
const ordinal = fi + 1;
const korn = block.data?.kornArtopnEqtnCn?.trim() ?? "";
const eng = block.data?.engArtopnEqtnCn?.trim() ?? "";
const korn = block.data?.kornArtopnFmlaCn?.trim() ?? "";
const eng = block.data?.engArtopnFmlaCn?.trim() ?? "";
if (!korn || !eng) {
return {
@@ -254,7 +255,7 @@ const validateAndBuildSaveRows = (
};
}
const cmpr = block.data?.cmprOpert ?? null;
const cmpr = block.data?.cmprArtopnCn ?? null;
if (cmpr != null && cmpr !== "" && !cmprSet.has(cmpr)) {
return {
ok: false,
@@ -296,7 +297,7 @@ const validateAndBuildSaveRows = (
if (formulaBlockIndexes.length === 1) {
const only = blocks[formulaBlockIndexes[0]!] as FormulaBlock;
const cmpr = only.data?.cmprOpert ?? null;
const cmpr = only.data?.cmprArtopnCn ?? null;
if (cmpr == null || !UNARY_TERMINAL_OPERATORS.has(cmpr)) {
return {
ok: false,
@@ -314,7 +315,7 @@ const validateAndBuildSaveRows = (
const next = blocks[i + 1];
const connectorValue =
next?.kind === "connector" ? next.value : null;
let cmprOpert = block.data?.cmprOpert ?? connectorValue ?? null;
let cmprOpert = block.data?.cmprArtopnCn ?? connectorValue ?? null;
const hasFollowingFormula = blocks
.slice(i + 1)
@@ -329,12 +330,12 @@ const validateAndBuildSaveRows = (
}
rows.push({
eqtnCombSeq: seq,
fmlaCombSeq: seq,
trgtStatsCd,
refStatsCd: block.data?.refStatsCd ?? null,
kornArtopnEqtnCn: block.data?.kornArtopnEqtnCn ?? "",
engArtopnEqtnCn: block.data?.engArtopnEqtnCn ?? "",
cmprOpert,
kornArtopnFmlaCn: block.data?.kornArtopnFmlaCn ?? "",
engArtopnFmlaCn: block.data?.engArtopnFmlaCn ?? "",
cmprArtopnCn: cmprOpert,
grpByYn: block.groupBy ? "Y" : "N",
});
seq += 1;
@@ -352,7 +353,7 @@ const buildRuleBlocksFromFormulas = (
const blocks: RuleBlock[] = [];
for (const row of list) {
const cmpr = row?.cmprOpert ?? null;
const cmpr = row?.cmprArtopnCn ?? null;
const moveToConnector = isConnectorOperatorSymbol(cmpr, connectorOps);
blocks.push({
@@ -360,7 +361,7 @@ const buildRuleBlocksFromFormulas = (
id: nextId(),
data: row
? moveToConnector
? { ...row, cmprOpert: null }
? { ...row, cmprArtopnCn: null }
: row
: null,
groupBy: row?.grpByYn === "Y",
@@ -436,9 +437,9 @@ const DetailComponent = ({
) {
return true;
}
const op = connectorOperators.find((o) => o.opertSymbl === value);
const op = connectorOperators.find((o) => o.artopnSymbl === value);
if (!op) return false;
return /조건/.test(op.opertKornNm);
return /조건/.test(op.artopnKornNm);
};
const formulaBlocks = ruleBlocks.filter(
@@ -483,9 +484,9 @@ const DetailComponent = ({
? {
vrfcDtlSn: row.vrfcDtlSn ?? null,
refStatsCd: row.refStatsCd ?? null,
kornArtopnEqtnCn: row.kornArtopnEqtnCn ?? "",
engArtopnEqtnCn: row.engArtopnEqtnCn ?? "",
cmprOpert: row.cmprOpert ?? null,
kornArtopnFmlaCn: row.kornArtopnFmlaCn ?? "",
engArtopnFmlaCn: row.engArtopnFmlaCn ?? "",
cmprArtopnCn: row.cmprArtopnCn ?? null,
grpByYn: flags[idx] ? "Y" : "N",
}
: null,
@@ -536,14 +537,14 @@ const DetailComponent = ({
if (lastFormulaIdx < 0) return prev;
const last = prev[lastFormulaIdx];
if (!last || last.kind !== "formula" || !last.data) return prev;
const cmpr = last.data.cmprOpert;
const cmpr = last.data.cmprArtopnCn;
if (cmpr == null || UNARY_TERMINAL_OPERATORS.has(cmpr)) {
return prev;
}
const next = [...prev];
next[lastFormulaIdx] = {
...last,
data: { ...last.data, cmprOpert: null },
data: { ...last.data, cmprArtopnCn: null },
};
return next;
});
@@ -558,14 +559,14 @@ const DetailComponent = ({
await generalverificationApiService.RegistVrfcDetail({
vrfcSn: detailInfo?.commonInfo.vrfcSn ?? null,
detailList: rows,
rgtrId: userInfo.userUnqId,
rgtrUuid: userInfo.userUnqId,
});
} else {
response =
await generalverificationApiService.UpdateVrfcDetail({
vrfcSn: detailInfo?.commonInfo.vrfcSn ?? null,
detailList: rows,
mdfrId: userInfo.userUnqId,
mdfrUuid: userInfo.userUnqId,
});
}
@@ -649,8 +650,8 @@ const DetailComponent = ({
};
const handleFormulaConfirm = (payload: {
kornArtopnEqtnCn: string;
engArtopnEqtnCn: string;
kornArtopnFmlaCn: string;
engArtopnFmlaCn: string;
refStatsCd: string | null;
refStatsNm: string | null;
}) => {
@@ -668,8 +669,8 @@ const DetailComponent = ({
data: item.data
? {
...item.data,
kornArtopnEqtnCn: payload.kornArtopnEqtnCn,
engArtopnEqtnCn: payload.engArtopnEqtnCn,
kornArtopnFmlaCn: payload.kornArtopnFmlaCn,
engArtopnFmlaCn: payload.engArtopnFmlaCn,
refStatsCd: payload.refStatsCd,
refStatsNm: payload.refStatsNm,
}
@@ -677,9 +678,9 @@ const DetailComponent = ({
vrfcDtlSn: null,
refStatsCd: payload.refStatsCd,
refStatsNm: payload.refStatsNm,
kornArtopnEqtnCn: payload.kornArtopnEqtnCn,
engArtopnEqtnCn: payload.engArtopnEqtnCn,
cmprOpert: null,
kornArtopnFmlaCn: payload.kornArtopnFmlaCn,
engArtopnFmlaCn: payload.engArtopnFmlaCn,
cmprArtopnCn: null,
grpByYn: item.groupBy ? "Y" : "N",
},
};
@@ -748,8 +749,8 @@ const DetailComponent = ({
return;
}
const defaultValue =
connectorOperators.find((op) => op.opertSymbl.toLowerCase() === "and")
?.opertSymbl ?? connectorOperators[0]!.opertSymbl;
connectorOperators.find((op) => op.artopnSymbl.toLowerCase() === "and")
?.artopnSymbl ?? connectorOperators[0]!.artopnSymbl;
setRuleBlocks((prev) => [
...prev,
{
@@ -845,9 +846,9 @@ const DetailComponent = ({
</TableHead>
<TableCell className="text-center">
{detailInfo?.commonInfo
.dcptDigtCnt === 0
.dcptDgt === 0
? "소수점 생략"
: `${detailInfo?.commonInfo.dcptDigtCnt}자리에서 ${detailInfo?.commonInfo.dcptPrcsMthNm}`}
: `${detailInfo?.commonInfo.dcptDgt}자리에서 ${detailInfo?.commonInfo.dcptPrcsMthNm}`}
</TableCell>
</TableRow>
</TableBody>
@@ -924,7 +925,7 @@ const DetailComponent = ({
(opt) => {
const disabled =
isConditionOperator(
opt.opertSymbl,
opt.artopnSymbl,
) &&
conditionBoundaryBlockIndex !==
-1 &&
@@ -933,17 +934,17 @@ const DetailComponent = ({
return (
<SelectItem
key={
opt.opertSn
opt.artopnSn
}
value={
opt.opertSymbl
opt.artopnSymbl
}
disabled={
disabled
}
>
{
opt.opertKornNm
opt.artopnKornNm
}
</SelectItem>
);
@@ -1043,7 +1044,7 @@ const DetailComponent = ({
data: cur.data
? {
...cur.data,
cmprOpert,
cmprArtopnCn: cmprOpert,
}
: {
vrfcDtlSn:
@@ -1052,11 +1053,11 @@ const DetailComponent = ({
null,
refStatsNm:
null,
kornArtopnEqtnCn:
kornArtopnFmlaCn:
"",
engArtopnEqtnCn:
engArtopnFmlaCn:
"",
cmprOpert,
cmprArtopnCn: cmprOpert,
grpByYn:
cur.groupBy
? "Y"
@@ -27,8 +27,8 @@ import {
} from "@common/components";
export interface FomulaDialogConfirmPayload {
kornArtopnEqtnCn: string;
engArtopnEqtnCn: string;
kornArtopnFmlaCn: string;
engArtopnFmlaCn: string;
/** 참조 통계코드 (수식에 참조 컬럼이 없으면 null) */
refStatsCd: string | null;
/** 참조 통계명 (수식에 참조 컬럼이 없으면 null) */
@@ -315,7 +315,7 @@ const FomulaDialog = ({ open, onOpenChange, data, trgtStatsCd, trgtStatsNm, allo
useEffect(() => {
if (open) {
const raw = data?.kornArtopnEqtnCn ?? '';
const raw = data?.kornArtopnFmlaCn ?? '';
const wasBacktickWrapped =
raw.length >= 2 && raw.startsWith("`") && raw.endsWith("`");
const str = stripBacktickWrap(raw);
@@ -330,7 +330,7 @@ const FomulaDialog = ({ open, onOpenChange, data, trgtStatsCd, trgtStatsNm, allo
setUserDirectInput(false);
}
}
}, [open, data?.kornArtopnEqtnCn, data?.vrfcDtlSn, allowLikeDirectInput]);
}, [open, data?.kornArtopnFmlaCn, data?.vrfcDtlSn, allowLikeDirectInput]);
/**
* 재오픈 직후에는 columnInfo가 아직 없어서 parseDisplayToSegments가 컬럼명을 매칭 못하고
@@ -340,7 +340,7 @@ const FomulaDialog = ({ open, onOpenChange, data, trgtStatsCd, trgtStatsNm, allo
*/
useEffect(() => {
if (!open || isUserDirectInputMode) return;
const src = stripBacktickWrap(data?.kornArtopnEqtnCn ?? '');
const src = stripBacktickWrap(data?.kornArtopnFmlaCn ?? '');
if (!src) return;
const displayJoined = formulaDisplaySegments.join('');
@@ -369,7 +369,7 @@ const FomulaDialog = ({ open, onOpenChange, data, trgtStatsCd, trgtStatsNm, allo
setFormulaValueSegments(value);
}, [
open,
data?.kornArtopnEqtnCn,
data?.kornArtopnFmlaCn,
columnInfo?.commonColumnInfo,
columnInfo?.targetColumnInfo?.colList,
columnInfo?.refColumnInfo?.colList,
@@ -379,14 +379,14 @@ const FomulaDialog = ({ open, onOpenChange, data, trgtStatsCd, trgtStatsNm, allo
]);
useEffect(() => {
if (!open || isUserDirectInputMode || columnInfo?.kornArtopnEqtnCn == null) return;
const strippedColumn = stripBacktickWrap(columnInfo.kornArtopnEqtnCn);
const strippedData = stripBacktickWrap(data?.kornArtopnEqtnCn ?? "");
if (!open || isUserDirectInputMode || columnInfo?.kornArtopnFmlaCn == null) return;
const strippedColumn = stripBacktickWrap(columnInfo.kornArtopnFmlaCn);
const strippedData = stripBacktickWrap(data?.kornArtopnFmlaCn ?? "");
if (strippedData !== strippedColumn) return;
const { display, value } = parseDisplayToSegments(strippedColumn);
setFormulaDisplaySegments(display);
setFormulaValueSegments(value);
}, [open, data?.kornArtopnEqtnCn, columnInfo?.kornArtopnEqtnCn, isUserDirectInputMode]);
}, [open, data?.kornArtopnFmlaCn, columnInfo?.kornArtopnFmlaCn, isUserDirectInputMode]);
const handleChangeRefStatsCd = (next: string) => {
if (!open) return;
@@ -766,8 +766,8 @@ const FomulaDialog = ({ open, onOpenChange, data, trgtStatsCd, trgtStatsNm, allo
const isEmptyFormula = raw.trim().length === 0;
const refStats = resolveRefStatsForConfirm(isEmptyFormula);
onConfirm?.({
kornArtopnEqtnCn: isEmptyFormula ? raw : wrapped,
engArtopnEqtnCn: isEmptyFormula ? raw : wrapped,
kornArtopnFmlaCn: isEmptyFormula ? raw : wrapped,
engArtopnFmlaCn: isEmptyFormula ? raw : wrapped,
...refStats,
});
onOpenChange?.(false);
@@ -783,13 +783,13 @@ const FomulaDialog = ({ open, onOpenChange, data, trgtStatsCd, trgtStatsNm, allo
return;
}
setFormulaSaveError(null);
const kornArtopnEqtnCn = formulaDisplaySegments.join('');
const engArtopnEqtnCn = getFormulaValueForSubmit();
const isEmptyFormula = kornArtopnEqtnCn.trim().length === 0;
const kornArtopnFmlaCn = formulaDisplaySegments.join('');
const engArtopnFmlaCn = getFormulaValueForSubmit();
const isEmptyFormula = kornArtopnFmlaCn.trim().length === 0;
const refStats = resolveRefStatsForConfirm(isEmptyFormula);
onConfirm?.({
kornArtopnEqtnCn,
engArtopnEqtnCn,
kornArtopnFmlaCn,
engArtopnFmlaCn,
...refStats,
});
onOpenChange?.(false);
@@ -48,9 +48,9 @@ const FormulaComponents = ({
vrfcClsfCd,
disabled = false,
}: FormulaComponentsProps) => {
const cmprOpert = data?.cmprOpert;
const cmprOpert = data?.cmprArtopnCn;
const displayFormula = data
? stripBacktickWrap(data.kornArtopnEqtnCn ?? "")
? stripBacktickWrap(data.kornArtopnFmlaCn ?? "")
: "";
return (
@@ -10,9 +10,10 @@ import {
} from "@common/components";
type OperatorItem = {
opertSn: string;
opertSymbl: string;
opertKornNm: string;
artopnSn: string;
artopnSymbl: string;
artopnKornNm: string;
opertSeCd?: string;
};
// opertSeCd 별 operators 목록을 전역 캐싱해서, 수식 블록이 여러 개여도 중복 요청이 발생하지 않게 한다.
@@ -91,8 +92,8 @@ const OperatorsComponents = ({
연산자 없음
</SelectItem>
{operators.map((op) => (
<SelectItem key={op.opertSn} value={op.opertSymbl}>
{op.opertKornNm}
<SelectItem key={op.artopnSn} value={op.artopnSymbl}>
{op.artopnKornNm}
</SelectItem>
))}
</SelectContent>
@@ -87,32 +87,32 @@ const RegistDialog = memo(
vrfcClsfCd: detailData?.data.vrfcClsfCd ?? '',
trgtStatsCd: detailData?.data.trgtStatsCd ?? '',
trgtStatsNm: detailData?.data.trgtStatsNm ?? '',
dcptDigtCnt: detailData?.data.dcptDigtCnt ?? 0,
dcptDgt: detailData?.data.dcptDgt ?? 0,
dcptPrcsMthCd: detailData?.data.dcptPrcsMthCd ?? null,
useYn: detailData?.data.useYn ?? 'Y',
rgtrId: detailData?.data.rgtrId ?? '',
rgtrUuid: detailData?.data.rgtrUuid ?? '',
regDt: detailData?.data.regDt ?? '',
mdfrId: detailData?.data.mdfrId ?? '',
mdfrUuid: detailData?.data.mdfrUuid ?? '',
mdfcnDt: detailData?.data.mdfcnDt ?? '',
},
});
const dcptDigtCnt = form.watch('dcptDigtCnt');
const rgtrId = form.watch('rgtrId');
const mdfrId = form.watch('mdfrId');
const dcptDgt = form.watch('dcptDgt');
const rgtrUuid = form.watch('rgtrUuid');
const mdfrUuid = form.watch('mdfrUuid');
const trgtStatsCd = form.watch('trgtStatsCd');
const vrfcNm = form.watch('vrfcNm');
const { data: registrarUser } = useQuery({
queryKey: ['user', 'rgtr', rgtrId],
queryFn: () => UserApi.findByUserUnqId(rgtrId!),
enabled: open && !!rgtrId,
queryKey: ['user', 'rgtr', rgtrUuid],
queryFn: () => UserApi.findByUserUnqId(rgtrUuid!),
enabled: open && !!rgtrUuid,
});
const { data: modifierUser } = useQuery({
queryKey: ['user', 'mdfr', mdfrId],
queryFn: () => UserApi.findByUserUnqId(mdfrId!),
enabled: open && !!mdfrId,
queryKey: ['user', 'mdfr', mdfrUuid],
queryFn: () => UserApi.findByUserUnqId(mdfrUuid!),
enabled: open && !!mdfrUuid,
});
const originalVrfcNmRef = useRef<string | null>(null);
@@ -262,23 +262,23 @@ const RegistDialog = memo(
vrfcSn: data.vrfcSn,
vrfcNm: data.vrfcNm,
vrfcClsfCd: data.vrfcClsfCd,
dcptDigtCnt: data.dcptDigtCnt,
dcptDgt: data.dcptDgt,
useYn: data.useYn,
...(data.dcptDigtCnt === 0
...(data.dcptDgt === 0
? {}
: { dcptPrcsMthCd: data.dcptPrcsMthCd }),
trgtStatsCd: data.trgtStatsCd,
mdfrId: userInfo.userUnqId,
mdfrUuid: userInfo.userUnqId,
};
await handleUpdateVrfcMaster(updateData);
} else {
const registData = {
vrfcNm: data.vrfcNm,
vrfcClsfCd: data.vrfcClsfCd,
dcptDigtCnt: data.dcptDigtCnt,
dcptDgt: data.dcptDgt,
dcptPrcsMthCd: data.dcptPrcsMthCd,
trgtStatsCd: data.trgtStatsCd,
rgtrId: userInfo.userUnqId
rgtrUuid: userInfo.userUnqId
};
await handleRegistVrfcMaster(registData);
}
@@ -419,7 +419,7 @@ const RegistDialog = memo(
<TableCell className="border">
<FormField
control={form.control}
name="dcptDigtCnt"
name="dcptDgt"
render={({ field }) => (
<FormItem>
<FormControl>
@@ -436,9 +436,9 @@ const RegistDialog = memo(
<p className="text-gray-500 text-base !mt-0">
※ 0일시 소수점자리 생략
</p>
{form.formState.errors.dcptDigtCnt && (
{form.formState.errors.dcptDgt && (
<p className="text-red-500 text-base pt-2">
{form.formState.errors.dcptDigtCnt.message}
{form.formState.errors.dcptDgt.message}
</p>
)}
</FormItem>
@@ -458,7 +458,7 @@ const RegistDialog = memo(
<Select
value={field.value ?? ""}
onValueChange={field.onChange}
disabled={editBlocked || Number(dcptDigtCnt ?? 0) === 0}
disabled={editBlocked || Number(dcptDgt ?? 0) === 0}
>
<SelectTrigger className="w-[10rem]">
<SelectValue placeholder="선택" />
@@ -526,7 +526,7 @@ const RegistDialog = memo(
<TableCell className="border">
<FormField
control={form.control}
name="rgtrId"
name="rgtrUuid"
render={({ field }) => (
<FormItem>
<FormControl>
@@ -568,7 +568,7 @@ const RegistDialog = memo(
<TableCell className="border">
<FormField
control={form.control}
name="mdfrId"
name="mdfrUuid"
render={({ field }) => (
<FormItem>
<FormControl>
+6 -4
View File
@@ -7,10 +7,10 @@ import type { RealGridReact } from "realgrid-react";
/** DataGrid 상단 진행상황/제출일/담당자 표시에 사용 (보급률·하수관로 등 공통) */
export type DataGridStatusBannerInfo = {
laeSbmsnSttsCd: string | null;
laeSbmsnYmd: string | null;
laePicNm: string | null;
laePicTelNo: string | null;
lclgvSbmsnSttsCd: string | null;
lclgvSbmsnYmd: string | null;
lclgvPicNm: string | null;
lclgvPicTelnoCn: string | null;
rjctOpnnCn: string | null;
};
/** setColumns에 전달하는 컬럼 정보 (footer 배열/단일 객체 포함) */
@@ -441,6 +441,8 @@ export type DataGridProps = {
Array<{
vrfcCd: string;
rsnExpln: string;
nowCn?: string;
cmprCn?: string;
nowVlCn?: string;
compVlCn?: string;
}>
@@ -28,6 +28,8 @@ export type SearchFormProps = {
capacityGbn?: boolean;
isDetail?: boolean;
isSummary?: boolean;
/** 집계 화면 등에서 체크박스 id 중복을 막기 위한 첫 탭 키 */
tabKey?: string;
onSubmit?: (values: SearchFormValues) => void;
onReset?: () => void;
onValuesChange?: (values: SearchFormValues) => void;
@@ -41,7 +43,7 @@ export type SearchFormProps = {
};
export const defaultSearchFormProps: Required<
Omit<SearchFormProps, "onSubmit" | "onReset" | "onValuesChange" | "defaultValues" | "sidoSelectText" | "searchButtonText" | "defaultRegionAll" | "isInput">
Omit<SearchFormProps, "onSubmit" | "onReset" | "onValuesChange" | "defaultValues" | "sidoSelectText" | "searchButtonText" | "defaultRegionAll" | "isInput" | "tabKey">
> = {
sido: true,
gugun: true,
@@ -1,4 +1,5 @@
export const doList = [
"1200000000",
"4100000000",
"4200000000",
"4300000000",
@@ -31,4 +32,5 @@ export const doNameList = [
"전라남도",
"경상북도",
"경상남도",
"전남광주통합특별시",
];
@@ -15,7 +15,7 @@ export const ExcretaTreatFactInpColumn = {
// 기본 정보
{ name: 'fcltNm', fieldName: 'fcltNm', header: { text: '시설명' }, styleName: 'rg-cell-readonly' },
{ name: 'fcltPstnCn', fieldName: 'fcltPstnCn', header: { text: '소재지' } },
{ name: 'telNo', fieldName: 'telNo', header: { text: '전화번호' } },
{ name: 'telnoCn', fieldName: 'telnoCn', header: { text: '전화번호' } },
// 날짜 정보
{
@@ -43,41 +43,41 @@ export const ExcretaTreatFactInpColumn = {
// 사업비/용량 정보
{ name: 'wholPjtcoAmt', fieldName: 'wholPjtcoAmt', header: { text: '사업비(백만원)' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'prcsFcltCpct', fieldName: 'prcsFcltCpct', header: { text: '시설용량(m³/일)' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' },
{ name: 'cpct', fieldName: 'cpct', header: { text: '처리량(m³/일)' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' },
{ name: 'oprtngDayCnt', fieldName: 'oprtngDayCnt', header: { text: '가동일수(일/년)' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'fcltCpct', fieldName: 'fcltCpct', header: { text: '시설용량(m³/일)' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' },
{ name: 'excrFcltPrcqty', fieldName: 'excrFcltPrcqty', header: { text: '처리량(m³/일)' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' },
{ name: 'fcltOprtngDayCnt', fieldName: 'fcltOprtngDayCnt', header: { text: '가동일수(일/년)' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
// 처리 공법 및 연계
{ name: 'prcsMthdExpln', fieldName: 'prcsMthdExpln', header: { text: '처리공법' } },
{ name: 'prcsExpln', fieldName: 'prcsExpln', header: { text: '처리공법' } },
{ name: 'linkTmplntCn', fieldName: 'linkTmplntCn', header: { text: '연계처리장명' } },
{ name: 'linkPrcsQnt', fieldName: 'linkPrcsQnt', header: { text: '연계처리량(m³/일)' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' },
// 유입수질
{ name: 'inflwBodWqVl', fieldName: 'inflwBodWqVl', header: { text: 'BOD' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' },
{ name: 'inflwTocWqVl', fieldName: 'inflwTocWqVl', header: { text: 'TOC' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' },
{ name: 'inflwSsWqVl', fieldName: 'inflwSsWqVl', header: { text: 'SS' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' },
{ name: 'inflwTnWqVl', fieldName: 'inflwTnWqVl', header: { text: 'T-N' }, footer: footerDecimal3, valueType: ValueType.NUMBER, dataFormat: '#,##0.000' },
{ name: 'inflwTpWqVl', fieldName: 'inflwTpWqVl', header: { text: 'T-P' }, footer: footerDecimal3, valueType: ValueType.NUMBER, dataFormat: '#,##0.000' },
{ name: 'inflwClfgCnt', fieldName: 'inflwClfgCnt', header: { text: '대장균군수' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'inflwWqBod', fieldName: 'inflwWqBod', header: { text: 'BOD' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' },
{ name: 'inflwWqTorgcb', fieldName: 'inflwWqTorgcb', header: { text: 'TOC' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' },
{ name: 'inflwWqSpsld', fieldName: 'inflwWqSpsld', header: { text: 'SS' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' },
{ name: 'inflwWqDtn', fieldName: 'inflwWqDtn', header: { text: 'T-N' }, footer: footerDecimal3, valueType: ValueType.NUMBER, dataFormat: '#,##0.000' },
{ name: 'inflwWqTph', fieldName: 'inflwWqTph', header: { text: 'T-P' }, footer: footerDecimal3, valueType: ValueType.NUMBER, dataFormat: '#,##0.000' },
{ name: 'fcltInflwClfgCnt', fieldName: 'fcltInflwClfgCnt', header: { text: '대장균군수' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
// 방류수질
{ name: 'dschgBodWqVl', fieldName: 'dschgBodWqVl', header: { text: 'BOD' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' },
{ name: 'dschgTocWqVl', fieldName: 'dschgTocWqVl', header: { text: 'TOC' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' },
{ name: 'dschgSsWqVl', fieldName: 'dschgSsWqVl', header: { text: 'SS' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' },
{ name: 'dschgTnWqVl', fieldName: 'dschgTnWqVl', header: { text: 'T-N' }, footer: footerDecimal3, valueType: ValueType.NUMBER, dataFormat: '#,##0.000' },
{ name: 'dschgTpWqVl', fieldName: 'dschgTpWqVl', header: { text: 'T-P' }, footer: footerDecimal3, valueType: ValueType.NUMBER, dataFormat: '#,##0.000' },
{ name: 'dschgClfgCnt', fieldName: 'dschgClfgCnt', header: { text: '대장균군수' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'dschgWqBod', fieldName: 'dschgWqBod', header: { text: 'BOD' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' },
{ name: 'dschgWqTorgcb', fieldName: 'dschgWqTorgcb', header: { text: 'TOC' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' },
{ name: 'dschgWqSpsld', fieldName: 'dschgWqSpsld', header: { text: 'SS' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' },
{ name: 'dschgWqDtn', fieldName: 'dschgWqDtn', header: { text: 'T-N' }, footer: footerDecimal3, valueType: ValueType.NUMBER, dataFormat: '#,##0.000' },
{ name: 'dschgWqTph', fieldName: 'dschgWqTph', header: { text: 'T-P' }, footer: footerDecimal3, valueType: ValueType.NUMBER, dataFormat: '#,##0.000' },
{ name: 'fcltDschgClfgCnt', fieldName: 'fcltDschgClfgCnt', header: { text: '대장균군수' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
// 방류수역
{ name: 'wtsysNm', fieldName: 'wtsysNm', header: { text: '수계' } },
{ name: 'trbtrNm', fieldName: 'trbtrNm', header: { text: '지류' } },
{ name: 'fcltWtsysNm', fieldName: 'fcltWtsysNm', header: { text: '수계' } },
{ name: 'fcltTrbtrNm', fieldName: 'fcltTrbtrNm', header: { text: '지류' } },
{ name: 'msirbCn', fieldName: 'msirbCn', header: { text: '중권역' } },
{ name: 'ssirbCn', fieldName: 'ssirbCn', header: { text: '소권역' } },
// 운영 정보
{ name: 'operMthdCdCn', fieldName: 'operMthdCdCn', header: { text: '운영주체(자체/공기업/민간위탁)' } },
{ name: 'operCn', fieldName: 'operCn', header: { text: '운영주체(자체/공기업/민간위탁)' } },
{ name: 'wholNope', fieldName: 'wholNope', header: { text: '직원총수(명)' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'sftyAcdntEvntcsCnt', fieldName: 'sftyAcdntEvntcsCnt', header: { text: '안전사고건수(건/인/년)' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'sftyAcdntNocs', fieldName: 'sftyAcdntNocs', header: { text: '안전사고건수(건/인/년)' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
// 비고
{ name: 'rmrk', fieldName: 'rmrk', header: { text: '비고' } },
@@ -100,37 +100,37 @@ export const ExcretaTreatFactInpColumn = {
},
'fcltNm',
'fcltPstnCn',
'telNo',
'telnoCn',
'cmptnStrtYmd',
'oprtngStrtYmd',
'wholPjtcoAmt',
'prcsFcltCpct',
'cpct',
'oprtngDayCnt',
'prcsMthdExpln',
'fcltCpct',
'excrFcltPrcqty',
'fcltOprtngDayCnt',
'prcsExpln',
'linkTmplntCn',
'linkPrcsQnt',
{
name: 'influenceGroup',
hideChildHeaders: false,
header: { text: '유입수질(mg/L, 개/mL)' },
items: ['inflwBodWqVl', 'inflwTocWqVl', 'inflwSsWqVl', 'inflwTnWqVl', 'inflwTpWqVl', 'inflwClfgCnt'],
items: ['inflwWqBod', 'inflwWqTorgcb', 'inflwWqSpsld', 'inflwWqDtn', 'inflwWqTph', 'fcltInflwClfgCnt'],
},
{
name: 'effluentGroup',
hideChildHeaders: false,
header: { text: '방류수질(mg/L, 개/mL)' },
items: ['dschgBodWqVl', 'dschgTocWqVl', 'dschgSsWqVl', 'dschgTnWqVl', 'dschgTpWqVl', 'dschgClfgCnt'],
items: ['dschgWqBod', 'dschgWqTorgcb', 'dschgWqSpsld', 'dschgWqDtn', 'dschgWqTph', 'fcltDschgClfgCnt'],
},
{
name: 'dischargeGroup',
hideChildHeaders: false,
header: { text: '방류수역' },
items: ['wtsysNm', 'trbtrNm', 'msirbCn', 'ssirbCn'],
items: ['fcltWtsysNm', 'fcltTrbtrNm', 'msirbCn', 'ssirbCn'],
},
'operMthdCdCn',
'operCn',
'wholNope',
'sftyAcdntEvntcsCnt',
'sftyAcdntNocs',
'rmrk',
'admdstCd',
'fcltSn',
@@ -58,10 +58,10 @@ export const PumpingStationInpColumn = {
datetimeFormat: 'yyyy-MM-dd',
},
},
{ name: 'planMltvArea', fieldName: 'planMltvArea', header: { text: '계획배수면적(㎢)' }, footer: footerDecimal3, valueType: ValueType.NUMBER, dataFormat: '#,##0.000' },
{ name: 'planDrnar', fieldName: 'planDrnar', header: { text: '계획배수면적(㎢)' }, footer: footerDecimal3, valueType: ValueType.NUMBER, dataFormat: '#,##0.000' },
// 계획시간 대 최대배수량
{ name: 'sndyArea', fieldName: 'sndyArea', header: { text: '청천시(A)' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' },
{ name: 'icodwArea', fieldName: 'icodwArea', header: { text: '청천시(A)' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' },
{ name: 'rainArea', fieldName: 'rainArea', header: { text: '우천시(B)' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' },
{
name: 'exlnQnt',
@@ -71,14 +71,14 @@ export const PumpingStationInpColumn = {
editable: false,
valueType: ValueType.NUMBER,
dataFormat: '#,##0.0',
computed: { fields: ['rainArea', 'sndyArea'], type: 'difference' as const },
computed: { fields: ['rainArea', 'icodwArea'], type: 'difference' as const },
styleName: 'rg-cell-total',
},
// 배수능력 > 총 양수량 (오수)
{
name: 'drtwPumpGrssPpqty',
fieldName: 'drtwPumpGrssPpqty',
name: 'drtwPumpWholPpqty',
fieldName: 'drtwPumpWholPpqty',
header: { text: '총양수량(m³/min)' },
footer: footerDecimal1,
editable: false,
@@ -108,27 +108,27 @@ export const PumpingStationInpColumn = {
},
// 배수능력 > 오수펌프(1)
{ name: 'drtwPumpN1DmtrArea', fieldName: 'drtwPumpN1DmtrArea', header: { text: '구경(mm)' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'drtwPumpN1Dmtr', fieldName: 'drtwPumpN1Dmtr', header: { text: '구경(mm)' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'drtwPumpN1Ppqty', fieldName: 'drtwPumpN1Ppqty', header: { text: '대당 양수량(m³/min·대)' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' },
{ name: 'drtwPumpN1Cnt', fieldName: 'drtwPumpN1Cnt', header: { text: '펌프대수' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'drtwPumpN1RsrvCnt', fieldName: 'drtwPumpN1RsrvCnt', header: { text: '예비펌프대수' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
// 배수능력 > 오수펌프(2)
{ name: 'drtwPumpN2DmtrArea', fieldName: 'drtwPumpN2DmtrArea', header: { text: '구경(mm)' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'drtwPumpN2Dmtr', fieldName: 'drtwPumpN2Dmtr', header: { text: '구경(mm)' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'drtwPumpN2Ppqty', fieldName: 'drtwPumpN2Ppqty', header: { text: '대당 양수량(m³/min·대)' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' },
{ name: 'drtwPumpN2Cnt', fieldName: 'drtwPumpN2Cnt', header: { text: '펌프대수' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'drtwPumpN2RsrvCnt', fieldName: 'drtwPumpN2RsrvCnt', header: { text: '예비펌프대수' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
// 배수능력 > 오수펌프(3)
{ name: 'drtwPumpN3DmtrArea', fieldName: 'drtwPumpN3DmtrArea', header: { text: '구경(mm)' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'drtwPumpN3Dmtr', fieldName: 'drtwPumpN3Dmtr', header: { text: '구경(mm)' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'drtwPumpN3Ppqty', fieldName: 'drtwPumpN3Ppqty', header: { text: '대당 양수량(m³/min·대)' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' },
{ name: 'drtwPumpN3Cnt', fieldName: 'drtwPumpN3Cnt', header: { text: '펌프대수' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'drtwPumpN3RsrvCnt', fieldName: 'drtwPumpN3RsrvCnt', header: { text: '예비펌프대수' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
// 배수능력 > 총 양수량 (우수)
{
name: 'exlnPumpGrssPpqty',
fieldName: 'exlnPumpGrssPpqty',
name: 'exlnPumpWholPpqty',
fieldName: 'exlnPumpWholPpqty',
header: { text: '총양수량(m³/min)' },
footer: footerDecimal1,
editable: false,
@@ -158,25 +158,25 @@ export const PumpingStationInpColumn = {
},
// 배수능력 > 우수펌프(1)
{ name: 'exlnPumpN1DmtrArea', fieldName: 'exlnPumpN1DmtrArea', header: { text: '구경(mm)' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'exlnPumpN1Dmtr', fieldName: 'exlnPumpN1Dmtr', header: { text: '구경(mm)' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'exlnPumpN1Ppqty', fieldName: 'exlnPumpN1Ppqty', header: { text: '대당 양수량(m³/min·대)' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' },
{ name: 'exlnPumpN1Cnt', fieldName: 'exlnPumpN1Cnt', header: { text: '펌프대수' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'exlnPumpN1RsrvCnt', fieldName: 'exlnPumpN1RsrvCnt', header: { text: '예비펌프대수' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
// 배수능력 > 우수펌프(2)
{ name: 'exlnPumpN2DmtrArea', fieldName: 'exlnPumpN2DmtrArea', header: { text: '구경(mm)' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'exlnPumpN2Dmtr', fieldName: 'exlnPumpN2Dmtr', header: { text: '구경(mm)' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'exlnPumpN2Ppqty', fieldName: 'exlnPumpN2Ppqty', header: { text: '대당 양수량(m³/min·대)' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' },
{ name: 'exlnPumpN2Cnt', fieldName: 'exlnPumpN2Cnt', header: { text: '펌프대수' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'exlnPumpN2RsrvCnt', fieldName: 'exlnPumpN2RsrvCnt', header: { text: '예비펌프대수' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
// 배수능력 > 우수펌프(3)
{ name: 'exlnPumpN3DmtrArea', fieldName: 'exlnPumpN3DmtrArea', header: { text: '구경(mm)' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'exlnPumpN3Dmtr', fieldName: 'exlnPumpN3Dmtr', header: { text: '구경(mm)' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'exlnPumpN3Ppqty', fieldName: 'exlnPumpN3Ppqty', header: { text: '대당 양수량(m³/min·대)' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' },
{ name: 'exlnPumpN3Cnt', fieldName: 'exlnPumpN3Cnt', header: { text: '펌프대수' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'exlnPumpN3RsrvCnt', fieldName: 'exlnPumpN3RsrvCnt', header: { text: '예비펌프대수' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
// 연간전력 사용량
{ name: 'anlElpwrUseQnt', fieldName: 'anlElpwrUseQnt', header: { text: '연간전력사용량(kWh/년)' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' },
{ name: 'anlElpwrUsqty', fieldName: 'anlElpwrUsqty', header: { text: '연간전력사용량(kWh/년)' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' },
// 비고
{ name: 'rmrk', fieldName: 'rmrk', header: { text: '비고' } },
@@ -202,59 +202,59 @@ export const PumpingStationInpColumn = {
'pumpSeNm',
'fcltPstnCn',
'oprtngStrtYmd',
'planMltvArea',
'planDrnar',
{
name: 'planFlowGroup',
hideChildHeaders: false,
header: { text: '계획시간대최대배수량(m³/hr)' },
items: ['sndyArea', 'rainArea', 'exlnQnt'],
items: ['icodwArea', 'rainArea', 'exlnQnt'],
},
{
name: 'drainageCapability',
hideChildHeaders: false,
header: { text: '배수능력' },
items: [
'drtwPumpGrssPpqty',
'drtwPumpWholPpqty',
{
name: 'sewagePump1Group',
hideChildHeaders: false,
header: { text: '오수펌프(1)' },
items: ['drtwPumpN1DmtrArea', 'drtwPumpN1Ppqty', 'drtwPumpN1Cnt', 'drtwPumpN1RsrvCnt'],
items: ['drtwPumpN1Dmtr', 'drtwPumpN1Ppqty', 'drtwPumpN1Cnt', 'drtwPumpN1RsrvCnt'],
},
{
name: 'sewagePump2Group',
hideChildHeaders: false,
header: { text: '오수펌프(2)' },
items: ['drtwPumpN2DmtrArea', 'drtwPumpN2Ppqty', 'drtwPumpN2Cnt', 'drtwPumpN2RsrvCnt'],
items: ['drtwPumpN2Dmtr', 'drtwPumpN2Ppqty', 'drtwPumpN2Cnt', 'drtwPumpN2RsrvCnt'],
},
{
name: 'sewagePump3Group',
hideChildHeaders: false,
header: { text: '오수펌프(3)' },
items: ['drtwPumpN3DmtrArea', 'drtwPumpN3Ppqty', 'drtwPumpN3Cnt', 'drtwPumpN3RsrvCnt'],
items: ['drtwPumpN3Dmtr', 'drtwPumpN3Ppqty', 'drtwPumpN3Cnt', 'drtwPumpN3RsrvCnt'],
},
'exlnPumpGrssPpqty',
'exlnPumpWholPpqty',
{
name: 'rainwaterPump1Group',
hideChildHeaders: false,
header: { text: '우수펌프(1)' },
items: ['exlnPumpN1DmtrArea', 'exlnPumpN1Ppqty', 'exlnPumpN1Cnt', 'exlnPumpN1RsrvCnt'],
items: ['exlnPumpN1Dmtr', 'exlnPumpN1Ppqty', 'exlnPumpN1Cnt', 'exlnPumpN1RsrvCnt'],
},
{
name: 'rainwaterPump2Group',
hideChildHeaders: false,
header: { text: '우수펌프(2)' },
items: ['exlnPumpN2DmtrArea', 'exlnPumpN2Ppqty', 'exlnPumpN2Cnt', 'exlnPumpN2RsrvCnt'],
items: ['exlnPumpN2Dmtr', 'exlnPumpN2Ppqty', 'exlnPumpN2Cnt', 'exlnPumpN2RsrvCnt'],
},
{
name: 'rainwaterPump3Group',
hideChildHeaders: false,
header: { text: '우수펌프(3)' },
items: ['exlnPumpN3DmtrArea', 'exlnPumpN3Ppqty', 'exlnPumpN3Cnt', 'exlnPumpN3RsrvCnt'],
items: ['exlnPumpN3Dmtr', 'exlnPumpN3Ppqty', 'exlnPumpN3Cnt', 'exlnPumpN3RsrvCnt'],
},
],
},
'anlElpwrUseQnt',
'anlElpwrUsqty',
'rmrk',
'admdstCd',
'fcltSn',
@@ -14,7 +14,7 @@ export const SeweragePenetrationRateInpColumn = {
// 수계 및 권역
{ name: 'rvbsn', fieldName: 'rvbsn', header: { text: '수계' }, editable: false, styleName: 'rg-cell-readonly' },
{ name: 'trbtrNm', fieldName: 'trbtrNm', header: { text: '지류' } },
{ name: 'statsTrbtrNm', fieldName: 'statsTrbtrNm', header: { text: '지류' } },
// 수계영향권별분류
{ name: 'mdbsn', fieldName: 'mdbsn', header: { text: '세부단위유역' }, editable: false, styleName: 'rg-cell-readonly' },
@@ -41,19 +41,19 @@ export const SeweragePenetrationRateInpColumn = {
editable: false,
valueType: ValueType.NUMBER,
dataFormat: '#,##0',
computed: { fields: ['ts1SwtrmtPpltnCnt', 'ts2SwtrmtPpltnCnt', 'ts3SwtrmtPpltnCnt', 'ts1WwtPrcsPpltnCnt', 'ts2WwtPrcsPpltnCnt', 'ts3WwtPrcsPpltnCnt', 'yetCntnPpltnCnt', 'unprcsPpltnCnt', 'drtwPrcsPpltnCnt', 'spctnkPpltnCnt'], type: 'sum' as const },
computed: { fields: ['physSwtrmtPpltnCnt', 'crtureSwtrmtPpltnCnt', 'altdSwtrmtPpltnCnt', 'physWswtPpltnCnt', 'crtureWswtPpltnCnt', 'altdWswtPpltnCnt', 'urftPpltnCnt', 'unprcsPpltnCnt', 'swgdplPpltnCnt', 'spctnkPpltnCnt'], type: 'sum' as const },
styleName: 'rg-cell-total',
},
// 총면적
{
name: 'wholArea',
fieldName: 'wholArea',
name: 'whlar',
fieldName: 'whlar',
header: { text: '총면적(㎢)' },
footer: footerDecimal3,
valueType: ValueType.NUMBER,
dataFormat: '#,##0.000',
computed: { fields: ['staaArea', 'staaExcpArea'], type: 'sum' as const },
computed: { fields: ['swtrmtZoneIntnar', 'swtrmtZoneExtnar'], type: 'sum' as const },
styleName: 'rg-cell-total',
},
@@ -66,7 +66,7 @@ export const SeweragePenetrationRateInpColumn = {
editable: false,
valueType: ValueType.NUMBER,
dataFormat: '#,##0',
computed: { fields: ['ts1SwtrmtPpltnCnt', 'ts2SwtrmtPpltnCnt', 'ts3SwtrmtPpltnCnt', 'ts1WwtPrcsPpltnCnt', 'ts2WwtPrcsPpltnCnt', 'ts3WwtPrcsPpltnCnt', 'yetCntnPpltnCnt'], type: 'sum' as const },
computed: { fields: ['physSwtrmtPpltnCnt', 'crtureSwtrmtPpltnCnt', 'altdSwtrmtPpltnCnt', 'physWswtPpltnCnt', 'crtureWswtPpltnCnt', 'altdWswtPpltnCnt', 'urftPpltnCnt'], type: 'sum' as const },
styleName: 'rg-cell-total',
},
@@ -79,64 +79,64 @@ export const SeweragePenetrationRateInpColumn = {
editable: false,
valueType: ValueType.NUMBER,
dataFormat: '#,##0',
computed: { fields: ['ts1SwtrmtPpltnCnt', 'ts2SwtrmtPpltnCnt', 'ts3SwtrmtPpltnCnt'], type: 'sum' as const },
computed: { fields: ['physSwtrmtPpltnCnt', 'crtureSwtrmtPpltnCnt', 'altdSwtrmtPpltnCnt'], type: 'sum' as const },
styleName: 'rg-cell-total',
},
{ name: 'ts1SwtrmtPpltnCnt', fieldName: 'ts1SwtrmtPpltnCnt', header: { text: '물리적처리' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'ts2SwtrmtPpltnCnt', fieldName: 'ts2SwtrmtPpltnCnt', header: { text: '생물학적처리' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'ts3SwtrmtPpltnCnt', fieldName: 'ts3SwtrmtPpltnCnt', header: { text: '고도처리' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'physSwtrmtPpltnCnt', fieldName: 'physSwtrmtPpltnCnt', header: { text: '물리적처리' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'crtureSwtrmtPpltnCnt', fieldName: 'crtureSwtrmtPpltnCnt', header: { text: '생물학적처리' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'altdSwtrmtPpltnCnt', fieldName: 'altdSwtrmtPpltnCnt', header: { text: '고도처리' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
// 하수처리구역 내 > 폐수처리인구
{
name: 'wholWwtPrcsPpltnCnt',
fieldName: 'wholWwtPrcsPpltnCnt',
name: 'wholWswtPpltnCnt',
fieldName: 'wholWswtPpltnCnt',
header: { text: '소계' },
footer: footerInt,
editable: false,
valueType: ValueType.NUMBER,
dataFormat: '#,##0',
computed: { fields: ['ts1WwtPrcsPpltnCnt', 'ts2WwtPrcsPpltnCnt', 'ts3WwtPrcsPpltnCnt'], type: 'sum' as const },
computed: { fields: ['physWswtPpltnCnt', 'crtureWswtPpltnCnt', 'altdWswtPpltnCnt'], type: 'sum' as const },
styleName: 'rg-cell-total',
},
{ name: 'ts1WwtPrcsPpltnCnt', fieldName: 'ts1WwtPrcsPpltnCnt', header: { text: '물리적처리' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'ts2WwtPrcsPpltnCnt', fieldName: 'ts2WwtPrcsPpltnCnt', header: { text: '생물학적처리' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'ts3WwtPrcsPpltnCnt', fieldName: 'ts3WwtPrcsPpltnCnt', header: { text: '고도처리' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'physWswtPpltnCnt', fieldName: 'physWswtPpltnCnt', header: { text: '물리적처리' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'crtureWswtPpltnCnt', fieldName: 'crtureWswtPpltnCnt', header: { text: '생물학적처리' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'altdWswtPpltnCnt', fieldName: 'altdWswtPpltnCnt', header: { text: '고도처리' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
// 하수처리구역 내 > 미접속인구
{ name: 'yetCntnPpltnCnt', fieldName: 'yetCntnPpltnCnt', header: { text: '미접속인구' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'urftPpltnCnt', fieldName: 'urftPpltnCnt', header: { text: '미접속인구' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
// 하수처리구역 내 > 면적
{ name: 'staaArea', fieldName: 'staaArea', header: { text: '면적(㎢)' }, footer: footerDecimal3, valueType: ValueType.NUMBER, dataFormat: '#,##0.000' },
{ name: 'swtrmtZoneIntnar', fieldName: 'swtrmtZoneIntnar', header: { text: '면적(㎢)' }, footer: footerDecimal3, valueType: ValueType.NUMBER, dataFormat: '#,##0.000' },
// 하수처리구역 외
{
name: 'wholStaaExcpPpltnCnt',
fieldName: 'wholStaaExcpPpltnCnt',
name: 'wholStaaOtsdPpltnCnt',
fieldName: 'wholStaaOtsdPpltnCnt',
header: { text: '합계' },
footer: footerInt,
editable: false,
valueType: ValueType.NUMBER,
dataFormat: '#,##0',
computed: { fields: ['unprcsPpltnCnt', 'drtwPrcsPpltnCnt', 'spctnkPpltnCnt'], type: 'sum' as const },
computed: { fields: ['unprcsPpltnCnt', 'swgdplPpltnCnt', 'spctnkPpltnCnt'], type: 'sum' as const },
styleName: 'rg-cell-total',
},
{ name: 'unprcsPpltnCnt', fieldName: 'unprcsPpltnCnt', header: { text: '미처리인구' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'drtwPrcsPpltnCnt', fieldName: 'drtwPrcsPpltnCnt', header: { text: '오수처리인구' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'swgdplPpltnCnt', fieldName: 'swgdplPpltnCnt', header: { text: '오수처리인구' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'spctnkPpltnCnt', fieldName: 'spctnkPpltnCnt', header: { text: '정화조인구' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'staaExcpArea', fieldName: 'staaExcpArea', header: { text: '면적(㎢)' }, footer: footerDecimal3, valueType: ValueType.NUMBER, dataFormat: '#,##0.000' },
{ name: 'swtrmtZoneExtnar', fieldName: 'swtrmtZoneExtnar', header: { text: '면적(㎢)' }, footer: footerDecimal3, valueType: ValueType.NUMBER, dataFormat: '#,##0.000' },
// 공공하수처리구역 인구보급률 (하수처리구역 내 인구 / 전체 인구 * 100)
{
name: 'staaPsplyRt',
fieldName: 'staaPsplyRt',
name: 'swagePplPsplyRt',
fieldName: 'swagePplPsplyRt',
header: { text: '공공하수처리구역인구보급률(%)' },
footer: footerAvgDecimal,
editable: false,
valueType: ValueType.NUMBER,
dataFormat: '#,##0.0',
computed: {
numeratorFields: ['ts1SwtrmtPpltnCnt', 'ts2SwtrmtPpltnCnt', 'ts3SwtrmtPpltnCnt', 'ts1WwtPrcsPpltnCnt', 'ts2WwtPrcsPpltnCnt', 'ts3WwtPrcsPpltnCnt', 'yetCntnPpltnCnt'],
denominatorFields: ['ts1SwtrmtPpltnCnt', 'ts2SwtrmtPpltnCnt', 'ts3SwtrmtPpltnCnt', 'ts1WwtPrcsPpltnCnt', 'ts2WwtPrcsPpltnCnt', 'ts3WwtPrcsPpltnCnt', 'yetCntnPpltnCnt', 'unprcsPpltnCnt', 'drtwPrcsPpltnCnt', 'spctnkPpltnCnt'],
numeratorFields: ['physSwtrmtPpltnCnt', 'crtureSwtrmtPpltnCnt', 'altdSwtrmtPpltnCnt', 'physWswtPpltnCnt', 'crtureWswtPpltnCnt', 'altdWswtPpltnCnt', 'urftPpltnCnt'],
denominatorFields: ['physSwtrmtPpltnCnt', 'crtureSwtrmtPpltnCnt', 'altdSwtrmtPpltnCnt', 'physWswtPpltnCnt', 'crtureWswtPpltnCnt', 'altdWswtPpltnCnt', 'urftPpltnCnt', 'unprcsPpltnCnt', 'swgdplPpltnCnt', 'spctnkPpltnCnt'],
type: 'pblswrgPopltnSuprtRate' as const
},
styleName: 'rg-cell-total',
@@ -144,16 +144,16 @@ export const SeweragePenetrationRateInpColumn = {
// 고도처리 인구보급률 (고도처리 인구 / 전체 인구 * 100)
{
name: 'altdPrcsPsplyRt',
fieldName: 'altdPrcsPsplyRt',
name: 'awtrPsplyRt',
fieldName: 'awtrPsplyRt',
header: { text: '고도처리인구보급률(%)' },
footer: footerAvgDecimal,
editable: false,
valueType: ValueType.NUMBER,
dataFormat: '#,##0.0',
computed: {
numeratorFields: ['ts3SwtrmtPpltnCnt', 'ts3WwtPrcsPpltnCnt'],
denominatorFields: ['ts1SwtrmtPpltnCnt', 'ts2SwtrmtPpltnCnt', 'ts3SwtrmtPpltnCnt', 'ts1WwtPrcsPpltnCnt', 'ts2WwtPrcsPpltnCnt', 'ts3WwtPrcsPpltnCnt', 'yetCntnPpltnCnt', 'unprcsPpltnCnt', 'drtwPrcsPpltnCnt', 'spctnkPpltnCnt'],
numeratorFields: ['altdSwtrmtPpltnCnt', 'altdWswtPpltnCnt'],
denominatorFields: ['physSwtrmtPpltnCnt', 'crtureSwtrmtPpltnCnt', 'altdSwtrmtPpltnCnt', 'physWswtPpltnCnt', 'crtureWswtPpltnCnt', 'altdWswtPpltnCnt', 'urftPpltnCnt', 'unprcsPpltnCnt', 'swgdplPpltnCnt', 'spctnkPpltnCnt'],
type: 'adtrtPopltnSuprtRate' as const
},
styleName: 'rg-cell-total',
@@ -169,9 +169,9 @@ export const SeweragePenetrationRateInpColumn = {
valueType: ValueType.NUMBER,
dataFormat: '#,##0.0',
computed: {
numeratorFields: ['ts1SwtrmtPpltnCnt', 'ts2SwtrmtPpltnCnt', 'ts3SwtrmtPpltnCnt', 'ts1WwtPrcsPpltnCnt', 'ts2WwtPrcsPpltnCnt', 'ts3WwtPrcsPpltnCnt', 'yetCntnPpltnCnt', 'wholStaaExcpPpltnCnt'],
denominatorFields: ['ts1SwtrmtPpltnCnt', 'ts2SwtrmtPpltnCnt', 'ts3SwtrmtPpltnCnt', 'ts1WwtPrcsPpltnCnt', 'ts2WwtPrcsPpltnCnt', 'ts3WwtPrcsPpltnCnt', 'yetCntnPpltnCnt'],
thirdFields: ['swagePplPsplyRt'],
numeratorFields: ['physSwtrmtPpltnCnt', 'crtureSwtrmtPpltnCnt', 'altdSwtrmtPpltnCnt', 'physWswtPpltnCnt', 'crtureWswtPpltnCnt', 'altdWswtPpltnCnt', 'urftPpltnCnt', 'wholStaaOtsdPpltnCnt'],
denominatorFields: ['physSwtrmtPpltnCnt', 'crtureSwtrmtPpltnCnt', 'altdSwtrmtPpltnCnt', 'physWswtPpltnCnt', 'crtureWswtPpltnCnt', 'altdWswtPpltnCnt', 'urftPpltnCnt'],
thirdFields: ['pipePsplyRt'],
type: 'swrgInstlrtRate' as const
},
styleName: 'rg-cell-total',
@@ -180,7 +180,7 @@ export const SeweragePenetrationRateInpColumn = {
// 비고
{ name: 'rmrk', fieldName: 'rmrk', header: { text: '비고' } },
{ name: 'swagePplPsplyRt', fieldName: 'swagePplPsplyRt', header: { text: '하수관로보급률(%)' }, visible: false },
{ name: 'pipePsplyRt', fieldName: 'pipePsplyRt', header: { text: '하수관로보급률(%)' }, visible: false },
{ name: 'admdstCd', fieldName: 'admdstCd', header: { text: '행정코드' }, visible: false },
],
@@ -196,7 +196,7 @@ export const SeweragePenetrationRateInpColumn = {
],
},
'rvbsn',
'trbtrNm',
'statsTrbtrNm',
{
name: 'groupB',
hideChildHeaders: false,
@@ -212,7 +212,7 @@ export const SeweragePenetrationRateInpColumn = {
},
'refArea',
'wholPpltnCnt',
'wholArea',
'whlar',
{
name: 'groupD',
hideChildHeaders: false,
@@ -223,16 +223,16 @@ export const SeweragePenetrationRateInpColumn = {
name: 'pblswrgGroup',
hideChildHeaders: false,
header: { text: '공공하수처리인구(명)' },
items: ['wholPblSwtrmtPpltnCnt', 'ts1SwtrmtPpltnCnt', 'ts2SwtrmtPpltnCnt', 'ts3SwtrmtPpltnCnt'],
items: ['wholPblSwtrmtPpltnCnt', 'physSwtrmtPpltnCnt', 'crtureSwtrmtPpltnCnt', 'altdSwtrmtPpltnCnt'],
},
{
name: 'wstrGroup',
hideChildHeaders: false,
header: { text: '폐수처리인구(명)' },
items: ['wholWwtPrcsPpltnCnt', 'ts1WwtPrcsPpltnCnt', 'ts2WwtPrcsPpltnCnt', 'ts3WwtPrcsPpltnCnt'],
items: ['wholWswtPpltnCnt', 'physWswtPpltnCnt', 'crtureWswtPpltnCnt', 'altdWswtPpltnCnt'],
},
'yetCntnPpltnCnt',
'staaArea'
'urftPpltnCnt',
'swtrmtZoneIntnar'
],
},
{
@@ -240,18 +240,18 @@ export const SeweragePenetrationRateInpColumn = {
hideChildHeaders: false,
header: { text: '하수처리구역외' },
items: [
'wholStaaExcpPpltnCnt',
'wholStaaOtsdPpltnCnt',
'unprcsPpltnCnt',
'drtwPrcsPpltnCnt',
'swgdplPpltnCnt',
'spctnkPpltnCnt',
'staaExcpArea'
'swtrmtZoneExtnar'
],
},
'staaPsplyRt',
'altdPrcsPsplyRt',
'swagePplPsplyRt',
'awtrPsplyRt',
'sewerInstlRt',
'rmrk',
'swagePplPsplyRt',
'pipePsplyRt',
'admdstCd',
]
};
@@ -14,12 +14,12 @@ export const PrivateSewageDesigStatusInpColumn = {
{ name: 'indvSwageDsgnScpLen', fieldName: 'indvSwageDsgnScpLen', header: { text: '지정범위(㎢)' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' },
// 개인하수도관리지역공고현황 > 정화조
{ name: 'spctnkGrssFcltCnt', fieldName: 'spctnkGrssFcltCnt', header: { text: '개소수' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'spctnkQnt', fieldName: 'spctnkQnt', header: { text: '처리용량(인/일)' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' },
{ name: 'spctnkWholFcltCnt', fieldName: 'spctnkWholFcltCnt', header: { text: '개소수' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'spctnkPrcqty', fieldName: 'spctnkPrcqty', header: { text: '처리용량(인/일)' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' },
// 개인하수도관리지역공고현황 > 오수시설
{ name: 'drtwPrcsFcltGrssFcltCnt', fieldName: 'drtwPrcsFcltGrssFcltCnt', header: { text: '개소수' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'drtwPrcsFcltQnt', fieldName: 'drtwPrcsFcltQnt', header: { text: '처리용량(m³/일)' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' },
{ name: 'swgdplFcltWholFcltCnt', fieldName: 'swgdplFcltWholFcltCnt', header: { text: '개소수' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'swgdplFcltPrcqty', fieldName: 'swgdplFcltPrcqty', header: { text: '처리용량(m³/일)' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' },
// 비고
{ name: 'rmrk', fieldName: 'rmrk', header: { text: '비고' } },
@@ -47,16 +47,16 @@ export const PrivateSewageDesigStatusInpColumn = {
name: 'group_septic',
header: { text: '정화조' },
items: [
'spctnkGrssFcltCnt',
'spctnkQnt'
'spctnkWholFcltCnt',
'spctnkPrcqty'
]
},
{
name: 'group_sewage',
header: { text: '오수시설' },
items: [
'drtwPrcsFcltGrssFcltCnt',
'drtwPrcsFcltQnt'
'swgdplFcltWholFcltCnt',
'swgdplFcltPrcqty'
]
}
]
@@ -11,8 +11,8 @@ export const SepticTankStatusInpColumn = {
// 총 시설 수 — (B+C)/2 + (E+F)/2 = A + D
{
name: 'grssFcltCnt',
fieldName: 'grssFcltCnt',
name: 'wholFcltCnt',
fieldName: 'wholFcltCnt',
header: { text: '총 시설 수 (A+D)' },
editable: false,
footer: footerInt,
@@ -22,42 +22,42 @@ export const SepticTankStatusInpColumn = {
computed: {
firstHalfSum: {
firstSumFields: [
'staaInsdSttkNprsflCnt',
'step1StaaInsdSttkFrcCnt',
'staaInsdSprktpFltrtbCnt',
'staaInsdAertMthdCnt',
'staaInsdCntcAertCnt',
'staaInsdSpctnkNatrCnt',
'staaInsdSpctnkFrcCnt',
'staaInsdSprklFiltrCnt',
'staaInsdAirCnt',
'staaInsdCntcAirCnt',
'staaInsdEtcCnt',
],
secondSumFields: [
'step1StaaInsdNope',
'step2StaaInsdNope',
'step3StaaInsdNope',
'step4StaaInsdNope',
'step5StaaInsdNope',
'step6StaaInsdNope',
'step7StaaInsdNope',
'step8StaaInsdNope',
'frlvlStaaInsdNope',
'sclvlStaaInsdNope',
'thlvlStaaInsdNope',
'folvlStaaInsdNope',
'filvlStaaInsdNope',
'sxlvlStaaInsdNope',
'svlvlStaaInsdNope',
'eilvlStaaInsdNope',
],
},
secondHalfSum: {
firstSumFields: [
'staaExcpSttkNprsflCnt',
'step1StaaExcpSttkFrcCnt',
'staaExcpSprktpFltrtbCnt',
'staaExcpAertMthdCnt',
'staaExcpCntcAertCnt',
'staaExcpEtcCnt',
'staaOtsdSpctnkNatrCnt',
'staaOtsdSpctnkFrcCnt',
'staaOtsdSprklFiltrCnt',
'staaOtsdAirCnt',
'staaOtsdCntcAirCnt',
'staaOtsdEtcCnt',
],
secondSumFields: [
'step1StaaExcpNope',
'step2StaaExcpNope',
'step3StaaExcpNope',
'step4StaaExcpNope',
'step5StaaExcpNope',
'step6StaaExcpNope',
'step7StaaExcpNope',
'step8StaaExcpNope',
'frlvlStaaOtsdNope',
'sclvlStaaOtsdNope',
'thlvlStaaOtsdNope',
'folvlStaaOtsdNope',
'filvlStaaOtsdNope',
'sxlvlStaaOtsdNope',
'svlvlStaaOtsdNope',
'eilvlStaaOtsdNope',
],
},
type: 'sumOfTwoHalfSumOfSums' as const,
@@ -66,8 +66,8 @@ export const SepticTankStatusInpColumn = {
// 하수처리구역 내 > 총계
{
name: 'staaInsdWhol',
fieldName: 'staaInsdWhol',
name: 'staaInsdWholCnt',
fieldName: 'staaInsdWholCnt',
header: { text: '총계 A=(B+C)/2' },
editable: false,
footer: footerInt,
@@ -76,22 +76,22 @@ export const SepticTankStatusInpColumn = {
styleName: 'rg-cell-total',
computed: {
firstSumFields: [
'staaInsdSttkNprsflCnt',
'step1StaaInsdSttkFrcCnt',
'staaInsdSprktpFltrtbCnt',
'staaInsdAertMthdCnt',
'staaInsdCntcAertCnt',
'staaInsdSpctnkNatrCnt',
'staaInsdSpctnkFrcCnt',
'staaInsdSprklFiltrCnt',
'staaInsdAirCnt',
'staaInsdCntcAirCnt',
'staaInsdEtcCnt',
],
secondSumFields: [
'step1StaaInsdNope',
'step2StaaInsdNope',
'step3StaaInsdNope',
'step4StaaInsdNope',
'step5StaaInsdNope',
'step6StaaInsdNope',
'step7StaaInsdNope',
'step8StaaInsdNope',
'frlvlStaaInsdNope',
'sclvlStaaInsdNope',
'thlvlStaaInsdNope',
'folvlStaaInsdNope',
'filvlStaaInsdNope',
'sxlvlStaaInsdNope',
'svlvlStaaInsdNope',
'eilvlStaaInsdNope',
],
type: 'halfSumOfSums' as const,
},
@@ -99,8 +99,8 @@ export const SepticTankStatusInpColumn = {
// 하수처리구역 내 > 처리방식별
{
name: 'staaInsdPrcsMthByWhol',
fieldName: 'staaInsdPrcsMthByWhol',
name: 'staaInsdMthSeWholCnt',
fieldName: 'staaInsdMthSeWholCnt',
header: { text: '계(B)' },
editable: false,
footer: footerInt,
@@ -109,11 +109,11 @@ export const SepticTankStatusInpColumn = {
styleName: 'rg-cell-total',
computed: {
fields: [
'staaInsdSttkNprsflCnt',
'step1StaaInsdSttkFrcCnt',
'staaInsdSprktpFltrtbCnt',
'staaInsdAertMthdCnt',
'staaInsdCntcAertCnt',
'staaInsdSpctnkNatrCnt',
'staaInsdSpctnkFrcCnt',
'staaInsdSprklFiltrCnt',
'staaInsdAirCnt',
'staaInsdCntcAirCnt',
'staaInsdEtcCnt',
],
type: 'sum' as const,
@@ -121,19 +121,19 @@ export const SepticTankStatusInpColumn = {
},
// 하수처리구역 내 > 처리방식별 > 부패탱크
{ name: 'staaInsdSttkNprsflCnt', fieldName: 'staaInsdSttkNprsflCnt', header: { text: '자연유하' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'step1StaaInsdSttkFrcCnt', fieldName: 'step1StaaInsdSttkFrcCnt', header: { text: '강제펌핑식' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'staaInsdSpctnkNatrCnt', fieldName: 'staaInsdSpctnkNatrCnt', header: { text: '자연유하' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'staaInsdSpctnkFrcCnt', fieldName: 'staaInsdSpctnkFrcCnt', header: { text: '강제펌핑식' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
// 하수처리구역 내 > 처리방식별
{ name: 'staaInsdSprktpFltrtbCnt', fieldName: 'staaInsdSprktpFltrtbCnt', header: { text: '살수여상' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'staaInsdAertMthdCnt', fieldName: 'staaInsdAertMthdCnt', header: { text: '폭기방법' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'staaInsdCntcAertCnt', fieldName: 'staaInsdCntcAertCnt', header: { text: '접촉폭기' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'staaInsdSprklFiltrCnt', fieldName: 'staaInsdSprklFiltrCnt', header: { text: '살수여상' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'staaInsdAirCnt', fieldName: 'staaInsdAirCnt', header: { text: '폭기방법' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'staaInsdCntcAirCnt', fieldName: 'staaInsdCntcAirCnt', header: { text: '접촉폭기' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'staaInsdEtcCnt', fieldName: 'staaInsdEtcCnt', header: { text: '기타' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
// 하수처리구역 내 > 처리용량별
{
name: 'staaInsdPrcsCpctByWhol',
fieldName: 'staaInsdPrcsCpctByWhol',
name: 'staaInsdCpctSeWholCnt',
fieldName: 'staaInsdCpctSeWholCnt',
header: { text: '계(C)' },
editable: false,
footer: footerInt,
@@ -142,31 +142,31 @@ export const SepticTankStatusInpColumn = {
styleName: 'rg-cell-total',
computed: {
fields: [
'step1StaaInsdNope',
'step2StaaInsdNope',
'step3StaaInsdNope',
'step4StaaInsdNope',
'step5StaaInsdNope',
'step6StaaInsdNope',
'step7StaaInsdNope',
'step8StaaInsdNope',
'frlvlStaaInsdNope',
'sclvlStaaInsdNope',
'thlvlStaaInsdNope',
'folvlStaaInsdNope',
'filvlStaaInsdNope',
'sxlvlStaaInsdNope',
'svlvlStaaInsdNope',
'eilvlStaaInsdNope',
],
type: 'sum' as const,
},
},
{ name: 'step1StaaInsdNope', fieldName: 'step1StaaInsdNope', header: { text: '10인조이하' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'step2StaaInsdNope', fieldName: 'step2StaaInsdNope', header: { text: '11~20' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'step3StaaInsdNope', fieldName: 'step3StaaInsdNope', header: { text: '21~30' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'step4StaaInsdNope', fieldName: 'step4StaaInsdNope', header: { text: '31~50' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'step5StaaInsdNope', fieldName: 'step5StaaInsdNope', header: { text: '51~199' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'step6StaaInsdNope', fieldName: 'step6StaaInsdNope', header: { text: '200~499' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'step7StaaInsdNope', fieldName: 'step7StaaInsdNope', header: { text: '500~999' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'step8StaaInsdNope', fieldName: 'step8StaaInsdNope', header: { text: '1,000 이상' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'frlvlStaaInsdNope', fieldName: 'frlvlStaaInsdNope', header: { text: '10인조이하' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'sclvlStaaInsdNope', fieldName: 'sclvlStaaInsdNope', header: { text: '11~20' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'thlvlStaaInsdNope', fieldName: 'thlvlStaaInsdNope', header: { text: '21~30' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'folvlStaaInsdNope', fieldName: 'folvlStaaInsdNope', header: { text: '31~50' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'filvlStaaInsdNope', fieldName: 'filvlStaaInsdNope', header: { text: '51~199' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'sxlvlStaaInsdNope', fieldName: 'sxlvlStaaInsdNope', header: { text: '200~499' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'svlvlStaaInsdNope', fieldName: 'svlvlStaaInsdNope', header: { text: '500~999' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'eilvlStaaInsdNope', fieldName: 'eilvlStaaInsdNope', header: { text: '1,000 이상' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
// 하수처리구역 외 > 총계
{
name: 'staaExcpWhol',
fieldName: 'staaExcpWhol',
name: 'staaOtsdWholCnt',
fieldName: 'staaOtsdWholCnt',
header: { text: '총계 D=(E+F)/2' },
editable: false,
footer: footerInt,
@@ -175,22 +175,22 @@ export const SepticTankStatusInpColumn = {
styleName: 'rg-cell-total',
computed: {
firstSumFields: [
'staaExcpSttkNprsflCnt',
'step1StaaExcpSttkFrcCnt',
'staaExcpSprktpFltrtbCnt',
'staaExcpAertMthdCnt',
'staaExcpCntcAertCnt',
'staaExcpEtcCnt',
'staaOtsdSpctnkNatrCnt',
'staaOtsdSpctnkFrcCnt',
'staaOtsdSprklFiltrCnt',
'staaOtsdAirCnt',
'staaOtsdCntcAirCnt',
'staaOtsdEtcCnt',
],
secondSumFields: [
'step1StaaExcpNope',
'step2StaaExcpNope',
'step3StaaExcpNope',
'step4StaaExcpNope',
'step5StaaExcpNope',
'step6StaaExcpNope',
'step7StaaExcpNope',
'step8StaaExcpNope',
'frlvlStaaOtsdNope',
'sclvlStaaOtsdNope',
'thlvlStaaOtsdNope',
'folvlStaaOtsdNope',
'filvlStaaOtsdNope',
'sxlvlStaaOtsdNope',
'svlvlStaaOtsdNope',
'eilvlStaaOtsdNope',
],
type: 'halfSumOfSums' as const,
},
@@ -198,8 +198,8 @@ export const SepticTankStatusInpColumn = {
// 하수처리구역 외 > 처리방식별
{
name: 'staaExcpPrcsMthByWhol',
fieldName: 'staaExcpPrcsMthByWhol',
name: 'staaOtsdMthSeWholCnt',
fieldName: 'staaOtsdMthSeWholCnt',
header: { text: '계(E)' },
editable: false,
footer: footerInt,
@@ -208,31 +208,31 @@ export const SepticTankStatusInpColumn = {
styleName: 'rg-cell-total',
computed: {
fields: [
'staaExcpSttkNprsflCnt',
'step1StaaExcpSttkFrcCnt',
'staaExcpSprktpFltrtbCnt',
'staaExcpAertMthdCnt',
'staaExcpCntcAertCnt',
'staaExcpEtcCnt',
'staaOtsdSpctnkNatrCnt',
'staaOtsdSpctnkFrcCnt',
'staaOtsdSprklFiltrCnt',
'staaOtsdAirCnt',
'staaOtsdCntcAirCnt',
'staaOtsdEtcCnt',
],
type: 'sum' as const,
},
},
// 하수처리구역 외 > 처리방식별 > 부패탱크
{ name: 'staaExcpSttkNprsflCnt', fieldName: 'staaExcpSttkNprsflCnt', header: { text: '자연유하' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'step1StaaExcpSttkFrcCnt', fieldName: 'step1StaaExcpSttkFrcCnt', header: { text: '강제펌핑식' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'staaOtsdSpctnkNatrCnt', fieldName: 'staaOtsdSpctnkNatrCnt', header: { text: '자연유하' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'staaOtsdSpctnkFrcCnt', fieldName: 'staaOtsdSpctnkFrcCnt', header: { text: '강제펌핑식' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
// 하수처리구역 외 > 처리방식별
{ name: 'staaExcpSprktpFltrtbCnt', fieldName: 'staaExcpSprktpFltrtbCnt', header: { text: '살수여상' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'staaExcpAertMthdCnt', fieldName: 'staaExcpAertMthdCnt', header: { text: '폭기방법' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'staaExcpCntcAertCnt', fieldName: 'staaExcpCntcAertCnt', header: { text: '접촉폭기' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'staaExcpEtcCnt', fieldName: 'staaExcpEtcCnt', header: { text: '기타' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'staaOtsdSprklFiltrCnt', fieldName: 'staaOtsdSprklFiltrCnt', header: { text: '살수여상' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'staaOtsdAirCnt', fieldName: 'staaOtsdAirCnt', header: { text: '폭기방법' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'staaOtsdCntcAirCnt', fieldName: 'staaOtsdCntcAirCnt', header: { text: '접촉폭기' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'staaOtsdEtcCnt', fieldName: 'staaOtsdEtcCnt', header: { text: '기타' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
// 하수처리구역 외 > 처리용량별
{
name: 'staaExcpPrcsCpctByWhol',
fieldName: 'staaExcpPrcsCpctByWhol',
name: 'staaOtsdCpctSeWholCnt',
fieldName: 'staaOtsdCpctSeWholCnt',
header: { text: '계(F)' },
editable: false,
footer: footerInt,
@@ -241,26 +241,26 @@ export const SepticTankStatusInpColumn = {
styleName: 'rg-cell-total',
computed: {
fields: [
'step1StaaExcpNope',
'step2StaaExcpNope',
'step3StaaExcpNope',
'step4StaaExcpNope',
'step5StaaExcpNope',
'step6StaaExcpNope',
'step7StaaExcpNope',
'step8StaaExcpNope',
'frlvlStaaOtsdNope',
'sclvlStaaOtsdNope',
'thlvlStaaOtsdNope',
'folvlStaaOtsdNope',
'filvlStaaOtsdNope',
'sxlvlStaaOtsdNope',
'svlvlStaaOtsdNope',
'eilvlStaaOtsdNope',
],
type: 'sum' as const,
},
},
{ name: 'step1StaaExcpNope', fieldName: 'step1StaaExcpNope', header: { text: '10인조이하' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'step2StaaExcpNope', fieldName: 'step2StaaExcpNope', header: { text: '11~20' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'step3StaaExcpNope', fieldName: 'step3StaaExcpNope', header: { text: '21~30' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'step4StaaExcpNope', fieldName: 'step4StaaExcpNope', header: { text: '31~50' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'step5StaaExcpNope', fieldName: 'step5StaaExcpNope', header: { text: '51~199' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'step6StaaExcpNope', fieldName: 'step6StaaExcpNope', header: { text: '200~499' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'step7StaaExcpNope', fieldName: 'step7StaaExcpNope', header: { text: '500~999' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'step8StaaExcpNope', fieldName: 'step8StaaExcpNope', header: { text: '1,000 이상' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'frlvlStaaOtsdNope', fieldName: 'frlvlStaaOtsdNope', header: { text: '10인조이하' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'sclvlStaaOtsdNope', fieldName: 'sclvlStaaOtsdNope', header: { text: '11~20' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'thlvlStaaOtsdNope', fieldName: 'thlvlStaaOtsdNope', header: { text: '21~30' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'folvlStaaOtsdNope', fieldName: 'folvlStaaOtsdNope', header: { text: '31~50' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'filvlStaaOtsdNope', fieldName: 'filvlStaaOtsdNope', header: { text: '51~199' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'sxlvlStaaOtsdNope', fieldName: 'sxlvlStaaOtsdNope', header: { text: '200~499' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'svlvlStaaOtsdNope', fieldName: 'svlvlStaaOtsdNope', header: { text: '500~999' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'eilvlStaaOtsdNope', fieldName: 'eilvlStaaOtsdNope', header: { text: '1,000 이상' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
// 비고
{ name: 'rmrk', fieldName: 'rmrk', header: { text: '비고' } },
@@ -278,28 +278,28 @@ export const SepticTankStatusInpColumn = {
'sggNm',
],
},
'grssFcltCnt',
'wholFcltCnt',
{
name: 'group_spzi',
header: { text: '하수처리구역 내' },
items: [
'staaInsdWhol',
'staaInsdWholCnt',
{
name: 'group_spzi_mthd',
header: { text: '처리방식별' },
items: [
'staaInsdPrcsMthByWhol',
'staaInsdMthSeWholCnt',
{
name: 'group_spzi_rot',
header: { text: '부패탱크' },
items: [
'staaInsdSttkNprsflCnt',
'step1StaaInsdSttkFrcCnt'
'staaInsdSpctnkNatrCnt',
'staaInsdSpctnkFrcCnt'
]
},
'staaInsdSprktpFltrtbCnt',
'staaInsdAertMthdCnt',
'staaInsdCntcAertCnt',
'staaInsdSprklFiltrCnt',
'staaInsdAirCnt',
'staaInsdCntcAirCnt',
'staaInsdEtcCnt'
]
},
@@ -307,15 +307,15 @@ export const SepticTankStatusInpColumn = {
name: 'group_spzi_proc',
header: { text: '처리용량별' },
items: [
'staaInsdPrcsCpctByWhol',
'step1StaaInsdNope',
'step2StaaInsdNope',
'step3StaaInsdNope',
'step4StaaInsdNope',
'step5StaaInsdNope',
'step6StaaInsdNope',
'step7StaaInsdNope',
'step8StaaInsdNope'
'staaInsdCpctSeWholCnt',
'frlvlStaaInsdNope',
'sclvlStaaInsdNope',
'thlvlStaaInsdNope',
'folvlStaaInsdNope',
'filvlStaaInsdNope',
'sxlvlStaaInsdNope',
'svlvlStaaInsdNope',
'eilvlStaaInsdNope'
]
}
]
@@ -324,39 +324,39 @@ export const SepticTankStatusInpColumn = {
name: 'group_spzo',
header: { text: '하수처리구역 외' },
items: [
'staaExcpWhol',
'staaOtsdWholCnt',
{
name: 'group_spzo_mthd',
header: { text: '처리방식별' },
items: [
'staaExcpPrcsMthByWhol',
'staaOtsdMthSeWholCnt',
{
name: 'group_spzo_rot',
header: { text: '부패탱크' },
items: [
'staaExcpSttkNprsflCnt',
'step1StaaExcpSttkFrcCnt'
'staaOtsdSpctnkNatrCnt',
'staaOtsdSpctnkFrcCnt'
]
},
'staaExcpSprktpFltrtbCnt',
'staaExcpAertMthdCnt',
'staaExcpCntcAertCnt',
'staaExcpEtcCnt'
'staaOtsdSprklFiltrCnt',
'staaOtsdAirCnt',
'staaOtsdCntcAirCnt',
'staaOtsdEtcCnt'
]
},
{
name: 'group_spzo_proc',
header: { text: '처리용량별' },
items: [
'staaExcpPrcsCpctByWhol',
'step1StaaExcpNope',
'step2StaaExcpNope',
'step3StaaExcpNope',
'step4StaaExcpNope',
'step5StaaExcpNope',
'step6StaaExcpNope',
'step7StaaExcpNope',
'step8StaaExcpNope'
'staaOtsdCpctSeWholCnt',
'frlvlStaaOtsdNope',
'sclvlStaaOtsdNope',
'thlvlStaaOtsdNope',
'folvlStaaOtsdNope',
'filvlStaaOtsdNope',
'sxlvlStaaOtsdNope',
'svlvlStaaOtsdNope',
'eilvlStaaOtsdNope'
]
}
]
@@ -11,8 +11,8 @@ export const SewageTreatFactStatusInpColumn = {
// 총계
{
name: 'wholDrtwPrcsFcltCnt',
fieldName: 'wholDrtwPrcsFcltCnt',
name: 'wholSwgdplFcltCnt',
fieldName: 'wholSwgdplFcltCnt',
header: { text: '총계' },
editable: false,
footer: footerInt,
@@ -21,20 +21,20 @@ export const SewageTreatFactStatusInpColumn = {
styleName: 'rg-cell-total',
computed: {
fields: [
'step1StaaPrcsQnt',
'step2StaaPrcsQnt',
'step3StaaPrcsQnt',
'step4StaaPrcsQnt',
'step5StaaPrcsQnt',
'step6StaaPrcsQnt',
'step7StaaPrcsQnt',
'step1StaaExcpPrcsQnt',
'step2StaaExcpPrcsQnt',
'step3StaaExcpPrcsQnt',
'step4StaaExcpPrcsQnt',
'step5StaaExcpPrcsQnt',
'step6StaaExcpPrcsQnt',
'step7StaaExcpPrcsQnt',
'frlvlStaaPrcqty',
'sclvlStaaPrcqty',
'thlvlStaaPrcqty',
'folvlStaaPrcqty',
'filvlStaaPrcqty',
'sxlvlStaaPrcqty',
'svlvlStaaPrcqty',
'frlvlStaaOtsdPrcqty',
'sclvlStaaOtsdPrcqty',
'thlvlStaaOtsdPrcqty',
'folvlStaaOtsdPrcqty',
'filvlStaaOtsdPrcqty',
'sxlvlStaaOtsdPrcqty',
'svlvlStaaOtsdPrcqty',
],
type: 'sum' as const,
},
@@ -42,8 +42,8 @@ export const SewageTreatFactStatusInpColumn = {
// 오수처리시설 > 하수처리구역 내(m³/일)
{
name: 'wholStaaCnt',
fieldName: 'wholStaaCnt',
name: 'wholStaaPrcqty',
fieldName: 'wholStaaPrcqty',
header: { text: '계' },
editable: false,
footer: footerInt,
@@ -52,29 +52,29 @@ export const SewageTreatFactStatusInpColumn = {
styleName: 'rg-cell-total',
computed: {
fields: [
'step1StaaPrcsQnt',
'step2StaaPrcsQnt',
'step3StaaPrcsQnt',
'step4StaaPrcsQnt',
'step5StaaPrcsQnt',
'step6StaaPrcsQnt',
'step7StaaPrcsQnt',
'frlvlStaaPrcqty',
'sclvlStaaPrcqty',
'thlvlStaaPrcqty',
'folvlStaaPrcqty',
'filvlStaaPrcqty',
'sxlvlStaaPrcqty',
'svlvlStaaPrcqty',
],
type: 'sum' as const,
},
},
{ name: 'step1StaaPrcsQnt', fieldName: 'step1StaaPrcsQnt', header: { text: '2이하' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'step2StaaPrcsQnt', fieldName: 'step2StaaPrcsQnt', header: { text: '3~10' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'step3StaaPrcsQnt', fieldName: 'step3StaaPrcsQnt', header: { text: '11~20' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'step4StaaPrcsQnt', fieldName: 'step4StaaPrcsQnt', header: { text: '21~50' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'step5StaaPrcsQnt', fieldName: 'step5StaaPrcsQnt', header: { text: '51~100' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'step6StaaPrcsQnt', fieldName: 'step6StaaPrcsQnt', header: { text: '101~500' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'step7StaaPrcsQnt', fieldName: 'step7StaaPrcsQnt', header: { text: '501이상' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'frlvlStaaPrcqty', fieldName: 'frlvlStaaPrcqty', header: { text: '2이하' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'sclvlStaaPrcqty', fieldName: 'sclvlStaaPrcqty', header: { text: '3~10' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'thlvlStaaPrcqty', fieldName: 'thlvlStaaPrcqty', header: { text: '11~20' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'folvlStaaPrcqty', fieldName: 'folvlStaaPrcqty', header: { text: '21~50' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'filvlStaaPrcqty', fieldName: 'filvlStaaPrcqty', header: { text: '51~100' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'sxlvlStaaPrcqty', fieldName: 'sxlvlStaaPrcqty', header: { text: '101~500' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'svlvlStaaPrcqty', fieldName: 'svlvlStaaPrcqty', header: { text: '501이상' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
// 오수처리시설 > 하수처리구역 외(m³/일)
{
name: 'staaExcpWhol',
fieldName: 'staaExcpWhol',
name: 'staaOtsdWholPrcqty',
fieldName: 'staaOtsdWholPrcqty',
header: { text: '계' },
editable: false,
footer: footerInt,
@@ -83,24 +83,24 @@ export const SewageTreatFactStatusInpColumn = {
styleName: 'rg-cell-total',
computed: {
fields: [
'step1StaaExcpPrcsQnt',
'step2StaaExcpPrcsQnt',
'step3StaaExcpPrcsQnt',
'step4StaaExcpPrcsQnt',
'step5StaaExcpPrcsQnt',
'step6StaaExcpPrcsQnt',
'step7StaaExcpPrcsQnt',
'frlvlStaaOtsdPrcqty',
'sclvlStaaOtsdPrcqty',
'thlvlStaaOtsdPrcqty',
'folvlStaaOtsdPrcqty',
'filvlStaaOtsdPrcqty',
'sxlvlStaaOtsdPrcqty',
'svlvlStaaOtsdPrcqty',
],
type: 'sum' as const,
},
},
{ name: 'step1StaaExcpPrcsQnt', fieldName: 'step1StaaExcpPrcsQnt', header: { text: '2이하' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'step2StaaExcpPrcsQnt', fieldName: 'step2StaaExcpPrcsQnt', header: { text: '3~10' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'step3StaaExcpPrcsQnt', fieldName: 'step3StaaExcpPrcsQnt', header: { text: '11~20' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'step4StaaExcpPrcsQnt', fieldName: 'step4StaaExcpPrcsQnt', header: { text: '21~50' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'step5StaaExcpPrcsQnt', fieldName: 'step5StaaExcpPrcsQnt', header: { text: '51~100' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'step6StaaExcpPrcsQnt', fieldName: 'step6StaaExcpPrcsQnt', header: { text: '101~500' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'step7StaaExcpPrcsQnt', fieldName: 'step7StaaExcpPrcsQnt', header: { text: '501이상' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'frlvlStaaOtsdPrcqty', fieldName: 'frlvlStaaOtsdPrcqty', header: { text: '2이하' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'sclvlStaaOtsdPrcqty', fieldName: 'sclvlStaaOtsdPrcqty', header: { text: '3~10' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'thlvlStaaOtsdPrcqty', fieldName: 'thlvlStaaOtsdPrcqty', header: { text: '11~20' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'folvlStaaOtsdPrcqty', fieldName: 'folvlStaaOtsdPrcqty', header: { text: '21~50' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'filvlStaaOtsdPrcqty', fieldName: 'filvlStaaOtsdPrcqty', header: { text: '51~100' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'sxlvlStaaOtsdPrcqty', fieldName: 'sxlvlStaaOtsdPrcqty', header: { text: '101~500' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'svlvlStaaOtsdPrcqty', fieldName: 'svlvlStaaOtsdPrcqty', header: { text: '501이상' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
// 비고
{ name: 'rmrk', fieldName: 'rmrk', header: { text: '비고' } },
@@ -118,7 +118,7 @@ export const SewageTreatFactStatusInpColumn = {
'sggNm',
],
},
'wholDrtwPrcsFcltCnt',
'wholSwgdplFcltCnt',
{
name: 'group_stty',
header: { text: '오수처리시설' },
@@ -127,28 +127,28 @@ export const SewageTreatFactStatusInpColumn = {
name: 'group_inner',
header: { text: '하수처리구역 내(m³/일)' },
items: [
'wholStaaCnt',
'step1StaaPrcsQnt',
'step2StaaPrcsQnt',
'step3StaaPrcsQnt',
'step4StaaPrcsQnt',
'step5StaaPrcsQnt',
'step6StaaPrcsQnt',
'step7StaaPrcsQnt'
'wholStaaPrcqty',
'frlvlStaaPrcqty',
'sclvlStaaPrcqty',
'thlvlStaaPrcqty',
'folvlStaaPrcqty',
'filvlStaaPrcqty',
'sxlvlStaaPrcqty',
'svlvlStaaPrcqty'
]
},
{
name: 'group_outer',
header: { text: '하수처리구역 외(m³/일)' },
items: [
'staaExcpWhol',
'step1StaaExcpPrcsQnt',
'step2StaaExcpPrcsQnt',
'step3StaaExcpPrcsQnt',
'step4StaaExcpPrcsQnt',
'step5StaaExcpPrcsQnt',
'step6StaaExcpPrcsQnt',
'step7StaaExcpPrcsQnt'
'staaOtsdWholPrcqty',
'frlvlStaaOtsdPrcqty',
'sclvlStaaOtsdPrcqty',
'thlvlStaaOtsdPrcqty',
'folvlStaaOtsdPrcqty',
'filvlStaaOtsdPrcqty',
'sxlvlStaaOtsdPrcqty',
'svlvlStaaOtsdPrcqty'
]
}
]
@@ -17,8 +17,8 @@ export const ExcretaRelatedIndustryInpColumn = {
// 시설(차량) 확보현황(대수)
{
name: 'fcltSecrPrstCnt',
fieldName: 'fcltSecrPrstCnt',
name: 'fcltSecrCnt',
fieldName: 'fcltSecrCnt',
header: { text: '계' },
editable: false, footer:
footerInt,
@@ -26,13 +26,13 @@ export const ExcretaRelatedIndustryInpColumn = {
dataFormat: '#,##0',
styleName: 'rg-cell-total',
computed: {
fields: ['n3TonUdrCnt', 'n4TonUdrCnt', 'n8TonUdrCnt', 'etcCnt'],
fields: ['frlvlTonUdrCnt', 'sclvlTonUdrCnt', 'thlvlTonUdrCnt', 'etcCnt'],
type: 'sum' as const,
},
},
{ name: 'n3TonUdrCnt', fieldName: 'n3TonUdrCnt', header: { text: '3톤이하' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'n4TonUdrCnt', fieldName: 'n4TonUdrCnt', header: { text: '4.5톤이하' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'n8TonUdrCnt', fieldName: 'n8TonUdrCnt', header: { text: '8톤이하' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'frlvlTonUdrCnt', fieldName: 'frlvlTonUdrCnt', header: { text: '3톤이하' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'sclvlTonUdrCnt', fieldName: 'sclvlTonUdrCnt', header: { text: '4.5톤이하' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'thlvlTonUdrCnt', fieldName: 'thlvlTonUdrCnt', header: { text: '8톤이하' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'etcCnt', fieldName: 'etcCnt', header: { text: '기타' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
// 수집·운반 실적(m³/년)
@@ -60,10 +60,10 @@ export const ExcretaRelatedIndustryInpColumn = {
name: 'group_vehicle_status',
header: { text: '시설(차량) 확보현황(대수)' },
items: [
'fcltSecrPrstCnt',
'n3TonUdrCnt',
'n4TonUdrCnt',
'n8TonUdrCnt',
'fcltSecrCnt',
'frlvlTonUdrCnt',
'sclvlTonUdrCnt',
'thlvlTonUdrCnt',
'etcCnt'
]
},
@@ -14,8 +14,8 @@ export const PublicInstitutionExcretaIndustryInpColumn = {
// 직원총수
{
name: 'empGrssCnt',
fieldName: 'empGrssCnt',
name: 'empWholCnt',
fieldName: 'empWholCnt',
header: { text: '직원총수' },
editable: false,
footer: footerInt,
@@ -23,7 +23,7 @@ export const PublicInstitutionExcretaIndustryInpColumn = {
dataFormat: '#,##0',
styleName: 'rg-cell-total',
computed: {
fields: ['engrkCnt', 'mchnCnt', 'prvtmCnt', 'chmengCnt', 'envCnt', 'enjbEtcCnt', 'etcCnt'],
fields: ['engrkCnt', 'mchnCnt', 'prvtmCnt', 'chemCnt', 'envCnt', 'enjbEtcCnt', 'etcCnt'],
type: 'sum' as const,
},
},
@@ -42,14 +42,14 @@ export const PublicInstitutionExcretaIndustryInpColumn = {
dataFormat: '#,##0',
styleName: 'rg-cell-total',
computed: {
fields: ['engrkCnt', 'mchnCnt', 'prvtmCnt', 'chmengCnt', 'envCnt', 'enjbEtcCnt'],
fields: ['engrkCnt', 'mchnCnt', 'prvtmCnt', 'chemCnt', 'envCnt', 'enjbEtcCnt'],
type: 'sum' as const,
},
},
{ name: 'engrkCnt', fieldName: 'engrkCnt', header: { text: '토목' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'mchnCnt', fieldName: 'mchnCnt', header: { text: '기계' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'prvtmCnt', fieldName: 'prvtmCnt', header: { text: '전기' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'chmengCnt', fieldName: 'chmengCnt', header: { text: '화공' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'chemCnt', fieldName: 'chemCnt', header: { text: '화공' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'envCnt', fieldName: 'envCnt', header: { text: '환경' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'enjbEtcCnt', fieldName: 'enjbEtcCnt', header: { text: '기타' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
@@ -61,7 +61,7 @@ export const PublicInstitutionExcretaIndustryInpColumn = {
{ name: 'admdstCd', fieldName: 'admdstCd', header: { text: '행정구역코드' }, visible: false, },
{ name: 'admdstNm', fieldName: 'admdstNm', header: { text: '행정구역명' }, visible: false },
{ name: 'ognzSn', fieldName: 'ognzSn', header: { text: '조직일련번호' }, visible: false },
{ name: 'statsOgnzSn', fieldName: 'statsOgnzSn', header: { text: '조직일련번호' }, visible: false },
{
name: '__isNewArticle',
fieldName: '__isNewArticle',
@@ -82,7 +82,7 @@ export const PublicInstitutionExcretaIndustryInpColumn = {
],
},
'ognzNm',
'empGrssCnt',
'empWholCnt',
'pbadmsNope',
{
name: 'group_technology',
@@ -92,7 +92,7 @@ export const PublicInstitutionExcretaIndustryInpColumn = {
'engrkCnt',
'mchnCnt',
'prvtmCnt',
'chmengCnt',
'chemCnt',
'envCnt',
'enjbEtcCnt'
]
@@ -101,7 +101,7 @@ export const PublicInstitutionExcretaIndustryInpColumn = {
'rmrk',
'admdstCd',
'admdstNm',
'ognzSn',
'statsOgnzSn',
'__isNewArticle',
],
@@ -14,8 +14,8 @@ export const PublicInstitutionSewerIndustryInpColumn = {
// 직원총수
{
name: 'empGrssCnt',
fieldName: 'empGrssCnt',
name: 'empWholCnt',
fieldName: 'empWholCnt',
header: { text: '직원총수' },
editable: false,
footer: footerInt,
@@ -23,7 +23,7 @@ export const PublicInstitutionSewerIndustryInpColumn = {
dataFormat: '#,##0',
styleName: 'rg-cell-total',
computed: {
fields: ['engrkCnt', 'mchnCnt', 'prvtmCnt', 'chmengCnt', 'envCnt', 'enjbEtcCnt', 'etcCnt'],
fields: ['engrkCnt', 'mchnCnt', 'prvtmCnt', 'chemCnt', 'envCnt', 'enjbEtcCnt', 'etcCnt'],
type: 'sum' as const,
},
},
@@ -42,14 +42,14 @@ export const PublicInstitutionSewerIndustryInpColumn = {
dataFormat: '#,##0',
styleName: 'rg-cell-total',
computed: {
fields: ['engrkCnt', 'mchnCnt', 'prvtmCnt', 'chmengCnt', 'envCnt', 'enjbEtcCnt'],
fields: ['engrkCnt', 'mchnCnt', 'prvtmCnt', 'chemCnt', 'envCnt', 'enjbEtcCnt'],
type: 'sum' as const,
},
},
{ name: 'engrkCnt', fieldName: 'engrkCnt', header: { text: '토목' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'mchnCnt', fieldName: 'mchnCnt', header: { text: '기계' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'prvtmCnt', fieldName: 'prvtmCnt', header: { text: '전기' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'chmengCnt', fieldName: 'chmengCnt', header: { text: '화공' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'chemCnt', fieldName: 'chemCnt', header: { text: '화공' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'envCnt', fieldName: 'envCnt', header: { text: '환경' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'enjbEtcCnt', fieldName: 'enjbEtcCnt', header: { text: '기타' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
@@ -61,7 +61,7 @@ export const PublicInstitutionSewerIndustryInpColumn = {
{ name: 'admdstCd', fieldName: 'admdstCd', header: { text: '행정구역코드' }, visible: false, },
{ name: 'admdstNm', fieldName: 'admdstNm', header: { text: '행정구역명' }, visible: false },
{ name: 'ognzSn', fieldName: 'ognzSn', header: { text: '조직일련번호' }, visible: false },
{ name: 'statsOgnzSn', fieldName: 'statsOgnzSn', header: { text: '조직일련번호' }, visible: false },
{
name: '__isNewArticle',
fieldName: '__isNewArticle',
@@ -82,7 +82,7 @@ export const PublicInstitutionSewerIndustryInpColumn = {
],
},
'ognzNm',
'empGrssCnt',
'empWholCnt',
'pbadmsNope',
{
name: 'group_technology',
@@ -92,7 +92,7 @@ export const PublicInstitutionSewerIndustryInpColumn = {
'engrkCnt',
'mchnCnt',
'prvtmCnt',
'chmengCnt',
'chemCnt',
'envCnt',
'enjbEtcCnt'
]
@@ -101,7 +101,7 @@ export const PublicInstitutionSewerIndustryInpColumn = {
'rmrk',
'admdstCd',
'admdstNm',
'ognzSn',
'statsOgnzSn',
'__isNewArticle',
],
@@ -4,9 +4,9 @@ import type { ColumnConfig } from "@/components/type/DataGrid.type";
import { footerDecimal1 } from "@/components/util/grid/footerSummary";
export const DIGESTOR_OPERATING_STATUS_YN_VALUES = ["Y", "N"] as const;
export const DIGESTOR_OPERATING_STATUS_EN_YN_FIELD = "digstnEnYn" as const;
export const DIGESTOR_OPERATING_STATUS_EN_YN_FIELD = "gasPrcsEnYn" as const;
/** 소화조 유/무가 N이면 해당 행의 입력 셀을 잠근다(digstnEnYn 제외). */
/** 소화조 유/무가 N이면 해당 행의 입력 셀을 잠근다(gasPrcsEnYn 제외). */
export function isDigestorOperatingRowDisabled(
row: Record<string, string | number>,
grid?: { getValue?: (itemIndex: number, fieldName: string) => unknown },
@@ -59,23 +59,23 @@ export const DigestorOperatingStatusInpColumn = {
// 소화조 운영현황
dropdownColumn(
{
name: 'digstnEnYn',
fieldName: 'digstnEnYn',
name: 'gasPrcsEnYn',
fieldName: 'gasPrcsEnYn',
header: { text: '소화조 유/무(Y/N)선택' },
},
DIGESTOR_OPERATING_STATUS_YN_VALUES,
),
{ name: 'digstnCpct', fieldName: 'digstnCpct', header: { text: '설계용량(m³)' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' },
{ name: 'gasPrcsCpct', fieldName: 'gasPrcsCpct', header: { text: '설계용량(m³)' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' },
{ name: 'actlDrvnCpct', fieldName: 'actlDrvnCpct', header: { text: '실제운전용량(m³)' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' },
{ name: 'digstnGasInputQnt', fieldName: 'digstnGasInputQnt', header: { text: '투입량(m³/일)' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' },
{ name: 'digstnGasInputSldDnst', fieldName: 'digstnGasInputSldDnst', header: { text: '투입 TS 농도(%)' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' },
{ name: 'digstnTnkOprtngDayCnt', fieldName: 'digstnTnkOprtngDayCnt', header: { text: '가동일수(연간)' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' },
{ name: 'prcsGasInputQnt', fieldName: 'prcsGasInputQnt', header: { text: '투입량(m³/일)' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' },
{ name: 'prcsGasInputSldDnst', fieldName: 'prcsGasInputSldDnst', header: { text: '투입 TS 농도(%)' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' },
{ name: 'prcsRepoOprtngDayCnt', fieldName: 'prcsRepoOprtngDayCnt', header: { text: '가동일수(연간)' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' },
{ name: 'ocrnGasQnt', fieldName: 'ocrnGasQnt', header: { text: '발생가스량(m³/일)' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' },
// 소화조 운영현황 > 소화가스 이용현황(m³/일)
{
name: 'digstnGasUtztnWholPrst',
fieldName: 'digstnGasUtztnWholPrst',
name: 'prcsGasUtztnWholQnt',
fieldName: 'prcsGasUtztnWholQnt',
header: { text: '계' },
footer: footerDecimal1,
editable: false,
@@ -84,18 +84,18 @@ export const DigestorOperatingStatusInpColumn = {
styleName: 'rg-cell-total',
computed: {
fields: [
'digstnGasUtztnNtslQnt',
'digstnGasUtztnEtgtQnt',
'digstnGasUtztnItslfQnt',
'digstnGasUtztnEtcQnt',
'prcsGasUtztnNtslQnt',
'prcsGasUtztnEtgtQnt',
'prcsGasUtztnItslfQnt',
'prcsGasUtztnEtcQnt',
],
type: 'sum' as const,
},
},
{ name: 'digstnGasUtztnNtslQnt', fieldName: 'digstnGasUtztnNtslQnt', header: { text: '판매' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' },
{ name: 'digstnGasUtztnEtgtQnt', fieldName: 'digstnGasUtztnEtgtQnt', header: { text: '발전' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' },
{ name: 'digstnGasUtztnItslfQnt', fieldName: 'digstnGasUtztnItslfQnt', header: { text: '자체활용' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' },
{ name: 'digstnGasUtztnEtcQnt', fieldName: 'digstnGasUtztnEtcQnt', header: { text: '기타(CNG등)' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' },
{ name: 'prcsGasUtztnNtslQnt', fieldName: 'prcsGasUtztnNtslQnt', header: { text: '판매' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' },
{ name: 'prcsGasUtztnEtgtQnt', fieldName: 'prcsGasUtztnEtgtQnt', header: { text: '발전' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' },
{ name: 'prcsGasUtztnItslfQnt', fieldName: 'prcsGasUtztnItslfQnt', header: { text: '자체활용' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' },
{ name: 'prcsGasUtztnEtcQnt', fieldName: 'prcsGasUtztnEtcQnt', header: { text: '기타(CNG등)' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' },
// 소화조 운영현황 > 잉여가스량
{ name: 'surplsGasQnt', fieldName: 'surplsGasQnt', header: { text: '잉여가스량(m³/일)' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' },
@@ -124,22 +124,22 @@ export const DigestorOperatingStatusInpColumn = {
name: 'group_digestor_operating',
header: { text: '소화조 운영현황' },
items: [
'digstnEnYn',
'digstnCpct',
'gasPrcsEnYn',
'gasPrcsCpct',
'actlDrvnCpct',
'digstnGasInputQnt',
'digstnGasInputSldDnst',
'digstnTnkOprtngDayCnt',
'prcsGasInputQnt',
'prcsGasInputSldDnst',
'prcsRepoOprtngDayCnt',
'ocrnGasQnt',
{
name: 'group_gas_usage',
header: { text: '소화가스 이용현황(m³/일)' },
items: [
'digstnGasUtztnWholPrst',
'digstnGasUtztnNtslQnt',
'digstnGasUtztnEtgtQnt',
'digstnGasUtztnItslfQnt',
'digstnGasUtztnEtcQnt'
'prcsGasUtztnWholQnt',
'prcsGasUtztnNtslQnt',
'prcsGasUtztnEtgtQnt',
'prcsGasUtztnItslfQnt',
'prcsGasUtztnEtcQnt'
]
},
'surplsGasQnt'
@@ -14,8 +14,8 @@ export const ExcretaSlurgeProcessingStatusInpColumn = {
// 발생량
{
name: 'gnam',
fieldName: 'gnam',
name: 'sludgeGnam',
fieldName: 'sludgeGnam',
header: { text: '발생량 (A)=(B)+(C)' },
editable: false,
footer: footerDecimal1,
@@ -30,7 +30,7 @@ export const ExcretaSlurgeProcessingStatusInpColumn = {
'oceanInputQnt',
'fuelQnt',
'etcQnt',
'nondspsQnt'
'unprcsQnt'
],
type: 'sum' as const,
},
@@ -66,7 +66,7 @@ export const ExcretaSlurgeProcessingStatusInpColumn = {
{ name: 'etcQnt', fieldName: 'etcQnt', header: { text: '기타' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' },
// 미처분량(이월량)(C)
{ name: 'nondspsQnt', fieldName: 'nondspsQnt', header: { text: '미처분량(이월량)(C)' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' },
{ name: 'unprcsQnt', fieldName: 'unprcsQnt', header: { text: '미처분량(이월량)(C)' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' },
// 타시설연계여부
{ name: 'swtrmtFcltNm', fieldName: 'swtrmtFcltNm', header: { text: '타시설연계여부' } },
@@ -91,7 +91,7 @@ export const ExcretaSlurgeProcessingStatusInpColumn = {
],
},
'fcltNm',
'gnam',
'sludgeGnam',
{
name: 'group_process_amount',
header: { text: '처 분 량(톤/년)' },
@@ -105,7 +105,7 @@ export const ExcretaSlurgeProcessingStatusInpColumn = {
'etcQnt'
]
},
'nondspsQnt',
'unprcsQnt',
'swtrmtFcltNm',
'rmrk',
'admdstCd',
@@ -14,10 +14,10 @@ export const SewageSlurgeProcessingFacStatusInpColumn = {
// 처리시설 운영현황
{ name: 'prcsMthExpln', fieldName: 'prcsMthExpln', header: { text: '처리방식' } },
{ name: 'fcltCpct', fieldName: 'fcltCpct', header: { text: '시설용량(톤/일)' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' },
{ name: 'sludgeFcltCpct', fieldName: 'sludgeFcltCpct', header: { text: '시설용량(톤/일)' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' },
{ name: 'anlPrcsQnt', fieldName: 'anlPrcsQnt', header: { text: '연간처리량(톤/년)' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' },
{ name: 'dayAvgOprtngHr', fieldName: 'dayAvgOprtngHr', header: { text: '일평균가동시간(1~24)' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'anlOprtngDayCnt', fieldName: 'anlOprtngDayCnt', header: { text: '연중 가동일(1~330)' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'dyrgOprtngHr', fieldName: 'dyrgOprtngHr', header: { text: '일평균가동시간(1~24)' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'fcltAnlOprtngDayCnt', fieldName: 'fcltAnlOprtngDayCnt', header: { text: '연중 가동일(1~330)' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{
name: 'oprtngRt',
fieldName: 'oprtngRt',
@@ -29,8 +29,8 @@ export const SewageSlurgeProcessingFacStatusInpColumn = {
dataFormat: '#,##0.0',
computed: {
numeratorField: 'anlPrcsQnt',
denominatorField: 'fcltCpct',
multiplierField: 'anlOprtngDayCnt',
denominatorField: 'sludgeFcltCpct',
multiplierField: 'fcltAnlOprtngDayCnt',
type: 'quotientTimesMultiplierPercent' as const,
},
},
@@ -67,10 +67,10 @@ export const SewageSlurgeProcessingFacStatusInpColumn = {
header: { text: '처리시설 운영현황' },
items: [
'prcsMthExpln',
'fcltCpct',
'sludgeFcltCpct',
'anlPrcsQnt',
'dayAvgOprtngHr',
'anlOprtngDayCnt',
'dyrgOprtngHr',
'fcltAnlOprtngDayCnt',
'oprtngRt'
]
},
@@ -14,8 +14,8 @@ export const SlurgeProcessingFacStatusInpColumn = {
// 찌꺼기발생량(톤/년, 탈수기준)
{
name: 'gnamWhol',
fieldName: 'gnamWhol',
name: 'wholGnam',
fieldName: 'wholGnam',
header: { text: '합계' },
editable: false,
footer: footerDecimal1,
@@ -37,12 +37,12 @@ export const SlurgeProcessingFacStatusInpColumn = {
{ name: 'transfPrcsQnt', fieldName: 'transfPrcsQnt', header: { text: '이송처리량(m³/년)' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' },
// 함수율
{ name: 'srpFncRt', fieldName: 'srpFncRt', header: { text: '함수율(%, 탈수기준)' }, footer: footerAvgDecimal, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' },
{ name: 'sludgeFncRt', fieldName: 'sludgeFncRt', header: { text: '함수율(%, 탈수기준)' }, footer: footerAvgDecimal, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' },
// 찌꺼기처리량합계
{
name: 'wholSrpPrcsQnt',
fieldName: 'wholSrpPrcsQnt',
name: 'wholSludgePrcsQnt',
fieldName: 'wholSludgePrcsQnt',
header: { text: '찌꺼기처리량합계(톤/년)' },
editable: false,
footer: footerDecimal1,
@@ -51,19 +51,19 @@ export const SlurgeProcessingFacStatusInpColumn = {
styleName: 'rg-cell-total',
computed: {
fields: [
'itslfTs1RclmQnt',
'itslfTs1IncnrQnt',
'itslfTs1AltdQnt',
'itslfTs1DryQnt',
'itslfTs1FuelQnt',
'itslfTs1CmpstgQnt',
'itslfFrlvlRclmQnt',
'itslfFrlvlIncnrQnt',
'itslfFrlvlSldQnt',
'itslfFrlvlDryQnt',
'itslfFrlvlCrbnQnt',
'itslfFrlvlCmpstgQnt',
'otsdCnsgnRclmQnt',
'otsdCnsgnIncnrQnt',
'otsdCnsgnFuelPwplQnt',
'otsdCnsgnPwplQnt',
'otsdCnsgnPrdctRmtrlQnt',
'otsdCnsgnFmlyrQnt',
'otsdCnsgnCwthQnt',
'otsdCnsgnCmpstgQnt',
'cparTs1Whol',
'cparFrlvlWholQnt',
],
type: 'sum' as const,
}
@@ -71,8 +71,8 @@ export const SlurgeProcessingFacStatusInpColumn = {
// 자체 찌꺼기 처리량 > 자체찌꺼기처리량소계
{
name: 'itslfTs1Whol',
fieldName: 'itslfTs1Whol',
name: 'itslfFrlvlWholQnt',
fieldName: 'itslfFrlvlWholQnt',
header: { text: '자체찌꺼기처리량소계' },
editable: false,
footer: footerDecimal1,
@@ -81,27 +81,27 @@ export const SlurgeProcessingFacStatusInpColumn = {
styleName: 'rg-cell-total',
computed: {
fields: [
'itslfTs1RclmQnt',
'itslfTs1IncnrQnt',
'itslfTs1AltdQnt',
'itslfTs1DryQnt',
'itslfTs1FuelQnt',
'itslfTs1CmpstgQnt',
'itslfFrlvlRclmQnt',
'itslfFrlvlIncnrQnt',
'itslfFrlvlSldQnt',
'itslfFrlvlDryQnt',
'itslfFrlvlCrbnQnt',
'itslfFrlvlCmpstgQnt',
],
type: 'sum' as const,
}
},
// 자체 찌꺼기 처리량 > 매립
{ name: 'itslfTs1RclmQnt', fieldName: 'itslfTs1RclmQnt', header: { text: '매립' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' },
{ name: 'itslfFrlvlRclmQnt', fieldName: 'itslfFrlvlRclmQnt', header: { text: '매립' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' },
// 자체 찌꺼기 처리량 > 소각(1차)
{ name: 'itslfTs1IncnrQnt', fieldName: 'itslfTs1IncnrQnt', header: { text: '소각(1차)' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' },
{ name: 'itslfFrlvlIncnrQnt', fieldName: 'itslfFrlvlIncnrQnt', header: { text: '소각(1차)' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' },
// 자체 찌꺼기 처리량 > 소각 후 처리(2차) - 쿼리에 없음 (임의 생성)
{
name: 'incnrPrcsWhol',
fieldName: 'incnrPrcsWhol',
name: 'incnrPrcsWholQnt',
fieldName: 'incnrPrcsWholQnt',
header: { text: '소계' },
editable: false,
footer: footerDecimal1,
@@ -112,23 +112,23 @@ export const SlurgeProcessingFacStatusInpColumn = {
fields: [
'incnrPrcsLfvlm',
'incnrPrcsPrdctRmtrlQnt',
'incnrPrcsFmlyrQnt',
'incnrPrcsCwthQnt',
],
type: 'sum' as const,
}
},
{ name: 'incnrPrcsLfvlm', fieldName: 'incnrPrcsLfvlm', header: { text: '매립' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' },
{ name: 'incnrPrcsPrdctRmtrlQnt', fieldName: 'incnrPrcsPrdctRmtrlQnt', header: { text: '제품원료' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' },
{ name: 'incnrPrcsFmlyrQnt', fieldName: 'incnrPrcsFmlyrQnt', header: { text: '복토재' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' },
{ name: 'incnrPrcsCwthQnt', fieldName: 'incnrPrcsCwthQnt', header: { text: '복토재' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' },
{ name: 'incnrPrcsFcltNm', fieldName: 'incnrPrcsFcltNm', header: { text: '시설(업체명)' } },
// 자체 찌꺼기 처리량 > 고화(1차) - 쿼리에 없음 (임의 생성)
{ name: 'itslfTs1AltdQnt', fieldName: 'itslfTs1AltdQnt', header: { text: '고화(1차)' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' },
{ name: 'itslfFrlvlSldQnt', fieldName: 'itslfFrlvlSldQnt', header: { text: '고화(1차)' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' },
// 자체 찌꺼기 처리량 > 고화 후 처리(2차) - 쿼리에 없음 (임의 생성)
{
name: 'stbznPrcsWhol',
fieldName: 'stbznPrcsWhol',
name: 'sldPrcsWholQnt',
fieldName: 'sldPrcsWholQnt',
header: { text: '소계' },
editable: false,
footer: footerDecimal1,
@@ -137,23 +137,23 @@ export const SlurgeProcessingFacStatusInpColumn = {
styleName: 'rg-cell-total',
computed: {
fields: [
'stbznPrcsLfvlm',
'stbznPrcsFmlyrQnt',
'sldPrcsLfvlm',
'sldPrcsCwthQnt',
],
type: 'sum' as const,
}
},
{ name: 'stbznPrcsLfvlm', fieldName: 'stbznPrcsLfvlm', header: { text: '매립' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' },
{ name: 'stbznPrcsFmlyrQnt', fieldName: 'stbznPrcsFmlyrQnt', header: { text: '복토재' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' },
{ name: 'stbznPrcsFcltNm', fieldName: 'stbznPrcsFcltNm', header: { text: '시설(업체명)' } },
{ name: 'sldPrcsLfvlm', fieldName: 'sldPrcsLfvlm', header: { text: '매립' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' },
{ name: 'sldPrcsCwthQnt', fieldName: 'sldPrcsCwthQnt', header: { text: '복토재' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' },
{ name: 'sldPrcsFcltNm', fieldName: 'sldPrcsFcltNm', header: { text: '시설(업체명)' } },
// 자체 찌꺼기 처리량 > 건조(1차)
{ name: 'itslfTs1DryQnt', fieldName: 'itslfTs1DryQnt', header: { text: '건조(1차)' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' },
{ name: 'itslfFrlvlDryQnt', fieldName: 'itslfFrlvlDryQnt', header: { text: '건조(1차)' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' },
// 자체 찌꺼기 처리량 > 건조 후 처리(2차) - 쿼리에 없음
{
name: 'dryPrcsWhol',
fieldName: 'dryPrcsWhol',
name: 'dryPrcsWholQnt',
fieldName: 'dryPrcsWholQnt',
header: { text: '소계' },
editable: false,
footer: footerDecimal1,
@@ -166,7 +166,7 @@ export const SlurgeProcessingFacStatusInpColumn = {
'dryPrcsIncnrQnt',
'dryPrcsFuelQnt',
'dryPrcsPrdctRmtrlQnt',
'dryPrcsFmlyrQnt',
'dryPrcsCwthQnt',
'dryPrcsCmpstgQnt',
],
type: 'sum' as const,
@@ -176,17 +176,17 @@ export const SlurgeProcessingFacStatusInpColumn = {
{ name: 'dryPrcsIncnrQnt', fieldName: 'dryPrcsIncnrQnt', header: { text: '소각' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' },
{ name: 'dryPrcsFuelQnt', fieldName: 'dryPrcsFuelQnt', header: { text: '연료' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' },
{ name: 'dryPrcsPrdctRmtrlQnt', fieldName: 'dryPrcsPrdctRmtrlQnt', header: { text: '제품원료' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' },
{ name: 'dryPrcsFmlyrQnt', fieldName: 'dryPrcsFmlyrQnt', header: { text: '복토재' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' },
{ name: 'dryPrcsCwthQnt', fieldName: 'dryPrcsCwthQnt', header: { text: '복토재' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' },
{ name: 'dryPrcsCmpstgQnt', fieldName: 'dryPrcsCmpstgQnt', header: { text: '퇴비화' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' },
{ name: 'dryPrcsFcltNm', fieldName: 'dryPrcsFcltNm', header: { text: '시설(업체명)' }, editable: true },
// 자체 찌꺼기 처리량 > 탄화(1차) - 쿼리에 없음 (임의 생성)
{ name: 'itslfTs1FuelQnt', fieldName: 'itslfTs1FuelQnt', header: { text: '탄화(1차)' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' },
{ name: 'itslfFrlvlCrbnQnt', fieldName: 'itslfFrlvlCrbnQnt', header: { text: '탄화(1차)' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' },
// 자체 찌꺼기 처리량 > 탄화 후 처리(2차) - 쿼리에 없음 (임의 생성)
{
name: 'fuelPrcsWhol',
fieldName: 'fuelPrcsWhol',
name: 'crbnPrcsWholQnt',
fieldName: 'crbnPrcsWholQnt',
header: { text: '소계' },
editable: false,
footer: footerDecimal1,
@@ -194,24 +194,24 @@ export const SlurgeProcessingFacStatusInpColumn = {
dataFormat: '#,##0.0',
styleName: 'rg-cell-total',
computed: {
fields: ['fuelPrcsIncnrQnt', 'fuelPrcsFuelQnt'],
fields: ['crbnPrcsIncnrQnt', 'crbnPrcsFuelQnt'],
type: 'sum' as const,
}
},
{ name: 'fuelPrcsIncnrQnt', fieldName: 'fuelPrcsIncnrQnt', header: { text: '소각' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' },
{ name: 'fuelPrcsFuelQnt', fieldName: 'fuelPrcsFuelQnt', header: { text: '연료' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' },
{ name: 'fuelPrcsFcltNm', fieldName: 'fuelPrcsFcltNm', header: { text: '시설(업체명)' } },
{ name: 'crbnPrcsIncnrQnt', fieldName: 'crbnPrcsIncnrQnt', header: { text: '소각' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' },
{ name: 'crbnPrcsFuelQnt', fieldName: 'crbnPrcsFuelQnt', header: { text: '연료' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' },
{ name: 'crbnPrcsFcltNm', fieldName: 'crbnPrcsFcltNm', header: { text: '시설(업체명)' } },
// 자체 찌꺼기 처리량 > 퇴비화 - 쿼리에 없음 (임의 생성)
{ name: 'itslfTs1CmpstgQnt', fieldName: 'itslfTs1CmpstgQnt', header: { text: '퇴비화' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' },
{ name: 'itslfFrlvlCmpstgQnt', fieldName: 'itslfFrlvlCmpstgQnt', header: { text: '퇴비화' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' },
// 자체 찌꺼기 처리량 > 퇴비화 > 시설(업체명) - 쿼리에 없음 (임의 생성)
{ name: 'cmpsPrcsFcltBzentyNm', fieldName: 'cmpsPrcsFcltBzentyNm', header: { text: '시설(업체명)' } },
// 외부위탁 처리량(톤/년)
{
name: 'otsdCnsgnWhol',
fieldName: 'otsdCnsgnWhol',
name: 'otsdCnsgnWholQnt',
fieldName: 'otsdCnsgnWholQnt',
header: { text: '소계' },
editable: false,
footer: footerDecimal1,
@@ -222,9 +222,9 @@ export const SlurgeProcessingFacStatusInpColumn = {
fields: [
'otsdCnsgnRclmQnt',
'otsdCnsgnIncnrQnt',
'otsdCnsgnFuelPwplQnt',
'otsdCnsgnPwplQnt',
'otsdCnsgnPrdctRmtrlQnt',
'otsdCnsgnFmlyrQnt',
'otsdCnsgnCwthQnt',
'otsdCnsgnCmpstgQnt',
],
type: 'sum' as const,
@@ -232,14 +232,14 @@ export const SlurgeProcessingFacStatusInpColumn = {
},
{ name: 'otsdCnsgnRclmQnt', fieldName: 'otsdCnsgnRclmQnt', header: { text: '매립' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' },
{ name: 'otsdCnsgnIncnrQnt', fieldName: 'otsdCnsgnIncnrQnt', header: { text: '소각' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' },
{ name: 'otsdCnsgnFuelPwplQnt', fieldName: 'otsdCnsgnFuelPwplQnt', header: { text: '연료' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' },
{ name: 'otsdCnsgnPwplQnt', fieldName: 'otsdCnsgnPwplQnt', header: { text: '연료' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' },
{ name: 'otsdCnsgnPrdctRmtrlQnt', fieldName: 'otsdCnsgnPrdctRmtrlQnt', header: { text: '제품원료' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' },
{ name: 'otsdCnsgnFmlyrQnt', fieldName: 'otsdCnsgnFmlyrQnt', header: { text: '복토재' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' },
{ name: 'otsdCnsgnCwthQnt', fieldName: 'otsdCnsgnCwthQnt', header: { text: '복토재' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' },
{ name: 'otsdCnsgnCmpstgQnt', fieldName: 'otsdCnsgnCmpstgQnt', header: { text: '퇴비화' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' },
{ name: 'otsdCnsgnFcltNm', fieldName: 'otsdCnsgnFcltNm', header: { text: '시설(업체명)' } },
// 수도권광역위탁처리량
{ name: 'cparTs1Whol', fieldName: 'cparTs1Whol', header: { text: '수도권광역위탁처리량(톤/년)' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' },
{ name: 'cparFrlvlWholQnt', fieldName: 'cparFrlvlWholQnt', header: { text: '수도권광역위탁처리량(톤/년)' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' },
// 비고
{ name: 'rmrk', fieldName: 'rmrk', header: { text: '비고' } },
@@ -265,71 +265,71 @@ export const SlurgeProcessingFacStatusInpColumn = {
name: 'group_occur_amount',
header: { text: '찌꺼기발생량(톤/년, 탈수기준)' },
items: [
'gnamWhol',
'wholGnam',
'itslfQnt',
'otsdInflwQnt'
]
},
'transfTmplntNm',
'transfPrcsQnt',
'srpFncRt',
'wholSrpPrcsQnt',
'sludgeFncRt',
'wholSludgePrcsQnt',
{
name: 'group_self_treatment',
header: { text: '자체 찌꺼기 처리량(톤/년)' },
items: [
'itslfTs1Whol',
'itslfTs1RclmQnt',
'itslfTs1IncnrQnt',
'itslfFrlvlWholQnt',
'itslfFrlvlRclmQnt',
'itslfFrlvlIncnrQnt',
{
name: 'group_incinerate_2nd',
header: { text: '소각 후 처리(2차)' },
items: [
'incnrPrcsWhol',
'incnrPrcsWholQnt',
'incnrPrcsLfvlm',
'incnrPrcsPrdctRmtrlQnt',
'incnrPrcsFmlyrQnt',
'incnrPrcsCwthQnt',
'incnrPrcsFcltNm'
]
},
'itslfTs1AltdQnt',
'itslfFrlvlSldQnt',
{
name: 'group_solidify_2nd',
header: { text: '고화 후 처리(2차)' },
items: [
'stbznPrcsWhol',
'stbznPrcsLfvlm',
'stbznPrcsFmlyrQnt',
'stbznPrcsFcltNm'
'sldPrcsWholQnt',
'sldPrcsLfvlm',
'sldPrcsCwthQnt',
'sldPrcsFcltNm'
]
},
'itslfTs1DryQnt',
'itslfFrlvlDryQnt',
{
name: 'group_drying_2nd',
header: { text: '건조 후 처리(2차)' },
items: [
'dryPrcsWhol',
'dryPrcsWholQnt',
'dryPrcsLfvlm',
'dryPrcsIncnrQnt',
'dryPrcsFuelQnt',
'dryPrcsPrdctRmtrlQnt',
'dryPrcsFmlyrQnt',
'dryPrcsCwthQnt',
'dryPrcsCmpstgQnt',
'dryPrcsFcltNm'
]
},
'itslfTs1FuelQnt',
'itslfFrlvlCrbnQnt',
{
name: 'group_carbonize_2nd',
header: { text: '탄화 후 처리(2차)' },
items: [
'fuelPrcsWhol',
'fuelPrcsIncnrQnt',
'fuelPrcsFuelQnt',
'fuelPrcsFcltNm'
'crbnPrcsWholQnt',
'crbnPrcsIncnrQnt',
'crbnPrcsFuelQnt',
'crbnPrcsFcltNm'
]
},
'itslfTs1CmpstgQnt',
'itslfFrlvlCmpstgQnt',
'cmpsPrcsFcltBzentyNm'
]
},
@@ -337,17 +337,17 @@ export const SlurgeProcessingFacStatusInpColumn = {
name: 'group_external_treatment',
header: { text: '외부위탁 처리량(톤/년)' },
items: [
'otsdCnsgnWhol',
'otsdCnsgnWholQnt',
'otsdCnsgnRclmQnt',
'otsdCnsgnIncnrQnt',
'otsdCnsgnFuelPwplQnt',
'otsdCnsgnPwplQnt',
'otsdCnsgnPrdctRmtrlQnt',
'otsdCnsgnFmlyrQnt',
'otsdCnsgnCwthQnt',
'otsdCnsgnCmpstgQnt',
'otsdCnsgnFcltNm'
]
},
'cparTs1Whol',
'cparFrlvlWholQnt',
'rmrk',
'admdstCd',
'admdstNm',
@@ -26,10 +26,10 @@ export const FactInstallStatusInpColumn = {
styleName: 'rg-cell-total',
valueType: ValueType.NUMBER,
dataFormat: '#,##0.000',
computed: { fields: ['cbsysPrcsZoneArea', 'sprsysPrcsZoneArea'], type: 'sum' as const },
computed: { fields: ['cbsysTrtznArea', 'sprsysTrtznArea'], type: 'sum' as const },
},
{ name: 'cbsysPrcsZoneArea', fieldName: 'cbsysPrcsZoneArea', header: { text: '합류식' }, footer: footerDecimal3, valueType: ValueType.NUMBER, dataFormat: '#,##0.000' },
{ name: 'sprsysPrcsZoneArea', fieldName: 'sprsysPrcsZoneArea', header: { text: '분류식' }, footer: footerDecimal3, valueType: ValueType.NUMBER, dataFormat: '#,##0.000' },
{ name: 'cbsysTrtznArea', fieldName: 'cbsysTrtznArea', header: { text: '합류식' }, footer: footerDecimal3, valueType: ValueType.NUMBER, dataFormat: '#,##0.000' },
{ name: 'sprsysTrtznArea', fieldName: 'sprsysTrtznArea', header: { text: '분류식' }, footer: footerDecimal3, valueType: ValueType.NUMBER, dataFormat: '#,##0.000' },
// 분류식화율
{
@@ -42,38 +42,38 @@ export const FactInstallStatusInpColumn = {
valueType: ValueType.NUMBER,
dataFormat: '#,##0.0',
computed: {
numeratorFields: ['sprsysPrcsZoneArea'],
denominatorFields: ['cbsysPrcsZoneArea', 'sprsysPrcsZoneArea'],
numeratorFields: ['sprsysTrtznArea'],
denominatorFields: ['cbsysTrtznArea', 'sprsysTrtznArea'],
type: 'pblswrgPopltnSuprtRate' as const,
},
},
// 배수설비(개소)
{
name: 'mltvEqpmCnt',
fieldName: 'mltvEqpmCnt',
name: 'wholDrgCnt',
fieldName: 'wholDrgCnt',
header: { text: '합계' },
footer: footerInt,
editable: false,
styleName: 'rg-cell-total',
valueType: ValueType.NUMBER,
dataFormat: '#,##0',
computed: { fields: ['sprsysMltvLnkgCnt', 'sprsysMltvYetLnkgCnt', 'cbsysMltvEqpmCnt'], type: 'sum' as const },
computed: { fields: ['sprsysDrgLnkgCnt', 'sprsysDrgNoinsLnkgCnt', 'cbsysDrgCnt'], type: 'sum' as const },
},
{ name: 'cbsysMltvEqpmCnt', fieldName: 'cbsysMltvEqpmCnt', header: { text: '합류식' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'cbsysDrgCnt', fieldName: 'cbsysDrgCnt', header: { text: '합류식' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{
name: 'sprsysMltvEqpmCnt',
fieldName: 'sprsysMltvEqpmCnt',
name: 'sprsysDrgCnt',
fieldName: 'sprsysDrgCnt',
header: { text: '소계' },
footer: footerInt,
editable: false,
styleName: 'rg-cell-total',
valueType: ValueType.NUMBER,
dataFormat: '#,##0',
computed: { fields: ['sprsysMltvLnkgCnt', 'sprsysMltvYetLnkgCnt'], type: 'sum' as const },
computed: { fields: ['sprsysDrgLnkgCnt', 'sprsysDrgNoinsLnkgCnt'], type: 'sum' as const },
},
{ name: 'sprsysMltvLnkgCnt', fieldName: 'sprsysMltvLnkgCnt', header: { text: '연결' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'sprsysMltvYetLnkgCnt', fieldName: 'sprsysMltvYetLnkgCnt', header: { text: '미연결' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'sprsysDrgLnkgCnt', fieldName: 'sprsysDrgLnkgCnt', header: { text: '연결' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'sprsysDrgNoinsLnkgCnt', fieldName: 'sprsysDrgNoinsLnkgCnt', header: { text: '미연결' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
// 하수관로 > 총시설연장
{
@@ -85,7 +85,7 @@ export const FactInstallStatusInpColumn = {
styleName: 'rg-cell-total',
valueType: ValueType.NUMBER,
dataFormat: '#,##0.00',
computed: { fields: ['icptgPrlg', 'atlfcsPrlg', 'cbsysBrchlnPrlg', 'exlnBrchlnPrlg', 'drtwBrchlnPrlg'], type: 'sum' as const },
computed: { fields: ['icptgPrlg', 'atlfcsPrlg', 'cbsysPplPrlg', 'exlnPplPrlg', 'drtwPplPrlg'], type: 'sum' as const },
},
// 하수관로 > 차집/오수간선(m)
@@ -112,21 +112,21 @@ export const FactInstallStatusInpColumn = {
// 하수관로 > 지선(m)
{
name: 'wholBrchlnPrlg',
fieldName: 'wholBrchlnPrlg',
name: 'wholPplPrlg',
fieldName: 'wholPplPrlg',
header: { text: '합계' },
footer: footerDecimal2,
editable: false,
styleName: 'rg-cell-total',
valueType: ValueType.NUMBER,
dataFormat: '#,##0.00',
computed: { fields: ['cbsysBrchlnPrlg', 'exlnBrchlnPrlg', 'drtwBrchlnPrlg'], type: 'sum' as const },
computed: { fields: ['cbsysPplPrlg', 'exlnPplPrlg', 'drtwPplPrlg'], type: 'sum' as const },
},
{ name: 'cbsysBrchlnPrlg', fieldName: 'cbsysBrchlnPrlg', header: { text: '합류식' }, footer: footerDecimal2, valueType: ValueType.NUMBER, dataFormat: '#,##0.00' },
{ name: 'cbsysPplPrlg', fieldName: 'cbsysPplPrlg', header: { text: '합류식' }, footer: footerDecimal2, valueType: ValueType.NUMBER, dataFormat: '#,##0.00' },
// 하수관로 > 지선(m) > 분류식
{ name: 'exlnBrchlnPrlg', fieldName: 'exlnBrchlnPrlg', header: { text: '우수' }, footer: footerDecimal2, valueType: ValueType.NUMBER, dataFormat: '#,##0.00' },
{ name: 'drtwBrchlnPrlg', fieldName: 'drtwBrchlnPrlg', header: { text: '오수' }, footer: footerDecimal2, valueType: ValueType.NUMBER, dataFormat: '#,##0.00' },
{ name: 'exlnPplPrlg', fieldName: 'exlnPplPrlg', header: { text: '우수' }, footer: footerDecimal2, valueType: ValueType.NUMBER, dataFormat: '#,##0.00' },
{ name: 'drtwPplPrlg', fieldName: 'drtwPplPrlg', header: { text: '오수' }, footer: footerDecimal2, valueType: ValueType.NUMBER, dataFormat: '#,##0.00' },
// 비고
{ name: 'rmrk', fieldName: 'rmrk', header: { text: '비고' } },
@@ -153,7 +153,7 @@ export const FactInstallStatusInpColumn = {
name: 'procZone',
hideChildHeaders: false,
header: { text: '처리구역면적(km²)' },
items: ['prcsZoneArea', 'cbsysPrcsZoneArea', 'sprsysPrcsZoneArea'],
items: ['prcsZoneArea', 'cbsysTrtznArea', 'sprsysTrtznArea'],
},
'sprsysVartnRt',
{
@@ -161,13 +161,13 @@ export const FactInstallStatusInpColumn = {
hideChildHeaders: false,
header: { text: '배수설비(개소)' },
items: [
'mltvEqpmCnt',
'cbsysMltvEqpmCnt',
'wholDrgCnt',
'cbsysDrgCnt',
{
name: 'sprtDrainEquip',
hideChildHeaders: false,
header: { text: '분류식' },
items: ['sprsysMltvEqpmCnt', 'sprsysMltvLnkgCnt', 'sprsysMltvYetLnkgCnt'],
items: ['sprsysDrgCnt', 'sprsysDrgLnkgCnt', 'sprsysDrgNoinsLnkgCnt'],
},
],
},
@@ -207,13 +207,13 @@ export const FactInstallStatusInpColumn = {
hideChildHeaders: false,
header: { text: '지선(m)' },
items: [
'wholBrchlnPrlg',
'cbsysBrchlnPrlg',
'wholPplPrlg',
'cbsysPplPrlg',
{
name: 'sprtBranchLine',
hideChildHeaders: false,
header: { text: '분류식' },
items: ['exlnBrchlnPrlg', 'drtwBrchlnPrlg'],
items: ['exlnPplPrlg', 'drtwPplPrlg'],
},
],
},
@@ -37,59 +37,59 @@ export const PipeDiameterStatusInpColumn = {
styleName: "rg-cell-readonly",
},
{
name: "pdmtByTsmWhol",
fieldName: "pdmtByTsmWhol",
name: "pdmtSeWholPrlg",
fieldName: "pdmtSeWholPrlg",
header: { text: "총계(m)" },
footer: footerDecimal2,
editable: false,
styleName: 'rg-cell-total',
valueType: ValueType.NUMBER,
dataFormat: "#,##0.00",
computed: { fields: ['step1PdmtPrlg', 'step2PdmtPrlg', 'step3PdmtPrlg', 'step4PdmtPrlg', 'step5PdmtPrlg', 'sqrePdmtPrlg', 'etcPdmtPrlg'], type: 'sum' as const },
computed: { fields: ['frlvlPdmtPrlg', 'sclvlPdmtPrlg', 'thlvlPdmtPrlg', 'folvlPdmtPrlg', 'filvlPdmtPrlg', 'shpPdmtPrlg', 'etcPdmtPrlg'], type: 'sum' as const },
},
{
name: "step1PdmtPrlg",
fieldName: "step1PdmtPrlg",
name: "frlvlPdmtPrlg",
fieldName: "frlvlPdmtPrlg",
header: { text: "200mm 미만" },
footer: footerDecimal2,
valueType: ValueType.NUMBER,
dataFormat: "#,##0.00",
},
{
name: "step2PdmtPrlg",
fieldName: "step2PdmtPrlg",
name: "sclvlPdmtPrlg",
fieldName: "sclvlPdmtPrlg",
header: { text: "200mm이상~300mm미만" },
footer: footerDecimal2,
valueType: ValueType.NUMBER,
dataFormat: "#,##0.00",
},
{
name: "step3PdmtPrlg",
fieldName: "step3PdmtPrlg",
name: "thlvlPdmtPrlg",
fieldName: "thlvlPdmtPrlg",
header: { text: "300mm이상~500mm미만" },
footer: footerDecimal2,
valueType: ValueType.NUMBER,
dataFormat: "#,##0.00",
},
{
name: "step4PdmtPrlg",
fieldName: "step4PdmtPrlg",
name: "folvlPdmtPrlg",
fieldName: "folvlPdmtPrlg",
header: { text: "500mm이상~800mm미만" },
footer: footerDecimal2,
valueType: ValueType.NUMBER,
dataFormat: "#,##0.00",
},
{
name: "step5PdmtPrlg",
fieldName: "step5PdmtPrlg",
name: "filvlPdmtPrlg",
fieldName: "filvlPdmtPrlg",
header: { text: "800mm 이상" },
footer: footerDecimal2,
valueType: ValueType.NUMBER,
dataFormat: "#,##0.00",
},
{
name: "sqrePdmtPrlg",
fieldName: "sqrePdmtPrlg",
name: "shpPdmtPrlg",
fieldName: "shpPdmtPrlg",
header: { text: "사각형(m)" },
footer: footerDecimal2,
valueType: ValueType.NUMBER,
@@ -130,20 +130,20 @@ export const PipeDiameterStatusInpColumn = {
},
"pipeSeNm",
"admdstNm",
"pdmtByTsmWhol",
"pdmtSeWholPrlg",
{
name: "circular",
hideChildHeaders: false,
header: { text: "원형(m)" },
items: [
"step1PdmtPrlg",
"step2PdmtPrlg",
"step3PdmtPrlg",
"step4PdmtPrlg",
"step5PdmtPrlg",
"frlvlPdmtPrlg",
"sclvlPdmtPrlg",
"thlvlPdmtPrlg",
"folvlPdmtPrlg",
"filvlPdmtPrlg",
],
},
"sqrePdmtPrlg",
"shpPdmtPrlg",
"etcPdmtPrlg",
"rmrk",
"admdstCd",
@@ -37,15 +37,15 @@ export const RegionalFactStatusInpColumn = {
groups: [
{
baseField: 'cbsysPplMtncPlanPrlg',
sumFields: ['cbsysSqrePrlg', 'cbsysCiclPrlg', 'cbsysOpnPrlg', 'cbsysGttrPrlg'],
sumFields: ['cbsysShpPrlg', 'cbsysElpsdPrlg', 'cbsysOpnPrlg', 'cbsysLaditPrlg'],
},
{
baseField: 'drtwPplMtncPlanPrlg',
sumFields: ['drtwPplSqrePrlg', 'drtwPplCiclPrlg'],
sumFields: ['drtwPplShpPrlg', 'drtwPplElpsdPrlg'],
},
{
baseField: 'exlnPplMtncPlanPrlg',
sumFields: ['exlnPplSqrePrlg', 'exlnPplCiclPrlg', 'exlnPplOpnPrlg', 'exlnPplGttrPrlg'],
sumFields: ['exlnPplShpPrlg', 'exlnPplElpsdPrlg', 'exlnPplOpnPrlg', 'exlnPplLaditPrlg'],
},
],
type: 'sumOfMaxOfFieldAndSumGroups' as const,
@@ -60,7 +60,7 @@ export const RegionalFactStatusInpColumn = {
styleName: 'rg-cell-total',
valueType: ValueType.NUMBER,
dataFormat: '#,##0.00',
computed: { fields: ['cbsysSqrePrlg', 'cbsysCiclPrlg', 'cbsysOpnPrlg', 'cbsysGttrPrlg', 'drtwPplSqrePrlg', 'drtwPplCiclPrlg', 'exlnPplSqrePrlg', 'exlnPplCiclPrlg', 'exlnPplOpnPrlg', 'exlnPplGttrPrlg'], type: 'sum' as const },
computed: { fields: ['cbsysShpPrlg', 'cbsysElpsdPrlg', 'cbsysOpnPrlg', 'cbsysLaditPrlg', 'drtwPplShpPrlg', 'drtwPplElpsdPrlg', 'exlnPplShpPrlg', 'exlnPplElpsdPrlg', 'exlnPplOpnPrlg', 'exlnPplLaditPrlg'], type: 'sum' as const },
},
{
name: 'swagePplPsplyRt',
@@ -92,7 +92,7 @@ export const RegionalFactStatusInpColumn = {
dataFormat: '#,##0.00',
computed: {
baseField: 'cbsysPplMtncPlanPrlg',
sumFields: ['cbsysSqrePrlg', 'cbsysCiclPrlg', 'cbsysOpnPrlg', 'cbsysGttrPrlg'],
sumFields: ['cbsysShpPrlg', 'cbsysElpsdPrlg', 'cbsysOpnPrlg', 'cbsysLaditPrlg'],
type: 'maxOfFieldAndSum' as const,
},
},
@@ -105,12 +105,12 @@ export const RegionalFactStatusInpColumn = {
styleName: 'rg-cell-total',
valueType: ValueType.NUMBER,
dataFormat: '#,##0.00',
computed: { fields: ['cbsysSqrePrlg', 'cbsysCiclPrlg', 'cbsysOpnPrlg', 'cbsysGttrPrlg'], type: 'sum' as const },
computed: { fields: ['cbsysShpPrlg', 'cbsysElpsdPrlg', 'cbsysOpnPrlg', 'cbsysLaditPrlg'], type: 'sum' as const },
},
{ name: 'cbsysSqrePrlg', fieldName: 'cbsysSqrePrlg', header: { text: '사각형(m)' }, footer: footerDecimal2, valueType: ValueType.NUMBER, dataFormat: '#,##0.00' },
{ name: 'cbsysCiclPrlg', fieldName: 'cbsysCiclPrlg', header: { text: '원형(m)' }, footer: footerDecimal2, valueType: ValueType.NUMBER, dataFormat: '#,##0.00' },
{ name: 'cbsysShpPrlg', fieldName: 'cbsysShpPrlg', header: { text: '사각형(m)' }, footer: footerDecimal2, valueType: ValueType.NUMBER, dataFormat: '#,##0.00' },
{ name: 'cbsysElpsdPrlg', fieldName: 'cbsysElpsdPrlg', header: { text: '원형(m)' }, footer: footerDecimal2, valueType: ValueType.NUMBER, dataFormat: '#,##0.00' },
{ name: 'cbsysOpnPrlg', fieldName: 'cbsysOpnPrlg', header: { text: '개거(m)' }, footer: footerDecimal2, valueType: ValueType.NUMBER, dataFormat: '#,##0.00' },
{ name: 'cbsysGttrPrlg', fieldName: 'cbsysGttrPrlg', header: { text: '측구(m)' }, footer: footerDecimal2, valueType: ValueType.NUMBER, dataFormat: '#,##0.00' },
{ name: 'cbsysLaditPrlg', fieldName: 'cbsysLaditPrlg', header: { text: '측구(m)' }, footer: footerDecimal2, valueType: ValueType.NUMBER, dataFormat: '#,##0.00' },
// 분류식(m) > 오수관로
{ name: 'drtwPplMtncPlanArea', fieldName: 'drtwPplMtncPlanArea', header: { text: '관로정비계획면적(㎢)' }, footer: footerDecimal3, valueType: ValueType.NUMBER, dataFormat: '#,##0.000' },
@@ -126,7 +126,7 @@ export const RegionalFactStatusInpColumn = {
dataFormat: '#,##0.00',
computed: {
baseField: 'drtwPplMtncPlanPrlg',
sumFields: ['drtwPplSqrePrlg', 'drtwPplCiclPrlg'],
sumFields: ['drtwPplShpPrlg', 'drtwPplElpsdPrlg'],
type: 'maxOfFieldAndSum' as const,
},
},
@@ -139,10 +139,10 @@ export const RegionalFactStatusInpColumn = {
styleName: 'rg-cell-total',
valueType: ValueType.NUMBER,
dataFormat: '#,##0.00',
computed: { fields: ['drtwPplSqrePrlg', 'drtwPplCiclPrlg'], type: 'sum' as const },
computed: { fields: ['drtwPplShpPrlg', 'drtwPplElpsdPrlg'], type: 'sum' as const },
},
{ name: 'drtwPplSqrePrlg', fieldName: 'drtwPplSqrePrlg', header: { text: '사각형(m)' }, footer: footerDecimal2, valueType: ValueType.NUMBER, dataFormat: '#,##0.00' },
{ name: 'drtwPplCiclPrlg', fieldName: 'drtwPplCiclPrlg', header: { text: '원형(m)' }, footer: footerDecimal2, valueType: ValueType.NUMBER, dataFormat: '#,##0.00' },
{ name: 'drtwPplShpPrlg', fieldName: 'drtwPplShpPrlg', header: { text: '사각형(m)' }, footer: footerDecimal2, valueType: ValueType.NUMBER, dataFormat: '#,##0.00' },
{ name: 'drtwPplElpsdPrlg', fieldName: 'drtwPplElpsdPrlg', header: { text: '원형(m)' }, footer: footerDecimal2, valueType: ValueType.NUMBER, dataFormat: '#,##0.00' },
// 분류식(m) > 우수관로
{ name: 'exlnPplMtncPlanArea', fieldName: 'exlnPplMtncPlanArea', header: { text: '관로정비계획면적(㎢)' }, footer: footerDecimal3, valueType: ValueType.NUMBER, dataFormat: '#,##0.000' },
@@ -158,7 +158,7 @@ export const RegionalFactStatusInpColumn = {
dataFormat: '#,##0.00',
computed: {
baseField: 'exlnPplMtncPlanPrlg',
sumFields: ['exlnPplSqrePrlg', 'exlnPplCiclPrlg', 'exlnPplOpnPrlg', 'exlnPplGttrPrlg'],
sumFields: ['exlnPplShpPrlg', 'exlnPplElpsdPrlg', 'exlnPplOpnPrlg', 'exlnPplLaditPrlg'],
type: 'maxOfFieldAndSum' as const,
},
},
@@ -171,12 +171,12 @@ export const RegionalFactStatusInpColumn = {
styleName: 'rg-cell-total',
valueType: ValueType.NUMBER,
dataFormat: '#,##0.00',
computed: { fields: ['exlnPplSqrePrlg', 'exlnPplCiclPrlg', 'exlnPplOpnPrlg', 'exlnPplGttrPrlg'], type: 'sum' as const },
computed: { fields: ['exlnPplShpPrlg', 'exlnPplElpsdPrlg', 'exlnPplOpnPrlg', 'exlnPplLaditPrlg'], type: 'sum' as const },
},
{ name: 'exlnPplSqrePrlg', fieldName: 'exlnPplSqrePrlg', header: { text: '사각형(m)' }, footer: footerDecimal2, valueType: ValueType.NUMBER, dataFormat: '#,##0.00' },
{ name: 'exlnPplCiclPrlg', fieldName: 'exlnPplCiclPrlg', header: { text: '원형(m)' }, footer: footerDecimal2, valueType: ValueType.NUMBER, dataFormat: '#,##0.00' },
{ name: 'exlnPplShpPrlg', fieldName: 'exlnPplShpPrlg', header: { text: '사각형(m)' }, footer: footerDecimal2, valueType: ValueType.NUMBER, dataFormat: '#,##0.00' },
{ name: 'exlnPplElpsdPrlg', fieldName: 'exlnPplElpsdPrlg', header: { text: '원형(m)' }, footer: footerDecimal2, valueType: ValueType.NUMBER, dataFormat: '#,##0.00' },
{ name: 'exlnPplOpnPrlg', fieldName: 'exlnPplOpnPrlg', header: { text: '개거(m)' }, footer: footerDecimal2, valueType: ValueType.NUMBER, dataFormat: '#,##0.00' },
{ name: 'exlnPplGttrPrlg', fieldName: 'exlnPplGttrPrlg', header: { text: '측구(m)' }, footer: footerDecimal2, valueType: ValueType.NUMBER, dataFormat: '#,##0.00' },
{ name: 'exlnPplLaditPrlg', fieldName: 'exlnPplLaditPrlg', header: { text: '측구(m)' }, footer: footerDecimal2, valueType: ValueType.NUMBER, dataFormat: '#,##0.00' },
// 합류식맨홀(개소)
{ name: 'cbsysMnhlCnt', fieldName: 'cbsysMnhlCnt', header: { text: '합류식맨홀(개소)' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
@@ -185,8 +185,8 @@ export const RegionalFactStatusInpColumn = {
{ name: 'sprsysDrtwMnhlCnt', fieldName: 'sprsysDrtwMnhlCnt', header: { text: '오수맨홀(개소)' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'sprsysExlnMnhlCnt', fieldName: 'sprsysExlnMnhlCnt', header: { text: '우수맨홀(개소)' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'drtwRcvprpCnt', fieldName: 'drtwRcvprpCnt', header: { text: '오수받이(개소)' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'exlnRcvprpCnt', fieldName: 'exlnRcvprpCnt', header: { text: '빗물받이(개소)' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'drtwDrgCnt', fieldName: 'drtwDrgCnt', header: { text: '오수받이(개소)' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'exlnDrgCnt', fieldName: 'exlnDrgCnt', header: { text: '빗물받이(개소)' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'stofcbrCnt', fieldName: 'stofcbrCnt', header: { text: '우수토실(개소)' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'exlnOtflCnt', fieldName: 'exlnOtflCnt', header: { text: '우수토구(개소)' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
@@ -203,7 +203,7 @@ export const RegionalFactStatusInpColumn = {
dataFormat: '#,##0.0',
computed: {
numeratorFields: ['sewerLdgrEdpPrlg'],
denominatorFields: ['cbsysSqrePrlg', 'cbsysCiclPrlg', 'cbsysOpnPrlg', 'cbsysGttrPrlg', 'drtwPplSqrePrlg', 'drtwPplCiclPrlg', 'exlnPplSqrePrlg', 'exlnPplCiclPrlg', 'exlnPplOpnPrlg', 'exlnPplGttrPrlg'],
denominatorFields: ['cbsysShpPrlg', 'cbsysElpsdPrlg', 'cbsysOpnPrlg', 'cbsysLaditPrlg', 'drtwPplShpPrlg', 'drtwPplElpsdPrlg', 'exlnPplShpPrlg', 'exlnPplElpsdPrlg', 'exlnPplOpnPrlg', 'exlnPplLaditPrlg'],
type: 'pblswrgPopltnSuprtRate' as const,
},
},
@@ -241,10 +241,10 @@ export const RegionalFactStatusInpColumn = {
name: 'cmbnCulvert',
hideChildHeaders: false,
header: { text: '암거' },
items: ['cbsysSqrePrlg', 'cbsysCiclPrlg'],
items: ['cbsysShpPrlg', 'cbsysElpsdPrlg'],
},
'cbsysOpnPrlg',
'cbsysGttrPrlg',
'cbsysLaditPrlg',
],
},
{
@@ -265,7 +265,7 @@ export const RegionalFactStatusInpColumn = {
name: 'pltwtrCulvert',
hideChildHeaders: false,
header: { text: '암거' },
items: ['drtwPplSqrePrlg', 'drtwPplCiclPrlg'],
items: ['drtwPplShpPrlg', 'drtwPplElpsdPrlg'],
},
],
},
@@ -282,10 +282,10 @@ export const RegionalFactStatusInpColumn = {
name: 'rainwtrCulvert',
hideChildHeaders: false,
header: { text: '암거' },
items: ['exlnPplSqrePrlg', 'exlnPplCiclPrlg'],
items: ['exlnPplShpPrlg', 'exlnPplElpsdPrlg'],
},
'exlnPplOpnPrlg',
'exlnPplGttrPrlg',
'exlnPplLaditPrlg',
],
},
],
@@ -297,8 +297,8 @@ export const RegionalFactStatusInpColumn = {
header: { text: '분류식' },
items: ['sprsysDrtwMnhlCnt', 'sprsysExlnMnhlCnt'],
},
'drtwRcvprpCnt',
'exlnRcvprpCnt',
'drtwDrgCnt',
'exlnDrgCnt',
'stofcbrCnt',
'exlnOtflCnt',
'sewerLdgrEdpPrlg',
@@ -35,7 +35,7 @@ export const PipeDredgingStatusInpColumn = {
// 준설연장 및 개소수 > 맨홀, 오·우수받이, 토실·토구
{ name: 'mnhlCnt', fieldName: 'mnhlCnt', header: { text: '맨홀(개소)' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'exlnDrtwRcvprpCnt', fieldName: 'exlnDrtwRcvprpCnt', header: { text: '오·우수받이(개소)' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'exlnDrtwDrgCnt', fieldName: 'exlnDrtwDrgCnt', header: { text: '오·우수받이(개소)' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'stofcbrOtflCnt', fieldName: 'stofcbrOtflCnt', header: { text: '토실·토구(개소)' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
// 계획 & 비율
@@ -73,10 +73,10 @@ export const PipeDredgingStatusInpColumn = {
// 준설실적
{ name: 'drdgnAmt', fieldName: 'drdgnAmt', header: { text: '금액(백만원)' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'drdgnQnt', fieldName: 'drdgnQnt', header: { text: '준설량(m³)' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'pplDrdqty', fieldName: 'pplDrdqty', header: { text: '준설량(m³)' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
// 준설토사처리
{ name: 'drdgnUntprcAmt', fieldName: 'drdgnUntprcAmt', header: { text: '준설토처리비(백만원)' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'drdgnSoilPrcsAmt', fieldName: 'drdgnSoilPrcsAmt', header: { text: '준설토처리비(백만원)' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{
name: 'wholDrdgnPrcsQnt',
fieldName: 'wholDrdgnPrcsQnt',
@@ -122,19 +122,19 @@ export const PipeDredgingStatusInpColumn = {
{ name: 'group_sep', header: { text: '분류식' }, items: ['sprsysExlnPrlg', 'sprsysDrtwPrlg'] }
]
},
'mnhlCnt', 'exlnDrtwRcvprpCnt', 'stofcbrOtflCnt'
'mnhlCnt', 'exlnDrtwDrgCnt', 'stofcbrOtflCnt'
]
},
'drdgnPlanPrlg', 'drdgnTrgtCtrsDrdgnRt', 'wholPrlgCtrsDrdgnRt',
{
name: 'group_perf',
header: { text: '준설실적' },
items: ['drdgnAmt', 'drdgnQnt']
items: ['drdgnAmt', 'pplDrdqty']
},
{
name: 'group_soil_treat',
header: { text: '준설토사처리' },
items: ['drdgnUntprcAmt', 'wholDrdgnPrcsQnt', 'rclmQnt', 'oceanEmsnQnt', 'rcycQnt', 'etcQnt']
items: ['drdgnSoilPrcsAmt', 'wholDrdgnPrcsQnt', 'rclmQnt', 'oceanEmsnQnt', 'rcycQnt', 'etcQnt']
},
'rmrk',
'admdstCd',
@@ -11,8 +11,8 @@ export const RepairStatusInpColumn = {
// 개·보수관로 > 전체보수(m)
{
name: 'mendngWhol',
fieldName: 'mendngWhol',
name: 'dfrpWholPrlg',
fieldName: 'dfrpWholPrlg',
header: { text: '소계' },
editable: false,
footer: footerDecimal1,
@@ -20,11 +20,11 @@ export const RepairStatusInpColumn = {
dataFormat: '#,##0.0',
styleName: 'rg-cell-total',
computed: {
fields: ['cbsysMendngPrlg', 'sprsysExlnPrlg', 'sprsysDrtwPrlg'],
fields: ['cbsysDfrpPrlg', 'sprsysExlnPrlg', 'sprsysDrtwPrlg'],
type: 'sum' as const,
},
},
{ name: 'cbsysMendngPrlg', fieldName: 'cbsysMendngPrlg', header: { text: '합류식' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' },
{ name: 'cbsysDfrpPrlg', fieldName: 'cbsysDfrpPrlg', header: { text: '합류식' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' },
// 개·보수관로 > 전체보수(m) > 분류식
{ name: 'sprsysExlnPrlg', fieldName: 'sprsysExlnPrlg', header: { text: '우수' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' },
@@ -32,8 +32,8 @@ export const RepairStatusInpColumn = {
// 개·보수관로 > 부분보수(개소)
{
name: 'partMendngWhol',
fieldName: 'partMendngWhol',
name: 'partDfrpWhol',
fieldName: 'partDfrpWhol',
header: { text: '소계' },
editable: false,
footer: footerInt,
@@ -41,15 +41,15 @@ export const RepairStatusInpColumn = {
dataFormat: '#,##0',
styleName: 'rg-cell-total',
computed: {
fields: ['cbsysPartMendngPrlg', 'sprsysExlnMendngPrlg', 'sprsysDrtwMendngPrlg'],
fields: ['cbsysPartDfrpPrlg', 'sprsysExlnDfrpPrlg', 'sprsysDrtwDfrpPrlg'],
type: 'sum' as const,
},
},
{ name: 'cbsysPartMendngPrlg', fieldName: 'cbsysPartMendngPrlg', header: { text: '합류식' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'cbsysPartDfrpPrlg', fieldName: 'cbsysPartDfrpPrlg', header: { text: '합류식' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
// 개·보수관로 > 부분보수(개소) > 분류식
{ name: 'sprsysExlnMendngPrlg', fieldName: 'sprsysExlnMendngPrlg', header: { text: '우수' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'sprsysDrtwMendngPrlg', fieldName: 'sprsysDrtwMendngPrlg', header: { text: '오수' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'sprsysExlnDfrpPrlg', fieldName: 'sprsysExlnDfrpPrlg', header: { text: '우수' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'sprsysDrtwDfrpPrlg', fieldName: 'sprsysDrtwDfrpPrlg', header: { text: '오수' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
// 맨홀(개소)
{ name: 'cbsysMnhlCnt', fieldName: 'cbsysMnhlCnt', header: { text: '합류식맨홀' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
@@ -59,8 +59,8 @@ export const RepairStatusInpColumn = {
{ name: 'sprsysExlnMnhlCnt', fieldName: 'sprsysExlnMnhlCnt', header: { text: '우수맨홀' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
// 받이
{ name: 'drtwRcvprpCnt', fieldName: 'drtwRcvprpCnt', header: { text: '오수받이(개소)' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'exlnRcvprpCnt', fieldName: 'exlnRcvprpCnt', header: { text: '빗물받이(개소)' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'drtwDrgCnt', fieldName: 'drtwDrgCnt', header: { text: '오수받이(개소)' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'exlnDrgCnt', fieldName: 'exlnDrgCnt', header: { text: '빗물받이(개소)' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
// 토실, 토구
{ name: 'stofcbrCnt', fieldName: 'stofcbrCnt', header: { text: '토실(개소)' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
@@ -91,8 +91,8 @@ export const RepairStatusInpColumn = {
name: 'group_full_repair',
header: { text: '전체보수(m)' },
items: [
'mendngWhol',
'cbsysMendngPrlg',
'dfrpWholPrlg',
'cbsysDfrpPrlg',
{
name: 'group_full_sep',
header: { text: '분류식' },
@@ -104,12 +104,12 @@ export const RepairStatusInpColumn = {
name: 'group_part_repair',
header: { text: '부분보수(개소)' },
items: [
'partMendngWhol',
'cbsysPartMendngPrlg',
'partDfrpWhol',
'cbsysPartDfrpPrlg',
{
name: 'group_part_sep',
header: { text: '분류식' },
items: ['sprsysExlnMendngPrlg', 'sprsysDrtwMendngPrlg']
items: ['sprsysExlnDfrpPrlg', 'sprsysDrtwDfrpPrlg']
}
]
}
@@ -130,7 +130,7 @@ export const RepairStatusInpColumn = {
{
name: 'group_inlet',
header: { text: '받이' },
items: ['drtwRcvprpCnt', 'exlnRcvprpCnt']
items: ['drtwDrgCnt', 'exlnDrgCnt']
},
{
name: 'group_chamber',
@@ -61,18 +61,18 @@ export const RainfallPumpStationInpColumn = {
// 유수지
dropdownColumn(
{ name: 'rsvrYn', fieldName: 'rsvrYn', header: { text: '유수지유무(유,무)' } },
{ name: 'runwtrYn', fieldName: 'runwtrYn', header: { text: '유수지유무(유,무)' } },
RAINFALL_PUMP_YN_VALUES,
),
{ name: 'rsvrImpndQnt', fieldName: 'rsvrImpndQnt', header: { text: '저류랑(m³)' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' },
{ name: 'runwtrStrqty', fieldName: 'runwtrStrqty', header: { text: '저류랑(m³)' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' },
// 흡수정
{ name: 'abstnRgnImpdQnt', fieldName: 'abstnRgnImpdQnt', header: { text: '저류랑(m³)' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' },
// 펌프시설 > 총양수량(m³/min)
{
name: 'grssPpqty',
fieldName: 'grssPpqty',
name: 'wholPpqty',
fieldName: 'wholPpqty',
header: { text: '총양수량(m³/min)' },
editable: false,
footer: footerDecimal1,
@@ -85,17 +85,17 @@ export const RainfallPumpStationInpColumn = {
{
pumpCntField: 'pumpFcltN1PumpCnt',
rsrvPumpCntField: 'pumpFcltN1RsrvPumpCnt',
perPpqtyField: 'pumpFcltN1PerPpqty',
perPpqtyField: 'pumpFcltN1UnitPpqty',
},
{
pumpCntField: 'pumpFcltN2PumpCnt',
rsrvPumpCntField: 'pumpFcltN2RsrvPumpCnt',
perPpqtyField: 'pumpFcltN2PerPpqty',
perPpqtyField: 'pumpFcltN2UnitPpqty',
},
{
pumpCntField: 'pumpFcltN3PumpCnt',
rsrvPumpCntField: 'pumpFcltN3RsrvPumpCnt',
perPpqtyField: 'pumpFcltN3PerPpqty',
perPpqtyField: 'pumpFcltN3UnitPpqty',
},
],
},
@@ -103,19 +103,19 @@ export const RainfallPumpStationInpColumn = {
// 펌프시설1
{ name: 'pumpFcltN1DmtrExpln', fieldName: 'pumpFcltN1DmtrExpln', header: { text: '구경(mm)' } },
{ name: 'pumpFcltN1PerPpqty', fieldName: 'pumpFcltN1PerPpqty', header: { text: '대당 양수량(m³/min·대)' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' },
{ name: 'pumpFcltN1UnitPpqty', fieldName: 'pumpFcltN1UnitPpqty', header: { text: '대당 양수량(m³/min·대)' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' },
{ name: 'pumpFcltN1PumpCnt', fieldName: 'pumpFcltN1PumpCnt', header: { text: '펌프대수' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'pumpFcltN1RsrvPumpCnt', fieldName: 'pumpFcltN1RsrvPumpCnt', header: { text: '예비펌프대수' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
// 펌프시설2
{ name: 'pumpFcltN2DmtrExpln', fieldName: 'pumpFcltN2DmtrExpln', header: { text: '구경(mm)' } },
{ name: 'pumpFcltN2PerPpqty', fieldName: 'pumpFcltN2PerPpqty', header: { text: '대당 양수량(m³/min·대)' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' },
{ name: 'pumpFcltN2UnitPpqty', fieldName: 'pumpFcltN2UnitPpqty', header: { text: '대당 양수량(m³/min·대)' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' },
{ name: 'pumpFcltN2PumpCnt', fieldName: 'pumpFcltN2PumpCnt', header: { text: '펌프대수' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'pumpFcltN2RsrvPumpCnt', fieldName: 'pumpFcltN2RsrvPumpCnt', header: { text: '예비펌프대수' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
// 펌프시설3
{ name: 'pumpFcltN3DmtrExpln', fieldName: 'pumpFcltN3DmtrExpln', header: { text: '구경(mm)' } },
{ name: 'pumpFcltN3PerPpqty', fieldName: 'pumpFcltN3PerPpqty', header: { text: '대당 양수량(m³/min·대)' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' },
{ name: 'pumpFcltN3UnitPpqty', fieldName: 'pumpFcltN3UnitPpqty', header: { text: '대당 양수량(m³/min·대)' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' },
{ name: 'pumpFcltN3PumpCnt', fieldName: 'pumpFcltN3PumpCnt', header: { text: '펌프대수' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'pumpFcltN3RsrvPumpCnt', fieldName: 'pumpFcltN3RsrvPumpCnt', header: { text: '예비펌프대수' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
@@ -125,7 +125,7 @@ export const RainfallPumpStationInpColumn = {
RAINFALL_PUMP_YN_VALUES,
),
dropdownColumn(
{ name: 'ddrztnEqpmYn', fieldName: 'ddrztnEqpmYn', header: { text: '탈취설비유무(유/무)' } },
{ name: 'odorEqpmYn', fieldName: 'odorEqpmYn', header: { text: '탈취설비유무(유/무)' } },
RAINFALL_PUMP_YN_VALUES,
),
dropdownColumn(
@@ -137,16 +137,16 @@ export const RainfallPumpStationInpColumn = {
{ name: 'dschgWtrsExpln', fieldName: 'dschgWtrsExpln', header: { text: '방류수역' } },
// 최종처분량(ton/년)
{ name: 'prcptnLastDspsQnt', fieldName: 'prcptnLastDspsQnt', header: { text: '침사' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'prpwLastDspsQnt', fieldName: 'prpwLastDspsQnt', header: { text: '침사' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'ctmnLastDspsQnt', fieldName: 'ctmnLastDspsQnt', header: { text: '협잡물' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
// 최종처분방법
{ name: 'prcptnLastDspsMthdExpln', fieldName: 'prcptnLastDspsMthdExpln', header: { text: '침사' } },
{ name: 'ctmnLastDspsMthdExpln', fieldName: 'ctmnLastDspsMthdExpln', header: { text: '협잡물' } },
{ name: 'prpwLastDspsExpln', fieldName: 'prpwLastDspsExpln', header: { text: '침사' } },
{ name: 'ctmnLastDspsExpln', fieldName: 'ctmnLastDspsExpln', header: { text: '협잡물' } },
// 운영실적
{ name: 'oprtngDayCnt', fieldName: 'oprtngDayCnt', header: { text: '가동일수(일/년)' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' }, // 입력값 3자리만 가능
{ name: 'grssMltvQnt', fieldName: 'grssMltvQnt', header: { text: '총배수량(m³/년)' }, footer: footerDecimal2, valueType: ValueType.NUMBER, dataFormat: '#,##0.00' },
{ name: 'wholQnt', fieldName: 'wholQnt', header: { text: '총배수량(m³/년)' }, footer: footerDecimal2, valueType: ValueType.NUMBER, dataFormat: '#,##0.00' },
// 비고
{ name: 'rmrk', fieldName: 'rmrk', header: { text: '비고' } },
@@ -178,8 +178,8 @@ export const RainfallPumpStationInpColumn = {
hideChildHeaders: false,
header: { text: '유수지' },
items: [
'rsvrYn',
'rsvrImpndQnt',
'runwtrYn',
'runwtrStrqty',
],
},
{
@@ -195,14 +195,14 @@ export const RainfallPumpStationInpColumn = {
hideChildHeaders: false,
header: { text: '펌프시설' },
items: [
'grssPpqty',
'wholPpqty',
{
name: 'pumpSystem1',
hideChildHeaders: false,
header: { text: '펌프시설1' },
items: [
'pumpFcltN1DmtrExpln',
'pumpFcltN1PerPpqty',
'pumpFcltN1UnitPpqty',
'pumpFcltN1PumpCnt',
'pumpFcltN1RsrvPumpCnt',
],
@@ -213,7 +213,7 @@ export const RainfallPumpStationInpColumn = {
header: { text: '펌프시설2' },
items: [
'pumpFcltN2DmtrExpln',
'pumpFcltN2PerPpqty',
'pumpFcltN2UnitPpqty',
'pumpFcltN2PumpCnt',
'pumpFcltN2RsrvPumpCnt',
],
@@ -224,7 +224,7 @@ export const RainfallPumpStationInpColumn = {
header: { text: '펌프시설3' },
items: [
'pumpFcltN3DmtrExpln',
'pumpFcltN3PerPpqty',
'pumpFcltN3UnitPpqty',
'pumpFcltN3PumpCnt',
'pumpFcltN3RsrvPumpCnt',
],
@@ -237,7 +237,7 @@ export const RainfallPumpStationInpColumn = {
header: { text: '부대시설' },
items: [
'prcsgFcltYn',
'ddrztnEqpmYn',
'odorEqpmYn',
'oslfEtgtYn',
],
},
@@ -247,7 +247,7 @@ export const RainfallPumpStationInpColumn = {
hideChildHeaders: false,
header: { text: '최종처분량(ton/년)' },
items: [
'prcptnLastDspsQnt',
'prpwLastDspsQnt',
'ctmnLastDspsQnt',
],
},
@@ -256,8 +256,8 @@ export const RainfallPumpStationInpColumn = {
hideChildHeaders: false,
header: { text: '최종처분방법' },
items: [
'prcptnLastDspsMthdExpln',
'ctmnLastDspsMthdExpln',
'prpwLastDspsExpln',
'ctmnLastDspsExpln',
],
},
{
@@ -266,7 +266,7 @@ export const RainfallPumpStationInpColumn = {
header: { text: '운영실적' },
items: [
'oprtngDayCnt',
'grssMltvQnt',
'wholQnt',
],
},
'rmrk',
@@ -77,8 +77,8 @@ export const SewageReservoirInpColumn = {
header: { text: "침수예방" },
}),
oxYnDropdownColumn({
name: "wqPlltnMtgtYn",
fieldName: "wqPlltnMtgtYn",
name: "wtpltMtgtYn",
fieldName: "wtpltMtgtYn",
header: { text: "수질오염저감" },
}),
oxYnDropdownColumn({
@@ -105,8 +105,8 @@ export const SewageReservoirInpColumn = {
// 펌프시설 > 총양수량
{
name: 'grssPpqty',
fieldName: 'grssPpqty',
name: 'wholPpqty',
fieldName: 'wholPpqty',
header: { text: '총양수량(m³/min)' },
editable: false,
footer: footerDecimal1,
@@ -119,17 +119,17 @@ export const SewageReservoirInpColumn = {
{
pumpCntField: 'pumpFcltN1PumpCnt',
rsrvPumpCntField: 'pumpFcltN1RsrvPumpCnt',
perPpqtyField: 'pumpFcltN1PerPpqty',
perPpqtyField: 'pumpFcltN1Ppqty',
},
{
pumpCntField: 'pumpFcltN2PumpCnt',
rsrvPumpCntField: 'pumpFcltN2RsrvPumpCnt',
perPpqtyField: 'pumpFcltN2PerPpqty',
perPpqtyField: 'pumpFcltN2Ppqty',
},
{
pumpCntField: 'pumpFcltN3PumpCnt',
rsrvPumpCntField: 'pumpFcltN3RsrvPumpCnt',
perPpqtyField: 'pumpFcltN3PerPpqty',
perPpqtyField: 'pumpFcltN3Ppqty',
},
],
},
@@ -137,19 +137,19 @@ export const SewageReservoirInpColumn = {
// 펌프시설 1
{ name: 'pumpFcltN1DmtrExpln', fieldName: 'pumpFcltN1DmtrExpln', header: { text: '구경(mm)' } },
{ name: 'pumpFcltN1PerPpqty', fieldName: 'pumpFcltN1PerPpqty', header: { text: '대당 양수량(m³/min·대)' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' },
{ name: 'pumpFcltN1Ppqty', fieldName: 'pumpFcltN1Ppqty', header: { text: '대당 양수량(m³/min·대)' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' },
{ name: 'pumpFcltN1PumpCnt', fieldName: 'pumpFcltN1PumpCnt', header: { text: '펌프대수' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'pumpFcltN1RsrvPumpCnt', fieldName: 'pumpFcltN1RsrvPumpCnt', header: { text: '예비펌프대수' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
// 펌프시설 2
{ name: 'pumpFcltN2DmtrExpln', fieldName: 'pumpFcltN2DmtrExpln', header: { text: '구경(mm)' } },
{ name: 'pumpFcltN2PerPpqty', fieldName: 'pumpFcltN2PerPpqty', header: { text: '대당 양수량(m³/min·대)' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' },
{ name: 'pumpFcltN2Ppqty', fieldName: 'pumpFcltN2Ppqty', header: { text: '대당 양수량(m³/min·대)' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' },
{ name: 'pumpFcltN2PumpCnt', fieldName: 'pumpFcltN2PumpCnt', header: { text: '펌프대수' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'pumpFcltN2RsrvPumpCnt', fieldName: 'pumpFcltN2RsrvPumpCnt', header: { text: '예비펌프대수' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
// 펌프시설 3
{ name: 'pumpFcltN3DmtrExpln', fieldName: 'pumpFcltN3DmtrExpln', header: { text: '구경(mm)' } },
{ name: 'pumpFcltN3PerPpqty', fieldName: 'pumpFcltN3PerPpqty', header: { text: '대당 양수량(m³/min·대)' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' },
{ name: 'pumpFcltN3Ppqty', fieldName: 'pumpFcltN3Ppqty', header: { text: '대당 양수량(m³/min·대)' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' },
{ name: 'pumpFcltN3PumpCnt', fieldName: 'pumpFcltN3PumpCnt', header: { text: '펌프대수' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'pumpFcltN3RsrvPumpCnt', fieldName: 'pumpFcltN3RsrvPumpCnt', header: { text: '예비펌프대수' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
@@ -164,8 +164,8 @@ export const SewageReservoirInpColumn = {
),
dropdownColumn(
{
name: "ddrztnEqpmYn",
fieldName: "ddrztnEqpmYn",
name: "odorEqpmYn",
fieldName: "odorEqpmYn",
header: { text: "탈취설비유무(유/무)" },
},
SEWAGE_RESERVOIR_YN_VALUES,
@@ -182,8 +182,8 @@ export const SewageReservoirInpColumn = {
// 배수 방식
dropdownColumn(
{
name: "mltvMthCn",
fieldName: "mltvMthCn",
name: "drgptnCn",
fieldName: "drgptnCn",
header: { text: "배수방식(자연배수,강제배수)" },
},
SEWAGE_RESERVOIR_MLTV_MTH_VALUES,
@@ -202,8 +202,8 @@ export const SewageReservoirInpColumn = {
// 저류수 처리방법
dropdownColumn(
{
name: "impdPrcsMthdCn",
fieldName: "impdPrcsMthdCn",
name: "impdPrcsCn",
fieldName: "impdPrcsCn",
header: { text: "저류수처리방법(자체처리,연계처리)" },
},
SEWAGE_RESERVOIR_IMPD_PRCS_MTHD_VALUES,
@@ -213,16 +213,16 @@ export const SewageReservoirInpColumn = {
{ name: 'dschgWtrsExpln', fieldName: 'dschgWtrsExpln', header: { text: '방류수역(또는 연계처리장명)' } },
// 최종처분량
{ name: 'prcptnLastDspsQnt', fieldName: 'prcptnLastDspsQnt', header: { text: '침사' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'prpwLastDspsQnt', fieldName: 'prpwLastDspsQnt', header: { text: '침사' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'ctmnLastDspsQnt', fieldName: 'ctmnLastDspsQnt', header: { text: '협잡물' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
// 최종처분방법
{ name: 'prcptnLastDspsMthdExpln', fieldName: 'prcptnLastDspsMthdExpln', header: { text: '침사' } },
{ name: 'ctmnLastDspsMthdExpln', fieldName: 'ctmnLastDspsMthdExpln', header: { text: '협잡물' } },
{ name: 'prpwLastDspsExpln', fieldName: 'prpwLastDspsExpln', header: { text: '침사' } },
{ name: 'ctmnLastDspsExpln', fieldName: 'ctmnLastDspsExpln', header: { text: '협잡물' } },
// 운영실적
{ name: 'oprtngDayCnt', fieldName: 'oprtngDayCnt', header: { text: '가동일수(일/년)' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' }, // 3자리 수만 입력 가능
{ name: 'grssMltvQnt', fieldName: 'grssMltvQnt', header: { text: '총배수량(m³/년)' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'wholQnt', fieldName: 'wholQnt', header: { text: '총배수량(m³/년)' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
// 비고
{ name: 'rmrk', fieldName: 'rmrk', header: { text: '비고' } },
@@ -254,7 +254,7 @@ export const SewageReservoirInpColumn = {
header: { text: '설치목적(O,X로 표기, 중복체크가능)' },
items: [
'fldngPrvtnYn',
'wqPlltnMtgtYn',
'wtpltMtgtYn',
'rtlztnUsgYn',
],
},
@@ -267,14 +267,14 @@ export const SewageReservoirInpColumn = {
hideChildHeaders: false,
header: { text: '펌프시설' },
items: [
'grssPpqty',
'wholPpqty',
{
name: 'pumpSystem1',
hideChildHeaders: false,
header: { text: '펌프시설1' },
items: [
'pumpFcltN1DmtrExpln',
'pumpFcltN1PerPpqty',
'pumpFcltN1Ppqty',
'pumpFcltN1PumpCnt',
'pumpFcltN1RsrvPumpCnt',
],
@@ -286,7 +286,7 @@ export const SewageReservoirInpColumn = {
header: { text: '펌프시설2' },
items: [
'pumpFcltN2DmtrExpln',
'pumpFcltN2PerPpqty',
'pumpFcltN2Ppqty',
'pumpFcltN2PumpCnt',
'pumpFcltN2RsrvPumpCnt',
],
@@ -298,7 +298,7 @@ export const SewageReservoirInpColumn = {
header: { text: '펌프시설3' },
items: [
'pumpFcltN3DmtrExpln',
'pumpFcltN3PerPpqty',
'pumpFcltN3Ppqty',
'pumpFcltN3PumpCnt',
'pumpFcltN3RsrvPumpCnt',
],
@@ -312,13 +312,13 @@ export const SewageReservoirInpColumn = {
header: { text: '부대시설' },
items: [
'prcsgFcltYn',
'ddrztnEqpmYn',
'odorEqpmYn',
'oslfEtgtYn',
],
},
'mltvMthCn',
'drgptnCn',
'impdMthCn',
'impdPrcsMthdCn',
'impdPrcsCn',
'dschgWtrsExpln',
{
@@ -326,7 +326,7 @@ export const SewageReservoirInpColumn = {
hideChildHeaders: false,
header: { text: '최종처분량(ton/년)' },
items: [
'prcptnLastDspsQnt',
'prpwLastDspsQnt',
'ctmnLastDspsQnt',
],
},
@@ -336,8 +336,8 @@ export const SewageReservoirInpColumn = {
hideChildHeaders: false,
header: { text: '최종처분방법' },
items: [
'prcptnLastDspsMthdExpln',
'ctmnLastDspsMthdExpln',
'prpwLastDspsExpln',
'ctmnLastDspsExpln',
],
},
@@ -347,7 +347,7 @@ export const SewageReservoirInpColumn = {
header: { text: '운영실적' },
items: [
'oprtngDayCnt',
'grssMltvQnt',
'wholQnt',
],
},
'rmrk',
@@ -10,13 +10,13 @@ export const CauserBurdenInpColumn = {
{ name: 'sggNm', fieldName: 'sggNm', header: { text: '시군구' }, editable: false, styleName: 'rg-cell-readonly' },
// 부과액
{ name: 'levyEvntcsCnt', fieldName: 'levyEvntcsCnt', header: { text: '건수' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'levyAmt', fieldName: 'levyAmt', header: { text: '금액(백만원)' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' },
{ name: 'brdnAmtLevyNocs', fieldName: 'brdnAmtLevyNocs', header: { text: '건수' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'brdnAmtLevyAmt', fieldName: 'brdnAmtLevyAmt', header: { text: '금액(백만원)' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' },
// 대상별 징수현황 > 계
{
name: 'trgtByWholClctnEvntcsCnt',
fieldName: 'trgtByWholClctnEvntcsCnt',
name: 'trgtSeWholClctnNocs',
fieldName: 'trgtSeWholClctnNocs',
header: { text: '건수' },
editable: false,
footer: footerInt,
@@ -24,13 +24,13 @@ export const CauserBurdenInpColumn = {
valueType: ValueType.NUMBER,
dataFormat: '#,##0',
computed: {
fields: ['mltvEqpmEvntcsCnt', 'othrCstrnOthrActrCnt'],
fields: ['drgNocs', 'othrCstrnOthrActrCnt'],
type: 'sum' as const,
},
},
{
name: 'trgtByWholClctnAmt',
fieldName: 'trgtByWholClctnAmt',
name: 'trgtSeWholClctnAmt',
fieldName: 'trgtSeWholClctnAmt',
header: { text: '금액(백만원)' },
editable: false,
footer: footerDecimal1,
@@ -38,14 +38,14 @@ export const CauserBurdenInpColumn = {
valueType: ValueType.NUMBER,
dataFormat: '#,##0.0',
computed: {
fields: ['mltvEqpmAmt', 'othrCstrnOthrActrAmt'],
fields: ['drgAmt', 'othrCstrnOthrActrAmt'],
type: 'sum' as const,
},
},
// 대상별 징수현황 > 배수설비설치자
{ name: 'mltvEqpmEvntcsCnt', fieldName: 'mltvEqpmEvntcsCnt', header: { text: '건수' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'mltvEqpmAmt', fieldName: 'mltvEqpmAmt', header: { text: '금액(백만원)' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' },
{ name: 'drgNocs', fieldName: 'drgNocs', header: { text: '건수' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'drgAmt', fieldName: 'drgAmt', header: { text: '금액(백만원)' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' },
// 대상별 징수현황 > 타공사·타행위자
{ name: 'othrCstrnOthrActrCnt', fieldName: 'othrCstrnOthrActrCnt', header: { text: '건수' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
@@ -71,7 +71,7 @@ export const CauserBurdenInpColumn = {
{
name: 'group_assess',
header: { text: '부과액' },
items: ['levyEvntcsCnt', 'levyAmt']
items: ['brdnAmtLevyNocs', 'brdnAmtLevyAmt']
},
{
name: 'group_collection',
@@ -80,12 +80,12 @@ export const CauserBurdenInpColumn = {
{
name: 'coll_group_total',
header: { text: '계' },
items: ['trgtByWholClctnEvntcsCnt', 'trgtByWholClctnAmt']
items: ['trgtSeWholClctnNocs', 'trgtSeWholClctnAmt']
},
{
name: 'coll_group_inst',
header: { text: '배수설비설치자(하수도법 제61조 제1항)' },
items: ['mltvEqpmEvntcsCnt', 'mltvEqpmAmt']
items: ['drgNocs', 'drgAmt']
},
{
name: 'coll_group_otr',
@@ -11,7 +11,7 @@ export const SewerageChargeInpColumn = {
// 요금
{ name: 'anlLevyQnt', fieldName: 'anlLevyQnt', header: { text: '연간조정량(m³)(A)' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'levyAmt', fieldName: 'levyAmt', header: { text: '하수도사용료수익(원)(B)' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'sewerLevyAmt', fieldName: 'sewerLevyAmt', header: { text: '하수도사용료수익(원)(B)' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{
name: 'avgUntprcAmt',
fieldName: 'avgUntprcAmt',
@@ -22,15 +22,15 @@ export const SewerageChargeInpColumn = {
valueType: ValueType.NUMBER,
dataFormat: '#,##0.0',
computed: {
fields: ['levyAmt', 'anlLevyQnt'],
fields: ['sewerLevyAmt', 'anlLevyQnt'],
type: 'quotient' as const,
},
},
{ name: 'grssPrmcoAmt', fieldName: 'grssPrmcoAmt', header: { text: '총괄원가(원)(D)' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'wholPrmcoAmt', fieldName: 'wholPrmcoAmt', header: { text: '총괄원가(원)(D)' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{
name: 'grssUnitPrmcoAmt',
fieldName: 'grssUnitPrmcoAmt',
name: 'wholUnitPrmcoAmt',
fieldName: 'wholUnitPrmcoAmt',
header: { text: 'm³당원가(원/m³) E=(D/A)' },
editable: false,
footer: footerDecimal1,
@@ -38,13 +38,13 @@ export const SewerageChargeInpColumn = {
valueType: ValueType.NUMBER,
dataFormat: '#,##0.0',
computed: {
fields: ['grssPrmcoAmt', 'anlLevyQnt'],
fields: ['wholPrmcoAmt', 'anlLevyQnt'],
type: 'quotient' as const,
},
},
{
name: 'rlztnRt',
fieldName: 'rlztnRt',
name: 'sewerCrgRlztnRt',
fieldName: 'sewerCrgRlztnRt',
header: { text: '요금현실화율(%) F=(C/E*100)' },
editable: false,
footer: footerDecimal1,
@@ -52,8 +52,8 @@ export const SewerageChargeInpColumn = {
valueType: ValueType.NUMBER,
dataFormat: '#,##0.0',
computed: {
numeratorQuotient: ['levyAmt', 'anlLevyQnt'] as [string, string],
denominatorQuotient: ['grssPrmcoAmt', 'anlLevyQnt'] as [string, string],
numeratorQuotient: ['sewerLevyAmt', 'anlLevyQnt'] as [string, string],
denominatorQuotient: ['wholPrmcoAmt', 'anlLevyQnt'] as [string, string],
type: 'quotientRatioPercent' as const,
},
},
@@ -75,11 +75,11 @@ export const SewerageChargeInpColumn = {
],
},
'anlLevyQnt',
'levyAmt',
'sewerLevyAmt',
'avgUntprcAmt',
'grssPrmcoAmt',
'grssUnitPrmcoAmt',
'rlztnRt',
'wholPrmcoAmt',
'wholUnitPrmcoAmt',
'sewerCrgRlztnRt',
'rmrk',
'admdstCd',
'admdstNm'
@@ -11,8 +11,8 @@ export const SewerageFinanceSettleInpColumn = {
// 재정별 사업비
{
name: 'fnnByWholPjtcoAmt',
fieldName: 'fnnByWholPjtcoAmt',
name: 'fnnSeWholPjtcoAmt',
fieldName: 'fnnSeWholPjtcoAmt',
header: { text: '계' },
editable: false,
footer: footerDecimal1,
@@ -21,18 +21,18 @@ export const SewerageFinanceSettleInpColumn = {
styleName: 'rg-cell-total',
computed: {
fields: [
'cnterGovSprtAmt',
'soaGovSprtAmt',
'mctpvLcexpAmt',
'wareaSggLclAmt',
'sewerUseAmt',
'orgprBrdnAmt',
'fnnOrgprBrdnAmt',
'etcIncmAmt',
'crfwAmt',
'soaCrfwAmt',
],
type: 'sum' as const,
},
},
{ name: 'cnterGovSprtAmt', fieldName: 'cnterGovSprtAmt', header: { text: '중앙정부지원액' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' },
{ name: 'soaGovSprtAmt', fieldName: 'soaGovSprtAmt', header: { text: '중앙정부지원액' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' },
// 재정별 사업비 > 지방비
{ name: 'mctpvLcexpAmt', fieldName: 'mctpvLcexpAmt', header: { text: '특·광역시, 도' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' },
@@ -40,17 +40,17 @@ export const SewerageFinanceSettleInpColumn = {
// 재정별 사업비
{ name: 'sewerUseAmt', fieldName: 'sewerUseAmt', header: { text: '하수도사용료' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' },
{ name: 'orgprBrdnAmt', fieldName: 'orgprBrdnAmt', header: { text: '원인자부담금' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' },
{ name: 'fnnOrgprBrdnAmt', fieldName: 'fnnOrgprBrdnAmt', header: { text: '원인자부담금' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' },
{ name: 'etcIncmAmt', fieldName: 'etcIncmAmt', header: { text: '기타잡수입' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' },
{ name: 'crfwAmt', fieldName: 'crfwAmt', header: { text: '이월액' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' },
{ name: 'soaCrfwAmt', fieldName: 'soaCrfwAmt', header: { text: '이월액' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' },
// 부채액
{ name: 'lbltAmt', fieldName: 'lbltAmt', header: { text: '부채액(백만원)' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' },
{ name: 'soaLbltAmt', fieldName: 'soaLbltAmt', header: { text: '부채액(백만원)' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' },
// 용도별사업비 > 계
{
name: 'usgByWholPjtcoAmt',
fieldName: 'usgByWholPjtcoAmt',
name: 'usgSeWholPjtcoAmt',
fieldName: 'usgSeWholPjtcoAmt',
header: { text: '계' },
editable: false,
footer: footerDecimal1,
@@ -70,12 +70,12 @@ export const SewerageFinanceSettleInpColumn = {
dataFormat: '#,##0.0',
styleName: 'rg-cell-total',
computed: {
fields: ['tmplntFcltAmt', 'tmplntMendngAmt', 'tmplntOperKeepAmt', 'tmplntEtcAmt'],
fields: ['tmplntFcltAmt', 'tmplntAmt', 'tmplntOperKeepAmt', 'tmplntEtcAmt'],
type: 'sum' as const,
},
},
{ name: 'tmplntFcltAmt', fieldName: 'tmplntFcltAmt', header: { text: '시설비' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' },
{ name: 'tmplntMendngAmt', fieldName: 'tmplntMendngAmt', header: { text: '개보수비' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' },
{ name: 'tmplntAmt', fieldName: 'tmplntAmt', header: { text: '개보수비' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' },
{ name: 'tmplntOperKeepAmt', fieldName: 'tmplntOperKeepAmt', header: { text: '운영유지비' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' },
{ name: 'tmplntEtcAmt', fieldName: 'tmplntEtcAmt', header: { text: '기타' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' },
@@ -92,7 +92,7 @@ export const SewerageFinanceSettleInpColumn = {
computed: {
fields: [
'swagePplFcltAmt',
'swagePplMendngAmt',
'swagePplAmt',
'swagePplOperKeepAmt',
'swagePplEtcAmt',
],
@@ -100,7 +100,7 @@ export const SewerageFinanceSettleInpColumn = {
},
},
{ name: 'swagePplFcltAmt', fieldName: 'swagePplFcltAmt', header: { text: '시설비' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' },
{ name: 'swagePplMendngAmt', fieldName: 'swagePplMendngAmt', header: { text: '개보수비' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' },
{ name: 'swagePplAmt', fieldName: 'swagePplAmt', header: { text: '개보수비' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' },
{ name: 'swagePplOperKeepAmt', fieldName: 'swagePplOperKeepAmt', header: { text: '운영유지비' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' },
{ name: 'swagePplEtcAmt', fieldName: 'swagePplEtcAmt', header: { text: '기타' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' },
@@ -117,7 +117,7 @@ export const SewerageFinanceSettleInpColumn = {
computed: {
fields: [
'swageImpdFcltAmt',
'swageImpdMendngAmt',
'swageImpdAmt',
'swageImpdOperKeepAmt',
'swageImpdFcltEtcAmt',
],
@@ -125,7 +125,7 @@ export const SewerageFinanceSettleInpColumn = {
},
},
{ name: 'swageImpdFcltAmt', fieldName: 'swageImpdFcltAmt', header: { text: '시설비' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' },
{ name: 'swageImpdMendngAmt', fieldName: 'swageImpdMendngAmt', header: { text: '개보수비' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' },
{ name: 'swageImpdAmt', fieldName: 'swageImpdAmt', header: { text: '개보수비' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' },
{ name: 'swageImpdOperKeepAmt', fieldName: 'swageImpdOperKeepAmt', header: { text: '운영유지비' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' },
{ name: 'swageImpdFcltEtcAmt', fieldName: 'swageImpdFcltEtcAmt', header: { text: '기타' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' },
@@ -140,13 +140,13 @@ export const SewerageFinanceSettleInpColumn = {
dataFormat: '#,##0.0',
styleName: 'rg-cell-total',
computed: {
fields: ['etcAcdntCrfwAmt', 'etcNrcpAmt', 'etcAmt'],
fields: ['etcAcdntCrfwAmt', 'etcNrcpAmt', 'fnnEtcAmt'],
type: 'sum' as const,
},
},
{ name: 'etcAcdntCrfwAmt', fieldName: 'etcAcdntCrfwAmt', header: { text: '사고이월액' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' },
{ name: 'etcNrcpAmt', fieldName: 'etcNrcpAmt', header: { text: '미수납액' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' },
{ name: 'etcAmt', fieldName: 'etcAmt', header: { text: '기타' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' },
{ name: 'fnnEtcAmt', fieldName: 'fnnEtcAmt', header: { text: '기타' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' },
// 비고
{ name: 'rmrk', fieldName: 'rmrk', header: { text: '비고' } },
@@ -168,32 +168,32 @@ export const SewerageFinanceSettleInpColumn = {
name: 'group_finance',
header: { text: '재정별 사업비(백만원)' },
items: [
'fnnByWholPjtcoAmt',
'cnterGovSprtAmt',
'fnnSeWholPjtcoAmt',
'soaGovSprtAmt',
{
name: 'group_local_finance',
header: { text: '지방비' },
items: ['mctpvLcexpAmt', 'wareaSggLclAmt']
},
'sewerUseAmt',
'orgprBrdnAmt',
'fnnOrgprBrdnAmt',
'etcIncmAmt',
'crfwAmt'
'soaCrfwAmt'
]
},
'lbltAmt',
'soaLbltAmt',
{
name: 'group_purpose',
header: { text: '용도별사업비(백만원)' },
items: [
'usgByWholPjtcoAmt',
'usgSeWholPjtcoAmt',
{
name: 'group_treatment',
header: { text: '처리장' },
items: [
'tmplntWholAmt',
'tmplntFcltAmt',
'tmplntMendngAmt',
'tmplntAmt',
'tmplntOperKeepAmt',
'tmplntEtcAmt'
]
@@ -204,7 +204,7 @@ export const SewerageFinanceSettleInpColumn = {
items: [
'wholSwagePplAmt',
'swagePplFcltAmt',
'swagePplMendngAmt',
'swagePplAmt',
'swagePplOperKeepAmt',
'swagePplEtcAmt'
]
@@ -215,7 +215,7 @@ export const SewerageFinanceSettleInpColumn = {
items: [
'wholSwageImpdFcltAmt',
'swageImpdFcltAmt',
'swageImpdMendngAmt',
'swageImpdAmt',
'swageImpdOperKeepAmt',
'swageImpdFcltEtcAmt'
]
@@ -227,7 +227,7 @@ export const SewerageFinanceSettleInpColumn = {
'etcWholAmt',
'etcAcdntCrfwAmt',
'etcNrcpAmt',
'etcAmt'
'fnnEtcAmt'
]
}
]
@@ -11,8 +11,8 @@ export const SewerageUsageFeeInpColumn = {
// 총계 > 부과액
{
name: 'levyAmt',
fieldName: 'levyAmt',
name: 'sewerLevyAmt',
fieldName: 'sewerLevyAmt',
header: { text: '(백만원)' },
editable: false,
footer: footerDecimal1,
@@ -22,11 +22,11 @@ export const SewerageUsageFeeInpColumn = {
computed: {
fields: [
'hshusLevyAmt',
'taskFrLevyAmt',
'ofuseLevyAmt',
'fbuLevyAmt',
'bthhsFrSpcs1LevyAmt',
'bthhsFrSpcs2LevyAmt',
'induLevyAmt',
'btht1LevyAmt',
'btht2LevyAmt',
'indstLevyAmt',
'etcLevyAmt',
],
type: 'sum' as const,
@@ -35,8 +35,8 @@ export const SewerageUsageFeeInpColumn = {
// 총계 > 부과량
{
name: 'levyQnt',
fieldName: 'levyQnt',
name: 'sewerLevyQnt',
fieldName: 'sewerLevyQnt',
header: { text: '(천톤)' },
editable: false,
footer: footerDecimal1,
@@ -46,11 +46,11 @@ export const SewerageUsageFeeInpColumn = {
computed: {
fields: [
'hshusLevyQnt',
'taskFrLevyQnt',
'ofuseLevyQnt',
'fbuLevyQnt',
'bthhsFrSpcs1LevyQnt',
'bthhsFrSpcs2LevyQnt',
'induLevyQnt',
'btht1LevyQnt',
'btht2LevyQnt',
'indstLevyQnt',
'etcLevyQnt',
],
type: 'sum' as const,
@@ -63,9 +63,9 @@ export const SewerageUsageFeeInpColumn = {
{ name: 'hshusUntprcAmt', fieldName: 'hshusUntprcAmt', header: { text: '(원/톤)' }, editable: false, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0', styleName: 'rg-cell-readonly' },
// 업무용
{ name: 'taskFrLevyAmt', fieldName: 'taskFrLevyAmt', header: { text: '(백만원)' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' },
{ name: 'taskFrLevyQnt', fieldName: 'taskFrLevyQnt', header: { text: '(천톤)' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' },
{ name: 'taskFrUntprcAmt', fieldName: 'taskFrUntprcAmt', header: { text: '(원/톤)' }, editable: false, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0', styleName: 'rg-cell-readonly' },
{ name: 'ofuseLevyAmt', fieldName: 'ofuseLevyAmt', header: { text: '(백만원)' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' },
{ name: 'ofuseLevyQnt', fieldName: 'ofuseLevyQnt', header: { text: '(천톤)' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' },
{ name: 'ofuseUntprcAmt', fieldName: 'ofuseUntprcAmt', header: { text: '(원/톤)' }, editable: false, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0', styleName: 'rg-cell-readonly' },
// 영업용(일반용)
{ name: 'fbuLevyAmt', fieldName: 'fbuLevyAmt', header: { text: '(백만원)' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' },
@@ -73,19 +73,19 @@ export const SewerageUsageFeeInpColumn = {
{ name: 'fbuUntprcAmt', fieldName: 'fbuUntprcAmt', header: { text: '(원/톤)' }, editable: false, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0', styleName: 'rg-cell-readonly' },
// 욕탕1종(대중탕용)
{ name: 'bthhsFrSpcs1LevyAmt', fieldName: 'bthhsFrSpcs1LevyAmt', header: { text: '(백만원)' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' },
{ name: 'bthhsFrSpcs1LevyQnt', fieldName: 'bthhsFrSpcs1LevyQnt', header: { text: '(천톤)' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' },
{ name: 'bthhsFrSpcs1UntprcAmt', fieldName: 'bthhsFrSpcs1UntprcAmt', header: { text: '(원/톤)' }, editable: false, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0', styleName: 'rg-cell-readonly' },
{ name: 'btht1LevyAmt', fieldName: 'btht1LevyAmt', header: { text: '(백만원)' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' },
{ name: 'btht1LevyQnt', fieldName: 'btht1LevyQnt', header: { text: '(천톤)' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' },
{ name: 'btht1UntprcAmt', fieldName: 'btht1UntprcAmt', header: { text: '(원/톤)' }, editable: false, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0', styleName: 'rg-cell-readonly' },
// 욕탕2종
{ name: 'bthhsFrSpcs2LevyAmt', fieldName: 'bthhsFrSpcs2LevyAmt', header: { text: '(백만원)' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' },
{ name: 'bthhsFrSpcs2LevyQnt', fieldName: 'bthhsFrSpcs2LevyQnt', header: { text: '(천톤)' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' },
{ name: 'bthhsFrSpcs2UntprcAmt', fieldName: 'bthhsFrSpcs2UntprcAmt', header: { text: '(원/톤)' }, editable: false, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0', styleName: 'rg-cell-readonly' },
{ name: 'btht2LevyAmt', fieldName: 'btht2LevyAmt', header: { text: '(백만원)' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' },
{ name: 'btht2LevyQnt', fieldName: 'btht2LevyQnt', header: { text: '(천톤)' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' },
{ name: 'btht2UntprcAmt', fieldName: 'btht2UntprcAmt', header: { text: '(원/톤)' }, editable: false, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0', styleName: 'rg-cell-readonly' },
// 산업 및 공업용
{ name: 'induLevyAmt', fieldName: 'induLevyAmt', header: { text: '(백만원)' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' },
{ name: 'induLevyQnt', fieldName: 'induLevyQnt', header: { text: '(천톤)' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' },
{ name: 'induUntprcAmt', fieldName: 'induUntprcAmt', header: { text: '(원/톤)' }, editable: false, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0', styleName: 'rg-cell-readonly' },
{ name: 'indstLevyAmt', fieldName: 'indstLevyAmt', header: { text: '(백만원)' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' },
{ name: 'indstLevyQnt', fieldName: 'indstLevyQnt', header: { text: '(천톤)' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' },
{ name: 'indstUntprcAmt', fieldName: 'indstUntprcAmt', header: { text: '(원/톤)' }, editable: false, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0', styleName: 'rg-cell-readonly' },
// 기타
{ name: 'etcLevyAmt', fieldName: 'etcLevyAmt', header: { text: '(백만원)' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' },
@@ -116,12 +116,12 @@ export const SewerageUsageFeeInpColumn = {
{
name: 'total_amount',
header: { text: '부과액' },
items: ['levyAmt']
items: ['sewerLevyAmt']
},
{
name: 'total_qty',
header: { text: '부과량' },
items: ['levyQnt']
items: ['sewerLevyQnt']
}
]
},
@@ -153,17 +153,17 @@ export const SewerageUsageFeeInpColumn = {
{
name: 'job_amount',
header: { text: '부과액' },
items: ['taskFrLevyAmt']
items: ['ofuseLevyAmt']
},
{
name: 'job_qty',
header: { text: '부과량' },
items: ['taskFrLevyQnt']
items: ['ofuseLevyQnt']
},
{
name: 'job_price',
header: { text: '단가' },
items: ['taskFrUntprcAmt']
items: ['ofuseUntprcAmt']
}
]
},
@@ -195,17 +195,17 @@ export const SewerageUsageFeeInpColumn = {
{
name: 'baths1_amount',
header: { text: '부과액' },
items: ['bthhsFrSpcs1LevyAmt']
items: ['btht1LevyAmt']
},
{
name: 'baths1_qty',
header: { text: '부과량' },
items: ['bthhsFrSpcs1LevyQnt']
items: ['btht1LevyQnt']
},
{
name: 'baths1_price',
header: { text: '단가' },
items: ['bthhsFrSpcs1UntprcAmt']
items: ['btht1UntprcAmt']
}
]
},
@@ -216,17 +216,17 @@ export const SewerageUsageFeeInpColumn = {
{
name: 'pbbath_amount',
header: { text: '부과액' },
items: ['bthhsFrSpcs2LevyAmt']
items: ['btht2LevyAmt']
},
{
name: 'pbbath_qty',
header: { text: '부과량' },
items: ['bthhsFrSpcs2LevyQnt']
items: ['btht2LevyQnt']
},
{
name: 'pbbath_price',
header: { text: '단가' },
items: ['bthhsFrSpcs2UntprcAmt']
items: ['btht2UntprcAmt']
}
]
},
@@ -237,17 +237,17 @@ export const SewerageUsageFeeInpColumn = {
{
name: 'indust_amount',
header: { text: '부과액' },
items: ['induLevyAmt']
items: ['indstLevyAmt']
},
{
name: 'indust_qty',
header: { text: '부과량' },
items: ['induLevyQnt']
items: ['indstLevyQnt']
},
{
name: 'indust_price',
header: { text: '단가' },
items: ['induUntprcAmt']
items: ['indstUntprcAmt']
}
]
},
@@ -3,13 +3,13 @@ import { ValueType } from "realgrid";
import { footerDecimal1,footerInt } from "@/components/util/grid/footerSummary";
const COMPLAINT_TYPE_COUNT_FIELDS = [
'dschgWqCnt',
'odorCnt',
'ldsCnt',
'plltnAcdntCnt',
'swagePplCnt',
'sewerCrgAmt',
'etcCnt',
'cvlcptDschgWq',
'cvlcptOdorCnt',
'cvlcptDrgCnt',
'cvlcptMnhlCnt',
'cvlcptSpctnkCnt',
'cvlcptSewerCrg',
'cvlcptEtcCnt',
] as const;
// 하수도 통계 관리 > 13. 하수도 서비스 수준 > tab 1: 민원
@@ -24,8 +24,8 @@ export const ComplaintInpColumn = {
// 민원유형(건)
{
name: 'whol',
fieldName: 'whol',
name: 'cvlcptWholCnt',
fieldName: 'cvlcptWholCnt',
header: { text: '총계' },
editable: false,
styleName: 'rg-cell-total',
@@ -37,18 +37,18 @@ export const ComplaintInpColumn = {
type: 'sum' as const,
},
},
{ name: 'dschgWqCnt', fieldName: 'dschgWqCnt', header: { text: '악취' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'odorCnt', fieldName: 'odorCnt', header: { text: '하수관로' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'ldsCnt', fieldName: 'ldsCnt', header: { text: '배수설비' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'plltnAcdntCnt', fieldName: 'plltnAcdntCnt', header: { text: '맨홀' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'swagePplCnt', fieldName: 'swagePplCnt', header: { text: '정화조' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'sewerCrgAmt', fieldName: 'sewerCrgAmt', header: { text: '하수도요금' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'etcCnt', fieldName: 'etcCnt', header: { text: '기타' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'cvlcptDschgWq', fieldName: 'cvlcptDschgWq', header: { text: '악취' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'cvlcptOdorCnt', fieldName: 'cvlcptOdorCnt', header: { text: '하수관로' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'cvlcptDrgCnt', fieldName: 'cvlcptDrgCnt', header: { text: '배수설비' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'cvlcptMnhlCnt', fieldName: 'cvlcptMnhlCnt', header: { text: '맨홀' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'cvlcptSpctnkCnt', fieldName: 'cvlcptSpctnkCnt', header: { text: '정화조' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'cvlcptSewerCrg', fieldName: 'cvlcptSewerCrg', header: { text: '하수도요금' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'cvlcptEtcCnt', fieldName: 'cvlcptEtcCnt', header: { text: '기타' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
// 기준인구당 민원건수(건/10,000명) = 민원유형 합계 / 하수처리인구 × 10,000
{
name: 'crtrPpltnCvlcptEvntcsCnt',
fieldName: 'crtrPpltnCvlcptEvntcsCnt',
name: 'crtrPpltnCvlcptCnt',
fieldName: 'crtrPpltnCvlcptCnt',
header: { text: '기준인구당민원건수(건/10,000명)' },
editable: false,
styleName: 'rg-cell-total',
@@ -83,17 +83,17 @@ export const ComplaintInpColumn = {
name: 'group_complaint_type',
header: { text: '민원유형(건)' },
items: [
'whol',
'dschgWqCnt',
'odorCnt',
'ldsCnt',
'plltnAcdntCnt',
'swagePplCnt',
'sewerCrgAmt',
'etcCnt'
'cvlcptWholCnt',
'cvlcptDschgWq',
'cvlcptOdorCnt',
'cvlcptDrgCnt',
'cvlcptMnhlCnt',
'cvlcptSpctnkCnt',
'cvlcptSewerCrg',
'cvlcptEtcCnt'
]
},
'crtrPpltnCvlcptEvntcsCnt',
'crtrPpltnCvlcptCnt',
'rmrk',
'admdstCd',
'admdstNm'
@@ -3,14 +3,14 @@ import { ValueType } from "realgrid";
import { footerDecimal1,footerInt } from "@/components/util/grid/footerSummary";
const RESIDENT_FRIENDLY_FACILITY_AREA_FIELDS = [
'brkFcltArea',
'brkFcar',
'childFrshpSpacArea',
'bdySportsFcltArea',
'sportsFcltArea',
'pkltArea',
'eduMultiFcltArea',
'bdySportsFcar',
'sportsFcar',
'pkltar',
'eduMultiFcar',
'wtlndMakeArea',
'etcCnt',
'othrar',
] as const;
// 하수도 통계 관리 > 13. 하수도 서비스 수준 > tab 2: 주민친화시설
@@ -22,15 +22,15 @@ export const ResidentFriendlyFactInpColumn = {
// 시설 기본 정보
{ name: 'swtrmtFcltNm', fieldName: 'swtrmtFcltNm', header: { text: '처리장명' }, editable: false, styleName: 'rg-cell-readonly' },
{ name: 'fcltCpct', fieldName: 'fcltCpct', header: { text: '시설용량(m³/일)' }, editable: false, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0', styleName: 'rg-cell-readonly' },
{ name: 'prcsFcltCpct', fieldName: 'prcsFcltCpct', header: { text: '시설용량(m³/일)' }, editable: false, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0', styleName: 'rg-cell-readonly' },
// 처리장면적(㎡)
{ name: 'tmplntArea', fieldName: 'tmplntArea', header: { text: '처리장면적(㎡)' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' },
{ name: 'stpar', fieldName: 'stpar', header: { text: '처리장면적(㎡)' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' },
// 주민친화시설 면적(㎡)
{
name: 'whol',
fieldName: 'whol',
name: 'whlar',
fieldName: 'whlar',
header: { text: '총계' },
editable: false,
styleName: 'rg-cell-total',
@@ -42,14 +42,14 @@ export const ResidentFriendlyFactInpColumn = {
type: 'sum' as const,
},
},
{ name: 'brkFcltArea', fieldName: 'brkFcltArea', header: { text: '휴게시설' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'brkFcar', fieldName: 'brkFcar', header: { text: '휴게시설' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'childFrshpSpacArea', fieldName: 'childFrshpSpacArea', header: { text: '어린이놀이공간' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'bdySportsFcltArea', fieldName: 'bdySportsFcltArea', header: { text: '체력단련시설' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'sportsFcltArea', fieldName: 'sportsFcltArea', header: { text: '운동시설' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'pkltArea', fieldName: 'pkltArea', header: { text: '주차장' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'eduMultiFcltArea', fieldName: 'eduMultiFcltArea', header: { text: '교육 및 문화시설' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'bdySportsFcar', fieldName: 'bdySportsFcar', header: { text: '체력단련시설' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'sportsFcar', fieldName: 'sportsFcar', header: { text: '운동시설' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'pkltar', fieldName: 'pkltar', header: { text: '주차장' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'eduMultiFcar', fieldName: 'eduMultiFcar', header: { text: '교육 및 문화시설' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'wtlndMakeArea', fieldName: 'wtlndMakeArea', header: { text: '습지조성(생태공원)' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'etcCnt', fieldName: 'etcCnt', header: { text: '기타' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'othrar', fieldName: 'othrar', header: { text: '기타' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
// 비고
{ name: 'rmrk', fieldName: 'rmrk', header: { text: '비고' } },
@@ -70,21 +70,21 @@ export const ResidentFriendlyFactInpColumn = {
],
},
'swtrmtFcltNm',
'fcltCpct',
'tmplntArea',
'prcsFcltCpct',
'stpar',
{
name: 'group_resident_friendly_facility',
header: { text: '주민친화시설 면적(㎡)' },
items: [
'whol',
'brkFcltArea',
'whlar',
'brkFcar',
'childFrshpSpacArea',
'bdySportsFcltArea',
'sportsFcltArea',
'pkltArea',
'eduMultiFcltArea',
'bdySportsFcar',
'sportsFcar',
'pkltar',
'eduMultiFcar',
'wtlndMakeArea',
'etcCnt'
'othrar'
]
},
'rmrk',
@@ -3,7 +3,7 @@ import { ValueType } from "realgrid";
import type { ColumnConfig } from "@/components/type/DataGrid.type";
import { footerDecimal1 } from "@/components/util/grid/footerSummary";
/** 건축물용도(`bdstTypCn`) */
/** 건축물용도(`bdstSeCn`) */
export const RAINFALL_UTIL_FACT_BDST_TYP_VALUES = [
"종합운동장",
"실내체육관",
@@ -66,8 +66,8 @@ export const RainFallUtilFactStatusInpColumn = {
// 건축물용도
dropdownColumn(
{
name: 'bdstTypCn',
fieldName: 'bdstTypCn',
name: 'bdstSeCn',
fieldName: 'bdstSeCn',
header: { text: '건축물용도' },
},
RAINFALL_UTIL_FACT_BDST_TYP_VALUES,
@@ -88,8 +88,8 @@ export const RainFallUtilFactStatusInpColumn = {
// 설치완료일 yyyy-mm-dd
{
name: 'cmptYmd',
fieldName: 'cmptYmd',
name: 'cmptnYmd',
fieldName: 'cmptnYmd',
header: { text: '설치완료일 yyyy-mm-dd' },
datetimeFormat: 'yyyy-MM-dd',
editor: {
@@ -100,16 +100,16 @@ export const RainFallUtilFactStatusInpColumn = {
},
// 설치비(백만원)
{ name: 'instlAmt', fieldName: 'instlAmt', header: { text: '설치비(백만원)' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' },
{ name: 'fcltInstlAmt', fieldName: 'fcltInstlAmt', header: { text: '설치비(백만원)' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' },
// 집수면 종류
{ name: 'rcptMynCn', fieldName: 'rcptMynCn', header: { text: '집수면 종류' } },
{ name: 'rcptKndCn', fieldName: 'rcptKndCn', header: { text: '집수면 종류' } },
// 여과등처리시설유무(유:처리시설종류,무:미설치)
{ name: 'filtrPrcsFcltYnExpln', fieldName: 'filtrPrcsFcltYnExpln', header: { text: '여과등처리시설유무(유:처리시설종류,무:미설치)' } },
{ name: 'filtrPrcsFcltExpln', fieldName: 'filtrPrcsFcltExpln', header: { text: '여과등처리시설유무(유:처리시설종류,무:미설치)' } },
// 저류조용량(m³)
{ name: 'impdCpct', fieldName: 'impdCpct', header: { text: '저류조용량(m³)' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' },
{ name: 'fcltRtntnkCpct', fieldName: 'fcltRtntnkCpct', header: { text: '저류조용량(m³)' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' },
// 연간이용량(m³/년)
{ name: 'anlUseQnt', fieldName: 'anlUseQnt', header: { text: '연간이용량(m³/년)' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' },
@@ -146,14 +146,14 @@ export const RainFallUtilFactStatusInpColumn = {
],
},
'fcltNm',
'bdstTypCn',
'bdstSeCn',
'fcltPstnCn',
'lglTrgtYn',
'cmptYmd',
'instlAmt',
'rcptMynCn',
'filtrPrcsFcltYnExpln',
'impdCpct',
'cmptnYmd',
'fcltInstlAmt',
'rcptKndCn',
'filtrPrcsFcltExpln',
'fcltRtntnkCpct',
'anlUseQnt',
'exlnUtlzUsgExpln',
'anlOperAmt',
@@ -27,7 +27,7 @@ export const RECYCLED_WATER_BLDG_SE_VALUES = [
/** 법적의무대상여부(`lglTrgtYn`) */
export const RECYCLED_WATER_LGL_TRGT_YN_VALUES = ["대상", "미대상"] as const;
/** 중수도용도(`mnUsgCn`) */
/** 중수도용도(`ruswtrUsgCn`) */
export const RECYCLED_WATER_MN_USG_VALUES = [
"청소화장실용수",
"세척살수용수",
@@ -120,11 +120,11 @@ export const RecycledWaterStatusInpColumn = {
},
// 시설현황
{ name: 'archWholArea', fieldName: 'archWholArea', header: { text: '건축연면적(m²)' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' },
{ name: 'archWhlar', fieldName: 'archWhlar', header: { text: '건축연면적(m²)' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' },
{ name: 'prcsCpct', fieldName: 'prcsCpct', header: { text: '처리용량(m³/일)' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' },
// 물 사용량(m³/일)
{ name: 'wtrUseQnt', fieldName: 'wtrUseQnt', header: { text: '물 사용량(m³/일)' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' },
{ name: 'ruswtrWtrUsqty', fieldName: 'ruswtrWtrUsqty', header: { text: '물 사용량(m³/일)' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' },
// 중수도이용량(m³/일)
{ name: 'ruswtrUtztnQnt', fieldName: 'ruswtrUtztnQnt', header: { text: '중수도이용량(m³/일)' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' },
@@ -135,8 +135,8 @@ export const RecycledWaterStatusInpColumn = {
// 중수도용도
dropdownColumn(
{
name: 'mnUsgCn',
fieldName: 'mnUsgCn',
name: 'ruswtrUsgCn',
fieldName: 'ruswtrUsgCn',
header: { text: '중수도용도' },
},
RECYCLED_WATER_MN_USG_VALUES,
@@ -173,14 +173,14 @@ export const RecycledWaterStatusInpColumn = {
name: 'group_facility_status',
header: { text: '시설현황' },
items: [
'archWholArea',
'archWhlar',
'prcsCpct'
]
},
'wtrUseQnt',
'ruswtrWtrUsqty',
'ruswtrUtztnQnt',
'sbstCntUtztnQnt',
'mnUsgCn',
'ruswtrUsgCn',
'ruswtrOperAmt',
'rmrk',
'admdstCd',
@@ -1,15 +1,13 @@
import { ValueType } from "realgrid";
export const LogHistoryColumn = {
columns: [
{ name: 'ctpvNm', fieldName: 'ctpvNm', header: { text: '시도' }, editable: false },
{ name: 'sggNm', fieldName: 'sggNm', header: { text: '시군구' }, editable: false },
{ name: 'statsYr', fieldName: 'statsYr', header: { text: '연도' }, editable: false },
{ name: 'statsLogSn', fieldName: 'statsLogSn', header: { text: '일련번호' }, editable: false, visible: false, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'statsLogSn', fieldName: 'statsLogSn', header: { text: '일련번호' }, editable: false, visible: false },
{ name: 'menuNm', fieldName: 'menuNm', header: { text: '통계항목' }, editable: false },
{ name: 'tblNm', fieldName: 'tblNm', header: { text: '테이블명' }, visible: false, editable: false },
{ name: 'statsDataChgComNm', fieldName: 'statsDataChgComNm', header: { text: '요청 기능명' }, editable: false },
{ name: 'rgtrId', fieldName: 'rgtrId', header: { text: '등록자' }, editable: false, visible: false },
{ name: 'rgtrUuid', fieldName: 'rgtrUuid', header: { text: '등록자' }, editable: false, visible: false },
{ name: 'regDt', fieldName: 'regDt', header: { text: '등록일' }, editable: false },
],
@@ -20,7 +18,7 @@ export const LogHistoryColumn = {
'menuNm',
'tblNm',
'statsDataChgComNm',
'rgtrId',
'rgtrUuid',
'regDt',
'statsLogSn',
]
@@ -10,7 +10,7 @@ export const LOG_DETAIL_DETAILS_RAW_FIELD = "__detailsRaw";
export interface LogDetailVerificationColumn {
tblNm: string;
metaSn: number;
fieldNm: string;
artclNm: string;
engColNm: string;
dataScpCd: string;
kornColNm: string;
@@ -18,12 +18,13 @@ export interface LogDetailVerificationColumn {
export interface LogDetailVerificationItem {
columns: LogDetailVerificationColumn[];
cmprOpert: string | null;
groupByYn: string;
vrfcDtlSn: number;
refStatsCd: string | null;
eqtnCombSeq: number;
engArtopnEqtnCn: string;
kornArtopnEqtnCn: string;
fmlaCombSeq: number;
cmprArtopnCn: string | null;
engArtopnFmlaCn: string;
kornArtopnFmlaCn: string;
}
const COMMON_FIELD_ORDER = ["rmrk", "sggNm", "admdstCd", "admdstNm"] as const;
@@ -67,7 +67,7 @@ const rawExcretaTreatmentFacilityList = [
},
{ name: "fcltNm", fieldName: "fcltNm", header: { text: "시설명" } },
{ name: "fcltPstnCn", fieldName: "fcltPstnCn", header: { text: "소재지" } },
{ name: "telNo", fieldName: "telNo", header: { text: "전화번호" } },
{ name: "telnoCn", fieldName: "telnoCn", header: { text: "전화번호" } },
{ name: "cmptnStrtYmd", fieldName: "cmptnStrtYmd", header: { text: "준공일" } },
{ name: "oprtngStrtYmd", fieldName: "oprtngStrtYmd", header: { text: "가동개시일" } },
{
@@ -79,30 +79,30 @@ const rawExcretaTreatmentFacilityList = [
numberFormat: "#,##0",
},
{
name: "prcsFcltCpct",
fieldName: "prcsFcltCpct",
name: "fcltCpct",
fieldName: "fcltCpct",
header: { text: "시설용량\n(㎥/일)" },
footer: footerDecimal1ArrayByDivision,
valueType: ValueType.NUMBER,
numberFormat: "#,##0.0",
},
{
name: "cpct",
fieldName: "cpct",
name: "excrFcltPrcqty",
fieldName: "excrFcltPrcqty",
header: { text: "처리량\n(㎥/일)" },
footer: footerDecimal1ArrayByDivision,
valueType: ValueType.NUMBER,
numberFormat: "#,##0.0",
},
{
name: "oprtngDayCnt",
fieldName: "oprtngDayCnt",
name: "fcltOprtngDayCnt",
fieldName: "fcltOprtngDayCnt",
header: { text: "가동일수\n(일/년)" },
footer: footerIntArrayByDivision,
valueType: ValueType.NUMBER,
numberFormat: "#,##0",
},
{ name: "prcsMthdExpln", fieldName: "prcsMthdExpln", header: { text: "처리공법" } },
{ name: "prcsExpln", fieldName: "prcsExpln", header: { text: "처리공법" } },
{ name: "linkTmplntCn", fieldName: "linkTmplntCn", header: { text: "연계처리장명" } },
{
name: "linkPrcsQnt",
@@ -113,106 +113,106 @@ const rawExcretaTreatmentFacilityList = [
numberFormat: "#,##0.0",
},
{
name: "inflwBodWqVl",
fieldName: "inflwBodWqVl",
name: "inflwWqBod",
fieldName: "inflwWqBod",
header: { text: "BOD" },
footer: footerDecimal1ArrayByDivision,
valueType: ValueType.NUMBER,
numberFormat: "#,##0.00",
},
{
name: "inflwTocWqVl",
fieldName: "inflwTocWqVl",
name: "inflwWqTorgcb",
fieldName: "inflwWqTorgcb",
header: { text: "TOC" },
footer: footerDecimal1ArrayByDivision,
valueType: ValueType.NUMBER,
numberFormat: "#,##0.00",
},
{
name: "inflwSsWqVl",
fieldName: "inflwSsWqVl",
name: "inflwWqSpsld",
fieldName: "inflwWqSpsld",
header: { text: "SS" },
footer: footerDecimal1ArrayByDivision,
valueType: ValueType.NUMBER,
numberFormat: "#,##0.00",
},
{
name: "inflwTnWqVl",
fieldName: "inflwTnWqVl",
name: "inflwWqDtn",
fieldName: "inflwWqDtn",
header: { text: "T-N" },
footer: footerDecimal1ArrayByDivision,
valueType: ValueType.NUMBER,
numberFormat: "#,##0.00",
},
{
name: "inflwTpWqVl",
fieldName: "inflwTpWqVl",
name: "inflwWqTph",
fieldName: "inflwWqTph",
header: { text: "T-P" },
footer: footerDecimal3ArrayByDivision,
valueType: ValueType.NUMBER,
numberFormat: "#,##0.000",
},
{
name: "inflwClfgCnt",
fieldName: "inflwClfgCnt",
name: "fcltInflwClfgCnt",
fieldName: "fcltInflwClfgCnt",
header: { text: "대장균\n군수" },
footer: footerIntArrayByDivision,
valueType: ValueType.NUMBER,
numberFormat: "#,##0",
},
{
name: "dschgBodWqVl",
fieldName: "dschgBodWqVl",
name: "dschgWqBod",
fieldName: "dschgWqBod",
header: { text: "BOD" },
footer: footerDecimal1ArrayByDivision,
valueType: ValueType.NUMBER,
numberFormat: "#,##0.00",
},
{
name: "dschgTocWqVl",
fieldName: "dschgTocWqVl",
name: "dschgWqTorgcb",
fieldName: "dschgWqTorgcb",
header: { text: "TOC" },
footer: footerDecimal1ArrayByDivision,
valueType: ValueType.NUMBER,
numberFormat: "#,##0.00",
},
{
name: "dschgSsWqVl",
fieldName: "dschgSsWqVl",
name: "dschgWqSpsld",
fieldName: "dschgWqSpsld",
header: { text: "SS" },
footer: footerDecimal1ArrayByDivision,
valueType: ValueType.NUMBER,
numberFormat: "#,##0.00",
},
{
name: "dschgTnWqVl",
fieldName: "dschgTnWqVl",
name: "dschgWqDtn",
fieldName: "dschgWqDtn",
header: { text: "T-N" },
footer: footerDecimal1ArrayByDivision,
valueType: ValueType.NUMBER,
numberFormat: "#,##0.00",
},
{
name: "dschgTpWqVl",
fieldName: "dschgTpWqVl",
name: "dschgWqTph",
fieldName: "dschgWqTph",
header: { text: "T-P" },
footer: footerDecimal3ArrayByDivision,
valueType: ValueType.NUMBER,
numberFormat: "#,##0.000",
},
{
name: "dschgClfgCnt",
fieldName: "dschgClfgCnt",
name: "fcltDschgClfgCnt",
fieldName: "fcltDschgClfgCnt",
header: { text: "대장균\n군수" },
footer: footerIntArrayByDivision,
valueType: ValueType.NUMBER,
numberFormat: "#,##0",
},
{ name: "wtsysNm", fieldName: "wtsysNm", header: { text: "수계" } },
{ name: "trbtrNm", fieldName: "trbtrNm", header: { text: "지류" } },
{ name: "fcltWtsysNm", fieldName: "fcltWtsysNm", header: { text: "수계" } },
{ name: "fcltTrbtrNm", fieldName: "fcltTrbtrNm", header: { text: "지류" } },
{ name: "msirbCn", fieldName: "msirbCn", header: { text: "중권역" } },
{ name: "ssirbCn", fieldName: "ssirbCn", header: { text: "소권역" } },
{ name: "operMthdCdCn", fieldName: "operMthdCdCn", header: { text: "운영주체\n(자체/공기업/\n민간위탁)" } },
{ name: "operCn", fieldName: "operCn", header: { text: "운영주체\n(자체/공기업/\n민간위탁)" } },
{
name: "wholNope",
fieldName: "wholNope",
@@ -222,8 +222,8 @@ const rawExcretaTreatmentFacilityList = [
numberFormat: "#,##0",
},
{
name: "sftyAcdntEvntcsCnt",
fieldName: "sftyAcdntEvntcsCnt",
name: "sftyAcdntNocs",
fieldName: "sftyAcdntNocs",
header: { text: "안전사고\n건수\n(건/인/년)" },
footer: footerDecimal1ArrayByDivision,
valueType: ValueType.NUMBER,
@@ -242,48 +242,48 @@ const rawExcretaTreatmentFacilityList = [
"displayYear",
"fcltNm",
"fcltPstnCn",
"telNo",
"telnoCn",
"cmptnStrtYmd",
"oprtngStrtYmd",
"wholPjtcoAmt",
"prcsFcltCpct",
"cpct",
"oprtngDayCnt",
"prcsMthdExpln",
"fcltCpct",
"excrFcltPrcqty",
"fcltOprtngDayCnt",
"prcsExpln",
"linkTmplntCn",
"linkPrcsQnt",
{
name: "inflwWqGroup",
header: { text: "유입수질(mg/L, 개/mL)" },
items: [
"inflwBodWqVl",
"inflwTocWqVl",
"inflwSsWqVl",
"inflwTnWqVl",
"inflwTpWqVl",
"inflwClfgCnt",
"inflwWqBod",
"inflwWqTorgcb",
"inflwWqSpsld",
"inflwWqDtn",
"inflwWqTph",
"fcltInflwClfgCnt",
],
},
{
name: "dschgWqGroup",
header: { text: "방류수질(mg/L, 개/mL)" },
items: [
"dschgBodWqVl",
"dschgTocWqVl",
"dschgSsWqVl",
"dschgTnWqVl",
"dschgTpWqVl",
"dschgClfgCnt",
"dschgWqBod",
"dschgWqTorgcb",
"dschgWqSpsld",
"dschgWqDtn",
"dschgWqTph",
"fcltDschgClfgCnt",
],
},
{
name: "wtrAreaGroup",
header: { text: "방류수역" },
items: ["wtsysNm", "trbtrNm", "msirbCn", "ssirbCn"],
items: ["fcltWtsysNm", "fcltTrbtrNm", "msirbCn", "ssirbCn"],
},
"operMthdCdCn",
"operCn",
"wholNope",
"sftyAcdntEvntcsCnt",
"sftyAcdntNocs",
],
},
];
@@ -87,29 +87,29 @@ const rawPrivateSewageList = [
fixedColumns: 2,
columns: [
...reviewAddressColumns,
intCol("wholDrtwPrcsFcltCnt", "총계"),
intCol("wholStaaCnt", "계"),
intCol("step1StaaPrcsQnt", "2이하"),
intCol("step2StaaPrcsQnt", "3~10"),
intCol("step3StaaPrcsQnt", "11~20"),
intCol("step4StaaPrcsQnt", "21~50"),
intCol("step5StaaPrcsQnt", "51~100"),
intCol("step6StaaPrcsQnt", "101~500"),
intCol("step7StaaPrcsQnt", "501이상"),
intCol("staaExcpWhol", "계"),
intCol("step1StaaExcpPrcsQnt", "2이하"),
intCol("step2StaaExcpPrcsQnt", "3~10"),
intCol("step3StaaExcpPrcsQnt", "11~20"),
intCol("step4StaaExcpPrcsQnt", "21~50"),
intCol("step5StaaExcpPrcsQnt", "51~100"),
intCol("step6StaaExcpPrcsQnt", "101~500"),
intCol("step7StaaExcpPrcsQnt", "501이상"),
intCol("wholSwgdplFcltCnt", "총계"),
intCol("wholStaaPrcqty", "계"),
intCol("frlvlStaaPrcqty", "2이하"),
intCol("sclvlStaaPrcqty", "3~10"),
intCol("thlvlStaaPrcqty", "11~20"),
intCol("folvlStaaPrcqty", "21~50"),
intCol("filvlStaaPrcqty", "51~100"),
intCol("sxlvlStaaPrcqty", "101~500"),
intCol("svlvlStaaPrcqty", "501이상"),
intCol("staaOtsdWholPrcqty", "계"),
intCol("frlvlStaaOtsdPrcqty", "2이하"),
intCol("sclvlStaaOtsdPrcqty", "3~10"),
intCol("thlvlStaaOtsdPrcqty", "11~20"),
intCol("folvlStaaOtsdPrcqty", "21~50"),
intCol("filvlStaaOtsdPrcqty", "51~100"),
intCol("sxlvlStaaOtsdPrcqty", "101~500"),
intCol("svlvlStaaOtsdPrcqty", "501이상"),
{ name: "rmrk", fieldName: "rmrk", header: { text: "비고" } },
],
columnLayout: [
reviewAddressLayout,
"displayYear",
"wholDrtwPrcsFcltCnt",
"wholSwgdplFcltCnt",
{
name: "privateSewageFacilityGroup",
header: { text: "오수처리시설" },
@@ -118,28 +118,28 @@ const rawPrivateSewageList = [
name: "insideGroup",
header: { text: "하수처리구역 내(㎥/일)" },
items: [
"wholStaaCnt",
"step1StaaPrcsQnt",
"step2StaaPrcsQnt",
"step3StaaPrcsQnt",
"step4StaaPrcsQnt",
"step5StaaPrcsQnt",
"step6StaaPrcsQnt",
"step7StaaPrcsQnt",
"wholStaaPrcqty",
"frlvlStaaPrcqty",
"sclvlStaaPrcqty",
"thlvlStaaPrcqty",
"folvlStaaPrcqty",
"filvlStaaPrcqty",
"sxlvlStaaPrcqty",
"svlvlStaaPrcqty",
],
},
{
name: "outsideGroup",
header: { text: "하수처리구역 외(㎥/일)" },
items: [
"staaExcpWhol",
"step1StaaExcpPrcsQnt",
"step2StaaExcpPrcsQnt",
"step3StaaExcpPrcsQnt",
"step4StaaExcpPrcsQnt",
"step5StaaExcpPrcsQnt",
"step6StaaExcpPrcsQnt",
"step7StaaExcpPrcsQnt",
"staaOtsdWholPrcqty",
"frlvlStaaOtsdPrcqty",
"sclvlStaaOtsdPrcqty",
"thlvlStaaOtsdPrcqty",
"folvlStaaOtsdPrcqty",
"filvlStaaOtsdPrcqty",
"sxlvlStaaOtsdPrcqty",
"svlvlStaaOtsdPrcqty",
],
},
],
@@ -154,59 +154,59 @@ const rawPrivateSewageList = [
fixedColumns: 2,
columns: [
...reviewAddressColumns,
intCol("grssFcltCnt", "총 시설 수\n(A+D)"),
intCol("staaInsdWhol", "총계\nA=(B+C)/2"),
intCol("staaInsdPrcsCpctByWhol", "계(C)"),
intCol("staaInsdSttkNprsflCnt", "자연유하"),
intCol("step1StaaInsdSttkFrcCnt", "강제펌핑식"),
intCol("staaInsdSprktpFltrtbCnt", "살수여상"),
intCol("staaInsdAertMthdCnt", "폭기방법"),
intCol("staaInsdCntcAertCnt", "접촉폭기"),
intCol("wholFcltCnt", "총 시설 수\n(A+D)"),
intCol("staaInsdWholCnt", "총계\nA=(B+C)/2"),
intCol("staaInsdCpctSeWholCnt", "계(C)"),
intCol("staaInsdSpctnkNatrCnt", "자연유하"),
intCol("staaInsdSpctnkFrcCnt", "강제펌핑식"),
intCol("staaInsdSprklFiltrCnt", "살수여상"),
intCol("staaInsdAirCnt", "폭기방법"),
intCol("staaInsdCntcAirCnt", "접촉폭기"),
intCol("staaInsdEtcCnt", "기타"),
intCol("step1StaaInsdNope", "10인조\n이하"),
intCol("step2StaaInsdNope", "11~20"),
intCol("step3StaaInsdNope", "21~30"),
intCol("step4StaaInsdNope", "31~50"),
intCol("step5StaaInsdNope", "51~199"),
intCol("step6StaaInsdNope", "200~499"),
intCol("step7StaaInsdNope", "500~999"),
intCol("step8StaaInsdNope", "1,000이상"),
intCol("staaExcpWhol", "총계\nD=(E+F)/2"),
intCol("staaExcpPrcsCpctByWhol", "계(F)"),
intCol("staaExcpSttkNprsflCnt", "자연유하"),
intCol("step1StaaExcpSttkFrcCnt", "강제펌핑식"),
intCol("staaExcpSprktpFltrtbCnt", "살수여상"),
intCol("staaExcpAertMthdCnt", "폭기방법"),
intCol("staaExcpCntcAertCnt", "접촉폭기"),
intCol("staaExcpEtcCnt", "기타"),
intCol("step1StaaExcpNope", "10인조\n이하"),
intCol("step2StaaExcpNope", "11~20"),
intCol("step3StaaExcpNope", "21~30"),
intCol("step4StaaExcpNope", "31~50"),
intCol("step5StaaExcpNope", "51~199"),
intCol("step6StaaExcpNope", "200~499"),
intCol("step7StaaExcpNope", "500~999"),
intCol("step8StaaExcpNope", "1,000이상"),
intCol("frlvlStaaInsdNope", "10인조\n이하"),
intCol("sclvlStaaInsdNope", "11~20"),
intCol("thlvlStaaInsdNope", "21~30"),
intCol("folvlStaaInsdNope", "31~50"),
intCol("filvlStaaInsdNope", "51~199"),
intCol("sxlvlStaaInsdNope", "200~499"),
intCol("svlvlStaaInsdNope", "500~999"),
intCol("eilvlStaaInsdNope", "1,000이상"),
intCol("staaOtsdWholCnt", "총계\nD=(E+F)/2"),
intCol("staaOtsdCpctSeWholCnt", "계(F)"),
intCol("staaOtsdSpctnkNatrCnt", "자연유하"),
intCol("staaOtsdSpctnkFrcCnt", "강제펌핑식"),
intCol("staaOtsdSprklFiltrCnt", "살수여상"),
intCol("staaOtsdAirCnt", "폭기방법"),
intCol("staaOtsdCntcAirCnt", "접촉폭기"),
intCol("staaOtsdEtcCnt", "기타"),
intCol("frlvlStaaOtsdNope", "10인조\n이하"),
intCol("sclvlStaaOtsdNope", "11~20"),
intCol("thlvlStaaOtsdNope", "21~30"),
intCol("folvlStaaOtsdNope", "31~50"),
intCol("filvlStaaOtsdNope", "51~199"),
intCol("sxlvlStaaOtsdNope", "200~499"),
intCol("svlvlStaaOtsdNope", "500~999"),
intCol("eilvlStaaOtsdNope", "1,000이상"),
{ name: "rmrk", fieldName: "rmrk", header: { text: "비고" } },
],
columnLayout: [
reviewAddressLayout,
"displayYear",
"grssFcltCnt",
"wholFcltCnt",
{
name: "insideSewerGroup",
header: { text: "하수처리구역 내" },
items: [
"staaInsdWhol",
"staaInsdWholCnt",
{
name: "insdBGroup",
header: { text: "계(B)" },
items: [
"staaInsdSttkNprsflCnt",
"step1StaaInsdSttkFrcCnt",
"staaInsdSprktpFltrtbCnt",
"staaInsdAertMthdCnt",
"staaInsdCntcAertCnt",
"staaInsdSpctnkNatrCnt",
"staaInsdSpctnkFrcCnt",
"staaInsdSprklFiltrCnt",
"staaInsdAirCnt",
"staaInsdCntcAirCnt",
"staaInsdEtcCnt",
],
},
@@ -214,15 +214,15 @@ const rawPrivateSewageList = [
name: "insdCGroup",
header: { text: "처리용량별" },
items: [
"staaInsdPrcsCpctByWhol",
"step1StaaInsdNope",
"step2StaaInsdNope",
"step3StaaInsdNope",
"step4StaaInsdNope",
"step5StaaInsdNope",
"step6StaaInsdNope",
"step7StaaInsdNope",
"step8StaaInsdNope",
"staaInsdCpctSeWholCnt",
"frlvlStaaInsdNope",
"sclvlStaaInsdNope",
"thlvlStaaInsdNope",
"folvlStaaInsdNope",
"filvlStaaInsdNope",
"sxlvlStaaInsdNope",
"svlvlStaaInsdNope",
"eilvlStaaInsdNope",
],
},
],
@@ -231,32 +231,32 @@ const rawPrivateSewageList = [
name: "outsideSewerGroup",
header: { text: "하수처리구역 외" },
items: [
"staaExcpWhol",
"staaOtsdWholCnt",
{
name: "excpEGroup",
header: { text: "계(E)" },
items: [
"staaExcpSttkNprsflCnt",
"step1StaaExcpSttkFrcCnt",
"staaExcpSprktpFltrtbCnt",
"staaExcpAertMthdCnt",
"staaExcpCntcAertCnt",
"staaExcpEtcCnt",
"staaOtsdSpctnkNatrCnt",
"staaOtsdSpctnkFrcCnt",
"staaOtsdSprklFiltrCnt",
"staaOtsdAirCnt",
"staaOtsdCntcAirCnt",
"staaOtsdEtcCnt",
],
},
{
name: "excpFGroup",
header: { text: "처리용량별" },
items: [
"staaExcpPrcsCpctByWhol",
"step1StaaExcpNope",
"step2StaaExcpNope",
"step3StaaExcpNope",
"step4StaaExcpNope",
"step5StaaExcpNope",
"step6StaaExcpNope",
"step7StaaExcpNope",
"step8StaaExcpNope",
"staaOtsdCpctSeWholCnt",
"frlvlStaaOtsdNope",
"sclvlStaaOtsdNope",
"thlvlStaaOtsdNope",
"folvlStaaOtsdNope",
"filvlStaaOtsdNope",
"sxlvlStaaOtsdNope",
"svlvlStaaOtsdNope",
"eilvlStaaOtsdNope",
],
},
],
@@ -280,19 +280,19 @@ const rawPrivateSewageList = [
valueType: ValueType.NUMBER,
numberFormat: "#,##0.00",
},
intCol("spctnkGrssFcltCnt", "총시설수"),
intCol("spctnkWholFcltCnt", "총시설수"),
{
name: "spctnkQnt",
fieldName: "spctnkQnt",
name: "spctnkPrcqty",
fieldName: "spctnkPrcqty",
header: { text: "처리용량\n(인/일)" },
footer: footerDecimal1ArrayByDivision,
valueType: ValueType.NUMBER,
numberFormat: "#,##0.0",
},
intCol("drtwPrcsFcltGrssFcltCnt", "총시설수"),
intCol("swgdplFcltWholFcltCnt", "총시설수"),
{
name: "drtwPrcsFcltQnt",
fieldName: "drtwPrcsFcltQnt",
name: "swgdplFcltPrcqty",
fieldName: "swgdplFcltPrcqty",
header: { text: "처리용량\n(㎥/일)" },
footer: footerDecimal1ArrayByDivision,
valueType: ValueType.NUMBER,
@@ -312,12 +312,12 @@ const rawPrivateSewageList = [
{
name: "septicTankGroup",
header: { text: "정화조" },
items: ["spctnkGrssFcltCnt", "spctnkQnt"],
items: ["spctnkWholFcltCnt", "spctnkPrcqty"],
},
{
name: "sewageTreatmentGroup",
header: { text: "오수처리시설" },
items: ["drtwPrcsFcltGrssFcltCnt", "drtwPrcsFcltQnt"],
items: ["swgdplFcltWholFcltCnt", "swgdplFcltPrcqty"],
},
],
},
@@ -88,59 +88,59 @@ export const rawPumpingStationInfoList = {
}
]
},
{ name: 'pumpstNm', fieldName: 'pumpstNm', header: { text: '펌프장명' }, mergeCells: true },
{ name: 'fcltNm', fieldName: 'fcltNm', header: { text: '펌프장명' }, mergeCells: true },
{ name: 'swtrmtFcltNm', fieldName: 'swtrmtFcltNm', header: { text: '처리장명' } },
{ name: 'pumpSeNm', fieldName: 'pumpSeNm', header: { text: '구분\n(합류/분류)' } },
{ name: 'impdFcltPstnCn', fieldName: 'impdFcltPstnCn', header: { text: '위치' } },
{ name: 'fcltPstnCn', fieldName: 'fcltPstnCn', header: { text: '위치' } },
{ name: 'oprtngStrtYmd', fieldName: 'oprtngStrtYmd', header: { text: '가동년월일' } },
{
name: 'planMltvArea', fieldName: 'planMltvArea', header: { text: '계획배수면적\n(km2)' },
name: 'planDrnar', fieldName: 'planDrnar', header: { text: '계획배수면적\n(km2)' },
footer: footerDecimal3ArrayByDivision, valueType: ValueType.NUMBER, numberFormat: '#,##0.000'
},
/* 2. 계획배수량 (m3/hr) */
{ name: 'sndyArea', fieldName: 'sndyArea', header: { text: '청천시(A)' }, footer: footerAvgDecimalArrayByDivision, valueType: ValueType.NUMBER, numberFormat: '#,##0.0' }, // finewtDrngVl -> sndyArea
{ name: 'rainArea', fieldName: 'rainArea', header: { text: '우천시(B)' }, footer: footerAvgDecimalArrayByDivision, valueType: ValueType.NUMBER, numberFormat: '#,##0.0' }, // rainwtDrngVl -> rainArea
{ name: 'exlnQnt', fieldName: 'exlnQnt', header: { text: '우수량(B-A)' }, footer: footerAvgDecimalArrayByDivision, valueType: ValueType.NUMBER, numberFormat: '#,##0.0' }, // vlWtr -> exlnQnt
{ name: 'icodwArea', fieldName: 'icodwArea', header: { text: '청천시(A)' }, footer: footerAvgDecimalArrayByDivision, valueType: ValueType.NUMBER, numberFormat: '#,##0.0' },
{ name: 'rainArea', fieldName: 'rainArea', header: { text: '우천시(B)' }, footer: footerAvgDecimalArrayByDivision, valueType: ValueType.NUMBER, numberFormat: '#,##0.0' },
{ name: 'exlnQnt', fieldName: 'exlnQnt', header: { text: '우수량(B-A)' }, footer: footerAvgDecimalArrayByDivision, valueType: ValueType.NUMBER, numberFormat: '#,##0.0' },
/* 3. 총 양수량 (m3/min) */
{ name: 'drtwPumpGrssPpqty', fieldName: 'drtwPumpGrssPpqty', header: { text: '오수펌프\n총양수량' }, footer: footerAvgDecimalArrayByDivision, valueType: ValueType.NUMBER, numberFormat: '#,##0.0' }, // pltwtrTotCpcty -> drtwPumpGrssPpqty
{ name: 'exlnPumpGrssPpqty', fieldName: 'exlnPumpGrssPpqty', header: { text: '우수펌프\n총양수량' }, footer: footerAvgDecimalArrayByDivision, valueType: ValueType.NUMBER, numberFormat: '#,##0.0' }, // rainwtrTotCpcty -> exlnPumpGrssPpqty
{ name: 'drtwPumpWholPpqty', fieldName: 'drtwPumpWholPpqty', header: { text: '오수펌프\n총양수량' }, footer: footerAvgDecimalArrayByDivision, valueType: ValueType.NUMBER, numberFormat: '#,##0.0' },
{ name: 'exlnPumpWholPpqty', fieldName: 'exlnPumpWholPpqty', header: { text: '우수펌프\n총양수량' }, footer: footerAvgDecimalArrayByDivision, valueType: ValueType.NUMBER, numberFormat: '#,##0.0' },
/* 4. 오수펌프 상세 (1, 2, 3) */
{ name: 'drtwPumpN1DmtrArea', fieldName: 'drtwPumpN1DmtrArea', header: { text: '구경(mm)' }, valueType: ValueType.NUMBER, numberFormat: '#,##0.0' }, // pltwtrPumpCalbr1 -> drtwPumpN1DmtrArea
{ name: 'drtwPumpN1Ppqty', fieldName: 'drtwPumpN1Ppqty', header: { text: '양수량\n(m3/min)' }, valueType: ValueType.NUMBER, numberFormat: '#,##0.0' }, // pltwtrPumpCpcty1 -> drtwPumpN1Ppqty
{ name: 'drtwPumpN1Cnt', fieldName: 'drtwPumpN1Cnt', header: { text: '펌프대수' }, footer: footerIntArrayByDivision, valueType: ValueType.NUMBER, numberFormat: '#,##0' }, // pltwtrPumpCnt1 -> drtwPumpN1Cnt
{ name: 'drtwPumpN1RsrvCnt', fieldName: 'drtwPumpN1RsrvCnt', header: { text: '예비대수' }, footer: footerIntArrayByDivision, valueType: ValueType.NUMBER, numberFormat: '#,##0' }, // pltwtrPumpPreparCnt1 -> drtwPumpN1RsrvCnt
{ name: 'drtwPumpN1Dmtr', fieldName: 'drtwPumpN1Dmtr', header: { text: '구경(mm)' }, valueType: ValueType.NUMBER, numberFormat: '#,##0.0' },
{ name: 'drtwPumpN1Ppqty', fieldName: 'drtwPumpN1Ppqty', header: { text: '양수량\n(m3/min)' }, valueType: ValueType.NUMBER, numberFormat: '#,##0.0' },
{ name: 'drtwPumpN1Cnt', fieldName: 'drtwPumpN1Cnt', header: { text: '펌프대수' }, footer: footerIntArrayByDivision, valueType: ValueType.NUMBER, numberFormat: '#,##0' },
{ name: 'drtwPumpN1RsrvCnt', fieldName: 'drtwPumpN1RsrvCnt', header: { text: '예비대수' }, footer: footerIntArrayByDivision, valueType: ValueType.NUMBER, numberFormat: '#,##0' },
{ name: 'drtwPumpN2DmtrArea', fieldName: 'drtwPumpN2DmtrArea', header: { text: '구경(mm)' }, valueType: ValueType.NUMBER, numberFormat: '#,##0.0' },
{ name: 'drtwPumpN2Dmtr', fieldName: 'drtwPumpN2Dmtr', header: { text: '구경(mm)' }, valueType: ValueType.NUMBER, numberFormat: '#,##0.0' },
{ name: 'drtwPumpN2Ppqty', fieldName: 'drtwPumpN2Ppqty', header: { text: '양수량\n(m3/min)' }, valueType: ValueType.NUMBER, numberFormat: '#,##0.0' },
{ name: 'drtwPumpN2Cnt', fieldName: 'drtwPumpN2Cnt', header: { text: '펌프대수' }, footer: footerIntArrayByDivision, valueType: ValueType.NUMBER, numberFormat: '#,##0' },
{ name: 'drtwPumpN2RsrvCnt', fieldName: 'drtwPumpN2RsrvCnt', header: { text: '예비대수' }, footer: footerIntArrayByDivision, valueType: ValueType.NUMBER, numberFormat: '#,##0' },
{ name: 'drtwPumpN3DmtrArea', fieldName: 'drtwPumpN3DmtrArea', header: { text: '구경(mm)' }, valueType: ValueType.NUMBER, numberFormat: '#,##0.0' },
{ name: 'drtwPumpN3Dmtr', fieldName: 'drtwPumpN3Dmtr', header: { text: '구경(mm)' }, valueType: ValueType.NUMBER, numberFormat: '#,##0.0' },
{ name: 'drtwPumpN3Ppqty', fieldName: 'drtwPumpN3Ppqty', header: { text: '양수량\n(m3/min)' }, valueType: ValueType.NUMBER, numberFormat: '#,##0.0' },
{ name: 'drtwPumpN3Cnt', fieldName: 'drtwPumpN3Cnt', header: { text: '펌프대수' }, footer: footerIntArrayByDivision, valueType: ValueType.NUMBER, numberFormat: '#,##0' },
{ name: 'drtwPumpN3RsrvCnt', fieldName: 'drtwPumpN3RsrvCnt', header: { text: '예비대수' }, footer: footerIntArrayByDivision, valueType: ValueType.NUMBER, numberFormat: '#,##0' },
/* 5. 우수펌프 상세 (1, 2, 3) - N1, N2, N3*/
{ name: 'exlnPumpN1DmtrArea', fieldName: 'exlnPumpN1DmtrArea', header: { text: '구경(mm)' }, valueType: ValueType.NUMBER, numberFormat: '#,##0.0' }, // rainwtrPumpCalbr1 -> exlnPumpN1DmtrArea
{ name: 'exlnPumpN1Ppqty', fieldName: 'exlnPumpN1Ppqty', header: { text: '양수량\n(m3/min)' }, valueType: ValueType.NUMBER, numberFormat: '#,##0.0' }, // rainwtrPumpCpcty1 -> exlnPumpN1Ppqty
{ name: 'exlnPumpN1Cnt', fieldName: 'exlnPumpN1Cnt', header: { text: '펌프대수' }, footer: footerIntArrayByDivision, valueType: ValueType.NUMBER, numberFormat: '#,##0' }, // rainwtrPumpCnt1 -> exlnPumpN1Cnt
{ name: 'exlnPumpN4RsrvCnt', fieldName: 'exlnPumpN4RsrvCnt', header: { text: '예비대수' }, footer: footerIntArrayByDivision, valueType: ValueType.NUMBER, numberFormat: '#,##0' }, // rainwtrPumpPreparCnt1 -> exlnPumpN4RsrvCnt
/* 5. 우수펌프 상세 (1, 2, 3) */
{ name: 'exlnPumpN1Dmtr', fieldName: 'exlnPumpN1Dmtr', header: { text: '구경(mm)' }, valueType: ValueType.NUMBER, numberFormat: '#,##0.0' },
{ name: 'exlnPumpN1Ppqty', fieldName: 'exlnPumpN1Ppqty', header: { text: '양수량\n(m3/min)' }, valueType: ValueType.NUMBER, numberFormat: '#,##0.0' },
{ name: 'exlnPumpN1Cnt', fieldName: 'exlnPumpN1Cnt', header: { text: '펌프대수' }, footer: footerIntArrayByDivision, valueType: ValueType.NUMBER, numberFormat: '#,##0' },
{ name: 'exlnPumpN1RsrvCnt', fieldName: 'exlnPumpN1RsrvCnt', header: { text: '예비대수' }, footer: footerIntArrayByDivision, valueType: ValueType.NUMBER, numberFormat: '#,##0' },
{ name: 'exlnPumpN2DmtrArea', fieldName: 'exlnPumpN2DmtrArea', header: { text: '구경(mm)' }, valueType: ValueType.NUMBER, numberFormat: '#,##0.0' },
{ name: 'exlnPumpN2Dmtr', fieldName: 'exlnPumpN2Dmtr', header: { text: '구경(mm)' }, valueType: ValueType.NUMBER, numberFormat: '#,##0.0' },
{ name: 'exlnPumpN2Ppqty', fieldName: 'exlnPumpN2Ppqty', header: { text: '양수량\n(m3/min)' }, valueType: ValueType.NUMBER, numberFormat: '#,##0.0' },
{ name: 'exlnPumpN2Cnt', fieldName: 'exlnPumpN2Cnt', header: { text: '펌프대수' }, footer: footerIntArrayByDivision, valueType: ValueType.NUMBER, numberFormat: '#,##0' },
{ name: 'exlnPumpN2RsrvCnt', fieldName: 'exlnPumpN2RsrvCnt', header: { text: '예비대수' }, footer: footerIntArrayByDivision, valueType: ValueType.NUMBER, numberFormat: '#,##0' },
{ name: 'exlnPumpN3DmtrArea', fieldName: 'exlnPumpN3DmtrArea', header: { text: '구경(mm)' }, valueType: ValueType.NUMBER, numberFormat: '#,##0.0' },
{ name: 'exlnPumpN3Dmtr', fieldName: 'exlnPumpN3Dmtr', header: { text: '구경(mm)' }, valueType: ValueType.NUMBER, numberFormat: '#,##0.0' },
{ name: 'exlnPumpN3Ppqty', fieldName: 'exlnPumpN3Ppqty', header: { text: '양수량\n(m3/min)' }, valueType: ValueType.NUMBER, numberFormat: '#,##0.0' },
{ name: 'exlnPumpN3Cnt', fieldName: 'exlnPumpN3Cnt', header: { text: '펌프대수' }, footer: footerIntArrayByDivision, valueType: ValueType.NUMBER, numberFormat: '#,##0' },
{ name: 'exlnPumpN3RsrvCnt', fieldName: 'exlnPumpN3RsrvCnt', header: { text: '예비대수' }, footer: footerIntArrayByDivision, valueType: ValueType.NUMBER, numberFormat: '#,##0' },
/* 6. 기타 및 운영 */
{ name: 'anlElpwrUseQnt', fieldName: 'anlElpwrUseQnt', header: { text: '연간전력사용량\n(kWh/년)' }, footer: footerAvgDecimalArrayByDivision, valueType: ValueType.NUMBER, numberFormat: '#,##0.0' }, // elcpwAmnt -> anlElpwrUseQnt
{ name: 'anlElpwrUsqty', fieldName: 'anlElpwrUsqty', header: { text: '연간전력사용량\n(kWh/년)' }, footer: footerAvgDecimalArrayByDivision, valueType: ValueType.NUMBER, numberFormat: '#,##0.0' },
{ name: 'rmrk', fieldName: 'rmrk', header: { text: '비고' } },
],
columnLayout: [
@@ -152,45 +152,45 @@ export const rawPumpingStationInfoList = {
'sggNm',
]
},
'pumpstNm',
'fcltNm',
'displayYear',
'swtrmtFcltNm',
'pumpSeNm',
'impdFcltPstnCn',
'fcltPstnCn',
'oprtngStrtYmd',
'planMltvArea',
'planDrnar',
{
name: 'groupB',
header: { text: '계획시간대최대배수량(m3/hr)' },
items: ['sndyArea', 'rainArea', 'exlnQnt'],
items: ['icodwArea', 'rainArea', 'exlnQnt'],
},
{
name: 'groupC',
header: { text: '배수능력' },
items: [
'drtwPumpGrssPpqty',
'drtwPumpWholPpqty',
{
name: 'pumpO_Detail',
header: { text: '오수펌프 상세' },
items: [
{ name: 'O1', header: { text: '오수펌프(1)' }, items: ['drtwPumpN1DmtrArea', 'drtwPumpN1Ppqty', 'drtwPumpN1Cnt', 'drtwPumpN1RsrvCnt'] },
{ name: 'O2', header: { text: '오수펌프(2)' }, items: ['drtwPumpN2DmtrArea', 'drtwPumpN2Ppqty', 'drtwPumpN2Cnt', 'drtwPumpN2RsrvCnt'] },
{ name: 'O3', header: { text: '오수펌프(3)' }, items: ['drtwPumpN3DmtrArea', 'drtwPumpN3Ppqty', 'drtwPumpN3Cnt', 'drtwPumpN3RsrvCnt'] }
{ name: 'O1', header: { text: '오수펌프(1)' }, items: ['drtwPumpN1Dmtr', 'drtwPumpN1Ppqty', 'drtwPumpN1Cnt', 'drtwPumpN1RsrvCnt'] },
{ name: 'O2', header: { text: '오수펌프(2)' }, items: ['drtwPumpN2Dmtr', 'drtwPumpN2Ppqty', 'drtwPumpN2Cnt', 'drtwPumpN2RsrvCnt'] },
{ name: 'O3', header: { text: '오수펌프(3)' }, items: ['drtwPumpN3Dmtr', 'drtwPumpN3Ppqty', 'drtwPumpN3Cnt', 'drtwPumpN3RsrvCnt'] }
]
},
'exlnPumpGrssPpqty',
'exlnPumpWholPpqty',
{
name: 'pumpW_Detail',
header: { text: '우수펌프 상세' },
items: [
{ name: 'W1', header: { text: '우수펌프(1)' }, items: ['exlnPumpN1DmtrArea', 'exlnPumpN1Ppqty', 'exlnPumpN1Cnt', 'exlnPumpN4RsrvCnt'] },
{ name: 'W2', header: { text: '우수펌프(2)' }, items: ['exlnPumpN2DmtrArea', 'exlnPumpN2Ppqty', 'exlnPumpN2Cnt', 'exlnPumpN2RsrvCnt'] },
{ name: 'W3', header: { text: '우수펌프(3)' }, items: ['exlnPumpN3DmtrArea', 'exlnPumpN3Ppqty', 'exlnPumpN3Cnt', 'exlnPumpN3RsrvCnt'] }
{ name: 'W1', header: { text: '우수펌프(1)' }, items: ['exlnPumpN1Dmtr', 'exlnPumpN1Ppqty', 'exlnPumpN1Cnt', 'exlnPumpN1RsrvCnt'] },
{ name: 'W2', header: { text: '우수펌프(2)' }, items: ['exlnPumpN2Dmtr', 'exlnPumpN2Ppqty', 'exlnPumpN2Cnt', 'exlnPumpN2RsrvCnt'] },
{ name: 'W3', header: { text: '우수펌프(3)' }, items: ['exlnPumpN3Dmtr', 'exlnPumpN3Ppqty', 'exlnPumpN3Cnt', 'exlnPumpN3RsrvCnt'] }
]
}
],
},
'anlElpwrUseQnt',
'anlElpwrUsqty',
'rmrk',
],
fixedColumns: 3,

Some files were not shown because too many files have changed in this diff Show More