diff options
Diffstat (limited to 'lib/general-contracts_old/types.ts')
| -rw-r--r-- | lib/general-contracts_old/types.ts | 125 |
1 files changed, 125 insertions, 0 deletions
diff --git a/lib/general-contracts_old/types.ts b/lib/general-contracts_old/types.ts new file mode 100644 index 00000000..2b6731b6 --- /dev/null +++ b/lib/general-contracts_old/types.ts @@ -0,0 +1,125 @@ +// 일반계약 관련 타입 정의
+
+// 1. 계약구분
+export const GENERAL_CONTRACT_CATEGORIES = [
+ 'unit_price', // 단가계약
+ 'general', // 일반계약
+ 'sale' // 매각계약
+] as const;
+
+export type GeneralContractCategory = typeof GENERAL_CONTRACT_CATEGORIES[number];
+
+// 2. 계약종류
+export const GENERAL_CONTRACT_TYPES = [
+ 'UP', // 자재단가계약
+ 'LE', // 임대차계약
+ 'IL', // 개별운송계약
+ 'AL', // 연간운송계약
+ 'OS', // 외주용역계약
+ 'OW', // 도급계약
+ 'IS', // 검사계약
+ 'LO', // LOI (의향서)
+ 'FA', // FA (Frame Agreement)
+ 'SC', // 납품합의계약 (Supply Contract)
+ 'OF', // 클레임상계계약 (Offset Agreement)
+ 'AW', // 사전작업합의 (Advanced Work)
+ 'AD', // 사전납품합의 (Advanced Delivery)
+ 'AM', // 설계계약
+ 'SC_SELL' // 폐기물매각계약 (Scrap) - 납품합의계약과 코드 중복으로 별도 명명
+] as const;
+
+export type GeneralContractType = typeof GENERAL_CONTRACT_TYPES[number];
+
+// 3. 계약상태
+export const GENERAL_CONTRACT_STATUSES = [
+ 'Draft', // 임시 저장
+ 'Request to Review', // 조건검토요청
+ 'Confirm to Review', // 조건검토완료
+ 'Contract Accept Request', // 계약승인요청
+ 'Complete the Contract', // 계약체결(승인)
+ 'Reject to Accept Contract', // 계약승인거절
+ 'Contract Delete', // 계약폐기
+ 'PCR Request', // PCR요청
+ 'VO Request', // VO 요청
+ 'PCR Accept', // PCR승인
+ 'PCR Reject' // PCR거절
+] as const;
+
+export type GeneralContractStatus = typeof GENERAL_CONTRACT_STATUSES[number];
+
+// 4. 체결방식
+export const GENERAL_EXECUTION_METHODS = [
+ '전자계약',
+ '오프라인계약'
+] as const;
+
+export type GeneralExecutionMethod = typeof GENERAL_EXECUTION_METHODS[number];
+
+// 6. 계약확정범위
+export const GENERAL_CONTRACT_SCOPES = [
+ '단가',
+ '금액',
+ '물량',
+ '기타'
+] as const;
+
+export type GeneralContractScope = typeof GENERAL_CONTRACT_SCOPES[number];
+
+// 7. 납기종류
+export const GENERAL_DELIVERY_TYPES = [
+ '단일납기',
+ '분할납기',
+ '구간납기'
+] as const;
+
+export type GeneralDeliveryType = typeof GENERAL_DELIVERY_TYPES[number];
+
+// 8. 연동제 적용 여부
+export const GENERAL_LINKAGE_TYPES = [
+ 'Y',
+ 'N'
+] as const;
+
+export type GeneralLinkageType = typeof GENERAL_LINKAGE_TYPES[number];
+
+// 9. 하도급법 점검결과
+export const GENERAL_COMPLIANCE_RESULTS = [
+ '준수',
+ '위반',
+ '위반의심'
+] as const;
+
+export type GeneralComplianceResult = typeof GENERAL_COMPLIANCE_RESULTS[number];
+
+// 타입 가드 함수들
+export const isGeneralContractCategory = (value: string): value is GeneralContractCategory => {
+ return GENERAL_CONTRACT_CATEGORIES.includes(value as GeneralContractCategory);
+};
+
+export const isGeneralContractType = (value: string): value is GeneralContractType => {
+ return GENERAL_CONTRACT_TYPES.includes(value as GeneralContractType);
+};
+
+export const isGeneralContractStatus = (value: string): value is GeneralContractStatus => {
+ return GENERAL_CONTRACT_STATUSES.includes(value as GeneralContractStatus);
+};
+
+export const isGeneralExecutionMethod = (value: string): value is GeneralExecutionMethod => {
+ return GENERAL_EXECUTION_METHODS.includes(value as GeneralExecutionMethod);
+};
+
+export const isGeneralContractScope = (value: string): value is GeneralContractScope => {
+ return GENERAL_CONTRACT_SCOPES.includes(value as GeneralContractScope);
+};
+
+export const isGeneralDeliveryType = (value: string): value is GeneralDeliveryType => {
+ return GENERAL_DELIVERY_TYPES.includes(value as GeneralDeliveryType);
+};
+
+export const isGeneralLinkageType = (value: string): value is GeneralLinkageType => {
+ return GENERAL_LINKAGE_TYPES.includes(value as GeneralLinkageType);
+};
+
+export const isGeneralComplianceResult = (value: string): value is GeneralComplianceResult => {
+ return GENERAL_COMPLIANCE_RESULTS.includes(value as GeneralComplianceResult);
+};
|
