feat: 增加utask的状态已分解
This commit is contained in:
parent
6ec3530862
commit
5c5c3510aa
|
@ -0,0 +1,18 @@
|
|||
# Generated by Django 3.2.12 on 2023-10-26 01:40
|
||||
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('pm', '0010_utask_belong_dept'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AlterField(
|
||||
model_name='utask',
|
||||
name='state',
|
||||
field=models.PositiveIntegerField(choices=[(10, '创建中'), (14, '已分解'), (20, '已下达'), (30, '生产中'), (40, '已提交')], default=10, help_text="((10, '创建中'), (14, '已分解'), (20, '已下达'), (30, '生产中'), (40, '已提交'))", verbose_name='状态'),
|
||||
),
|
||||
]
|
|
@ -10,11 +10,13 @@ class Utask(CommonBDModel):
|
|||
生产大任务
|
||||
"""
|
||||
UTASK_CREATED = 10
|
||||
UTASK_DECOMPOSE = 14
|
||||
UTASK_ASSGINED = 20
|
||||
UTASK_WORKING = 30
|
||||
UTASK_DONE = 40
|
||||
UTASK_STATES = (
|
||||
(UTASK_CREATED, '创建中'),
|
||||
(UTASK_DECOMPOSE, '已分解'),
|
||||
(UTASK_ASSGINED, '已下达'),
|
||||
(UTASK_WORKING, '生产中'),
|
||||
(UTASK_DONE, '已提交')
|
||||
|
|
|
@ -61,6 +61,21 @@ class PmService:
|
|||
rela_days = (end_date - start_date).days + 1
|
||||
if utask.mgroup: # 如果存在指定的mgroup则直接排产
|
||||
pass
|
||||
# if rela_days > 1:
|
||||
# for i in range(rela_days):
|
||||
# task_date = start_date + timedelta(days=i)
|
||||
# Mtask.objects.create(**{
|
||||
# 'number': f'{number}_r{ind+1}_{i+1}',
|
||||
# 'material_out': halfgood,
|
||||
# 'material_in': material_in,
|
||||
# 'mgroup': mgroup,
|
||||
# 'count': task_count_day,
|
||||
# 'start_date': task_date,
|
||||
# 'end_date': task_date,
|
||||
# 'utask': utask,
|
||||
# 'create_by': user,
|
||||
# 'update_by': user
|
||||
# })
|
||||
else:
|
||||
# 获取产品的加工路线
|
||||
rqs = Route.get_routes(product)
|
||||
|
@ -109,6 +124,8 @@ class PmService:
|
|||
'create_by': user,
|
||||
'update_by': user
|
||||
})
|
||||
utask.sate = Utask.UTASK_DECOMPOSE
|
||||
utask.save()
|
||||
|
||||
@classmethod
|
||||
def check_orderitems(cls, orderitems: QuerySet[OrderItem]):
|
||||
|
|
|
@ -44,9 +44,9 @@ class UtaskViewSet(CustomModelViewSet):
|
|||
@action(methods=['post'], detail=False, perms_map={'post': 'utask.schedue'}, serializer_class=PkSerializer)
|
||||
@transaction.atomic
|
||||
def schedue_mtasks(self, request, *args, **kwargs):
|
||||
"""大任务自动排产为小任务
|
||||
"""任务分解
|
||||
|
||||
大任务自动排产为小任务
|
||||
任务分解
|
||||
"""
|
||||
sr = PkSerializer(data=request.data)
|
||||
sr.is_valid(raise_exception=True)
|
||||
|
@ -65,10 +65,11 @@ class UtaskViewSet(CustomModelViewSet):
|
|||
下达任务
|
||||
"""
|
||||
ids = request.data.get('ids', [])
|
||||
utasks = Utask.objects.filter(id__in=ids)
|
||||
utasks = Utask.objects.filter(
|
||||
id__in=ids, state=Utask.UTASK_DECOMPOSE) # 已分解的任务
|
||||
Mtask.objects.filter(utask__in=utasks, state=Mtask.MTASK_CREATED).update(
|
||||
state=Mtask.MTASK_ASSGINED)
|
||||
utasks.filter(state=Utask.UTASK_CREATED).update(
|
||||
utasks.update(
|
||||
state=Utask.UTASK_ASSGINED)
|
||||
# 此处要更新订单状态
|
||||
from apps.sam.models import OrderItem, Order
|
||||
|
|
Loading…
Reference in New Issue