import { serial, varchar, timestamp, text, boolean, numeric, decimal, integer, real } from "drizzle-orm/pg-core"; import { pgSchema } from "drizzle-orm/pg-core"; export const sErpSchema = pgSchema("S-ERP"); export const tbSAPEquipInfo = sErpSchema.table("TB_SAP_EquipInfo", { id: serial().primaryKey(), Equipment: varchar({ length: 20 }), Description: varchar({ length: 100 }), EquipCategory: varchar({ length: 2 }), SystemStatus: varchar({ length: 10 }), UserStatus: varchar({ length: 10 }), ObjectType: varchar({ length: 10 }), ABCIndicator: varchar({ length: 2 }), PlanningPlant: varchar({ length: 10 }), PlannerGroup: varchar({ length: 10 }), MainWorkCenter: varchar({ length: 10 }), CostCenter: varchar({ length: 10 }), CatalogProfile: varchar({ length: 10 }), FunctionLocation: varchar({ length: 20 }), FunctionLocationDesc: varchar({ length: 100 }), SuperordEquip: varchar({ length: 10 }), COL1: varchar({ length: 10 }), ConstType: varchar({ length: 10 }), AssetNo: varchar({ length: 10 }), TechnivalIdenNo: varchar({ length: 10 }), Class: varchar({ length: 10 }), MaintenancePlant: varchar({ length: 10 }), PlantSection: varchar({ length: 10 }), PlantSectionDescription: varchar({ length: 10 }), ObjectTypeDesc: varchar({ length: 100 }), MainWorkCenterDesc: varchar({ length: 100 }), CostCenterDesc: varchar({ length: 100 }), ObjectNumber: varchar({ length: 30 }), SubAssetNo: varchar({ length: 10 }), AuthorizGroup: varchar({ length: 10 }), Weight: numeric({ precision: 16, scale: 3 }), WeightUnit: varchar({ length: 10 }), SizeDimension: varchar({ length: 20 }), InventoryNumber: varchar({ length: 50 }), StartUpDate: varchar({ length: 10 }), AcquistnValue: decimal({ precision: 19, scale: 4 }), // MONEY 타입을 decimal로 변환 AcquistnValueCurr: varchar({ length: 10 }), AcquistionDate: varchar({ length: 10 }), Manufacturer: varchar({ length: 50 }), ModelNumber: varchar({ length: 10 }), ManufPartNo: varchar({ length: 10 }), ManufCountry: varchar({ length: 4 }), ManufSerialNo: varchar({ length: 50 }), ConstrYr: varchar({ length: 4 }), ConstrMth: varchar({ length: 2 }), Location: varchar({ length: 10 }), Room: varchar({ length: 10 }), WorkCenter: varchar({ length: 10 }), PPWorkCenter: varchar({ length: 10 }), PPWorkCenterDesc: varchar({ length: 100 }), SortField: varchar({ length: 10 }), CompanyCode: varchar({ length: 10 }), BusinessArea: varchar({ length: 10 }), WBSElement: varchar({ length: 10 }), MainWorkCtrPlant: varchar({ length: 10 }), Position: varchar({ length: 10 }), FinancialManagementArea: varchar({ length: 10 }), CommitmentItem: varchar({ length: 20 }), SysStatus: varchar({ length: 1 }), }); export const tbSAPOrder = sErpSchema.table("TB_SAP_Order", { id: serial().primaryKey(), BreakdownIndicator: varchar({ length: 50 }), Order: varchar({ length: 50 }), OrderType: varchar({ length: 50 }), OrderDescription: varchar({ length: 150 }), MainWorkCenterDesc: varchar({ length: 100 }), FunctionalLocation: varchar({ length: 50 }), Equipment: varchar({ length: 50 }), EquipmentDescriprion: varchar({ length: 100 }), EquipmentSortField: varchar({ length: 50 }), TagNumber: varchar({ length: 50 }), Notification: varchar({ length: 50 }), Priority: varchar({ length: 50 }), PriorityDesc: varchar({ length: 50 }), PlantSection: varchar({ length: 50 }), PMActivityType: varchar({ length: 10 }), MaintenancePlan: varchar({ length: 50 }), StartDate: varchar({ length: 10 }), FinishDate: varchar({ length: 10 }), SystemStatus: varchar({ length: 50 }), UserStatus: varchar({ length: 50 }), CreatedBy: varchar({ length: 50 }), Name: varchar({ length: 50 }), PlanningPlant: varchar({ length: 50 }), PlannerGroupName: varchar({ length: 50 }), MainWorkCenter: varchar({ length: 50 }), MaintenancePlant: varchar({ length: 50 }), PlantSectionDescription: varchar({ length: 50 }), COL1: varchar({ length: 50 }), COL2: varchar({ length: 50 }), BasicStartTime: varchar({ length: 50 }), ActualStartDate: varchar({ length: 50 }), ActualFinishTime: varchar({ length: 50 }), PlanCost: integer(), ActualCost: integer(), SettlementCost: integer(), Balance: integer(), Currency: varchar({ length: 50 }), EquiCategory: varchar({ length: 50 }), ObjectType: varchar({ length: 50 }), ABCOmdocatior: varchar({ length: 50 }), EWRNo: varchar({ length: 50 }), }); export const tbSAPOrderConfirm = sErpSchema.table("TB_SAP_OrderConfirm", { id: serial().primaryKey(), Confirmation: varchar({ length: 50 }), Count: varchar({ length: 50 }), Order: varchar({ length: 50 }), OpAc: varchar({ length: 50 }), OperationText: varchar({ length: 200 }), ActualWork: decimal({ precision: 10, scale: 1 }), Unit: varchar({ length: 50 }), CreateOn: varchar({ length: 10 }), CreateBy: varchar({ length: 50 }), ActualWorker: varchar({ length: 50 }), Name: varchar({ length: 50 }), Reversed: varchar({ length: 50 }), CanceledConfirmation: varchar({ length: 50 }), OrderDescription: varchar({ length: 200 }), BUDAT: varchar({ length: 10 }), STATUS: varchar({ length: 10 }), IWERK: varchar({ length: 50 }), INGRP: varchar({ length: 50 }), GRWRK: varchar({ length: 50 }), AUART: varchar({ length: 50 }), }); export const tbSAPOrderNotice = sErpSchema.table("TB_SAP_OrderNotice", { id: serial().primaryKey(), Status: varchar({ length: 50 }), Notification: integer(), Type: varchar({ length: 50 }), Description: varchar({ length: 64 }), PlanningPlant: varchar({ length: 50 }), PlannerGroup: varchar({ length: 50 }), NameOfPlannerGroup: varchar({ length: 50 }), WorkCenter: varchar({ length: 50 }), NameOfWorkCenter: varchar({ length: 50 }), FunctionalLocation: varchar({ length: 50 }), Equipment: integer(), TagNumber: varchar({ length: 50 }), EquipmentDesc: varchar({ length: 50 }), PlantSection: varchar({ length: 50 }), CostCenter: varchar({ length: 50 }), CostCenterDesc: varchar({ length: 50 }), ABCIndicator: varchar({ length: 50 }), NotificationDate: varchar({ length: 50 }), Createdby: varchar({ length: 50 }), SystemStatus: varchar({ length: 50 }), UserStatus: varchar({ length: 50 }), Order: integer(), Requester: varchar({ length: 50 }), RequesterName: varchar({ length: 50 }), CodeGroup: varchar({ length: 50 }), Code: integer(), CodeDescription: varchar({ length: 50 }), BreakdownIndicator: varchar({ length: 50 }), Priority: varchar({ length: 50 }), PriorityDesc: varchar({ length: 50 }), NotifcatnType: varchar({ length: 50 }), Name1: varchar({ length: 50 }), WorkCenterInt: integer(), ObjectNumber: varchar({ length: 50 }), CHAR05: varchar({ length: 50 }), Link: varchar({ length: 50 }), Link1: varchar({ length: 50 }), Tooltip: varchar({ length: 50 }), PlantSectionDesc: varchar({ length: 50 }), Catalog: varchar({ length: 50 }), Partner: varchar({ length: 50 }), NotificationTime: varchar({ length: 50 }), CompletionDate: varchar({ length: 50 }), CompletionTime: varchar({ length: 50 }), ExtRequester: varchar({ length: 50 }), COL1: varchar({ length: 50 }), // 일상점검미흡 OrderBasicStart: varchar({ length: 50 }), EWRNo: varchar({ length: 50 }), MalfunctionStart: varchar({ length: 50 }), StartTime: varchar({ length: 50 }), MalfunctionEnd: varchar({ length: 50 }), EndTime: varchar({ length: 50 }), BreakdownDuration: real(), // float4 타입을 real로 변환 }); export const tbSAPOrderBreakdown = sErpSchema.table("TB_SAP_OrderBreakdown", { id: serial().primaryKey(), Order: integer(), OrderType: varchar({ length: 50 }), FunctionalLocation: varchar({ length: 50 }), FLDesc: varchar({ length: 50 }), Equipment: integer(), EquipmentDesc: varchar({ length: 50 }), ABCIndicator: varchar({ length: 50 }), MainWorkCenter: varchar({ length: 50 }), WorkCenterDesc: varchar({ length: 50 }), PlannerGroup: varchar({ length: 50 }), PlannerGroupDesc: varchar({ length: 50 }), ActStartDate: varchar({ length: 50 }), ActEndDate: varchar({ length: 50 }), WorkTimeHR: real(), // float4 타입을 real로 변환 ObjectPart: varchar({ length: 50 }), Damage: varchar({ length: 50 }), Cause: varchar({ length: 50 }), Activity: varchar({ length: 50 }), MaterialCost: varchar({ length: 50 }), LaborCost: varchar({ length: 50 }), TotalCost: varchar({ length: 50 }), Currency: varchar({ length: 50 }), Breakdown: varchar({ length: 50 }), MalfunctionStart: varchar({ length: 50 }), StartTime: varchar({ length: 50 }), MalfunctionEnd: varchar({ length: 50 }), EndTime: varchar({ length: 50 }), BreakdownDuration: real(), // float4 타입을 real로 변환 Plant: varchar({ length: 50 }), Notification: integer(), ObjectNumber: varchar({ length: 50 }), OrderDesc: varchar({ length: 64 }), PlantSectionDesc: varchar({ length: 50 }), TagNumber: varchar({ length: 50 }), }); export const tbSAPMainternanceBOM = sErpSchema.table("TB_SAP_MainternanceBOM", { id: serial().primaryKey(), Date: varchar({ length: 50 }), Order: integer(), Description: varchar({ length: 50 }), FuncLocation: varchar({ length: 50 }), Description_1: varchar({ length: 50 }), WorkCenter: varchar({ length: 50 }), ObjectType: varchar({ length: 50 }), Equipment: integer(), Discription: varchar({ length: 50 }), TagNumber: varchar({ length: 50 }), ICT: varchar({ length: 50 }), Component: varchar({ length: 50 }), Quantity: integer(), Unit: varchar({ length: 50 }), Description_2: varchar({ length: 50 }), Specification: varchar({ length: 50 }), GEWRK: integer(), STLNR: varchar({ length: 50 }), STLAL: varchar({ length: 50 }), WERKS: varchar({ length: 50 }), TPLNR_T: varchar({ length: 50 }), EQUNR_T: integer(), }); export const tbSAPMaterialRepair = sErpSchema.table("TB_SAP_MaterialRepair", { id: serial().primaryKey(), BreakdownIndicator: varchar({ length: 50 }), Order: integer(), OrderType: varchar({ length: 50 }), OrderDescription: varchar({ length: 50 }), MainWorkCenterDescription: varchar({ length: 50 }), FunctionalLocation: varchar({ length: 50 }), Equipment: integer(), EquipmentDescription: varchar({ length: 50 }), EquipmentSortField: varchar({ length: 50 }), TagNumber: varchar({ length: 50 }), Notification: integer(), Priority: varchar({ length: 50 }), PriorityDesc: varchar({ length: 50 }), PlantSection: varchar({ length: 50 }), PMActivityType: varchar({ length: 50 }), MaintenancePlan: varchar({ length: 50 }), StartDate: varchar({ length: 50 }), FinishDate: varchar({ length: 50 }), SystemStatus: varchar({ length: 50 }), UserStatus: varchar({ length: 50 }), CreatedBy: varchar({ length: 50 }), Name: varchar({ length: 50 }), PlanningPlant: varchar({ length: 50 }), PlannerGroup: varchar({ length: 50 }), PlannerGroupName: varchar({ length: 50 }), MainWorkCenter: varchar({ length: 50 }), Maintenanceplant: varchar({ length: 50 }), PlantSectionDescription: varchar({ length: 50 }), Priority_1: varchar({ length: 50 }), Priority_2: varchar({ length: 50 }), BasicStartTime: varchar({ length: 50 }), BasicFinishTime: varchar({ length: 50 }), ActualStartDate: varchar({ length: 50 }), ActualStartTime: varchar({ length: 50 }), ActualFinishDate: varchar({ length: 50 }), ActualFinishTIme: varchar({ length: 50 }), PlanCost: varchar({ length: 50 }), ActualCost: varchar({ length: 50 }), SettlementCost: varchar({ length: 50 }), Balance: varchar({ length: 50 }), Currency: varchar({ length: 50 }), EquiCategory: integer(), ObjectType: varchar({ length: 50 }), ABCIndicatior: varchar({ length: 50 }), EWRNo: varchar({ length: 50 }), }); export const tbSAPMaterialInfo = sErpSchema.table("TB_SAP_MaterialInfo", { id: serial().primaryKey(), Plnt: varchar({ length: 50 }), Material: varchar({ length: 50 }), Sloc: varchar({ length: 50 }), Bin: varchar({ length: 50 }), MatlGroup: varchar({ length: 50 }), MaterialDescription: varchar({ length: 500 }), MaterialName: varchar({ length: 500 }), Specification: varchar({ length: 500 }), Unrestr: integer(), QualInsp: integer(), Blocked: integer(), Bun: varchar({ length: 50 }), Warehouse: varchar({ length: 50 }), Message: varchar({ length: 500 }), }); export const tbSAPMaterialStock = sErpSchema.table("TB_SAP_MaterialStock", { id: serial().primaryKey(), WBS: varchar({ length: 50 }), OldProjec: varchar({ length: 50 }), Material: varchar({ length: 50 }), MaterialD: varchar({ length: 50 }), Specificat: varchar({ length: 50 }), MRPType: varchar({ length: 50 }), Batch: varchar({ length: 50 }), Amount: varchar({ length: 50 }), StorageLo: varchar({ length: 50 }), StorageLo_1: varchar({ length: 50 }), StorageBin: varchar({ length: 50 }), Warehouse: varchar({ length: 50 }), Warehouse_1: varchar({ length: 50 }), MMTNo: varchar({ length: 50 }), TNo: varchar({ length: 50 }), BOXNo: varchar({ length: 50 }), MaterialT: varchar({ length: 50 }), Unrestrict: integer(), QIStock: integer(), BlockedSt: integer(), REMARK: varchar({ length: 50 }), TotalStoc: integer(), Unit: varchar({ length: 50 }), MAP: varchar({ length: 50 }), NetWeight: real(), // float4 타입을 real로 변환 TotalWeig: real(), // float4 타입을 real로 변환 WeightUni: varchar({ length: 50 }), Individual: varchar({ length: 50 }), SpecialSt: varchar({ length: 50 }), Vendor: varchar({ length: 50 }), VendorDes: varchar({ length: 50 }), MaterialG: varchar({ length: 50 }), Procuremen: varchar({ length: 50 }), PLMID: varchar({ length: 50 }), ValveFitt: varchar({ length: 50 }), BLNo: varchar({ length: 50 }), TAGNO: varchar({ length: 50 }), }); export const tbSAPMaterialRelease = sErpSchema.table("TB_SAP_MaterialRelease", { id: serial().primaryKey(), PostingGIdate: varchar({ length: 50 }), Plant: varchar({ length: 50 }), StorageLoc: varchar({ length: 50 }), StockWBS: varchar({ length: 50 }), InputWBS: varchar({ length: 50 }), Material: varchar({ length: 50 }), OldMaterialNumber: varchar({ length: 50 }), MaterialDesc: varchar({ length: 50 }), Spec: varchar({ length: 64 }), Batch: varchar({ length: 50 }), MovementType: varchar({ length: 50 }), Quantity: integer(), BUn: varchar({ length: 50 }), GoodsRecipinet: varchar({ length: 50 }), // Goods Recipinet(Ship-To Party) NetWeight: real(), // float4 타입을 real로 변환 GrossWeight: real(), // float4 타입을 real로 변환 Unit: varchar({ length: 50 }), Amount: varchar({ length: 50 }), Currency: varchar({ length: 50 }), MvtTypeTxt: varchar({ length: 50 }), MaterialDocument: integer(), DocumentYear: integer(), S: varchar({ length: 50 }), MatName: varchar({ length: 50 }), MatGroupDesc: varchar({ length: 50 }), InputProject: varchar({ length: 50 }), HeaderText: varchar({ length: 50 }), }); export const tbSAPMaterialReceiving = sErpSchema.table("TB_SAP_MaterialReceiving", { id: serial().primaryKey(), PostingGRDate: varchar({ length: 50 }), Plant: varchar({ length: 50 }), StorageLoc: varchar({ length: 50 }), StockWBS: varchar({ length: 50 }), InputWBS: varchar({ length: 50 }), Material: varchar({ length: 50 }), OldMaterialNumber: varchar({ length: 50 }), MaterialDesc: varchar({ length: 50 }), Spec: varchar({ length: 50 }), Batch: varchar({ length: 50 }), MovementType: varchar({ length: 50 }), Quantity: integer(), BUn: varchar({ length: 50 }), GoodsRecipinet: varchar({ length: 50 }), // Goods Recipinet(Ship-To Party) PO: varchar({ length: 50 }), POItem: integer(), Vendor: varchar({ length: 50 }), VendorName: varchar({ length: 50 }), NetWeight: real(), // float4 타입을 real로 변환 GrossWeight: real(), // float4 타입을 real로 변환 Unit: varchar({ length: 50 }), Amount: varchar({ length: 50 }), Currency: varchar({ length: 50 }), MvtTypeTxt: varchar({ length: 50 }), MatDoc: integer(), Year: integer(), S: varchar({ length: 50 }), MatName: varchar({ length: 50 }), MatGroupDesc: varchar({ length: 50 }), InputProject: varchar({ length: 50 }), HeaderText: varchar({ length: 50 }), }); export const tbSAPMaterialPurchase = sErpSchema.table("TB_SAP_MaterialPurchase", { id: serial().primaryKey(), Status: varchar({ length: 50 }), Notification: integer(), Type: varchar({ length: 50 }), Description: varchar({ length: 64 }), PlanningPlant: varchar({ length: 50 }), PlannerGroup: varchar({ length: 50 }), NameOfPlannerGroup: varchar({ length: 50 }), WorkCenter: varchar({ length: 50 }), NameOfWorkCenter: varchar({ length: 50 }), FunctionalLocation: varchar({ length: 50 }), Equipment: integer(), TagNumber: varchar({ length: 50 }), EquipmentDesc: varchar({ length: 50 }), PlantSection: varchar({ length: 50 }), CostCenter: varchar({ length: 50 }), CostCenterDesc: varchar({ length: 50 }), ABCIndicator: varchar({ length: 50 }), NotificationDate: varchar({ length: 50 }), CreatedBy: varchar({ length: 50 }), SystemStatus: varchar({ length: 50 }), UserStatus: varchar({ length: 50 }), Order: integer(), Requester: varchar({ length: 50 }), RequesterName: varchar({ length: 50 }), CodeGroup: varchar({ length: 50 }), Code: integer(), CodeDescription: varchar({ length: 50 }), BreakdownIndicator: varchar({ length: 50 }), Priority: varchar({ length: 50 }), PriorityDesc: varchar({ length: 50 }), NotifcatnType: varchar({ length: 50 }), Name1: varchar({ length: 50 }), WorkCenterInt: integer(), ObjectNumber: varchar({ length: 50 }), CHAR05: varchar({ length: 50 }), Link: varchar({ length: 50 }), Link1: varchar({ length: 50 }), Tooltip: varchar({ length: 50 }), PlantSectionDesc: varchar({ length: 50 }), Catalog: varchar({ length: 50 }), Partner: varchar({ length: 50 }), NotificationTime: varchar({ length: 50 }), CompletionDate: varchar({ length: 50 }), CompletionTime: varchar({ length: 50 }), ExtRequester: varchar({ length: 50 }), COL1: varchar({ length: 50 }), // 일상점검미흡 OrderBasicStart: varchar({ length: 50 }), EWRNo: varchar({ length: 50 }), MalfunctionStart: varchar({ length: 50 }), StartTime: varchar({ length: 50 }), MalfunctionEnd: varchar({ length: 50 }), EndTime: varchar({ length: 50 }), BreakdownDuration: real(), // float4 타입을 real로 변환 });