feat: 增加日均计划数

This commit is contained in:
caoqianming 2023-11-27 15:38:38 +08:00
parent 98c3584710
commit 741032f4e8
3 changed files with 28 additions and 1 deletions

View File

@ -0,0 +1,18 @@
# Generated by Django 3.2.12 on 2023-11-27 07:37
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('pm', '0014_mtask_peifen_kg'),
]
operations = [
migrations.AddField(
model_name='utask',
name='count_day',
field=models.PositiveIntegerField(default=0, verbose_name='日均任务数'),
),
]

View File

@ -34,6 +34,7 @@ class Utask(CommonBDModel):
Material, verbose_name='领用物', on_delete=models.CASCADE, related_name='utask_material_in', null=True, blank=True)
count = models.PositiveIntegerField('任务数', default=1)
count_real = models.PositiveIntegerField('实际生产数', default=0)
count_day = models.PositiveIntegerField('日均任务数', default=0)
count_ok = models.PositiveIntegerField('合格数', default=0)
count_notok = models.PositiveIntegerField('不合格数', default=0)
start_date = models.DateField('计划开工日期')

View File

@ -1,5 +1,6 @@
from rest_framework import serializers
from rest_framework.exceptions import ValidationError
from rest_framework.exceptions import ValidationError, ParseError
import math
from apps.mtm.serializers import MaterialSimpleSerializer
from apps.pm.models import Mtask, Utask
@ -19,8 +20,15 @@ class UtaskSerializer(CustomModelSerializer):
fields = '__all__'
def validate(self, attrs):
end_date = attrs['end_date']
start_date = attrs['start_date']
if 'mgroup' in attrs and attrs['mgroup']:
attrs['belong_dept'] = attrs['mgroup'].belong_dept
try:
rela_days = (end_date - start_date).days + 1
attrs['count_day'] = math.ceil(attrs['count']/rela_days)
except Exception:
raise ParseError('日均任务数计划失败')
return attrs
def update(self, instance, validated_data):