feat: 增加mtaskb
This commit is contained in:
parent
bc9a098cc8
commit
9fee0b52d5
|
@ -0,0 +1,32 @@
|
|||
# Generated by Django 3.2.12 on 2024-09-03 08:38
|
||||
|
||||
from django.conf import settings
|
||||
from django.db import migrations, models
|
||||
import django.db.models.deletion
|
||||
import django.utils.timezone
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
|
||||
('pm', '0019_auto_20240703_1618'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.CreateModel(
|
||||
name='Mtaskb',
|
||||
fields=[
|
||||
('id', models.CharField(editable=False, help_text='主键ID', max_length=20, primary_key=True, serialize=False, verbose_name='主键ID')),
|
||||
('create_time', models.DateTimeField(default=django.utils.timezone.now, help_text='创建时间', verbose_name='创建时间')),
|
||||
('update_time', models.DateTimeField(auto_now=True, help_text='修改时间', verbose_name='修改时间')),
|
||||
('is_deleted', models.BooleanField(default=False, help_text='删除标记', verbose_name='删除标记')),
|
||||
('count', models.PositiveIntegerField(default=0, verbose_name='任务数')),
|
||||
('handle_user', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='mtaskb_handle_user', to=settings.AUTH_USER_MODEL, verbose_name='操作人')),
|
||||
('mtask', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='b_mtask', to='pm.mtask', verbose_name='关联任务')),
|
||||
],
|
||||
options={
|
||||
'abstract': False,
|
||||
},
|
||||
),
|
||||
]
|
|
@ -1,5 +1,5 @@
|
|||
from django.db import models
|
||||
from apps.utils.models import CommonADModel, CommonBDModel
|
||||
from apps.utils.models import CommonADModel, CommonBDModel, BaseModel
|
||||
from apps.mtm.models import Material, Mgroup, RoutePack, Route
|
||||
|
||||
# Create your models here.
|
||||
|
@ -111,3 +111,10 @@ class Mtask(CommonADModel):
|
|||
def mlogs(self):
|
||||
from apps.wpm.models import Mlog
|
||||
return Mlog.objects.filter(mtask=self)
|
||||
|
||||
|
||||
class Mtaskb(BaseModel):
|
||||
mtask = models.ForeignKey(Mtask, verbose_name='关联任务', on_delete=models.CASCADE, related_name='b_mtask')
|
||||
handle_user = models.ForeignKey(
|
||||
'system.user', verbose_name='操作人', on_delete=models.CASCADE, related_name='mtaskb_handle_user')
|
||||
count = models.PositiveIntegerField('任务数', default=0)
|
|
@ -3,11 +3,12 @@ from rest_framework.exceptions import ValidationError, ParseError
|
|||
import math
|
||||
|
||||
from apps.mtm.serializers import MaterialSimpleSerializer
|
||||
from apps.pm.models import Mtask, Utask, SCHEDULE_TYPE
|
||||
from apps.pm.models import Mtask, Utask, SCHEDULE_TYPE, Mtaskb
|
||||
from apps.sam.models import OrderItem
|
||||
from apps.utils.serializers import CustomModelSerializer
|
||||
from apps.system.models import Dept
|
||||
from apps.wpm.models import Mlog
|
||||
from apps.utils.constants import EXCLUDE_FIELDS_BASE
|
||||
|
||||
|
||||
class UtaskSerializer(CustomModelSerializer):
|
||||
|
@ -110,3 +111,16 @@ class MtaskAddInfoSerializer(CustomModelSerializer):
|
|||
class Meta:
|
||||
model = Mtask
|
||||
fields = ['peifen_kg']
|
||||
|
||||
class MtaskbSerializer(CustomModelSerializer):
|
||||
handle_user_name = serializers.StringRelatedField(
|
||||
source='handle_user.name', read_only=True)
|
||||
class Meta:
|
||||
model = Mtaskb
|
||||
fields = '__all__'
|
||||
read_only_fields = EXCLUDE_FIELDS_BASE
|
||||
|
||||
class MtaskbUpdateSerializer(CustomModelSerializer):
|
||||
class Meta:
|
||||
model = Mtaskb
|
||||
fields = ['id', 'count']
|
|
@ -1,12 +1,13 @@
|
|||
from django.urls import path, include
|
||||
from rest_framework.routers import DefaultRouter
|
||||
from apps.pm.views import (MtaskViewSet, UtaskViewSet)
|
||||
from apps.pm.views import (MtaskViewSet, UtaskViewSet, MtaskbViewSet)
|
||||
|
||||
API_BASE_URL = 'api/pm/'
|
||||
HTML_BASE_URL = 'pm/'
|
||||
|
||||
router = DefaultRouter()
|
||||
router.register('mtask', MtaskViewSet, basename='mtask')
|
||||
router.register('mtaskb', MtaskbViewSet, basename='mtaskb')
|
||||
router.register('utask', UtaskViewSet, basename='utask')
|
||||
urlpatterns = [
|
||||
path(API_BASE_URL, include(router.urls)),
|
||||
|
|
|
@ -8,9 +8,10 @@ from apps.utils.serializers import PkSerializer
|
|||
from apps.utils.viewsets import CustomModelViewSet
|
||||
|
||||
from .filters import MtaskFilter, UtaskFilter
|
||||
from .models import Mtask, Utask
|
||||
from .models import Mtask, Utask, Mtaskb
|
||||
from .serializers import (MtaskSerializer, SchedueSerializer, UtaskSerializer,
|
||||
MtaskDaySerializer, MtaskAddInfoSerializer, SchedueMtasksSerializer)
|
||||
MtaskDaySerializer, MtaskAddInfoSerializer,
|
||||
SchedueMtasksSerializer, MtaskbSerializer, MtaskbUpdateSerializer)
|
||||
from .services import PmService
|
||||
from django.utils import timezone
|
||||
|
||||
|
@ -204,3 +205,11 @@ class MtaskViewSet(CustomModelViewSet):
|
|||
sr.is_valid(raise_exception=True)
|
||||
sr.save()
|
||||
return Response()
|
||||
|
||||
|
||||
class MtaskbViewSet(CustomModelViewSet):
|
||||
queryset = Mtaskb.objects.all()
|
||||
serializer_class = MtaskbSerializer
|
||||
update_serializer_class = MtaskbUpdateSerializer
|
||||
filterset_fields = {"mtask": ["exact"], "handle_user": ["exact"]}
|
||||
ordering = ['id']
|
Loading…
Reference in New Issue