存在工单不可报废
This commit is contained in:
parent
07dc9e3d9e
commit
0910825ad5
|
@ -1,7 +1,8 @@
|
||||||
from __future__ import absolute_import, unicode_literals
|
from __future__ import absolute_import, unicode_literals
|
||||||
from rest_framework.response import Response
|
from rest_framework.response import Response
|
||||||
from celery import shared_task
|
from celery import shared_task
|
||||||
|
import os
|
||||||
|
import subprocess
|
||||||
|
|
||||||
|
|
||||||
@shared_task
|
@shared_task
|
||||||
|
@ -9,15 +10,13 @@ def backup_database():
|
||||||
"""
|
"""
|
||||||
备份数据库
|
备份数据库
|
||||||
"""
|
"""
|
||||||
import os
|
|
||||||
ret = os.popen('sudo pg_dump -U postgres -d hberp -f /home/lighthouse/hberp_backup.sql')
|
ret = os.popen('sudo pg_dump -U postgres -d hberp -f /home/lighthouse/hberp_backup.sql')
|
||||||
return Response()
|
return Response()
|
||||||
|
|
||||||
@shared_task
|
@shared_task
|
||||||
def reload_server():
|
def reload_server():
|
||||||
import os # 更新后端
|
|
||||||
os.chdir('/home/lighthouse/hberp')
|
os.chdir('/home/lighthouse/hberp')
|
||||||
ret = os.popen('sudo git pull && sudo service supervisor reload')
|
ret = subprocess.run('sudo git pull && sudo service supervisor reload')
|
||||||
return Response(ret.read())
|
return Response(ret.read())
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -192,6 +192,8 @@ class FIFOInPurSerializer(serializers.ModelSerializer):
|
||||||
|
|
||||||
def create(self, validated_data):
|
def create(self, validated_data):
|
||||||
pu_order = validated_data['pu_order']
|
pu_order = validated_data['pu_order']
|
||||||
|
if pu_order.is_audited:
|
||||||
|
raise ValidationError('该采购订单未审核')
|
||||||
validated_data['vendor'] = pu_order.vendor
|
validated_data['vendor'] = pu_order.vendor
|
||||||
validated_data['number'] = 'RK' + ranstr(7)
|
validated_data['number'] = 'RK' + ranstr(7)
|
||||||
validated_data['type'] = FIFO.FIFO_TYPE_PUR_IN
|
validated_data['type'] = FIFO.FIFO_TYPE_PUR_IN
|
||||||
|
|
|
@ -17,15 +17,18 @@ class InmService:
|
||||||
for i in FIFOItem.objects.filter(fifo=instance):
|
for i in FIFOItem.objects.filter(fifo=instance):
|
||||||
material = i.material
|
material = i.material
|
||||||
warehouse = i.warehouse
|
warehouse = i.warehouse
|
||||||
o1, _ = Inventory.objects.get_or_create(material=material, warehouse=warehouse, \
|
|
||||||
defaults={'material':material, 'warehouse':warehouse, 'count':0})
|
|
||||||
o1.count = o1.count + i.count
|
|
||||||
o1.save()
|
|
||||||
o2, _ = MaterialBatch.objects.get_or_create(material=material, warehouse=warehouse, batch=i.batch,\
|
o2, _ = MaterialBatch.objects.get_or_create(material=material, warehouse=warehouse, batch=i.batch,\
|
||||||
defaults={'material':material, 'warehouse':warehouse, 'count':0, 'batch':i.batch})
|
defaults={'material':material, 'warehouse':warehouse, 'count':0, 'batch':i.batch})
|
||||||
o2.count = o2.count + i.count
|
o2.count = o2.count + i.count
|
||||||
o2.save()
|
o2.save()
|
||||||
material.count = material.count + i.count
|
|
||||||
|
iv = Inventory.objects.get_or_create(material=material, warehouse=warehouse, \
|
||||||
|
defaults={'material':material, 'warehouse':warehouse, 'count':0})
|
||||||
|
iv.count = MaterialBatch.objects.filter(material=material, warehouse=warehouse).count()
|
||||||
|
iv.save()
|
||||||
|
|
||||||
|
material.count = MaterialBatch.objects.filter(material=material).count()
|
||||||
material.save()
|
material.save()
|
||||||
|
|
||||||
# 创建IProduct
|
# 创建IProduct
|
||||||
|
|
|
@ -352,6 +352,8 @@ class WProductViewSet(ListModelMixin, RetrieveModelMixin, GenericViewSet):
|
||||||
serializer = ScrapSerializer(data=request.data)
|
serializer = ScrapSerializer(data=request.data)
|
||||||
serializer.is_valid(raise_exception=True)
|
serializer.is_valid(raise_exception=True)
|
||||||
vdata = serializer.validated_data
|
vdata = serializer.validated_data
|
||||||
|
if obj.ticket is not None:
|
||||||
|
raise exceptions.APIException('该产品存在进行工单')
|
||||||
if obj.act_state == WProduct.WPR_ACT_STATE_NOTOK:
|
if obj.act_state == WProduct.WPR_ACT_STATE_NOTOK:
|
||||||
pass
|
pass
|
||||||
elif obj.step.process.id == 1 and \
|
elif obj.step.process.id == 1 and \
|
||||||
|
|
Loading…
Reference in New Issue