wpm update 不触发singal/ pm process_json字段
This commit is contained in:
parent
15812bf048
commit
756f2efc56
|
@ -48,11 +48,7 @@ class SubProductionPlanUpdateSerializer(serializers.ModelSerializer):
|
||||||
class GenSubPlanSerializer(serializers.Serializer):
|
class GenSubPlanSerializer(serializers.Serializer):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
class SubProductionProgressSerializer(serializers.ModelSerializer):
|
|
||||||
material_ = MaterialSimpleSerializer(source='material', read_only=True)
|
|
||||||
class Meta:
|
|
||||||
model = SubProductionProgress
|
|
||||||
fields = '__all__'
|
|
||||||
|
|
||||||
class PickNeedSerializer(serializers.Serializer):
|
class PickNeedSerializer(serializers.Serializer):
|
||||||
warehouse = serializers.IntegerField(label="仓库ID")
|
warehouse = serializers.IntegerField(label="仓库ID")
|
||||||
|
@ -64,3 +60,10 @@ class SubproductionPlanSimpleSerializer(serializers.ModelSerializer):
|
||||||
class Meta:
|
class Meta:
|
||||||
model = SubProductionPlan
|
model = SubProductionPlan
|
||||||
fields = ['id', 'number']
|
fields = ['id', 'number']
|
||||||
|
|
||||||
|
class SubProductionProgressSerializer(serializers.ModelSerializer):
|
||||||
|
material_ = MaterialSimpleSerializer(source='material', read_only=True)
|
||||||
|
subproduction_plan_ = SubproductionPlanSimpleSerializer(source='subproduction_plan', read_only=True)
|
||||||
|
class Meta:
|
||||||
|
model = SubProductionProgress
|
||||||
|
fields = '__all__'
|
|
@ -1,6 +1,6 @@
|
||||||
from django.db.models.aggregates import Sum
|
from django.db.models.aggregates import Sum
|
||||||
from apps.pm.models import ProductionPlan, SubProductionPlan
|
from apps.pm.models import ProductionPlan, SubProductionPlan
|
||||||
import math
|
|
||||||
class PmService:
|
class PmService:
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
|
|
|
@ -14,6 +14,7 @@ def update_subplan_main(sender, instance, created, **kwargs):
|
||||||
if created:
|
if created:
|
||||||
subplan.main_product = instance.material
|
subplan.main_product = instance.material
|
||||||
subplan.main_count = instance.count
|
subplan.main_count = instance.count
|
||||||
|
|
||||||
subplan.main_count_real = instance.count_real
|
subplan.main_count_real = instance.count_real
|
||||||
subplan.main_count_ok = instance.count_ok
|
subplan.main_count_ok = instance.count_ok
|
||||||
if instance.count_ok >= instance.count and instance.count_ok > 0:
|
if instance.count_ok >= instance.count and instance.count_ok > 0:
|
||||||
|
@ -27,7 +28,7 @@ def update_subplan_main(sender, instance, created, **kwargs):
|
||||||
plan.count_real = subplan.main_count_real
|
plan.count_real = subplan.main_count_real
|
||||||
plan.count_ok = subplan.main_count_ok
|
plan.count_ok = subplan.main_count_ok
|
||||||
plan.save()
|
plan.save()
|
||||||
# 更新子计划工序统计字段
|
# 更新计划工序统计字段
|
||||||
PmService.update_plan_process_json(subplan.production_plan)
|
PmService.update_plan_process_json(subplan.production_plan)
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -57,12 +57,13 @@ class WpmServies(object):
|
||||||
wproduct.number = 'WP'+ranstr(7)
|
wproduct.number = 'WP'+ranstr(7)
|
||||||
|
|
||||||
# 更新子计划合格进度
|
# 更新子计划合格进度
|
||||||
SubProductionProgress.objects.filter(subproduction_plan=wproduct.subproduction_plan,
|
ins = SubProductionProgress.objects.get(subproduction_plan=wproduct.subproduction_plan,
|
||||||
is_main=True, type=SubprodctionMaterial.SUB_MA_TYPE_OUT).update(count_ok=F('count_ok')+1)
|
is_main=True, type=SubprodctionMaterial.SUB_MA_TYPE_OUT)
|
||||||
|
ins.count_ok = ins.count_ok + 1
|
||||||
|
ins.save()
|
||||||
else:# 如果不合格
|
else:# 如果不合格
|
||||||
wproduct.act_state = WProduct.WPR_ACT_STATE_NOTOK
|
wproduct.act_state = WProduct.WPR_ACT_STATE_NOTOK
|
||||||
# 需要走不合格品审理的工单
|
# 需要走不合格品审理的工单
|
||||||
wproduct.update_by = user
|
wproduct.update_by = user
|
||||||
wproduct.test = None
|
wproduct.test = None
|
||||||
wproduct.save()
|
wproduct.save()
|
||||||
|
|
|
@ -70,8 +70,10 @@ def handleTicket(sender, instance, created, **kwargs):
|
||||||
wp.save()
|
wp.save()
|
||||||
# 更新子计划合格进度
|
# 更新子计划合格进度
|
||||||
if sp != wt.subproduction_plan:
|
if sp != wt.subproduction_plan:
|
||||||
SubProductionProgress.objects.filter(subproduction_plan=sp,
|
ins = SubProductionProgress.objects.filter(subproduction_plan=sp,
|
||||||
is_main=True, type=SubprodctionMaterial.SUB_MA_TYPE_OUT).update(count_ok=F('count_ok')-1)
|
is_main=True, type=SubprodctionMaterial.SUB_MA_TYPE_OUT)
|
||||||
|
ins.count_ok = ins.count_ok - 1
|
||||||
|
ins.save()
|
||||||
|
|
||||||
else:
|
else:
|
||||||
raise exceptions.APIException('返回步骤点错误')
|
raise exceptions.APIException('返回步骤点错误')
|
||||||
|
|
|
@ -544,8 +544,10 @@ class OperationViewSet(ListModelMixin, RetrieveModelMixin, CreateModelMixin, Upd
|
||||||
# 更新子计划生产进度
|
# 更新子计划生产进度
|
||||||
# 如果产品有返工标记不做计算
|
# 如果产品有返工标记不做计算
|
||||||
if wp.ng_sign not in [WProduct.NG_BACK_FIX, WProduct.NG_BACK_WORK]:
|
if wp.ng_sign not in [WProduct.NG_BACK_FIX, WProduct.NG_BACK_WORK]:
|
||||||
SubProductionProgress.objects.filter(subproduction_plan=wsp,
|
ins = SubProductionProgress.objects.filter(subproduction_plan=wsp,
|
||||||
is_main=True, type=SubprodctionMaterial.SUB_MA_TYPE_OUT).update(count_real=F('count_real')+1)
|
is_main=True, type=SubprodctionMaterial.SUB_MA_TYPE_OUT)
|
||||||
|
ins.count_real = ins.count_real + 1
|
||||||
|
ins.save()
|
||||||
wp.operation = None
|
wp.operation = None
|
||||||
wp.update_by = request.user
|
wp.update_by = request.user
|
||||||
wp.save()
|
wp.save()
|
||||||
|
|
Loading…
Reference in New Issue