检验记录提交bug

This commit is contained in:
caoqianming 2021-12-16 15:55:39 +08:00
parent 1f0fb52513
commit 67d74bcf3e
3 changed files with 9 additions and 1 deletions

View File

@ -87,6 +87,8 @@ class TestRecordViewSet(ListModelMixin, UpdateModelMixin, RetrieveModelMixin, De
if TestRecordItem.objects.filter(field_value__isnull=True, is_hidden=False, test_record=obj).exists():
raise exceptions.APIException('存在未填写项目')
with transaction.atomic():
obj.is_submited=True
obj.save()
WpmServies.update_wproduct_by_test(obj, request.user)
return Response()

View File

@ -59,7 +59,7 @@ class WfService(object):
"""
获取工单字段key List
"""
return CustomField.objects.filter(is_deleted=False, workflow=workflow).order_by('sort').values_list('field_key', flat=True)
return list(CustomField.objects.filter(is_deleted=False, workflow=workflow).order_by('sort').values_list('field_key', flat=True))
@classmethod
def get_ticket_transitions(cls, ticket:Ticket):

View File

@ -147,6 +147,7 @@ class TicketViewSet(OptimizationMixin, CreateUpdateCustomMixin, CreateModelMixin
field_key_list = WfService.get_workflow_custom_fields_list(vdata['workflow'])
transition = vdata['transition']
ticket_data = vdata['ticket_data']
#校验必填项
if transition.field_require_check:
for key, value in start_state.state_fields.items():
@ -156,9 +157,14 @@ class TicketViewSet(OptimizationMixin, CreateUpdateCustomMixin, CreateModelMixin
save_ticket_data = {}
# 只保存必填项以及可选项
for key, value in ticket_data.items():
if key in start_state.state_fields:
print(start_state.state_fields[key])
if start_state.state_fields[key] in [State.STATE_FIELD_REQUIRED, State.STATE_FIELD_OPTIONAL]:
print(key, True)
if key in field_key_list and key in start_state.state_fields and start_state.state_fields[key] in [
State.STATE_FIELD_REQUIRED, State.STATE_FIELD_OPTIONAL]:
save_ticket_data[key] = value
print('1')
ticket = serializer.save(state=start_state,
create_by=request.user,