返工返修 工单 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.permissions import IsAdminUser
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.pm.models import ProductionPlan
from apps.sam.models import Order
from apps.wf.models import Ticket
from apps.wpm.models import Operation
# Create your views here.
class CleanDataView(APIView):
@ -14,7 +17,12 @@ class CleanDataView(APIView):
"""
清空数据库
"""
Order.objects.delete()
FIFO.objects.delete()
Material.objects.filter(type__in=[Material.MA_TYPE_GOOD, Material.MA_TYPE_HALFGOOD]).delete()
Order.objects.all().delete(soft=False)
ProductionPlan.objects.all().delete(soft=False)
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()

View File

@ -6,6 +6,7 @@ from apps.pm.models import SubProductionPlan, SubProductionProgress
from apps.mtm.models import Material, Step, SubprodctionMaterial
from apps.qm.models import TestRecord
from apps.system.models import User
from apps.wf.models import State, TicketFlow, Transition
from apps.wpm.models import WProduct, WproductFlow, WprouctTicket
from utils.tools import ranstr
class WpmServies(object):
@ -62,11 +63,39 @@ class WpmServies(object):
wt = WprouctTicket.objects.order_by('id').last() #取最后的工单
if wt.step.process == test.step.process:
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)
else:# 如果不合格
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_time = timezone.now()
wproduct.test = None