返工返修 工单 retest_result字段

This commit is contained in:
caoqianming 2021-12-29 10:07:08 +08:00
parent 644f78a29e
commit d87ba48526
2 changed files with 41 additions and 4 deletions

View File

@ -2,9 +2,12 @@ from django.shortcuts import render
from rest_framework.views import APIView from rest_framework.views import APIView
from rest_framework.permissions import IsAdminUser from rest_framework.permissions import IsAdminUser
from rest_framework.response import Response from rest_framework.response import Response
from apps.inm.models import FIFO from apps.inm.models import FIFO, Inventory, MaterialBatch
from apps.mtm.models import Material from apps.mtm.models import Material
from apps.pm.models import ProductionPlan
from apps.sam.models import Order from apps.sam.models import Order
from apps.wf.models import Ticket
from apps.wpm.models import Operation
# Create your views here. # Create your views here.
class CleanDataView(APIView): class CleanDataView(APIView):
@ -14,7 +17,12 @@ class CleanDataView(APIView):
""" """
清空数据库 清空数据库
""" """
Order.objects.delete() Order.objects.all().delete(soft=False)
FIFO.objects.delete() ProductionPlan.objects.all().delete(soft=False)
Material.objects.filter(type__in=[Material.MA_TYPE_GOOD, Material.MA_TYPE_HALFGOOD]).delete() FIFO.objects.all().delete(soft=False)
Material.objects.filter(type__in=[Material.MA_TYPE_GOOD, Material.MA_TYPE_HALFGOOD]).update(count=0)
MaterialBatch.objects.filter(material__type__in=[Material.MA_TYPE_GOOD, Material.MA_TYPE_HALFGOOD]).delete()
Inventory.objects.filter(material__type__in=[Material.MA_TYPE_GOOD, Material.MA_TYPE_HALFGOOD]).delete()
Ticket.objects.all().delete(soft=False)
Operation.objects.all().delete()
return Response() return Response()

View File

@ -6,6 +6,7 @@ from apps.pm.models import SubProductionPlan, SubProductionProgress
from apps.mtm.models import Material, Step, SubprodctionMaterial from apps.mtm.models import Material, Step, SubprodctionMaterial
from apps.qm.models import TestRecord from apps.qm.models import TestRecord
from apps.system.models import User from apps.system.models import User
from apps.wf.models import State, TicketFlow, Transition
from apps.wpm.models import WProduct, WproductFlow, WprouctTicket from apps.wpm.models import WProduct, WproductFlow, WprouctTicket
from utils.tools import ranstr from utils.tools import ranstr
class WpmServies(object): class WpmServies(object):
@ -62,11 +63,39 @@ class WpmServies(object):
wt = WprouctTicket.objects.order_by('id').last() #取最后的工单 wt = WprouctTicket.objects.order_by('id').last() #取最后的工单
if wt.step.process == test.step.process: if wt.step.process == test.step.process:
wproduct.ng_sign = None wproduct.ng_sign = None
ticket = wt.ticket
ticket_data = wt.ticket_data
ticket_data['retest_result'] = 1
ticket.update_by = user
ticket.save()
# 创建处理日志
TicketFlow.objects.create(ticket=ticket, state=ticket.state,
participant_type=State.PARTICIPANT_TYPE_PERSONAL,
intervene_type=0,
participant=user)
# 更新子计划相关进度 # 更新子计划相关进度
cls.update_subproduction_progress_main(sp=wproduct.subproduction_plan) cls.update_subproduction_progress_main(sp=wproduct.subproduction_plan)
else:# 如果不合格 else:# 如果不合格
wproduct.act_state = WProduct.WPR_ACT_STATE_NOTOK wproduct.act_state = WProduct.WPR_ACT_STATE_NOTOK
# 需要走不合格品审理的工单 # 需要走不合格品审理的工单
# 如果已经是返工返修的产品
if wproduct.ng_sign:
wt = WprouctTicket.objects.order_by('id').last() #取最后的工单
if wt.step.process == test.step.process:
ticket = wt.ticket
ticket_data = wt.ticket_data
ticket_data['retest_result'] = 0
ticket.update_by = user
ticket.save()
# 创建处理日志
TicketFlow.objects.create(ticket=ticket, state=ticket.state,
participant_type=State.PARTICIPANT_TYPE_PERSONAL,
intervene_type=0,
participant=user)
wproduct.update_by = user wproduct.update_by = user
wproduct.update_time = timezone.now() wproduct.update_time = timezone.now()
wproduct.test = None wproduct.test = None