feat: 增加mtaskb

This commit is contained in:
caoqianming 2024-09-03 16:41:51 +08:00
parent bc9a098cc8
commit 9fee0b52d5
5 changed files with 68 additions and 5 deletions

View File

@ -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,
},
),
]

View File

@ -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)

View File

@ -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']

View File

@ -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)),

View File

@ -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']