feat: mtask增加mtaskb的返回并在日志填写时校验
This commit is contained in:
parent
6694820dcd
commit
c2649ec963
|
@ -112,6 +112,10 @@ class Mtask(CommonADModel):
|
||||||
from apps.wpm.models import Mlog
|
from apps.wpm.models import Mlog
|
||||||
return Mlog.objects.filter(mtask=self)
|
return Mlog.objects.filter(mtask=self)
|
||||||
|
|
||||||
|
@property
|
||||||
|
def mtaskb(self):
|
||||||
|
return Mtaskb.objects.filter(mtask=self)
|
||||||
|
|
||||||
|
|
||||||
class Mtaskb(BaseModel):
|
class Mtaskb(BaseModel):
|
||||||
mtask = models.ForeignKey(Mtask, verbose_name='关联任务', on_delete=models.CASCADE, related_name='b_mtask')
|
mtask = models.ForeignKey(Mtask, verbose_name='关联任务', on_delete=models.CASCADE, related_name='b_mtask')
|
||||||
|
|
|
@ -55,6 +55,18 @@ class MlogSimpleSerializer(CustomModelSerializer):
|
||||||
fields = ['id', 'shift_name', 'count_use',
|
fields = ['id', 'shift_name', 'count_use',
|
||||||
'count_ok', 'count_real', 'submit_time']
|
'count_ok', 'count_real', 'submit_time']
|
||||||
|
|
||||||
|
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']
|
||||||
|
|
||||||
class MtaskSerializer(CustomModelSerializer):
|
class MtaskSerializer(CustomModelSerializer):
|
||||||
material_out_ = MaterialSimpleSerializer(
|
material_out_ = MaterialSimpleSerializer(
|
||||||
|
@ -67,6 +79,7 @@ class MtaskSerializer(CustomModelSerializer):
|
||||||
source='submit_user.name', read_only=True)
|
source='submit_user.name', read_only=True)
|
||||||
mgroup_name = serializers.CharField(source='mgroup.name', read_only=True)
|
mgroup_name = serializers.CharField(source='mgroup.name', read_only=True)
|
||||||
mlogs = MlogSimpleSerializer(label='日志信息', many=True, required=False)
|
mlogs = MlogSimpleSerializer(label='日志信息', many=True, required=False)
|
||||||
|
mtaskb = MtaskbSerializer(label='子任务信息', many=True, required=False, read_only=True)
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
model = Mtask
|
model = Mtask
|
||||||
|
@ -111,16 +124,3 @@ class MtaskAddInfoSerializer(CustomModelSerializer):
|
||||||
class Meta:
|
class Meta:
|
||||||
model = Mtask
|
model = Mtask
|
||||||
fields = ['peifen_kg']
|
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']
|
|
|
@ -366,6 +366,8 @@ class MlogSerializer(CustomModelSerializer):
|
||||||
attrs['route'] = fmlog.route
|
attrs['route'] = fmlog.route
|
||||||
attrs['mgroup'] = fmlog.mgroup
|
attrs['mgroup'] = fmlog.mgroup
|
||||||
attrs['mtask'] = fmlog.mtask
|
attrs['mtask'] = fmlog.mtask
|
||||||
|
if attrs['mtask'].mtaskb and mtaskb is None:
|
||||||
|
raise ValidationError('子任务不能为空')
|
||||||
if mtaskb and mtaskb.mtask != fmlog.mtask:
|
if mtaskb and mtaskb.mtask != fmlog.mtask:
|
||||||
raise ValidationError('子任务不一致')
|
raise ValidationError('子任务不一致')
|
||||||
mtask = attrs.get('mtask', None)
|
mtask = attrs.get('mtask', None)
|
||||||
|
|
Loading…
Reference in New Issue