This commit is contained in:
MaKarin
2026-03-15 17:29:37 +03:00
commit 33521016d3
86 changed files with 20514 additions and 0 deletions

100
server/prisma/seed.ts Normal file
View File

@@ -0,0 +1,100 @@
import { PrismaClient } from '@prisma/client';
const prisma = new PrismaClient();
async function main() {
const equipmentType = await prisma.equipmentType.upsert({
where: { code: 'pump' },
update: {},
create: {
code: 'pump',
name: 'Насосный агрегат',
manufacturer: 'АО НасосПром',
maintenanceIntervalHours: 2000,
overhaulIntervalHours: 16000,
},
});
const equipmentType2 = await prisma.equipmentType.upsert({
where: { code: 'compressor' },
update: {},
create: {
code: 'compressor',
name: 'Компрессорная установка',
manufacturer: 'ОАО Компрессормаш',
maintenanceIntervalHours: 1500,
overhaulIntervalHours: 12000,
},
});
const equipment = await prisma.equipment.upsert({
where: { inventoryNumber: 'INV-001' },
update: {},
create: {
inventoryNumber: 'INV-001',
serialNumber: 'SN-2024-0001',
name: 'Насос ЦНС 180-212',
equipmentTypeCode: 'pump',
status: 'Active',
location: 'Куст №5, скважина 42',
commissionedAt: new Date('2023-06-15'),
totalEngineHours: 4500,
engineHoursSinceLastRepair: 1200,
},
});
const equipment2 = await prisma.equipment.upsert({
where: { inventoryNumber: 'INV-002' },
update: {},
create: {
inventoryNumber: 'INV-002',
serialNumber: 'SN-2024-0002',
name: 'Компрессор 4ВМ10-120/9',
equipmentTypeCode: 'compressor',
status: 'Active',
location: 'ГКС-3',
commissionedAt: new Date('2022-03-10'),
totalEngineHours: 8200,
engineHoursSinceLastRepair: 800,
},
});
await prisma.repairOrder.upsert({
where: { number: 'RO-2026-001' },
update: {},
create: {
number: 'RO-2026-001',
equipmentId: equipment.id,
repairKind: 'TO',
status: 'Approved',
plannedAt: new Date('2026-04-01'),
contractor: 'ООО СервисРемонт',
engineHoursAtRepair: 4500,
description: 'Плановое техническое обслуживание насосного агрегата',
},
});
await prisma.repairOrder.upsert({
where: { number: 'RO-2026-002' },
update: {},
create: {
number: 'RO-2026-002',
equipmentId: equipment2.id,
repairKind: 'TR',
status: 'Draft',
plannedAt: new Date('2026-05-15'),
description: 'Текущий ремонт компрессорной установки',
},
});
console.log('Seed data created successfully');
}
main()
.catch((e) => {
console.error(e);
process.exit(1);
})
.finally(async () => {
await prisma.$disconnect();
});