XH_Digital_Management/application/busi_tbl/views.py

506 lines
20 KiB
Python
Raw Normal View History

2024-06-14 16:47:43 +08:00
from django.contrib.auth.decorators import login_required
2024-06-06 23:35:02 +08:00
from django.shortcuts import render
2024-06-14 16:47:43 +08:00
from common.auth import custom_permission_required
2024-06-06 23:35:02 +08:00
from common.utils.page_helper import paginate_query_and_assign_numbers
from .models import *
2024-06-06 15:08:38 +08:00
@login_required
2024-06-14 16:47:43 +08:00
@custom_permission_required('busi_tbl.view_departmentannualperformance')
2024-06-06 15:08:38 +08:00
def department_annual_performance_list_view(request):
# 声明查询集
query_set = DepartmentAnnualPerformance.objects.all().order_by('-year')
# 获取查询参数
year = request.GET.get('year', '')
primary_department = request.GET.get('primary_department', '')
# 根据提供的参数进行筛选
if year:
query_set = query_set.filter(year__icontains=year)
if primary_department:
query_set = query_set.filter(primary_department__icontains=primary_department)
# 对查询结果进行分页每页10条记录
items = paginate_query_and_assign_numbers(
request=request,
queryset=query_set,
per_page=10
)
# 构建上下文查询参数字符串
query_params = '&year={}&primary_department={}'.format(year, primary_department)
# 准备上下文
context = {
'items': items,
'query_params': query_params,
2024-06-06 23:35:02 +08:00
'model_config': 'busi_tbl.DepartmentAnnualPerformance',
2024-06-06 15:08:38 +08:00
'breadcrumb_list': [{"title": "首页", "name": "index"}, {"title": "经营管理", "name": "index"},
{"title": "年度总体经营指标", "name": "department_annual_performance_list"}],
'filters': [
{"type": "text", "id": "year", "name": "year", "label": "年份", "placeholder": "请输入年份"},
{"type": "text", "id": "primary_department", "name": "primary_department", "label": "一级部门",
"placeholder": "请输入一级部门"}
],
2024-06-06 23:43:04 +08:00
"table_exclude_field_name": ['id'],
2024-06-06 23:35:02 +08:00
'form_action_url': 'department_annual_performance_list'
2024-06-06 15:08:38 +08:00
}
2024-06-07 16:31:02 +08:00
return render(request, 'view_list.html', context)
2024-06-06 15:08:38 +08:00
@login_required
2024-06-14 16:47:43 +08:00
@custom_permission_required('busi_tbl.view_departmentmonthlyincome')
2024-06-06 15:08:38 +08:00
def department_monthly_income_list_view(request):
# 声明查询集
query_set = DepartmentMonthlyIncome.objects.all().order_by('-year_month')
# 获取查询参数
year_month = request.GET.get('year_month', '')
primary_department = request.GET.get('primary_department', '')
# 根据提供的参数进行筛选
if year_month:
query_set = query_set.filter(year_month__icontains=year_month)
if primary_department:
query_set = query_set.filter(primary_department__icontains=primary_department)
# 对查询结果进行分页每页10条记录
items = paginate_query_and_assign_numbers(
request=request,
queryset=query_set,
per_page=10
)
# 构建上下文查询参数字符串
query_params = '&year_month={}&primary_department={}'.format(year_month, primary_department)
# 准备上下文
context = {
'items': items,
'query_params': query_params,
2024-06-06 23:35:02 +08:00
'model_config': 'busi_tbl.DepartmentMonthlyIncome',
2024-06-06 15:08:38 +08:00
'breadcrumb_list': [{"title": "首页", "name": "index"}, {"title": "收入管理", "name": "index"},
{"title": "收入情况", "name": "department_monthly_income_list"}],
'filters': [
{"type": "text", "id": "year_month", "name": "year_month", "label": "年月", "placeholder": "请输入年月"},
{"type": "text", "id": "primary_department", "name": "primary_department", "label": "一级部门",
"placeholder": "请输入一级部门"}
],
2024-06-06 23:43:04 +08:00
"table_exclude_field_name": ['id'],
2024-06-06 23:35:02 +08:00
'form_action_url': 'department_monthly_income_list'
2024-06-06 15:08:38 +08:00
}
2024-06-07 16:31:02 +08:00
return render(request, 'view_list.html', context)
2024-06-06 15:08:38 +08:00
@login_required
2024-06-14 16:47:43 +08:00
@custom_permission_required('busi_tbl.view_departmentmonthlycost')
2024-06-06 15:08:38 +08:00
def department_monthly_cost_list_view(request):
# 声明查询集
query_set = DepartmentMonthlyCost.objects.all().order_by('-year_month')
# 获取查询参数
year_month = request.GET.get('year_month', '')
primary_department = request.GET.get('primary_department', '')
# 根据提供的参数进行筛选
if year_month:
query_set = query_set.filter(year_month__icontains=year_month)
if primary_department:
query_set = query_set.filter(primary_department__icontains=primary_department)
# 对查询结果进行分页每页10条记录
items = paginate_query_and_assign_numbers(
request=request,
queryset=query_set,
per_page=10
)
# 构建上下文查询参数字符串
query_params = '&year_month={}&primary_department={}'.format(year_month, primary_department)
# 准备上下文
context = {
'items': items,
'query_params': query_params,
2024-06-06 23:35:02 +08:00
'model_config': 'busi_tbl.DepartmentMonthlyCost',
2024-06-06 15:08:38 +08:00
'breadcrumb_list': [{"title": "首页", "name": "index"}, {"title": "成本管理", "name": "index"},
{"title": "成本情况", "name": "department_monthly_cost_list"}],
'filters': [
{"type": "text", "id": "year_month", "name": "year_month", "label": "年月", "placeholder": "请输入年月"},
{"type": "text", "id": "primary_department", "name": "primary_department", "label": "一级部门",
"placeholder": "请输入一级部门"}
],
2024-06-06 23:43:04 +08:00
"table_exclude_field_name": ['id'],
2024-06-06 23:35:02 +08:00
'form_action_url': 'department_monthly_cost_list'
2024-06-06 15:08:38 +08:00
}
2024-06-07 16:31:02 +08:00
return render(request, 'view_list.html', context)
2024-06-06 15:08:38 +08:00
@login_required
2024-06-14 16:47:43 +08:00
@custom_permission_required('busi_tbl.view_departmentmonthlyprofit')
2024-06-06 15:08:38 +08:00
def department_monthly_profit_list_view(request):
# 声明查询集
query_set = DepartmentMonthlyProfit.objects.all().order_by('-year_month')
# 获取查询参数
year_month = request.GET.get('year_month', '')
primary_department = request.GET.get('primary_department', '')
# 根据提供的参数进行筛选
if year_month:
query_set = query_set.filter(year_month__icontains=year_month)
if primary_department:
query_set = query_set.filter(primary_department__icontains=primary_department)
# 对查询结果进行分页每页10条记录
items = paginate_query_and_assign_numbers(
request=request,
queryset=query_set,
per_page=10
)
# 构建上下文查询参数字符串
query_params = '&year_month={}&primary_department={}'.format(year_month, primary_department)
# 准备上下文
context = {
'items': items,
'query_params': query_params,
2024-06-06 23:35:02 +08:00
'model_config': 'busi_tbl.DepartmentMonthlyProfit',
2024-06-06 15:08:38 +08:00
'breadcrumb_list': [{"title": "首页", "name": "index"}, {"title": "利润管理", "name": "index"},
{"title": "利润情况", "name": "department_monthly_profit_list"}],
'filters': [
{"type": "text", "id": "year_month", "name": "year_month", "label": "年月", "placeholder": "请输入年月"},
{"type": "text", "id": "primary_department", "name": "primary_department", "label": "一级部门",
"placeholder": "请输入一级部门"}
],
2024-06-06 23:43:04 +08:00
"table_exclude_field_name": ['id'],
2024-06-06 23:35:02 +08:00
'form_action_url': 'department_monthly_profit_list'
2024-06-06 15:08:38 +08:00
}
2024-06-07 16:31:02 +08:00
return render(request, 'view_list.html', context)
2024-06-06 15:08:38 +08:00
@login_required
2024-06-14 16:47:43 +08:00
@custom_permission_required('busi_tbl.view_departmentprojectprogress')
2024-06-06 15:08:38 +08:00
def department_project_progress_list_view(request):
# 声明查询集
query_set = DepartmentProjectProgress.objects.all().order_by('-contract_date')
# 获取查询参数
primary_department = request.GET.get('primary_department', '')
project_name = request.GET.get('project_name', '')
# 根据提供的参数进行筛选
if primary_department:
query_set = query_set.filter(primary_department__icontains=primary_department)
if project_name:
query_set = query_set.filter(project_name__icontains=project_name)
# 对查询结果进行分页每页10条记录
items = paginate_query_and_assign_numbers(
request=request,
queryset=query_set,
per_page=10
)
# 构建上下文查询参数字符串
query_params = '&primary_department={}&project_name={}'.format(primary_department, project_name)
# 准备上下文
context = {
'items': items,
'query_params': query_params,
2024-06-06 23:35:02 +08:00
'model_config': 'busi_tbl.DepartmentProjectProgress',
2024-06-06 15:08:38 +08:00
'breadcrumb_list': [{"title": "首页", "name": "index"}, {"title": "项目管理", "name": "index"},
{"title": "项目进度", "name": "department_project_progress_list"}],
'filters': [
{"type": "text", "id": "primary_department", "name": "primary_department", "label": "一级部门",
"placeholder": "请输入一级部门"},
{"type": "text", "id": "project_name", "name": "project_name", "label": "项目名称",
"placeholder": "请输入项目名称"}
],
2024-06-06 23:43:04 +08:00
"table_exclude_field_name": ['id'],
2024-06-06 23:35:02 +08:00
'form_action_url': 'department_project_progress_list'
2024-06-06 15:08:38 +08:00
}
2024-06-07 16:31:02 +08:00
return render(request, 'view_list.html', context)
2024-06-06 15:08:38 +08:00
@login_required
2024-06-14 16:47:43 +08:00
@custom_permission_required('busi_tbl.view_departmentprojectsettlement')
2024-06-06 15:08:38 +08:00
def department_project_settlement_list_view(request):
# 声明查询集
query_set = DepartmentProjectSettlement.objects.all().order_by('-primary_department')
# 获取查询参数
primary_department = request.GET.get('primary_department', '')
project_name = request.GET.get('project_name', '')
# 根据提供的参数进行筛选
if primary_department:
query_set = query_set.filter(primary_department__icontains=primary_department)
if project_name:
query_set = query_set.filter(project_name__icontains=project_name)
# 对查询结果进行分页每页10条记录
items = paginate_query_and_assign_numbers(
request=request,
queryset=query_set,
per_page=10
)
# 构建上下文查询参数字符串
query_params = '&primary_department={}&project_name={}'.format(primary_department, project_name)
# 准备上下文
context = {
'items': items,
'query_params': query_params,
2024-06-06 23:35:02 +08:00
'model_config': 'busi_tbl.DepartmentProjectSettlement',
2024-06-06 15:08:38 +08:00
'breadcrumb_list': [{"title": "首页", "name": "index"}, {"title": "项目管理", "name": "index"},
{"title": "项目结算情况", "name": "department_project_settlement_list"}],
'filters': [
{"type": "text", "id": "primary_department", "name": "primary_department", "label": "一级部门",
"placeholder": "请输入一级部门"},
{"type": "text", "id": "project_name", "name": "project_name", "label": "项目名称",
"placeholder": "请输入项目名称"}
],
2024-06-06 23:43:04 +08:00
"table_exclude_field_name": ['id'],
2024-06-06 23:35:02 +08:00
'form_action_url': 'department_project_settlement_list'
2024-06-06 15:08:38 +08:00
}
2024-06-07 16:31:02 +08:00
return render(request, 'view_list.html', context)
2024-06-06 15:08:38 +08:00
@login_required
2024-06-14 16:47:43 +08:00
@custom_permission_required('busi_tbl.view_departmentprojectpayment')
2024-06-06 15:08:38 +08:00
def department_project_payment_list_view(request):
# 声明查询集
query_set = DepartmentProjectPayment.objects.all().order_by('-primary_department')
# 获取查询参数
primary_department = request.GET.get('primary_department', '')
project_name = request.GET.get('project_name', '')
# 根据提供的参数进行筛选
if primary_department:
query_set = query_set.filter(primary_department__icontains=primary_department)
if project_name:
query_set = query_set.filter(project_name__icontains=project_name)
# 对查询结果进行分页每页10条记录
items = paginate_query_and_assign_numbers(
request=request,
queryset=query_set,
per_page=10
)
# 构建上下文查询参数字符串
query_params = '&primary_department={}&project_name={}'.format(primary_department, project_name)
# 准备上下文
context = {
'items': items,
'query_params': query_params,
2024-06-06 23:35:02 +08:00
'model_config': 'busi_tbl.DepartmentProjectPayment',
2024-06-06 15:08:38 +08:00
'breadcrumb_list': [{"title": "首页", "name": "index"}, {"title": "项目管理", "name": "index"},
{"title": "项目回款情况", "name": "department_project_payment_list"}],
'filters': [
{"type": "text", "id": "primary_department", "name": "primary_department", "label": "一级部门",
"placeholder": "请输入一级部门"},
{"type": "text", "id": "project_name", "name": "project_name", "label": "项目名称",
"placeholder": "请输入项目名称"}
],
2024-06-06 23:43:04 +08:00
"table_exclude_field_name": ['id'],
2024-06-06 23:35:02 +08:00
'form_action_url': 'department_project_payment_list'
2024-06-06 15:08:38 +08:00
}
2024-06-07 16:31:02 +08:00
return render(request, 'view_list.html', context)
2024-06-06 15:08:38 +08:00
@login_required
2024-06-14 16:47:43 +08:00
@custom_permission_required('busi_tbl.view_departmentrevenuestructure')
2024-06-06 15:08:38 +08:00
def department_revenue_structure_list_view(request):
# 声明查询集
query_set = DepartmentRevenueStructure.objects.all().order_by('-year_month')
# 获取查询参数
primary_department = request.GET.get('primary_department', '')
year_month = request.GET.get('year_month', '')
# 根据提供的参数进行筛选
if primary_department:
query_set = query_set.filter(primary_department__icontains=primary_department)
if year_month:
query_set = query_set.filter(year_month__icontains=year_month)
# 对查询结果进行分页每页10条记录
items = paginate_query_and_assign_numbers(
request=request,
queryset=query_set,
per_page=10
)
# 构建上下文查询参数字符串
query_params = '&primary_department={}&year_month={}'.format(primary_department, year_month)
# 准备上下文
context = {
'items': items,
'query_params': query_params,
2024-06-06 23:35:02 +08:00
'model_config': 'busi_tbl.DepartmentRevenueStructure',
2024-06-06 15:08:38 +08:00
'breadcrumb_list': [{"title": "首页", "name": "index"}, {"title": "收入管理", "name": "index"},
{"title": "收入结构", "name": "department_revenue_structure_list"}],
'filters': [
{"type": "text", "id": "primary_department", "name": "primary_department", "label": "一级部门",
"placeholder": "请输入一级部门"},
{"type": "text", "id": "year_month", "name": "year_month", "label": "年月", "placeholder": "请输入年月"}
],
2024-06-06 23:43:04 +08:00
"table_exclude_field_name": ['id'],
2024-06-06 23:35:02 +08:00
'form_action_url': 'department_revenue_structure_list'
2024-06-06 15:08:38 +08:00
}
2024-06-07 16:31:02 +08:00
return render(request, 'view_list.html', context)
2024-06-06 15:08:38 +08:00
@login_required
2024-06-14 16:47:43 +08:00
@custom_permission_required('busi_tbl.view_departmentprofitstructure')
2024-06-06 15:08:38 +08:00
def department_profit_structure_list_view(request):
# 声明查询集
query_set = DepartmentProfitStructure.objects.all().order_by('-year_month')
# 获取查询参数
primary_department = request.GET.get('primary_department', '')
year_month = request.GET.get('year_month', '')
# 根据提供的参数进行筛选
if primary_department:
query_set = query_set.filter(primary_department__icontains=primary_department)
if year_month:
query_set = query_set.filter(year_month__icontains=year_month)
# 对查询结果进行分页每页10条记录
items = paginate_query_and_assign_numbers(
request=request,
queryset=query_set,
per_page=10
)
# 构建上下文查询参数字符串
query_params = '&primary_department={}&year_month={}'.format(primary_department, year_month)
# 准备上下文
context = {
'items': items,
'query_params': query_params,
2024-06-06 23:35:02 +08:00
'model_config': 'busi_tbl.DepartmentProfitStructure',
2024-06-06 15:08:38 +08:00
'breadcrumb_list': [{"title": "首页", "name": "index"}, {"title": "利润管理", "name": "index"},
{"title": "利润结构", "name": "department_profit_structure_list"}],
'filters': [
{"type": "text", "id": "primary_department", "name": "primary_department", "label": "一级部门",
"placeholder": "请输入一级部门"},
{"type": "text", "id": "year_month", "name": "year_month", "label": "年月", "placeholder": "请输入年月"}
],
2024-06-06 23:43:04 +08:00
"table_exclude_field_name": ['id'],
2024-06-06 23:35:02 +08:00
'form_action_url': 'department_profit_structure_list'
2024-06-06 15:08:38 +08:00
}
2024-06-07 16:31:02 +08:00
return render(request, 'view_list.html', context)
2024-06-06 15:08:38 +08:00
@login_required
2024-06-14 16:47:43 +08:00
@custom_permission_required('busi_tbl.view_departmentprojectmanagerincomecommission')
2024-06-06 15:08:38 +08:00
def department_project_manager_income_commission_list_view(request):
# 声明查询集
query_set = DepartmentProjectManagerIncomeCommission.objects.all().order_by('-year_month')
# 获取查询参数
primary_department = request.GET.get('primary_department', '')
name = request.GET.get('name', '')
# 根据提供的参数进行筛选
if primary_department:
query_set = query_set.filter(primary_department__icontains=primary_department)
if name:
query_set = query_set.filter(name__icontains=name)
# 对查询结果进行分页每页10条记录
items = paginate_query_and_assign_numbers(
request=request,
queryset=query_set,
per_page=10
)
# 构建上下文查询参数字符串
query_params = '&primary_department={}&name={}'.format(primary_department, name)
# 准备上下文
context = {
'items': items,
'query_params': query_params,
2024-06-06 23:35:02 +08:00
'model_config': 'busi_tbl.DepartmentProjectManagerIncomeCommission',
2024-06-06 15:08:38 +08:00
'breadcrumb_list': [{"title": "首页", "name": "index"}, {"title": "收入管理", "name": "index"},
{"title": "项目经理收入完成及提成情况",
"name": "department_project_manager_income_commission_list"}],
'filters': [
{"type": "text", "id": "primary_department", "name": "primary_department", "label": "一级部门",
"placeholder": "请输入一级部门"},
{"type": "text", "id": "name", "name": "name", "label": "姓名", "placeholder": "请输入姓名"}
],
2024-06-06 23:43:04 +08:00
"table_exclude_field_name": ['id'],
2024-06-06 23:35:02 +08:00
'form_action_url': 'department_project_manager_income_commission_list'
2024-06-06 15:08:38 +08:00
}
2024-06-07 16:31:02 +08:00
return render(request, 'view_list.html', context)
2024-06-06 15:08:38 +08:00
@login_required
2024-06-14 16:47:43 +08:00
@custom_permission_required('busi_tbl.view_departmentattendance')
2024-06-06 15:08:38 +08:00
def department_attendance_list_view(request):
# 声明查询集
query_set = DepartmentAttendance.objects.all().order_by('-year_month')
# 获取查询参数
primary_department = request.GET.get('primary_department', '')
year_month = request.GET.get('year_month', '')
# 根据提供的参数进行筛选
if primary_department:
query_set = query_set.filter(primary_department__icontains=primary_department)
if year_month:
query_set = query_set.filter(year_month__icontains=year_month)
# 对查询结果进行分页每页10条记录
items = paginate_query_and_assign_numbers(
request=request,
queryset=query_set,
per_page=10
)
# 构建上下文查询参数字符串
query_params = '&primary_department={}&year_month={}'.format(primary_department, year_month)
# 准备上下文
context = {
'items': items,
'query_params': query_params,
2024-06-06 23:35:02 +08:00
'model_config': 'busi_tbl.DepartmentAttendance',
2024-06-06 15:08:38 +08:00
'breadcrumb_list': [{"title": "首页", "name": "index"}, {"title": "考勤管理", "name": "index"},
{"title": "出勤情况", "name": "department_attendance_list"}],
'filters': [
{"type": "text", "id": "primary_department", "name": "primary_department", "label": "一级部门",
"placeholder": "请输入一级部门"},
{"type": "text", "id": "year_month", "name": "year_month", "label": "年月", "placeholder": "请输入年月"}
],
2024-06-06 23:43:04 +08:00
"table_exclude_field_name": ['id'],
2024-06-06 23:35:02 +08:00
'form_action_url': 'department_attendance_list'
2024-06-06 15:08:38 +08:00
}
2024-06-07 16:31:02 +08:00
return render(request, 'view_list.html', context)