wr: 주석

This commit is contained in:
2026-05-11 14:02:05 +09:00
parent 62494eba30
commit 675a16a294
4 changed files with 64 additions and 61 deletions
@@ -52,7 +52,7 @@ export default function CoMatRvw() {
const { auth, code, coRvw, coMatRvwInit, coMatRvwSearch, coMatRvwInqua } =
useWrStore((state) => state);
const { coMatRvwRes, coMatRvwCount } = coRvw;
const [mounted, setMounted] = useState(false);
// const [mounted, setMounted] = useState(false);
const { regAuthrtYn } = auth;
const alert = useAlertStore((state) => state.setMessage);
@@ -186,7 +186,7 @@ export default function CoMatRvw() {
useEffect(() => {
if (!initRef.current) {
coMatRvwInit(1, 13, fromDate, toDate);
setMounted(true);
//setMounted(true);
initRef.current = true;
}
}, [coMatRvwInit, initRef, fromDate, toDate]);
+3 -2
View File
@@ -99,9 +99,10 @@ export const coRvwActionsExport: (set: any) => coRvwActions = (set: any) => {
},
}));
},
// 수요처 매칭 검토 저장
coMatRvwUpdate: async (
splyCd: string,
dmdCd: string,
splyCd: string, // 공공기관재사용시설아이디 - 하수재이용시설id : pbnst_ruse_fclt_id
dmdCd: string, // 수요정보id dmd_info_id
data: DedMatUpdateType
): Promise<string> => {
try {
+36 -36
View File
@@ -60,47 +60,47 @@ const DemandCoSchema = z.object({
});
const DemandCstSchema = z.object({
dmdInfoSn: z.number().nullish(),
usgPrcsProcs: z.string().nullish(),
cstrnCst: z.number().default(0),
fcltSbsdCstrnCst: z.number().default(0),
prcsFcltCpctCstrnCst: z.number().default(0),
dmdInfoSn: z.number().nullish(), // 수요정보 일련번호
usgPrcsProcs: z.string().nullish(), // 용도에 따른 처리공정
cstrnCst: z.number().default(0), // 공급관로 표준공사비(백만원)
fcltSbsdCstrnCst: z.number().default(0), // 시설부대경비
prcsFcltCpctCstrnCst: z.number().default(0), // 처리시설용량에 따른 공사비(백만원) - 처리시설용량공사비용
});
export const DmdCoReqSchema = z.object({
cityText: z.string().nullish(),
sggText: z.string().nullish(),
dmdInfoSn: z.number().default(0),
dmdInfoId: z.string().default(''),
dmndTmng: z.coerce.date().nullish(),
dmndQty: z.number().nullish(), // null 또는 undefined 허용
blgcOxygDmndQnt: z.number().nullish(),
wntUntprc: z.number().nullish(),
grssClfg: z.number().nullish(),
combResdch: z.number().nullish(),
trbt: z.number().nullish(),
smll: z.string().nullish(),
crmty: z.number().nullish(),
tn: z.number().nullish(),
tph: z.number().nullish(),
ph: z.string().nullish(),
clIonQnt: z.number().nullish(),
cdtnv: z.number().nullish(),
rmrk: z.string().nullish(),
useUsgCd: z.string().nullish(),
mtchnCmptnYmd: z.string().nullish(),
rvwCmptnYmd: z.string().nullish(),
demandCo: DemandCoSchema.nullish(),
demandMatching: DemandMatchingSchema.nullish(),
demandCst: DemandCstSchema.nullish(),
ruseUtztnFcltNm: z.string().nullish(),
cityText: z.string().nullish(), // 시도
sggText: z.string().nullish(), // 시군구
dmdInfoSn: z.number().default(0), // 수요정보 일련번호
dmdInfoId: z.string().default(''), // 수요정보 ID
dmndTmng: z.coerce.date().nullish(), // 요구시기
dmndQty: z.number().nullish(), // 요구수량(m³/일)
blgcOxygDmndQnt: z.number().nullish(), // 생물학적 산소요구량(BOD)(mg/L)
wntUntprc: z.number().nullish(), // 희망단가(원/m3)
grssClfg: z.number().nullish(), // 총대장균군수(개/mg)
combResdch: z.number().nullish(), // 결합잔류염소(mg/L)
trbt: z.number().nullish(), // 탁도(NTU)
smll: z.string().nullish(), // 냄새
crmty: z.number().nullish(), // 색도(도)
tn: z.number().nullish(), // 총질소(T-N)(mg/L)
tph: z.number().nullish(), // 총인(T-P)(mg/L)
ph: z.string().nullish(), // 수소이온농도(pH)
clIonQnt: z.number().nullish(), // 염화물(mgCL/L)
cdtnv: z.number().nullish(), // 전기전도도(㎲/cm)
rmrk: z.string().nullish(), // 비고
useUsgCd: z.string().nullish(), // 사용용도
mtchnCmptnYmd: z.string().nullish(), // 매칭완료일
rvwCmptnYmd: z.string().nullish(), // 검토완료일
demandCo: DemandCoSchema.nullish(), // 수요처 정보
demandMatching: DemandMatchingSchema.nullish(), // 매칭 정보
demandCst: DemandCstSchema.nullish(), // 공사비 정보
ruseUtztnFcltNm: z.string().nullish(), // 공급처 선정
splyCndtList: z.array(
z.object({
ruseUtztnFcltNm: z.string(),
ruseUtztnFcltCd: z.string(),
ruseUtztnFcltNm: z.string(), // 공급처명
ruseUtztnFcltCd: z.string(), // 공급처 코드
}).nullish()
).nullish(),
totalConstCost: z.number().nullish(),
).nullish(), // 공급처 후보지 목록
totalConstCost: z.number().nullish(), // 처리시설 총사업비(백만원)
});
export type DmdCoReqType = z.infer<typeof DmdCoReqSchema>;
@@ -159,4 +159,4 @@ export type rateFeeType = {
export type SupplyCandidate = {
ruseUtztnFcltNm: string;
ruseUtztnFcltCd: string;
};
};
@@ -249,12 +249,12 @@ export default function ConCostForm({
if (type === "mat") {
if (value.demandCst) {
const data: DedMatUpdateType = {
dmdInfoSn: value.dmdInfoSn,
usgPrcsProcs: value.demandCst.usgPrcsProcs || "",
cstrnCst: value.demandCst.cstrnCst || 0,
fcltSbsdCstrnCst: value.demandCst.fcltSbsdCstrnCst || 0,
prcsFcltCpctCstrnCst: value.demandCst.prcsFcltCpctCstrnCst || 0,
flg: checkFinish ? "Checked" : "Sub",
dmdInfoSn: value.dmdInfoSn, // 수요정보 일련번호
usgPrcsProcs: value.demandCst.usgPrcsProcs || "", // 용도에 따른 처리공정
cstrnCst: value.demandCst.cstrnCst || 0, // 공급관로 표준공사비(백만원)
fcltSbsdCstrnCst: value.demandCst.fcltSbsdCstrnCst || 0, // 시설부대경비
prcsFcltCpctCstrnCst: value.demandCst.prcsFcltCpctCstrnCst || 0, // 처리시설용량에 따른 공사비(백만원)
flg: checkFinish ? "Checked" : "Sub", // "Sub": 검토중, "Checked": 검토완료(재이용검토이력 화면에 나타남)
rgtr: TEST_UUID,
};
@@ -394,10 +394,11 @@ export default function ConCostForm({
</>
)}
</div>
<div className="col-span-12 ml-4 mr-4">
<h1 className={formH1Class}>기본사항</h1>
</div>
<div className="grid grid-cols-12 gap-4 ml-4 mr-4">
<div className="col-span-12 w-full">
<h1 className={formH1Class}>기본사항</h1>
</div>
<div className="col-span-3 mt-4">
<FormField
control={activeForm.control}
@@ -519,7 +520,7 @@ export default function ConCostForm({
<h1 className={formH1Class}>공사비 입력사항</h1>
</div>
<div className="col-span-2 mt-4">
<div className="col-span-3 mt-4">
<div className="flex items-center justify-between">
<PopoverUi
childrenTriger={
@@ -552,7 +553,7 @@ export default function ConCostForm({
}}
value={field.value ?? 0}
readOnly
className={readOnlyInputClass}
className={`mt-2 ${readOnlyInputClass}`}
/>
</FormUi>
)}
@@ -590,7 +591,7 @@ export default function ConCostForm({
}}
value={field.value ?? 0}
readOnly
className={readOnlyInputClass}
className={`mt-2 ${readOnlyInputClass}`}
/>
</FormUi>
)}
@@ -645,22 +646,23 @@ export default function ConCostForm({
<div className="col-span-3 mt-4">
<div className="flex items-center justify-between">
<Label>공급처 선정</Label>
<Button size={"sm"} onClick={searchCandidate} className="bg-none">
<Button size={"xs"} onClick={searchCandidate} className="bg-none">
후보지 조회
</Button>
</div>
<FormUi label="">
<Input
placeholder=""
type="text"
value={lastSub?.ruseUtztnFcltNm || ""}
readOnly
className={readOnlyInputClass}
/>
<Input
placeholder=""
type="text"
value={lastSub?.ruseUtztnFcltNm || ""}
readOnly
className={`mt-2 ${readOnlyInputClass}`}
/>
</FormUi>
</div>
)}
<div className="col-span-3 mt-4">
<div className="col-span-2 mt-4">
<FormField
control={activeForm.control}
name="demandCst.cstrnCst"