Compare commits

...
185 changed files with 4654 additions and 4572 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"> <div className="data-grid-status-bubble flex flex-wrap items-center gap-x-4 gap-y-1">
<span> <span>
진행상황:{" "} 진행상황:{" "}
{statusInfo.laeSbmsnSttsCd === null || {statusInfo.lclgvSbmsnSttsCd === null ||
statusInfo.laeSbmsnSttsCd === "0" ? ( statusInfo.lclgvSbmsnSttsCd === "0" ? (
"미작성" "미작성"
) : statusInfo.laeSbmsnSttsCd === "1" ? ( ) : statusInfo.lclgvSbmsnSttsCd === "1" ? (
<span className="animate-pulse">작성중</span> <span className="animate-pulse">작성중</span>
) : statusInfo.laeSbmsnSttsCd === "2" ? ( ) : statusInfo.lclgvSbmsnSttsCd === "2" ? (
<span className="!text-[#2094fa]">제출</span> <span className="!text-[#2094fa]">제출</span>
) : statusInfo.laeSbmsnSttsCd === "3" ? ( ) : statusInfo.lclgvSbmsnSttsCd === "3" ? (
<span className="!text-[#1fd078]">승인</span> <span className="!text-[#1fd078]">승인</span>
) : statusInfo.laeSbmsnSttsCd === "4" ? ( ) : statusInfo.lclgvSbmsnSttsCd === "4" ? (
<span className="relative inline-flex pr-3 !text-[#ff6c64]"> <span className="relative inline-flex pr-3 !text-[#ff6c64]">
반려 반려
<span className="absolute -right-0.5 -top-0.5 inline-flex size-[0.6125rem]"> <span className="absolute -right-0.5 -top-0.5 inline-flex size-[0.6125rem]">
@@ -2432,21 +2432,21 @@ useEffect(() => {
</span> </span>
<span> <span>
제출일:{" "} 제출일:{" "}
{statusInfo.laeSbmsnYmd {statusInfo.lclgvSbmsnYmd
? statusInfo.laeSbmsnYmd.length === 8 && ? statusInfo.lclgvSbmsnYmd.length === 8 &&
/^\d{8}$/.test(statusInfo.laeSbmsnYmd) /^\d{8}$/.test(statusInfo.lclgvSbmsnYmd)
? `${statusInfo.laeSbmsnYmd.slice(0, 4)}-${statusInfo.laeSbmsnYmd.slice(4, 6)}-${statusInfo.laeSbmsnYmd.slice(6, 8)}` ? `${statusInfo.lclgvSbmsnYmd.slice(0, 4)}-${statusInfo.lclgvSbmsnYmd.slice(4, 6)}-${statusInfo.lclgvSbmsnYmd.slice(6, 8)}`
: statusInfo.laeSbmsnYmd : statusInfo.lclgvSbmsnYmd
: "미제출"} : "미제출"}
</span> </span>
<span> <span>
담당자:{" "} 담당자:{" "}
{statusInfo.laePicNm ? statusInfo.laePicNm : "-"} {statusInfo.lclgvPicNm ? statusInfo.lclgvPicNm : "-"}
</span> </span>
<span> <span>
연락처:{" "} 연락처:{" "}
{statusInfo.laePicTelNo {statusInfo.lclgvPicTelnoCn
? statusInfo.laePicTelNo ? statusInfo.lclgvPicTelnoCn
: "-"} : "-"}
</span> </span>
</div> </div>
@@ -70,7 +70,7 @@ export type ExceptionRejectSubmitItem = {
statsYr: string; statsYr: string;
sewerBzmnCd: string; sewerBzmnCd: string;
statsCd: string; statsCd: string;
mdfrId: string; mdfrUuid: string;
rjctOpnnCn?: string; rjctOpnnCn?: string;
}; };
@@ -84,8 +84,8 @@ function prcsYnCodeToNumber(raw: string | number | undefined): number | undefine
} }
function exceptionPrcsYnNmCellStyle({ fieldName, row }: CellStyleCallbackParams): string | undefined { function exceptionPrcsYnNmCellStyle({ fieldName, row }: CellStyleCallbackParams): string | undefined {
if (fieldName !== "prcsYnNm") return undefined; if (fieldName !== "vrfcSttsNm") return undefined;
const code = prcsYnCodeToNumber(row.prcsYn); const code = prcsYnCodeToNumber(row.vrfcSttsCd);
if (code === 0 || code === 4) return "rg-cell-vrf-prcs-bad"; if (code === 0 || code === 4) return "rg-cell-vrf-prcs-bad";
return "rg-cell-vrf-prcs-ok"; return "rg-cell-vrf-prcs-ok";
} }
@@ -96,10 +96,10 @@ const exceptionHistoryColumnInfo: ColumnInfo = {
{ name: "admdstNm", fieldName: "admdstNm", header: { text: "행정구역" }, editable: false }, { name: "admdstNm", fieldName: "admdstNm", header: { text: "행정구역" }, editable: false },
{ name: "vrfcTrgtNm", fieldName: "vrfcTrgtNm", header: { text: "검증대상" }, editable: false }, { name: "vrfcTrgtNm", fieldName: "vrfcTrgtNm", header: { text: "검증대상" }, editable: false },
{ name: "rsnExpln", fieldName: "rsnExpln", header: { text: "사유" }, editable: false }, { name: "rsnExpln", fieldName: "rsnExpln", header: { text: "사유" }, editable: false },
{ name: "nowVlCn", fieldName: "nowVlCn", header: { text: "입력값" }, editable: false }, { name: "nowCn", fieldName: "nowCn", header: { text: "입력값" }, editable: false },
{ name: "compVlCn", fieldName: "compVlCn", header: { text: "기준값" }, editable: false }, { name: "cmprCn", fieldName: "cmprCn", header: { text: "기준값" }, editable: false },
{ name: "prcsYnNm", fieldName: "prcsYnNm", header: { text: "처리여부" }, editable: false }, { name: "vrfcSttsNm", fieldName: "vrfcSttsNm", header: { text: "처리여부" }, editable: false },
{ name: "stVrfRjtComNm", fieldName: "stVrfRjtComNm", header: { text: "반려상태" }, editable: false }, { name: "statsVrfcRjtComNm", fieldName: "statsVrfcRjtComNm", header: { text: "반려상태" }, editable: false },
{ name: "prcsOpnnExpln", fieldName: "prcsOpnnExpln", header: { text: "처리의견" }, editable: false }, { name: "prcsOpnnExpln", fieldName: "prcsOpnnExpln", header: { text: "처리의견" }, editable: false },
{ name: "rjctOpnnCn", fieldName: "rjctOpnnCn", header: { text: "반려의견" }, editable: false }, { name: "rjctOpnnCn", fieldName: "rjctOpnnCn", header: { text: "반려의견" }, editable: false },
{ name: "regDt", fieldName: "regDt", header: { text: "등록일시" }, editable: false }, { name: "regDt", fieldName: "regDt", header: { text: "등록일시" }, editable: false },
@@ -112,7 +112,7 @@ const exceptionHistoryColumnInfo: ColumnInfo = {
width: 104, width: 104,
styleName: "rg-cell-reject-mini-btn", 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 }, { name: "vrfcSn", fieldName: "vrfcSn", header: { text: "vrfcSn" }, editable: false, visible: false },
], ],
columnLayout: [ columnLayout: [
@@ -120,16 +120,16 @@ const exceptionHistoryColumnInfo: ColumnInfo = {
"admdstNm", "admdstNm",
"vrfcTrgtNm", "vrfcTrgtNm",
"rsnExpln", "rsnExpln",
"nowVlCn", "nowCn",
"compVlCn", "cmprCn",
"prcsYnNm", "vrfcSttsNm",
"stVrfRjtComNm", "statsVrfcRjtComNm",
"prcsOpnnExpln", "prcsOpnnExpln",
"rjctOpnnCn", "rjctOpnnCn",
"regDt", "regDt",
"mdfcnDt", "mdfcnDt",
"individualReject", "individualReject",
"prcsYn", "vrfcSttsCd",
"vrfcSn", "vrfcSn",
], ],
}; };
@@ -316,13 +316,13 @@ export function ExceptionProcessingHistoryDialog({
admdstNm: item.admdstNm ?? item.sggNm ?? "-", admdstNm: item.admdstNm ?? item.sggNm ?? "-",
vrfcTrgtNm: item.vrfcTrgtNm, vrfcTrgtNm: item.vrfcTrgtNm,
rsnExpln: item.rsnExpln, rsnExpln: item.rsnExpln,
nowVlCn: item.nowVlCn ?? "-", nowCn: item.nowCn ?? "-",
compVlCn: item.compVlCn ?? "-", cmprCn: item.cmprCn ?? "-",
prcsYnNm: item.prcsYnNm ?? "-", vrfcSttsNm: item.vrfcSttsNm ?? "-",
stVrfRjtComNm: item.stVrfRjtComNm ?? "-", statsVrfcRjtComNm: item.statsVrfcRjtComNm ?? "-",
prcsOpnnExpln: item.prcsOpnnExpln ?? "-", prcsOpnnExpln: item.prcsOpnnExpln ?? "-",
rjctOpnnCn: item.rjctOpnnCn ?? "-", rjctOpnnCn: item.rjctOpnnCn ?? "-",
prcsYn: item.prcsYn ?? "", vrfcSttsCd: item.vrfcSttsCd ?? "",
regDt: (item.regDt ?? "").slice(0, 16), regDt: (item.regDt ?? "").slice(0, 16),
mdfcnDt: (item.mdfcnDt ?? "").slice(0, 16), mdfcnDt: (item.mdfcnDt ?? "").slice(0, 16),
individualReject: "개별 반려", individualReject: "개별 반려",
@@ -401,7 +401,7 @@ export function ExceptionProcessingHistoryDialog({
alert("사용자 정보를 불러오지 못했습니다."); alert("사용자 정보를 불러오지 못했습니다.");
return; return;
} }
const mdfrId = userInfo.userUnqId; const mdfrUuid = userInfo.userUnqId;
const trimmedReason = rejectReasonText.trim(); const trimmedReason = rejectReasonText.trim();
const items: ReviewInputSaveRequest[] = pendingRejectVrfcSns.map((vrfcSn) => ({ const items: ReviewInputSaveRequest[] = pendingRejectVrfcSns.map((vrfcSn) => ({
@@ -409,7 +409,7 @@ export function ExceptionProcessingHistoryDialog({
statsYr: queryContext.statsYr, statsYr: queryContext.statsYr,
sewerBzmnCd: queryContext.sewerBzmnCd, sewerBzmnCd: queryContext.sewerBzmnCd,
statsCd: queryContext.statsCd, statsCd: queryContext.statsCd,
mdfrId, mdfrUuid,
vrfcSn: String(vrfcSn), vrfcSn: String(vrfcSn),
...(trimmedReason ? { rjctOpnnCn: trimmedReason } : {}), ...(trimmedReason ? { rjctOpnnCn: trimmedReason } : {}),
})); }));
+5 -2
View File
@@ -145,6 +145,9 @@ const SearchForm = (props: SearchFormProps = {}) => {
const currentYear = new Date().getFullYear(); const currentYear = new Date().getFullYear();
const defaultYear = currentYear - 1; const defaultYear = currentYear - 1;
const isInput = Boolean(props.isInput); const isInput = Boolean(props.isInput);
const isDetailInputId = props.tabKey
? `${props.tabKey}-isDetail`
: "isDetail";
const sidoListKind = isInput ? "input" : "default"; const sidoListKind = isInput ? "input" : "default";
const { data: sidoList } = useSWR<ApiResponse<SearchCondition>>( const { data: sidoList } = useSWR<ApiResponse<SearchCondition>>(
@@ -479,12 +482,12 @@ const SearchForm = (props: SearchFormProps = {}) => {
<div className="flex items-center gap-2"> <div className="flex items-center gap-2">
<Label <Label
className="cursor-pointer text-label" className="cursor-pointer text-label"
htmlFor="isDetail" htmlFor={isDetailInputId}
> >
세부 데이터 포함 세부 데이터 포함
</Label> </Label>
<Checkbox <Checkbox
id="isDetail" id={isDetailInputId}
checked={values.isDetail} checked={values.isDetail}
onCheckedChange={(value) => onCheckedChange={(value) =>
setValues({ setValues({
@@ -399,7 +399,7 @@ const SidoSggFacilityNameSearchForm = ({
swtrmtFcltNm: String(selectedFacilityRow.fcltNm ?? ""), swtrmtFcltNm: String(selectedFacilityRow.fcltNm ?? ""),
prcsFcltCpct: Number(selectedFacilityRow.fcltCpct ?? 0), prcsFcltCpct: Number(selectedFacilityRow.fcltCpct ?? 0),
sewerBzmnCd: initialSearchValues?.bsnmCd?.trim() ?? "", sewerBzmnCd: initialSearchValues?.bsnmCd?.trim() ?? "",
userId: userInfo.userUnqId, userUuid: userInfo.userUnqId,
saveList, saveList,
deleteList, deleteList,
}; };
@@ -101,9 +101,9 @@ const verificationSubmitResultColumnInfo: ColumnInfo = {
{ name: "fcltNm", fieldName: "fcltNm", header: { text: "시설명" }, editable: false }, { name: "fcltNm", fieldName: "fcltNm", header: { text: "시설명" }, editable: false },
{ name: "vrfcTrgtNm", fieldName: "vrfcTrgtNm", header: { text: "검증대상" }, editable: false }, { name: "vrfcTrgtNm", fieldName: "vrfcTrgtNm", header: { text: "검증대상" }, editable: false },
{ name: "rsnExpln", fieldName: "rsnExpln", header: { text: "사유" }, editable: false }, { name: "rsnExpln", fieldName: "rsnExpln", header: { text: "사유" }, editable: false },
{ name: "nowVlCn", fieldName: "nowVlCn", header: { text: "입력값" }, editable: false }, { name: "nowCn", fieldName: "nowCn", header: { text: "입력값" }, editable: false },
{ name: "compVlCn", fieldName: "compVlCn", header: { text: "기준값" }, editable: false }, { name: "cmprCn", fieldName: "cmprCn", header: { text: "기준값" }, editable: false },
{ name: "prcsYn", fieldName: "prcsYn", header: { text: "처리여부" }, editable: false }, { name: "vrfcSttsNm", fieldName: "vrfcSttsNm", header: { text: "처리여부" }, editable: false },
{ name: "regDt", fieldName: "regDt", header: { text: "등록일시" }, editable: false }, { name: "regDt", fieldName: "regDt", header: { text: "등록일시" }, editable: false },
{ name: "mdfcnDt", fieldName: "mdfcnDt", header: { text: "갱신일시" }, editable: false }, { name: "mdfcnDt", fieldName: "mdfcnDt", header: { text: "갱신일시" }, editable: false },
{ {
@@ -120,9 +120,9 @@ const verificationSubmitResultColumnInfo: ColumnInfo = {
"fcltNm", "fcltNm",
"vrfcTrgtNm", "vrfcTrgtNm",
"rsnExpln", "rsnExpln",
"nowVlCn", "nowCn",
"compVlCn", "cmprCn",
"prcsYn", "vrfcSttsNm",
"regDt", "regDt",
"mdfcnDt", "mdfcnDt",
"prcsOpnnExpln", "prcsOpnnExpln",
@@ -211,9 +211,9 @@ export function VerificationResultDialog({
fcltNm: item.fcltNm ?? "-", fcltNm: item.fcltNm ?? "-",
vrfcTrgtNm: item.vrfcTrgtNm, vrfcTrgtNm: item.vrfcTrgtNm,
rsnExpln: item.rsnExpln, rsnExpln: item.rsnExpln,
nowVlCn: item.nowVlCn ?? "-", nowCn: item.nowCn ?? "-",
compVlCn: item.compVlCn ?? "-", cmprCn: item.cmprCn ?? "-",
prcsYn: item.prcsYnNm ?? PRCS_YN_LABEL[item.prcsYn] ?? item.prcsYn, vrfcSttsNm: item.vrfcSttsNm ?? PRCS_YN_LABEL[item.vrfcSttsCd] ?? item.vrfcSttsCd,
regDt: (item.regDt ?? "").slice(0, 16), regDt: (item.regDt ?? "").slice(0, 16),
mdfcnDt: (item.mdfcnDt ?? "").slice(0, 16), mdfcnDt: (item.mdfcnDt ?? "").slice(0, 16),
prcsOpnnExpln: item.prcsOpnnExpln ?? "", prcsOpnnExpln: item.prcsOpnnExpln ?? "",
@@ -351,7 +351,7 @@ export function VerificationResultDialog({
sewerBzmnCd: stableQueryContext.sewerBzmnCd, sewerBzmnCd: stableQueryContext.sewerBzmnCd,
statsYr: stableQueryContext.statsYr, statsYr: stableQueryContext.statsYr,
statsCd: stableQueryContext.statsCd, statsCd: stableQueryContext.statsCd,
userId: userInfo.userUnqId, userUuid: userInfo.userUnqId,
exceptionList: payload, exceptionList: payload,
}); });
if (response.status === "success") { if (response.status === "success") {
@@ -113,7 +113,7 @@ function syncCheckedMapFromGrid(
if (!entry) continue; if (!entry) continue;
const sn = Number(entry.vrfcSn); const sn = Number(entry.vrfcSn);
if (!Number.isFinite(sn)) continue; if (!Number.isFinite(sn)) continue;
next.set(sn, String(entry.prcsYn ?? "")); next.set(sn, String(entry.vrfcSttsCd ?? ""));
} }
return next; return next;
} }
@@ -124,15 +124,15 @@ function selectionHasNonExceptionResetAllowed(
): boolean { ): boolean {
for (const [vrfcSn, storedPrcsYn] of map) { for (const [vrfcSn, storedPrcsYn] of map) {
const onPage = currentEntries.find((e) => Number(e.vrfcSn) === vrfcSn); 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; if (!canExceptionReset(prcsYn)) return true;
} }
return false; return false;
} }
function verificationPrcsYnNmCellStyle({ fieldName, row }: CellStyleCallbackParams): string | undefined { function verificationPrcsYnNmCellStyle({ fieldName, row }: CellStyleCallbackParams): string | undefined {
if (fieldName !== "prcsYnNm") return undefined; if (fieldName !== "vrfcSttsNm") return undefined;
const code = prcsYnCodeToNumber(row.prcsYn); const code = prcsYnCodeToNumber(row.vrfcSttsCd);
if (code === 0 || code === 3) return "rg-cell-vrf-prcs-bad"; if (code === 0 || code === 3) return "rg-cell-vrf-prcs-bad";
return "rg-cell-vrf-prcs-ok"; return "rg-cell-vrf-prcs-ok";
} }
@@ -144,15 +144,15 @@ const verificationResultColumnInfo: ColumnInfo = {
{ name: "fcltNm", fieldName: "fcltNm", header: { text: "시설명" }, editable: false }, { name: "fcltNm", fieldName: "fcltNm", header: { text: "시설명" }, editable: false },
{ name: "vrfcTrgtNm", fieldName: "vrfcTrgtNm", header: { text: "검증대상" }, editable: false }, { name: "vrfcTrgtNm", fieldName: "vrfcTrgtNm", header: { text: "검증대상" }, editable: false },
{ name: "rsnExpln", fieldName: "rsnExpln", header: { text: "사유" }, editable: false }, { name: "rsnExpln", fieldName: "rsnExpln", header: { text: "사유" }, editable: false },
{ name: "nowVlCn", fieldName: "nowVlCn", header: { text: "입력값" }, editable: false }, { name: "nowCn", fieldName: "nowCn", header: { text: "입력값" }, editable: false },
{ name: "compVlCn", fieldName: "compVlCn", header: { text: "기준값" }, editable: false }, { name: "cmprCn", fieldName: "cmprCn", header: { text: "기준값" }, editable: false },
{ name: "prcsYnNm", fieldName: "prcsYnNm", header: { text: "처리여부" }, editable: false }, { name: "vrfcSttsNm", fieldName: "vrfcSttsNm", header: { text: "처리여부" }, editable: false },
{ name: "stVrfRjtComNm", fieldName: "stVrfRjtComNm", header: { text: "반려상태" }, editable: false }, { name: "statsVrfcRjtComNm", fieldName: "statsVrfcRjtComNm", header: { text: "반려상태" }, editable: false },
{ name: "prcsOpnnExpln", fieldName: "prcsOpnnExpln", header: { text: "처리의견" }, editable: false }, { name: "prcsOpnnExpln", fieldName: "prcsOpnnExpln", header: { text: "처리의견" }, editable: false },
{ name: "rjctOpnnCn", fieldName: "rjctOpnnCn", header: { text: "반려의견" }, editable: false }, { name: "rjctOpnnCn", fieldName: "rjctOpnnCn", header: { text: "반려의견" }, editable: false },
{ name: "regDt", fieldName: "regDt", header: { text: "등록일시" }, editable: false }, { name: "regDt", fieldName: "regDt", header: { text: "등록일시" }, editable: false },
{ name: "mdfcnDt", fieldName: "mdfcnDt", 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 }, { name: "vrfcSn", fieldName: "vrfcSn", header: { text: "검증일련번호" }, editable: false, visible: false },
], ],
columnLayout: [ columnLayout: [
@@ -161,15 +161,15 @@ const verificationResultColumnInfo: ColumnInfo = {
"fcltNm", "fcltNm",
"vrfcTrgtNm", "vrfcTrgtNm",
"rsnExpln", "rsnExpln",
"nowVlCn", "nowCn",
"compVlCn", "cmprCn",
"prcsYnNm", "vrfcSttsNm",
"stVrfRjtComNm", "statsVrfcRjtComNm",
"prcsOpnnExpln", "prcsOpnnExpln",
"rjctOpnnCn", "rjctOpnnCn",
"regDt", "regDt",
"mdfcnDt", "mdfcnDt",
"prcsYn", "vrfcSttsCd",
"vrfcSn", "vrfcSn",
], ],
}; };
@@ -385,13 +385,13 @@ export function VerificationResultHistoryDialog({
fcltNm: item.fcltNm ?? "-", fcltNm: item.fcltNm ?? "-",
vrfcTrgtNm: item.vrfcTrgtNm, vrfcTrgtNm: item.vrfcTrgtNm,
rsnExpln: item.rsnExpln, rsnExpln: item.rsnExpln,
nowVlCn: item.nowVlCn ?? "-", nowCn: item.nowCn ?? "-",
compVlCn: item.compVlCn ?? "-", cmprCn: item.cmprCn ?? "-",
prcsYnNm: item.prcsYnNm ?? "-", vrfcSttsNm: item.vrfcSttsNm ?? "-",
stVrfRjtComNm: item.stVrfRjtComNm ?? "-", statsVrfcRjtComNm: item.statsVrfcRjtComNm ?? "-",
prcsOpnnExpln: item.prcsOpnnExpln ?? "-", prcsOpnnExpln: item.prcsOpnnExpln ?? "-",
rjctOpnnCn: item.rjctOpnnCn ?? "-", rjctOpnnCn: item.rjctOpnnCn ?? "-",
prcsYn: item.prcsYn ?? "", vrfcSttsCd: item.vrfcSttsCd ?? "",
regDt: (item.regDt ?? "").slice(0, 16), regDt: (item.regDt ?? "").slice(0, 16),
mdfcnDt: (item.mdfcnDt ?? "").slice(0, 16), mdfcnDt: (item.mdfcnDt ?? "").slice(0, 16),
}; };
@@ -434,10 +434,10 @@ export function VerificationResultHistoryDialog({
} }
setCheckedVrfcByTab((prev) => ({ ...prev, [tab]: syncedMap })); setCheckedVrfcByTab((prev) => ({ ...prev, [tab]: syncedMap }));
const vrfcSnList = Array.from(syncedMap.keys()); const vrfcSnList = Array.from(syncedMap.keys());
let mdfrId: string; let mdfrUuid: string;
try { try {
const userInfo = await getUserInfo(); const userInfo = await getUserInfo();
mdfrId = userInfo.userUnqId; mdfrUuid = userInfo.userUnqId;
} catch { } catch {
alert("사용자 정보를 불러오지 못했습니다."); alert("사용자 정보를 불러오지 못했습니다.");
return; return;
@@ -449,7 +449,7 @@ export function VerificationResultHistoryDialog({
statsYr: stableQueryContext.statsYr, statsYr: stableQueryContext.statsYr,
sewerBzmnCd: stableQueryContext.sewerBzmnCd, sewerBzmnCd: stableQueryContext.sewerBzmnCd,
statsCd: stableQueryContext.statsCd, statsCd: stableQueryContext.statsCd,
mdfrId, mdfrUuid,
vrfcSnList, vrfcSnList,
}); });
if (response.status !== "success") { if (response.status !== "success") {
@@ -512,13 +512,13 @@ export function VerificationResultHistoryDialog({
if (!entry) return; if (!entry) return;
const vrfcSn = Number(entry.vrfcSn); const vrfcSn = Number(entry.vrfcSn);
if (!Number.isFinite(vrfcSn)) return; if (!Number.isFinite(vrfcSn)) return;
if (checked && !canExceptionReset(entry.prcsYn)) { if (checked && !canExceptionReset(entry.vrfcSttsCd)) {
alert(EXCEPTION_RESET_ONLY_PRCS_YN_2_MESSAGE); alert(EXCEPTION_RESET_ONLY_PRCS_YN_2_MESSAGE);
uncheckGridRow(gridRef, itemIndex); uncheckGridRow(gridRef, itemIndex);
return; return;
} }
updateCheckedVrfcForTab(tab, (map) => { updateCheckedVrfcForTab(tab, (map) => {
if (checked) map.set(vrfcSn, String(entry.prcsYn ?? "")); if (checked) map.set(vrfcSn, String(entry.vrfcSttsCd ?? ""));
else map.delete(vrfcSn); else map.delete(vrfcSn);
}); });
}} }}
@@ -531,14 +531,14 @@ export function VerificationResultHistoryDialog({
map.delete(vrfcSn); map.delete(vrfcSn);
return; return;
} }
if (canExceptionReset(entry.prcsYn)) { if (canExceptionReset(entry.vrfcSttsCd)) {
map.set(vrfcSn, String(entry.prcsYn ?? "")); map.set(vrfcSn, String(entry.vrfcSttsCd ?? ""));
} else { } else {
uncheckGridRow(gridRef, itemIndex); 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); alert(EXCEPTION_RESET_ONLY_PRCS_YN_2_MESSAGE);
} }
}} }}
@@ -379,8 +379,8 @@ const VerificationSelectionReport = ({
<div className="flex justify-between text-lg text-muted-foreground"> <div className="flex justify-between text-lg text-muted-foreground">
<span>{formatReportItemRegion(item)}</span> <span>{formatReportItemRegion(item)}</span>
<span> <span>
현재: {item.nowVlCn ?? "-"} / 비교:{" "} 현재: {item.nowCn ?? "-"} / 비교:{" "}
{item.compVlCn ?? "-"} {item.cmprCn ?? "-"}
</span> </span>
</div> </div>
</div> </div>
@@ -93,8 +93,8 @@ const computeTabEnterable = (
statusInfo: SewerageStatusInfo | null | undefined, statusInfo: SewerageStatusInfo | null | undefined,
periodEnterable: boolean, periodEnterable: boolean,
): boolean => { ): boolean => {
if (statusInfo?.laeSbmsnSttsCd) { if (statusInfo?.lclgvSbmsnSttsCd) {
if (["2", "3"].includes(statusInfo.laeSbmsnSttsCd)) { if (["2", "3"].includes(statusInfo.lclgvSbmsnSttsCd)) {
return false; return false;
} }
return periodEnterable; return periodEnterable;
@@ -130,7 +130,7 @@ function computeTabToolbarSnapshot(
): TabToolbarSnapshot { ): TabToolbarSnapshot {
const gugunOk = buildGugunOkForToolbar(searchContext); const gugunOk = buildGugunOkForToolbar(searchContext);
const enterable = computeTabEnterable(statusInfo, periodEnterable); const enterable = computeTabEnterable(statusInfo, periodEnterable);
const isSubmitted = statusInfo?.laeSbmsnSttsCd === "2"; const isSubmitted = statusInfo?.lclgvSbmsnSttsCd === "2";
const showSaveInToolbar = (enterable || isAdminInfo) && periodEnterable && gugunOk; const showSaveInToolbar = (enterable || isAdminInfo) && periodEnterable && gugunOk;
const showEnterableToolbarButtons = enterable && gugunOk; const showEnterableToolbarButtons = enterable && gugunOk;
const showSubmittedInInputPeriodToolbar = const showSubmittedInInputPeriodToolbar =
@@ -257,35 +257,35 @@ function buildExcretaTreatmentFacilitySaveItem(
fcltSn: nullableTrimmedString(row.fcltSn), fcltSn: nullableTrimmedString(row.fcltSn),
fcltNm: nullableTrimmedString(row.fcltNm), fcltNm: nullableTrimmedString(row.fcltNm),
fcltPstnCn: nullableTrimmedString(row.fcltPstnCn), fcltPstnCn: nullableTrimmedString(row.fcltPstnCn),
telNo: nullableTrimmedString(row.telNo), telnoCn: nullableTrimmedString(row.telnoCn),
cmptnStrtYmd: toApiYmd(row.cmptnStrtYmd), cmptnStrtYmd: toApiYmd(row.cmptnStrtYmd),
oprtngStrtYmd: toApiYmd(row.oprtngStrtYmd), oprtngStrtYmd: toApiYmd(row.oprtngStrtYmd),
wholPjtcoAmt: toGridNumber(row.wholPjtcoAmt), wholPjtcoAmt: toGridNumber(row.wholPjtcoAmt),
prcsFcltCpct: toGridNumber(row.prcsFcltCpct), fcltCpct: toGridNumber(row.fcltCpct),
cpct: toGridNumber(row.cpct), excrFcltPrcqty: toGridNumber(row.excrFcltPrcqty),
oprtngDayCnt: toGridNumber(row.oprtngDayCnt), fcltOprtngDayCnt: toGridNumber(row.fcltOprtngDayCnt),
prcsMthdExpln: nullableTrimmedString(row.prcsMthdExpln), prcsExpln: nullableTrimmedString(row.prcsExpln),
linkTmplntCn: nullableTrimmedString(row.linkTmplntCn), linkTmplntCn: nullableTrimmedString(row.linkTmplntCn),
linkPrcsQnt: toGridNumber(row.linkPrcsQnt), linkPrcsQnt: toGridNumber(row.linkPrcsQnt),
inflwBodWqVl: toGridNumber(row.inflwBodWqVl), inflwWqBod: toGridNumber(row.inflwWqBod),
inflwTocWqVl: toGridNumber(row.inflwTocWqVl), inflwWqTorgcb: toGridNumber(row.inflwWqTorgcb),
inflwSsWqVl: toGridNumber(row.inflwSsWqVl), inflwWqSpsld: toGridNumber(row.inflwWqSpsld),
inflwTnWqVl: toGridNumber(row.inflwTnWqVl), inflwWqDtn: toGridNumber(row.inflwWqDtn),
inflwTpWqVl: toGridNumber(row.inflwTpWqVl), inflwWqTph: toGridNumber(row.inflwWqTph),
inflwClfgCnt: toGridNumber(row.inflwClfgCnt), fcltInflwClfgCnt: toGridNumber(row.fcltInflwClfgCnt),
dschgBodWqVl: toGridNumber(row.dschgBodWqVl), dschgWqBod: toGridNumber(row.dschgWqBod),
dschgTocWqVl: toGridNumber(row.dschgTocWqVl), dschgWqTorgcb: toGridNumber(row.dschgWqTorgcb),
dschgSsWqVl: toGridNumber(row.dschgSsWqVl), dschgWqSpsld: toGridNumber(row.dschgWqSpsld),
dschgTnWqVl: toGridNumber(row.dschgTnWqVl), dschgWqDtn: toGridNumber(row.dschgWqDtn),
dschgTpWqVl: toGridNumber(row.dschgTpWqVl), dschgWqTph: toGridNumber(row.dschgWqTph),
dschgClfgCnt: toGridNumber(row.dschgClfgCnt), fcltDschgClfgCnt: toGridNumber(row.fcltDschgClfgCnt),
wtsysNm: nullableTrimmedString(row.wtsysNm), fcltWtsysNm: nullableTrimmedString(row.fcltWtsysNm),
trbtrNm: nullableTrimmedString(row.trbtrNm), fcltTrbtrNm: nullableTrimmedString(row.fcltTrbtrNm),
msirbCn: nullableTrimmedString(row.msirbCn), msirbCn: nullableTrimmedString(row.msirbCn),
ssirbCn: nullableTrimmedString(row.ssirbCn), ssirbCn: nullableTrimmedString(row.ssirbCn),
operMthdCdCn: nullableTrimmedString(row.operMthdCdCn), operCn: nullableTrimmedString(row.operCn),
wholNope: toGridNumber(row.wholNope), wholNope: toGridNumber(row.wholNope),
sftyAcdntEvntcsCnt: toGridNumber(row.sftyAcdntEvntcsCnt), sftyAcdntNocs: toGridNumber(row.sftyAcdntNocs),
rmrk: nullableTrimmedString(row.rmrk), rmrk: nullableTrimmedString(row.rmrk),
}; };
} }
@@ -615,7 +615,7 @@ const ExcretaTreatmentFacilityInp = () => {
...toInputSearchRegion(sidoListRef.current, lastSearchedValues), ...toInputSearchRegion(sidoListRef.current, lastSearchedValues),
ctpvNm: lastSearchedValues.sido ?? "", ctpvNm: lastSearchedValues.sido ?? "",
statsYr: lastSearchedValues.year ?? "", statsYr: lastSearchedValues.year ?? "",
mdfrId: userInfo.userUnqId, mdfrUuid: userInfo.userUnqId,
statsCd: statsCd || EXCRETA_TREATMENT_FACILITY_STATS_CD, statsCd: statsCd || EXCRETA_TREATMENT_FACILITY_STATS_CD,
}; };
@@ -674,7 +674,7 @@ const ExcretaTreatmentFacilityInp = () => {
statsYr: lastSearchedValues.year ?? "", statsYr: lastSearchedValues.year ?? "",
ctpvNm: lastSearchedValues.sido ?? "", ctpvNm: lastSearchedValues.sido ?? "",
...toInputSearchRegion(sidoListRef.current, lastSearchedValues), ...toInputSearchRegion(sidoListRef.current, lastSearchedValues),
userId: userInfo.userUnqId, userUuid: userInfo.userUnqId,
...(isAdminInfo ? { superAdmin: "superAdmin" } : {}), ...(isAdminInfo ? { superAdmin: "superAdmin" } : {}),
noApplicable, noApplicable,
saveList, saveList,
@@ -775,15 +775,15 @@ const ExcretaTreatmentFacilityInp = () => {
statsYr: lastSearchedValues.year ?? "", statsYr: lastSearchedValues.year ?? "",
ctpvNm: lastSearchedValues.sido ?? "", ctpvNm: lastSearchedValues.sido ?? "",
...toInputSearchRegion(sidoListRef.current, lastSearchedValues), ...toInputSearchRegion(sidoListRef.current, lastSearchedValues),
userId: userInfo.userUnqId, userUuid: userInfo.userUnqId,
laePicNm: submitInfo.laePicNm, lclgvPicNm: submitInfo.lclgvPicNm,
laePicTelNo: submitInfo.laePicTelNo, lclgvPicTelnoCn: submitInfo.lclgvPicTelnoCn,
laeKbrdrDeptNm: submitInfo.laeKbrdrDeptNm, lclgvKbrdrDeptNm: submitInfo.lclgvKbrdrDeptNm,
laeKbrdrJbgdNm: submitInfo.laeKbrdrJbgdNm, lclgvKbrdrJbgdNm: submitInfo.lclgvKbrdrJbgdNm,
laeIdfrNm: submitInfo.laeIdfrNm, lclgvIdfrNm: submitInfo.lclgvIdfrNm,
laeIdfrTelNo: submitInfo.laeIdfrTelNo, lclgvIdfrTelnoCn: submitInfo.lclgvIdfrTelnoCn,
laeIdfrDeptNm: submitInfo.laeIdfrDeptNm, lclgvIdfrDeptNm: submitInfo.lclgvIdfrDeptNm,
laeIdfrJbgdNm: submitInfo.laeIdfrJbgdNm, lclgvIdfrJbgdNm: submitInfo.lclgvIdfrJbgdNm,
...(isAdminInfo ? { superAdmin: "superAdmin" } : {}), ...(isAdminInfo ? { superAdmin: "superAdmin" } : {}),
noApplicable, noApplicable,
submitList, submitList,
@@ -808,7 +808,7 @@ const ExcretaTreatmentFacilityInp = () => {
stats_cd: statsCdForSubmit, stats_cd: statsCdForSubmit,
stats_yr: lastSearchedValues.year ?? "", stats_yr: lastSearchedValues.year ?? "",
lae_sbmsn_stts_cd: lae_sbmsn_stts_cd:
statusInfo?.laeSbmsnSttsCd === "4" ? "4" : "2", statusInfo?.lclgvSbmsnSttsCd === "4" ? "4" : "2",
gen_verify_stts_cd: nvpassed ? "1" : "2", gen_verify_stts_cd: nvpassed ? "1" : "2",
hb_pass_yn: response.data?.isHbPassed, hb_pass_yn: response.data?.isHbPassed,
}; };
@@ -962,7 +962,7 @@ const ExcretaTreatmentFacilityInp = () => {
? "일반검증 - " ? "일반검증 - "
: "모집단 검증 -"; : "모집단 검증 -";
return `${prefix}${e.rsnExpln} return `${prefix}${e.rsnExpln}
(검증 기준값: ${e.compVlCn} / 현재 입력값: ${e.nowVlCn})`; (검증 기준값: ${e.cmprCn} / 현재 입력값: ${e.nowCn})`;
}) })
.filter(Boolean) .filter(Boolean)
.join("\n"); .join("\n");
@@ -1044,7 +1044,7 @@ const ExcretaTreatmentFacilityInp = () => {
{submitOk && <SubmitButton submitFunc={submitFunc} />} {submitOk && <SubmitButton submitFunc={submitFunc} />}
</> </>
)} )}
{statusInfo?.laeSbmsnSttsCd === "2" && submitOk && ( {statusInfo?.lclgvSbmsnSttsCd === "2" && submitOk && (
<CancelSubmitButton cnacelSubmitFunc={cnacelSubmitFunc} /> <CancelSubmitButton cnacelSubmitFunc={cnacelSubmitFunc} />
)} )}
{showSaveInToolbar && <SaveButton saveFunc={saveFunc} />} {showSaveInToolbar && <SaveButton saveFunc={saveFunc} />}
@@ -249,7 +249,7 @@ export function MainFacilityMappingSaveDialog({
setIsSubmitting(true); setIsSubmitting(true);
await onConfirm?.({ await onConfirm?.({
prxyBzentyNmCn: prxyBzentyNmCn.trim(), prxyBzentyNmCn: prxyBzentyNmCn.trim(),
cnsgnCstVl, cnsgnCstVl: cnsgnCstVl,
wholNope, wholNope,
prxyCtrtCn: prxyCtrtCnParam, prxyCtrtCn: prxyCtrtCnParam,
}); });
@@ -119,8 +119,8 @@ const computeTabEnterable = (
statusInfo: SewerageStatusInfo | null | undefined, statusInfo: SewerageStatusInfo | null | undefined,
periodEnterable: boolean, periodEnterable: boolean,
): boolean => { ): boolean => {
if (statusInfo?.laeSbmsnSttsCd) { if (statusInfo?.lclgvSbmsnSttsCd) {
if (["2", "3"].includes(statusInfo.laeSbmsnSttsCd)) { if (["2", "3"].includes(statusInfo.lclgvSbmsnSttsCd)) {
return false; return false;
} }
return periodEnterable; return periodEnterable;
@@ -148,7 +148,7 @@ function computeTabToolbarSnapshot(
): TabToolbarSnapshot { ): TabToolbarSnapshot {
const gugunOk = buildGugunOkForToolbar(searchContext); const gugunOk = buildGugunOkForToolbar(searchContext);
const enterable = computeTabEnterable(statusInfo, periodEnterable); const enterable = computeTabEnterable(statusInfo, periodEnterable);
const isSubmitted = statusInfo?.laeSbmsnSttsCd === "2"; const isSubmitted = statusInfo?.lclgvSbmsnSttsCd === "2";
const showSaveInToolbar = (enterable || isAdminInfo) && periodEnterable && gugunOk; const showSaveInToolbar = (enterable || isAdminInfo) && periodEnterable && gugunOk;
const showEnterableToolbarButtons = enterable && gugunOk; const showEnterableToolbarButtons = enterable && gugunOk;
const showSubmittedInInputPeriodToolbar = isSubmitted && periodEnterable && gugunOk; const showSubmittedInInputPeriodToolbar = isSubmitted && periodEnterable && gugunOk;
@@ -210,20 +210,20 @@ function buildSewageTreatFactStatusSaveList(
return currentData.map((d) => ({ return currentData.map((d) => ({
admdstCd: nullableTrimmedString(d.admdstCd), admdstCd: nullableTrimmedString(d.admdstCd),
admdstNm: nullableTrimmedString(d.admdstNm), admdstNm: nullableTrimmedString(d.admdstNm),
step1StaaPrcsQnt: formatNumber(d.step1StaaPrcsQnt, "step1StaaPrcsQnt"), frlvlStaaPrcqty: formatNumber(d.frlvlStaaPrcqty, "frlvlStaaPrcqty"),
step2StaaPrcsQnt: formatNumber(d.step2StaaPrcsQnt, "step2StaaPrcsQnt"), sclvlStaaPrcqty: formatNumber(d.sclvlStaaPrcqty, "sclvlStaaPrcqty"),
step3StaaPrcsQnt: formatNumber(d.step3StaaPrcsQnt, "step3StaaPrcsQnt"), thlvlStaaPrcqty: formatNumber(d.thlvlStaaPrcqty, "thlvlStaaPrcqty"),
step4StaaPrcsQnt: formatNumber(d.step4StaaPrcsQnt, "step4StaaPrcsQnt"), folvlStaaPrcqty: formatNumber(d.folvlStaaPrcqty, "folvlStaaPrcqty"),
step5StaaPrcsQnt: formatNumber(d.step5StaaPrcsQnt, "step5StaaPrcsQnt"), filvlStaaPrcqty: formatNumber(d.filvlStaaPrcqty, "filvlStaaPrcqty"),
step6StaaPrcsQnt: formatNumber(d.step6StaaPrcsQnt, "step6StaaPrcsQnt"), sxlvlStaaPrcqty: formatNumber(d.sxlvlStaaPrcqty, "sxlvlStaaPrcqty"),
step7StaaPrcsQnt: formatNumber(d.step7StaaPrcsQnt, "step7StaaPrcsQnt"), svlvlStaaPrcqty: formatNumber(d.svlvlStaaPrcqty, "svlvlStaaPrcqty"),
step1StaaExcpPrcsQnt: formatNumber(d.step1StaaExcpPrcsQnt, "step1StaaExcpPrcsQnt"), frlvlStaaOtsdPrcqty: formatNumber(d.frlvlStaaOtsdPrcqty, "frlvlStaaOtsdPrcqty"),
step2StaaExcpPrcsQnt: formatNumber(d.step2StaaExcpPrcsQnt, "step2StaaExcpPrcsQnt"), sclvlStaaOtsdPrcqty: formatNumber(d.sclvlStaaOtsdPrcqty, "sclvlStaaOtsdPrcqty"),
step3StaaExcpPrcsQnt: formatNumber(d.step3StaaExcpPrcsQnt, "step3StaaExcpPrcsQnt"), thlvlStaaOtsdPrcqty: formatNumber(d.thlvlStaaOtsdPrcqty, "thlvlStaaOtsdPrcqty"),
step4StaaExcpPrcsQnt: formatNumber(d.step4StaaExcpPrcsQnt, "step4StaaExcpPrcsQnt"), folvlStaaOtsdPrcqty: formatNumber(d.folvlStaaOtsdPrcqty, "folvlStaaOtsdPrcqty"),
step5StaaExcpPrcsQnt: formatNumber(d.step5StaaExcpPrcsQnt, "step5StaaExcpPrcsQnt"), filvlStaaOtsdPrcqty: formatNumber(d.filvlStaaOtsdPrcqty, "filvlStaaOtsdPrcqty"),
step6StaaExcpPrcsQnt: formatNumber(d.step6StaaExcpPrcsQnt, "step6StaaExcpPrcsQnt"), sxlvlStaaOtsdPrcqty: formatNumber(d.sxlvlStaaOtsdPrcqty, "sxlvlStaaOtsdPrcqty"),
step7StaaExcpPrcsQnt: formatNumber(d.step7StaaExcpPrcsQnt, "step7StaaExcpPrcsQnt"), svlvlStaaOtsdPrcqty: formatNumber(d.svlvlStaaOtsdPrcqty, "svlvlStaaOtsdPrcqty"),
rmrk: nullableTrimmedString(d.rmrk), rmrk: nullableTrimmedString(d.rmrk),
})); }));
} }
@@ -236,34 +236,34 @@ function buildSepticTankStatusSaveList(
return currentData.map((d) => ({ return currentData.map((d) => ({
admdstCd: nullableTrimmedString(d.admdstCd), admdstCd: nullableTrimmedString(d.admdstCd),
admdstNm: nullableTrimmedString(d.admdstNm), admdstNm: nullableTrimmedString(d.admdstNm),
staaInsdSttkNprsflCnt: formatNumber(d.staaInsdSttkNprsflCnt, "staaInsdSttkNprsflCnt"), staaInsdSpctnkNatrCnt: formatNumber(d.staaInsdSpctnkNatrCnt, "staaInsdSpctnkNatrCnt"),
step1StaaInsdSttkFrcCnt: formatNumber(d.step1StaaInsdSttkFrcCnt, "step1StaaInsdSttkFrcCnt"), staaInsdSpctnkFrcCnt: formatNumber(d.staaInsdSpctnkFrcCnt, "staaInsdSpctnkFrcCnt"),
staaInsdSprktpFltrtbCnt: formatNumber(d.staaInsdSprktpFltrtbCnt, "staaInsdSprktpFltrtbCnt"), staaInsdSprklFiltrCnt: formatNumber(d.staaInsdSprklFiltrCnt, "staaInsdSprklFiltrCnt"),
staaInsdAertMthdCnt: formatNumber(d.staaInsdAertMthdCnt, "staaInsdAertMthdCnt"), staaInsdAirCnt: formatNumber(d.staaInsdAirCnt, "staaInsdAirCnt"),
staaInsdCntcAertCnt: formatNumber(d.staaInsdCntcAertCnt, "staaInsdCntcAertCnt"), staaInsdCntcAirCnt: formatNumber(d.staaInsdCntcAirCnt, "staaInsdCntcAirCnt"),
staaInsdEtcCnt: formatNumber(d.staaInsdEtcCnt, "staaInsdEtcCnt"), staaInsdEtcCnt: formatNumber(d.staaInsdEtcCnt, "staaInsdEtcCnt"),
step1StaaInsdNope: formatNumber(d.step1StaaInsdNope, "step1StaaInsdNope"), frlvlStaaInsdNope: formatNumber(d.frlvlStaaInsdNope, "frlvlStaaInsdNope"),
step2StaaInsdNope: formatNumber(d.step2StaaInsdNope, "step2StaaInsdNope"), sclvlStaaInsdNope: formatNumber(d.sclvlStaaInsdNope, "sclvlStaaInsdNope"),
step3StaaInsdNope: formatNumber(d.step3StaaInsdNope, "step3StaaInsdNope"), thlvlStaaInsdNope: formatNumber(d.thlvlStaaInsdNope, "thlvlStaaInsdNope"),
step4StaaInsdNope: formatNumber(d.step4StaaInsdNope, "step4StaaInsdNope"), folvlStaaInsdNope: formatNumber(d.folvlStaaInsdNope, "folvlStaaInsdNope"),
step5StaaInsdNope: formatNumber(d.step5StaaInsdNope, "step5StaaInsdNope"), filvlStaaInsdNope: formatNumber(d.filvlStaaInsdNope, "filvlStaaInsdNope"),
step6StaaInsdNope: formatNumber(d.step6StaaInsdNope, "step6StaaInsdNope"), sxlvlStaaInsdNope: formatNumber(d.sxlvlStaaInsdNope, "sxlvlStaaInsdNope"),
step7StaaInsdNope: formatNumber(d.step7StaaInsdNope, "step7StaaInsdNope"), svlvlStaaInsdNope: formatNumber(d.svlvlStaaInsdNope, "svlvlStaaInsdNope"),
step8StaaInsdNope: formatNumber(d.step8StaaInsdNope, "step8StaaInsdNope"), eilvlStaaInsdNope: formatNumber(d.eilvlStaaInsdNope, "eilvlStaaInsdNope"),
staaExcpSttkNprsflCnt: formatNumber(d.staaExcpSttkNprsflCnt, "staaExcpSttkNprsflCnt"), staaOtsdSpctnkNatrCnt: formatNumber(d.staaOtsdSpctnkNatrCnt, "staaOtsdSpctnkNatrCnt"),
step1StaaExcpSttkFrcCnt: formatNumber(d.step1StaaExcpSttkFrcCnt, "step1StaaExcpSttkFrcCnt"), staaOtsdSpctnkFrcCnt: formatNumber(d.staaOtsdSpctnkFrcCnt, "staaOtsdSpctnkFrcCnt"),
staaExcpSprktpFltrtbCnt: formatNumber(d.staaExcpSprktpFltrtbCnt, "staaExcpSprktpFltrtbCnt"), staaOtsdSprklFiltrCnt: formatNumber(d.staaOtsdSprklFiltrCnt, "staaOtsdSprklFiltrCnt"),
staaExcpAertMthdCnt: formatNumber(d.staaExcpAertMthdCnt, "staaExcpAertMthdCnt"), staaOtsdAirCnt: formatNumber(d.staaOtsdAirCnt, "staaOtsdAirCnt"),
staaExcpCntcAertCnt: formatNumber(d.staaExcpCntcAertCnt, "staaExcpCntcAertCnt"), staaOtsdCntcAirCnt: formatNumber(d.staaOtsdCntcAirCnt, "staaOtsdCntcAirCnt"),
staaExcpEtcCnt: formatNumber(d.staaExcpEtcCnt, "staaExcpEtcCnt"), staaOtsdEtcCnt: formatNumber(d.staaOtsdEtcCnt, "staaOtsdEtcCnt"),
step1StaaExcpNope: formatNumber(d.step1StaaExcpNope, "step1StaaExcpNope"), frlvlStaaOtsdNope: formatNumber(d.frlvlStaaOtsdNope, "frlvlStaaOtsdNope"),
step2StaaExcpNope: formatNumber(d.step2StaaExcpNope, "step2StaaExcpNope"), sclvlStaaOtsdNope: formatNumber(d.sclvlStaaOtsdNope, "sclvlStaaOtsdNope"),
step3StaaExcpNope: formatNumber(d.step3StaaExcpNope, "step3StaaExcpNope"), thlvlStaaOtsdNope: formatNumber(d.thlvlStaaOtsdNope, "thlvlStaaOtsdNope"),
step4StaaExcpNope: formatNumber(d.step4StaaExcpNope, "step4StaaExcpNope"), folvlStaaOtsdNope: formatNumber(d.folvlStaaOtsdNope, "folvlStaaOtsdNope"),
step5StaaExcpNope: formatNumber(d.step5StaaExcpNope, "step5StaaExcpNope"), filvlStaaOtsdNope: formatNumber(d.filvlStaaOtsdNope, "filvlStaaOtsdNope"),
step6StaaExcpNope: formatNumber(d.step6StaaExcpNope, "step6StaaExcpNope"), sxlvlStaaOtsdNope: formatNumber(d.sxlvlStaaOtsdNope, "sxlvlStaaOtsdNope"),
step7StaaExcpNope: formatNumber(d.step7StaaExcpNope, "step7StaaExcpNope"), svlvlStaaOtsdNope: formatNumber(d.svlvlStaaOtsdNope, "svlvlStaaOtsdNope"),
step8StaaExcpNope: formatNumber(d.step8StaaExcpNope, "step8StaaExcpNope"), eilvlStaaOtsdNope: formatNumber(d.eilvlStaaOtsdNope, "eilvlStaaOtsdNope"),
rmrk: nullableTrimmedString(d.rmrk), rmrk: nullableTrimmedString(d.rmrk),
})); }));
} }
@@ -278,13 +278,13 @@ function buildPrivateSewageDesigStatusSaveList(
admdstNm: nullableTrimmedString(d.admdstNm), admdstNm: nullableTrimmedString(d.admdstNm),
indvSwagePbancRgnCnt: formatNumber(d.indvSwagePbancRgnCnt, "indvSwagePbancRgnCnt"), indvSwagePbancRgnCnt: formatNumber(d.indvSwagePbancRgnCnt, "indvSwagePbancRgnCnt"),
indvSwageDsgnScpLen: formatNumber(d.indvSwageDsgnScpLen, "indvSwageDsgnScpLen"), indvSwageDsgnScpLen: formatNumber(d.indvSwageDsgnScpLen, "indvSwageDsgnScpLen"),
spctnkGrssFcltCnt: formatNumber(d.spctnkGrssFcltCnt, "spctnkGrssFcltCnt"), spctnkWholFcltCnt: formatNumber(d.spctnkWholFcltCnt, "spctnkWholFcltCnt"),
spctnkQnt: formatNumber(d.spctnkQnt, "spctnkQnt"), spctnkPrcqty: formatNumber(d.spctnkPrcqty, "spctnkPrcqty"),
drtwPrcsFcltGrssFcltCnt: formatNumber( swgdplFcltWholFcltCnt: formatNumber(
d.drtwPrcsFcltGrssFcltCnt, d.swgdplFcltWholFcltCnt,
"drtwPrcsFcltGrssFcltCnt", "swgdplFcltWholFcltCnt",
), ),
drtwPrcsFcltQnt: formatNumber(d.drtwPrcsFcltQnt, "drtwPrcsFcltQnt"), swgdplFcltPrcqty: formatNumber(d.swgdplFcltPrcqty, "swgdplFcltPrcqty"),
rmrk: nullableTrimmedString(d.rmrk), rmrk: nullableTrimmedString(d.rmrk),
})); }));
} }
@@ -721,7 +721,7 @@ const PrivateSewageFacilityInp = () => {
...toInputSearchRegion(sidoListRef.current, lastSearchedValues), ...toInputSearchRegion(sidoListRef.current, lastSearchedValues),
ctpvNm: lastSearchedValues.sido ?? "", ctpvNm: lastSearchedValues.sido ?? "",
statsYr: lastSearchedValues.year ?? "", statsYr: lastSearchedValues.year ?? "",
mdfrId: userInfo.userUnqId, mdfrUuid: userInfo.userUnqId,
statsCd: statsCdForTab, statsCd: statsCdForTab,
}; };
@@ -803,14 +803,14 @@ const PrivateSewageFacilityInp = () => {
statsYr: lastSearchedValues.year ?? "", statsYr: lastSearchedValues.year ?? "",
ctpvNm: lastSearchedValues.sido ?? "", ctpvNm: lastSearchedValues.sido ?? "",
...toInputSearchRegion(sidoListRef.current, lastSearchedValues), ...toInputSearchRegion(sidoListRef.current, lastSearchedValues),
laePicNm: submitInfo.laePicNm, lclgvPicNm: submitInfo.lclgvPicNm,
laePicTelNo: submitInfo.laePicTelNo, lclgvPicTelnoCn: submitInfo.lclgvPicTelnoCn,
laeKbrdrDeptNm: submitInfo.laeKbrdrDeptNm, lclgvKbrdrDeptNm: submitInfo.lclgvKbrdrDeptNm,
laeKbrdrJbgdNm: submitInfo.laeKbrdrJbgdNm, lclgvKbrdrJbgdNm: submitInfo.lclgvKbrdrJbgdNm,
laeIdfrNm: submitInfo.laeIdfrNm, lclgvIdfrNm: submitInfo.lclgvIdfrNm,
laeIdfrTelNo: submitInfo.laeIdfrTelNo, lclgvIdfrTelnoCn: submitInfo.lclgvIdfrTelnoCn,
laeIdfrDeptNm: submitInfo.laeIdfrDeptNm, lclgvIdfrDeptNm: submitInfo.lclgvIdfrDeptNm,
laeIdfrJbgdNm: submitInfo.laeIdfrJbgdNm, lclgvIdfrJbgdNm: submitInfo.lclgvIdfrJbgdNm,
}; };
const verificationQuery = { const verificationQuery = {
@@ -840,7 +840,7 @@ const PrivateSewageFacilityInp = () => {
if (isSewageTreatTab) { if (isSewageTreatTab) {
const param: SewageTreatFactStatusSubmitRequest = { const param: SewageTreatFactStatusSubmitRequest = {
...submitInfoBase, ...submitInfoBase,
userId: userInfo.userUnqId, userUuid: userInfo.userUnqId,
submitList: buildSewageTreatFactStatusSaveList(currentData), submitList: buildSewageTreatFactStatusSaveList(currentData),
...adminOpt, ...adminOpt,
}; };
@@ -851,7 +851,7 @@ const PrivateSewageFacilityInp = () => {
} else if (isSepticTankTab) { } else if (isSepticTankTab) {
const param: SepticTankStatusSubmitRequest = { const param: SepticTankStatusSubmitRequest = {
...submitInfoBase, ...submitInfoBase,
userId: userInfo.userUnqId, userUuid: userInfo.userUnqId,
submitList: buildSepticTankStatusSaveList(currentData), submitList: buildSepticTankStatusSaveList(currentData),
...adminOpt, ...adminOpt,
}; };
@@ -860,7 +860,7 @@ const PrivateSewageFacilityInp = () => {
} else { } else {
const param: PrivateSewageDesigStatusSubmitRequest = { const param: PrivateSewageDesigStatusSubmitRequest = {
...submitInfoBase, ...submitInfoBase,
userId: userInfo.userUnqId, userUuid: userInfo.userUnqId,
submitList: buildPrivateSewageDesigStatusSaveList(currentData), submitList: buildPrivateSewageDesigStatusSaveList(currentData),
...adminOpt, ...adminOpt,
}; };
@@ -886,7 +886,7 @@ const PrivateSewageFacilityInp = () => {
sewer_bzmn_cd: lastSearchedValues?.bsnmCd ?? "", sewer_bzmn_cd: lastSearchedValues?.bsnmCd ?? "",
stats_cd: statsCdForTab, stats_cd: statsCdForTab,
stats_yr: lastSearchedValues.year ?? "", 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", gen_verify_stts_cd: nvpassed ? "1" : "2",
hb_pass_yn: response.data?.isHbPassed, hb_pass_yn: response.data?.isHbPassed,
}; };
@@ -982,7 +982,7 @@ const PrivateSewageFacilityInp = () => {
if (isSewageTreatTab) { if (isSewageTreatTab) {
const param: SewageTreatFactStatusSaveRequest = { const param: SewageTreatFactStatusSaveRequest = {
...baseRequest, ...baseRequest,
userId: userInfo.userUnqId, userUuid: userInfo.userUnqId,
saveList: buildSewageTreatFactStatusSaveList(currentData), saveList: buildSewageTreatFactStatusSaveList(currentData),
...(isAdminInfo ? { superAdmin: "superAdmin" } : {}), ...(isAdminInfo ? { superAdmin: "superAdmin" } : {}),
}; };
@@ -1008,7 +1008,7 @@ const PrivateSewageFacilityInp = () => {
if (isSepticTankTab) { if (isSepticTankTab) {
const param: SepticTankStatusSaveRequest = { const param: SepticTankStatusSaveRequest = {
...baseRequest, ...baseRequest,
userId: userInfo.userUnqId, userUuid: userInfo.userUnqId,
saveList: buildSepticTankStatusSaveList(currentData), saveList: buildSepticTankStatusSaveList(currentData),
...(isAdminInfo ? { superAdmin: "superAdmin" } : {}), ...(isAdminInfo ? { superAdmin: "superAdmin" } : {}),
}; };
@@ -1031,7 +1031,7 @@ const PrivateSewageFacilityInp = () => {
const param: PrivateSewageDesigStatusSaveRequest = { const param: PrivateSewageDesigStatusSaveRequest = {
...baseRequest, ...baseRequest,
userId: userInfo.userUnqId, userUuid: userInfo.userUnqId,
saveList: buildPrivateSewageDesigStatusSaveList(currentData), saveList: buildPrivateSewageDesigStatusSaveList(currentData),
...(isAdminInfo ? { superAdmin: "superAdmin" } : {}), ...(isAdminInfo ? { superAdmin: "superAdmin" } : {}),
}; };
@@ -1156,7 +1156,7 @@ const PrivateSewageFacilityInp = () => {
: e.vrfcCd === "NV" : e.vrfcCd === "NV"
? "일반검증 - " ? "일반검증 - "
: "모집단 검증 - "; : "모집단 검증 - ";
return `${prefix}${e.rsnExpln}(검증 기준값: ${e.compVlCn} / 현재 입력값: ${e.nowVlCn})`; return `${prefix}${e.rsnExpln}(검증 기준값: ${e.cmprCn} / 현재 입력값: ${e.nowCn})`;
}) })
.filter(Boolean) .filter(Boolean)
.join("\n"); .join("\n");
@@ -1202,7 +1202,7 @@ const PrivateSewageFacilityInp = () => {
{submitOk && <SubmitButton submitFunc={submitFunc} />} {submitOk && <SubmitButton submitFunc={submitFunc} />}
</> </>
)} )}
{activeTabStatus?.laeSbmsnSttsCd === "2" && submitOk && ( {activeTabStatus?.lclgvSbmsnSttsCd === "2" && submitOk && (
<CancelSubmitButton cnacelSubmitFunc={cnacelSubmitFunc} /> <CancelSubmitButton cnacelSubmitFunc={cnacelSubmitFunc} />
)} )}
{showSaveInToolbar && <SaveButton saveFunc={saveFunc} />} {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'; import { useConfirm } from '@frontend-opensource/use-react-hooks';
@@ -89,8 +89,8 @@ const computeTabEnterable = (
statusInfo: SewerageStatusInfo | null | undefined, statusInfo: SewerageStatusInfo | null | undefined,
periodEnterable: boolean, periodEnterable: boolean,
): boolean => { ): boolean => {
if (statusInfo?.laeSbmsnSttsCd) { if (statusInfo?.lclgvSbmsnSttsCd) {
if (['2', '3'].includes(statusInfo.laeSbmsnSttsCd)) { if (['2', '3'].includes(statusInfo.lclgvSbmsnSttsCd)) {
return false; return false;
} }
return periodEnterable; return periodEnterable;
@@ -108,7 +108,7 @@ function computeTabToolbarSnapshot(
): TabToolbarSnapshot { ): TabToolbarSnapshot {
const gugunOk = buildGugunOkForToolbar(searchContext); const gugunOk = buildGugunOkForToolbar(searchContext);
const enterable = computeTabEnterable(statusInfo, periodEnterable); const enterable = computeTabEnterable(statusInfo, periodEnterable);
const isSubmitted = statusInfo?.laeSbmsnSttsCd === '2'; const isSubmitted = statusInfo?.lclgvSbmsnSttsCd === '2';
const showSaveInToolbar = (enterable || isAdminInfo) && periodEnterable && gugunOk; const showSaveInToolbar = (enterable || isAdminInfo) && periodEnterable && gugunOk;
const showEnterableToolbarButtons = enterable && gugunOk; const showEnterableToolbarButtons = enterable && gugunOk;
const showSubmittedInInputPeriodToolbar = isSubmitted && periodEnterable && gugunOk; const showSubmittedInInputPeriodToolbar = isSubmitted && periodEnterable && gugunOk;
@@ -397,16 +397,16 @@ const PublicSewageFacilityInp = () => {
statsYr: lastSearchedValues.year ?? '', statsYr: lastSearchedValues.year ?? '',
ctpvNm: lastSearchedValues.sido ?? '', ctpvNm: lastSearchedValues.sido ?? '',
...toInputSearchRegion(sidoListRef.current, lastSearchedValues), ...toInputSearchRegion(sidoListRef.current, lastSearchedValues),
userId: userInfo.userUnqId, userUuid: userInfo.userUnqId,
noApplicable, noApplicable,
laePicNm: submitInfo.laePicNm, lclgvPicNm: submitInfo.lclgvPicNm,
laeKbrdrJbgdNm: submitInfo.laeKbrdrJbgdNm, lclgvKbrdrJbgdNm: submitInfo.lclgvKbrdrJbgdNm,
laeKbrdrDeptNm: submitInfo.laeKbrdrDeptNm, lclgvKbrdrDeptNm: submitInfo.lclgvKbrdrDeptNm,
laePicTelNo: submitInfo.laePicTelNo, lclgvPicTelnoCn: submitInfo.lclgvPicTelnoCn,
laeIdfrNm: submitInfo.laeIdfrNm, lclgvIdfrNm: submitInfo.lclgvIdfrNm,
laeIdfrJbgdNm: submitInfo.laeIdfrJbgdNm, lclgvIdfrJbgdNm: submitInfo.lclgvIdfrJbgdNm,
laeIdfrDeptNm: submitInfo.laeIdfrDeptNm, lclgvIdfrDeptNm: submitInfo.lclgvIdfrDeptNm,
laeIdfrTelNo: submitInfo.laeIdfrTelNo, lclgvIdfrTelnoCn: submitInfo.lclgvIdfrTelnoCn,
submitList, submitList,
}; };
@@ -432,7 +432,7 @@ const PublicSewageFacilityInp = () => {
sewer_bzmn_cd: lastSearchedValues?.bsnmCd ?? '', sewer_bzmn_cd: lastSearchedValues?.bsnmCd ?? '',
stats_cd: statsCdForTab, stats_cd: statsCdForTab,
stats_yr: lastSearchedValues.year ?? '', 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', gen_verify_stts_cd: nvpassed ? '1' : '2',
hb_pass_yn: response.data?.isHbPassed, hb_pass_yn: response.data?.isHbPassed,
}; };
@@ -657,7 +657,7 @@ const PublicSewageFacilityInp = () => {
statsYr: lastSearchedValues.year ?? '', statsYr: lastSearchedValues.year ?? '',
ctpvNm: lastSearchedValues.sido ?? '', ctpvNm: lastSearchedValues.sido ?? '',
...toInputSearchRegion(sidoListRef.current, lastSearchedValues), ...toInputSearchRegion(sidoListRef.current, lastSearchedValues),
userId: userInfo.userUnqId, userUuid: userInfo.userUnqId,
...(isAdminInfo ? { superAdmin: 'superAdmin' } : {}), ...(isAdminInfo ? { superAdmin: 'superAdmin' } : {}),
noApplicable, noApplicable,
saveList, saveList,
@@ -902,7 +902,7 @@ const PublicSewageFacilityInp = () => {
statsYr: lastSearchedValues.year ?? '', statsYr: lastSearchedValues.year ?? '',
ctpvNm: lastSearchedValues.sido ?? '', ctpvNm: lastSearchedValues.sido ?? '',
...toInputSearchRegion(sidoListRef.current, lastSearchedValues), ...toInputSearchRegion(sidoListRef.current, lastSearchedValues),
userId: userInfo.userUnqId, userUuid: userInfo.userUnqId,
}; };
const response = const response =
@@ -949,7 +949,7 @@ const PublicSewageFacilityInp = () => {
admdstNm: draft.admdstNm, admdstNm: draft.admdstNm,
mainFcltSn: draft.mainFcltSn, mainFcltSn: draft.mainFcltSn,
mainFcltNm: draft.mainFcltNm, mainFcltNm: draft.mainFcltNm,
userId: userInfo.userUnqId, userUuid: userInfo.userUnqId,
saveList: draft.saveList, saveList: draft.saveList,
deleteList: draft.deleteList, deleteList: draft.deleteList,
}; };
@@ -1128,7 +1128,7 @@ const PublicSewageFacilityInp = () => {
...toInputSearchRegion(sidoListRef.current, lastSearchedValues), ...toInputSearchRegion(sidoListRef.current, lastSearchedValues),
ctpvNm: lastSearchedValues?.sido ?? '', ctpvNm: lastSearchedValues?.sido ?? '',
statsYr: lastSearchedValues?.year ?? '', statsYr: lastSearchedValues?.year ?? '',
mdfrId: userInfo.userUnqId, mdfrUuid: userInfo.userUnqId,
statsCd: statsCdForCancel, statsCd: statsCdForCancel,
}; };
@@ -1203,15 +1203,17 @@ const PublicSewageFacilityInp = () => {
alert('해당 시설은 중심처리시설의 위탁시설로 연결되어있습니다.'); alert('해당 시설은 중심처리시설의 위탁시설로 연결되어있습니다.');
} }
const mappedTargetRows = applyExclusiveSelfMappingChecks( const mappedTargetRows = applyExclusiveSelfMappingChecks(
rawList.map((item) => ({ toGridRows(
...item, rawList.map((item) => ({
__checked: item.mappedYn === 'Y' ? 'Y' : '', ...item,
})), __checked: item.mappedYn === 'Y' ? 'Y' : '',
})),
),
fcltSn, fcltSn,
); );
setRowDataMap((prev) => { setRowDataMap((prev) => {
const next = new Map(prev); const next = new Map(prev);
next.set('MainFacilityTarget', toGridRows(mappedTargetRows)); next.set('MainFacilityTarget', mappedTargetRows);
return next; return next;
}); });
} catch { } catch {
@@ -1321,7 +1323,7 @@ const PublicSewageFacilityInp = () => {
{submitOk && <SubmitButton submitFunc={submitFunc} />} {submitOk && <SubmitButton submitFunc={submitFunc} />}
</> </>
)} )}
{!isMainFacilityTab && activeTabStatus?.laeSbmsnSttsCd === '2' && submitOk && ( {!isMainFacilityTab && activeTabStatus?.lclgvSbmsnSttsCd === '2' && submitOk && (
<CancelSubmitButton cnacelSubmitFunc={cnacelSubmitFunc} /> <CancelSubmitButton cnacelSubmitFunc={cnacelSubmitFunc} />
)} )}
{showSaveInToolbar && <SaveButton saveFunc={saveFunc} />} {showSaveInToolbar && <SaveButton saveFunc={saveFunc} />}
@@ -1577,8 +1579,8 @@ const PublicSewageFacilityInp = () => {
.map((e) => { .map((e) => {
const prefix = const prefix =
e.vrfcCd === "IMR" ? "시계열 검증 - " : (e.vrfcCd === "NV" ? "일반검증 - " : "모집단 검증 - "); e.vrfcCd === "IMR" ? "시계열 검증 - " : (e.vrfcCd === "NV" ? "일반검증 - " : "모집단 검증 - ");
const comp = e.compVlCn ?? ""; const comp = e.cmprCn ?? "";
const now = e.nowVlCn ?? ""; const now = e.nowCn ?? "";
return `${prefix}${e.rsnExpln} return `${prefix}${e.rsnExpln}
(검증 기준값: ${comp} / 현재 입력값: ${now})`; (검증 기준값: ${comp} / 현재 입력값: ${now})`;
}) })
@@ -93,8 +93,8 @@ const computeTabEnterable = (
statusInfo: SewerageStatusInfo | null | undefined, statusInfo: SewerageStatusInfo | null | undefined,
periodEnterable: boolean, periodEnterable: boolean,
): boolean => { ): boolean => {
if (statusInfo?.laeSbmsnSttsCd) { if (statusInfo?.lclgvSbmsnSttsCd) {
if (["2", "3"].includes(statusInfo.laeSbmsnSttsCd)) { if (["2", "3"].includes(statusInfo.lclgvSbmsnSttsCd)) {
return false; return false;
} }
return periodEnterable; return periodEnterable;
@@ -130,7 +130,7 @@ function computeTabToolbarSnapshot(
): TabToolbarSnapshot { ): TabToolbarSnapshot {
const gugunOk = buildGugunOkForToolbar(searchContext); const gugunOk = buildGugunOkForToolbar(searchContext);
const enterable = computeTabEnterable(statusInfo, periodEnterable); const enterable = computeTabEnterable(statusInfo, periodEnterable);
const isSubmitted = statusInfo?.laeSbmsnSttsCd === "2"; const isSubmitted = statusInfo?.lclgvSbmsnSttsCd === "2";
const showSaveInToolbar = (enterable || isAdminInfo) && periodEnterable && gugunOk; const showSaveInToolbar = (enterable || isAdminInfo) && periodEnterable && gugunOk;
const showEnterableToolbarButtons = enterable && gugunOk; const showEnterableToolbarButtons = enterable && gugunOk;
const showSubmittedInInputPeriodToolbar = const showSubmittedInInputPeriodToolbar =
@@ -252,34 +252,34 @@ function buildPumpingStationSaveItem(
pumpSeNm: nullableTrimmedString(row.pumpSeNm), pumpSeNm: nullableTrimmedString(row.pumpSeNm),
fcltPstnCn: nullableTrimmedString(row.fcltPstnCn), fcltPstnCn: nullableTrimmedString(row.fcltPstnCn),
oprtngStrtYmd: toCompactYmdOrNull(row.oprtngStrtYmd), oprtngStrtYmd: toCompactYmdOrNull(row.oprtngStrtYmd),
planMltvArea: toGridNumber(row.planMltvArea), planDrnar: toGridNumber(row.planDrnar),
sndyArea: toGridNumber(row.sndyArea), icodwArea: toGridNumber(row.icodwArea),
rainArea: toGridNumber(row.rainArea), rainArea: toGridNumber(row.rainArea),
drtwPumpN1DmtrArea: toGridNumber(row.drtwPumpN1DmtrArea), drtwPumpN1Dmtr: toGridNumber(row.drtwPumpN1Dmtr),
drtwPumpN1Ppqty: toGridNumber(row.drtwPumpN1Ppqty), drtwPumpN1Ppqty: toGridNumber(row.drtwPumpN1Ppqty),
drtwPumpN1Cnt: toGridNumber(row.drtwPumpN1Cnt), drtwPumpN1Cnt: toGridNumber(row.drtwPumpN1Cnt),
drtwPumpN1RsrvCnt: toGridNumber(row.drtwPumpN1RsrvCnt), drtwPumpN1RsrvCnt: toGridNumber(row.drtwPumpN1RsrvCnt),
drtwPumpN2DmtrArea: toGridNumber(row.drtwPumpN2DmtrArea), drtwPumpN2Dmtr: toGridNumber(row.drtwPumpN2Dmtr),
drtwPumpN2Ppqty: toGridNumber(row.drtwPumpN2Ppqty), drtwPumpN2Ppqty: toGridNumber(row.drtwPumpN2Ppqty),
drtwPumpN2Cnt: toGridNumber(row.drtwPumpN2Cnt), drtwPumpN2Cnt: toGridNumber(row.drtwPumpN2Cnt),
drtwPumpN2RsrvCnt: toGridNumber(row.drtwPumpN2RsrvCnt), drtwPumpN2RsrvCnt: toGridNumber(row.drtwPumpN2RsrvCnt),
drtwPumpN3DmtrArea: toGridNumber(row.drtwPumpN3DmtrArea), drtwPumpN3Dmtr: toGridNumber(row.drtwPumpN3Dmtr),
drtwPumpN3Ppqty: toGridNumber(row.drtwPumpN3Ppqty), drtwPumpN3Ppqty: toGridNumber(row.drtwPumpN3Ppqty),
drtwPumpN3Cnt: toGridNumber(row.drtwPumpN3Cnt), drtwPumpN3Cnt: toGridNumber(row.drtwPumpN3Cnt),
drtwPumpN3RsrvCnt: toGridNumber(row.drtwPumpN3RsrvCnt), drtwPumpN3RsrvCnt: toGridNumber(row.drtwPumpN3RsrvCnt),
exlnPumpN1DmtrArea: toGridNumber(row.exlnPumpN1DmtrArea), exlnPumpN1Dmtr: toGridNumber(row.exlnPumpN1Dmtr),
exlnPumpN1Ppqty: toGridNumber(row.exlnPumpN1Ppqty), exlnPumpN1Ppqty: toGridNumber(row.exlnPumpN1Ppqty),
exlnPumpN1Cnt: toGridNumber(row.exlnPumpN1Cnt), exlnPumpN1Cnt: toGridNumber(row.exlnPumpN1Cnt),
exlnPumpN1RsrvCnt: toGridNumber(row.exlnPumpN1RsrvCnt), exlnPumpN1RsrvCnt: toGridNumber(row.exlnPumpN1RsrvCnt),
exlnPumpN2DmtrArea: toGridNumber(row.exlnPumpN2DmtrArea), exlnPumpN2Dmtr: toGridNumber(row.exlnPumpN2Dmtr),
exlnPumpN2Ppqty: toGridNumber(row.exlnPumpN2Ppqty), exlnPumpN2Ppqty: toGridNumber(row.exlnPumpN2Ppqty),
exlnPumpN2Cnt: toGridNumber(row.exlnPumpN2Cnt), exlnPumpN2Cnt: toGridNumber(row.exlnPumpN2Cnt),
exlnPumpN2RsrvCnt: toGridNumber(row.exlnPumpN2RsrvCnt), exlnPumpN2RsrvCnt: toGridNumber(row.exlnPumpN2RsrvCnt),
exlnPumpN3DmtrArea: toGridNumber(row.exlnPumpN3DmtrArea), exlnPumpN3Dmtr: toGridNumber(row.exlnPumpN3Dmtr),
exlnPumpN3Ppqty: toGridNumber(row.exlnPumpN3Ppqty), exlnPumpN3Ppqty: toGridNumber(row.exlnPumpN3Ppqty),
exlnPumpN3Cnt: toGridNumber(row.exlnPumpN3Cnt), exlnPumpN3Cnt: toGridNumber(row.exlnPumpN3Cnt),
exlnPumpN3RsrvCnt: toGridNumber(row.exlnPumpN3RsrvCnt), exlnPumpN3RsrvCnt: toGridNumber(row.exlnPumpN3RsrvCnt),
anlElpwrUseQnt: toGridNumber(row.anlElpwrUseQnt), anlElpwrUsqty: toGridNumber(row.anlElpwrUsqty),
rmrk: nullableTrimmedString(row.rmrk), rmrk: nullableTrimmedString(row.rmrk),
}; };
} }
@@ -606,7 +606,7 @@ const PumpingStationInp = () => {
...toInputSearchRegion(sidoListRef.current, lastSearchedValues), ...toInputSearchRegion(sidoListRef.current, lastSearchedValues),
ctpvNm: lastSearchedValues.sido ?? "", ctpvNm: lastSearchedValues.sido ?? "",
statsYr: lastSearchedValues.year ?? "", statsYr: lastSearchedValues.year ?? "",
mdfrId: userInfo.userUnqId, mdfrUuid: userInfo.userUnqId,
statsCd: statsCd || PUMPING_STATION_STATS_CD, statsCd: statsCd || PUMPING_STATION_STATS_CD,
}; };
@@ -691,7 +691,7 @@ const PumpingStationInp = () => {
statsYr: lastSearchedValues.year ?? "", statsYr: lastSearchedValues.year ?? "",
ctpvNm: lastSearchedValues.sido ?? "", ctpvNm: lastSearchedValues.sido ?? "",
...toInputSearchRegion(sidoListRef.current, lastSearchedValues), ...toInputSearchRegion(sidoListRef.current, lastSearchedValues),
userId: userInfo.userUnqId, userUuid: userInfo.userUnqId,
...(isAdminInfo ? { superAdmin: "superAdmin" } : {}), ...(isAdminInfo ? { superAdmin: "superAdmin" } : {}),
noApplicable, noApplicable,
saveList, saveList,
@@ -759,15 +759,15 @@ const PumpingStationInp = () => {
statsYr: lastSearchedValues.year ?? "", statsYr: lastSearchedValues.year ?? "",
ctpvNm: lastSearchedValues.sido ?? "", ctpvNm: lastSearchedValues.sido ?? "",
...toInputSearchRegion(sidoListRef.current, lastSearchedValues), ...toInputSearchRegion(sidoListRef.current, lastSearchedValues),
userId: userInfo.userUnqId, userUuid: userInfo.userUnqId,
laePicNm: submitInfo.laePicNm, lclgvPicNm: submitInfo.lclgvPicNm,
laePicTelNo: submitInfo.laePicTelNo, lclgvPicTelnoCn: submitInfo.lclgvPicTelnoCn,
laeKbrdrDeptNm: submitInfo.laeKbrdrDeptNm, lclgvKbrdrDeptNm: submitInfo.lclgvKbrdrDeptNm,
laeKbrdrJbgdNm: submitInfo.laeKbrdrJbgdNm, lclgvKbrdrJbgdNm: submitInfo.lclgvKbrdrJbgdNm,
laeIdfrNm: submitInfo.laeIdfrNm, lclgvIdfrNm: submitInfo.lclgvIdfrNm,
laeIdfrTelNo: submitInfo.laeIdfrTelNo, lclgvIdfrTelnoCn: submitInfo.lclgvIdfrTelnoCn,
laeIdfrDeptNm: submitInfo.laeIdfrDeptNm, lclgvIdfrDeptNm: submitInfo.lclgvIdfrDeptNm,
laeIdfrJbgdNm: submitInfo.laeIdfrJbgdNm, lclgvIdfrJbgdNm: submitInfo.lclgvIdfrJbgdNm,
...(isAdminInfo ? { superAdmin: "superAdmin" } : {}), ...(isAdminInfo ? { superAdmin: "superAdmin" } : {}),
noApplicable, noApplicable,
submitList, submitList,
@@ -791,7 +791,7 @@ const PumpingStationInp = () => {
stats_cd: statsCdForSubmit, stats_cd: statsCdForSubmit,
stats_yr: lastSearchedValues.year ?? "", stats_yr: lastSearchedValues.year ?? "",
lae_sbmsn_stts_cd: lae_sbmsn_stts_cd:
statusInfo?.laeSbmsnSttsCd === "4" ? "4" : "2", statusInfo?.lclgvSbmsnSttsCd === "4" ? "4" : "2",
gen_verify_stts_cd: nvpassed ? "1" : "2", gen_verify_stts_cd: nvpassed ? "1" : "2",
hb_pass_yn: response.data?.isHbPassed, hb_pass_yn: response.data?.isHbPassed,
}; };
@@ -945,7 +945,7 @@ const PumpingStationInp = () => {
? "일반검증 - " ? "일반검증 - "
: "모집단 검증 -"; : "모집단 검증 -";
return `${prefix}${e.rsnExpln} return `${prefix}${e.rsnExpln}
(검증 기준값: ${e.compVlCn} / 현재 입력값: ${e.nowVlCn})`; (검증 기준값: ${e.cmprCn} / 현재 입력값: ${e.nowCn})`;
}) })
.filter(Boolean) .filter(Boolean)
.join("\n"); .join("\n");
@@ -1027,7 +1027,7 @@ const PumpingStationInp = () => {
{submitOk && <SubmitButton submitFunc={submitFunc} />} {submitOk && <SubmitButton submitFunc={submitFunc} />}
</> </>
)} )}
{statusInfo?.laeSbmsnSttsCd === "2" && submitOk && ( {statusInfo?.lclgvSbmsnSttsCd === "2" && submitOk && (
<CancelSubmitButton cnacelSubmitFunc={cnacelSubmitFunc} /> <CancelSubmitButton cnacelSubmitFunc={cnacelSubmitFunc} />
)} )}
{showSaveInToolbar && <SaveButton saveFunc={saveFunc} />} {showSaveInToolbar && <SaveButton saveFunc={saveFunc} />}
@@ -16,6 +16,7 @@ import { statisticsApi } from "@/entities/statistics/api/statistics-service";
import type { import type {
ExcretaRelatedIndustrySaveItem, ExcretaRelatedIndustrySaveItem,
PrivateSewageTreatRelatedIndustrySaveItem, PrivateSewageTreatRelatedIndustrySaveItem,
PublicInstitutionExcretaIndustrySaveItem,
PublicInstitutionSewerIndustrySaveItem, PublicInstitutionSewerIndustrySaveItem,
SewageExcretaRelatedRequestParams, SewageExcretaRelatedRequestParams,
SewageExcretaRelatedVerificationResult, SewageExcretaRelatedVerificationResult,
@@ -157,8 +158,8 @@ const computeTabEnterable = (
statusInfo: SewerageStatusInfo | null | undefined, statusInfo: SewerageStatusInfo | null | undefined,
periodEnterable: boolean, periodEnterable: boolean,
): boolean => { ): boolean => {
if (statusInfo?.laeSbmsnSttsCd) { if (statusInfo?.lclgvSbmsnSttsCd) {
if (["2", "3"].includes(statusInfo.laeSbmsnSttsCd)) { if (["2", "3"].includes(statusInfo.lclgvSbmsnSttsCd)) {
return false; return false;
} }
return periodEnterable; return periodEnterable;
@@ -194,7 +195,7 @@ function computeTabToolbarSnapshot(
): TabToolbarSnapshot { ): TabToolbarSnapshot {
const gugunOk = buildGugunOkForToolbar(searchContext); const gugunOk = buildGugunOkForToolbar(searchContext);
const enterable = computeTabEnterable(statusInfo, periodEnterable); const enterable = computeTabEnterable(statusInfo, periodEnterable);
const isSubmitted = statusInfo?.laeSbmsnSttsCd === "2"; const isSubmitted = statusInfo?.lclgvSbmsnSttsCd === "2";
const showSaveInToolbar = (enterable || isAdminInfo) && periodEnterable && gugunOk; const showSaveInToolbar = (enterable || isAdminInfo) && periodEnterable && gugunOk;
const showEnterableToolbarButtons = enterable && gugunOk; const showEnterableToolbarButtons = enterable && gugunOk;
const showSubmittedInInputPeriodToolbar = isSubmitted && periodEnterable && gugunOk; const showSubmittedInInputPeriodToolbar = isSubmitted && periodEnterable && gugunOk;
@@ -238,10 +239,20 @@ function isCheckedRow(row: Record<string, string | number>): boolean {
type ArticleOgnzSnSet = Set<string>; 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>(); const set = new Set<string>();
for (const row of rows) { for (const row of rows) {
const ognzSn = String(row.ognzSn ?? "").trim(); const ognzSn = getPublicInstitutionOgnzSn(row);
if (ognzSn) set.add(ognzSn); if (ognzSn) set.add(ognzSn);
} }
return set; return set;
@@ -277,7 +288,7 @@ function isPersistedPublicInstitutionArticleRow(
): boolean { ): boolean {
if (!ARTICLE_EDIT_TAB_KEYS.has(tabKey)) return false; if (!ARTICLE_EDIT_TAB_KEYS.has(tabKey)) return false;
if (isNewArticleRow(row)) return false; if (isNewArticleRow(row)) return false;
const ognzSn = String(row.ognzSn ?? "").trim(); const ognzSn = getPublicInstitutionOgnzSn(row);
if (!ognzSn) return false; if (!ognzSn) return false;
if ((preYearRef.current.get(tabKey) ?? new Set()).has(ognzSn)) return false; if ((preYearRef.current.get(tabKey) ?? new Set()).has(ognzSn)) return false;
return (persistedRef.current.get(tabKey) ?? new Set()).has(ognzSn); return (persistedRef.current.get(tabKey) ?? new Set()).has(ognzSn);
@@ -402,18 +413,18 @@ function toGridNumber(value: string | number | null | undefined): number {
function buildPublicInstitutionIndustrySaveItem( function buildPublicInstitutionIndustrySaveItem(
row: Record<string, string | number>, row: Record<string, string | number>,
sggOptions: Sgg[], sggOptions: Sgg[],
): PublicInstitutionSewerIndustrySaveItem { ): PublicInstitutionSewerIndustrySaveItem | PublicInstitutionExcretaIndustrySaveItem {
const { admdstCd, admdstNm } = resolvePublicInstitutionAdmdst(row, sggOptions); const { admdstCd, admdstNm } = resolvePublicInstitutionAdmdst(row, sggOptions);
return { return {
admdstCd, admdstCd,
admdstNm, admdstNm,
ognzSn: nullableTrimmedString(row.ognzSn), statsOgnzSn: nullableTrimmedString(row.statsOgnzSn),
ognzNm: nullableTrimmedString(row.ognzNm), ognzNm: nullableTrimmedString(row.ognzNm),
pbadmsNope: toGridNumber(row.pbadmsNope), pbadmsNope: toGridNumber(row.pbadmsNope),
engrkCnt: toGridNumber(row.engrkCnt), engrkCnt: toGridNumber(row.engrkCnt),
mchnCnt: toGridNumber(row.mchnCnt), mchnCnt: toGridNumber(row.mchnCnt),
prvtmCnt: toGridNumber(row.prvtmCnt), prvtmCnt: toGridNumber(row.prvtmCnt),
chmengCnt: toGridNumber(row.chmengCnt), chemCnt: toGridNumber(row.chemCnt),
envCnt: toGridNumber(row.envCnt), envCnt: toGridNumber(row.envCnt),
enjbEtcCnt: toGridNumber(row.enjbEtcCnt), enjbEtcCnt: toGridNumber(row.enjbEtcCnt),
etcCnt: toGridNumber(row.etcCnt), etcCnt: toGridNumber(row.etcCnt),
@@ -430,9 +441,9 @@ function buildExcretaRelatedIndustrySaveItem(
admdstNm: nullableTrimmedString(row.admdstNm), admdstNm: nullableTrimmedString(row.admdstNm),
bzentyCnt: toGridNumber(row.bzentyCnt), bzentyCnt: toGridNumber(row.bzentyCnt),
empNope: toGridNumber(row.empNope), empNope: toGridNumber(row.empNope),
n3TonUdrCnt: toGridNumber(row.n3TonUdrCnt), frlvlTonUdrCnt: toGridNumber(row.frlvlTonUdrCnt),
n4TonUdrCnt: toGridNumber(row.n4TonUdrCnt), sclvlTonUdrCnt: toGridNumber(row.sclvlTonUdrCnt),
n8TonUdrCnt: toGridNumber(row.n8TonUdrCnt), thlvlTonUdrCnt: toGridNumber(row.thlvlTonUdrCnt),
etcCnt: toGridNumber(row.etcCnt), etcCnt: toGridNumber(row.etcCnt),
clctCnvncPrfmncQnt: toGridNumber(row.clctCnvncPrfmncQnt), clctCnvncPrfmncQnt: toGridNumber(row.clctCnvncPrfmncQnt),
rmrk: nullableTrimmedString(row.rmrk), rmrk: nullableTrimmedString(row.rmrk),
@@ -550,7 +561,7 @@ function verificationCellTooltip({
? "일반검증 - " ? "일반검증 - "
: "모집단 검증 - "; : "모집단 검증 - ";
return `${prefix}${e.rsnExpln} return `${prefix}${e.rsnExpln}
(검증 기준값: ${e.compVlCn} / 현재 입력값: ${e.nowVlCn})`; (검증 기준값: ${e.cmprCn} / 현재 입력값: ${e.nowCn})`;
}) })
.filter(Boolean) .filter(Boolean)
.join("\n"); .join("\n");
@@ -1179,7 +1190,7 @@ const SewageExcretaRelatedInp = () => {
...toInputSearchRegion(sidoListRef.current, ctx), ...toInputSearchRegion(sidoListRef.current, ctx),
ctpvNm: ctx.sido ?? "", ctpvNm: ctx.sido ?? "",
statsYr: ctx.year ?? "", statsYr: ctx.year ?? "",
mdfrId: userInfo.userUnqId, mdfrUuid: userInfo.userUnqId,
statsCd: statsCdForTab, statsCd: statsCdForTab,
}; };
@@ -1317,9 +1328,12 @@ const SewageExcretaRelatedInp = () => {
let submitList: let submitList:
| PublicInstitutionSewerIndustrySaveItem[] | PublicInstitutionSewerIndustrySaveItem[]
| PublicInstitutionExcretaIndustrySaveItem[]
| ExcretaRelatedIndustrySaveItem[] | ExcretaRelatedIndustrySaveItem[]
| PrivateSewageTreatRelatedIndustrySaveItem[]; | PrivateSewageTreatRelatedIndustrySaveItem[];
let deleteList: PublicInstitutionSewerIndustrySaveItem[] = []; let deleteList:
| PublicInstitutionSewerIndustrySaveItem[]
| PublicInstitutionExcretaIndustrySaveItem[] = [];
let sggList: Sgg[] = []; let sggList: Sgg[] = [];
if (isDistrictRowTab) { if (isDistrictRowTab) {
@@ -1351,7 +1365,7 @@ const SewageExcretaRelatedInp = () => {
sggList = list; sggList = list;
const rowsForSubmit = mergeGridRowsWithMapRows(currentData, mapRows, [ const rowsForSubmit = mergeGridRowsWithMapRows(currentData, mapRows, [
"ognzSn", PUBLIC_INSTITUTION_OGNZ_SN_FIELD,
"admdstCd", "admdstCd",
"admdstNm", "admdstNm",
"__isNewArticle", "__isNewArticle",
@@ -1387,14 +1401,14 @@ const SewageExcretaRelatedInp = () => {
const submitRequestBase = { const submitRequestBase = {
...searchContextBase, ...searchContextBase,
laePicNm: submitInfo.laePicNm, lclgvPicNm: submitInfo.lclgvPicNm,
laePicTelNo: submitInfo.laePicTelNo, lclgvPicTelnoCn: submitInfo.lclgvPicTelnoCn,
laeKbrdrDeptNm: submitInfo.laeKbrdrDeptNm, lclgvKbrdrDeptNm: submitInfo.lclgvKbrdrDeptNm,
laeKbrdrJbgdNm: submitInfo.laeKbrdrJbgdNm, lclgvKbrdrJbgdNm: submitInfo.lclgvKbrdrJbgdNm,
laeIdfrNm: submitInfo.laeIdfrNm, lclgvIdfrNm: submitInfo.lclgvIdfrNm,
laeIdfrTelNo: submitInfo.laeIdfrTelNo, lclgvIdfrTelnoCn: submitInfo.lclgvIdfrTelnoCn,
laeIdfrDeptNm: submitInfo.laeIdfrDeptNm, lclgvIdfrDeptNm: submitInfo.lclgvIdfrDeptNm,
laeIdfrJbgdNm: submitInfo.laeIdfrJbgdNm, lclgvIdfrJbgdNm: submitInfo.lclgvIdfrJbgdNm,
...(isPublicInstitutionTab ? { noApplicable } : {}), ...(isPublicInstitutionTab ? { noApplicable } : {}),
...(isAdminInfo ? { superAdmin: "superAdmin" as const } : {}), ...(isAdminInfo ? { superAdmin: "superAdmin" as const } : {}),
}; };
@@ -1437,14 +1451,14 @@ const SewageExcretaRelatedInp = () => {
tabKey === ExcretaRelatedIndustryInpColumn.tabKey tabKey === ExcretaRelatedIndustryInpColumn.tabKey
? await statisticsInputSewageExcretaRelatedApi.submitExcretaRelatedIndustry({ ? await statisticsInputSewageExcretaRelatedApi.submitExcretaRelatedIndustry({
...submitRequestBase, ...submitRequestBase,
userId: userInfo.userUnqId, userUuid: userInfo.userUnqId,
submitList: submitList as ExcretaRelatedIndustrySaveItem[], submitList: submitList as ExcretaRelatedIndustrySaveItem[],
}) })
: tabKey === PrivateSewageTreatRelatedIndustryInpColumn.tabKey : tabKey === PrivateSewageTreatRelatedIndustryInpColumn.tabKey
? await statisticsInputSewageExcretaRelatedApi.submitPrivateSewageTreatRelatedIndustry( ? await statisticsInputSewageExcretaRelatedApi.submitPrivateSewageTreatRelatedIndustry(
{ {
...submitRequestBase, ...submitRequestBase,
userId: userInfo.userUnqId, userUuid: userInfo.userUnqId,
submitList: submitList:
submitList as PrivateSewageTreatRelatedIndustrySaveItem[], submitList as PrivateSewageTreatRelatedIndustrySaveItem[],
}, },
@@ -1453,17 +1467,17 @@ const SewageExcretaRelatedInp = () => {
? await statisticsInputSewageExcretaRelatedApi.submitPublicInstitutionSewerIndustry( ? await statisticsInputSewageExcretaRelatedApi.submitPublicInstitutionSewerIndustry(
{ {
...submitRequestBase, ...submitRequestBase,
userId: userInfo.userUnqId, userUuid: userInfo.userUnqId,
submitList: submitList as PublicInstitutionSewerIndustrySaveItem[], submitList: submitList as PublicInstitutionSewerIndustrySaveItem[],
deleteList, deleteList: deleteList as PublicInstitutionSewerIndustrySaveItem[],
}, },
) )
: await statisticsInputSewageExcretaRelatedApi.submitPublicInstitutionExcretaIndustry( : await statisticsInputSewageExcretaRelatedApi.submitPublicInstitutionExcretaIndustry(
{ {
...submitRequestBase, ...submitRequestBase,
userId: userInfo.userUnqId, userUuid: userInfo.userUnqId,
submitList: submitList as PublicInstitutionSewerIndustrySaveItem[], submitList: submitList as PublicInstitutionExcretaIndustrySaveItem[],
deleteList, deleteList: deleteList as PublicInstitutionExcretaIndustrySaveItem[],
}, },
); );
@@ -1484,7 +1498,7 @@ const SewageExcretaRelatedInp = () => {
stats_cd: statsCdForTab, stats_cd: statsCdForTab,
stats_yr: lastSearchedValues.year ?? "", stats_yr: lastSearchedValues.year ?? "",
lae_sbmsn_stts_cd: lae_sbmsn_stts_cd:
activeTabStatus?.laeSbmsnSttsCd === "4" ? "4" : "2", activeTabStatus?.lclgvSbmsnSttsCd === "4" ? "4" : "2",
gen_verify_stts_cd: nvpassed ? "1" : "2", gen_verify_stts_cd: nvpassed ? "1" : "2",
hb_pass_yn: response.data?.isHbPassed, hb_pass_yn: response.data?.isHbPassed,
}; };
@@ -1577,7 +1591,7 @@ const SewageExcretaRelatedInp = () => {
setIsLoading(true); setIsLoading(true);
const userInfo = await getUserInfo(); const userInfo = await getUserInfo();
const userFields = { const userFields = {
userId: userInfo.userUnqId, userUuid: userInfo.userUnqId,
...(isAdminInfo ? { superAdmin: "superAdmin" as const } : {}), ...(isAdminInfo ? { superAdmin: "superAdmin" as const } : {}),
}; };
@@ -1628,7 +1642,7 @@ const SewageExcretaRelatedInp = () => {
sggList = list; sggList = list;
const rowsForSave = mergeGridRowsWithMapRows(currentData, mapRows, [ const rowsForSave = mergeGridRowsWithMapRows(currentData, mapRows, [
"ognzSn", PUBLIC_INSTITUTION_OGNZ_SN_FIELD,
"admdstCd", "admdstCd",
"admdstNm", "admdstNm",
"__isNewArticle", "__isNewArticle",
@@ -1661,16 +1675,16 @@ const SewageExcretaRelatedInp = () => {
{ {
...baseSaveRequest, ...baseSaveRequest,
...userFields, ...userFields,
saveList, saveList: saveList as PublicInstitutionSewerIndustrySaveItem[],
deleteList, deleteList: deleteList as PublicInstitutionSewerIndustrySaveItem[],
}, },
) )
: await statisticsInputSewageExcretaRelatedApi.savePublicInstitutionExcretaIndustry( : await statisticsInputSewageExcretaRelatedApi.savePublicInstitutionExcretaIndustry(
{ {
...baseSaveRequest, ...baseSaveRequest,
...userFields, ...userFields,
saveList, saveList: saveList as PublicInstitutionExcretaIndustrySaveItem[],
deleteList, deleteList: deleteList as PublicInstitutionExcretaIndustrySaveItem[],
}, },
); );
} else { } else {
@@ -2011,7 +2025,7 @@ const SewageExcretaRelatedInp = () => {
{submitOk && <SubmitButton submitFunc={submitFunc} />} {submitOk && <SubmitButton submitFunc={submitFunc} />}
</> </>
)} )}
{activeTabStatus?.laeSbmsnSttsCd === "2" && submitOk && ( {activeTabStatus?.lclgvSbmsnSttsCd === "2" && submitOk && (
<CancelSubmitButton cnacelSubmitFunc={cnacelSubmitFunc} /> <CancelSubmitButton cnacelSubmitFunc={cnacelSubmitFunc} />
)} )}
{showSaveInToolbar && <SaveButton saveFunc={saveFunc} />} {showSaveInToolbar && <SaveButton saveFunc={saveFunc} />}
@@ -157,7 +157,7 @@ function verificationCellTooltip({
? "일반검증 - " ? "일반검증 - "
: "모집단 검증 - "; : "모집단 검증 - ";
return `${prefix}${e.rsnExpln} return `${prefix}${e.rsnExpln}
(검증 기준값: ${e.compVlCn} / 현재 입력값: ${e.nowVlCn})`; (검증 기준값: ${e.cmprCn} / 현재 입력값: ${e.nowCn})`;
}) })
.filter(Boolean) .filter(Boolean)
.join("\n"); .join("\n");
@@ -343,8 +343,8 @@ const computeTabEnterable = (
statusInfo: SewerageStatusInfo | null | undefined, statusInfo: SewerageStatusInfo | null | undefined,
periodEnterable: boolean, periodEnterable: boolean,
): boolean => { ): boolean => {
if (statusInfo?.laeSbmsnSttsCd) { if (statusInfo?.lclgvSbmsnSttsCd) {
if (["2", "3"].includes(statusInfo.laeSbmsnSttsCd)) { if (["2", "3"].includes(statusInfo.lclgvSbmsnSttsCd)) {
return false; return false;
} }
return periodEnterable; return periodEnterable;
@@ -380,7 +380,7 @@ function computeTabToolbarSnapshot(
): TabToolbarSnapshot { ): TabToolbarSnapshot {
const gugunOk = buildGugunOkForToolbar(searchContext); const gugunOk = buildGugunOkForToolbar(searchContext);
const enterable = computeTabEnterable(statusInfo, periodEnterable); const enterable = computeTabEnterable(statusInfo, periodEnterable);
const isSubmitted = statusInfo?.laeSbmsnSttsCd === "2"; const isSubmitted = statusInfo?.lclgvSbmsnSttsCd === "2";
const showSaveInToolbar = (enterable || isAdminInfo) && periodEnterable && gugunOk; const showSaveInToolbar = (enterable || isAdminInfo) && periodEnterable && gugunOk;
const showEnterableToolbarButtons = enterable && gugunOk; const showEnterableToolbarButtons = enterable && gugunOk;
const showSubmittedInInputPeriodToolbar = const showSubmittedInInputPeriodToolbar =
@@ -504,39 +504,39 @@ function buildSlurgeProcessingFacStatusSaveItem(
otsdInflwQnt: toGridNumber(row.otsdInflwQnt), otsdInflwQnt: toGridNumber(row.otsdInflwQnt),
transfTmplntNm: nullableTrimmedString(row.transfTmplntNm), transfTmplntNm: nullableTrimmedString(row.transfTmplntNm),
transfPrcsQnt: toGridNumber(row.transfPrcsQnt), transfPrcsQnt: toGridNumber(row.transfPrcsQnt),
srpFncRt: toGridNumber(row.srpFncRt), sludgeFncRt: toGridNumber(row.sludgeFncRt),
itslfTs1RclmQnt: toGridNumber(row.itslfTs1RclmQnt), itslfFrlvlRclmQnt: toGridNumber(row.itslfFrlvlRclmQnt),
itslfTs1IncnrQnt: toGridNumber(row.itslfTs1IncnrQnt), itslfFrlvlIncnrQnt: toGridNumber(row.itslfFrlvlIncnrQnt),
itslfTs1AltdQnt: toGridNumber(row.itslfTs1AltdQnt), itslfFrlvlSldQnt: toGridNumber(row.itslfFrlvlSldQnt),
itslfTs1DryQnt: toGridNumber(row.itslfTs1DryQnt), itslfFrlvlDryQnt: toGridNumber(row.itslfFrlvlDryQnt),
itslfTs1FuelQnt: toGridNumber(row.itslfTs1FuelQnt), itslfFrlvlCrbnQnt: toGridNumber(row.itslfFrlvlCrbnQnt),
itslfTs1CmpstgQnt: toGridNumber(row.itslfTs1CmpstgQnt), itslfFrlvlCmpstgQnt: toGridNumber(row.itslfFrlvlCmpstgQnt),
cmpsPrcsFcltBzentyNm: nullableTrimmedString(row.cmpsPrcsFcltBzentyNm), cmpsPrcsFcltBzentyNm: nullableTrimmedString(row.cmpsPrcsFcltBzentyNm),
incnrPrcsLfvlm: toGridNumber(row.incnrPrcsLfvlm), incnrPrcsLfvlm: toGridNumber(row.incnrPrcsLfvlm),
incnrPrcsPrdctRmtrlQnt: toGridNumber(row.incnrPrcsPrdctRmtrlQnt), incnrPrcsPrdctRmtrlQnt: toGridNumber(row.incnrPrcsPrdctRmtrlQnt),
incnrPrcsFmlyrQnt: toGridNumber(row.incnrPrcsFmlyrQnt), incnrPrcsCwthQnt: toGridNumber(row.incnrPrcsCwthQnt),
incnrPrcsFcltNm: nullableTrimmedString(row.incnrPrcsFcltNm), incnrPrcsFcltNm: nullableTrimmedString(row.incnrPrcsFcltNm),
stbznPrcsLfvlm: toGridNumber(row.stbznPrcsLfvlm), sldPrcsLfvlm: toGridNumber(row.sldPrcsLfvlm),
stbznPrcsFmlyrQnt: toGridNumber(row.stbznPrcsFmlyrQnt), sldPrcsCwthQnt: toGridNumber(row.sldPrcsCwthQnt),
stbznPrcsFcltNm: nullableTrimmedString(row.stbznPrcsFcltNm), sldPrcsFcltNm: nullableTrimmedString(row.sldPrcsFcltNm),
dryPrcsLfvlm: toGridNumber(row.dryPrcsLfvlm), dryPrcsLfvlm: toGridNumber(row.dryPrcsLfvlm),
dryPrcsIncnrQnt: toGridNumber(row.dryPrcsIncnrQnt), dryPrcsIncnrQnt: toGridNumber(row.dryPrcsIncnrQnt),
dryPrcsFuelQnt: toGridNumber(row.dryPrcsFuelQnt), dryPrcsFuelQnt: toGridNumber(row.dryPrcsFuelQnt),
dryPrcsPrdctRmtrlQnt: toGridNumber(row.dryPrcsPrdctRmtrlQnt), dryPrcsPrdctRmtrlQnt: toGridNumber(row.dryPrcsPrdctRmtrlQnt),
dryPrcsFmlyrQnt: toGridNumber(row.dryPrcsFmlyrQnt), dryPrcsCwthQnt: toGridNumber(row.dryPrcsCwthQnt),
dryPrcsCmpstgQnt: toGridNumber(row.dryPrcsCmpstgQnt), dryPrcsCmpstgQnt: toGridNumber(row.dryPrcsCmpstgQnt),
dryPrcsFcltNm: nullableTrimmedString(row.dryPrcsFcltNm), dryPrcsFcltNm: nullableTrimmedString(row.dryPrcsFcltNm),
fuelPrcsIncnrQnt: toGridNumber(row.fuelPrcsIncnrQnt), crbnPrcsIncnrQnt: toGridNumber(row.crbnPrcsIncnrQnt),
fuelPrcsFuelQnt: toGridNumber(row.fuelPrcsFuelQnt), crbnPrcsFuelQnt: toGridNumber(row.crbnPrcsFuelQnt),
fuelPrcsFcltNm: nullableTrimmedString(row.fuelPrcsFcltNm), crbnPrcsFcltNm: nullableTrimmedString(row.crbnPrcsFcltNm),
otsdCnsgnRclmQnt: toGridNumber(row.otsdCnsgnRclmQnt), otsdCnsgnRclmQnt: toGridNumber(row.otsdCnsgnRclmQnt),
otsdCnsgnIncnrQnt: toGridNumber(row.otsdCnsgnIncnrQnt), otsdCnsgnIncnrQnt: toGridNumber(row.otsdCnsgnIncnrQnt),
otsdCnsgnFuelPwplQnt: toGridNumber(row.otsdCnsgnFuelPwplQnt), otsdCnsgnPwplQnt: toGridNumber(row.otsdCnsgnPwplQnt),
otsdCnsgnPrdctRmtrlQnt: toGridNumber(row.otsdCnsgnPrdctRmtrlQnt), otsdCnsgnPrdctRmtrlQnt: toGridNumber(row.otsdCnsgnPrdctRmtrlQnt),
otsdCnsgnFmlyrQnt: toGridNumber(row.otsdCnsgnFmlyrQnt), otsdCnsgnCwthQnt: toGridNumber(row.otsdCnsgnCwthQnt),
otsdCnsgnCmpstgQnt: toGridNumber(row.otsdCnsgnCmpstgQnt), otsdCnsgnCmpstgQnt: toGridNumber(row.otsdCnsgnCmpstgQnt),
otsdCnsgnFcltNm: nullableTrimmedString(row.otsdCnsgnFcltNm), otsdCnsgnFcltNm: nullableTrimmedString(row.otsdCnsgnFcltNm),
cparTs1Whol: toGridNumber(row.cparTs1Whol), cparFrlvlWholQnt: toGridNumber(row.cparFrlvlWholQnt),
rmrk: nullableTrimmedString(row.rmrk), rmrk: nullableTrimmedString(row.rmrk),
}; };
} }
@@ -553,23 +553,23 @@ function buildDigestorOperatingStatusSaveItem(
swtrmtFcltCd: nullableTrimmedString(row.swtrmtFcltCd), swtrmtFcltCd: nullableTrimmedString(row.swtrmtFcltCd),
swtrmtFcltNm: nullableTrimmedString(row.swtrmtFcltNm), swtrmtFcltNm: nullableTrimmedString(row.swtrmtFcltNm),
fcltSn: nullableTrimmedString(row.fcltSn), fcltSn: nullableTrimmedString(row.fcltSn),
digstnEnYn: nullableTrimmedString(row.digstnEnYn), gasPrcsEnYn: nullableTrimmedString(row.gasPrcsEnYn),
}; };
if (isDigestorOperatingRowDisabled(row)) { if (isDigestorOperatingRowDisabled(row)) {
return { return {
...base, ...base,
digstnEnYn: "N", gasPrcsEnYn: "N",
digstnCpct: 0, gasPrcsCpct: 0,
actlDrvnCpct: 0, actlDrvnCpct: 0,
digstnGasInputQnt: 0, prcsGasInputQnt: 0,
digstnGasInputSldDnst: 0, prcsGasInputSldDnst: 0,
digstnTnkOprtngDayCnt: 0, prcsRepoOprtngDayCnt: 0,
ocrnGasQnt: 0, ocrnGasQnt: 0,
digstnGasUtztnNtslQnt: 0, prcsGasUtztnNtslQnt: 0,
digstnGasUtztnEtgtQnt: 0, prcsGasUtztnEtgtQnt: 0,
digstnGasUtztnItslfQnt: 0, prcsGasUtztnItslfQnt: 0,
digstnGasUtztnEtcQnt: 0, prcsGasUtztnEtcQnt: 0,
surplsGasQnt: 0, surplsGasQnt: 0,
rmrk: null, rmrk: null,
}; };
@@ -577,16 +577,16 @@ function buildDigestorOperatingStatusSaveItem(
return { return {
...base, ...base,
digstnCpct: toGridNumber(row.digstnCpct), gasPrcsCpct: toGridNumber(row.gasPrcsCpct),
actlDrvnCpct: toGridNumber(row.actlDrvnCpct), actlDrvnCpct: toGridNumber(row.actlDrvnCpct),
digstnGasInputQnt: toGridNumber(row.digstnGasInputQnt), prcsGasInputQnt: toGridNumber(row.prcsGasInputQnt),
digstnGasInputSldDnst: toGridNumber(row.digstnGasInputSldDnst), prcsGasInputSldDnst: toGridNumber(row.prcsGasInputSldDnst),
digstnTnkOprtngDayCnt: toGridNumber(row.digstnTnkOprtngDayCnt), prcsRepoOprtngDayCnt: toGridNumber(row.prcsRepoOprtngDayCnt),
ocrnGasQnt: toGridNumber(row.ocrnGasQnt), ocrnGasQnt: toGridNumber(row.ocrnGasQnt),
digstnGasUtztnNtslQnt: toGridNumber(row.digstnGasUtztnNtslQnt), prcsGasUtztnNtslQnt: toGridNumber(row.prcsGasUtztnNtslQnt),
digstnGasUtztnEtgtQnt: toGridNumber(row.digstnGasUtztnEtgtQnt), prcsGasUtztnEtgtQnt: toGridNumber(row.prcsGasUtztnEtgtQnt),
digstnGasUtztnItslfQnt: toGridNumber(row.digstnGasUtztnItslfQnt), prcsGasUtztnItslfQnt: toGridNumber(row.prcsGasUtztnItslfQnt),
digstnGasUtztnEtcQnt: toGridNumber(row.digstnGasUtztnEtcQnt), prcsGasUtztnEtcQnt: toGridNumber(row.prcsGasUtztnEtcQnt),
surplsGasQnt: toGridNumber(row.surplsGasQnt), surplsGasQnt: toGridNumber(row.surplsGasQnt),
rmrk: nullableTrimmedString(row.rmrk), rmrk: nullableTrimmedString(row.rmrk),
}; };
@@ -604,10 +604,10 @@ function buildSewageSlurgeProcessingFacStatusSaveItem(
fcltSn: nullableTrimmedString(row.fcltSn), fcltSn: nullableTrimmedString(row.fcltSn),
fcltNm: nullableTrimmedString(row.fcltNm), fcltNm: nullableTrimmedString(row.fcltNm),
prcsMthExpln: nullableTrimmedString(row.prcsMthExpln), prcsMthExpln: nullableTrimmedString(row.prcsMthExpln),
fcltCpct: toGridNumber(row.fcltCpct), sludgeFcltCpct: toGridNumber(row.sludgeFcltCpct),
anlPrcsQnt: toGridNumber(row.anlPrcsQnt), anlPrcsQnt: toGridNumber(row.anlPrcsQnt),
dayAvgOprtngHr: toGridNumber(row.dayAvgOprtngHr), dyrgOprtngHr: toGridNumber(row.dyrgOprtngHr),
anlOprtngDayCnt: toGridNumber(row.anlOprtngDayCnt), fcltAnlOprtngDayCnt: toGridNumber(row.fcltAnlOprtngDayCnt),
rmrk: nullableTrimmedString(row.rmrk), rmrk: nullableTrimmedString(row.rmrk),
}; };
} }
@@ -630,7 +630,7 @@ function buildExcretaSlurgeProcessingStatusSaveItem(
oceanInputQnt: toGridNumber(row.oceanInputQnt), oceanInputQnt: toGridNumber(row.oceanInputQnt),
fuelQnt: toGridNumber(row.fuelQnt), fuelQnt: toGridNumber(row.fuelQnt),
etcQnt: toGridNumber(row.etcQnt), etcQnt: toGridNumber(row.etcQnt),
nondspsQnt: toGridNumber(row.nondspsQnt), unprcsQnt: toGridNumber(row.unprcsQnt),
swtrmtFcltNm: nullableTrimmedString(row.swtrmtFcltNm), swtrmtFcltNm: nullableTrimmedString(row.swtrmtFcltNm),
rmrk: nullableTrimmedString(row.rmrk), rmrk: nullableTrimmedString(row.rmrk),
}; };
@@ -1423,15 +1423,15 @@ const SewageExcretaSlurgeInp = () => {
statsYr: lastSearchedValues.year ?? "", statsYr: lastSearchedValues.year ?? "",
ctpvNm: lastSearchedValues.sido ?? "", ctpvNm: lastSearchedValues.sido ?? "",
...toInputSearchRegion(sidoListRef.current, lastSearchedValues), ...toInputSearchRegion(sidoListRef.current, lastSearchedValues),
userId: "", userUuid: "",
laePicNm: submitInfo.laePicNm, lclgvPicNm: submitInfo.lclgvPicNm,
laePicTelNo: submitInfo.laePicTelNo, lclgvPicTelnoCn: submitInfo.lclgvPicTelnoCn,
laeKbrdrDeptNm: submitInfo.laeKbrdrDeptNm, lclgvKbrdrDeptNm: submitInfo.lclgvKbrdrDeptNm,
laeKbrdrJbgdNm: submitInfo.laeKbrdrJbgdNm, lclgvKbrdrJbgdNm: submitInfo.lclgvKbrdrJbgdNm,
laeIdfrNm: submitInfo.laeIdfrNm, lclgvIdfrNm: submitInfo.lclgvIdfrNm,
laeIdfrTelNo: submitInfo.laeIdfrTelNo, lclgvIdfrTelnoCn: submitInfo.lclgvIdfrTelnoCn,
laeIdfrDeptNm: submitInfo.laeIdfrDeptNm, lclgvIdfrDeptNm: submitInfo.lclgvIdfrDeptNm,
laeIdfrJbgdNm: submitInfo.laeIdfrJbgdNm, lclgvIdfrJbgdNm: submitInfo.lclgvIdfrJbgdNm,
...(isAdminInfo ? { superAdmin: "superAdmin" as const } : {}), ...(isAdminInfo ? { superAdmin: "superAdmin" as const } : {}),
noApplicable, noApplicable,
}; };
@@ -1443,21 +1443,21 @@ const SewageExcretaSlurgeInp = () => {
const response = isSlurgeFacTab const response = isSlurgeFacTab
? await statisticsInputSewageExcretaSlurgeApi.submitSlurgeProcessingFacStatus({ ? await statisticsInputSewageExcretaSlurgeApi.submitSlurgeProcessingFacStatus({
...submitRequestBase, ...submitRequestBase,
userId: userInfo.userUnqId, userUuid: userInfo.userUnqId,
submitList: slurgeSubmitList, submitList: slurgeSubmitList,
deleteList: slurgeDeleteList, deleteList: slurgeDeleteList,
}) })
: isDigestorTab : isDigestorTab
? await statisticsInputSewageExcretaSlurgeApi.submitDigestorOperatingStatus({ ? await statisticsInputSewageExcretaSlurgeApi.submitDigestorOperatingStatus({
...submitRequestBase, ...submitRequestBase,
userId: userInfo.userUnqId, userUuid: userInfo.userUnqId,
submitList: digestorSubmitList, submitList: digestorSubmitList,
}) })
: isSewageSlurgeFacTab : isSewageSlurgeFacTab
? await statisticsInputSewageExcretaSlurgeApi.submitSewageSlurgeProcessingFacStatus( ? await statisticsInputSewageExcretaSlurgeApi.submitSewageSlurgeProcessingFacStatus(
{ {
...submitRequestBase, ...submitRequestBase,
userId: userInfo.userUnqId, userUuid: userInfo.userUnqId,
submitList: sewageSlurgeFacSubmitList, submitList: sewageSlurgeFacSubmitList,
deleteList: sewageSlurgeFacDeleteList, deleteList: sewageSlurgeFacDeleteList,
}, },
@@ -1465,7 +1465,7 @@ const SewageExcretaSlurgeInp = () => {
: await statisticsInputSewageExcretaSlurgeApi.submitExcretaSlurgeProcessingStatus( : await statisticsInputSewageExcretaSlurgeApi.submitExcretaSlurgeProcessingStatus(
{ {
...submitRequestBase, ...submitRequestBase,
userId: userInfo.userUnqId, userUuid: userInfo.userUnqId,
submitList: excretaSlurgeSubmitList, submitList: excretaSlurgeSubmitList,
}, },
); );
@@ -1487,7 +1487,7 @@ const SewageExcretaSlurgeInp = () => {
stats_cd: statsCdForSubmit, stats_cd: statsCdForSubmit,
stats_yr: lastSearchedValues.year ?? "", stats_yr: lastSearchedValues.year ?? "",
lae_sbmsn_stts_cd: lae_sbmsn_stts_cd:
activeTabStatus?.laeSbmsnSttsCd === "4" ? "4" : "2", activeTabStatus?.lclgvSbmsnSttsCd === "4" ? "4" : "2",
gen_verify_stts_cd: nvpassed ? "1" : "2", gen_verify_stts_cd: nvpassed ? "1" : "2",
hb_pass_yn: response.data?.isHbPassed, hb_pass_yn: response.data?.isHbPassed,
}; };
@@ -1564,7 +1564,7 @@ const SewageExcretaSlurgeInp = () => {
...toInputSearchRegion(sidoListRef.current, lastSearchedValues), ...toInputSearchRegion(sidoListRef.current, lastSearchedValues),
ctpvNm: lastSearchedValues.sido ?? "", ctpvNm: lastSearchedValues.sido ?? "",
statsYr: lastSearchedValues.year ?? "", statsYr: lastSearchedValues.year ?? "",
mdfrId: userInfo.userUnqId, mdfrUuid: userInfo.userUnqId,
statsCd: statsCdForTab, statsCd: statsCdForTab,
}; };
@@ -1636,7 +1636,7 @@ const SewageExcretaSlurgeInp = () => {
setIsLoading(true); setIsLoading(true);
const userInfo = await getUserInfo(); const userInfo = await getUserInfo();
const userFields = { const userFields = {
userId: userInfo.userUnqId, userUuid: userInfo.userUnqId,
...(isAdminInfo ? { superAdmin: "superAdmin" as const } : {}), ...(isAdminInfo ? { superAdmin: "superAdmin" as const } : {}),
}; };
@@ -2109,7 +2109,7 @@ const SewageExcretaSlurgeInp = () => {
{submitOk && <SubmitButton submitFunc={submitFunc} />} {submitOk && <SubmitButton submitFunc={submitFunc} />}
</> </>
)} )}
{activeTabStatus?.laeSbmsnSttsCd === "2" && submitOk && ( {activeTabStatus?.lclgvSbmsnSttsCd === "2" && submitOk && (
<CancelSubmitButton cnacelSubmitFunc={cnacelSubmitFunc} /> <CancelSubmitButton cnacelSubmitFunc={cnacelSubmitFunc} />
)} )}
{showSaveInToolbar && <SaveButton saveFunc={saveFunc} />} {showSaveInToolbar && <SaveButton saveFunc={saveFunc} />}
@@ -91,8 +91,8 @@ const computeTabEnterable = (
statusInfo: SewerageStatusInfo | null | undefined, statusInfo: SewerageStatusInfo | null | undefined,
periodEnterable: boolean, periodEnterable: boolean,
): boolean => { ): boolean => {
if (statusInfo?.laeSbmsnSttsCd) { if (statusInfo?.lclgvSbmsnSttsCd) {
if (["2", "3"].includes(statusInfo.laeSbmsnSttsCd)) { if (["2", "3"].includes(statusInfo.lclgvSbmsnSttsCd)) {
return false; return false;
} }
return periodEnterable; return periodEnterable;
@@ -242,6 +242,7 @@ function normalizePipeTypeStatusRow(
lyngPrlgWhol, lyngPrlgWhol,
dmltnPrlgWhol, dmltnPrlgWhol,
verificationResult, verificationResult,
rmrk,
...rest ...rest
} = row; } = row;
const yearFields: Record<string, number> = {}; const yearFields: Record<string, number> = {};
@@ -256,7 +257,7 @@ function normalizePipeTypeStatusRow(
if (!Number.isFinite(year)) continue; if (!Number.isFinite(year)) continue;
const targetYear = Math.min(lastDataYear, Math.max(1995, year)); const targetYear = Math.min(lastDataYear, Math.max(1995, year));
yearFields[`y${targetYear}PrlgWhol`] = 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`] =
(yearFields[`y${targetYear}LyngPrlg`] ?? 0) + Number(y.lyngPrlg ?? 0); (yearFields[`y${targetYear}LyngPrlg`] ?? 0) + Number(y.lyngPrlg ?? 0);
yearFields[`y${targetYear}DmltnPrlg`] = yearFields[`y${targetYear}DmltnPrlg`] =
@@ -266,8 +267,9 @@ function normalizePipeTypeStatusRow(
return { return {
ctpvNm, ctpvNm,
...rest, ...rest,
lyngPrlg: Number(row.lyngPrlg ?? lyngPrlgWhol ?? 0), rmrk: rmrk ?? "",
dmltnPrlg: Number(row.dmltnPrlg ?? dmltnPrlgWhol ?? 0), lyngPrlg: Number(lyngPrlgWhol ?? 0),
dmltnPrlg: Number(dmltnPrlgWhol ?? 0),
...yearFields, ...yearFields,
verificationResult: remapPipeTypePrlgWholVerification(verificationResult) ?? undefined, verificationResult: remapPipeTypePrlgWholVerification(verificationResult) ?? undefined,
}; };
@@ -341,29 +343,29 @@ function buildRegionalFactSubmitListFromGrid(
cbsysPplMtncPlanPrlg: formatNumber(d.cbsysPplMtncPlanPrlg, "cbsysPplMtncPlanPrlg"), cbsysPplMtncPlanPrlg: formatNumber(d.cbsysPplMtncPlanPrlg, "cbsysPplMtncPlanPrlg"),
cbsysPlanPrlg: formatNumber(d.cbsysPlanPrlg, "cbsysPlanPrlg"), cbsysPlanPrlg: formatNumber(d.cbsysPlanPrlg, "cbsysPlanPrlg"),
cbsysFcltPrlg: formatNumber(d.cbsysFcltPrlg, "cbsysFcltPrlg"), cbsysFcltPrlg: formatNumber(d.cbsysFcltPrlg, "cbsysFcltPrlg"),
cbsysSqrePrlg: formatNumber(d.cbsysSqrePrlg, "cbsysSqrePrlg"), cbsysShpPrlg: formatNumber(d.cbsysShpPrlg, "cbsysShpPrlg"),
cbsysCiclPrlg: formatNumber(d.cbsysCiclPrlg, "cbsysCiclPrlg"), cbsysElpsdPrlg: formatNumber(d.cbsysElpsdPrlg, "cbsysElpsdPrlg"),
cbsysOpnPrlg: formatNumber(d.cbsysOpnPrlg, "cbsysOpnPrlg"), cbsysOpnPrlg: formatNumber(d.cbsysOpnPrlg, "cbsysOpnPrlg"),
cbsysGttrPrlg: formatNumber(d.cbsysGttrPrlg, "cbsysGttrPrlg"), cbsysLaditPrlg: formatNumber(d.cbsysLaditPrlg, "cbsysLaditPrlg"),
drtwPplMtncPlanArea: formatNumber(d.drtwPplMtncPlanArea, "drtwPplMtncPlanArea"), drtwPplMtncPlanArea: formatNumber(d.drtwPplMtncPlanArea, "drtwPplMtncPlanArea"),
drtwPplMtncPlanPrlg: formatNumber(d.drtwPplMtncPlanPrlg, "drtwPplMtncPlanPrlg"), drtwPplMtncPlanPrlg: formatNumber(d.drtwPplMtncPlanPrlg, "drtwPplMtncPlanPrlg"),
drtwPplPlanPrlg: formatNumber(d.drtwPplPlanPrlg, "drtwPplPlanPrlg"), drtwPplPlanPrlg: formatNumber(d.drtwPplPlanPrlg, "drtwPplPlanPrlg"),
drtwPplFcltPrlg: formatNumber(d.drtwPplFcltPrlg, "drtwPplFcltPrlg"), drtwPplFcltPrlg: formatNumber(d.drtwPplFcltPrlg, "drtwPplFcltPrlg"),
drtwPplSqrePrlg: formatNumber(d.drtwPplSqrePrlg, "drtwPplSqrePrlg"), drtwPplShpPrlg: formatNumber(d.drtwPplShpPrlg, "drtwPplShpPrlg"),
drtwPplCiclPrlg: formatNumber(d.drtwPplCiclPrlg, "drtwPplCiclPrlg"), drtwPplElpsdPrlg: formatNumber(d.drtwPplElpsdPrlg, "drtwPplElpsdPrlg"),
exlnPplMtncPlanArea: formatNumber(d.exlnPplMtncPlanArea, "exlnPplMtncPlanArea"), exlnPplMtncPlanArea: formatNumber(d.exlnPplMtncPlanArea, "exlnPplMtncPlanArea"),
exlnPplMtncPlanPrlg: formatNumber(d.exlnPplMtncPlanPrlg, "exlnPplMtncPlanPrlg"), exlnPplMtncPlanPrlg: formatNumber(d.exlnPplMtncPlanPrlg, "exlnPplMtncPlanPrlg"),
exlnPplPlanPrlg: formatNumber(d.exlnPplPlanPrlg, "exlnPplPlanPrlg"), exlnPplPlanPrlg: formatNumber(d.exlnPplPlanPrlg, "exlnPplPlanPrlg"),
exlnPplFcltPrlg: formatNumber(d.exlnPplFcltPrlg, "exlnPplFcltPrlg"), exlnPplFcltPrlg: formatNumber(d.exlnPplFcltPrlg, "exlnPplFcltPrlg"),
exlnPplSqrePrlg: formatNumber(d.exlnPplSqrePrlg, "exlnPplSqrePrlg"), exlnPplShpPrlg: formatNumber(d.exlnPplShpPrlg, "exlnPplShpPrlg"),
exlnPplCiclPrlg: formatNumber(d.exlnPplCiclPrlg, "exlnPplCiclPrlg"), exlnPplElpsdPrlg: formatNumber(d.exlnPplElpsdPrlg, "exlnPplElpsdPrlg"),
exlnPplOpnPrlg: formatNumber(d.exlnPplOpnPrlg, "exlnPplOpnPrlg"), exlnPplOpnPrlg: formatNumber(d.exlnPplOpnPrlg, "exlnPplOpnPrlg"),
exlnPplGttrPrlg: formatNumber(d.exlnPplGttrPrlg, "exlnPplGttrPrlg"), exlnPplLaditPrlg: formatNumber(d.exlnPplLaditPrlg, "exlnPplLaditPrlg"),
cbsysMnhlCnt: formatNumber(d.cbsysMnhlCnt, "cbsysMnhlCnt"), cbsysMnhlCnt: formatNumber(d.cbsysMnhlCnt, "cbsysMnhlCnt"),
sprsysDrtwMnhlCnt: formatNumber(d.sprsysDrtwMnhlCnt, "sprsysDrtwMnhlCnt"), sprsysDrtwMnhlCnt: formatNumber(d.sprsysDrtwMnhlCnt, "sprsysDrtwMnhlCnt"),
sprsysExlnMnhlCnt: formatNumber(d.sprsysExlnMnhlCnt, "sprsysExlnMnhlCnt"), sprsysExlnMnhlCnt: formatNumber(d.sprsysExlnMnhlCnt, "sprsysExlnMnhlCnt"),
drtwRcvprpCnt: formatNumber(d.drtwRcvprpCnt, "drtwRcvprpCnt"), drtwDrgCnt: formatNumber(d.drtwDrgCnt, "drtwDrgCnt"),
exlnRcvprpCnt: formatNumber(d.exlnRcvprpCnt, "exlnRcvprpCnt"), exlnDrgCnt: formatNumber(d.exlnDrgCnt, "exlnDrgCnt"),
stofcbrCnt: formatNumber(d.stofcbrCnt, "stofcbrCnt"), stofcbrCnt: formatNumber(d.stofcbrCnt, "stofcbrCnt"),
exlnOtflCnt: formatNumber(d.exlnOtflCnt, "exlnOtflCnt"), exlnOtflCnt: formatNumber(d.exlnOtflCnt, "exlnOtflCnt"),
sewerLdgrEdpPrlg: formatNumber(d.sewerLdgrEdpPrlg, "sewerLdgrEdpPrlg"), sewerLdgrEdpPrlg: formatNumber(d.sewerLdgrEdpPrlg, "sewerLdgrEdpPrlg"),
@@ -419,7 +421,7 @@ function computeTabToolbarSnapshot(
): TabToolbarSnapshot { ): TabToolbarSnapshot {
const gugunOk = buildGugunOkForToolbar(searchContext); const gugunOk = buildGugunOkForToolbar(searchContext);
const enterable = computeTabEnterable(statusInfo, periodEnterable); const enterable = computeTabEnterable(statusInfo, periodEnterable);
const isSubmitted = statusInfo?.laeSbmsnSttsCd === "2"; const isSubmitted = statusInfo?.lclgvSbmsnSttsCd === "2";
const showSaveInToolbar = (enterable || isAdminInfo) && periodEnterable && gugunOk; const showSaveInToolbar = (enterable || isAdminInfo) && periodEnterable && gugunOk;
const showEnterableToolbarButtons = enterable && gugunOk; const showEnterableToolbarButtons = enterable && gugunOk;
const showSubmittedInInputPeriodToolbar = isSubmitted && periodEnterable && gugunOk; const showSubmittedInInputPeriodToolbar = isSubmitted && periodEnterable && gugunOk;
@@ -1109,7 +1111,7 @@ const SewagePipeInp = () => {
...toInputSearchRegion(sidoListRef.current, searchValues), ...toInputSearchRegion(sidoListRef.current, searchValues),
ctpvNm: searchValues?.sido ?? "", ctpvNm: searchValues?.sido ?? "",
statsYr: searchValues?.year ?? "", statsYr: searchValues?.year ?? "",
userId: userInfo.userUnqId, userUuid: userInfo.userUnqId,
statsCd: statsCdForTab, statsCd: statsCdForTab,
}; };
@@ -1191,15 +1193,15 @@ const SewagePipeInp = () => {
statsYr: values.year ?? "", statsYr: values.year ?? "",
ctpvNm: values.sido ?? "", ctpvNm: values.sido ?? "",
...toInputSearchRegion(sidoListRef.current, values), ...toInputSearchRegion(sidoListRef.current, values),
userId: userInfo.userUnqId, userUuid: userInfo.userUnqId,
laePicNm: submitInfo.laePicNm, lclgvPicNm: submitInfo.lclgvPicNm,
laeKbrdrJbgdNm: submitInfo.laeKbrdrJbgdNm, lclgvKbrdrJbgdNm: submitInfo.lclgvKbrdrJbgdNm,
laeKbrdrDeptNm: submitInfo.laeKbrdrDeptNm, lclgvKbrdrDeptNm: submitInfo.lclgvKbrdrDeptNm,
laePicTelNo: submitInfo.laePicTelNo, lclgvPicTelnoCn: submitInfo.lclgvPicTelnoCn,
laeIdfrNm: submitInfo.laeIdfrNm, lclgvIdfrNm: submitInfo.lclgvIdfrNm,
laeIdfrJbgdNm: submitInfo.laeIdfrJbgdNm, lclgvIdfrJbgdNm: submitInfo.lclgvIdfrJbgdNm,
laeIdfrDeptNm: submitInfo.laeIdfrDeptNm, lclgvIdfrDeptNm: submitInfo.lclgvIdfrDeptNm,
laeIdfrTelNo: submitInfo.laeIdfrTelNo, lclgvIdfrTelnoCn: submitInfo.lclgvIdfrTelnoCn,
}; };
let response: SeweragePipeInputSubmitResponse | null = null; let response: SeweragePipeInputSubmitResponse | null = null;
@@ -1250,14 +1252,14 @@ const SewagePipeInp = () => {
swtrmtFcltCd: nullableTrimmedString(d.swtrmtFcltCd), swtrmtFcltCd: nullableTrimmedString(d.swtrmtFcltCd),
swtrmtFcltNm: nullableTrimmedString(d.swtrmtFcltNm), swtrmtFcltNm: nullableTrimmedString(d.swtrmtFcltNm),
prcsZoneArea: formatNumber(d.prcsZoneArea, "prcsZoneArea"), prcsZoneArea: formatNumber(d.prcsZoneArea, "prcsZoneArea"),
cbsysPrcsZoneArea: formatNumber(d.cbsysPrcsZoneArea, "cbsysPrcsZoneArea"), cbsysTrtznArea: formatNumber(d.cbsysTrtznArea, "cbsysTrtznArea"),
sprsysPrcsZoneArea: formatNumber(d.sprsysPrcsZoneArea, "sprsysPrcsZoneArea"), sprsysTrtznArea: formatNumber(d.sprsysTrtznArea, "sprsysTrtznArea"),
sprsysVartnRt: formatNumber(d.sprsysVartnRt, "sprsysVartnRt"), sprsysVartnRt: formatNumber(d.sprsysVartnRt, "sprsysVartnRt"),
mltvEqpmCnt: formatNumber(d.mltvEqpmCnt, "mltvEqpmCnt"), wholDrgCnt: formatNumber(d.wholDrgCnt, "wholDrgCnt"),
cbsysMltvEqpmCnt: formatNumber(d.cbsysMltvEqpmCnt, "cbsysMltvEqpmCnt"), cbsysDrgCnt: formatNumber(d.cbsysDrgCnt, "cbsysDrgCnt"),
sprsysMltvEqpmCnt: formatNumber(d.sprsysMltvEqpmCnt, "sprsysMltvEqpmCnt"), sprsysDrgCnt: formatNumber(d.sprsysDrgCnt, "sprsysDrgCnt"),
sprsysMltvLnkgCnt: formatNumber(d.sprsysMltvLnkgCnt, "sprsysMltvLnkgCnt"), sprsysDrgLnkgCnt: formatNumber(d.sprsysDrgLnkgCnt, "sprsysDrgLnkgCnt"),
sprsysMltvYetLnkgCnt: formatNumber(d.sprsysMltvYetLnkgCnt, "sprsysMltvYetLnkgCnt"), sprsysDrgNoinsLnkgCnt: formatNumber(d.sprsysDrgNoinsLnkgCnt, "sprsysDrgNoinsLnkgCnt"),
wholFcltPrlg: formatNumber(d.wholFcltPrlg, "wholFcltPrlg"), wholFcltPrlg: formatNumber(d.wholFcltPrlg, "wholFcltPrlg"),
wholIcptgAtlfcsPrlg: formatNumber(d.wholIcptgAtlfcsPrlg, "wholIcptgAtlfcsPrlg"), wholIcptgAtlfcsPrlg: formatNumber(d.wholIcptgAtlfcsPrlg, "wholIcptgAtlfcsPrlg"),
icptgPrlg: formatNumber(d.icptgPrlg, "icptgPrlg"), icptgPrlg: formatNumber(d.icptgPrlg, "icptgPrlg"),
@@ -1265,10 +1267,10 @@ const SewagePipeInp = () => {
cbsysStofcbrCnt: formatNumber(d.cbsysStofcbrCnt, "cbsysStofcbrCnt"), cbsysStofcbrCnt: formatNumber(d.cbsysStofcbrCnt, "cbsysStofcbrCnt"),
sprsysStofcbrCnt: formatNumber(d.sprsysStofcbrCnt, "sprsysStofcbrCnt"), sprsysStofcbrCnt: formatNumber(d.sprsysStofcbrCnt, "sprsysStofcbrCnt"),
sprsysExlnOtflCnt: formatNumber(d.sprsysExlnOtflCnt, "sprsysExlnOtflCnt"), sprsysExlnOtflCnt: formatNumber(d.sprsysExlnOtflCnt, "sprsysExlnOtflCnt"),
wholBrchlnPrlg: formatNumber(d.wholBrchlnPrlg, "wholBrchlnPrlg"), wholPplPrlg: formatNumber(d.wholPplPrlg, "wholPplPrlg"),
cbsysBrchlnPrlg: formatNumber(d.cbsysBrchlnPrlg, "cbsysBrchlnPrlg"), cbsysPplPrlg: formatNumber(d.cbsysPplPrlg, "cbsysPplPrlg"),
exlnBrchlnPrlg: formatNumber(d.exlnBrchlnPrlg, "exlnBrchlnPrlg"), exlnPplPrlg: formatNumber(d.exlnPplPrlg, "exlnPplPrlg"),
drtwBrchlnPrlg: formatNumber(d.drtwBrchlnPrlg, "drtwBrchlnPrlg"), drtwPplPrlg: formatNumber(d.drtwPplPrlg, "drtwPplPrlg"),
rmrk: nullableTrimmedString(d.rmrk), rmrk: nullableTrimmedString(d.rmrk),
})); }));
const requestData: SeweragePipeInputFactInstallStatusSubmitRequest = { const requestData: SeweragePipeInputFactInstallStatusSubmitRequest = {
@@ -1309,7 +1311,7 @@ const SewagePipeInp = () => {
lyngYr: String(year), lyngYr: String(year),
lyngPrlg: formatNumber(d[lyngKey] as string | number | undefined, lyngKey), lyngPrlg: formatNumber(d[lyngKey] as string | number | undefined, lyngKey),
dmltnPrlg: formatNumber(d[dmltnKey] as string | number | undefined, dmltnKey), 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 { return {
@@ -1352,15 +1354,15 @@ const SewagePipeInp = () => {
}; };
const submitList = currentData.map((d) => ({ const submitList = currentData.map((d) => ({
pipeSeCd: nullableTrimmedString(d.pipeSeCd), pipeSeCd: nullableTrimmedString(d.pipeSeCd),
step1PdmtPrlg: formatNumber(d.step1PdmtPrlg, "step1PdmtPrlg"), frlvlPdmtPrlg: formatNumber(d.frlvlPdmtPrlg, "frlvlPdmtPrlg"),
step2PdmtPrlg: formatNumber(d.step2PdmtPrlg, "step2PdmtPrlg"), sclvlPdmtPrlg: formatNumber(d.sclvlPdmtPrlg, "sclvlPdmtPrlg"),
step3PdmtPrlg: formatNumber(d.step3PdmtPrlg, "step3PdmtPrlg"), thlvlPdmtPrlg: formatNumber(d.thlvlPdmtPrlg, "thlvlPdmtPrlg"),
step4PdmtPrlg: formatNumber(d.step4PdmtPrlg, "step4PdmtPrlg"), folvlPdmtPrlg: formatNumber(d.folvlPdmtPrlg, "folvlPdmtPrlg"),
step5PdmtPrlg: formatNumber(d.step5PdmtPrlg, "step5PdmtPrlg"), filvlPdmtPrlg: formatNumber(d.filvlPdmtPrlg, "filvlPdmtPrlg"),
sqrePdmtPrlg: formatNumber(d.sqrePdmtPrlg, "sqrePdmtPrlg"), shpPdmtPrlg: formatNumber(d.shpPdmtPrlg, "shpPdmtPrlg"),
etcPdmtPrlg: formatNumber(d.etcPdmtPrlg, "etcPdmtPrlg"), etcPdmtPrlg: formatNumber(d.etcPdmtPrlg, "etcPdmtPrlg"),
rmrk: nullableTrimmedString(d.rmrk), rmrk: nullableTrimmedString(d.rmrk),
pdmtByTsmWhol: formatNumber(d.pdmtByTsmWhol, "pdmtByTsmWhol"), pdmtSeWholPrlg: formatNumber(d.pdmtSeWholPrlg, "pdmtSeWholPrlg"),
admdstCd: nullableTrimmedString(d.admdstCd), admdstCd: nullableTrimmedString(d.admdstCd),
admdstNm: nullableTrimmedString(d.admdstNm), admdstNm: nullableTrimmedString(d.admdstNm),
})); }));
@@ -1431,7 +1433,7 @@ const SewagePipeInp = () => {
sewer_bzmn_cd: values?.bsnmCd ?? '', sewer_bzmn_cd: values?.bsnmCd ?? '',
stats_cd: statsCdForTab, stats_cd: statsCdForTab,
stats_yr: values.year ?? "", 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", gen_verify_stts_cd: nvpassed ? "1" : "2",
hb_pass_yn: response.data?.isHbPassed, hb_pass_yn: response.data?.isHbPassed,
}; };
@@ -1533,7 +1535,7 @@ const SewagePipeInp = () => {
...toInputSearchRegion(sidoListRef.current, searchValues), ...toInputSearchRegion(sidoListRef.current, searchValues),
ctpvNm: searchValues?.sido ?? '', ctpvNm: searchValues?.sido ?? '',
statsYr: searchValues?.year ?? '', statsYr: searchValues?.year ?? '',
mdfrId: userInfo.userUnqId, mdfrUuid: userInfo.userUnqId,
statsCd: tabStatsCdMap.get(activeTab) ?? statsCd, statsCd: tabStatsCdMap.get(activeTab) ?? statsCd,
}; };
@@ -1628,29 +1630,29 @@ const SewagePipeInp = () => {
cbsysPplMtncPlanPrlg: formatNumber(d.cbsysPplMtncPlanPrlg, "cbsysPplMtncPlanPrlg"), cbsysPplMtncPlanPrlg: formatNumber(d.cbsysPplMtncPlanPrlg, "cbsysPplMtncPlanPrlg"),
cbsysPlanPrlg: formatNumber(d.cbsysPlanPrlg, "cbsysPlanPrlg"), cbsysPlanPrlg: formatNumber(d.cbsysPlanPrlg, "cbsysPlanPrlg"),
cbsysFcltPrlg: formatNumber(d.cbsysFcltPrlg, "cbsysFcltPrlg"), cbsysFcltPrlg: formatNumber(d.cbsysFcltPrlg, "cbsysFcltPrlg"),
cbsysSqrePrlg: formatNumber(d.cbsysSqrePrlg, "cbsysSqrePrlg"), cbsysShpPrlg: formatNumber(d.cbsysShpPrlg, "cbsysShpPrlg"),
cbsysCiclPrlg: formatNumber(d.cbsysCiclPrlg, "cbsysCiclPrlg"), cbsysElpsdPrlg: formatNumber(d.cbsysElpsdPrlg, "cbsysElpsdPrlg"),
cbsysOpnPrlg: formatNumber(d.cbsysOpnPrlg, "cbsysOpnPrlg"), cbsysOpnPrlg: formatNumber(d.cbsysOpnPrlg, "cbsysOpnPrlg"),
cbsysGttrPrlg: formatNumber(d.cbsysGttrPrlg, "cbsysGttrPrlg"), cbsysLaditPrlg: formatNumber(d.cbsysLaditPrlg, "cbsysLaditPrlg"),
drtwPplMtncPlanArea: formatNumber(d.drtwPplMtncPlanArea, "drtwPplMtncPlanArea"), drtwPplMtncPlanArea: formatNumber(d.drtwPplMtncPlanArea, "drtwPplMtncPlanArea"),
drtwPplMtncPlanPrlg: formatNumber(d.drtwPplMtncPlanPrlg, "drtwPplMtncPlanPrlg"), drtwPplMtncPlanPrlg: formatNumber(d.drtwPplMtncPlanPrlg, "drtwPplMtncPlanPrlg"),
drtwPplPlanPrlg: formatNumber(d.drtwPplPlanPrlg, "drtwPplPlanPrlg"), drtwPplPlanPrlg: formatNumber(d.drtwPplPlanPrlg, "drtwPplPlanPrlg"),
drtwPplFcltPrlg: formatNumber(d.drtwPplFcltPrlg, "drtwPplFcltPrlg"), drtwPplFcltPrlg: formatNumber(d.drtwPplFcltPrlg, "drtwPplFcltPrlg"),
drtwPplSqrePrlg: formatNumber(d.drtwPplSqrePrlg, "drtwPplSqrePrlg"), drtwPplShpPrlg: formatNumber(d.drtwPplShpPrlg, "drtwPplShpPrlg"),
drtwPplCiclPrlg: formatNumber(d.drtwPplCiclPrlg, "drtwPplCiclPrlg"), drtwPplElpsdPrlg: formatNumber(d.drtwPplElpsdPrlg, "drtwPplElpsdPrlg"),
exlnPplMtncPlanArea: formatNumber(d.exlnPplMtncPlanArea, "exlnPplMtncPlanArea"), exlnPplMtncPlanArea: formatNumber(d.exlnPplMtncPlanArea, "exlnPplMtncPlanArea"),
exlnPplMtncPlanPrlg: formatNumber(d.exlnPplMtncPlanPrlg, "exlnPplMtncPlanPrlg"), exlnPplMtncPlanPrlg: formatNumber(d.exlnPplMtncPlanPrlg, "exlnPplMtncPlanPrlg"),
exlnPplPlanPrlg: formatNumber(d.exlnPplPlanPrlg, "exlnPplPlanPrlg"), exlnPplPlanPrlg: formatNumber(d.exlnPplPlanPrlg, "exlnPplPlanPrlg"),
exlnPplFcltPrlg: formatNumber(d.exlnPplFcltPrlg, "exlnPplFcltPrlg"), exlnPplFcltPrlg: formatNumber(d.exlnPplFcltPrlg, "exlnPplFcltPrlg"),
exlnPplSqrePrlg: formatNumber(d.exlnPplSqrePrlg, "exlnPplSqrePrlg"), exlnPplShpPrlg: formatNumber(d.exlnPplShpPrlg, "exlnPplShpPrlg"),
exlnPplCiclPrlg: formatNumber(d.exlnPplCiclPrlg, "exlnPplCiclPrlg"), exlnPplElpsdPrlg: formatNumber(d.exlnPplElpsdPrlg, "exlnPplElpsdPrlg"),
exlnPplOpnPrlg: formatNumber(d.exlnPplOpnPrlg, "exlnPplOpnPrlg"), exlnPplOpnPrlg: formatNumber(d.exlnPplOpnPrlg, "exlnPplOpnPrlg"),
exlnPplGttrPrlg: formatNumber(d.exlnPplGttrPrlg, "exlnPplGttrPrlg"), exlnPplLaditPrlg: formatNumber(d.exlnPplLaditPrlg, "exlnPplLaditPrlg"),
cbsysMnhlCnt: formatNumber(d.cbsysMnhlCnt, "cbsysMnhlCnt"), cbsysMnhlCnt: formatNumber(d.cbsysMnhlCnt, "cbsysMnhlCnt"),
sprsysDrtwMnhlCnt: formatNumber(d.sprsysDrtwMnhlCnt, "sprsysDrtwMnhlCnt"), sprsysDrtwMnhlCnt: formatNumber(d.sprsysDrtwMnhlCnt, "sprsysDrtwMnhlCnt"),
sprsysExlnMnhlCnt: formatNumber(d.sprsysExlnMnhlCnt, "sprsysExlnMnhlCnt"), sprsysExlnMnhlCnt: formatNumber(d.sprsysExlnMnhlCnt, "sprsysExlnMnhlCnt"),
drtwRcvprpCnt: formatNumber(d.drtwRcvprpCnt, "drtwRcvprpCnt"), drtwDrgCnt: formatNumber(d.drtwDrgCnt, "drtwDrgCnt"),
exlnRcvprpCnt: formatNumber(d.exlnRcvprpCnt, "exlnRcvprpCnt"), exlnDrgCnt: formatNumber(d.exlnDrgCnt, "exlnDrgCnt"),
stofcbrCnt: formatNumber(d.stofcbrCnt, "stofcbrCnt"), stofcbrCnt: formatNumber(d.stofcbrCnt, "stofcbrCnt"),
exlnOtflCnt: formatNumber(d.exlnOtflCnt, "exlnOtflCnt"), exlnOtflCnt: formatNumber(d.exlnOtflCnt, "exlnOtflCnt"),
sewerLdgrEdpPrlg: formatNumber(d.sewerLdgrEdpPrlg, "sewerLdgrEdpPrlg"), sewerLdgrEdpPrlg: formatNumber(d.sewerLdgrEdpPrlg, "sewerLdgrEdpPrlg"),
@@ -1662,7 +1664,7 @@ const SewagePipeInp = () => {
statsYr: values.year ?? "", statsYr: values.year ?? "",
ctpvNm: values.sido ?? "", ctpvNm: values.sido ?? "",
...toInputSearchRegion(sidoListRef.current, values), ...toInputSearchRegion(sidoListRef.current, values),
userId: userInfo.userUnqId, userUuid: userInfo.userUnqId,
...(isAdminInfo ? { superAdmin: "superAdmin" } : {}), ...(isAdminInfo ? { superAdmin: "superAdmin" } : {}),
saveList, saveList,
}; };
@@ -1714,14 +1716,14 @@ const SewagePipeInp = () => {
swtrmtFcltCd: nullableTrimmedString(d.swtrmtFcltCd), swtrmtFcltCd: nullableTrimmedString(d.swtrmtFcltCd),
swtrmtFcltNm: nullableTrimmedString(d.swtrmtFcltNm), swtrmtFcltNm: nullableTrimmedString(d.swtrmtFcltNm),
prcsZoneArea: formatNumber(d.prcsZoneArea, "prcsZoneArea"), prcsZoneArea: formatNumber(d.prcsZoneArea, "prcsZoneArea"),
cbsysPrcsZoneArea: formatNumber(d.cbsysPrcsZoneArea, "cbsysPrcsZoneArea"), cbsysTrtznArea: formatNumber(d.cbsysTrtznArea, "cbsysTrtznArea"),
sprsysPrcsZoneArea: formatNumber(d.sprsysPrcsZoneArea, "sprsysPrcsZoneArea"), sprsysTrtznArea: formatNumber(d.sprsysTrtznArea, "sprsysTrtznArea"),
sprsysVartnRt: formatNumber(d.sprsysVartnRt, "sprsysVartnRt"), sprsysVartnRt: formatNumber(d.sprsysVartnRt, "sprsysVartnRt"),
mltvEqpmCnt: formatNumber(d.mltvEqpmCnt, "mltvEqpmCnt"), wholDrgCnt: formatNumber(d.wholDrgCnt, "wholDrgCnt"),
cbsysMltvEqpmCnt: formatNumber(d.cbsysMltvEqpmCnt, "cbsysMltvEqpmCnt"), cbsysDrgCnt: formatNumber(d.cbsysDrgCnt, "cbsysDrgCnt"),
sprsysMltvEqpmCnt: formatNumber(d.sprsysMltvEqpmCnt, "sprsysMltvEqpmCnt"), sprsysDrgCnt: formatNumber(d.sprsysDrgCnt, "sprsysDrgCnt"),
sprsysMltvLnkgCnt: formatNumber(d.sprsysMltvLnkgCnt, "sprsysMltvLnkgCnt"), sprsysDrgLnkgCnt: formatNumber(d.sprsysDrgLnkgCnt, "sprsysDrgLnkgCnt"),
sprsysMltvYetLnkgCnt: formatNumber(d.sprsysMltvYetLnkgCnt, "sprsysMltvYetLnkgCnt"), sprsysDrgNoinsLnkgCnt: formatNumber(d.sprsysDrgNoinsLnkgCnt, "sprsysDrgNoinsLnkgCnt"),
wholFcltPrlg: formatNumber(d.wholFcltPrlg, "wholFcltPrlg"), wholFcltPrlg: formatNumber(d.wholFcltPrlg, "wholFcltPrlg"),
wholIcptgAtlfcsPrlg: formatNumber(d.wholIcptgAtlfcsPrlg, "wholIcptgAtlfcsPrlg"), wholIcptgAtlfcsPrlg: formatNumber(d.wholIcptgAtlfcsPrlg, "wholIcptgAtlfcsPrlg"),
icptgPrlg: formatNumber(d.icptgPrlg, "icptgPrlg"), icptgPrlg: formatNumber(d.icptgPrlg, "icptgPrlg"),
@@ -1729,10 +1731,10 @@ const SewagePipeInp = () => {
cbsysStofcbrCnt: formatNumber(d.cbsysStofcbrCnt, "cbsysStofcbrCnt"), cbsysStofcbrCnt: formatNumber(d.cbsysStofcbrCnt, "cbsysStofcbrCnt"),
sprsysStofcbrCnt: formatNumber(d.sprsysStofcbrCnt, "sprsysStofcbrCnt"), sprsysStofcbrCnt: formatNumber(d.sprsysStofcbrCnt, "sprsysStofcbrCnt"),
sprsysExlnOtflCnt: formatNumber(d.sprsysExlnOtflCnt, "sprsysExlnOtflCnt"), sprsysExlnOtflCnt: formatNumber(d.sprsysExlnOtflCnt, "sprsysExlnOtflCnt"),
wholBrchlnPrlg: formatNumber(d.wholBrchlnPrlg, "wholBrchlnPrlg"), wholPplPrlg: formatNumber(d.wholPplPrlg, "wholPplPrlg"),
cbsysBrchlnPrlg: formatNumber(d.cbsysBrchlnPrlg, "cbsysBrchlnPrlg"), cbsysPplPrlg: formatNumber(d.cbsysPplPrlg, "cbsysPplPrlg"),
exlnBrchlnPrlg: formatNumber(d.exlnBrchlnPrlg, "exlnBrchlnPrlg"), exlnPplPrlg: formatNumber(d.exlnPplPrlg, "exlnPplPrlg"),
drtwBrchlnPrlg: formatNumber(d.drtwBrchlnPrlg, "drtwBrchlnPrlg"), drtwPplPrlg: formatNumber(d.drtwPplPrlg, "drtwPplPrlg"),
rmrk: nullableTrimmedString(d.rmrk), rmrk: nullableTrimmedString(d.rmrk),
})); }));
@@ -1740,7 +1742,7 @@ const SewagePipeInp = () => {
statsYr: values.year ?? "", statsYr: values.year ?? "",
ctpvNm: values.sido ?? "", ctpvNm: values.sido ?? "",
...toInputSearchRegion(sidoListRef.current, values), ...toInputSearchRegion(sidoListRef.current, values),
userId: userInfo.userUnqId, userUuid: userInfo.userUnqId,
...(isAdminInfo ? { superAdmin: "superAdmin" } : {}), ...(isAdminInfo ? { superAdmin: "superAdmin" } : {}),
saveList, saveList,
}; };
@@ -1800,7 +1802,7 @@ const SewagePipeInp = () => {
d[dmltnKey] as string | number | undefined, d[dmltnKey] as string | number | undefined,
dmltnKey, dmltnKey,
), ),
prlgWhol: formatNumber( pipeWholPrlg: formatNumber(
d[wholKey] as string | number | undefined, d[wholKey] as string | number | undefined,
wholKey, wholKey,
), ),
@@ -1824,7 +1826,7 @@ const SewagePipeInp = () => {
statsYr: values.year ?? "", statsYr: values.year ?? "",
ctpvNm: values.sido ?? "", ctpvNm: values.sido ?? "",
...toInputSearchRegion(sidoListRef.current, values), ...toInputSearchRegion(sidoListRef.current, values),
userId: userInfo.userUnqId, userUuid: userInfo.userUnqId,
...(isAdminInfo ? { superAdmin: "superAdmin" } : {}), ...(isAdminInfo ? { superAdmin: "superAdmin" } : {}),
saveList, saveList,
}; };
@@ -1867,15 +1869,15 @@ const SewagePipeInp = () => {
const saveList = currentData.map((d) => ({ const saveList = currentData.map((d) => ({
pipeSeCd: nullableTrimmedString(d.pipeSeCd), pipeSeCd: nullableTrimmedString(d.pipeSeCd),
step1PdmtPrlg: formatNumber(d.step1PdmtPrlg, "step1PdmtPrlg"), frlvlPdmtPrlg: formatNumber(d.frlvlPdmtPrlg, "frlvlPdmtPrlg"),
step2PdmtPrlg: formatNumber(d.step2PdmtPrlg, "step2PdmtPrlg"), sclvlPdmtPrlg: formatNumber(d.sclvlPdmtPrlg, "sclvlPdmtPrlg"),
step3PdmtPrlg: formatNumber(d.step3PdmtPrlg, "step3PdmtPrlg"), thlvlPdmtPrlg: formatNumber(d.thlvlPdmtPrlg, "thlvlPdmtPrlg"),
step4PdmtPrlg: formatNumber(d.step4PdmtPrlg, "step4PdmtPrlg"), folvlPdmtPrlg: formatNumber(d.folvlPdmtPrlg, "folvlPdmtPrlg"),
step5PdmtPrlg: formatNumber(d.step5PdmtPrlg, "step5PdmtPrlg"), filvlPdmtPrlg: formatNumber(d.filvlPdmtPrlg, "filvlPdmtPrlg"),
sqrePdmtPrlg: formatNumber(d.sqrePdmtPrlg, "sqrePdmtPrlg"), shpPdmtPrlg: formatNumber(d.shpPdmtPrlg, "shpPdmtPrlg"),
etcPdmtPrlg: formatNumber(d.etcPdmtPrlg, "etcPdmtPrlg"), etcPdmtPrlg: formatNumber(d.etcPdmtPrlg, "etcPdmtPrlg"),
rmrk: nullableTrimmedString(d.rmrk), rmrk: nullableTrimmedString(d.rmrk),
pdmtByTsmWhol: formatNumber(d.pdmtByTsmWhol, "pdmtByTsmWhol"), pdmtSeWholPrlg: formatNumber(d.pdmtSeWholPrlg, "pdmtSeWholPrlg"),
admdstCd: nullableTrimmedString(d.admdstCd), admdstCd: nullableTrimmedString(d.admdstCd),
admdstNm: nullableTrimmedString(d.admdstNm), admdstNm: nullableTrimmedString(d.admdstNm),
})); }));
@@ -1886,7 +1888,7 @@ const SewagePipeInp = () => {
statsYr: values.year ?? "", statsYr: values.year ?? "",
ctpvNm: values.sido ?? "", ctpvNm: values.sido ?? "",
...toInputSearchRegion(sidoListRef.current, values), ...toInputSearchRegion(sidoListRef.current, values),
userId: userInfo.userUnqId, userUuid: userInfo.userUnqId,
...(isAdminInfo ? { superAdmin: "superAdmin" } : {}), ...(isAdminInfo ? { superAdmin: "superAdmin" } : {}),
saveList, saveList,
}; };
@@ -1944,7 +1946,7 @@ const SewagePipeInp = () => {
statsYr: values.year ?? "", statsYr: values.year ?? "",
ctpvNm: values.sido ?? "", ctpvNm: values.sido ?? "",
...toInputSearchRegion(sidoListRef.current, values), ...toInputSearchRegion(sidoListRef.current, values),
userId: userInfo.userUnqId, userUuid: userInfo.userUnqId,
...(isAdminInfo ? { superAdmin: "superAdmin" } : {}), ...(isAdminInfo ? { superAdmin: "superAdmin" } : {}),
saveList, saveList,
}; };
@@ -2025,7 +2027,7 @@ const SewagePipeInp = () => {
{submitOk && <SubmitButton submitFunc={() => void submitFunc(false)} />} {submitOk && <SubmitButton submitFunc={() => void submitFunc(false)} />}
</> </>
)} )}
{activeTabStatus?.laeSbmsnSttsCd === "2" && submitOk && ( {activeTabStatus?.lclgvSbmsnSttsCd === "2" && submitOk && (
<CancelSubmitButton cnacelSubmitFunc={cnacelSubmitFunc} /> <CancelSubmitButton cnacelSubmitFunc={cnacelSubmitFunc} />
)} )}
{showSaveInToolbar && <SaveButton saveFunc={saveFunc} />} {showSaveInToolbar && <SaveButton saveFunc={saveFunc} />}
@@ -2219,8 +2221,8 @@ const SewagePipeInp = () => {
.map((e) => { .map((e) => {
const prefix = const prefix =
e.vrfcCd === "IMR" ? "시계열 검증 - " : (e.vrfcCd === "NV" ? "일반검증 - " : "모집단 검증 - "); e.vrfcCd === "IMR" ? "시계열 검증 - " : (e.vrfcCd === "NV" ? "일반검증 - " : "모집단 검증 - ");
const comp = e.compVlCn ?? ""; const comp = e.cmprCn ?? "";
const now = e.nowVlCn ?? ""; const now = e.nowCn ?? "";
return `${prefix}${e.rsnExpln} return `${prefix}${e.rsnExpln}
(검증 기준값: ${comp} / 현재 입력값: ${now})`; (검증 기준값: ${comp} / 현재 입력값: ${now})`;
}) })
@@ -113,8 +113,8 @@ const computeTabEnterable = (
statusInfo: SewerageStatusInfo | null | undefined, statusInfo: SewerageStatusInfo | null | undefined,
periodEnterable: boolean, periodEnterable: boolean,
): boolean => { ): boolean => {
if (statusInfo?.laeSbmsnSttsCd) { if (statusInfo?.lclgvSbmsnSttsCd) {
if (["2", "3"].includes(statusInfo.laeSbmsnSttsCd)) { if (["2", "3"].includes(statusInfo.lclgvSbmsnSttsCd)) {
return false; return false;
} }
return periodEnterable; return periodEnterable;
@@ -142,7 +142,7 @@ function computeTabToolbarSnapshot(
): TabToolbarSnapshot { ): TabToolbarSnapshot {
const gugunOk = buildGugunOkForToolbar(searchContext); const gugunOk = buildGugunOkForToolbar(searchContext);
const enterable = computeTabEnterable(statusInfo, periodEnterable); const enterable = computeTabEnterable(statusInfo, periodEnterable);
const isSubmitted = statusInfo?.laeSbmsnSttsCd === "2"; const isSubmitted = statusInfo?.lclgvSbmsnSttsCd === "2";
const showSaveInToolbar = (enterable || isAdminInfo) && periodEnterable && gugunOk; const showSaveInToolbar = (enterable || isAdminInfo) && periodEnterable && gugunOk;
const showEnterableToolbarButtons = enterable && gugunOk; const showEnterableToolbarButtons = enterable && gugunOk;
const showSubmittedInInputPeriodToolbar = const showSubmittedInInputPeriodToolbar =
@@ -220,18 +220,19 @@ function buildRepairRowList(
admdstCd: nullableTrimmedString(d.admdstCd), admdstCd: nullableTrimmedString(d.admdstCd),
sggNm: nullableTrimmedString(d.sggNm), sggNm: nullableTrimmedString(d.sggNm),
admdstNm: nullableTrimmedString(d.admdstNm), admdstNm: nullableTrimmedString(d.admdstNm),
mendngWhol: formatNumber(d.mendngWhol, "mendngWhol"), dfrpWholPrlg: formatNumber(d.dfrpWholPrlg, "dfrpWholPrlg"),
cbsysMendngPrlg: formatNumber(d.cbsysMendngPrlg, "cbsysMendngPrlg"), cbsysDfrpPrlg: formatNumber(d.cbsysDfrpPrlg, "cbsysDfrpPrlg"),
sprsysExlnPrlg: formatNumber(d.sprsysExlnPrlg, "sprsysExlnPrlg"), sprsysExlnPrlg: formatNumber(d.sprsysExlnPrlg, "sprsysExlnPrlg"),
sprsysDrtwPrlg: formatNumber(d.sprsysDrtwPrlg, "sprsysDrtwPrlg"), sprsysDrtwPrlg: formatNumber(d.sprsysDrtwPrlg, "sprsysDrtwPrlg"),
cbsysPartMendngPrlg: formatNumber(d.cbsysPartMendngPrlg, "cbsysPartMendngPrlg"), partDfrpWhol: formatNumber(d.partDfrpWhol, "partDfrpWhol"),
sprsysExlnMendngPrlg: formatNumber(d.sprsysExlnMendngPrlg, "sprsysExlnMendngPrlg"), cbsysPartDfrpPrlg: formatNumber(d.cbsysPartDfrpPrlg, "cbsysPartDfrpPrlg"),
sprsysDrtwMendngPrlg: formatNumber(d.sprsysDrtwMendngPrlg, "sprsysDrtwMendngPrlg"), sprsysExlnDfrpPrlg: formatNumber(d.sprsysExlnDfrpPrlg, "sprsysExlnDfrpPrlg"),
sprsysDrtwDfrpPrlg: formatNumber(d.sprsysDrtwDfrpPrlg, "sprsysDrtwDfrpPrlg"),
cbsysMnhlCnt: formatNumber(d.cbsysMnhlCnt, "cbsysMnhlCnt"), cbsysMnhlCnt: formatNumber(d.cbsysMnhlCnt, "cbsysMnhlCnt"),
sprsysDrtwMnhlCnt: formatNumber(d.sprsysDrtwMnhlCnt, "sprsysDrtwMnhlCnt"), sprsysDrtwMnhlCnt: formatNumber(d.sprsysDrtwMnhlCnt, "sprsysDrtwMnhlCnt"),
sprsysExlnMnhlCnt: formatNumber(d.sprsysExlnMnhlCnt, "sprsysExlnMnhlCnt"), sprsysExlnMnhlCnt: formatNumber(d.sprsysExlnMnhlCnt, "sprsysExlnMnhlCnt"),
drtwRcvprpCnt: formatNumber(d.drtwRcvprpCnt, "drtwRcvprpCnt"), drtwDrgCnt: formatNumber(d.drtwDrgCnt, "drtwDrgCnt"),
exlnRcvprpCnt: formatNumber(d.exlnRcvprpCnt, "exlnRcvprpCnt"), exlnDrgCnt: formatNumber(d.exlnDrgCnt, "exlnDrgCnt"),
stofcbrCnt: formatNumber(d.stofcbrCnt, "stofcbrCnt"), stofcbrCnt: formatNumber(d.stofcbrCnt, "stofcbrCnt"),
otflCnt: formatNumber(d.otflCnt, "otflCnt"), otflCnt: formatNumber(d.otflCnt, "otflCnt"),
cctvExmnPrlg: formatNumber(d.cctvExmnPrlg, "cctvExmnPrlg"), cctvExmnPrlg: formatNumber(d.cctvExmnPrlg, "cctvExmnPrlg"),
@@ -254,14 +255,14 @@ function buildDredgingRowList(
sprsysExlnPrlg: formatNumber(d.sprsysExlnPrlg, "sprsysExlnPrlg"), sprsysExlnPrlg: formatNumber(d.sprsysExlnPrlg, "sprsysExlnPrlg"),
sprsysDrtwPrlg: formatNumber(d.sprsysDrtwPrlg, "sprsysDrtwPrlg"), sprsysDrtwPrlg: formatNumber(d.sprsysDrtwPrlg, "sprsysDrtwPrlg"),
mnhlCnt: formatNumber(d.mnhlCnt, "mnhlCnt"), mnhlCnt: formatNumber(d.mnhlCnt, "mnhlCnt"),
exlnDrtwRcvprpCnt: formatNumber(d.exlnDrtwRcvprpCnt, "exlnDrtwRcvprpCnt"), exlnDrtwDrgCnt: formatNumber(d.exlnDrtwDrgCnt, "exlnDrtwDrgCnt"),
stofcbrOtflCnt: formatNumber(d.stofcbrOtflCnt, "stofcbrOtflCnt"), stofcbrOtflCnt: formatNumber(d.stofcbrOtflCnt, "stofcbrOtflCnt"),
drdgnPlanPrlg: formatNumber(d.drdgnPlanPrlg, "drdgnPlanPrlg"), drdgnPlanPrlg: formatNumber(d.drdgnPlanPrlg, "drdgnPlanPrlg"),
drdgnTrgtCtrsDrdgnRt: formatNumber(d.drdgnTrgtCtrsDrdgnRt, "drdgnTrgtCtrsDrdgnRt"), drdgnTrgtCtrsDrdgnRt: formatNumber(d.drdgnTrgtCtrsDrdgnRt, "drdgnTrgtCtrsDrdgnRt"),
wholPrlgCtrsDrdgnRt: formatNumber(d.wholPrlgCtrsDrdgnRt, "wholPrlgCtrsDrdgnRt"), wholPrlgCtrsDrdgnRt: formatNumber(d.wholPrlgCtrsDrdgnRt, "wholPrlgCtrsDrdgnRt"),
drdgnAmt: formatNumber(d.drdgnAmt, "drdgnAmt"), drdgnAmt: formatNumber(d.drdgnAmt, "drdgnAmt"),
drdgnQnt: formatNumber(d.drdgnQnt, "drdgnQnt"), pplDrdqty: formatNumber(d.pplDrdqty, "pplDrdqty"),
drdgnUntprcAmt: formatNumber(d.drdgnUntprcAmt, "drdgnUntprcAmt"), drdgnSoilPrcsAmt: formatNumber(d.drdgnSoilPrcsAmt, "drdgnSoilPrcsAmt"),
wholDrdgnPrcsQnt: formatNumber(d.wholDrdgnPrcsQnt, "wholDrdgnPrcsQnt"), wholDrdgnPrcsQnt: formatNumber(d.wholDrdgnPrcsQnt, "wholDrdgnPrcsQnt"),
rclmQnt: formatNumber(d.rclmQnt, "rclmQnt"), rclmQnt: formatNumber(d.rclmQnt, "rclmQnt"),
oceanEmsnQnt: formatNumber(d.oceanEmsnQnt, "oceanEmsnQnt"), oceanEmsnQnt: formatNumber(d.oceanEmsnQnt, "oceanEmsnQnt"),
@@ -613,14 +614,14 @@ const SewagePipeMaintainInp = () => {
statsYr: lastSearchedValues.year ?? "", statsYr: lastSearchedValues.year ?? "",
ctpvNm: lastSearchedValues.sido ?? "", ctpvNm: lastSearchedValues.sido ?? "",
...toInputSearchRegion(sidoListRef.current, lastSearchedValues), ...toInputSearchRegion(sidoListRef.current, lastSearchedValues),
laePicNm: submitInfo.laePicNm, lclgvPicNm: submitInfo.lclgvPicNm,
laeKbrdrJbgdNm: submitInfo.laeKbrdrJbgdNm, lclgvKbrdrJbgdNm: submitInfo.lclgvKbrdrJbgdNm,
laeKbrdrDeptNm: submitInfo.laeKbrdrDeptNm, lclgvKbrdrDeptNm: submitInfo.lclgvKbrdrDeptNm,
laePicTelNo: submitInfo.laePicTelNo, lclgvPicTelnoCn: submitInfo.lclgvPicTelnoCn,
laeIdfrNm: submitInfo.laeIdfrNm, lclgvIdfrNm: submitInfo.lclgvIdfrNm,
laeIdfrJbgdNm: submitInfo.laeIdfrJbgdNm, lclgvIdfrJbgdNm: submitInfo.lclgvIdfrJbgdNm,
laeIdfrDeptNm: submitInfo.laeIdfrDeptNm, lclgvIdfrDeptNm: submitInfo.lclgvIdfrDeptNm,
laeIdfrTelNo: submitInfo.laeIdfrTelNo, lclgvIdfrTelnoCn: submitInfo.lclgvIdfrTelnoCn,
}; };
const verificationQuery = { const verificationQuery = {
@@ -648,12 +649,12 @@ const SewagePipeMaintainInp = () => {
const response = isRepairTab const response = isRepairTab
? await sewagePipeMaintainApiService.submitSewagePipeMaintainRepair({ ? await sewagePipeMaintainApiService.submitSewagePipeMaintainRepair({
...submitInfoBase, ...submitInfoBase,
userId: userInfo.userUnqId, userUuid: userInfo.userUnqId,
submitList: buildRepairRowList(currentData), submitList: buildRepairRowList(currentData),
} satisfies SewagePipeMaintainRepairSubmitRequest) } satisfies SewagePipeMaintainRepairSubmitRequest)
: await sewagePipeMaintainApiService.submitSewagePipeMaintainDredging({ : await sewagePipeMaintainApiService.submitSewagePipeMaintainDredging({
...submitInfoBase, ...submitInfoBase,
userId: userInfo.userUnqId, userUuid: userInfo.userUnqId,
submitList: buildDredgingRowList(currentData), submitList: buildDredgingRowList(currentData),
} satisfies SewagePipeMaintainDredgingSubmitRequest); } satisfies SewagePipeMaintainDredgingSubmitRequest);
@@ -673,7 +674,7 @@ const SewagePipeMaintainInp = () => {
sewer_bzmn_cd: lastSearchedValues?.bsnmCd ?? "", sewer_bzmn_cd: lastSearchedValues?.bsnmCd ?? "",
stats_cd: statsCdForTab, stats_cd: statsCdForTab,
stats_yr: lastSearchedValues.year ?? "", 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", gen_verify_stts_cd: nvpassed ? "1" : "2",
hb_pass_yn: response.data?.isHbPassed, hb_pass_yn: response.data?.isHbPassed,
}; };
@@ -767,7 +768,7 @@ const SewagePipeMaintainInp = () => {
const param: SewagePipeMaintainRepairSaveRequest = { const param: SewagePipeMaintainRepairSaveRequest = {
...baseRequest, ...baseRequest,
userId: userInfo.userUnqId, userUuid: userInfo.userUnqId,
saveList: buildRepairRowList(currentData), saveList: buildRepairRowList(currentData),
}; };
if (isAdminInfo) { if (isAdminInfo) {
@@ -804,7 +805,7 @@ const SewagePipeMaintainInp = () => {
const param: SewagePipeMaintainDredgingSaveRequest = { const param: SewagePipeMaintainDredgingSaveRequest = {
...baseRequest, ...baseRequest,
userId: userInfo.userUnqId, userUuid: userInfo.userUnqId,
saveList: buildDredgingRowList(currentData), saveList: buildDredgingRowList(currentData),
}; };
if (isAdminInfo) { if (isAdminInfo) {
@@ -856,7 +857,7 @@ const SewagePipeMaintainInp = () => {
...toInputSearchRegion(sidoListRef.current, lastSearchedValues), ...toInputSearchRegion(sidoListRef.current, lastSearchedValues),
ctpvNm: lastSearchedValues.sido ?? "", ctpvNm: lastSearchedValues.sido ?? "",
statsYr: lastSearchedValues.year ?? "", statsYr: lastSearchedValues.year ?? "",
mdfrId: userInfo.userUnqId, mdfrUuid: userInfo.userUnqId,
statsCd: statsCdForTab, statsCd: statsCdForTab,
}; };
@@ -1108,7 +1109,7 @@ const SewagePipeMaintainInp = () => {
.map((e) => { .map((e) => {
const prefix = const prefix =
e.vrfcCd === "IMR" ? "시계열 검증 - " : e.vrfcCd === "NV" ? "일반검증 - " : "모집단 검증 - "; e.vrfcCd === "IMR" ? "시계열 검증 - " : e.vrfcCd === "NV" ? "일반검증 - " : "모집단 검증 - ";
return `${prefix}${e.rsnExpln}(검증 기준값: ${e.compVlCn} / 현재 입력값: ${e.nowVlCn})`; return `${prefix}${e.rsnExpln}(검증 기준값: ${e.cmprCn} / 현재 입력값: ${e.nowCn})`;
}) })
.filter(Boolean) .filter(Boolean)
.join("\n"); .join("\n");
@@ -1143,7 +1144,7 @@ const SewagePipeMaintainInp = () => {
{submitOk && <SubmitButton submitFunc={submitFunc} />} {submitOk && <SubmitButton submitFunc={submitFunc} />}
</> </>
)} )}
{activeTabStatus?.laeSbmsnSttsCd === "2" && submitOk && ( {activeTabStatus?.lclgvSbmsnSttsCd === "2" && submitOk && (
<CancelSubmitButton cnacelSubmitFunc={cnacelSubmitFunc} /> <CancelSubmitButton cnacelSubmitFunc={cnacelSubmitFunc} />
)} )}
{showSaveInToolbar && <SaveButton saveFunc={saveFunc} />} {showSaveInToolbar && <SaveButton saveFunc={saveFunc} />}
@@ -125,8 +125,8 @@ const computeTabEnterable = (
statusInfo: SewerageStatusInfo | null | undefined, statusInfo: SewerageStatusInfo | null | undefined,
periodEnterable: boolean, periodEnterable: boolean,
): boolean => { ): boolean => {
if (statusInfo?.laeSbmsnSttsCd) { if (statusInfo?.lclgvSbmsnSttsCd) {
if (["2", "3"].includes(statusInfo.laeSbmsnSttsCd)) { if (["2", "3"].includes(statusInfo.lclgvSbmsnSttsCd)) {
return false; return false;
} }
return periodEnterable; return periodEnterable;
@@ -162,7 +162,7 @@ function computeTabToolbarSnapshot(
): TabToolbarSnapshot { ): TabToolbarSnapshot {
const gugunOk = buildGugunOkForToolbar(searchContext); const gugunOk = buildGugunOkForToolbar(searchContext);
const enterable = computeTabEnterable(statusInfo, periodEnterable); const enterable = computeTabEnterable(statusInfo, periodEnterable);
const isSubmitted = statusInfo?.laeSbmsnSttsCd === "2"; const isSubmitted = statusInfo?.lclgvSbmsnSttsCd === "2";
const showSaveInToolbar = (enterable || isAdminInfo) && periodEnterable && gugunOk; const showSaveInToolbar = (enterable || isAdminInfo) && periodEnterable && gugunOk;
const showEnterableToolbarButtons = enterable && gugunOk; const showEnterableToolbarButtons = enterable && gugunOk;
const showSubmittedInInputPeriodToolbar = const showSubmittedInInputPeriodToolbar =
@@ -274,7 +274,7 @@ function mapSewageReservoirListToGridRows(
ctpvNm, ctpvNm,
oprtngStrtYmd: formatCompactYmdForGrid(item.oprtngStrtYmd), oprtngStrtYmd: formatCompactYmdForGrid(item.oprtngStrtYmd),
fldngPrvtnYn: normalizeOxYnValue(item.fldngPrvtnYn), fldngPrvtnYn: normalizeOxYnValue(item.fldngPrvtnYn),
wqPlltnMtgtYn: normalizeOxYnValue(item.wqPlltnMtgtYn), wtpltMtgtYn: normalizeOxYnValue(item.wtpltMtgtYn),
rtlztnUsgYn: normalizeOxYnValue(item.rtlztnUsgYn), rtlztnUsgYn: normalizeOxYnValue(item.rtlztnUsgYn),
}, },
])[0] as GridRowWithVerification; ])[0] as GridRowWithVerification;
@@ -332,37 +332,37 @@ function buildSewageReservoirSaveItem(
oprtngStrtYmd: toCompactYmdOrNull(row.oprtngStrtYmd), oprtngStrtYmd: toCompactYmdOrNull(row.oprtngStrtYmd),
planDesignFreqCnt: toGridNumber(row.planDesignFreqCnt), planDesignFreqCnt: toGridNumber(row.planDesignFreqCnt),
fldngPrvtnYn: nullableTrimmedString(normalizeOxYnValue(row.fldngPrvtnYn)), fldngPrvtnYn: nullableTrimmedString(normalizeOxYnValue(row.fldngPrvtnYn)),
wqPlltnMtgtYn: nullableTrimmedString(normalizeOxYnValue(row.wqPlltnMtgtYn)), wtpltMtgtYn: nullableTrimmedString(normalizeOxYnValue(row.wtpltMtgtYn)),
rtlztnUsgYn: nullableTrimmedString(normalizeOxYnValue(row.rtlztnUsgYn)), rtlztnUsgYn: nullableTrimmedString(normalizeOxYnValue(row.rtlztnUsgYn)),
fcltStrctCn: nullableTrimmedString(row.fcltStrctCn), fcltStrctCn: nullableTrimmedString(row.fcltStrctCn),
wtrStrgZoneArea: toGridNumber(row.wtrStrgZoneArea), wtrStrgZoneArea: toGridNumber(row.wtrStrgZoneArea),
impdFcltCpct: toGridNumber(row.impdFcltCpct), impdFcltCpct: toGridNumber(row.impdFcltCpct),
grssPpqty: toGridNumber(row.grssPpqty), wholPpqty: toGridNumber(row.wholPpqty),
pumpFcltN1DmtrExpln: toPumpDmtrExpln(row.pumpFcltN1DmtrExpln), pumpFcltN1DmtrExpln: toPumpDmtrExpln(row.pumpFcltN1DmtrExpln),
pumpFcltN1PerPpqty: toGridNumber(row.pumpFcltN1PerPpqty), pumpFcltN1Ppqty: toGridNumber(row.pumpFcltN1Ppqty),
pumpFcltN1PumpCnt: toGridNumber(row.pumpFcltN1PumpCnt), pumpFcltN1PumpCnt: toGridNumber(row.pumpFcltN1PumpCnt),
pumpFcltN1RsrvPumpCnt: toGridNumber(row.pumpFcltN1RsrvPumpCnt), pumpFcltN1RsrvPumpCnt: toGridNumber(row.pumpFcltN1RsrvPumpCnt),
pumpFcltN2DmtrExpln: toPumpDmtrExpln(row.pumpFcltN2DmtrExpln), pumpFcltN2DmtrExpln: toPumpDmtrExpln(row.pumpFcltN2DmtrExpln),
pumpFcltN2PerPpqty: toGridNumber(row.pumpFcltN2PerPpqty), pumpFcltN2Ppqty: toGridNumber(row.pumpFcltN2Ppqty),
pumpFcltN2PumpCnt: toGridNumber(row.pumpFcltN2PumpCnt), pumpFcltN2PumpCnt: toGridNumber(row.pumpFcltN2PumpCnt),
pumpFcltN2RsrvPumpCnt: toGridNumber(row.pumpFcltN2RsrvPumpCnt), pumpFcltN2RsrvPumpCnt: toGridNumber(row.pumpFcltN2RsrvPumpCnt),
pumpFcltN3DmtrExpln: toPumpDmtrExpln(row.pumpFcltN3DmtrExpln), pumpFcltN3DmtrExpln: toPumpDmtrExpln(row.pumpFcltN3DmtrExpln),
pumpFcltN3PerPpqty: toGridNumber(row.pumpFcltN3PerPpqty), pumpFcltN3Ppqty: toGridNumber(row.pumpFcltN3Ppqty),
pumpFcltN3PumpCnt: toGridNumber(row.pumpFcltN3PumpCnt), pumpFcltN3PumpCnt: toGridNumber(row.pumpFcltN3PumpCnt),
pumpFcltN3RsrvPumpCnt: toGridNumber(row.pumpFcltN3RsrvPumpCnt), pumpFcltN3RsrvPumpCnt: toGridNumber(row.pumpFcltN3RsrvPumpCnt),
prcsgFcltYn: row.prcsgFcltYn ? (row.prcsgFcltYn === "무" ? "N" : "Y") : null, 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, oslfEtgtYn: row.oslfEtgtYn ? (row.prcsgFcltYn === "무" ? "N" : "Y") : null,
mltvMthCn: nullableTrimmedString(row.mltvMthCn), drgptnCn: nullableTrimmedString(row.drgptnCn),
impdMthCn: nullableTrimmedString(row.impdMthCn), impdMthCn: nullableTrimmedString(row.impdMthCn),
impdPrcsMthdCn: nullableTrimmedString(row.impdPrcsMthdCn), impdPrcsCn: nullableTrimmedString(row.impdPrcsCn),
dschgWtrsExpln: nullableTrimmedString(row.dschgWtrsExpln), dschgWtrsExpln: nullableTrimmedString(row.dschgWtrsExpln),
prcptnLastDspsQnt: toGridNumber(row.prcptnLastDspsQnt), prpwLastDspsQnt: toGridNumber(row.prpwLastDspsQnt),
ctmnLastDspsQnt: toGridNumber(row.ctmnLastDspsQnt), ctmnLastDspsQnt: toGridNumber(row.ctmnLastDspsQnt),
prcptnLastDspsMthdExpln: nullableTrimmedString(row.prcptnLastDspsMthdExpln), prpwLastDspsExpln: nullableTrimmedString(row.prpwLastDspsExpln),
ctmnLastDspsMthdExpln: nullableTrimmedString(row.ctmnLastDspsMthdExpln), ctmnLastDspsExpln: nullableTrimmedString(row.ctmnLastDspsExpln),
oprtngDayCnt: toGridNumber(row.oprtngDayCnt), oprtngDayCnt: toGridNumber(row.oprtngDayCnt),
grssMltvQnt: toGridNumber(row.grssMltvQnt), wholQnt: toGridNumber(row.wholQnt),
rmrk: nullableTrimmedString(row.rmrk), rmrk: nullableTrimmedString(row.rmrk),
}; };
} }
@@ -386,32 +386,32 @@ function buildRainfallPumpStationSaveItem(
oprtngStrtYmd: toCompactYmdOrNull(row.oprtngStrtYmd), oprtngStrtYmd: toCompactYmdOrNull(row.oprtngStrtYmd),
planDesignFreqCnt: toGridNumber(row.planDesignFreqCnt), planDesignFreqCnt: toGridNumber(row.planDesignFreqCnt),
wtrStrgZoneArea: toGridNumber(row.wtrStrgZoneArea), wtrStrgZoneArea: toGridNumber(row.wtrStrgZoneArea),
rsvrYn: row.rsvrYn ? (row.rsvrYn === "무" ? "N" : "Y") : null, runwtrYn: row.runwtrYn ? (row.runwtrYn === "무" ? "N" : "Y") : null,
rsvrImpndQnt: toGridNumber(row.rsvrImpndQnt), runwtrStrqty: toGridNumber(row.runwtrStrqty),
abstnRgnImpdQnt: toGridNumber(row.abstnRgnImpdQnt), abstnRgnImpdQnt: toGridNumber(row.abstnRgnImpdQnt),
grssPpqty: toGridNumber(row.grssPpqty), wholPpqty: toGridNumber(row.wholPpqty),
pumpFcltN1DmtrExpln: toPumpDmtrExpln(row.pumpFcltN1DmtrExpln), pumpFcltN1DmtrExpln: toPumpDmtrExpln(row.pumpFcltN1DmtrExpln),
pumpFcltN1PerPpqty: toGridNumber(row.pumpFcltN1PerPpqty), pumpFcltN1UnitPpqty: toGridNumber(row.pumpFcltN1UnitPpqty),
pumpFcltN1PumpCnt: toGridNumber(row.pumpFcltN1PumpCnt), pumpFcltN1PumpCnt: toGridNumber(row.pumpFcltN1PumpCnt),
pumpFcltN1RsrvPumpCnt: toGridNumber(row.pumpFcltN1RsrvPumpCnt), pumpFcltN1RsrvPumpCnt: toGridNumber(row.pumpFcltN1RsrvPumpCnt),
pumpFcltN2DmtrExpln: toPumpDmtrExpln(row.pumpFcltN2DmtrExpln), pumpFcltN2DmtrExpln: toPumpDmtrExpln(row.pumpFcltN2DmtrExpln),
pumpFcltN2PerPpqty: toGridNumber(row.pumpFcltN2PerPpqty), pumpFcltN2UnitPpqty: toGridNumber(row.pumpFcltN2UnitPpqty),
pumpFcltN2PumpCnt: toGridNumber(row.pumpFcltN2PumpCnt), pumpFcltN2PumpCnt: toGridNumber(row.pumpFcltN2PumpCnt),
pumpFcltN2RsrvPumpCnt: toGridNumber(row.pumpFcltN2RsrvPumpCnt), pumpFcltN2RsrvPumpCnt: toGridNumber(row.pumpFcltN2RsrvPumpCnt),
pumpFcltN3DmtrExpln: toPumpDmtrExpln(row.pumpFcltN3DmtrExpln), pumpFcltN3DmtrExpln: toPumpDmtrExpln(row.pumpFcltN3DmtrExpln),
pumpFcltN3PerPpqty: toGridNumber(row.pumpFcltN3PerPpqty), pumpFcltN3UnitPpqty: toGridNumber(row.pumpFcltN3UnitPpqty),
pumpFcltN3PumpCnt: toGridNumber(row.pumpFcltN3PumpCnt), pumpFcltN3PumpCnt: toGridNumber(row.pumpFcltN3PumpCnt),
pumpFcltN3RsrvPumpCnt: toGridNumber(row.pumpFcltN3RsrvPumpCnt), pumpFcltN3RsrvPumpCnt: toGridNumber(row.pumpFcltN3RsrvPumpCnt),
prcsgFcltYn: row.prcsgFcltYn ? (row.prcsgFcltYn === "무" ? "N" : "Y") : null, 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, oslfEtgtYn: row.oslfEtgtYn ? (row.prcsgFcltYn === "무" ? "N" : "Y") : null,
dschgWtrsExpln: nullableTrimmedString(row.dschgWtrsExpln), dschgWtrsExpln: nullableTrimmedString(row.dschgWtrsExpln),
prcptnLastDspsQnt: toGridNumber(row.prcptnLastDspsQnt), prpwLastDspsQnt: toGridNumber(row.prpwLastDspsQnt),
ctmnLastDspsQnt: toGridNumber(row.ctmnLastDspsQnt), ctmnLastDspsQnt: toGridNumber(row.ctmnLastDspsQnt),
prcptnLastDspsMthdExpln: nullableTrimmedString(row.prcptnLastDspsMthdExpln), prpwLastDspsExpln: nullableTrimmedString(row.prpwLastDspsExpln),
ctmnLastDspsMthdExpln: nullableTrimmedString(row.ctmnLastDspsMthdExpln), ctmnLastDspsExpln: nullableTrimmedString(row.ctmnLastDspsExpln),
oprtngDayCnt: toGridNumber(row.oprtngDayCnt), oprtngDayCnt: toGridNumber(row.oprtngDayCnt),
grssMltvQnt: toGridNumber(row.grssMltvQnt), wholQnt: toGridNumber(row.wholQnt),
rmrk: nullableTrimmedString(row.rmrk), rmrk: nullableTrimmedString(row.rmrk),
}; };
} }
@@ -427,9 +427,9 @@ function mapRainfallPumpStationListToGridRows(
...item, ...item,
ctpvNm, ctpvNm,
oprtngStrtYmd: formatCompactYmdForGrid(item.oprtngStrtYmd), oprtngStrtYmd: formatCompactYmdForGrid(item.oprtngStrtYmd),
rsvrYn: normalizeOxYnValue(item.rsvrYn), runwtrYn: normalizeOxYnValue(item.runwtrYn),
prcsgFcltYn: normalizeOxYnValue(item.prcsgFcltYn), prcsgFcltYn: normalizeOxYnValue(item.prcsgFcltYn),
ddrztnEqpmYn: normalizeOxYnValue(item.ddrztnEqpmYn), odorEqpmYn: normalizeOxYnValue(item.odorEqpmYn),
oslfEtgtYn: normalizeOxYnValue(item.oslfEtgtYn), oslfEtgtYn: normalizeOxYnValue(item.oslfEtgtYn),
}, },
])[0] as GridRowWithVerification; ])[0] as GridRowWithVerification;
@@ -531,7 +531,7 @@ const SewageReservoirPumpInp = () => {
...toInputSearchRegion(sidoListRef.current, lastSearchedValues), ...toInputSearchRegion(sidoListRef.current, lastSearchedValues),
ctpvNm: lastSearchedValues.sido ?? "", ctpvNm: lastSearchedValues.sido ?? "",
statsYr: lastSearchedValues.year ?? "", statsYr: lastSearchedValues.year ?? "",
mdfrId: userInfo.userUnqId, mdfrUuid: userInfo.userUnqId,
statsCd: statsCdForTab, statsCd: statsCdForTab,
}; };
@@ -720,13 +720,13 @@ const SewageReservoirPumpInp = () => {
const response = isReservoirTab const response = isReservoirTab
? await statisticsInputSewageReservoirPumpApi.saveSewageReservoir({ ? await statisticsInputSewageReservoirPumpApi.saveSewageReservoir({
...requestBase, ...requestBase,
userId: userInfo.userUnqId, userUuid: userInfo.userUnqId,
saveList: saveList as SewageReservoirSaveItem[], saveList: saveList as SewageReservoirSaveItem[],
deleteList: deleteList as SewageReservoirSaveItem[], deleteList: deleteList as SewageReservoirSaveItem[],
}) })
: await statisticsInputSewageReservoirPumpApi.saveRainfallPumpStation({ : await statisticsInputSewageReservoirPumpApi.saveRainfallPumpStation({
...requestBase, ...requestBase,
userId: userInfo.userUnqId, userUuid: userInfo.userUnqId,
saveList: saveList as RainfallPumpStationSaveItem[], saveList: saveList as RainfallPumpStationSaveItem[],
deleteList: deleteList as RainfallPumpStationSaveItem[], deleteList: deleteList as RainfallPumpStationSaveItem[],
}); });
@@ -813,14 +813,14 @@ const SewageReservoirPumpInp = () => {
ctpvNm: lastSearchedValues.sido ?? "", ctpvNm: lastSearchedValues.sido ?? "",
...toInputSearchRegion(sidoListRef.current, lastSearchedValues), ...toInputSearchRegion(sidoListRef.current, lastSearchedValues),
...(noApplicable ? { noApplicable: true } : {}), ...(noApplicable ? { noApplicable: true } : {}),
laePicNm: submitInfo.laePicNm, lclgvPicNm: submitInfo.lclgvPicNm,
laeKbrdrJbgdNm: submitInfo.laeKbrdrJbgdNm, lclgvKbrdrJbgdNm: submitInfo.lclgvKbrdrJbgdNm,
laeKbrdrDeptNm: submitInfo.laeKbrdrDeptNm, lclgvKbrdrDeptNm: submitInfo.lclgvKbrdrDeptNm,
laePicTelNo: submitInfo.laePicTelNo, lclgvPicTelnoCn: submitInfo.lclgvPicTelnoCn,
laeIdfrNm: submitInfo.laeIdfrNm, lclgvIdfrNm: submitInfo.lclgvIdfrNm,
laeIdfrJbgdNm: submitInfo.laeIdfrJbgdNm, lclgvIdfrJbgdNm: submitInfo.lclgvIdfrJbgdNm,
laeIdfrDeptNm: submitInfo.laeIdfrDeptNm, lclgvIdfrDeptNm: submitInfo.lclgvIdfrDeptNm,
laeIdfrTelNo: submitInfo.laeIdfrTelNo, lclgvIdfrTelnoCn: submitInfo.lclgvIdfrTelnoCn,
}; };
try { try {
@@ -830,13 +830,13 @@ const SewageReservoirPumpInp = () => {
const response = isReservoirTab const response = isReservoirTab
? await statisticsInputSewageReservoirPumpApi.submitSewageReservoir({ ? await statisticsInputSewageReservoirPumpApi.submitSewageReservoir({
...submitRequestBase, ...submitRequestBase,
userId: userInfo.userUnqId, userUuid: userInfo.userUnqId,
submitList: submitList as SewageReservoirSaveItem[], submitList: submitList as SewageReservoirSaveItem[],
deleteList: deleteList as SewageReservoirSaveItem[], deleteList: deleteList as SewageReservoirSaveItem[],
}) })
: await statisticsInputSewageReservoirPumpApi.submitRainfallPumpStation({ : await statisticsInputSewageReservoirPumpApi.submitRainfallPumpStation({
...submitRequestBase, ...submitRequestBase,
userId: userInfo.userUnqId, userUuid: userInfo.userUnqId,
submitList: submitList as RainfallPumpStationSaveItem[], submitList: submitList as RainfallPumpStationSaveItem[],
deleteList: deleteList as RainfallPumpStationSaveItem[], deleteList: deleteList as RainfallPumpStationSaveItem[],
}); });
@@ -858,7 +858,7 @@ const SewageReservoirPumpInp = () => {
stats_cd: statsCdForTab, stats_cd: statsCdForTab,
stats_yr: lastSearchedValues.year ?? "", stats_yr: lastSearchedValues.year ?? "",
lae_sbmsn_stts_cd: lae_sbmsn_stts_cd:
activeTabStatus?.laeSbmsnSttsCd === "4" ? "4" : "2", activeTabStatus?.lclgvSbmsnSttsCd === "4" ? "4" : "2",
gen_verify_stts_cd: nvpassed ? "1" : "2", gen_verify_stts_cd: nvpassed ? "1" : "2",
hb_pass_yn: response.data?.isHbPassed, hb_pass_yn: response.data?.isHbPassed,
}; };
@@ -1525,7 +1525,7 @@ const SewageReservoirPumpInp = () => {
? "일반검증 - " ? "일반검증 - "
: "모집단 검증 -"; : "모집단 검증 -";
return `${prefix}${e.rsnExpln} return `${prefix}${e.rsnExpln}
(검증 기준값: ${e.compVlCn} / 현재 입력값: ${e.nowVlCn})`; (검증 기준값: ${e.cmprCn} / 현재 입력값: ${e.nowCn})`;
}) })
.filter(Boolean) .filter(Boolean)
.join("\n"); .join("\n");
@@ -1584,7 +1584,7 @@ const SewageReservoirPumpInp = () => {
{submitOk && <SubmitButton submitFunc={submitFunc} />} {submitOk && <SubmitButton submitFunc={submitFunc} />}
</> </>
)} )}
{activeTabStatus?.laeSbmsnSttsCd === "2" && submitOk && ( {activeTabStatus?.lclgvSbmsnSttsCd === "2" && submitOk && (
<CancelSubmitButton cnacelSubmitFunc={cnacelSubmitFunc} /> <CancelSubmitButton cnacelSubmitFunc={cnacelSubmitFunc} />
)} )}
{showSaveInToolbar && <SaveButton saveFunc={saveFunc} />} {showSaveInToolbar && <SaveButton saveFunc={saveFunc} />}
@@ -118,8 +118,8 @@ const computeTabEnterable = (
statusInfo: SewerageStatusInfo | null | undefined, statusInfo: SewerageStatusInfo | null | undefined,
periodEnterable: boolean, periodEnterable: boolean,
): boolean => { ): boolean => {
if (statusInfo?.laeSbmsnSttsCd) { if (statusInfo?.lclgvSbmsnSttsCd) {
if (["2", "3"].includes(statusInfo.laeSbmsnSttsCd)) { if (["2", "3"].includes(statusInfo.lclgvSbmsnSttsCd)) {
return false; return false;
} }
return periodEnterable; return periodEnterable;
@@ -147,7 +147,7 @@ function computeTabToolbarSnapshot(
): TabToolbarSnapshot { ): TabToolbarSnapshot {
const gugunOk = buildGugunOkForToolbar(searchContext); const gugunOk = buildGugunOkForToolbar(searchContext);
const enterable = computeTabEnterable(statusInfo, periodEnterable); const enterable = computeTabEnterable(statusInfo, periodEnterable);
const isSubmitted = statusInfo?.laeSbmsnSttsCd === "2"; const isSubmitted = statusInfo?.lclgvSbmsnSttsCd === "2";
const showSaveInToolbar = (enterable || isAdminInfo) && periodEnterable && gugunOk; const showSaveInToolbar = (enterable || isAdminInfo) && periodEnterable && gugunOk;
const showEnterableToolbarButtons = enterable && gugunOk; const showEnterableToolbarButtons = enterable && gugunOk;
const showSubmittedInInputPeriodToolbar = isSubmitted && periodEnterable && gugunOk; const showSubmittedInInputPeriodToolbar = isSubmitted && periodEnterable && gugunOk;
@@ -217,32 +217,32 @@ function buildSewerageFinanceSettleSaveList(
admdstCd: nullableTrimmedString(d.admdstCd), admdstCd: nullableTrimmedString(d.admdstCd),
sggNm: nullableTrimmedString(d.sggNm), sggNm: nullableTrimmedString(d.sggNm),
admdstNm: nullableTrimmedString(d.admdstNm), admdstNm: nullableTrimmedString(d.admdstNm),
cnterGovSprtAmt: formatNumber(d.cnterGovSprtAmt, "cnterGovSprtAmt"), soaGovSprtAmt: formatNumber(d.soaGovSprtAmt, "soaGovSprtAmt"),
mctpvLcexpAmt: formatNumber(d.mctpvLcexpAmt, "mctpvLcexpAmt"), mctpvLcexpAmt: formatNumber(d.mctpvLcexpAmt, "mctpvLcexpAmt"),
wareaSggLclAmt: formatNumber(d.wareaSggLclAmt, "wareaSggLclAmt"), wareaSggLclAmt: formatNumber(d.wareaSggLclAmt, "wareaSggLclAmt"),
sewerUseAmt: formatNumber(d.sewerUseAmt, "sewerUseAmt"), sewerUseAmt: formatNumber(d.sewerUseAmt, "sewerUseAmt"),
orgprBrdnAmt: formatNumber(d.orgprBrdnAmt, "orgprBrdnAmt"), fnnOrgprBrdnAmt: formatNumber(d.fnnOrgprBrdnAmt, "fnnOrgprBrdnAmt"),
etcIncmAmt: formatNumber(d.etcIncmAmt, "etcIncmAmt"), etcIncmAmt: formatNumber(d.etcIncmAmt, "etcIncmAmt"),
crfwAmt: formatNumber(d.crfwAmt, "crfwAmt"), soaCrfwAmt: formatNumber(d.soaCrfwAmt, "soaCrfwAmt"),
lbltAmt: formatNumber(d.lbltAmt, "lbltAmt"), soaLbltAmt: formatNumber(d.soaLbltAmt, "soaLbltAmt"),
tmplntFcltAmt: formatNumber(d.tmplntFcltAmt, "tmplntFcltAmt"), tmplntFcltAmt: formatNumber(d.tmplntFcltAmt, "tmplntFcltAmt"),
tmplntMendngAmt: formatNumber(d.tmplntMendngAmt, "tmplntMendngAmt"), tmplntAmt: formatNumber(d.tmplntAmt, "tmplntAmt"),
tmplntOperKeepAmt: formatNumber(d.tmplntOperKeepAmt, "tmplntOperKeepAmt"), tmplntOperKeepAmt: formatNumber(d.tmplntOperKeepAmt, "tmplntOperKeepAmt"),
tmplntEtcAmt: formatNumber(d.tmplntEtcAmt, "tmplntEtcAmt"), tmplntEtcAmt: formatNumber(d.tmplntEtcAmt, "tmplntEtcAmt"),
swagePplFcltAmt: formatNumber(d.swagePplFcltAmt, "swagePplFcltAmt"), swagePplFcltAmt: formatNumber(d.swagePplFcltAmt, "swagePplFcltAmt"),
swagePplMendngAmt: formatNumber(d.swagePplMendngAmt, "swagePplMendngAmt"), swagePplAmt: formatNumber(d.swagePplAmt, "swagePplAmt"),
swagePplOperKeepAmt: formatNumber(d.swagePplOperKeepAmt, "swagePplOperKeepAmt"), swagePplOperKeepAmt: formatNumber(d.swagePplOperKeepAmt, "swagePplOperKeepAmt"),
swagePplEtcAmt: formatNumber(d.swagePplEtcAmt, "swagePplEtcAmt"), swagePplEtcAmt: formatNumber(d.swagePplEtcAmt, "swagePplEtcAmt"),
swageImpdFcltAmt: formatNumber(d.swageImpdFcltAmt, "swageImpdFcltAmt"), swageImpdFcltAmt: formatNumber(d.swageImpdFcltAmt, "swageImpdFcltAmt"),
swageImpdMendngAmt: formatNumber(d.swageImpdMendngAmt, "swageImpdMendngAmt"), swageImpdAmt: formatNumber(d.swageImpdAmt, "swageImpdAmt"),
swageImpdOperKeepAmt: formatNumber(d.swageImpdOperKeepAmt, "swageImpdOperKeepAmt"), swageImpdOperKeepAmt: formatNumber(d.swageImpdOperKeepAmt, "swageImpdOperKeepAmt"),
swageImpdFcltEtcAmt: formatNumber(d.swageImpdFcltEtcAmt, "swageImpdFcltEtcAmt"), swageImpdFcltEtcAmt: formatNumber(d.swageImpdFcltEtcAmt, "swageImpdFcltEtcAmt"),
etcAcdntCrfwAmt: formatNumber(d.etcAcdntCrfwAmt, "etcAcdntCrfwAmt"), etcAcdntCrfwAmt: formatNumber(d.etcAcdntCrfwAmt, "etcAcdntCrfwAmt"),
etcNrcpAmt: formatNumber(d.etcNrcpAmt, "etcNrcpAmt"), etcNrcpAmt: formatNumber(d.etcNrcpAmt, "etcNrcpAmt"),
etcAmt: formatNumber(d.etcAmt, "etcAmt"), fnnEtcAmt: formatNumber(d.fnnEtcAmt, "fnnEtcAmt"),
rmrk: nullableTrimmedString(d.rmrk), rmrk: nullableTrimmedString(d.rmrk),
fnnByWholPjtcoAmt: formatNumber(d.fnnByWholPjtcoAmt, "fnnByWholPjtcoAmt"), fnnSeWholPjtcoAmt: formatNumber(d.fnnSeWholPjtcoAmt, "fnnSeWholPjtcoAmt"),
usgByWholPjtcoAmt: formatNumber(d.usgByWholPjtcoAmt, "usgByWholPjtcoAmt"), usgSeWholPjtcoAmt: formatNumber(d.usgSeWholPjtcoAmt, "usgSeWholPjtcoAmt"),
tmplntWholAmt: formatNumber(d.tmplntWholAmt, "tmplntWholAmt"), tmplntWholAmt: formatNumber(d.tmplntWholAmt, "tmplntWholAmt"),
wholSwagePplAmt: formatNumber(d.wholSwagePplAmt, "wholSwagePplAmt"), wholSwagePplAmt: formatNumber(d.wholSwagePplAmt, "wholSwagePplAmt"),
wholSwageImpdFcltAmt: formatNumber(d.wholSwageImpdFcltAmt, "wholSwageImpdFcltAmt"), wholSwageImpdFcltAmt: formatNumber(d.wholSwageImpdFcltAmt, "wholSwageImpdFcltAmt"),
@@ -260,12 +260,12 @@ function buildSewerageChargeSaveList(
sggNm: nullableTrimmedString(d.sggNm), sggNm: nullableTrimmedString(d.sggNm),
admdstNm: nullableTrimmedString(d.admdstNm), admdstNm: nullableTrimmedString(d.admdstNm),
anlLevyQnt: formatNumber(d.anlLevyQnt, "anlLevyQnt"), anlLevyQnt: formatNumber(d.anlLevyQnt, "anlLevyQnt"),
levyAmt: formatNumber(d.levyAmt, "levyAmt"), sewerLevyAmt: formatNumber(d.sewerLevyAmt, "sewerLevyAmt"),
grssPrmcoAmt: formatNumber(d.grssPrmcoAmt, "grssPrmcoAmt"), wholPrmcoAmt: formatNumber(d.wholPrmcoAmt, "wholPrmcoAmt"),
rmrk: nullableTrimmedString(d.rmrk), rmrk: nullableTrimmedString(d.rmrk),
avgUntprcAmt: formatNumber(d.avgUntprcAmt, "avgUntprcAmt"), avgUntprcAmt: formatNumber(d.avgUntprcAmt, "avgUntprcAmt"),
grssUnitPrmcoAmt: formatNumber(d.grssUnitPrmcoAmt, "grssUnitPrmcoAmt"), wholUnitPrmcoAmt: formatNumber(d.wholUnitPrmcoAmt, "wholUnitPrmcoAmt"),
rlztnRt: formatNumber(d.rlztnRt, "rlztnRt"), sewerCrgRlztnRt: formatNumber(d.sewerCrgRlztnRt, "sewerCrgRlztnRt"),
})); }));
} }
@@ -281,27 +281,27 @@ function buildSewerageUsageFeeSaveList(
hshusLevyAmt: formatNumber(d.hshusLevyAmt, "hshusLevyAmt"), hshusLevyAmt: formatNumber(d.hshusLevyAmt, "hshusLevyAmt"),
hshusLevyQnt: formatNumber(d.hshusLevyQnt, "hshusLevyQnt"), hshusLevyQnt: formatNumber(d.hshusLevyQnt, "hshusLevyQnt"),
hshusUntprcAmt: formatNumber(d.hshusUntprcAmt, "hshusUntprcAmt"), hshusUntprcAmt: formatNumber(d.hshusUntprcAmt, "hshusUntprcAmt"),
taskFrLevyAmt: formatNumber(d.taskFrLevyAmt, "taskFrLevyAmt"), ofuseLevyAmt: formatNumber(d.ofuseLevyAmt, "ofuseLevyAmt"),
taskFrLevyQnt: formatNumber(d.taskFrLevyQnt, "taskFrLevyQnt"), ofuseLevyQnt: formatNumber(d.ofuseLevyQnt, "ofuseLevyQnt"),
taskFrUntprcAmt: formatNumber(d.taskFrUntprcAmt, "taskFrUntprcAmt"), ofuseUntprcAmt: formatNumber(d.ofuseUntprcAmt, "ofuseUntprcAmt"),
fbuLevyAmt: formatNumber(d.fbuLevyAmt, "fbuLevyAmt"), fbuLevyAmt: formatNumber(d.fbuLevyAmt, "fbuLevyAmt"),
fbuLevyQnt: formatNumber(d.fbuLevyQnt, "fbuLevyQnt"), fbuLevyQnt: formatNumber(d.fbuLevyQnt, "fbuLevyQnt"),
fbuUntprcAmt: formatNumber(d.fbuUntprcAmt, "fbuUntprcAmt"), fbuUntprcAmt: formatNumber(d.fbuUntprcAmt, "fbuUntprcAmt"),
bthhsFrSpcs1LevyAmt: formatNumber(d.bthhsFrSpcs1LevyAmt, "bthhsFrSpcs1LevyAmt"), btht1LevyAmt: formatNumber(d.btht1LevyAmt, "btht1LevyAmt"),
bthhsFrSpcs1LevyQnt: formatNumber(d.bthhsFrSpcs1LevyQnt, "bthhsFrSpcs1LevyQnt"), btht1LevyQnt: formatNumber(d.btht1LevyQnt, "btht1LevyQnt"),
bthhsFrSpcs1UntprcAmt: formatNumber(d.bthhsFrSpcs1UntprcAmt, "bthhsFrSpcs1UntprcAmt"), btht1UntprcAmt: formatNumber(d.btht1UntprcAmt, "btht1UntprcAmt"),
bthhsFrSpcs2LevyAmt: formatNumber(d.bthhsFrSpcs2LevyAmt, "bthhsFrSpcs2LevyAmt"), btht2LevyAmt: formatNumber(d.btht2LevyAmt, "btht2LevyAmt"),
bthhsFrSpcs2LevyQnt: formatNumber(d.bthhsFrSpcs2LevyQnt, "bthhsFrSpcs2LevyQnt"), btht2LevyQnt: formatNumber(d.btht2LevyQnt, "btht2LevyQnt"),
bthhsFrSpcs2UntprcAmt: formatNumber(d.bthhsFrSpcs2UntprcAmt, "bthhsFrSpcs2UntprcAmt"), btht2UntprcAmt: formatNumber(d.btht2UntprcAmt, "btht2UntprcAmt"),
induLevyAmt: formatNumber(d.induLevyAmt, "induLevyAmt"), indstLevyAmt: formatNumber(d.indstLevyAmt, "indstLevyAmt"),
induLevyQnt: formatNumber(d.induLevyQnt, "induLevyQnt"), indstLevyQnt: formatNumber(d.indstLevyQnt, "indstLevyQnt"),
induUntprcAmt: formatNumber(d.induUntprcAmt, "induUntprcAmt"), indstUntprcAmt: formatNumber(d.indstUntprcAmt, "indstUntprcAmt"),
etcLevyAmt: formatNumber(d.etcLevyAmt, "etcLevyAmt"), etcLevyAmt: formatNumber(d.etcLevyAmt, "etcLevyAmt"),
etcLevyQnt: formatNumber(d.etcLevyQnt, "etcLevyQnt"), etcLevyQnt: formatNumber(d.etcLevyQnt, "etcLevyQnt"),
etcLevyUntprcAmt: formatNumber(d.etcLevyUntprcAmt, "etcLevyUntprcAmt"), etcLevyUntprcAmt: formatNumber(d.etcLevyUntprcAmt, "etcLevyUntprcAmt"),
rmrk: nullableTrimmedString(d.rmrk), rmrk: nullableTrimmedString(d.rmrk),
levyAmt: formatNumber(d.levyAmt, "levyAmt"), sewerLevyAmt: formatNumber(d.sewerLevyAmt, "sewerLevyAmt"),
levyQnt: formatNumber(d.levyQnt, "levyQnt"), sewerLevyQnt: formatNumber(d.sewerLevyQnt, "sewerLevyQnt"),
})); }));
} }
@@ -314,14 +314,14 @@ function buildCauserBurdenSaveList(
admdstCd: nullableTrimmedString(d.admdstCd), admdstCd: nullableTrimmedString(d.admdstCd),
sggNm: nullableTrimmedString(d.sggNm), sggNm: nullableTrimmedString(d.sggNm),
admdstNm: nullableTrimmedString(d.admdstNm), admdstNm: nullableTrimmedString(d.admdstNm),
levyEvntcsCnt: formatNumber(d.levyEvntcsCnt, "levyEvntcsCnt"), brdnAmtLevyNocs: formatNumber(d.brdnAmtLevyNocs, "brdnAmtLevyNocs"),
levyAmt: formatNumber(d.levyAmt, "levyAmt"), brdnAmtLevyAmt: formatNumber(d.brdnAmtLevyAmt, "brdnAmtLevyAmt"),
mltvEqpmEvntcsCnt: formatNumber(d.mltvEqpmEvntcsCnt, "mltvEqpmEvntcsCnt"), drgNocs: formatNumber(d.drgNocs, "drgNocs"),
mltvEqpmAmt: formatNumber(d.mltvEqpmAmt, "mltvEqpmAmt"), drgAmt: formatNumber(d.drgAmt, "drgAmt"),
othrCstrnOthrActrCnt: formatNumber(d.othrCstrnOthrActrCnt, "othrCstrnOthrActrCnt"), othrCstrnOthrActrCnt: formatNumber(d.othrCstrnOthrActrCnt, "othrCstrnOthrActrCnt"),
othrCstrnOthrActrAmt: formatNumber(d.othrCstrnOthrActrAmt, "othrCstrnOthrActrAmt"), othrCstrnOthrActrAmt: formatNumber(d.othrCstrnOthrActrAmt, "othrCstrnOthrActrAmt"),
rmrk: nullableTrimmedString(d.rmrk), rmrk: nullableTrimmedString(d.rmrk),
trgtByWholClctnAmt: formatNumber(d.trgtByWholClctnAmt, "trgtByWholClctnAmt"), trgtSeWholClctnAmt: formatNumber(d.trgtSeWholClctnAmt, "trgtSeWholClctnAmt"),
})); }));
} }
@@ -773,7 +773,7 @@ const SewerageFinanceInp = () => {
...toInputSearchRegion(sidoListRef.current, lastSearchedValues), ...toInputSearchRegion(sidoListRef.current, lastSearchedValues),
ctpvNm: lastSearchedValues.sido ?? "", ctpvNm: lastSearchedValues.sido ?? "",
statsYr: lastSearchedValues.year ?? "", statsYr: lastSearchedValues.year ?? "",
mdfrId: userInfo.userUnqId, mdfrUuid: userInfo.userUnqId,
statsCd: statsCdForTab, statsCd: statsCdForTab,
}; };
@@ -855,14 +855,14 @@ const SewerageFinanceInp = () => {
statsYr: lastSearchedValues.year ?? "", statsYr: lastSearchedValues.year ?? "",
ctpvNm: lastSearchedValues.sido ?? "", ctpvNm: lastSearchedValues.sido ?? "",
...toInputSearchRegion(sidoListRef.current, lastSearchedValues), ...toInputSearchRegion(sidoListRef.current, lastSearchedValues),
laePicNm: submitInfo.laePicNm, lclgvPicNm: submitInfo.lclgvPicNm,
laePicTelNo: submitInfo.laePicTelNo, lclgvPicTelnoCn: submitInfo.lclgvPicTelnoCn,
laeKbrdrDeptNm: submitInfo.laeKbrdrDeptNm, lclgvKbrdrDeptNm: submitInfo.lclgvKbrdrDeptNm,
laeKbrdrJbgdNm: submitInfo.laeKbrdrJbgdNm, lclgvKbrdrJbgdNm: submitInfo.lclgvKbrdrJbgdNm,
laeIdfrNm: submitInfo.laeIdfrNm, lclgvIdfrNm: submitInfo.lclgvIdfrNm,
laeIdfrTelNo: submitInfo.laeIdfrTelNo, lclgvIdfrTelnoCn: submitInfo.lclgvIdfrTelnoCn,
laeIdfrDeptNm: submitInfo.laeIdfrDeptNm, lclgvIdfrDeptNm: submitInfo.lclgvIdfrDeptNm,
laeIdfrJbgdNm: submitInfo.laeIdfrJbgdNm, lclgvIdfrJbgdNm: submitInfo.lclgvIdfrJbgdNm,
}; };
const verificationQuery = { const verificationQuery = {
@@ -892,7 +892,7 @@ const SewerageFinanceInp = () => {
if (isSettleTab) { if (isSettleTab) {
const param: SewerageFinanceSettleSubmitRequest = { const param: SewerageFinanceSettleSubmitRequest = {
...submitInfoBase, ...submitInfoBase,
userId: userInfo.userUnqId, userUuid: userInfo.userUnqId,
submitList: buildSewerageFinanceSettleSaveList(currentData), submitList: buildSewerageFinanceSettleSaveList(currentData),
...adminOpt, ...adminOpt,
}; };
@@ -903,7 +903,7 @@ const SewerageFinanceInp = () => {
} else if (isChargeTab) { } else if (isChargeTab) {
const param: SewerageChargeSubmitRequest = { const param: SewerageChargeSubmitRequest = {
...submitInfoBase, ...submitInfoBase,
userId: userInfo.userUnqId, userUuid: userInfo.userUnqId,
submitList: buildSewerageChargeSaveList(currentData), submitList: buildSewerageChargeSaveList(currentData),
...adminOpt, ...adminOpt,
}; };
@@ -911,7 +911,7 @@ const SewerageFinanceInp = () => {
} else if (isUsageFeeTab) { } else if (isUsageFeeTab) {
const param: SewerageUsageFeeSubmitRequest = { const param: SewerageUsageFeeSubmitRequest = {
...submitInfoBase, ...submitInfoBase,
userId: userInfo.userUnqId, userUuid: userInfo.userUnqId,
submitList: buildSewerageUsageFeeSaveList(currentData), submitList: buildSewerageUsageFeeSaveList(currentData),
...adminOpt, ...adminOpt,
}; };
@@ -920,7 +920,7 @@ const SewerageFinanceInp = () => {
} else { } else {
const param: CauserBurdenSubmitRequest = { const param: CauserBurdenSubmitRequest = {
...submitInfoBase, ...submitInfoBase,
userId: userInfo.userUnqId, userUuid: userInfo.userUnqId,
submitList: buildCauserBurdenSaveList(currentData), submitList: buildCauserBurdenSaveList(currentData),
...adminOpt, ...adminOpt,
}; };
@@ -943,7 +943,7 @@ const SewerageFinanceInp = () => {
sewer_bzmn_cd: lastSearchedValues?.bsnmCd ?? "", sewer_bzmn_cd: lastSearchedValues?.bsnmCd ?? "",
stats_cd: statsCdForTab, stats_cd: statsCdForTab,
stats_yr: lastSearchedValues.year ?? "", 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", gen_verify_stts_cd: nvpassed ? "1" : "2",
hb_pass_yn: response.data?.isHbPassed, hb_pass_yn: response.data?.isHbPassed,
}; };
@@ -1039,7 +1039,7 @@ const SewerageFinanceInp = () => {
if (isSettleTab) { if (isSettleTab) {
const param: SewerageFinanceSettleSaveRequest = { const param: SewerageFinanceSettleSaveRequest = {
...baseRequest, ...baseRequest,
userId: userInfo.userUnqId, userUuid: userInfo.userUnqId,
saveList: buildSewerageFinanceSettleSaveList(currentData), saveList: buildSewerageFinanceSettleSaveList(currentData),
...(isAdminInfo ? { superAdmin: "superAdmin" } : {}), ...(isAdminInfo ? { superAdmin: "superAdmin" } : {}),
}; };
@@ -1063,7 +1063,7 @@ const SewerageFinanceInp = () => {
if (isChargeTab) { if (isChargeTab) {
const param: SewerageChargeSaveRequest = { const param: SewerageChargeSaveRequest = {
...baseRequest, ...baseRequest,
userId: userInfo.userUnqId, userUuid: userInfo.userUnqId,
saveList: buildSewerageChargeSaveList(currentData), saveList: buildSewerageChargeSaveList(currentData),
...(isAdminInfo ? { superAdmin: "superAdmin" } : {}), ...(isAdminInfo ? { superAdmin: "superAdmin" } : {}),
}; };
@@ -1087,7 +1087,7 @@ const SewerageFinanceInp = () => {
if (isUsageFeeTab) { if (isUsageFeeTab) {
const param: SewerageUsageFeeSaveRequest = { const param: SewerageUsageFeeSaveRequest = {
...baseRequest, ...baseRequest,
userId: userInfo.userUnqId, userUuid: userInfo.userUnqId,
saveList: buildSewerageUsageFeeSaveList(currentData), saveList: buildSewerageUsageFeeSaveList(currentData),
...(isAdminInfo ? { superAdmin: "superAdmin" } : {}), ...(isAdminInfo ? { superAdmin: "superAdmin" } : {}),
}; };
@@ -1110,7 +1110,7 @@ const SewerageFinanceInp = () => {
const param: CauserBurdenSaveRequest = { const param: CauserBurdenSaveRequest = {
...baseRequest, ...baseRequest,
userId: userInfo.userUnqId, userUuid: userInfo.userUnqId,
saveList: buildCauserBurdenSaveList(currentData), saveList: buildCauserBurdenSaveList(currentData),
...(isAdminInfo ? { superAdmin: "superAdmin" } : {}), ...(isAdminInfo ? { superAdmin: "superAdmin" } : {}),
}; };
@@ -1232,7 +1232,7 @@ const SewerageFinanceInp = () => {
: e.vrfcCd === "NV" : e.vrfcCd === "NV"
? "일반검증 - " ? "일반검증 - "
: "모집단 검증 - "; : "모집단 검증 - ";
return `${prefix}${e.rsnExpln}(검증 기준값: ${e.compVlCn} / 현재 입력값: ${e.nowVlCn})`; return `${prefix}${e.rsnExpln}(검증 기준값: ${e.cmprCn} / 현재 입력값: ${e.nowCn})`;
}) })
.filter(Boolean) .filter(Boolean)
.join("\n"); .join("\n");
@@ -1278,7 +1278,7 @@ const SewerageFinanceInp = () => {
{submitOk && <SubmitButton submitFunc={submitFunc} />} {submitOk && <SubmitButton submitFunc={submitFunc} />}
</> </>
)} )}
{activeTabStatus?.laeSbmsnSttsCd === "2" && submitOk && ( {activeTabStatus?.lclgvSbmsnSttsCd === "2" && submitOk && (
<CancelSubmitButton cnacelSubmitFunc={cnacelSubmitFunc} /> <CancelSubmitButton cnacelSubmitFunc={cnacelSubmitFunc} />
)} )}
{showSaveInToolbar && <SaveButton saveFunc={saveFunc} />} {showSaveInToolbar && <SaveButton saveFunc={saveFunc} />}
@@ -325,8 +325,8 @@ const SeweragePenetrationRateInp = () => {
); );
setStatsCd(commonInfo.statsCd); setStatsCd(commonInfo.statsCd);
setIsVerificationFailed(isVerificationFailedFromCommonInfo(commonInfo)); setIsVerificationFailed(isVerificationFailedFromCommonInfo(commonInfo));
if (statusInfo && statusInfo.laeSbmsnSttsCd) { if (statusInfo && statusInfo.lclgvSbmsnSttsCd) {
if (['2', '3'].includes(statusInfo.laeSbmsnSttsCd)) { if (['2', '3'].includes(statusInfo.lclgvSbmsnSttsCd)) {
setIsEnterable(false); setIsEnterable(false);
} else { } else {
setIsEnterable(isEnterable); setIsEnterable(isEnterable);
@@ -395,7 +395,7 @@ const SeweragePenetrationRateInp = () => {
...toInputSearchRegion(sidoListRef.current, searchValues), ...toInputSearchRegion(sidoListRef.current, searchValues),
ctpvNm: searchValues?.sido ?? '', ctpvNm: searchValues?.sido ?? '',
statsYr: searchValues?.year ?? '', statsYr: searchValues?.year ?? '',
userId: userInfo.userUnqId, userUuid: userInfo.userUnqId,
statsCd: statsCd, statsCd: statsCd,
}; };
@@ -501,30 +501,30 @@ const SeweragePenetrationRateInp = () => {
sggNm: nullableTrimmedString(d.sggNm), sggNm: nullableTrimmedString(d.sggNm),
admdstCd: nullableTrimmedString(d.admdstCd), admdstCd: nullableTrimmedString(d.admdstCd),
admdstNm: nullableTrimmedString(d.admdstNm), admdstNm: nullableTrimmedString(d.admdstNm),
trbtrNm: nullableTrimmedString(d.trbtrNm), statsTrbtrNm: nullableTrimmedString(d.statsTrbtrNm),
spcCtpnRgnCn: spcCtpnRgnCn:
d.spcCtpnRgnCn === '해당없음' ? null : nullableTrimmedString(d.spcCtpnRgnCn), d.spcCtpnRgnCn === '해당없음' ? null : nullableTrimmedString(d.spcCtpnRgnCn),
ts1SwtrmtPpltnCnt: formatNumber(d.ts1SwtrmtPpltnCnt, 'ts1SwtrmtPpltnCnt'), physSwtrmtPpltnCnt: formatNumber(d.physSwtrmtPpltnCnt, 'physSwtrmtPpltnCnt'),
ts2SwtrmtPpltnCnt: formatNumber(d.ts2SwtrmtPpltnCnt, 'ts2SwtrmtPpltnCnt'), crtureSwtrmtPpltnCnt: formatNumber(d.crtureSwtrmtPpltnCnt, 'crtureSwtrmtPpltnCnt'),
ts3SwtrmtPpltnCnt: formatNumber(d.ts3SwtrmtPpltnCnt, 'ts3SwtrmtPpltnCnt'), altdSwtrmtPpltnCnt: formatNumber(d.altdSwtrmtPpltnCnt, 'altdSwtrmtPpltnCnt'),
ts1WwtPrcsPpltnCnt: formatNumber(d.ts1WwtPrcsPpltnCnt, 'ts1WwtPrcsPpltnCnt'), physWswtPpltnCnt: formatNumber(d.physWswtPpltnCnt, 'physWswtPpltnCnt'),
ts2WwtPrcsPpltnCnt: formatNumber(d.ts2WwtPrcsPpltnCnt, 'ts2WwtPrcsPpltnCnt'), crtureWswtPpltnCnt: formatNumber(d.crtureWswtPpltnCnt, 'crtureWswtPpltnCnt'),
ts3WwtPrcsPpltnCnt: formatNumber(d.ts3WwtPrcsPpltnCnt, 'ts3WwtPrcsPpltnCnt'), altdWswtPpltnCnt: formatNumber(d.altdWswtPpltnCnt, 'altdWswtPpltnCnt'),
yetCntnPpltnCnt: formatNumber(d.yetCntnPpltnCnt, 'yetCntnPpltnCnt'), urftPpltnCnt: formatNumber(d.urftPpltnCnt, 'urftPpltnCnt'),
staaArea: formatNumber(d.staaArea, 'staaArea'), swtrmtZoneIntnar: formatNumber(d.swtrmtZoneIntnar, 'swtrmtZoneIntnar'),
unprcsPpltnCnt: formatNumber(d.unprcsPpltnCnt, 'unprcsPpltnCnt'), unprcsPpltnCnt: formatNumber(d.unprcsPpltnCnt, 'unprcsPpltnCnt'),
drtwPrcsPpltnCnt: formatNumber(d.drtwPrcsPpltnCnt, 'drtwPrcsPpltnCnt'), swgdplPpltnCnt: formatNumber(d.swgdplPpltnCnt, 'swgdplPpltnCnt'),
spctnkPpltnCnt: formatNumber(d.spctnkPpltnCnt, 'spctnkPpltnCnt'), spctnkPpltnCnt: formatNumber(d.spctnkPpltnCnt, 'spctnkPpltnCnt'),
staaExcpArea: formatNumber(d.staaExcpArea, 'staaExcpArea'), swtrmtZoneExtnar: formatNumber(d.swtrmtZoneExtnar, 'swtrmtZoneExtnar'),
rmrk: nullableTrimmedString(d.rmrk), rmrk: nullableTrimmedString(d.rmrk),
wholPpltnCnt: formatNumber(d.wholPpltnCnt, 'wholPpltnCnt'), wholPpltnCnt: formatNumber(d.wholPpltnCnt, 'wholPpltnCnt'),
wholArea: formatNumber(d.wholArea, 'wholArea'), whlar: formatNumber(d.whlar, 'whlar'),
wholSwtrmtPpltnCnt: formatNumber(d.wholSwtrmtPpltnCnt, 'wholSwtrmtPpltnCnt'), wholSwtrmtPpltnCnt: formatNumber(d.wholSwtrmtPpltnCnt, 'wholSwtrmtPpltnCnt'),
wholPblSwtrmtPpltnCnt: formatNumber(d.wholPblSwtrmtPpltnCnt, 'wholPblSwtrmtPpltnCnt'), wholPblSwtrmtPpltnCnt: formatNumber(d.wholPblSwtrmtPpltnCnt, 'wholPblSwtrmtPpltnCnt'),
wholWwtPrcsPpltnCnt: formatNumber(d.wholWwtPrcsPpltnCnt, 'wholWwtPrcsPpltnCnt'), wholWswtPpltnCnt: formatNumber(d.wholWswtPpltnCnt, 'wholWswtPpltnCnt'),
wholStaaExcpPpltnCnt: formatNumber(d.wholStaaExcpPpltnCnt, 'wholStaaExcpPpltnCnt'), wholStaaOtsdPpltnCnt: formatNumber(d.wholStaaOtsdPpltnCnt, 'wholStaaOtsdPpltnCnt'),
staaPsplyRt: formatNumber(d.staaPsplyRt, 'staaPsplyRt'), swagePplPsplyRt: formatNumber(d.swagePplPsplyRt, 'swagePplPsplyRt'),
altdPrcsPsplyRt: formatNumber(d.altdPrcsPsplyRt, 'altdPrcsPsplyRt'), awtrPsplyRt: formatNumber(d.awtrPsplyRt, 'awtrPsplyRt'),
sewerInstlRt: formatNumber(d.sewerInstlRt, 'sewerInstlRt'), sewerInstlRt: formatNumber(d.sewerInstlRt, 'sewerInstlRt'),
})); }));
@@ -532,17 +532,17 @@ const SeweragePenetrationRateInp = () => {
...toInputSearchRegion(sidoListRef.current, searchValues), ...toInputSearchRegion(sidoListRef.current, searchValues),
ctpvNm: searchValues?.sido ?? '', ctpvNm: searchValues?.sido ?? '',
statsYr: searchValues?.year ?? '', statsYr: searchValues?.year ?? '',
userId: userInfo.userUnqId, userUuid: userInfo.userUnqId,
submitList: convertedData, submitList: convertedData,
sewerBzmnArea: footerFromApi?.sewerBzmnArea, sewerBzmnArea: footerFromApi?.sewerBzmnArea,
laePicNm: submitInfo.laePicNm, lclgvPicNm: submitInfo.lclgvPicNm,
laeKbrdrJbgdNm: submitInfo.laeKbrdrJbgdNm, lclgvKbrdrJbgdNm: submitInfo.lclgvKbrdrJbgdNm,
laeKbrdrDeptNm: submitInfo.laeKbrdrDeptNm, lclgvKbrdrDeptNm: submitInfo.lclgvKbrdrDeptNm,
laePicTelNo: submitInfo.laePicTelNo, lclgvPicTelnoCn: submitInfo.lclgvPicTelnoCn,
laeIdfrNm: submitInfo.laeIdfrNm, lclgvIdfrNm: submitInfo.lclgvIdfrNm,
laeIdfrJbgdNm: submitInfo.laeIdfrJbgdNm, lclgvIdfrJbgdNm: submitInfo.lclgvIdfrJbgdNm,
laeIdfrDeptNm: submitInfo.laeIdfrDeptNm, lclgvIdfrDeptNm: submitInfo.lclgvIdfrDeptNm,
laeIdfrTelNo: submitInfo.laeIdfrTelNo, lclgvIdfrTelnoCn: submitInfo.lclgvIdfrTelnoCn,
}; };
setGlobalProgressLabel('일반 검증 진행 중...'); setGlobalProgressLabel('일반 검증 진행 중...');
@@ -557,7 +557,7 @@ const SeweragePenetrationRateInp = () => {
sewer_bzmn_cd: searchValues?.bsnmCd ?? '', sewer_bzmn_cd: searchValues?.bsnmCd ?? '',
stats_cd: statsCd, stats_cd: statsCd,
stats_yr: searchValues?.year ?? '', 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', gen_verify_stts_cd: response.data.nvpassed ? '1' : '2',
hb_pass_yn: response.data.isHbPassed, hb_pass_yn: response.data.isHbPassed,
}; };
@@ -681,37 +681,37 @@ const SeweragePenetrationRateInp = () => {
sggNm: nullableTrimmedString(d.sggNm), // 시군구 sggNm: nullableTrimmedString(d.sggNm), // 시군구
admdstCd: nullableTrimmedString(d.admdstCd), // 행정코드 admdstCd: nullableTrimmedString(d.admdstCd), // 행정코드
admdstNm: nullableTrimmedString(d.admdstNm), // 행정구역명 admdstNm: nullableTrimmedString(d.admdstNm), // 행정구역명
trbtrNm: nullableTrimmedString(d.trbtrNm), // 지류 statsTrbtrNm: nullableTrimmedString(d.statsTrbtrNm), // 지류
spcCtpnRgnCn: spcCtpnRgnCn:
d.spcCtpnRgnCn === '해당없음' d.spcCtpnRgnCn === '해당없음'
? null ? null
: nullableTrimmedString(d.spcCtpnRgnCn), // 특별대책지역 : nullableTrimmedString(d.spcCtpnRgnCn), // 특별대책지역
// 공공하수처리인구(명) - 물리적/생물학적/고도처리 // 공공하수처리인구(명) - 물리적/생물학적/고도처리
ts1SwtrmtPpltnCnt: formatNumber(d.ts1SwtrmtPpltnCnt, 'ts1SwtrmtPpltnCnt'), // 물리적처리 physSwtrmtPpltnCnt: formatNumber(d.physSwtrmtPpltnCnt, 'physSwtrmtPpltnCnt'), // 물리적처리
ts2SwtrmtPpltnCnt: formatNumber(d.ts2SwtrmtPpltnCnt, 'ts2SwtrmtPpltnCnt'), // 생물학적처리 crtureSwtrmtPpltnCnt: formatNumber(d.crtureSwtrmtPpltnCnt, 'crtureSwtrmtPpltnCnt'), // 생물학적처리
ts3SwtrmtPpltnCnt: formatNumber(d.ts3SwtrmtPpltnCnt, 'ts3SwtrmtPpltnCnt'), // 고도처리 altdSwtrmtPpltnCnt: formatNumber(d.altdSwtrmtPpltnCnt, 'altdSwtrmtPpltnCnt'), // 고도처리
// 폐수처리인구(명) - 물리적/생물학적/고도처리 // 폐수처리인구(명) - 물리적/생물학적/고도처리
ts1WwtPrcsPpltnCnt: formatNumber(d.ts1WwtPrcsPpltnCnt, 'ts1WwtPrcsPpltnCnt'), physWswtPpltnCnt: formatNumber(d.physWswtPpltnCnt, 'physWswtPpltnCnt'),
ts2WwtPrcsPpltnCnt: formatNumber(d.ts2WwtPrcsPpltnCnt, 'ts2WwtPrcsPpltnCnt'), crtureWswtPpltnCnt: formatNumber(d.crtureWswtPpltnCnt, 'crtureWswtPpltnCnt'),
ts3WwtPrcsPpltnCnt: formatNumber(d.ts3WwtPrcsPpltnCnt, 'ts3WwtPrcsPpltnCnt'), altdWswtPpltnCnt: formatNumber(d.altdWswtPpltnCnt, 'altdWswtPpltnCnt'),
yetCntnPpltnCnt: formatNumber(d.yetCntnPpltnCnt, 'yetCntnPpltnCnt'), // 미접속인구 urftPpltnCnt: formatNumber(d.urftPpltnCnt, 'urftPpltnCnt'), // 미접속인구
staaArea: formatNumber(d.staaArea, 'staaArea'), // 하수처리구역 내 면적(㎢) swtrmtZoneIntnar: formatNumber(d.swtrmtZoneIntnar, 'swtrmtZoneIntnar'), // 하수처리구역 내 면적(㎢)
// 하수처리구역 외 // 하수처리구역 외
unprcsPpltnCnt: formatNumber(d.unprcsPpltnCnt, 'unprcsPpltnCnt'), // 미처리인구 unprcsPpltnCnt: formatNumber(d.unprcsPpltnCnt, 'unprcsPpltnCnt'), // 미처리인구
drtwPrcsPpltnCnt: formatNumber(d.drtwPrcsPpltnCnt, 'drtwPrcsPpltnCnt'), // 오수처리인구 swgdplPpltnCnt: formatNumber(d.swgdplPpltnCnt, 'swgdplPpltnCnt'), // 오수처리인구
spctnkPpltnCnt: formatNumber(d.spctnkPpltnCnt, 'spctnkPpltnCnt'), // 정화조인구 spctnkPpltnCnt: formatNumber(d.spctnkPpltnCnt, 'spctnkPpltnCnt'), // 정화조인구
staaExcpArea: formatNumber(d.staaExcpArea, 'staaExcpArea'), // 하수처리구역 외 면적(㎢) swtrmtZoneExtnar: formatNumber(d.swtrmtZoneExtnar, 'swtrmtZoneExtnar'), // 하수처리구역 외 면적(㎢)
rmrk: nullableTrimmedString(d.rmrk), // 비고 rmrk: nullableTrimmedString(d.rmrk), // 비고
// 합계·소계(계산필드 저장용) // 합계·소계(계산필드 저장용)
wholPpltnCnt: formatNumber(d.wholPpltnCnt, 'wholPpltnCnt'), // 총인구(명) wholPpltnCnt: formatNumber(d.wholPpltnCnt, 'wholPpltnCnt'), // 총인구(명)
wholArea: formatNumber(d.wholArea, 'wholArea'), // 총면적(㎢) whlar: formatNumber(d.whlar, 'whlar'), // 총면적(㎢)
wholSwtrmtPpltnCnt: formatNumber(d.wholSwtrmtPpltnCnt, 'wholSwtrmtPpltnCnt'), // 하수처리구역 내 합계 wholSwtrmtPpltnCnt: formatNumber(d.wholSwtrmtPpltnCnt, 'wholSwtrmtPpltnCnt'), // 하수처리구역 내 합계
wholPblSwtrmtPpltnCnt: formatNumber(d.wholPblSwtrmtPpltnCnt, 'wholPblSwtrmtPpltnCnt'), // 공공하수처리인구 소계 wholPblSwtrmtPpltnCnt: formatNumber(d.wholPblSwtrmtPpltnCnt, 'wholPblSwtrmtPpltnCnt'), // 공공하수처리인구 소계
wholWwtPrcsPpltnCnt: formatNumber(d.wholWwtPrcsPpltnCnt, 'wholWwtPrcsPpltnCnt'), // 폐수처리인구 소계 wholWswtPpltnCnt: formatNumber(d.wholWswtPpltnCnt, 'wholWswtPpltnCnt'), // 폐수처리인구 소계
wholStaaExcpPpltnCnt: formatNumber(d.wholStaaExcpPpltnCnt, 'wholStaaExcpPpltnCnt'), // 하수처리구역 외 합계 wholStaaOtsdPpltnCnt: formatNumber(d.wholStaaOtsdPpltnCnt, 'wholStaaOtsdPpltnCnt'), // 하수처리구역 외 합계
// 보급률(%) // 보급률(%)
staaPsplyRt: formatNumber(d.staaPsplyRt, 'staaPsplyRt'), // 공공하수처리구역 인구보급률 swagePplPsplyRt: formatNumber(d.swagePplPsplyRt, 'swagePplPsplyRt'), // 공공하수처리구역 인구보급률
altdPrcsPsplyRt: formatNumber(d.altdPrcsPsplyRt, 'altdPrcsPsplyRt'), // 고도처리 인구보급률 awtrPsplyRt: formatNumber(d.awtrPsplyRt, 'awtrPsplyRt'), // 고도처리 인구보급률
sewerInstlRt: formatNumber(d.sewerInstlRt, 'sewerInstlRt'), // 하수도 설치율 sewerInstlRt: formatNumber(d.sewerInstlRt, 'sewerInstlRt'), // 하수도 설치율
})); }));
@@ -719,7 +719,7 @@ const SeweragePenetrationRateInp = () => {
...toInputSearchRegion(sidoListRef.current, searchValues), ...toInputSearchRegion(sidoListRef.current, searchValues),
ctpvNm: searchValues?.sido ?? '', // 시도 ctpvNm: searchValues?.sido ?? '', // 시도
statsYr: searchValues?.year ?? '', // 통계 연도 statsYr: searchValues?.year ?? '', // 통계 연도
userId: userInfo.userUnqId, // 사용자 userUuid: userInfo.userUnqId, // 사용자
saveList: convertedData, // 저장 데이터 saveList: convertedData, // 저장 데이터
sewerBzmnArea: footerFromApi?.sewerBzmnArea, // 행정참고자료면적 sewerBzmnArea: footerFromApi?.sewerBzmnArea, // 행정참고자료면적
}; };
@@ -763,7 +763,7 @@ const SeweragePenetrationRateInp = () => {
...toInputSearchRegion(sidoListRef.current, searchValues), ...toInputSearchRegion(sidoListRef.current, searchValues),
ctpvNm: searchValues?.sido ?? '', ctpvNm: searchValues?.sido ?? '',
statsYr: searchValues?.year ?? '', statsYr: searchValues?.year ?? '',
mdfrId: userInfo.userUnqId, mdfrUuid: userInfo.userUnqId,
statsCd: statsCd, statsCd: statsCd,
}; };
@@ -794,7 +794,7 @@ const SeweragePenetrationRateInp = () => {
const submitOk = isSubmitOkForToolbar(sidoList, toolbarSearchContext); const submitOk = isSubmitOkForToolbar(sidoList, toolbarSearchContext);
const inputPeriodCurrent = isInputPeriodCurrent(periodCheckList); const inputPeriodCurrent = isInputPeriodCurrent(periodCheckList);
const isSubmitted = statusInfo?.laeSbmsnSttsCd === '2'; const isSubmitted = statusInfo?.lclgvSbmsnSttsCd === '2';
const baseShowSaveInToolbar = const baseShowSaveInToolbar =
(isEnterable || isAdminInfo) && inputPeriodCurrent && gugunOkOrNotDoList; (isEnterable || isAdminInfo) && inputPeriodCurrent && gugunOkOrNotDoList;
const baseShowEnterableToolbarButtons = isEnterable && gugunOkOrNotDoList; const baseShowEnterableToolbarButtons = isEnterable && gugunOkOrNotDoList;
@@ -834,7 +834,7 @@ const SeweragePenetrationRateInp = () => {
{submitOk && <SubmitButton submitFunc={() => submitFunc(false)} />} {submitOk && <SubmitButton submitFunc={() => submitFunc(false)} />}
</> </>
)} )}
{statusInfo?.laeSbmsnSttsCd === '2' && submitOk && <CancelSubmitButton cnacelSubmitFunc={cnacelSubmitFunc} />} {statusInfo?.lclgvSbmsnSttsCd === '2' && submitOk && <CancelSubmitButton cnacelSubmitFunc={cnacelSubmitFunc} />}
{showSaveInToolbar && <SaveButton saveFunc={saveFunc} />} {showSaveInToolbar && <SaveButton saveFunc={saveFunc} />}
</div> </div>
</div> </div>
@@ -878,7 +878,7 @@ const SeweragePenetrationRateInp = () => {
.map((e) => { .map((e) => {
const prefix = e.vrfcCd === 'IMR' ? '시계열 검증 - ' : (e.vrfcCd === 'NV' ? '일반검증 - ' : '모집단 검증 -'); const prefix = e.vrfcCd === 'IMR' ? '시계열 검증 - ' : (e.vrfcCd === 'NV' ? '일반검증 - ' : '모집단 검증 -');
return `${prefix}${e.rsnExpln} return `${prefix}${e.rsnExpln}
(검증 기준값: ${e.compVlCn} / 현재 입력값: ${e.nowVlCn})`; (검증 기준값: ${e.cmprCn} / 현재 입력값: ${e.nowCn})`;
}) })
.filter(Boolean) .filter(Boolean)
.join('\n'); .join('\n');
@@ -119,8 +119,8 @@ const computeTabEnterable = (
statusInfo: SewerageStatusInfo | null | undefined, statusInfo: SewerageStatusInfo | null | undefined,
periodEnterable: boolean, periodEnterable: boolean,
): boolean => { ): boolean => {
if (statusInfo?.laeSbmsnSttsCd) { if (statusInfo?.lclgvSbmsnSttsCd) {
if (["2", "3"].includes(statusInfo.laeSbmsnSttsCd)) { if (["2", "3"].includes(statusInfo.lclgvSbmsnSttsCd)) {
return false; return false;
} }
return periodEnterable; return periodEnterable;
@@ -156,7 +156,7 @@ function computeTabToolbarSnapshot(
): TabToolbarSnapshot { ): TabToolbarSnapshot {
const gugunOk = buildGugunOkForToolbar(searchContext); const gugunOk = buildGugunOkForToolbar(searchContext);
const enterable = computeTabEnterable(statusInfo, periodEnterable); const enterable = computeTabEnterable(statusInfo, periodEnterable);
const isSubmitted = statusInfo?.laeSbmsnSttsCd === "2"; const isSubmitted = statusInfo?.lclgvSbmsnSttsCd === "2";
const showSaveInToolbar = (enterable || isAdminInfo) && periodEnterable && gugunOk; const showSaveInToolbar = (enterable || isAdminInfo) && periodEnterable && gugunOk;
const showEnterableToolbarButtons = enterable && gugunOk; const showEnterableToolbarButtons = enterable && gugunOk;
const showSubmittedInInputPeriodToolbar = isSubmitted && periodEnterable && gugunOk; const showSubmittedInInputPeriodToolbar = isSubmitted && periodEnterable && gugunOk;
@@ -223,18 +223,18 @@ function buildComplaintSaveList(
admdstCd: nullableTrimmedString(d.admdstCd), admdstCd: nullableTrimmedString(d.admdstCd),
admdstNm: nullableTrimmedString(d.admdstNm), admdstNm: nullableTrimmedString(d.admdstNm),
swtrmtPpltnCnt: formatNumber(d.swtrmtPpltnCnt, "swtrmtPpltnCnt"), swtrmtPpltnCnt: formatNumber(d.swtrmtPpltnCnt, "swtrmtPpltnCnt"),
dschgWqCnt: formatNumber(d.dschgWqCnt, "dschgWqCnt"), cvlcptDschgWq: formatNumber(d.cvlcptDschgWq, "cvlcptDschgWq"),
odorCnt: formatNumber(d.odorCnt, "odorCnt"), cvlcptOdorCnt: formatNumber(d.cvlcptOdorCnt, "cvlcptOdorCnt"),
ldsCnt: formatNumber(d.ldsCnt, "ldsCnt"), cvlcptDrgCnt: formatNumber(d.cvlcptDrgCnt, "cvlcptDrgCnt"),
plltnAcdntCnt: formatNumber(d.plltnAcdntCnt, "plltnAcdntCnt"), cvlcptMnhlCnt: formatNumber(d.cvlcptMnhlCnt, "cvlcptMnhlCnt"),
swagePplCnt: formatNumber(d.swagePplCnt, "swagePplCnt"), cvlcptSpctnkCnt: formatNumber(d.cvlcptSpctnkCnt, "cvlcptSpctnkCnt"),
sewerCrgAmt: formatNumber(d.sewerCrgAmt, "sewerCrgAmt"), cvlcptSewerCrg: formatNumber(d.cvlcptSewerCrg, "cvlcptSewerCrg"),
etcCnt: formatNumber(d.etcCnt, "etcCnt"), cvlcptEtcCnt: formatNumber(d.cvlcptEtcCnt, "cvlcptEtcCnt"),
rmrk: nullableTrimmedString(d.rmrk), rmrk: nullableTrimmedString(d.rmrk),
whol: formatNumber(d.whol, "whol"), cvlcptWholCnt: formatNumber(d.cvlcptWholCnt, "cvlcptWholCnt"),
crtrPpltnCvlcptEvntcsCnt: formatNumber( crtrPpltnCvlcptCnt: formatNumber(
d.crtrPpltnCvlcptEvntcsCnt, d.crtrPpltnCvlcptCnt,
"crtrPpltnCvlcptEvntcsCnt", "crtrPpltnCvlcptCnt",
), ),
})); }));
} }
@@ -250,15 +250,15 @@ function buildResidentFriendlyFactSaveList(
swtrmtFcltCd: nullableTrimmedString(d.swtrmtFcltCd), swtrmtFcltCd: nullableTrimmedString(d.swtrmtFcltCd),
swtrmtFcltNm: nullableTrimmedString(d.swtrmtFcltNm), swtrmtFcltNm: nullableTrimmedString(d.swtrmtFcltNm),
fcltSn: nullableTrimmedString(d.fcltSn), fcltSn: nullableTrimmedString(d.fcltSn),
tmplntArea: formatNumber(d.tmplntArea, "tmplntArea"), stpar: formatNumber(d.stpar, "stpar"),
brkFcltArea: formatNumber(d.brkFcltArea, "brkFcltArea"), brkFcar: formatNumber(d.brkFcar, "brkFcar"),
childFrshpSpacArea: formatNumber(d.childFrshpSpacArea, "childFrshpSpacArea"), childFrshpSpacArea: formatNumber(d.childFrshpSpacArea, "childFrshpSpacArea"),
bdySportsFcltArea: formatNumber(d.bdySportsFcltArea, "bdySportsFcltArea"), bdySportsFcar: formatNumber(d.bdySportsFcar, "bdySportsFcar"),
sportsFcltArea: formatNumber(d.sportsFcltArea, "sportsFcltArea"), sportsFcar: formatNumber(d.sportsFcar, "sportsFcar"),
pkltArea: formatNumber(d.pkltArea, "pkltArea"), pkltar: formatNumber(d.pkltar, "pkltar"),
eduMultiFcltArea: formatNumber(d.eduMultiFcltArea, "eduMultiFcltArea"), eduMultiFcar: formatNumber(d.eduMultiFcar, "eduMultiFcar"),
wtlndMakeArea: formatNumber(d.wtlndMakeArea, "wtlndMakeArea"), wtlndMakeArea: formatNumber(d.wtlndMakeArea, "wtlndMakeArea"),
etcCnt: formatNumber(d.etcCnt, "etcCnt"), othrar: formatNumber(d.othrar, "othrar"),
rmrk: nullableTrimmedString(d.rmrk), rmrk: nullableTrimmedString(d.rmrk),
})); }));
} }
@@ -772,14 +772,14 @@ const SewerageServiceLevelInp = () => {
statsYr: lastSearchedValues.year ?? "", statsYr: lastSearchedValues.year ?? "",
ctpvNm: lastSearchedValues.sido ?? "", ctpvNm: lastSearchedValues.sido ?? "",
...toInputSearchRegion(sidoListRef.current, lastSearchedValues), ...toInputSearchRegion(sidoListRef.current, lastSearchedValues),
laePicNm: submitInfo.laePicNm, lclgvPicNm: submitInfo.lclgvPicNm,
laePicTelNo: submitInfo.laePicTelNo, lclgvPicTelnoCn: submitInfo.lclgvPicTelnoCn,
laeKbrdrDeptNm: submitInfo.laeKbrdrDeptNm, lclgvKbrdrDeptNm: submitInfo.lclgvKbrdrDeptNm,
laeKbrdrJbgdNm: submitInfo.laeKbrdrJbgdNm, lclgvKbrdrJbgdNm: submitInfo.lclgvKbrdrJbgdNm,
laeIdfrNm: submitInfo.laeIdfrNm, lclgvIdfrNm: submitInfo.lclgvIdfrNm,
laeIdfrTelNo: submitInfo.laeIdfrTelNo, lclgvIdfrTelnoCn: submitInfo.lclgvIdfrTelnoCn,
laeIdfrDeptNm: submitInfo.laeIdfrDeptNm, lclgvIdfrDeptNm: submitInfo.lclgvIdfrDeptNm,
laeIdfrJbgdNm: submitInfo.laeIdfrJbgdNm, lclgvIdfrJbgdNm: submitInfo.lclgvIdfrJbgdNm,
}; };
const verificationQuery = { const verificationQuery = {
@@ -807,13 +807,13 @@ const SewerageServiceLevelInp = () => {
const response = isComplaintTab const response = isComplaintTab
? await statisticsInputSewerageServiceLevelApi.submitComplaintList({ ? await statisticsInputSewerageServiceLevelApi.submitComplaintList({
...submitInfoBase, ...submitInfoBase,
userId: userInfo.userUnqId, userUuid: userInfo.userUnqId,
...(isAdminInfo ? { superAdmin: "superAdmin" } : {}), ...(isAdminInfo ? { superAdmin: "superAdmin" } : {}),
submitList: complaintSubmitList, submitList: complaintSubmitList,
}) })
: await statisticsInputSewerageServiceLevelApi.submitResidentFriendlyFactList({ : await statisticsInputSewerageServiceLevelApi.submitResidentFriendlyFactList({
...submitInfoBase, ...submitInfoBase,
userId: userInfo.userUnqId, userUuid: userInfo.userUnqId,
...(isAdminInfo ? { superAdmin: "superAdmin" } : {}), ...(isAdminInfo ? { superAdmin: "superAdmin" } : {}),
noApplicable, noApplicable,
submitList: residentSubmitList, submitList: residentSubmitList,
@@ -835,7 +835,7 @@ const SewerageServiceLevelInp = () => {
sewer_bzmn_cd: lastSearchedValues?.bsnmCd ?? "", sewer_bzmn_cd: lastSearchedValues?.bsnmCd ?? "",
stats_cd: statsCdForTab, stats_cd: statsCdForTab,
stats_yr: lastSearchedValues.year ?? "", 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", gen_verify_stts_cd: nvpassed ? "1" : "2",
hb_pass_yn: response.data?.isHbPassed, hb_pass_yn: response.data?.isHbPassed,
}; };
@@ -941,7 +941,7 @@ const SewerageServiceLevelInp = () => {
const response = const response =
await statisticsInputSewerageServiceLevelApi.saveComplaintList({ await statisticsInputSewerageServiceLevelApi.saveComplaintList({
...baseRequest, ...baseRequest,
userId: userInfo.userUnqId, userUuid: userInfo.userUnqId,
...(isAdminInfo ? { superAdmin: "superAdmin" } : {}), ...(isAdminInfo ? { superAdmin: "superAdmin" } : {}),
saveList, saveList,
}); });
@@ -967,7 +967,7 @@ const SewerageServiceLevelInp = () => {
await statisticsInputSewerageServiceLevelApi.saveResidentFriendlyFactList( await statisticsInputSewerageServiceLevelApi.saveResidentFriendlyFactList(
{ {
...baseRequest, ...baseRequest,
userId: userInfo.userUnqId, userUuid: userInfo.userUnqId,
...(isAdminInfo ? { superAdmin: "superAdmin" } : {}), ...(isAdminInfo ? { superAdmin: "superAdmin" } : {}),
noApplicable, noApplicable,
saveList, saveList,
@@ -1021,7 +1021,7 @@ const SewerageServiceLevelInp = () => {
...toInputSearchRegion(sidoListRef.current, lastSearchedValues), ...toInputSearchRegion(sidoListRef.current, lastSearchedValues),
ctpvNm: lastSearchedValues.sido ?? "", ctpvNm: lastSearchedValues.sido ?? "",
statsYr: lastSearchedValues.year ?? "", statsYr: lastSearchedValues.year ?? "",
mdfrId: userInfo.userUnqId, mdfrUuid: userInfo.userUnqId,
statsCd: statsCdForTab, statsCd: statsCdForTab,
}; };
@@ -1156,7 +1156,7 @@ const SewerageServiceLevelInp = () => {
: e.vrfcCd === "NV" : e.vrfcCd === "NV"
? "일반검증 - " ? "일반검증 - "
: "모집단 검증 - "; : "모집단 검증 - ";
return `${prefix}${e.rsnExpln}(검증 기준값: ${e.compVlCn} / 현재 입력값: ${e.nowVlCn})`; return `${prefix}${e.rsnExpln}(검증 기준값: ${e.cmprCn} / 현재 입력값: ${e.nowCn})`;
}) })
.filter(Boolean) .filter(Boolean)
.join("\n"); .join("\n");
@@ -1202,7 +1202,7 @@ const SewerageServiceLevelInp = () => {
{submitOk && <SubmitButton submitFunc={submitFunc} />} {submitOk && <SubmitButton submitFunc={submitFunc} />}
</> </>
)} )}
{activeTabStatus?.laeSbmsnSttsCd === "2" && submitOk && ( {activeTabStatus?.lclgvSbmsnSttsCd === "2" && submitOk && (
<CancelSubmitButton cnacelSubmitFunc={cnacelSubmitFunc} /> <CancelSubmitButton cnacelSubmitFunc={cnacelSubmitFunc} />
)} )}
{showSaveInToolbar && <SaveButton saveFunc={saveFunc} />} {showSaveInToolbar && <SaveButton saveFunc={saveFunc} />}
@@ -176,8 +176,8 @@ const StatsInputStatusInp = () => {
setIsApproveLoading(true); setIsApproveLoading(true);
try { try {
const userInfo = await getUserInfo(); const userInfo = await getUserInfo();
const mdfrId = (userInfo.userUnqId ?? "").trim(); const mdfrUuid = (userInfo.userUnqId ?? "").trim();
if (!mdfrId) { if (!mdfrUuid) {
alert("수정자 ID를 확인할 수 없습니다."); alert("수정자 ID를 확인할 수 없습니다.");
return; return;
} }
@@ -189,7 +189,7 @@ const StatsInputStatusInp = () => {
.map((row) => { .map((row) => {
const statsCd = String(row.statsCd ?? "").trim(); const statsCd = String(row.statsCd ?? "").trim();
const sewerBzmnCd = String(row.sewerBzmnCd ?? sewerBzmnCdDefault).trim(); const sewerBzmnCd = String(row.sewerBzmnCd ?? sewerBzmnCdDefault).trim();
return { statsYr, sewerBzmnCd, statsCd, mdfrId }; return { statsYr, sewerBzmnCd, statsCd, mdfrUuid };
}) })
.filter((item) => item.statsCd.length > 0); .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)}`; 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 { interface SubmitDialogProps {
open: boolean; open: boolean;
@@ -56,26 +56,26 @@ interface SubmitDialogProps {
} }
const defaultValues: StatisticsInputSubmitInfoFormData = { const defaultValues: StatisticsInputSubmitInfoFormData = {
laePicNm: "", lclgvPicNm: "",
laeKbrdrJbgdNm: "", lclgvKbrdrJbgdNm: "",
laeKbrdrDeptNm: "", lclgvKbrdrDeptNm: "",
laePicTelNo: "", lclgvPicTelnoCn: "",
laeIdfrNm: "", lclgvIdfrNm: "",
laeIdfrJbgdNm: "", lclgvIdfrJbgdNm: "",
laeIdfrDeptNm: "", lclgvIdfrDeptNm: "",
laeIdfrTelNo: "", lclgvIdfrTelnoCn: "",
}; };
function statusInfoToFormData(info: SewerageStatusInfo): StatisticsInputSubmitInfoFormData { function statusInfoToFormData(info: SewerageStatusInfo): StatisticsInputSubmitInfoFormData {
return { return {
laePicNm: info.laePicNm ?? "", lclgvPicNm: info.lclgvPicNm ?? "",
laeKbrdrJbgdNm: info.laeKbrdrJbgdNm ?? "", lclgvKbrdrJbgdNm: info.lclgvKbrdrJbgdNm ?? "",
laeKbrdrDeptNm: info.laeKbrdrDeptNm ?? "", lclgvKbrdrDeptNm: info.lclgvKbrdrDeptNm ?? "",
laePicTelNo: info.laePicTelNo ?? "", lclgvPicTelnoCn: info.lclgvPicTelnoCn ?? "",
laeIdfrNm: info.laeIdfrNm ?? "", lclgvIdfrNm: info.lclgvIdfrNm ?? "",
laeIdfrJbgdNm: info.laeIdfrJbgdNm ?? "", lclgvIdfrJbgdNm: info.lclgvIdfrJbgdNm ?? "",
laeIdfrDeptNm: info.laeIdfrDeptNm ?? "", lclgvIdfrDeptNm: info.lclgvIdfrDeptNm ?? "",
laeIdfrTelNo: info.laeIdfrTelNo ?? "", lclgvIdfrTelnoCn: info.lclgvIdfrTelnoCn ?? "",
}; };
}; };
@@ -115,14 +115,14 @@ const SubmitDailog = ({
} }
const rows: { name: keyof StatisticsInputSubmitInfoFormData; label: string; placeholder: string }[] = [ const rows: { name: keyof StatisticsInputSubmitInfoFormData; label: string; placeholder: string }[] = [
{ name: "laePicNm", label: "작성자 명", placeholder: "작성자 명 입력" }, { name: "lclgvPicNm", label: "작성자 명", placeholder: "작성자 명 입력" },
{ name: "laeKbrdrJbgdNm", label: "작성자 직제", placeholder: "작성자 직제 입력" }, { name: "lclgvKbrdrJbgdNm", label: "작성자 직제", placeholder: "작성자 직제 입력" },
{ name: "laeKbrdrDeptNm", label: "작성자 부서", placeholder: "작성자 부서 입력" }, { name: "lclgvKbrdrDeptNm", label: "작성자 부서", placeholder: "작성자 부서 입력" },
{ name: "laePicTelNo", label: "작성자 연락처", placeholder: "작성자 연락처 입력" }, { name: "lclgvPicTelnoCn", label: "작성자 연락처", placeholder: "작성자 연락처 입력" },
{ name: "laeIdfrNm", label: "승인자명", placeholder: "승인자명 입력" }, { name: "lclgvIdfrNm", label: "승인자명", placeholder: "승인자명 입력" },
{ name: "laeIdfrJbgdNm", label: "승인자 직제", placeholder: "승인자 직제 입력" }, { name: "lclgvIdfrJbgdNm", label: "승인자 직제", placeholder: "승인자 직제 입력" },
{ name: "laeIdfrDeptNm", label: "승인자 부서", placeholder: "승인자 부서 입력" }, { name: "lclgvIdfrDeptNm", label: "승인자 부서", placeholder: "승인자 부서 입력" },
{ name: "laeIdfrTelNo", label: "승인자 연락처", placeholder: "승인자 연락처" }, { name: "lclgvIdfrTelnoCn", label: "승인자 연락처", placeholder: "승인자 연락처" },
]; ];
return ( return (
@@ -158,8 +158,8 @@ const computeTabEnterable = (
statusInfo: SewerageStatusInfo | null | undefined, statusInfo: SewerageStatusInfo | null | undefined,
periodEnterable: boolean, periodEnterable: boolean,
): boolean => { ): boolean => {
if (statusInfo?.laeSbmsnSttsCd) { if (statusInfo?.lclgvSbmsnSttsCd) {
if (["2", "3"].includes(statusInfo.laeSbmsnSttsCd)) { if (["2", "3"].includes(statusInfo.lclgvSbmsnSttsCd)) {
return false; return false;
} }
return periodEnterable; return periodEnterable;
@@ -195,7 +195,7 @@ function computeTabToolbarSnapshot(
): TabToolbarSnapshot { ): TabToolbarSnapshot {
const gugunOk = buildGugunOkForToolbar(searchContext); const gugunOk = buildGugunOkForToolbar(searchContext);
const enterable = computeTabEnterable(statusInfo, periodEnterable); const enterable = computeTabEnterable(statusInfo, periodEnterable);
const isSubmitted = statusInfo?.laeSbmsnSttsCd === "2"; const isSubmitted = statusInfo?.lclgvSbmsnSttsCd === "2";
const showSaveInToolbar = (enterable || isAdminInfo) && periodEnterable && gugunOk; const showSaveInToolbar = (enterable || isAdminInfo) && periodEnterable && gugunOk;
const showEnterableToolbarButtons = enterable && gugunOk; const showEnterableToolbarButtons = enterable && gugunOk;
const showSubmittedInInputPeriodToolbar = isSubmitted && periodEnterable && gugunOk; const showSubmittedInInputPeriodToolbar = isSubmitted && periodEnterable && gugunOk;
@@ -320,12 +320,12 @@ function buildRecycledWaterStatusSaveItem(
lglTrgtYn: nullableTrimmedString(row.lglTrgtYn), lglTrgtYn: nullableTrimmedString(row.lglTrgtYn),
cmptnStrtYmd: toCompactYmdOrNull(row.cmptnStrtYmd), cmptnStrtYmd: toCompactYmdOrNull(row.cmptnStrtYmd),
oprtngStrtYmd: toCompactYmdOrNull(row.oprtngStrtYmd), oprtngStrtYmd: toCompactYmdOrNull(row.oprtngStrtYmd),
archWholArea: toGridNumber(row.archWholArea), archWhlar: toGridNumber(row.archWhlar),
prcsCpct: toGridNumber(row.prcsCpct), prcsCpct: toGridNumber(row.prcsCpct),
wtrUseQnt: toGridNumber(row.wtrUseQnt), ruswtrWtrUsqty: toGridNumber(row.ruswtrWtrUsqty),
ruswtrUtztnQnt: toGridNumber(row.ruswtrUtztnQnt), ruswtrUtztnQnt: toGridNumber(row.ruswtrUtztnQnt),
sbstCntUtztnQnt: toGridNumber(row.sbstCntUtztnQnt), sbstCntUtztnQnt: toGridNumber(row.sbstCntUtztnQnt),
mnUsgCn: nullableTrimmedString(row.mnUsgCn), ruswtrUsgCn: nullableTrimmedString(row.ruswtrUsgCn),
ruswtrOperAmt: toGridNumber(row.ruswtrOperAmt), ruswtrOperAmt: toGridNumber(row.ruswtrOperAmt),
rmrk: nullableTrimmedString(row.rmrk), rmrk: nullableTrimmedString(row.rmrk),
}; };
@@ -341,14 +341,14 @@ function buildRainFallUtilFactStatusSaveItem(
admdstNm, admdstNm,
fcltSn: nullableTrimmedString(row.fcltSn), fcltSn: nullableTrimmedString(row.fcltSn),
fcltNm: nullableTrimmedString(row.fcltNm), fcltNm: nullableTrimmedString(row.fcltNm),
bdstTypCn: nullableTrimmedString(row.bdstTypCn), bdstSeCn: nullableTrimmedString(row.bdstSeCn),
fcltPstnCn: nullableTrimmedString(row.fcltPstnCn), fcltPstnCn: nullableTrimmedString(row.fcltPstnCn),
lglTrgtYn: nullableTrimmedString(row.lglTrgtYn), lglTrgtYn: nullableTrimmedString(row.lglTrgtYn),
cmptYmd: toCompactYmdOrNull(row.cmptYmd), cmptnYmd: toCompactYmdOrNull(row.cmptnYmd),
instlAmt: toGridNumber(row.instlAmt), fcltInstlAmt: toGridNumber(row.fcltInstlAmt),
rcptMynCn: nullableTrimmedString(row.rcptMynCn), rcptKndCn: nullableTrimmedString(row.rcptKndCn),
filtrPrcsFcltYnExpln: nullableTrimmedString(row.filtrPrcsFcltYnExpln), filtrPrcsFcltExpln: nullableTrimmedString(row.filtrPrcsFcltExpln),
impdCpct: toGridNumber(row.impdCpct), fcltRtntnkCpct: toGridNumber(row.fcltRtntnkCpct),
anlUseQnt: toGridNumber(row.anlUseQnt), anlUseQnt: toGridNumber(row.anlUseQnt),
exlnUtlzUsgExpln: nullableTrimmedString(row.exlnUtlzUsgExpln), exlnUtlzUsgExpln: nullableTrimmedString(row.exlnUtlzUsgExpln),
anlOperAmt: toGridNumber(row.anlOperAmt), anlOperAmt: toGridNumber(row.anlOperAmt),
@@ -477,7 +477,7 @@ function mapRainFallUtilFactStatusListToGridRows(
{ {
ctpvNm, ctpvNm,
...rest, ...rest,
cmptYmd: formatCompactYmdForGrid(item.cmptYmd), cmptnYmd: formatCompactYmdForGrid(item.cmptnYmd),
}, },
])[0] as GridRowWithVerification; ])[0] as GridRowWithVerification;
if (verificationResult) row.verificationResult = verificationResult; if (verificationResult) row.verificationResult = verificationResult;
@@ -1145,14 +1145,14 @@ const WaterReuseInp = () => {
statsYr: lastSearchedValues.year ?? "", statsYr: lastSearchedValues.year ?? "",
ctpvNm: lastSearchedValues.sido ?? "", ctpvNm: lastSearchedValues.sido ?? "",
...toInputSearchRegion(sidoListRef.current, lastSearchedValues), ...toInputSearchRegion(sidoListRef.current, lastSearchedValues),
laePicNm: submitInfo.laePicNm, lclgvPicNm: submitInfo.lclgvPicNm,
laePicTelNo: submitInfo.laePicTelNo, lclgvPicTelnoCn: submitInfo.lclgvPicTelnoCn,
laeKbrdrDeptNm: submitInfo.laeKbrdrDeptNm, lclgvKbrdrDeptNm: submitInfo.lclgvKbrdrDeptNm,
laeKbrdrJbgdNm: submitInfo.laeKbrdrJbgdNm, lclgvKbrdrJbgdNm: submitInfo.lclgvKbrdrJbgdNm,
laeIdfrNm: submitInfo.laeIdfrNm, lclgvIdfrNm: submitInfo.lclgvIdfrNm,
laeIdfrTelNo: submitInfo.laeIdfrTelNo, lclgvIdfrTelnoCn: submitInfo.lclgvIdfrTelnoCn,
laeIdfrDeptNm: submitInfo.laeIdfrDeptNm, lclgvIdfrDeptNm: submitInfo.lclgvIdfrDeptNm,
laeIdfrJbgdNm: submitInfo.laeIdfrJbgdNm, lclgvIdfrJbgdNm: submitInfo.lclgvIdfrJbgdNm,
...(isAdminInfo ? { superAdmin: "superAdmin" } : {}), ...(isAdminInfo ? { superAdmin: "superAdmin" } : {}),
}; };
@@ -1211,7 +1211,7 @@ const WaterReuseInp = () => {
response = await statisticsInputWaterReuseApi.submitPublicSewageTreatWaterReuse({ response = await statisticsInputWaterReuseApi.submitPublicSewageTreatWaterReuse({
...submitRequestBase, ...submitRequestBase,
userId: userInfo.userUnqId, userUuid: userInfo.userUnqId,
noApplicable, noApplicable,
submitList, submitList,
}); });
@@ -1233,7 +1233,7 @@ const WaterReuseInp = () => {
const articleSubmitRequest = { const articleSubmitRequest = {
...submitRequestBase, ...submitRequestBase,
userId: userInfo.userUnqId, userUuid: userInfo.userUnqId,
...(noApplicable ? { noApplicable: true } : {}), ...(noApplicable ? { noApplicable: true } : {}),
}; };
@@ -1350,7 +1350,7 @@ const WaterReuseInp = () => {
stats_cd: statsCdForTab, stats_cd: statsCdForTab,
stats_yr: lastSearchedValues.year ?? "", stats_yr: lastSearchedValues.year ?? "",
lae_sbmsn_stts_cd: lae_sbmsn_stts_cd:
activeTabStatus?.laeSbmsnSttsCd === "4" ? "4" : "2", activeTabStatus?.lclgvSbmsnSttsCd === "4" ? "4" : "2",
gen_verify_stts_cd: nvpassed ? "1" : "2", gen_verify_stts_cd: nvpassed ? "1" : "2",
hb_pass_yn: response.data?.isHbPassed, hb_pass_yn: response.data?.isHbPassed,
}; };
@@ -1456,7 +1456,7 @@ const WaterReuseInp = () => {
const response = const response =
await statisticsInputWaterReuseApi.savePublicSewageTreatWaterReuse({ await statisticsInputWaterReuseApi.savePublicSewageTreatWaterReuse({
...requestBase, ...requestBase,
userId: userInfo.userUnqId, userUuid: userInfo.userUnqId,
noApplicable, noApplicable,
saveList, saveList,
}); });
@@ -1509,7 +1509,7 @@ const WaterReuseInp = () => {
const userInfo = await getUserInfo(); const userInfo = await getUserInfo();
const response = await statisticsInputWaterReuseApi.saveRecycledWaterStatus({ const response = await statisticsInputWaterReuseApi.saveRecycledWaterStatus({
...requestBase, ...requestBase,
userId: userInfo.userUnqId, userUuid: userInfo.userUnqId,
...(noApplicable ? { noApplicable: true } : {}), ...(noApplicable ? { noApplicable: true } : {}),
saveList, saveList,
deleteList, deleteList,
@@ -1570,7 +1570,7 @@ const WaterReuseInp = () => {
const response = const response =
await statisticsInputWaterReuseApi.saveRainFallUtilFactStatus({ await statisticsInputWaterReuseApi.saveRainFallUtilFactStatus({
...requestBase, ...requestBase,
userId: userInfo.userUnqId, userUuid: userInfo.userUnqId,
...(noApplicable ? { noApplicable: true } : {}), ...(noApplicable ? { noApplicable: true } : {}),
saveList, saveList,
deleteList, deleteList,
@@ -1634,7 +1634,7 @@ const WaterReuseInp = () => {
await statisticsInputWaterReuseApi.saveTreatWaterReuseDesignConstStatus( await statisticsInputWaterReuseApi.saveTreatWaterReuseDesignConstStatus(
{ {
...requestBase, ...requestBase,
userId: userInfo.userUnqId, userUuid: userInfo.userUnqId,
...(noApplicable ? { noApplicable: true } : {}), ...(noApplicable ? { noApplicable: true } : {}),
saveList, saveList,
deleteList, deleteList,
@@ -1699,7 +1699,7 @@ const WaterReuseInp = () => {
await statisticsInputWaterReuseApi.saveTreatWaterReuseBusinessApprStatus( await statisticsInputWaterReuseApi.saveTreatWaterReuseBusinessApprStatus(
{ {
...requestBase, ...requestBase,
userId: userInfo.userUnqId, userUuid: userInfo.userUnqId,
...(noApplicable ? { noApplicable: true } : {}), ...(noApplicable ? { noApplicable: true } : {}),
saveList, saveList,
deleteList, deleteList,
@@ -1742,7 +1742,7 @@ const WaterReuseInp = () => {
statsYr: lastSearchedValues.year ?? "", statsYr: lastSearchedValues.year ?? "",
ctpvNm: lastSearchedValues.sido ?? "", ctpvNm: lastSearchedValues.sido ?? "",
...toInputSearchRegion(sidoListRef.current, lastSearchedValues), ...toInputSearchRegion(sidoListRef.current, lastSearchedValues),
userId: userInfo.userUnqId, userUuid: userInfo.userUnqId,
}; };
const response = const response =
@@ -1902,7 +1902,7 @@ const WaterReuseInp = () => {
...toInputSearchRegion(sidoListRef.current, lastSearchedValues), ...toInputSearchRegion(sidoListRef.current, lastSearchedValues),
ctpvNm: lastSearchedValues.sido ?? "", ctpvNm: lastSearchedValues.sido ?? "",
statsYr: lastSearchedValues.year ?? "", statsYr: lastSearchedValues.year ?? "",
mdfrId: userInfo.userUnqId, mdfrUuid: userInfo.userUnqId,
statsCd: statsCdForTab, statsCd: statsCdForTab,
}; };
@@ -2072,7 +2072,7 @@ const WaterReuseInp = () => {
: e.vrfcCd === "NV" : e.vrfcCd === "NV"
? "일반검증 - " ? "일반검증 - "
: "모집단 검증 - "; : "모집단 검증 - ";
return `${prefix}${e.rsnExpln}(검증 기준값: ${e.compVlCn} / 현재 입력값: ${e.nowVlCn})`; return `${prefix}${e.rsnExpln}(검증 기준값: ${e.cmprCn} / 현재 입력값: ${e.nowCn})`;
}) })
.filter(Boolean) .filter(Boolean)
.join("\n"); .join("\n");
@@ -2118,7 +2118,7 @@ const WaterReuseInp = () => {
{submitOk && <SubmitButton submitFunc={submitFunc} />} {submitOk && <SubmitButton submitFunc={submitFunc} />}
</> </>
)} )}
{activeTabStatus?.laeSbmsnSttsCd === "2" && submitOk && ( {activeTabStatus?.lclgvSbmsnSttsCd === "2" && submitOk && (
<CancelSubmitButton cnacelSubmitFunc={cnacelSubmitFunc} /> <CancelSubmitButton cnacelSubmitFunc={cnacelSubmitFunc} />
)} )}
{showSaveInToolbar && <SaveButton saveFunc={saveFunc} />} {showSaveInToolbar && <SaveButton saveFunc={saveFunc} />}
@@ -75,9 +75,9 @@ export function LogHistoryDetailDialog({
if (!row) return; if (!row) return;
const sn = row.statsLogSn; const sn = row.statsLogSn;
const rgtrId = const rgtrUuid =
row.rgtrId != null && String(row.rgtrId).trim() !== "" row.rgtrUuid != null && String(row.rgtrUuid).trim() !== ""
? String(row.rgtrId).trim() ? String(row.rgtrUuid).trim()
: ""; : "";
let cancelled = false; let cancelled = false;
@@ -88,8 +88,8 @@ export function LogHistoryDetailDialog({
try { try {
const userLookupPromise = const userLookupPromise =
rgtrId !== "" rgtrUuid !== ""
? UserApi.findByUserUnqId(rgtrId).catch(() => { ? UserApi.findByUserUnqId(rgtrUuid).catch(() => {
return null; return null;
}) })
: Promise.resolve(null); : Promise.resolve(null);
@@ -48,7 +48,7 @@ export function LogHistoryDetailsNestedDialog({
<span className="font-semibold"> <span className="font-semibold">
조합순번: 조합순번:
</span>{" "} </span>{" "}
{item.eqtnCombSeq ?? "-"} {item.fmlaCombSeq ?? "-"}
</p> </p>
<p> <p>
<span className="font-semibold"> <span className="font-semibold">
@@ -60,7 +60,7 @@ export function LogHistoryDetailsNestedDialog({
<span className="font-semibold"> <span className="font-semibold">
비교연산: 비교연산:
</span>{" "} </span>{" "}
{item.cmprOpert ?? "-"} {item.cmprArtopnCn ?? "-"}
</p> </p>
<p> <p>
<span className="font-semibold"> <span className="font-semibold">
@@ -72,13 +72,13 @@ export function LogHistoryDetailsNestedDialog({
<span className="font-semibold"> <span className="font-semibold">
한글 수식: 한글 수식:
</span>{" "} </span>{" "}
{item.kornArtopnEqtnCn ?? "-"} {item.kornArtopnFmlaCn ?? "-"}
</p> </p>
<p className="col-span-2"> <p className="col-span-2">
<span className="font-semibold"> <span className="font-semibold">
영문 수식: 영문 수식:
</span>{" "} </span>{" "}
{item.engArtopnEqtnCn ?? "-"} {item.engArtopnFmlaCn ?? "-"}
</p> </p>
</div> </div>
</div> </div>
@@ -20,14 +20,14 @@ import type { SearchFormValues } from "@/components/type/SearchForm.type";
import { toGridRows } from "@/components/util/grid/gridFunction"; import { toGridRows } from "@/components/util/grid/gridFunction";
/** API `YYYYMMDD` 등 → Date */ /** API `YYYYMMDD` 등 → Date */
function seTypeToDisplayLabel(seType: StatsInputPeriodItem["seType"]): string { function seTypeToDisplayLabel(seTypeCd: StatsInputPeriodItem["seTypeCd"]): string {
if (seType === "INPT") return "입력"; if (seTypeCd === "INPT") return "입력";
if (seType === "VRFC") return "검증"; if (seTypeCd === "VRFC") return "검증";
return seType; return seTypeCd;
} }
function rowSeTypeToCode(row: Record<string, string | number>): "INPT" | "VRFC" { 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 === "INPT" || v === "입력") return "INPT";
if (v === "VRFC" || v === "검증") return "VRFC"; if (v === "VRFC" || v === "검증") return "VRFC";
return "INPT"; return "INPT";
@@ -86,16 +86,16 @@ const StatisticsInputManagement = () => {
const params: StatsInputPeriodListRequest = { const params: StatsInputPeriodListRequest = {
statsYr: values.year, statsYr: values.year,
...(values.clsfCd && values.clsfCd !== "ALL" ...(values.clsfCd && values.clsfCd !== "ALL"
? { seType: values.clsfCd } ? { seTypeCd: values.clsfCd }
: {}), : {}),
}; };
const res = await statisticsApi.getStatsInputPeriodList(params); const res = await statisticsApi.getStatsInputPeriodList(params);
if (res.status === "success" && Array.isArray(res.data)) { if (res.status === "success" && Array.isArray(res.data)) {
const rowsForGrid = res.data.map((row) => ({ const rowsForGrid = res.data.map((row) => ({
...row, ...row,
seType: seTypeToDisplayLabel(row.seType), seTypeCd: seTypeToDisplayLabel(row.seTypeCd),
inptBgngYmd: formatYmdForDisplay(row.inptBgngYmd), bgngYmd: formatYmdForDisplay(row.bgngYmd),
inptEndYmd: formatYmdForDisplay(row.inptEndYmd), endYmd: formatYmdForDisplay(row.endYmd),
[PERIOD_DETAIL_FIELD]: "상세정보", [PERIOD_DETAIL_FIELD]: "상세정보",
})); }));
setRowData(toGridRows(rowsForGrid)); setRowData(toGridRows(rowsForGrid));
@@ -138,22 +138,22 @@ const StatisticsInputManagement = () => {
const openPeriodDetailForRow = useCallback( const openPeriodDetailForRow = useCallback(
async (row: Record<string, string | number>) => { async (row: Record<string, string | number>) => {
const seCdRaw = row.seCd; const cyclSeNoRaw = row.cyclSeNo;
const seCdNum = const cyclSeNoNum =
typeof seCdRaw === "number" typeof cyclSeNoRaw === "number"
? seCdRaw ? cyclSeNoRaw
: parseInt(String(seCdRaw ?? ""), 10); : parseInt(String(cyclSeNoRaw ?? ""), 10);
const seCd = Number.isFinite(seCdNum) ? seCdNum : 0; const cyclSeNo = Number.isFinite(cyclSeNoNum) ? cyclSeNoNum : 0;
const statsYr = String(row.statsYr ?? ""); const statsYr = String(row.statsYr ?? "");
const seType = rowSeTypeToCode(row); const seTypeCd = rowSeTypeToCode(row);
const extSchdlId = parseExtSchdlId(row.extSchdlId); const extSchdlId = parseExtSchdlId(row.extSchdlId);
try { try {
setIsLoading(true); setIsLoading(true);
const res = await statisticsApi.getStatsInputPeriodDetail({ const res = await statisticsApi.getStatsInputPeriodDetail({
statsYr, statsYr,
seType, seTypeCd,
seCd, cyclSeNo,
...(extSchdlId != null ? { extSchdlId } : {}), ...(extSchdlId != null ? { extSchdlId } : {}),
}); });
@@ -168,13 +168,13 @@ const StatisticsInputManagement = () => {
setPeriodDialogInitial({ setPeriodDialogInitial({
extSchdlId: detailExtSchdlId, extSchdlId: detailExtSchdlId,
statsYr: String(detail.statsYr ?? statsYr), statsYr: String(detail.statsYr ?? statsYr),
seType: detail.seType === "VRFC" ? "VRFC" : "INPT", seTypeCd: detail.seTypeCd === "VRFC" ? "VRFC" : "INPT",
seCd: cyclSeNo:
typeof detail.seCd === "number" && Number.isFinite(detail.seCd) typeof detail.cyclSeNo === "number" && Number.isFinite(detail.cyclSeNo)
? detail.seCd ? detail.cyclSeNo
: seCd, : cyclSeNo,
inptBgngYmd: parseYmdToDate(detail.inptBgngYmd), bgngYmd: parseYmdToDate(detail.bgngYmd),
inptEndYmd: parseYmdToDate(detail.inptEndYmd), endYmd: parseYmdToDate(detail.endYmd),
}); });
setPeriodDialogOpen(true); setPeriodDialogOpen(true);
} catch { } catch {
@@ -202,20 +202,20 @@ const StatisticsInputManagement = () => {
editable: false, editable: false,
}, },
{ {
name: "seType", name: "seTypeCd",
fieldName: "seType", fieldName: "seTypeCd",
header: { text: "분류" }, header: { text: "분류" },
editable: false, editable: false,
}, },
{ {
name: "inptBgngYmd", name: "bgngYmd",
fieldName: "inptBgngYmd", fieldName: "bgngYmd",
header: { text: "시작일" }, header: { text: "시작일" },
editable: false, editable: false,
}, },
{ {
name: "inptEndYmd", name: "endYmd",
fieldName: "inptEndYmd", fieldName: "endYmd",
header: { text: "종료일" }, header: { text: "종료일" },
editable: false, editable: false,
}, },
@@ -231,9 +231,9 @@ const StatisticsInputManagement = () => {
const columnLayout = [ const columnLayout = [
"statsYr", "statsYr",
"seType", "seTypeCd",
"inptBgngYmd", "bgngYmd",
"inptEndYmd", "endYmd",
PERIOD_DETAIL_FIELD, PERIOD_DETAIL_FIELD,
]; ];
@@ -33,10 +33,10 @@ import { getUserInfo } from "../../../../../../packages/common/components/src/ap
export type StatisticsInputPeriodDialogValues = { export type StatisticsInputPeriodDialogValues = {
extSchdlId?: number; extSchdlId?: number;
statsYr: string; statsYr: string;
seType: "INPT" | "VRFC"; seTypeCd: "INPT" | "VRFC";
seCd: number; cyclSeNo: number;
inptBgngYmd: Date | undefined; bgngYmd: Date | undefined;
inptEndYmd: Date | undefined; endYmd: Date | undefined;
}; };
export type StatisticsInputPeriodDialogMode = "edit" | "create"; export type StatisticsInputPeriodDialogMode = "edit" | "create";
@@ -76,33 +76,33 @@ export function StatisticsInputPeriodDialog({
const { setMessage: alert } = useAlertStore((state) => state); const { setMessage: alert } = useAlertStore((state) => state);
const { confirm } = useConfirm(); const { confirm } = useConfirm();
const [statsYr, setStatsYr] = useState(""); const [statsYr, setStatsYr] = useState("");
const [seType, setSeType] = useState<"INPT" | "VRFC" | null>(null); const [seTypeCd, setSeTypeCd] = useState<"INPT" | "VRFC" | null>(null);
const [seCdInput, setSeCdInput] = useState(""); const [cyclSeNoInput, setCyclSeNoInput] = useState("");
const [inptBgngYmd, setInptBgngYmd] = useState<Date | undefined>(undefined); const [bgngYmd, setBgngYmd] = useState<Date | undefined>(undefined);
const [inptEndYmd, setInptEndYmd] = useState<Date | undefined>(undefined); const [endYmd, setEndYmd] = useState<Date | undefined>(undefined);
const [isSubmitting, setIsSubmitting] = useState(false); const [isSubmitting, setIsSubmitting] = useState(false);
useEffect(() => { useEffect(() => {
if (!open) return; if (!open) return;
if (mode === "create") { if (mode === "create") {
setStatsYr(normalizeStatsYrInput(createDefaultStatsYr ?? "")); setStatsYr(normalizeStatsYrInput(createDefaultStatsYr ?? ""));
setSeType(null); setSeTypeCd(null);
setSeCdInput("0"); setCyclSeNoInput("0");
setInptBgngYmd(undefined); setBgngYmd(undefined);
setInptEndYmd(undefined); setEndYmd(undefined);
return; return;
} }
if (!initial) return; if (!initial) return;
setStatsYr(normalizeStatsYrInput(String(initial.statsYr ?? ""))); setStatsYr(normalizeStatsYrInput(String(initial.statsYr ?? "")));
setSeType(initial.seType); setSeTypeCd(initial.seTypeCd);
setSeCdInput(String(Number.isFinite(initial.seCd) ? initial.seCd : 0)); setCyclSeNoInput(String(Number.isFinite(initial.cyclSeNo) ? initial.cyclSeNo : 0));
setInptBgngYmd(initial.inptBgngYmd); setBgngYmd(initial.bgngYmd);
setInptEndYmd(initial.inptEndYmd); setEndYmd(initial.endYmd);
}, [open, mode, initial, createDefaultStatsYr]); }, [open, mode, initial, createDefaultStatsYr]);
const handleSave = async () => { const handleSave = async () => {
const bgng = formatDateToYmd(inptBgngYmd); const bgng = formatDateToYmd(bgngYmd);
const end = formatDateToYmd(inptEndYmd); const end = formatDateToYmd(endYmd);
if (!bgng || !end) { if (!bgng || !end) {
alert("시작일과 종료일을 선택해주세요."); alert("시작일과 종료일을 선택해주세요.");
return; return;
@@ -111,18 +111,18 @@ export function StatisticsInputPeriodDialog({
alert("시작일은 종료일보다 늦을 수 없습니다."); alert("시작일은 종료일보다 늦을 수 없습니다.");
return; return;
} }
if (seType === null) { if (seTypeCd === null) {
alert("분류를 선택해주세요."); alert("분류를 선택해주세요.");
return; return;
} }
const seCdParsed = const cyclSeNoParsed =
mode === "create" mode === "create"
? 0 ? 0
: (() => { : (() => {
const n = parseInt(seCdInput, 10); const n = parseInt(cyclSeNoInput, 10);
return Number.isFinite(n) && n >= 0 ? n : NaN; return Number.isFinite(n) && n >= 0 ? n : NaN;
})(); })();
if (mode === "edit" && !Number.isFinite(seCdParsed)) { if (mode === "edit" && !Number.isFinite(cyclSeNoParsed)) {
alert("구분 값이 올바르지 않습니다."); alert("구분 값이 올바르지 않습니다.");
return; return;
} }
@@ -140,13 +140,13 @@ export function StatisticsInputPeriodDialog({
const userInfo = await getUserInfo(); const userInfo = await getUserInfo();
const param: StatsInputPeriodSaveRequest = { const param: StatsInputPeriodSaveRequest = {
statsYr: yr, statsYr: yr,
seType, seTypeCd,
inptBgngYmd: bgng, bgngYmd: bgng,
inptEndYmd: end, endYmd: end,
rgtrId: userInfo.userUnqId, rgtrUuid: userInfo.userUnqId,
}; };
if (!isCreate) { if (!isCreate) {
param.seCd = seCdParsed; param.cyclSeNo = cyclSeNoParsed;
if ( if (
initial?.extSchdlId != null && initial?.extSchdlId != null &&
Number.isFinite(initial.extSchdlId) Number.isFinite(initial.extSchdlId)
@@ -173,8 +173,8 @@ export function StatisticsInputPeriodDialog({
if (mode === "create" || !initial) return; if (mode === "create" || !initial) return;
if (!(await confirm("삭제하시겠습니까?"))) return; if (!(await confirm("삭제하시겠습니까?"))) return;
const bgng = formatDateToYmd(initial.inptBgngYmd); const bgng = formatDateToYmd(initial.bgngYmd);
const end = formatDateToYmd(initial.inptEndYmd); const end = formatDateToYmd(initial.endYmd);
if (!bgng || !end) { if (!bgng || !end) {
alert("삭제할 기간 정보가 없습니다."); alert("삭제할 기간 정보가 없습니다.");
return; return;
@@ -184,19 +184,19 @@ export function StatisticsInputPeriodDialog({
alert("연도가 없습니다."); alert("연도가 없습니다.");
return; return;
} }
const seCd = const cyclSeNo =
Number.isFinite(initial.seCd) && initial.seCd >= 0 ? initial.seCd : 0; Number.isFinite(initial.cyclSeNo) && initial.cyclSeNo >= 0 ? initial.cyclSeNo : 0;
try { try {
setIsSubmitting(true); setIsSubmitting(true);
const userInfo = await getUserInfo(); const userInfo = await getUserInfo();
const param: StatsInputPeriodDeleteRequest = { const param: StatsInputPeriodDeleteRequest = {
statsYr: yr, statsYr: yr,
seType: initial.seType, seTypeCd: initial.seTypeCd,
seCd, cyclSeNo,
inptBgngYmd: bgng, bgngYmd: bgng,
inptEndYmd: end, endYmd: end,
rgtrId: userInfo.userUnqId, rgtrUuid: userInfo.userUnqId,
}; };
if (initial.extSchdlId != null && Number.isFinite(initial.extSchdlId)) { if (initial.extSchdlId != null && Number.isFinite(initial.extSchdlId)) {
param.extSchdlId = initial.extSchdlId; param.extSchdlId = initial.extSchdlId;
@@ -253,8 +253,8 @@ export function StatisticsInputPeriodDialog({
<div className="flex flex-col gap-2"> <div className="flex flex-col gap-2">
<Label className="text-label">분류</Label> <Label className="text-label">분류</Label>
<Select <Select
value={seType ?? undefined} value={seTypeCd ?? undefined}
onValueChange={(v) => setSeType(v as "INPT" | "VRFC")} onValueChange={(v) => setSeTypeCd(v as "INPT" | "VRFC")}
disabled={isSubmitting || mode === "edit"} disabled={isSubmitting || mode === "edit"}
> >
<SelectTrigger className="w-full"> <SelectTrigger className="w-full">
@@ -273,7 +273,7 @@ export function StatisticsInputPeriodDialog({
type="number" type="number"
inputMode="numeric" inputMode="numeric"
min={0} min={0}
value={seCdInput} value={cyclSeNoInput}
disabled disabled
className="!text-[1.3rem]" className="!text-[1.3rem]"
/> />
@@ -282,16 +282,16 @@ export function StatisticsInputPeriodDialog({
<div className="flex flex-col gap-2"> <div className="flex flex-col gap-2">
<Label className="text-label">시작일</Label> <Label className="text-label">시작일</Label>
<InputDatePicker <InputDatePicker
value={inptBgngYmd} value={bgngYmd}
onChange={setInptBgngYmd} onChange={setBgngYmd}
className="w-full" className="w-full"
/> />
</div> </div>
<div className="flex flex-col gap-2"> <div className="flex flex-col gap-2">
<Label className="text-label">종료일</Label> <Label className="text-label">종료일</Label>
<InputDatePicker <InputDatePicker
value={inptEndYmd} value={endYmd}
onChange={setInptEndYmd} onChange={setEndYmd}
className="w-full" className="w-full"
/> />
</div> </div>
@@ -76,11 +76,11 @@ const ExcretaTreatmentFacilityRvw = () => {
const { showReviewOpinionButton, showReturnButton, showSubmitButton } = useMemo(() => { const { showReviewOpinionButton, showReturnButton, showSubmitButton } = useMemo(() => {
const submit = const submit =
statsStatusInfo.submitStatusCd != null statsStatusInfo.lclgvSbmsnSttsCd != null
? String(statsStatusInfo.submitStatusCd) ? String(statsStatusInfo.lclgvSbmsnSttsCd)
: ""; : "";
const prvn = const prvn =
statsStatusInfo.prvnStatusCd != null ? String(statsStatusInfo.prvnStatusCd) : ""; statsStatusInfo.mctpvPicSbmsnSttsCd != null ? String(statsStatusInfo.mctpvPicSbmsnSttsCd) : "";
const submitIs3 = submit === "3"; const submitIs3 = submit === "3";
const reviewSubmitVisible = submitIs3 && (prvn === "0" || prvn === "1"); const reviewSubmitVisible = submitIs3 && (prvn === "0" || prvn === "1");
return { return {
@@ -150,16 +150,16 @@ const ExcretaTreatmentFacilityRvw = () => {
...item, ...item,
admdstNm: item.admdstNm ?? "", admdstNm: item.admdstNm ?? "",
fcltPstnCn: item.fcltPstnCn ?? "", fcltPstnCn: item.fcltPstnCn ?? "",
telNo: item.telNo ?? "", telnoCn: item.telnoCn ?? "",
cmptnStrtYmd: item.cmptnStrtYmd ?? "", cmptnStrtYmd: item.cmptnStrtYmd ?? "",
oprtngStrtYmd: item.oprtngStrtYmd ?? "", oprtngStrtYmd: item.oprtngStrtYmd ?? "",
prcsMthdExpln: item.prcsMthdExpln ?? "", prcsExpln: item.prcsExpln ?? "",
linkTmplntCn: item.linkTmplntCn ?? "", linkTmplntCn: item.linkTmplntCn ?? "",
wtsysNm: item.wtsysNm ?? "", fcltWtsysNm: item.fcltWtsysNm ?? "",
trbtrNm: item.trbtrNm ?? "", fcltTrbtrNm: item.fcltTrbtrNm ?? "",
msirbCn: item.msirbCn ?? "", msirbCn: item.msirbCn ?? "",
ssirbCn: item.ssirbCn ?? "", ssirbCn: item.ssirbCn ?? "",
operMthdCdCn: item.operMthdCdCn ?? "", operCn: item.operCn ?? "",
rmrk: item.rmrk ?? "", rmrk: item.rmrk ?? "",
})); }));
@@ -170,7 +170,7 @@ const ExcretaTreatmentFacilityRvw = () => {
statsCd: statsInfo.statsCd ?? "", statsCd: statsInfo.statsCd ?? "",
}); });
setLatestReviewOpinion(statsInfo.splmntOpnnCn ?? ""); setLatestReviewOpinion(statsInfo.splmntOpnnCn ?? "");
setLatestProcessHistory(statsInfo.wrterOpnnCn ?? ""); setLatestProcessHistory(statsInfo.splmntRsltCn ?? "");
setRowData(toGridRows(convertedData as unknown as object[])); setRowData(toGridRows(convertedData as unknown as object[]));
} else { } else {
setRowData([]); setRowData([]);
@@ -216,7 +216,7 @@ const ExcretaTreatmentFacilityRvw = () => {
const row = detailRes.data?.[0]; const row = detailRes.data?.[0];
setLatestReviewOpinion(row?.splmntOpnnCn ?? ""); setLatestReviewOpinion(row?.splmntOpnnCn ?? "");
setLatestProcessHistory(row?.wrterOpnnCn ?? ""); setLatestProcessHistory(row?.splmntRsltCn ?? "");
setReviewOpinionOpen(true); setReviewOpinionOpen(true);
} catch { } catch {
alert("검토의견 조회 중 오류가 발생했습니다."); alert("검토의견 조회 중 오류가 발생했습니다.");
@@ -234,10 +234,10 @@ const ExcretaTreatmentFacilityRvw = () => {
setStatsStatusInfo((prev) => ({ setStatsStatusInfo((prev) => ({
...prev, ...prev,
splmntOpnnCn: param.splmntOpnnCn, splmntOpnnCn: param.splmntOpnnCn,
wrterOpnnCn: param.wrterOpnnCn, splmntRsltCn: param.splmntRsltCn,
})); }));
setLatestReviewOpinion(param.splmntOpnnCn); setLatestReviewOpinion(param.splmntOpnnCn);
setLatestProcessHistory(param.wrterOpnnCn); setLatestProcessHistory(param.splmntRsltCn);
} catch { } catch {
alert("저장 중 오류가 발생했습니다."); alert("저장 중 오류가 발생했습니다.");
} }
@@ -102,7 +102,7 @@ const PrivateSewageFacilityRvw = () => {
}, [activeStatsStatusInfo.statsCd, lastSearchValues]); }, [activeStatsStatusInfo.statsCd, lastSearchValues]);
const latestReviewOpinion = activeStatsStatusInfo.splmntOpnnCn ?? ""; const latestReviewOpinion = activeStatsStatusInfo.splmntOpnnCn ?? "";
const latestProcessHistory = activeStatsStatusInfo.wrterOpnnCn ?? ""; const latestProcessHistory = activeStatsStatusInfo.splmntRsltCn ?? "";
const submitDialogContext = useMemo<ReviewerInfoRequest | null>(() => { const submitDialogContext = useMemo<ReviewerInfoRequest | null>(() => {
if (lastSearchValues == null) return null; if (lastSearchValues == null) return null;
@@ -127,11 +127,11 @@ const PrivateSewageFacilityRvw = () => {
const { showReviewOpinionButton, showReturnButton, showSubmitButton } = useMemo(() => { const { showReviewOpinionButton, showReturnButton, showSubmitButton } = useMemo(() => {
const statsStatusInfo = activeStatsStatusInfo; const statsStatusInfo = activeStatsStatusInfo;
const submit = const submit =
statsStatusInfo.submitStatusCd != null statsStatusInfo.lclgvSbmsnSttsCd != null
? String(statsStatusInfo.submitStatusCd) ? String(statsStatusInfo.lclgvSbmsnSttsCd)
: ""; : "";
const prvn = const prvn =
statsStatusInfo.prvnStatusCd != null ? String(statsStatusInfo.prvnStatusCd) : ""; statsStatusInfo.mctpvPicSbmsnSttsCd != null ? String(statsStatusInfo.mctpvPicSbmsnSttsCd) : "";
const submitIs3 = submit === "3"; const submitIs3 = submit === "3";
const reviewSubmitVisible = submitIs3 && (prvn === "0" || prvn === "1"); const reviewSubmitVisible = submitIs3 && (prvn === "0" || prvn === "1");
return { return {
@@ -284,7 +284,7 @@ const PrivateSewageFacilityRvw = () => {
next.set(activeTab, { next.set(activeTab, {
...(next.get(activeTab) ?? {}), ...(next.get(activeTab) ?? {}),
splmntOpnnCn: row?.splmntOpnnCn ?? "", splmntOpnnCn: row?.splmntOpnnCn ?? "",
wrterOpnnCn: row?.wrterOpnnCn ?? "", splmntRsltCn: row?.splmntRsltCn ?? "",
}); });
return next; return next;
}); });
@@ -307,7 +307,7 @@ const PrivateSewageFacilityRvw = () => {
next.set(activeTab, { next.set(activeTab, {
...(next.get(activeTab) ?? {}), ...(next.get(activeTab) ?? {}),
splmntOpnnCn: param.splmntOpnnCn, splmntOpnnCn: param.splmntOpnnCn,
wrterOpnnCn: param.wrterOpnnCn, splmntRsltCn: param.splmntRsltCn,
}); });
return next; return next;
}); });
@@ -63,8 +63,8 @@ const PublicSewageFacilityRvw = () => {
); );
const { showReviewOpinionButton, showReturnButton, showSubmitButton } = useMemo(() => { const { showReviewOpinionButton, showReturnButton, showSubmitButton } = useMemo(() => {
const submit = statsStatusInfo.submitStatusCd != null ? String(statsStatusInfo.submitStatusCd) : ""; const submit = statsStatusInfo.lclgvSbmsnSttsCd != null ? String(statsStatusInfo.lclgvSbmsnSttsCd) : "";
const prvn = statsStatusInfo.prvnStatusCd != null ? String(statsStatusInfo.prvnStatusCd) : ""; const prvn = statsStatusInfo.mctpvPicSbmsnSttsCd != null ? String(statsStatusInfo.mctpvPicSbmsnSttsCd) : "";
const submitIs3 = submit === "3"; const submitIs3 = submit === "3";
const reviewSubmitVisible = submitIs3 && (prvn === "0" || prvn === "1"); const reviewSubmitVisible = submitIs3 && (prvn === "0" || prvn === "1");
return { return {
@@ -144,7 +144,7 @@ const PublicSewageFacilityRvw = () => {
response.data.statsStatusInfo.splmntOpnnCn ?? "", response.data.statsStatusInfo.splmntOpnnCn ?? "",
); );
setLatestProcessHistory( setLatestProcessHistory(
response.data.statsStatusInfo.wrterOpnnCn ?? "", response.data.statsStatusInfo.splmntRsltCn ?? "",
); );
setRowData(toGridRows(convertedData as unknown as object[])); setRowData(toGridRows(convertedData as unknown as object[]));
} else { } else {
@@ -192,7 +192,7 @@ const PublicSewageFacilityRvw = () => {
const row = detailRes.data?.[0]; const row = detailRes.data?.[0];
setLatestReviewOpinion(row?.splmntOpnnCn ?? ""); setLatestReviewOpinion(row?.splmntOpnnCn ?? "");
setLatestProcessHistory(row?.wrterOpnnCn ?? ""); setLatestProcessHistory(row?.splmntRsltCn ?? "");
setReviewOpinionOpen(true); setReviewOpinionOpen(true);
} catch { } catch {
alert("검토의견 조회 중 오류가 발생했습니다."); alert("검토의견 조회 중 오류가 발생했습니다.");
@@ -210,10 +210,10 @@ const PublicSewageFacilityRvw = () => {
setStatsStatusInfo((prev) => ({ setStatsStatusInfo((prev) => ({
...prev, ...prev,
splmntOpnnCn: param.splmntOpnnCn, splmntOpnnCn: param.splmntOpnnCn,
wrterOpnnCn: param.wrterOpnnCn, splmntRsltCn: param.splmntRsltCn,
})); }));
setLatestReviewOpinion(param.splmntOpnnCn); setLatestReviewOpinion(param.splmntOpnnCn);
setLatestProcessHistory(param.wrterOpnnCn); setLatestProcessHistory(param.splmntRsltCn);
} catch { } catch {
alert("저장 중 오류가 발생했습니다."); alert("저장 중 오류가 발생했습니다.");
} }
@@ -71,11 +71,11 @@ const PumpingStationRvw = () => {
const { showReviewOpinionButton, showReturnButton, showSubmitButton } = useMemo(() => { const { showReviewOpinionButton, showReturnButton, showSubmitButton } = useMemo(() => {
const submit = const submit =
statsStatusInfo.submitStatusCd != null statsStatusInfo.lclgvSbmsnSttsCd != null
? String(statsStatusInfo.submitStatusCd) ? String(statsStatusInfo.lclgvSbmsnSttsCd)
: ""; : "";
const prvn = const prvn =
statsStatusInfo.prvnStatusCd != null ? String(statsStatusInfo.prvnStatusCd) : ""; statsStatusInfo.mctpvPicSbmsnSttsCd != null ? String(statsStatusInfo.mctpvPicSbmsnSttsCd) : "";
const submitIs3 = submit === "3"; const submitIs3 = submit === "3";
const reviewSubmitVisible = submitIs3 && (prvn === "0" || prvn === "1"); const reviewSubmitVisible = submitIs3 && (prvn === "0" || prvn === "1");
return { return {
@@ -144,12 +144,9 @@ const PumpingStationRvw = () => {
const convertedData = rawList.map((item: MediationPumpStationItem) => ({ const convertedData = rawList.map((item: MediationPumpStationItem) => ({
...item, ...item,
admdstNm: item.admdstNm ?? "", admdstNm: item.admdstNm ?? "",
pumpstNm: item.fcltNm ?? "",
impdFcltPstnCn: item.fcltPstnCn ?? "",
pumpSeNm: item.pumpSeNm ?? "", pumpSeNm: item.pumpSeNm ?? "",
swtrmtFcltNm: item.swtrmtFcltNm ?? "", swtrmtFcltNm: item.swtrmtFcltNm ?? "",
oprtngStrtYmd: item.oprtngStrtYmd ?? "", oprtngStrtYmd: item.oprtngStrtYmd ?? "",
exlnPumpN4RsrvCnt: item.exlnPumpN1RsrvCnt ?? 0,
rmrk: item.rmrk ?? "", rmrk: item.rmrk ?? "",
})); }));
@@ -160,7 +157,7 @@ const PumpingStationRvw = () => {
statsCd: statsInfo.statsCd ?? "", statsCd: statsInfo.statsCd ?? "",
}); });
setLatestReviewOpinion(statsInfo.splmntOpnnCn ?? ""); setLatestReviewOpinion(statsInfo.splmntOpnnCn ?? "");
setLatestProcessHistory(statsInfo.wrterOpnnCn ?? ""); setLatestProcessHistory(statsInfo.splmntRsltCn ?? "");
setRowData(toGridRows(convertedData)); setRowData(toGridRows(convertedData));
} else { } else {
setRowData([]); setRowData([]);
@@ -206,7 +203,7 @@ const PumpingStationRvw = () => {
const row = detailRes.data?.[0]; const row = detailRes.data?.[0];
setLatestReviewOpinion(row?.splmntOpnnCn ?? ""); setLatestReviewOpinion(row?.splmntOpnnCn ?? "");
setLatestProcessHistory(row?.wrterOpnnCn ?? ""); setLatestProcessHistory(row?.splmntRsltCn ?? "");
setReviewOpinionOpen(true); setReviewOpinionOpen(true);
} catch { } catch {
alert("검토의견 조회 중 오류가 발생했습니다."); alert("검토의견 조회 중 오류가 발생했습니다.");
@@ -224,10 +221,10 @@ const PumpingStationRvw = () => {
setStatsStatusInfo((prev) => ({ setStatsStatusInfo((prev) => ({
...prev, ...prev,
splmntOpnnCn: param.splmntOpnnCn, splmntOpnnCn: param.splmntOpnnCn,
wrterOpnnCn: param.wrterOpnnCn, splmntRsltCn: param.splmntRsltCn,
})); }));
setLatestReviewOpinion(param.splmntOpnnCn); setLatestReviewOpinion(param.splmntOpnnCn);
setLatestProcessHistory(param.wrterOpnnCn); setLatestProcessHistory(param.splmntRsltCn);
} catch { } catch {
alert("저장 중 오류가 발생했습니다."); alert("저장 중 오류가 발생했습니다.");
} }
@@ -96,7 +96,7 @@ export function ReturnReasonDialog({
sewerBzmnCd: context.sewerBzmnCd, sewerBzmnCd: context.sewerBzmnCd,
statsCd: context.statsCd, statsCd: context.statsCd,
rjctOpnnCn: reason, rjctOpnnCn: reason,
mdfrId: userInfo.userUnqId, mdfrUuid: userInfo.userUnqId,
}; };
const response = await statisticsApi.saveReviewReturn(param); const response = await statisticsApi.saveReviewReturn(param);
@@ -96,8 +96,8 @@ export function ReviewOpinionDialog({
sewerBzmnCd: context.sewerBzmnCd, sewerBzmnCd: context.sewerBzmnCd,
statsCd: context.statsCd, statsCd: context.statsCd,
splmntOpnnCn: reviewOpinion, splmntOpnnCn: reviewOpinion,
wrterOpnnCn: processHistory, splmntRsltCn: processHistory,
mdfrId: userInfo.userUnqId, mdfrUuid: userInfo.userUnqId,
}; };
await onSave?.(param); await onSave?.(param);
resetForm(); resetForm();
@@ -31,7 +31,7 @@ export interface ReviewSubmitDialogProps {
onSubmitted?: () => void | Promise<void>; onSubmitted?: () => void | Promise<void>;
/** /**
* true면 검토의견·처리내역 UI를 숨기고 * true면 검토의견·처리내역 UI를 숨기고
* submit body에 statsCd / splmntOpnnCn / wrterOpnnCn을 넣지 않음 * submit body에 statsCd / splmntOpnnCn / splmntRsltCn을 넣지 않음
*/ */
hideOpinionFields?: boolean; hideOpinionFields?: boolean;
} }
@@ -108,15 +108,15 @@ export function ReviewSubmitDialog({
? { ? {
statsYr: context.statsYr, statsYr: context.statsYr,
sewerBzmnCd: [context.sewerBzmnCd], sewerBzmnCd: [context.sewerBzmnCd],
mdfrId: userInfo.userUnqId, mdfrUuid: userInfo.userUnqId,
} }
: { : {
statsYr: context.statsYr, statsYr: context.statsYr,
sewerBzmnCd: context.sewerBzmnCd, sewerBzmnCd: context.sewerBzmnCd,
statsCd: context.statsCd, statsCd: context.statsCd,
mdfrId: userInfo.userUnqId, mdfrUuid: userInfo.userUnqId,
splmntOpnnCn: reviewerInfo?.splmntOpnnCn ?? "", splmntOpnnCn: reviewerInfo?.splmntOpnnCn ?? "",
wrterOpnnCn: reviewerInfo?.wrterOpnnCn ?? "", splmntRsltCn: reviewerInfo?.splmntRsltCn ?? "",
}; };
const response = await statisticsApi.submitReview(submitParam); const response = await statisticsApi.submitReview(submitParam);
@@ -178,7 +178,7 @@ export function ReviewSubmitDialog({
<div className="col-span-2 flex flex-col gap-2"> <div className="col-span-2 flex flex-col gap-2">
<Label className="text-label">처리내역</Label> <Label className="text-label">처리내역</Label>
<Textarea <Textarea
value={reviewerInfo?.wrterOpnnCn ?? "-"} value={reviewerInfo?.splmntRsltCn ?? "-"}
readOnly readOnly
className="min-h-[10rem] p-2 resize-none !text-xl" className="min-h-[10rem] p-2 resize-none !text-xl"
/> />
@@ -105,7 +105,7 @@ const SewageExcretaRelatedRvw = () => {
}, [activeStatsStatusInfo.statsCd, lastSearchValues]); }, [activeStatsStatusInfo.statsCd, lastSearchValues]);
const latestReviewOpinion = activeStatsStatusInfo.splmntOpnnCn ?? ""; const latestReviewOpinion = activeStatsStatusInfo.splmntOpnnCn ?? "";
const latestProcessHistory = activeStatsStatusInfo.wrterOpnnCn ?? ""; const latestProcessHistory = activeStatsStatusInfo.splmntRsltCn ?? "";
const submitDialogContext = useMemo<ReviewerInfoRequest | null>(() => { const submitDialogContext = useMemo<ReviewerInfoRequest | null>(() => {
if (lastSearchValues == null) return null; if (lastSearchValues == null) return null;
@@ -130,11 +130,11 @@ const SewageExcretaRelatedRvw = () => {
const { showReviewOpinionButton, showReturnButton, showSubmitButton } = useMemo(() => { const { showReviewOpinionButton, showReturnButton, showSubmitButton } = useMemo(() => {
const statsStatusInfo = activeStatsStatusInfo; const statsStatusInfo = activeStatsStatusInfo;
const submit = const submit =
statsStatusInfo.submitStatusCd != null statsStatusInfo.lclgvSbmsnSttsCd != null
? String(statsStatusInfo.submitStatusCd) ? String(statsStatusInfo.lclgvSbmsnSttsCd)
: ""; : "";
const prvn = const prvn =
statsStatusInfo.prvnStatusCd != null ? String(statsStatusInfo.prvnStatusCd) : ""; statsStatusInfo.mctpvPicSbmsnSttsCd != null ? String(statsStatusInfo.mctpvPicSbmsnSttsCd) : "";
const submitIs3 = submit === "3"; const submitIs3 = submit === "3";
const reviewSubmitVisible = submitIs3 && (prvn === "0" || prvn === "1"); const reviewSubmitVisible = submitIs3 && (prvn === "0" || prvn === "1");
return { return {
@@ -289,7 +289,7 @@ const SewageExcretaRelatedRvw = () => {
next.set(activeTab, { next.set(activeTab, {
...(next.get(activeTab) ?? {}), ...(next.get(activeTab) ?? {}),
splmntOpnnCn: row?.splmntOpnnCn ?? "", splmntOpnnCn: row?.splmntOpnnCn ?? "",
wrterOpnnCn: row?.wrterOpnnCn ?? "", splmntRsltCn: row?.splmntRsltCn ?? "",
}); });
return next; return next;
}); });
@@ -312,7 +312,7 @@ const SewageExcretaRelatedRvw = () => {
next.set(activeTab, { next.set(activeTab, {
...(next.get(activeTab) ?? {}), ...(next.get(activeTab) ?? {}),
splmntOpnnCn: param.splmntOpnnCn, splmntOpnnCn: param.splmntOpnnCn,
wrterOpnnCn: param.wrterOpnnCn, splmntRsltCn: param.splmntRsltCn,
}); });
return next; return next;
}); });
@@ -105,7 +105,7 @@ const SewageExcretaSlurgeRvw = () => {
}, [activeStatsStatusInfo.statsCd, lastSearchValues]); }, [activeStatsStatusInfo.statsCd, lastSearchValues]);
const latestReviewOpinion = activeStatsStatusInfo.splmntOpnnCn ?? ""; const latestReviewOpinion = activeStatsStatusInfo.splmntOpnnCn ?? "";
const latestProcessHistory = activeStatsStatusInfo.wrterOpnnCn ?? ""; const latestProcessHistory = activeStatsStatusInfo.splmntRsltCn ?? "";
const submitDialogContext = useMemo<ReviewerInfoRequest | null>(() => { const submitDialogContext = useMemo<ReviewerInfoRequest | null>(() => {
if (lastSearchValues == null) return null; if (lastSearchValues == null) return null;
@@ -130,11 +130,11 @@ const SewageExcretaSlurgeRvw = () => {
const { showReviewOpinionButton, showReturnButton, showSubmitButton } = useMemo(() => { const { showReviewOpinionButton, showReturnButton, showSubmitButton } = useMemo(() => {
const statsStatusInfo = activeStatsStatusInfo; const statsStatusInfo = activeStatsStatusInfo;
const submit = const submit =
statsStatusInfo.submitStatusCd != null statsStatusInfo.lclgvSbmsnSttsCd != null
? String(statsStatusInfo.submitStatusCd) ? String(statsStatusInfo.lclgvSbmsnSttsCd)
: ""; : "";
const prvn = const prvn =
statsStatusInfo.prvnStatusCd != null ? String(statsStatusInfo.prvnStatusCd) : ""; statsStatusInfo.mctpvPicSbmsnSttsCd != null ? String(statsStatusInfo.mctpvPicSbmsnSttsCd) : "";
const submitIs3 = submit === "3"; const submitIs3 = submit === "3";
const reviewSubmitVisible = submitIs3 && (prvn === "0" || prvn === "1"); const reviewSubmitVisible = submitIs3 && (prvn === "0" || prvn === "1");
return { return {
@@ -290,7 +290,7 @@ const SewageExcretaSlurgeRvw = () => {
next.set(activeTab, { next.set(activeTab, {
...(next.get(activeTab) ?? {}), ...(next.get(activeTab) ?? {}),
splmntOpnnCn: row?.splmntOpnnCn ?? "", splmntOpnnCn: row?.splmntOpnnCn ?? "",
wrterOpnnCn: row?.wrterOpnnCn ?? "", splmntRsltCn: row?.splmntRsltCn ?? "",
}); });
return next; return next;
}); });
@@ -313,7 +313,7 @@ const SewageExcretaSlurgeRvw = () => {
next.set(activeTab, { next.set(activeTab, {
...(next.get(activeTab) ?? {}), ...(next.get(activeTab) ?? {}),
splmntOpnnCn: param.splmntOpnnCn, splmntOpnnCn: param.splmntOpnnCn,
wrterOpnnCn: param.wrterOpnnCn, splmntRsltCn: param.splmntRsltCn,
}); });
return next; return next;
}); });
@@ -120,7 +120,7 @@ const SewagePipeMaintainRvw = () => {
}, [activeStatsStatusInfo.statsCd, lastSearchValues]); }, [activeStatsStatusInfo.statsCd, lastSearchValues]);
const latestReviewOpinion = activeStatsStatusInfo.splmntOpnnCn ?? ""; const latestReviewOpinion = activeStatsStatusInfo.splmntOpnnCn ?? "";
const latestProcessHistory = activeStatsStatusInfo.wrterOpnnCn ?? ""; const latestProcessHistory = activeStatsStatusInfo.splmntRsltCn ?? "";
const submitDialogContext = useMemo<ReviewerInfoRequest | null>(() => { const submitDialogContext = useMemo<ReviewerInfoRequest | null>(() => {
if (lastSearchValues == null) return null; if (lastSearchValues == null) return null;
@@ -145,11 +145,11 @@ const SewagePipeMaintainRvw = () => {
const { showReviewOpinionButton, showReturnButton, showSubmitButton } = useMemo(() => { const { showReviewOpinionButton, showReturnButton, showSubmitButton } = useMemo(() => {
const statsStatusInfo = activeStatsStatusInfo; const statsStatusInfo = activeStatsStatusInfo;
const submit = const submit =
statsStatusInfo.submitStatusCd != null statsStatusInfo.lclgvSbmsnSttsCd != null
? String(statsStatusInfo.submitStatusCd) ? String(statsStatusInfo.lclgvSbmsnSttsCd)
: ""; : "";
const prvn = const prvn =
statsStatusInfo.prvnStatusCd != null ? String(statsStatusInfo.prvnStatusCd) : ""; statsStatusInfo.mctpvPicSbmsnSttsCd != null ? String(statsStatusInfo.mctpvPicSbmsnSttsCd) : "";
const submitIs3 = submit === "3"; const submitIs3 = submit === "3";
const reviewSubmitVisible = submitIs3 && (prvn === "0" || prvn === "1"); const reviewSubmitVisible = submitIs3 && (prvn === "0" || prvn === "1");
return { return {
@@ -302,7 +302,7 @@ const SewagePipeMaintainRvw = () => {
next.set(activeTab, { next.set(activeTab, {
...(next.get(activeTab) ?? {}), ...(next.get(activeTab) ?? {}),
splmntOpnnCn: row?.splmntOpnnCn ?? "", splmntOpnnCn: row?.splmntOpnnCn ?? "",
wrterOpnnCn: row?.wrterOpnnCn ?? "", splmntRsltCn: row?.splmntRsltCn ?? "",
}); });
return next; return next;
}); });
@@ -325,7 +325,7 @@ const SewagePipeMaintainRvw = () => {
next.set(activeTab, { next.set(activeTab, {
...(next.get(activeTab) ?? {}), ...(next.get(activeTab) ?? {}),
splmntOpnnCn: param.splmntOpnnCn, splmntOpnnCn: param.splmntOpnnCn,
wrterOpnnCn: param.wrterOpnnCn, splmntRsltCn: param.splmntRsltCn,
}); });
return next; return next;
}); });
@@ -181,7 +181,7 @@ const SewagePipeRvw = () => {
}; };
}, [activeStatsStatusInfo.statsCd, lastSearchValues]); }, [activeStatsStatusInfo.statsCd, lastSearchValues]);
const latestReviewOpinion = activeStatsStatusInfo.splmntOpnnCn ?? ""; const latestReviewOpinion = activeStatsStatusInfo.splmntOpnnCn ?? "";
const latestProcessHistory = activeStatsStatusInfo.wrterOpnnCn ?? ""; const latestProcessHistory = activeStatsStatusInfo.splmntRsltCn ?? "";
const submitDialogContext = useMemo<ReviewerInfoRequest | null>(() => { const submitDialogContext = useMemo<ReviewerInfoRequest | null>(() => {
if (lastSearchValues == null) return null; if (lastSearchValues == null) return null;
@@ -205,11 +205,11 @@ const SewagePipeRvw = () => {
const { showReviewOpinionButton, showReturnButton, showSubmitButton } = useMemo(() => { const { showReviewOpinionButton, showReturnButton, showSubmitButton } = useMemo(() => {
const statsStatusInfo = activeStatsStatusInfo; const statsStatusInfo = activeStatsStatusInfo;
const submit = const submit =
statsStatusInfo.submitStatusCd != null statsStatusInfo.lclgvSbmsnSttsCd != null
? String(statsStatusInfo.submitStatusCd) ? String(statsStatusInfo.lclgvSbmsnSttsCd)
: ""; : "";
const prvn = const prvn =
statsStatusInfo.prvnStatusCd != null ? String(statsStatusInfo.prvnStatusCd) : ""; statsStatusInfo.mctpvPicSbmsnSttsCd != null ? String(statsStatusInfo.mctpvPicSbmsnSttsCd) : "";
const submitIs3 = submit === "3"; const submitIs3 = submit === "3";
const reviewSubmitVisible = submitIs3 && (prvn === "0" || prvn === "1"); const reviewSubmitVisible = submitIs3 && (prvn === "0" || prvn === "1");
return { return {
@@ -362,7 +362,7 @@ const SewagePipeRvw = () => {
next.set(activeTab, { next.set(activeTab, {
...(next.get(activeTab) ?? {}), ...(next.get(activeTab) ?? {}),
splmntOpnnCn: row?.splmntOpnnCn ?? "", splmntOpnnCn: row?.splmntOpnnCn ?? "",
wrterOpnnCn: row?.wrterOpnnCn ?? "", splmntRsltCn: row?.splmntRsltCn ?? "",
}); });
return next; return next;
}); });
@@ -385,7 +385,7 @@ const SewagePipeRvw = () => {
next.set(activeTab, { next.set(activeTab, {
...(next.get(activeTab) ?? {}), ...(next.get(activeTab) ?? {}),
splmntOpnnCn: param.splmntOpnnCn, splmntOpnnCn: param.splmntOpnnCn,
wrterOpnnCn: param.wrterOpnnCn, splmntRsltCn: param.splmntRsltCn,
}); });
return next; return next;
}); });
@@ -126,7 +126,7 @@ const SewageReservoirPumpRvw = () => {
}, [activeStatsCd, lastSearchValues]); }, [activeStatsCd, lastSearchValues]);
const latestReviewOpinion = activeStatsStatusInfo.splmntOpnnCn ?? ""; const latestReviewOpinion = activeStatsStatusInfo.splmntOpnnCn ?? "";
const latestProcessHistory = activeStatsStatusInfo.wrterOpnnCn ?? ""; const latestProcessHistory = activeStatsStatusInfo.splmntRsltCn ?? "";
const submitDialogContext = useMemo<ReviewerInfoRequest | null>(() => { const submitDialogContext = useMemo<ReviewerInfoRequest | null>(() => {
if (lastSearchValues == null) return null; if (lastSearchValues == null) return null;
@@ -151,11 +151,11 @@ const SewageReservoirPumpRvw = () => {
const { showReviewOpinionButton, showReturnButton, showSubmitButton } = useMemo(() => { const { showReviewOpinionButton, showReturnButton, showSubmitButton } = useMemo(() => {
const statsStatusInfo = activeStatsStatusInfo; const statsStatusInfo = activeStatsStatusInfo;
const submit = const submit =
statsStatusInfo.submitStatusCd != null statsStatusInfo.lclgvSbmsnSttsCd != null
? String(statsStatusInfo.submitStatusCd) ? String(statsStatusInfo.lclgvSbmsnSttsCd)
: ""; : "";
const prvn = const prvn =
statsStatusInfo.prvnStatusCd != null ? String(statsStatusInfo.prvnStatusCd) : ""; statsStatusInfo.mctpvPicSbmsnSttsCd != null ? String(statsStatusInfo.mctpvPicSbmsnSttsCd) : "";
const submitIs3 = submit === "3"; const submitIs3 = submit === "3";
const reviewSubmitVisible = submitIs3 && (prvn === "0" || prvn === "1"); const reviewSubmitVisible = submitIs3 && (prvn === "0" || prvn === "1");
return { return {
@@ -308,7 +308,7 @@ const SewageReservoirPumpRvw = () => {
next.set(activeTab, { next.set(activeTab, {
...(next.get(activeTab) ?? {}), ...(next.get(activeTab) ?? {}),
splmntOpnnCn: row?.splmntOpnnCn ?? "", splmntOpnnCn: row?.splmntOpnnCn ?? "",
wrterOpnnCn: row?.wrterOpnnCn ?? "", splmntRsltCn: row?.splmntRsltCn ?? "",
}); });
return next; return next;
}); });
@@ -331,7 +331,7 @@ const SewageReservoirPumpRvw = () => {
next.set(activeTab, { next.set(activeTab, {
...(next.get(activeTab) ?? {}), ...(next.get(activeTab) ?? {}),
splmntOpnnCn: param.splmntOpnnCn, splmntOpnnCn: param.splmntOpnnCn,
wrterOpnnCn: param.wrterOpnnCn, splmntRsltCn: param.splmntRsltCn,
}); });
return next; return next;
}); });
@@ -105,7 +105,7 @@ const SewerageFinanceRvw = () => {
}, [activeStatsStatusInfo.statsCd, lastSearchValues]); }, [activeStatsStatusInfo.statsCd, lastSearchValues]);
const latestReviewOpinion = activeStatsStatusInfo.splmntOpnnCn ?? ""; const latestReviewOpinion = activeStatsStatusInfo.splmntOpnnCn ?? "";
const latestProcessHistory = activeStatsStatusInfo.wrterOpnnCn ?? ""; const latestProcessHistory = activeStatsStatusInfo.splmntRsltCn ?? "";
const submitDialogContext = useMemo<ReviewerInfoRequest | null>(() => { const submitDialogContext = useMemo<ReviewerInfoRequest | null>(() => {
if (lastSearchValues == null) return null; if (lastSearchValues == null) return null;
@@ -130,11 +130,11 @@ const SewerageFinanceRvw = () => {
const { showReviewOpinionButton, showReturnButton, showSubmitButton } = useMemo(() => { const { showReviewOpinionButton, showReturnButton, showSubmitButton } = useMemo(() => {
const statsStatusInfo = activeStatsStatusInfo; const statsStatusInfo = activeStatsStatusInfo;
const submit = const submit =
statsStatusInfo.submitStatusCd != null statsStatusInfo.lclgvSbmsnSttsCd != null
? String(statsStatusInfo.submitStatusCd) ? String(statsStatusInfo.lclgvSbmsnSttsCd)
: ""; : "";
const prvn = const prvn =
statsStatusInfo.prvnStatusCd != null ? String(statsStatusInfo.prvnStatusCd) : ""; statsStatusInfo.mctpvPicSbmsnSttsCd != null ? String(statsStatusInfo.mctpvPicSbmsnSttsCd) : "";
const submitIs3 = submit === "3"; const submitIs3 = submit === "3";
const reviewSubmitVisible = submitIs3 && (prvn === "0" || prvn === "1"); const reviewSubmitVisible = submitIs3 && (prvn === "0" || prvn === "1");
return { return {
@@ -287,7 +287,7 @@ const SewerageFinanceRvw = () => {
next.set(activeTab, { next.set(activeTab, {
...(next.get(activeTab) ?? {}), ...(next.get(activeTab) ?? {}),
splmntOpnnCn: row?.splmntOpnnCn ?? "", splmntOpnnCn: row?.splmntOpnnCn ?? "",
wrterOpnnCn: row?.wrterOpnnCn ?? "", splmntRsltCn: row?.splmntRsltCn ?? "",
}); });
return next; return next;
}); });
@@ -310,7 +310,7 @@ const SewerageFinanceRvw = () => {
next.set(activeTab, { next.set(activeTab, {
...(next.get(activeTab) ?? {}), ...(next.get(activeTab) ?? {}),
splmntOpnnCn: param.splmntOpnnCn, splmntOpnnCn: param.splmntOpnnCn,
wrterOpnnCn: param.wrterOpnnCn, splmntRsltCn: param.splmntRsltCn,
}); });
return next; return next;
}); });
@@ -63,8 +63,8 @@ const SeweragePenetrationRateRvw = () => {
); );
const { showReviewOpinionButton, showReturnButton, showSubmitButton } = useMemo(() => { const { showReviewOpinionButton, showReturnButton, showSubmitButton } = useMemo(() => {
const submit = statsStatusInfo.submitStatusCd != null ? String(statsStatusInfo.submitStatusCd) : ""; const submit = statsStatusInfo.lclgvSbmsnSttsCd != null ? String(statsStatusInfo.lclgvSbmsnSttsCd) : "";
const prvn = statsStatusInfo.prvnStatusCd != null ? String(statsStatusInfo.prvnStatusCd) : ""; const prvn = statsStatusInfo.mctpvPicSbmsnSttsCd != null ? String(statsStatusInfo.mctpvPicSbmsnSttsCd) : "";
const submitIs3 = submit === "3"; const submitIs3 = submit === "3";
const reviewSubmitVisible = submitIs3 && (prvn === "0" || prvn === "1"); const reviewSubmitVisible = submitIs3 && (prvn === "0" || prvn === "1");
return { return {
@@ -140,7 +140,7 @@ const SeweragePenetrationRateRvw = () => {
response.data.statsStatusInfo.splmntOpnnCn ?? "", response.data.statsStatusInfo.splmntOpnnCn ?? "",
); );
setLatestProcessHistory( setLatestProcessHistory(
response.data.statsStatusInfo.wrterOpnnCn ?? "", response.data.statsStatusInfo.splmntRsltCn ?? "",
); );
setRowData(toGridRows(convertedData)); setRowData(toGridRows(convertedData));
} else { } else {
@@ -187,7 +187,7 @@ const SeweragePenetrationRateRvw = () => {
const row = detailRes.data?.[0]; const row = detailRes.data?.[0];
setLatestReviewOpinion(row?.splmntOpnnCn ?? ""); setLatestReviewOpinion(row?.splmntOpnnCn ?? "");
setLatestProcessHistory(row?.wrterOpnnCn ?? ""); setLatestProcessHistory(row?.splmntRsltCn ?? "");
setReviewOpinionOpen(true); setReviewOpinionOpen(true);
} catch { } catch {
alert("검토의견 조회 중 오류가 발생했습니다."); alert("검토의견 조회 중 오류가 발생했습니다.");
@@ -205,10 +205,10 @@ const SeweragePenetrationRateRvw = () => {
setStatsStatusInfo((prev) => ({ setStatsStatusInfo((prev) => ({
...prev, ...prev,
splmntOpnnCn: param.splmntOpnnCn, splmntOpnnCn: param.splmntOpnnCn,
wrterOpnnCn: param.wrterOpnnCn, splmntRsltCn: param.splmntRsltCn,
})); }));
setLatestReviewOpinion(param.splmntOpnnCn); setLatestReviewOpinion(param.splmntOpnnCn);
setLatestProcessHistory(param.wrterOpnnCn); setLatestProcessHistory(param.splmntRsltCn);
} catch { } catch {
alert("저장 중 오류가 발생했습니다."); alert("저장 중 오류가 발생했습니다.");
} }
@@ -103,7 +103,7 @@ const SewerageServiceLevelRvw = () => {
}, [activeStatsStatusInfo.statsCd, lastSearchValues]); }, [activeStatsStatusInfo.statsCd, lastSearchValues]);
const latestReviewOpinion = activeStatsStatusInfo.splmntOpnnCn ?? ""; const latestReviewOpinion = activeStatsStatusInfo.splmntOpnnCn ?? "";
const latestProcessHistory = activeStatsStatusInfo.wrterOpnnCn ?? ""; const latestProcessHistory = activeStatsStatusInfo.splmntRsltCn ?? "";
const submitDialogContext = useMemo<ReviewerInfoRequest | null>(() => { const submitDialogContext = useMemo<ReviewerInfoRequest | null>(() => {
if (lastSearchValues == null) return null; if (lastSearchValues == null) return null;
@@ -128,11 +128,11 @@ const SewerageServiceLevelRvw = () => {
const { showReviewOpinionButton, showReturnButton, showSubmitButton } = useMemo(() => { const { showReviewOpinionButton, showReturnButton, showSubmitButton } = useMemo(() => {
const statsStatusInfo = activeStatsStatusInfo; const statsStatusInfo = activeStatsStatusInfo;
const submit = const submit =
statsStatusInfo.submitStatusCd != null statsStatusInfo.lclgvSbmsnSttsCd != null
? String(statsStatusInfo.submitStatusCd) ? String(statsStatusInfo.lclgvSbmsnSttsCd)
: ""; : "";
const prvn = const prvn =
statsStatusInfo.prvnStatusCd != null ? String(statsStatusInfo.prvnStatusCd) : ""; statsStatusInfo.mctpvPicSbmsnSttsCd != null ? String(statsStatusInfo.mctpvPicSbmsnSttsCd) : "";
const submitIs3 = submit === "3"; const submitIs3 = submit === "3";
const reviewSubmitVisible = submitIs3 && (prvn === "0" || prvn === "1"); const reviewSubmitVisible = submitIs3 && (prvn === "0" || prvn === "1");
return { return {
@@ -288,7 +288,7 @@ const SewerageServiceLevelRvw = () => {
next.set(activeTab, { next.set(activeTab, {
...(next.get(activeTab) ?? {}), ...(next.get(activeTab) ?? {}),
splmntOpnnCn: row?.splmntOpnnCn ?? "", splmntOpnnCn: row?.splmntOpnnCn ?? "",
wrterOpnnCn: row?.wrterOpnnCn ?? "", splmntRsltCn: row?.splmntRsltCn ?? "",
}); });
return next; return next;
}); });
@@ -311,7 +311,7 @@ const SewerageServiceLevelRvw = () => {
next.set(activeTab, { next.set(activeTab, {
...(next.get(activeTab) ?? {}), ...(next.get(activeTab) ?? {}),
splmntOpnnCn: param.splmntOpnnCn, splmntOpnnCn: param.splmntOpnnCn,
wrterOpnnCn: param.wrterOpnnCn, splmntRsltCn: param.splmntRsltCn,
}); });
return next; return next;
}); });
@@ -184,8 +184,8 @@ const StatsInputStatusRvw = () => {
setIsApproveLoading(true); setIsApproveLoading(true);
try { try {
const userInfo = await getUserInfo(); const userInfo = await getUserInfo();
const mdfrId = (userInfo.userUnqId ?? "").trim(); const mdfrUuid = (userInfo.userUnqId ?? "").trim();
if (!mdfrId) { if (!mdfrUuid) {
alert("수정자 ID를 확인할 수 없습니다."); alert("수정자 ID를 확인할 수 없습니다.");
return; return;
} }
@@ -197,7 +197,7 @@ const StatsInputStatusRvw = () => {
.map((row) => { .map((row) => {
const statsCd = String(row.statsCd ?? "").trim(); const statsCd = String(row.statsCd ?? "").trim();
const sewerBzmnCd = String(row.sewerBzmnCd ?? sewerBzmnCdDefault).trim(); const sewerBzmnCd = String(row.sewerBzmnCd ?? sewerBzmnCdDefault).trim();
return { statsYr, sewerBzmnCd, statsCd, mdfrId }; return { statsYr, sewerBzmnCd, statsCd, mdfrUuid };
}) })
.filter((item) => item.statsCd.length > 0); .filter((item) => item.statsCd.length > 0);
@@ -108,7 +108,7 @@ const WaterReuseRvw = () => {
}, [activeStatsStatusInfo.statsCd, lastSearchValues]); }, [activeStatsStatusInfo.statsCd, lastSearchValues]);
const latestReviewOpinion = activeStatsStatusInfo.splmntOpnnCn ?? ""; const latestReviewOpinion = activeStatsStatusInfo.splmntOpnnCn ?? "";
const latestProcessHistory = activeStatsStatusInfo.wrterOpnnCn ?? ""; const latestProcessHistory = activeStatsStatusInfo.splmntRsltCn ?? "";
const submitDialogContext = useMemo<ReviewerInfoRequest | null>(() => { const submitDialogContext = useMemo<ReviewerInfoRequest | null>(() => {
if (lastSearchValues == null) return null; if (lastSearchValues == null) return null;
@@ -133,11 +133,11 @@ const WaterReuseRvw = () => {
const { showReviewOpinionButton, showReturnButton, showSubmitButton } = useMemo(() => { const { showReviewOpinionButton, showReturnButton, showSubmitButton } = useMemo(() => {
const statsStatusInfo = activeStatsStatusInfo; const statsStatusInfo = activeStatsStatusInfo;
const submit = const submit =
statsStatusInfo.submitStatusCd != null statsStatusInfo.lclgvSbmsnSttsCd != null
? String(statsStatusInfo.submitStatusCd) ? String(statsStatusInfo.lclgvSbmsnSttsCd)
: ""; : "";
const prvn = const prvn =
statsStatusInfo.prvnStatusCd != null ? String(statsStatusInfo.prvnStatusCd) : ""; statsStatusInfo.mctpvPicSbmsnSttsCd != null ? String(statsStatusInfo.mctpvPicSbmsnSttsCd) : "";
const submitIs3 = submit === "3"; const submitIs3 = submit === "3";
const reviewSubmitVisible = submitIs3 && (prvn === "0" || prvn === "1"); const reviewSubmitVisible = submitIs3 && (prvn === "0" || prvn === "1");
return { return {
@@ -291,7 +291,7 @@ const WaterReuseRvw = () => {
next.set(activeTab, { next.set(activeTab, {
...(next.get(activeTab) ?? {}), ...(next.get(activeTab) ?? {}),
splmntOpnnCn: row?.splmntOpnnCn ?? "", splmntOpnnCn: row?.splmntOpnnCn ?? "",
wrterOpnnCn: row?.wrterOpnnCn ?? "", splmntRsltCn: row?.splmntRsltCn ?? "",
}); });
return next; return next;
}); });
@@ -314,7 +314,7 @@ const WaterReuseRvw = () => {
next.set(activeTab, { next.set(activeTab, {
...(next.get(activeTab) ?? {}), ...(next.get(activeTab) ?? {}),
splmntOpnnCn: param.splmntOpnnCn, splmntOpnnCn: param.splmntOpnnCn,
wrterOpnnCn: param.wrterOpnnCn, splmntRsltCn: param.splmntRsltCn,
}); });
return next; return next;
}); });
@@ -83,7 +83,7 @@ const ExcretaTreatmentFacilityTot = () => {
return ( return (
<div className="relative"> <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 && ( {isLoading && (
<div className="absolute inset-0 z-50 [data-theme='black']:bg-transparent rounded-lg p-10 flex justify-center items-center"> <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 ( return (
<div className="relative"> <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% 싱크 맞춘 중앙 정렬 소형 팝업 로딩 바 고정 */} {/* 하수관로 규칙과 100% 싱크 맞춘 중앙 정렬 소형 팝업 로딩 바 고정 */}
{isLoading && ( {isLoading && (
@@ -53,7 +53,7 @@ const PublicSewageFacilityTot = () => {
return ( 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 && ( {isLoading && (
<div className="absolute inset-0 z-50 [data-theme='black']:bg-transparent rounded-lg p-10 flex justify-center items-center"> <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]"> <div className="relative size-[5rem]">
@@ -83,7 +83,7 @@ const PumpingStationTot = () => {
return ( return (
<div className="relative"> <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 && ( {isLoading && (
<div className="absolute inset-0 z-50 [data-theme='black']:bg-transparent rounded-lg p-10 flex justify-center items-center"> <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 ( return (
<div className="relative"> <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 && ( {isLoading && (
<div className="absolute inset-0 z-50 [data-theme='black']:bg-transparent rounded-lg p-10 flex justify-center items-center"> <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 ( return (
<div className="relative"> <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 && ( {isLoading && (
<div className="absolute inset-0 z-50 [data-theme='black']:bg-transparent rounded-lg p-10 flex justify-center items-center"> <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 ( return (
<div className="relative"> <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 && ( {isLoading && (
<div className="absolute inset-0 z-50 [data-theme='black']:bg-transparent rounded-lg p-10 flex justify-center items-center"> <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]"> <div className="relative size-[5rem]">
@@ -179,7 +179,7 @@ const SewagePipeTot = () => {
return ( return (
<div className="relative"> <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 && ( {isLoading && (
<div className="absolute inset-0 z-50 [data-theme='black']:bg-transparent rounded-lg p-10 flex justify-center items-center"> <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]"> <div className="relative size-[5rem]">
@@ -117,7 +117,7 @@ const SewageReservoirPumpTot = () => {
return ( return (
<div className="relative"> <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 && ( {isLoading && (
<div className="absolute inset-0 z-50 [data-theme='black']:bg-transparent rounded-lg p-10 flex justify-center items-center"> <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 ( return (
<div className="relative"> <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 && ( {isLoading && (
<div className="absolute inset-0 z-50 [data-theme='black']:bg-transparent rounded-lg p-10 flex justify-center items-center"> <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 ( 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"> {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]"> <div className="relative size-[5rem]">
<LoadingWithAnimation color="primary" /> <LoadingWithAnimation color="primary" />
@@ -92,7 +92,7 @@ const SewerageServiceLevelTot = () => {
return ( return (
<div className="relative"> <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 && ( {isLoading && (
<div className="absolute inset-0 z-50 [data-theme='black']:bg-transparent rounded-lg p-10 flex justify-center items-center"> <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 ( return (
<div className="relative"> <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 크기 고정 격리형 로딩 애니메이션 */} {/* 정중앙 5rem 크기 고정 격리형 로딩 애니메이션 */}
{isLoading && ( {isLoading && (
@@ -527,7 +527,7 @@ function StatisticsVerificationReport() {
async function handleApprovalConfirm(formData: ApprovalFormData) { async function handleApprovalConfirm(formData: ApprovalFormData) {
const commonParam = { const commonParam = {
statsYr: filters.statsYr, statsYr: filters.statsYr,
mdfrId: userInfo?.userUnqId ?? "", mdfrUuid: userInfo?.userUnqId ?? "",
}; };
const approvalRequests = selectedReportRows.map((row) => ({ const approvalRequests = selectedReportRows.map((row) => ({
...commonParam, ...commonParam,
@@ -549,7 +549,7 @@ function StatisticsVerificationReport() {
async function handleReject() { async function handleReject() {
const commonParam = { const commonParam = {
statsYr: filters.statsYr, statsYr: filters.statsYr,
mdfrId: userInfo?.userUnqId ?? "", mdfrUuid: userInfo?.userUnqId ?? "",
}; };
const requestRows = selectedResultRows.map((row) => { const requestRows = selectedResultRows.map((row) => {
@@ -67,7 +67,7 @@ const CopyDialog = ({
{ {
vrfcSn: row?.vrfcSn ?? null, vrfcSn: row?.vrfcSn ?? null,
targetStatsCd: selectedCode ?? '', targetStatsCd: selectedCode ?? '',
rgtrId: userInfo.userUnqId, rgtrUuid: userInfo.userUnqId,
}, },
userInfo.userUnqId, userInfo.userUnqId,
); );
@@ -61,7 +61,7 @@ const getPreviousFormulaCmprOpert = (
for (let i = formulaBlockIndex - 1; i >= 0; i -= 1) { for (let i = formulaBlockIndex - 1; i >= 0; i -= 1) {
const block = blocks[i]; const block = blocks[i];
if (block?.kind === "formula") { if (block?.kind === "formula") {
return block.data?.cmprOpert ?? null; return block.data?.cmprArtopnCn ?? null;
} }
} }
return null; return null;
@@ -71,20 +71,21 @@ const isLikePatternOperator = (value: string | null | undefined) =>
value != null && LIKE_PATTERN_OPERATORS.has(value); value != null && LIKE_PATTERN_OPERATORS.has(value);
type OperatorItem = { type OperatorItem = {
opertSn: string; artopnSn: string;
opertSymbl: string; artopnSymbl: string;
opertKornNm: string; artopnKornNm: string;
opertSeCd?: string;
}; };
type ConnectorOperatorItem = OperatorItem; type ConnectorOperatorItem = OperatorItem;
type SaveDetailRow = { type SaveDetailRow = {
eqtnCombSeq: number; fmlaCombSeq: number;
trgtStatsCd: string; trgtStatsCd: string;
refStatsCd: string | null; refStatsCd: string | null;
kornArtopnEqtnCn: string; kornArtopnFmlaCn: string;
engArtopnEqtnCn: string; engArtopnFmlaCn: string;
cmprOpert: string | null; cmprArtopnCn: string | null;
grpByYn: string; grpByYn: string;
}; };
@@ -155,7 +156,7 @@ const isConnectorOperatorSymbol = (
connectorOps: ConnectorOperatorItem[], connectorOps: ConnectorOperatorItem[],
) => { ) => {
if (value == null || value === "") return false; if (value == null || value === "") return false;
return connectorOps.some((op) => op.opertSymbl === value); return connectorOps.some((op) => op.artopnSymbl === value);
}; };
const isConditionConnectorValue = ( const isConditionConnectorValue = (
@@ -171,8 +172,8 @@ const isConditionConnectorValue = (
) { ) {
return true; return true;
} }
const op = connectorOps.find((o) => o.opertSymbl === value); const op = connectorOps.find((o) => o.artopnSymbl === value);
return op ? /조건/.test(op.opertKornNm) : false; return op ? /조건/.test(op.artopnKornNm) : false;
}; };
/** ruleBlocks 기준 등록 벨리데이션 + 저장 rows 생성 */ /** ruleBlocks 기준 등록 벨리데이션 + 저장 rows 생성 */
@@ -182,8 +183,8 @@ const validateAndBuildSaveRows = (
cmprOps: OperatorItem[], cmprOps: OperatorItem[],
connectorOps: ConnectorOperatorItem[], connectorOps: ConnectorOperatorItem[],
): { ok: true; rows: SaveDetailRow[] } | { ok: false; message: string } => { ): { ok: true; rows: SaveDetailRow[] } | { ok: false; message: string } => {
const cmprSet = new Set(cmprOps.map((o) => o.opertSymbl)); const cmprSet = new Set(cmprOps.map((o) => o.artopnSymbl));
const connectorSet = new Set(connectorOps.map((o) => o.opertSymbl)); const connectorSet = new Set(connectorOps.map((o) => o.artopnSymbl));
const formulaBlockIndexes = blocks const formulaBlockIndexes = blocks
.map((b, i) => (b.kind === "formula" ? i : -1)) .map((b, i) => (b.kind === "formula" ? i : -1))
@@ -244,8 +245,8 @@ const validateAndBuildSaveRows = (
const blockIndex = formulaBlockIndexes[fi]!; const blockIndex = formulaBlockIndexes[fi]!;
const block = blocks[blockIndex] as FormulaBlock; const block = blocks[blockIndex] as FormulaBlock;
const ordinal = fi + 1; const ordinal = fi + 1;
const korn = block.data?.kornArtopnEqtnCn?.trim() ?? ""; const korn = block.data?.kornArtopnFmlaCn?.trim() ?? "";
const eng = block.data?.engArtopnEqtnCn?.trim() ?? ""; const eng = block.data?.engArtopnFmlaCn?.trim() ?? "";
if (!korn || !eng) { if (!korn || !eng) {
return { 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)) { if (cmpr != null && cmpr !== "" && !cmprSet.has(cmpr)) {
return { return {
ok: false, ok: false,
@@ -296,7 +297,7 @@ const validateAndBuildSaveRows = (
if (formulaBlockIndexes.length === 1) { if (formulaBlockIndexes.length === 1) {
const only = blocks[formulaBlockIndexes[0]!] as FormulaBlock; 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)) { if (cmpr == null || !UNARY_TERMINAL_OPERATORS.has(cmpr)) {
return { return {
ok: false, ok: false,
@@ -314,7 +315,7 @@ const validateAndBuildSaveRows = (
const next = blocks[i + 1]; const next = blocks[i + 1];
const connectorValue = const connectorValue =
next?.kind === "connector" ? next.value : null; next?.kind === "connector" ? next.value : null;
let cmprOpert = block.data?.cmprOpert ?? connectorValue ?? null; let cmprOpert = block.data?.cmprArtopnCn ?? connectorValue ?? null;
const hasFollowingFormula = blocks const hasFollowingFormula = blocks
.slice(i + 1) .slice(i + 1)
@@ -329,12 +330,12 @@ const validateAndBuildSaveRows = (
} }
rows.push({ rows.push({
eqtnCombSeq: seq, fmlaCombSeq: seq,
trgtStatsCd, trgtStatsCd,
refStatsCd: block.data?.refStatsCd ?? null, refStatsCd: block.data?.refStatsCd ?? null,
kornArtopnEqtnCn: block.data?.kornArtopnEqtnCn ?? "", kornArtopnFmlaCn: block.data?.kornArtopnFmlaCn ?? "",
engArtopnEqtnCn: block.data?.engArtopnEqtnCn ?? "", engArtopnFmlaCn: block.data?.engArtopnFmlaCn ?? "",
cmprOpert, cmprArtopnCn: cmprOpert,
grpByYn: block.groupBy ? "Y" : "N", grpByYn: block.groupBy ? "Y" : "N",
}); });
seq += 1; seq += 1;
@@ -352,7 +353,7 @@ const buildRuleBlocksFromFormulas = (
const blocks: RuleBlock[] = []; const blocks: RuleBlock[] = [];
for (const row of list) { for (const row of list) {
const cmpr = row?.cmprOpert ?? null; const cmpr = row?.cmprArtopnCn ?? null;
const moveToConnector = isConnectorOperatorSymbol(cmpr, connectorOps); const moveToConnector = isConnectorOperatorSymbol(cmpr, connectorOps);
blocks.push({ blocks.push({
@@ -360,7 +361,7 @@ const buildRuleBlocksFromFormulas = (
id: nextId(), id: nextId(),
data: row data: row
? moveToConnector ? moveToConnector
? { ...row, cmprOpert: null } ? { ...row, cmprArtopnCn: null }
: row : row
: null, : null,
groupBy: row?.grpByYn === "Y", groupBy: row?.grpByYn === "Y",
@@ -436,9 +437,9 @@ const DetailComponent = ({
) { ) {
return true; return true;
} }
const op = connectorOperators.find((o) => o.opertSymbl === value); const op = connectorOperators.find((o) => o.artopnSymbl === value);
if (!op) return false; if (!op) return false;
return /조건/.test(op.opertKornNm); return /조건/.test(op.artopnKornNm);
}; };
const formulaBlocks = ruleBlocks.filter( const formulaBlocks = ruleBlocks.filter(
@@ -483,9 +484,9 @@ const DetailComponent = ({
? { ? {
vrfcDtlSn: row.vrfcDtlSn ?? null, vrfcDtlSn: row.vrfcDtlSn ?? null,
refStatsCd: row.refStatsCd ?? null, refStatsCd: row.refStatsCd ?? null,
kornArtopnEqtnCn: row.kornArtopnEqtnCn ?? "", kornArtopnFmlaCn: row.kornArtopnFmlaCn ?? "",
engArtopnEqtnCn: row.engArtopnEqtnCn ?? "", engArtopnFmlaCn: row.engArtopnFmlaCn ?? "",
cmprOpert: row.cmprOpert ?? null, cmprArtopnCn: row.cmprArtopnCn ?? null,
grpByYn: flags[idx] ? "Y" : "N", grpByYn: flags[idx] ? "Y" : "N",
} }
: null, : null,
@@ -536,14 +537,14 @@ const DetailComponent = ({
if (lastFormulaIdx < 0) return prev; if (lastFormulaIdx < 0) return prev;
const last = prev[lastFormulaIdx]; const last = prev[lastFormulaIdx];
if (!last || last.kind !== "formula" || !last.data) return prev; 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)) { if (cmpr == null || UNARY_TERMINAL_OPERATORS.has(cmpr)) {
return prev; return prev;
} }
const next = [...prev]; const next = [...prev];
next[lastFormulaIdx] = { next[lastFormulaIdx] = {
...last, ...last,
data: { ...last.data, cmprOpert: null }, data: { ...last.data, cmprArtopnCn: null },
}; };
return next; return next;
}); });
@@ -558,14 +559,14 @@ const DetailComponent = ({
await generalverificationApiService.RegistVrfcDetail({ await generalverificationApiService.RegistVrfcDetail({
vrfcSn: detailInfo?.commonInfo.vrfcSn ?? null, vrfcSn: detailInfo?.commonInfo.vrfcSn ?? null,
detailList: rows, detailList: rows,
rgtrId: userInfo.userUnqId, rgtrUuid: userInfo.userUnqId,
}); });
} else { } else {
response = response =
await generalverificationApiService.UpdateVrfcDetail({ await generalverificationApiService.UpdateVrfcDetail({
vrfcSn: detailInfo?.commonInfo.vrfcSn ?? null, vrfcSn: detailInfo?.commonInfo.vrfcSn ?? null,
detailList: rows, detailList: rows,
mdfrId: userInfo.userUnqId, mdfrUuid: userInfo.userUnqId,
}); });
} }
@@ -649,8 +650,8 @@ const DetailComponent = ({
}; };
const handleFormulaConfirm = (payload: { const handleFormulaConfirm = (payload: {
kornArtopnEqtnCn: string; kornArtopnFmlaCn: string;
engArtopnEqtnCn: string; engArtopnFmlaCn: string;
refStatsCd: string | null; refStatsCd: string | null;
refStatsNm: string | null; refStatsNm: string | null;
}) => { }) => {
@@ -668,8 +669,8 @@ const DetailComponent = ({
data: item.data data: item.data
? { ? {
...item.data, ...item.data,
kornArtopnEqtnCn: payload.kornArtopnEqtnCn, kornArtopnFmlaCn: payload.kornArtopnFmlaCn,
engArtopnEqtnCn: payload.engArtopnEqtnCn, engArtopnFmlaCn: payload.engArtopnFmlaCn,
refStatsCd: payload.refStatsCd, refStatsCd: payload.refStatsCd,
refStatsNm: payload.refStatsNm, refStatsNm: payload.refStatsNm,
} }
@@ -677,9 +678,9 @@ const DetailComponent = ({
vrfcDtlSn: null, vrfcDtlSn: null,
refStatsCd: payload.refStatsCd, refStatsCd: payload.refStatsCd,
refStatsNm: payload.refStatsNm, refStatsNm: payload.refStatsNm,
kornArtopnEqtnCn: payload.kornArtopnEqtnCn, kornArtopnFmlaCn: payload.kornArtopnFmlaCn,
engArtopnEqtnCn: payload.engArtopnEqtnCn, engArtopnFmlaCn: payload.engArtopnFmlaCn,
cmprOpert: null, cmprArtopnCn: null,
grpByYn: item.groupBy ? "Y" : "N", grpByYn: item.groupBy ? "Y" : "N",
}, },
}; };
@@ -748,8 +749,8 @@ const DetailComponent = ({
return; return;
} }
const defaultValue = const defaultValue =
connectorOperators.find((op) => op.opertSymbl.toLowerCase() === "and") connectorOperators.find((op) => op.artopnSymbl.toLowerCase() === "and")
?.opertSymbl ?? connectorOperators[0]!.opertSymbl; ?.artopnSymbl ?? connectorOperators[0]!.artopnSymbl;
setRuleBlocks((prev) => [ setRuleBlocks((prev) => [
...prev, ...prev,
{ {
@@ -845,9 +846,9 @@ const DetailComponent = ({
</TableHead> </TableHead>
<TableCell className="text-center"> <TableCell className="text-center">
{detailInfo?.commonInfo {detailInfo?.commonInfo
.dcptDigtCnt === 0 .dcptDgt === 0
? "소수점 생략" ? "소수점 생략"
: `${detailInfo?.commonInfo.dcptDigtCnt}자리에서 ${detailInfo?.commonInfo.dcptPrcsMthNm}`} : `${detailInfo?.commonInfo.dcptDgt}자리에서 ${detailInfo?.commonInfo.dcptPrcsMthNm}`}
</TableCell> </TableCell>
</TableRow> </TableRow>
</TableBody> </TableBody>
@@ -924,7 +925,7 @@ const DetailComponent = ({
(opt) => { (opt) => {
const disabled = const disabled =
isConditionOperator( isConditionOperator(
opt.opertSymbl, opt.artopnSymbl,
) && ) &&
conditionBoundaryBlockIndex !== conditionBoundaryBlockIndex !==
-1 && -1 &&
@@ -933,17 +934,17 @@ const DetailComponent = ({
return ( return (
<SelectItem <SelectItem
key={ key={
opt.opertSn opt.artopnSn
} }
value={ value={
opt.opertSymbl opt.artopnSymbl
} }
disabled={ disabled={
disabled disabled
} }
> >
{ {
opt.opertKornNm opt.artopnKornNm
} }
</SelectItem> </SelectItem>
); );
@@ -1043,7 +1044,7 @@ const DetailComponent = ({
data: cur.data data: cur.data
? { ? {
...cur.data, ...cur.data,
cmprOpert, cmprArtopnCn: cmprOpert,
} }
: { : {
vrfcDtlSn: vrfcDtlSn:
@@ -1052,11 +1053,11 @@ const DetailComponent = ({
null, null,
refStatsNm: refStatsNm:
null, null,
kornArtopnEqtnCn: kornArtopnFmlaCn:
"", "",
engArtopnEqtnCn: engArtopnFmlaCn:
"", "",
cmprOpert, cmprArtopnCn: cmprOpert,
grpByYn: grpByYn:
cur.groupBy cur.groupBy
? "Y" ? "Y"
@@ -27,8 +27,8 @@ import {
} from "@common/components"; } from "@common/components";
export interface FomulaDialogConfirmPayload { export interface FomulaDialogConfirmPayload {
kornArtopnEqtnCn: string; kornArtopnFmlaCn: string;
engArtopnEqtnCn: string; engArtopnFmlaCn: string;
/** 참조 통계코드 (수식에 참조 컬럼이 없으면 null) */ /** 참조 통계코드 (수식에 참조 컬럼이 없으면 null) */
refStatsCd: string | null; refStatsCd: string | null;
/** 참조 통계명 (수식에 참조 컬럼이 없으면 null) */ /** 참조 통계명 (수식에 참조 컬럼이 없으면 null) */
@@ -315,7 +315,7 @@ const FomulaDialog = ({ open, onOpenChange, data, trgtStatsCd, trgtStatsNm, allo
useEffect(() => { useEffect(() => {
if (open) { if (open) {
const raw = data?.kornArtopnEqtnCn ?? ''; const raw = data?.kornArtopnFmlaCn ?? '';
const wasBacktickWrapped = const wasBacktickWrapped =
raw.length >= 2 && raw.startsWith("`") && raw.endsWith("`"); raw.length >= 2 && raw.startsWith("`") && raw.endsWith("`");
const str = stripBacktickWrap(raw); const str = stripBacktickWrap(raw);
@@ -330,7 +330,7 @@ const FomulaDialog = ({ open, onOpenChange, data, trgtStatsCd, trgtStatsNm, allo
setUserDirectInput(false); setUserDirectInput(false);
} }
} }
}, [open, data?.kornArtopnEqtnCn, data?.vrfcDtlSn, allowLikeDirectInput]); }, [open, data?.kornArtopnFmlaCn, data?.vrfcDtlSn, allowLikeDirectInput]);
/** /**
* 재오픈 직후에는 columnInfo가 아직 없어서 parseDisplayToSegments가 컬럼명을 매칭 못하고 * 재오픈 직후에는 columnInfo가 아직 없어서 parseDisplayToSegments가 컬럼명을 매칭 못하고
@@ -340,7 +340,7 @@ const FomulaDialog = ({ open, onOpenChange, data, trgtStatsCd, trgtStatsNm, allo
*/ */
useEffect(() => { useEffect(() => {
if (!open || isUserDirectInputMode) return; if (!open || isUserDirectInputMode) return;
const src = stripBacktickWrap(data?.kornArtopnEqtnCn ?? ''); const src = stripBacktickWrap(data?.kornArtopnFmlaCn ?? '');
if (!src) return; if (!src) return;
const displayJoined = formulaDisplaySegments.join(''); const displayJoined = formulaDisplaySegments.join('');
@@ -369,7 +369,7 @@ const FomulaDialog = ({ open, onOpenChange, data, trgtStatsCd, trgtStatsNm, allo
setFormulaValueSegments(value); setFormulaValueSegments(value);
}, [ }, [
open, open,
data?.kornArtopnEqtnCn, data?.kornArtopnFmlaCn,
columnInfo?.commonColumnInfo, columnInfo?.commonColumnInfo,
columnInfo?.targetColumnInfo?.colList, columnInfo?.targetColumnInfo?.colList,
columnInfo?.refColumnInfo?.colList, columnInfo?.refColumnInfo?.colList,
@@ -379,14 +379,14 @@ const FomulaDialog = ({ open, onOpenChange, data, trgtStatsCd, trgtStatsNm, allo
]); ]);
useEffect(() => { useEffect(() => {
if (!open || isUserDirectInputMode || columnInfo?.kornArtopnEqtnCn == null) return; if (!open || isUserDirectInputMode || columnInfo?.kornArtopnFmlaCn == null) return;
const strippedColumn = stripBacktickWrap(columnInfo.kornArtopnEqtnCn); const strippedColumn = stripBacktickWrap(columnInfo.kornArtopnFmlaCn);
const strippedData = stripBacktickWrap(data?.kornArtopnEqtnCn ?? ""); const strippedData = stripBacktickWrap(data?.kornArtopnFmlaCn ?? "");
if (strippedData !== strippedColumn) return; if (strippedData !== strippedColumn) return;
const { display, value } = parseDisplayToSegments(strippedColumn); const { display, value } = parseDisplayToSegments(strippedColumn);
setFormulaDisplaySegments(display); setFormulaDisplaySegments(display);
setFormulaValueSegments(value); setFormulaValueSegments(value);
}, [open, data?.kornArtopnEqtnCn, columnInfo?.kornArtopnEqtnCn, isUserDirectInputMode]); }, [open, data?.kornArtopnFmlaCn, columnInfo?.kornArtopnFmlaCn, isUserDirectInputMode]);
const handleChangeRefStatsCd = (next: string) => { const handleChangeRefStatsCd = (next: string) => {
if (!open) return; if (!open) return;
@@ -766,8 +766,8 @@ const FomulaDialog = ({ open, onOpenChange, data, trgtStatsCd, trgtStatsNm, allo
const isEmptyFormula = raw.trim().length === 0; const isEmptyFormula = raw.trim().length === 0;
const refStats = resolveRefStatsForConfirm(isEmptyFormula); const refStats = resolveRefStatsForConfirm(isEmptyFormula);
onConfirm?.({ onConfirm?.({
kornArtopnEqtnCn: isEmptyFormula ? raw : wrapped, kornArtopnFmlaCn: isEmptyFormula ? raw : wrapped,
engArtopnEqtnCn: isEmptyFormula ? raw : wrapped, engArtopnFmlaCn: isEmptyFormula ? raw : wrapped,
...refStats, ...refStats,
}); });
onOpenChange?.(false); onOpenChange?.(false);
@@ -783,13 +783,13 @@ const FomulaDialog = ({ open, onOpenChange, data, trgtStatsCd, trgtStatsNm, allo
return; return;
} }
setFormulaSaveError(null); setFormulaSaveError(null);
const kornArtopnEqtnCn = formulaDisplaySegments.join(''); const kornArtopnFmlaCn = formulaDisplaySegments.join('');
const engArtopnEqtnCn = getFormulaValueForSubmit(); const engArtopnFmlaCn = getFormulaValueForSubmit();
const isEmptyFormula = kornArtopnEqtnCn.trim().length === 0; const isEmptyFormula = kornArtopnFmlaCn.trim().length === 0;
const refStats = resolveRefStatsForConfirm(isEmptyFormula); const refStats = resolveRefStatsForConfirm(isEmptyFormula);
onConfirm?.({ onConfirm?.({
kornArtopnEqtnCn, kornArtopnFmlaCn,
engArtopnEqtnCn, engArtopnFmlaCn,
...refStats, ...refStats,
}); });
onOpenChange?.(false); onOpenChange?.(false);
@@ -48,9 +48,9 @@ const FormulaComponents = ({
vrfcClsfCd, vrfcClsfCd,
disabled = false, disabled = false,
}: FormulaComponentsProps) => { }: FormulaComponentsProps) => {
const cmprOpert = data?.cmprOpert; const cmprOpert = data?.cmprArtopnCn;
const displayFormula = data const displayFormula = data
? stripBacktickWrap(data.kornArtopnEqtnCn ?? "") ? stripBacktickWrap(data.kornArtopnFmlaCn ?? "")
: ""; : "";
return ( return (
@@ -10,9 +10,10 @@ import {
} from "@common/components"; } from "@common/components";
type OperatorItem = { type OperatorItem = {
opertSn: string; artopnSn: string;
opertSymbl: string; artopnSymbl: string;
opertKornNm: string; artopnKornNm: string;
opertSeCd?: string;
}; };
// opertSeCd 별 operators 목록을 전역 캐싱해서, 수식 블록이 여러 개여도 중복 요청이 발생하지 않게 한다. // opertSeCd 별 operators 목록을 전역 캐싱해서, 수식 블록이 여러 개여도 중복 요청이 발생하지 않게 한다.
@@ -91,8 +92,8 @@ const OperatorsComponents = ({
연산자 없음 연산자 없음
</SelectItem> </SelectItem>
{operators.map((op) => ( {operators.map((op) => (
<SelectItem key={op.opertSn} value={op.opertSymbl}> <SelectItem key={op.artopnSn} value={op.artopnSymbl}>
{op.opertKornNm} {op.artopnKornNm}
</SelectItem> </SelectItem>
))} ))}
</SelectContent> </SelectContent>
@@ -87,32 +87,32 @@ const RegistDialog = memo(
vrfcClsfCd: detailData?.data.vrfcClsfCd ?? '', vrfcClsfCd: detailData?.data.vrfcClsfCd ?? '',
trgtStatsCd: detailData?.data.trgtStatsCd ?? '', trgtStatsCd: detailData?.data.trgtStatsCd ?? '',
trgtStatsNm: detailData?.data.trgtStatsNm ?? '', trgtStatsNm: detailData?.data.trgtStatsNm ?? '',
dcptDigtCnt: detailData?.data.dcptDigtCnt ?? 0, dcptDgt: detailData?.data.dcptDgt ?? 0,
dcptPrcsMthCd: detailData?.data.dcptPrcsMthCd ?? null, dcptPrcsMthCd: detailData?.data.dcptPrcsMthCd ?? null,
useYn: detailData?.data.useYn ?? 'Y', useYn: detailData?.data.useYn ?? 'Y',
rgtrId: detailData?.data.rgtrId ?? '', rgtrUuid: detailData?.data.rgtrUuid ?? '',
regDt: detailData?.data.regDt ?? '', regDt: detailData?.data.regDt ?? '',
mdfrId: detailData?.data.mdfrId ?? '', mdfrUuid: detailData?.data.mdfrUuid ?? '',
mdfcnDt: detailData?.data.mdfcnDt ?? '', mdfcnDt: detailData?.data.mdfcnDt ?? '',
}, },
}); });
const dcptDigtCnt = form.watch('dcptDigtCnt'); const dcptDgt = form.watch('dcptDgt');
const rgtrId = form.watch('rgtrId'); const rgtrUuid = form.watch('rgtrUuid');
const mdfrId = form.watch('mdfrId'); const mdfrUuid = form.watch('mdfrUuid');
const trgtStatsCd = form.watch('trgtStatsCd'); const trgtStatsCd = form.watch('trgtStatsCd');
const vrfcNm = form.watch('vrfcNm'); const vrfcNm = form.watch('vrfcNm');
const { data: registrarUser } = useQuery({ const { data: registrarUser } = useQuery({
queryKey: ['user', 'rgtr', rgtrId], queryKey: ['user', 'rgtr', rgtrUuid],
queryFn: () => UserApi.findByUserUnqId(rgtrId!), queryFn: () => UserApi.findByUserUnqId(rgtrUuid!),
enabled: open && !!rgtrId, enabled: open && !!rgtrUuid,
}); });
const { data: modifierUser } = useQuery({ const { data: modifierUser } = useQuery({
queryKey: ['user', 'mdfr', mdfrId], queryKey: ['user', 'mdfr', mdfrUuid],
queryFn: () => UserApi.findByUserUnqId(mdfrId!), queryFn: () => UserApi.findByUserUnqId(mdfrUuid!),
enabled: open && !!mdfrId, enabled: open && !!mdfrUuid,
}); });
const originalVrfcNmRef = useRef<string | null>(null); const originalVrfcNmRef = useRef<string | null>(null);
@@ -262,23 +262,23 @@ const RegistDialog = memo(
vrfcSn: data.vrfcSn, vrfcSn: data.vrfcSn,
vrfcNm: data.vrfcNm, vrfcNm: data.vrfcNm,
vrfcClsfCd: data.vrfcClsfCd, vrfcClsfCd: data.vrfcClsfCd,
dcptDigtCnt: data.dcptDigtCnt, dcptDgt: data.dcptDgt,
useYn: data.useYn, useYn: data.useYn,
...(data.dcptDigtCnt === 0 ...(data.dcptDgt === 0
? {} ? {}
: { dcptPrcsMthCd: data.dcptPrcsMthCd }), : { dcptPrcsMthCd: data.dcptPrcsMthCd }),
trgtStatsCd: data.trgtStatsCd, trgtStatsCd: data.trgtStatsCd,
mdfrId: userInfo.userUnqId, mdfrUuid: userInfo.userUnqId,
}; };
await handleUpdateVrfcMaster(updateData); await handleUpdateVrfcMaster(updateData);
} else { } else {
const registData = { const registData = {
vrfcNm: data.vrfcNm, vrfcNm: data.vrfcNm,
vrfcClsfCd: data.vrfcClsfCd, vrfcClsfCd: data.vrfcClsfCd,
dcptDigtCnt: data.dcptDigtCnt, dcptDgt: data.dcptDgt,
dcptPrcsMthCd: data.dcptPrcsMthCd, dcptPrcsMthCd: data.dcptPrcsMthCd,
trgtStatsCd: data.trgtStatsCd, trgtStatsCd: data.trgtStatsCd,
rgtrId: userInfo.userUnqId rgtrUuid: userInfo.userUnqId
}; };
await handleRegistVrfcMaster(registData); await handleRegistVrfcMaster(registData);
} }
@@ -419,7 +419,7 @@ const RegistDialog = memo(
<TableCell className="border"> <TableCell className="border">
<FormField <FormField
control={form.control} control={form.control}
name="dcptDigtCnt" name="dcptDgt"
render={({ field }) => ( render={({ field }) => (
<FormItem> <FormItem>
<FormControl> <FormControl>
@@ -436,9 +436,9 @@ const RegistDialog = memo(
<p className="text-gray-500 text-base !mt-0"> <p className="text-gray-500 text-base !mt-0">
※ 0일시 소수점자리 생략 ※ 0일시 소수점자리 생략
</p> </p>
{form.formState.errors.dcptDigtCnt && ( {form.formState.errors.dcptDgt && (
<p className="text-red-500 text-base pt-2"> <p className="text-red-500 text-base pt-2">
{form.formState.errors.dcptDigtCnt.message} {form.formState.errors.dcptDgt.message}
</p> </p>
)} )}
</FormItem> </FormItem>
@@ -458,7 +458,7 @@ const RegistDialog = memo(
<Select <Select
value={field.value ?? ""} value={field.value ?? ""}
onValueChange={field.onChange} onValueChange={field.onChange}
disabled={editBlocked || Number(dcptDigtCnt ?? 0) === 0} disabled={editBlocked || Number(dcptDgt ?? 0) === 0}
> >
<SelectTrigger className="w-[10rem]"> <SelectTrigger className="w-[10rem]">
<SelectValue placeholder="선택" /> <SelectValue placeholder="선택" />
@@ -526,7 +526,7 @@ const RegistDialog = memo(
<TableCell className="border"> <TableCell className="border">
<FormField <FormField
control={form.control} control={form.control}
name="rgtrId" name="rgtrUuid"
render={({ field }) => ( render={({ field }) => (
<FormItem> <FormItem>
<FormControl> <FormControl>
@@ -568,7 +568,7 @@ const RegistDialog = memo(
<TableCell className="border"> <TableCell className="border">
<FormField <FormField
control={form.control} control={form.control}
name="mdfrId" name="mdfrUuid"
render={({ field }) => ( render={({ field }) => (
<FormItem> <FormItem>
<FormControl> <FormControl>
+6 -4
View File
@@ -7,10 +7,10 @@ import type { RealGridReact } from "realgrid-react";
/** DataGrid 상단 진행상황/제출일/담당자 표시에 사용 (보급률·하수관로 등 공통) */ /** DataGrid 상단 진행상황/제출일/담당자 표시에 사용 (보급률·하수관로 등 공통) */
export type DataGridStatusBannerInfo = { export type DataGridStatusBannerInfo = {
laeSbmsnSttsCd: string | null; lclgvSbmsnSttsCd: string | null;
laeSbmsnYmd: string | null; lclgvSbmsnYmd: string | null;
laePicNm: string | null; lclgvPicNm: string | null;
laePicTelNo: string | null; lclgvPicTelnoCn: string | null;
rjctOpnnCn: string | null; rjctOpnnCn: string | null;
}; };
/** setColumns에 전달하는 컬럼 정보 (footer 배열/단일 객체 포함) */ /** setColumns에 전달하는 컬럼 정보 (footer 배열/단일 객체 포함) */
@@ -441,6 +441,8 @@ export type DataGridProps = {
Array<{ Array<{
vrfcCd: string; vrfcCd: string;
rsnExpln: string; rsnExpln: string;
nowCn?: string;
cmprCn?: string;
nowVlCn?: string; nowVlCn?: string;
compVlCn?: string; compVlCn?: string;
}> }>
@@ -28,6 +28,8 @@ export type SearchFormProps = {
capacityGbn?: boolean; capacityGbn?: boolean;
isDetail?: boolean; isDetail?: boolean;
isSummary?: boolean; isSummary?: boolean;
/** 집계 화면 등에서 체크박스 id 중복을 막기 위한 첫 탭 키 */
tabKey?: string;
onSubmit?: (values: SearchFormValues) => void; onSubmit?: (values: SearchFormValues) => void;
onReset?: () => void; onReset?: () => void;
onValuesChange?: (values: SearchFormValues) => void; onValuesChange?: (values: SearchFormValues) => void;
@@ -41,7 +43,7 @@ export type SearchFormProps = {
}; };
export const defaultSearchFormProps: Required< 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, sido: true,
gugun: true, gugun: true,
@@ -1,4 +1,5 @@
export const doList = [ export const doList = [
"1200000000",
"4100000000", "4100000000",
"4200000000", "4200000000",
"4300000000", "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: 'fcltNm', fieldName: 'fcltNm', header: { text: '시설명' }, styleName: 'rg-cell-readonly' },
{ name: 'fcltPstnCn', fieldName: 'fcltPstnCn', header: { text: '소재지' } }, { 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: '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: 'fcltCpct', fieldName: 'fcltCpct', 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: 'excrFcltPrcqty', fieldName: 'excrFcltPrcqty', 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: '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: 'linkTmplntCn', fieldName: 'linkTmplntCn', header: { text: '연계처리장명' } },
{ name: 'linkPrcsQnt', fieldName: 'linkPrcsQnt', header: { text: '연계처리량(m³/일)' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' }, { 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: 'inflwWqBod', fieldName: 'inflwWqBod', 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: 'inflwWqTorgcb', fieldName: 'inflwWqTorgcb', 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: 'inflwWqSpsld', fieldName: 'inflwWqSpsld', 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: 'inflwWqDtn', fieldName: 'inflwWqDtn', 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: 'inflwWqTph', fieldName: 'inflwWqTph', 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: '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: 'dschgWqBod', fieldName: 'dschgWqBod', 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: 'dschgWqTorgcb', fieldName: 'dschgWqTorgcb', 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: 'dschgWqSpsld', fieldName: 'dschgWqSpsld', 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: 'dschgWqDtn', fieldName: 'dschgWqDtn', 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: 'dschgWqTph', fieldName: 'dschgWqTph', 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: 'fcltDschgClfgCnt', fieldName: 'fcltDschgClfgCnt', header: { text: '대장균군수' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
// 방류수역 // 방류수역
{ name: 'wtsysNm', fieldName: 'wtsysNm', header: { text: '수계' } }, { name: 'fcltWtsysNm', fieldName: 'fcltWtsysNm', header: { text: '수계' } },
{ name: 'trbtrNm', fieldName: 'trbtrNm', header: { text: '지류' } }, { name: 'fcltTrbtrNm', fieldName: 'fcltTrbtrNm', header: { text: '지류' } },
{ name: 'msirbCn', fieldName: 'msirbCn', header: { text: '중권역' } }, { name: 'msirbCn', fieldName: 'msirbCn', header: { text: '중권역' } },
{ name: 'ssirbCn', fieldName: 'ssirbCn', 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: '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: '비고' } }, { name: 'rmrk', fieldName: 'rmrk', header: { text: '비고' } },
@@ -100,37 +100,37 @@ export const ExcretaTreatFactInpColumn = {
}, },
'fcltNm', 'fcltNm',
'fcltPstnCn', 'fcltPstnCn',
'telNo', 'telnoCn',
'cmptnStrtYmd', 'cmptnStrtYmd',
'oprtngStrtYmd', 'oprtngStrtYmd',
'wholPjtcoAmt', 'wholPjtcoAmt',
'prcsFcltCpct', 'fcltCpct',
'cpct', 'excrFcltPrcqty',
'oprtngDayCnt', 'fcltOprtngDayCnt',
'prcsMthdExpln', 'prcsExpln',
'linkTmplntCn', 'linkTmplntCn',
'linkPrcsQnt', 'linkPrcsQnt',
{ {
name: 'influenceGroup', name: 'influenceGroup',
hideChildHeaders: false, hideChildHeaders: false,
header: { text: '유입수질(mg/L, 개/mL)' }, header: { text: '유입수질(mg/L, 개/mL)' },
items: ['inflwBodWqVl', 'inflwTocWqVl', 'inflwSsWqVl', 'inflwTnWqVl', 'inflwTpWqVl', 'inflwClfgCnt'], items: ['inflwWqBod', 'inflwWqTorgcb', 'inflwWqSpsld', 'inflwWqDtn', 'inflwWqTph', 'fcltInflwClfgCnt'],
}, },
{ {
name: 'effluentGroup', name: 'effluentGroup',
hideChildHeaders: false, hideChildHeaders: false,
header: { text: '방류수질(mg/L, 개/mL)' }, header: { text: '방류수질(mg/L, 개/mL)' },
items: ['dschgBodWqVl', 'dschgTocWqVl', 'dschgSsWqVl', 'dschgTnWqVl', 'dschgTpWqVl', 'dschgClfgCnt'], items: ['dschgWqBod', 'dschgWqTorgcb', 'dschgWqSpsld', 'dschgWqDtn', 'dschgWqTph', 'fcltDschgClfgCnt'],
}, },
{ {
name: 'dischargeGroup', name: 'dischargeGroup',
hideChildHeaders: false, hideChildHeaders: false,
header: { text: '방류수역' }, header: { text: '방류수역' },
items: ['wtsysNm', 'trbtrNm', 'msirbCn', 'ssirbCn'], items: ['fcltWtsysNm', 'fcltTrbtrNm', 'msirbCn', 'ssirbCn'],
}, },
'operMthdCdCn', 'operCn',
'wholNope', 'wholNope',
'sftyAcdntEvntcsCnt', 'sftyAcdntNocs',
'rmrk', 'rmrk',
'admdstCd', 'admdstCd',
'fcltSn', 'fcltSn',
@@ -58,10 +58,10 @@ export const PumpingStationInpColumn = {
datetimeFormat: 'yyyy-MM-dd', 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: 'rainArea', fieldName: 'rainArea', header: { text: '우천시(B)' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' },
{ {
name: 'exlnQnt', name: 'exlnQnt',
@@ -71,14 +71,14 @@ export const PumpingStationInpColumn = {
editable: false, editable: false,
valueType: ValueType.NUMBER, valueType: ValueType.NUMBER,
dataFormat: '#,##0.0', dataFormat: '#,##0.0',
computed: { fields: ['rainArea', 'sndyArea'], type: 'difference' as const }, computed: { fields: ['rainArea', 'icodwArea'], type: 'difference' as const },
styleName: 'rg-cell-total', styleName: 'rg-cell-total',
}, },
// 배수능력 > 총 양수량 (오수) // 배수능력 > 총 양수량 (오수)
{ {
name: 'drtwPumpGrssPpqty', name: 'drtwPumpWholPpqty',
fieldName: 'drtwPumpGrssPpqty', fieldName: 'drtwPumpWholPpqty',
header: { text: '총양수량(m³/min)' }, header: { text: '총양수량(m³/min)' },
footer: footerDecimal1, footer: footerDecimal1,
editable: false, editable: false,
@@ -108,27 +108,27 @@ export const PumpingStationInpColumn = {
}, },
// 배수능력 > 오수펌프(1) // 배수능력 > 오수펌프(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: '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: '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' }, { name: 'drtwPumpN1RsrvCnt', fieldName: 'drtwPumpN1RsrvCnt', header: { text: '예비펌프대수' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
// 배수능력 > 오수펌프(2) // 배수능력 > 오수펌프(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: '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: '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' }, { name: 'drtwPumpN2RsrvCnt', fieldName: 'drtwPumpN2RsrvCnt', header: { text: '예비펌프대수' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
// 배수능력 > 오수펌프(3) // 배수능력 > 오수펌프(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: '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: '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: 'drtwPumpN3RsrvCnt', fieldName: 'drtwPumpN3RsrvCnt', header: { text: '예비펌프대수' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
// 배수능력 > 총 양수량 (우수) // 배수능력 > 총 양수량 (우수)
{ {
name: 'exlnPumpGrssPpqty', name: 'exlnPumpWholPpqty',
fieldName: 'exlnPumpGrssPpqty', fieldName: 'exlnPumpWholPpqty',
header: { text: '총양수량(m³/min)' }, header: { text: '총양수량(m³/min)' },
footer: footerDecimal1, footer: footerDecimal1,
editable: false, editable: false,
@@ -158,25 +158,25 @@ export const PumpingStationInpColumn = {
}, },
// 배수능력 > 우수펌프(1) // 배수능력 > 우수펌프(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: '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: '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' }, { name: 'exlnPumpN1RsrvCnt', fieldName: 'exlnPumpN1RsrvCnt', header: { text: '예비펌프대수' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
// 배수능력 > 우수펌프(2) // 배수능력 > 우수펌프(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: '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: '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' }, { name: 'exlnPumpN2RsrvCnt', fieldName: 'exlnPumpN2RsrvCnt', header: { text: '예비펌프대수' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
// 배수능력 > 우수펌프(3) // 배수능력 > 우수펌프(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: '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: '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: '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: '비고' } }, { name: 'rmrk', fieldName: 'rmrk', header: { text: '비고' } },
@@ -202,59 +202,59 @@ export const PumpingStationInpColumn = {
'pumpSeNm', 'pumpSeNm',
'fcltPstnCn', 'fcltPstnCn',
'oprtngStrtYmd', 'oprtngStrtYmd',
'planMltvArea', 'planDrnar',
{ {
name: 'planFlowGroup', name: 'planFlowGroup',
hideChildHeaders: false, hideChildHeaders: false,
header: { text: '계획시간대최대배수량(m³/hr)' }, header: { text: '계획시간대최대배수량(m³/hr)' },
items: ['sndyArea', 'rainArea', 'exlnQnt'], items: ['icodwArea', 'rainArea', 'exlnQnt'],
}, },
{ {
name: 'drainageCapability', name: 'drainageCapability',
hideChildHeaders: false, hideChildHeaders: false,
header: { text: '배수능력' }, header: { text: '배수능력' },
items: [ items: [
'drtwPumpGrssPpqty', 'drtwPumpWholPpqty',
{ {
name: 'sewagePump1Group', name: 'sewagePump1Group',
hideChildHeaders: false, hideChildHeaders: false,
header: { text: '오수펌프(1)' }, header: { text: '오수펌프(1)' },
items: ['drtwPumpN1DmtrArea', 'drtwPumpN1Ppqty', 'drtwPumpN1Cnt', 'drtwPumpN1RsrvCnt'], items: ['drtwPumpN1Dmtr', 'drtwPumpN1Ppqty', 'drtwPumpN1Cnt', 'drtwPumpN1RsrvCnt'],
}, },
{ {
name: 'sewagePump2Group', name: 'sewagePump2Group',
hideChildHeaders: false, hideChildHeaders: false,
header: { text: '오수펌프(2)' }, header: { text: '오수펌프(2)' },
items: ['drtwPumpN2DmtrArea', 'drtwPumpN2Ppqty', 'drtwPumpN2Cnt', 'drtwPumpN2RsrvCnt'], items: ['drtwPumpN2Dmtr', 'drtwPumpN2Ppqty', 'drtwPumpN2Cnt', 'drtwPumpN2RsrvCnt'],
}, },
{ {
name: 'sewagePump3Group', name: 'sewagePump3Group',
hideChildHeaders: false, hideChildHeaders: false,
header: { text: '오수펌프(3)' }, header: { text: '오수펌프(3)' },
items: ['drtwPumpN3DmtrArea', 'drtwPumpN3Ppqty', 'drtwPumpN3Cnt', 'drtwPumpN3RsrvCnt'], items: ['drtwPumpN3Dmtr', 'drtwPumpN3Ppqty', 'drtwPumpN3Cnt', 'drtwPumpN3RsrvCnt'],
}, },
'exlnPumpGrssPpqty', 'exlnPumpWholPpqty',
{ {
name: 'rainwaterPump1Group', name: 'rainwaterPump1Group',
hideChildHeaders: false, hideChildHeaders: false,
header: { text: '우수펌프(1)' }, header: { text: '우수펌프(1)' },
items: ['exlnPumpN1DmtrArea', 'exlnPumpN1Ppqty', 'exlnPumpN1Cnt', 'exlnPumpN1RsrvCnt'], items: ['exlnPumpN1Dmtr', 'exlnPumpN1Ppqty', 'exlnPumpN1Cnt', 'exlnPumpN1RsrvCnt'],
}, },
{ {
name: 'rainwaterPump2Group', name: 'rainwaterPump2Group',
hideChildHeaders: false, hideChildHeaders: false,
header: { text: '우수펌프(2)' }, header: { text: '우수펌프(2)' },
items: ['exlnPumpN2DmtrArea', 'exlnPumpN2Ppqty', 'exlnPumpN2Cnt', 'exlnPumpN2RsrvCnt'], items: ['exlnPumpN2Dmtr', 'exlnPumpN2Ppqty', 'exlnPumpN2Cnt', 'exlnPumpN2RsrvCnt'],
}, },
{ {
name: 'rainwaterPump3Group', name: 'rainwaterPump3Group',
hideChildHeaders: false, hideChildHeaders: false,
header: { text: '우수펌프(3)' }, header: { text: '우수펌프(3)' },
items: ['exlnPumpN3DmtrArea', 'exlnPumpN3Ppqty', 'exlnPumpN3Cnt', 'exlnPumpN3RsrvCnt'], items: ['exlnPumpN3Dmtr', 'exlnPumpN3Ppqty', 'exlnPumpN3Cnt', 'exlnPumpN3RsrvCnt'],
}, },
], ],
}, },
'anlElpwrUseQnt', 'anlElpwrUsqty',
'rmrk', 'rmrk',
'admdstCd', 'admdstCd',
'fcltSn', 'fcltSn',
@@ -14,7 +14,7 @@ export const SeweragePenetrationRateInpColumn = {
// 수계 및 권역 // 수계 및 권역
{ name: 'rvbsn', fieldName: 'rvbsn', header: { text: '수계' }, editable: false, styleName: 'rg-cell-readonly' }, { 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' }, { name: 'mdbsn', fieldName: 'mdbsn', header: { text: '세부단위유역' }, editable: false, styleName: 'rg-cell-readonly' },
@@ -41,19 +41,19 @@ export const SeweragePenetrationRateInpColumn = {
editable: false, editable: false,
valueType: ValueType.NUMBER, valueType: ValueType.NUMBER,
dataFormat: '#,##0', 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', styleName: 'rg-cell-total',
}, },
// 총면적 // 총면적
{ {
name: 'wholArea', name: 'whlar',
fieldName: 'wholArea', fieldName: 'whlar',
header: { text: '총면적(㎢)' }, header: { text: '총면적(㎢)' },
footer: footerDecimal3, footer: footerDecimal3,
valueType: ValueType.NUMBER, valueType: ValueType.NUMBER,
dataFormat: '#,##0.000', dataFormat: '#,##0.000',
computed: { fields: ['staaArea', 'staaExcpArea'], type: 'sum' as const }, computed: { fields: ['swtrmtZoneIntnar', 'swtrmtZoneExtnar'], type: 'sum' as const },
styleName: 'rg-cell-total', styleName: 'rg-cell-total',
}, },
@@ -66,7 +66,7 @@ export const SeweragePenetrationRateInpColumn = {
editable: false, editable: false,
valueType: ValueType.NUMBER, valueType: ValueType.NUMBER,
dataFormat: '#,##0', 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', styleName: 'rg-cell-total',
}, },
@@ -79,64 +79,64 @@ export const SeweragePenetrationRateInpColumn = {
editable: false, editable: false,
valueType: ValueType.NUMBER, valueType: ValueType.NUMBER,
dataFormat: '#,##0', dataFormat: '#,##0',
computed: { fields: ['ts1SwtrmtPpltnCnt', 'ts2SwtrmtPpltnCnt', 'ts3SwtrmtPpltnCnt'], type: 'sum' as const }, computed: { fields: ['physSwtrmtPpltnCnt', 'crtureSwtrmtPpltnCnt', 'altdSwtrmtPpltnCnt'], type: 'sum' as const },
styleName: 'rg-cell-total', styleName: 'rg-cell-total',
}, },
{ name: 'ts1SwtrmtPpltnCnt', fieldName: 'ts1SwtrmtPpltnCnt', header: { text: '물리적처리' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' }, { name: 'physSwtrmtPpltnCnt', fieldName: 'physSwtrmtPpltnCnt', header: { text: '물리적처리' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'ts2SwtrmtPpltnCnt', fieldName: 'ts2SwtrmtPpltnCnt', header: { text: '생물학적처리' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' }, { name: 'crtureSwtrmtPpltnCnt', fieldName: 'crtureSwtrmtPpltnCnt', header: { text: '생물학적처리' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'ts3SwtrmtPpltnCnt', fieldName: 'ts3SwtrmtPpltnCnt', header: { text: '고도처리' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' }, { name: 'altdSwtrmtPpltnCnt', fieldName: 'altdSwtrmtPpltnCnt', header: { text: '고도처리' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
// 하수처리구역 내 > 폐수처리인구 // 하수처리구역 내 > 폐수처리인구
{ {
name: 'wholWwtPrcsPpltnCnt', name: 'wholWswtPpltnCnt',
fieldName: 'wholWwtPrcsPpltnCnt', fieldName: 'wholWswtPpltnCnt',
header: { text: '소계' }, header: { text: '소계' },
footer: footerInt, footer: footerInt,
editable: false, editable: false,
valueType: ValueType.NUMBER, valueType: ValueType.NUMBER,
dataFormat: '#,##0', dataFormat: '#,##0',
computed: { fields: ['ts1WwtPrcsPpltnCnt', 'ts2WwtPrcsPpltnCnt', 'ts3WwtPrcsPpltnCnt'], type: 'sum' as const }, computed: { fields: ['physWswtPpltnCnt', 'crtureWswtPpltnCnt', 'altdWswtPpltnCnt'], type: 'sum' as const },
styleName: 'rg-cell-total', styleName: 'rg-cell-total',
}, },
{ name: 'ts1WwtPrcsPpltnCnt', fieldName: 'ts1WwtPrcsPpltnCnt', header: { text: '물리적처리' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' }, { name: 'physWswtPpltnCnt', fieldName: 'physWswtPpltnCnt', header: { text: '물리적처리' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'ts2WwtPrcsPpltnCnt', fieldName: 'ts2WwtPrcsPpltnCnt', header: { text: '생물학적처리' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' }, { name: 'crtureWswtPpltnCnt', fieldName: 'crtureWswtPpltnCnt', header: { text: '생물학적처리' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'ts3WwtPrcsPpltnCnt', fieldName: 'ts3WwtPrcsPpltnCnt', 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', name: 'wholStaaOtsdPpltnCnt',
fieldName: 'wholStaaExcpPpltnCnt', fieldName: 'wholStaaOtsdPpltnCnt',
header: { text: '합계' }, header: { text: '합계' },
footer: footerInt, footer: footerInt,
editable: false, editable: false,
valueType: ValueType.NUMBER, valueType: ValueType.NUMBER,
dataFormat: '#,##0', dataFormat: '#,##0',
computed: { fields: ['unprcsPpltnCnt', 'drtwPrcsPpltnCnt', 'spctnkPpltnCnt'], type: 'sum' as const }, computed: { fields: ['unprcsPpltnCnt', 'swgdplPpltnCnt', 'spctnkPpltnCnt'], type: 'sum' as const },
styleName: 'rg-cell-total', styleName: 'rg-cell-total',
}, },
{ name: 'unprcsPpltnCnt', fieldName: 'unprcsPpltnCnt', header: { text: '미처리인구' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' }, { 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: '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) // 공공하수처리구역 인구보급률 (하수처리구역 내 인구 / 전체 인구 * 100)
{ {
name: 'staaPsplyRt', name: 'swagePplPsplyRt',
fieldName: 'staaPsplyRt', fieldName: 'swagePplPsplyRt',
header: { text: '공공하수처리구역인구보급률(%)' }, header: { text: '공공하수처리구역인구보급률(%)' },
footer: footerAvgDecimal, footer: footerAvgDecimal,
editable: false, editable: false,
valueType: ValueType.NUMBER, valueType: ValueType.NUMBER,
dataFormat: '#,##0.0', dataFormat: '#,##0.0',
computed: { computed: {
numeratorFields: ['ts1SwtrmtPpltnCnt', 'ts2SwtrmtPpltnCnt', 'ts3SwtrmtPpltnCnt', 'ts1WwtPrcsPpltnCnt', 'ts2WwtPrcsPpltnCnt', 'ts3WwtPrcsPpltnCnt', 'yetCntnPpltnCnt'], numeratorFields: ['physSwtrmtPpltnCnt', 'crtureSwtrmtPpltnCnt', 'altdSwtrmtPpltnCnt', 'physWswtPpltnCnt', 'crtureWswtPpltnCnt', 'altdWswtPpltnCnt', 'urftPpltnCnt'],
denominatorFields: ['ts1SwtrmtPpltnCnt', 'ts2SwtrmtPpltnCnt', 'ts3SwtrmtPpltnCnt', 'ts1WwtPrcsPpltnCnt', 'ts2WwtPrcsPpltnCnt', 'ts3WwtPrcsPpltnCnt', 'yetCntnPpltnCnt', 'unprcsPpltnCnt', 'drtwPrcsPpltnCnt', 'spctnkPpltnCnt'], denominatorFields: ['physSwtrmtPpltnCnt', 'crtureSwtrmtPpltnCnt', 'altdSwtrmtPpltnCnt', 'physWswtPpltnCnt', 'crtureWswtPpltnCnt', 'altdWswtPpltnCnt', 'urftPpltnCnt', 'unprcsPpltnCnt', 'swgdplPpltnCnt', 'spctnkPpltnCnt'],
type: 'pblswrgPopltnSuprtRate' as const type: 'pblswrgPopltnSuprtRate' as const
}, },
styleName: 'rg-cell-total', styleName: 'rg-cell-total',
@@ -144,16 +144,16 @@ export const SeweragePenetrationRateInpColumn = {
// 고도처리 인구보급률 (고도처리 인구 / 전체 인구 * 100) // 고도처리 인구보급률 (고도처리 인구 / 전체 인구 * 100)
{ {
name: 'altdPrcsPsplyRt', name: 'awtrPsplyRt',
fieldName: 'altdPrcsPsplyRt', fieldName: 'awtrPsplyRt',
header: { text: '고도처리인구보급률(%)' }, header: { text: '고도처리인구보급률(%)' },
footer: footerAvgDecimal, footer: footerAvgDecimal,
editable: false, editable: false,
valueType: ValueType.NUMBER, valueType: ValueType.NUMBER,
dataFormat: '#,##0.0', dataFormat: '#,##0.0',
computed: { computed: {
numeratorFields: ['ts3SwtrmtPpltnCnt', 'ts3WwtPrcsPpltnCnt'], numeratorFields: ['altdSwtrmtPpltnCnt', 'altdWswtPpltnCnt'],
denominatorFields: ['ts1SwtrmtPpltnCnt', 'ts2SwtrmtPpltnCnt', 'ts3SwtrmtPpltnCnt', 'ts1WwtPrcsPpltnCnt', 'ts2WwtPrcsPpltnCnt', 'ts3WwtPrcsPpltnCnt', 'yetCntnPpltnCnt', 'unprcsPpltnCnt', 'drtwPrcsPpltnCnt', 'spctnkPpltnCnt'], denominatorFields: ['physSwtrmtPpltnCnt', 'crtureSwtrmtPpltnCnt', 'altdSwtrmtPpltnCnt', 'physWswtPpltnCnt', 'crtureWswtPpltnCnt', 'altdWswtPpltnCnt', 'urftPpltnCnt', 'unprcsPpltnCnt', 'swgdplPpltnCnt', 'spctnkPpltnCnt'],
type: 'adtrtPopltnSuprtRate' as const type: 'adtrtPopltnSuprtRate' as const
}, },
styleName: 'rg-cell-total', styleName: 'rg-cell-total',
@@ -169,9 +169,9 @@ export const SeweragePenetrationRateInpColumn = {
valueType: ValueType.NUMBER, valueType: ValueType.NUMBER,
dataFormat: '#,##0.0', dataFormat: '#,##0.0',
computed: { computed: {
numeratorFields: ['ts1SwtrmtPpltnCnt', 'ts2SwtrmtPpltnCnt', 'ts3SwtrmtPpltnCnt', 'ts1WwtPrcsPpltnCnt', 'ts2WwtPrcsPpltnCnt', 'ts3WwtPrcsPpltnCnt', 'yetCntnPpltnCnt', 'wholStaaExcpPpltnCnt'], numeratorFields: ['physSwtrmtPpltnCnt', 'crtureSwtrmtPpltnCnt', 'altdSwtrmtPpltnCnt', 'physWswtPpltnCnt', 'crtureWswtPpltnCnt', 'altdWswtPpltnCnt', 'urftPpltnCnt', 'wholStaaOtsdPpltnCnt'],
denominatorFields: ['ts1SwtrmtPpltnCnt', 'ts2SwtrmtPpltnCnt', 'ts3SwtrmtPpltnCnt', 'ts1WwtPrcsPpltnCnt', 'ts2WwtPrcsPpltnCnt', 'ts3WwtPrcsPpltnCnt', 'yetCntnPpltnCnt'], denominatorFields: ['physSwtrmtPpltnCnt', 'crtureSwtrmtPpltnCnt', 'altdSwtrmtPpltnCnt', 'physWswtPpltnCnt', 'crtureWswtPpltnCnt', 'altdWswtPpltnCnt', 'urftPpltnCnt'],
thirdFields: ['swagePplPsplyRt'], thirdFields: ['pipePsplyRt'],
type: 'swrgInstlrtRate' as const type: 'swrgInstlrtRate' as const
}, },
styleName: 'rg-cell-total', styleName: 'rg-cell-total',
@@ -180,7 +180,7 @@ export const SeweragePenetrationRateInpColumn = {
// 비고 // 비고
{ name: 'rmrk', fieldName: 'rmrk', header: { text: '비고' } }, { 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 }, { name: 'admdstCd', fieldName: 'admdstCd', header: { text: '행정코드' }, visible: false },
], ],
@@ -196,7 +196,7 @@ export const SeweragePenetrationRateInpColumn = {
], ],
}, },
'rvbsn', 'rvbsn',
'trbtrNm', 'statsTrbtrNm',
{ {
name: 'groupB', name: 'groupB',
hideChildHeaders: false, hideChildHeaders: false,
@@ -212,7 +212,7 @@ export const SeweragePenetrationRateInpColumn = {
}, },
'refArea', 'refArea',
'wholPpltnCnt', 'wholPpltnCnt',
'wholArea', 'whlar',
{ {
name: 'groupD', name: 'groupD',
hideChildHeaders: false, hideChildHeaders: false,
@@ -223,16 +223,16 @@ export const SeweragePenetrationRateInpColumn = {
name: 'pblswrgGroup', name: 'pblswrgGroup',
hideChildHeaders: false, hideChildHeaders: false,
header: { text: '공공하수처리인구(명)' }, header: { text: '공공하수처리인구(명)' },
items: ['wholPblSwtrmtPpltnCnt', 'ts1SwtrmtPpltnCnt', 'ts2SwtrmtPpltnCnt', 'ts3SwtrmtPpltnCnt'], items: ['wholPblSwtrmtPpltnCnt', 'physSwtrmtPpltnCnt', 'crtureSwtrmtPpltnCnt', 'altdSwtrmtPpltnCnt'],
}, },
{ {
name: 'wstrGroup', name: 'wstrGroup',
hideChildHeaders: false, hideChildHeaders: false,
header: { text: '폐수처리인구(명)' }, header: { text: '폐수처리인구(명)' },
items: ['wholWwtPrcsPpltnCnt', 'ts1WwtPrcsPpltnCnt', 'ts2WwtPrcsPpltnCnt', 'ts3WwtPrcsPpltnCnt'], items: ['wholWswtPpltnCnt', 'physWswtPpltnCnt', 'crtureWswtPpltnCnt', 'altdWswtPpltnCnt'],
}, },
'yetCntnPpltnCnt', 'urftPpltnCnt',
'staaArea' 'swtrmtZoneIntnar'
], ],
}, },
{ {
@@ -240,18 +240,18 @@ export const SeweragePenetrationRateInpColumn = {
hideChildHeaders: false, hideChildHeaders: false,
header: { text: '하수처리구역외' }, header: { text: '하수처리구역외' },
items: [ items: [
'wholStaaExcpPpltnCnt', 'wholStaaOtsdPpltnCnt',
'unprcsPpltnCnt', 'unprcsPpltnCnt',
'drtwPrcsPpltnCnt', 'swgdplPpltnCnt',
'spctnkPpltnCnt', 'spctnkPpltnCnt',
'staaExcpArea' 'swtrmtZoneExtnar'
], ],
}, },
'staaPsplyRt', 'swagePplPsplyRt',
'altdPrcsPsplyRt', 'awtrPsplyRt',
'sewerInstlRt', 'sewerInstlRt',
'rmrk', 'rmrk',
'swagePplPsplyRt', 'pipePsplyRt',
'admdstCd', 'admdstCd',
] ]
}; };
@@ -14,12 +14,12 @@ export const PrivateSewageDesigStatusInpColumn = {
{ name: 'indvSwageDsgnScpLen', fieldName: 'indvSwageDsgnScpLen', header: { text: '지정범위(㎢)' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' }, { 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: 'spctnkWholFcltCnt', fieldName: 'spctnkWholFcltCnt', header: { text: '개소수' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'spctnkQnt', fieldName: 'spctnkQnt', header: { text: '처리용량(인/일)' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.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: 'swgdplFcltWholFcltCnt', fieldName: 'swgdplFcltWholFcltCnt', 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: 'swgdplFcltPrcqty', fieldName: 'swgdplFcltPrcqty', header: { text: '처리용량(m³/일)' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' },
// 비고 // 비고
{ name: 'rmrk', fieldName: 'rmrk', header: { text: '비고' } }, { name: 'rmrk', fieldName: 'rmrk', header: { text: '비고' } },
@@ -47,16 +47,16 @@ export const PrivateSewageDesigStatusInpColumn = {
name: 'group_septic', name: 'group_septic',
header: { text: '정화조' }, header: { text: '정화조' },
items: [ items: [
'spctnkGrssFcltCnt', 'spctnkWholFcltCnt',
'spctnkQnt' 'spctnkPrcqty'
] ]
}, },
{ {
name: 'group_sewage', name: 'group_sewage',
header: { text: '오수시설' }, header: { text: '오수시설' },
items: [ items: [
'drtwPrcsFcltGrssFcltCnt', 'swgdplFcltWholFcltCnt',
'drtwPrcsFcltQnt' 'swgdplFcltPrcqty'
] ]
} }
] ]
@@ -11,8 +11,8 @@ export const SepticTankStatusInpColumn = {
// 총 시설 수 — (B+C)/2 + (E+F)/2 = A + D // 총 시설 수 — (B+C)/2 + (E+F)/2 = A + D
{ {
name: 'grssFcltCnt', name: 'wholFcltCnt',
fieldName: 'grssFcltCnt', fieldName: 'wholFcltCnt',
header: { text: '총 시설 수 (A+D)' }, header: { text: '총 시설 수 (A+D)' },
editable: false, editable: false,
footer: footerInt, footer: footerInt,
@@ -22,42 +22,42 @@ export const SepticTankStatusInpColumn = {
computed: { computed: {
firstHalfSum: { firstHalfSum: {
firstSumFields: [ firstSumFields: [
'staaInsdSttkNprsflCnt', 'staaInsdSpctnkNatrCnt',
'step1StaaInsdSttkFrcCnt', 'staaInsdSpctnkFrcCnt',
'staaInsdSprktpFltrtbCnt', 'staaInsdSprklFiltrCnt',
'staaInsdAertMthdCnt', 'staaInsdAirCnt',
'staaInsdCntcAertCnt', 'staaInsdCntcAirCnt',
'staaInsdEtcCnt', 'staaInsdEtcCnt',
], ],
secondSumFields: [ secondSumFields: [
'step1StaaInsdNope', 'frlvlStaaInsdNope',
'step2StaaInsdNope', 'sclvlStaaInsdNope',
'step3StaaInsdNope', 'thlvlStaaInsdNope',
'step4StaaInsdNope', 'folvlStaaInsdNope',
'step5StaaInsdNope', 'filvlStaaInsdNope',
'step6StaaInsdNope', 'sxlvlStaaInsdNope',
'step7StaaInsdNope', 'svlvlStaaInsdNope',
'step8StaaInsdNope', 'eilvlStaaInsdNope',
], ],
}, },
secondHalfSum: { secondHalfSum: {
firstSumFields: [ firstSumFields: [
'staaExcpSttkNprsflCnt', 'staaOtsdSpctnkNatrCnt',
'step1StaaExcpSttkFrcCnt', 'staaOtsdSpctnkFrcCnt',
'staaExcpSprktpFltrtbCnt', 'staaOtsdSprklFiltrCnt',
'staaExcpAertMthdCnt', 'staaOtsdAirCnt',
'staaExcpCntcAertCnt', 'staaOtsdCntcAirCnt',
'staaExcpEtcCnt', 'staaOtsdEtcCnt',
], ],
secondSumFields: [ secondSumFields: [
'step1StaaExcpNope', 'frlvlStaaOtsdNope',
'step2StaaExcpNope', 'sclvlStaaOtsdNope',
'step3StaaExcpNope', 'thlvlStaaOtsdNope',
'step4StaaExcpNope', 'folvlStaaOtsdNope',
'step5StaaExcpNope', 'filvlStaaOtsdNope',
'step6StaaExcpNope', 'sxlvlStaaOtsdNope',
'step7StaaExcpNope', 'svlvlStaaOtsdNope',
'step8StaaExcpNope', 'eilvlStaaOtsdNope',
], ],
}, },
type: 'sumOfTwoHalfSumOfSums' as const, type: 'sumOfTwoHalfSumOfSums' as const,
@@ -66,8 +66,8 @@ export const SepticTankStatusInpColumn = {
// 하수처리구역 내 > 총계 // 하수처리구역 내 > 총계
{ {
name: 'staaInsdWhol', name: 'staaInsdWholCnt',
fieldName: 'staaInsdWhol', fieldName: 'staaInsdWholCnt',
header: { text: '총계 A=(B+C)/2' }, header: { text: '총계 A=(B+C)/2' },
editable: false, editable: false,
footer: footerInt, footer: footerInt,
@@ -76,22 +76,22 @@ export const SepticTankStatusInpColumn = {
styleName: 'rg-cell-total', styleName: 'rg-cell-total',
computed: { computed: {
firstSumFields: [ firstSumFields: [
'staaInsdSttkNprsflCnt', 'staaInsdSpctnkNatrCnt',
'step1StaaInsdSttkFrcCnt', 'staaInsdSpctnkFrcCnt',
'staaInsdSprktpFltrtbCnt', 'staaInsdSprklFiltrCnt',
'staaInsdAertMthdCnt', 'staaInsdAirCnt',
'staaInsdCntcAertCnt', 'staaInsdCntcAirCnt',
'staaInsdEtcCnt', 'staaInsdEtcCnt',
], ],
secondSumFields: [ secondSumFields: [
'step1StaaInsdNope', 'frlvlStaaInsdNope',
'step2StaaInsdNope', 'sclvlStaaInsdNope',
'step3StaaInsdNope', 'thlvlStaaInsdNope',
'step4StaaInsdNope', 'folvlStaaInsdNope',
'step5StaaInsdNope', 'filvlStaaInsdNope',
'step6StaaInsdNope', 'sxlvlStaaInsdNope',
'step7StaaInsdNope', 'svlvlStaaInsdNope',
'step8StaaInsdNope', 'eilvlStaaInsdNope',
], ],
type: 'halfSumOfSums' as const, type: 'halfSumOfSums' as const,
}, },
@@ -99,8 +99,8 @@ export const SepticTankStatusInpColumn = {
// 하수처리구역 내 > 처리방식별 // 하수처리구역 내 > 처리방식별
{ {
name: 'staaInsdPrcsMthByWhol', name: 'staaInsdMthSeWholCnt',
fieldName: 'staaInsdPrcsMthByWhol', fieldName: 'staaInsdMthSeWholCnt',
header: { text: '계(B)' }, header: { text: '계(B)' },
editable: false, editable: false,
footer: footerInt, footer: footerInt,
@@ -109,11 +109,11 @@ export const SepticTankStatusInpColumn = {
styleName: 'rg-cell-total', styleName: 'rg-cell-total',
computed: { computed: {
fields: [ fields: [
'staaInsdSttkNprsflCnt', 'staaInsdSpctnkNatrCnt',
'step1StaaInsdSttkFrcCnt', 'staaInsdSpctnkFrcCnt',
'staaInsdSprktpFltrtbCnt', 'staaInsdSprklFiltrCnt',
'staaInsdAertMthdCnt', 'staaInsdAirCnt',
'staaInsdCntcAertCnt', 'staaInsdCntcAirCnt',
'staaInsdEtcCnt', 'staaInsdEtcCnt',
], ],
type: 'sum' as const, 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: 'staaInsdSpctnkNatrCnt', fieldName: 'staaInsdSpctnkNatrCnt', header: { text: '자연유하' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'step1StaaInsdSttkFrcCnt', fieldName: 'step1StaaInsdSttkFrcCnt', 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: 'staaInsdSprklFiltrCnt', fieldName: 'staaInsdSprklFiltrCnt', header: { text: '살수여상' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'staaInsdAertMthdCnt', fieldName: 'staaInsdAertMthdCnt', header: { text: '폭기방법' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' }, { name: 'staaInsdAirCnt', fieldName: 'staaInsdAirCnt', header: { text: '폭기방법' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'staaInsdCntcAertCnt', fieldName: 'staaInsdCntcAertCnt', 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: 'staaInsdEtcCnt', fieldName: 'staaInsdEtcCnt', header: { text: '기타' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
// 하수처리구역 내 > 처리용량별 // 하수처리구역 내 > 처리용량별
{ {
name: 'staaInsdPrcsCpctByWhol', name: 'staaInsdCpctSeWholCnt',
fieldName: 'staaInsdPrcsCpctByWhol', fieldName: 'staaInsdCpctSeWholCnt',
header: { text: '계(C)' }, header: { text: '계(C)' },
editable: false, editable: false,
footer: footerInt, footer: footerInt,
@@ -142,31 +142,31 @@ export const SepticTankStatusInpColumn = {
styleName: 'rg-cell-total', styleName: 'rg-cell-total',
computed: { computed: {
fields: [ fields: [
'step1StaaInsdNope', 'frlvlStaaInsdNope',
'step2StaaInsdNope', 'sclvlStaaInsdNope',
'step3StaaInsdNope', 'thlvlStaaInsdNope',
'step4StaaInsdNope', 'folvlStaaInsdNope',
'step5StaaInsdNope', 'filvlStaaInsdNope',
'step6StaaInsdNope', 'sxlvlStaaInsdNope',
'step7StaaInsdNope', 'svlvlStaaInsdNope',
'step8StaaInsdNope', 'eilvlStaaInsdNope',
], ],
type: 'sum' as const, type: 'sum' as const,
}, },
}, },
{ name: 'step1StaaInsdNope', fieldName: 'step1StaaInsdNope', header: { text: '10인조이하' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' }, { name: 'frlvlStaaInsdNope', fieldName: 'frlvlStaaInsdNope', 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: 'sclvlStaaInsdNope', fieldName: 'sclvlStaaInsdNope', 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: 'thlvlStaaInsdNope', fieldName: 'thlvlStaaInsdNope', 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: 'folvlStaaInsdNope', fieldName: 'folvlStaaInsdNope', 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: 'filvlStaaInsdNope', fieldName: 'filvlStaaInsdNope', 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: 'sxlvlStaaInsdNope', fieldName: 'sxlvlStaaInsdNope', 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: 'svlvlStaaInsdNope', fieldName: 'svlvlStaaInsdNope', 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: 'eilvlStaaInsdNope', fieldName: 'eilvlStaaInsdNope', header: { text: '1,000 이상' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
// 하수처리구역 외 > 총계 // 하수처리구역 외 > 총계
{ {
name: 'staaExcpWhol', name: 'staaOtsdWholCnt',
fieldName: 'staaExcpWhol', fieldName: 'staaOtsdWholCnt',
header: { text: '총계 D=(E+F)/2' }, header: { text: '총계 D=(E+F)/2' },
editable: false, editable: false,
footer: footerInt, footer: footerInt,
@@ -175,22 +175,22 @@ export const SepticTankStatusInpColumn = {
styleName: 'rg-cell-total', styleName: 'rg-cell-total',
computed: { computed: {
firstSumFields: [ firstSumFields: [
'staaExcpSttkNprsflCnt', 'staaOtsdSpctnkNatrCnt',
'step1StaaExcpSttkFrcCnt', 'staaOtsdSpctnkFrcCnt',
'staaExcpSprktpFltrtbCnt', 'staaOtsdSprklFiltrCnt',
'staaExcpAertMthdCnt', 'staaOtsdAirCnt',
'staaExcpCntcAertCnt', 'staaOtsdCntcAirCnt',
'staaExcpEtcCnt', 'staaOtsdEtcCnt',
], ],
secondSumFields: [ secondSumFields: [
'step1StaaExcpNope', 'frlvlStaaOtsdNope',
'step2StaaExcpNope', 'sclvlStaaOtsdNope',
'step3StaaExcpNope', 'thlvlStaaOtsdNope',
'step4StaaExcpNope', 'folvlStaaOtsdNope',
'step5StaaExcpNope', 'filvlStaaOtsdNope',
'step6StaaExcpNope', 'sxlvlStaaOtsdNope',
'step7StaaExcpNope', 'svlvlStaaOtsdNope',
'step8StaaExcpNope', 'eilvlStaaOtsdNope',
], ],
type: 'halfSumOfSums' as const, type: 'halfSumOfSums' as const,
}, },
@@ -198,8 +198,8 @@ export const SepticTankStatusInpColumn = {
// 하수처리구역 외 > 처리방식별 // 하수처리구역 외 > 처리방식별
{ {
name: 'staaExcpPrcsMthByWhol', name: 'staaOtsdMthSeWholCnt',
fieldName: 'staaExcpPrcsMthByWhol', fieldName: 'staaOtsdMthSeWholCnt',
header: { text: '계(E)' }, header: { text: '계(E)' },
editable: false, editable: false,
footer: footerInt, footer: footerInt,
@@ -208,31 +208,31 @@ export const SepticTankStatusInpColumn = {
styleName: 'rg-cell-total', styleName: 'rg-cell-total',
computed: { computed: {
fields: [ fields: [
'staaExcpSttkNprsflCnt', 'staaOtsdSpctnkNatrCnt',
'step1StaaExcpSttkFrcCnt', 'staaOtsdSpctnkFrcCnt',
'staaExcpSprktpFltrtbCnt', 'staaOtsdSprklFiltrCnt',
'staaExcpAertMthdCnt', 'staaOtsdAirCnt',
'staaExcpCntcAertCnt', 'staaOtsdCntcAirCnt',
'staaExcpEtcCnt', 'staaOtsdEtcCnt',
], ],
type: 'sum' as const, type: 'sum' as const,
}, },
}, },
// 하수처리구역 외 > 처리방식별 > 부패탱크 // 하수처리구역 외 > 처리방식별 > 부패탱크
{ name: 'staaExcpSttkNprsflCnt', fieldName: 'staaExcpSttkNprsflCnt', header: { text: '자연유하' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' }, { name: 'staaOtsdSpctnkNatrCnt', fieldName: 'staaOtsdSpctnkNatrCnt', header: { text: '자연유하' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'step1StaaExcpSttkFrcCnt', fieldName: 'step1StaaExcpSttkFrcCnt', 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: 'staaOtsdSprklFiltrCnt', fieldName: 'staaOtsdSprklFiltrCnt', header: { text: '살수여상' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'staaExcpAertMthdCnt', fieldName: 'staaExcpAertMthdCnt', header: { text: '폭기방법' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' }, { name: 'staaOtsdAirCnt', fieldName: 'staaOtsdAirCnt', header: { text: '폭기방법' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'staaExcpCntcAertCnt', fieldName: 'staaExcpCntcAertCnt', header: { text: '접촉폭기' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' }, { name: 'staaOtsdCntcAirCnt', fieldName: 'staaOtsdCntcAirCnt', header: { text: '접촉폭기' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'staaExcpEtcCnt', fieldName: 'staaExcpEtcCnt', header: { text: '기타' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' }, { name: 'staaOtsdEtcCnt', fieldName: 'staaOtsdEtcCnt', header: { text: '기타' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
// 하수처리구역 외 > 처리용량별 // 하수처리구역 외 > 처리용량별
{ {
name: 'staaExcpPrcsCpctByWhol', name: 'staaOtsdCpctSeWholCnt',
fieldName: 'staaExcpPrcsCpctByWhol', fieldName: 'staaOtsdCpctSeWholCnt',
header: { text: '계(F)' }, header: { text: '계(F)' },
editable: false, editable: false,
footer: footerInt, footer: footerInt,
@@ -241,26 +241,26 @@ export const SepticTankStatusInpColumn = {
styleName: 'rg-cell-total', styleName: 'rg-cell-total',
computed: { computed: {
fields: [ fields: [
'step1StaaExcpNope', 'frlvlStaaOtsdNope',
'step2StaaExcpNope', 'sclvlStaaOtsdNope',
'step3StaaExcpNope', 'thlvlStaaOtsdNope',
'step4StaaExcpNope', 'folvlStaaOtsdNope',
'step5StaaExcpNope', 'filvlStaaOtsdNope',
'step6StaaExcpNope', 'sxlvlStaaOtsdNope',
'step7StaaExcpNope', 'svlvlStaaOtsdNope',
'step8StaaExcpNope', 'eilvlStaaOtsdNope',
], ],
type: 'sum' as const, type: 'sum' as const,
}, },
}, },
{ name: 'step1StaaExcpNope', fieldName: 'step1StaaExcpNope', header: { text: '10인조이하' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' }, { name: 'frlvlStaaOtsdNope', fieldName: 'frlvlStaaOtsdNope', 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: 'sclvlStaaOtsdNope', fieldName: 'sclvlStaaOtsdNope', 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: 'thlvlStaaOtsdNope', fieldName: 'thlvlStaaOtsdNope', 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: 'folvlStaaOtsdNope', fieldName: 'folvlStaaOtsdNope', 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: 'filvlStaaOtsdNope', fieldName: 'filvlStaaOtsdNope', 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: 'sxlvlStaaOtsdNope', fieldName: 'sxlvlStaaOtsdNope', 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: 'svlvlStaaOtsdNope', fieldName: 'svlvlStaaOtsdNope', 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: 'eilvlStaaOtsdNope', fieldName: 'eilvlStaaOtsdNope', header: { text: '1,000 이상' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
// 비고 // 비고
{ name: 'rmrk', fieldName: 'rmrk', header: { text: '비고' } }, { name: 'rmrk', fieldName: 'rmrk', header: { text: '비고' } },
@@ -278,28 +278,28 @@ export const SepticTankStatusInpColumn = {
'sggNm', 'sggNm',
], ],
}, },
'grssFcltCnt', 'wholFcltCnt',
{ {
name: 'group_spzi', name: 'group_spzi',
header: { text: '하수처리구역 내' }, header: { text: '하수처리구역 내' },
items: [ items: [
'staaInsdWhol', 'staaInsdWholCnt',
{ {
name: 'group_spzi_mthd', name: 'group_spzi_mthd',
header: { text: '처리방식별' }, header: { text: '처리방식별' },
items: [ items: [
'staaInsdPrcsMthByWhol', 'staaInsdMthSeWholCnt',
{ {
name: 'group_spzi_rot', name: 'group_spzi_rot',
header: { text: '부패탱크' }, header: { text: '부패탱크' },
items: [ items: [
'staaInsdSttkNprsflCnt', 'staaInsdSpctnkNatrCnt',
'step1StaaInsdSttkFrcCnt' 'staaInsdSpctnkFrcCnt'
] ]
}, },
'staaInsdSprktpFltrtbCnt', 'staaInsdSprklFiltrCnt',
'staaInsdAertMthdCnt', 'staaInsdAirCnt',
'staaInsdCntcAertCnt', 'staaInsdCntcAirCnt',
'staaInsdEtcCnt' 'staaInsdEtcCnt'
] ]
}, },
@@ -307,15 +307,15 @@ export const SepticTankStatusInpColumn = {
name: 'group_spzi_proc', name: 'group_spzi_proc',
header: { text: '처리용량별' }, header: { text: '처리용량별' },
items: [ items: [
'staaInsdPrcsCpctByWhol', 'staaInsdCpctSeWholCnt',
'step1StaaInsdNope', 'frlvlStaaInsdNope',
'step2StaaInsdNope', 'sclvlStaaInsdNope',
'step3StaaInsdNope', 'thlvlStaaInsdNope',
'step4StaaInsdNope', 'folvlStaaInsdNope',
'step5StaaInsdNope', 'filvlStaaInsdNope',
'step6StaaInsdNope', 'sxlvlStaaInsdNope',
'step7StaaInsdNope', 'svlvlStaaInsdNope',
'step8StaaInsdNope' 'eilvlStaaInsdNope'
] ]
} }
] ]
@@ -324,39 +324,39 @@ export const SepticTankStatusInpColumn = {
name: 'group_spzo', name: 'group_spzo',
header: { text: '하수처리구역 외' }, header: { text: '하수처리구역 외' },
items: [ items: [
'staaExcpWhol', 'staaOtsdWholCnt',
{ {
name: 'group_spzo_mthd', name: 'group_spzo_mthd',
header: { text: '처리방식별' }, header: { text: '처리방식별' },
items: [ items: [
'staaExcpPrcsMthByWhol', 'staaOtsdMthSeWholCnt',
{ {
name: 'group_spzo_rot', name: 'group_spzo_rot',
header: { text: '부패탱크' }, header: { text: '부패탱크' },
items: [ items: [
'staaExcpSttkNprsflCnt', 'staaOtsdSpctnkNatrCnt',
'step1StaaExcpSttkFrcCnt' 'staaOtsdSpctnkFrcCnt'
] ]
}, },
'staaExcpSprktpFltrtbCnt', 'staaOtsdSprklFiltrCnt',
'staaExcpAertMthdCnt', 'staaOtsdAirCnt',
'staaExcpCntcAertCnt', 'staaOtsdCntcAirCnt',
'staaExcpEtcCnt' 'staaOtsdEtcCnt'
] ]
}, },
{ {
name: 'group_spzo_proc', name: 'group_spzo_proc',
header: { text: '처리용량별' }, header: { text: '처리용량별' },
items: [ items: [
'staaExcpPrcsCpctByWhol', 'staaOtsdCpctSeWholCnt',
'step1StaaExcpNope', 'frlvlStaaOtsdNope',
'step2StaaExcpNope', 'sclvlStaaOtsdNope',
'step3StaaExcpNope', 'thlvlStaaOtsdNope',
'step4StaaExcpNope', 'folvlStaaOtsdNope',
'step5StaaExcpNope', 'filvlStaaOtsdNope',
'step6StaaExcpNope', 'sxlvlStaaOtsdNope',
'step7StaaExcpNope', 'svlvlStaaOtsdNope',
'step8StaaExcpNope' 'eilvlStaaOtsdNope'
] ]
} }
] ]
@@ -11,8 +11,8 @@ export const SewageTreatFactStatusInpColumn = {
// 총계 // 총계
{ {
name: 'wholDrtwPrcsFcltCnt', name: 'wholSwgdplFcltCnt',
fieldName: 'wholDrtwPrcsFcltCnt', fieldName: 'wholSwgdplFcltCnt',
header: { text: '총계' }, header: { text: '총계' },
editable: false, editable: false,
footer: footerInt, footer: footerInt,
@@ -21,20 +21,20 @@ export const SewageTreatFactStatusInpColumn = {
styleName: 'rg-cell-total', styleName: 'rg-cell-total',
computed: { computed: {
fields: [ fields: [
'step1StaaPrcsQnt', 'frlvlStaaPrcqty',
'step2StaaPrcsQnt', 'sclvlStaaPrcqty',
'step3StaaPrcsQnt', 'thlvlStaaPrcqty',
'step4StaaPrcsQnt', 'folvlStaaPrcqty',
'step5StaaPrcsQnt', 'filvlStaaPrcqty',
'step6StaaPrcsQnt', 'sxlvlStaaPrcqty',
'step7StaaPrcsQnt', 'svlvlStaaPrcqty',
'step1StaaExcpPrcsQnt', 'frlvlStaaOtsdPrcqty',
'step2StaaExcpPrcsQnt', 'sclvlStaaOtsdPrcqty',
'step3StaaExcpPrcsQnt', 'thlvlStaaOtsdPrcqty',
'step4StaaExcpPrcsQnt', 'folvlStaaOtsdPrcqty',
'step5StaaExcpPrcsQnt', 'filvlStaaOtsdPrcqty',
'step6StaaExcpPrcsQnt', 'sxlvlStaaOtsdPrcqty',
'step7StaaExcpPrcsQnt', 'svlvlStaaOtsdPrcqty',
], ],
type: 'sum' as const, type: 'sum' as const,
}, },
@@ -42,8 +42,8 @@ export const SewageTreatFactStatusInpColumn = {
// 오수처리시설 > 하수처리구역 내(m³/일) // 오수처리시설 > 하수처리구역 내(m³/일)
{ {
name: 'wholStaaCnt', name: 'wholStaaPrcqty',
fieldName: 'wholStaaCnt', fieldName: 'wholStaaPrcqty',
header: { text: '계' }, header: { text: '계' },
editable: false, editable: false,
footer: footerInt, footer: footerInt,
@@ -52,29 +52,29 @@ export const SewageTreatFactStatusInpColumn = {
styleName: 'rg-cell-total', styleName: 'rg-cell-total',
computed: { computed: {
fields: [ fields: [
'step1StaaPrcsQnt', 'frlvlStaaPrcqty',
'step2StaaPrcsQnt', 'sclvlStaaPrcqty',
'step3StaaPrcsQnt', 'thlvlStaaPrcqty',
'step4StaaPrcsQnt', 'folvlStaaPrcqty',
'step5StaaPrcsQnt', 'filvlStaaPrcqty',
'step6StaaPrcsQnt', 'sxlvlStaaPrcqty',
'step7StaaPrcsQnt', 'svlvlStaaPrcqty',
], ],
type: 'sum' as const, type: 'sum' as const,
}, },
}, },
{ name: 'step1StaaPrcsQnt', fieldName: 'step1StaaPrcsQnt', header: { text: '2이하' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' }, { name: 'frlvlStaaPrcqty', fieldName: 'frlvlStaaPrcqty', 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: 'sclvlStaaPrcqty', fieldName: 'sclvlStaaPrcqty', 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: 'thlvlStaaPrcqty', fieldName: 'thlvlStaaPrcqty', 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: 'folvlStaaPrcqty', fieldName: 'folvlStaaPrcqty', 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: 'filvlStaaPrcqty', fieldName: 'filvlStaaPrcqty', 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: 'sxlvlStaaPrcqty', fieldName: 'sxlvlStaaPrcqty', 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: 'svlvlStaaPrcqty', fieldName: 'svlvlStaaPrcqty', header: { text: '501이상' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
// 오수처리시설 > 하수처리구역 외(m³/일) // 오수처리시설 > 하수처리구역 외(m³/일)
{ {
name: 'staaExcpWhol', name: 'staaOtsdWholPrcqty',
fieldName: 'staaExcpWhol', fieldName: 'staaOtsdWholPrcqty',
header: { text: '계' }, header: { text: '계' },
editable: false, editable: false,
footer: footerInt, footer: footerInt,
@@ -83,24 +83,24 @@ export const SewageTreatFactStatusInpColumn = {
styleName: 'rg-cell-total', styleName: 'rg-cell-total',
computed: { computed: {
fields: [ fields: [
'step1StaaExcpPrcsQnt', 'frlvlStaaOtsdPrcqty',
'step2StaaExcpPrcsQnt', 'sclvlStaaOtsdPrcqty',
'step3StaaExcpPrcsQnt', 'thlvlStaaOtsdPrcqty',
'step4StaaExcpPrcsQnt', 'folvlStaaOtsdPrcqty',
'step5StaaExcpPrcsQnt', 'filvlStaaOtsdPrcqty',
'step6StaaExcpPrcsQnt', 'sxlvlStaaOtsdPrcqty',
'step7StaaExcpPrcsQnt', 'svlvlStaaOtsdPrcqty',
], ],
type: 'sum' as const, type: 'sum' as const,
}, },
}, },
{ name: 'step1StaaExcpPrcsQnt', fieldName: 'step1StaaExcpPrcsQnt', header: { text: '2이하' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' }, { name: 'frlvlStaaOtsdPrcqty', fieldName: 'frlvlStaaOtsdPrcqty', 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: 'sclvlStaaOtsdPrcqty', fieldName: 'sclvlStaaOtsdPrcqty', 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: 'thlvlStaaOtsdPrcqty', fieldName: 'thlvlStaaOtsdPrcqty', 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: 'folvlStaaOtsdPrcqty', fieldName: 'folvlStaaOtsdPrcqty', 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: 'filvlStaaOtsdPrcqty', fieldName: 'filvlStaaOtsdPrcqty', 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: 'sxlvlStaaOtsdPrcqty', fieldName: 'sxlvlStaaOtsdPrcqty', 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: 'svlvlStaaOtsdPrcqty', fieldName: 'svlvlStaaOtsdPrcqty', header: { text: '501이상' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
// 비고 // 비고
{ name: 'rmrk', fieldName: 'rmrk', header: { text: '비고' } }, { name: 'rmrk', fieldName: 'rmrk', header: { text: '비고' } },
@@ -118,7 +118,7 @@ export const SewageTreatFactStatusInpColumn = {
'sggNm', 'sggNm',
], ],
}, },
'wholDrtwPrcsFcltCnt', 'wholSwgdplFcltCnt',
{ {
name: 'group_stty', name: 'group_stty',
header: { text: '오수처리시설' }, header: { text: '오수처리시설' },
@@ -127,28 +127,28 @@ export const SewageTreatFactStatusInpColumn = {
name: 'group_inner', name: 'group_inner',
header: { text: '하수처리구역 내(m³/일)' }, header: { text: '하수처리구역 내(m³/일)' },
items: [ items: [
'wholStaaCnt', 'wholStaaPrcqty',
'step1StaaPrcsQnt', 'frlvlStaaPrcqty',
'step2StaaPrcsQnt', 'sclvlStaaPrcqty',
'step3StaaPrcsQnt', 'thlvlStaaPrcqty',
'step4StaaPrcsQnt', 'folvlStaaPrcqty',
'step5StaaPrcsQnt', 'filvlStaaPrcqty',
'step6StaaPrcsQnt', 'sxlvlStaaPrcqty',
'step7StaaPrcsQnt' 'svlvlStaaPrcqty'
] ]
}, },
{ {
name: 'group_outer', name: 'group_outer',
header: { text: '하수처리구역 외(m³/일)' }, header: { text: '하수처리구역 외(m³/일)' },
items: [ items: [
'staaExcpWhol', 'staaOtsdWholPrcqty',
'step1StaaExcpPrcsQnt', 'frlvlStaaOtsdPrcqty',
'step2StaaExcpPrcsQnt', 'sclvlStaaOtsdPrcqty',
'step3StaaExcpPrcsQnt', 'thlvlStaaOtsdPrcqty',
'step4StaaExcpPrcsQnt', 'folvlStaaOtsdPrcqty',
'step5StaaExcpPrcsQnt', 'filvlStaaOtsdPrcqty',
'step6StaaExcpPrcsQnt', 'sxlvlStaaOtsdPrcqty',
'step7StaaExcpPrcsQnt' 'svlvlStaaOtsdPrcqty'
] ]
} }
] ]
@@ -17,8 +17,8 @@ export const ExcretaRelatedIndustryInpColumn = {
// 시설(차량) 확보현황(대수) // 시설(차량) 확보현황(대수)
{ {
name: 'fcltSecrPrstCnt', name: 'fcltSecrCnt',
fieldName: 'fcltSecrPrstCnt', fieldName: 'fcltSecrCnt',
header: { text: '계' }, header: { text: '계' },
editable: false, footer: editable: false, footer:
footerInt, footerInt,
@@ -26,13 +26,13 @@ export const ExcretaRelatedIndustryInpColumn = {
dataFormat: '#,##0', dataFormat: '#,##0',
styleName: 'rg-cell-total', styleName: 'rg-cell-total',
computed: { computed: {
fields: ['n3TonUdrCnt', 'n4TonUdrCnt', 'n8TonUdrCnt', 'etcCnt'], fields: ['frlvlTonUdrCnt', 'sclvlTonUdrCnt', 'thlvlTonUdrCnt', 'etcCnt'],
type: 'sum' as const, type: 'sum' as const,
}, },
}, },
{ name: 'n3TonUdrCnt', fieldName: 'n3TonUdrCnt', header: { text: '3톤이하' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' }, { name: 'frlvlTonUdrCnt', fieldName: 'frlvlTonUdrCnt', 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: 'sclvlTonUdrCnt', fieldName: 'sclvlTonUdrCnt', 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: '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' }, { name: 'etcCnt', fieldName: 'etcCnt', header: { text: '기타' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
// 수집·운반 실적(m³/년) // 수집·운반 실적(m³/년)
@@ -60,10 +60,10 @@ export const ExcretaRelatedIndustryInpColumn = {
name: 'group_vehicle_status', name: 'group_vehicle_status',
header: { text: '시설(차량) 확보현황(대수)' }, header: { text: '시설(차량) 확보현황(대수)' },
items: [ items: [
'fcltSecrPrstCnt', 'fcltSecrCnt',
'n3TonUdrCnt', 'frlvlTonUdrCnt',
'n4TonUdrCnt', 'sclvlTonUdrCnt',
'n8TonUdrCnt', 'thlvlTonUdrCnt',
'etcCnt' 'etcCnt'
] ]
}, },
@@ -14,8 +14,8 @@ export const PublicInstitutionExcretaIndustryInpColumn = {
// 직원총수 // 직원총수
{ {
name: 'empGrssCnt', name: 'empWholCnt',
fieldName: 'empGrssCnt', fieldName: 'empWholCnt',
header: { text: '직원총수' }, header: { text: '직원총수' },
editable: false, editable: false,
footer: footerInt, footer: footerInt,
@@ -23,7 +23,7 @@ export const PublicInstitutionExcretaIndustryInpColumn = {
dataFormat: '#,##0', dataFormat: '#,##0',
styleName: 'rg-cell-total', styleName: 'rg-cell-total',
computed: { computed: {
fields: ['engrkCnt', 'mchnCnt', 'prvtmCnt', 'chmengCnt', 'envCnt', 'enjbEtcCnt', 'etcCnt'], fields: ['engrkCnt', 'mchnCnt', 'prvtmCnt', 'chemCnt', 'envCnt', 'enjbEtcCnt', 'etcCnt'],
type: 'sum' as const, type: 'sum' as const,
}, },
}, },
@@ -42,14 +42,14 @@ export const PublicInstitutionExcretaIndustryInpColumn = {
dataFormat: '#,##0', dataFormat: '#,##0',
styleName: 'rg-cell-total', styleName: 'rg-cell-total',
computed: { computed: {
fields: ['engrkCnt', 'mchnCnt', 'prvtmCnt', 'chmengCnt', 'envCnt', 'enjbEtcCnt'], fields: ['engrkCnt', 'mchnCnt', 'prvtmCnt', 'chemCnt', 'envCnt', 'enjbEtcCnt'],
type: 'sum' as const, type: 'sum' as const,
}, },
}, },
{ name: 'engrkCnt', fieldName: 'engrkCnt', header: { text: '토목' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' }, { 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: '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: '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: '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' }, { 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: 'admdstCd', fieldName: 'admdstCd', header: { text: '행정구역코드' }, visible: false, },
{ name: 'admdstNm', fieldName: 'admdstNm', 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', name: '__isNewArticle',
fieldName: '__isNewArticle', fieldName: '__isNewArticle',
@@ -82,7 +82,7 @@ export const PublicInstitutionExcretaIndustryInpColumn = {
], ],
}, },
'ognzNm', 'ognzNm',
'empGrssCnt', 'empWholCnt',
'pbadmsNope', 'pbadmsNope',
{ {
name: 'group_technology', name: 'group_technology',
@@ -92,7 +92,7 @@ export const PublicInstitutionExcretaIndustryInpColumn = {
'engrkCnt', 'engrkCnt',
'mchnCnt', 'mchnCnt',
'prvtmCnt', 'prvtmCnt',
'chmengCnt', 'chemCnt',
'envCnt', 'envCnt',
'enjbEtcCnt' 'enjbEtcCnt'
] ]
@@ -101,7 +101,7 @@ export const PublicInstitutionExcretaIndustryInpColumn = {
'rmrk', 'rmrk',
'admdstCd', 'admdstCd',
'admdstNm', 'admdstNm',
'ognzSn', 'statsOgnzSn',
'__isNewArticle', '__isNewArticle',
], ],
@@ -14,8 +14,8 @@ export const PublicInstitutionSewerIndustryInpColumn = {
// 직원총수 // 직원총수
{ {
name: 'empGrssCnt', name: 'empWholCnt',
fieldName: 'empGrssCnt', fieldName: 'empWholCnt',
header: { text: '직원총수' }, header: { text: '직원총수' },
editable: false, editable: false,
footer: footerInt, footer: footerInt,
@@ -23,7 +23,7 @@ export const PublicInstitutionSewerIndustryInpColumn = {
dataFormat: '#,##0', dataFormat: '#,##0',
styleName: 'rg-cell-total', styleName: 'rg-cell-total',
computed: { computed: {
fields: ['engrkCnt', 'mchnCnt', 'prvtmCnt', 'chmengCnt', 'envCnt', 'enjbEtcCnt', 'etcCnt'], fields: ['engrkCnt', 'mchnCnt', 'prvtmCnt', 'chemCnt', 'envCnt', 'enjbEtcCnt', 'etcCnt'],
type: 'sum' as const, type: 'sum' as const,
}, },
}, },
@@ -42,14 +42,14 @@ export const PublicInstitutionSewerIndustryInpColumn = {
dataFormat: '#,##0', dataFormat: '#,##0',
styleName: 'rg-cell-total', styleName: 'rg-cell-total',
computed: { computed: {
fields: ['engrkCnt', 'mchnCnt', 'prvtmCnt', 'chmengCnt', 'envCnt', 'enjbEtcCnt'], fields: ['engrkCnt', 'mchnCnt', 'prvtmCnt', 'chemCnt', 'envCnt', 'enjbEtcCnt'],
type: 'sum' as const, type: 'sum' as const,
}, },
}, },
{ name: 'engrkCnt', fieldName: 'engrkCnt', header: { text: '토목' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' }, { 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: '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: '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: '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' }, { 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: 'admdstCd', fieldName: 'admdstCd', header: { text: '행정구역코드' }, visible: false, },
{ name: 'admdstNm', fieldName: 'admdstNm', 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', name: '__isNewArticle',
fieldName: '__isNewArticle', fieldName: '__isNewArticle',
@@ -82,7 +82,7 @@ export const PublicInstitutionSewerIndustryInpColumn = {
], ],
}, },
'ognzNm', 'ognzNm',
'empGrssCnt', 'empWholCnt',
'pbadmsNope', 'pbadmsNope',
{ {
name: 'group_technology', name: 'group_technology',
@@ -92,7 +92,7 @@ export const PublicInstitutionSewerIndustryInpColumn = {
'engrkCnt', 'engrkCnt',
'mchnCnt', 'mchnCnt',
'prvtmCnt', 'prvtmCnt',
'chmengCnt', 'chemCnt',
'envCnt', 'envCnt',
'enjbEtcCnt' 'enjbEtcCnt'
] ]
@@ -101,7 +101,7 @@ export const PublicInstitutionSewerIndustryInpColumn = {
'rmrk', 'rmrk',
'admdstCd', 'admdstCd',
'admdstNm', 'admdstNm',
'ognzSn', 'statsOgnzSn',
'__isNewArticle', '__isNewArticle',
], ],
@@ -4,9 +4,9 @@ import type { ColumnConfig } from "@/components/type/DataGrid.type";
import { footerDecimal1 } from "@/components/util/grid/footerSummary"; import { footerDecimal1 } from "@/components/util/grid/footerSummary";
export const DIGESTOR_OPERATING_STATUS_YN_VALUES = ["Y", "N"] as const; 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( export function isDigestorOperatingRowDisabled(
row: Record<string, string | number>, row: Record<string, string | number>,
grid?: { getValue?: (itemIndex: number, fieldName: string) => unknown }, grid?: { getValue?: (itemIndex: number, fieldName: string) => unknown },
@@ -59,23 +59,23 @@ export const DigestorOperatingStatusInpColumn = {
// 소화조 운영현황 // 소화조 운영현황
dropdownColumn( dropdownColumn(
{ {
name: 'digstnEnYn', name: 'gasPrcsEnYn',
fieldName: 'digstnEnYn', fieldName: 'gasPrcsEnYn',
header: { text: '소화조 유/무(Y/N)선택' }, header: { text: '소화조 유/무(Y/N)선택' },
}, },
DIGESTOR_OPERATING_STATUS_YN_VALUES, 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: '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: 'prcsGasInputQnt', fieldName: 'prcsGasInputQnt', 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: 'prcsGasInputSldDnst', fieldName: 'prcsGasInputSldDnst', 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: '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' }, { name: 'ocrnGasQnt', fieldName: 'ocrnGasQnt', header: { text: '발생가스량(m³/일)' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' },
// 소화조 운영현황 > 소화가스 이용현황(m³/일) // 소화조 운영현황 > 소화가스 이용현황(m³/일)
{ {
name: 'digstnGasUtztnWholPrst', name: 'prcsGasUtztnWholQnt',
fieldName: 'digstnGasUtztnWholPrst', fieldName: 'prcsGasUtztnWholQnt',
header: { text: '계' }, header: { text: '계' },
footer: footerDecimal1, footer: footerDecimal1,
editable: false, editable: false,
@@ -84,18 +84,18 @@ export const DigestorOperatingStatusInpColumn = {
styleName: 'rg-cell-total', styleName: 'rg-cell-total',
computed: { computed: {
fields: [ fields: [
'digstnGasUtztnNtslQnt', 'prcsGasUtztnNtslQnt',
'digstnGasUtztnEtgtQnt', 'prcsGasUtztnEtgtQnt',
'digstnGasUtztnItslfQnt', 'prcsGasUtztnItslfQnt',
'digstnGasUtztnEtcQnt', 'prcsGasUtztnEtcQnt',
], ],
type: 'sum' as const, type: 'sum' as const,
}, },
}, },
{ name: 'digstnGasUtztnNtslQnt', fieldName: 'digstnGasUtztnNtslQnt', header: { text: '판매' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' }, { name: 'prcsGasUtztnNtslQnt', fieldName: 'prcsGasUtztnNtslQnt', 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: 'prcsGasUtztnEtgtQnt', fieldName: 'prcsGasUtztnEtgtQnt', 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: 'prcsGasUtztnItslfQnt', fieldName: 'prcsGasUtztnItslfQnt', 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: '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' }, { 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', name: 'group_digestor_operating',
header: { text: '소화조 운영현황' }, header: { text: '소화조 운영현황' },
items: [ items: [
'digstnEnYn', 'gasPrcsEnYn',
'digstnCpct', 'gasPrcsCpct',
'actlDrvnCpct', 'actlDrvnCpct',
'digstnGasInputQnt', 'prcsGasInputQnt',
'digstnGasInputSldDnst', 'prcsGasInputSldDnst',
'digstnTnkOprtngDayCnt', 'prcsRepoOprtngDayCnt',
'ocrnGasQnt', 'ocrnGasQnt',
{ {
name: 'group_gas_usage', name: 'group_gas_usage',
header: { text: '소화가스 이용현황(m³/일)' }, header: { text: '소화가스 이용현황(m³/일)' },
items: [ items: [
'digstnGasUtztnWholPrst', 'prcsGasUtztnWholQnt',
'digstnGasUtztnNtslQnt', 'prcsGasUtztnNtslQnt',
'digstnGasUtztnEtgtQnt', 'prcsGasUtztnEtgtQnt',
'digstnGasUtztnItslfQnt', 'prcsGasUtztnItslfQnt',
'digstnGasUtztnEtcQnt' 'prcsGasUtztnEtcQnt'
] ]
}, },
'surplsGasQnt' 'surplsGasQnt'
@@ -14,8 +14,8 @@ export const ExcretaSlurgeProcessingStatusInpColumn = {
// 발생량 // 발생량
{ {
name: 'gnam', name: 'sludgeGnam',
fieldName: 'gnam', fieldName: 'sludgeGnam',
header: { text: '발생량 (A)=(B)+(C)' }, header: { text: '발생량 (A)=(B)+(C)' },
editable: false, editable: false,
footer: footerDecimal1, footer: footerDecimal1,
@@ -30,7 +30,7 @@ export const ExcretaSlurgeProcessingStatusInpColumn = {
'oceanInputQnt', 'oceanInputQnt',
'fuelQnt', 'fuelQnt',
'etcQnt', 'etcQnt',
'nondspsQnt' 'unprcsQnt'
], ],
type: 'sum' as const, 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' }, { name: 'etcQnt', fieldName: 'etcQnt', header: { text: '기타' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' },
// 미처분량(이월량)(C) // 미처분량(이월량)(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: '타시설연계여부' } }, { name: 'swtrmtFcltNm', fieldName: 'swtrmtFcltNm', header: { text: '타시설연계여부' } },
@@ -91,7 +91,7 @@ export const ExcretaSlurgeProcessingStatusInpColumn = {
], ],
}, },
'fcltNm', 'fcltNm',
'gnam', 'sludgeGnam',
{ {
name: 'group_process_amount', name: 'group_process_amount',
header: { text: '처 분 량(톤/년)' }, header: { text: '처 분 량(톤/년)' },
@@ -105,7 +105,7 @@ export const ExcretaSlurgeProcessingStatusInpColumn = {
'etcQnt' 'etcQnt'
] ]
}, },
'nondspsQnt', 'unprcsQnt',
'swtrmtFcltNm', 'swtrmtFcltNm',
'rmrk', 'rmrk',
'admdstCd', 'admdstCd',
@@ -14,10 +14,10 @@ export const SewageSlurgeProcessingFacStatusInpColumn = {
// 처리시설 운영현황 // 처리시설 운영현황
{ name: 'prcsMthExpln', fieldName: 'prcsMthExpln', header: { text: '처리방식' } }, { 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: '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: 'dyrgOprtngHr', fieldName: 'dyrgOprtngHr', 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: 'fcltAnlOprtngDayCnt', fieldName: 'fcltAnlOprtngDayCnt', header: { text: '연중 가동일(1~330)' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ {
name: 'oprtngRt', name: 'oprtngRt',
fieldName: 'oprtngRt', fieldName: 'oprtngRt',
@@ -29,8 +29,8 @@ export const SewageSlurgeProcessingFacStatusInpColumn = {
dataFormat: '#,##0.0', dataFormat: '#,##0.0',
computed: { computed: {
numeratorField: 'anlPrcsQnt', numeratorField: 'anlPrcsQnt',
denominatorField: 'fcltCpct', denominatorField: 'sludgeFcltCpct',
multiplierField: 'anlOprtngDayCnt', multiplierField: 'fcltAnlOprtngDayCnt',
type: 'quotientTimesMultiplierPercent' as const, type: 'quotientTimesMultiplierPercent' as const,
}, },
}, },
@@ -67,10 +67,10 @@ export const SewageSlurgeProcessingFacStatusInpColumn = {
header: { text: '처리시설 운영현황' }, header: { text: '처리시설 운영현황' },
items: [ items: [
'prcsMthExpln', 'prcsMthExpln',
'fcltCpct', 'sludgeFcltCpct',
'anlPrcsQnt', 'anlPrcsQnt',
'dayAvgOprtngHr', 'dyrgOprtngHr',
'anlOprtngDayCnt', 'fcltAnlOprtngDayCnt',
'oprtngRt' 'oprtngRt'
] ]
}, },
@@ -14,8 +14,8 @@ export const SlurgeProcessingFacStatusInpColumn = {
// 찌꺼기발생량(톤/년, 탈수기준) // 찌꺼기발생량(톤/년, 탈수기준)
{ {
name: 'gnamWhol', name: 'wholGnam',
fieldName: 'gnamWhol', fieldName: 'wholGnam',
header: { text: '합계' }, header: { text: '합계' },
editable: false, editable: false,
footer: footerDecimal1, 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: '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', name: 'wholSludgePrcsQnt',
fieldName: 'wholSrpPrcsQnt', fieldName: 'wholSludgePrcsQnt',
header: { text: '찌꺼기처리량합계(톤/년)' }, header: { text: '찌꺼기처리량합계(톤/년)' },
editable: false, editable: false,
footer: footerDecimal1, footer: footerDecimal1,
@@ -51,19 +51,19 @@ export const SlurgeProcessingFacStatusInpColumn = {
styleName: 'rg-cell-total', styleName: 'rg-cell-total',
computed: { computed: {
fields: [ fields: [
'itslfTs1RclmQnt', 'itslfFrlvlRclmQnt',
'itslfTs1IncnrQnt', 'itslfFrlvlIncnrQnt',
'itslfTs1AltdQnt', 'itslfFrlvlSldQnt',
'itslfTs1DryQnt', 'itslfFrlvlDryQnt',
'itslfTs1FuelQnt', 'itslfFrlvlCrbnQnt',
'itslfTs1CmpstgQnt', 'itslfFrlvlCmpstgQnt',
'otsdCnsgnRclmQnt', 'otsdCnsgnRclmQnt',
'otsdCnsgnIncnrQnt', 'otsdCnsgnIncnrQnt',
'otsdCnsgnFuelPwplQnt', 'otsdCnsgnPwplQnt',
'otsdCnsgnPrdctRmtrlQnt', 'otsdCnsgnPrdctRmtrlQnt',
'otsdCnsgnFmlyrQnt', 'otsdCnsgnCwthQnt',
'otsdCnsgnCmpstgQnt', 'otsdCnsgnCmpstgQnt',
'cparTs1Whol', 'cparFrlvlWholQnt',
], ],
type: 'sum' as const, type: 'sum' as const,
} }
@@ -71,8 +71,8 @@ export const SlurgeProcessingFacStatusInpColumn = {
// 자체 찌꺼기 처리량 > 자체찌꺼기처리량소계 // 자체 찌꺼기 처리량 > 자체찌꺼기처리량소계
{ {
name: 'itslfTs1Whol', name: 'itslfFrlvlWholQnt',
fieldName: 'itslfTs1Whol', fieldName: 'itslfFrlvlWholQnt',
header: { text: '자체찌꺼기처리량소계' }, header: { text: '자체찌꺼기처리량소계' },
editable: false, editable: false,
footer: footerDecimal1, footer: footerDecimal1,
@@ -81,27 +81,27 @@ export const SlurgeProcessingFacStatusInpColumn = {
styleName: 'rg-cell-total', styleName: 'rg-cell-total',
computed: { computed: {
fields: [ fields: [
'itslfTs1RclmQnt', 'itslfFrlvlRclmQnt',
'itslfTs1IncnrQnt', 'itslfFrlvlIncnrQnt',
'itslfTs1AltdQnt', 'itslfFrlvlSldQnt',
'itslfTs1DryQnt', 'itslfFrlvlDryQnt',
'itslfTs1FuelQnt', 'itslfFrlvlCrbnQnt',
'itslfTs1CmpstgQnt', 'itslfFrlvlCmpstgQnt',
], ],
type: 'sum' as const, 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차) // 자체 찌꺼기 처리량 > 소각(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차) - 쿼리에 없음 (임의 생성) // 자체 찌꺼기 처리량 > 소각 후 처리(2차) - 쿼리에 없음 (임의 생성)
{ {
name: 'incnrPrcsWhol', name: 'incnrPrcsWholQnt',
fieldName: 'incnrPrcsWhol', fieldName: 'incnrPrcsWholQnt',
header: { text: '소계' }, header: { text: '소계' },
editable: false, editable: false,
footer: footerDecimal1, footer: footerDecimal1,
@@ -112,23 +112,23 @@ export const SlurgeProcessingFacStatusInpColumn = {
fields: [ fields: [
'incnrPrcsLfvlm', 'incnrPrcsLfvlm',
'incnrPrcsPrdctRmtrlQnt', 'incnrPrcsPrdctRmtrlQnt',
'incnrPrcsFmlyrQnt', 'incnrPrcsCwthQnt',
], ],
type: 'sum' as const, type: 'sum' as const,
} }
}, },
{ name: 'incnrPrcsLfvlm', fieldName: 'incnrPrcsLfvlm', header: { text: '매립' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' }, { 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: '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: '시설(업체명)' } }, { name: 'incnrPrcsFcltNm', fieldName: 'incnrPrcsFcltNm', header: { text: '시설(업체명)' } },
// 자체 찌꺼기 처리량 > 고화(1차) - 쿼리에 없음 (임의 생성) // 자체 찌꺼기 처리량 > 고화(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차) - 쿼리에 없음 (임의 생성) // 자체 찌꺼기 처리량 > 고화 후 처리(2차) - 쿼리에 없음 (임의 생성)
{ {
name: 'stbznPrcsWhol', name: 'sldPrcsWholQnt',
fieldName: 'stbznPrcsWhol', fieldName: 'sldPrcsWholQnt',
header: { text: '소계' }, header: { text: '소계' },
editable: false, editable: false,
footer: footerDecimal1, footer: footerDecimal1,
@@ -137,23 +137,23 @@ export const SlurgeProcessingFacStatusInpColumn = {
styleName: 'rg-cell-total', styleName: 'rg-cell-total',
computed: { computed: {
fields: [ fields: [
'stbznPrcsLfvlm', 'sldPrcsLfvlm',
'stbznPrcsFmlyrQnt', 'sldPrcsCwthQnt',
], ],
type: 'sum' as const, type: 'sum' as const,
} }
}, },
{ name: 'stbznPrcsLfvlm', fieldName: 'stbznPrcsLfvlm', header: { text: '매립' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' }, { name: 'sldPrcsLfvlm', fieldName: 'sldPrcsLfvlm', 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: 'sldPrcsCwthQnt', fieldName: 'sldPrcsCwthQnt', header: { text: '복토재' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' },
{ name: 'stbznPrcsFcltNm', fieldName: 'stbznPrcsFcltNm', header: { text: '시설(업체명)' } }, { name: 'sldPrcsFcltNm', fieldName: 'sldPrcsFcltNm', header: { text: '시설(업체명)' } },
// 자체 찌꺼기 처리량 > 건조(1차) // 자체 찌꺼기 처리량 > 건조(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차) - 쿼리에 없음 // 자체 찌꺼기 처리량 > 건조 후 처리(2차) - 쿼리에 없음
{ {
name: 'dryPrcsWhol', name: 'dryPrcsWholQnt',
fieldName: 'dryPrcsWhol', fieldName: 'dryPrcsWholQnt',
header: { text: '소계' }, header: { text: '소계' },
editable: false, editable: false,
footer: footerDecimal1, footer: footerDecimal1,
@@ -166,7 +166,7 @@ export const SlurgeProcessingFacStatusInpColumn = {
'dryPrcsIncnrQnt', 'dryPrcsIncnrQnt',
'dryPrcsFuelQnt', 'dryPrcsFuelQnt',
'dryPrcsPrdctRmtrlQnt', 'dryPrcsPrdctRmtrlQnt',
'dryPrcsFmlyrQnt', 'dryPrcsCwthQnt',
'dryPrcsCmpstgQnt', 'dryPrcsCmpstgQnt',
], ],
type: 'sum' as const, 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: '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: '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: '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: 'dryPrcsCmpstgQnt', fieldName: 'dryPrcsCmpstgQnt', header: { text: '퇴비화' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' },
{ name: 'dryPrcsFcltNm', fieldName: 'dryPrcsFcltNm', header: { text: '시설(업체명)' }, editable: true }, { name: 'dryPrcsFcltNm', fieldName: 'dryPrcsFcltNm', header: { text: '시설(업체명)' }, editable: true },
// 자체 찌꺼기 처리량 > 탄화(1차) - 쿼리에 없음 (임의 생성) // 자체 찌꺼기 처리량 > 탄화(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차) - 쿼리에 없음 (임의 생성) // 자체 찌꺼기 처리량 > 탄화 후 처리(2차) - 쿼리에 없음 (임의 생성)
{ {
name: 'fuelPrcsWhol', name: 'crbnPrcsWholQnt',
fieldName: 'fuelPrcsWhol', fieldName: 'crbnPrcsWholQnt',
header: { text: '소계' }, header: { text: '소계' },
editable: false, editable: false,
footer: footerDecimal1, footer: footerDecimal1,
@@ -194,24 +194,24 @@ export const SlurgeProcessingFacStatusInpColumn = {
dataFormat: '#,##0.0', dataFormat: '#,##0.0',
styleName: 'rg-cell-total', styleName: 'rg-cell-total',
computed: { computed: {
fields: ['fuelPrcsIncnrQnt', 'fuelPrcsFuelQnt'], fields: ['crbnPrcsIncnrQnt', 'crbnPrcsFuelQnt'],
type: 'sum' as const, type: 'sum' as const,
} }
}, },
{ name: 'fuelPrcsIncnrQnt', fieldName: 'fuelPrcsIncnrQnt', header: { text: '소각' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' }, { name: 'crbnPrcsIncnrQnt', fieldName: 'crbnPrcsIncnrQnt', 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: 'crbnPrcsFuelQnt', fieldName: 'crbnPrcsFuelQnt', header: { text: '연료' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' },
{ name: 'fuelPrcsFcltNm', fieldName: 'fuelPrcsFcltNm', header: { text: '시설(업체명)' } }, { 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: 'cmpsPrcsFcltBzentyNm', fieldName: 'cmpsPrcsFcltBzentyNm', header: { text: '시설(업체명)' } },
// 외부위탁 처리량(톤/년) // 외부위탁 처리량(톤/년)
{ {
name: 'otsdCnsgnWhol', name: 'otsdCnsgnWholQnt',
fieldName: 'otsdCnsgnWhol', fieldName: 'otsdCnsgnWholQnt',
header: { text: '소계' }, header: { text: '소계' },
editable: false, editable: false,
footer: footerDecimal1, footer: footerDecimal1,
@@ -222,9 +222,9 @@ export const SlurgeProcessingFacStatusInpColumn = {
fields: [ fields: [
'otsdCnsgnRclmQnt', 'otsdCnsgnRclmQnt',
'otsdCnsgnIncnrQnt', 'otsdCnsgnIncnrQnt',
'otsdCnsgnFuelPwplQnt', 'otsdCnsgnPwplQnt',
'otsdCnsgnPrdctRmtrlQnt', 'otsdCnsgnPrdctRmtrlQnt',
'otsdCnsgnFmlyrQnt', 'otsdCnsgnCwthQnt',
'otsdCnsgnCmpstgQnt', 'otsdCnsgnCmpstgQnt',
], ],
type: 'sum' as const, 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: '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: '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: '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: 'otsdCnsgnCmpstgQnt', fieldName: 'otsdCnsgnCmpstgQnt', header: { text: '퇴비화' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' },
{ name: 'otsdCnsgnFcltNm', fieldName: 'otsdCnsgnFcltNm', header: { text: '시설(업체명)' } }, { 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: '비고' } }, { name: 'rmrk', fieldName: 'rmrk', header: { text: '비고' } },
@@ -265,71 +265,71 @@ export const SlurgeProcessingFacStatusInpColumn = {
name: 'group_occur_amount', name: 'group_occur_amount',
header: { text: '찌꺼기발생량(톤/년, 탈수기준)' }, header: { text: '찌꺼기발생량(톤/년, 탈수기준)' },
items: [ items: [
'gnamWhol', 'wholGnam',
'itslfQnt', 'itslfQnt',
'otsdInflwQnt' 'otsdInflwQnt'
] ]
}, },
'transfTmplntNm', 'transfTmplntNm',
'transfPrcsQnt', 'transfPrcsQnt',
'srpFncRt', 'sludgeFncRt',
'wholSrpPrcsQnt', 'wholSludgePrcsQnt',
{ {
name: 'group_self_treatment', name: 'group_self_treatment',
header: { text: '자체 찌꺼기 처리량(톤/년)' }, header: { text: '자체 찌꺼기 처리량(톤/년)' },
items: [ items: [
'itslfTs1Whol', 'itslfFrlvlWholQnt',
'itslfTs1RclmQnt', 'itslfFrlvlRclmQnt',
'itslfTs1IncnrQnt', 'itslfFrlvlIncnrQnt',
{ {
name: 'group_incinerate_2nd', name: 'group_incinerate_2nd',
header: { text: '소각 후 처리(2차)' }, header: { text: '소각 후 처리(2차)' },
items: [ items: [
'incnrPrcsWhol', 'incnrPrcsWholQnt',
'incnrPrcsLfvlm', 'incnrPrcsLfvlm',
'incnrPrcsPrdctRmtrlQnt', 'incnrPrcsPrdctRmtrlQnt',
'incnrPrcsFmlyrQnt', 'incnrPrcsCwthQnt',
'incnrPrcsFcltNm' 'incnrPrcsFcltNm'
] ]
}, },
'itslfTs1AltdQnt', 'itslfFrlvlSldQnt',
{ {
name: 'group_solidify_2nd', name: 'group_solidify_2nd',
header: { text: '고화 후 처리(2차)' }, header: { text: '고화 후 처리(2차)' },
items: [ items: [
'stbznPrcsWhol', 'sldPrcsWholQnt',
'stbznPrcsLfvlm', 'sldPrcsLfvlm',
'stbznPrcsFmlyrQnt', 'sldPrcsCwthQnt',
'stbznPrcsFcltNm' 'sldPrcsFcltNm'
] ]
}, },
'itslfTs1DryQnt', 'itslfFrlvlDryQnt',
{ {
name: 'group_drying_2nd', name: 'group_drying_2nd',
header: { text: '건조 후 처리(2차)' }, header: { text: '건조 후 처리(2차)' },
items: [ items: [
'dryPrcsWhol', 'dryPrcsWholQnt',
'dryPrcsLfvlm', 'dryPrcsLfvlm',
'dryPrcsIncnrQnt', 'dryPrcsIncnrQnt',
'dryPrcsFuelQnt', 'dryPrcsFuelQnt',
'dryPrcsPrdctRmtrlQnt', 'dryPrcsPrdctRmtrlQnt',
'dryPrcsFmlyrQnt', 'dryPrcsCwthQnt',
'dryPrcsCmpstgQnt', 'dryPrcsCmpstgQnt',
'dryPrcsFcltNm' 'dryPrcsFcltNm'
] ]
}, },
'itslfTs1FuelQnt', 'itslfFrlvlCrbnQnt',
{ {
name: 'group_carbonize_2nd', name: 'group_carbonize_2nd',
header: { text: '탄화 후 처리(2차)' }, header: { text: '탄화 후 처리(2차)' },
items: [ items: [
'fuelPrcsWhol', 'crbnPrcsWholQnt',
'fuelPrcsIncnrQnt', 'crbnPrcsIncnrQnt',
'fuelPrcsFuelQnt', 'crbnPrcsFuelQnt',
'fuelPrcsFcltNm' 'crbnPrcsFcltNm'
] ]
}, },
'itslfTs1CmpstgQnt', 'itslfFrlvlCmpstgQnt',
'cmpsPrcsFcltBzentyNm' 'cmpsPrcsFcltBzentyNm'
] ]
}, },
@@ -337,17 +337,17 @@ export const SlurgeProcessingFacStatusInpColumn = {
name: 'group_external_treatment', name: 'group_external_treatment',
header: { text: '외부위탁 처리량(톤/년)' }, header: { text: '외부위탁 처리량(톤/년)' },
items: [ items: [
'otsdCnsgnWhol', 'otsdCnsgnWholQnt',
'otsdCnsgnRclmQnt', 'otsdCnsgnRclmQnt',
'otsdCnsgnIncnrQnt', 'otsdCnsgnIncnrQnt',
'otsdCnsgnFuelPwplQnt', 'otsdCnsgnPwplQnt',
'otsdCnsgnPrdctRmtrlQnt', 'otsdCnsgnPrdctRmtrlQnt',
'otsdCnsgnFmlyrQnt', 'otsdCnsgnCwthQnt',
'otsdCnsgnCmpstgQnt', 'otsdCnsgnCmpstgQnt',
'otsdCnsgnFcltNm' 'otsdCnsgnFcltNm'
] ]
}, },
'cparTs1Whol', 'cparFrlvlWholQnt',
'rmrk', 'rmrk',
'admdstCd', 'admdstCd',
'admdstNm', 'admdstNm',
@@ -26,10 +26,10 @@ export const FactInstallStatusInpColumn = {
styleName: 'rg-cell-total', styleName: 'rg-cell-total',
valueType: ValueType.NUMBER, valueType: ValueType.NUMBER,
dataFormat: '#,##0.000', 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: 'cbsysTrtznArea', fieldName: 'cbsysTrtznArea', 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: 'sprsysTrtznArea', fieldName: 'sprsysTrtznArea', header: { text: '분류식' }, footer: footerDecimal3, valueType: ValueType.NUMBER, dataFormat: '#,##0.000' },
// 분류식화율 // 분류식화율
{ {
@@ -42,38 +42,38 @@ export const FactInstallStatusInpColumn = {
valueType: ValueType.NUMBER, valueType: ValueType.NUMBER,
dataFormat: '#,##0.0', dataFormat: '#,##0.0',
computed: { computed: {
numeratorFields: ['sprsysPrcsZoneArea'], numeratorFields: ['sprsysTrtznArea'],
denominatorFields: ['cbsysPrcsZoneArea', 'sprsysPrcsZoneArea'], denominatorFields: ['cbsysTrtznArea', 'sprsysTrtznArea'],
type: 'pblswrgPopltnSuprtRate' as const, type: 'pblswrgPopltnSuprtRate' as const,
}, },
}, },
// 배수설비(개소) // 배수설비(개소)
{ {
name: 'mltvEqpmCnt', name: 'wholDrgCnt',
fieldName: 'mltvEqpmCnt', fieldName: 'wholDrgCnt',
header: { text: '합계' }, header: { text: '합계' },
footer: footerInt, footer: footerInt,
editable: false, editable: false,
styleName: 'rg-cell-total', styleName: 'rg-cell-total',
valueType: ValueType.NUMBER, valueType: ValueType.NUMBER,
dataFormat: '#,##0', 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', name: 'sprsysDrgCnt',
fieldName: 'sprsysMltvEqpmCnt', fieldName: 'sprsysDrgCnt',
header: { text: '소계' }, header: { text: '소계' },
footer: footerInt, footer: footerInt,
editable: false, editable: false,
styleName: 'rg-cell-total', styleName: 'rg-cell-total',
valueType: ValueType.NUMBER, valueType: ValueType.NUMBER,
dataFormat: '#,##0', 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: 'sprsysDrgLnkgCnt', fieldName: 'sprsysDrgLnkgCnt', header: { text: '연결' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'sprsysMltvYetLnkgCnt', fieldName: 'sprsysMltvYetLnkgCnt', 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', styleName: 'rg-cell-total',
valueType: ValueType.NUMBER, valueType: ValueType.NUMBER,
dataFormat: '#,##0.00', 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) // 하수관로 > 차집/오수간선(m)
@@ -112,21 +112,21 @@ export const FactInstallStatusInpColumn = {
// 하수관로 > 지선(m) // 하수관로 > 지선(m)
{ {
name: 'wholBrchlnPrlg', name: 'wholPplPrlg',
fieldName: 'wholBrchlnPrlg', fieldName: 'wholPplPrlg',
header: { text: '합계' }, header: { text: '합계' },
footer: footerDecimal2, footer: footerDecimal2,
editable: false, editable: false,
styleName: 'rg-cell-total', styleName: 'rg-cell-total',
valueType: ValueType.NUMBER, valueType: ValueType.NUMBER,
dataFormat: '#,##0.00', 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) > 분류식 // 하수관로 > 지선(m) > 분류식
{ name: 'exlnBrchlnPrlg', fieldName: 'exlnBrchlnPrlg', 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: 'drtwBrchlnPrlg', fieldName: 'drtwBrchlnPrlg', 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: '비고' } }, { name: 'rmrk', fieldName: 'rmrk', header: { text: '비고' } },
@@ -153,7 +153,7 @@ export const FactInstallStatusInpColumn = {
name: 'procZone', name: 'procZone',
hideChildHeaders: false, hideChildHeaders: false,
header: { text: '처리구역면적(km²)' }, header: { text: '처리구역면적(km²)' },
items: ['prcsZoneArea', 'cbsysPrcsZoneArea', 'sprsysPrcsZoneArea'], items: ['prcsZoneArea', 'cbsysTrtznArea', 'sprsysTrtznArea'],
}, },
'sprsysVartnRt', 'sprsysVartnRt',
{ {
@@ -161,13 +161,13 @@ export const FactInstallStatusInpColumn = {
hideChildHeaders: false, hideChildHeaders: false,
header: { text: '배수설비(개소)' }, header: { text: '배수설비(개소)' },
items: [ items: [
'mltvEqpmCnt', 'wholDrgCnt',
'cbsysMltvEqpmCnt', 'cbsysDrgCnt',
{ {
name: 'sprtDrainEquip', name: 'sprtDrainEquip',
hideChildHeaders: false, hideChildHeaders: false,
header: { text: '분류식' }, header: { text: '분류식' },
items: ['sprsysMltvEqpmCnt', 'sprsysMltvLnkgCnt', 'sprsysMltvYetLnkgCnt'], items: ['sprsysDrgCnt', 'sprsysDrgLnkgCnt', 'sprsysDrgNoinsLnkgCnt'],
}, },
], ],
}, },
@@ -207,13 +207,13 @@ export const FactInstallStatusInpColumn = {
hideChildHeaders: false, hideChildHeaders: false,
header: { text: '지선(m)' }, header: { text: '지선(m)' },
items: [ items: [
'wholBrchlnPrlg', 'wholPplPrlg',
'cbsysBrchlnPrlg', 'cbsysPplPrlg',
{ {
name: 'sprtBranchLine', name: 'sprtBranchLine',
hideChildHeaders: false, hideChildHeaders: false,
header: { text: '분류식' }, header: { text: '분류식' },
items: ['exlnBrchlnPrlg', 'drtwBrchlnPrlg'], items: ['exlnPplPrlg', 'drtwPplPrlg'],
}, },
], ],
}, },
@@ -37,59 +37,59 @@ export const PipeDiameterStatusInpColumn = {
styleName: "rg-cell-readonly", styleName: "rg-cell-readonly",
}, },
{ {
name: "pdmtByTsmWhol", name: "pdmtSeWholPrlg",
fieldName: "pdmtByTsmWhol", fieldName: "pdmtSeWholPrlg",
header: { text: "총계(m)" }, header: { text: "총계(m)" },
footer: footerDecimal2, footer: footerDecimal2,
editable: false, editable: false,
styleName: 'rg-cell-total', styleName: 'rg-cell-total',
valueType: ValueType.NUMBER, valueType: ValueType.NUMBER,
dataFormat: "#,##0.00", 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", name: "frlvlPdmtPrlg",
fieldName: "step1PdmtPrlg", fieldName: "frlvlPdmtPrlg",
header: { text: "200mm 미만" }, header: { text: "200mm 미만" },
footer: footerDecimal2, footer: footerDecimal2,
valueType: ValueType.NUMBER, valueType: ValueType.NUMBER,
dataFormat: "#,##0.00", dataFormat: "#,##0.00",
}, },
{ {
name: "step2PdmtPrlg", name: "sclvlPdmtPrlg",
fieldName: "step2PdmtPrlg", fieldName: "sclvlPdmtPrlg",
header: { text: "200mm이상~300mm미만" }, header: { text: "200mm이상~300mm미만" },
footer: footerDecimal2, footer: footerDecimal2,
valueType: ValueType.NUMBER, valueType: ValueType.NUMBER,
dataFormat: "#,##0.00", dataFormat: "#,##0.00",
}, },
{ {
name: "step3PdmtPrlg", name: "thlvlPdmtPrlg",
fieldName: "step3PdmtPrlg", fieldName: "thlvlPdmtPrlg",
header: { text: "300mm이상~500mm미만" }, header: { text: "300mm이상~500mm미만" },
footer: footerDecimal2, footer: footerDecimal2,
valueType: ValueType.NUMBER, valueType: ValueType.NUMBER,
dataFormat: "#,##0.00", dataFormat: "#,##0.00",
}, },
{ {
name: "step4PdmtPrlg", name: "folvlPdmtPrlg",
fieldName: "step4PdmtPrlg", fieldName: "folvlPdmtPrlg",
header: { text: "500mm이상~800mm미만" }, header: { text: "500mm이상~800mm미만" },
footer: footerDecimal2, footer: footerDecimal2,
valueType: ValueType.NUMBER, valueType: ValueType.NUMBER,
dataFormat: "#,##0.00", dataFormat: "#,##0.00",
}, },
{ {
name: "step5PdmtPrlg", name: "filvlPdmtPrlg",
fieldName: "step5PdmtPrlg", fieldName: "filvlPdmtPrlg",
header: { text: "800mm 이상" }, header: { text: "800mm 이상" },
footer: footerDecimal2, footer: footerDecimal2,
valueType: ValueType.NUMBER, valueType: ValueType.NUMBER,
dataFormat: "#,##0.00", dataFormat: "#,##0.00",
}, },
{ {
name: "sqrePdmtPrlg", name: "shpPdmtPrlg",
fieldName: "sqrePdmtPrlg", fieldName: "shpPdmtPrlg",
header: { text: "사각형(m)" }, header: { text: "사각형(m)" },
footer: footerDecimal2, footer: footerDecimal2,
valueType: ValueType.NUMBER, valueType: ValueType.NUMBER,
@@ -130,20 +130,20 @@ export const PipeDiameterStatusInpColumn = {
}, },
"pipeSeNm", "pipeSeNm",
"admdstNm", "admdstNm",
"pdmtByTsmWhol", "pdmtSeWholPrlg",
{ {
name: "circular", name: "circular",
hideChildHeaders: false, hideChildHeaders: false,
header: { text: "원형(m)" }, header: { text: "원형(m)" },
items: [ items: [
"step1PdmtPrlg", "frlvlPdmtPrlg",
"step2PdmtPrlg", "sclvlPdmtPrlg",
"step3PdmtPrlg", "thlvlPdmtPrlg",
"step4PdmtPrlg", "folvlPdmtPrlg",
"step5PdmtPrlg", "filvlPdmtPrlg",
], ],
}, },
"sqrePdmtPrlg", "shpPdmtPrlg",
"etcPdmtPrlg", "etcPdmtPrlg",
"rmrk", "rmrk",
"admdstCd", "admdstCd",
@@ -37,15 +37,15 @@ export const RegionalFactStatusInpColumn = {
groups: [ groups: [
{ {
baseField: 'cbsysPplMtncPlanPrlg', baseField: 'cbsysPplMtncPlanPrlg',
sumFields: ['cbsysSqrePrlg', 'cbsysCiclPrlg', 'cbsysOpnPrlg', 'cbsysGttrPrlg'], sumFields: ['cbsysShpPrlg', 'cbsysElpsdPrlg', 'cbsysOpnPrlg', 'cbsysLaditPrlg'],
}, },
{ {
baseField: 'drtwPplMtncPlanPrlg', baseField: 'drtwPplMtncPlanPrlg',
sumFields: ['drtwPplSqrePrlg', 'drtwPplCiclPrlg'], sumFields: ['drtwPplShpPrlg', 'drtwPplElpsdPrlg'],
}, },
{ {
baseField: 'exlnPplMtncPlanPrlg', baseField: 'exlnPplMtncPlanPrlg',
sumFields: ['exlnPplSqrePrlg', 'exlnPplCiclPrlg', 'exlnPplOpnPrlg', 'exlnPplGttrPrlg'], sumFields: ['exlnPplShpPrlg', 'exlnPplElpsdPrlg', 'exlnPplOpnPrlg', 'exlnPplLaditPrlg'],
}, },
], ],
type: 'sumOfMaxOfFieldAndSumGroups' as const, type: 'sumOfMaxOfFieldAndSumGroups' as const,
@@ -60,7 +60,7 @@ export const RegionalFactStatusInpColumn = {
styleName: 'rg-cell-total', styleName: 'rg-cell-total',
valueType: ValueType.NUMBER, valueType: ValueType.NUMBER,
dataFormat: '#,##0.00', 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', name: 'swagePplPsplyRt',
@@ -92,7 +92,7 @@ export const RegionalFactStatusInpColumn = {
dataFormat: '#,##0.00', dataFormat: '#,##0.00',
computed: { computed: {
baseField: 'cbsysPplMtncPlanPrlg', baseField: 'cbsysPplMtncPlanPrlg',
sumFields: ['cbsysSqrePrlg', 'cbsysCiclPrlg', 'cbsysOpnPrlg', 'cbsysGttrPrlg'], sumFields: ['cbsysShpPrlg', 'cbsysElpsdPrlg', 'cbsysOpnPrlg', 'cbsysLaditPrlg'],
type: 'maxOfFieldAndSum' as const, type: 'maxOfFieldAndSum' as const,
}, },
}, },
@@ -105,12 +105,12 @@ export const RegionalFactStatusInpColumn = {
styleName: 'rg-cell-total', styleName: 'rg-cell-total',
valueType: ValueType.NUMBER, valueType: ValueType.NUMBER,
dataFormat: '#,##0.00', 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: 'cbsysShpPrlg', fieldName: 'cbsysShpPrlg', 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: '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: '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) > 오수관로 // 분류식(m) > 오수관로
{ name: 'drtwPplMtncPlanArea', fieldName: 'drtwPplMtncPlanArea', header: { text: '관로정비계획면적(㎢)' }, footer: footerDecimal3, valueType: ValueType.NUMBER, dataFormat: '#,##0.000' }, { name: 'drtwPplMtncPlanArea', fieldName: 'drtwPplMtncPlanArea', header: { text: '관로정비계획면적(㎢)' }, footer: footerDecimal3, valueType: ValueType.NUMBER, dataFormat: '#,##0.000' },
@@ -126,7 +126,7 @@ export const RegionalFactStatusInpColumn = {
dataFormat: '#,##0.00', dataFormat: '#,##0.00',
computed: { computed: {
baseField: 'drtwPplMtncPlanPrlg', baseField: 'drtwPplMtncPlanPrlg',
sumFields: ['drtwPplSqrePrlg', 'drtwPplCiclPrlg'], sumFields: ['drtwPplShpPrlg', 'drtwPplElpsdPrlg'],
type: 'maxOfFieldAndSum' as const, type: 'maxOfFieldAndSum' as const,
}, },
}, },
@@ -139,10 +139,10 @@ export const RegionalFactStatusInpColumn = {
styleName: 'rg-cell-total', styleName: 'rg-cell-total',
valueType: ValueType.NUMBER, valueType: ValueType.NUMBER,
dataFormat: '#,##0.00', 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: 'drtwPplShpPrlg', fieldName: 'drtwPplShpPrlg', 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: 'drtwPplElpsdPrlg', fieldName: 'drtwPplElpsdPrlg', header: { text: '원형(m)' }, footer: footerDecimal2, valueType: ValueType.NUMBER, dataFormat: '#,##0.00' },
// 분류식(m) > 우수관로 // 분류식(m) > 우수관로
{ name: 'exlnPplMtncPlanArea', fieldName: 'exlnPplMtncPlanArea', header: { text: '관로정비계획면적(㎢)' }, footer: footerDecimal3, valueType: ValueType.NUMBER, dataFormat: '#,##0.000' }, { name: 'exlnPplMtncPlanArea', fieldName: 'exlnPplMtncPlanArea', header: { text: '관로정비계획면적(㎢)' }, footer: footerDecimal3, valueType: ValueType.NUMBER, dataFormat: '#,##0.000' },
@@ -158,7 +158,7 @@ export const RegionalFactStatusInpColumn = {
dataFormat: '#,##0.00', dataFormat: '#,##0.00',
computed: { computed: {
baseField: 'exlnPplMtncPlanPrlg', baseField: 'exlnPplMtncPlanPrlg',
sumFields: ['exlnPplSqrePrlg', 'exlnPplCiclPrlg', 'exlnPplOpnPrlg', 'exlnPplGttrPrlg'], sumFields: ['exlnPplShpPrlg', 'exlnPplElpsdPrlg', 'exlnPplOpnPrlg', 'exlnPplLaditPrlg'],
type: 'maxOfFieldAndSum' as const, type: 'maxOfFieldAndSum' as const,
}, },
}, },
@@ -171,12 +171,12 @@ export const RegionalFactStatusInpColumn = {
styleName: 'rg-cell-total', styleName: 'rg-cell-total',
valueType: ValueType.NUMBER, valueType: ValueType.NUMBER,
dataFormat: '#,##0.00', 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: 'exlnPplShpPrlg', fieldName: 'exlnPplShpPrlg', 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: '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: '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' }, { 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: '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: '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: 'drtwDrgCnt', fieldName: 'drtwDrgCnt', header: { text: '오수받이(개소)' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'exlnRcvprpCnt', fieldName: 'exlnRcvprpCnt', 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: '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' }, { name: 'exlnOtflCnt', fieldName: 'exlnOtflCnt', header: { text: '우수토구(개소)' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
@@ -203,7 +203,7 @@ export const RegionalFactStatusInpColumn = {
dataFormat: '#,##0.0', dataFormat: '#,##0.0',
computed: { computed: {
numeratorFields: ['sewerLdgrEdpPrlg'], 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, type: 'pblswrgPopltnSuprtRate' as const,
}, },
}, },
@@ -241,10 +241,10 @@ export const RegionalFactStatusInpColumn = {
name: 'cmbnCulvert', name: 'cmbnCulvert',
hideChildHeaders: false, hideChildHeaders: false,
header: { text: '암거' }, header: { text: '암거' },
items: ['cbsysSqrePrlg', 'cbsysCiclPrlg'], items: ['cbsysShpPrlg', 'cbsysElpsdPrlg'],
}, },
'cbsysOpnPrlg', 'cbsysOpnPrlg',
'cbsysGttrPrlg', 'cbsysLaditPrlg',
], ],
}, },
{ {
@@ -265,7 +265,7 @@ export const RegionalFactStatusInpColumn = {
name: 'pltwtrCulvert', name: 'pltwtrCulvert',
hideChildHeaders: false, hideChildHeaders: false,
header: { text: '암거' }, header: { text: '암거' },
items: ['drtwPplSqrePrlg', 'drtwPplCiclPrlg'], items: ['drtwPplShpPrlg', 'drtwPplElpsdPrlg'],
}, },
], ],
}, },
@@ -282,10 +282,10 @@ export const RegionalFactStatusInpColumn = {
name: 'rainwtrCulvert', name: 'rainwtrCulvert',
hideChildHeaders: false, hideChildHeaders: false,
header: { text: '암거' }, header: { text: '암거' },
items: ['exlnPplSqrePrlg', 'exlnPplCiclPrlg'], items: ['exlnPplShpPrlg', 'exlnPplElpsdPrlg'],
}, },
'exlnPplOpnPrlg', 'exlnPplOpnPrlg',
'exlnPplGttrPrlg', 'exlnPplLaditPrlg',
], ],
}, },
], ],
@@ -297,8 +297,8 @@ export const RegionalFactStatusInpColumn = {
header: { text: '분류식' }, header: { text: '분류식' },
items: ['sprsysDrtwMnhlCnt', 'sprsysExlnMnhlCnt'], items: ['sprsysDrtwMnhlCnt', 'sprsysExlnMnhlCnt'],
}, },
'drtwRcvprpCnt', 'drtwDrgCnt',
'exlnRcvprpCnt', 'exlnDrgCnt',
'stofcbrCnt', 'stofcbrCnt',
'exlnOtflCnt', 'exlnOtflCnt',
'sewerLdgrEdpPrlg', 'sewerLdgrEdpPrlg',
@@ -35,7 +35,7 @@ export const PipeDredgingStatusInpColumn = {
// 준설연장 및 개소수 > 맨홀, 오·우수받이, 토실·토구 // 준설연장 및 개소수 > 맨홀, 오·우수받이, 토실·토구
{ name: 'mnhlCnt', fieldName: 'mnhlCnt', header: { text: '맨홀(개소)' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' }, { 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' }, { 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: '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', name: 'wholDrdgnPrcsQnt',
fieldName: 'wholDrdgnPrcsQnt', fieldName: 'wholDrdgnPrcsQnt',
@@ -122,19 +122,19 @@ export const PipeDredgingStatusInpColumn = {
{ name: 'group_sep', header: { text: '분류식' }, items: ['sprsysExlnPrlg', 'sprsysDrtwPrlg'] } { name: 'group_sep', header: { text: '분류식' }, items: ['sprsysExlnPrlg', 'sprsysDrtwPrlg'] }
] ]
}, },
'mnhlCnt', 'exlnDrtwRcvprpCnt', 'stofcbrOtflCnt' 'mnhlCnt', 'exlnDrtwDrgCnt', 'stofcbrOtflCnt'
] ]
}, },
'drdgnPlanPrlg', 'drdgnTrgtCtrsDrdgnRt', 'wholPrlgCtrsDrdgnRt', 'drdgnPlanPrlg', 'drdgnTrgtCtrsDrdgnRt', 'wholPrlgCtrsDrdgnRt',
{ {
name: 'group_perf', name: 'group_perf',
header: { text: '준설실적' }, header: { text: '준설실적' },
items: ['drdgnAmt', 'drdgnQnt'] items: ['drdgnAmt', 'pplDrdqty']
}, },
{ {
name: 'group_soil_treat', name: 'group_soil_treat',
header: { text: '준설토사처리' }, header: { text: '준설토사처리' },
items: ['drdgnUntprcAmt', 'wholDrdgnPrcsQnt', 'rclmQnt', 'oceanEmsnQnt', 'rcycQnt', 'etcQnt'] items: ['drdgnSoilPrcsAmt', 'wholDrdgnPrcsQnt', 'rclmQnt', 'oceanEmsnQnt', 'rcycQnt', 'etcQnt']
}, },
'rmrk', 'rmrk',
'admdstCd', 'admdstCd',
@@ -11,8 +11,8 @@ export const RepairStatusInpColumn = {
// 개·보수관로 > 전체보수(m) // 개·보수관로 > 전체보수(m)
{ {
name: 'mendngWhol', name: 'dfrpWholPrlg',
fieldName: 'mendngWhol', fieldName: 'dfrpWholPrlg',
header: { text: '소계' }, header: { text: '소계' },
editable: false, editable: false,
footer: footerDecimal1, footer: footerDecimal1,
@@ -20,11 +20,11 @@ export const RepairStatusInpColumn = {
dataFormat: '#,##0.0', dataFormat: '#,##0.0',
styleName: 'rg-cell-total', styleName: 'rg-cell-total',
computed: { computed: {
fields: ['cbsysMendngPrlg', 'sprsysExlnPrlg', 'sprsysDrtwPrlg'], fields: ['cbsysDfrpPrlg', 'sprsysExlnPrlg', 'sprsysDrtwPrlg'],
type: 'sum' as const, 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) > 분류식 // 개·보수관로 > 전체보수(m) > 분류식
{ name: 'sprsysExlnPrlg', fieldName: 'sprsysExlnPrlg', header: { text: '우수' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' }, { name: 'sprsysExlnPrlg', fieldName: 'sprsysExlnPrlg', header: { text: '우수' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' },
@@ -32,8 +32,8 @@ export const RepairStatusInpColumn = {
// 개·보수관로 > 부분보수(개소) // 개·보수관로 > 부분보수(개소)
{ {
name: 'partMendngWhol', name: 'partDfrpWhol',
fieldName: 'partMendngWhol', fieldName: 'partDfrpWhol',
header: { text: '소계' }, header: { text: '소계' },
editable: false, editable: false,
footer: footerInt, footer: footerInt,
@@ -41,15 +41,15 @@ export const RepairStatusInpColumn = {
dataFormat: '#,##0', dataFormat: '#,##0',
styleName: 'rg-cell-total', styleName: 'rg-cell-total',
computed: { computed: {
fields: ['cbsysPartMendngPrlg', 'sprsysExlnMendngPrlg', 'sprsysDrtwMendngPrlg'], fields: ['cbsysPartDfrpPrlg', 'sprsysExlnDfrpPrlg', 'sprsysDrtwDfrpPrlg'],
type: 'sum' as const, 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: 'sprsysExlnDfrpPrlg', fieldName: 'sprsysExlnDfrpPrlg', header: { text: '우수' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'sprsysDrtwMendngPrlg', fieldName: 'sprsysDrtwMendngPrlg', 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' }, { 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: '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: 'drtwDrgCnt', fieldName: 'drtwDrgCnt', header: { text: '오수받이(개소)' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'exlnRcvprpCnt', fieldName: 'exlnRcvprpCnt', 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: 'stofcbrCnt', fieldName: 'stofcbrCnt', header: { text: '토실(개소)' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
@@ -91,8 +91,8 @@ export const RepairStatusInpColumn = {
name: 'group_full_repair', name: 'group_full_repair',
header: { text: '전체보수(m)' }, header: { text: '전체보수(m)' },
items: [ items: [
'mendngWhol', 'dfrpWholPrlg',
'cbsysMendngPrlg', 'cbsysDfrpPrlg',
{ {
name: 'group_full_sep', name: 'group_full_sep',
header: { text: '분류식' }, header: { text: '분류식' },
@@ -104,12 +104,12 @@ export const RepairStatusInpColumn = {
name: 'group_part_repair', name: 'group_part_repair',
header: { text: '부분보수(개소)' }, header: { text: '부분보수(개소)' },
items: [ items: [
'partMendngWhol', 'partDfrpWhol',
'cbsysPartMendngPrlg', 'cbsysPartDfrpPrlg',
{ {
name: 'group_part_sep', name: 'group_part_sep',
header: { text: '분류식' }, header: { text: '분류식' },
items: ['sprsysExlnMendngPrlg', 'sprsysDrtwMendngPrlg'] items: ['sprsysExlnDfrpPrlg', 'sprsysDrtwDfrpPrlg']
} }
] ]
} }
@@ -130,7 +130,7 @@ export const RepairStatusInpColumn = {
{ {
name: 'group_inlet', name: 'group_inlet',
header: { text: '받이' }, header: { text: '받이' },
items: ['drtwRcvprpCnt', 'exlnRcvprpCnt'] items: ['drtwDrgCnt', 'exlnDrgCnt']
}, },
{ {
name: 'group_chamber', name: 'group_chamber',
@@ -61,18 +61,18 @@ export const RainfallPumpStationInpColumn = {
// 유수지 // 유수지
dropdownColumn( dropdownColumn(
{ name: 'rsvrYn', fieldName: 'rsvrYn', header: { text: '유수지유무(유,무)' } }, { name: 'runwtrYn', fieldName: 'runwtrYn', header: { text: '유수지유무(유,무)' } },
RAINFALL_PUMP_YN_VALUES, 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' }, { name: 'abstnRgnImpdQnt', fieldName: 'abstnRgnImpdQnt', header: { text: '저류랑(m³)' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' },
// 펌프시설 > 총양수량(m³/min) // 펌프시설 > 총양수량(m³/min)
{ {
name: 'grssPpqty', name: 'wholPpqty',
fieldName: 'grssPpqty', fieldName: 'wholPpqty',
header: { text: '총양수량(m³/min)' }, header: { text: '총양수량(m³/min)' },
editable: false, editable: false,
footer: footerDecimal1, footer: footerDecimal1,
@@ -85,17 +85,17 @@ export const RainfallPumpStationInpColumn = {
{ {
pumpCntField: 'pumpFcltN1PumpCnt', pumpCntField: 'pumpFcltN1PumpCnt',
rsrvPumpCntField: 'pumpFcltN1RsrvPumpCnt', rsrvPumpCntField: 'pumpFcltN1RsrvPumpCnt',
perPpqtyField: 'pumpFcltN1PerPpqty', perPpqtyField: 'pumpFcltN1UnitPpqty',
}, },
{ {
pumpCntField: 'pumpFcltN2PumpCnt', pumpCntField: 'pumpFcltN2PumpCnt',
rsrvPumpCntField: 'pumpFcltN2RsrvPumpCnt', rsrvPumpCntField: 'pumpFcltN2RsrvPumpCnt',
perPpqtyField: 'pumpFcltN2PerPpqty', perPpqtyField: 'pumpFcltN2UnitPpqty',
}, },
{ {
pumpCntField: 'pumpFcltN3PumpCnt', pumpCntField: 'pumpFcltN3PumpCnt',
rsrvPumpCntField: 'pumpFcltN3RsrvPumpCnt', rsrvPumpCntField: 'pumpFcltN3RsrvPumpCnt',
perPpqtyField: 'pumpFcltN3PerPpqty', perPpqtyField: 'pumpFcltN3UnitPpqty',
}, },
], ],
}, },
@@ -103,19 +103,19 @@ export const RainfallPumpStationInpColumn = {
// 펌프시설1 // 펌프시설1
{ name: 'pumpFcltN1DmtrExpln', fieldName: 'pumpFcltN1DmtrExpln', header: { text: '구경(mm)' } }, { 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: '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' }, { name: 'pumpFcltN1RsrvPumpCnt', fieldName: 'pumpFcltN1RsrvPumpCnt', header: { text: '예비펌프대수' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
// 펌프시설2 // 펌프시설2
{ name: 'pumpFcltN2DmtrExpln', fieldName: 'pumpFcltN2DmtrExpln', header: { text: '구경(mm)' } }, { 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: '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' }, { name: 'pumpFcltN2RsrvPumpCnt', fieldName: 'pumpFcltN2RsrvPumpCnt', header: { text: '예비펌프대수' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
// 펌프시설3 // 펌프시설3
{ name: 'pumpFcltN3DmtrExpln', fieldName: 'pumpFcltN3DmtrExpln', header: { text: '구경(mm)' } }, { 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: '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' }, { name: 'pumpFcltN3RsrvPumpCnt', fieldName: 'pumpFcltN3RsrvPumpCnt', header: { text: '예비펌프대수' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
@@ -125,7 +125,7 @@ export const RainfallPumpStationInpColumn = {
RAINFALL_PUMP_YN_VALUES, RAINFALL_PUMP_YN_VALUES,
), ),
dropdownColumn( dropdownColumn(
{ name: 'ddrztnEqpmYn', fieldName: 'ddrztnEqpmYn', header: { text: '탈취설비유무(유/무)' } }, { name: 'odorEqpmYn', fieldName: 'odorEqpmYn', header: { text: '탈취설비유무(유/무)' } },
RAINFALL_PUMP_YN_VALUES, RAINFALL_PUMP_YN_VALUES,
), ),
dropdownColumn( dropdownColumn(
@@ -137,16 +137,16 @@ export const RainfallPumpStationInpColumn = {
{ name: 'dschgWtrsExpln', fieldName: 'dschgWtrsExpln', header: { text: '방류수역' } }, { name: 'dschgWtrsExpln', fieldName: 'dschgWtrsExpln', header: { text: '방류수역' } },
// 최종처분량(ton/년) // 최종처분량(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: 'ctmnLastDspsQnt', fieldName: 'ctmnLastDspsQnt', header: { text: '협잡물' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
// 최종처분방법 // 최종처분방법
{ name: 'prcptnLastDspsMthdExpln', fieldName: 'prcptnLastDspsMthdExpln', header: { text: '침사' } }, { name: 'prpwLastDspsExpln', fieldName: 'prpwLastDspsExpln', header: { text: '침사' } },
{ name: 'ctmnLastDspsMthdExpln', fieldName: 'ctmnLastDspsMthdExpln', header: { text: '협잡물' } }, { name: 'ctmnLastDspsExpln', fieldName: 'ctmnLastDspsExpln', header: { text: '협잡물' } },
// 운영실적 // 운영실적
{ name: 'oprtngDayCnt', fieldName: 'oprtngDayCnt', header: { text: '가동일수(일/년)' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' }, // 입력값 3자리만 가능 { 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: '비고' } }, { name: 'rmrk', fieldName: 'rmrk', header: { text: '비고' } },
@@ -178,8 +178,8 @@ export const RainfallPumpStationInpColumn = {
hideChildHeaders: false, hideChildHeaders: false,
header: { text: '유수지' }, header: { text: '유수지' },
items: [ items: [
'rsvrYn', 'runwtrYn',
'rsvrImpndQnt', 'runwtrStrqty',
], ],
}, },
{ {
@@ -195,14 +195,14 @@ export const RainfallPumpStationInpColumn = {
hideChildHeaders: false, hideChildHeaders: false,
header: { text: '펌프시설' }, header: { text: '펌프시설' },
items: [ items: [
'grssPpqty', 'wholPpqty',
{ {
name: 'pumpSystem1', name: 'pumpSystem1',
hideChildHeaders: false, hideChildHeaders: false,
header: { text: '펌프시설1' }, header: { text: '펌프시설1' },
items: [ items: [
'pumpFcltN1DmtrExpln', 'pumpFcltN1DmtrExpln',
'pumpFcltN1PerPpqty', 'pumpFcltN1UnitPpqty',
'pumpFcltN1PumpCnt', 'pumpFcltN1PumpCnt',
'pumpFcltN1RsrvPumpCnt', 'pumpFcltN1RsrvPumpCnt',
], ],
@@ -213,7 +213,7 @@ export const RainfallPumpStationInpColumn = {
header: { text: '펌프시설2' }, header: { text: '펌프시설2' },
items: [ items: [
'pumpFcltN2DmtrExpln', 'pumpFcltN2DmtrExpln',
'pumpFcltN2PerPpqty', 'pumpFcltN2UnitPpqty',
'pumpFcltN2PumpCnt', 'pumpFcltN2PumpCnt',
'pumpFcltN2RsrvPumpCnt', 'pumpFcltN2RsrvPumpCnt',
], ],
@@ -224,7 +224,7 @@ export const RainfallPumpStationInpColumn = {
header: { text: '펌프시설3' }, header: { text: '펌프시설3' },
items: [ items: [
'pumpFcltN3DmtrExpln', 'pumpFcltN3DmtrExpln',
'pumpFcltN3PerPpqty', 'pumpFcltN3UnitPpqty',
'pumpFcltN3PumpCnt', 'pumpFcltN3PumpCnt',
'pumpFcltN3RsrvPumpCnt', 'pumpFcltN3RsrvPumpCnt',
], ],
@@ -237,7 +237,7 @@ export const RainfallPumpStationInpColumn = {
header: { text: '부대시설' }, header: { text: '부대시설' },
items: [ items: [
'prcsgFcltYn', 'prcsgFcltYn',
'ddrztnEqpmYn', 'odorEqpmYn',
'oslfEtgtYn', 'oslfEtgtYn',
], ],
}, },
@@ -247,7 +247,7 @@ export const RainfallPumpStationInpColumn = {
hideChildHeaders: false, hideChildHeaders: false,
header: { text: '최종처분량(ton/년)' }, header: { text: '최종처분량(ton/년)' },
items: [ items: [
'prcptnLastDspsQnt', 'prpwLastDspsQnt',
'ctmnLastDspsQnt', 'ctmnLastDspsQnt',
], ],
}, },
@@ -256,8 +256,8 @@ export const RainfallPumpStationInpColumn = {
hideChildHeaders: false, hideChildHeaders: false,
header: { text: '최종처분방법' }, header: { text: '최종처분방법' },
items: [ items: [
'prcptnLastDspsMthdExpln', 'prpwLastDspsExpln',
'ctmnLastDspsMthdExpln', 'ctmnLastDspsExpln',
], ],
}, },
{ {
@@ -266,7 +266,7 @@ export const RainfallPumpStationInpColumn = {
header: { text: '운영실적' }, header: { text: '운영실적' },
items: [ items: [
'oprtngDayCnt', 'oprtngDayCnt',
'grssMltvQnt', 'wholQnt',
], ],
}, },
'rmrk', 'rmrk',
@@ -77,8 +77,8 @@ export const SewageReservoirInpColumn = {
header: { text: "침수예방" }, header: { text: "침수예방" },
}), }),
oxYnDropdownColumn({ oxYnDropdownColumn({
name: "wqPlltnMtgtYn", name: "wtpltMtgtYn",
fieldName: "wqPlltnMtgtYn", fieldName: "wtpltMtgtYn",
header: { text: "수질오염저감" }, header: { text: "수질오염저감" },
}), }),
oxYnDropdownColumn({ oxYnDropdownColumn({
@@ -105,8 +105,8 @@ export const SewageReservoirInpColumn = {
// 펌프시설 > 총양수량 // 펌프시설 > 총양수량
{ {
name: 'grssPpqty', name: 'wholPpqty',
fieldName: 'grssPpqty', fieldName: 'wholPpqty',
header: { text: '총양수량(m³/min)' }, header: { text: '총양수량(m³/min)' },
editable: false, editable: false,
footer: footerDecimal1, footer: footerDecimal1,
@@ -119,17 +119,17 @@ export const SewageReservoirInpColumn = {
{ {
pumpCntField: 'pumpFcltN1PumpCnt', pumpCntField: 'pumpFcltN1PumpCnt',
rsrvPumpCntField: 'pumpFcltN1RsrvPumpCnt', rsrvPumpCntField: 'pumpFcltN1RsrvPumpCnt',
perPpqtyField: 'pumpFcltN1PerPpqty', perPpqtyField: 'pumpFcltN1Ppqty',
}, },
{ {
pumpCntField: 'pumpFcltN2PumpCnt', pumpCntField: 'pumpFcltN2PumpCnt',
rsrvPumpCntField: 'pumpFcltN2RsrvPumpCnt', rsrvPumpCntField: 'pumpFcltN2RsrvPumpCnt',
perPpqtyField: 'pumpFcltN2PerPpqty', perPpqtyField: 'pumpFcltN2Ppqty',
}, },
{ {
pumpCntField: 'pumpFcltN3PumpCnt', pumpCntField: 'pumpFcltN3PumpCnt',
rsrvPumpCntField: 'pumpFcltN3RsrvPumpCnt', rsrvPumpCntField: 'pumpFcltN3RsrvPumpCnt',
perPpqtyField: 'pumpFcltN3PerPpqty', perPpqtyField: 'pumpFcltN3Ppqty',
}, },
], ],
}, },
@@ -137,19 +137,19 @@ export const SewageReservoirInpColumn = {
// 펌프시설 1 // 펌프시설 1
{ name: 'pumpFcltN1DmtrExpln', fieldName: 'pumpFcltN1DmtrExpln', header: { text: '구경(mm)' } }, { 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: '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' }, { name: 'pumpFcltN1RsrvPumpCnt', fieldName: 'pumpFcltN1RsrvPumpCnt', header: { text: '예비펌프대수' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
// 펌프시설 2 // 펌프시설 2
{ name: 'pumpFcltN2DmtrExpln', fieldName: 'pumpFcltN2DmtrExpln', header: { text: '구경(mm)' } }, { 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: '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' }, { name: 'pumpFcltN2RsrvPumpCnt', fieldName: 'pumpFcltN2RsrvPumpCnt', header: { text: '예비펌프대수' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
// 펌프시설 3 // 펌프시설 3
{ name: 'pumpFcltN3DmtrExpln', fieldName: 'pumpFcltN3DmtrExpln', header: { text: '구경(mm)' } }, { 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: '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' }, { name: 'pumpFcltN3RsrvPumpCnt', fieldName: 'pumpFcltN3RsrvPumpCnt', header: { text: '예비펌프대수' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
@@ -164,8 +164,8 @@ export const SewageReservoirInpColumn = {
), ),
dropdownColumn( dropdownColumn(
{ {
name: "ddrztnEqpmYn", name: "odorEqpmYn",
fieldName: "ddrztnEqpmYn", fieldName: "odorEqpmYn",
header: { text: "탈취설비유무(유/무)" }, header: { text: "탈취설비유무(유/무)" },
}, },
SEWAGE_RESERVOIR_YN_VALUES, SEWAGE_RESERVOIR_YN_VALUES,
@@ -182,8 +182,8 @@ export const SewageReservoirInpColumn = {
// 배수 방식 // 배수 방식
dropdownColumn( dropdownColumn(
{ {
name: "mltvMthCn", name: "drgptnCn",
fieldName: "mltvMthCn", fieldName: "drgptnCn",
header: { text: "배수방식(자연배수,강제배수)" }, header: { text: "배수방식(자연배수,강제배수)" },
}, },
SEWAGE_RESERVOIR_MLTV_MTH_VALUES, SEWAGE_RESERVOIR_MLTV_MTH_VALUES,
@@ -202,8 +202,8 @@ export const SewageReservoirInpColumn = {
// 저류수 처리방법 // 저류수 처리방법
dropdownColumn( dropdownColumn(
{ {
name: "impdPrcsMthdCn", name: "impdPrcsCn",
fieldName: "impdPrcsMthdCn", fieldName: "impdPrcsCn",
header: { text: "저류수처리방법(자체처리,연계처리)" }, header: { text: "저류수처리방법(자체처리,연계처리)" },
}, },
SEWAGE_RESERVOIR_IMPD_PRCS_MTHD_VALUES, SEWAGE_RESERVOIR_IMPD_PRCS_MTHD_VALUES,
@@ -213,16 +213,16 @@ export const SewageReservoirInpColumn = {
{ name: 'dschgWtrsExpln', fieldName: 'dschgWtrsExpln', header: { text: '방류수역(또는 연계처리장명)' } }, { 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: 'ctmnLastDspsQnt', fieldName: 'ctmnLastDspsQnt', header: { text: '협잡물' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
// 최종처분방법 // 최종처분방법
{ name: 'prcptnLastDspsMthdExpln', fieldName: 'prcptnLastDspsMthdExpln', header: { text: '침사' } }, { name: 'prpwLastDspsExpln', fieldName: 'prpwLastDspsExpln', header: { text: '침사' } },
{ name: 'ctmnLastDspsMthdExpln', fieldName: 'ctmnLastDspsMthdExpln', header: { text: '협잡물' } }, { name: 'ctmnLastDspsExpln', fieldName: 'ctmnLastDspsExpln', header: { text: '협잡물' } },
// 운영실적 // 운영실적
{ name: 'oprtngDayCnt', fieldName: 'oprtngDayCnt', header: { text: '가동일수(일/년)' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' }, // 3자리 수만 입력 가능 { 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: '비고' } }, { name: 'rmrk', fieldName: 'rmrk', header: { text: '비고' } },
@@ -254,7 +254,7 @@ export const SewageReservoirInpColumn = {
header: { text: '설치목적(O,X로 표기, 중복체크가능)' }, header: { text: '설치목적(O,X로 표기, 중복체크가능)' },
items: [ items: [
'fldngPrvtnYn', 'fldngPrvtnYn',
'wqPlltnMtgtYn', 'wtpltMtgtYn',
'rtlztnUsgYn', 'rtlztnUsgYn',
], ],
}, },
@@ -267,14 +267,14 @@ export const SewageReservoirInpColumn = {
hideChildHeaders: false, hideChildHeaders: false,
header: { text: '펌프시설' }, header: { text: '펌프시설' },
items: [ items: [
'grssPpqty', 'wholPpqty',
{ {
name: 'pumpSystem1', name: 'pumpSystem1',
hideChildHeaders: false, hideChildHeaders: false,
header: { text: '펌프시설1' }, header: { text: '펌프시설1' },
items: [ items: [
'pumpFcltN1DmtrExpln', 'pumpFcltN1DmtrExpln',
'pumpFcltN1PerPpqty', 'pumpFcltN1Ppqty',
'pumpFcltN1PumpCnt', 'pumpFcltN1PumpCnt',
'pumpFcltN1RsrvPumpCnt', 'pumpFcltN1RsrvPumpCnt',
], ],
@@ -286,7 +286,7 @@ export const SewageReservoirInpColumn = {
header: { text: '펌프시설2' }, header: { text: '펌프시설2' },
items: [ items: [
'pumpFcltN2DmtrExpln', 'pumpFcltN2DmtrExpln',
'pumpFcltN2PerPpqty', 'pumpFcltN2Ppqty',
'pumpFcltN2PumpCnt', 'pumpFcltN2PumpCnt',
'pumpFcltN2RsrvPumpCnt', 'pumpFcltN2RsrvPumpCnt',
], ],
@@ -298,7 +298,7 @@ export const SewageReservoirInpColumn = {
header: { text: '펌프시설3' }, header: { text: '펌프시설3' },
items: [ items: [
'pumpFcltN3DmtrExpln', 'pumpFcltN3DmtrExpln',
'pumpFcltN3PerPpqty', 'pumpFcltN3Ppqty',
'pumpFcltN3PumpCnt', 'pumpFcltN3PumpCnt',
'pumpFcltN3RsrvPumpCnt', 'pumpFcltN3RsrvPumpCnt',
], ],
@@ -312,13 +312,13 @@ export const SewageReservoirInpColumn = {
header: { text: '부대시설' }, header: { text: '부대시설' },
items: [ items: [
'prcsgFcltYn', 'prcsgFcltYn',
'ddrztnEqpmYn', 'odorEqpmYn',
'oslfEtgtYn', 'oslfEtgtYn',
], ],
}, },
'mltvMthCn', 'drgptnCn',
'impdMthCn', 'impdMthCn',
'impdPrcsMthdCn', 'impdPrcsCn',
'dschgWtrsExpln', 'dschgWtrsExpln',
{ {
@@ -326,7 +326,7 @@ export const SewageReservoirInpColumn = {
hideChildHeaders: false, hideChildHeaders: false,
header: { text: '최종처분량(ton/년)' }, header: { text: '최종처분량(ton/년)' },
items: [ items: [
'prcptnLastDspsQnt', 'prpwLastDspsQnt',
'ctmnLastDspsQnt', 'ctmnLastDspsQnt',
], ],
}, },
@@ -336,8 +336,8 @@ export const SewageReservoirInpColumn = {
hideChildHeaders: false, hideChildHeaders: false,
header: { text: '최종처분방법' }, header: { text: '최종처분방법' },
items: [ items: [
'prcptnLastDspsMthdExpln', 'prpwLastDspsExpln',
'ctmnLastDspsMthdExpln', 'ctmnLastDspsExpln',
], ],
}, },
@@ -347,7 +347,7 @@ export const SewageReservoirInpColumn = {
header: { text: '운영실적' }, header: { text: '운영실적' },
items: [ items: [
'oprtngDayCnt', 'oprtngDayCnt',
'grssMltvQnt', 'wholQnt',
], ],
}, },
'rmrk', 'rmrk',
@@ -10,13 +10,13 @@ export const CauserBurdenInpColumn = {
{ name: 'sggNm', fieldName: 'sggNm', header: { text: '시군구' }, editable: false, styleName: 'rg-cell-readonly' }, { 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: 'brdnAmtLevyNocs', fieldName: 'brdnAmtLevyNocs', header: { text: '건수' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'levyAmt', fieldName: 'levyAmt', header: { text: '금액(백만원)' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' }, { name: 'brdnAmtLevyAmt', fieldName: 'brdnAmtLevyAmt', header: { text: '금액(백만원)' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' },
// 대상별 징수현황 > 계 // 대상별 징수현황 > 계
{ {
name: 'trgtByWholClctnEvntcsCnt', name: 'trgtSeWholClctnNocs',
fieldName: 'trgtByWholClctnEvntcsCnt', fieldName: 'trgtSeWholClctnNocs',
header: { text: '건수' }, header: { text: '건수' },
editable: false, editable: false,
footer: footerInt, footer: footerInt,
@@ -24,13 +24,13 @@ export const CauserBurdenInpColumn = {
valueType: ValueType.NUMBER, valueType: ValueType.NUMBER,
dataFormat: '#,##0', dataFormat: '#,##0',
computed: { computed: {
fields: ['mltvEqpmEvntcsCnt', 'othrCstrnOthrActrCnt'], fields: ['drgNocs', 'othrCstrnOthrActrCnt'],
type: 'sum' as const, type: 'sum' as const,
}, },
}, },
{ {
name: 'trgtByWholClctnAmt', name: 'trgtSeWholClctnAmt',
fieldName: 'trgtByWholClctnAmt', fieldName: 'trgtSeWholClctnAmt',
header: { text: '금액(백만원)' }, header: { text: '금액(백만원)' },
editable: false, editable: false,
footer: footerDecimal1, footer: footerDecimal1,
@@ -38,14 +38,14 @@ export const CauserBurdenInpColumn = {
valueType: ValueType.NUMBER, valueType: ValueType.NUMBER,
dataFormat: '#,##0.0', dataFormat: '#,##0.0',
computed: { computed: {
fields: ['mltvEqpmAmt', 'othrCstrnOthrActrAmt'], fields: ['drgAmt', 'othrCstrnOthrActrAmt'],
type: 'sum' as const, type: 'sum' as const,
}, },
}, },
// 대상별 징수현황 > 배수설비설치자 // 대상별 징수현황 > 배수설비설치자
{ name: 'mltvEqpmEvntcsCnt', fieldName: 'mltvEqpmEvntcsCnt', header: { text: '건수' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' }, { name: 'drgNocs', fieldName: 'drgNocs', header: { text: '건수' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'mltvEqpmAmt', fieldName: 'mltvEqpmAmt', header: { text: '금액(백만원)' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.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' }, { name: 'othrCstrnOthrActrCnt', fieldName: 'othrCstrnOthrActrCnt', header: { text: '건수' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
@@ -71,7 +71,7 @@ export const CauserBurdenInpColumn = {
{ {
name: 'group_assess', name: 'group_assess',
header: { text: '부과액' }, header: { text: '부과액' },
items: ['levyEvntcsCnt', 'levyAmt'] items: ['brdnAmtLevyNocs', 'brdnAmtLevyAmt']
}, },
{ {
name: 'group_collection', name: 'group_collection',
@@ -80,12 +80,12 @@ export const CauserBurdenInpColumn = {
{ {
name: 'coll_group_total', name: 'coll_group_total',
header: { text: '계' }, header: { text: '계' },
items: ['trgtByWholClctnEvntcsCnt', 'trgtByWholClctnAmt'] items: ['trgtSeWholClctnNocs', 'trgtSeWholClctnAmt']
}, },
{ {
name: 'coll_group_inst', name: 'coll_group_inst',
header: { text: '배수설비설치자(하수도법 제61조 제1항)' }, header: { text: '배수설비설치자(하수도법 제61조 제1항)' },
items: ['mltvEqpmEvntcsCnt', 'mltvEqpmAmt'] items: ['drgNocs', 'drgAmt']
}, },
{ {
name: 'coll_group_otr', 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: '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', name: 'avgUntprcAmt',
fieldName: 'avgUntprcAmt', fieldName: 'avgUntprcAmt',
@@ -22,15 +22,15 @@ export const SewerageChargeInpColumn = {
valueType: ValueType.NUMBER, valueType: ValueType.NUMBER,
dataFormat: '#,##0.0', dataFormat: '#,##0.0',
computed: { computed: {
fields: ['levyAmt', 'anlLevyQnt'], fields: ['sewerLevyAmt', 'anlLevyQnt'],
type: 'quotient' as const, 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', name: 'wholUnitPrmcoAmt',
fieldName: 'grssUnitPrmcoAmt', fieldName: 'wholUnitPrmcoAmt',
header: { text: 'm³당원가(원/m³) E=(D/A)' }, header: { text: 'm³당원가(원/m³) E=(D/A)' },
editable: false, editable: false,
footer: footerDecimal1, footer: footerDecimal1,
@@ -38,13 +38,13 @@ export const SewerageChargeInpColumn = {
valueType: ValueType.NUMBER, valueType: ValueType.NUMBER,
dataFormat: '#,##0.0', dataFormat: '#,##0.0',
computed: { computed: {
fields: ['grssPrmcoAmt', 'anlLevyQnt'], fields: ['wholPrmcoAmt', 'anlLevyQnt'],
type: 'quotient' as const, type: 'quotient' as const,
}, },
}, },
{ {
name: 'rlztnRt', name: 'sewerCrgRlztnRt',
fieldName: 'rlztnRt', fieldName: 'sewerCrgRlztnRt',
header: { text: '요금현실화율(%) F=(C/E*100)' }, header: { text: '요금현실화율(%) F=(C/E*100)' },
editable: false, editable: false,
footer: footerDecimal1, footer: footerDecimal1,
@@ -52,8 +52,8 @@ export const SewerageChargeInpColumn = {
valueType: ValueType.NUMBER, valueType: ValueType.NUMBER,
dataFormat: '#,##0.0', dataFormat: '#,##0.0',
computed: { computed: {
numeratorQuotient: ['levyAmt', 'anlLevyQnt'] as [string, string], numeratorQuotient: ['sewerLevyAmt', 'anlLevyQnt'] as [string, string],
denominatorQuotient: ['grssPrmcoAmt', 'anlLevyQnt'] as [string, string], denominatorQuotient: ['wholPrmcoAmt', 'anlLevyQnt'] as [string, string],
type: 'quotientRatioPercent' as const, type: 'quotientRatioPercent' as const,
}, },
}, },
@@ -75,11 +75,11 @@ export const SewerageChargeInpColumn = {
], ],
}, },
'anlLevyQnt', 'anlLevyQnt',
'levyAmt', 'sewerLevyAmt',
'avgUntprcAmt', 'avgUntprcAmt',
'grssPrmcoAmt', 'wholPrmcoAmt',
'grssUnitPrmcoAmt', 'wholUnitPrmcoAmt',
'rlztnRt', 'sewerCrgRlztnRt',
'rmrk', 'rmrk',
'admdstCd', 'admdstCd',
'admdstNm' 'admdstNm'
@@ -11,8 +11,8 @@ export const SewerageFinanceSettleInpColumn = {
// 재정별 사업비 // 재정별 사업비
{ {
name: 'fnnByWholPjtcoAmt', name: 'fnnSeWholPjtcoAmt',
fieldName: 'fnnByWholPjtcoAmt', fieldName: 'fnnSeWholPjtcoAmt',
header: { text: '계' }, header: { text: '계' },
editable: false, editable: false,
footer: footerDecimal1, footer: footerDecimal1,
@@ -21,18 +21,18 @@ export const SewerageFinanceSettleInpColumn = {
styleName: 'rg-cell-total', styleName: 'rg-cell-total',
computed: { computed: {
fields: [ fields: [
'cnterGovSprtAmt', 'soaGovSprtAmt',
'mctpvLcexpAmt', 'mctpvLcexpAmt',
'wareaSggLclAmt', 'wareaSggLclAmt',
'sewerUseAmt', 'sewerUseAmt',
'orgprBrdnAmt', 'fnnOrgprBrdnAmt',
'etcIncmAmt', 'etcIncmAmt',
'crfwAmt', 'soaCrfwAmt',
], ],
type: 'sum' as const, 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' }, { 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: '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: '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', name: 'usgSeWholPjtcoAmt',
fieldName: 'usgByWholPjtcoAmt', fieldName: 'usgSeWholPjtcoAmt',
header: { text: '계' }, header: { text: '계' },
editable: false, editable: false,
footer: footerDecimal1, footer: footerDecimal1,
@@ -70,12 +70,12 @@ export const SewerageFinanceSettleInpColumn = {
dataFormat: '#,##0.0', dataFormat: '#,##0.0',
styleName: 'rg-cell-total', styleName: 'rg-cell-total',
computed: { computed: {
fields: ['tmplntFcltAmt', 'tmplntMendngAmt', 'tmplntOperKeepAmt', 'tmplntEtcAmt'], fields: ['tmplntFcltAmt', 'tmplntAmt', 'tmplntOperKeepAmt', 'tmplntEtcAmt'],
type: 'sum' as const, type: 'sum' as const,
}, },
}, },
{ name: 'tmplntFcltAmt', fieldName: 'tmplntFcltAmt', header: { text: '시설비' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' }, { 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: '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' }, { name: 'tmplntEtcAmt', fieldName: 'tmplntEtcAmt', header: { text: '기타' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' },
@@ -92,7 +92,7 @@ export const SewerageFinanceSettleInpColumn = {
computed: { computed: {
fields: [ fields: [
'swagePplFcltAmt', 'swagePplFcltAmt',
'swagePplMendngAmt', 'swagePplAmt',
'swagePplOperKeepAmt', 'swagePplOperKeepAmt',
'swagePplEtcAmt', 'swagePplEtcAmt',
], ],
@@ -100,7 +100,7 @@ export const SewerageFinanceSettleInpColumn = {
}, },
}, },
{ name: 'swagePplFcltAmt', fieldName: 'swagePplFcltAmt', header: { text: '시설비' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' }, { 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: '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' }, { name: 'swagePplEtcAmt', fieldName: 'swagePplEtcAmt', header: { text: '기타' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' },
@@ -117,7 +117,7 @@ export const SewerageFinanceSettleInpColumn = {
computed: { computed: {
fields: [ fields: [
'swageImpdFcltAmt', 'swageImpdFcltAmt',
'swageImpdMendngAmt', 'swageImpdAmt',
'swageImpdOperKeepAmt', 'swageImpdOperKeepAmt',
'swageImpdFcltEtcAmt', 'swageImpdFcltEtcAmt',
], ],
@@ -125,7 +125,7 @@ export const SewerageFinanceSettleInpColumn = {
}, },
}, },
{ name: 'swageImpdFcltAmt', fieldName: 'swageImpdFcltAmt', header: { text: '시설비' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' }, { 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: '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' }, { name: 'swageImpdFcltEtcAmt', fieldName: 'swageImpdFcltEtcAmt', header: { text: '기타' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' },
@@ -140,13 +140,13 @@ export const SewerageFinanceSettleInpColumn = {
dataFormat: '#,##0.0', dataFormat: '#,##0.0',
styleName: 'rg-cell-total', styleName: 'rg-cell-total',
computed: { computed: {
fields: ['etcAcdntCrfwAmt', 'etcNrcpAmt', 'etcAmt'], fields: ['etcAcdntCrfwAmt', 'etcNrcpAmt', 'fnnEtcAmt'],
type: 'sum' as const, type: 'sum' as const,
}, },
}, },
{ name: 'etcAcdntCrfwAmt', fieldName: 'etcAcdntCrfwAmt', header: { text: '사고이월액' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' }, { 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: '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: '비고' } }, { name: 'rmrk', fieldName: 'rmrk', header: { text: '비고' } },
@@ -168,32 +168,32 @@ export const SewerageFinanceSettleInpColumn = {
name: 'group_finance', name: 'group_finance',
header: { text: '재정별 사업비(백만원)' }, header: { text: '재정별 사업비(백만원)' },
items: [ items: [
'fnnByWholPjtcoAmt', 'fnnSeWholPjtcoAmt',
'cnterGovSprtAmt', 'soaGovSprtAmt',
{ {
name: 'group_local_finance', name: 'group_local_finance',
header: { text: '지방비' }, header: { text: '지방비' },
items: ['mctpvLcexpAmt', 'wareaSggLclAmt'] items: ['mctpvLcexpAmt', 'wareaSggLclAmt']
}, },
'sewerUseAmt', 'sewerUseAmt',
'orgprBrdnAmt', 'fnnOrgprBrdnAmt',
'etcIncmAmt', 'etcIncmAmt',
'crfwAmt' 'soaCrfwAmt'
] ]
}, },
'lbltAmt', 'soaLbltAmt',
{ {
name: 'group_purpose', name: 'group_purpose',
header: { text: '용도별사업비(백만원)' }, header: { text: '용도별사업비(백만원)' },
items: [ items: [
'usgByWholPjtcoAmt', 'usgSeWholPjtcoAmt',
{ {
name: 'group_treatment', name: 'group_treatment',
header: { text: '처리장' }, header: { text: '처리장' },
items: [ items: [
'tmplntWholAmt', 'tmplntWholAmt',
'tmplntFcltAmt', 'tmplntFcltAmt',
'tmplntMendngAmt', 'tmplntAmt',
'tmplntOperKeepAmt', 'tmplntOperKeepAmt',
'tmplntEtcAmt' 'tmplntEtcAmt'
] ]
@@ -204,7 +204,7 @@ export const SewerageFinanceSettleInpColumn = {
items: [ items: [
'wholSwagePplAmt', 'wholSwagePplAmt',
'swagePplFcltAmt', 'swagePplFcltAmt',
'swagePplMendngAmt', 'swagePplAmt',
'swagePplOperKeepAmt', 'swagePplOperKeepAmt',
'swagePplEtcAmt' 'swagePplEtcAmt'
] ]
@@ -215,7 +215,7 @@ export const SewerageFinanceSettleInpColumn = {
items: [ items: [
'wholSwageImpdFcltAmt', 'wholSwageImpdFcltAmt',
'swageImpdFcltAmt', 'swageImpdFcltAmt',
'swageImpdMendngAmt', 'swageImpdAmt',
'swageImpdOperKeepAmt', 'swageImpdOperKeepAmt',
'swageImpdFcltEtcAmt' 'swageImpdFcltEtcAmt'
] ]
@@ -227,7 +227,7 @@ export const SewerageFinanceSettleInpColumn = {
'etcWholAmt', 'etcWholAmt',
'etcAcdntCrfwAmt', 'etcAcdntCrfwAmt',
'etcNrcpAmt', 'etcNrcpAmt',
'etcAmt' 'fnnEtcAmt'
] ]
} }
] ]
@@ -11,8 +11,8 @@ export const SewerageUsageFeeInpColumn = {
// 총계 > 부과액 // 총계 > 부과액
{ {
name: 'levyAmt', name: 'sewerLevyAmt',
fieldName: 'levyAmt', fieldName: 'sewerLevyAmt',
header: { text: '(백만원)' }, header: { text: '(백만원)' },
editable: false, editable: false,
footer: footerDecimal1, footer: footerDecimal1,
@@ -22,11 +22,11 @@ export const SewerageUsageFeeInpColumn = {
computed: { computed: {
fields: [ fields: [
'hshusLevyAmt', 'hshusLevyAmt',
'taskFrLevyAmt', 'ofuseLevyAmt',
'fbuLevyAmt', 'fbuLevyAmt',
'bthhsFrSpcs1LevyAmt', 'btht1LevyAmt',
'bthhsFrSpcs2LevyAmt', 'btht2LevyAmt',
'induLevyAmt', 'indstLevyAmt',
'etcLevyAmt', 'etcLevyAmt',
], ],
type: 'sum' as const, type: 'sum' as const,
@@ -35,8 +35,8 @@ export const SewerageUsageFeeInpColumn = {
// 총계 > 부과량 // 총계 > 부과량
{ {
name: 'levyQnt', name: 'sewerLevyQnt',
fieldName: 'levyQnt', fieldName: 'sewerLevyQnt',
header: { text: '(천톤)' }, header: { text: '(천톤)' },
editable: false, editable: false,
footer: footerDecimal1, footer: footerDecimal1,
@@ -46,11 +46,11 @@ export const SewerageUsageFeeInpColumn = {
computed: { computed: {
fields: [ fields: [
'hshusLevyQnt', 'hshusLevyQnt',
'taskFrLevyQnt', 'ofuseLevyQnt',
'fbuLevyQnt', 'fbuLevyQnt',
'bthhsFrSpcs1LevyQnt', 'btht1LevyQnt',
'bthhsFrSpcs2LevyQnt', 'btht2LevyQnt',
'induLevyQnt', 'indstLevyQnt',
'etcLevyQnt', 'etcLevyQnt',
], ],
type: 'sum' as const, 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: '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: 'ofuseLevyAmt', fieldName: 'ofuseLevyAmt', 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: 'ofuseLevyQnt', fieldName: 'ofuseLevyQnt', 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: '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' }, { 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' }, { name: 'fbuUntprcAmt', fieldName: 'fbuUntprcAmt', header: { text: '(원/톤)' }, editable: false, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0', styleName: 'rg-cell-readonly' },
// 욕탕1종(대중탕용) // 욕탕1종(대중탕용)
{ name: 'bthhsFrSpcs1LevyAmt', fieldName: 'bthhsFrSpcs1LevyAmt', header: { text: '(백만원)' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' }, { name: 'btht1LevyAmt', fieldName: 'btht1LevyAmt', 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: 'btht1LevyQnt', fieldName: 'btht1LevyQnt', 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: 'btht1UntprcAmt', fieldName: 'btht1UntprcAmt', header: { text: '(원/톤)' }, editable: false, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0', styleName: 'rg-cell-readonly' },
// 욕탕2종 // 욕탕2종
{ name: 'bthhsFrSpcs2LevyAmt', fieldName: 'bthhsFrSpcs2LevyAmt', header: { text: '(백만원)' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' }, { name: 'btht2LevyAmt', fieldName: 'btht2LevyAmt', 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: 'btht2LevyQnt', fieldName: 'btht2LevyQnt', 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: '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: 'indstLevyAmt', fieldName: 'indstLevyAmt', 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: 'indstLevyQnt', fieldName: 'indstLevyQnt', 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: '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' }, { name: 'etcLevyAmt', fieldName: 'etcLevyAmt', header: { text: '(백만원)' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' },
@@ -116,12 +116,12 @@ export const SewerageUsageFeeInpColumn = {
{ {
name: 'total_amount', name: 'total_amount',
header: { text: '부과액' }, header: { text: '부과액' },
items: ['levyAmt'] items: ['sewerLevyAmt']
}, },
{ {
name: 'total_qty', name: 'total_qty',
header: { text: '부과량' }, header: { text: '부과량' },
items: ['levyQnt'] items: ['sewerLevyQnt']
} }
] ]
}, },
@@ -153,17 +153,17 @@ export const SewerageUsageFeeInpColumn = {
{ {
name: 'job_amount', name: 'job_amount',
header: { text: '부과액' }, header: { text: '부과액' },
items: ['taskFrLevyAmt'] items: ['ofuseLevyAmt']
}, },
{ {
name: 'job_qty', name: 'job_qty',
header: { text: '부과량' }, header: { text: '부과량' },
items: ['taskFrLevyQnt'] items: ['ofuseLevyQnt']
}, },
{ {
name: 'job_price', name: 'job_price',
header: { text: '단가' }, header: { text: '단가' },
items: ['taskFrUntprcAmt'] items: ['ofuseUntprcAmt']
} }
] ]
}, },
@@ -195,17 +195,17 @@ export const SewerageUsageFeeInpColumn = {
{ {
name: 'baths1_amount', name: 'baths1_amount',
header: { text: '부과액' }, header: { text: '부과액' },
items: ['bthhsFrSpcs1LevyAmt'] items: ['btht1LevyAmt']
}, },
{ {
name: 'baths1_qty', name: 'baths1_qty',
header: { text: '부과량' }, header: { text: '부과량' },
items: ['bthhsFrSpcs1LevyQnt'] items: ['btht1LevyQnt']
}, },
{ {
name: 'baths1_price', name: 'baths1_price',
header: { text: '단가' }, header: { text: '단가' },
items: ['bthhsFrSpcs1UntprcAmt'] items: ['btht1UntprcAmt']
} }
] ]
}, },
@@ -216,17 +216,17 @@ export const SewerageUsageFeeInpColumn = {
{ {
name: 'pbbath_amount', name: 'pbbath_amount',
header: { text: '부과액' }, header: { text: '부과액' },
items: ['bthhsFrSpcs2LevyAmt'] items: ['btht2LevyAmt']
}, },
{ {
name: 'pbbath_qty', name: 'pbbath_qty',
header: { text: '부과량' }, header: { text: '부과량' },
items: ['bthhsFrSpcs2LevyQnt'] items: ['btht2LevyQnt']
}, },
{ {
name: 'pbbath_price', name: 'pbbath_price',
header: { text: '단가' }, header: { text: '단가' },
items: ['bthhsFrSpcs2UntprcAmt'] items: ['btht2UntprcAmt']
} }
] ]
}, },
@@ -237,17 +237,17 @@ export const SewerageUsageFeeInpColumn = {
{ {
name: 'indust_amount', name: 'indust_amount',
header: { text: '부과액' }, header: { text: '부과액' },
items: ['induLevyAmt'] items: ['indstLevyAmt']
}, },
{ {
name: 'indust_qty', name: 'indust_qty',
header: { text: '부과량' }, header: { text: '부과량' },
items: ['induLevyQnt'] items: ['indstLevyQnt']
}, },
{ {
name: 'indust_price', name: 'indust_price',
header: { text: '단가' }, header: { text: '단가' },
items: ['induUntprcAmt'] items: ['indstUntprcAmt']
} }
] ]
}, },
@@ -3,13 +3,13 @@ import { ValueType } from "realgrid";
import { footerDecimal1,footerInt } from "@/components/util/grid/footerSummary"; import { footerDecimal1,footerInt } from "@/components/util/grid/footerSummary";
const COMPLAINT_TYPE_COUNT_FIELDS = [ const COMPLAINT_TYPE_COUNT_FIELDS = [
'dschgWqCnt', 'cvlcptDschgWq',
'odorCnt', 'cvlcptOdorCnt',
'ldsCnt', 'cvlcptDrgCnt',
'plltnAcdntCnt', 'cvlcptMnhlCnt',
'swagePplCnt', 'cvlcptSpctnkCnt',
'sewerCrgAmt', 'cvlcptSewerCrg',
'etcCnt', 'cvlcptEtcCnt',
] as const; ] as const;
// 하수도 통계 관리 > 13. 하수도 서비스 수준 > tab 1: 민원 // 하수도 통계 관리 > 13. 하수도 서비스 수준 > tab 1: 민원
@@ -24,8 +24,8 @@ export const ComplaintInpColumn = {
// 민원유형(건) // 민원유형(건)
{ {
name: 'whol', name: 'cvlcptWholCnt',
fieldName: 'whol', fieldName: 'cvlcptWholCnt',
header: { text: '총계' }, header: { text: '총계' },
editable: false, editable: false,
styleName: 'rg-cell-total', styleName: 'rg-cell-total',
@@ -37,18 +37,18 @@ export const ComplaintInpColumn = {
type: 'sum' as const, type: 'sum' as const,
}, },
}, },
{ name: 'dschgWqCnt', fieldName: 'dschgWqCnt', header: { text: '악취' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' }, { name: 'cvlcptDschgWq', fieldName: 'cvlcptDschgWq', header: { text: '악취' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'odorCnt', fieldName: 'odorCnt', header: { text: '하수관로' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' }, { name: 'cvlcptOdorCnt', fieldName: 'cvlcptOdorCnt', header: { text: '하수관로' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'ldsCnt', fieldName: 'ldsCnt', header: { text: '배수설비' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' }, { name: 'cvlcptDrgCnt', fieldName: 'cvlcptDrgCnt', header: { text: '배수설비' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'plltnAcdntCnt', fieldName: 'plltnAcdntCnt', header: { text: '맨홀' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' }, { name: 'cvlcptMnhlCnt', fieldName: 'cvlcptMnhlCnt', header: { text: '맨홀' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'swagePplCnt', fieldName: 'swagePplCnt', header: { text: '정화조' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' }, { name: 'cvlcptSpctnkCnt', fieldName: 'cvlcptSpctnkCnt', header: { text: '정화조' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'sewerCrgAmt', fieldName: 'sewerCrgAmt', header: { text: '하수도요금' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' }, { name: 'cvlcptSewerCrg', fieldName: 'cvlcptSewerCrg', header: { text: '하수도요금' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'etcCnt', fieldName: 'etcCnt', 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 // 기준인구당 민원건수(건/10,000명) = 민원유형 합계 / 하수처리인구 × 10,000
{ {
name: 'crtrPpltnCvlcptEvntcsCnt', name: 'crtrPpltnCvlcptCnt',
fieldName: 'crtrPpltnCvlcptEvntcsCnt', fieldName: 'crtrPpltnCvlcptCnt',
header: { text: '기준인구당민원건수(건/10,000명)' }, header: { text: '기준인구당민원건수(건/10,000명)' },
editable: false, editable: false,
styleName: 'rg-cell-total', styleName: 'rg-cell-total',
@@ -83,17 +83,17 @@ export const ComplaintInpColumn = {
name: 'group_complaint_type', name: 'group_complaint_type',
header: { text: '민원유형(건)' }, header: { text: '민원유형(건)' },
items: [ items: [
'whol', 'cvlcptWholCnt',
'dschgWqCnt', 'cvlcptDschgWq',
'odorCnt', 'cvlcptOdorCnt',
'ldsCnt', 'cvlcptDrgCnt',
'plltnAcdntCnt', 'cvlcptMnhlCnt',
'swagePplCnt', 'cvlcptSpctnkCnt',
'sewerCrgAmt', 'cvlcptSewerCrg',
'etcCnt' 'cvlcptEtcCnt'
] ]
}, },
'crtrPpltnCvlcptEvntcsCnt', 'crtrPpltnCvlcptCnt',
'rmrk', 'rmrk',
'admdstCd', 'admdstCd',
'admdstNm' 'admdstNm'
@@ -3,14 +3,14 @@ import { ValueType } from "realgrid";
import { footerDecimal1,footerInt } from "@/components/util/grid/footerSummary"; import { footerDecimal1,footerInt } from "@/components/util/grid/footerSummary";
const RESIDENT_FRIENDLY_FACILITY_AREA_FIELDS = [ const RESIDENT_FRIENDLY_FACILITY_AREA_FIELDS = [
'brkFcltArea', 'brkFcar',
'childFrshpSpacArea', 'childFrshpSpacArea',
'bdySportsFcltArea', 'bdySportsFcar',
'sportsFcltArea', 'sportsFcar',
'pkltArea', 'pkltar',
'eduMultiFcltArea', 'eduMultiFcar',
'wtlndMakeArea', 'wtlndMakeArea',
'etcCnt', 'othrar',
] as const; ] as const;
// 하수도 통계 관리 > 13. 하수도 서비스 수준 > tab 2: 주민친화시설 // 하수도 통계 관리 > 13. 하수도 서비스 수준 > tab 2: 주민친화시설
@@ -22,15 +22,15 @@ export const ResidentFriendlyFactInpColumn = {
// 시설 기본 정보 // 시설 기본 정보
{ name: 'swtrmtFcltNm', fieldName: 'swtrmtFcltNm', header: { text: '처리장명' }, editable: false, styleName: 'rg-cell-readonly' }, { 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', name: 'whlar',
fieldName: 'whol', fieldName: 'whlar',
header: { text: '총계' }, header: { text: '총계' },
editable: false, editable: false,
styleName: 'rg-cell-total', styleName: 'rg-cell-total',
@@ -42,14 +42,14 @@ export const ResidentFriendlyFactInpColumn = {
type: 'sum' as const, 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: '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: 'bdySportsFcar', fieldName: 'bdySportsFcar', header: { text: '체력단련시설' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'sportsFcltArea', fieldName: 'sportsFcltArea', header: { text: '운동시설' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' }, { name: 'sportsFcar', fieldName: 'sportsFcar', header: { text: '운동시설' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'pkltArea', fieldName: 'pkltArea', header: { text: '주차장' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' }, { name: 'pkltar', fieldName: 'pkltar', header: { text: '주차장' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'eduMultiFcltArea', fieldName: 'eduMultiFcltArea', 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: '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: '비고' } }, { name: 'rmrk', fieldName: 'rmrk', header: { text: '비고' } },
@@ -70,21 +70,21 @@ export const ResidentFriendlyFactInpColumn = {
], ],
}, },
'swtrmtFcltNm', 'swtrmtFcltNm',
'fcltCpct', 'prcsFcltCpct',
'tmplntArea', 'stpar',
{ {
name: 'group_resident_friendly_facility', name: 'group_resident_friendly_facility',
header: { text: '주민친화시설 면적(㎡)' }, header: { text: '주민친화시설 면적(㎡)' },
items: [ items: [
'whol', 'whlar',
'brkFcltArea', 'brkFcar',
'childFrshpSpacArea', 'childFrshpSpacArea',
'bdySportsFcltArea', 'bdySportsFcar',
'sportsFcltArea', 'sportsFcar',
'pkltArea', 'pkltar',
'eduMultiFcltArea', 'eduMultiFcar',
'wtlndMakeArea', 'wtlndMakeArea',
'etcCnt' 'othrar'
] ]
}, },
'rmrk', 'rmrk',
@@ -3,7 +3,7 @@ import { ValueType } from "realgrid";
import type { ColumnConfig } from "@/components/type/DataGrid.type"; import type { ColumnConfig } from "@/components/type/DataGrid.type";
import { footerDecimal1 } from "@/components/util/grid/footerSummary"; import { footerDecimal1 } from "@/components/util/grid/footerSummary";
/** 건축물용도(`bdstTypCn`) */ /** 건축물용도(`bdstSeCn`) */
export const RAINFALL_UTIL_FACT_BDST_TYP_VALUES = [ export const RAINFALL_UTIL_FACT_BDST_TYP_VALUES = [
"종합운동장", "종합운동장",
"실내체육관", "실내체육관",
@@ -66,8 +66,8 @@ export const RainFallUtilFactStatusInpColumn = {
// 건축물용도 // 건축물용도
dropdownColumn( dropdownColumn(
{ {
name: 'bdstTypCn', name: 'bdstSeCn',
fieldName: 'bdstTypCn', fieldName: 'bdstSeCn',
header: { text: '건축물용도' }, header: { text: '건축물용도' },
}, },
RAINFALL_UTIL_FACT_BDST_TYP_VALUES, RAINFALL_UTIL_FACT_BDST_TYP_VALUES,
@@ -88,8 +88,8 @@ export const RainFallUtilFactStatusInpColumn = {
// 설치완료일 yyyy-mm-dd // 설치완료일 yyyy-mm-dd
{ {
name: 'cmptYmd', name: 'cmptnYmd',
fieldName: 'cmptYmd', fieldName: 'cmptnYmd',
header: { text: '설치완료일 yyyy-mm-dd' }, header: { text: '설치완료일 yyyy-mm-dd' },
datetimeFormat: 'yyyy-MM-dd', datetimeFormat: 'yyyy-MM-dd',
editor: { 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³) // 저류조용량(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³/년) // 연간이용량(m³/년)
{ name: 'anlUseQnt', fieldName: 'anlUseQnt', header: { text: '연간이용량(m³/년)' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' }, { name: 'anlUseQnt', fieldName: 'anlUseQnt', header: { text: '연간이용량(m³/년)' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' },
@@ -146,14 +146,14 @@ export const RainFallUtilFactStatusInpColumn = {
], ],
}, },
'fcltNm', 'fcltNm',
'bdstTypCn', 'bdstSeCn',
'fcltPstnCn', 'fcltPstnCn',
'lglTrgtYn', 'lglTrgtYn',
'cmptYmd', 'cmptnYmd',
'instlAmt', 'fcltInstlAmt',
'rcptMynCn', 'rcptKndCn',
'filtrPrcsFcltYnExpln', 'filtrPrcsFcltExpln',
'impdCpct', 'fcltRtntnkCpct',
'anlUseQnt', 'anlUseQnt',
'exlnUtlzUsgExpln', 'exlnUtlzUsgExpln',
'anlOperAmt', 'anlOperAmt',
@@ -27,7 +27,7 @@ export const RECYCLED_WATER_BLDG_SE_VALUES = [
/** 법적의무대상여부(`lglTrgtYn`) */ /** 법적의무대상여부(`lglTrgtYn`) */
export const RECYCLED_WATER_LGL_TRGT_YN_VALUES = ["대상", "미대상"] as const; export const RECYCLED_WATER_LGL_TRGT_YN_VALUES = ["대상", "미대상"] as const;
/** 중수도용도(`mnUsgCn`) */ /** 중수도용도(`ruswtrUsgCn`) */
export const RECYCLED_WATER_MN_USG_VALUES = [ 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' }, { name: 'prcsCpct', fieldName: 'prcsCpct', header: { text: '처리용량(m³/일)' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' },
// 물 사용량(m³/일) // 물 사용량(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³/일) // 중수도이용량(m³/일)
{ name: 'ruswtrUtztnQnt', fieldName: 'ruswtrUtztnQnt', header: { text: '중수도이용량(m³/일)' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' }, { name: 'ruswtrUtztnQnt', fieldName: 'ruswtrUtztnQnt', header: { text: '중수도이용량(m³/일)' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' },
@@ -135,8 +135,8 @@ export const RecycledWaterStatusInpColumn = {
// 중수도용도 // 중수도용도
dropdownColumn( dropdownColumn(
{ {
name: 'mnUsgCn', name: 'ruswtrUsgCn',
fieldName: 'mnUsgCn', fieldName: 'ruswtrUsgCn',
header: { text: '중수도용도' }, header: { text: '중수도용도' },
}, },
RECYCLED_WATER_MN_USG_VALUES, RECYCLED_WATER_MN_USG_VALUES,
@@ -173,14 +173,14 @@ export const RecycledWaterStatusInpColumn = {
name: 'group_facility_status', name: 'group_facility_status',
header: { text: '시설현황' }, header: { text: '시설현황' },
items: [ items: [
'archWholArea', 'archWhlar',
'prcsCpct' 'prcsCpct'
] ]
}, },
'wtrUseQnt', 'ruswtrWtrUsqty',
'ruswtrUtztnQnt', 'ruswtrUtztnQnt',
'sbstCntUtztnQnt', 'sbstCntUtztnQnt',
'mnUsgCn', 'ruswtrUsgCn',
'ruswtrOperAmt', 'ruswtrOperAmt',
'rmrk', 'rmrk',
'admdstCd', 'admdstCd',
@@ -1,15 +1,13 @@
import { ValueType } from "realgrid";
export const LogHistoryColumn = { export const LogHistoryColumn = {
columns: [ columns: [
{ name: 'ctpvNm', fieldName: 'ctpvNm', header: { text: '시도' }, editable: false }, { name: 'ctpvNm', fieldName: 'ctpvNm', header: { text: '시도' }, editable: false },
{ name: 'sggNm', fieldName: 'sggNm', header: { text: '시군구' }, editable: false }, { name: 'sggNm', fieldName: 'sggNm', header: { text: '시군구' }, editable: false },
{ name: 'statsYr', fieldName: 'statsYr', 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: 'menuNm', fieldName: 'menuNm', header: { text: '통계항목' }, editable: false },
{ name: 'tblNm', fieldName: 'tblNm', header: { text: '테이블명' }, visible: false, editable: false }, { name: 'tblNm', fieldName: 'tblNm', header: { text: '테이블명' }, visible: false, editable: false },
{ name: 'statsDataChgComNm', fieldName: 'statsDataChgComNm', header: { text: '요청 기능명' }, 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 }, { name: 'regDt', fieldName: 'regDt', header: { text: '등록일' }, editable: false },
], ],
@@ -20,7 +18,7 @@ export const LogHistoryColumn = {
'menuNm', 'menuNm',
'tblNm', 'tblNm',
'statsDataChgComNm', 'statsDataChgComNm',
'rgtrId', 'rgtrUuid',
'regDt', 'regDt',
'statsLogSn', 'statsLogSn',
] ]
@@ -10,7 +10,7 @@ export const LOG_DETAIL_DETAILS_RAW_FIELD = "__detailsRaw";
export interface LogDetailVerificationColumn { export interface LogDetailVerificationColumn {
tblNm: string; tblNm: string;
metaSn: number; metaSn: number;
fieldNm: string; artclNm: string;
engColNm: string; engColNm: string;
dataScpCd: string; dataScpCd: string;
kornColNm: string; kornColNm: string;
@@ -18,12 +18,13 @@ export interface LogDetailVerificationColumn {
export interface LogDetailVerificationItem { export interface LogDetailVerificationItem {
columns: LogDetailVerificationColumn[]; columns: LogDetailVerificationColumn[];
cmprOpert: string | null; groupByYn: string;
vrfcDtlSn: number; vrfcDtlSn: number;
refStatsCd: string | null; refStatsCd: string | null;
eqtnCombSeq: number; fmlaCombSeq: number;
engArtopnEqtnCn: string; cmprArtopnCn: string | null;
kornArtopnEqtnCn: string; engArtopnFmlaCn: string;
kornArtopnFmlaCn: string;
} }
const COMMON_FIELD_ORDER = ["rmrk", "sggNm", "admdstCd", "admdstNm"] as const; const COMMON_FIELD_ORDER = ["rmrk", "sggNm", "admdstCd", "admdstNm"] as const;
@@ -67,7 +67,7 @@ const rawExcretaTreatmentFacilityList = [
}, },
{ name: "fcltNm", fieldName: "fcltNm", header: { text: "시설명" } }, { name: "fcltNm", fieldName: "fcltNm", header: { text: "시설명" } },
{ name: "fcltPstnCn", fieldName: "fcltPstnCn", 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: "cmptnStrtYmd", fieldName: "cmptnStrtYmd", header: { text: "준공일" } },
{ name: "oprtngStrtYmd", fieldName: "oprtngStrtYmd", header: { text: "가동개시일" } }, { name: "oprtngStrtYmd", fieldName: "oprtngStrtYmd", header: { text: "가동개시일" } },
{ {
@@ -79,30 +79,30 @@ const rawExcretaTreatmentFacilityList = [
numberFormat: "#,##0", numberFormat: "#,##0",
}, },
{ {
name: "prcsFcltCpct", name: "fcltCpct",
fieldName: "prcsFcltCpct", fieldName: "fcltCpct",
header: { text: "시설용량\n(㎥/일)" }, header: { text: "시설용량\n(㎥/일)" },
footer: footerDecimal1ArrayByDivision, footer: footerDecimal1ArrayByDivision,
valueType: ValueType.NUMBER, valueType: ValueType.NUMBER,
numberFormat: "#,##0.0", numberFormat: "#,##0.0",
}, },
{ {
name: "cpct", name: "excrFcltPrcqty",
fieldName: "cpct", fieldName: "excrFcltPrcqty",
header: { text: "처리량\n(㎥/일)" }, header: { text: "처리량\n(㎥/일)" },
footer: footerDecimal1ArrayByDivision, footer: footerDecimal1ArrayByDivision,
valueType: ValueType.NUMBER, valueType: ValueType.NUMBER,
numberFormat: "#,##0.0", numberFormat: "#,##0.0",
}, },
{ {
name: "oprtngDayCnt", name: "fcltOprtngDayCnt",
fieldName: "oprtngDayCnt", fieldName: "fcltOprtngDayCnt",
header: { text: "가동일수\n(일/년)" }, header: { text: "가동일수\n(일/년)" },
footer: footerIntArrayByDivision, footer: footerIntArrayByDivision,
valueType: ValueType.NUMBER, valueType: ValueType.NUMBER,
numberFormat: "#,##0", numberFormat: "#,##0",
}, },
{ name: "prcsMthdExpln", fieldName: "prcsMthdExpln", header: { text: "처리공법" } }, { name: "prcsExpln", fieldName: "prcsExpln", header: { text: "처리공법" } },
{ name: "linkTmplntCn", fieldName: "linkTmplntCn", header: { text: "연계처리장명" } }, { name: "linkTmplntCn", fieldName: "linkTmplntCn", header: { text: "연계처리장명" } },
{ {
name: "linkPrcsQnt", name: "linkPrcsQnt",
@@ -113,106 +113,106 @@ const rawExcretaTreatmentFacilityList = [
numberFormat: "#,##0.0", numberFormat: "#,##0.0",
}, },
{ {
name: "inflwBodWqVl", name: "inflwWqBod",
fieldName: "inflwBodWqVl", fieldName: "inflwWqBod",
header: { text: "BOD" }, header: { text: "BOD" },
footer: footerDecimal1ArrayByDivision, footer: footerDecimal1ArrayByDivision,
valueType: ValueType.NUMBER, valueType: ValueType.NUMBER,
numberFormat: "#,##0.00", numberFormat: "#,##0.00",
}, },
{ {
name: "inflwTocWqVl", name: "inflwWqTorgcb",
fieldName: "inflwTocWqVl", fieldName: "inflwWqTorgcb",
header: { text: "TOC" }, header: { text: "TOC" },
footer: footerDecimal1ArrayByDivision, footer: footerDecimal1ArrayByDivision,
valueType: ValueType.NUMBER, valueType: ValueType.NUMBER,
numberFormat: "#,##0.00", numberFormat: "#,##0.00",
}, },
{ {
name: "inflwSsWqVl", name: "inflwWqSpsld",
fieldName: "inflwSsWqVl", fieldName: "inflwWqSpsld",
header: { text: "SS" }, header: { text: "SS" },
footer: footerDecimal1ArrayByDivision, footer: footerDecimal1ArrayByDivision,
valueType: ValueType.NUMBER, valueType: ValueType.NUMBER,
numberFormat: "#,##0.00", numberFormat: "#,##0.00",
}, },
{ {
name: "inflwTnWqVl", name: "inflwWqDtn",
fieldName: "inflwTnWqVl", fieldName: "inflwWqDtn",
header: { text: "T-N" }, header: { text: "T-N" },
footer: footerDecimal1ArrayByDivision, footer: footerDecimal1ArrayByDivision,
valueType: ValueType.NUMBER, valueType: ValueType.NUMBER,
numberFormat: "#,##0.00", numberFormat: "#,##0.00",
}, },
{ {
name: "inflwTpWqVl", name: "inflwWqTph",
fieldName: "inflwTpWqVl", fieldName: "inflwWqTph",
header: { text: "T-P" }, header: { text: "T-P" },
footer: footerDecimal3ArrayByDivision, footer: footerDecimal3ArrayByDivision,
valueType: ValueType.NUMBER, valueType: ValueType.NUMBER,
numberFormat: "#,##0.000", numberFormat: "#,##0.000",
}, },
{ {
name: "inflwClfgCnt", name: "fcltInflwClfgCnt",
fieldName: "inflwClfgCnt", fieldName: "fcltInflwClfgCnt",
header: { text: "대장균\n군수" }, header: { text: "대장균\n군수" },
footer: footerIntArrayByDivision, footer: footerIntArrayByDivision,
valueType: ValueType.NUMBER, valueType: ValueType.NUMBER,
numberFormat: "#,##0", numberFormat: "#,##0",
}, },
{ {
name: "dschgBodWqVl", name: "dschgWqBod",
fieldName: "dschgBodWqVl", fieldName: "dschgWqBod",
header: { text: "BOD" }, header: { text: "BOD" },
footer: footerDecimal1ArrayByDivision, footer: footerDecimal1ArrayByDivision,
valueType: ValueType.NUMBER, valueType: ValueType.NUMBER,
numberFormat: "#,##0.00", numberFormat: "#,##0.00",
}, },
{ {
name: "dschgTocWqVl", name: "dschgWqTorgcb",
fieldName: "dschgTocWqVl", fieldName: "dschgWqTorgcb",
header: { text: "TOC" }, header: { text: "TOC" },
footer: footerDecimal1ArrayByDivision, footer: footerDecimal1ArrayByDivision,
valueType: ValueType.NUMBER, valueType: ValueType.NUMBER,
numberFormat: "#,##0.00", numberFormat: "#,##0.00",
}, },
{ {
name: "dschgSsWqVl", name: "dschgWqSpsld",
fieldName: "dschgSsWqVl", fieldName: "dschgWqSpsld",
header: { text: "SS" }, header: { text: "SS" },
footer: footerDecimal1ArrayByDivision, footer: footerDecimal1ArrayByDivision,
valueType: ValueType.NUMBER, valueType: ValueType.NUMBER,
numberFormat: "#,##0.00", numberFormat: "#,##0.00",
}, },
{ {
name: "dschgTnWqVl", name: "dschgWqDtn",
fieldName: "dschgTnWqVl", fieldName: "dschgWqDtn",
header: { text: "T-N" }, header: { text: "T-N" },
footer: footerDecimal1ArrayByDivision, footer: footerDecimal1ArrayByDivision,
valueType: ValueType.NUMBER, valueType: ValueType.NUMBER,
numberFormat: "#,##0.00", numberFormat: "#,##0.00",
}, },
{ {
name: "dschgTpWqVl", name: "dschgWqTph",
fieldName: "dschgTpWqVl", fieldName: "dschgWqTph",
header: { text: "T-P" }, header: { text: "T-P" },
footer: footerDecimal3ArrayByDivision, footer: footerDecimal3ArrayByDivision,
valueType: ValueType.NUMBER, valueType: ValueType.NUMBER,
numberFormat: "#,##0.000", numberFormat: "#,##0.000",
}, },
{ {
name: "dschgClfgCnt", name: "fcltDschgClfgCnt",
fieldName: "dschgClfgCnt", fieldName: "fcltDschgClfgCnt",
header: { text: "대장균\n군수" }, header: { text: "대장균\n군수" },
footer: footerIntArrayByDivision, footer: footerIntArrayByDivision,
valueType: ValueType.NUMBER, valueType: ValueType.NUMBER,
numberFormat: "#,##0", numberFormat: "#,##0",
}, },
{ name: "wtsysNm", fieldName: "wtsysNm", header: { text: "수계" } }, { name: "fcltWtsysNm", fieldName: "fcltWtsysNm", header: { text: "수계" } },
{ name: "trbtrNm", fieldName: "trbtrNm", header: { text: "지류" } }, { name: "fcltTrbtrNm", fieldName: "fcltTrbtrNm", header: { text: "지류" } },
{ name: "msirbCn", fieldName: "msirbCn", header: { text: "중권역" } }, { name: "msirbCn", fieldName: "msirbCn", header: { text: "중권역" } },
{ name: "ssirbCn", fieldName: "ssirbCn", 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", name: "wholNope",
fieldName: "wholNope", fieldName: "wholNope",
@@ -222,8 +222,8 @@ const rawExcretaTreatmentFacilityList = [
numberFormat: "#,##0", numberFormat: "#,##0",
}, },
{ {
name: "sftyAcdntEvntcsCnt", name: "sftyAcdntNocs",
fieldName: "sftyAcdntEvntcsCnt", fieldName: "sftyAcdntNocs",
header: { text: "안전사고\n건수\n(건/인/년)" }, header: { text: "안전사고\n건수\n(건/인/년)" },
footer: footerDecimal1ArrayByDivision, footer: footerDecimal1ArrayByDivision,
valueType: ValueType.NUMBER, valueType: ValueType.NUMBER,
@@ -242,48 +242,48 @@ const rawExcretaTreatmentFacilityList = [
"displayYear", "displayYear",
"fcltNm", "fcltNm",
"fcltPstnCn", "fcltPstnCn",
"telNo", "telnoCn",
"cmptnStrtYmd", "cmptnStrtYmd",
"oprtngStrtYmd", "oprtngStrtYmd",
"wholPjtcoAmt", "wholPjtcoAmt",
"prcsFcltCpct", "fcltCpct",
"cpct", "excrFcltPrcqty",
"oprtngDayCnt", "fcltOprtngDayCnt",
"prcsMthdExpln", "prcsExpln",
"linkTmplntCn", "linkTmplntCn",
"linkPrcsQnt", "linkPrcsQnt",
{ {
name: "inflwWqGroup", name: "inflwWqGroup",
header: { text: "유입수질(mg/L, 개/mL)" }, header: { text: "유입수질(mg/L, 개/mL)" },
items: [ items: [
"inflwBodWqVl", "inflwWqBod",
"inflwTocWqVl", "inflwWqTorgcb",
"inflwSsWqVl", "inflwWqSpsld",
"inflwTnWqVl", "inflwWqDtn",
"inflwTpWqVl", "inflwWqTph",
"inflwClfgCnt", "fcltInflwClfgCnt",
], ],
}, },
{ {
name: "dschgWqGroup", name: "dschgWqGroup",
header: { text: "방류수질(mg/L, 개/mL)" }, header: { text: "방류수질(mg/L, 개/mL)" },
items: [ items: [
"dschgBodWqVl", "dschgWqBod",
"dschgTocWqVl", "dschgWqTorgcb",
"dschgSsWqVl", "dschgWqSpsld",
"dschgTnWqVl", "dschgWqDtn",
"dschgTpWqVl", "dschgWqTph",
"dschgClfgCnt", "fcltDschgClfgCnt",
], ],
}, },
{ {
name: "wtrAreaGroup", name: "wtrAreaGroup",
header: { text: "방류수역" }, header: { text: "방류수역" },
items: ["wtsysNm", "trbtrNm", "msirbCn", "ssirbCn"], items: ["fcltWtsysNm", "fcltTrbtrNm", "msirbCn", "ssirbCn"],
}, },
"operMthdCdCn", "operCn",
"wholNope", "wholNope",
"sftyAcdntEvntcsCnt", "sftyAcdntNocs",
], ],
}, },
]; ];
@@ -87,29 +87,29 @@ const rawPrivateSewageList = [
fixedColumns: 2, fixedColumns: 2,
columns: [ columns: [
...reviewAddressColumns, ...reviewAddressColumns,
intCol("wholDrtwPrcsFcltCnt", "총계"), intCol("wholSwgdplFcltCnt", "총계"),
intCol("wholStaaCnt", "계"), intCol("wholStaaPrcqty", "계"),
intCol("step1StaaPrcsQnt", "2이하"), intCol("frlvlStaaPrcqty", "2이하"),
intCol("step2StaaPrcsQnt", "3~10"), intCol("sclvlStaaPrcqty", "3~10"),
intCol("step3StaaPrcsQnt", "11~20"), intCol("thlvlStaaPrcqty", "11~20"),
intCol("step4StaaPrcsQnt", "21~50"), intCol("folvlStaaPrcqty", "21~50"),
intCol("step5StaaPrcsQnt", "51~100"), intCol("filvlStaaPrcqty", "51~100"),
intCol("step6StaaPrcsQnt", "101~500"), intCol("sxlvlStaaPrcqty", "101~500"),
intCol("step7StaaPrcsQnt", "501이상"), intCol("svlvlStaaPrcqty", "501이상"),
intCol("staaExcpWhol", "계"), intCol("staaOtsdWholPrcqty", "계"),
intCol("step1StaaExcpPrcsQnt", "2이하"), intCol("frlvlStaaOtsdPrcqty", "2이하"),
intCol("step2StaaExcpPrcsQnt", "3~10"), intCol("sclvlStaaOtsdPrcqty", "3~10"),
intCol("step3StaaExcpPrcsQnt", "11~20"), intCol("thlvlStaaOtsdPrcqty", "11~20"),
intCol("step4StaaExcpPrcsQnt", "21~50"), intCol("folvlStaaOtsdPrcqty", "21~50"),
intCol("step5StaaExcpPrcsQnt", "51~100"), intCol("filvlStaaOtsdPrcqty", "51~100"),
intCol("step6StaaExcpPrcsQnt", "101~500"), intCol("sxlvlStaaOtsdPrcqty", "101~500"),
intCol("step7StaaExcpPrcsQnt", "501이상"), intCol("svlvlStaaOtsdPrcqty", "501이상"),
{ name: "rmrk", fieldName: "rmrk", header: { text: "비고" } }, { name: "rmrk", fieldName: "rmrk", header: { text: "비고" } },
], ],
columnLayout: [ columnLayout: [
reviewAddressLayout, reviewAddressLayout,
"displayYear", "displayYear",
"wholDrtwPrcsFcltCnt", "wholSwgdplFcltCnt",
{ {
name: "privateSewageFacilityGroup", name: "privateSewageFacilityGroup",
header: { text: "오수처리시설" }, header: { text: "오수처리시설" },
@@ -118,28 +118,28 @@ const rawPrivateSewageList = [
name: "insideGroup", name: "insideGroup",
header: { text: "하수처리구역 내(㎥/일)" }, header: { text: "하수처리구역 내(㎥/일)" },
items: [ items: [
"wholStaaCnt", "wholStaaPrcqty",
"step1StaaPrcsQnt", "frlvlStaaPrcqty",
"step2StaaPrcsQnt", "sclvlStaaPrcqty",
"step3StaaPrcsQnt", "thlvlStaaPrcqty",
"step4StaaPrcsQnt", "folvlStaaPrcqty",
"step5StaaPrcsQnt", "filvlStaaPrcqty",
"step6StaaPrcsQnt", "sxlvlStaaPrcqty",
"step7StaaPrcsQnt", "svlvlStaaPrcqty",
], ],
}, },
{ {
name: "outsideGroup", name: "outsideGroup",
header: { text: "하수처리구역 외(㎥/일)" }, header: { text: "하수처리구역 외(㎥/일)" },
items: [ items: [
"staaExcpWhol", "staaOtsdWholPrcqty",
"step1StaaExcpPrcsQnt", "frlvlStaaOtsdPrcqty",
"step2StaaExcpPrcsQnt", "sclvlStaaOtsdPrcqty",
"step3StaaExcpPrcsQnt", "thlvlStaaOtsdPrcqty",
"step4StaaExcpPrcsQnt", "folvlStaaOtsdPrcqty",
"step5StaaExcpPrcsQnt", "filvlStaaOtsdPrcqty",
"step6StaaExcpPrcsQnt", "sxlvlStaaOtsdPrcqty",
"step7StaaExcpPrcsQnt", "svlvlStaaOtsdPrcqty",
], ],
}, },
], ],
@@ -154,59 +154,59 @@ const rawPrivateSewageList = [
fixedColumns: 2, fixedColumns: 2,
columns: [ columns: [
...reviewAddressColumns, ...reviewAddressColumns,
intCol("grssFcltCnt", "총 시설 수\n(A+D)"), intCol("wholFcltCnt", "총 시설 수\n(A+D)"),
intCol("staaInsdWhol", "총계\nA=(B+C)/2"), intCol("staaInsdWholCnt", "총계\nA=(B+C)/2"),
intCol("staaInsdPrcsCpctByWhol", "계(C)"), intCol("staaInsdCpctSeWholCnt", "계(C)"),
intCol("staaInsdSttkNprsflCnt", "자연유하"), intCol("staaInsdSpctnkNatrCnt", "자연유하"),
intCol("step1StaaInsdSttkFrcCnt", "강제펌핑식"), intCol("staaInsdSpctnkFrcCnt", "강제펌핑식"),
intCol("staaInsdSprktpFltrtbCnt", "살수여상"), intCol("staaInsdSprklFiltrCnt", "살수여상"),
intCol("staaInsdAertMthdCnt", "폭기방법"), intCol("staaInsdAirCnt", "폭기방법"),
intCol("staaInsdCntcAertCnt", "접촉폭기"), intCol("staaInsdCntcAirCnt", "접촉폭기"),
intCol("staaInsdEtcCnt", "기타"), intCol("staaInsdEtcCnt", "기타"),
intCol("step1StaaInsdNope", "10인조\n이하"), intCol("frlvlStaaInsdNope", "10인조\n이하"),
intCol("step2StaaInsdNope", "11~20"), intCol("sclvlStaaInsdNope", "11~20"),
intCol("step3StaaInsdNope", "21~30"), intCol("thlvlStaaInsdNope", "21~30"),
intCol("step4StaaInsdNope", "31~50"), intCol("folvlStaaInsdNope", "31~50"),
intCol("step5StaaInsdNope", "51~199"), intCol("filvlStaaInsdNope", "51~199"),
intCol("step6StaaInsdNope", "200~499"), intCol("sxlvlStaaInsdNope", "200~499"),
intCol("step7StaaInsdNope", "500~999"), intCol("svlvlStaaInsdNope", "500~999"),
intCol("step8StaaInsdNope", "1,000이상"), intCol("eilvlStaaInsdNope", "1,000이상"),
intCol("staaExcpWhol", "총계\nD=(E+F)/2"), intCol("staaOtsdWholCnt", "총계\nD=(E+F)/2"),
intCol("staaExcpPrcsCpctByWhol", "계(F)"), intCol("staaOtsdCpctSeWholCnt", "계(F)"),
intCol("staaExcpSttkNprsflCnt", "자연유하"), intCol("staaOtsdSpctnkNatrCnt", "자연유하"),
intCol("step1StaaExcpSttkFrcCnt", "강제펌핑식"), intCol("staaOtsdSpctnkFrcCnt", "강제펌핑식"),
intCol("staaExcpSprktpFltrtbCnt", "살수여상"), intCol("staaOtsdSprklFiltrCnt", "살수여상"),
intCol("staaExcpAertMthdCnt", "폭기방법"), intCol("staaOtsdAirCnt", "폭기방법"),
intCol("staaExcpCntcAertCnt", "접촉폭기"), intCol("staaOtsdCntcAirCnt", "접촉폭기"),
intCol("staaExcpEtcCnt", "기타"), intCol("staaOtsdEtcCnt", "기타"),
intCol("step1StaaExcpNope", "10인조\n이하"), intCol("frlvlStaaOtsdNope", "10인조\n이하"),
intCol("step2StaaExcpNope", "11~20"), intCol("sclvlStaaOtsdNope", "11~20"),
intCol("step3StaaExcpNope", "21~30"), intCol("thlvlStaaOtsdNope", "21~30"),
intCol("step4StaaExcpNope", "31~50"), intCol("folvlStaaOtsdNope", "31~50"),
intCol("step5StaaExcpNope", "51~199"), intCol("filvlStaaOtsdNope", "51~199"),
intCol("step6StaaExcpNope", "200~499"), intCol("sxlvlStaaOtsdNope", "200~499"),
intCol("step7StaaExcpNope", "500~999"), intCol("svlvlStaaOtsdNope", "500~999"),
intCol("step8StaaExcpNope", "1,000이상"), intCol("eilvlStaaOtsdNope", "1,000이상"),
{ name: "rmrk", fieldName: "rmrk", header: { text: "비고" } }, { name: "rmrk", fieldName: "rmrk", header: { text: "비고" } },
], ],
columnLayout: [ columnLayout: [
reviewAddressLayout, reviewAddressLayout,
"displayYear", "displayYear",
"grssFcltCnt", "wholFcltCnt",
{ {
name: "insideSewerGroup", name: "insideSewerGroup",
header: { text: "하수처리구역 내" }, header: { text: "하수처리구역 내" },
items: [ items: [
"staaInsdWhol", "staaInsdWholCnt",
{ {
name: "insdBGroup", name: "insdBGroup",
header: { text: "계(B)" }, header: { text: "계(B)" },
items: [ items: [
"staaInsdSttkNprsflCnt", "staaInsdSpctnkNatrCnt",
"step1StaaInsdSttkFrcCnt", "staaInsdSpctnkFrcCnt",
"staaInsdSprktpFltrtbCnt", "staaInsdSprklFiltrCnt",
"staaInsdAertMthdCnt", "staaInsdAirCnt",
"staaInsdCntcAertCnt", "staaInsdCntcAirCnt",
"staaInsdEtcCnt", "staaInsdEtcCnt",
], ],
}, },
@@ -214,15 +214,15 @@ const rawPrivateSewageList = [
name: "insdCGroup", name: "insdCGroup",
header: { text: "처리용량별" }, header: { text: "처리용량별" },
items: [ items: [
"staaInsdPrcsCpctByWhol", "staaInsdCpctSeWholCnt",
"step1StaaInsdNope", "frlvlStaaInsdNope",
"step2StaaInsdNope", "sclvlStaaInsdNope",
"step3StaaInsdNope", "thlvlStaaInsdNope",
"step4StaaInsdNope", "folvlStaaInsdNope",
"step5StaaInsdNope", "filvlStaaInsdNope",
"step6StaaInsdNope", "sxlvlStaaInsdNope",
"step7StaaInsdNope", "svlvlStaaInsdNope",
"step8StaaInsdNope", "eilvlStaaInsdNope",
], ],
}, },
], ],
@@ -231,32 +231,32 @@ const rawPrivateSewageList = [
name: "outsideSewerGroup", name: "outsideSewerGroup",
header: { text: "하수처리구역 외" }, header: { text: "하수처리구역 외" },
items: [ items: [
"staaExcpWhol", "staaOtsdWholCnt",
{ {
name: "excpEGroup", name: "excpEGroup",
header: { text: "계(E)" }, header: { text: "계(E)" },
items: [ items: [
"staaExcpSttkNprsflCnt", "staaOtsdSpctnkNatrCnt",
"step1StaaExcpSttkFrcCnt", "staaOtsdSpctnkFrcCnt",
"staaExcpSprktpFltrtbCnt", "staaOtsdSprklFiltrCnt",
"staaExcpAertMthdCnt", "staaOtsdAirCnt",
"staaExcpCntcAertCnt", "staaOtsdCntcAirCnt",
"staaExcpEtcCnt", "staaOtsdEtcCnt",
], ],
}, },
{ {
name: "excpFGroup", name: "excpFGroup",
header: { text: "처리용량별" }, header: { text: "처리용량별" },
items: [ items: [
"staaExcpPrcsCpctByWhol", "staaOtsdCpctSeWholCnt",
"step1StaaExcpNope", "frlvlStaaOtsdNope",
"step2StaaExcpNope", "sclvlStaaOtsdNope",
"step3StaaExcpNope", "thlvlStaaOtsdNope",
"step4StaaExcpNope", "folvlStaaOtsdNope",
"step5StaaExcpNope", "filvlStaaOtsdNope",
"step6StaaExcpNope", "sxlvlStaaOtsdNope",
"step7StaaExcpNope", "svlvlStaaOtsdNope",
"step8StaaExcpNope", "eilvlStaaOtsdNope",
], ],
}, },
], ],
@@ -280,19 +280,19 @@ const rawPrivateSewageList = [
valueType: ValueType.NUMBER, valueType: ValueType.NUMBER,
numberFormat: "#,##0.00", numberFormat: "#,##0.00",
}, },
intCol("spctnkGrssFcltCnt", "총시설수"), intCol("spctnkWholFcltCnt", "총시설수"),
{ {
name: "spctnkQnt", name: "spctnkPrcqty",
fieldName: "spctnkQnt", fieldName: "spctnkPrcqty",
header: { text: "처리용량\n(인/일)" }, header: { text: "처리용량\n(인/일)" },
footer: footerDecimal1ArrayByDivision, footer: footerDecimal1ArrayByDivision,
valueType: ValueType.NUMBER, valueType: ValueType.NUMBER,
numberFormat: "#,##0.0", numberFormat: "#,##0.0",
}, },
intCol("drtwPrcsFcltGrssFcltCnt", "총시설수"), intCol("swgdplFcltWholFcltCnt", "총시설수"),
{ {
name: "drtwPrcsFcltQnt", name: "swgdplFcltPrcqty",
fieldName: "drtwPrcsFcltQnt", fieldName: "swgdplFcltPrcqty",
header: { text: "처리용량\n(㎥/일)" }, header: { text: "처리용량\n(㎥/일)" },
footer: footerDecimal1ArrayByDivision, footer: footerDecimal1ArrayByDivision,
valueType: ValueType.NUMBER, valueType: ValueType.NUMBER,
@@ -312,12 +312,12 @@ const rawPrivateSewageList = [
{ {
name: "septicTankGroup", name: "septicTankGroup",
header: { text: "정화조" }, header: { text: "정화조" },
items: ["spctnkGrssFcltCnt", "spctnkQnt"], items: ["spctnkWholFcltCnt", "spctnkPrcqty"],
}, },
{ {
name: "sewageTreatmentGroup", name: "sewageTreatmentGroup",
header: { text: "오수처리시설" }, 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: 'swtrmtFcltNm', fieldName: 'swtrmtFcltNm', header: { text: '처리장명' } },
{ name: 'pumpSeNm', fieldName: 'pumpSeNm', header: { text: '구분\n(합류/분류)' } }, { 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: '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' footer: footerDecimal3ArrayByDivision, valueType: ValueType.NUMBER, numberFormat: '#,##0.000'
}, },
/* 2. 계획배수량 (m3/hr) */ /* 2. 계획배수량 (m3/hr) */
{ name: 'sndyArea', fieldName: 'sndyArea', header: { text: '청천시(A)' }, footer: footerAvgDecimalArrayByDivision, valueType: ValueType.NUMBER, numberFormat: '#,##0.0' }, // finewtDrngVl -> sndyArea { 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' }, // rainwtDrngVl -> rainArea { 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' }, // vlWtr -> exlnQnt { name: 'exlnQnt', fieldName: 'exlnQnt', header: { text: '우수량(B-A)' }, footer: footerAvgDecimalArrayByDivision, valueType: ValueType.NUMBER, numberFormat: '#,##0.0' },
/* 3. 총 양수량 (m3/min) */ /* 3. 총 양수량 (m3/min) */
{ name: 'drtwPumpGrssPpqty', fieldName: 'drtwPumpGrssPpqty', header: { text: '오수펌프\n총양수량' }, footer: footerAvgDecimalArrayByDivision, valueType: ValueType.NUMBER, numberFormat: '#,##0.0' }, // pltwtrTotCpcty -> drtwPumpGrssPpqty { name: 'drtwPumpWholPpqty', fieldName: 'drtwPumpWholPpqty', header: { text: '오수펌프\n총양수량' }, footer: footerAvgDecimalArrayByDivision, valueType: ValueType.NUMBER, numberFormat: '#,##0.0' },
{ name: 'exlnPumpGrssPpqty', fieldName: 'exlnPumpGrssPpqty', header: { text: '우수펌프\n총양수량' }, footer: footerAvgDecimalArrayByDivision, valueType: ValueType.NUMBER, numberFormat: '#,##0.0' }, // rainwtrTotCpcty -> exlnPumpGrssPpqty { name: 'exlnPumpWholPpqty', fieldName: 'exlnPumpWholPpqty', header: { text: '우수펌프\n총양수량' }, footer: footerAvgDecimalArrayByDivision, valueType: ValueType.NUMBER, numberFormat: '#,##0.0' },
/* 4. 오수펌프 상세 (1, 2, 3) */ /* 4. 오수펌프 상세 (1, 2, 3) */
{ name: 'drtwPumpN1DmtrArea', fieldName: 'drtwPumpN1DmtrArea', header: { text: '구경(mm)' }, valueType: ValueType.NUMBER, numberFormat: '#,##0.0' }, // pltwtrPumpCalbr1 -> drtwPumpN1DmtrArea { 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' }, // pltwtrPumpCpcty1 -> drtwPumpN1Ppqty { 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' }, // pltwtrPumpCnt1 -> drtwPumpN1Cnt { 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' }, // pltwtrPumpPreparCnt1 -> drtwPumpN1RsrvCnt { 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: '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: '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: '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: '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: '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' }, { name: 'drtwPumpN3RsrvCnt', fieldName: 'drtwPumpN3RsrvCnt', header: { text: '예비대수' }, footer: footerIntArrayByDivision, valueType: ValueType.NUMBER, numberFormat: '#,##0' },
/* 5. 우수펌프 상세 (1, 2, 3) - N1, N2, N3*/ /* 5. 우수펌프 상세 (1, 2, 3) */
{ name: 'exlnPumpN1DmtrArea', fieldName: 'exlnPumpN1DmtrArea', header: { text: '구경(mm)' }, valueType: ValueType.NUMBER, numberFormat: '#,##0.0' }, // rainwtrPumpCalbr1 -> exlnPumpN1DmtrArea { 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' }, // rainwtrPumpCpcty1 -> exlnPumpN1Ppqty { 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' }, // rainwtrPumpCnt1 -> exlnPumpN1Cnt { name: 'exlnPumpN1Cnt', fieldName: 'exlnPumpN1Cnt', header: { text: '펌프대수' }, footer: footerIntArrayByDivision, valueType: ValueType.NUMBER, numberFormat: '#,##0' },
{ name: 'exlnPumpN4RsrvCnt', fieldName: 'exlnPumpN4RsrvCnt', header: { text: '예비대수' }, footer: footerIntArrayByDivision, valueType: ValueType.NUMBER, numberFormat: '#,##0' }, // rainwtrPumpPreparCnt1 -> exlnPumpN4RsrvCnt { 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: '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: '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: '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: '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: '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' }, { name: 'exlnPumpN3RsrvCnt', fieldName: 'exlnPumpN3RsrvCnt', header: { text: '예비대수' }, footer: footerIntArrayByDivision, valueType: ValueType.NUMBER, numberFormat: '#,##0' },
/* 6. 기타 및 운영 */ /* 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: '비고' } }, { name: 'rmrk', fieldName: 'rmrk', header: { text: '비고' } },
], ],
columnLayout: [ columnLayout: [
@@ -152,45 +152,45 @@ export const rawPumpingStationInfoList = {
'sggNm', 'sggNm',
] ]
}, },
'pumpstNm', 'fcltNm',
'displayYear', 'displayYear',
'swtrmtFcltNm', 'swtrmtFcltNm',
'pumpSeNm', 'pumpSeNm',
'impdFcltPstnCn', 'fcltPstnCn',
'oprtngStrtYmd', 'oprtngStrtYmd',
'planMltvArea', 'planDrnar',
{ {
name: 'groupB', name: 'groupB',
header: { text: '계획시간대최대배수량(m3/hr)' }, header: { text: '계획시간대최대배수량(m3/hr)' },
items: ['sndyArea', 'rainArea', 'exlnQnt'], items: ['icodwArea', 'rainArea', 'exlnQnt'],
}, },
{ {
name: 'groupC', name: 'groupC',
header: { text: '배수능력' }, header: { text: '배수능력' },
items: [ items: [
'drtwPumpGrssPpqty', 'drtwPumpWholPpqty',
{ {
name: 'pumpO_Detail', name: 'pumpO_Detail',
header: { text: '오수펌프 상세' }, header: { text: '오수펌프 상세' },
items: [ items: [
{ name: 'O1', header: { text: '오수펌프(1)' }, items: ['drtwPumpN1DmtrArea', 'drtwPumpN1Ppqty', 'drtwPumpN1Cnt', 'drtwPumpN1RsrvCnt'] }, { name: 'O1', header: { text: '오수펌프(1)' }, items: ['drtwPumpN1Dmtr', 'drtwPumpN1Ppqty', 'drtwPumpN1Cnt', 'drtwPumpN1RsrvCnt'] },
{ name: 'O2', header: { text: '오수펌프(2)' }, items: ['drtwPumpN2DmtrArea', 'drtwPumpN2Ppqty', 'drtwPumpN2Cnt', 'drtwPumpN2RsrvCnt'] }, { name: 'O2', header: { text: '오수펌프(2)' }, items: ['drtwPumpN2Dmtr', 'drtwPumpN2Ppqty', 'drtwPumpN2Cnt', 'drtwPumpN2RsrvCnt'] },
{ name: 'O3', header: { text: '오수펌프(3)' }, items: ['drtwPumpN3DmtrArea', 'drtwPumpN3Ppqty', 'drtwPumpN3Cnt', 'drtwPumpN3RsrvCnt'] } { name: 'O3', header: { text: '오수펌프(3)' }, items: ['drtwPumpN3Dmtr', 'drtwPumpN3Ppqty', 'drtwPumpN3Cnt', 'drtwPumpN3RsrvCnt'] }
] ]
}, },
'exlnPumpGrssPpqty', 'exlnPumpWholPpqty',
{ {
name: 'pumpW_Detail', name: 'pumpW_Detail',
header: { text: '우수펌프 상세' }, header: { text: '우수펌프 상세' },
items: [ items: [
{ name: 'W1', header: { text: '우수펌프(1)' }, items: ['exlnPumpN1DmtrArea', 'exlnPumpN1Ppqty', 'exlnPumpN1Cnt', 'exlnPumpN4RsrvCnt'] }, { name: 'W1', header: { text: '우수펌프(1)' }, items: ['exlnPumpN1Dmtr', 'exlnPumpN1Ppqty', 'exlnPumpN1Cnt', 'exlnPumpN1RsrvCnt'] },
{ name: 'W2', header: { text: '우수펌프(2)' }, items: ['exlnPumpN2DmtrArea', 'exlnPumpN2Ppqty', 'exlnPumpN2Cnt', 'exlnPumpN2RsrvCnt'] }, { name: 'W2', header: { text: '우수펌프(2)' }, items: ['exlnPumpN2Dmtr', 'exlnPumpN2Ppqty', 'exlnPumpN2Cnt', 'exlnPumpN2RsrvCnt'] },
{ name: 'W3', header: { text: '우수펌프(3)' }, items: ['exlnPumpN3DmtrArea', 'exlnPumpN3Ppqty', 'exlnPumpN3Cnt', 'exlnPumpN3RsrvCnt'] } { name: 'W3', header: { text: '우수펌프(3)' }, items: ['exlnPumpN3Dmtr', 'exlnPumpN3Ppqty', 'exlnPumpN3Cnt', 'exlnPumpN3RsrvCnt'] }
] ]
} }
], ],
}, },
'anlElpwrUseQnt', 'anlElpwrUsqty',
'rmrk', 'rmrk',
], ],
fixedColumns: 3, fixedColumns: 3,

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