Files
ProdMan/bom_manager/migrations/0005_workcenter_routingstep.py
2026-02-14 09:32:46 +03:00

46 lines
2.9 KiB
Python
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.

# Generated by Django 6.0.2 on 2026-02-13 19:18
import django.db.models.deletion
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('bom_manager', '0004_alter_bomnode_options_alter_bomnode_quantity_and_more'),
]
operations = [
migrations.CreateModel(
name='WorkCenter',
fields=[
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('name', models.CharField(max_length=100, verbose_name='Название станка/участка')),
('rate_per_hour', models.DecimalField(decimal_places=2, default=0, max_digits=10, verbose_name='Стоимость часа')),
],
options={
'verbose_name': 'Станок/участок',
'verbose_name_plural': 'Станки/участки',
},
),
migrations.CreateModel(
name='RoutingStep',
fields=[
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('operation_type', models.CharField(choices=[('LRL', 'Лазерная резка листа (ЛРЛ)'), ('LRT', 'Лазерная резка трубы (ЛРТ)'), ('TO', 'Токарная обработка (ТО)'), ('WELD', 'Сварка'), ('PAINT', 'Покраска'), ('BEND', 'Гибка'), ('CLEAN', 'Зачистка'), ('BANDSAW', 'Лентопильный станок'), ('MOVE', 'Перемещение')], max_length=10, verbose_name='Тип операции')),
('order', models.PositiveIntegerField(default=10, help_text='Например: 10, 20, 30...', verbose_name='Номер операции')),
('drawing_file', models.FileField(blank=True, null=True, upload_to='tech_files/%Y/%m', verbose_name='Тех. файл (DXF/IGES)')),
('tech_params', models.JSONField(blank=True, default=dict, verbose_name='Технологические параметры')),
('setup_time', models.DurationField(blank=True, null=True, verbose_name='Время наладки')),
('cycle_time', models.DurationField(blank=True, null=True, verbose_name='Время цикла (на 1 шт)')),
('item', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='routing_steps', to='bom_manager.item', verbose_name='Деталь/Сборка')),
('work_center', models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, to='bom_manager.workcenter', verbose_name='Станок/Участок')),
],
options={
'verbose_name': 'Технологическая операция',
'verbose_name_plural': 'Технологический маршрут',
'ordering': ['order'],
},
),
]