샘플데이터 변경

This commit is contained in:
leedj312
2025-05-26 17:40:23 +09:00
parent d16e09e9d9
commit a77cc6a876
3 changed files with 123 additions and 122 deletions
@@ -2,19 +2,29 @@ import { z } from "zod";
import type { TableUpperProps } from "../rainReg";
import { fetchType, getFetch, postFectch } from "@/components/lib/api";
import type { chHeadType } from "@/app/store/prfmncReg/chkgdnReg/rainChkgdn/headList";
import { exampleData, fcBizSchema, type customPbnst, type pubHasuType } from "./type";
import {
exampleData,
fcBizSchema,
type customPbnst,
type pubHasuType,
} from "./type";
import type { SelectDataType } from "@common/business_components/ui";
import { pbnstMngUpHeadListExport, pbnstOrgwtHeadListRxport, pbnstMngNmExport, pubFacHeadListExport, pplInstlsHeadListExport, pbnstDemandHeadListExport } from "./headList";
import {
pbnstMngUpHeadListExport,
pbnstOrgwtHeadListRxport,
pbnstMngNmExport,
pubFacHeadListExport,
pplInstlsHeadListExport,
pbnstDemandHeadListExport,
} from "./headList";
const selectLabel: SelectDataType[] = [{ text: "test", val: "1" }];
const pubFacHeadList= pubFacHeadListExport;
const pbnstMngUpHeadList = pbnstMngUpHeadListExport
const pbnstOrgwtHeadList =pbnstOrgwtHeadListRxport
const pbnstMngNm= pbnstMngNmExport;
const pplInstlsHeadLisat =pplInstlsHeadListExport
const pbnstDemandHeadList= pbnstDemandHeadListExport
const pubFacHeadList = pubFacHeadListExport;
const pbnstMngUpHeadList = pbnstMngUpHeadListExport;
const pbnstOrgwtHeadList = pbnstOrgwtHeadListRxport;
const pbnstMngNm = pbnstMngNmExport;
const pplInstlsHeadLisat = pplInstlsHeadListExport;
const pbnstDemandHeadList = pbnstDemandHeadListExport;
export type pubFacState = {
pbnst: {
@@ -22,13 +32,13 @@ export type pubFacState = {
pubFacHeadList: TableUpperProps[];
pbnstMngUpHeadList: TableUpperProps[];
pbnstMngNm: chHeadType[];
pbnstHasuRes: pubHasuType[]
pbnstHasuRes: pubHasuType[];
pbnstRes: customPbnst | null; // 배열에서 단일 객체 또는 null로 변경
pbnstBizCycle: SelectDataType[];
selectLabel: SelectDataType[];
pbnstOrgwtHeadList:TableUpperProps[]
pplInstlsHeadLisat:TableUpperProps[]
pbnstDemandHeadList:TableUpperProps[]
pbnstOrgwtHeadList: TableUpperProps[];
pplInstlsHeadLisat: TableUpperProps[];
pbnstDemandHeadList: TableUpperProps[];
};
};
type pubFacActions = {
@@ -36,6 +46,7 @@ type pubFacActions = {
pbnstRegInit: (sgg: string) => void;
pbnstRegSearch: (txt: string | undefined, sgg: string) => void;
pbnstReg: (txt: string | undefined) => void;
pbnstUpdate(pbnstRes: customPbnst) : Promise<void>;
};
export type pubFacType = pubFacState & pubFacActions;
@@ -46,49 +57,43 @@ export const pubFacStateExport: pubFacState = {
pubFacHeadList: pubFacHeadList,
pbnstMngUpHeadList: pbnstMngUpHeadList,
pbnstMngNm: pbnstMngNm,
pbnstOrgwtHeadList:pbnstOrgwtHeadList,
pbnstOrgwtHeadList: pbnstOrgwtHeadList,
pbnstHasuRes: [],
pbnstRes: null, // 초기값을 null로 변경
pbnstBizCycle:[{text:'없음', val:'1'}],
pbnstBizCycle: [{ text: "없음", val: "1" }],
selectLabel: selectLabel,
pplInstlsHeadLisat:pplInstlsHeadLisat,
pbnstDemandHeadList:pbnstDemandHeadList,
pplInstlsHeadLisat: pplInstlsHeadLisat,
pbnstDemandHeadList: pbnstDemandHeadList,
},
};
const checkWrRegList = async () => {
const wrRegList = await getFetch(
"wr",
`/reuseFc/pubFc`
);
const wrRegList = await getFetch("wr", `/reuseFc/pubFc`);
return wrRegList;
}
};
const hasuListFetch = async (txt: string | undefined) => {
const checkWrRegListRes = await checkWrRegList();
const hasuListFetch = async (txt: string | undefined ) => {
const checkWrRegListRes = await checkWrRegList()
// prcsFclt/ruseInfo/1/20/A/11/0/1/SW
// prcsFclt/ruseInfo/1/20/A/11/0/1/SW
const rainRes = await postFectch(
`/prcsFclt/ruseInfo/1/10/A/11` + "/0" + "/1" +"/SW"
,checkWrRegListRes,
fetchType.COMMON );
`/prcsFclt/ruseInfo/1/10/A/11` + "/0" + "/1" + "/SW",
checkWrRegListRes,
fetchType.COMMON
);
const hasuList = rainRes.data.map((item: any) => {
const hasuList = rainRes.data.map((item: any) => {
return {
...item,
ruse: item.ruse===false ? 'N' : 'Y', };
})
ruse: item.ruse === false ? "N" : "Y",
};
});
return hasuList;
};
const getBizCycle = (fcBizs: z.infer<typeof fcBizSchema>[] ) => {
const pbnstBizCycle =fcBizs.map((item: z.infer<typeof fcBizSchema>) => {
const getBizCycle = (fcBizs: z.infer<typeof fcBizSchema>[]) => {
const pbnstBizCycle = fcBizs.map((item: z.infer<typeof fcBizSchema>) => {
return {
text: `${item.cycl}차`,
val: item.cycl,
@@ -96,22 +101,20 @@ const getBizCycle = (fcBizs: z.infer<typeof fcBizSchema>[] ) => {
});
return pbnstBizCycle;
}
};
export const pubFacActionsExport: (set: any) => pubFacActions = (set: any) => {
return {
pubHasuInit: async (txt: string | undefined) => {
try {
const pbnstHasuRes = await hasuListFetch(txt);
console.log('qwe ',pbnstHasuRes)
console.log("qwe ", pbnstHasuRes);
return set((state: pubFacState) => ({
...state,
pbnst: {
...state.pbnst,
pbnstHasuRes:pbnstHasuRes,
pbnstHasuRes: pbnstHasuRes,
isInit: false,
},
}));
@@ -124,16 +127,16 @@ export const pubFacActionsExport: (set: any) => pubFacActions = (set: any) => {
try {
//const pbnstRes = await initFetch(txt);
const pbnstRes = exampleData;
const pbnstRes = exampleData;
const pbnstBizCycle = pbnstRes ? getBizCycle(pbnstRes.fcBizs) : []; // pbnstRes가 null일 수 있으므로 체크
const pbnstBizCycle = pbnstRes ? getBizCycle(pbnstRes.fcBizs) : []; // pbnstRes가 null일 수 있으므로 체크
return set((state: pubFacState) => ({
...state,
pbnst: {
...state.pbnst,
pbnstRes: pbnstRes,
pbnstBizCycle:pbnstBizCycle,
pbnstBizCycle: pbnstBizCycle,
isInit: false,
},
}));
@@ -148,15 +151,15 @@ export const pubFacActionsExport: (set: any) => pubFacActions = (set: any) => {
`/api/v1/reuseFc/pubFc` + (txt ? `/${txt}` : "") + `/${sgg}`
);
// API 응답이 pbnstRegZod 타입의 단일 객체라고 가정
const pbnstBizCycle = pbnstRes && pbnstRes.fcBizs ? getBizCycle(pbnstRes.fcBizs) : [];
const pbnstBizCycle =
pbnstRes && pbnstRes.fcBizs ? getBizCycle(pbnstRes.fcBizs) : [];
return set((state: pubFacState) => ({
...state,
pbnst: {
...state.pbnst,
pbnstReg: pbnstRes,
pbnstBizCycle:pbnstBizCycle,
pbnstBizCycle: pbnstBizCycle,
isInit: false,
},
}));
@@ -179,5 +182,24 @@ export const pubFacActionsExport: (set: any) => pubFacActions = (set: any) => {
console.log(errorHasu);
}
},
pbnstUpdate: async (pbnstRes: customPbnst) => {
try {
const response = await postFectch(
`/reuseFc/pubFc`,
JSON.stringify(pbnstRes)
);
return set((state: pubFacState) => ({
...state,
pbnst: {
...state.pbnst,
pbnstRes: response.data,
isInit: false,
},
}));
} catch (error) {
console.error("Error updating pbnst:", error);
}
},
};
};
@@ -1,4 +1,5 @@
import { z } from "zod";
import { TEST_UUID } from "../rainReg";
export type customPbnst = z.infer<typeof pbnstRegZod>;
@@ -63,9 +64,9 @@ const fcFileSchema = z.object({
filePath: z.string().default("test"),
fileKnd: z.string().default("test"),
regDt: z.date().default(new Date()),
rgtr: z.string().default("test"),
rgtr: z.string(),
mdfcnDt: z.date().default(new Date()),
mdfr: z.string().default("test"),
mdfr: z.string(),
});
const fcOperSchema = z.object({
@@ -73,11 +74,11 @@ const fcOperSchema = z.object({
pbnstRuseFcltFk: z.number().default(0),
operMthd: z.string(),
rprtvBzenty: z.string(),
bgngDt: z.date().default(new Date()),
endDt: z.date().default(new Date()),
regDt: z.date().default(new Date()),
rgtr: z.string().default("test"),
mdfcnDt: z.date().default(new Date()),
bgngDt: z.string(),
endDt: z.string(),
regDt: z.date().nullish(),
rgtr: z.string(),
mdfcnDt: z.date(),
mdfr: z.string().default("test"),
});
@@ -88,10 +89,10 @@ const fcOrgwtSchema = z.object({
tmsYn: z.string(),
dschgFmYn: z.string(),
dtlPstnExpln: z.string(),
regDt: z.date().default(new Date()),
rgtr: z.string().default("test"),
mdfcnDt: z.date().default(new Date()),
mdfr: z.string().default("test"),
regDt: z.date().nullish(),
rgtr: z.string(),
mdfcnDt: z.date().nullish(),
mdfr: z.string(),
});
const fcPrfmncSchema = z.object({
@@ -112,10 +113,10 @@ const fcPrfmncSchema = z.object({
farmUswtr: z.string(),
ugwtChr: z.string(),
indstUswtr: z.string(),
regDt: z.date().default(new Date()),
rgtr: z.string().default("test"),
mdfcnDt: z.date().default(new Date()),
mdfr: z.string().default("test"),
regDt: z.date().nullish(),
rgtr: z.string(),
mdfcnDt: z.date().nullish(),
mdfr: z.string(),
});
export const fcBizSchema = z.object({
@@ -183,9 +184,9 @@ export const fcBizSchema = z.object({
fcOrgwts: z.array(fcOrgwtSchema),
pplInstls: z.array(pplInstlSchema),
flg: z.string(),
regDt: z.string(),
regDt: z.string().nullish(),
rgtr: z.string(),
mdfcnDt: z.string(),
mdfcnDt: z.string().nullish(),
mdfr: z.string(),
});
@@ -219,19 +220,17 @@ export type pubHasuType = z.infer<typeof pubHasuZod>;
//관경 제외
export const exampleData = {
pbnstRuseFcltPk: 1,
swtrmtFcltFk: "SWTRMT-001",
swtrmtFcltFk: "11000SW001R",
ruseUtztnFcltNm: "재이용시설 A",
fcltCpct: "100",
ruseCpct: "90",
splyExtraCpct: "10",
regDt: new Date("2025-05-21T11:03:26.434810"),
rgtr: "admin",
mdfr: "admin",
mdfcnDt: new Date("2025-05-21T11:03:26.434810"),
rgtr: TEST_UUID,
mdfr: TEST_UUID,
fcFiles: [],
fcBizs: [
{
pbnstRuseFcltBizPk: 10,
pbnstRuseFcltBizPk: 1,
pbnstRuseFcltFk: 1,
cycl: "1",
seCd: "A010",
@@ -292,7 +291,7 @@ export const exampleData = {
archCstClcln: "380",
pplCstClcln: "290",
ruseFcltCstClcln: "4800",
pplInstls:[
pplInstls: [
{
ruseFcltBizFk: "10",
pdmt: "관경",
@@ -308,35 +307,33 @@ export const exampleData = {
],
fcOrgwts: [
{
pbnstRuseFcltBizFk: 10,
swtrmtFcltFk: 1,
pbnstRuseFcltBizFk: 1,
swtrmtFcltFk: "11000SW001R",
orgwtWtritQnt: "100",
tmsYn: "Y",
dschgFmYn: "N",
dtlPstnExpln: "배출 위치",
regDt: new Date("2025-05-21T11:03:26.434810"),
regDt: "20250221",
rgtr: "admin",
mdfcnDt: new Date("2025-05-21T11:03:26.434810"),
mdfcnDt: "20250321",
mdfr: "admin",
},
{
pbnstRuseFcltBizFk: 10,
swtrmtFcltFk: 2,
pbnstRuseFcltBizFk: 1,
swtrmtFcltFk: "11000SW001R",
orgwtWtritQnt: "153",
tmsYn: "Y",
dschgFmYn: "N",
dtlPstnExpln: "배출 위치22",
regDt: new Date("2025-05-21T11:03:26.434810"),
regDt: "20250221",
rgtr: "admin",
mdfcnDt: new Date("2025-05-21T11:03:26.434810"),
mdfcnDt: "20250421",
mdfr: "admin",
},
],
flg: "N",
regDt: "2022-01-01",
rgtr: "admin",
mdfcnDt: "2022-02-01",
mdfr: "admin",
rgtr: TEST_UUID,
mdfr: TEST_UUID,
},
{
pbnstRuseFcltBizPk: 11,
@@ -400,7 +397,7 @@ export const exampleData = {
archCstClcln: "380",
pplCstClcln: "290",
ruseFcltCstClcln: "4800",
pplInstls:[
pplInstls: [
{
ruseFcltBizFk: "11",
pdmt: "관경",
@@ -422,10 +419,8 @@ export const exampleData = {
tmsYn: "Y",
dschgFmYn: "N",
dtlPstnExpln: "배출 위치1",
regDt: new Date("2025-05-21T11:03:26.434810"),
rgtr: "admin",
mdfcnDt: new Date("2025-05-21T11:03:26.434810"),
mdfr: "admin",
rgtr: TEST_UUID,
mdfr: TEST_UUID,
},
{
pbnstRuseFcltBizFk: 11,
@@ -434,17 +429,13 @@ export const exampleData = {
tmsYn: "Y",
dschgFmYn: "N",
dtlPstnExpln: "배출 위치",
regDt: new Date("2025-05-21T11:03:26.434810"),
rgtr: "admin",
mdfcnDt: new Date("2025-05-21T11:03:26.434810"),
mdfr: "admin",
rgtr: TEST_UUID,
mdfr: TEST_UUID,
},
],
flg: "N",
regDt: "2022-01-01",
rgtr: "manager",
mdfcnDt: "2022-02-01",
mdfr: "manager",
rgtr: TEST_UUID,
mdfr: TEST_UUID,
},
],
fcOpers: [
@@ -453,24 +444,19 @@ export const exampleData = {
pbnstRuseFcltFk: 1,
operMthd: "위탁",
rprtvBzenty: "기관명",
bgngDt: new Date("2025-05-21T11:03:26.434810"),
endDt: new Date("2025-05-21T11:03:26.434810"),
regDt: new Date("2025-05-21T11:03:26.434810"),
rgtr: "admin",
mdfcnDt: new Date("2025-05-21T11:03:26.434810"),
mdfr: "admin",
bgngDt: "20230930",
mdfcnDt:"20231230",
rgtr: TEST_UUID,
mdfr: TEST_UUID,
},
{
pbnstRuseFcltOperInfoPk: 101,
pbnstRuseFcltFk: 1,
operMthd: "직영",
rprtvBzenty: "기관명",
bgngDt: new Date("2025-05-21T11:03:26.434810"),
endDt: new Date("2025-05-21T11:03:26.434810"),
regDt: new Date("2025-05-21T11:03:26.434810"),
rgtr: "admin",
mdfcnDt: new Date("2025-05-21T11:03:26.434810"),
mdfr: "admin",
bgngDt: "20241130",
rgtr:TEST_UUID ,
mdfr: TEST_UUID,
},
],
};
@@ -36,7 +36,7 @@ const formSchema = z.object({
});
export function PbnstMngForm({ data }: { data: customPbnst }) {
const { pbnst } = useWrStore((state) => state);
const { pbnst, pbnstUpdate } = useWrStore((state) => state);
const { pbnstMngUpHeadList} = pbnst;
const [ruseOperData, setRuseOperData] = useState<operType[]>();
const [planFiles, setPlanFiles] = useState<File[] | null>(null);
@@ -62,11 +62,6 @@ export function PbnstMngForm({ data }: { data: customPbnst }) {
name: "fcOpers",
});
// const selectOptions = data?.map((item) => ({
// text: item.fcltNm,
// val: item.pbnstRuseFcltPk,
// })) || [{ text: "없음", val: "1" }];
const onSelectValue = (val: string) => {};
useEffect(() => {
@@ -77,6 +72,8 @@ export function PbnstMngForm({ data }: { data: customPbnst }) {
// 2. Define a submit handler.
function onSubmit(values: z.infer<typeof pbnstRegZod>) {
console.log(values);
pbnstUpdate(values);
}
const testFile = () => {
@@ -141,11 +138,7 @@ export function PbnstMngForm({ data }: { data: customPbnst }) {
</Button>
</div>
<RuseMngTable
tableData={fcOpersField.map((item, index) => ({
...item,
bgngDt: item.bgngDt.toLocaleDateString() || "",
endDt: item.endDt.toLocaleDateString() || "",
}))}
tableData={fcOpersField}
headList={pbnst.pbnstMngUpHeadList}
upHeadList={pbnst.pbnstMngNm}
></RuseMngTable>