feat: 其他生产日志

This commit is contained in:
caoqianming 2023-11-27 11:33:15 +08:00
parent 54afd73c8d
commit ec5c246bdc
4 changed files with 69 additions and 3 deletions

View File

@ -0,0 +1,36 @@
# Generated by Django 3.2.12 on 2023-11-27 03:32
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),
('wpm', '0034_auto_20231122_1551'),
]
operations = [
migrations.CreateModel(
name='OtherLog',
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='删除标记')),
('product', models.CharField(max_length=10, verbose_name='产品')),
('handle_date', models.DateField(verbose_name='操作日期')),
('count_real', models.PositiveIntegerField(default=0, verbose_name='实际生产数')),
('count_ok', models.PositiveIntegerField(default=0, verbose_name='合格数')),
('count_delivered', models.PositiveIntegerField(default=0, verbose_name='交付数')),
('create_by', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='otherlog_create_by', to=settings.AUTH_USER_MODEL, verbose_name='创建人')),
('update_by', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='otherlog_update_by', to=settings.AUTH_USER_MODEL, verbose_name='最后编辑人')),
],
options={
'abstract': False,
},
),
]

View File

@ -209,3 +209,14 @@ class AttLog(CommonADModel):
state = models.CharField('状态', max_length=20,
choices=ATT_STATE_CHOICES, default='pending', help_text=str(ATT_STATE_CHOICES))
note = models.TextField('备注信息', default='', blank=True)
class OtherLog(CommonADModel):
"""
其他生产日志
"""
product = models.CharField('产品', max_length=10)
handle_date = models.DateField('操作日期')
count_real = models.PositiveIntegerField('实际生产数', default=0)
count_ok = models.PositiveIntegerField('合格数', default=0)
count_delivered = models.PositiveIntegerField('交付数', default=0)

View File

@ -4,7 +4,7 @@ from rest_framework import serializers
from rest_framework.exceptions import ValidationError, ParseError
from datetime import datetime
from .models import SfLog, StLog, SfLogExp, WMaterial, Mlog, Handover, Mlogb, AttLog
from .models import SfLog, StLog, SfLogExp, WMaterial, Mlog, Handover, Mlogb, AttLog, OtherLog
from apps.system.models import Dept, User
from apps.system.serializers import UserSimpleSerializer
from apps.pm.models import Mtask
@ -16,6 +16,13 @@ from django.db import transaction
from django.utils import timezone
class OtherLogSerializer(CustomModelSerializer):
class Meta:
model = OtherLog
fields = '__all__'
read_only_fields = EXCLUDE_FIELDS
class StLogSerializer(CustomModelSerializer):
mgroup_name = serializers.CharField(source='mgroup.name', read_only=True)
current_sflog = serializers.CharField(label='当前处理值班', write_only=True)

View File

@ -14,10 +14,10 @@ from apps.utils.viewsets import CustomGenericViewSet, CustomModelViewSet
from apps.utils.mixins import BulkCreateModelMixin
from .filters import StLogFilter, SfLogFilter, WMaterialFilter, MlogFilter, HandoverFilter
from .models import SfLog, SfLogExp, StLog, WMaterial, Mlog, Handover, Mlogb, AttLog
from .models import SfLog, SfLogExp, StLog, WMaterial, Mlog, Handover, Mlogb, AttLog, OtherLog
from .serializers import (SflogExpSerializer, SfLogSerializer, StLogSerializer, WMaterialSerializer,
MlogSerializer, MlogRelatedSerializer, DeptBatchSerializer, HandoverSerializer,
GenHandoverSerializer, GenHandoverWmSerializer, MlogAnaSerializer, AttLogSerializer)
GenHandoverSerializer, GenHandoverWmSerializer, MlogAnaSerializer, AttLogSerializer, OtherLogSerializer)
from .services import mlog_submit, update_mtask, handover_submit
# Create your views here.
@ -323,3 +323,15 @@ class AttlogViewSet(CustomModelViewSet):
filterset_fields = ['sflog__mgroup',
'sflog__mgroup__belong_dept__name', 'sflog__work_date', 'sflog__mgroup__cate', 'sflog__mgroup__need_enm']
ordering = ['-sflog__work_date', 'create_time']
class OtherLogViewSet(CustomModelViewSet):
"""
list: 其他生产记录
其他生产记录
"""
queryset = OtherLog.objects.all()
serializer_class = OtherLogSerializer
filterset_fields = ['product']
ordering = ['-handle_date', '-create_time']