Compare commits

..
192 changed files with 4585 additions and 4574 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.lclgvSbmsnSttsCd === null || {statusInfo.laeSbmsnSttsCd === null ||
statusInfo.lclgvSbmsnSttsCd === "0" ? ( statusInfo.laeSbmsnSttsCd === "0" ? (
"미작성" "미작성"
) : statusInfo.lclgvSbmsnSttsCd === "1" ? ( ) : statusInfo.laeSbmsnSttsCd === "1" ? (
<span className="animate-pulse">작성중</span> <span className="animate-pulse">작성중</span>
) : statusInfo.lclgvSbmsnSttsCd === "2" ? ( ) : statusInfo.laeSbmsnSttsCd === "2" ? (
<span className="!text-[#2094fa]">제출</span> <span className="!text-[#2094fa]">제출</span>
) : statusInfo.lclgvSbmsnSttsCd === "3" ? ( ) : statusInfo.laeSbmsnSttsCd === "3" ? (
<span className="!text-[#1fd078]">승인</span> <span className="!text-[#1fd078]">승인</span>
) : statusInfo.lclgvSbmsnSttsCd === "4" ? ( ) : statusInfo.laeSbmsnSttsCd === "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.lclgvSbmsnYmd {statusInfo.laeSbmsnYmd
? statusInfo.lclgvSbmsnYmd.length === 8 && ? statusInfo.laeSbmsnYmd.length === 8 &&
/^\d{8}$/.test(statusInfo.lclgvSbmsnYmd) /^\d{8}$/.test(statusInfo.laeSbmsnYmd)
? `${statusInfo.lclgvSbmsnYmd.slice(0, 4)}-${statusInfo.lclgvSbmsnYmd.slice(4, 6)}-${statusInfo.lclgvSbmsnYmd.slice(6, 8)}` ? `${statusInfo.laeSbmsnYmd.slice(0, 4)}-${statusInfo.laeSbmsnYmd.slice(4, 6)}-${statusInfo.laeSbmsnYmd.slice(6, 8)}`
: statusInfo.lclgvSbmsnYmd : statusInfo.laeSbmsnYmd
: "미제출"} : "미제출"}
</span> </span>
<span> <span>
담당자:{" "} 담당자:{" "}
{statusInfo.lclgvPicNm ? statusInfo.lclgvPicNm : "-"} {statusInfo.laePicNm ? statusInfo.laePicNm : "-"}
</span> </span>
<span> <span>
연락처:{" "} 연락처:{" "}
{statusInfo.lclgvPicTelnoCn {statusInfo.laePicTelNo
? statusInfo.lclgvPicTelnoCn ? statusInfo.laePicTelNo
: "-"} : "-"}
</span> </span>
</div> </div>
@@ -70,7 +70,7 @@ export type ExceptionRejectSubmitItem = {
statsYr: string; statsYr: string;
sewerBzmnCd: string; sewerBzmnCd: string;
statsCd: string; statsCd: string;
mdfrUuid: string; mdfrId: 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 !== "vrfcSttsNm") return undefined; if (fieldName !== "prcsYnNm") return undefined;
const code = prcsYnCodeToNumber(row.vrfcSttsCd); const code = prcsYnCodeToNumber(row.prcsYn);
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: "nowCn", fieldName: "nowCn", header: { text: "입력값" }, editable: false }, { name: "nowVlCn", fieldName: "nowVlCn", header: { text: "입력값" }, editable: false },
{ name: "cmprCn", fieldName: "cmprCn", header: { text: "기준값" }, editable: false }, { name: "compVlCn", fieldName: "compVlCn", header: { text: "기준값" }, editable: false },
{ name: "vrfcSttsNm", fieldName: "vrfcSttsNm", header: { text: "처리여부" }, editable: false }, { name: "prcsYnNm", fieldName: "prcsYnNm", header: { text: "처리여부" }, editable: false },
{ name: "statsVrfcRjtComNm", fieldName: "statsVrfcRjtComNm", header: { text: "반려상태" }, editable: false }, { name: "stVrfRjtComNm", fieldName: "stVrfRjtComNm", 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: "vrfcSttsCd", fieldName: "vrfcSttsCd", header: { text: "검증결과상태코드" }, editable: false, visible: false }, { name: "prcsYn", fieldName: "prcsYn", 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",
"nowCn", "nowVlCn",
"cmprCn", "compVlCn",
"vrfcSttsNm", "prcsYnNm",
"statsVrfcRjtComNm", "stVrfRjtComNm",
"prcsOpnnExpln", "prcsOpnnExpln",
"rjctOpnnCn", "rjctOpnnCn",
"regDt", "regDt",
"mdfcnDt", "mdfcnDt",
"individualReject", "individualReject",
"vrfcSttsCd", "prcsYn",
"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,
nowCn: item.nowCn ?? "-", nowVlCn: item.nowVlCn ?? "-",
cmprCn: item.cmprCn ?? "-", compVlCn: item.compVlCn ?? "-",
vrfcSttsNm: item.vrfcSttsNm ?? "-", prcsYnNm: item.prcsYnNm ?? "-",
statsVrfcRjtComNm: item.statsVrfcRjtComNm ?? "-", stVrfRjtComNm: item.stVrfRjtComNm ?? "-",
prcsOpnnExpln: item.prcsOpnnExpln ?? "-", prcsOpnnExpln: item.prcsOpnnExpln ?? "-",
rjctOpnnCn: item.rjctOpnnCn ?? "-", rjctOpnnCn: item.rjctOpnnCn ?? "-",
vrfcSttsCd: item.vrfcSttsCd ?? "", prcsYn: item.prcsYn ?? "",
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 mdfrUuid = userInfo.userUnqId; const mdfrId = 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,
mdfrUuid, mdfrId,
vrfcSn: String(vrfcSn), vrfcSn: String(vrfcSn),
...(trimmedReason ? { rjctOpnnCn: trimmedReason } : {}), ...(trimmedReason ? { rjctOpnnCn: trimmedReason } : {}),
})); }));
+2 -5
View File
@@ -145,9 +145,6 @@ 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>>(
@@ -482,12 +479,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={isDetailInputId} htmlFor="isDetail"
> >
세부 데이터 포함 세부 데이터 포함
</Label> </Label>
<Checkbox <Checkbox
id={isDetailInputId} id="isDetail"
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() ?? "",
userUuid: userInfo.userUnqId, userId: 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: "nowCn", fieldName: "nowCn", header: { text: "입력값" }, editable: false }, { name: "nowVlCn", fieldName: "nowVlCn", header: { text: "입력값" }, editable: false },
{ name: "cmprCn", fieldName: "cmprCn", header: { text: "기준값" }, editable: false }, { name: "compVlCn", fieldName: "compVlCn", header: { text: "기준값" }, editable: false },
{ name: "vrfcSttsNm", fieldName: "vrfcSttsNm", header: { text: "처리여부" }, editable: false }, { name: "prcsYn", fieldName: "prcsYn", 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",
"nowCn", "nowVlCn",
"cmprCn", "compVlCn",
"vrfcSttsNm", "prcsYn",
"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,
nowCn: item.nowCn ?? "-", nowVlCn: item.nowVlCn ?? "-",
cmprCn: item.cmprCn ?? "-", compVlCn: item.compVlCn ?? "-",
vrfcSttsNm: item.vrfcSttsNm ?? PRCS_YN_LABEL[item.vrfcSttsCd] ?? item.vrfcSttsCd, prcsYn: item.prcsYnNm ?? PRCS_YN_LABEL[item.prcsYn] ?? item.prcsYn,
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,
userUuid: userInfo.userUnqId, userId: 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.vrfcSttsCd ?? "")); next.set(sn, String(entry.prcsYn ?? ""));
} }
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.vrfcSttsCd : storedPrcsYn; const prcsYn = onPage ? onPage.prcsYn : 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 !== "vrfcSttsNm") return undefined; if (fieldName !== "prcsYnNm") return undefined;
const code = prcsYnCodeToNumber(row.vrfcSttsCd); const code = prcsYnCodeToNumber(row.prcsYn);
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: "nowCn", fieldName: "nowCn", header: { text: "입력값" }, editable: false }, { name: "nowVlCn", fieldName: "nowVlCn", header: { text: "입력값" }, editable: false },
{ name: "cmprCn", fieldName: "cmprCn", header: { text: "기준값" }, editable: false }, { name: "compVlCn", fieldName: "compVlCn", header: { text: "기준값" }, editable: false },
{ name: "vrfcSttsNm", fieldName: "vrfcSttsNm", header: { text: "처리여부" }, editable: false }, { name: "prcsYnNm", fieldName: "prcsYnNm", header: { text: "처리여부" }, editable: false },
{ name: "statsVrfcRjtComNm", fieldName: "statsVrfcRjtComNm", header: { text: "반려상태" }, editable: false }, { name: "stVrfRjtComNm", fieldName: "stVrfRjtComNm", 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: "vrfcSttsCd", fieldName: "vrfcSttsCd", header: { text: "검증결과상태코드" }, editable: false, visible: false }, { name: "prcsYn", fieldName: "prcsYn", 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",
"nowCn", "nowVlCn",
"cmprCn", "compVlCn",
"vrfcSttsNm", "prcsYnNm",
"statsVrfcRjtComNm", "stVrfRjtComNm",
"prcsOpnnExpln", "prcsOpnnExpln",
"rjctOpnnCn", "rjctOpnnCn",
"regDt", "regDt",
"mdfcnDt", "mdfcnDt",
"vrfcSttsCd", "prcsYn",
"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,
nowCn: item.nowCn ?? "-", nowVlCn: item.nowVlCn ?? "-",
cmprCn: item.cmprCn ?? "-", compVlCn: item.compVlCn ?? "-",
vrfcSttsNm: item.vrfcSttsNm ?? "-", prcsYnNm: item.prcsYnNm ?? "-",
statsVrfcRjtComNm: item.statsVrfcRjtComNm ?? "-", stVrfRjtComNm: item.stVrfRjtComNm ?? "-",
prcsOpnnExpln: item.prcsOpnnExpln ?? "-", prcsOpnnExpln: item.prcsOpnnExpln ?? "-",
rjctOpnnCn: item.rjctOpnnCn ?? "-", rjctOpnnCn: item.rjctOpnnCn ?? "-",
vrfcSttsCd: item.vrfcSttsCd ?? "", prcsYn: item.prcsYn ?? "",
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 mdfrUuid: string; let mdfrId: string;
try { try {
const userInfo = await getUserInfo(); const userInfo = await getUserInfo();
mdfrUuid = userInfo.userUnqId; mdfrId = 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,
mdfrUuid, mdfrId,
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.vrfcSttsCd)) { if (checked && !canExceptionReset(entry.prcsYn)) {
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.vrfcSttsCd ?? "")); if (checked) map.set(vrfcSn, String(entry.prcsYn ?? ""));
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.vrfcSttsCd)) { if (canExceptionReset(entry.prcsYn)) {
map.set(vrfcSn, String(entry.vrfcSttsCd ?? "")); map.set(vrfcSn, String(entry.prcsYn ?? ""));
} else { } else {
uncheckGridRow(gridRef, itemIndex); uncheckGridRow(gridRef, itemIndex);
} }
}); });
}); });
if (checked && entries.some((e) => !canExceptionReset(e.vrfcSttsCd))) { if (checked && entries.some((e) => !canExceptionReset(e.prcsYn))) {
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.nowCn ?? "-"} / 비교:{" "} 현재: {item.nowVlCn ?? "-"} / 비교:{" "}
{item.cmprCn ?? "-"} {item.compVlCn ?? "-"}
</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?.lclgvSbmsnSttsCd) { if (statusInfo?.laeSbmsnSttsCd) {
if (["2", "3"].includes(statusInfo.lclgvSbmsnSttsCd)) { if (["2", "3"].includes(statusInfo.laeSbmsnSttsCd)) {
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?.lclgvSbmsnSttsCd === "2"; const isSubmitted = statusInfo?.laeSbmsnSttsCd === "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),
telnoCn: nullableTrimmedString(row.telnoCn), telNo: nullableTrimmedString(row.telNo),
cmptnStrtYmd: toApiYmd(row.cmptnStrtYmd), cmptnStrtYmd: toApiYmd(row.cmptnStrtYmd),
oprtngStrtYmd: toApiYmd(row.oprtngStrtYmd), oprtngStrtYmd: toApiYmd(row.oprtngStrtYmd),
wholPjtcoAmt: toGridNumber(row.wholPjtcoAmt), wholPjtcoAmt: toGridNumber(row.wholPjtcoAmt),
fcltCpct: toGridNumber(row.fcltCpct), prcsFcltCpct: toGridNumber(row.prcsFcltCpct),
excrFcltPrcqty: toGridNumber(row.excrFcltPrcqty), cpct: toGridNumber(row.cpct),
fcltOprtngDayCnt: toGridNumber(row.fcltOprtngDayCnt), oprtngDayCnt: toGridNumber(row.oprtngDayCnt),
prcsExpln: nullableTrimmedString(row.prcsExpln), prcsMthdExpln: nullableTrimmedString(row.prcsMthdExpln),
linkTmplntCn: nullableTrimmedString(row.linkTmplntCn), linkTmplntCn: nullableTrimmedString(row.linkTmplntCn),
linkPrcsQnt: toGridNumber(row.linkPrcsQnt), linkPrcsQnt: toGridNumber(row.linkPrcsQnt),
inflwWqBod: toGridNumber(row.inflwWqBod), inflwBodWqVl: toGridNumber(row.inflwBodWqVl),
inflwWqTorgcb: toGridNumber(row.inflwWqTorgcb), inflwTocWqVl: toGridNumber(row.inflwTocWqVl),
inflwWqSpsld: toGridNumber(row.inflwWqSpsld), inflwSsWqVl: toGridNumber(row.inflwSsWqVl),
inflwWqDtn: toGridNumber(row.inflwWqDtn), inflwTnWqVl: toGridNumber(row.inflwTnWqVl),
inflwWqTph: toGridNumber(row.inflwWqTph), inflwTpWqVl: toGridNumber(row.inflwTpWqVl),
fcltInflwClfgCnt: toGridNumber(row.fcltInflwClfgCnt), inflwClfgCnt: toGridNumber(row.inflwClfgCnt),
dschgWqBod: toGridNumber(row.dschgWqBod), dschgBodWqVl: toGridNumber(row.dschgBodWqVl),
dschgWqTorgcb: toGridNumber(row.dschgWqTorgcb), dschgTocWqVl: toGridNumber(row.dschgTocWqVl),
dschgWqSpsld: toGridNumber(row.dschgWqSpsld), dschgSsWqVl: toGridNumber(row.dschgSsWqVl),
dschgWqDtn: toGridNumber(row.dschgWqDtn), dschgTnWqVl: toGridNumber(row.dschgTnWqVl),
dschgWqTph: toGridNumber(row.dschgWqTph), dschgTpWqVl: toGridNumber(row.dschgTpWqVl),
fcltDschgClfgCnt: toGridNumber(row.fcltDschgClfgCnt), dschgClfgCnt: toGridNumber(row.dschgClfgCnt),
fcltWtsysNm: nullableTrimmedString(row.fcltWtsysNm), wtsysNm: nullableTrimmedString(row.wtsysNm),
fcltTrbtrNm: nullableTrimmedString(row.fcltTrbtrNm), trbtrNm: nullableTrimmedString(row.trbtrNm),
msirbCn: nullableTrimmedString(row.msirbCn), msirbCn: nullableTrimmedString(row.msirbCn),
ssirbCn: nullableTrimmedString(row.ssirbCn), ssirbCn: nullableTrimmedString(row.ssirbCn),
operCn: nullableTrimmedString(row.operCn), operMthdCdCn: nullableTrimmedString(row.operMthdCdCn),
wholNope: toGridNumber(row.wholNope), wholNope: toGridNumber(row.wholNope),
sftyAcdntNocs: toGridNumber(row.sftyAcdntNocs), sftyAcdntEvntcsCnt: toGridNumber(row.sftyAcdntEvntcsCnt),
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 ?? "",
mdfrUuid: userInfo.userUnqId, mdfrId: 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),
userUuid: userInfo.userUnqId, userId: 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),
userUuid: userInfo.userUnqId, userId: userInfo.userUnqId,
lclgvPicNm: submitInfo.lclgvPicNm, laePicNm: submitInfo.laePicNm,
lclgvPicTelnoCn: submitInfo.lclgvPicTelnoCn, laePicTelNo: submitInfo.laePicTelNo,
lclgvKbrdrDeptNm: submitInfo.lclgvKbrdrDeptNm, laeKbrdrDeptNm: submitInfo.laeKbrdrDeptNm,
lclgvKbrdrJbgdNm: submitInfo.lclgvKbrdrJbgdNm, laeKbrdrJbgdNm: submitInfo.laeKbrdrJbgdNm,
lclgvIdfrNm: submitInfo.lclgvIdfrNm, laeIdfrNm: submitInfo.laeIdfrNm,
lclgvIdfrTelnoCn: submitInfo.lclgvIdfrTelnoCn, laeIdfrTelNo: submitInfo.laeIdfrTelNo,
lclgvIdfrDeptNm: submitInfo.lclgvIdfrDeptNm, laeIdfrDeptNm: submitInfo.laeIdfrDeptNm,
lclgvIdfrJbgdNm: submitInfo.lclgvIdfrJbgdNm, laeIdfrJbgdNm: submitInfo.laeIdfrJbgdNm,
...(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?.lclgvSbmsnSttsCd === "4" ? "4" : "2", statusInfo?.laeSbmsnSttsCd === "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.cmprCn} / 현재 입력값: ${e.nowCn})`; (검증 기준값: ${e.compVlCn} / 현재 입력값: ${e.nowVlCn})`;
}) })
.filter(Boolean) .filter(Boolean)
.join("\n"); .join("\n");
@@ -1044,7 +1044,7 @@ const ExcretaTreatmentFacilityInp = () => {
{submitOk && <SubmitButton submitFunc={submitFunc} />} {submitOk && <SubmitButton submitFunc={submitFunc} />}
</> </>
)} )}
{statusInfo?.lclgvSbmsnSttsCd === "2" && submitOk && ( {statusInfo?.laeSbmsnSttsCd === "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?.lclgvSbmsnSttsCd) { if (statusInfo?.laeSbmsnSttsCd) {
if (["2", "3"].includes(statusInfo.lclgvSbmsnSttsCd)) { if (["2", "3"].includes(statusInfo.laeSbmsnSttsCd)) {
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?.lclgvSbmsnSttsCd === "2"; const isSubmitted = statusInfo?.laeSbmsnSttsCd === "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),
frlvlStaaPrcqty: formatNumber(d.frlvlStaaPrcqty, "frlvlStaaPrcqty"), step1StaaPrcsQnt: formatNumber(d.step1StaaPrcsQnt, "step1StaaPrcsQnt"),
sclvlStaaPrcqty: formatNumber(d.sclvlStaaPrcqty, "sclvlStaaPrcqty"), step2StaaPrcsQnt: formatNumber(d.step2StaaPrcsQnt, "step2StaaPrcsQnt"),
thlvlStaaPrcqty: formatNumber(d.thlvlStaaPrcqty, "thlvlStaaPrcqty"), step3StaaPrcsQnt: formatNumber(d.step3StaaPrcsQnt, "step3StaaPrcsQnt"),
folvlStaaPrcqty: formatNumber(d.folvlStaaPrcqty, "folvlStaaPrcqty"), step4StaaPrcsQnt: formatNumber(d.step4StaaPrcsQnt, "step4StaaPrcsQnt"),
filvlStaaPrcqty: formatNumber(d.filvlStaaPrcqty, "filvlStaaPrcqty"), step5StaaPrcsQnt: formatNumber(d.step5StaaPrcsQnt, "step5StaaPrcsQnt"),
sxlvlStaaPrcqty: formatNumber(d.sxlvlStaaPrcqty, "sxlvlStaaPrcqty"), step6StaaPrcsQnt: formatNumber(d.step6StaaPrcsQnt, "step6StaaPrcsQnt"),
svlvlStaaPrcqty: formatNumber(d.svlvlStaaPrcqty, "svlvlStaaPrcqty"), step7StaaPrcsQnt: formatNumber(d.step7StaaPrcsQnt, "step7StaaPrcsQnt"),
frlvlStaaOtsdPrcqty: formatNumber(d.frlvlStaaOtsdPrcqty, "frlvlStaaOtsdPrcqty"), step1StaaExcpPrcsQnt: formatNumber(d.step1StaaExcpPrcsQnt, "step1StaaExcpPrcsQnt"),
sclvlStaaOtsdPrcqty: formatNumber(d.sclvlStaaOtsdPrcqty, "sclvlStaaOtsdPrcqty"), step2StaaExcpPrcsQnt: formatNumber(d.step2StaaExcpPrcsQnt, "step2StaaExcpPrcsQnt"),
thlvlStaaOtsdPrcqty: formatNumber(d.thlvlStaaOtsdPrcqty, "thlvlStaaOtsdPrcqty"), step3StaaExcpPrcsQnt: formatNumber(d.step3StaaExcpPrcsQnt, "step3StaaExcpPrcsQnt"),
folvlStaaOtsdPrcqty: formatNumber(d.folvlStaaOtsdPrcqty, "folvlStaaOtsdPrcqty"), step4StaaExcpPrcsQnt: formatNumber(d.step4StaaExcpPrcsQnt, "step4StaaExcpPrcsQnt"),
filvlStaaOtsdPrcqty: formatNumber(d.filvlStaaOtsdPrcqty, "filvlStaaOtsdPrcqty"), step5StaaExcpPrcsQnt: formatNumber(d.step5StaaExcpPrcsQnt, "step5StaaExcpPrcsQnt"),
sxlvlStaaOtsdPrcqty: formatNumber(d.sxlvlStaaOtsdPrcqty, "sxlvlStaaOtsdPrcqty"), step6StaaExcpPrcsQnt: formatNumber(d.step6StaaExcpPrcsQnt, "step6StaaExcpPrcsQnt"),
svlvlStaaOtsdPrcqty: formatNumber(d.svlvlStaaOtsdPrcqty, "svlvlStaaOtsdPrcqty"), step7StaaExcpPrcsQnt: formatNumber(d.step7StaaExcpPrcsQnt, "step7StaaExcpPrcsQnt"),
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),
staaInsdSpctnkNatrCnt: formatNumber(d.staaInsdSpctnkNatrCnt, "staaInsdSpctnkNatrCnt"), staaInsdSttkNprsflCnt: formatNumber(d.staaInsdSttkNprsflCnt, "staaInsdSttkNprsflCnt"),
staaInsdSpctnkFrcCnt: formatNumber(d.staaInsdSpctnkFrcCnt, "staaInsdSpctnkFrcCnt"), step1StaaInsdSttkFrcCnt: formatNumber(d.step1StaaInsdSttkFrcCnt, "step1StaaInsdSttkFrcCnt"),
staaInsdSprklFiltrCnt: formatNumber(d.staaInsdSprklFiltrCnt, "staaInsdSprklFiltrCnt"), staaInsdSprktpFltrtbCnt: formatNumber(d.staaInsdSprktpFltrtbCnt, "staaInsdSprktpFltrtbCnt"),
staaInsdAirCnt: formatNumber(d.staaInsdAirCnt, "staaInsdAirCnt"), staaInsdAertMthdCnt: formatNumber(d.staaInsdAertMthdCnt, "staaInsdAertMthdCnt"),
staaInsdCntcAirCnt: formatNumber(d.staaInsdCntcAirCnt, "staaInsdCntcAirCnt"), staaInsdCntcAertCnt: formatNumber(d.staaInsdCntcAertCnt, "staaInsdCntcAertCnt"),
staaInsdEtcCnt: formatNumber(d.staaInsdEtcCnt, "staaInsdEtcCnt"), staaInsdEtcCnt: formatNumber(d.staaInsdEtcCnt, "staaInsdEtcCnt"),
frlvlStaaInsdNope: formatNumber(d.frlvlStaaInsdNope, "frlvlStaaInsdNope"), step1StaaInsdNope: formatNumber(d.step1StaaInsdNope, "step1StaaInsdNope"),
sclvlStaaInsdNope: formatNumber(d.sclvlStaaInsdNope, "sclvlStaaInsdNope"), step2StaaInsdNope: formatNumber(d.step2StaaInsdNope, "step2StaaInsdNope"),
thlvlStaaInsdNope: formatNumber(d.thlvlStaaInsdNope, "thlvlStaaInsdNope"), step3StaaInsdNope: formatNumber(d.step3StaaInsdNope, "step3StaaInsdNope"),
folvlStaaInsdNope: formatNumber(d.folvlStaaInsdNope, "folvlStaaInsdNope"), step4StaaInsdNope: formatNumber(d.step4StaaInsdNope, "step4StaaInsdNope"),
filvlStaaInsdNope: formatNumber(d.filvlStaaInsdNope, "filvlStaaInsdNope"), step5StaaInsdNope: formatNumber(d.step5StaaInsdNope, "step5StaaInsdNope"),
sxlvlStaaInsdNope: formatNumber(d.sxlvlStaaInsdNope, "sxlvlStaaInsdNope"), step6StaaInsdNope: formatNumber(d.step6StaaInsdNope, "step6StaaInsdNope"),
svlvlStaaInsdNope: formatNumber(d.svlvlStaaInsdNope, "svlvlStaaInsdNope"), step7StaaInsdNope: formatNumber(d.step7StaaInsdNope, "step7StaaInsdNope"),
eilvlStaaInsdNope: formatNumber(d.eilvlStaaInsdNope, "eilvlStaaInsdNope"), step8StaaInsdNope: formatNumber(d.step8StaaInsdNope, "step8StaaInsdNope"),
staaOtsdSpctnkNatrCnt: formatNumber(d.staaOtsdSpctnkNatrCnt, "staaOtsdSpctnkNatrCnt"), staaExcpSttkNprsflCnt: formatNumber(d.staaExcpSttkNprsflCnt, "staaExcpSttkNprsflCnt"),
staaOtsdSpctnkFrcCnt: formatNumber(d.staaOtsdSpctnkFrcCnt, "staaOtsdSpctnkFrcCnt"), step1StaaExcpSttkFrcCnt: formatNumber(d.step1StaaExcpSttkFrcCnt, "step1StaaExcpSttkFrcCnt"),
staaOtsdSprklFiltrCnt: formatNumber(d.staaOtsdSprklFiltrCnt, "staaOtsdSprklFiltrCnt"), staaExcpSprktpFltrtbCnt: formatNumber(d.staaExcpSprktpFltrtbCnt, "staaExcpSprktpFltrtbCnt"),
staaOtsdAirCnt: formatNumber(d.staaOtsdAirCnt, "staaOtsdAirCnt"), staaExcpAertMthdCnt: formatNumber(d.staaExcpAertMthdCnt, "staaExcpAertMthdCnt"),
staaOtsdCntcAirCnt: formatNumber(d.staaOtsdCntcAirCnt, "staaOtsdCntcAirCnt"), staaExcpCntcAertCnt: formatNumber(d.staaExcpCntcAertCnt, "staaExcpCntcAertCnt"),
staaOtsdEtcCnt: formatNumber(d.staaOtsdEtcCnt, "staaOtsdEtcCnt"), staaExcpEtcCnt: formatNumber(d.staaExcpEtcCnt, "staaExcpEtcCnt"),
frlvlStaaOtsdNope: formatNumber(d.frlvlStaaOtsdNope, "frlvlStaaOtsdNope"), step1StaaExcpNope: formatNumber(d.step1StaaExcpNope, "step1StaaExcpNope"),
sclvlStaaOtsdNope: formatNumber(d.sclvlStaaOtsdNope, "sclvlStaaOtsdNope"), step2StaaExcpNope: formatNumber(d.step2StaaExcpNope, "step2StaaExcpNope"),
thlvlStaaOtsdNope: formatNumber(d.thlvlStaaOtsdNope, "thlvlStaaOtsdNope"), step3StaaExcpNope: formatNumber(d.step3StaaExcpNope, "step3StaaExcpNope"),
folvlStaaOtsdNope: formatNumber(d.folvlStaaOtsdNope, "folvlStaaOtsdNope"), step4StaaExcpNope: formatNumber(d.step4StaaExcpNope, "step4StaaExcpNope"),
filvlStaaOtsdNope: formatNumber(d.filvlStaaOtsdNope, "filvlStaaOtsdNope"), step5StaaExcpNope: formatNumber(d.step5StaaExcpNope, "step5StaaExcpNope"),
sxlvlStaaOtsdNope: formatNumber(d.sxlvlStaaOtsdNope, "sxlvlStaaOtsdNope"), step6StaaExcpNope: formatNumber(d.step6StaaExcpNope, "step6StaaExcpNope"),
svlvlStaaOtsdNope: formatNumber(d.svlvlStaaOtsdNope, "svlvlStaaOtsdNope"), step7StaaExcpNope: formatNumber(d.step7StaaExcpNope, "step7StaaExcpNope"),
eilvlStaaOtsdNope: formatNumber(d.eilvlStaaOtsdNope, "eilvlStaaOtsdNope"), step8StaaExcpNope: formatNumber(d.step8StaaExcpNope, "step8StaaExcpNope"),
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"),
spctnkWholFcltCnt: formatNumber(d.spctnkWholFcltCnt, "spctnkWholFcltCnt"), spctnkGrssFcltCnt: formatNumber(d.spctnkGrssFcltCnt, "spctnkGrssFcltCnt"),
spctnkPrcqty: formatNumber(d.spctnkPrcqty, "spctnkPrcqty"), spctnkQnt: formatNumber(d.spctnkQnt, "spctnkQnt"),
swgdplFcltWholFcltCnt: formatNumber( drtwPrcsFcltGrssFcltCnt: formatNumber(
d.swgdplFcltWholFcltCnt, d.drtwPrcsFcltGrssFcltCnt,
"swgdplFcltWholFcltCnt", "drtwPrcsFcltGrssFcltCnt",
), ),
swgdplFcltPrcqty: formatNumber(d.swgdplFcltPrcqty, "swgdplFcltPrcqty"), drtwPrcsFcltQnt: formatNumber(d.drtwPrcsFcltQnt, "drtwPrcsFcltQnt"),
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 ?? "",
mdfrUuid: userInfo.userUnqId, mdfrId: 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),
lclgvPicNm: submitInfo.lclgvPicNm, laePicNm: submitInfo.laePicNm,
lclgvPicTelnoCn: submitInfo.lclgvPicTelnoCn, laePicTelNo: submitInfo.laePicTelNo,
lclgvKbrdrDeptNm: submitInfo.lclgvKbrdrDeptNm, laeKbrdrDeptNm: submitInfo.laeKbrdrDeptNm,
lclgvKbrdrJbgdNm: submitInfo.lclgvKbrdrJbgdNm, laeKbrdrJbgdNm: submitInfo.laeKbrdrJbgdNm,
lclgvIdfrNm: submitInfo.lclgvIdfrNm, laeIdfrNm: submitInfo.laeIdfrNm,
lclgvIdfrTelnoCn: submitInfo.lclgvIdfrTelnoCn, laeIdfrTelNo: submitInfo.laeIdfrTelNo,
lclgvIdfrDeptNm: submitInfo.lclgvIdfrDeptNm, laeIdfrDeptNm: submitInfo.laeIdfrDeptNm,
lclgvIdfrJbgdNm: submitInfo.lclgvIdfrJbgdNm, laeIdfrJbgdNm: submitInfo.laeIdfrJbgdNm,
}; };
const verificationQuery = { const verificationQuery = {
@@ -840,7 +840,7 @@ const PrivateSewageFacilityInp = () => {
if (isSewageTreatTab) { if (isSewageTreatTab) {
const param: SewageTreatFactStatusSubmitRequest = { const param: SewageTreatFactStatusSubmitRequest = {
...submitInfoBase, ...submitInfoBase,
userUuid: userInfo.userUnqId, userId: 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,
userUuid: userInfo.userUnqId, userId: 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,
userUuid: userInfo.userUnqId, userId: 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?.lclgvSbmsnSttsCd === "4" ? "4" : "2", lae_sbmsn_stts_cd: activeTabStatus?.laeSbmsnSttsCd === "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,
userUuid: userInfo.userUnqId, userId: 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,
userUuid: userInfo.userUnqId, userId: 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,
userUuid: userInfo.userUnqId, userId: 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.cmprCn} / 현재 입력값: ${e.nowCn})`; return `${prefix}${e.rsnExpln}(검증 기준값: ${e.compVlCn} / 현재 입력값: ${e.nowVlCn})`;
}) })
.filter(Boolean) .filter(Boolean)
.join("\n"); .join("\n");
@@ -1202,7 +1202,7 @@ const PrivateSewageFacilityInp = () => {
{submitOk && <SubmitButton submitFunc={submitFunc} />} {submitOk && <SubmitButton submitFunc={submitFunc} />}
</> </>
)} )}
{activeTabStatus?.lclgvSbmsnSttsCd === "2" && submitOk && ( {activeTabStatus?.laeSbmsnSttsCd === "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?.lclgvSbmsnSttsCd) { if (statusInfo?.laeSbmsnSttsCd) {
if (['2', '3'].includes(statusInfo.lclgvSbmsnSttsCd)) { if (['2', '3'].includes(statusInfo.laeSbmsnSttsCd)) {
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?.lclgvSbmsnSttsCd === '2'; const isSubmitted = statusInfo?.laeSbmsnSttsCd === '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),
userUuid: userInfo.userUnqId, userId: userInfo.userUnqId,
noApplicable, noApplicable,
lclgvPicNm: submitInfo.lclgvPicNm, laePicNm: submitInfo.laePicNm,
lclgvKbrdrJbgdNm: submitInfo.lclgvKbrdrJbgdNm, laeKbrdrJbgdNm: submitInfo.laeKbrdrJbgdNm,
lclgvKbrdrDeptNm: submitInfo.lclgvKbrdrDeptNm, laeKbrdrDeptNm: submitInfo.laeKbrdrDeptNm,
lclgvPicTelnoCn: submitInfo.lclgvPicTelnoCn, laePicTelNo: submitInfo.laePicTelNo,
lclgvIdfrNm: submitInfo.lclgvIdfrNm, laeIdfrNm: submitInfo.laeIdfrNm,
lclgvIdfrJbgdNm: submitInfo.lclgvIdfrJbgdNm, laeIdfrJbgdNm: submitInfo.laeIdfrJbgdNm,
lclgvIdfrDeptNm: submitInfo.lclgvIdfrDeptNm, laeIdfrDeptNm: submitInfo.laeIdfrDeptNm,
lclgvIdfrTelnoCn: submitInfo.lclgvIdfrTelnoCn, laeIdfrTelNo: submitInfo.laeIdfrTelNo,
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?.lclgvSbmsnSttsCd === '4' ? '4' : '2', lae_sbmsn_stts_cd: activeTabStatus?.laeSbmsnSttsCd === '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),
userUuid: userInfo.userUnqId, userId: 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),
userUuid: userInfo.userUnqId, userId: 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,
userUuid: userInfo.userUnqId, userId: 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 ?? '',
mdfrUuid: userInfo.userUnqId, mdfrId: userInfo.userUnqId,
statsCd: statsCdForCancel, statsCd: statsCdForCancel,
}; };
@@ -1203,17 +1203,15 @@ const PublicSewageFacilityInp = () => {
alert('해당 시설은 중심처리시설의 위탁시설로 연결되어있습니다.'); alert('해당 시설은 중심처리시설의 위탁시설로 연결되어있습니다.');
} }
const mappedTargetRows = applyExclusiveSelfMappingChecks( const mappedTargetRows = applyExclusiveSelfMappingChecks(
toGridRows( rawList.map((item) => ({
rawList.map((item) => ({ ...item,
...item, __checked: item.mappedYn === 'Y' ? 'Y' : '',
__checked: item.mappedYn === 'Y' ? 'Y' : '', })),
})),
),
fcltSn, fcltSn,
); );
setRowDataMap((prev) => { setRowDataMap((prev) => {
const next = new Map(prev); const next = new Map(prev);
next.set('MainFacilityTarget', mappedTargetRows); next.set('MainFacilityTarget', toGridRows(mappedTargetRows));
return next; return next;
}); });
} catch { } catch {
@@ -1323,7 +1321,7 @@ const PublicSewageFacilityInp = () => {
{submitOk && <SubmitButton submitFunc={submitFunc} />} {submitOk && <SubmitButton submitFunc={submitFunc} />}
</> </>
)} )}
{!isMainFacilityTab && activeTabStatus?.lclgvSbmsnSttsCd === '2' && submitOk && ( {!isMainFacilityTab && activeTabStatus?.laeSbmsnSttsCd === '2' && submitOk && (
<CancelSubmitButton cnacelSubmitFunc={cnacelSubmitFunc} /> <CancelSubmitButton cnacelSubmitFunc={cnacelSubmitFunc} />
)} )}
{showSaveInToolbar && <SaveButton saveFunc={saveFunc} />} {showSaveInToolbar && <SaveButton saveFunc={saveFunc} />}
@@ -1579,8 +1577,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.cmprCn ?? ""; const comp = e.compVlCn ?? "";
const now = e.nowCn ?? ""; const now = e.nowVlCn ?? "";
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?.lclgvSbmsnSttsCd) { if (statusInfo?.laeSbmsnSttsCd) {
if (["2", "3"].includes(statusInfo.lclgvSbmsnSttsCd)) { if (["2", "3"].includes(statusInfo.laeSbmsnSttsCd)) {
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?.lclgvSbmsnSttsCd === "2"; const isSubmitted = statusInfo?.laeSbmsnSttsCd === "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),
planDrnar: toGridNumber(row.planDrnar), planMltvArea: toGridNumber(row.planMltvArea),
icodwArea: toGridNumber(row.icodwArea), sndyArea: toGridNumber(row.sndyArea),
rainArea: toGridNumber(row.rainArea), rainArea: toGridNumber(row.rainArea),
drtwPumpN1Dmtr: toGridNumber(row.drtwPumpN1Dmtr), drtwPumpN1DmtrArea: toGridNumber(row.drtwPumpN1DmtrArea),
drtwPumpN1Ppqty: toGridNumber(row.drtwPumpN1Ppqty), drtwPumpN1Ppqty: toGridNumber(row.drtwPumpN1Ppqty),
drtwPumpN1Cnt: toGridNumber(row.drtwPumpN1Cnt), drtwPumpN1Cnt: toGridNumber(row.drtwPumpN1Cnt),
drtwPumpN1RsrvCnt: toGridNumber(row.drtwPumpN1RsrvCnt), drtwPumpN1RsrvCnt: toGridNumber(row.drtwPumpN1RsrvCnt),
drtwPumpN2Dmtr: toGridNumber(row.drtwPumpN2Dmtr), drtwPumpN2DmtrArea: toGridNumber(row.drtwPumpN2DmtrArea),
drtwPumpN2Ppqty: toGridNumber(row.drtwPumpN2Ppqty), drtwPumpN2Ppqty: toGridNumber(row.drtwPumpN2Ppqty),
drtwPumpN2Cnt: toGridNumber(row.drtwPumpN2Cnt), drtwPumpN2Cnt: toGridNumber(row.drtwPumpN2Cnt),
drtwPumpN2RsrvCnt: toGridNumber(row.drtwPumpN2RsrvCnt), drtwPumpN2RsrvCnt: toGridNumber(row.drtwPumpN2RsrvCnt),
drtwPumpN3Dmtr: toGridNumber(row.drtwPumpN3Dmtr), drtwPumpN3DmtrArea: toGridNumber(row.drtwPumpN3DmtrArea),
drtwPumpN3Ppqty: toGridNumber(row.drtwPumpN3Ppqty), drtwPumpN3Ppqty: toGridNumber(row.drtwPumpN3Ppqty),
drtwPumpN3Cnt: toGridNumber(row.drtwPumpN3Cnt), drtwPumpN3Cnt: toGridNumber(row.drtwPumpN3Cnt),
drtwPumpN3RsrvCnt: toGridNumber(row.drtwPumpN3RsrvCnt), drtwPumpN3RsrvCnt: toGridNumber(row.drtwPumpN3RsrvCnt),
exlnPumpN1Dmtr: toGridNumber(row.exlnPumpN1Dmtr), exlnPumpN1DmtrArea: toGridNumber(row.exlnPumpN1DmtrArea),
exlnPumpN1Ppqty: toGridNumber(row.exlnPumpN1Ppqty), exlnPumpN1Ppqty: toGridNumber(row.exlnPumpN1Ppqty),
exlnPumpN1Cnt: toGridNumber(row.exlnPumpN1Cnt), exlnPumpN1Cnt: toGridNumber(row.exlnPumpN1Cnt),
exlnPumpN1RsrvCnt: toGridNumber(row.exlnPumpN1RsrvCnt), exlnPumpN1RsrvCnt: toGridNumber(row.exlnPumpN1RsrvCnt),
exlnPumpN2Dmtr: toGridNumber(row.exlnPumpN2Dmtr), exlnPumpN2DmtrArea: toGridNumber(row.exlnPumpN2DmtrArea),
exlnPumpN2Ppqty: toGridNumber(row.exlnPumpN2Ppqty), exlnPumpN2Ppqty: toGridNumber(row.exlnPumpN2Ppqty),
exlnPumpN2Cnt: toGridNumber(row.exlnPumpN2Cnt), exlnPumpN2Cnt: toGridNumber(row.exlnPumpN2Cnt),
exlnPumpN2RsrvCnt: toGridNumber(row.exlnPumpN2RsrvCnt), exlnPumpN2RsrvCnt: toGridNumber(row.exlnPumpN2RsrvCnt),
exlnPumpN3Dmtr: toGridNumber(row.exlnPumpN3Dmtr), exlnPumpN3DmtrArea: toGridNumber(row.exlnPumpN3DmtrArea),
exlnPumpN3Ppqty: toGridNumber(row.exlnPumpN3Ppqty), exlnPumpN3Ppqty: toGridNumber(row.exlnPumpN3Ppqty),
exlnPumpN3Cnt: toGridNumber(row.exlnPumpN3Cnt), exlnPumpN3Cnt: toGridNumber(row.exlnPumpN3Cnt),
exlnPumpN3RsrvCnt: toGridNumber(row.exlnPumpN3RsrvCnt), exlnPumpN3RsrvCnt: toGridNumber(row.exlnPumpN3RsrvCnt),
anlElpwrUsqty: toGridNumber(row.anlElpwrUsqty), anlElpwrUseQnt: toGridNumber(row.anlElpwrUseQnt),
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 ?? "",
mdfrUuid: userInfo.userUnqId, mdfrId: 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),
userUuid: userInfo.userUnqId, userId: 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),
userUuid: userInfo.userUnqId, userId: userInfo.userUnqId,
lclgvPicNm: submitInfo.lclgvPicNm, laePicNm: submitInfo.laePicNm,
lclgvPicTelnoCn: submitInfo.lclgvPicTelnoCn, laePicTelNo: submitInfo.laePicTelNo,
lclgvKbrdrDeptNm: submitInfo.lclgvKbrdrDeptNm, laeKbrdrDeptNm: submitInfo.laeKbrdrDeptNm,
lclgvKbrdrJbgdNm: submitInfo.lclgvKbrdrJbgdNm, laeKbrdrJbgdNm: submitInfo.laeKbrdrJbgdNm,
lclgvIdfrNm: submitInfo.lclgvIdfrNm, laeIdfrNm: submitInfo.laeIdfrNm,
lclgvIdfrTelnoCn: submitInfo.lclgvIdfrTelnoCn, laeIdfrTelNo: submitInfo.laeIdfrTelNo,
lclgvIdfrDeptNm: submitInfo.lclgvIdfrDeptNm, laeIdfrDeptNm: submitInfo.laeIdfrDeptNm,
lclgvIdfrJbgdNm: submitInfo.lclgvIdfrJbgdNm, laeIdfrJbgdNm: submitInfo.laeIdfrJbgdNm,
...(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?.lclgvSbmsnSttsCd === "4" ? "4" : "2", statusInfo?.laeSbmsnSttsCd === "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.cmprCn} / 현재 입력값: ${e.nowCn})`; (검증 기준값: ${e.compVlCn} / 현재 입력값: ${e.nowVlCn})`;
}) })
.filter(Boolean) .filter(Boolean)
.join("\n"); .join("\n");
@@ -1027,7 +1027,7 @@ const PumpingStationInp = () => {
{submitOk && <SubmitButton submitFunc={submitFunc} />} {submitOk && <SubmitButton submitFunc={submitFunc} />}
</> </>
)} )}
{statusInfo?.lclgvSbmsnSttsCd === "2" && submitOk && ( {statusInfo?.laeSbmsnSttsCd === "2" && submitOk && (
<CancelSubmitButton cnacelSubmitFunc={cnacelSubmitFunc} /> <CancelSubmitButton cnacelSubmitFunc={cnacelSubmitFunc} />
)} )}
{showSaveInToolbar && <SaveButton saveFunc={saveFunc} />} {showSaveInToolbar && <SaveButton saveFunc={saveFunc} />}
@@ -16,7 +16,6 @@ import { statisticsApi } from "@/entities/statistics/api/statistics-service";
import type { import type {
ExcretaRelatedIndustrySaveItem, ExcretaRelatedIndustrySaveItem,
PrivateSewageTreatRelatedIndustrySaveItem, PrivateSewageTreatRelatedIndustrySaveItem,
PublicInstitutionExcretaIndustrySaveItem,
PublicInstitutionSewerIndustrySaveItem, PublicInstitutionSewerIndustrySaveItem,
SewageExcretaRelatedRequestParams, SewageExcretaRelatedRequestParams,
SewageExcretaRelatedVerificationResult, SewageExcretaRelatedVerificationResult,
@@ -158,8 +157,8 @@ const computeTabEnterable = (
statusInfo: SewerageStatusInfo | null | undefined, statusInfo: SewerageStatusInfo | null | undefined,
periodEnterable: boolean, periodEnterable: boolean,
): boolean => { ): boolean => {
if (statusInfo?.lclgvSbmsnSttsCd) { if (statusInfo?.laeSbmsnSttsCd) {
if (["2", "3"].includes(statusInfo.lclgvSbmsnSttsCd)) { if (["2", "3"].includes(statusInfo.laeSbmsnSttsCd)) {
return false; return false;
} }
return periodEnterable; return periodEnterable;
@@ -195,7 +194,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?.lclgvSbmsnSttsCd === "2"; const isSubmitted = statusInfo?.laeSbmsnSttsCd === "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;
@@ -239,20 +238,10 @@ function isCheckedRow(row: Record<string, string | number>): boolean {
type ArticleOgnzSnSet = Set<string>; type ArticleOgnzSnSet = Set<string>;
const PUBLIC_INSTITUTION_OGNZ_SN_FIELD = "statsOgnzSn" as const; function extractOgnzSnSet(rows: Record<string, string | number>[]): ArticleOgnzSnSet {
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 = getPublicInstitutionOgnzSn(row); const ognzSn = String(row.ognzSn ?? "").trim();
if (ognzSn) set.add(ognzSn); if (ognzSn) set.add(ognzSn);
} }
return set; return set;
@@ -288,7 +277,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 = getPublicInstitutionOgnzSn(row); const ognzSn = String(row.ognzSn ?? "").trim();
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);
@@ -413,18 +402,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 | PublicInstitutionExcretaIndustrySaveItem { ): PublicInstitutionSewerIndustrySaveItem {
const { admdstCd, admdstNm } = resolvePublicInstitutionAdmdst(row, sggOptions); const { admdstCd, admdstNm } = resolvePublicInstitutionAdmdst(row, sggOptions);
return { return {
admdstCd, admdstCd,
admdstNm, admdstNm,
statsOgnzSn: nullableTrimmedString(row.statsOgnzSn), ognzSn: nullableTrimmedString(row.ognzSn),
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),
chemCnt: toGridNumber(row.chemCnt), chmengCnt: toGridNumber(row.chmengCnt),
envCnt: toGridNumber(row.envCnt), envCnt: toGridNumber(row.envCnt),
enjbEtcCnt: toGridNumber(row.enjbEtcCnt), enjbEtcCnt: toGridNumber(row.enjbEtcCnt),
etcCnt: toGridNumber(row.etcCnt), etcCnt: toGridNumber(row.etcCnt),
@@ -441,9 +430,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),
frlvlTonUdrCnt: toGridNumber(row.frlvlTonUdrCnt), n3TonUdrCnt: toGridNumber(row.n3TonUdrCnt),
sclvlTonUdrCnt: toGridNumber(row.sclvlTonUdrCnt), n4TonUdrCnt: toGridNumber(row.n4TonUdrCnt),
thlvlTonUdrCnt: toGridNumber(row.thlvlTonUdrCnt), n8TonUdrCnt: toGridNumber(row.n8TonUdrCnt),
etcCnt: toGridNumber(row.etcCnt), etcCnt: toGridNumber(row.etcCnt),
clctCnvncPrfmncQnt: toGridNumber(row.clctCnvncPrfmncQnt), clctCnvncPrfmncQnt: toGridNumber(row.clctCnvncPrfmncQnt),
rmrk: nullableTrimmedString(row.rmrk), rmrk: nullableTrimmedString(row.rmrk),
@@ -561,7 +550,7 @@ function verificationCellTooltip({
? "일반검증 - " ? "일반검증 - "
: "모집단 검증 - "; : "모집단 검증 - ";
return `${prefix}${e.rsnExpln} return `${prefix}${e.rsnExpln}
(검증 기준값: ${e.cmprCn} / 현재 입력값: ${e.nowCn})`; (검증 기준값: ${e.compVlCn} / 현재 입력값: ${e.nowVlCn})`;
}) })
.filter(Boolean) .filter(Boolean)
.join("\n"); .join("\n");
@@ -1190,7 +1179,7 @@ const SewageExcretaRelatedInp = () => {
...toInputSearchRegion(sidoListRef.current, ctx), ...toInputSearchRegion(sidoListRef.current, ctx),
ctpvNm: ctx.sido ?? "", ctpvNm: ctx.sido ?? "",
statsYr: ctx.year ?? "", statsYr: ctx.year ?? "",
mdfrUuid: userInfo.userUnqId, mdfrId: userInfo.userUnqId,
statsCd: statsCdForTab, statsCd: statsCdForTab,
}; };
@@ -1328,12 +1317,9 @@ const SewageExcretaRelatedInp = () => {
let submitList: let submitList:
| PublicInstitutionSewerIndustrySaveItem[] | PublicInstitutionSewerIndustrySaveItem[]
| PublicInstitutionExcretaIndustrySaveItem[]
| ExcretaRelatedIndustrySaveItem[] | ExcretaRelatedIndustrySaveItem[]
| PrivateSewageTreatRelatedIndustrySaveItem[]; | PrivateSewageTreatRelatedIndustrySaveItem[];
let deleteList: let deleteList: PublicInstitutionSewerIndustrySaveItem[] = [];
| PublicInstitutionSewerIndustrySaveItem[]
| PublicInstitutionExcretaIndustrySaveItem[] = [];
let sggList: Sgg[] = []; let sggList: Sgg[] = [];
if (isDistrictRowTab) { if (isDistrictRowTab) {
@@ -1365,7 +1351,7 @@ const SewageExcretaRelatedInp = () => {
sggList = list; sggList = list;
const rowsForSubmit = mergeGridRowsWithMapRows(currentData, mapRows, [ const rowsForSubmit = mergeGridRowsWithMapRows(currentData, mapRows, [
PUBLIC_INSTITUTION_OGNZ_SN_FIELD, "ognzSn",
"admdstCd", "admdstCd",
"admdstNm", "admdstNm",
"__isNewArticle", "__isNewArticle",
@@ -1401,14 +1387,14 @@ const SewageExcretaRelatedInp = () => {
const submitRequestBase = { const submitRequestBase = {
...searchContextBase, ...searchContextBase,
lclgvPicNm: submitInfo.lclgvPicNm, laePicNm: submitInfo.laePicNm,
lclgvPicTelnoCn: submitInfo.lclgvPicTelnoCn, laePicTelNo: submitInfo.laePicTelNo,
lclgvKbrdrDeptNm: submitInfo.lclgvKbrdrDeptNm, laeKbrdrDeptNm: submitInfo.laeKbrdrDeptNm,
lclgvKbrdrJbgdNm: submitInfo.lclgvKbrdrJbgdNm, laeKbrdrJbgdNm: submitInfo.laeKbrdrJbgdNm,
lclgvIdfrNm: submitInfo.lclgvIdfrNm, laeIdfrNm: submitInfo.laeIdfrNm,
lclgvIdfrTelnoCn: submitInfo.lclgvIdfrTelnoCn, laeIdfrTelNo: submitInfo.laeIdfrTelNo,
lclgvIdfrDeptNm: submitInfo.lclgvIdfrDeptNm, laeIdfrDeptNm: submitInfo.laeIdfrDeptNm,
lclgvIdfrJbgdNm: submitInfo.lclgvIdfrJbgdNm, laeIdfrJbgdNm: submitInfo.laeIdfrJbgdNm,
...(isPublicInstitutionTab ? { noApplicable } : {}), ...(isPublicInstitutionTab ? { noApplicable } : {}),
...(isAdminInfo ? { superAdmin: "superAdmin" as const } : {}), ...(isAdminInfo ? { superAdmin: "superAdmin" as const } : {}),
}; };
@@ -1451,14 +1437,14 @@ const SewageExcretaRelatedInp = () => {
tabKey === ExcretaRelatedIndustryInpColumn.tabKey tabKey === ExcretaRelatedIndustryInpColumn.tabKey
? await statisticsInputSewageExcretaRelatedApi.submitExcretaRelatedIndustry({ ? await statisticsInputSewageExcretaRelatedApi.submitExcretaRelatedIndustry({
...submitRequestBase, ...submitRequestBase,
userUuid: userInfo.userUnqId, userId: userInfo.userUnqId,
submitList: submitList as ExcretaRelatedIndustrySaveItem[], submitList: submitList as ExcretaRelatedIndustrySaveItem[],
}) })
: tabKey === PrivateSewageTreatRelatedIndustryInpColumn.tabKey : tabKey === PrivateSewageTreatRelatedIndustryInpColumn.tabKey
? await statisticsInputSewageExcretaRelatedApi.submitPrivateSewageTreatRelatedIndustry( ? await statisticsInputSewageExcretaRelatedApi.submitPrivateSewageTreatRelatedIndustry(
{ {
...submitRequestBase, ...submitRequestBase,
userUuid: userInfo.userUnqId, userId: userInfo.userUnqId,
submitList: submitList:
submitList as PrivateSewageTreatRelatedIndustrySaveItem[], submitList as PrivateSewageTreatRelatedIndustrySaveItem[],
}, },
@@ -1467,17 +1453,17 @@ const SewageExcretaRelatedInp = () => {
? await statisticsInputSewageExcretaRelatedApi.submitPublicInstitutionSewerIndustry( ? await statisticsInputSewageExcretaRelatedApi.submitPublicInstitutionSewerIndustry(
{ {
...submitRequestBase, ...submitRequestBase,
userUuid: userInfo.userUnqId, userId: userInfo.userUnqId,
submitList: submitList as PublicInstitutionSewerIndustrySaveItem[], submitList: submitList as PublicInstitutionSewerIndustrySaveItem[],
deleteList: deleteList as PublicInstitutionSewerIndustrySaveItem[], deleteList,
}, },
) )
: await statisticsInputSewageExcretaRelatedApi.submitPublicInstitutionExcretaIndustry( : await statisticsInputSewageExcretaRelatedApi.submitPublicInstitutionExcretaIndustry(
{ {
...submitRequestBase, ...submitRequestBase,
userUuid: userInfo.userUnqId, userId: userInfo.userUnqId,
submitList: submitList as PublicInstitutionExcretaIndustrySaveItem[], submitList: submitList as PublicInstitutionSewerIndustrySaveItem[],
deleteList: deleteList as PublicInstitutionExcretaIndustrySaveItem[], deleteList,
}, },
); );
@@ -1498,7 +1484,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?.lclgvSbmsnSttsCd === "4" ? "4" : "2", activeTabStatus?.laeSbmsnSttsCd === "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,
}; };
@@ -1591,7 +1577,7 @@ const SewageExcretaRelatedInp = () => {
setIsLoading(true); setIsLoading(true);
const userInfo = await getUserInfo(); const userInfo = await getUserInfo();
const userFields = { const userFields = {
userUuid: userInfo.userUnqId, userId: userInfo.userUnqId,
...(isAdminInfo ? { superAdmin: "superAdmin" as const } : {}), ...(isAdminInfo ? { superAdmin: "superAdmin" as const } : {}),
}; };
@@ -1642,7 +1628,7 @@ const SewageExcretaRelatedInp = () => {
sggList = list; sggList = list;
const rowsForSave = mergeGridRowsWithMapRows(currentData, mapRows, [ const rowsForSave = mergeGridRowsWithMapRows(currentData, mapRows, [
PUBLIC_INSTITUTION_OGNZ_SN_FIELD, "ognzSn",
"admdstCd", "admdstCd",
"admdstNm", "admdstNm",
"__isNewArticle", "__isNewArticle",
@@ -1675,16 +1661,16 @@ const SewageExcretaRelatedInp = () => {
{ {
...baseSaveRequest, ...baseSaveRequest,
...userFields, ...userFields,
saveList: saveList as PublicInstitutionSewerIndustrySaveItem[], saveList,
deleteList: deleteList as PublicInstitutionSewerIndustrySaveItem[], deleteList,
}, },
) )
: await statisticsInputSewageExcretaRelatedApi.savePublicInstitutionExcretaIndustry( : await statisticsInputSewageExcretaRelatedApi.savePublicInstitutionExcretaIndustry(
{ {
...baseSaveRequest, ...baseSaveRequest,
...userFields, ...userFields,
saveList: saveList as PublicInstitutionExcretaIndustrySaveItem[], saveList,
deleteList: deleteList as PublicInstitutionExcretaIndustrySaveItem[], deleteList,
}, },
); );
} else { } else {
@@ -2025,7 +2011,7 @@ const SewageExcretaRelatedInp = () => {
{submitOk && <SubmitButton submitFunc={submitFunc} />} {submitOk && <SubmitButton submitFunc={submitFunc} />}
</> </>
)} )}
{activeTabStatus?.lclgvSbmsnSttsCd === "2" && submitOk && ( {activeTabStatus?.laeSbmsnSttsCd === "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.cmprCn} / 현재 입력값: ${e.nowCn})`; (검증 기준값: ${e.compVlCn} / 현재 입력값: ${e.nowVlCn})`;
}) })
.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?.lclgvSbmsnSttsCd) { if (statusInfo?.laeSbmsnSttsCd) {
if (["2", "3"].includes(statusInfo.lclgvSbmsnSttsCd)) { if (["2", "3"].includes(statusInfo.laeSbmsnSttsCd)) {
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?.lclgvSbmsnSttsCd === "2"; const isSubmitted = statusInfo?.laeSbmsnSttsCd === "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),
sludgeFncRt: toGridNumber(row.sludgeFncRt), srpFncRt: toGridNumber(row.srpFncRt),
itslfFrlvlRclmQnt: toGridNumber(row.itslfFrlvlRclmQnt), itslfTs1RclmQnt: toGridNumber(row.itslfTs1RclmQnt),
itslfFrlvlIncnrQnt: toGridNumber(row.itslfFrlvlIncnrQnt), itslfTs1IncnrQnt: toGridNumber(row.itslfTs1IncnrQnt),
itslfFrlvlSldQnt: toGridNumber(row.itslfFrlvlSldQnt), itslfTs1AltdQnt: toGridNumber(row.itslfTs1AltdQnt),
itslfFrlvlDryQnt: toGridNumber(row.itslfFrlvlDryQnt), itslfTs1DryQnt: toGridNumber(row.itslfTs1DryQnt),
itslfFrlvlCrbnQnt: toGridNumber(row.itslfFrlvlCrbnQnt), itslfTs1FuelQnt: toGridNumber(row.itslfTs1FuelQnt),
itslfFrlvlCmpstgQnt: toGridNumber(row.itslfFrlvlCmpstgQnt), itslfTs1CmpstgQnt: toGridNumber(row.itslfTs1CmpstgQnt),
cmpsPrcsFcltBzentyNm: nullableTrimmedString(row.cmpsPrcsFcltBzentyNm), cmpsPrcsFcltBzentyNm: nullableTrimmedString(row.cmpsPrcsFcltBzentyNm),
incnrPrcsLfvlm: toGridNumber(row.incnrPrcsLfvlm), incnrPrcsLfvlm: toGridNumber(row.incnrPrcsLfvlm),
incnrPrcsPrdctRmtrlQnt: toGridNumber(row.incnrPrcsPrdctRmtrlQnt), incnrPrcsPrdctRmtrlQnt: toGridNumber(row.incnrPrcsPrdctRmtrlQnt),
incnrPrcsCwthQnt: toGridNumber(row.incnrPrcsCwthQnt), incnrPrcsFmlyrQnt: toGridNumber(row.incnrPrcsFmlyrQnt),
incnrPrcsFcltNm: nullableTrimmedString(row.incnrPrcsFcltNm), incnrPrcsFcltNm: nullableTrimmedString(row.incnrPrcsFcltNm),
sldPrcsLfvlm: toGridNumber(row.sldPrcsLfvlm), stbznPrcsLfvlm: toGridNumber(row.stbznPrcsLfvlm),
sldPrcsCwthQnt: toGridNumber(row.sldPrcsCwthQnt), stbznPrcsFmlyrQnt: toGridNumber(row.stbznPrcsFmlyrQnt),
sldPrcsFcltNm: nullableTrimmedString(row.sldPrcsFcltNm), stbznPrcsFcltNm: nullableTrimmedString(row.stbznPrcsFcltNm),
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),
dryPrcsCwthQnt: toGridNumber(row.dryPrcsCwthQnt), dryPrcsFmlyrQnt: toGridNumber(row.dryPrcsFmlyrQnt),
dryPrcsCmpstgQnt: toGridNumber(row.dryPrcsCmpstgQnt), dryPrcsCmpstgQnt: toGridNumber(row.dryPrcsCmpstgQnt),
dryPrcsFcltNm: nullableTrimmedString(row.dryPrcsFcltNm), dryPrcsFcltNm: nullableTrimmedString(row.dryPrcsFcltNm),
crbnPrcsIncnrQnt: toGridNumber(row.crbnPrcsIncnrQnt), fuelPrcsIncnrQnt: toGridNumber(row.fuelPrcsIncnrQnt),
crbnPrcsFuelQnt: toGridNumber(row.crbnPrcsFuelQnt), fuelPrcsFuelQnt: toGridNumber(row.fuelPrcsFuelQnt),
crbnPrcsFcltNm: nullableTrimmedString(row.crbnPrcsFcltNm), fuelPrcsFcltNm: nullableTrimmedString(row.fuelPrcsFcltNm),
otsdCnsgnRclmQnt: toGridNumber(row.otsdCnsgnRclmQnt), otsdCnsgnRclmQnt: toGridNumber(row.otsdCnsgnRclmQnt),
otsdCnsgnIncnrQnt: toGridNumber(row.otsdCnsgnIncnrQnt), otsdCnsgnIncnrQnt: toGridNumber(row.otsdCnsgnIncnrQnt),
otsdCnsgnPwplQnt: toGridNumber(row.otsdCnsgnPwplQnt), otsdCnsgnFuelPwplQnt: toGridNumber(row.otsdCnsgnFuelPwplQnt),
otsdCnsgnPrdctRmtrlQnt: toGridNumber(row.otsdCnsgnPrdctRmtrlQnt), otsdCnsgnPrdctRmtrlQnt: toGridNumber(row.otsdCnsgnPrdctRmtrlQnt),
otsdCnsgnCwthQnt: toGridNumber(row.otsdCnsgnCwthQnt), otsdCnsgnFmlyrQnt: toGridNumber(row.otsdCnsgnFmlyrQnt),
otsdCnsgnCmpstgQnt: toGridNumber(row.otsdCnsgnCmpstgQnt), otsdCnsgnCmpstgQnt: toGridNumber(row.otsdCnsgnCmpstgQnt),
otsdCnsgnFcltNm: nullableTrimmedString(row.otsdCnsgnFcltNm), otsdCnsgnFcltNm: nullableTrimmedString(row.otsdCnsgnFcltNm),
cparFrlvlWholQnt: toGridNumber(row.cparFrlvlWholQnt), cparTs1Whol: toGridNumber(row.cparTs1Whol),
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),
gasPrcsEnYn: nullableTrimmedString(row.gasPrcsEnYn), digstnEnYn: nullableTrimmedString(row.digstnEnYn),
}; };
if (isDigestorOperatingRowDisabled(row)) { if (isDigestorOperatingRowDisabled(row)) {
return { return {
...base, ...base,
gasPrcsEnYn: "N", digstnEnYn: "N",
gasPrcsCpct: 0, digstnCpct: 0,
actlDrvnCpct: 0, actlDrvnCpct: 0,
prcsGasInputQnt: 0, digstnGasInputQnt: 0,
prcsGasInputSldDnst: 0, digstnGasInputSldDnst: 0,
prcsRepoOprtngDayCnt: 0, digstnTnkOprtngDayCnt: 0,
ocrnGasQnt: 0, ocrnGasQnt: 0,
prcsGasUtztnNtslQnt: 0, digstnGasUtztnNtslQnt: 0,
prcsGasUtztnEtgtQnt: 0, digstnGasUtztnEtgtQnt: 0,
prcsGasUtztnItslfQnt: 0, digstnGasUtztnItslfQnt: 0,
prcsGasUtztnEtcQnt: 0, digstnGasUtztnEtcQnt: 0,
surplsGasQnt: 0, surplsGasQnt: 0,
rmrk: null, rmrk: null,
}; };
@@ -577,16 +577,16 @@ function buildDigestorOperatingStatusSaveItem(
return { return {
...base, ...base,
gasPrcsCpct: toGridNumber(row.gasPrcsCpct), digstnCpct: toGridNumber(row.digstnCpct),
actlDrvnCpct: toGridNumber(row.actlDrvnCpct), actlDrvnCpct: toGridNumber(row.actlDrvnCpct),
prcsGasInputQnt: toGridNumber(row.prcsGasInputQnt), digstnGasInputQnt: toGridNumber(row.digstnGasInputQnt),
prcsGasInputSldDnst: toGridNumber(row.prcsGasInputSldDnst), digstnGasInputSldDnst: toGridNumber(row.digstnGasInputSldDnst),
prcsRepoOprtngDayCnt: toGridNumber(row.prcsRepoOprtngDayCnt), digstnTnkOprtngDayCnt: toGridNumber(row.digstnTnkOprtngDayCnt),
ocrnGasQnt: toGridNumber(row.ocrnGasQnt), ocrnGasQnt: toGridNumber(row.ocrnGasQnt),
prcsGasUtztnNtslQnt: toGridNumber(row.prcsGasUtztnNtslQnt), digstnGasUtztnNtslQnt: toGridNumber(row.digstnGasUtztnNtslQnt),
prcsGasUtztnEtgtQnt: toGridNumber(row.prcsGasUtztnEtgtQnt), digstnGasUtztnEtgtQnt: toGridNumber(row.digstnGasUtztnEtgtQnt),
prcsGasUtztnItslfQnt: toGridNumber(row.prcsGasUtztnItslfQnt), digstnGasUtztnItslfQnt: toGridNumber(row.digstnGasUtztnItslfQnt),
prcsGasUtztnEtcQnt: toGridNumber(row.prcsGasUtztnEtcQnt), digstnGasUtztnEtcQnt: toGridNumber(row.digstnGasUtztnEtcQnt),
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),
sludgeFcltCpct: toGridNumber(row.sludgeFcltCpct), fcltCpct: toGridNumber(row.fcltCpct),
anlPrcsQnt: toGridNumber(row.anlPrcsQnt), anlPrcsQnt: toGridNumber(row.anlPrcsQnt),
dyrgOprtngHr: toGridNumber(row.dyrgOprtngHr), dayAvgOprtngHr: toGridNumber(row.dayAvgOprtngHr),
fcltAnlOprtngDayCnt: toGridNumber(row.fcltAnlOprtngDayCnt), anlOprtngDayCnt: toGridNumber(row.anlOprtngDayCnt),
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),
unprcsQnt: toGridNumber(row.unprcsQnt), nondspsQnt: toGridNumber(row.nondspsQnt),
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),
userUuid: "", userId: "",
lclgvPicNm: submitInfo.lclgvPicNm, laePicNm: submitInfo.laePicNm,
lclgvPicTelnoCn: submitInfo.lclgvPicTelnoCn, laePicTelNo: submitInfo.laePicTelNo,
lclgvKbrdrDeptNm: submitInfo.lclgvKbrdrDeptNm, laeKbrdrDeptNm: submitInfo.laeKbrdrDeptNm,
lclgvKbrdrJbgdNm: submitInfo.lclgvKbrdrJbgdNm, laeKbrdrJbgdNm: submitInfo.laeKbrdrJbgdNm,
lclgvIdfrNm: submitInfo.lclgvIdfrNm, laeIdfrNm: submitInfo.laeIdfrNm,
lclgvIdfrTelnoCn: submitInfo.lclgvIdfrTelnoCn, laeIdfrTelNo: submitInfo.laeIdfrTelNo,
lclgvIdfrDeptNm: submitInfo.lclgvIdfrDeptNm, laeIdfrDeptNm: submitInfo.laeIdfrDeptNm,
lclgvIdfrJbgdNm: submitInfo.lclgvIdfrJbgdNm, laeIdfrJbgdNm: submitInfo.laeIdfrJbgdNm,
...(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,
userUuid: userInfo.userUnqId, userId: userInfo.userUnqId,
submitList: slurgeSubmitList, submitList: slurgeSubmitList,
deleteList: slurgeDeleteList, deleteList: slurgeDeleteList,
}) })
: isDigestorTab : isDigestorTab
? await statisticsInputSewageExcretaSlurgeApi.submitDigestorOperatingStatus({ ? await statisticsInputSewageExcretaSlurgeApi.submitDigestorOperatingStatus({
...submitRequestBase, ...submitRequestBase,
userUuid: userInfo.userUnqId, userId: userInfo.userUnqId,
submitList: digestorSubmitList, submitList: digestorSubmitList,
}) })
: isSewageSlurgeFacTab : isSewageSlurgeFacTab
? await statisticsInputSewageExcretaSlurgeApi.submitSewageSlurgeProcessingFacStatus( ? await statisticsInputSewageExcretaSlurgeApi.submitSewageSlurgeProcessingFacStatus(
{ {
...submitRequestBase, ...submitRequestBase,
userUuid: userInfo.userUnqId, userId: userInfo.userUnqId,
submitList: sewageSlurgeFacSubmitList, submitList: sewageSlurgeFacSubmitList,
deleteList: sewageSlurgeFacDeleteList, deleteList: sewageSlurgeFacDeleteList,
}, },
@@ -1465,7 +1465,7 @@ const SewageExcretaSlurgeInp = () => {
: await statisticsInputSewageExcretaSlurgeApi.submitExcretaSlurgeProcessingStatus( : await statisticsInputSewageExcretaSlurgeApi.submitExcretaSlurgeProcessingStatus(
{ {
...submitRequestBase, ...submitRequestBase,
userUuid: userInfo.userUnqId, userId: 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?.lclgvSbmsnSttsCd === "4" ? "4" : "2", activeTabStatus?.laeSbmsnSttsCd === "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 ?? "",
mdfrUuid: userInfo.userUnqId, mdfrId: 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 = {
userUuid: userInfo.userUnqId, userId: 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?.lclgvSbmsnSttsCd === "2" && submitOk && ( {activeTabStatus?.laeSbmsnSttsCd === "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?.lclgvSbmsnSttsCd) { if (statusInfo?.laeSbmsnSttsCd) {
if (["2", "3"].includes(statusInfo.lclgvSbmsnSttsCd)) { if (["2", "3"].includes(statusInfo.laeSbmsnSttsCd)) {
return false; return false;
} }
return periodEnterable; return periodEnterable;
@@ -242,7 +242,6 @@ function normalizePipeTypeStatusRow(
lyngPrlgWhol, lyngPrlgWhol,
dmltnPrlgWhol, dmltnPrlgWhol,
verificationResult, verificationResult,
rmrk,
...rest ...rest
} = row; } = row;
const yearFields: Record<string, number> = {}; const yearFields: Record<string, number> = {};
@@ -257,7 +256,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.pipeWholPrlg ?? 0); (yearFields[`y${targetYear}PrlgWhol`] ?? 0) + Number(y.prlgWhol ?? 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`] =
@@ -267,9 +266,8 @@ function normalizePipeTypeStatusRow(
return { return {
ctpvNm, ctpvNm,
...rest, ...rest,
rmrk: rmrk ?? "", lyngPrlg: Number(row.lyngPrlg ?? lyngPrlgWhol ?? 0),
lyngPrlg: Number(lyngPrlgWhol ?? 0), dmltnPrlg: Number(row.dmltnPrlg ?? dmltnPrlgWhol ?? 0),
dmltnPrlg: Number(dmltnPrlgWhol ?? 0),
...yearFields, ...yearFields,
verificationResult: remapPipeTypePrlgWholVerification(verificationResult) ?? undefined, verificationResult: remapPipeTypePrlgWholVerification(verificationResult) ?? undefined,
}; };
@@ -343,29 +341,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"),
cbsysShpPrlg: formatNumber(d.cbsysShpPrlg, "cbsysShpPrlg"), cbsysSqrePrlg: formatNumber(d.cbsysSqrePrlg, "cbsysSqrePrlg"),
cbsysElpsdPrlg: formatNumber(d.cbsysElpsdPrlg, "cbsysElpsdPrlg"), cbsysCiclPrlg: formatNumber(d.cbsysCiclPrlg, "cbsysCiclPrlg"),
cbsysOpnPrlg: formatNumber(d.cbsysOpnPrlg, "cbsysOpnPrlg"), cbsysOpnPrlg: formatNumber(d.cbsysOpnPrlg, "cbsysOpnPrlg"),
cbsysLaditPrlg: formatNumber(d.cbsysLaditPrlg, "cbsysLaditPrlg"), cbsysGttrPrlg: formatNumber(d.cbsysGttrPrlg, "cbsysGttrPrlg"),
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"),
drtwPplShpPrlg: formatNumber(d.drtwPplShpPrlg, "drtwPplShpPrlg"), drtwPplSqrePrlg: formatNumber(d.drtwPplSqrePrlg, "drtwPplSqrePrlg"),
drtwPplElpsdPrlg: formatNumber(d.drtwPplElpsdPrlg, "drtwPplElpsdPrlg"), drtwPplCiclPrlg: formatNumber(d.drtwPplCiclPrlg, "drtwPplCiclPrlg"),
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"),
exlnPplShpPrlg: formatNumber(d.exlnPplShpPrlg, "exlnPplShpPrlg"), exlnPplSqrePrlg: formatNumber(d.exlnPplSqrePrlg, "exlnPplSqrePrlg"),
exlnPplElpsdPrlg: formatNumber(d.exlnPplElpsdPrlg, "exlnPplElpsdPrlg"), exlnPplCiclPrlg: formatNumber(d.exlnPplCiclPrlg, "exlnPplCiclPrlg"),
exlnPplOpnPrlg: formatNumber(d.exlnPplOpnPrlg, "exlnPplOpnPrlg"), exlnPplOpnPrlg: formatNumber(d.exlnPplOpnPrlg, "exlnPplOpnPrlg"),
exlnPplLaditPrlg: formatNumber(d.exlnPplLaditPrlg, "exlnPplLaditPrlg"), exlnPplGttrPrlg: formatNumber(d.exlnPplGttrPrlg, "exlnPplGttrPrlg"),
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"),
drtwDrgCnt: formatNumber(d.drtwDrgCnt, "drtwDrgCnt"), drtwRcvprpCnt: formatNumber(d.drtwRcvprpCnt, "drtwRcvprpCnt"),
exlnDrgCnt: formatNumber(d.exlnDrgCnt, "exlnDrgCnt"), exlnRcvprpCnt: formatNumber(d.exlnRcvprpCnt, "exlnRcvprpCnt"),
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"),
@@ -421,7 +419,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?.lclgvSbmsnSttsCd === "2"; const isSubmitted = statusInfo?.laeSbmsnSttsCd === "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;
@@ -1111,7 +1109,7 @@ const SewagePipeInp = () => {
...toInputSearchRegion(sidoListRef.current, searchValues), ...toInputSearchRegion(sidoListRef.current, searchValues),
ctpvNm: searchValues?.sido ?? "", ctpvNm: searchValues?.sido ?? "",
statsYr: searchValues?.year ?? "", statsYr: searchValues?.year ?? "",
userUuid: userInfo.userUnqId, userId: userInfo.userUnqId,
statsCd: statsCdForTab, statsCd: statsCdForTab,
}; };
@@ -1193,15 +1191,15 @@ const SewagePipeInp = () => {
statsYr: values.year ?? "", statsYr: values.year ?? "",
ctpvNm: values.sido ?? "", ctpvNm: values.sido ?? "",
...toInputSearchRegion(sidoListRef.current, values), ...toInputSearchRegion(sidoListRef.current, values),
userUuid: userInfo.userUnqId, userId: userInfo.userUnqId,
lclgvPicNm: submitInfo.lclgvPicNm, laePicNm: submitInfo.laePicNm,
lclgvKbrdrJbgdNm: submitInfo.lclgvKbrdrJbgdNm, laeKbrdrJbgdNm: submitInfo.laeKbrdrJbgdNm,
lclgvKbrdrDeptNm: submitInfo.lclgvKbrdrDeptNm, laeKbrdrDeptNm: submitInfo.laeKbrdrDeptNm,
lclgvPicTelnoCn: submitInfo.lclgvPicTelnoCn, laePicTelNo: submitInfo.laePicTelNo,
lclgvIdfrNm: submitInfo.lclgvIdfrNm, laeIdfrNm: submitInfo.laeIdfrNm,
lclgvIdfrJbgdNm: submitInfo.lclgvIdfrJbgdNm, laeIdfrJbgdNm: submitInfo.laeIdfrJbgdNm,
lclgvIdfrDeptNm: submitInfo.lclgvIdfrDeptNm, laeIdfrDeptNm: submitInfo.laeIdfrDeptNm,
lclgvIdfrTelnoCn: submitInfo.lclgvIdfrTelnoCn, laeIdfrTelNo: submitInfo.laeIdfrTelNo,
}; };
let response: SeweragePipeInputSubmitResponse | null = null; let response: SeweragePipeInputSubmitResponse | null = null;
@@ -1252,14 +1250,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"),
cbsysTrtznArea: formatNumber(d.cbsysTrtznArea, "cbsysTrtznArea"), cbsysPrcsZoneArea: formatNumber(d.cbsysPrcsZoneArea, "cbsysPrcsZoneArea"),
sprsysTrtznArea: formatNumber(d.sprsysTrtznArea, "sprsysTrtznArea"), sprsysPrcsZoneArea: formatNumber(d.sprsysPrcsZoneArea, "sprsysPrcsZoneArea"),
sprsysVartnRt: formatNumber(d.sprsysVartnRt, "sprsysVartnRt"), sprsysVartnRt: formatNumber(d.sprsysVartnRt, "sprsysVartnRt"),
wholDrgCnt: formatNumber(d.wholDrgCnt, "wholDrgCnt"), mltvEqpmCnt: formatNumber(d.mltvEqpmCnt, "mltvEqpmCnt"),
cbsysDrgCnt: formatNumber(d.cbsysDrgCnt, "cbsysDrgCnt"), cbsysMltvEqpmCnt: formatNumber(d.cbsysMltvEqpmCnt, "cbsysMltvEqpmCnt"),
sprsysDrgCnt: formatNumber(d.sprsysDrgCnt, "sprsysDrgCnt"), sprsysMltvEqpmCnt: formatNumber(d.sprsysMltvEqpmCnt, "sprsysMltvEqpmCnt"),
sprsysDrgLnkgCnt: formatNumber(d.sprsysDrgLnkgCnt, "sprsysDrgLnkgCnt"), sprsysMltvLnkgCnt: formatNumber(d.sprsysMltvLnkgCnt, "sprsysMltvLnkgCnt"),
sprsysDrgNoinsLnkgCnt: formatNumber(d.sprsysDrgNoinsLnkgCnt, "sprsysDrgNoinsLnkgCnt"), sprsysMltvYetLnkgCnt: formatNumber(d.sprsysMltvYetLnkgCnt, "sprsysMltvYetLnkgCnt"),
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"),
@@ -1267,10 +1265,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"),
wholPplPrlg: formatNumber(d.wholPplPrlg, "wholPplPrlg"), wholBrchlnPrlg: formatNumber(d.wholBrchlnPrlg, "wholBrchlnPrlg"),
cbsysPplPrlg: formatNumber(d.cbsysPplPrlg, "cbsysPplPrlg"), cbsysBrchlnPrlg: formatNumber(d.cbsysBrchlnPrlg, "cbsysBrchlnPrlg"),
exlnPplPrlg: formatNumber(d.exlnPplPrlg, "exlnPplPrlg"), exlnBrchlnPrlg: formatNumber(d.exlnBrchlnPrlg, "exlnBrchlnPrlg"),
drtwPplPrlg: formatNumber(d.drtwPplPrlg, "drtwPplPrlg"), drtwBrchlnPrlg: formatNumber(d.drtwBrchlnPrlg, "drtwBrchlnPrlg"),
rmrk: nullableTrimmedString(d.rmrk), rmrk: nullableTrimmedString(d.rmrk),
})); }));
const requestData: SeweragePipeInputFactInstallStatusSubmitRequest = { const requestData: SeweragePipeInputFactInstallStatusSubmitRequest = {
@@ -1311,7 +1309,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),
pipeWholPrlg: formatNumber(d[wholKey] as string | number | undefined, wholKey), prlgWhol: formatNumber(d[wholKey] as string | number | undefined, wholKey),
}); });
} }
return { return {
@@ -1354,15 +1352,15 @@ const SewagePipeInp = () => {
}; };
const submitList = currentData.map((d) => ({ const submitList = currentData.map((d) => ({
pipeSeCd: nullableTrimmedString(d.pipeSeCd), pipeSeCd: nullableTrimmedString(d.pipeSeCd),
frlvlPdmtPrlg: formatNumber(d.frlvlPdmtPrlg, "frlvlPdmtPrlg"), step1PdmtPrlg: formatNumber(d.step1PdmtPrlg, "step1PdmtPrlg"),
sclvlPdmtPrlg: formatNumber(d.sclvlPdmtPrlg, "sclvlPdmtPrlg"), step2PdmtPrlg: formatNumber(d.step2PdmtPrlg, "step2PdmtPrlg"),
thlvlPdmtPrlg: formatNumber(d.thlvlPdmtPrlg, "thlvlPdmtPrlg"), step3PdmtPrlg: formatNumber(d.step3PdmtPrlg, "step3PdmtPrlg"),
folvlPdmtPrlg: formatNumber(d.folvlPdmtPrlg, "folvlPdmtPrlg"), step4PdmtPrlg: formatNumber(d.step4PdmtPrlg, "step4PdmtPrlg"),
filvlPdmtPrlg: formatNumber(d.filvlPdmtPrlg, "filvlPdmtPrlg"), step5PdmtPrlg: formatNumber(d.step5PdmtPrlg, "step5PdmtPrlg"),
shpPdmtPrlg: formatNumber(d.shpPdmtPrlg, "shpPdmtPrlg"), sqrePdmtPrlg: formatNumber(d.sqrePdmtPrlg, "sqrePdmtPrlg"),
etcPdmtPrlg: formatNumber(d.etcPdmtPrlg, "etcPdmtPrlg"), etcPdmtPrlg: formatNumber(d.etcPdmtPrlg, "etcPdmtPrlg"),
rmrk: nullableTrimmedString(d.rmrk), rmrk: nullableTrimmedString(d.rmrk),
pdmtSeWholPrlg: formatNumber(d.pdmtSeWholPrlg, "pdmtSeWholPrlg"), pdmtByTsmWhol: formatNumber(d.pdmtByTsmWhol, "pdmtByTsmWhol"),
admdstCd: nullableTrimmedString(d.admdstCd), admdstCd: nullableTrimmedString(d.admdstCd),
admdstNm: nullableTrimmedString(d.admdstNm), admdstNm: nullableTrimmedString(d.admdstNm),
})); }));
@@ -1433,7 +1431,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?.lclgvSbmsnSttsCd === "4" ? "4" : "2", lae_sbmsn_stts_cd: statusForTab?.laeSbmsnSttsCd === "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,
}; };
@@ -1535,7 +1533,7 @@ const SewagePipeInp = () => {
...toInputSearchRegion(sidoListRef.current, searchValues), ...toInputSearchRegion(sidoListRef.current, searchValues),
ctpvNm: searchValues?.sido ?? '', ctpvNm: searchValues?.sido ?? '',
statsYr: searchValues?.year ?? '', statsYr: searchValues?.year ?? '',
mdfrUuid: userInfo.userUnqId, mdfrId: userInfo.userUnqId,
statsCd: tabStatsCdMap.get(activeTab) ?? statsCd, statsCd: tabStatsCdMap.get(activeTab) ?? statsCd,
}; };
@@ -1630,29 +1628,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"),
cbsysShpPrlg: formatNumber(d.cbsysShpPrlg, "cbsysShpPrlg"), cbsysSqrePrlg: formatNumber(d.cbsysSqrePrlg, "cbsysSqrePrlg"),
cbsysElpsdPrlg: formatNumber(d.cbsysElpsdPrlg, "cbsysElpsdPrlg"), cbsysCiclPrlg: formatNumber(d.cbsysCiclPrlg, "cbsysCiclPrlg"),
cbsysOpnPrlg: formatNumber(d.cbsysOpnPrlg, "cbsysOpnPrlg"), cbsysOpnPrlg: formatNumber(d.cbsysOpnPrlg, "cbsysOpnPrlg"),
cbsysLaditPrlg: formatNumber(d.cbsysLaditPrlg, "cbsysLaditPrlg"), cbsysGttrPrlg: formatNumber(d.cbsysGttrPrlg, "cbsysGttrPrlg"),
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"),
drtwPplShpPrlg: formatNumber(d.drtwPplShpPrlg, "drtwPplShpPrlg"), drtwPplSqrePrlg: formatNumber(d.drtwPplSqrePrlg, "drtwPplSqrePrlg"),
drtwPplElpsdPrlg: formatNumber(d.drtwPplElpsdPrlg, "drtwPplElpsdPrlg"), drtwPplCiclPrlg: formatNumber(d.drtwPplCiclPrlg, "drtwPplCiclPrlg"),
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"),
exlnPplShpPrlg: formatNumber(d.exlnPplShpPrlg, "exlnPplShpPrlg"), exlnPplSqrePrlg: formatNumber(d.exlnPplSqrePrlg, "exlnPplSqrePrlg"),
exlnPplElpsdPrlg: formatNumber(d.exlnPplElpsdPrlg, "exlnPplElpsdPrlg"), exlnPplCiclPrlg: formatNumber(d.exlnPplCiclPrlg, "exlnPplCiclPrlg"),
exlnPplOpnPrlg: formatNumber(d.exlnPplOpnPrlg, "exlnPplOpnPrlg"), exlnPplOpnPrlg: formatNumber(d.exlnPplOpnPrlg, "exlnPplOpnPrlg"),
exlnPplLaditPrlg: formatNumber(d.exlnPplLaditPrlg, "exlnPplLaditPrlg"), exlnPplGttrPrlg: formatNumber(d.exlnPplGttrPrlg, "exlnPplGttrPrlg"),
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"),
drtwDrgCnt: formatNumber(d.drtwDrgCnt, "drtwDrgCnt"), drtwRcvprpCnt: formatNumber(d.drtwRcvprpCnt, "drtwRcvprpCnt"),
exlnDrgCnt: formatNumber(d.exlnDrgCnt, "exlnDrgCnt"), exlnRcvprpCnt: formatNumber(d.exlnRcvprpCnt, "exlnRcvprpCnt"),
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"),
@@ -1664,7 +1662,7 @@ const SewagePipeInp = () => {
statsYr: values.year ?? "", statsYr: values.year ?? "",
ctpvNm: values.sido ?? "", ctpvNm: values.sido ?? "",
...toInputSearchRegion(sidoListRef.current, values), ...toInputSearchRegion(sidoListRef.current, values),
userUuid: userInfo.userUnqId, userId: userInfo.userUnqId,
...(isAdminInfo ? { superAdmin: "superAdmin" } : {}), ...(isAdminInfo ? { superAdmin: "superAdmin" } : {}),
saveList, saveList,
}; };
@@ -1716,14 +1714,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"),
cbsysTrtznArea: formatNumber(d.cbsysTrtznArea, "cbsysTrtznArea"), cbsysPrcsZoneArea: formatNumber(d.cbsysPrcsZoneArea, "cbsysPrcsZoneArea"),
sprsysTrtznArea: formatNumber(d.sprsysTrtznArea, "sprsysTrtznArea"), sprsysPrcsZoneArea: formatNumber(d.sprsysPrcsZoneArea, "sprsysPrcsZoneArea"),
sprsysVartnRt: formatNumber(d.sprsysVartnRt, "sprsysVartnRt"), sprsysVartnRt: formatNumber(d.sprsysVartnRt, "sprsysVartnRt"),
wholDrgCnt: formatNumber(d.wholDrgCnt, "wholDrgCnt"), mltvEqpmCnt: formatNumber(d.mltvEqpmCnt, "mltvEqpmCnt"),
cbsysDrgCnt: formatNumber(d.cbsysDrgCnt, "cbsysDrgCnt"), cbsysMltvEqpmCnt: formatNumber(d.cbsysMltvEqpmCnt, "cbsysMltvEqpmCnt"),
sprsysDrgCnt: formatNumber(d.sprsysDrgCnt, "sprsysDrgCnt"), sprsysMltvEqpmCnt: formatNumber(d.sprsysMltvEqpmCnt, "sprsysMltvEqpmCnt"),
sprsysDrgLnkgCnt: formatNumber(d.sprsysDrgLnkgCnt, "sprsysDrgLnkgCnt"), sprsysMltvLnkgCnt: formatNumber(d.sprsysMltvLnkgCnt, "sprsysMltvLnkgCnt"),
sprsysDrgNoinsLnkgCnt: formatNumber(d.sprsysDrgNoinsLnkgCnt, "sprsysDrgNoinsLnkgCnt"), sprsysMltvYetLnkgCnt: formatNumber(d.sprsysMltvYetLnkgCnt, "sprsysMltvYetLnkgCnt"),
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"),
@@ -1731,10 +1729,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"),
wholPplPrlg: formatNumber(d.wholPplPrlg, "wholPplPrlg"), wholBrchlnPrlg: formatNumber(d.wholBrchlnPrlg, "wholBrchlnPrlg"),
cbsysPplPrlg: formatNumber(d.cbsysPplPrlg, "cbsysPplPrlg"), cbsysBrchlnPrlg: formatNumber(d.cbsysBrchlnPrlg, "cbsysBrchlnPrlg"),
exlnPplPrlg: formatNumber(d.exlnPplPrlg, "exlnPplPrlg"), exlnBrchlnPrlg: formatNumber(d.exlnBrchlnPrlg, "exlnBrchlnPrlg"),
drtwPplPrlg: formatNumber(d.drtwPplPrlg, "drtwPplPrlg"), drtwBrchlnPrlg: formatNumber(d.drtwBrchlnPrlg, "drtwBrchlnPrlg"),
rmrk: nullableTrimmedString(d.rmrk), rmrk: nullableTrimmedString(d.rmrk),
})); }));
@@ -1742,7 +1740,7 @@ const SewagePipeInp = () => {
statsYr: values.year ?? "", statsYr: values.year ?? "",
ctpvNm: values.sido ?? "", ctpvNm: values.sido ?? "",
...toInputSearchRegion(sidoListRef.current, values), ...toInputSearchRegion(sidoListRef.current, values),
userUuid: userInfo.userUnqId, userId: userInfo.userUnqId,
...(isAdminInfo ? { superAdmin: "superAdmin" } : {}), ...(isAdminInfo ? { superAdmin: "superAdmin" } : {}),
saveList, saveList,
}; };
@@ -1802,7 +1800,7 @@ const SewagePipeInp = () => {
d[dmltnKey] as string | number | undefined, d[dmltnKey] as string | number | undefined,
dmltnKey, dmltnKey,
), ),
pipeWholPrlg: formatNumber( prlgWhol: formatNumber(
d[wholKey] as string | number | undefined, d[wholKey] as string | number | undefined,
wholKey, wholKey,
), ),
@@ -1826,7 +1824,7 @@ const SewagePipeInp = () => {
statsYr: values.year ?? "", statsYr: values.year ?? "",
ctpvNm: values.sido ?? "", ctpvNm: values.sido ?? "",
...toInputSearchRegion(sidoListRef.current, values), ...toInputSearchRegion(sidoListRef.current, values),
userUuid: userInfo.userUnqId, userId: userInfo.userUnqId,
...(isAdminInfo ? { superAdmin: "superAdmin" } : {}), ...(isAdminInfo ? { superAdmin: "superAdmin" } : {}),
saveList, saveList,
}; };
@@ -1869,15 +1867,15 @@ const SewagePipeInp = () => {
const saveList = currentData.map((d) => ({ const saveList = currentData.map((d) => ({
pipeSeCd: nullableTrimmedString(d.pipeSeCd), pipeSeCd: nullableTrimmedString(d.pipeSeCd),
frlvlPdmtPrlg: formatNumber(d.frlvlPdmtPrlg, "frlvlPdmtPrlg"), step1PdmtPrlg: formatNumber(d.step1PdmtPrlg, "step1PdmtPrlg"),
sclvlPdmtPrlg: formatNumber(d.sclvlPdmtPrlg, "sclvlPdmtPrlg"), step2PdmtPrlg: formatNumber(d.step2PdmtPrlg, "step2PdmtPrlg"),
thlvlPdmtPrlg: formatNumber(d.thlvlPdmtPrlg, "thlvlPdmtPrlg"), step3PdmtPrlg: formatNumber(d.step3PdmtPrlg, "step3PdmtPrlg"),
folvlPdmtPrlg: formatNumber(d.folvlPdmtPrlg, "folvlPdmtPrlg"), step4PdmtPrlg: formatNumber(d.step4PdmtPrlg, "step4PdmtPrlg"),
filvlPdmtPrlg: formatNumber(d.filvlPdmtPrlg, "filvlPdmtPrlg"), step5PdmtPrlg: formatNumber(d.step5PdmtPrlg, "step5PdmtPrlg"),
shpPdmtPrlg: formatNumber(d.shpPdmtPrlg, "shpPdmtPrlg"), sqrePdmtPrlg: formatNumber(d.sqrePdmtPrlg, "sqrePdmtPrlg"),
etcPdmtPrlg: formatNumber(d.etcPdmtPrlg, "etcPdmtPrlg"), etcPdmtPrlg: formatNumber(d.etcPdmtPrlg, "etcPdmtPrlg"),
rmrk: nullableTrimmedString(d.rmrk), rmrk: nullableTrimmedString(d.rmrk),
pdmtSeWholPrlg: formatNumber(d.pdmtSeWholPrlg, "pdmtSeWholPrlg"), pdmtByTsmWhol: formatNumber(d.pdmtByTsmWhol, "pdmtByTsmWhol"),
admdstCd: nullableTrimmedString(d.admdstCd), admdstCd: nullableTrimmedString(d.admdstCd),
admdstNm: nullableTrimmedString(d.admdstNm), admdstNm: nullableTrimmedString(d.admdstNm),
})); }));
@@ -1888,7 +1886,7 @@ const SewagePipeInp = () => {
statsYr: values.year ?? "", statsYr: values.year ?? "",
ctpvNm: values.sido ?? "", ctpvNm: values.sido ?? "",
...toInputSearchRegion(sidoListRef.current, values), ...toInputSearchRegion(sidoListRef.current, values),
userUuid: userInfo.userUnqId, userId: userInfo.userUnqId,
...(isAdminInfo ? { superAdmin: "superAdmin" } : {}), ...(isAdminInfo ? { superAdmin: "superAdmin" } : {}),
saveList, saveList,
}; };
@@ -1946,7 +1944,7 @@ const SewagePipeInp = () => {
statsYr: values.year ?? "", statsYr: values.year ?? "",
ctpvNm: values.sido ?? "", ctpvNm: values.sido ?? "",
...toInputSearchRegion(sidoListRef.current, values), ...toInputSearchRegion(sidoListRef.current, values),
userUuid: userInfo.userUnqId, userId: userInfo.userUnqId,
...(isAdminInfo ? { superAdmin: "superAdmin" } : {}), ...(isAdminInfo ? { superAdmin: "superAdmin" } : {}),
saveList, saveList,
}; };
@@ -2027,7 +2025,7 @@ const SewagePipeInp = () => {
{submitOk && <SubmitButton submitFunc={() => void submitFunc(false)} />} {submitOk && <SubmitButton submitFunc={() => void submitFunc(false)} />}
</> </>
)} )}
{activeTabStatus?.lclgvSbmsnSttsCd === "2" && submitOk && ( {activeTabStatus?.laeSbmsnSttsCd === "2" && submitOk && (
<CancelSubmitButton cnacelSubmitFunc={cnacelSubmitFunc} /> <CancelSubmitButton cnacelSubmitFunc={cnacelSubmitFunc} />
)} )}
{showSaveInToolbar && <SaveButton saveFunc={saveFunc} />} {showSaveInToolbar && <SaveButton saveFunc={saveFunc} />}
@@ -2221,8 +2219,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.cmprCn ?? ""; const comp = e.compVlCn ?? "";
const now = e.nowCn ?? ""; const now = e.nowVlCn ?? "";
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?.lclgvSbmsnSttsCd) { if (statusInfo?.laeSbmsnSttsCd) {
if (["2", "3"].includes(statusInfo.lclgvSbmsnSttsCd)) { if (["2", "3"].includes(statusInfo.laeSbmsnSttsCd)) {
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?.lclgvSbmsnSttsCd === "2"; const isSubmitted = statusInfo?.laeSbmsnSttsCd === "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,19 +220,18 @@ 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),
dfrpWholPrlg: formatNumber(d.dfrpWholPrlg, "dfrpWholPrlg"), mendngWhol: formatNumber(d.mendngWhol, "mendngWhol"),
cbsysDfrpPrlg: formatNumber(d.cbsysDfrpPrlg, "cbsysDfrpPrlg"), cbsysMendngPrlg: formatNumber(d.cbsysMendngPrlg, "cbsysMendngPrlg"),
sprsysExlnPrlg: formatNumber(d.sprsysExlnPrlg, "sprsysExlnPrlg"), sprsysExlnPrlg: formatNumber(d.sprsysExlnPrlg, "sprsysExlnPrlg"),
sprsysDrtwPrlg: formatNumber(d.sprsysDrtwPrlg, "sprsysDrtwPrlg"), sprsysDrtwPrlg: formatNumber(d.sprsysDrtwPrlg, "sprsysDrtwPrlg"),
partDfrpWhol: formatNumber(d.partDfrpWhol, "partDfrpWhol"), cbsysPartMendngPrlg: formatNumber(d.cbsysPartMendngPrlg, "cbsysPartMendngPrlg"),
cbsysPartDfrpPrlg: formatNumber(d.cbsysPartDfrpPrlg, "cbsysPartDfrpPrlg"), sprsysExlnMendngPrlg: formatNumber(d.sprsysExlnMendngPrlg, "sprsysExlnMendngPrlg"),
sprsysExlnDfrpPrlg: formatNumber(d.sprsysExlnDfrpPrlg, "sprsysExlnDfrpPrlg"), sprsysDrtwMendngPrlg: formatNumber(d.sprsysDrtwMendngPrlg, "sprsysDrtwMendngPrlg"),
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"),
drtwDrgCnt: formatNumber(d.drtwDrgCnt, "drtwDrgCnt"), drtwRcvprpCnt: formatNumber(d.drtwRcvprpCnt, "drtwRcvprpCnt"),
exlnDrgCnt: formatNumber(d.exlnDrgCnt, "exlnDrgCnt"), exlnRcvprpCnt: formatNumber(d.exlnRcvprpCnt, "exlnRcvprpCnt"),
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"),
@@ -255,14 +254,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"),
exlnDrtwDrgCnt: formatNumber(d.exlnDrtwDrgCnt, "exlnDrtwDrgCnt"), exlnDrtwRcvprpCnt: formatNumber(d.exlnDrtwRcvprpCnt, "exlnDrtwRcvprpCnt"),
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"),
pplDrdqty: formatNumber(d.pplDrdqty, "pplDrdqty"), drdgnQnt: formatNumber(d.drdgnQnt, "drdgnQnt"),
drdgnSoilPrcsAmt: formatNumber(d.drdgnSoilPrcsAmt, "drdgnSoilPrcsAmt"), drdgnUntprcAmt: formatNumber(d.drdgnUntprcAmt, "drdgnUntprcAmt"),
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"),
@@ -614,14 +613,14 @@ const SewagePipeMaintainInp = () => {
statsYr: lastSearchedValues.year ?? "", statsYr: lastSearchedValues.year ?? "",
ctpvNm: lastSearchedValues.sido ?? "", ctpvNm: lastSearchedValues.sido ?? "",
...toInputSearchRegion(sidoListRef.current, lastSearchedValues), ...toInputSearchRegion(sidoListRef.current, lastSearchedValues),
lclgvPicNm: submitInfo.lclgvPicNm, laePicNm: submitInfo.laePicNm,
lclgvKbrdrJbgdNm: submitInfo.lclgvKbrdrJbgdNm, laeKbrdrJbgdNm: submitInfo.laeKbrdrJbgdNm,
lclgvKbrdrDeptNm: submitInfo.lclgvKbrdrDeptNm, laeKbrdrDeptNm: submitInfo.laeKbrdrDeptNm,
lclgvPicTelnoCn: submitInfo.lclgvPicTelnoCn, laePicTelNo: submitInfo.laePicTelNo,
lclgvIdfrNm: submitInfo.lclgvIdfrNm, laeIdfrNm: submitInfo.laeIdfrNm,
lclgvIdfrJbgdNm: submitInfo.lclgvIdfrJbgdNm, laeIdfrJbgdNm: submitInfo.laeIdfrJbgdNm,
lclgvIdfrDeptNm: submitInfo.lclgvIdfrDeptNm, laeIdfrDeptNm: submitInfo.laeIdfrDeptNm,
lclgvIdfrTelnoCn: submitInfo.lclgvIdfrTelnoCn, laeIdfrTelNo: submitInfo.laeIdfrTelNo,
}; };
const verificationQuery = { const verificationQuery = {
@@ -649,12 +648,12 @@ const SewagePipeMaintainInp = () => {
const response = isRepairTab const response = isRepairTab
? await sewagePipeMaintainApiService.submitSewagePipeMaintainRepair({ ? await sewagePipeMaintainApiService.submitSewagePipeMaintainRepair({
...submitInfoBase, ...submitInfoBase,
userUuid: userInfo.userUnqId, userId: userInfo.userUnqId,
submitList: buildRepairRowList(currentData), submitList: buildRepairRowList(currentData),
} satisfies SewagePipeMaintainRepairSubmitRequest) } satisfies SewagePipeMaintainRepairSubmitRequest)
: await sewagePipeMaintainApiService.submitSewagePipeMaintainDredging({ : await sewagePipeMaintainApiService.submitSewagePipeMaintainDredging({
...submitInfoBase, ...submitInfoBase,
userUuid: userInfo.userUnqId, userId: userInfo.userUnqId,
submitList: buildDredgingRowList(currentData), submitList: buildDredgingRowList(currentData),
} satisfies SewagePipeMaintainDredgingSubmitRequest); } satisfies SewagePipeMaintainDredgingSubmitRequest);
@@ -674,7 +673,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?.lclgvSbmsnSttsCd === "4" ? "4" : "2", lae_sbmsn_stts_cd: activeTabStatus?.laeSbmsnSttsCd === "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,
}; };
@@ -768,7 +767,7 @@ const SewagePipeMaintainInp = () => {
const param: SewagePipeMaintainRepairSaveRequest = { const param: SewagePipeMaintainRepairSaveRequest = {
...baseRequest, ...baseRequest,
userUuid: userInfo.userUnqId, userId: userInfo.userUnqId,
saveList: buildRepairRowList(currentData), saveList: buildRepairRowList(currentData),
}; };
if (isAdminInfo) { if (isAdminInfo) {
@@ -805,7 +804,7 @@ const SewagePipeMaintainInp = () => {
const param: SewagePipeMaintainDredgingSaveRequest = { const param: SewagePipeMaintainDredgingSaveRequest = {
...baseRequest, ...baseRequest,
userUuid: userInfo.userUnqId, userId: userInfo.userUnqId,
saveList: buildDredgingRowList(currentData), saveList: buildDredgingRowList(currentData),
}; };
if (isAdminInfo) { if (isAdminInfo) {
@@ -857,7 +856,7 @@ const SewagePipeMaintainInp = () => {
...toInputSearchRegion(sidoListRef.current, lastSearchedValues), ...toInputSearchRegion(sidoListRef.current, lastSearchedValues),
ctpvNm: lastSearchedValues.sido ?? "", ctpvNm: lastSearchedValues.sido ?? "",
statsYr: lastSearchedValues.year ?? "", statsYr: lastSearchedValues.year ?? "",
mdfrUuid: userInfo.userUnqId, mdfrId: userInfo.userUnqId,
statsCd: statsCdForTab, statsCd: statsCdForTab,
}; };
@@ -1109,7 +1108,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.cmprCn} / 현재 입력값: ${e.nowCn})`; return `${prefix}${e.rsnExpln}(검증 기준값: ${e.compVlCn} / 현재 입력값: ${e.nowVlCn})`;
}) })
.filter(Boolean) .filter(Boolean)
.join("\n"); .join("\n");
@@ -1144,7 +1143,7 @@ const SewagePipeMaintainInp = () => {
{submitOk && <SubmitButton submitFunc={submitFunc} />} {submitOk && <SubmitButton submitFunc={submitFunc} />}
</> </>
)} )}
{activeTabStatus?.lclgvSbmsnSttsCd === "2" && submitOk && ( {activeTabStatus?.laeSbmsnSttsCd === "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?.lclgvSbmsnSttsCd) { if (statusInfo?.laeSbmsnSttsCd) {
if (["2", "3"].includes(statusInfo.lclgvSbmsnSttsCd)) { if (["2", "3"].includes(statusInfo.laeSbmsnSttsCd)) {
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?.lclgvSbmsnSttsCd === "2"; const isSubmitted = statusInfo?.laeSbmsnSttsCd === "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),
wtpltMtgtYn: normalizeOxYnValue(item.wtpltMtgtYn), wqPlltnMtgtYn: normalizeOxYnValue(item.wqPlltnMtgtYn),
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)),
wtpltMtgtYn: nullableTrimmedString(normalizeOxYnValue(row.wtpltMtgtYn)), wqPlltnMtgtYn: nullableTrimmedString(normalizeOxYnValue(row.wqPlltnMtgtYn)),
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),
wholPpqty: toGridNumber(row.wholPpqty), grssPpqty: toGridNumber(row.grssPpqty),
pumpFcltN1DmtrExpln: toPumpDmtrExpln(row.pumpFcltN1DmtrExpln), pumpFcltN1DmtrExpln: toPumpDmtrExpln(row.pumpFcltN1DmtrExpln),
pumpFcltN1Ppqty: toGridNumber(row.pumpFcltN1Ppqty), pumpFcltN1PerPpqty: toGridNumber(row.pumpFcltN1PerPpqty),
pumpFcltN1PumpCnt: toGridNumber(row.pumpFcltN1PumpCnt), pumpFcltN1PumpCnt: toGridNumber(row.pumpFcltN1PumpCnt),
pumpFcltN1RsrvPumpCnt: toGridNumber(row.pumpFcltN1RsrvPumpCnt), pumpFcltN1RsrvPumpCnt: toGridNumber(row.pumpFcltN1RsrvPumpCnt),
pumpFcltN2DmtrExpln: toPumpDmtrExpln(row.pumpFcltN2DmtrExpln), pumpFcltN2DmtrExpln: toPumpDmtrExpln(row.pumpFcltN2DmtrExpln),
pumpFcltN2Ppqty: toGridNumber(row.pumpFcltN2Ppqty), pumpFcltN2PerPpqty: toGridNumber(row.pumpFcltN2PerPpqty),
pumpFcltN2PumpCnt: toGridNumber(row.pumpFcltN2PumpCnt), pumpFcltN2PumpCnt: toGridNumber(row.pumpFcltN2PumpCnt),
pumpFcltN2RsrvPumpCnt: toGridNumber(row.pumpFcltN2RsrvPumpCnt), pumpFcltN2RsrvPumpCnt: toGridNumber(row.pumpFcltN2RsrvPumpCnt),
pumpFcltN3DmtrExpln: toPumpDmtrExpln(row.pumpFcltN3DmtrExpln), pumpFcltN3DmtrExpln: toPumpDmtrExpln(row.pumpFcltN3DmtrExpln),
pumpFcltN3Ppqty: toGridNumber(row.pumpFcltN3Ppqty), pumpFcltN3PerPpqty: toGridNumber(row.pumpFcltN3PerPpqty),
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,
odorEqpmYn: row.odorEqpmYn ? (row.prcsgFcltYn === "무" ? "N" : "Y") : null, ddrztnEqpmYn: row.ddrztnEqpmYn ? (row.prcsgFcltYn === "무" ? "N" : "Y") : null,
oslfEtgtYn: row.oslfEtgtYn ? (row.prcsgFcltYn === "무" ? "N" : "Y") : null, oslfEtgtYn: row.oslfEtgtYn ? (row.prcsgFcltYn === "무" ? "N" : "Y") : null,
drgptnCn: nullableTrimmedString(row.drgptnCn), mltvMthCn: nullableTrimmedString(row.mltvMthCn),
impdMthCn: nullableTrimmedString(row.impdMthCn), impdMthCn: nullableTrimmedString(row.impdMthCn),
impdPrcsCn: nullableTrimmedString(row.impdPrcsCn), impdPrcsMthdCn: nullableTrimmedString(row.impdPrcsMthdCn),
dschgWtrsExpln: nullableTrimmedString(row.dschgWtrsExpln), dschgWtrsExpln: nullableTrimmedString(row.dschgWtrsExpln),
prpwLastDspsQnt: toGridNumber(row.prpwLastDspsQnt), prcptnLastDspsQnt: toGridNumber(row.prcptnLastDspsQnt),
ctmnLastDspsQnt: toGridNumber(row.ctmnLastDspsQnt), ctmnLastDspsQnt: toGridNumber(row.ctmnLastDspsQnt),
prpwLastDspsExpln: nullableTrimmedString(row.prpwLastDspsExpln), prcptnLastDspsMthdExpln: nullableTrimmedString(row.prcptnLastDspsMthdExpln),
ctmnLastDspsExpln: nullableTrimmedString(row.ctmnLastDspsExpln), ctmnLastDspsMthdExpln: nullableTrimmedString(row.ctmnLastDspsMthdExpln),
oprtngDayCnt: toGridNumber(row.oprtngDayCnt), oprtngDayCnt: toGridNumber(row.oprtngDayCnt),
wholQnt: toGridNumber(row.wholQnt), grssMltvQnt: toGridNumber(row.grssMltvQnt),
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),
runwtrYn: row.runwtrYn ? (row.runwtrYn === "무" ? "N" : "Y") : null, rsvrYn: row.rsvrYn ? (row.rsvrYn === "무" ? "N" : "Y") : null,
runwtrStrqty: toGridNumber(row.runwtrStrqty), rsvrImpndQnt: toGridNumber(row.rsvrImpndQnt),
abstnRgnImpdQnt: toGridNumber(row.abstnRgnImpdQnt), abstnRgnImpdQnt: toGridNumber(row.abstnRgnImpdQnt),
wholPpqty: toGridNumber(row.wholPpqty), grssPpqty: toGridNumber(row.grssPpqty),
pumpFcltN1DmtrExpln: toPumpDmtrExpln(row.pumpFcltN1DmtrExpln), pumpFcltN1DmtrExpln: toPumpDmtrExpln(row.pumpFcltN1DmtrExpln),
pumpFcltN1UnitPpqty: toGridNumber(row.pumpFcltN1UnitPpqty), pumpFcltN1PerPpqty: toGridNumber(row.pumpFcltN1PerPpqty),
pumpFcltN1PumpCnt: toGridNumber(row.pumpFcltN1PumpCnt), pumpFcltN1PumpCnt: toGridNumber(row.pumpFcltN1PumpCnt),
pumpFcltN1RsrvPumpCnt: toGridNumber(row.pumpFcltN1RsrvPumpCnt), pumpFcltN1RsrvPumpCnt: toGridNumber(row.pumpFcltN1RsrvPumpCnt),
pumpFcltN2DmtrExpln: toPumpDmtrExpln(row.pumpFcltN2DmtrExpln), pumpFcltN2DmtrExpln: toPumpDmtrExpln(row.pumpFcltN2DmtrExpln),
pumpFcltN2UnitPpqty: toGridNumber(row.pumpFcltN2UnitPpqty), pumpFcltN2PerPpqty: toGridNumber(row.pumpFcltN2PerPpqty),
pumpFcltN2PumpCnt: toGridNumber(row.pumpFcltN2PumpCnt), pumpFcltN2PumpCnt: toGridNumber(row.pumpFcltN2PumpCnt),
pumpFcltN2RsrvPumpCnt: toGridNumber(row.pumpFcltN2RsrvPumpCnt), pumpFcltN2RsrvPumpCnt: toGridNumber(row.pumpFcltN2RsrvPumpCnt),
pumpFcltN3DmtrExpln: toPumpDmtrExpln(row.pumpFcltN3DmtrExpln), pumpFcltN3DmtrExpln: toPumpDmtrExpln(row.pumpFcltN3DmtrExpln),
pumpFcltN3UnitPpqty: toGridNumber(row.pumpFcltN3UnitPpqty), pumpFcltN3PerPpqty: toGridNumber(row.pumpFcltN3PerPpqty),
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,
odorEqpmYn: row.odorEqpmYn ? (row.prcsgFcltYn === "무" ? "N" : "Y") : null, ddrztnEqpmYn: row.ddrztnEqpmYn ? (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),
prpwLastDspsQnt: toGridNumber(row.prpwLastDspsQnt), prcptnLastDspsQnt: toGridNumber(row.prcptnLastDspsQnt),
ctmnLastDspsQnt: toGridNumber(row.ctmnLastDspsQnt), ctmnLastDspsQnt: toGridNumber(row.ctmnLastDspsQnt),
prpwLastDspsExpln: nullableTrimmedString(row.prpwLastDspsExpln), prcptnLastDspsMthdExpln: nullableTrimmedString(row.prcptnLastDspsMthdExpln),
ctmnLastDspsExpln: nullableTrimmedString(row.ctmnLastDspsExpln), ctmnLastDspsMthdExpln: nullableTrimmedString(row.ctmnLastDspsMthdExpln),
oprtngDayCnt: toGridNumber(row.oprtngDayCnt), oprtngDayCnt: toGridNumber(row.oprtngDayCnt),
wholQnt: toGridNumber(row.wholQnt), grssMltvQnt: toGridNumber(row.grssMltvQnt),
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),
runwtrYn: normalizeOxYnValue(item.runwtrYn), rsvrYn: normalizeOxYnValue(item.rsvrYn),
prcsgFcltYn: normalizeOxYnValue(item.prcsgFcltYn), prcsgFcltYn: normalizeOxYnValue(item.prcsgFcltYn),
odorEqpmYn: normalizeOxYnValue(item.odorEqpmYn), ddrztnEqpmYn: normalizeOxYnValue(item.ddrztnEqpmYn),
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 ?? "",
mdfrUuid: userInfo.userUnqId, mdfrId: 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,
userUuid: userInfo.userUnqId, userId: 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,
userUuid: userInfo.userUnqId, userId: 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 } : {}),
lclgvPicNm: submitInfo.lclgvPicNm, laePicNm: submitInfo.laePicNm,
lclgvKbrdrJbgdNm: submitInfo.lclgvKbrdrJbgdNm, laeKbrdrJbgdNm: submitInfo.laeKbrdrJbgdNm,
lclgvKbrdrDeptNm: submitInfo.lclgvKbrdrDeptNm, laeKbrdrDeptNm: submitInfo.laeKbrdrDeptNm,
lclgvPicTelnoCn: submitInfo.lclgvPicTelnoCn, laePicTelNo: submitInfo.laePicTelNo,
lclgvIdfrNm: submitInfo.lclgvIdfrNm, laeIdfrNm: submitInfo.laeIdfrNm,
lclgvIdfrJbgdNm: submitInfo.lclgvIdfrJbgdNm, laeIdfrJbgdNm: submitInfo.laeIdfrJbgdNm,
lclgvIdfrDeptNm: submitInfo.lclgvIdfrDeptNm, laeIdfrDeptNm: submitInfo.laeIdfrDeptNm,
lclgvIdfrTelnoCn: submitInfo.lclgvIdfrTelnoCn, laeIdfrTelNo: submitInfo.laeIdfrTelNo,
}; };
try { try {
@@ -830,13 +830,13 @@ const SewageReservoirPumpInp = () => {
const response = isReservoirTab const response = isReservoirTab
? await statisticsInputSewageReservoirPumpApi.submitSewageReservoir({ ? await statisticsInputSewageReservoirPumpApi.submitSewageReservoir({
...submitRequestBase, ...submitRequestBase,
userUuid: userInfo.userUnqId, userId: 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,
userUuid: userInfo.userUnqId, userId: 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?.lclgvSbmsnSttsCd === "4" ? "4" : "2", activeTabStatus?.laeSbmsnSttsCd === "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.cmprCn} / 현재 입력값: ${e.nowCn})`; (검증 기준값: ${e.compVlCn} / 현재 입력값: ${e.nowVlCn})`;
}) })
.filter(Boolean) .filter(Boolean)
.join("\n"); .join("\n");
@@ -1584,7 +1584,7 @@ const SewageReservoirPumpInp = () => {
{submitOk && <SubmitButton submitFunc={submitFunc} />} {submitOk && <SubmitButton submitFunc={submitFunc} />}
</> </>
)} )}
{activeTabStatus?.lclgvSbmsnSttsCd === "2" && submitOk && ( {activeTabStatus?.laeSbmsnSttsCd === "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?.lclgvSbmsnSttsCd) { if (statusInfo?.laeSbmsnSttsCd) {
if (["2", "3"].includes(statusInfo.lclgvSbmsnSttsCd)) { if (["2", "3"].includes(statusInfo.laeSbmsnSttsCd)) {
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?.lclgvSbmsnSttsCd === "2"; const isSubmitted = statusInfo?.laeSbmsnSttsCd === "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),
soaGovSprtAmt: formatNumber(d.soaGovSprtAmt, "soaGovSprtAmt"), cnterGovSprtAmt: formatNumber(d.cnterGovSprtAmt, "cnterGovSprtAmt"),
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"),
fnnOrgprBrdnAmt: formatNumber(d.fnnOrgprBrdnAmt, "fnnOrgprBrdnAmt"), orgprBrdnAmt: formatNumber(d.orgprBrdnAmt, "orgprBrdnAmt"),
etcIncmAmt: formatNumber(d.etcIncmAmt, "etcIncmAmt"), etcIncmAmt: formatNumber(d.etcIncmAmt, "etcIncmAmt"),
soaCrfwAmt: formatNumber(d.soaCrfwAmt, "soaCrfwAmt"), crfwAmt: formatNumber(d.crfwAmt, "crfwAmt"),
soaLbltAmt: formatNumber(d.soaLbltAmt, "soaLbltAmt"), lbltAmt: formatNumber(d.lbltAmt, "lbltAmt"),
tmplntFcltAmt: formatNumber(d.tmplntFcltAmt, "tmplntFcltAmt"), tmplntFcltAmt: formatNumber(d.tmplntFcltAmt, "tmplntFcltAmt"),
tmplntAmt: formatNumber(d.tmplntAmt, "tmplntAmt"), tmplntMendngAmt: formatNumber(d.tmplntMendngAmt, "tmplntMendngAmt"),
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"),
swagePplAmt: formatNumber(d.swagePplAmt, "swagePplAmt"), swagePplMendngAmt: formatNumber(d.swagePplMendngAmt, "swagePplMendngAmt"),
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"),
swageImpdAmt: formatNumber(d.swageImpdAmt, "swageImpdAmt"), swageImpdMendngAmt: formatNumber(d.swageImpdMendngAmt, "swageImpdMendngAmt"),
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"),
fnnEtcAmt: formatNumber(d.fnnEtcAmt, "fnnEtcAmt"), etcAmt: formatNumber(d.etcAmt, "etcAmt"),
rmrk: nullableTrimmedString(d.rmrk), rmrk: nullableTrimmedString(d.rmrk),
fnnSeWholPjtcoAmt: formatNumber(d.fnnSeWholPjtcoAmt, "fnnSeWholPjtcoAmt"), fnnByWholPjtcoAmt: formatNumber(d.fnnByWholPjtcoAmt, "fnnByWholPjtcoAmt"),
usgSeWholPjtcoAmt: formatNumber(d.usgSeWholPjtcoAmt, "usgSeWholPjtcoAmt"), usgByWholPjtcoAmt: formatNumber(d.usgByWholPjtcoAmt, "usgByWholPjtcoAmt"),
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"),
sewerLevyAmt: formatNumber(d.sewerLevyAmt, "sewerLevyAmt"), levyAmt: formatNumber(d.levyAmt, "levyAmt"),
wholPrmcoAmt: formatNumber(d.wholPrmcoAmt, "wholPrmcoAmt"), grssPrmcoAmt: formatNumber(d.grssPrmcoAmt, "grssPrmcoAmt"),
rmrk: nullableTrimmedString(d.rmrk), rmrk: nullableTrimmedString(d.rmrk),
avgUntprcAmt: formatNumber(d.avgUntprcAmt, "avgUntprcAmt"), avgUntprcAmt: formatNumber(d.avgUntprcAmt, "avgUntprcAmt"),
wholUnitPrmcoAmt: formatNumber(d.wholUnitPrmcoAmt, "wholUnitPrmcoAmt"), grssUnitPrmcoAmt: formatNumber(d.grssUnitPrmcoAmt, "grssUnitPrmcoAmt"),
sewerCrgRlztnRt: formatNumber(d.sewerCrgRlztnRt, "sewerCrgRlztnRt"), rlztnRt: formatNumber(d.rlztnRt, "rlztnRt"),
})); }));
} }
@@ -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"),
ofuseLevyAmt: formatNumber(d.ofuseLevyAmt, "ofuseLevyAmt"), taskFrLevyAmt: formatNumber(d.taskFrLevyAmt, "taskFrLevyAmt"),
ofuseLevyQnt: formatNumber(d.ofuseLevyQnt, "ofuseLevyQnt"), taskFrLevyQnt: formatNumber(d.taskFrLevyQnt, "taskFrLevyQnt"),
ofuseUntprcAmt: formatNumber(d.ofuseUntprcAmt, "ofuseUntprcAmt"), taskFrUntprcAmt: formatNumber(d.taskFrUntprcAmt, "taskFrUntprcAmt"),
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"),
btht1LevyAmt: formatNumber(d.btht1LevyAmt, "btht1LevyAmt"), bthhsFrSpcs1LevyAmt: formatNumber(d.bthhsFrSpcs1LevyAmt, "bthhsFrSpcs1LevyAmt"),
btht1LevyQnt: formatNumber(d.btht1LevyQnt, "btht1LevyQnt"), bthhsFrSpcs1LevyQnt: formatNumber(d.bthhsFrSpcs1LevyQnt, "bthhsFrSpcs1LevyQnt"),
btht1UntprcAmt: formatNumber(d.btht1UntprcAmt, "btht1UntprcAmt"), bthhsFrSpcs1UntprcAmt: formatNumber(d.bthhsFrSpcs1UntprcAmt, "bthhsFrSpcs1UntprcAmt"),
btht2LevyAmt: formatNumber(d.btht2LevyAmt, "btht2LevyAmt"), bthhsFrSpcs2LevyAmt: formatNumber(d.bthhsFrSpcs2LevyAmt, "bthhsFrSpcs2LevyAmt"),
btht2LevyQnt: formatNumber(d.btht2LevyQnt, "btht2LevyQnt"), bthhsFrSpcs2LevyQnt: formatNumber(d.bthhsFrSpcs2LevyQnt, "bthhsFrSpcs2LevyQnt"),
btht2UntprcAmt: formatNumber(d.btht2UntprcAmt, "btht2UntprcAmt"), bthhsFrSpcs2UntprcAmt: formatNumber(d.bthhsFrSpcs2UntprcAmt, "bthhsFrSpcs2UntprcAmt"),
indstLevyAmt: formatNumber(d.indstLevyAmt, "indstLevyAmt"), induLevyAmt: formatNumber(d.induLevyAmt, "induLevyAmt"),
indstLevyQnt: formatNumber(d.indstLevyQnt, "indstLevyQnt"), induLevyQnt: formatNumber(d.induLevyQnt, "induLevyQnt"),
indstUntprcAmt: formatNumber(d.indstUntprcAmt, "indstUntprcAmt"), induUntprcAmt: formatNumber(d.induUntprcAmt, "induUntprcAmt"),
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),
sewerLevyAmt: formatNumber(d.sewerLevyAmt, "sewerLevyAmt"), levyAmt: formatNumber(d.levyAmt, "levyAmt"),
sewerLevyQnt: formatNumber(d.sewerLevyQnt, "sewerLevyQnt"), levyQnt: formatNumber(d.levyQnt, "levyQnt"),
})); }));
} }
@@ -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),
brdnAmtLevyNocs: formatNumber(d.brdnAmtLevyNocs, "brdnAmtLevyNocs"), levyEvntcsCnt: formatNumber(d.levyEvntcsCnt, "levyEvntcsCnt"),
brdnAmtLevyAmt: formatNumber(d.brdnAmtLevyAmt, "brdnAmtLevyAmt"), levyAmt: formatNumber(d.levyAmt, "levyAmt"),
drgNocs: formatNumber(d.drgNocs, "drgNocs"), mltvEqpmEvntcsCnt: formatNumber(d.mltvEqpmEvntcsCnt, "mltvEqpmEvntcsCnt"),
drgAmt: formatNumber(d.drgAmt, "drgAmt"), mltvEqpmAmt: formatNumber(d.mltvEqpmAmt, "mltvEqpmAmt"),
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),
trgtSeWholClctnAmt: formatNumber(d.trgtSeWholClctnAmt, "trgtSeWholClctnAmt"), trgtByWholClctnAmt: formatNumber(d.trgtByWholClctnAmt, "trgtByWholClctnAmt"),
})); }));
} }
@@ -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 ?? "",
mdfrUuid: userInfo.userUnqId, mdfrId: 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),
lclgvPicNm: submitInfo.lclgvPicNm, laePicNm: submitInfo.laePicNm,
lclgvPicTelnoCn: submitInfo.lclgvPicTelnoCn, laePicTelNo: submitInfo.laePicTelNo,
lclgvKbrdrDeptNm: submitInfo.lclgvKbrdrDeptNm, laeKbrdrDeptNm: submitInfo.laeKbrdrDeptNm,
lclgvKbrdrJbgdNm: submitInfo.lclgvKbrdrJbgdNm, laeKbrdrJbgdNm: submitInfo.laeKbrdrJbgdNm,
lclgvIdfrNm: submitInfo.lclgvIdfrNm, laeIdfrNm: submitInfo.laeIdfrNm,
lclgvIdfrTelnoCn: submitInfo.lclgvIdfrTelnoCn, laeIdfrTelNo: submitInfo.laeIdfrTelNo,
lclgvIdfrDeptNm: submitInfo.lclgvIdfrDeptNm, laeIdfrDeptNm: submitInfo.laeIdfrDeptNm,
lclgvIdfrJbgdNm: submitInfo.lclgvIdfrJbgdNm, laeIdfrJbgdNm: submitInfo.laeIdfrJbgdNm,
}; };
const verificationQuery = { const verificationQuery = {
@@ -892,7 +892,7 @@ const SewerageFinanceInp = () => {
if (isSettleTab) { if (isSettleTab) {
const param: SewerageFinanceSettleSubmitRequest = { const param: SewerageFinanceSettleSubmitRequest = {
...submitInfoBase, ...submitInfoBase,
userUuid: userInfo.userUnqId, userId: 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,
userUuid: userInfo.userUnqId, userId: 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,
userUuid: userInfo.userUnqId, userId: 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,
userUuid: userInfo.userUnqId, userId: 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?.lclgvSbmsnSttsCd === "4" ? "4" : "2", lae_sbmsn_stts_cd: activeTabStatus?.laeSbmsnSttsCd === "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,
userUuid: userInfo.userUnqId, userId: 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,
userUuid: userInfo.userUnqId, userId: 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,
userUuid: userInfo.userUnqId, userId: 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,
userUuid: userInfo.userUnqId, userId: 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.cmprCn} / 현재 입력값: ${e.nowCn})`; return `${prefix}${e.rsnExpln}(검증 기준값: ${e.compVlCn} / 현재 입력값: ${e.nowVlCn})`;
}) })
.filter(Boolean) .filter(Boolean)
.join("\n"); .join("\n");
@@ -1278,7 +1278,7 @@ const SewerageFinanceInp = () => {
{submitOk && <SubmitButton submitFunc={submitFunc} />} {submitOk && <SubmitButton submitFunc={submitFunc} />}
</> </>
)} )}
{activeTabStatus?.lclgvSbmsnSttsCd === "2" && submitOk && ( {activeTabStatus?.laeSbmsnSttsCd === "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.lclgvSbmsnSttsCd) { if (statusInfo && statusInfo.laeSbmsnSttsCd) {
if (['2', '3'].includes(statusInfo.lclgvSbmsnSttsCd)) { if (['2', '3'].includes(statusInfo.laeSbmsnSttsCd)) {
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 ?? '',
userUuid: userInfo.userUnqId, userId: 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),
statsTrbtrNm: nullableTrimmedString(d.statsTrbtrNm), trbtrNm: nullableTrimmedString(d.trbtrNm),
spcCtpnRgnCn: spcCtpnRgnCn:
d.spcCtpnRgnCn === '해당없음' ? null : nullableTrimmedString(d.spcCtpnRgnCn), d.spcCtpnRgnCn === '해당없음' ? null : nullableTrimmedString(d.spcCtpnRgnCn),
physSwtrmtPpltnCnt: formatNumber(d.physSwtrmtPpltnCnt, 'physSwtrmtPpltnCnt'), ts1SwtrmtPpltnCnt: formatNumber(d.ts1SwtrmtPpltnCnt, 'ts1SwtrmtPpltnCnt'),
crtureSwtrmtPpltnCnt: formatNumber(d.crtureSwtrmtPpltnCnt, 'crtureSwtrmtPpltnCnt'), ts2SwtrmtPpltnCnt: formatNumber(d.ts2SwtrmtPpltnCnt, 'ts2SwtrmtPpltnCnt'),
altdSwtrmtPpltnCnt: formatNumber(d.altdSwtrmtPpltnCnt, 'altdSwtrmtPpltnCnt'), ts3SwtrmtPpltnCnt: formatNumber(d.ts3SwtrmtPpltnCnt, 'ts3SwtrmtPpltnCnt'),
physWswtPpltnCnt: formatNumber(d.physWswtPpltnCnt, 'physWswtPpltnCnt'), ts1WwtPrcsPpltnCnt: formatNumber(d.ts1WwtPrcsPpltnCnt, 'ts1WwtPrcsPpltnCnt'),
crtureWswtPpltnCnt: formatNumber(d.crtureWswtPpltnCnt, 'crtureWswtPpltnCnt'), ts2WwtPrcsPpltnCnt: formatNumber(d.ts2WwtPrcsPpltnCnt, 'ts2WwtPrcsPpltnCnt'),
altdWswtPpltnCnt: formatNumber(d.altdWswtPpltnCnt, 'altdWswtPpltnCnt'), ts3WwtPrcsPpltnCnt: formatNumber(d.ts3WwtPrcsPpltnCnt, 'ts3WwtPrcsPpltnCnt'),
urftPpltnCnt: formatNumber(d.urftPpltnCnt, 'urftPpltnCnt'), yetCntnPpltnCnt: formatNumber(d.yetCntnPpltnCnt, 'yetCntnPpltnCnt'),
swtrmtZoneIntnar: formatNumber(d.swtrmtZoneIntnar, 'swtrmtZoneIntnar'), staaArea: formatNumber(d.staaArea, 'staaArea'),
unprcsPpltnCnt: formatNumber(d.unprcsPpltnCnt, 'unprcsPpltnCnt'), unprcsPpltnCnt: formatNumber(d.unprcsPpltnCnt, 'unprcsPpltnCnt'),
swgdplPpltnCnt: formatNumber(d.swgdplPpltnCnt, 'swgdplPpltnCnt'), drtwPrcsPpltnCnt: formatNumber(d.drtwPrcsPpltnCnt, 'drtwPrcsPpltnCnt'),
spctnkPpltnCnt: formatNumber(d.spctnkPpltnCnt, 'spctnkPpltnCnt'), spctnkPpltnCnt: formatNumber(d.spctnkPpltnCnt, 'spctnkPpltnCnt'),
swtrmtZoneExtnar: formatNumber(d.swtrmtZoneExtnar, 'swtrmtZoneExtnar'), staaExcpArea: formatNumber(d.staaExcpArea, 'staaExcpArea'),
rmrk: nullableTrimmedString(d.rmrk), rmrk: nullableTrimmedString(d.rmrk),
wholPpltnCnt: formatNumber(d.wholPpltnCnt, 'wholPpltnCnt'), wholPpltnCnt: formatNumber(d.wholPpltnCnt, 'wholPpltnCnt'),
whlar: formatNumber(d.whlar, 'whlar'), wholArea: formatNumber(d.wholArea, 'wholArea'),
wholSwtrmtPpltnCnt: formatNumber(d.wholSwtrmtPpltnCnt, 'wholSwtrmtPpltnCnt'), wholSwtrmtPpltnCnt: formatNumber(d.wholSwtrmtPpltnCnt, 'wholSwtrmtPpltnCnt'),
wholPblSwtrmtPpltnCnt: formatNumber(d.wholPblSwtrmtPpltnCnt, 'wholPblSwtrmtPpltnCnt'), wholPblSwtrmtPpltnCnt: formatNumber(d.wholPblSwtrmtPpltnCnt, 'wholPblSwtrmtPpltnCnt'),
wholWswtPpltnCnt: formatNumber(d.wholWswtPpltnCnt, 'wholWswtPpltnCnt'), wholWwtPrcsPpltnCnt: formatNumber(d.wholWwtPrcsPpltnCnt, 'wholWwtPrcsPpltnCnt'),
wholStaaOtsdPpltnCnt: formatNumber(d.wholStaaOtsdPpltnCnt, 'wholStaaOtsdPpltnCnt'), wholStaaExcpPpltnCnt: formatNumber(d.wholStaaExcpPpltnCnt, 'wholStaaExcpPpltnCnt'),
swagePplPsplyRt: formatNumber(d.swagePplPsplyRt, 'swagePplPsplyRt'), staaPsplyRt: formatNumber(d.staaPsplyRt, 'staaPsplyRt'),
awtrPsplyRt: formatNumber(d.awtrPsplyRt, 'awtrPsplyRt'), altdPrcsPsplyRt: formatNumber(d.altdPrcsPsplyRt, 'altdPrcsPsplyRt'),
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 ?? '',
userUuid: userInfo.userUnqId, userId: userInfo.userUnqId,
submitList: convertedData, submitList: convertedData,
sewerBzmnArea: footerFromApi?.sewerBzmnArea, sewerBzmnArea: footerFromApi?.sewerBzmnArea,
lclgvPicNm: submitInfo.lclgvPicNm, laePicNm: submitInfo.laePicNm,
lclgvKbrdrJbgdNm: submitInfo.lclgvKbrdrJbgdNm, laeKbrdrJbgdNm: submitInfo.laeKbrdrJbgdNm,
lclgvKbrdrDeptNm: submitInfo.lclgvKbrdrDeptNm, laeKbrdrDeptNm: submitInfo.laeKbrdrDeptNm,
lclgvPicTelnoCn: submitInfo.lclgvPicTelnoCn, laePicTelNo: submitInfo.laePicTelNo,
lclgvIdfrNm: submitInfo.lclgvIdfrNm, laeIdfrNm: submitInfo.laeIdfrNm,
lclgvIdfrJbgdNm: submitInfo.lclgvIdfrJbgdNm, laeIdfrJbgdNm: submitInfo.laeIdfrJbgdNm,
lclgvIdfrDeptNm: submitInfo.lclgvIdfrDeptNm, laeIdfrDeptNm: submitInfo.laeIdfrDeptNm,
lclgvIdfrTelnoCn: submitInfo.lclgvIdfrTelnoCn, laeIdfrTelNo: submitInfo.laeIdfrTelNo,
}; };
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?.lclgvSbmsnSttsCd === '4' ? '4' : '2'), lae_sbmsn_stts_cd: (statusInfo?.laeSbmsnSttsCd === '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), // 행정구역명
statsTrbtrNm: nullableTrimmedString(d.statsTrbtrNm), // 지류 trbtrNm: nullableTrimmedString(d.trbtrNm), // 지류
spcCtpnRgnCn: spcCtpnRgnCn:
d.spcCtpnRgnCn === '해당없음' d.spcCtpnRgnCn === '해당없음'
? null ? null
: nullableTrimmedString(d.spcCtpnRgnCn), // 특별대책지역 : nullableTrimmedString(d.spcCtpnRgnCn), // 특별대책지역
// 공공하수처리인구(명) - 물리적/생물학적/고도처리 // 공공하수처리인구(명) - 물리적/생물학적/고도처리
physSwtrmtPpltnCnt: formatNumber(d.physSwtrmtPpltnCnt, 'physSwtrmtPpltnCnt'), // 물리적처리 ts1SwtrmtPpltnCnt: formatNumber(d.ts1SwtrmtPpltnCnt, 'ts1SwtrmtPpltnCnt'), // 물리적처리
crtureSwtrmtPpltnCnt: formatNumber(d.crtureSwtrmtPpltnCnt, 'crtureSwtrmtPpltnCnt'), // 생물학적처리 ts2SwtrmtPpltnCnt: formatNumber(d.ts2SwtrmtPpltnCnt, 'ts2SwtrmtPpltnCnt'), // 생물학적처리
altdSwtrmtPpltnCnt: formatNumber(d.altdSwtrmtPpltnCnt, 'altdSwtrmtPpltnCnt'), // 고도처리 ts3SwtrmtPpltnCnt: formatNumber(d.ts3SwtrmtPpltnCnt, 'ts3SwtrmtPpltnCnt'), // 고도처리
// 폐수처리인구(명) - 물리적/생물학적/고도처리 // 폐수처리인구(명) - 물리적/생물학적/고도처리
physWswtPpltnCnt: formatNumber(d.physWswtPpltnCnt, 'physWswtPpltnCnt'), ts1WwtPrcsPpltnCnt: formatNumber(d.ts1WwtPrcsPpltnCnt, 'ts1WwtPrcsPpltnCnt'),
crtureWswtPpltnCnt: formatNumber(d.crtureWswtPpltnCnt, 'crtureWswtPpltnCnt'), ts2WwtPrcsPpltnCnt: formatNumber(d.ts2WwtPrcsPpltnCnt, 'ts2WwtPrcsPpltnCnt'),
altdWswtPpltnCnt: formatNumber(d.altdWswtPpltnCnt, 'altdWswtPpltnCnt'), ts3WwtPrcsPpltnCnt: formatNumber(d.ts3WwtPrcsPpltnCnt, 'ts3WwtPrcsPpltnCnt'),
urftPpltnCnt: formatNumber(d.urftPpltnCnt, 'urftPpltnCnt'), // 미접속인구 yetCntnPpltnCnt: formatNumber(d.yetCntnPpltnCnt, 'yetCntnPpltnCnt'), // 미접속인구
swtrmtZoneIntnar: formatNumber(d.swtrmtZoneIntnar, 'swtrmtZoneIntnar'), // 하수처리구역 내 면적(㎢) staaArea: formatNumber(d.staaArea, 'staaArea'), // 하수처리구역 내 면적(㎢)
// 하수처리구역 외 // 하수처리구역 외
unprcsPpltnCnt: formatNumber(d.unprcsPpltnCnt, 'unprcsPpltnCnt'), // 미처리인구 unprcsPpltnCnt: formatNumber(d.unprcsPpltnCnt, 'unprcsPpltnCnt'), // 미처리인구
swgdplPpltnCnt: formatNumber(d.swgdplPpltnCnt, 'swgdplPpltnCnt'), // 오수처리인구 drtwPrcsPpltnCnt: formatNumber(d.drtwPrcsPpltnCnt, 'drtwPrcsPpltnCnt'), // 오수처리인구
spctnkPpltnCnt: formatNumber(d.spctnkPpltnCnt, 'spctnkPpltnCnt'), // 정화조인구 spctnkPpltnCnt: formatNumber(d.spctnkPpltnCnt, 'spctnkPpltnCnt'), // 정화조인구
swtrmtZoneExtnar: formatNumber(d.swtrmtZoneExtnar, 'swtrmtZoneExtnar'), // 하수처리구역 외 면적(㎢) staaExcpArea: formatNumber(d.staaExcpArea, 'staaExcpArea'), // 하수처리구역 외 면적(㎢)
rmrk: nullableTrimmedString(d.rmrk), // 비고 rmrk: nullableTrimmedString(d.rmrk), // 비고
// 합계·소계(계산필드 저장용) // 합계·소계(계산필드 저장용)
wholPpltnCnt: formatNumber(d.wholPpltnCnt, 'wholPpltnCnt'), // 총인구(명) wholPpltnCnt: formatNumber(d.wholPpltnCnt, 'wholPpltnCnt'), // 총인구(명)
whlar: formatNumber(d.whlar, 'whlar'), // 총면적(㎢) wholArea: formatNumber(d.wholArea, 'wholArea'), // 총면적(㎢)
wholSwtrmtPpltnCnt: formatNumber(d.wholSwtrmtPpltnCnt, 'wholSwtrmtPpltnCnt'), // 하수처리구역 내 합계 wholSwtrmtPpltnCnt: formatNumber(d.wholSwtrmtPpltnCnt, 'wholSwtrmtPpltnCnt'), // 하수처리구역 내 합계
wholPblSwtrmtPpltnCnt: formatNumber(d.wholPblSwtrmtPpltnCnt, 'wholPblSwtrmtPpltnCnt'), // 공공하수처리인구 소계 wholPblSwtrmtPpltnCnt: formatNumber(d.wholPblSwtrmtPpltnCnt, 'wholPblSwtrmtPpltnCnt'), // 공공하수처리인구 소계
wholWswtPpltnCnt: formatNumber(d.wholWswtPpltnCnt, 'wholWswtPpltnCnt'), // 폐수처리인구 소계 wholWwtPrcsPpltnCnt: formatNumber(d.wholWwtPrcsPpltnCnt, 'wholWwtPrcsPpltnCnt'), // 폐수처리인구 소계
wholStaaOtsdPpltnCnt: formatNumber(d.wholStaaOtsdPpltnCnt, 'wholStaaOtsdPpltnCnt'), // 하수처리구역 외 합계 wholStaaExcpPpltnCnt: formatNumber(d.wholStaaExcpPpltnCnt, 'wholStaaExcpPpltnCnt'), // 하수처리구역 외 합계
// 보급률(%) // 보급률(%)
swagePplPsplyRt: formatNumber(d.swagePplPsplyRt, 'swagePplPsplyRt'), // 공공하수처리구역 인구보급률 staaPsplyRt: formatNumber(d.staaPsplyRt, 'staaPsplyRt'), // 공공하수처리구역 인구보급률
awtrPsplyRt: formatNumber(d.awtrPsplyRt, 'awtrPsplyRt'), // 고도처리 인구보급률 altdPrcsPsplyRt: formatNumber(d.altdPrcsPsplyRt, 'altdPrcsPsplyRt'), // 고도처리 인구보급률
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 ?? '', // 통계 연도
userUuid: userInfo.userUnqId, // 사용자 userId: 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 ?? '',
mdfrUuid: userInfo.userUnqId, mdfrId: 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?.lclgvSbmsnSttsCd === '2'; const isSubmitted = statusInfo?.laeSbmsnSttsCd === '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?.lclgvSbmsnSttsCd === '2' && submitOk && <CancelSubmitButton cnacelSubmitFunc={cnacelSubmitFunc} />} {statusInfo?.laeSbmsnSttsCd === '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.cmprCn} / 현재 입력값: ${e.nowCn})`; (검증 기준값: ${e.compVlCn} / 현재 입력값: ${e.nowVlCn})`;
}) })
.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?.lclgvSbmsnSttsCd) { if (statusInfo?.laeSbmsnSttsCd) {
if (["2", "3"].includes(statusInfo.lclgvSbmsnSttsCd)) { if (["2", "3"].includes(statusInfo.laeSbmsnSttsCd)) {
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?.lclgvSbmsnSttsCd === "2"; const isSubmitted = statusInfo?.laeSbmsnSttsCd === "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"),
cvlcptDschgWq: formatNumber(d.cvlcptDschgWq, "cvlcptDschgWq"), dschgWqCnt: formatNumber(d.dschgWqCnt, "dschgWqCnt"),
cvlcptOdorCnt: formatNumber(d.cvlcptOdorCnt, "cvlcptOdorCnt"), odorCnt: formatNumber(d.odorCnt, "odorCnt"),
cvlcptDrgCnt: formatNumber(d.cvlcptDrgCnt, "cvlcptDrgCnt"), ldsCnt: formatNumber(d.ldsCnt, "ldsCnt"),
cvlcptMnhlCnt: formatNumber(d.cvlcptMnhlCnt, "cvlcptMnhlCnt"), plltnAcdntCnt: formatNumber(d.plltnAcdntCnt, "plltnAcdntCnt"),
cvlcptSpctnkCnt: formatNumber(d.cvlcptSpctnkCnt, "cvlcptSpctnkCnt"), swagePplCnt: formatNumber(d.swagePplCnt, "swagePplCnt"),
cvlcptSewerCrg: formatNumber(d.cvlcptSewerCrg, "cvlcptSewerCrg"), sewerCrgAmt: formatNumber(d.sewerCrgAmt, "sewerCrgAmt"),
cvlcptEtcCnt: formatNumber(d.cvlcptEtcCnt, "cvlcptEtcCnt"), etcCnt: formatNumber(d.etcCnt, "etcCnt"),
rmrk: nullableTrimmedString(d.rmrk), rmrk: nullableTrimmedString(d.rmrk),
cvlcptWholCnt: formatNumber(d.cvlcptWholCnt, "cvlcptWholCnt"), whol: formatNumber(d.whol, "whol"),
crtrPpltnCvlcptCnt: formatNumber( crtrPpltnCvlcptEvntcsCnt: formatNumber(
d.crtrPpltnCvlcptCnt, d.crtrPpltnCvlcptEvntcsCnt,
"crtrPpltnCvlcptCnt", "crtrPpltnCvlcptEvntcsCnt",
), ),
})); }));
} }
@@ -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),
stpar: formatNumber(d.stpar, "stpar"), tmplntArea: formatNumber(d.tmplntArea, "tmplntArea"),
brkFcar: formatNumber(d.brkFcar, "brkFcar"), brkFcltArea: formatNumber(d.brkFcltArea, "brkFcltArea"),
childFrshpSpacArea: formatNumber(d.childFrshpSpacArea, "childFrshpSpacArea"), childFrshpSpacArea: formatNumber(d.childFrshpSpacArea, "childFrshpSpacArea"),
bdySportsFcar: formatNumber(d.bdySportsFcar, "bdySportsFcar"), bdySportsFcltArea: formatNumber(d.bdySportsFcltArea, "bdySportsFcltArea"),
sportsFcar: formatNumber(d.sportsFcar, "sportsFcar"), sportsFcltArea: formatNumber(d.sportsFcltArea, "sportsFcltArea"),
pkltar: formatNumber(d.pkltar, "pkltar"), pkltArea: formatNumber(d.pkltArea, "pkltArea"),
eduMultiFcar: formatNumber(d.eduMultiFcar, "eduMultiFcar"), eduMultiFcltArea: formatNumber(d.eduMultiFcltArea, "eduMultiFcltArea"),
wtlndMakeArea: formatNumber(d.wtlndMakeArea, "wtlndMakeArea"), wtlndMakeArea: formatNumber(d.wtlndMakeArea, "wtlndMakeArea"),
othrar: formatNumber(d.othrar, "othrar"), etcCnt: formatNumber(d.etcCnt, "etcCnt"),
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),
lclgvPicNm: submitInfo.lclgvPicNm, laePicNm: submitInfo.laePicNm,
lclgvPicTelnoCn: submitInfo.lclgvPicTelnoCn, laePicTelNo: submitInfo.laePicTelNo,
lclgvKbrdrDeptNm: submitInfo.lclgvKbrdrDeptNm, laeKbrdrDeptNm: submitInfo.laeKbrdrDeptNm,
lclgvKbrdrJbgdNm: submitInfo.lclgvKbrdrJbgdNm, laeKbrdrJbgdNm: submitInfo.laeKbrdrJbgdNm,
lclgvIdfrNm: submitInfo.lclgvIdfrNm, laeIdfrNm: submitInfo.laeIdfrNm,
lclgvIdfrTelnoCn: submitInfo.lclgvIdfrTelnoCn, laeIdfrTelNo: submitInfo.laeIdfrTelNo,
lclgvIdfrDeptNm: submitInfo.lclgvIdfrDeptNm, laeIdfrDeptNm: submitInfo.laeIdfrDeptNm,
lclgvIdfrJbgdNm: submitInfo.lclgvIdfrJbgdNm, laeIdfrJbgdNm: submitInfo.laeIdfrJbgdNm,
}; };
const verificationQuery = { const verificationQuery = {
@@ -807,13 +807,13 @@ const SewerageServiceLevelInp = () => {
const response = isComplaintTab const response = isComplaintTab
? await statisticsInputSewerageServiceLevelApi.submitComplaintList({ ? await statisticsInputSewerageServiceLevelApi.submitComplaintList({
...submitInfoBase, ...submitInfoBase,
userUuid: userInfo.userUnqId, userId: userInfo.userUnqId,
...(isAdminInfo ? { superAdmin: "superAdmin" } : {}), ...(isAdminInfo ? { superAdmin: "superAdmin" } : {}),
submitList: complaintSubmitList, submitList: complaintSubmitList,
}) })
: await statisticsInputSewerageServiceLevelApi.submitResidentFriendlyFactList({ : await statisticsInputSewerageServiceLevelApi.submitResidentFriendlyFactList({
...submitInfoBase, ...submitInfoBase,
userUuid: userInfo.userUnqId, userId: 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?.lclgvSbmsnSttsCd === "4" ? "4" : "2", lae_sbmsn_stts_cd: activeTabStatus?.laeSbmsnSttsCd === "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,
userUuid: userInfo.userUnqId, userId: userInfo.userUnqId,
...(isAdminInfo ? { superAdmin: "superAdmin" } : {}), ...(isAdminInfo ? { superAdmin: "superAdmin" } : {}),
saveList, saveList,
}); });
@@ -967,7 +967,7 @@ const SewerageServiceLevelInp = () => {
await statisticsInputSewerageServiceLevelApi.saveResidentFriendlyFactList( await statisticsInputSewerageServiceLevelApi.saveResidentFriendlyFactList(
{ {
...baseRequest, ...baseRequest,
userUuid: userInfo.userUnqId, userId: 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 ?? "",
mdfrUuid: userInfo.userUnqId, mdfrId: userInfo.userUnqId,
statsCd: statsCdForTab, statsCd: statsCdForTab,
}; };
@@ -1156,7 +1156,7 @@ const SewerageServiceLevelInp = () => {
: e.vrfcCd === "NV" : e.vrfcCd === "NV"
? "일반검증 - " ? "일반검증 - "
: "모집단 검증 - "; : "모집단 검증 - ";
return `${prefix}${e.rsnExpln}(검증 기준값: ${e.cmprCn} / 현재 입력값: ${e.nowCn})`; return `${prefix}${e.rsnExpln}(검증 기준값: ${e.compVlCn} / 현재 입력값: ${e.nowVlCn})`;
}) })
.filter(Boolean) .filter(Boolean)
.join("\n"); .join("\n");
@@ -1202,7 +1202,7 @@ const SewerageServiceLevelInp = () => {
{submitOk && <SubmitButton submitFunc={submitFunc} />} {submitOk && <SubmitButton submitFunc={submitFunc} />}
</> </>
)} )}
{activeTabStatus?.lclgvSbmsnSttsCd === "2" && submitOk && ( {activeTabStatus?.laeSbmsnSttsCd === "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 mdfrUuid = (userInfo.userUnqId ?? "").trim(); const mdfrId = (userInfo.userUnqId ?? "").trim();
if (!mdfrUuid) { if (!mdfrId) {
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, mdfrUuid }; return { statsYr, sewerBzmnCd, statsCd, mdfrId };
}) })
.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)[] = ["lclgvPicTelnoCn", "lclgvIdfrTelnoCn"]; const PHONE_FIELDS: (keyof StatisticsInputSubmitInfoFormData)[] = ["laePicTelNo", "laeIdfrTelNo"];
interface SubmitDialogProps { interface SubmitDialogProps {
open: boolean; open: boolean;
@@ -56,26 +56,26 @@ interface SubmitDialogProps {
} }
const defaultValues: StatisticsInputSubmitInfoFormData = { const defaultValues: StatisticsInputSubmitInfoFormData = {
lclgvPicNm: "", laePicNm: "",
lclgvKbrdrJbgdNm: "", laeKbrdrJbgdNm: "",
lclgvKbrdrDeptNm: "", laeKbrdrDeptNm: "",
lclgvPicTelnoCn: "", laePicTelNo: "",
lclgvIdfrNm: "", laeIdfrNm: "",
lclgvIdfrJbgdNm: "", laeIdfrJbgdNm: "",
lclgvIdfrDeptNm: "", laeIdfrDeptNm: "",
lclgvIdfrTelnoCn: "", laeIdfrTelNo: "",
}; };
function statusInfoToFormData(info: SewerageStatusInfo): StatisticsInputSubmitInfoFormData { function statusInfoToFormData(info: SewerageStatusInfo): StatisticsInputSubmitInfoFormData {
return { return {
lclgvPicNm: info.lclgvPicNm ?? "", laePicNm: info.laePicNm ?? "",
lclgvKbrdrJbgdNm: info.lclgvKbrdrJbgdNm ?? "", laeKbrdrJbgdNm: info.laeKbrdrJbgdNm ?? "",
lclgvKbrdrDeptNm: info.lclgvKbrdrDeptNm ?? "", laeKbrdrDeptNm: info.laeKbrdrDeptNm ?? "",
lclgvPicTelnoCn: info.lclgvPicTelnoCn ?? "", laePicTelNo: info.laePicTelNo ?? "",
lclgvIdfrNm: info.lclgvIdfrNm ?? "", laeIdfrNm: info.laeIdfrNm ?? "",
lclgvIdfrJbgdNm: info.lclgvIdfrJbgdNm ?? "", laeIdfrJbgdNm: info.laeIdfrJbgdNm ?? "",
lclgvIdfrDeptNm: info.lclgvIdfrDeptNm ?? "", laeIdfrDeptNm: info.laeIdfrDeptNm ?? "",
lclgvIdfrTelnoCn: info.lclgvIdfrTelnoCn ?? "", laeIdfrTelNo: info.laeIdfrTelNo ?? "",
}; };
}; };
@@ -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: "lclgvPicNm", label: "작성자 명", placeholder: "작성자 명 입력" }, { name: "laePicNm", label: "작성자 명", placeholder: "작성자 명 입력" },
{ name: "lclgvKbrdrJbgdNm", label: "작성자 직제", placeholder: "작성자 직제 입력" }, { name: "laeKbrdrJbgdNm", label: "작성자 직제", placeholder: "작성자 직제 입력" },
{ name: "lclgvKbrdrDeptNm", label: "작성자 부서", placeholder: "작성자 부서 입력" }, { name: "laeKbrdrDeptNm", label: "작성자 부서", placeholder: "작성자 부서 입력" },
{ name: "lclgvPicTelnoCn", label: "작성자 연락처", placeholder: "작성자 연락처 입력" }, { name: "laePicTelNo", label: "작성자 연락처", placeholder: "작성자 연락처 입력" },
{ name: "lclgvIdfrNm", label: "승인자명", placeholder: "승인자명 입력" }, { name: "laeIdfrNm", label: "승인자명", placeholder: "승인자명 입력" },
{ name: "lclgvIdfrJbgdNm", label: "승인자 직제", placeholder: "승인자 직제 입력" }, { name: "laeIdfrJbgdNm", label: "승인자 직제", placeholder: "승인자 직제 입력" },
{ name: "lclgvIdfrDeptNm", label: "승인자 부서", placeholder: "승인자 부서 입력" }, { name: "laeIdfrDeptNm", label: "승인자 부서", placeholder: "승인자 부서 입력" },
{ name: "lclgvIdfrTelnoCn", label: "승인자 연락처", placeholder: "승인자 연락처" }, { name: "laeIdfrTelNo", 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?.lclgvSbmsnSttsCd) { if (statusInfo?.laeSbmsnSttsCd) {
if (["2", "3"].includes(statusInfo.lclgvSbmsnSttsCd)) { if (["2", "3"].includes(statusInfo.laeSbmsnSttsCd)) {
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?.lclgvSbmsnSttsCd === "2"; const isSubmitted = statusInfo?.laeSbmsnSttsCd === "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),
archWhlar: toGridNumber(row.archWhlar), archWholArea: toGridNumber(row.archWholArea),
prcsCpct: toGridNumber(row.prcsCpct), prcsCpct: toGridNumber(row.prcsCpct),
ruswtrWtrUsqty: toGridNumber(row.ruswtrWtrUsqty), wtrUseQnt: toGridNumber(row.wtrUseQnt),
ruswtrUtztnQnt: toGridNumber(row.ruswtrUtztnQnt), ruswtrUtztnQnt: toGridNumber(row.ruswtrUtztnQnt),
sbstCntUtztnQnt: toGridNumber(row.sbstCntUtztnQnt), sbstCntUtztnQnt: toGridNumber(row.sbstCntUtztnQnt),
ruswtrUsgCn: nullableTrimmedString(row.ruswtrUsgCn), mnUsgCn: nullableTrimmedString(row.mnUsgCn),
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),
bdstSeCn: nullableTrimmedString(row.bdstSeCn), bdstTypCn: nullableTrimmedString(row.bdstTypCn),
fcltPstnCn: nullableTrimmedString(row.fcltPstnCn), fcltPstnCn: nullableTrimmedString(row.fcltPstnCn),
lglTrgtYn: nullableTrimmedString(row.lglTrgtYn), lglTrgtYn: nullableTrimmedString(row.lglTrgtYn),
cmptnYmd: toCompactYmdOrNull(row.cmptnYmd), cmptYmd: toCompactYmdOrNull(row.cmptYmd),
fcltInstlAmt: toGridNumber(row.fcltInstlAmt), instlAmt: toGridNumber(row.instlAmt),
rcptKndCn: nullableTrimmedString(row.rcptKndCn), rcptMynCn: nullableTrimmedString(row.rcptMynCn),
filtrPrcsFcltExpln: nullableTrimmedString(row.filtrPrcsFcltExpln), filtrPrcsFcltYnExpln: nullableTrimmedString(row.filtrPrcsFcltYnExpln),
fcltRtntnkCpct: toGridNumber(row.fcltRtntnkCpct), impdCpct: toGridNumber(row.impdCpct),
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,
cmptnYmd: formatCompactYmdForGrid(item.cmptnYmd), cmptYmd: formatCompactYmdForGrid(item.cmptYmd),
}, },
])[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),
lclgvPicNm: submitInfo.lclgvPicNm, laePicNm: submitInfo.laePicNm,
lclgvPicTelnoCn: submitInfo.lclgvPicTelnoCn, laePicTelNo: submitInfo.laePicTelNo,
lclgvKbrdrDeptNm: submitInfo.lclgvKbrdrDeptNm, laeKbrdrDeptNm: submitInfo.laeKbrdrDeptNm,
lclgvKbrdrJbgdNm: submitInfo.lclgvKbrdrJbgdNm, laeKbrdrJbgdNm: submitInfo.laeKbrdrJbgdNm,
lclgvIdfrNm: submitInfo.lclgvIdfrNm, laeIdfrNm: submitInfo.laeIdfrNm,
lclgvIdfrTelnoCn: submitInfo.lclgvIdfrTelnoCn, laeIdfrTelNo: submitInfo.laeIdfrTelNo,
lclgvIdfrDeptNm: submitInfo.lclgvIdfrDeptNm, laeIdfrDeptNm: submitInfo.laeIdfrDeptNm,
lclgvIdfrJbgdNm: submitInfo.lclgvIdfrJbgdNm, laeIdfrJbgdNm: submitInfo.laeIdfrJbgdNm,
...(isAdminInfo ? { superAdmin: "superAdmin" } : {}), ...(isAdminInfo ? { superAdmin: "superAdmin" } : {}),
}; };
@@ -1211,7 +1211,7 @@ const WaterReuseInp = () => {
response = await statisticsInputWaterReuseApi.submitPublicSewageTreatWaterReuse({ response = await statisticsInputWaterReuseApi.submitPublicSewageTreatWaterReuse({
...submitRequestBase, ...submitRequestBase,
userUuid: userInfo.userUnqId, userId: userInfo.userUnqId,
noApplicable, noApplicable,
submitList, submitList,
}); });
@@ -1233,7 +1233,7 @@ const WaterReuseInp = () => {
const articleSubmitRequest = { const articleSubmitRequest = {
...submitRequestBase, ...submitRequestBase,
userUuid: userInfo.userUnqId, userId: 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?.lclgvSbmsnSttsCd === "4" ? "4" : "2", activeTabStatus?.laeSbmsnSttsCd === "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,
userUuid: userInfo.userUnqId, userId: 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,
userUuid: userInfo.userUnqId, userId: 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,
userUuid: userInfo.userUnqId, userId: 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,
userUuid: userInfo.userUnqId, userId: 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,
userUuid: userInfo.userUnqId, userId: 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),
userUuid: userInfo.userUnqId, userId: 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 ?? "",
mdfrUuid: userInfo.userUnqId, mdfrId: userInfo.userUnqId,
statsCd: statsCdForTab, statsCd: statsCdForTab,
}; };
@@ -2072,7 +2072,7 @@ const WaterReuseInp = () => {
: e.vrfcCd === "NV" : e.vrfcCd === "NV"
? "일반검증 - " ? "일반검증 - "
: "모집단 검증 - "; : "모집단 검증 - ";
return `${prefix}${e.rsnExpln}(검증 기준값: ${e.cmprCn} / 현재 입력값: ${e.nowCn})`; return `${prefix}${e.rsnExpln}(검증 기준값: ${e.compVlCn} / 현재 입력값: ${e.nowVlCn})`;
}) })
.filter(Boolean) .filter(Boolean)
.join("\n"); .join("\n");
@@ -2118,7 +2118,7 @@ const WaterReuseInp = () => {
{submitOk && <SubmitButton submitFunc={submitFunc} />} {submitOk && <SubmitButton submitFunc={submitFunc} />}
</> </>
)} )}
{activeTabStatus?.lclgvSbmsnSttsCd === "2" && submitOk && ( {activeTabStatus?.laeSbmsnSttsCd === "2" && submitOk && (
<CancelSubmitButton cnacelSubmitFunc={cnacelSubmitFunc} /> <CancelSubmitButton cnacelSubmitFunc={cnacelSubmitFunc} />
)} )}
{showSaveInToolbar && <SaveButton saveFunc={saveFunc} />} {showSaveInToolbar && <SaveButton saveFunc={saveFunc} />}
@@ -98,7 +98,7 @@ const DomesticPopulationTab = ({ tab, statsYr, onFileButtonClick }: Props) => {
enableSort={false} enableSort={false}
getGridRef={rightGridRef} // ← 추가 getGridRef={rightGridRef} // ← 추가
onDataCellClick={({ row, fieldName }) => { onDataCellClick={({ row, fieldName }) => {
if (fieldName === "mpinCd") return; if (fieldName === "sbstAdmdstCd") return;
if (fieldName === "admdstCd") { if (fieldName === "admdstCd") {
const gridView = rightGridRef.current?.gridView as const gridView = rightGridRef.current?.gridView as
| GridViewWithEditCommit | GridViewWithEditCommit
@@ -108,7 +108,7 @@ const DomesticPopulationTab = ({ tab, statsYr, onFileButtonClick }: Props) => {
tab.setRightRowData((prev) => tab.setRightRowData((prev) =>
prev.map((r) => prev.map((r) =>
r.admdstCd === row.admdstCd r.admdstCd === row.admdstCd
? { ...r, mpinCd: String(row.admdstCd ?? "") } ? { ...r, sbstAdmdstCd: String(row.admdstCd ?? "") }
: r, : r,
), ),
); );
@@ -117,7 +117,7 @@ const DomesticPopulationTab = ({ tab, statsYr, onFileButtonClick }: Props) => {
} }
}} }}
onCellDblClick={({ row, fieldName }) => { onCellDblClick={({ row, fieldName }) => {
if (fieldName !== "mpinCd") return; if (fieldName !== "sbstAdmdstCd") return;
void tab.handleRightRowClick(fromGridRow<DomesticPopulationItem>(row), statsYr); void tab.handleRightRowClick(fromGridRow<DomesticPopulationItem>(row), statsYr);
}} }}
/> />
@@ -97,7 +97,7 @@ const ForeignPopulationTab = ({ tab, statsYr, onFileButtonClick }: Props) => {
enableSort={false} enableSort={false}
getGridRef={rightGridRef} getGridRef={rightGridRef}
onDataCellClick={({ row, fieldName }) => { onDataCellClick={({ row, fieldName }) => {
if (fieldName === "mpinCd") return; if (fieldName === "sbstAdmdstCd") return;
if (fieldName === "admdstCd") { if (fieldName === "admdstCd") {
const gridView = rightGridRef.current?.gridView as const gridView = rightGridRef.current?.gridView as
| GridViewWithEditCommit | GridViewWithEditCommit
@@ -107,7 +107,7 @@ const ForeignPopulationTab = ({ tab, statsYr, onFileButtonClick }: Props) => {
tab.setRightRowData((prev) => tab.setRightRowData((prev) =>
prev.map((r) => prev.map((r) =>
r.admdstCd === row.admdstCd r.admdstCd === row.admdstCd
? { ...r, mpinCd: String(row.admdstCd ?? "") } ? { ...r, sbstAdmdstCd: String(row.admdstCd ?? "") }
: r, : r,
), ),
); );
@@ -116,7 +116,7 @@ const ForeignPopulationTab = ({ tab, statsYr, onFileButtonClick }: Props) => {
} }
}} }}
onCellDblClick={({ row, fieldName }) => { onCellDblClick={({ row, fieldName }) => {
if (fieldName !== "mpinCd") return; if (fieldName !== "sbstAdmdstCd") return;
void tab.handleRightRowClick(fromGridRow<ForeignPopulationItem>(row), statsYr); void tab.handleRightRowClick(fromGridRow<ForeignPopulationItem>(row), statsYr);
}} }}
/> />
@@ -75,9 +75,9 @@ export function LogHistoryDetailDialog({
if (!row) return; if (!row) return;
const sn = row.statsLogSn; const sn = row.statsLogSn;
const rgtrUuid = const rgtrId =
row.rgtrUuid != null && String(row.rgtrUuid).trim() !== "" row.rgtrId != null && String(row.rgtrId).trim() !== ""
? String(row.rgtrUuid).trim() ? String(row.rgtrId).trim()
: ""; : "";
let cancelled = false; let cancelled = false;
@@ -88,8 +88,8 @@ export function LogHistoryDetailDialog({
try { try {
const userLookupPromise = const userLookupPromise =
rgtrUuid !== "" rgtrId !== ""
? UserApi.findByUserUnqId(rgtrUuid).catch(() => { ? UserApi.findByUserUnqId(rgtrId).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.fmlaCombSeq ?? "-"} {item.eqtnCombSeq ?? "-"}
</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.cmprArtopnCn ?? "-"} {item.cmprOpert ?? "-"}
</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.kornArtopnFmlaCn ?? "-"} {item.kornArtopnEqtnCn ?? "-"}
</p> </p>
<p className="col-span-2"> <p className="col-span-2">
<span className="font-semibold"> <span className="font-semibold">
영문 수식: 영문 수식:
</span>{" "} </span>{" "}
{item.engArtopnFmlaCn ?? "-"} {item.engArtopnEqtnCn ?? "-"}
</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(seTypeCd: StatsInputPeriodItem["seTypeCd"]): string { function seTypeToDisplayLabel(seType: StatsInputPeriodItem["seType"]): string {
if (seTypeCd === "INPT") return "입력"; if (seType === "INPT") return "입력";
if (seTypeCd === "VRFC") return "검증"; if (seType === "VRFC") return "검증";
return seTypeCd; return seType;
} }
function rowSeTypeToCode(row: Record<string, string | number>): "INPT" | "VRFC" { function rowSeTypeToCode(row: Record<string, string | number>): "INPT" | "VRFC" {
const v = String(row.seTypeCd ?? ""); const v = String(row.seType ?? "");
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"
? { seTypeCd: values.clsfCd } ? { seType: 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,
seTypeCd: seTypeToDisplayLabel(row.seTypeCd), seType: seTypeToDisplayLabel(row.seType),
bgngYmd: formatYmdForDisplay(row.bgngYmd), inptBgngYmd: formatYmdForDisplay(row.inptBgngYmd),
endYmd: formatYmdForDisplay(row.endYmd), inptEndYmd: formatYmdForDisplay(row.inptEndYmd),
[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 cyclSeNoRaw = row.cyclSeNo; const seCdRaw = row.seCd;
const cyclSeNoNum = const seCdNum =
typeof cyclSeNoRaw === "number" typeof seCdRaw === "number"
? cyclSeNoRaw ? seCdRaw
: parseInt(String(cyclSeNoRaw ?? ""), 10); : parseInt(String(seCdRaw ?? ""), 10);
const cyclSeNo = Number.isFinite(cyclSeNoNum) ? cyclSeNoNum : 0; const seCd = Number.isFinite(seCdNum) ? seCdNum : 0;
const statsYr = String(row.statsYr ?? ""); const statsYr = String(row.statsYr ?? "");
const seTypeCd = rowSeTypeToCode(row); const seType = 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,
seTypeCd, seType,
cyclSeNo, seCd,
...(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),
seTypeCd: detail.seTypeCd === "VRFC" ? "VRFC" : "INPT", seType: detail.seType === "VRFC" ? "VRFC" : "INPT",
cyclSeNo: seCd:
typeof detail.cyclSeNo === "number" && Number.isFinite(detail.cyclSeNo) typeof detail.seCd === "number" && Number.isFinite(detail.seCd)
? detail.cyclSeNo ? detail.seCd
: cyclSeNo, : seCd,
bgngYmd: parseYmdToDate(detail.bgngYmd), inptBgngYmd: parseYmdToDate(detail.inptBgngYmd),
endYmd: parseYmdToDate(detail.endYmd), inptEndYmd: parseYmdToDate(detail.inptEndYmd),
}); });
setPeriodDialogOpen(true); setPeriodDialogOpen(true);
} catch { } catch {
@@ -202,20 +202,20 @@ const StatisticsInputManagement = () => {
editable: false, editable: false,
}, },
{ {
name: "seTypeCd", name: "seType",
fieldName: "seTypeCd", fieldName: "seType",
header: { text: "분류" }, header: { text: "분류" },
editable: false, editable: false,
}, },
{ {
name: "bgngYmd", name: "inptBgngYmd",
fieldName: "bgngYmd", fieldName: "inptBgngYmd",
header: { text: "시작일" }, header: { text: "시작일" },
editable: false, editable: false,
}, },
{ {
name: "endYmd", name: "inptEndYmd",
fieldName: "endYmd", fieldName: "inptEndYmd",
header: { text: "종료일" }, header: { text: "종료일" },
editable: false, editable: false,
}, },
@@ -231,9 +231,9 @@ const StatisticsInputManagement = () => {
const columnLayout = [ const columnLayout = [
"statsYr", "statsYr",
"seTypeCd", "seType",
"bgngYmd", "inptBgngYmd",
"endYmd", "inptEndYmd",
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;
seTypeCd: "INPT" | "VRFC"; seType: "INPT" | "VRFC";
cyclSeNo: number; seCd: number;
bgngYmd: Date | undefined; inptBgngYmd: Date | undefined;
endYmd: Date | undefined; inptEndYmd: 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 [seTypeCd, setSeTypeCd] = useState<"INPT" | "VRFC" | null>(null); const [seType, setSeType] = useState<"INPT" | "VRFC" | null>(null);
const [cyclSeNoInput, setCyclSeNoInput] = useState(""); const [seCdInput, setSeCdInput] = useState("");
const [bgngYmd, setBgngYmd] = useState<Date | undefined>(undefined); const [inptBgngYmd, setInptBgngYmd] = useState<Date | undefined>(undefined);
const [endYmd, setEndYmd] = useState<Date | undefined>(undefined); const [inptEndYmd, setInptEndYmd] = 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 ?? ""));
setSeTypeCd(null); setSeType(null);
setCyclSeNoInput("0"); setSeCdInput("0");
setBgngYmd(undefined); setInptBgngYmd(undefined);
setEndYmd(undefined); setInptEndYmd(undefined);
return; return;
} }
if (!initial) return; if (!initial) return;
setStatsYr(normalizeStatsYrInput(String(initial.statsYr ?? ""))); setStatsYr(normalizeStatsYrInput(String(initial.statsYr ?? "")));
setSeTypeCd(initial.seTypeCd); setSeType(initial.seType);
setCyclSeNoInput(String(Number.isFinite(initial.cyclSeNo) ? initial.cyclSeNo : 0)); setSeCdInput(String(Number.isFinite(initial.seCd) ? initial.seCd : 0));
setBgngYmd(initial.bgngYmd); setInptBgngYmd(initial.inptBgngYmd);
setEndYmd(initial.endYmd); setInptEndYmd(initial.inptEndYmd);
}, [open, mode, initial, createDefaultStatsYr]); }, [open, mode, initial, createDefaultStatsYr]);
const handleSave = async () => { const handleSave = async () => {
const bgng = formatDateToYmd(bgngYmd); const bgng = formatDateToYmd(inptBgngYmd);
const end = formatDateToYmd(endYmd); const end = formatDateToYmd(inptEndYmd);
if (!bgng || !end) { if (!bgng || !end) {
alert("시작일과 종료일을 선택해주세요."); alert("시작일과 종료일을 선택해주세요.");
return; return;
@@ -111,18 +111,18 @@ export function StatisticsInputPeriodDialog({
alert("시작일은 종료일보다 늦을 수 없습니다."); alert("시작일은 종료일보다 늦을 수 없습니다.");
return; return;
} }
if (seTypeCd === null) { if (seType === null) {
alert("분류를 선택해주세요."); alert("분류를 선택해주세요.");
return; return;
} }
const cyclSeNoParsed = const seCdParsed =
mode === "create" mode === "create"
? 0 ? 0
: (() => { : (() => {
const n = parseInt(cyclSeNoInput, 10); const n = parseInt(seCdInput, 10);
return Number.isFinite(n) && n >= 0 ? n : NaN; return Number.isFinite(n) && n >= 0 ? n : NaN;
})(); })();
if (mode === "edit" && !Number.isFinite(cyclSeNoParsed)) { if (mode === "edit" && !Number.isFinite(seCdParsed)) {
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,
seTypeCd, seType,
bgngYmd: bgng, inptBgngYmd: bgng,
endYmd: end, inptEndYmd: end,
rgtrUuid: userInfo.userUnqId, rgtrId: userInfo.userUnqId,
}; };
if (!isCreate) { if (!isCreate) {
param.cyclSeNo = cyclSeNoParsed; param.seCd = seCdParsed;
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.bgngYmd); const bgng = formatDateToYmd(initial.inptBgngYmd);
const end = formatDateToYmd(initial.endYmd); const end = formatDateToYmd(initial.inptEndYmd);
if (!bgng || !end) { if (!bgng || !end) {
alert("삭제할 기간 정보가 없습니다."); alert("삭제할 기간 정보가 없습니다.");
return; return;
@@ -184,19 +184,19 @@ export function StatisticsInputPeriodDialog({
alert("연도가 없습니다."); alert("연도가 없습니다.");
return; return;
} }
const cyclSeNo = const seCd =
Number.isFinite(initial.cyclSeNo) && initial.cyclSeNo >= 0 ? initial.cyclSeNo : 0; Number.isFinite(initial.seCd) && initial.seCd >= 0 ? initial.seCd : 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,
seTypeCd: initial.seTypeCd, seType: initial.seType,
cyclSeNo, seCd,
bgngYmd: bgng, inptBgngYmd: bgng,
endYmd: end, inptEndYmd: end,
rgtrUuid: userInfo.userUnqId, rgtrId: 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={seTypeCd ?? undefined} value={seType ?? undefined}
onValueChange={(v) => setSeTypeCd(v as "INPT" | "VRFC")} onValueChange={(v) => setSeType(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={cyclSeNoInput} value={seCdInput}
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={bgngYmd} value={inptBgngYmd}
onChange={setBgngYmd} onChange={setInptBgngYmd}
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={endYmd} value={inptEndYmd}
onChange={setEndYmd} onChange={setInptEndYmd}
className="w-full" className="w-full"
/> />
</div> </div>
@@ -126,12 +126,12 @@ export function usePopulationMappingTab<TRow extends PopulationMappingRow>(
await run(async () => { await run(async () => {
const regList = rightRowData const regList = rightRowData
.filter((row) => String(row.mpinCd ?? "").trim() !== "") .filter((row) => String(row.sbstAdmdstCd ?? "").trim() !== "")
.map((row) => ({ .map((row) => ({
statsYr, statsYr,
admdstCd: String(row.admdstCd ?? ""), admdstCd: String(row.admdstCd ?? ""),
admdstNm: String(row.admdstNm ?? ""), admdstNm: String(row.admdstNm ?? ""),
subAdmdstCd: String(row.mpinCd ?? ""), sbstAdmdstCd: String(row.sbstAdmdstCd ?? ""),
})); }));
const res = await config.saveFinal(statsYr, regList); const res = await config.saveFinal(statsYr, regList);
@@ -167,7 +167,7 @@ const handleRightRowClick = async (rowData: TRow, statsYr: string) => {
const rowIndex = selectedRowIndexRef.current; const rowIndex = selectedRowIndexRef.current;
if (rowIndex === null) return; if (rowIndex === null) return;
setRightRowData((prev) => setRightRowData((prev) =>
prev.map((row, idx) => (idx === rowIndex ? { ...row, mpinCd: item["admdstCd"] ?? "" } : row)), prev.map((row, idx) => (idx === rowIndex ? { ...row, sbstAdmdstCd: item["admdstCd"] ?? "" } : row)),
); );
selectedRowIndexRef.current = null; selectedRowIndexRef.current = null;
}; };
@@ -14,7 +14,7 @@ export interface ForeignPopulationItem {
frgnrMlPpltnCnt: number; frgnrMlPpltnCnt: number;
frgnrFmlPpltnCnt: number; frgnrFmlPpltnCnt: number;
/** 미매핑 리스트(우측) 전용 - 매핑 대상 행정구역코드(상위코드) */ /** 미매핑 리스트(우측) 전용 - 매핑 대상 행정구역코드(상위코드) */
mpinCd: string; sbstAdmdstCd: string;
} }
export type ForeignPopulationListResponse = ApiResponse<ForeignPopulationItem[]>; export type ForeignPopulationListResponse = ApiResponse<ForeignPopulationItem[]>;
@@ -88,7 +88,7 @@ export interface PopulationMappingRegItem {
statsYr: string; statsYr: string;
admdstCd: string; admdstCd: string;
admdstNm: string; admdstNm: string;
subAdmdstCd: string; sbstAdmdstCd: string;
} }
/** 좌/우 그리드 행이 공통으로 가져야 하는 최소 필드 */ /** 좌/우 그리드 행이 공통으로 가져야 하는 최소 필드 */
@@ -96,7 +96,7 @@ export interface PopulationMappingRow {
admdstCd: string; admdstCd: string;
admdstNm: string; admdstNm: string;
/** 우측(미매핑 리스트) 전용 필드. 좌측 데이터에는 존재하지 않을 수 있음 */ /** 우측(미매핑 리스트) 전용 필드. 좌측 데이터에는 존재하지 않을 수 있음 */
mpinCd?: string; sbstAdmdstCd?: string;
} }
/** usePopulationMappingTab에 주입하는 API/검증 설정 - 내국인/외국인 탭이 이 설정만 다르게 넘김 */ /** usePopulationMappingTab에 주입하는 API/검증 설정 - 내국인/외국인 탭이 이 설정만 다르게 넘김 */
@@ -76,11 +76,11 @@ const ExcretaTreatmentFacilityRvw = () => {
const { showReviewOpinionButton, showReturnButton, showSubmitButton } = useMemo(() => { const { showReviewOpinionButton, showReturnButton, showSubmitButton } = useMemo(() => {
const submit = const submit =
statsStatusInfo.lclgvSbmsnSttsCd != null statsStatusInfo.submitStatusCd != null
? String(statsStatusInfo.lclgvSbmsnSttsCd) ? String(statsStatusInfo.submitStatusCd)
: ""; : "";
const prvn = const prvn =
statsStatusInfo.mctpvPicSbmsnSttsCd != null ? String(statsStatusInfo.mctpvPicSbmsnSttsCd) : ""; statsStatusInfo.prvnStatusCd != null ? String(statsStatusInfo.prvnStatusCd) : "";
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 ?? "",
telnoCn: item.telnoCn ?? "", telNo: item.telNo ?? "",
cmptnStrtYmd: item.cmptnStrtYmd ?? "", cmptnStrtYmd: item.cmptnStrtYmd ?? "",
oprtngStrtYmd: item.oprtngStrtYmd ?? "", oprtngStrtYmd: item.oprtngStrtYmd ?? "",
prcsExpln: item.prcsExpln ?? "", prcsMthdExpln: item.prcsMthdExpln ?? "",
linkTmplntCn: item.linkTmplntCn ?? "", linkTmplntCn: item.linkTmplntCn ?? "",
fcltWtsysNm: item.fcltWtsysNm ?? "", wtsysNm: item.wtsysNm ?? "",
fcltTrbtrNm: item.fcltTrbtrNm ?? "", trbtrNm: item.trbtrNm ?? "",
msirbCn: item.msirbCn ?? "", msirbCn: item.msirbCn ?? "",
ssirbCn: item.ssirbCn ?? "", ssirbCn: item.ssirbCn ?? "",
operCn: item.operCn ?? "", operMthdCdCn: item.operMthdCdCn ?? "",
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.splmntRsltCn ?? ""); setLatestProcessHistory(statsInfo.wrterOpnnCn ?? "");
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?.splmntRsltCn ?? ""); setLatestProcessHistory(row?.wrterOpnnCn ?? "");
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,
splmntRsltCn: param.splmntRsltCn, wrterOpnnCn: param.wrterOpnnCn,
})); }));
setLatestReviewOpinion(param.splmntOpnnCn); setLatestReviewOpinion(param.splmntOpnnCn);
setLatestProcessHistory(param.splmntRsltCn); setLatestProcessHistory(param.wrterOpnnCn);
} 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.splmntRsltCn ?? ""; const latestProcessHistory = activeStatsStatusInfo.wrterOpnnCn ?? "";
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.lclgvSbmsnSttsCd != null statsStatusInfo.submitStatusCd != null
? String(statsStatusInfo.lclgvSbmsnSttsCd) ? String(statsStatusInfo.submitStatusCd)
: ""; : "";
const prvn = const prvn =
statsStatusInfo.mctpvPicSbmsnSttsCd != null ? String(statsStatusInfo.mctpvPicSbmsnSttsCd) : ""; statsStatusInfo.prvnStatusCd != null ? String(statsStatusInfo.prvnStatusCd) : "";
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 ?? "",
splmntRsltCn: row?.splmntRsltCn ?? "", wrterOpnnCn: row?.wrterOpnnCn ?? "",
}); });
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,
splmntRsltCn: param.splmntRsltCn, wrterOpnnCn: param.wrterOpnnCn,
}); });
return next; return next;
}); });
@@ -63,8 +63,8 @@ const PublicSewageFacilityRvw = () => {
); );
const { showReviewOpinionButton, showReturnButton, showSubmitButton } = useMemo(() => { const { showReviewOpinionButton, showReturnButton, showSubmitButton } = useMemo(() => {
const submit = statsStatusInfo.lclgvSbmsnSttsCd != null ? String(statsStatusInfo.lclgvSbmsnSttsCd) : ""; const submit = statsStatusInfo.submitStatusCd != null ? String(statsStatusInfo.submitStatusCd) : "";
const prvn = statsStatusInfo.mctpvPicSbmsnSttsCd != null ? String(statsStatusInfo.mctpvPicSbmsnSttsCd) : ""; const prvn = statsStatusInfo.prvnStatusCd != null ? String(statsStatusInfo.prvnStatusCd) : "";
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.splmntRsltCn ?? "", response.data.statsStatusInfo.wrterOpnnCn ?? "",
); );
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?.splmntRsltCn ?? ""); setLatestProcessHistory(row?.wrterOpnnCn ?? "");
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,
splmntRsltCn: param.splmntRsltCn, wrterOpnnCn: param.wrterOpnnCn,
})); }));
setLatestReviewOpinion(param.splmntOpnnCn); setLatestReviewOpinion(param.splmntOpnnCn);
setLatestProcessHistory(param.splmntRsltCn); setLatestProcessHistory(param.wrterOpnnCn);
} 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.lclgvSbmsnSttsCd != null statsStatusInfo.submitStatusCd != null
? String(statsStatusInfo.lclgvSbmsnSttsCd) ? String(statsStatusInfo.submitStatusCd)
: ""; : "";
const prvn = const prvn =
statsStatusInfo.mctpvPicSbmsnSttsCd != null ? String(statsStatusInfo.mctpvPicSbmsnSttsCd) : ""; statsStatusInfo.prvnStatusCd != null ? String(statsStatusInfo.prvnStatusCd) : "";
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,9 +144,12 @@ 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 ?? "",
})); }));
@@ -157,7 +160,7 @@ const PumpingStationRvw = () => {
statsCd: statsInfo.statsCd ?? "", statsCd: statsInfo.statsCd ?? "",
}); });
setLatestReviewOpinion(statsInfo.splmntOpnnCn ?? ""); setLatestReviewOpinion(statsInfo.splmntOpnnCn ?? "");
setLatestProcessHistory(statsInfo.splmntRsltCn ?? ""); setLatestProcessHistory(statsInfo.wrterOpnnCn ?? "");
setRowData(toGridRows(convertedData)); setRowData(toGridRows(convertedData));
} else { } else {
setRowData([]); setRowData([]);
@@ -203,7 +206,7 @@ const PumpingStationRvw = () => {
const row = detailRes.data?.[0]; const row = detailRes.data?.[0];
setLatestReviewOpinion(row?.splmntOpnnCn ?? ""); setLatestReviewOpinion(row?.splmntOpnnCn ?? "");
setLatestProcessHistory(row?.splmntRsltCn ?? ""); setLatestProcessHistory(row?.wrterOpnnCn ?? "");
setReviewOpinionOpen(true); setReviewOpinionOpen(true);
} catch { } catch {
alert("검토의견 조회 중 오류가 발생했습니다."); alert("검토의견 조회 중 오류가 발생했습니다.");
@@ -221,10 +224,10 @@ const PumpingStationRvw = () => {
setStatsStatusInfo((prev) => ({ setStatsStatusInfo((prev) => ({
...prev, ...prev,
splmntOpnnCn: param.splmntOpnnCn, splmntOpnnCn: param.splmntOpnnCn,
splmntRsltCn: param.splmntRsltCn, wrterOpnnCn: param.wrterOpnnCn,
})); }));
setLatestReviewOpinion(param.splmntOpnnCn); setLatestReviewOpinion(param.splmntOpnnCn);
setLatestProcessHistory(param.splmntRsltCn); setLatestProcessHistory(param.wrterOpnnCn);
} 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,
mdfrUuid: userInfo.userUnqId, mdfrId: 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,
splmntRsltCn: processHistory, wrterOpnnCn: processHistory,
mdfrUuid: userInfo.userUnqId, mdfrId: 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 / splmntRsltCn을 넣지 않음 * submit body에 statsCd / splmntOpnnCn / wrterOpnnCn을 넣지 않음
*/ */
hideOpinionFields?: boolean; hideOpinionFields?: boolean;
} }
@@ -108,15 +108,15 @@ export function ReviewSubmitDialog({
? { ? {
statsYr: context.statsYr, statsYr: context.statsYr,
sewerBzmnCd: [context.sewerBzmnCd], sewerBzmnCd: [context.sewerBzmnCd],
mdfrUuid: userInfo.userUnqId, mdfrId: userInfo.userUnqId,
} }
: { : {
statsYr: context.statsYr, statsYr: context.statsYr,
sewerBzmnCd: context.sewerBzmnCd, sewerBzmnCd: context.sewerBzmnCd,
statsCd: context.statsCd, statsCd: context.statsCd,
mdfrUuid: userInfo.userUnqId, mdfrId: userInfo.userUnqId,
splmntOpnnCn: reviewerInfo?.splmntOpnnCn ?? "", splmntOpnnCn: reviewerInfo?.splmntOpnnCn ?? "",
splmntRsltCn: reviewerInfo?.splmntRsltCn ?? "", wrterOpnnCn: reviewerInfo?.wrterOpnnCn ?? "",
}; };
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?.splmntRsltCn ?? "-"} value={reviewerInfo?.wrterOpnnCn ?? "-"}
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.splmntRsltCn ?? ""; const latestProcessHistory = activeStatsStatusInfo.wrterOpnnCn ?? "";
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.lclgvSbmsnSttsCd != null statsStatusInfo.submitStatusCd != null
? String(statsStatusInfo.lclgvSbmsnSttsCd) ? String(statsStatusInfo.submitStatusCd)
: ""; : "";
const prvn = const prvn =
statsStatusInfo.mctpvPicSbmsnSttsCd != null ? String(statsStatusInfo.mctpvPicSbmsnSttsCd) : ""; statsStatusInfo.prvnStatusCd != null ? String(statsStatusInfo.prvnStatusCd) : "";
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 ?? "",
splmntRsltCn: row?.splmntRsltCn ?? "", wrterOpnnCn: row?.wrterOpnnCn ?? "",
}); });
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,
splmntRsltCn: param.splmntRsltCn, wrterOpnnCn: param.wrterOpnnCn,
}); });
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.splmntRsltCn ?? ""; const latestProcessHistory = activeStatsStatusInfo.wrterOpnnCn ?? "";
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.lclgvSbmsnSttsCd != null statsStatusInfo.submitStatusCd != null
? String(statsStatusInfo.lclgvSbmsnSttsCd) ? String(statsStatusInfo.submitStatusCd)
: ""; : "";
const prvn = const prvn =
statsStatusInfo.mctpvPicSbmsnSttsCd != null ? String(statsStatusInfo.mctpvPicSbmsnSttsCd) : ""; statsStatusInfo.prvnStatusCd != null ? String(statsStatusInfo.prvnStatusCd) : "";
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 ?? "",
splmntRsltCn: row?.splmntRsltCn ?? "", wrterOpnnCn: row?.wrterOpnnCn ?? "",
}); });
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,
splmntRsltCn: param.splmntRsltCn, wrterOpnnCn: param.wrterOpnnCn,
}); });
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.splmntRsltCn ?? ""; const latestProcessHistory = activeStatsStatusInfo.wrterOpnnCn ?? "";
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.lclgvSbmsnSttsCd != null statsStatusInfo.submitStatusCd != null
? String(statsStatusInfo.lclgvSbmsnSttsCd) ? String(statsStatusInfo.submitStatusCd)
: ""; : "";
const prvn = const prvn =
statsStatusInfo.mctpvPicSbmsnSttsCd != null ? String(statsStatusInfo.mctpvPicSbmsnSttsCd) : ""; statsStatusInfo.prvnStatusCd != null ? String(statsStatusInfo.prvnStatusCd) : "";
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 ?? "",
splmntRsltCn: row?.splmntRsltCn ?? "", wrterOpnnCn: row?.wrterOpnnCn ?? "",
}); });
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,
splmntRsltCn: param.splmntRsltCn, wrterOpnnCn: param.wrterOpnnCn,
}); });
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.splmntRsltCn ?? ""; const latestProcessHistory = activeStatsStatusInfo.wrterOpnnCn ?? "";
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.lclgvSbmsnSttsCd != null statsStatusInfo.submitStatusCd != null
? String(statsStatusInfo.lclgvSbmsnSttsCd) ? String(statsStatusInfo.submitStatusCd)
: ""; : "";
const prvn = const prvn =
statsStatusInfo.mctpvPicSbmsnSttsCd != null ? String(statsStatusInfo.mctpvPicSbmsnSttsCd) : ""; statsStatusInfo.prvnStatusCd != null ? String(statsStatusInfo.prvnStatusCd) : "";
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 ?? "",
splmntRsltCn: row?.splmntRsltCn ?? "", wrterOpnnCn: row?.wrterOpnnCn ?? "",
}); });
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,
splmntRsltCn: param.splmntRsltCn, wrterOpnnCn: param.wrterOpnnCn,
}); });
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.splmntRsltCn ?? ""; const latestProcessHistory = activeStatsStatusInfo.wrterOpnnCn ?? "";
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.lclgvSbmsnSttsCd != null statsStatusInfo.submitStatusCd != null
? String(statsStatusInfo.lclgvSbmsnSttsCd) ? String(statsStatusInfo.submitStatusCd)
: ""; : "";
const prvn = const prvn =
statsStatusInfo.mctpvPicSbmsnSttsCd != null ? String(statsStatusInfo.mctpvPicSbmsnSttsCd) : ""; statsStatusInfo.prvnStatusCd != null ? String(statsStatusInfo.prvnStatusCd) : "";
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 ?? "",
splmntRsltCn: row?.splmntRsltCn ?? "", wrterOpnnCn: row?.wrterOpnnCn ?? "",
}); });
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,
splmntRsltCn: param.splmntRsltCn, wrterOpnnCn: param.wrterOpnnCn,
}); });
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.splmntRsltCn ?? ""; const latestProcessHistory = activeStatsStatusInfo.wrterOpnnCn ?? "";
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.lclgvSbmsnSttsCd != null statsStatusInfo.submitStatusCd != null
? String(statsStatusInfo.lclgvSbmsnSttsCd) ? String(statsStatusInfo.submitStatusCd)
: ""; : "";
const prvn = const prvn =
statsStatusInfo.mctpvPicSbmsnSttsCd != null ? String(statsStatusInfo.mctpvPicSbmsnSttsCd) : ""; statsStatusInfo.prvnStatusCd != null ? String(statsStatusInfo.prvnStatusCd) : "";
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 ?? "",
splmntRsltCn: row?.splmntRsltCn ?? "", wrterOpnnCn: row?.wrterOpnnCn ?? "",
}); });
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,
splmntRsltCn: param.splmntRsltCn, wrterOpnnCn: param.wrterOpnnCn,
}); });
return next; return next;
}); });
@@ -63,8 +63,8 @@ const SeweragePenetrationRateRvw = () => {
); );
const { showReviewOpinionButton, showReturnButton, showSubmitButton } = useMemo(() => { const { showReviewOpinionButton, showReturnButton, showSubmitButton } = useMemo(() => {
const submit = statsStatusInfo.lclgvSbmsnSttsCd != null ? String(statsStatusInfo.lclgvSbmsnSttsCd) : ""; const submit = statsStatusInfo.submitStatusCd != null ? String(statsStatusInfo.submitStatusCd) : "";
const prvn = statsStatusInfo.mctpvPicSbmsnSttsCd != null ? String(statsStatusInfo.mctpvPicSbmsnSttsCd) : ""; const prvn = statsStatusInfo.prvnStatusCd != null ? String(statsStatusInfo.prvnStatusCd) : "";
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.splmntRsltCn ?? "", response.data.statsStatusInfo.wrterOpnnCn ?? "",
); );
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?.splmntRsltCn ?? ""); setLatestProcessHistory(row?.wrterOpnnCn ?? "");
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,
splmntRsltCn: param.splmntRsltCn, wrterOpnnCn: param.wrterOpnnCn,
})); }));
setLatestReviewOpinion(param.splmntOpnnCn); setLatestReviewOpinion(param.splmntOpnnCn);
setLatestProcessHistory(param.splmntRsltCn); setLatestProcessHistory(param.wrterOpnnCn);
} 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.splmntRsltCn ?? ""; const latestProcessHistory = activeStatsStatusInfo.wrterOpnnCn ?? "";
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.lclgvSbmsnSttsCd != null statsStatusInfo.submitStatusCd != null
? String(statsStatusInfo.lclgvSbmsnSttsCd) ? String(statsStatusInfo.submitStatusCd)
: ""; : "";
const prvn = const prvn =
statsStatusInfo.mctpvPicSbmsnSttsCd != null ? String(statsStatusInfo.mctpvPicSbmsnSttsCd) : ""; statsStatusInfo.prvnStatusCd != null ? String(statsStatusInfo.prvnStatusCd) : "";
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 ?? "",
splmntRsltCn: row?.splmntRsltCn ?? "", wrterOpnnCn: row?.wrterOpnnCn ?? "",
}); });
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,
splmntRsltCn: param.splmntRsltCn, wrterOpnnCn: param.wrterOpnnCn,
}); });
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 mdfrUuid = (userInfo.userUnqId ?? "").trim(); const mdfrId = (userInfo.userUnqId ?? "").trim();
if (!mdfrUuid) { if (!mdfrId) {
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, mdfrUuid }; return { statsYr, sewerBzmnCd, statsCd, mdfrId };
}) })
.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.splmntRsltCn ?? ""; const latestProcessHistory = activeStatsStatusInfo.wrterOpnnCn ?? "";
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.lclgvSbmsnSttsCd != null statsStatusInfo.submitStatusCd != null
? String(statsStatusInfo.lclgvSbmsnSttsCd) ? String(statsStatusInfo.submitStatusCd)
: ""; : "";
const prvn = const prvn =
statsStatusInfo.mctpvPicSbmsnSttsCd != null ? String(statsStatusInfo.mctpvPicSbmsnSttsCd) : ""; statsStatusInfo.prvnStatusCd != null ? String(statsStatusInfo.prvnStatusCd) : "";
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 ?? "",
splmntRsltCn: row?.splmntRsltCn ?? "", wrterOpnnCn: row?.wrterOpnnCn ?? "",
}); });
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,
splmntRsltCn: param.splmntRsltCn, wrterOpnnCn: param.wrterOpnnCn,
}); });
return next; return next;
}); });
@@ -83,7 +83,7 @@ const ExcretaTreatmentFacilityTot = () => {
return ( return (
<div className="relative"> <div className="relative">
<SearchForm tabKey={config.tabKey} isDetail={true} isSummary={true} onSubmit={handleSearch} onReset={handleReset} sidoSelectText="전체" defaultRegionAll /> <SearchForm 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 tabKey={firstTabKey} isDetail={true} isSummary={true} onSubmit={handleSearch} onReset={handleReset} sidoSelectText="전체" defaultRegionAll /> <SearchForm isDetail={true} isSummary={true} onSubmit={handleSearch} onReset={handleReset} sidoSelectText="전체" defaultRegionAll />
{/* 하수관로 규칙과 100% 싱크 맞춘 중앙 정렬 소형 팝업 로딩 바 고정 */} {/* 하수관로 규칙과 100% 싱크 맞춘 중앙 정렬 소형 팝업 로딩 바 고정 */}
{isLoading && ( {isLoading && (
@@ -53,7 +53,7 @@ const PublicSewageFacilityTot = () => {
return ( return (
<> <>
<SearchForm tabKey="ST00060001" isDetail={true} capacityGbn={true} isSummary={true} onSubmit={handleSearch} sidoSelectText="전체" defaultRegionAll /> <SearchForm 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 tabKey={config.tabKey} isDetail={true} isSummary={true} onSubmit={handleSearch} onReset={handleReset} sidoSelectText="전체" defaultRegionAll /> <SearchForm 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 tabKey={firstTabKey} isDetail={true} isSummary={true} onSubmit={handleSearch} onReset={handleReset} sidoSelectText="전체" defaultRegionAll /> <SearchForm 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 tabKey={firstTabKey} isDetail={true} isSummary={true} onSubmit={handleSearch} onReset={handleReset} sidoSelectText="전체" defaultRegionAll /> <SearchForm 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 tabKey={firstTabKey} isDetail={true} isSummary={true} onSubmit={handleSearch} onReset={handleReset} sidoSelectText="전체" defaultRegionAll /> <SearchForm 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 tabKey={firstTabKey} isDetail={true} isSummary={true} onSubmit={handleSearch} onReset={handleReset} sidoSelectText="전체" defaultRegionAll /> <SearchForm 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 tabKey={firstTabKey} isDetail={true} isSummary={true} onSubmit={handleSearch} onReset={handleReset} sidoSelectText="전체" defaultRegionAll /> <SearchForm 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 tabKey={firstTabKey} isDetail={true} isSummary={true} onSubmit={handleSearch} onReset={handleReset} sidoSelectText="전체" defaultRegionAll /> <SearchForm 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 tabKey="ST00010001" isDetail={true} isSummary={true} onSubmit={handleSearch} sidoSelectText="전체" defaultRegionAll /> <SearchForm 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 tabKey={firstTabKey} isDetail={true} isSummary={true} onSubmit={handleSearch} onReset={handleReset} sidoSelectText="전체" defaultRegionAll /> <SearchForm 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 tabKey={firstTabKey} isDetail={true} isSummary={true} onSubmit={handleSearch} onReset={handleReset} sidoSelectText="전체" defaultRegionAll /> <SearchForm 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,
mdfrUuid: userInfo?.userUnqId ?? "", mdfrId: 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,
mdfrUuid: userInfo?.userUnqId ?? "", mdfrId: 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 ?? '',
rgtrUuid: userInfo.userUnqId, rgtrId: 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?.cmprArtopnCn ?? null; return block.data?.cmprOpert ?? null;
} }
} }
return null; return null;
@@ -71,21 +71,20 @@ const isLikePatternOperator = (value: string | null | undefined) =>
value != null && LIKE_PATTERN_OPERATORS.has(value); value != null && LIKE_PATTERN_OPERATORS.has(value);
type OperatorItem = { type OperatorItem = {
artopnSn: string; opertSn: string;
artopnSymbl: string; opertSymbl: string;
artopnKornNm: string; opertKornNm: string;
opertSeCd?: string;
}; };
type ConnectorOperatorItem = OperatorItem; type ConnectorOperatorItem = OperatorItem;
type SaveDetailRow = { type SaveDetailRow = {
fmlaCombSeq: number; eqtnCombSeq: number;
trgtStatsCd: string; trgtStatsCd: string;
refStatsCd: string | null; refStatsCd: string | null;
kornArtopnFmlaCn: string; kornArtopnEqtnCn: string;
engArtopnFmlaCn: string; engArtopnEqtnCn: string;
cmprArtopnCn: string | null; cmprOpert: string | null;
grpByYn: string; grpByYn: string;
}; };
@@ -156,7 +155,7 @@ const isConnectorOperatorSymbol = (
connectorOps: ConnectorOperatorItem[], connectorOps: ConnectorOperatorItem[],
) => { ) => {
if (value == null || value === "") return false; if (value == null || value === "") return false;
return connectorOps.some((op) => op.artopnSymbl === value); return connectorOps.some((op) => op.opertSymbl === value);
}; };
const isConditionConnectorValue = ( const isConditionConnectorValue = (
@@ -172,8 +171,8 @@ const isConditionConnectorValue = (
) { ) {
return true; return true;
} }
const op = connectorOps.find((o) => o.artopnSymbl === value); const op = connectorOps.find((o) => o.opertSymbl === value);
return op ? /조건/.test(op.artopnKornNm) : false; return op ? /조건/.test(op.opertKornNm) : false;
}; };
/** ruleBlocks 기준 등록 벨리데이션 + 저장 rows 생성 */ /** ruleBlocks 기준 등록 벨리데이션 + 저장 rows 생성 */
@@ -183,8 +182,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.artopnSymbl)); const cmprSet = new Set(cmprOps.map((o) => o.opertSymbl));
const connectorSet = new Set(connectorOps.map((o) => o.artopnSymbl)); const connectorSet = new Set(connectorOps.map((o) => o.opertSymbl));
const formulaBlockIndexes = blocks const formulaBlockIndexes = blocks
.map((b, i) => (b.kind === "formula" ? i : -1)) .map((b, i) => (b.kind === "formula" ? i : -1))
@@ -245,8 +244,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?.kornArtopnFmlaCn?.trim() ?? ""; const korn = block.data?.kornArtopnEqtnCn?.trim() ?? "";
const eng = block.data?.engArtopnFmlaCn?.trim() ?? ""; const eng = block.data?.engArtopnEqtnCn?.trim() ?? "";
if (!korn || !eng) { if (!korn || !eng) {
return { return {
@@ -255,7 +254,7 @@ const validateAndBuildSaveRows = (
}; };
} }
const cmpr = block.data?.cmprArtopnCn ?? null; const cmpr = block.data?.cmprOpert ?? null;
if (cmpr != null && cmpr !== "" && !cmprSet.has(cmpr)) { if (cmpr != null && cmpr !== "" && !cmprSet.has(cmpr)) {
return { return {
ok: false, ok: false,
@@ -297,7 +296,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?.cmprArtopnCn ?? null; const cmpr = only.data?.cmprOpert ?? null;
if (cmpr == null || !UNARY_TERMINAL_OPERATORS.has(cmpr)) { if (cmpr == null || !UNARY_TERMINAL_OPERATORS.has(cmpr)) {
return { return {
ok: false, ok: false,
@@ -315,7 +314,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?.cmprArtopnCn ?? connectorValue ?? null; let cmprOpert = block.data?.cmprOpert ?? connectorValue ?? null;
const hasFollowingFormula = blocks const hasFollowingFormula = blocks
.slice(i + 1) .slice(i + 1)
@@ -330,12 +329,12 @@ const validateAndBuildSaveRows = (
} }
rows.push({ rows.push({
fmlaCombSeq: seq, eqtnCombSeq: seq,
trgtStatsCd, trgtStatsCd,
refStatsCd: block.data?.refStatsCd ?? null, refStatsCd: block.data?.refStatsCd ?? null,
kornArtopnFmlaCn: block.data?.kornArtopnFmlaCn ?? "", kornArtopnEqtnCn: block.data?.kornArtopnEqtnCn ?? "",
engArtopnFmlaCn: block.data?.engArtopnFmlaCn ?? "", engArtopnEqtnCn: block.data?.engArtopnEqtnCn ?? "",
cmprArtopnCn: cmprOpert, cmprOpert,
grpByYn: block.groupBy ? "Y" : "N", grpByYn: block.groupBy ? "Y" : "N",
}); });
seq += 1; seq += 1;
@@ -353,7 +352,7 @@ const buildRuleBlocksFromFormulas = (
const blocks: RuleBlock[] = []; const blocks: RuleBlock[] = [];
for (const row of list) { for (const row of list) {
const cmpr = row?.cmprArtopnCn ?? null; const cmpr = row?.cmprOpert ?? null;
const moveToConnector = isConnectorOperatorSymbol(cmpr, connectorOps); const moveToConnector = isConnectorOperatorSymbol(cmpr, connectorOps);
blocks.push({ blocks.push({
@@ -361,7 +360,7 @@ const buildRuleBlocksFromFormulas = (
id: nextId(), id: nextId(),
data: row data: row
? moveToConnector ? moveToConnector
? { ...row, cmprArtopnCn: null } ? { ...row, cmprOpert: null }
: row : row
: null, : null,
groupBy: row?.grpByYn === "Y", groupBy: row?.grpByYn === "Y",
@@ -437,9 +436,9 @@ const DetailComponent = ({
) { ) {
return true; return true;
} }
const op = connectorOperators.find((o) => o.artopnSymbl === value); const op = connectorOperators.find((o) => o.opertSymbl === value);
if (!op) return false; if (!op) return false;
return /조건/.test(op.artopnKornNm); return /조건/.test(op.opertKornNm);
}; };
const formulaBlocks = ruleBlocks.filter( const formulaBlocks = ruleBlocks.filter(
@@ -484,9 +483,9 @@ const DetailComponent = ({
? { ? {
vrfcDtlSn: row.vrfcDtlSn ?? null, vrfcDtlSn: row.vrfcDtlSn ?? null,
refStatsCd: row.refStatsCd ?? null, refStatsCd: row.refStatsCd ?? null,
kornArtopnFmlaCn: row.kornArtopnFmlaCn ?? "", kornArtopnEqtnCn: row.kornArtopnEqtnCn ?? "",
engArtopnFmlaCn: row.engArtopnFmlaCn ?? "", engArtopnEqtnCn: row.engArtopnEqtnCn ?? "",
cmprArtopnCn: row.cmprArtopnCn ?? null, cmprOpert: row.cmprOpert ?? null,
grpByYn: flags[idx] ? "Y" : "N", grpByYn: flags[idx] ? "Y" : "N",
} }
: null, : null,
@@ -537,14 +536,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.cmprArtopnCn; const cmpr = last.data.cmprOpert;
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, cmprArtopnCn: null }, data: { ...last.data, cmprOpert: null },
}; };
return next; return next;
}); });
@@ -559,14 +558,14 @@ const DetailComponent = ({
await generalverificationApiService.RegistVrfcDetail({ await generalverificationApiService.RegistVrfcDetail({
vrfcSn: detailInfo?.commonInfo.vrfcSn ?? null, vrfcSn: detailInfo?.commonInfo.vrfcSn ?? null,
detailList: rows, detailList: rows,
rgtrUuid: userInfo.userUnqId, rgtrId: 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,
mdfrUuid: userInfo.userUnqId, mdfrId: userInfo.userUnqId,
}); });
} }
@@ -650,8 +649,8 @@ const DetailComponent = ({
}; };
const handleFormulaConfirm = (payload: { const handleFormulaConfirm = (payload: {
kornArtopnFmlaCn: string; kornArtopnEqtnCn: string;
engArtopnFmlaCn: string; engArtopnEqtnCn: string;
refStatsCd: string | null; refStatsCd: string | null;
refStatsNm: string | null; refStatsNm: string | null;
}) => { }) => {
@@ -669,8 +668,8 @@ const DetailComponent = ({
data: item.data data: item.data
? { ? {
...item.data, ...item.data,
kornArtopnFmlaCn: payload.kornArtopnFmlaCn, kornArtopnEqtnCn: payload.kornArtopnEqtnCn,
engArtopnFmlaCn: payload.engArtopnFmlaCn, engArtopnEqtnCn: payload.engArtopnEqtnCn,
refStatsCd: payload.refStatsCd, refStatsCd: payload.refStatsCd,
refStatsNm: payload.refStatsNm, refStatsNm: payload.refStatsNm,
} }
@@ -678,9 +677,9 @@ const DetailComponent = ({
vrfcDtlSn: null, vrfcDtlSn: null,
refStatsCd: payload.refStatsCd, refStatsCd: payload.refStatsCd,
refStatsNm: payload.refStatsNm, refStatsNm: payload.refStatsNm,
kornArtopnFmlaCn: payload.kornArtopnFmlaCn, kornArtopnEqtnCn: payload.kornArtopnEqtnCn,
engArtopnFmlaCn: payload.engArtopnFmlaCn, engArtopnEqtnCn: payload.engArtopnEqtnCn,
cmprArtopnCn: null, cmprOpert: null,
grpByYn: item.groupBy ? "Y" : "N", grpByYn: item.groupBy ? "Y" : "N",
}, },
}; };
@@ -749,8 +748,8 @@ const DetailComponent = ({
return; return;
} }
const defaultValue = const defaultValue =
connectorOperators.find((op) => op.artopnSymbl.toLowerCase() === "and") connectorOperators.find((op) => op.opertSymbl.toLowerCase() === "and")
?.artopnSymbl ?? connectorOperators[0]!.artopnSymbl; ?.opertSymbl ?? connectorOperators[0]!.opertSymbl;
setRuleBlocks((prev) => [ setRuleBlocks((prev) => [
...prev, ...prev,
{ {
@@ -846,9 +845,9 @@ const DetailComponent = ({
</TableHead> </TableHead>
<TableCell className="text-center"> <TableCell className="text-center">
{detailInfo?.commonInfo {detailInfo?.commonInfo
.dcptDgt === 0 .dcptDigtCnt === 0
? "소수점 생략" ? "소수점 생략"
: `${detailInfo?.commonInfo.dcptDgt}자리에서 ${detailInfo?.commonInfo.dcptPrcsMthNm}`} : `${detailInfo?.commonInfo.dcptDigtCnt}자리에서 ${detailInfo?.commonInfo.dcptPrcsMthNm}`}
</TableCell> </TableCell>
</TableRow> </TableRow>
</TableBody> </TableBody>
@@ -925,7 +924,7 @@ const DetailComponent = ({
(opt) => { (opt) => {
const disabled = const disabled =
isConditionOperator( isConditionOperator(
opt.artopnSymbl, opt.opertSymbl,
) && ) &&
conditionBoundaryBlockIndex !== conditionBoundaryBlockIndex !==
-1 && -1 &&
@@ -934,17 +933,17 @@ const DetailComponent = ({
return ( return (
<SelectItem <SelectItem
key={ key={
opt.artopnSn opt.opertSn
} }
value={ value={
opt.artopnSymbl opt.opertSymbl
} }
disabled={ disabled={
disabled disabled
} }
> >
{ {
opt.artopnKornNm opt.opertKornNm
} }
</SelectItem> </SelectItem>
); );
@@ -1044,7 +1043,7 @@ const DetailComponent = ({
data: cur.data data: cur.data
? { ? {
...cur.data, ...cur.data,
cmprArtopnCn: cmprOpert, cmprOpert,
} }
: { : {
vrfcDtlSn: vrfcDtlSn:
@@ -1053,11 +1052,11 @@ const DetailComponent = ({
null, null,
refStatsNm: refStatsNm:
null, null,
kornArtopnFmlaCn: kornArtopnEqtnCn:
"", "",
engArtopnFmlaCn: engArtopnEqtnCn:
"", "",
cmprArtopnCn: cmprOpert, 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 {
kornArtopnFmlaCn: string; kornArtopnEqtnCn: string;
engArtopnFmlaCn: string; engArtopnEqtnCn: 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?.kornArtopnFmlaCn ?? ''; const raw = data?.kornArtopnEqtnCn ?? '';
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?.kornArtopnFmlaCn, data?.vrfcDtlSn, allowLikeDirectInput]); }, [open, data?.kornArtopnEqtnCn, 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?.kornArtopnFmlaCn ?? ''); const src = stripBacktickWrap(data?.kornArtopnEqtnCn ?? '');
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?.kornArtopnFmlaCn, data?.kornArtopnEqtnCn,
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?.kornArtopnFmlaCn == null) return; if (!open || isUserDirectInputMode || columnInfo?.kornArtopnEqtnCn == null) return;
const strippedColumn = stripBacktickWrap(columnInfo.kornArtopnFmlaCn); const strippedColumn = stripBacktickWrap(columnInfo.kornArtopnEqtnCn);
const strippedData = stripBacktickWrap(data?.kornArtopnFmlaCn ?? ""); const strippedData = stripBacktickWrap(data?.kornArtopnEqtnCn ?? "");
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?.kornArtopnFmlaCn, columnInfo?.kornArtopnFmlaCn, isUserDirectInputMode]); }, [open, data?.kornArtopnEqtnCn, columnInfo?.kornArtopnEqtnCn, 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?.({
kornArtopnFmlaCn: isEmptyFormula ? raw : wrapped, kornArtopnEqtnCn: isEmptyFormula ? raw : wrapped,
engArtopnFmlaCn: isEmptyFormula ? raw : wrapped, engArtopnEqtnCn: 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 kornArtopnFmlaCn = formulaDisplaySegments.join(''); const kornArtopnEqtnCn = formulaDisplaySegments.join('');
const engArtopnFmlaCn = getFormulaValueForSubmit(); const engArtopnEqtnCn = getFormulaValueForSubmit();
const isEmptyFormula = kornArtopnFmlaCn.trim().length === 0; const isEmptyFormula = kornArtopnEqtnCn.trim().length === 0;
const refStats = resolveRefStatsForConfirm(isEmptyFormula); const refStats = resolveRefStatsForConfirm(isEmptyFormula);
onConfirm?.({ onConfirm?.({
kornArtopnFmlaCn, kornArtopnEqtnCn,
engArtopnFmlaCn, engArtopnEqtnCn,
...refStats, ...refStats,
}); });
onOpenChange?.(false); onOpenChange?.(false);
@@ -48,9 +48,9 @@ const FormulaComponents = ({
vrfcClsfCd, vrfcClsfCd,
disabled = false, disabled = false,
}: FormulaComponentsProps) => { }: FormulaComponentsProps) => {
const cmprOpert = data?.cmprArtopnCn; const cmprOpert = data?.cmprOpert;
const displayFormula = data const displayFormula = data
? stripBacktickWrap(data.kornArtopnFmlaCn ?? "") ? stripBacktickWrap(data.kornArtopnEqtnCn ?? "")
: ""; : "";
return ( return (
@@ -10,10 +10,9 @@ import {
} from "@common/components"; } from "@common/components";
type OperatorItem = { type OperatorItem = {
artopnSn: string; opertSn: string;
artopnSymbl: string; opertSymbl: string;
artopnKornNm: string; opertKornNm: string;
opertSeCd?: string;
}; };
// opertSeCd 별 operators 목록을 전역 캐싱해서, 수식 블록이 여러 개여도 중복 요청이 발생하지 않게 한다. // opertSeCd 별 operators 목록을 전역 캐싱해서, 수식 블록이 여러 개여도 중복 요청이 발생하지 않게 한다.
@@ -92,8 +91,8 @@ const OperatorsComponents = ({
연산자 없음 연산자 없음
</SelectItem> </SelectItem>
{operators.map((op) => ( {operators.map((op) => (
<SelectItem key={op.artopnSn} value={op.artopnSymbl}> <SelectItem key={op.opertSn} value={op.opertSymbl}>
{op.artopnKornNm} {op.opertKornNm}
</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 ?? '',
dcptDgt: detailData?.data.dcptDgt ?? 0, dcptDigtCnt: detailData?.data.dcptDigtCnt ?? 0,
dcptPrcsMthCd: detailData?.data.dcptPrcsMthCd ?? null, dcptPrcsMthCd: detailData?.data.dcptPrcsMthCd ?? null,
useYn: detailData?.data.useYn ?? 'Y', useYn: detailData?.data.useYn ?? 'Y',
rgtrUuid: detailData?.data.rgtrUuid ?? '', rgtrId: detailData?.data.rgtrId ?? '',
regDt: detailData?.data.regDt ?? '', regDt: detailData?.data.regDt ?? '',
mdfrUuid: detailData?.data.mdfrUuid ?? '', mdfrId: detailData?.data.mdfrId ?? '',
mdfcnDt: detailData?.data.mdfcnDt ?? '', mdfcnDt: detailData?.data.mdfcnDt ?? '',
}, },
}); });
const dcptDgt = form.watch('dcptDgt'); const dcptDigtCnt = form.watch('dcptDigtCnt');
const rgtrUuid = form.watch('rgtrUuid'); const rgtrId = form.watch('rgtrId');
const mdfrUuid = form.watch('mdfrUuid'); const mdfrId = form.watch('mdfrId');
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', rgtrUuid], queryKey: ['user', 'rgtr', rgtrId],
queryFn: () => UserApi.findByUserUnqId(rgtrUuid!), queryFn: () => UserApi.findByUserUnqId(rgtrId!),
enabled: open && !!rgtrUuid, enabled: open && !!rgtrId,
}); });
const { data: modifierUser } = useQuery({ const { data: modifierUser } = useQuery({
queryKey: ['user', 'mdfr', mdfrUuid], queryKey: ['user', 'mdfr', mdfrId],
queryFn: () => UserApi.findByUserUnqId(mdfrUuid!), queryFn: () => UserApi.findByUserUnqId(mdfrId!),
enabled: open && !!mdfrUuid, enabled: open && !!mdfrId,
}); });
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,
dcptDgt: data.dcptDgt, dcptDigtCnt: data.dcptDigtCnt,
useYn: data.useYn, useYn: data.useYn,
...(data.dcptDgt === 0 ...(data.dcptDigtCnt === 0
? {} ? {}
: { dcptPrcsMthCd: data.dcptPrcsMthCd }), : { dcptPrcsMthCd: data.dcptPrcsMthCd }),
trgtStatsCd: data.trgtStatsCd, trgtStatsCd: data.trgtStatsCd,
mdfrUuid: userInfo.userUnqId, mdfrId: 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,
dcptDgt: data.dcptDgt, dcptDigtCnt: data.dcptDigtCnt,
dcptPrcsMthCd: data.dcptPrcsMthCd, dcptPrcsMthCd: data.dcptPrcsMthCd,
trgtStatsCd: data.trgtStatsCd, trgtStatsCd: data.trgtStatsCd,
rgtrUuid: userInfo.userUnqId rgtrId: 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="dcptDgt" name="dcptDigtCnt"
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.dcptDgt && ( {form.formState.errors.dcptDigtCnt && (
<p className="text-red-500 text-base pt-2"> <p className="text-red-500 text-base pt-2">
{form.formState.errors.dcptDgt.message} {form.formState.errors.dcptDigtCnt.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(dcptDgt ?? 0) === 0} disabled={editBlocked || Number(dcptDigtCnt ?? 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="rgtrUuid" name="rgtrId"
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="mdfrUuid" name="mdfrId"
render={({ field }) => ( render={({ field }) => (
<FormItem> <FormItem>
<FormControl> <FormControl>
+4 -6
View File
@@ -7,10 +7,10 @@ import type { RealGridReact } from "realgrid-react";
/** DataGrid 상단 진행상황/제출일/담당자 표시에 사용 (보급률·하수관로 등 공통) */ /** DataGrid 상단 진행상황/제출일/담당자 표시에 사용 (보급률·하수관로 등 공통) */
export type DataGridStatusBannerInfo = { export type DataGridStatusBannerInfo = {
lclgvSbmsnSttsCd: string | null; laeSbmsnSttsCd: string | null;
lclgvSbmsnYmd: string | null; laeSbmsnYmd: string | null;
lclgvPicNm: string | null; laePicNm: string | null;
lclgvPicTelnoCn: string | null; laePicTelNo: string | null;
rjctOpnnCn: string | null; rjctOpnnCn: string | null;
}; };
/** setColumns에 전달하는 컬럼 정보 (footer 배열/단일 객체 포함) */ /** setColumns에 전달하는 컬럼 정보 (footer 배열/단일 객체 포함) */
@@ -441,8 +441,6 @@ 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,8 +28,6 @@ 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;
@@ -43,7 +41,7 @@ export type SearchFormProps = {
}; };
export const defaultSearchFormProps: Required< export const defaultSearchFormProps: Required<
Omit<SearchFormProps, "onSubmit" | "onReset" | "onValuesChange" | "defaultValues" | "sidoSelectText" | "searchButtonText" | "defaultRegionAll" | "isInput" | "tabKey"> Omit<SearchFormProps, "onSubmit" | "onReset" | "onValuesChange" | "defaultValues" | "sidoSelectText" | "searchButtonText" | "defaultRegionAll" | "isInput">
> = { > = {
sido: true, sido: true,
gugun: true, gugun: true,
@@ -1,5 +1,4 @@
export const doList = [ export const doList = [
"1200000000",
"4100000000", "4100000000",
"4200000000", "4200000000",
"4300000000", "4300000000",
@@ -32,5 +31,4 @@ 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: 'telnoCn', fieldName: 'telnoCn', header: { text: '전화번호' } }, { name: 'telNo', fieldName: 'telNo', 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: 'fcltCpct', fieldName: 'fcltCpct', header: { text: '시설용량(m³/일)' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' }, { name: 'prcsFcltCpct', fieldName: 'prcsFcltCpct', 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: 'cpct', fieldName: 'cpct', header: { text: '처리량(m³/일)' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' },
{ name: 'fcltOprtngDayCnt', fieldName: 'fcltOprtngDayCnt', header: { text: '가동일수(일/년)' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' }, { name: 'oprtngDayCnt', fieldName: 'oprtngDayCnt', header: { text: '가동일수(일/년)' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
// 처리 공법 및 연계 // 처리 공법 및 연계
{ name: 'prcsExpln', fieldName: 'prcsExpln', header: { text: '처리공법' } }, { name: 'prcsMthdExpln', fieldName: 'prcsMthdExpln', 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: 'inflwWqBod', fieldName: 'inflwWqBod', header: { text: 'BOD' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' }, { name: 'inflwBodWqVl', fieldName: 'inflwBodWqVl', header: { text: 'BOD' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' },
{ name: 'inflwWqTorgcb', fieldName: 'inflwWqTorgcb', header: { text: 'TOC' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' }, { name: 'inflwTocWqVl', fieldName: 'inflwTocWqVl', header: { text: 'TOC' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' },
{ name: 'inflwWqSpsld', fieldName: 'inflwWqSpsld', header: { text: 'SS' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' }, { name: 'inflwSsWqVl', fieldName: 'inflwSsWqVl', header: { text: 'SS' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' },
{ name: 'inflwWqDtn', fieldName: 'inflwWqDtn', header: { text: 'T-N' }, footer: footerDecimal3, valueType: ValueType.NUMBER, dataFormat: '#,##0.000' }, { name: 'inflwTnWqVl', fieldName: 'inflwTnWqVl', header: { text: 'T-N' }, footer: footerDecimal3, valueType: ValueType.NUMBER, dataFormat: '#,##0.000' },
{ name: 'inflwWqTph', fieldName: 'inflwWqTph', header: { text: 'T-P' }, footer: footerDecimal3, valueType: ValueType.NUMBER, dataFormat: '#,##0.000' }, { name: 'inflwTpWqVl', fieldName: 'inflwTpWqVl', header: { text: 'T-P' }, footer: footerDecimal3, valueType: ValueType.NUMBER, dataFormat: '#,##0.000' },
{ name: 'fcltInflwClfgCnt', fieldName: 'fcltInflwClfgCnt', header: { text: '대장균군수' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' }, { name: 'inflwClfgCnt', fieldName: 'inflwClfgCnt', header: { text: '대장균군수' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
// 방류수질 // 방류수질
{ name: 'dschgWqBod', fieldName: 'dschgWqBod', header: { text: 'BOD' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' }, { name: 'dschgBodWqVl', fieldName: 'dschgBodWqVl', header: { text: 'BOD' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' },
{ name: 'dschgWqTorgcb', fieldName: 'dschgWqTorgcb', header: { text: 'TOC' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' }, { name: 'dschgTocWqVl', fieldName: 'dschgTocWqVl', header: { text: 'TOC' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' },
{ name: 'dschgWqSpsld', fieldName: 'dschgWqSpsld', header: { text: 'SS' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' }, { name: 'dschgSsWqVl', fieldName: 'dschgSsWqVl', header: { text: 'SS' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' },
{ name: 'dschgWqDtn', fieldName: 'dschgWqDtn', header: { text: 'T-N' }, footer: footerDecimal3, valueType: ValueType.NUMBER, dataFormat: '#,##0.000' }, { name: 'dschgTnWqVl', fieldName: 'dschgTnWqVl', header: { text: 'T-N' }, footer: footerDecimal3, valueType: ValueType.NUMBER, dataFormat: '#,##0.000' },
{ name: 'dschgWqTph', fieldName: 'dschgWqTph', header: { text: 'T-P' }, footer: footerDecimal3, valueType: ValueType.NUMBER, dataFormat: '#,##0.000' }, { name: 'dschgTpWqVl', fieldName: 'dschgTpWqVl', header: { text: 'T-P' }, footer: footerDecimal3, valueType: ValueType.NUMBER, dataFormat: '#,##0.000' },
{ name: 'fcltDschgClfgCnt', fieldName: 'fcltDschgClfgCnt', header: { text: '대장균군수' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' }, { name: 'dschgClfgCnt', fieldName: 'dschgClfgCnt', header: { text: '대장균군수' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
// 방류수역 // 방류수역
{ name: 'fcltWtsysNm', fieldName: 'fcltWtsysNm', header: { text: '수계' } }, { name: 'wtsysNm', fieldName: 'wtsysNm', header: { text: '수계' } },
{ name: 'fcltTrbtrNm', fieldName: 'fcltTrbtrNm', header: { text: '지류' } }, { name: 'trbtrNm', fieldName: 'trbtrNm', 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: 'operCn', fieldName: 'operCn', header: { text: '운영주체(자체/공기업/민간위탁)' } }, { name: 'operMthdCdCn', fieldName: 'operMthdCdCn', 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: 'sftyAcdntNocs', fieldName: 'sftyAcdntNocs', header: { text: '안전사고건수(건/인/년)' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' }, { name: 'sftyAcdntEvntcsCnt', fieldName: 'sftyAcdntEvntcsCnt', 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',
'telnoCn', 'telNo',
'cmptnStrtYmd', 'cmptnStrtYmd',
'oprtngStrtYmd', 'oprtngStrtYmd',
'wholPjtcoAmt', 'wholPjtcoAmt',
'fcltCpct', 'prcsFcltCpct',
'excrFcltPrcqty', 'cpct',
'fcltOprtngDayCnt', 'oprtngDayCnt',
'prcsExpln', 'prcsMthdExpln',
'linkTmplntCn', 'linkTmplntCn',
'linkPrcsQnt', 'linkPrcsQnt',
{ {
name: 'influenceGroup', name: 'influenceGroup',
hideChildHeaders: false, hideChildHeaders: false,
header: { text: '유입수질(mg/L, 개/mL)' }, header: { text: '유입수질(mg/L, 개/mL)' },
items: ['inflwWqBod', 'inflwWqTorgcb', 'inflwWqSpsld', 'inflwWqDtn', 'inflwWqTph', 'fcltInflwClfgCnt'], items: ['inflwBodWqVl', 'inflwTocWqVl', 'inflwSsWqVl', 'inflwTnWqVl', 'inflwTpWqVl', 'inflwClfgCnt'],
}, },
{ {
name: 'effluentGroup', name: 'effluentGroup',
hideChildHeaders: false, hideChildHeaders: false,
header: { text: '방류수질(mg/L, 개/mL)' }, header: { text: '방류수질(mg/L, 개/mL)' },
items: ['dschgWqBod', 'dschgWqTorgcb', 'dschgWqSpsld', 'dschgWqDtn', 'dschgWqTph', 'fcltDschgClfgCnt'], items: ['dschgBodWqVl', 'dschgTocWqVl', 'dschgSsWqVl', 'dschgTnWqVl', 'dschgTpWqVl', 'dschgClfgCnt'],
}, },
{ {
name: 'dischargeGroup', name: 'dischargeGroup',
hideChildHeaders: false, hideChildHeaders: false,
header: { text: '방류수역' }, header: { text: '방류수역' },
items: ['fcltWtsysNm', 'fcltTrbtrNm', 'msirbCn', 'ssirbCn'], items: ['wtsysNm', 'trbtrNm', 'msirbCn', 'ssirbCn'],
}, },
'operCn', 'operMthdCdCn',
'wholNope', 'wholNope',
'sftyAcdntNocs', 'sftyAcdntEvntcsCnt',
'rmrk', 'rmrk',
'admdstCd', 'admdstCd',
'fcltSn', 'fcltSn',
@@ -58,10 +58,10 @@ export const PumpingStationInpColumn = {
datetimeFormat: 'yyyy-MM-dd', datetimeFormat: 'yyyy-MM-dd',
}, },
}, },
{ name: 'planDrnar', fieldName: 'planDrnar', header: { text: '계획배수면적(㎢)' }, footer: footerDecimal3, valueType: ValueType.NUMBER, dataFormat: '#,##0.000' }, { name: 'planMltvArea', fieldName: 'planMltvArea', header: { text: '계획배수면적(㎢)' }, footer: footerDecimal3, valueType: ValueType.NUMBER, dataFormat: '#,##0.000' },
// 계획시간 대 최대배수량 // 계획시간 대 최대배수량
{ name: 'icodwArea', fieldName: 'icodwArea', header: { text: '청천시(A)' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' }, { name: 'sndyArea', fieldName: 'sndyArea', 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', 'icodwArea'], type: 'difference' as const }, computed: { fields: ['rainArea', 'sndyArea'], type: 'difference' as const },
styleName: 'rg-cell-total', styleName: 'rg-cell-total',
}, },
// 배수능력 > 총 양수량 (오수) // 배수능력 > 총 양수량 (오수)
{ {
name: 'drtwPumpWholPpqty', name: 'drtwPumpGrssPpqty',
fieldName: 'drtwPumpWholPpqty', fieldName: 'drtwPumpGrssPpqty',
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: 'drtwPumpN1Dmtr', fieldName: 'drtwPumpN1Dmtr', header: { text: '구경(mm)' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' }, { name: 'drtwPumpN1DmtrArea', fieldName: 'drtwPumpN1DmtrArea', 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: 'drtwPumpN2Dmtr', fieldName: 'drtwPumpN2Dmtr', header: { text: '구경(mm)' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' }, { name: 'drtwPumpN2DmtrArea', fieldName: 'drtwPumpN2DmtrArea', 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: 'drtwPumpN3Dmtr', fieldName: 'drtwPumpN3Dmtr', header: { text: '구경(mm)' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' }, { name: 'drtwPumpN3DmtrArea', fieldName: 'drtwPumpN3DmtrArea', 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: 'exlnPumpWholPpqty', name: 'exlnPumpGrssPpqty',
fieldName: 'exlnPumpWholPpqty', fieldName: 'exlnPumpGrssPpqty',
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: 'exlnPumpN1Dmtr', fieldName: 'exlnPumpN1Dmtr', header: { text: '구경(mm)' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' }, { name: 'exlnPumpN1DmtrArea', fieldName: 'exlnPumpN1DmtrArea', 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: 'exlnPumpN2Dmtr', fieldName: 'exlnPumpN2Dmtr', header: { text: '구경(mm)' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' }, { name: 'exlnPumpN2DmtrArea', fieldName: 'exlnPumpN2DmtrArea', 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: 'exlnPumpN3Dmtr', fieldName: 'exlnPumpN3Dmtr', header: { text: '구경(mm)' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' }, { name: 'exlnPumpN3DmtrArea', fieldName: 'exlnPumpN3DmtrArea', 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: 'anlElpwrUsqty', fieldName: 'anlElpwrUsqty', header: { text: '연간전력사용량(kWh/년)' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' }, { name: 'anlElpwrUseQnt', fieldName: 'anlElpwrUseQnt', 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',
'planDrnar', 'planMltvArea',
{ {
name: 'planFlowGroup', name: 'planFlowGroup',
hideChildHeaders: false, hideChildHeaders: false,
header: { text: '계획시간대최대배수량(m³/hr)' }, header: { text: '계획시간대최대배수량(m³/hr)' },
items: ['icodwArea', 'rainArea', 'exlnQnt'], items: ['sndyArea', 'rainArea', 'exlnQnt'],
}, },
{ {
name: 'drainageCapability', name: 'drainageCapability',
hideChildHeaders: false, hideChildHeaders: false,
header: { text: '배수능력' }, header: { text: '배수능력' },
items: [ items: [
'drtwPumpWholPpqty', 'drtwPumpGrssPpqty',
{ {
name: 'sewagePump1Group', name: 'sewagePump1Group',
hideChildHeaders: false, hideChildHeaders: false,
header: { text: '오수펌프(1)' }, header: { text: '오수펌프(1)' },
items: ['drtwPumpN1Dmtr', 'drtwPumpN1Ppqty', 'drtwPumpN1Cnt', 'drtwPumpN1RsrvCnt'], items: ['drtwPumpN1DmtrArea', 'drtwPumpN1Ppqty', 'drtwPumpN1Cnt', 'drtwPumpN1RsrvCnt'],
}, },
{ {
name: 'sewagePump2Group', name: 'sewagePump2Group',
hideChildHeaders: false, hideChildHeaders: false,
header: { text: '오수펌프(2)' }, header: { text: '오수펌프(2)' },
items: ['drtwPumpN2Dmtr', 'drtwPumpN2Ppqty', 'drtwPumpN2Cnt', 'drtwPumpN2RsrvCnt'], items: ['drtwPumpN2DmtrArea', 'drtwPumpN2Ppqty', 'drtwPumpN2Cnt', 'drtwPumpN2RsrvCnt'],
}, },
{ {
name: 'sewagePump3Group', name: 'sewagePump3Group',
hideChildHeaders: false, hideChildHeaders: false,
header: { text: '오수펌프(3)' }, header: { text: '오수펌프(3)' },
items: ['drtwPumpN3Dmtr', 'drtwPumpN3Ppqty', 'drtwPumpN3Cnt', 'drtwPumpN3RsrvCnt'], items: ['drtwPumpN3DmtrArea', 'drtwPumpN3Ppqty', 'drtwPumpN3Cnt', 'drtwPumpN3RsrvCnt'],
}, },
'exlnPumpWholPpqty', 'exlnPumpGrssPpqty',
{ {
name: 'rainwaterPump1Group', name: 'rainwaterPump1Group',
hideChildHeaders: false, hideChildHeaders: false,
header: { text: '우수펌프(1)' }, header: { text: '우수펌프(1)' },
items: ['exlnPumpN1Dmtr', 'exlnPumpN1Ppqty', 'exlnPumpN1Cnt', 'exlnPumpN1RsrvCnt'], items: ['exlnPumpN1DmtrArea', 'exlnPumpN1Ppqty', 'exlnPumpN1Cnt', 'exlnPumpN1RsrvCnt'],
}, },
{ {
name: 'rainwaterPump2Group', name: 'rainwaterPump2Group',
hideChildHeaders: false, hideChildHeaders: false,
header: { text: '우수펌프(2)' }, header: { text: '우수펌프(2)' },
items: ['exlnPumpN2Dmtr', 'exlnPumpN2Ppqty', 'exlnPumpN2Cnt', 'exlnPumpN2RsrvCnt'], items: ['exlnPumpN2DmtrArea', 'exlnPumpN2Ppqty', 'exlnPumpN2Cnt', 'exlnPumpN2RsrvCnt'],
}, },
{ {
name: 'rainwaterPump3Group', name: 'rainwaterPump3Group',
hideChildHeaders: false, hideChildHeaders: false,
header: { text: '우수펌프(3)' }, header: { text: '우수펌프(3)' },
items: ['exlnPumpN3Dmtr', 'exlnPumpN3Ppqty', 'exlnPumpN3Cnt', 'exlnPumpN3RsrvCnt'], items: ['exlnPumpN3DmtrArea', 'exlnPumpN3Ppqty', 'exlnPumpN3Cnt', 'exlnPumpN3RsrvCnt'],
}, },
], ],
}, },
'anlElpwrUsqty', 'anlElpwrUseQnt',
'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: 'statsTrbtrNm', fieldName: 'statsTrbtrNm', header: { text: '지류' } }, { name: 'trbtrNm', fieldName: 'trbtrNm', 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: ['physSwtrmtPpltnCnt', 'crtureSwtrmtPpltnCnt', 'altdSwtrmtPpltnCnt', 'physWswtPpltnCnt', 'crtureWswtPpltnCnt', 'altdWswtPpltnCnt', 'urftPpltnCnt', 'unprcsPpltnCnt', 'swgdplPpltnCnt', 'spctnkPpltnCnt'], type: 'sum' as const }, computed: { fields: ['ts1SwtrmtPpltnCnt', 'ts2SwtrmtPpltnCnt', 'ts3SwtrmtPpltnCnt', 'ts1WwtPrcsPpltnCnt', 'ts2WwtPrcsPpltnCnt', 'ts3WwtPrcsPpltnCnt', 'yetCntnPpltnCnt', 'unprcsPpltnCnt', 'drtwPrcsPpltnCnt', 'spctnkPpltnCnt'], type: 'sum' as const },
styleName: 'rg-cell-total', styleName: 'rg-cell-total',
}, },
// 총면적 // 총면적
{ {
name: 'whlar', name: 'wholArea',
fieldName: 'whlar', fieldName: 'wholArea',
header: { text: '총면적(㎢)' }, header: { text: '총면적(㎢)' },
footer: footerDecimal3, footer: footerDecimal3,
valueType: ValueType.NUMBER, valueType: ValueType.NUMBER,
dataFormat: '#,##0.000', dataFormat: '#,##0.000',
computed: { fields: ['swtrmtZoneIntnar', 'swtrmtZoneExtnar'], type: 'sum' as const }, computed: { fields: ['staaArea', 'staaExcpArea'], 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: ['physSwtrmtPpltnCnt', 'crtureSwtrmtPpltnCnt', 'altdSwtrmtPpltnCnt', 'physWswtPpltnCnt', 'crtureWswtPpltnCnt', 'altdWswtPpltnCnt', 'urftPpltnCnt'], type: 'sum' as const }, computed: { fields: ['ts1SwtrmtPpltnCnt', 'ts2SwtrmtPpltnCnt', 'ts3SwtrmtPpltnCnt', 'ts1WwtPrcsPpltnCnt', 'ts2WwtPrcsPpltnCnt', 'ts3WwtPrcsPpltnCnt', 'yetCntnPpltnCnt'], 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: ['physSwtrmtPpltnCnt', 'crtureSwtrmtPpltnCnt', 'altdSwtrmtPpltnCnt'], type: 'sum' as const }, computed: { fields: ['ts1SwtrmtPpltnCnt', 'ts2SwtrmtPpltnCnt', 'ts3SwtrmtPpltnCnt'], type: 'sum' as const },
styleName: 'rg-cell-total', styleName: 'rg-cell-total',
}, },
{ name: 'physSwtrmtPpltnCnt', fieldName: 'physSwtrmtPpltnCnt', header: { text: '물리적처리' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' }, { name: 'ts1SwtrmtPpltnCnt', fieldName: 'ts1SwtrmtPpltnCnt', header: { text: '물리적처리' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'crtureSwtrmtPpltnCnt', fieldName: 'crtureSwtrmtPpltnCnt', header: { text: '생물학적처리' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' }, { name: 'ts2SwtrmtPpltnCnt', fieldName: 'ts2SwtrmtPpltnCnt', header: { text: '생물학적처리' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'altdSwtrmtPpltnCnt', fieldName: 'altdSwtrmtPpltnCnt', header: { text: '고도처리' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' }, { name: 'ts3SwtrmtPpltnCnt', fieldName: 'ts3SwtrmtPpltnCnt', header: { text: '고도처리' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
// 하수처리구역 내 > 폐수처리인구 // 하수처리구역 내 > 폐수처리인구
{ {
name: 'wholWswtPpltnCnt', name: 'wholWwtPrcsPpltnCnt',
fieldName: 'wholWswtPpltnCnt', fieldName: 'wholWwtPrcsPpltnCnt',
header: { text: '소계' }, header: { text: '소계' },
footer: footerInt, footer: footerInt,
editable: false, editable: false,
valueType: ValueType.NUMBER, valueType: ValueType.NUMBER,
dataFormat: '#,##0', dataFormat: '#,##0',
computed: { fields: ['physWswtPpltnCnt', 'crtureWswtPpltnCnt', 'altdWswtPpltnCnt'], type: 'sum' as const }, computed: { fields: ['ts1WwtPrcsPpltnCnt', 'ts2WwtPrcsPpltnCnt', 'ts3WwtPrcsPpltnCnt'], type: 'sum' as const },
styleName: 'rg-cell-total', styleName: 'rg-cell-total',
}, },
{ name: 'physWswtPpltnCnt', fieldName: 'physWswtPpltnCnt', header: { text: '물리적처리' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' }, { name: 'ts1WwtPrcsPpltnCnt', fieldName: 'ts1WwtPrcsPpltnCnt', header: { text: '물리적처리' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'crtureWswtPpltnCnt', fieldName: 'crtureWswtPpltnCnt', header: { text: '생물학적처리' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' }, { name: 'ts2WwtPrcsPpltnCnt', fieldName: 'ts2WwtPrcsPpltnCnt', header: { text: '생물학적처리' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'altdWswtPpltnCnt', fieldName: 'altdWswtPpltnCnt', header: { text: '고도처리' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' }, { name: 'ts3WwtPrcsPpltnCnt', fieldName: 'ts3WwtPrcsPpltnCnt', header: { text: '고도처리' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
// 하수처리구역 내 > 미접속인구 // 하수처리구역 내 > 미접속인구
{ name: 'urftPpltnCnt', fieldName: 'urftPpltnCnt', header: { text: '미접속인구' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' }, { name: 'yetCntnPpltnCnt', fieldName: 'yetCntnPpltnCnt', header: { text: '미접속인구' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
// 하수처리구역 내 > 면적 // 하수처리구역 내 > 면적
{ name: 'swtrmtZoneIntnar', fieldName: 'swtrmtZoneIntnar', header: { text: '면적(㎢)' }, footer: footerDecimal3, valueType: ValueType.NUMBER, dataFormat: '#,##0.000' }, { name: 'staaArea', fieldName: 'staaArea', header: { text: '면적(㎢)' }, footer: footerDecimal3, valueType: ValueType.NUMBER, dataFormat: '#,##0.000' },
// 하수처리구역 외 // 하수처리구역 외
{ {
name: 'wholStaaOtsdPpltnCnt', name: 'wholStaaExcpPpltnCnt',
fieldName: 'wholStaaOtsdPpltnCnt', fieldName: 'wholStaaExcpPpltnCnt',
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', 'swgdplPpltnCnt', 'spctnkPpltnCnt'], type: 'sum' as const }, computed: { fields: ['unprcsPpltnCnt', 'drtwPrcsPpltnCnt', '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: 'swgdplPpltnCnt', fieldName: 'swgdplPpltnCnt', header: { text: '오수처리인구' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' }, { name: 'drtwPrcsPpltnCnt', fieldName: 'drtwPrcsPpltnCnt', 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: 'swtrmtZoneExtnar', fieldName: 'swtrmtZoneExtnar', header: { text: '면적(㎢)' }, footer: footerDecimal3, valueType: ValueType.NUMBER, dataFormat: '#,##0.000' }, { name: 'staaExcpArea', fieldName: 'staaExcpArea', header: { text: '면적(㎢)' }, footer: footerDecimal3, valueType: ValueType.NUMBER, dataFormat: '#,##0.000' },
// 공공하수처리구역 인구보급률 (하수처리구역 내 인구 / 전체 인구 * 100) // 공공하수처리구역 인구보급률 (하수처리구역 내 인구 / 전체 인구 * 100)
{ {
name: 'swagePplPsplyRt', name: 'staaPsplyRt',
fieldName: 'swagePplPsplyRt', fieldName: 'staaPsplyRt',
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: ['physSwtrmtPpltnCnt', 'crtureSwtrmtPpltnCnt', 'altdSwtrmtPpltnCnt', 'physWswtPpltnCnt', 'crtureWswtPpltnCnt', 'altdWswtPpltnCnt', 'urftPpltnCnt'], numeratorFields: ['ts1SwtrmtPpltnCnt', 'ts2SwtrmtPpltnCnt', 'ts3SwtrmtPpltnCnt', 'ts1WwtPrcsPpltnCnt', 'ts2WwtPrcsPpltnCnt', 'ts3WwtPrcsPpltnCnt', 'yetCntnPpltnCnt'],
denominatorFields: ['physSwtrmtPpltnCnt', 'crtureSwtrmtPpltnCnt', 'altdSwtrmtPpltnCnt', 'physWswtPpltnCnt', 'crtureWswtPpltnCnt', 'altdWswtPpltnCnt', 'urftPpltnCnt', 'unprcsPpltnCnt', 'swgdplPpltnCnt', 'spctnkPpltnCnt'], denominatorFields: ['ts1SwtrmtPpltnCnt', 'ts2SwtrmtPpltnCnt', 'ts3SwtrmtPpltnCnt', 'ts1WwtPrcsPpltnCnt', 'ts2WwtPrcsPpltnCnt', 'ts3WwtPrcsPpltnCnt', 'yetCntnPpltnCnt', 'unprcsPpltnCnt', 'drtwPrcsPpltnCnt', '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: 'awtrPsplyRt', name: 'altdPrcsPsplyRt',
fieldName: 'awtrPsplyRt', fieldName: 'altdPrcsPsplyRt',
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: ['altdSwtrmtPpltnCnt', 'altdWswtPpltnCnt'], numeratorFields: ['ts3SwtrmtPpltnCnt', 'ts3WwtPrcsPpltnCnt'],
denominatorFields: ['physSwtrmtPpltnCnt', 'crtureSwtrmtPpltnCnt', 'altdSwtrmtPpltnCnt', 'physWswtPpltnCnt', 'crtureWswtPpltnCnt', 'altdWswtPpltnCnt', 'urftPpltnCnt', 'unprcsPpltnCnt', 'swgdplPpltnCnt', 'spctnkPpltnCnt'], denominatorFields: ['ts1SwtrmtPpltnCnt', 'ts2SwtrmtPpltnCnt', 'ts3SwtrmtPpltnCnt', 'ts1WwtPrcsPpltnCnt', 'ts2WwtPrcsPpltnCnt', 'ts3WwtPrcsPpltnCnt', 'yetCntnPpltnCnt', 'unprcsPpltnCnt', 'drtwPrcsPpltnCnt', '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: ['physSwtrmtPpltnCnt', 'crtureSwtrmtPpltnCnt', 'altdSwtrmtPpltnCnt', 'physWswtPpltnCnt', 'crtureWswtPpltnCnt', 'altdWswtPpltnCnt', 'urftPpltnCnt', 'wholStaaOtsdPpltnCnt'], numeratorFields: ['ts1SwtrmtPpltnCnt', 'ts2SwtrmtPpltnCnt', 'ts3SwtrmtPpltnCnt', 'ts1WwtPrcsPpltnCnt', 'ts2WwtPrcsPpltnCnt', 'ts3WwtPrcsPpltnCnt', 'yetCntnPpltnCnt', 'wholStaaExcpPpltnCnt'],
denominatorFields: ['physSwtrmtPpltnCnt', 'crtureSwtrmtPpltnCnt', 'altdSwtrmtPpltnCnt', 'physWswtPpltnCnt', 'crtureWswtPpltnCnt', 'altdWswtPpltnCnt', 'urftPpltnCnt'], denominatorFields: ['ts1SwtrmtPpltnCnt', 'ts2SwtrmtPpltnCnt', 'ts3SwtrmtPpltnCnt', 'ts1WwtPrcsPpltnCnt', 'ts2WwtPrcsPpltnCnt', 'ts3WwtPrcsPpltnCnt', 'yetCntnPpltnCnt'],
thirdFields: ['pipePsplyRt'], thirdFields: ['swagePplPsplyRt'],
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: 'pipePsplyRt', fieldName: 'pipePsplyRt', header: { text: '하수관로보급률(%)' }, visible: false }, { name: 'swagePplPsplyRt', fieldName: 'swagePplPsplyRt', 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',
'statsTrbtrNm', 'trbtrNm',
{ {
name: 'groupB', name: 'groupB',
hideChildHeaders: false, hideChildHeaders: false,
@@ -212,7 +212,7 @@ export const SeweragePenetrationRateInpColumn = {
}, },
'refArea', 'refArea',
'wholPpltnCnt', 'wholPpltnCnt',
'whlar', 'wholArea',
{ {
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', 'physSwtrmtPpltnCnt', 'crtureSwtrmtPpltnCnt', 'altdSwtrmtPpltnCnt'], items: ['wholPblSwtrmtPpltnCnt', 'ts1SwtrmtPpltnCnt', 'ts2SwtrmtPpltnCnt', 'ts3SwtrmtPpltnCnt'],
}, },
{ {
name: 'wstrGroup', name: 'wstrGroup',
hideChildHeaders: false, hideChildHeaders: false,
header: { text: '폐수처리인구(명)' }, header: { text: '폐수처리인구(명)' },
items: ['wholWswtPpltnCnt', 'physWswtPpltnCnt', 'crtureWswtPpltnCnt', 'altdWswtPpltnCnt'], items: ['wholWwtPrcsPpltnCnt', 'ts1WwtPrcsPpltnCnt', 'ts2WwtPrcsPpltnCnt', 'ts3WwtPrcsPpltnCnt'],
}, },
'urftPpltnCnt', 'yetCntnPpltnCnt',
'swtrmtZoneIntnar' 'staaArea'
], ],
}, },
{ {
@@ -240,18 +240,18 @@ export const SeweragePenetrationRateInpColumn = {
hideChildHeaders: false, hideChildHeaders: false,
header: { text: '하수처리구역외' }, header: { text: '하수처리구역외' },
items: [ items: [
'wholStaaOtsdPpltnCnt', 'wholStaaExcpPpltnCnt',
'unprcsPpltnCnt', 'unprcsPpltnCnt',
'swgdplPpltnCnt', 'drtwPrcsPpltnCnt',
'spctnkPpltnCnt', 'spctnkPpltnCnt',
'swtrmtZoneExtnar' 'staaExcpArea'
], ],
}, },
'swagePplPsplyRt', 'staaPsplyRt',
'awtrPsplyRt', 'altdPrcsPsplyRt',
'sewerInstlRt', 'sewerInstlRt',
'rmrk', 'rmrk',
'pipePsplyRt', 'swagePplPsplyRt',
'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: 'spctnkWholFcltCnt', fieldName: 'spctnkWholFcltCnt', header: { text: '개소수' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' }, { name: 'spctnkGrssFcltCnt', fieldName: 'spctnkGrssFcltCnt', header: { text: '개소수' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'spctnkPrcqty', fieldName: 'spctnkPrcqty', header: { text: '처리용량(인/일)' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' }, { name: 'spctnkQnt', fieldName: 'spctnkQnt', header: { text: '처리용량(인/일)' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' },
// 개인하수도관리지역공고현황 > 오수시설 // 개인하수도관리지역공고현황 > 오수시설
{ name: 'swgdplFcltWholFcltCnt', fieldName: 'swgdplFcltWholFcltCnt', header: { text: '개소수' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' }, { name: 'drtwPrcsFcltGrssFcltCnt', fieldName: 'drtwPrcsFcltGrssFcltCnt', header: { text: '개소수' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'swgdplFcltPrcqty', fieldName: 'swgdplFcltPrcqty', header: { text: '처리용량(m³/일)' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' }, { name: 'drtwPrcsFcltQnt', fieldName: 'drtwPrcsFcltQnt', 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: [
'spctnkWholFcltCnt', 'spctnkGrssFcltCnt',
'spctnkPrcqty' 'spctnkQnt'
] ]
}, },
{ {
name: 'group_sewage', name: 'group_sewage',
header: { text: '오수시설' }, header: { text: '오수시설' },
items: [ items: [
'swgdplFcltWholFcltCnt', 'drtwPrcsFcltGrssFcltCnt',
'swgdplFcltPrcqty' 'drtwPrcsFcltQnt'
] ]
} }
] ]
@@ -11,8 +11,8 @@ export const SepticTankStatusInpColumn = {
// 총 시설 수 — (B+C)/2 + (E+F)/2 = A + D // 총 시설 수 — (B+C)/2 + (E+F)/2 = A + D
{ {
name: 'wholFcltCnt', name: 'grssFcltCnt',
fieldName: 'wholFcltCnt', fieldName: 'grssFcltCnt',
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: [
'staaInsdSpctnkNatrCnt', 'staaInsdSttkNprsflCnt',
'staaInsdSpctnkFrcCnt', 'step1StaaInsdSttkFrcCnt',
'staaInsdSprklFiltrCnt', 'staaInsdSprktpFltrtbCnt',
'staaInsdAirCnt', 'staaInsdAertMthdCnt',
'staaInsdCntcAirCnt', 'staaInsdCntcAertCnt',
'staaInsdEtcCnt', 'staaInsdEtcCnt',
], ],
secondSumFields: [ secondSumFields: [
'frlvlStaaInsdNope', 'step1StaaInsdNope',
'sclvlStaaInsdNope', 'step2StaaInsdNope',
'thlvlStaaInsdNope', 'step3StaaInsdNope',
'folvlStaaInsdNope', 'step4StaaInsdNope',
'filvlStaaInsdNope', 'step5StaaInsdNope',
'sxlvlStaaInsdNope', 'step6StaaInsdNope',
'svlvlStaaInsdNope', 'step7StaaInsdNope',
'eilvlStaaInsdNope', 'step8StaaInsdNope',
], ],
}, },
secondHalfSum: { secondHalfSum: {
firstSumFields: [ firstSumFields: [
'staaOtsdSpctnkNatrCnt', 'staaExcpSttkNprsflCnt',
'staaOtsdSpctnkFrcCnt', 'step1StaaExcpSttkFrcCnt',
'staaOtsdSprklFiltrCnt', 'staaExcpSprktpFltrtbCnt',
'staaOtsdAirCnt', 'staaExcpAertMthdCnt',
'staaOtsdCntcAirCnt', 'staaExcpCntcAertCnt',
'staaOtsdEtcCnt', 'staaExcpEtcCnt',
], ],
secondSumFields: [ secondSumFields: [
'frlvlStaaOtsdNope', 'step1StaaExcpNope',
'sclvlStaaOtsdNope', 'step2StaaExcpNope',
'thlvlStaaOtsdNope', 'step3StaaExcpNope',
'folvlStaaOtsdNope', 'step4StaaExcpNope',
'filvlStaaOtsdNope', 'step5StaaExcpNope',
'sxlvlStaaOtsdNope', 'step6StaaExcpNope',
'svlvlStaaOtsdNope', 'step7StaaExcpNope',
'eilvlStaaOtsdNope', 'step8StaaExcpNope',
], ],
}, },
type: 'sumOfTwoHalfSumOfSums' as const, type: 'sumOfTwoHalfSumOfSums' as const,
@@ -66,8 +66,8 @@ export const SepticTankStatusInpColumn = {
// 하수처리구역 내 > 총계 // 하수처리구역 내 > 총계
{ {
name: 'staaInsdWholCnt', name: 'staaInsdWhol',
fieldName: 'staaInsdWholCnt', fieldName: 'staaInsdWhol',
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: [
'staaInsdSpctnkNatrCnt', 'staaInsdSttkNprsflCnt',
'staaInsdSpctnkFrcCnt', 'step1StaaInsdSttkFrcCnt',
'staaInsdSprklFiltrCnt', 'staaInsdSprktpFltrtbCnt',
'staaInsdAirCnt', 'staaInsdAertMthdCnt',
'staaInsdCntcAirCnt', 'staaInsdCntcAertCnt',
'staaInsdEtcCnt', 'staaInsdEtcCnt',
], ],
secondSumFields: [ secondSumFields: [
'frlvlStaaInsdNope', 'step1StaaInsdNope',
'sclvlStaaInsdNope', 'step2StaaInsdNope',
'thlvlStaaInsdNope', 'step3StaaInsdNope',
'folvlStaaInsdNope', 'step4StaaInsdNope',
'filvlStaaInsdNope', 'step5StaaInsdNope',
'sxlvlStaaInsdNope', 'step6StaaInsdNope',
'svlvlStaaInsdNope', 'step7StaaInsdNope',
'eilvlStaaInsdNope', 'step8StaaInsdNope',
], ],
type: 'halfSumOfSums' as const, type: 'halfSumOfSums' as const,
}, },
@@ -99,8 +99,8 @@ export const SepticTankStatusInpColumn = {
// 하수처리구역 내 > 처리방식별 // 하수처리구역 내 > 처리방식별
{ {
name: 'staaInsdMthSeWholCnt', name: 'staaInsdPrcsMthByWhol',
fieldName: 'staaInsdMthSeWholCnt', fieldName: 'staaInsdPrcsMthByWhol',
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: [
'staaInsdSpctnkNatrCnt', 'staaInsdSttkNprsflCnt',
'staaInsdSpctnkFrcCnt', 'step1StaaInsdSttkFrcCnt',
'staaInsdSprklFiltrCnt', 'staaInsdSprktpFltrtbCnt',
'staaInsdAirCnt', 'staaInsdAertMthdCnt',
'staaInsdCntcAirCnt', 'staaInsdCntcAertCnt',
'staaInsdEtcCnt', 'staaInsdEtcCnt',
], ],
type: 'sum' as const, type: 'sum' as const,
@@ -121,19 +121,19 @@ export const SepticTankStatusInpColumn = {
}, },
// 하수처리구역 내 > 처리방식별 > 부패탱크 // 하수처리구역 내 > 처리방식별 > 부패탱크
{ name: 'staaInsdSpctnkNatrCnt', fieldName: 'staaInsdSpctnkNatrCnt', header: { text: '자연유하' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' }, { name: 'staaInsdSttkNprsflCnt', fieldName: 'staaInsdSttkNprsflCnt', header: { text: '자연유하' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'staaInsdSpctnkFrcCnt', fieldName: 'staaInsdSpctnkFrcCnt', header: { text: '강제펌핑식' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' }, { name: 'step1StaaInsdSttkFrcCnt', fieldName: 'step1StaaInsdSttkFrcCnt', header: { text: '강제펌핑식' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
// 하수처리구역 내 > 처리방식별 // 하수처리구역 내 > 처리방식별
{ name: 'staaInsdSprklFiltrCnt', fieldName: 'staaInsdSprklFiltrCnt', header: { text: '살수여상' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' }, { name: 'staaInsdSprktpFltrtbCnt', fieldName: 'staaInsdSprktpFltrtbCnt', header: { text: '살수여상' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'staaInsdAirCnt', fieldName: 'staaInsdAirCnt', header: { text: '폭기방법' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' }, { name: 'staaInsdAertMthdCnt', fieldName: 'staaInsdAertMthdCnt', header: { text: '폭기방법' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'staaInsdCntcAirCnt', fieldName: 'staaInsdCntcAirCnt', header: { text: '접촉폭기' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' }, { name: 'staaInsdCntcAertCnt', fieldName: 'staaInsdCntcAertCnt', 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: 'staaInsdCpctSeWholCnt', name: 'staaInsdPrcsCpctByWhol',
fieldName: 'staaInsdCpctSeWholCnt', fieldName: 'staaInsdPrcsCpctByWhol',
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: [
'frlvlStaaInsdNope', 'step1StaaInsdNope',
'sclvlStaaInsdNope', 'step2StaaInsdNope',
'thlvlStaaInsdNope', 'step3StaaInsdNope',
'folvlStaaInsdNope', 'step4StaaInsdNope',
'filvlStaaInsdNope', 'step5StaaInsdNope',
'sxlvlStaaInsdNope', 'step6StaaInsdNope',
'svlvlStaaInsdNope', 'step7StaaInsdNope',
'eilvlStaaInsdNope', 'step8StaaInsdNope',
], ],
type: 'sum' as const, type: 'sum' as const,
}, },
}, },
{ name: 'frlvlStaaInsdNope', fieldName: 'frlvlStaaInsdNope', header: { text: '10인조이하' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' }, { name: 'step1StaaInsdNope', fieldName: 'step1StaaInsdNope', header: { text: '10인조이하' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'sclvlStaaInsdNope', fieldName: 'sclvlStaaInsdNope', header: { text: '11~20' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' }, { name: 'step2StaaInsdNope', fieldName: 'step2StaaInsdNope', header: { text: '11~20' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'thlvlStaaInsdNope', fieldName: 'thlvlStaaInsdNope', header: { text: '21~30' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' }, { name: 'step3StaaInsdNope', fieldName: 'step3StaaInsdNope', header: { text: '21~30' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'folvlStaaInsdNope', fieldName: 'folvlStaaInsdNope', header: { text: '31~50' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' }, { name: 'step4StaaInsdNope', fieldName: 'step4StaaInsdNope', header: { text: '31~50' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'filvlStaaInsdNope', fieldName: 'filvlStaaInsdNope', header: { text: '51~199' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' }, { name: 'step5StaaInsdNope', fieldName: 'step5StaaInsdNope', header: { text: '51~199' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'sxlvlStaaInsdNope', fieldName: 'sxlvlStaaInsdNope', header: { text: '200~499' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' }, { name: 'step6StaaInsdNope', fieldName: 'step6StaaInsdNope', header: { text: '200~499' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'svlvlStaaInsdNope', fieldName: 'svlvlStaaInsdNope', header: { text: '500~999' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' }, { name: 'step7StaaInsdNope', fieldName: 'step7StaaInsdNope', header: { text: '500~999' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'eilvlStaaInsdNope', fieldName: 'eilvlStaaInsdNope', header: { text: '1,000 이상' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' }, { name: 'step8StaaInsdNope', fieldName: 'step8StaaInsdNope', header: { text: '1,000 이상' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
// 하수처리구역 외 > 총계 // 하수처리구역 외 > 총계
{ {
name: 'staaOtsdWholCnt', name: 'staaExcpWhol',
fieldName: 'staaOtsdWholCnt', fieldName: 'staaExcpWhol',
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: [
'staaOtsdSpctnkNatrCnt', 'staaExcpSttkNprsflCnt',
'staaOtsdSpctnkFrcCnt', 'step1StaaExcpSttkFrcCnt',
'staaOtsdSprklFiltrCnt', 'staaExcpSprktpFltrtbCnt',
'staaOtsdAirCnt', 'staaExcpAertMthdCnt',
'staaOtsdCntcAirCnt', 'staaExcpCntcAertCnt',
'staaOtsdEtcCnt', 'staaExcpEtcCnt',
], ],
secondSumFields: [ secondSumFields: [
'frlvlStaaOtsdNope', 'step1StaaExcpNope',
'sclvlStaaOtsdNope', 'step2StaaExcpNope',
'thlvlStaaOtsdNope', 'step3StaaExcpNope',
'folvlStaaOtsdNope', 'step4StaaExcpNope',
'filvlStaaOtsdNope', 'step5StaaExcpNope',
'sxlvlStaaOtsdNope', 'step6StaaExcpNope',
'svlvlStaaOtsdNope', 'step7StaaExcpNope',
'eilvlStaaOtsdNope', 'step8StaaExcpNope',
], ],
type: 'halfSumOfSums' as const, type: 'halfSumOfSums' as const,
}, },
@@ -198,8 +198,8 @@ export const SepticTankStatusInpColumn = {
// 하수처리구역 외 > 처리방식별 // 하수처리구역 외 > 처리방식별
{ {
name: 'staaOtsdMthSeWholCnt', name: 'staaExcpPrcsMthByWhol',
fieldName: 'staaOtsdMthSeWholCnt', fieldName: 'staaExcpPrcsMthByWhol',
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: [
'staaOtsdSpctnkNatrCnt', 'staaExcpSttkNprsflCnt',
'staaOtsdSpctnkFrcCnt', 'step1StaaExcpSttkFrcCnt',
'staaOtsdSprklFiltrCnt', 'staaExcpSprktpFltrtbCnt',
'staaOtsdAirCnt', 'staaExcpAertMthdCnt',
'staaOtsdCntcAirCnt', 'staaExcpCntcAertCnt',
'staaOtsdEtcCnt', 'staaExcpEtcCnt',
], ],
type: 'sum' as const, type: 'sum' as const,
}, },
}, },
// 하수처리구역 외 > 처리방식별 > 부패탱크 // 하수처리구역 외 > 처리방식별 > 부패탱크
{ name: 'staaOtsdSpctnkNatrCnt', fieldName: 'staaOtsdSpctnkNatrCnt', header: { text: '자연유하' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' }, { name: 'staaExcpSttkNprsflCnt', fieldName: 'staaExcpSttkNprsflCnt', header: { text: '자연유하' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'staaOtsdSpctnkFrcCnt', fieldName: 'staaOtsdSpctnkFrcCnt', header: { text: '강제펌핑식' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' }, { name: 'step1StaaExcpSttkFrcCnt', fieldName: 'step1StaaExcpSttkFrcCnt', header: { text: '강제펌핑식' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
// 하수처리구역 외 > 처리방식별 // 하수처리구역 외 > 처리방식별
{ name: 'staaOtsdSprklFiltrCnt', fieldName: 'staaOtsdSprklFiltrCnt', header: { text: '살수여상' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' }, { name: 'staaExcpSprktpFltrtbCnt', fieldName: 'staaExcpSprktpFltrtbCnt', header: { text: '살수여상' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'staaOtsdAirCnt', fieldName: 'staaOtsdAirCnt', header: { text: '폭기방법' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' }, { name: 'staaExcpAertMthdCnt', fieldName: 'staaExcpAertMthdCnt', header: { text: '폭기방법' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'staaOtsdCntcAirCnt', fieldName: 'staaOtsdCntcAirCnt', header: { text: '접촉폭기' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' }, { name: 'staaExcpCntcAertCnt', fieldName: 'staaExcpCntcAertCnt', header: { text: '접촉폭기' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'staaOtsdEtcCnt', fieldName: 'staaOtsdEtcCnt', header: { text: '기타' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' }, { name: 'staaExcpEtcCnt', fieldName: 'staaExcpEtcCnt', header: { text: '기타' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
// 하수처리구역 외 > 처리용량별 // 하수처리구역 외 > 처리용량별
{ {
name: 'staaOtsdCpctSeWholCnt', name: 'staaExcpPrcsCpctByWhol',
fieldName: 'staaOtsdCpctSeWholCnt', fieldName: 'staaExcpPrcsCpctByWhol',
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: [
'frlvlStaaOtsdNope', 'step1StaaExcpNope',
'sclvlStaaOtsdNope', 'step2StaaExcpNope',
'thlvlStaaOtsdNope', 'step3StaaExcpNope',
'folvlStaaOtsdNope', 'step4StaaExcpNope',
'filvlStaaOtsdNope', 'step5StaaExcpNope',
'sxlvlStaaOtsdNope', 'step6StaaExcpNope',
'svlvlStaaOtsdNope', 'step7StaaExcpNope',
'eilvlStaaOtsdNope', 'step8StaaExcpNope',
], ],
type: 'sum' as const, type: 'sum' as const,
}, },
}, },
{ name: 'frlvlStaaOtsdNope', fieldName: 'frlvlStaaOtsdNope', header: { text: '10인조이하' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' }, { name: 'step1StaaExcpNope', fieldName: 'step1StaaExcpNope', header: { text: '10인조이하' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'sclvlStaaOtsdNope', fieldName: 'sclvlStaaOtsdNope', header: { text: '11~20' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' }, { name: 'step2StaaExcpNope', fieldName: 'step2StaaExcpNope', header: { text: '11~20' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'thlvlStaaOtsdNope', fieldName: 'thlvlStaaOtsdNope', header: { text: '21~30' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' }, { name: 'step3StaaExcpNope', fieldName: 'step3StaaExcpNope', header: { text: '21~30' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'folvlStaaOtsdNope', fieldName: 'folvlStaaOtsdNope', header: { text: '31~50' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' }, { name: 'step4StaaExcpNope', fieldName: 'step4StaaExcpNope', header: { text: '31~50' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'filvlStaaOtsdNope', fieldName: 'filvlStaaOtsdNope', header: { text: '51~199' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' }, { name: 'step5StaaExcpNope', fieldName: 'step5StaaExcpNope', header: { text: '51~199' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'sxlvlStaaOtsdNope', fieldName: 'sxlvlStaaOtsdNope', header: { text: '200~499' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' }, { name: 'step6StaaExcpNope', fieldName: 'step6StaaExcpNope', header: { text: '200~499' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'svlvlStaaOtsdNope', fieldName: 'svlvlStaaOtsdNope', header: { text: '500~999' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' }, { name: 'step7StaaExcpNope', fieldName: 'step7StaaExcpNope', header: { text: '500~999' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'eilvlStaaOtsdNope', fieldName: 'eilvlStaaOtsdNope', header: { text: '1,000 이상' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' }, { name: 'step8StaaExcpNope', fieldName: 'step8StaaExcpNope', 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',
], ],
}, },
'wholFcltCnt', 'grssFcltCnt',
{ {
name: 'group_spzi', name: 'group_spzi',
header: { text: '하수처리구역 내' }, header: { text: '하수처리구역 내' },
items: [ items: [
'staaInsdWholCnt', 'staaInsdWhol',
{ {
name: 'group_spzi_mthd', name: 'group_spzi_mthd',
header: { text: '처리방식별' }, header: { text: '처리방식별' },
items: [ items: [
'staaInsdMthSeWholCnt', 'staaInsdPrcsMthByWhol',
{ {
name: 'group_spzi_rot', name: 'group_spzi_rot',
header: { text: '부패탱크' }, header: { text: '부패탱크' },
items: [ items: [
'staaInsdSpctnkNatrCnt', 'staaInsdSttkNprsflCnt',
'staaInsdSpctnkFrcCnt' 'step1StaaInsdSttkFrcCnt'
] ]
}, },
'staaInsdSprklFiltrCnt', 'staaInsdSprktpFltrtbCnt',
'staaInsdAirCnt', 'staaInsdAertMthdCnt',
'staaInsdCntcAirCnt', 'staaInsdCntcAertCnt',
'staaInsdEtcCnt' 'staaInsdEtcCnt'
] ]
}, },
@@ -307,15 +307,15 @@ export const SepticTankStatusInpColumn = {
name: 'group_spzi_proc', name: 'group_spzi_proc',
header: { text: '처리용량별' }, header: { text: '처리용량별' },
items: [ items: [
'staaInsdCpctSeWholCnt', 'staaInsdPrcsCpctByWhol',
'frlvlStaaInsdNope', 'step1StaaInsdNope',
'sclvlStaaInsdNope', 'step2StaaInsdNope',
'thlvlStaaInsdNope', 'step3StaaInsdNope',
'folvlStaaInsdNope', 'step4StaaInsdNope',
'filvlStaaInsdNope', 'step5StaaInsdNope',
'sxlvlStaaInsdNope', 'step6StaaInsdNope',
'svlvlStaaInsdNope', 'step7StaaInsdNope',
'eilvlStaaInsdNope' 'step8StaaInsdNope'
] ]
} }
] ]
@@ -324,39 +324,39 @@ export const SepticTankStatusInpColumn = {
name: 'group_spzo', name: 'group_spzo',
header: { text: '하수처리구역 외' }, header: { text: '하수처리구역 외' },
items: [ items: [
'staaOtsdWholCnt', 'staaExcpWhol',
{ {
name: 'group_spzo_mthd', name: 'group_spzo_mthd',
header: { text: '처리방식별' }, header: { text: '처리방식별' },
items: [ items: [
'staaOtsdMthSeWholCnt', 'staaExcpPrcsMthByWhol',
{ {
name: 'group_spzo_rot', name: 'group_spzo_rot',
header: { text: '부패탱크' }, header: { text: '부패탱크' },
items: [ items: [
'staaOtsdSpctnkNatrCnt', 'staaExcpSttkNprsflCnt',
'staaOtsdSpctnkFrcCnt' 'step1StaaExcpSttkFrcCnt'
] ]
}, },
'staaOtsdSprklFiltrCnt', 'staaExcpSprktpFltrtbCnt',
'staaOtsdAirCnt', 'staaExcpAertMthdCnt',
'staaOtsdCntcAirCnt', 'staaExcpCntcAertCnt',
'staaOtsdEtcCnt' 'staaExcpEtcCnt'
] ]
}, },
{ {
name: 'group_spzo_proc', name: 'group_spzo_proc',
header: { text: '처리용량별' }, header: { text: '처리용량별' },
items: [ items: [
'staaOtsdCpctSeWholCnt', 'staaExcpPrcsCpctByWhol',
'frlvlStaaOtsdNope', 'step1StaaExcpNope',
'sclvlStaaOtsdNope', 'step2StaaExcpNope',
'thlvlStaaOtsdNope', 'step3StaaExcpNope',
'folvlStaaOtsdNope', 'step4StaaExcpNope',
'filvlStaaOtsdNope', 'step5StaaExcpNope',
'sxlvlStaaOtsdNope', 'step6StaaExcpNope',
'svlvlStaaOtsdNope', 'step7StaaExcpNope',
'eilvlStaaOtsdNope' 'step8StaaExcpNope'
] ]
} }
] ]
@@ -11,8 +11,8 @@ export const SewageTreatFactStatusInpColumn = {
// 총계 // 총계
{ {
name: 'wholSwgdplFcltCnt', name: 'wholDrtwPrcsFcltCnt',
fieldName: 'wholSwgdplFcltCnt', fieldName: 'wholDrtwPrcsFcltCnt',
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: [
'frlvlStaaPrcqty', 'step1StaaPrcsQnt',
'sclvlStaaPrcqty', 'step2StaaPrcsQnt',
'thlvlStaaPrcqty', 'step3StaaPrcsQnt',
'folvlStaaPrcqty', 'step4StaaPrcsQnt',
'filvlStaaPrcqty', 'step5StaaPrcsQnt',
'sxlvlStaaPrcqty', 'step6StaaPrcsQnt',
'svlvlStaaPrcqty', 'step7StaaPrcsQnt',
'frlvlStaaOtsdPrcqty', 'step1StaaExcpPrcsQnt',
'sclvlStaaOtsdPrcqty', 'step2StaaExcpPrcsQnt',
'thlvlStaaOtsdPrcqty', 'step3StaaExcpPrcsQnt',
'folvlStaaOtsdPrcqty', 'step4StaaExcpPrcsQnt',
'filvlStaaOtsdPrcqty', 'step5StaaExcpPrcsQnt',
'sxlvlStaaOtsdPrcqty', 'step6StaaExcpPrcsQnt',
'svlvlStaaOtsdPrcqty', 'step7StaaExcpPrcsQnt',
], ],
type: 'sum' as const, type: 'sum' as const,
}, },
@@ -42,8 +42,8 @@ export const SewageTreatFactStatusInpColumn = {
// 오수처리시설 > 하수처리구역 내(m³/일) // 오수처리시설 > 하수처리구역 내(m³/일)
{ {
name: 'wholStaaPrcqty', name: 'wholStaaCnt',
fieldName: 'wholStaaPrcqty', fieldName: 'wholStaaCnt',
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: [
'frlvlStaaPrcqty', 'step1StaaPrcsQnt',
'sclvlStaaPrcqty', 'step2StaaPrcsQnt',
'thlvlStaaPrcqty', 'step3StaaPrcsQnt',
'folvlStaaPrcqty', 'step4StaaPrcsQnt',
'filvlStaaPrcqty', 'step5StaaPrcsQnt',
'sxlvlStaaPrcqty', 'step6StaaPrcsQnt',
'svlvlStaaPrcqty', 'step7StaaPrcsQnt',
], ],
type: 'sum' as const, type: 'sum' as const,
}, },
}, },
{ name: 'frlvlStaaPrcqty', fieldName: 'frlvlStaaPrcqty', header: { text: '2이하' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' }, { name: 'step1StaaPrcsQnt', fieldName: 'step1StaaPrcsQnt', header: { text: '2이하' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'sclvlStaaPrcqty', fieldName: 'sclvlStaaPrcqty', header: { text: '3~10' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' }, { name: 'step2StaaPrcsQnt', fieldName: 'step2StaaPrcsQnt', header: { text: '3~10' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'thlvlStaaPrcqty', fieldName: 'thlvlStaaPrcqty', header: { text: '11~20' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' }, { name: 'step3StaaPrcsQnt', fieldName: 'step3StaaPrcsQnt', header: { text: '11~20' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'folvlStaaPrcqty', fieldName: 'folvlStaaPrcqty', header: { text: '21~50' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' }, { name: 'step4StaaPrcsQnt', fieldName: 'step4StaaPrcsQnt', header: { text: '21~50' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'filvlStaaPrcqty', fieldName: 'filvlStaaPrcqty', header: { text: '51~100' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' }, { name: 'step5StaaPrcsQnt', fieldName: 'step5StaaPrcsQnt', header: { text: '51~100' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'sxlvlStaaPrcqty', fieldName: 'sxlvlStaaPrcqty', header: { text: '101~500' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' }, { name: 'step6StaaPrcsQnt', fieldName: 'step6StaaPrcsQnt', header: { text: '101~500' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'svlvlStaaPrcqty', fieldName: 'svlvlStaaPrcqty', header: { text: '501이상' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' }, { name: 'step7StaaPrcsQnt', fieldName: 'step7StaaPrcsQnt', header: { text: '501이상' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
// 오수처리시설 > 하수처리구역 외(m³/일) // 오수처리시설 > 하수처리구역 외(m³/일)
{ {
name: 'staaOtsdWholPrcqty', name: 'staaExcpWhol',
fieldName: 'staaOtsdWholPrcqty', fieldName: 'staaExcpWhol',
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: [
'frlvlStaaOtsdPrcqty', 'step1StaaExcpPrcsQnt',
'sclvlStaaOtsdPrcqty', 'step2StaaExcpPrcsQnt',
'thlvlStaaOtsdPrcqty', 'step3StaaExcpPrcsQnt',
'folvlStaaOtsdPrcqty', 'step4StaaExcpPrcsQnt',
'filvlStaaOtsdPrcqty', 'step5StaaExcpPrcsQnt',
'sxlvlStaaOtsdPrcqty', 'step6StaaExcpPrcsQnt',
'svlvlStaaOtsdPrcqty', 'step7StaaExcpPrcsQnt',
], ],
type: 'sum' as const, type: 'sum' as const,
}, },
}, },
{ name: 'frlvlStaaOtsdPrcqty', fieldName: 'frlvlStaaOtsdPrcqty', header: { text: '2이하' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' }, { name: 'step1StaaExcpPrcsQnt', fieldName: 'step1StaaExcpPrcsQnt', header: { text: '2이하' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'sclvlStaaOtsdPrcqty', fieldName: 'sclvlStaaOtsdPrcqty', header: { text: '3~10' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' }, { name: 'step2StaaExcpPrcsQnt', fieldName: 'step2StaaExcpPrcsQnt', header: { text: '3~10' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'thlvlStaaOtsdPrcqty', fieldName: 'thlvlStaaOtsdPrcqty', header: { text: '11~20' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' }, { name: 'step3StaaExcpPrcsQnt', fieldName: 'step3StaaExcpPrcsQnt', header: { text: '11~20' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'folvlStaaOtsdPrcqty', fieldName: 'folvlStaaOtsdPrcqty', header: { text: '21~50' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' }, { name: 'step4StaaExcpPrcsQnt', fieldName: 'step4StaaExcpPrcsQnt', header: { text: '21~50' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'filvlStaaOtsdPrcqty', fieldName: 'filvlStaaOtsdPrcqty', header: { text: '51~100' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' }, { name: 'step5StaaExcpPrcsQnt', fieldName: 'step5StaaExcpPrcsQnt', header: { text: '51~100' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'sxlvlStaaOtsdPrcqty', fieldName: 'sxlvlStaaOtsdPrcqty', header: { text: '101~500' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' }, { name: 'step6StaaExcpPrcsQnt', fieldName: 'step6StaaExcpPrcsQnt', header: { text: '101~500' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'svlvlStaaOtsdPrcqty', fieldName: 'svlvlStaaOtsdPrcqty', header: { text: '501이상' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' }, { name: 'step7StaaExcpPrcsQnt', fieldName: 'step7StaaExcpPrcsQnt', 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',
], ],
}, },
'wholSwgdplFcltCnt', 'wholDrtwPrcsFcltCnt',
{ {
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: [
'wholStaaPrcqty', 'wholStaaCnt',
'frlvlStaaPrcqty', 'step1StaaPrcsQnt',
'sclvlStaaPrcqty', 'step2StaaPrcsQnt',
'thlvlStaaPrcqty', 'step3StaaPrcsQnt',
'folvlStaaPrcqty', 'step4StaaPrcsQnt',
'filvlStaaPrcqty', 'step5StaaPrcsQnt',
'sxlvlStaaPrcqty', 'step6StaaPrcsQnt',
'svlvlStaaPrcqty' 'step7StaaPrcsQnt'
] ]
}, },
{ {
name: 'group_outer', name: 'group_outer',
header: { text: '하수처리구역 외(m³/일)' }, header: { text: '하수처리구역 외(m³/일)' },
items: [ items: [
'staaOtsdWholPrcqty', 'staaExcpWhol',
'frlvlStaaOtsdPrcqty', 'step1StaaExcpPrcsQnt',
'sclvlStaaOtsdPrcqty', 'step2StaaExcpPrcsQnt',
'thlvlStaaOtsdPrcqty', 'step3StaaExcpPrcsQnt',
'folvlStaaOtsdPrcqty', 'step4StaaExcpPrcsQnt',
'filvlStaaOtsdPrcqty', 'step5StaaExcpPrcsQnt',
'sxlvlStaaOtsdPrcqty', 'step6StaaExcpPrcsQnt',
'svlvlStaaOtsdPrcqty' 'step7StaaExcpPrcsQnt'
] ]
} }
] ]
@@ -17,8 +17,8 @@ export const ExcretaRelatedIndustryInpColumn = {
// 시설(차량) 확보현황(대수) // 시설(차량) 확보현황(대수)
{ {
name: 'fcltSecrCnt', name: 'fcltSecrPrstCnt',
fieldName: 'fcltSecrCnt', fieldName: 'fcltSecrPrstCnt',
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: ['frlvlTonUdrCnt', 'sclvlTonUdrCnt', 'thlvlTonUdrCnt', 'etcCnt'], fields: ['n3TonUdrCnt', 'n4TonUdrCnt', 'n8TonUdrCnt', 'etcCnt'],
type: 'sum' as const, type: 'sum' as const,
}, },
}, },
{ name: 'frlvlTonUdrCnt', fieldName: 'frlvlTonUdrCnt', header: { text: '3톤이하' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' }, { name: 'n3TonUdrCnt', fieldName: 'n3TonUdrCnt', header: { text: '3톤이하' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'sclvlTonUdrCnt', fieldName: 'sclvlTonUdrCnt', header: { text: '4.5톤이하' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' }, { name: 'n4TonUdrCnt', fieldName: 'n4TonUdrCnt', header: { text: '4.5톤이하' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'thlvlTonUdrCnt', fieldName: 'thlvlTonUdrCnt', header: { text: '8톤이하' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' }, { name: 'n8TonUdrCnt', fieldName: 'n8TonUdrCnt', 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: [
'fcltSecrCnt', 'fcltSecrPrstCnt',
'frlvlTonUdrCnt', 'n3TonUdrCnt',
'sclvlTonUdrCnt', 'n4TonUdrCnt',
'thlvlTonUdrCnt', 'n8TonUdrCnt',
'etcCnt' 'etcCnt'
] ]
}, },
@@ -14,8 +14,8 @@ export const PublicInstitutionExcretaIndustryInpColumn = {
// 직원총수 // 직원총수
{ {
name: 'empWholCnt', name: 'empGrssCnt',
fieldName: 'empWholCnt', fieldName: 'empGrssCnt',
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', 'chemCnt', 'envCnt', 'enjbEtcCnt', 'etcCnt'], fields: ['engrkCnt', 'mchnCnt', 'prvtmCnt', 'chmengCnt', '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', 'chemCnt', 'envCnt', 'enjbEtcCnt'], fields: ['engrkCnt', 'mchnCnt', 'prvtmCnt', 'chmengCnt', '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: 'chemCnt', fieldName: 'chemCnt', header: { text: '화공' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' }, { name: 'chmengCnt', fieldName: 'chmengCnt', 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: 'statsOgnzSn', fieldName: 'statsOgnzSn', header: { text: '조직일련번호' }, visible: false }, { name: 'ognzSn', fieldName: 'ognzSn', header: { text: '조직일련번호' }, visible: false },
{ {
name: '__isNewArticle', name: '__isNewArticle',
fieldName: '__isNewArticle', fieldName: '__isNewArticle',
@@ -82,7 +82,7 @@ export const PublicInstitutionExcretaIndustryInpColumn = {
], ],
}, },
'ognzNm', 'ognzNm',
'empWholCnt', 'empGrssCnt',
'pbadmsNope', 'pbadmsNope',
{ {
name: 'group_technology', name: 'group_technology',
@@ -92,7 +92,7 @@ export const PublicInstitutionExcretaIndustryInpColumn = {
'engrkCnt', 'engrkCnt',
'mchnCnt', 'mchnCnt',
'prvtmCnt', 'prvtmCnt',
'chemCnt', 'chmengCnt',
'envCnt', 'envCnt',
'enjbEtcCnt' 'enjbEtcCnt'
] ]
@@ -101,7 +101,7 @@ export const PublicInstitutionExcretaIndustryInpColumn = {
'rmrk', 'rmrk',
'admdstCd', 'admdstCd',
'admdstNm', 'admdstNm',
'statsOgnzSn', 'ognzSn',
'__isNewArticle', '__isNewArticle',
], ],
@@ -14,8 +14,8 @@ export const PublicInstitutionSewerIndustryInpColumn = {
// 직원총수 // 직원총수
{ {
name: 'empWholCnt', name: 'empGrssCnt',
fieldName: 'empWholCnt', fieldName: 'empGrssCnt',
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', 'chemCnt', 'envCnt', 'enjbEtcCnt', 'etcCnt'], fields: ['engrkCnt', 'mchnCnt', 'prvtmCnt', 'chmengCnt', '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', 'chemCnt', 'envCnt', 'enjbEtcCnt'], fields: ['engrkCnt', 'mchnCnt', 'prvtmCnt', 'chmengCnt', '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: 'chemCnt', fieldName: 'chemCnt', header: { text: '화공' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' }, { name: 'chmengCnt', fieldName: 'chmengCnt', 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: 'statsOgnzSn', fieldName: 'statsOgnzSn', header: { text: '조직일련번호' }, visible: false }, { name: 'ognzSn', fieldName: 'ognzSn', header: { text: '조직일련번호' }, visible: false },
{ {
name: '__isNewArticle', name: '__isNewArticle',
fieldName: '__isNewArticle', fieldName: '__isNewArticle',
@@ -82,7 +82,7 @@ export const PublicInstitutionSewerIndustryInpColumn = {
], ],
}, },
'ognzNm', 'ognzNm',
'empWholCnt', 'empGrssCnt',
'pbadmsNope', 'pbadmsNope',
{ {
name: 'group_technology', name: 'group_technology',
@@ -92,7 +92,7 @@ export const PublicInstitutionSewerIndustryInpColumn = {
'engrkCnt', 'engrkCnt',
'mchnCnt', 'mchnCnt',
'prvtmCnt', 'prvtmCnt',
'chemCnt', 'chmengCnt',
'envCnt', 'envCnt',
'enjbEtcCnt' 'enjbEtcCnt'
] ]
@@ -101,7 +101,7 @@ export const PublicInstitutionSewerIndustryInpColumn = {
'rmrk', 'rmrk',
'admdstCd', 'admdstCd',
'admdstNm', 'admdstNm',
'statsOgnzSn', 'ognzSn',
'__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 = "gasPrcsEnYn" as const; export const DIGESTOR_OPERATING_STATUS_EN_YN_FIELD = "digstnEnYn" as const;
/** 소화조 유/무가 N이면 해당 행의 입력 셀을 잠근다(gasPrcsEnYn 제외). */ /** 소화조 유/무가 N이면 해당 행의 입력 셀을 잠근다(digstnEnYn 제외). */
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: 'gasPrcsEnYn', name: 'digstnEnYn',
fieldName: 'gasPrcsEnYn', fieldName: 'digstnEnYn',
header: { text: '소화조 유/무(Y/N)선택' }, header: { text: '소화조 유/무(Y/N)선택' },
}, },
DIGESTOR_OPERATING_STATUS_YN_VALUES, DIGESTOR_OPERATING_STATUS_YN_VALUES,
), ),
{ name: 'gasPrcsCpct', fieldName: 'gasPrcsCpct', header: { text: '설계용량(m³)' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' }, { name: 'digstnCpct', fieldName: 'digstnCpct', 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: 'prcsGasInputQnt', fieldName: 'prcsGasInputQnt', 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: 'prcsGasInputSldDnst', fieldName: 'prcsGasInputSldDnst', header: { text: '투입 TS 농도(%)' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' }, { name: 'digstnGasInputSldDnst', fieldName: 'digstnGasInputSldDnst', header: { text: '투입 TS 농도(%)' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' },
{ name: 'prcsRepoOprtngDayCnt', fieldName: 'prcsRepoOprtngDayCnt', header: { text: '가동일수(연간)' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' }, { name: 'digstnTnkOprtngDayCnt', fieldName: 'digstnTnkOprtngDayCnt', 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: 'prcsGasUtztnWholQnt', name: 'digstnGasUtztnWholPrst',
fieldName: 'prcsGasUtztnWholQnt', fieldName: 'digstnGasUtztnWholPrst',
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: [
'prcsGasUtztnNtslQnt', 'digstnGasUtztnNtslQnt',
'prcsGasUtztnEtgtQnt', 'digstnGasUtztnEtgtQnt',
'prcsGasUtztnItslfQnt', 'digstnGasUtztnItslfQnt',
'prcsGasUtztnEtcQnt', 'digstnGasUtztnEtcQnt',
], ],
type: 'sum' as const, type: 'sum' as const,
}, },
}, },
{ name: 'prcsGasUtztnNtslQnt', fieldName: 'prcsGasUtztnNtslQnt', header: { text: '판매' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' }, { name: 'digstnGasUtztnNtslQnt', fieldName: 'digstnGasUtztnNtslQnt', 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: 'digstnGasUtztnEtgtQnt', fieldName: 'digstnGasUtztnEtgtQnt', 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: 'digstnGasUtztnItslfQnt', fieldName: 'digstnGasUtztnItslfQnt', header: { text: '자체활용' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' },
{ name: 'prcsGasUtztnEtcQnt', fieldName: 'prcsGasUtztnEtcQnt', header: { text: '기타(CNG등)' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' }, { name: 'digstnGasUtztnEtcQnt', fieldName: 'digstnGasUtztnEtcQnt', 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: [
'gasPrcsEnYn', 'digstnEnYn',
'gasPrcsCpct', 'digstnCpct',
'actlDrvnCpct', 'actlDrvnCpct',
'prcsGasInputQnt', 'digstnGasInputQnt',
'prcsGasInputSldDnst', 'digstnGasInputSldDnst',
'prcsRepoOprtngDayCnt', 'digstnTnkOprtngDayCnt',
'ocrnGasQnt', 'ocrnGasQnt',
{ {
name: 'group_gas_usage', name: 'group_gas_usage',
header: { text: '소화가스 이용현황(m³/일)' }, header: { text: '소화가스 이용현황(m³/일)' },
items: [ items: [
'prcsGasUtztnWholQnt', 'digstnGasUtztnWholPrst',
'prcsGasUtztnNtslQnt', 'digstnGasUtztnNtslQnt',
'prcsGasUtztnEtgtQnt', 'digstnGasUtztnEtgtQnt',
'prcsGasUtztnItslfQnt', 'digstnGasUtztnItslfQnt',
'prcsGasUtztnEtcQnt' 'digstnGasUtztnEtcQnt'
] ]
}, },
'surplsGasQnt' 'surplsGasQnt'
@@ -14,8 +14,8 @@ export const ExcretaSlurgeProcessingStatusInpColumn = {
// 발생량 // 발생량
{ {
name: 'sludgeGnam', name: 'gnam',
fieldName: 'sludgeGnam', fieldName: 'gnam',
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',
'unprcsQnt' 'nondspsQnt'
], ],
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: 'unprcsQnt', fieldName: 'unprcsQnt', header: { text: '미처분량(이월량)(C)' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' }, { name: 'nondspsQnt', fieldName: 'nondspsQnt', 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',
'sludgeGnam', 'gnam',
{ {
name: 'group_process_amount', name: 'group_process_amount',
header: { text: '처 분 량(톤/년)' }, header: { text: '처 분 량(톤/년)' },
@@ -105,7 +105,7 @@ export const ExcretaSlurgeProcessingStatusInpColumn = {
'etcQnt' 'etcQnt'
] ]
}, },
'unprcsQnt', 'nondspsQnt',
'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: 'sludgeFcltCpct', fieldName: 'sludgeFcltCpct', header: { text: '시설용량(톤/일)' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' }, { name: 'fcltCpct', fieldName: 'fcltCpct', 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: 'dyrgOprtngHr', fieldName: 'dyrgOprtngHr', header: { text: '일평균가동시간(1~24)' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' }, { name: 'dayAvgOprtngHr', fieldName: 'dayAvgOprtngHr', header: { text: '일평균가동시간(1~24)' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'fcltAnlOprtngDayCnt', fieldName: 'fcltAnlOprtngDayCnt', header: { text: '연중 가동일(1~330)' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' }, { name: 'anlOprtngDayCnt', fieldName: 'anlOprtngDayCnt', 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: 'sludgeFcltCpct', denominatorField: 'fcltCpct',
multiplierField: 'fcltAnlOprtngDayCnt', multiplierField: 'anlOprtngDayCnt',
type: 'quotientTimesMultiplierPercent' as const, type: 'quotientTimesMultiplierPercent' as const,
}, },
}, },
@@ -67,10 +67,10 @@ export const SewageSlurgeProcessingFacStatusInpColumn = {
header: { text: '처리시설 운영현황' }, header: { text: '처리시설 운영현황' },
items: [ items: [
'prcsMthExpln', 'prcsMthExpln',
'sludgeFcltCpct', 'fcltCpct',
'anlPrcsQnt', 'anlPrcsQnt',
'dyrgOprtngHr', 'dayAvgOprtngHr',
'fcltAnlOprtngDayCnt', 'anlOprtngDayCnt',
'oprtngRt' 'oprtngRt'
] ]
}, },
@@ -14,8 +14,8 @@ export const SlurgeProcessingFacStatusInpColumn = {
// 찌꺼기발생량(톤/년, 탈수기준) // 찌꺼기발생량(톤/년, 탈수기준)
{ {
name: 'wholGnam', name: 'gnamWhol',
fieldName: 'wholGnam', fieldName: 'gnamWhol',
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: 'sludgeFncRt', fieldName: 'sludgeFncRt', header: { text: '함수율(%, 탈수기준)' }, footer: footerAvgDecimal, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' }, { name: 'srpFncRt', fieldName: 'srpFncRt', header: { text: '함수율(%, 탈수기준)' }, footer: footerAvgDecimal, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' },
// 찌꺼기처리량합계 // 찌꺼기처리량합계
{ {
name: 'wholSludgePrcsQnt', name: 'wholSrpPrcsQnt',
fieldName: 'wholSludgePrcsQnt', fieldName: 'wholSrpPrcsQnt',
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: [
'itslfFrlvlRclmQnt', 'itslfTs1RclmQnt',
'itslfFrlvlIncnrQnt', 'itslfTs1IncnrQnt',
'itslfFrlvlSldQnt', 'itslfTs1AltdQnt',
'itslfFrlvlDryQnt', 'itslfTs1DryQnt',
'itslfFrlvlCrbnQnt', 'itslfTs1FuelQnt',
'itslfFrlvlCmpstgQnt', 'itslfTs1CmpstgQnt',
'otsdCnsgnRclmQnt', 'otsdCnsgnRclmQnt',
'otsdCnsgnIncnrQnt', 'otsdCnsgnIncnrQnt',
'otsdCnsgnPwplQnt', 'otsdCnsgnFuelPwplQnt',
'otsdCnsgnPrdctRmtrlQnt', 'otsdCnsgnPrdctRmtrlQnt',
'otsdCnsgnCwthQnt', 'otsdCnsgnFmlyrQnt',
'otsdCnsgnCmpstgQnt', 'otsdCnsgnCmpstgQnt',
'cparFrlvlWholQnt', 'cparTs1Whol',
], ],
type: 'sum' as const, type: 'sum' as const,
} }
@@ -71,8 +71,8 @@ export const SlurgeProcessingFacStatusInpColumn = {
// 자체 찌꺼기 처리량 > 자체찌꺼기처리량소계 // 자체 찌꺼기 처리량 > 자체찌꺼기처리량소계
{ {
name: 'itslfFrlvlWholQnt', name: 'itslfTs1Whol',
fieldName: 'itslfFrlvlWholQnt', fieldName: 'itslfTs1Whol',
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: [
'itslfFrlvlRclmQnt', 'itslfTs1RclmQnt',
'itslfFrlvlIncnrQnt', 'itslfTs1IncnrQnt',
'itslfFrlvlSldQnt', 'itslfTs1AltdQnt',
'itslfFrlvlDryQnt', 'itslfTs1DryQnt',
'itslfFrlvlCrbnQnt', 'itslfTs1FuelQnt',
'itslfFrlvlCmpstgQnt', 'itslfTs1CmpstgQnt',
], ],
type: 'sum' as const, type: 'sum' as const,
} }
}, },
// 자체 찌꺼기 처리량 > 매립 // 자체 찌꺼기 처리량 > 매립
{ name: 'itslfFrlvlRclmQnt', fieldName: 'itslfFrlvlRclmQnt', header: { text: '매립' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' }, { name: 'itslfTs1RclmQnt', fieldName: 'itslfTs1RclmQnt', header: { text: '매립' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' },
// 자체 찌꺼기 처리량 > 소각(1차) // 자체 찌꺼기 처리량 > 소각(1차)
{ name: 'itslfFrlvlIncnrQnt', fieldName: 'itslfFrlvlIncnrQnt', header: { text: '소각(1차)' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' }, { name: 'itslfTs1IncnrQnt', fieldName: 'itslfTs1IncnrQnt', header: { text: '소각(1차)' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' },
// 자체 찌꺼기 처리량 > 소각 후 처리(2차) - 쿼리에 없음 (임의 생성) // 자체 찌꺼기 처리량 > 소각 후 처리(2차) - 쿼리에 없음 (임의 생성)
{ {
name: 'incnrPrcsWholQnt', name: 'incnrPrcsWhol',
fieldName: 'incnrPrcsWholQnt', fieldName: 'incnrPrcsWhol',
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',
'incnrPrcsCwthQnt', 'incnrPrcsFmlyrQnt',
], ],
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: 'incnrPrcsCwthQnt', fieldName: 'incnrPrcsCwthQnt', 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: 'incnrPrcsFcltNm', fieldName: 'incnrPrcsFcltNm', header: { text: '시설(업체명)' } }, { name: 'incnrPrcsFcltNm', fieldName: 'incnrPrcsFcltNm', header: { text: '시설(업체명)' } },
// 자체 찌꺼기 처리량 > 고화(1차) - 쿼리에 없음 (임의 생성) // 자체 찌꺼기 처리량 > 고화(1차) - 쿼리에 없음 (임의 생성)
{ name: 'itslfFrlvlSldQnt', fieldName: 'itslfFrlvlSldQnt', header: { text: '고화(1차)' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' }, { name: 'itslfTs1AltdQnt', fieldName: 'itslfTs1AltdQnt', header: { text: '고화(1차)' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' },
// 자체 찌꺼기 처리량 > 고화 후 처리(2차) - 쿼리에 없음 (임의 생성) // 자체 찌꺼기 처리량 > 고화 후 처리(2차) - 쿼리에 없음 (임의 생성)
{ {
name: 'sldPrcsWholQnt', name: 'stbznPrcsWhol',
fieldName: 'sldPrcsWholQnt', fieldName: 'stbznPrcsWhol',
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: [
'sldPrcsLfvlm', 'stbznPrcsLfvlm',
'sldPrcsCwthQnt', 'stbznPrcsFmlyrQnt',
], ],
type: 'sum' as const, type: 'sum' as const,
} }
}, },
{ name: 'sldPrcsLfvlm', fieldName: 'sldPrcsLfvlm', header: { text: '매립' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' }, { name: 'stbznPrcsLfvlm', fieldName: 'stbznPrcsLfvlm', 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: 'stbznPrcsFmlyrQnt', fieldName: 'stbznPrcsFmlyrQnt', header: { text: '복토재' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' },
{ name: 'sldPrcsFcltNm', fieldName: 'sldPrcsFcltNm', header: { text: '시설(업체명)' } }, { name: 'stbznPrcsFcltNm', fieldName: 'stbznPrcsFcltNm', header: { text: '시설(업체명)' } },
// 자체 찌꺼기 처리량 > 건조(1차) // 자체 찌꺼기 처리량 > 건조(1차)
{ name: 'itslfFrlvlDryQnt', fieldName: 'itslfFrlvlDryQnt', header: { text: '건조(1차)' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' }, { name: 'itslfTs1DryQnt', fieldName: 'itslfTs1DryQnt', header: { text: '건조(1차)' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' },
// 자체 찌꺼기 처리량 > 건조 후 처리(2차) - 쿼리에 없음 // 자체 찌꺼기 처리량 > 건조 후 처리(2차) - 쿼리에 없음
{ {
name: 'dryPrcsWholQnt', name: 'dryPrcsWhol',
fieldName: 'dryPrcsWholQnt', fieldName: 'dryPrcsWhol',
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',
'dryPrcsCwthQnt', 'dryPrcsFmlyrQnt',
'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: 'dryPrcsCwthQnt', fieldName: 'dryPrcsCwthQnt', 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: '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: 'itslfFrlvlCrbnQnt', fieldName: 'itslfFrlvlCrbnQnt', header: { text: '탄화(1차)' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' }, { name: 'itslfTs1FuelQnt', fieldName: 'itslfTs1FuelQnt', header: { text: '탄화(1차)' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' },
// 자체 찌꺼기 처리량 > 탄화 후 처리(2차) - 쿼리에 없음 (임의 생성) // 자체 찌꺼기 처리량 > 탄화 후 처리(2차) - 쿼리에 없음 (임의 생성)
{ {
name: 'crbnPrcsWholQnt', name: 'fuelPrcsWhol',
fieldName: 'crbnPrcsWholQnt', fieldName: 'fuelPrcsWhol',
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: ['crbnPrcsIncnrQnt', 'crbnPrcsFuelQnt'], fields: ['fuelPrcsIncnrQnt', 'fuelPrcsFuelQnt'],
type: 'sum' as const, type: 'sum' as const,
} }
}, },
{ name: 'crbnPrcsIncnrQnt', fieldName: 'crbnPrcsIncnrQnt', header: { text: '소각' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' }, { name: 'fuelPrcsIncnrQnt', fieldName: 'fuelPrcsIncnrQnt', 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: 'fuelPrcsFuelQnt', fieldName: 'fuelPrcsFuelQnt', header: { text: '연료' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' },
{ name: 'crbnPrcsFcltNm', fieldName: 'crbnPrcsFcltNm', header: { text: '시설(업체명)' } }, { name: 'fuelPrcsFcltNm', fieldName: 'fuelPrcsFcltNm', header: { text: '시설(업체명)' } },
// 자체 찌꺼기 처리량 > 퇴비화 - 쿼리에 없음 (임의 생성) // 자체 찌꺼기 처리량 > 퇴비화 - 쿼리에 없음 (임의 생성)
{ name: 'itslfFrlvlCmpstgQnt', fieldName: 'itslfFrlvlCmpstgQnt', header: { text: '퇴비화' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' }, { name: 'itslfTs1CmpstgQnt', fieldName: 'itslfTs1CmpstgQnt', header: { text: '퇴비화' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' },
// 자체 찌꺼기 처리량 > 퇴비화 > 시설(업체명) - 쿼리에 없음 (임의 생성) // 자체 찌꺼기 처리량 > 퇴비화 > 시설(업체명) - 쿼리에 없음 (임의 생성)
{ name: 'cmpsPrcsFcltBzentyNm', fieldName: 'cmpsPrcsFcltBzentyNm', header: { text: '시설(업체명)' } }, { name: 'cmpsPrcsFcltBzentyNm', fieldName: 'cmpsPrcsFcltBzentyNm', header: { text: '시설(업체명)' } },
// 외부위탁 처리량(톤/년) // 외부위탁 처리량(톤/년)
{ {
name: 'otsdCnsgnWholQnt', name: 'otsdCnsgnWhol',
fieldName: 'otsdCnsgnWholQnt', fieldName: 'otsdCnsgnWhol',
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',
'otsdCnsgnPwplQnt', 'otsdCnsgnFuelPwplQnt',
'otsdCnsgnPrdctRmtrlQnt', 'otsdCnsgnPrdctRmtrlQnt',
'otsdCnsgnCwthQnt', 'otsdCnsgnFmlyrQnt',
'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: 'otsdCnsgnPwplQnt', fieldName: 'otsdCnsgnPwplQnt', 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: '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: 'otsdCnsgnCwthQnt', fieldName: 'otsdCnsgnCwthQnt', 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: '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: 'cparFrlvlWholQnt', fieldName: 'cparFrlvlWholQnt', header: { text: '수도권광역위탁처리량(톤/년)' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' }, { name: 'cparTs1Whol', fieldName: 'cparTs1Whol', 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: [
'wholGnam', 'gnamWhol',
'itslfQnt', 'itslfQnt',
'otsdInflwQnt' 'otsdInflwQnt'
] ]
}, },
'transfTmplntNm', 'transfTmplntNm',
'transfPrcsQnt', 'transfPrcsQnt',
'sludgeFncRt', 'srpFncRt',
'wholSludgePrcsQnt', 'wholSrpPrcsQnt',
{ {
name: 'group_self_treatment', name: 'group_self_treatment',
header: { text: '자체 찌꺼기 처리량(톤/년)' }, header: { text: '자체 찌꺼기 처리량(톤/년)' },
items: [ items: [
'itslfFrlvlWholQnt', 'itslfTs1Whol',
'itslfFrlvlRclmQnt', 'itslfTs1RclmQnt',
'itslfFrlvlIncnrQnt', 'itslfTs1IncnrQnt',
{ {
name: 'group_incinerate_2nd', name: 'group_incinerate_2nd',
header: { text: '소각 후 처리(2차)' }, header: { text: '소각 후 처리(2차)' },
items: [ items: [
'incnrPrcsWholQnt', 'incnrPrcsWhol',
'incnrPrcsLfvlm', 'incnrPrcsLfvlm',
'incnrPrcsPrdctRmtrlQnt', 'incnrPrcsPrdctRmtrlQnt',
'incnrPrcsCwthQnt', 'incnrPrcsFmlyrQnt',
'incnrPrcsFcltNm' 'incnrPrcsFcltNm'
] ]
}, },
'itslfFrlvlSldQnt', 'itslfTs1AltdQnt',
{ {
name: 'group_solidify_2nd', name: 'group_solidify_2nd',
header: { text: '고화 후 처리(2차)' }, header: { text: '고화 후 처리(2차)' },
items: [ items: [
'sldPrcsWholQnt', 'stbznPrcsWhol',
'sldPrcsLfvlm', 'stbznPrcsLfvlm',
'sldPrcsCwthQnt', 'stbznPrcsFmlyrQnt',
'sldPrcsFcltNm' 'stbznPrcsFcltNm'
] ]
}, },
'itslfFrlvlDryQnt', 'itslfTs1DryQnt',
{ {
name: 'group_drying_2nd', name: 'group_drying_2nd',
header: { text: '건조 후 처리(2차)' }, header: { text: '건조 후 처리(2차)' },
items: [ items: [
'dryPrcsWholQnt', 'dryPrcsWhol',
'dryPrcsLfvlm', 'dryPrcsLfvlm',
'dryPrcsIncnrQnt', 'dryPrcsIncnrQnt',
'dryPrcsFuelQnt', 'dryPrcsFuelQnt',
'dryPrcsPrdctRmtrlQnt', 'dryPrcsPrdctRmtrlQnt',
'dryPrcsCwthQnt', 'dryPrcsFmlyrQnt',
'dryPrcsCmpstgQnt', 'dryPrcsCmpstgQnt',
'dryPrcsFcltNm' 'dryPrcsFcltNm'
] ]
}, },
'itslfFrlvlCrbnQnt', 'itslfTs1FuelQnt',
{ {
name: 'group_carbonize_2nd', name: 'group_carbonize_2nd',
header: { text: '탄화 후 처리(2차)' }, header: { text: '탄화 후 처리(2차)' },
items: [ items: [
'crbnPrcsWholQnt', 'fuelPrcsWhol',
'crbnPrcsIncnrQnt', 'fuelPrcsIncnrQnt',
'crbnPrcsFuelQnt', 'fuelPrcsFuelQnt',
'crbnPrcsFcltNm' 'fuelPrcsFcltNm'
] ]
}, },
'itslfFrlvlCmpstgQnt', 'itslfTs1CmpstgQnt',
'cmpsPrcsFcltBzentyNm' 'cmpsPrcsFcltBzentyNm'
] ]
}, },
@@ -337,17 +337,17 @@ export const SlurgeProcessingFacStatusInpColumn = {
name: 'group_external_treatment', name: 'group_external_treatment',
header: { text: '외부위탁 처리량(톤/년)' }, header: { text: '외부위탁 처리량(톤/년)' },
items: [ items: [
'otsdCnsgnWholQnt', 'otsdCnsgnWhol',
'otsdCnsgnRclmQnt', 'otsdCnsgnRclmQnt',
'otsdCnsgnIncnrQnt', 'otsdCnsgnIncnrQnt',
'otsdCnsgnPwplQnt', 'otsdCnsgnFuelPwplQnt',
'otsdCnsgnPrdctRmtrlQnt', 'otsdCnsgnPrdctRmtrlQnt',
'otsdCnsgnCwthQnt', 'otsdCnsgnFmlyrQnt',
'otsdCnsgnCmpstgQnt', 'otsdCnsgnCmpstgQnt',
'otsdCnsgnFcltNm' 'otsdCnsgnFcltNm'
] ]
}, },
'cparFrlvlWholQnt', 'cparTs1Whol',
'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: ['cbsysTrtznArea', 'sprsysTrtznArea'], type: 'sum' as const }, computed: { fields: ['cbsysPrcsZoneArea', 'sprsysPrcsZoneArea'], type: 'sum' as const },
}, },
{ name: 'cbsysTrtznArea', fieldName: 'cbsysTrtznArea', header: { text: '합류식' }, footer: footerDecimal3, valueType: ValueType.NUMBER, dataFormat: '#,##0.000' }, { name: 'cbsysPrcsZoneArea', fieldName: 'cbsysPrcsZoneArea', header: { text: '합류식' }, footer: footerDecimal3, valueType: ValueType.NUMBER, dataFormat: '#,##0.000' },
{ name: 'sprsysTrtznArea', fieldName: 'sprsysTrtznArea', header: { text: '분류식' }, footer: footerDecimal3, valueType: ValueType.NUMBER, dataFormat: '#,##0.000' }, { name: 'sprsysPrcsZoneArea', fieldName: 'sprsysPrcsZoneArea', 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: ['sprsysTrtznArea'], numeratorFields: ['sprsysPrcsZoneArea'],
denominatorFields: ['cbsysTrtznArea', 'sprsysTrtznArea'], denominatorFields: ['cbsysPrcsZoneArea', 'sprsysPrcsZoneArea'],
type: 'pblswrgPopltnSuprtRate' as const, type: 'pblswrgPopltnSuprtRate' as const,
}, },
}, },
// 배수설비(개소) // 배수설비(개소)
{ {
name: 'wholDrgCnt', name: 'mltvEqpmCnt',
fieldName: 'wholDrgCnt', fieldName: 'mltvEqpmCnt',
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: ['sprsysDrgLnkgCnt', 'sprsysDrgNoinsLnkgCnt', 'cbsysDrgCnt'], type: 'sum' as const }, computed: { fields: ['sprsysMltvLnkgCnt', 'sprsysMltvYetLnkgCnt', 'cbsysMltvEqpmCnt'], type: 'sum' as const },
}, },
{ name: 'cbsysDrgCnt', fieldName: 'cbsysDrgCnt', header: { text: '합류식' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' }, { name: 'cbsysMltvEqpmCnt', fieldName: 'cbsysMltvEqpmCnt', header: { text: '합류식' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ {
name: 'sprsysDrgCnt', name: 'sprsysMltvEqpmCnt',
fieldName: 'sprsysDrgCnt', fieldName: 'sprsysMltvEqpmCnt',
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: ['sprsysDrgLnkgCnt', 'sprsysDrgNoinsLnkgCnt'], type: 'sum' as const }, computed: { fields: ['sprsysMltvLnkgCnt', 'sprsysMltvYetLnkgCnt'], type: 'sum' as const },
}, },
{ name: 'sprsysDrgLnkgCnt', fieldName: 'sprsysDrgLnkgCnt', header: { text: '연결' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' }, { name: 'sprsysMltvLnkgCnt', fieldName: 'sprsysMltvLnkgCnt', header: { text: '연결' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'sprsysDrgNoinsLnkgCnt', fieldName: 'sprsysDrgNoinsLnkgCnt', header: { text: '미연결' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' }, { name: 'sprsysMltvYetLnkgCnt', fieldName: 'sprsysMltvYetLnkgCnt', 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', 'cbsysPplPrlg', 'exlnPplPrlg', 'drtwPplPrlg'], type: 'sum' as const }, computed: { fields: ['icptgPrlg', 'atlfcsPrlg', 'cbsysBrchlnPrlg', 'exlnBrchlnPrlg', 'drtwBrchlnPrlg'], type: 'sum' as const },
}, },
// 하수관로 > 차집/오수간선(m) // 하수관로 > 차집/오수간선(m)
@@ -112,21 +112,21 @@ export const FactInstallStatusInpColumn = {
// 하수관로 > 지선(m) // 하수관로 > 지선(m)
{ {
name: 'wholPplPrlg', name: 'wholBrchlnPrlg',
fieldName: 'wholPplPrlg', fieldName: 'wholBrchlnPrlg',
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: ['cbsysPplPrlg', 'exlnPplPrlg', 'drtwPplPrlg'], type: 'sum' as const }, computed: { fields: ['cbsysBrchlnPrlg', 'exlnBrchlnPrlg', 'drtwBrchlnPrlg'], type: 'sum' as const },
}, },
{ name: 'cbsysPplPrlg', fieldName: 'cbsysPplPrlg', header: { text: '합류식' }, footer: footerDecimal2, valueType: ValueType.NUMBER, dataFormat: '#,##0.00' }, { name: 'cbsysBrchlnPrlg', fieldName: 'cbsysBrchlnPrlg', header: { text: '합류식' }, footer: footerDecimal2, valueType: ValueType.NUMBER, dataFormat: '#,##0.00' },
// 하수관로 > 지선(m) > 분류식 // 하수관로 > 지선(m) > 분류식
{ name: 'exlnPplPrlg', fieldName: 'exlnPplPrlg', header: { text: '우수' }, footer: footerDecimal2, valueType: ValueType.NUMBER, dataFormat: '#,##0.00' }, { name: 'exlnBrchlnPrlg', fieldName: 'exlnBrchlnPrlg', 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: 'drtwBrchlnPrlg', fieldName: 'drtwBrchlnPrlg', 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', 'cbsysTrtznArea', 'sprsysTrtznArea'], items: ['prcsZoneArea', 'cbsysPrcsZoneArea', 'sprsysPrcsZoneArea'],
}, },
'sprsysVartnRt', 'sprsysVartnRt',
{ {
@@ -161,13 +161,13 @@ export const FactInstallStatusInpColumn = {
hideChildHeaders: false, hideChildHeaders: false,
header: { text: '배수설비(개소)' }, header: { text: '배수설비(개소)' },
items: [ items: [
'wholDrgCnt', 'mltvEqpmCnt',
'cbsysDrgCnt', 'cbsysMltvEqpmCnt',
{ {
name: 'sprtDrainEquip', name: 'sprtDrainEquip',
hideChildHeaders: false, hideChildHeaders: false,
header: { text: '분류식' }, header: { text: '분류식' },
items: ['sprsysDrgCnt', 'sprsysDrgLnkgCnt', 'sprsysDrgNoinsLnkgCnt'], items: ['sprsysMltvEqpmCnt', 'sprsysMltvLnkgCnt', 'sprsysMltvYetLnkgCnt'],
}, },
], ],
}, },
@@ -207,13 +207,13 @@ export const FactInstallStatusInpColumn = {
hideChildHeaders: false, hideChildHeaders: false,
header: { text: '지선(m)' }, header: { text: '지선(m)' },
items: [ items: [
'wholPplPrlg', 'wholBrchlnPrlg',
'cbsysPplPrlg', 'cbsysBrchlnPrlg',
{ {
name: 'sprtBranchLine', name: 'sprtBranchLine',
hideChildHeaders: false, hideChildHeaders: false,
header: { text: '분류식' }, header: { text: '분류식' },
items: ['exlnPplPrlg', 'drtwPplPrlg'], items: ['exlnBrchlnPrlg', 'drtwBrchlnPrlg'],
}, },
], ],
}, },
@@ -37,59 +37,59 @@ export const PipeDiameterStatusInpColumn = {
styleName: "rg-cell-readonly", styleName: "rg-cell-readonly",
}, },
{ {
name: "pdmtSeWholPrlg", name: "pdmtByTsmWhol",
fieldName: "pdmtSeWholPrlg", fieldName: "pdmtByTsmWhol",
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: ['frlvlPdmtPrlg', 'sclvlPdmtPrlg', 'thlvlPdmtPrlg', 'folvlPdmtPrlg', 'filvlPdmtPrlg', 'shpPdmtPrlg', 'etcPdmtPrlg'], type: 'sum' as const }, computed: { fields: ['step1PdmtPrlg', 'step2PdmtPrlg', 'step3PdmtPrlg', 'step4PdmtPrlg', 'step5PdmtPrlg', 'sqrePdmtPrlg', 'etcPdmtPrlg'], type: 'sum' as const },
}, },
{ {
name: "frlvlPdmtPrlg", name: "step1PdmtPrlg",
fieldName: "frlvlPdmtPrlg", fieldName: "step1PdmtPrlg",
header: { text: "200mm 미만" }, header: { text: "200mm 미만" },
footer: footerDecimal2, footer: footerDecimal2,
valueType: ValueType.NUMBER, valueType: ValueType.NUMBER,
dataFormat: "#,##0.00", dataFormat: "#,##0.00",
}, },
{ {
name: "sclvlPdmtPrlg", name: "step2PdmtPrlg",
fieldName: "sclvlPdmtPrlg", fieldName: "step2PdmtPrlg",
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: "thlvlPdmtPrlg", name: "step3PdmtPrlg",
fieldName: "thlvlPdmtPrlg", fieldName: "step3PdmtPrlg",
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: "folvlPdmtPrlg", name: "step4PdmtPrlg",
fieldName: "folvlPdmtPrlg", fieldName: "step4PdmtPrlg",
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: "filvlPdmtPrlg", name: "step5PdmtPrlg",
fieldName: "filvlPdmtPrlg", fieldName: "step5PdmtPrlg",
header: { text: "800mm 이상" }, header: { text: "800mm 이상" },
footer: footerDecimal2, footer: footerDecimal2,
valueType: ValueType.NUMBER, valueType: ValueType.NUMBER,
dataFormat: "#,##0.00", dataFormat: "#,##0.00",
}, },
{ {
name: "shpPdmtPrlg", name: "sqrePdmtPrlg",
fieldName: "shpPdmtPrlg", fieldName: "sqrePdmtPrlg",
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",
"pdmtSeWholPrlg", "pdmtByTsmWhol",
{ {
name: "circular", name: "circular",
hideChildHeaders: false, hideChildHeaders: false,
header: { text: "원형(m)" }, header: { text: "원형(m)" },
items: [ items: [
"frlvlPdmtPrlg", "step1PdmtPrlg",
"sclvlPdmtPrlg", "step2PdmtPrlg",
"thlvlPdmtPrlg", "step3PdmtPrlg",
"folvlPdmtPrlg", "step4PdmtPrlg",
"filvlPdmtPrlg", "step5PdmtPrlg",
], ],
}, },
"shpPdmtPrlg", "sqrePdmtPrlg",
"etcPdmtPrlg", "etcPdmtPrlg",
"rmrk", "rmrk",
"admdstCd", "admdstCd",
@@ -37,15 +37,15 @@ export const RegionalFactStatusInpColumn = {
groups: [ groups: [
{ {
baseField: 'cbsysPplMtncPlanPrlg', baseField: 'cbsysPplMtncPlanPrlg',
sumFields: ['cbsysShpPrlg', 'cbsysElpsdPrlg', 'cbsysOpnPrlg', 'cbsysLaditPrlg'], sumFields: ['cbsysSqrePrlg', 'cbsysCiclPrlg', 'cbsysOpnPrlg', 'cbsysGttrPrlg'],
}, },
{ {
baseField: 'drtwPplMtncPlanPrlg', baseField: 'drtwPplMtncPlanPrlg',
sumFields: ['drtwPplShpPrlg', 'drtwPplElpsdPrlg'], sumFields: ['drtwPplSqrePrlg', 'drtwPplCiclPrlg'],
}, },
{ {
baseField: 'exlnPplMtncPlanPrlg', baseField: 'exlnPplMtncPlanPrlg',
sumFields: ['exlnPplShpPrlg', 'exlnPplElpsdPrlg', 'exlnPplOpnPrlg', 'exlnPplLaditPrlg'], sumFields: ['exlnPplSqrePrlg', 'exlnPplCiclPrlg', 'exlnPplOpnPrlg', 'exlnPplGttrPrlg'],
}, },
], ],
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: ['cbsysShpPrlg', 'cbsysElpsdPrlg', 'cbsysOpnPrlg', 'cbsysLaditPrlg', 'drtwPplShpPrlg', 'drtwPplElpsdPrlg', 'exlnPplShpPrlg', 'exlnPplElpsdPrlg', 'exlnPplOpnPrlg', 'exlnPplLaditPrlg'], type: 'sum' as const }, computed: { fields: ['cbsysSqrePrlg', 'cbsysCiclPrlg', 'cbsysOpnPrlg', 'cbsysGttrPrlg', 'drtwPplSqrePrlg', 'drtwPplCiclPrlg', 'exlnPplSqrePrlg', 'exlnPplCiclPrlg', 'exlnPplOpnPrlg', 'exlnPplGttrPrlg'], 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: ['cbsysShpPrlg', 'cbsysElpsdPrlg', 'cbsysOpnPrlg', 'cbsysLaditPrlg'], sumFields: ['cbsysSqrePrlg', 'cbsysCiclPrlg', 'cbsysOpnPrlg', 'cbsysGttrPrlg'],
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: ['cbsysShpPrlg', 'cbsysElpsdPrlg', 'cbsysOpnPrlg', 'cbsysLaditPrlg'], type: 'sum' as const }, computed: { fields: ['cbsysSqrePrlg', 'cbsysCiclPrlg', 'cbsysOpnPrlg', 'cbsysGttrPrlg'], type: 'sum' as const },
}, },
{ name: 'cbsysShpPrlg', fieldName: 'cbsysShpPrlg', header: { text: '사각형(m)' }, footer: footerDecimal2, valueType: ValueType.NUMBER, dataFormat: '#,##0.00' }, { name: 'cbsysSqrePrlg', fieldName: 'cbsysSqrePrlg', 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: 'cbsysCiclPrlg', fieldName: 'cbsysCiclPrlg', 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: 'cbsysLaditPrlg', fieldName: 'cbsysLaditPrlg', 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' },
// 분류식(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: ['drtwPplShpPrlg', 'drtwPplElpsdPrlg'], sumFields: ['drtwPplSqrePrlg', 'drtwPplCiclPrlg'],
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: ['drtwPplShpPrlg', 'drtwPplElpsdPrlg'], type: 'sum' as const }, computed: { fields: ['drtwPplSqrePrlg', 'drtwPplCiclPrlg'], type: 'sum' as const },
}, },
{ name: 'drtwPplShpPrlg', fieldName: 'drtwPplShpPrlg', header: { text: '사각형(m)' }, footer: footerDecimal2, valueType: ValueType.NUMBER, dataFormat: '#,##0.00' }, { name: 'drtwPplSqrePrlg', fieldName: 'drtwPplSqrePrlg', 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' }, { name: 'drtwPplCiclPrlg', fieldName: 'drtwPplCiclPrlg', 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: ['exlnPplShpPrlg', 'exlnPplElpsdPrlg', 'exlnPplOpnPrlg', 'exlnPplLaditPrlg'], sumFields: ['exlnPplSqrePrlg', 'exlnPplCiclPrlg', 'exlnPplOpnPrlg', 'exlnPplGttrPrlg'],
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: ['exlnPplShpPrlg', 'exlnPplElpsdPrlg', 'exlnPplOpnPrlg', 'exlnPplLaditPrlg'], type: 'sum' as const }, computed: { fields: ['exlnPplSqrePrlg', 'exlnPplCiclPrlg', 'exlnPplOpnPrlg', 'exlnPplGttrPrlg'], type: 'sum' as const },
}, },
{ name: 'exlnPplShpPrlg', fieldName: 'exlnPplShpPrlg', header: { text: '사각형(m)' }, footer: footerDecimal2, valueType: ValueType.NUMBER, dataFormat: '#,##0.00' }, { name: 'exlnPplSqrePrlg', fieldName: 'exlnPplSqrePrlg', 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: 'exlnPplCiclPrlg', fieldName: 'exlnPplCiclPrlg', 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: 'exlnPplLaditPrlg', fieldName: 'exlnPplLaditPrlg', 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: '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: 'drtwDrgCnt', fieldName: 'drtwDrgCnt', header: { text: '오수받이(개소)' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' }, { name: 'drtwRcvprpCnt', fieldName: 'drtwRcvprpCnt', header: { text: '오수받이(개소)' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'exlnDrgCnt', fieldName: 'exlnDrgCnt', header: { text: '빗물받이(개소)' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' }, { name: 'exlnRcvprpCnt', fieldName: 'exlnRcvprpCnt', 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: ['cbsysShpPrlg', 'cbsysElpsdPrlg', 'cbsysOpnPrlg', 'cbsysLaditPrlg', 'drtwPplShpPrlg', 'drtwPplElpsdPrlg', 'exlnPplShpPrlg', 'exlnPplElpsdPrlg', 'exlnPplOpnPrlg', 'exlnPplLaditPrlg'], denominatorFields: ['cbsysSqrePrlg', 'cbsysCiclPrlg', 'cbsysOpnPrlg', 'cbsysGttrPrlg', 'drtwPplSqrePrlg', 'drtwPplCiclPrlg', 'exlnPplSqrePrlg', 'exlnPplCiclPrlg', 'exlnPplOpnPrlg', 'exlnPplGttrPrlg'],
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: ['cbsysShpPrlg', 'cbsysElpsdPrlg'], items: ['cbsysSqrePrlg', 'cbsysCiclPrlg'],
}, },
'cbsysOpnPrlg', 'cbsysOpnPrlg',
'cbsysLaditPrlg', 'cbsysGttrPrlg',
], ],
}, },
{ {
@@ -265,7 +265,7 @@ export const RegionalFactStatusInpColumn = {
name: 'pltwtrCulvert', name: 'pltwtrCulvert',
hideChildHeaders: false, hideChildHeaders: false,
header: { text: '암거' }, header: { text: '암거' },
items: ['drtwPplShpPrlg', 'drtwPplElpsdPrlg'], items: ['drtwPplSqrePrlg', 'drtwPplCiclPrlg'],
}, },
], ],
}, },
@@ -282,10 +282,10 @@ export const RegionalFactStatusInpColumn = {
name: 'rainwtrCulvert', name: 'rainwtrCulvert',
hideChildHeaders: false, hideChildHeaders: false,
header: { text: '암거' }, header: { text: '암거' },
items: ['exlnPplShpPrlg', 'exlnPplElpsdPrlg'], items: ['exlnPplSqrePrlg', 'exlnPplCiclPrlg'],
}, },
'exlnPplOpnPrlg', 'exlnPplOpnPrlg',
'exlnPplLaditPrlg', 'exlnPplGttrPrlg',
], ],
}, },
], ],
@@ -297,8 +297,8 @@ export const RegionalFactStatusInpColumn = {
header: { text: '분류식' }, header: { text: '분류식' },
items: ['sprsysDrtwMnhlCnt', 'sprsysExlnMnhlCnt'], items: ['sprsysDrtwMnhlCnt', 'sprsysExlnMnhlCnt'],
}, },
'drtwDrgCnt', 'drtwRcvprpCnt',
'exlnDrgCnt', 'exlnRcvprpCnt',
'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: 'exlnDrtwDrgCnt', fieldName: 'exlnDrtwDrgCnt', header: { text: '오·우수받이(개소)' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' }, { name: 'exlnDrtwRcvprpCnt', fieldName: 'exlnDrtwRcvprpCnt', 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: 'pplDrdqty', fieldName: 'pplDrdqty', header: { text: '준설량(m³)' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' }, { name: 'drdgnQnt', fieldName: 'drdgnQnt', header: { text: '준설량(m³)' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
// 준설토사처리 // 준설토사처리
{ name: 'drdgnSoilPrcsAmt', fieldName: 'drdgnSoilPrcsAmt', header: { text: '준설토처리비(백만원)' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' }, { name: 'drdgnUntprcAmt', fieldName: 'drdgnUntprcAmt', 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', 'exlnDrtwDrgCnt', 'stofcbrOtflCnt' 'mnhlCnt', 'exlnDrtwRcvprpCnt', 'stofcbrOtflCnt'
] ]
}, },
'drdgnPlanPrlg', 'drdgnTrgtCtrsDrdgnRt', 'wholPrlgCtrsDrdgnRt', 'drdgnPlanPrlg', 'drdgnTrgtCtrsDrdgnRt', 'wholPrlgCtrsDrdgnRt',
{ {
name: 'group_perf', name: 'group_perf',
header: { text: '준설실적' }, header: { text: '준설실적' },
items: ['drdgnAmt', 'pplDrdqty'] items: ['drdgnAmt', 'drdgnQnt']
}, },
{ {
name: 'group_soil_treat', name: 'group_soil_treat',
header: { text: '준설토사처리' }, header: { text: '준설토사처리' },
items: ['drdgnSoilPrcsAmt', 'wholDrdgnPrcsQnt', 'rclmQnt', 'oceanEmsnQnt', 'rcycQnt', 'etcQnt'] items: ['drdgnUntprcAmt', 'wholDrdgnPrcsQnt', 'rclmQnt', 'oceanEmsnQnt', 'rcycQnt', 'etcQnt']
}, },
'rmrk', 'rmrk',
'admdstCd', 'admdstCd',
@@ -11,8 +11,8 @@ export const RepairStatusInpColumn = {
// 개·보수관로 > 전체보수(m) // 개·보수관로 > 전체보수(m)
{ {
name: 'dfrpWholPrlg', name: 'mendngWhol',
fieldName: 'dfrpWholPrlg', fieldName: 'mendngWhol',
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: ['cbsysDfrpPrlg', 'sprsysExlnPrlg', 'sprsysDrtwPrlg'], fields: ['cbsysMendngPrlg', 'sprsysExlnPrlg', 'sprsysDrtwPrlg'],
type: 'sum' as const, type: 'sum' as const,
}, },
}, },
{ name: 'cbsysDfrpPrlg', fieldName: 'cbsysDfrpPrlg', header: { text: '합류식' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' }, { name: 'cbsysMendngPrlg', fieldName: 'cbsysMendngPrlg', 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: 'partDfrpWhol', name: 'partMendngWhol',
fieldName: 'partDfrpWhol', fieldName: 'partMendngWhol',
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: ['cbsysPartDfrpPrlg', 'sprsysExlnDfrpPrlg', 'sprsysDrtwDfrpPrlg'], fields: ['cbsysPartMendngPrlg', 'sprsysExlnMendngPrlg', 'sprsysDrtwMendngPrlg'],
type: 'sum' as const, type: 'sum' as const,
}, },
}, },
{ name: 'cbsysPartDfrpPrlg', fieldName: 'cbsysPartDfrpPrlg', header: { text: '합류식' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' }, { name: 'cbsysPartMendngPrlg', fieldName: 'cbsysPartMendngPrlg', header: { text: '합류식' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
// 개·보수관로 > 부분보수(개소) > 분류식 // 개·보수관로 > 부분보수(개소) > 분류식
{ name: 'sprsysExlnDfrpPrlg', fieldName: 'sprsysExlnDfrpPrlg', header: { text: '우수' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' }, { name: 'sprsysExlnMendngPrlg', fieldName: 'sprsysExlnMendngPrlg', header: { text: '우수' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'sprsysDrtwDfrpPrlg', fieldName: 'sprsysDrtwDfrpPrlg', header: { text: '오수' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' }, { name: 'sprsysDrtwMendngPrlg', fieldName: 'sprsysDrtwMendngPrlg', 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: 'drtwDrgCnt', fieldName: 'drtwDrgCnt', header: { text: '오수받이(개소)' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' }, { name: 'drtwRcvprpCnt', fieldName: 'drtwRcvprpCnt', header: { text: '오수받이(개소)' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'exlnDrgCnt', fieldName: 'exlnDrgCnt', header: { text: '빗물받이(개소)' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' }, { name: 'exlnRcvprpCnt', fieldName: 'exlnRcvprpCnt', 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: [
'dfrpWholPrlg', 'mendngWhol',
'cbsysDfrpPrlg', 'cbsysMendngPrlg',
{ {
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: [
'partDfrpWhol', 'partMendngWhol',
'cbsysPartDfrpPrlg', 'cbsysPartMendngPrlg',
{ {
name: 'group_part_sep', name: 'group_part_sep',
header: { text: '분류식' }, header: { text: '분류식' },
items: ['sprsysExlnDfrpPrlg', 'sprsysDrtwDfrpPrlg'] items: ['sprsysExlnMendngPrlg', 'sprsysDrtwMendngPrlg']
} }
] ]
} }
@@ -130,7 +130,7 @@ export const RepairStatusInpColumn = {
{ {
name: 'group_inlet', name: 'group_inlet',
header: { text: '받이' }, header: { text: '받이' },
items: ['drtwDrgCnt', 'exlnDrgCnt'] items: ['drtwRcvprpCnt', 'exlnRcvprpCnt']
}, },
{ {
name: 'group_chamber', name: 'group_chamber',
@@ -61,18 +61,18 @@ export const RainfallPumpStationInpColumn = {
// 유수지 // 유수지
dropdownColumn( dropdownColumn(
{ name: 'runwtrYn', fieldName: 'runwtrYn', header: { text: '유수지유무(유,무)' } }, { name: 'rsvrYn', fieldName: 'rsvrYn', header: { text: '유수지유무(유,무)' } },
RAINFALL_PUMP_YN_VALUES, RAINFALL_PUMP_YN_VALUES,
), ),
{ name: 'runwtrStrqty', fieldName: 'runwtrStrqty', header: { text: '저류랑(m³)' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' }, { name: 'rsvrImpndQnt', fieldName: 'rsvrImpndQnt', 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: 'wholPpqty', name: 'grssPpqty',
fieldName: 'wholPpqty', fieldName: 'grssPpqty',
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: 'pumpFcltN1UnitPpqty', perPpqtyField: 'pumpFcltN1PerPpqty',
}, },
{ {
pumpCntField: 'pumpFcltN2PumpCnt', pumpCntField: 'pumpFcltN2PumpCnt',
rsrvPumpCntField: 'pumpFcltN2RsrvPumpCnt', rsrvPumpCntField: 'pumpFcltN2RsrvPumpCnt',
perPpqtyField: 'pumpFcltN2UnitPpqty', perPpqtyField: 'pumpFcltN2PerPpqty',
}, },
{ {
pumpCntField: 'pumpFcltN3PumpCnt', pumpCntField: 'pumpFcltN3PumpCnt',
rsrvPumpCntField: 'pumpFcltN3RsrvPumpCnt', rsrvPumpCntField: 'pumpFcltN3RsrvPumpCnt',
perPpqtyField: 'pumpFcltN3UnitPpqty', perPpqtyField: 'pumpFcltN3PerPpqty',
}, },
], ],
}, },
@@ -103,19 +103,19 @@ export const RainfallPumpStationInpColumn = {
// 펌프시설1 // 펌프시설1
{ name: 'pumpFcltN1DmtrExpln', fieldName: 'pumpFcltN1DmtrExpln', header: { text: '구경(mm)' } }, { name: 'pumpFcltN1DmtrExpln', fieldName: 'pumpFcltN1DmtrExpln', header: { text: '구경(mm)' } },
{ name: 'pumpFcltN1UnitPpqty', fieldName: 'pumpFcltN1UnitPpqty', header: { text: '대당 양수량(m³/min·대)' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' }, { name: 'pumpFcltN1PerPpqty', fieldName: 'pumpFcltN1PerPpqty', 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: 'pumpFcltN2UnitPpqty', fieldName: 'pumpFcltN2UnitPpqty', header: { text: '대당 양수량(m³/min·대)' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' }, { name: 'pumpFcltN2PerPpqty', fieldName: 'pumpFcltN2PerPpqty', 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: 'pumpFcltN3UnitPpqty', fieldName: 'pumpFcltN3UnitPpqty', header: { text: '대당 양수량(m³/min·대)' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' }, { name: 'pumpFcltN3PerPpqty', fieldName: 'pumpFcltN3PerPpqty', 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: 'odorEqpmYn', fieldName: 'odorEqpmYn', header: { text: '탈취설비유무(유/무)' } }, { name: 'ddrztnEqpmYn', fieldName: 'ddrztnEqpmYn', 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: 'prpwLastDspsQnt', fieldName: 'prpwLastDspsQnt', header: { text: '침사' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' }, { name: 'prcptnLastDspsQnt', fieldName: 'prcptnLastDspsQnt', 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: 'prpwLastDspsExpln', fieldName: 'prpwLastDspsExpln', header: { text: '침사' } }, { name: 'prcptnLastDspsMthdExpln', fieldName: 'prcptnLastDspsMthdExpln', header: { text: '침사' } },
{ name: 'ctmnLastDspsExpln', fieldName: 'ctmnLastDspsExpln', header: { text: '협잡물' } }, { name: 'ctmnLastDspsMthdExpln', fieldName: 'ctmnLastDspsMthdExpln', 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: 'wholQnt', fieldName: 'wholQnt', header: { text: '총배수량(m³/년)' }, footer: footerDecimal2, valueType: ValueType.NUMBER, dataFormat: '#,##0.00' }, { name: 'grssMltvQnt', fieldName: 'grssMltvQnt', 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: [
'runwtrYn', 'rsvrYn',
'runwtrStrqty', 'rsvrImpndQnt',
], ],
}, },
{ {
@@ -195,14 +195,14 @@ export const RainfallPumpStationInpColumn = {
hideChildHeaders: false, hideChildHeaders: false,
header: { text: '펌프시설' }, header: { text: '펌프시설' },
items: [ items: [
'wholPpqty', 'grssPpqty',
{ {
name: 'pumpSystem1', name: 'pumpSystem1',
hideChildHeaders: false, hideChildHeaders: false,
header: { text: '펌프시설1' }, header: { text: '펌프시설1' },
items: [ items: [
'pumpFcltN1DmtrExpln', 'pumpFcltN1DmtrExpln',
'pumpFcltN1UnitPpqty', 'pumpFcltN1PerPpqty',
'pumpFcltN1PumpCnt', 'pumpFcltN1PumpCnt',
'pumpFcltN1RsrvPumpCnt', 'pumpFcltN1RsrvPumpCnt',
], ],
@@ -213,7 +213,7 @@ export const RainfallPumpStationInpColumn = {
header: { text: '펌프시설2' }, header: { text: '펌프시설2' },
items: [ items: [
'pumpFcltN2DmtrExpln', 'pumpFcltN2DmtrExpln',
'pumpFcltN2UnitPpqty', 'pumpFcltN2PerPpqty',
'pumpFcltN2PumpCnt', 'pumpFcltN2PumpCnt',
'pumpFcltN2RsrvPumpCnt', 'pumpFcltN2RsrvPumpCnt',
], ],
@@ -224,7 +224,7 @@ export const RainfallPumpStationInpColumn = {
header: { text: '펌프시설3' }, header: { text: '펌프시설3' },
items: [ items: [
'pumpFcltN3DmtrExpln', 'pumpFcltN3DmtrExpln',
'pumpFcltN3UnitPpqty', 'pumpFcltN3PerPpqty',
'pumpFcltN3PumpCnt', 'pumpFcltN3PumpCnt',
'pumpFcltN3RsrvPumpCnt', 'pumpFcltN3RsrvPumpCnt',
], ],
@@ -237,7 +237,7 @@ export const RainfallPumpStationInpColumn = {
header: { text: '부대시설' }, header: { text: '부대시설' },
items: [ items: [
'prcsgFcltYn', 'prcsgFcltYn',
'odorEqpmYn', 'ddrztnEqpmYn',
'oslfEtgtYn', 'oslfEtgtYn',
], ],
}, },
@@ -247,7 +247,7 @@ export const RainfallPumpStationInpColumn = {
hideChildHeaders: false, hideChildHeaders: false,
header: { text: '최종처분량(ton/년)' }, header: { text: '최종처분량(ton/년)' },
items: [ items: [
'prpwLastDspsQnt', 'prcptnLastDspsQnt',
'ctmnLastDspsQnt', 'ctmnLastDspsQnt',
], ],
}, },
@@ -256,8 +256,8 @@ export const RainfallPumpStationInpColumn = {
hideChildHeaders: false, hideChildHeaders: false,
header: { text: '최종처분방법' }, header: { text: '최종처분방법' },
items: [ items: [
'prpwLastDspsExpln', 'prcptnLastDspsMthdExpln',
'ctmnLastDspsExpln', 'ctmnLastDspsMthdExpln',
], ],
}, },
{ {
@@ -266,7 +266,7 @@ export const RainfallPumpStationInpColumn = {
header: { text: '운영실적' }, header: { text: '운영실적' },
items: [ items: [
'oprtngDayCnt', 'oprtngDayCnt',
'wholQnt', 'grssMltvQnt',
], ],
}, },
'rmrk', 'rmrk',
@@ -77,8 +77,8 @@ export const SewageReservoirInpColumn = {
header: { text: "침수예방" }, header: { text: "침수예방" },
}), }),
oxYnDropdownColumn({ oxYnDropdownColumn({
name: "wtpltMtgtYn", name: "wqPlltnMtgtYn",
fieldName: "wtpltMtgtYn", fieldName: "wqPlltnMtgtYn",
header: { text: "수질오염저감" }, header: { text: "수질오염저감" },
}), }),
oxYnDropdownColumn({ oxYnDropdownColumn({
@@ -105,8 +105,8 @@ export const SewageReservoirInpColumn = {
// 펌프시설 > 총양수량 // 펌프시설 > 총양수량
{ {
name: 'wholPpqty', name: 'grssPpqty',
fieldName: 'wholPpqty', fieldName: 'grssPpqty',
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: 'pumpFcltN1Ppqty', perPpqtyField: 'pumpFcltN1PerPpqty',
}, },
{ {
pumpCntField: 'pumpFcltN2PumpCnt', pumpCntField: 'pumpFcltN2PumpCnt',
rsrvPumpCntField: 'pumpFcltN2RsrvPumpCnt', rsrvPumpCntField: 'pumpFcltN2RsrvPumpCnt',
perPpqtyField: 'pumpFcltN2Ppqty', perPpqtyField: 'pumpFcltN2PerPpqty',
}, },
{ {
pumpCntField: 'pumpFcltN3PumpCnt', pumpCntField: 'pumpFcltN3PumpCnt',
rsrvPumpCntField: 'pumpFcltN3RsrvPumpCnt', rsrvPumpCntField: 'pumpFcltN3RsrvPumpCnt',
perPpqtyField: 'pumpFcltN3Ppqty', perPpqtyField: 'pumpFcltN3PerPpqty',
}, },
], ],
}, },
@@ -137,19 +137,19 @@ export const SewageReservoirInpColumn = {
// 펌프시설 1 // 펌프시설 1
{ name: 'pumpFcltN1DmtrExpln', fieldName: 'pumpFcltN1DmtrExpln', header: { text: '구경(mm)' } }, { name: 'pumpFcltN1DmtrExpln', fieldName: 'pumpFcltN1DmtrExpln', header: { text: '구경(mm)' } },
{ name: 'pumpFcltN1Ppqty', fieldName: 'pumpFcltN1Ppqty', header: { text: '대당 양수량(m³/min·대)' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' }, { name: 'pumpFcltN1PerPpqty', fieldName: 'pumpFcltN1PerPpqty', 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: 'pumpFcltN2Ppqty', fieldName: 'pumpFcltN2Ppqty', header: { text: '대당 양수량(m³/min·대)' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' }, { name: 'pumpFcltN2PerPpqty', fieldName: 'pumpFcltN2PerPpqty', 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: 'pumpFcltN3Ppqty', fieldName: 'pumpFcltN3Ppqty', header: { text: '대당 양수량(m³/min·대)' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' }, { name: 'pumpFcltN3PerPpqty', fieldName: 'pumpFcltN3PerPpqty', 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: "odorEqpmYn", name: "ddrztnEqpmYn",
fieldName: "odorEqpmYn", fieldName: "ddrztnEqpmYn",
header: { text: "탈취설비유무(유/무)" }, header: { text: "탈취설비유무(유/무)" },
}, },
SEWAGE_RESERVOIR_YN_VALUES, SEWAGE_RESERVOIR_YN_VALUES,
@@ -182,8 +182,8 @@ export const SewageReservoirInpColumn = {
// 배수 방식 // 배수 방식
dropdownColumn( dropdownColumn(
{ {
name: "drgptnCn", name: "mltvMthCn",
fieldName: "drgptnCn", fieldName: "mltvMthCn",
header: { text: "배수방식(자연배수,강제배수)" }, header: { text: "배수방식(자연배수,강제배수)" },
}, },
SEWAGE_RESERVOIR_MLTV_MTH_VALUES, SEWAGE_RESERVOIR_MLTV_MTH_VALUES,
@@ -202,8 +202,8 @@ export const SewageReservoirInpColumn = {
// 저류수 처리방법 // 저류수 처리방법
dropdownColumn( dropdownColumn(
{ {
name: "impdPrcsCn", name: "impdPrcsMthdCn",
fieldName: "impdPrcsCn", fieldName: "impdPrcsMthdCn",
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: 'prpwLastDspsQnt', fieldName: 'prpwLastDspsQnt', header: { text: '침사' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' }, { name: 'prcptnLastDspsQnt', fieldName: 'prcptnLastDspsQnt', 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: 'prpwLastDspsExpln', fieldName: 'prpwLastDspsExpln', header: { text: '침사' } }, { name: 'prcptnLastDspsMthdExpln', fieldName: 'prcptnLastDspsMthdExpln', header: { text: '침사' } },
{ name: 'ctmnLastDspsExpln', fieldName: 'ctmnLastDspsExpln', header: { text: '협잡물' } }, { name: 'ctmnLastDspsMthdExpln', fieldName: 'ctmnLastDspsMthdExpln', 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: 'wholQnt', fieldName: 'wholQnt', header: { text: '총배수량(m³/년)' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' }, { name: 'grssMltvQnt', fieldName: 'grssMltvQnt', 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',
'wtpltMtgtYn', 'wqPlltnMtgtYn',
'rtlztnUsgYn', 'rtlztnUsgYn',
], ],
}, },
@@ -267,14 +267,14 @@ export const SewageReservoirInpColumn = {
hideChildHeaders: false, hideChildHeaders: false,
header: { text: '펌프시설' }, header: { text: '펌프시설' },
items: [ items: [
'wholPpqty', 'grssPpqty',
{ {
name: 'pumpSystem1', name: 'pumpSystem1',
hideChildHeaders: false, hideChildHeaders: false,
header: { text: '펌프시설1' }, header: { text: '펌프시설1' },
items: [ items: [
'pumpFcltN1DmtrExpln', 'pumpFcltN1DmtrExpln',
'pumpFcltN1Ppqty', 'pumpFcltN1PerPpqty',
'pumpFcltN1PumpCnt', 'pumpFcltN1PumpCnt',
'pumpFcltN1RsrvPumpCnt', 'pumpFcltN1RsrvPumpCnt',
], ],
@@ -286,7 +286,7 @@ export const SewageReservoirInpColumn = {
header: { text: '펌프시설2' }, header: { text: '펌프시설2' },
items: [ items: [
'pumpFcltN2DmtrExpln', 'pumpFcltN2DmtrExpln',
'pumpFcltN2Ppqty', 'pumpFcltN2PerPpqty',
'pumpFcltN2PumpCnt', 'pumpFcltN2PumpCnt',
'pumpFcltN2RsrvPumpCnt', 'pumpFcltN2RsrvPumpCnt',
], ],
@@ -298,7 +298,7 @@ export const SewageReservoirInpColumn = {
header: { text: '펌프시설3' }, header: { text: '펌프시설3' },
items: [ items: [
'pumpFcltN3DmtrExpln', 'pumpFcltN3DmtrExpln',
'pumpFcltN3Ppqty', 'pumpFcltN3PerPpqty',
'pumpFcltN3PumpCnt', 'pumpFcltN3PumpCnt',
'pumpFcltN3RsrvPumpCnt', 'pumpFcltN3RsrvPumpCnt',
], ],
@@ -312,13 +312,13 @@ export const SewageReservoirInpColumn = {
header: { text: '부대시설' }, header: { text: '부대시설' },
items: [ items: [
'prcsgFcltYn', 'prcsgFcltYn',
'odorEqpmYn', 'ddrztnEqpmYn',
'oslfEtgtYn', 'oslfEtgtYn',
], ],
}, },
'drgptnCn', 'mltvMthCn',
'impdMthCn', 'impdMthCn',
'impdPrcsCn', 'impdPrcsMthdCn',
'dschgWtrsExpln', 'dschgWtrsExpln',
{ {
@@ -326,7 +326,7 @@ export const SewageReservoirInpColumn = {
hideChildHeaders: false, hideChildHeaders: false,
header: { text: '최종처분량(ton/년)' }, header: { text: '최종처분량(ton/년)' },
items: [ items: [
'prpwLastDspsQnt', 'prcptnLastDspsQnt',
'ctmnLastDspsQnt', 'ctmnLastDspsQnt',
], ],
}, },
@@ -336,8 +336,8 @@ export const SewageReservoirInpColumn = {
hideChildHeaders: false, hideChildHeaders: false,
header: { text: '최종처분방법' }, header: { text: '최종처분방법' },
items: [ items: [
'prpwLastDspsExpln', 'prcptnLastDspsMthdExpln',
'ctmnLastDspsExpln', 'ctmnLastDspsMthdExpln',
], ],
}, },
@@ -347,7 +347,7 @@ export const SewageReservoirInpColumn = {
header: { text: '운영실적' }, header: { text: '운영실적' },
items: [ items: [
'oprtngDayCnt', 'oprtngDayCnt',
'wholQnt', 'grssMltvQnt',
], ],
}, },
'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: 'brdnAmtLevyNocs', fieldName: 'brdnAmtLevyNocs', header: { text: '건수' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' }, { name: 'levyEvntcsCnt', fieldName: 'levyEvntcsCnt', header: { text: '건수' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'brdnAmtLevyAmt', fieldName: 'brdnAmtLevyAmt', header: { text: '금액(백만원)' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' }, { name: 'levyAmt', fieldName: 'levyAmt', header: { text: '금액(백만원)' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' },
// 대상별 징수현황 > 계 // 대상별 징수현황 > 계
{ {
name: 'trgtSeWholClctnNocs', name: 'trgtByWholClctnEvntcsCnt',
fieldName: 'trgtSeWholClctnNocs', fieldName: 'trgtByWholClctnEvntcsCnt',
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: ['drgNocs', 'othrCstrnOthrActrCnt'], fields: ['mltvEqpmEvntcsCnt', 'othrCstrnOthrActrCnt'],
type: 'sum' as const, type: 'sum' as const,
}, },
}, },
{ {
name: 'trgtSeWholClctnAmt', name: 'trgtByWholClctnAmt',
fieldName: 'trgtSeWholClctnAmt', fieldName: 'trgtByWholClctnAmt',
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: ['drgAmt', 'othrCstrnOthrActrAmt'], fields: ['mltvEqpmAmt', 'othrCstrnOthrActrAmt'],
type: 'sum' as const, type: 'sum' as const,
}, },
}, },
// 대상별 징수현황 > 배수설비설치자 // 대상별 징수현황 > 배수설비설치자
{ name: 'drgNocs', fieldName: 'drgNocs', header: { text: '건수' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' }, { name: 'mltvEqpmEvntcsCnt', fieldName: 'mltvEqpmEvntcsCnt', header: { text: '건수' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'drgAmt', fieldName: 'drgAmt', header: { text: '금액(백만원)' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' }, { name: 'mltvEqpmAmt', fieldName: 'mltvEqpmAmt', 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: ['brdnAmtLevyNocs', 'brdnAmtLevyAmt'] items: ['levyEvntcsCnt', 'levyAmt']
}, },
{ {
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: ['trgtSeWholClctnNocs', 'trgtSeWholClctnAmt'] items: ['trgtByWholClctnEvntcsCnt', 'trgtByWholClctnAmt']
}, },
{ {
name: 'coll_group_inst', name: 'coll_group_inst',
header: { text: '배수설비설치자(하수도법 제61조 제1항)' }, header: { text: '배수설비설치자(하수도법 제61조 제1항)' },
items: ['drgNocs', 'drgAmt'] items: ['mltvEqpmEvntcsCnt', 'mltvEqpmAmt']
}, },
{ {
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: 'sewerLevyAmt', fieldName: 'sewerLevyAmt', header: { text: '하수도사용료수익(원)(B)' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' }, { name: 'levyAmt', fieldName: 'levyAmt', 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: ['sewerLevyAmt', 'anlLevyQnt'], fields: ['levyAmt', 'anlLevyQnt'],
type: 'quotient' as const, type: 'quotient' as const,
}, },
}, },
{ name: 'wholPrmcoAmt', fieldName: 'wholPrmcoAmt', header: { text: '총괄원가(원)(D)' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' }, { name: 'grssPrmcoAmt', fieldName: 'grssPrmcoAmt', header: { text: '총괄원가(원)(D)' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ {
name: 'wholUnitPrmcoAmt', name: 'grssUnitPrmcoAmt',
fieldName: 'wholUnitPrmcoAmt', fieldName: 'grssUnitPrmcoAmt',
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: ['wholPrmcoAmt', 'anlLevyQnt'], fields: ['grssPrmcoAmt', 'anlLevyQnt'],
type: 'quotient' as const, type: 'quotient' as const,
}, },
}, },
{ {
name: 'sewerCrgRlztnRt', name: 'rlztnRt',
fieldName: 'sewerCrgRlztnRt', fieldName: 'rlztnRt',
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: ['sewerLevyAmt', 'anlLevyQnt'] as [string, string], numeratorQuotient: ['levyAmt', 'anlLevyQnt'] as [string, string],
denominatorQuotient: ['wholPrmcoAmt', 'anlLevyQnt'] as [string, string], denominatorQuotient: ['grssPrmcoAmt', 'anlLevyQnt'] as [string, string],
type: 'quotientRatioPercent' as const, type: 'quotientRatioPercent' as const,
}, },
}, },
@@ -75,11 +75,11 @@ export const SewerageChargeInpColumn = {
], ],
}, },
'anlLevyQnt', 'anlLevyQnt',
'sewerLevyAmt', 'levyAmt',
'avgUntprcAmt', 'avgUntprcAmt',
'wholPrmcoAmt', 'grssPrmcoAmt',
'wholUnitPrmcoAmt', 'grssUnitPrmcoAmt',
'sewerCrgRlztnRt', 'rlztnRt',
'rmrk', 'rmrk',
'admdstCd', 'admdstCd',
'admdstNm' 'admdstNm'
@@ -11,8 +11,8 @@ export const SewerageFinanceSettleInpColumn = {
// 재정별 사업비 // 재정별 사업비
{ {
name: 'fnnSeWholPjtcoAmt', name: 'fnnByWholPjtcoAmt',
fieldName: 'fnnSeWholPjtcoAmt', fieldName: 'fnnByWholPjtcoAmt',
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: [
'soaGovSprtAmt', 'cnterGovSprtAmt',
'mctpvLcexpAmt', 'mctpvLcexpAmt',
'wareaSggLclAmt', 'wareaSggLclAmt',
'sewerUseAmt', 'sewerUseAmt',
'fnnOrgprBrdnAmt', 'orgprBrdnAmt',
'etcIncmAmt', 'etcIncmAmt',
'soaCrfwAmt', 'crfwAmt',
], ],
type: 'sum' as const, type: 'sum' as const,
}, },
}, },
{ name: 'soaGovSprtAmt', fieldName: 'soaGovSprtAmt', header: { text: '중앙정부지원액' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' }, { name: 'cnterGovSprtAmt', fieldName: 'cnterGovSprtAmt', 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: 'fnnOrgprBrdnAmt', fieldName: 'fnnOrgprBrdnAmt', 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: '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: 'soaCrfwAmt', fieldName: 'soaCrfwAmt', 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: 'soaLbltAmt', fieldName: 'soaLbltAmt', 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: 'usgSeWholPjtcoAmt', name: 'usgByWholPjtcoAmt',
fieldName: 'usgSeWholPjtcoAmt', fieldName: 'usgByWholPjtcoAmt',
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', 'tmplntAmt', 'tmplntOperKeepAmt', 'tmplntEtcAmt'], fields: ['tmplntFcltAmt', 'tmplntMendngAmt', '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: 'tmplntAmt', fieldName: 'tmplntAmt', 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: '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',
'swagePplAmt', 'swagePplMendngAmt',
'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: 'swagePplAmt', fieldName: 'swagePplAmt', 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: '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',
'swageImpdAmt', 'swageImpdMendngAmt',
'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: 'swageImpdAmt', fieldName: 'swageImpdAmt', 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: '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', 'fnnEtcAmt'], fields: ['etcAcdntCrfwAmt', 'etcNrcpAmt', 'etcAmt'],
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: 'fnnEtcAmt', fieldName: 'fnnEtcAmt', 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: '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: [
'fnnSeWholPjtcoAmt', 'fnnByWholPjtcoAmt',
'soaGovSprtAmt', 'cnterGovSprtAmt',
{ {
name: 'group_local_finance', name: 'group_local_finance',
header: { text: '지방비' }, header: { text: '지방비' },
items: ['mctpvLcexpAmt', 'wareaSggLclAmt'] items: ['mctpvLcexpAmt', 'wareaSggLclAmt']
}, },
'sewerUseAmt', 'sewerUseAmt',
'fnnOrgprBrdnAmt', 'orgprBrdnAmt',
'etcIncmAmt', 'etcIncmAmt',
'soaCrfwAmt' 'crfwAmt'
] ]
}, },
'soaLbltAmt', 'lbltAmt',
{ {
name: 'group_purpose', name: 'group_purpose',
header: { text: '용도별사업비(백만원)' }, header: { text: '용도별사업비(백만원)' },
items: [ items: [
'usgSeWholPjtcoAmt', 'usgByWholPjtcoAmt',
{ {
name: 'group_treatment', name: 'group_treatment',
header: { text: '처리장' }, header: { text: '처리장' },
items: [ items: [
'tmplntWholAmt', 'tmplntWholAmt',
'tmplntFcltAmt', 'tmplntFcltAmt',
'tmplntAmt', 'tmplntMendngAmt',
'tmplntOperKeepAmt', 'tmplntOperKeepAmt',
'tmplntEtcAmt' 'tmplntEtcAmt'
] ]
@@ -204,7 +204,7 @@ export const SewerageFinanceSettleInpColumn = {
items: [ items: [
'wholSwagePplAmt', 'wholSwagePplAmt',
'swagePplFcltAmt', 'swagePplFcltAmt',
'swagePplAmt', 'swagePplMendngAmt',
'swagePplOperKeepAmt', 'swagePplOperKeepAmt',
'swagePplEtcAmt' 'swagePplEtcAmt'
] ]
@@ -215,7 +215,7 @@ export const SewerageFinanceSettleInpColumn = {
items: [ items: [
'wholSwageImpdFcltAmt', 'wholSwageImpdFcltAmt',
'swageImpdFcltAmt', 'swageImpdFcltAmt',
'swageImpdAmt', 'swageImpdMendngAmt',
'swageImpdOperKeepAmt', 'swageImpdOperKeepAmt',
'swageImpdFcltEtcAmt' 'swageImpdFcltEtcAmt'
] ]
@@ -227,7 +227,7 @@ export const SewerageFinanceSettleInpColumn = {
'etcWholAmt', 'etcWholAmt',
'etcAcdntCrfwAmt', 'etcAcdntCrfwAmt',
'etcNrcpAmt', 'etcNrcpAmt',
'fnnEtcAmt' 'etcAmt'
] ]
} }
] ]
@@ -11,8 +11,8 @@ export const SewerageUsageFeeInpColumn = {
// 총계 > 부과액 // 총계 > 부과액
{ {
name: 'sewerLevyAmt', name: 'levyAmt',
fieldName: 'sewerLevyAmt', fieldName: 'levyAmt',
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',
'ofuseLevyAmt', 'taskFrLevyAmt',
'fbuLevyAmt', 'fbuLevyAmt',
'btht1LevyAmt', 'bthhsFrSpcs1LevyAmt',
'btht2LevyAmt', 'bthhsFrSpcs2LevyAmt',
'indstLevyAmt', 'induLevyAmt',
'etcLevyAmt', 'etcLevyAmt',
], ],
type: 'sum' as const, type: 'sum' as const,
@@ -35,8 +35,8 @@ export const SewerageUsageFeeInpColumn = {
// 총계 > 부과량 // 총계 > 부과량
{ {
name: 'sewerLevyQnt', name: 'levyQnt',
fieldName: 'sewerLevyQnt', fieldName: 'levyQnt',
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',
'ofuseLevyQnt', 'taskFrLevyQnt',
'fbuLevyQnt', 'fbuLevyQnt',
'btht1LevyQnt', 'bthhsFrSpcs1LevyQnt',
'btht2LevyQnt', 'bthhsFrSpcs2LevyQnt',
'indstLevyQnt', 'induLevyQnt',
'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: 'ofuseLevyAmt', fieldName: 'ofuseLevyAmt', header: { text: '(백만원)' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' }, { name: 'taskFrLevyAmt', fieldName: 'taskFrLevyAmt', 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: 'taskFrLevyQnt', fieldName: 'taskFrLevyQnt', header: { text: '(천톤)' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' },
{ name: 'ofuseUntprcAmt', fieldName: 'ofuseUntprcAmt', header: { text: '(원/톤)' }, editable: false, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0', styleName: 'rg-cell-readonly' }, { name: 'taskFrUntprcAmt', fieldName: 'taskFrUntprcAmt', 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: 'btht1LevyAmt', fieldName: 'btht1LevyAmt', header: { text: '(백만원)' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' }, { name: 'bthhsFrSpcs1LevyAmt', fieldName: 'bthhsFrSpcs1LevyAmt', 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: 'bthhsFrSpcs1LevyQnt', fieldName: 'bthhsFrSpcs1LevyQnt', header: { text: '(천톤)' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' },
{ name: 'btht1UntprcAmt', fieldName: 'btht1UntprcAmt', header: { text: '(원/톤)' }, editable: false, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0', styleName: 'rg-cell-readonly' }, { name: 'bthhsFrSpcs1UntprcAmt', fieldName: 'bthhsFrSpcs1UntprcAmt', header: { text: '(원/톤)' }, editable: false, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0', styleName: 'rg-cell-readonly' },
// 욕탕2종 // 욕탕2종
{ name: 'btht2LevyAmt', fieldName: 'btht2LevyAmt', header: { text: '(백만원)' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' }, { name: 'bthhsFrSpcs2LevyAmt', fieldName: 'bthhsFrSpcs2LevyAmt', 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: 'bthhsFrSpcs2LevyQnt', fieldName: 'bthhsFrSpcs2LevyQnt', header: { text: '(천톤)' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' },
{ name: 'btht2UntprcAmt', fieldName: 'btht2UntprcAmt', header: { text: '(원/톤)' }, editable: false, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0', styleName: 'rg-cell-readonly' }, { name: 'bthhsFrSpcs2UntprcAmt', fieldName: 'bthhsFrSpcs2UntprcAmt', header: { text: '(원/톤)' }, editable: false, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0', styleName: 'rg-cell-readonly' },
// 산업 및 공업용 // 산업 및 공업용
{ name: 'indstLevyAmt', fieldName: 'indstLevyAmt', header: { text: '(백만원)' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' }, { name: 'induLevyAmt', fieldName: 'induLevyAmt', 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: 'induLevyQnt', fieldName: 'induLevyQnt', header: { text: '(천톤)' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' },
{ name: 'indstUntprcAmt', fieldName: 'indstUntprcAmt', header: { text: '(원/톤)' }, editable: false, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0', styleName: 'rg-cell-readonly' }, { name: 'induUntprcAmt', fieldName: 'induUntprcAmt', 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: ['sewerLevyAmt'] items: ['levyAmt']
}, },
{ {
name: 'total_qty', name: 'total_qty',
header: { text: '부과량' }, header: { text: '부과량' },
items: ['sewerLevyQnt'] items: ['levyQnt']
} }
] ]
}, },
@@ -153,17 +153,17 @@ export const SewerageUsageFeeInpColumn = {
{ {
name: 'job_amount', name: 'job_amount',
header: { text: '부과액' }, header: { text: '부과액' },
items: ['ofuseLevyAmt'] items: ['taskFrLevyAmt']
}, },
{ {
name: 'job_qty', name: 'job_qty',
header: { text: '부과량' }, header: { text: '부과량' },
items: ['ofuseLevyQnt'] items: ['taskFrLevyQnt']
}, },
{ {
name: 'job_price', name: 'job_price',
header: { text: '단가' }, header: { text: '단가' },
items: ['ofuseUntprcAmt'] items: ['taskFrUntprcAmt']
} }
] ]
}, },
@@ -195,17 +195,17 @@ export const SewerageUsageFeeInpColumn = {
{ {
name: 'baths1_amount', name: 'baths1_amount',
header: { text: '부과액' }, header: { text: '부과액' },
items: ['btht1LevyAmt'] items: ['bthhsFrSpcs1LevyAmt']
}, },
{ {
name: 'baths1_qty', name: 'baths1_qty',
header: { text: '부과량' }, header: { text: '부과량' },
items: ['btht1LevyQnt'] items: ['bthhsFrSpcs1LevyQnt']
}, },
{ {
name: 'baths1_price', name: 'baths1_price',
header: { text: '단가' }, header: { text: '단가' },
items: ['btht1UntprcAmt'] items: ['bthhsFrSpcs1UntprcAmt']
} }
] ]
}, },
@@ -216,17 +216,17 @@ export const SewerageUsageFeeInpColumn = {
{ {
name: 'pbbath_amount', name: 'pbbath_amount',
header: { text: '부과액' }, header: { text: '부과액' },
items: ['btht2LevyAmt'] items: ['bthhsFrSpcs2LevyAmt']
}, },
{ {
name: 'pbbath_qty', name: 'pbbath_qty',
header: { text: '부과량' }, header: { text: '부과량' },
items: ['btht2LevyQnt'] items: ['bthhsFrSpcs2LevyQnt']
}, },
{ {
name: 'pbbath_price', name: 'pbbath_price',
header: { text: '단가' }, header: { text: '단가' },
items: ['btht2UntprcAmt'] items: ['bthhsFrSpcs2UntprcAmt']
} }
] ]
}, },
@@ -237,17 +237,17 @@ export const SewerageUsageFeeInpColumn = {
{ {
name: 'indust_amount', name: 'indust_amount',
header: { text: '부과액' }, header: { text: '부과액' },
items: ['indstLevyAmt'] items: ['induLevyAmt']
}, },
{ {
name: 'indust_qty', name: 'indust_qty',
header: { text: '부과량' }, header: { text: '부과량' },
items: ['indstLevyQnt'] items: ['induLevyQnt']
}, },
{ {
name: 'indust_price', name: 'indust_price',
header: { text: '단가' }, header: { text: '단가' },
items: ['indstUntprcAmt'] items: ['induUntprcAmt']
} }
] ]
}, },
@@ -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 = [
'cvlcptDschgWq', 'dschgWqCnt',
'cvlcptOdorCnt', 'odorCnt',
'cvlcptDrgCnt', 'ldsCnt',
'cvlcptMnhlCnt', 'plltnAcdntCnt',
'cvlcptSpctnkCnt', 'swagePplCnt',
'cvlcptSewerCrg', 'sewerCrgAmt',
'cvlcptEtcCnt', 'etcCnt',
] as const; ] as const;
// 하수도 통계 관리 > 13. 하수도 서비스 수준 > tab 1: 민원 // 하수도 통계 관리 > 13. 하수도 서비스 수준 > tab 1: 민원
@@ -24,8 +24,8 @@ export const ComplaintInpColumn = {
// 민원유형(건) // 민원유형(건)
{ {
name: 'cvlcptWholCnt', name: 'whol',
fieldName: 'cvlcptWholCnt', fieldName: 'whol',
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: 'cvlcptDschgWq', fieldName: 'cvlcptDschgWq', header: { text: '악취' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' }, { name: 'dschgWqCnt', fieldName: 'dschgWqCnt', header: { text: '악취' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'cvlcptOdorCnt', fieldName: 'cvlcptOdorCnt', header: { text: '하수관로' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' }, { name: 'odorCnt', fieldName: 'odorCnt', header: { text: '하수관로' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'cvlcptDrgCnt', fieldName: 'cvlcptDrgCnt', header: { text: '배수설비' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' }, { name: 'ldsCnt', fieldName: 'ldsCnt', header: { text: '배수설비' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'cvlcptMnhlCnt', fieldName: 'cvlcptMnhlCnt', header: { text: '맨홀' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' }, { name: 'plltnAcdntCnt', fieldName: 'plltnAcdntCnt', header: { text: '맨홀' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'cvlcptSpctnkCnt', fieldName: 'cvlcptSpctnkCnt', header: { text: '정화조' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' }, { name: 'swagePplCnt', fieldName: 'swagePplCnt', header: { text: '정화조' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'cvlcptSewerCrg', fieldName: 'cvlcptSewerCrg', header: { text: '하수도요금' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' }, { name: 'sewerCrgAmt', fieldName: 'sewerCrgAmt', header: { text: '하수도요금' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'cvlcptEtcCnt', fieldName: 'cvlcptEtcCnt', header: { text: '기타' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' }, { name: 'etcCnt', fieldName: 'etcCnt', header: { text: '기타' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
// 기준인구당 민원건수(건/10,000명) = 민원유형 합계 / 하수처리인구 × 10,000 // 기준인구당 민원건수(건/10,000명) = 민원유형 합계 / 하수처리인구 × 10,000
{ {
name: 'crtrPpltnCvlcptCnt', name: 'crtrPpltnCvlcptEvntcsCnt',
fieldName: 'crtrPpltnCvlcptCnt', fieldName: 'crtrPpltnCvlcptEvntcsCnt',
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: [
'cvlcptWholCnt', 'whol',
'cvlcptDschgWq', 'dschgWqCnt',
'cvlcptOdorCnt', 'odorCnt',
'cvlcptDrgCnt', 'ldsCnt',
'cvlcptMnhlCnt', 'plltnAcdntCnt',
'cvlcptSpctnkCnt', 'swagePplCnt',
'cvlcptSewerCrg', 'sewerCrgAmt',
'cvlcptEtcCnt' 'etcCnt'
] ]
}, },
'crtrPpltnCvlcptCnt', 'crtrPpltnCvlcptEvntcsCnt',
'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 = [
'brkFcar', 'brkFcltArea',
'childFrshpSpacArea', 'childFrshpSpacArea',
'bdySportsFcar', 'bdySportsFcltArea',
'sportsFcar', 'sportsFcltArea',
'pkltar', 'pkltArea',
'eduMultiFcar', 'eduMultiFcltArea',
'wtlndMakeArea', 'wtlndMakeArea',
'othrar', 'etcCnt',
] 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: 'prcsFcltCpct', fieldName: 'prcsFcltCpct', header: { text: '시설용량(m³/일)' }, editable: false, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0', 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: 'stpar', fieldName: 'stpar', header: { text: '처리장면적(㎡)' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' }, { name: 'tmplntArea', fieldName: 'tmplntArea', header: { text: '처리장면적(㎡)' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' },
// 주민친화시설 면적(㎡) // 주민친화시설 면적(㎡)
{ {
name: 'whlar', name: 'whol',
fieldName: 'whlar', fieldName: 'whol',
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: 'brkFcar', fieldName: 'brkFcar', header: { text: '휴게시설' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' }, { name: 'brkFcltArea', fieldName: 'brkFcltArea', 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: 'bdySportsFcar', fieldName: 'bdySportsFcar', header: { text: '체력단련시설' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' }, { name: 'bdySportsFcltArea', fieldName: 'bdySportsFcltArea', header: { text: '체력단련시설' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'sportsFcar', fieldName: 'sportsFcar', header: { text: '운동시설' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' }, { name: 'sportsFcltArea', fieldName: 'sportsFcltArea', header: { text: '운동시설' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'pkltar', fieldName: 'pkltar', header: { text: '주차장' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' }, { name: 'pkltArea', fieldName: 'pkltArea', header: { text: '주차장' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'eduMultiFcar', fieldName: 'eduMultiFcar', header: { text: '교육 및 문화시설' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' }, { name: 'eduMultiFcltArea', fieldName: 'eduMultiFcltArea', 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: 'othrar', fieldName: 'othrar', header: { text: '기타' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' }, { name: 'etcCnt', fieldName: 'etcCnt', 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',
'prcsFcltCpct', 'fcltCpct',
'stpar', 'tmplntArea',
{ {
name: 'group_resident_friendly_facility', name: 'group_resident_friendly_facility',
header: { text: '주민친화시설 면적(㎡)' }, header: { text: '주민친화시설 면적(㎡)' },
items: [ items: [
'whlar', 'whol',
'brkFcar', 'brkFcltArea',
'childFrshpSpacArea', 'childFrshpSpacArea',
'bdySportsFcar', 'bdySportsFcltArea',
'sportsFcar', 'sportsFcltArea',
'pkltar', 'pkltArea',
'eduMultiFcar', 'eduMultiFcltArea',
'wtlndMakeArea', 'wtlndMakeArea',
'othrar' 'etcCnt'
] ]
}, },
'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";
/** 건축물용도(`bdstSeCn`) */ /** 건축물용도(`bdstTypCn`) */
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: 'bdstSeCn', name: 'bdstTypCn',
fieldName: 'bdstSeCn', fieldName: 'bdstTypCn',
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: 'cmptnYmd', name: 'cmptYmd',
fieldName: 'cmptnYmd', fieldName: 'cmptYmd',
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: 'fcltInstlAmt', fieldName: 'fcltInstlAmt', header: { text: '설치비(백만원)' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' }, { name: 'instlAmt', fieldName: 'instlAmt', header: { text: '설치비(백만원)' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' },
// 집수면 종류 // 집수면 종류
{ name: 'rcptKndCn', fieldName: 'rcptKndCn', header: { text: '집수면 종류' } }, { name: 'rcptMynCn', fieldName: 'rcptMynCn', header: { text: '집수면 종류' } },
// 여과등처리시설유무(유:처리시설종류,무:미설치) // 여과등처리시설유무(유:처리시설종류,무:미설치)
{ name: 'filtrPrcsFcltExpln', fieldName: 'filtrPrcsFcltExpln', header: { text: '여과등처리시설유무(유:처리시설종류,무:미설치)' } }, { name: 'filtrPrcsFcltYnExpln', fieldName: 'filtrPrcsFcltYnExpln', header: { text: '여과등처리시설유무(유:처리시설종류,무:미설치)' } },
// 저류조용량(m³) // 저류조용량(m³)
{ name: 'fcltRtntnkCpct', fieldName: 'fcltRtntnkCpct', header: { text: '저류조용량(m³)' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' }, { name: 'impdCpct', fieldName: 'impdCpct', 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',
'bdstSeCn', 'bdstTypCn',
'fcltPstnCn', 'fcltPstnCn',
'lglTrgtYn', 'lglTrgtYn',
'cmptnYmd', 'cmptYmd',
'fcltInstlAmt', 'instlAmt',
'rcptKndCn', 'rcptMynCn',
'filtrPrcsFcltExpln', 'filtrPrcsFcltYnExpln',
'fcltRtntnkCpct', 'impdCpct',
'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;
/** 중수도용도(`ruswtrUsgCn`) */ /** 중수도용도(`mnUsgCn`) */
export const RECYCLED_WATER_MN_USG_VALUES = [ export const RECYCLED_WATER_MN_USG_VALUES = [
"청소화장실용수", "청소화장실용수",
"세척살수용수", "세척살수용수",
@@ -120,11 +120,11 @@ export const RecycledWaterStatusInpColumn = {
}, },
// 시설현황 // 시설현황
{ name: 'archWhlar', fieldName: 'archWhlar', header: { text: '건축연면적(m²)' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' }, { name: 'archWholArea', fieldName: 'archWholArea', 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: 'ruswtrWtrUsqty', fieldName: 'ruswtrWtrUsqty', header: { text: '물 사용량(m³/일)' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' }, { name: 'wtrUseQnt', fieldName: 'wtrUseQnt', 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: 'ruswtrUsgCn', name: 'mnUsgCn',
fieldName: 'ruswtrUsgCn', fieldName: 'mnUsgCn',
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: [
'archWhlar', 'archWholArea',
'prcsCpct' 'prcsCpct'
] ]
}, },
'ruswtrWtrUsqty', 'wtrUseQnt',
'ruswtrUtztnQnt', 'ruswtrUtztnQnt',
'sbstCntUtztnQnt', 'sbstCntUtztnQnt',
'ruswtrUsgCn', 'mnUsgCn',
'ruswtrOperAmt', 'ruswtrOperAmt',
'rmrk', 'rmrk',
'admdstCd', 'admdstCd',
@@ -94,8 +94,8 @@ export const DomesticPopulationRightColumnConfig: ColumnInfoList = {
styleName: "rg-cell-readonly", styleName: "rg-cell-readonly",
}, },
{ {
name: "mpinCd", name: "sbstAdmdstCd",
fieldName: "mpinCd", fieldName: "sbstAdmdstCd",
header: { text: "맵핑코드" }, header: { text: "맵핑코드" },
width: 130, width: 130,
editable: true editable: true
@@ -134,7 +134,7 @@ export const DomesticPopulationRightColumnConfig: ColumnInfoList = {
columnLayout: [ columnLayout: [
"admdstCd", "admdstCd",
"admdstNm", "admdstNm",
"mpinCd", "sbstAdmdstCd",
{ {
name: "populationGroup", name: "populationGroup",
header: { text: "인구수" }, header: { text: "인구수" },

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