feat: 采购计划和订单都增加提交人
This commit is contained in:
parent
dc8bab86cf
commit
9d847c8d87
|
@ -0,0 +1,26 @@
|
|||
# Generated by Django 3.2.12 on 2023-12-01 05:50
|
||||
|
||||
from django.conf import settings
|
||||
from django.db import migrations, models
|
||||
import django.db.models.deletion
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
|
||||
('pum', '0003_puorder_materials'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AddField(
|
||||
model_name='puorder',
|
||||
name='submit_user',
|
||||
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='submit_user_puorder', to=settings.AUTH_USER_MODEL, verbose_name='提交人'),
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name='puplan',
|
||||
name='submit_user',
|
||||
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='submit_user_puplan', to=settings.AUTH_USER_MODEL, verbose_name='提交人'),
|
||||
),
|
||||
]
|
|
@ -35,6 +35,8 @@ class PuPlan(CommonBModel):
|
|||
number = models.CharField('编号', max_length=20)
|
||||
name = models.CharField('名称', max_length=50, null=True, blank=True)
|
||||
submit_time = models.DateTimeField('提交时间', null=True, blank=True)
|
||||
submit_user = models.ForeignKey(
|
||||
'system.user', verbose_name='提交人', related_name='submit_user_puplan', on_delete=models.CASCADE, null=True, blank=True)
|
||||
|
||||
|
||||
class PuOrder(CommonBModel):
|
||||
|
@ -58,6 +60,8 @@ class PuOrder(CommonBModel):
|
|||
Supplier, verbose_name='供应商', on_delete=models.CASCADE)
|
||||
delivery_date = models.DateField('截止到货日期', null=True, blank=True)
|
||||
submit_time = models.DateTimeField('提交时间', null=True, blank=True)
|
||||
submit_user = models.ForeignKey(
|
||||
'system.user', verbose_name='提交人', related_name='submit_user_puorder', on_delete=models.CASCADE, null=True, blank=True)
|
||||
materials = models.ManyToManyField(
|
||||
Material, verbose_name='多个物料', blank=True, through='pum.puorderitem', related_name='pu_order_materials')
|
||||
|
||||
|
|
|
@ -46,7 +46,7 @@ class PuPlanViewSet(CustomModelViewSet):
|
|||
raise ParseError('该计划存在明细不可删除')
|
||||
return super().perform_destroy(instance)
|
||||
|
||||
@action(methods=['post'], detail=True, perms_map={'post': 'pu_plan.update'}, serializer_class=serializers.Serializer)
|
||||
@action(methods=['post'], detail=True, perms_map={'post': 'pu_plan.submit'}, serializer_class=serializers.Serializer)
|
||||
def submit(self, request, *args, **kwargs):
|
||||
"""提交采购计划
|
||||
|
||||
|
@ -59,6 +59,7 @@ class PuPlanViewSet(CustomModelViewSet):
|
|||
if puplan.state != PuPlan.PUPLAN_CREATE:
|
||||
raise ParseError('采购计划状态异常')
|
||||
puplan.submit_time = timezone.now()
|
||||
puplan.submit_user = user
|
||||
puplan.state = PuPlan.PUPLAN_SUBMITED
|
||||
puplan.save()
|
||||
return Response()
|
||||
|
@ -106,7 +107,7 @@ class PuOrderViewSet(CustomModelViewSet):
|
|||
raise ParseError('采购订单非创建中不可删除')
|
||||
instance.delete(soft=False)
|
||||
|
||||
@action(methods=['post'], detail=True, perms_map={'post': 'pu_order.update'}, serializer_class=serializers.Serializer)
|
||||
@action(methods=['post'], detail=True, perms_map={'post': 'pu_order.submit'}, serializer_class=serializers.Serializer)
|
||||
@transaction.atomic
|
||||
def submit(self, request, *args, **kwargs):
|
||||
"""提交采购订单
|
||||
|
@ -122,6 +123,7 @@ class PuOrderViewSet(CustomModelViewSet):
|
|||
if puorder.state != PuOrder.PUORDER_CREATE:
|
||||
raise ParseError('采购计划状态异常')
|
||||
puorder.submit_time = timezone.now()
|
||||
puorder.submit_user = user
|
||||
puorder.state = PuOrder.PUORDER_SUBMITED
|
||||
puorder.save()
|
||||
PumService.change_puplan_state_when_puorder_sumbit(puorder)
|
||||
|
|
Loading…
Reference in New Issue