onsitesurvey/src/types/Survey.ts

558 lines
13 KiB
TypeScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/**
* @description 조사 매물 타입
*/
export type SurveyBasicInfo = {
/* 조사 매물 ID */
id: number
/* 담당자명 */
representative: string
/* 담당자 ID */
representativeId: string | null
/* 판매점명 */
store: string | null
/* 판매점 ID */
storeId: string | null
/* 시공점명 */
constructionPoint: string | null
/* 시공점 ID */
constructionPointId: string | null
/* 조사 일자 */
investigationDate: string | null
/* 건물 이름 */
buildingName: string | null
/* 고객명 */
customerName: string | null
/* 우편번호 */
postCode: string | null
/* 주소 (도도부현) */
address: string | null
/* 상세 주소 */
addressDetail: string | null
/* 제출 상태 */
submissionStatus: boolean
/* 제출 일시 */
submissionDate: string | null
/* 조사 매물 상세 데이터 */
detailInfo: SurveyDetailInfo | null
/* 등록 일시 */
regDt: Date
/* 수정 일시 */
uptDt: Date
/* 제출 대상 판매점 ID */
submissionTargetId: string | null
/* 제출 대상 판매점명 */
submissionTargetNm: string | null
/* 일련번호 */
srlNo: string | null
}
/**
* @description 조사 매물 상세 타입
*/
export type SurveyDetailInfo = {
/* 조사 매물 상세 ID */
id: number
/* 조사 매물 기본 데이터 ID */
basicInfoId: number
/* 전기계약 용량 */
contractCapacity: string | null
/* 전기 소매 회사 */
retailCompany: string | null
/* 전기 부대 설비 */
supplementaryFacilities: string | null // number 배열
/* 전기 부대 설비 기타 */
supplementaryFacilitiesEtc: string | null
/* 설치 희망 시스템 */
installationSystem: string | null
/* 설치 희망 시스템 기타 */
installationSystemEtc: string | null
/* 건축 년도 */
constructionYear: string | null
/* 건축 년도 기타 */
constructionYearEtc: string | null
/* 지붕재 - 다중 선택 가능 [number]*/
roofMaterial: string | null
/* 지붕재 기타 */
roofMaterialEtc: string | null
/* 지붕모양 */
roofShape: string | null
/* 지붕모양 기타 */
roofShapeEtc: string | null
/* 지붕 경사 */
roofSlope: string | null
/* 주택 구조 */
houseStructure: string | null
/* 주택 구조 기타 */
houseStructureEtc: string | null
/* 서까래 재질*/
rafterMaterial: string | null
/* 서까래 재질 기타 */
rafterMaterialEtc: string | null
/* 서까래 크기 */
rafterSize: string | null
/* 서까래 크기 기타 */
rafterSizeEtc: string | null
/* 서까래 피치 */
rafterPitch: string | null
/* 서까래 피치 기타 */
rafterPitchEtc: string | null
/* 서까래 방향 */
rafterDirection: string | null
/* 노지판의 종류 */
openFieldPlateKind: string | null
/* 노지판의 종류 기타 */
openFieldPlateKindEtc: string | null
/* 노지판의 두께 */
openFieldPlateThickness: string | null
/* 누수 흔적 */
leakTrace: boolean | null
/* 방수재 종류*/
waterproofMaterial: string | null
/* 방수재 종류 기타 */
waterproofMaterialEtc: string | null
/* 단열재 유무 */
insulationPresence: string | null
/* 단열재 유무 기타 */
insulationPresenceEtc: string | null
/* 지붕 구조의 순서*/
structureOrder: string | null
/* 지붕 구조의 순서 기타 */
structureOrderEtc: string | null
/* 지붕 제품명 설치 가능 여부 확인*/
installationAvailability: string | null
/* 지붕 제품명 설치 가능 여부 확인 기타 */
installationAvailabilityEtc: string | null
/* 메모 */
memo: string | null
/* 등록 일시 */
regDt: Date
/* 수정 일시 */
uptDt: Date
}
/**
* @description 조사 매물 생성 요청 파라미터 타입
*/
export type SurveyBasicRequest = {
/* 담당자명 */
representative: string
/* 담당자 ID */
representativeId: string | null
/* 판매점명 */
store: string | null
/* 판매점 ID */
storeId: string | null
/* 시공점명 */
constructionPoint: string | null
/* 시공점 ID */
constructionPointId: string | null
/* 조사 일자 */
investigationDate: string | null
/* 건물 이름 */
buildingName: string | null
/* 고객명 */
customerName: string | null
/* 우편번호 */
postCode: string | null
/* 주소 (도도부현) */
address: string | null
/* 상세 주소 */
addressDetail: string | null
/* 제출 상태 */
submissionStatus: boolean
/* 제출 일시 */
submissionDate: string | null
/* 제출 대상 판매점 ID */
submissionTargetId: string | null
/* 제출 대상 판매점명 */
submissionTargetNm: string | null
/* 일련번호 */
srlNo: string | null
}
/**
* @description 조사 매물 상세 요청 파라미터 타입
*/
export type SurveyDetailRequest = {
/* 전기계약 용량 */
contractCapacity: string | null
/* 전기 소매 회사 */
retailCompany: string | null
/* 전기 부대 설비 */
supplementaryFacilities: string | null // number 배열
/* 전기 부대 설비 기타 */
supplementaryFacilitiesEtc: string | null
/* 설치 희망 시스템 */
installationSystem: string | null
/* 설치 희망 시스템 기타 */
installationSystemEtc: string | null
/* 건축 년도 */
constructionYear: string | null
/* 건축 년도 기타 */
constructionYearEtc: string | null
/* 지붕재 - 다중 선택 가능 [number]*/
roofMaterial: string | null
/* 지붕재 기타 */
roofMaterialEtc: string | null
/* 지붕모양 */
roofShape: string | null
/* 지붕모양 기타 */
roofShapeEtc: string | null
/* 지붕 경사 */
roofSlope: string | null
/* 주택 구조 */
houseStructure: string | null
/* 주택 구조 기타 */
houseStructureEtc: string | null
/* 서까래 재질*/
rafterMaterial: string | null
/* 서까래 재질 기타 */
rafterMaterialEtc: string | null
/* 서까래 크기 */
rafterSize: string | null
/* 서까래 크기 기타 */
rafterSizeEtc: string | null
/* 서까래 피치 */
rafterPitch: string | null
/* 서까래 피치 기타 */
rafterPitchEtc: string | null
/* 서까래 방향 */
rafterDirection: string | null
/* 노지판의 종류 */
openFieldPlateKind: string | null
/* 노지판의 종류 기타 */
openFieldPlateKindEtc: string | null
/* 노지판의 두께 */
openFieldPlateThickness: string | null
/* 누수 흔적 */
leakTrace: boolean | null
/* 방수재 종류*/
waterproofMaterial: string | null
/* 방수재 종류 기타 */
waterproofMaterialEtc: string | null
/* 단열재 유무 */
insulationPresence: string | null
/* 단열재 유무 기타 */
insulationPresenceEtc: string | null
/* 지붕 구조의 순서*/
structureOrder: string | null
/* 지붕 구조의 순서 기타 */
structureOrderEtc: string | null
/* 지붕 제품명 설치 가능 여부 확인*/
installationAvailability: string | null
/* 지붕 제품명 설치 가능 여부 확인 기타 */
installationAvailabilityEtc: string | null
/* 메모 */
memo: string | null
}
/**
* @description 조사 매물 등록 요청 파라미터 타입
*/
export type SurveyRegistRequest = {
/* 담당자명 */
representative: string
/* 담당자 ID */
representativeId: string | null
/* 판매점명 */
store: string | null
/* 판매점 ID */
storeId: string | null
/* 시공점명 */
constructionPoint: string | null
/* 조사 일자 */
investigationDate: string | null
/* 건물 이름 */
buildingName: string | null
/* 고객명 */
customerName: string | null
/* 우편번호 */
postCode: string | null
/* 주소 (도도부현) */
address: string | null
/* 상세 주소 */
addressDetail: string | null
/* 제출 상태 */
submissionStatus: boolean
/* 제출 일시 */
submissionDate: string | null
/* 조사 매물 상세 데이터 */
detailInfo: SurveyDetailRequest | null
/* 제출 대상 판매점 ID */
submissionTargetId: string | null
/* 일련번호 */
srlNo: string | null
}
/**
* @description 조사 매물 페이지 모드
*/
export type Mode = 'CREATE' | 'EDIT' | 'READ' | 'SUBMIT'
export type SubmitTargetResponse = {
/* 제출 대상 판매점 ID */
targetStoreId: string
/* 제출 대상 판매점명 */
targetStoreNm: string
/* 담당자 ID */
repUserId: string
/* 담당자 이메일 */
repUserEmail: string
/* 권한 */
auth: string
}
/**
* @description 조사매물 검색 파라미터 타입
*/
export type SurveySearchParams = {
/** 검색 키워드 */
keyword?: string | null
/** 검색 옵션 */
searchOption?: string | null
/** 내 조사매물 여부 */
isMySurvey?: string | null
/** 정렬 옵션 */
sort?: string | null
/** 페이지 번호 */
offset?: string | null
/** 권한 */
role?: string | null
/** 판매점 ID */
storeId?: string | null
/** 시공점 ID */
builderId?: string | null
}
type RadioEtcKeys =
| 'structureOrder'
| 'houseStructure'
| 'rafterMaterial'
| 'waterproofMaterial'
| 'insulationPresence'
| 'rafterDirection'
| 'leakTrace'
type SelectBoxKeys =
| 'installationSystem'
| 'constructionYear'
| 'roofShape'
| 'rafterPitch'
| 'rafterSize'
| 'openFieldPlateKind'
| 'installationAvailability'
export const supplementaryFacilities = [
/** 에코큐트 */
{ id: 1, name: 'エコキュート' },
/** 에네팜 */
{ id: 2, name: 'エネパーム' },
/** 축전지시스템 */
{ id: 3, name: '蓄電池システム' },
/** 태양광발전 */
{ id: 4, name: '太陽光発電' },
]
export const roofMaterial = [
/** 슬레이트 */
{ id: 1, name: 'スレート' },
/** 아스팔트 싱글 */
{ id: 2, name: 'アスファルトシングル' },
/** 기와 */
{ id: 3, name: '瓦' },
/** 금속지붕 */
{ id: 4, name: '金属屋根' },
]
export const selectBoxOptions: Record<SelectBoxKeys, { id: number; name: string }[]> = {
installationSystem: [
{
/** 태양광발전 */
id: 1,
name: '太陽光発電',
},
{
/** 하이브리드축전지시스템 */
id: 2,
name: 'ハイブリッド蓄電システム',
},
{
/** 축전지시스템 */
id: 3,
name: '蓄電池システム',
},
],
constructionYear: [
{
/** 신축 */
id: 1,
name: '新築',
},
{
/** 기축 */
id: 2,
name: '既築',
},
],
roofShape: [
{
/** 박공지붕 */
id: 1,
name: '切妻',
},
{
/** 기동 */
id: 2,
name: '寄棟',
},
{
/** 한쪽흐름 */
id: 3,
name: '片流れ',
},
],
rafterSize: [
{
/** 35mm 이상×48mm 이상 */
id: 1,
name: '幅35mm以上×高さ48mm以上',
},
{
/** 36mm 이상×46mm 이상 */
id: 2,
name: '幅36mm以上×高さ46mm以上',
},
{
/** 37mm 이상×43mm 이상 */
id: 3,
name: '幅37mm以上×高さ43mm以上',
},
{
/** 38mm 이상×40mm 이상 */
id: 4,
name: '幅38mm以上×高さ40mm以上',
},
],
rafterPitch: [
{
/** 455mm 이하 */
id: 1,
name: '455mm以下',
},
{
/** 500mm 이하 */
id: 2,
name: '500mm以下',
},
{
/** 606mm 이하 */
id: 3,
name: '606mm以下',
},
],
openFieldPlateKind: [
{
/** 구조용합판 */
id: 1,
name: '構造用合板',
},
{
/** OSB */
id: 2,
name: 'OSB',
},
{
/** 파티클보드 */
id: 3,
name: 'パーティクルボード',
},
{
/** 소판 */
id: 4,
name: '小幅板',
},
],
installationAvailability: [
{
/** 확인완료 */
id: 1,
name: '確認済み',
},
{
/** 미확인 */
id: 2,
name: '未確認',
},
],
}
export const radioEtcData: Record<RadioEtcKeys, { id: number; label: string }[]> = {
structureOrder: [
{
/** 지붕재 - 방수재 - 지붕의기초 - 서까래 */
id: 1,
label: '屋根材 > 防水材 > 屋根の基礎 > 垂木',
},
],
houseStructure: [
{
/** 목재 */
id: 1,
label: '木製',
},
],
rafterMaterial: [
{
/** 목재 */
id: 1,
label: '木製',
},
{
/** 강재 */
id: 2,
label: '強制',
},
],
waterproofMaterial: [
{
/** 아스팔트 지붕 940(22kg 이상) */
id: 1,
label: 'アスファルト屋根94022kg以上',
},
],
insulationPresence: [
{
/** 없음 */
id: 1,
label: 'なし',
},
{
/** 있음 */
id: 2,
label: 'あり',
},
],
rafterDirection: [
{
/** 수직 */
id: 1,
label: '垂直垂木',
},
{
/** 수평 */
id: 2,
label: '水平垂木',
},
],
leakTrace: [
{
/** 있음 */
id: 1,
label: 'あり',
},
{
/** 없음 */
id: 2,
label: 'なし',
},
],
}