|
@@ -1300,6 +1300,8 @@ class BatchUpdate(APIView):
|
|
|
|
|
|
|
|
|
instance.save()
|
|
|
+ materials_instance = Materials()
|
|
|
+ materials_instance._check_status_operation(instance)
|
|
|
bill_obj.save()
|
|
|
success_count += 1
|
|
|
except Exception as e:
|
|
@@ -2048,6 +2050,7 @@ class Materials(viewsets.ModelViewSet):
|
|
|
Response a data list(get)
|
|
|
list:
|
|
|
Response a data list(all)
|
|
|
+
|
|
|
"""
|
|
|
# authentication_classes = [] # 禁用所有认证类
|
|
|
# permission_classes = [AllowAny] # 允许任意访问
|
|
@@ -2080,6 +2083,60 @@ class Materials(viewsets.ModelViewSet):
|
|
|
else:
|
|
|
return self.http_method_not_allowed(request=self.request)
|
|
|
|
|
|
+ def _check_status_operation(self, material_obj):
|
|
|
+ return_data = {}
|
|
|
+ return_data['status'] = material_obj.status
|
|
|
+
|
|
|
+ if material_obj.status == 0:
|
|
|
+ return_data['message'] = '未质检,请等待'
|
|
|
+ elif material_obj.status == 1:
|
|
|
+ if material_obj.material_goods_code == '' or material_obj.material_batch_order == '':
|
|
|
+ return_data['message'] = 'erp已质检,但是批次信息未填写,请手动检查,并将批次状态设置为已质检'
|
|
|
+ material_goods_code_divded= material_obj.production_batch.split('-')
|
|
|
+ if len(material_goods_code_divded) == 2:
|
|
|
+ material_obj.material_goods_code = material_goods_code_divded[0]
|
|
|
+ material_obj.material_batch_order = material_goods_code_divded[1]
|
|
|
+ if len(material_obj.material_batch_order) == 7:
|
|
|
+ material_obj.material_batch_order = '20'+material_obj.material_batch_order[0:6]
|
|
|
+ material_obj.save()
|
|
|
+ return_data['message'] = 'erp已质检,但是批次信息未填写,已自动填写,请手动检查,并将批次状态设置为已质检'
|
|
|
+ from bound.models import BoundBatchModel
|
|
|
+ batch_obj = BoundBatchModel.objects.filter(goods_code=material_obj.material_goods_code, bound_batch_order=material_obj.material_batch_order).first()
|
|
|
+ if not batch_obj:
|
|
|
+ return_data['message'] = 'erp已质检,但是批次信息未填写,已自动填写,请手动检查,并将批次状态设置为已质检,但是WMS未找到该批次,请手动检查,并将批次状态设置为已质检'
|
|
|
+ else :
|
|
|
+ batch_obj.check_status = 1
|
|
|
+ batch_obj.save()
|
|
|
+ return_data['message'] = 'erp已质检,但是批次信息未填写,已自动填写,请手动检查,并将批次状态设置为已质检,已自动将批次状态设置为已质检'
|
|
|
+ else:
|
|
|
+ from bound.models import BoundBatchModel
|
|
|
+ batch_obj = BoundBatchModel.objects.filter(goods_code=material_obj.material_goods_code, bound_batch_order=material_obj.material_batch_order).first()
|
|
|
+ if not batch_obj:
|
|
|
+ return_data['message'] = 'erp已质检,但是WMS未找到该批次,请手动检查,并将批次状态设置为已质检'
|
|
|
+ else :
|
|
|
+ batch_obj.check_status = 1
|
|
|
+ batch_obj.save()
|
|
|
+ return_data['message'] = '已质检,请确认'
|
|
|
+ return return_data
|
|
|
+
|
|
|
+ def check_status(self,request):
|
|
|
+
|
|
|
+ id = request.data.get('id', None)
|
|
|
+
|
|
|
+ if id is None:
|
|
|
+ return Response({'message': '参数错误', 'data': None, 'code': 400}, status=status.HTTP_200_OK)
|
|
|
+ else:
|
|
|
+ material_obj = MaterialDetail.objects.filter(id=id).first()
|
|
|
+ if material_obj:
|
|
|
+ return_data = self._check_status_operation(material_obj)
|
|
|
+ return Response({'message': '操作成功', 'data': return_data, 'code': 200}, status=status.HTTP_200_OK)
|
|
|
+ else:
|
|
|
+ return Response({'message': '数据不存在', 'data': None, 'code': 400}, status=status.HTTP_200_OK)
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
class OutMaterials(viewsets.ModelViewSet):
|
|
|
"""
|
|
|
retrieve:
|