feat: utask添加优先级字段
This commit is contained in:
parent
0719ef8f42
commit
b3000b013f
|
@ -50,7 +50,7 @@ class MtaskFilter(filters.FilterSet):
|
|||
"is_count_utask": ["exact"],
|
||||
"start_date": ["exact", "gte", "lte"],
|
||||
"end_date": ["exact", "gte", "lte"],
|
||||
"mgroup": ["exact"],
|
||||
"mgroup": ["exact", "in"],
|
||||
"mgroup__name": ["exact"],
|
||||
"mgroup__cate": ["exact"],
|
||||
"mgroup__process": ["exact"],
|
||||
|
|
|
@ -0,0 +1,18 @@
|
|||
# Generated by Django 3.2.12 on 2025-06-11 03:15
|
||||
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('pm', '0021_auto_20250317_1040'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AddField(
|
||||
model_name='utask',
|
||||
name='priority',
|
||||
field=models.PositiveIntegerField(default=20, help_text='10:低;20:中;30:高', verbose_name='优先级'),
|
||||
),
|
||||
]
|
|
@ -37,6 +37,7 @@ class Utask(CommonBDModel):
|
|||
type = models.CharField('任务类型', max_length=10,
|
||||
help_text=str(TASK_TYPE), default='mass')
|
||||
routepack = models.ForeignKey(RoutePack, verbose_name='关联工艺包', on_delete=models.SET_NULL, null=True, blank=True)
|
||||
priority = models.PositiveIntegerField('优先级', default=20, help_text="10:低;20:中;30:高")
|
||||
state = models.PositiveIntegerField(
|
||||
'状态', choices=UTASK_STATES, default=UTASK_CREATED, help_text=str(UTASK_STATES))
|
||||
number = models.CharField('编号', max_length=50, unique=True)
|
||||
|
|
|
@ -27,7 +27,8 @@ class UtaskSerializer(CustomModelSerializer):
|
|||
model = Utask
|
||||
fields = '__all__'
|
||||
extra_kwargs = {
|
||||
'number': {"required": False, "allow_blank": True}
|
||||
'number': {"required": False, "allow_blank": True},
|
||||
"priority": {"required": False, "allow_null": True},
|
||||
}
|
||||
|
||||
@transaction.atomic
|
||||
|
@ -52,6 +53,7 @@ class UtaskSerializer(CustomModelSerializer):
|
|||
attrs['count_day'] = math.ceil(attrs['count']/rela_days)
|
||||
except Exception:
|
||||
raise ParseError('日均任务数计划失败')
|
||||
attrs["priority"] = attrs.get("priority", 20)
|
||||
return attrs
|
||||
|
||||
def update(self, instance, validated_data):
|
||||
|
|
|
@ -29,7 +29,8 @@ class UtaskViewSet(CustomModelViewSet):
|
|||
serializer_class = UtaskSerializer
|
||||
filterset_class = UtaskFilter
|
||||
select_related_fields = ['material']
|
||||
ordering = ['-start_date']
|
||||
ordering_fields = ['priority', 'start_date']
|
||||
ordering = ["priority", '-start_date']
|
||||
|
||||
def perform_destroy(self, instance):
|
||||
if instance.state >= Utask.UTASK_WORKING:
|
||||
|
@ -143,8 +144,8 @@ class MtaskViewSet(CustomModelViewSet):
|
|||
filterset_class = MtaskFilter
|
||||
select_related_fields = ['material_in', 'material_out', 'mgroup']
|
||||
prefetch_related_fields = ['mlog_mtask', 'b_mtask']
|
||||
ordering_fields = ['start_date', 'mgroup__process__sort', 'create_time']
|
||||
ordering = ['-start_date', 'route__sort', 'mgroup__process__sort', '-create_time']
|
||||
ordering_fields = ["utask__priority", 'start_date', 'mgroup__process__sort', 'create_time']
|
||||
ordering = ["utask__priority", '-start_date', 'route__sort', 'mgroup__process__sort', '-create_time']
|
||||
|
||||
@action(methods=['post'], detail=False, perms_map={'post': '*'}, serializer_class=MtaskDaySerializer)
|
||||
@transaction.atomic
|
||||
|
|
Loading…
Reference in New Issue