small changes

This commit is contained in:
javad committed 2024-02-07 10:40:45 +03:30
1 parent e983e0cc43
commit f7dbd02a6c
36 files changed
+704 -16

No files matched your search

+88 -1
View File
@@ -1,9 +1,14 @@
from apps.shop.models import Order as OrderModel
from apps.shop.models import Order as OrderModel, OrderItem as OrderItemModel
from apps.customer.models import CustomerResponsible as CustomerResponsibleModel
from apps.cuser.models import CuserRole as CuserRoleModel
from rest_framework import exceptions
from utils.custom_permissions import workspace_admin_up
from utils.get_user_workspace import get_user_workspace_uuid, get_user_workspace
from utils.get_cuser_role import get_cuser_role, get_cuser_role_uuid
from apps.customer.models import Customer as CustomerModel
from django.http import HttpResponse
import pandas as pd
from django.utils import timezone
def retrieve_order(cuser_role_uuid: str, order_id: int, workspace_uuid: str) -> OrderModel:
@@ -44,3 +49,85 @@ def list_order(cuser_role_uuid: str, workspace_uuid: str) -> OrderModel:
except Exception as exp:
message = f'Error Fetching List Order: {exp}'
raise exceptions.ValidationError({'error': message})
def list_order_operators(request) -> OrderModel:
try:
workspace_uuid = get_user_workspace_uuid(request)
cuser_role_uuid = get_cuser_role_uuid(request)
customer_responsibles = CustomerResponsibleModel.objects.filter(cuser_role__uuid=cuser_role_uuid, sys_ws__uuid=workspace_uuid)
responsible_group_ids = customer_responsibles.values_list('responsible_group__id', flat=True)
orders = OrderModel.objects.filter(sys_ws__uuid=workspace_uuid,
responsible_group_id__in=responsible_group_ids).order_by('-created_at')[:10]
return orders
except Exception as exp:
message = f'Error Fetching List Order: {exp}'
raise exceptions.ValidationError({'error': message})
def retrieve_order_operators(request, order_id) -> OrderModel:
try:
workspace_uuid = get_user_workspace_uuid(request)
cuser_role_uuid = get_cuser_role_uuid(request)
customer_responsibles = CustomerResponsibleModel.objects.filter(cuser_role__uuid=cuser_role_uuid, sys_ws__uuid=workspace_uuid)
responsible_group_ids = customer_responsibles.values_list('responsible_group__id', flat=True)
order = OrderModel.objects.get(id=order_id, sys_ws__uuid=workspace_uuid,
responsible_group_id__in=responsible_group_ids)
order.view_at = timezone.now()
order.save()
return order
except Exception as exp:
message = f'Error Retrive Order: {exp}'
raise exceptions.ValidationError({'error': message})
def retrieve_order_item_excel(request, order_id):
try:
workspace_uuid = get_user_workspace_uuid(request)
cuser_role_uuid = get_cuser_role_uuid(request)
customer_responsibles = CustomerResponsibleModel.objects.filter(cuser_role__uuid=cuser_role_uuid,
sys_ws__uuid=workspace_uuid)
responsible_group_ids = customer_responsibles.values_list('responsible_group__id', flat=True)
order_items = OrderItemModel.objects.filter(order_id=order_id,
order__responsible_group_id__in=responsible_group_ids)
df = pd.DataFrame(list(order_items.values('product__acc_code', 'product__category__name', 'product_name', 'amount', 'product__attr__acc_vahed')))
#df['واحد سنجش'] = ''
df['عامل کنترل موجودی اول'] = ''
df['عامل کنترل موجودی دوم'] = ''
df['عامل کنترل موجودی سوم'] = ''
df['عامل کنترل موجودی سوم'] = ''
df['عامل کنترل موجودی چهارم'] = ''
df['عامل کنترل موجودی پنجم'] = ''
df['محصول'] = df['product__category__name'] + df['product_name']
df = df.drop(columns=['product__category__name', 'product_name'])
df.rename(columns={
'product__acc_code': ' کد محصول',
'amount': 'مقدار',
'product__attr__acc_vahed': 'واحد سنجش'
}, inplace=True)
df = df[['محصول',
' کد محصول',
'واحد سنجش',
'عامل کنترل موجودی اول',
'عامل کنترل موجودی دوم',
'عامل کنترل موجودی سوم',
'عامل کنترل موجودی چهارم',
'عامل کنترل موجودی پنجم',
'مقدار',
]]
return df
except Exception as exp:
message = f'Error Retrive Order Items for excel: {exp}'
raise exceptions.ValidationError({'error': message})