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)
|
number = models.CharField('编号', max_length=20)
|
||||||
name = models.CharField('名称', max_length=50, null=True, blank=True)
|
name = models.CharField('名称', max_length=50, null=True, blank=True)
|
||||||
submit_time = models.DateTimeField('提交时间', 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):
|
class PuOrder(CommonBModel):
|
||||||
|
@ -58,6 +60,8 @@ class PuOrder(CommonBModel):
|
||||||
Supplier, verbose_name='供应商', on_delete=models.CASCADE)
|
Supplier, verbose_name='供应商', on_delete=models.CASCADE)
|
||||||
delivery_date = models.DateField('截止到货日期', null=True, blank=True)
|
delivery_date = models.DateField('截止到货日期', null=True, blank=True)
|
||||||
submit_time = models.DateTimeField('提交时间', 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(
|
materials = models.ManyToManyField(
|
||||||
Material, verbose_name='多个物料', blank=True, through='pum.puorderitem', related_name='pu_order_materials')
|
Material, verbose_name='多个物料', blank=True, through='pum.puorderitem', related_name='pu_order_materials')
|
||||||
|
|
||||||
|
|
|
@ -46,7 +46,7 @@ class PuPlanViewSet(CustomModelViewSet):
|
||||||
raise ParseError('该计划存在明细不可删除')
|
raise ParseError('该计划存在明细不可删除')
|
||||||
return super().perform_destroy(instance)
|
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):
|
def submit(self, request, *args, **kwargs):
|
||||||
"""提交采购计划
|
"""提交采购计划
|
||||||
|
|
||||||
|
@ -59,6 +59,7 @@ class PuPlanViewSet(CustomModelViewSet):
|
||||||
if puplan.state != PuPlan.PUPLAN_CREATE:
|
if puplan.state != PuPlan.PUPLAN_CREATE:
|
||||||
raise ParseError('采购计划状态异常')
|
raise ParseError('采购计划状态异常')
|
||||||
puplan.submit_time = timezone.now()
|
puplan.submit_time = timezone.now()
|
||||||
|
puplan.submit_user = user
|
||||||
puplan.state = PuPlan.PUPLAN_SUBMITED
|
puplan.state = PuPlan.PUPLAN_SUBMITED
|
||||||
puplan.save()
|
puplan.save()
|
||||||
return Response()
|
return Response()
|
||||||
|
@ -106,7 +107,7 @@ class PuOrderViewSet(CustomModelViewSet):
|
||||||
raise ParseError('采购订单非创建中不可删除')
|
raise ParseError('采购订单非创建中不可删除')
|
||||||
instance.delete(soft=False)
|
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
|
@transaction.atomic
|
||||||
def submit(self, request, *args, **kwargs):
|
def submit(self, request, *args, **kwargs):
|
||||||
"""提交采购订单
|
"""提交采购订单
|
||||||
|
@ -122,6 +123,7 @@ class PuOrderViewSet(CustomModelViewSet):
|
||||||
if puorder.state != PuOrder.PUORDER_CREATE:
|
if puorder.state != PuOrder.PUORDER_CREATE:
|
||||||
raise ParseError('采购计划状态异常')
|
raise ParseError('采购计划状态异常')
|
||||||
puorder.submit_time = timezone.now()
|
puorder.submit_time = timezone.now()
|
||||||
|
puorder.submit_user = user
|
||||||
puorder.state = PuOrder.PUORDER_SUBMITED
|
puorder.state = PuOrder.PUORDER_SUBMITED
|
||||||
puorder.save()
|
puorder.save()
|
||||||
PumService.change_puplan_state_when_puorder_sumbit(puorder)
|
PumService.change_puplan_state_when_puorder_sumbit(puorder)
|
||||||
|
|
Loading…
Reference in New Issue