feat: 采购计划和订单都增加提交人

This commit is contained in:
caoqianming 2023-12-01 13:51:40 +08:00
parent dc8bab86cf
commit 9d847c8d87
3 changed files with 34 additions and 2 deletions

View File

@ -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='提交人'),
),
]

View File

@ -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')

View File

@ -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)