| 
					
				 | 
			
			
				@@ -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: 
			 |