feat:添加工装(喷码工段需要)

This commit is contained in:
shijing 2026-05-22 15:35:09 +08:00
parent 0dd78f09b9
commit aa8e411a1b
5 changed files with 42 additions and 7 deletions

View File

@ -1,5 +1,5 @@
from django.contrib import admin
from apps.mtm.models import Material, Shift, Mgroup, Process
from apps.mtm.models import Material, Shift, Mgroup, Process, Tooling
# Register your models here.
@ -23,3 +23,8 @@ class ShiftAdmin(admin.ModelAdmin):
@admin.register(Mgroup)
class MgroupAdmin(admin.ModelAdmin):
list_display = ('id', 'name', 'cate')
@admin.register(Tooling)
class ToolingAdmin(admin.ModelAdmin):
list_display = ('id', 'name', 'code', 'sort')

View File

@ -145,6 +145,17 @@ class Material(CommonAModel):
)
)
class Tooling(CommonBModel):
"""TN:工装"""
name = models.CharField('名称', max_length=100)
code = models.CharField('编号', max_length=50, default='', blank=True)
sort = models.PositiveSmallIntegerField('排序', default=1)
class Meta:
verbose_name = '工装'
ordering = ['sort', 'id']
class Shift(CommonBModel):
"""TN:班次
"""

View File

@ -1,6 +1,6 @@
from apps.utils.serializers import CustomModelSerializer
from apps.mtm.models import (Shift, Material, Mgroup, Team, Goal,
Process, Route, TeamMember, RoutePack, Srule, RouteMat)
Process, Route, TeamMember, RoutePack, Srule, RouteMat, Tooling)
from apps.utils.constants import EXCLUDE_FIELDS, EXCLUDE_FIELDS_BASE, EXCLUDE_FIELDS_DEPT
from rest_framework import serializers
from rest_framework.exceptions import ValidationError, ParseError
@ -339,6 +339,13 @@ class RouteSerializer(CustomModelSerializer):
res['material_out_tracking'] = None
return res
class ToolingSerializer(CustomModelSerializer):
class Meta:
model = Tooling
fields = '__all__'
read_only_fields = EXCLUDE_FIELDS_BASE
class SruleSerializer(CustomModelSerializer):
belong_dept_name = serializers.CharField(source='belong_dept.name', read_only=True)
class Meta:

View File

@ -3,7 +3,7 @@ from rest_framework.routers import DefaultRouter
from apps.mtm.views import (MgroupViewSet, ShiftViewSet, TeamViewSet, MaterialViewSet,
GoalViewSet, ProcessViewSet, RouteViewSet, TeamMemberViewSet,
RoutePackViewSet, SruleViewSet, RouteMatViewSet)
RoutePackViewSet, SruleViewSet, RouteMatViewSet, ToolingViewSet)
API_BASE_URL = 'api/mtm/'
HTML_BASE_URL = 'dhtml/mtm/'
@ -20,6 +20,7 @@ router.register('route', RouteViewSet, basename='route')
router.register('teammember', TeamMemberViewSet, basename='teammember')
router.register('srule', SruleViewSet, basename='srule')
router.register("routemat", RouteMatViewSet, basename="routemat")
router.register("tooling", ToolingViewSet, basename="tooling")
urlpatterns = [
path(API_BASE_URL, include(router.urls)),
]

View File

@ -6,12 +6,13 @@ from rest_framework.response import Response
from rest_framework.exceptions import ParseError
from apps.mtm.filters import GoalFilter, MaterialFilter, RouteFilter
from apps.mtm.models import Goal, Material, Mgroup, Shift, Team, Process, Route, TeamMember, RoutePack, Srule, RouteMat
from apps.mtm.models import Goal, Material, Mgroup, Shift, Team, Process, Route, TeamMember, RoutePack, Srule, RouteMat, Tooling
from apps.mtm.serializers import (GoalSerializer, MaterialSerializer,
MgroupGoalYearSerializer, MgroupSerializer, MgroupDaysSerializer,
ShiftSerializer, TeamSerializer, ProcessSerializer,
RouteSerializer, TeamMemberSerializer, RoutePackSerializer,
SruleSerializer, RouteMatSerializer, RoutePackCopySerializer, MaterialExportSerializer)
SruleSerializer, RouteMatSerializer, RoutePackCopySerializer, MaterialExportSerializer,
ToolingSerializer)
from apps.mtm.services import get_mgroup_goals, daoru_material, get_mgroup_days
from apps.utils.viewsets import CustomGenericViewSet, CustomModelViewSet
from apps.utils.mixins import BulkCreateModelMixin, BulkDestroyModelMixin, CustomListModelMixin
@ -420,3 +421,13 @@ class RouteMatViewSet(CustomListModelMixin, BulkCreateModelMixin, BulkDestroyMod
queryset = RouteMat.objects.all()
serializer_class = RouteMatSerializer
filterset_fields = ['route', 'material']
class ToolingViewSet(CustomModelViewSet):
"""
list: 工装列表
"""
queryset = Tooling.objects.all()
serializer_class = ToolingSerializer
search_fields = ['name', 'code']
ordering = ['sort', 'id']