XH_Digital_Management/application/rsc_mgnt/views.py

634 lines
26 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

from django.http import JsonResponse
from django.shortcuts import render
from django.urls import reverse
from application.rsc_mgnt.models import *
from common.utils.page_helper import paginate_query_and_assign_numbers
def cg_cat_list_view(request):
# 声明查询集
query_set = ConsumableGoodsCategory.objects.filter().order_by('-category_id')
# 获取查询参数
category_name = request.GET.get('category_name', '')
# 根据提供的参数进行筛选
if category_name:
query_set = query_set.filter(category_name__icontains=category_name)
# 对查询结果进行分页每页10条记录
items = paginate_query_and_assign_numbers(
request=request,
queryset=query_set,
per_page=10
)
# 构建上下文查询参数字符串
query_params = '&category_name={}'.format(category_name)
# Excel上传模板
template_name = "资源管理-消耗品类别管理-Excel上传模板.xlsx"
# 构建上下文
context = {
"model_config": 'rsc_mgnt.ConsumableGoodsCategory',
"items": items,
"breadcrumb_list": [
{"title": "首页", "name": "index"},
{"title": "资源管理", "name": "index"},
{"title": "消耗品类别管理", "name": "cg_cat_list"}
],
"filters": [
{"type": "text", "id": "category_name", "name": "category_name", "label": "类别名称",
"placeholder": "请输入类别名称"}
],
"excel_upload_config": {
"template_url": reverse("download_template", kwargs={'template_name': template_name}),
"parse_url": reverse("common_excel_parse"),
"save_url": reverse("save_excel_table_data"),
"fields_preview_config": {
"category_id": {"type": "text", "width": "180px"},
"category_name": {"type": "text", "width": "180px"},
"description": {"type": "text", "width": "180px"},
"actions": {"type": "actions", "width": "100px"}
}
},
"query_params": query_params,
"form_action_url": 'cg_cat_list',
"modify_url": reverse("cg_cat_list_modify"),
"add_url": reverse("cg_cat_list_add"),
"delete_url": reverse("cg_cat_list_delete"),
}
return render(request, '../templates/list.html', context)
def cg_cat_list_add(request):
if request.method == 'POST':
data = {
'category_name': request.POST.get('category_name'),
'description': request.POST.get('description')
}
ConsumableGoodsCategory.objects.create(**data)
return JsonResponse({"message": "添加成功"})
return JsonResponse({"message": "无效的请求方法"}, status=405)
def cg_cat_list_modify(request):
if request.method == 'POST':
category_id = request.POST.get('category_id')
data = {
'category_name': request.POST.get('category_name'),
'description': request.POST.get('description')
}
ConsumableGoodsCategory.objects.filter(category_id=category_id).update(**data)
return JsonResponse({"message": "修改成功"})
return JsonResponse({"message": "无效的请求方法"}, status=405)
def cg_cat_list_delete(request):
if request.method == 'GET':
target_id = request.GET.get('target_id')
ConsumableGoodsCategory.objects.filter(category_id=target_id).delete()
return JsonResponse({"message": "删除成功"})
return JsonResponse({"message": "无效的请求方法"}, status=405)
def cg_inv_list_view(request):
# 声明查询集
query_set = ConsumableGoodsInventory.objects.filter().order_by('-inventory_id')
# 获取查询参数
inventory_id = request.GET.get('inventory_id', '')
# 根据提供的参数进行筛选
if inventory_id:
query_set = query_set.filter(inventory_id__icontains=inventory_id)
# 对查询结果进行分页每页10条记录
items = paginate_query_and_assign_numbers(
request=request,
queryset=query_set,
per_page=10
)
# 构建上下文查询参数字符串
query_params = '&inventory_id={}'.format(inventory_id)
# Excel上传模板
template_name = "资源管理-消耗品库存-Excel上传模板.xlsx"
# 构建上下文
context = {
"model_config": 'rsc_mgnt.ConsumableGoodsInventory',
"items": items,
"breadcrumb_list": [
{"title": "首页", "name": "index"},
{"title": "资源管理", "name": "index"},
{"title": "消耗品库存", "name": "cg_inv_list"}
],
"filters": [
{"type": "text", "id": "inventory_id", "name": "inventory_id", "label": "库存ID",
"placeholder": "请输入库存ID"}
],
"excel_upload_config": {
"template_url": reverse("download_template", kwargs={'template_name': template_name}),
"parse_url": reverse("common_excel_parse"),
"save_url": reverse("save_excel_table_data"),
"fields_preview_config": {
"inventory_id": {"type": "text", "width": "180px"},
"item": {"type": "text", "width": "180px"},
"category": {"type": "text", "width": "180px"},
"specification": {"type": "text", "width": "180px"},
"unit": {"type": "text", "width": "180px"},
"current_inventory": {"type": "number", "width": "180px"},
"safety_stock": {"type": "number", "width": "180px"},
"replenishment_alert": {"type": "boolean", "width": "180px"},
"storage_location": {"type": "text", "width": "180px"},
"actions": {"type": "actions", "width": "100px"}
}
},
"query_params": query_params,
"form_action_url": 'cg_inv_list',
"modify_url": reverse("cg_inv_list_modify"),
"add_url": reverse("cg_inv_list_add"),
"delete_url": reverse("cg_inv_list_delete"),
}
return render(request, '../templates/list.html', context)
def cg_inv_list_add(request):
if request.method == 'POST':
data = {
'item': request.POST.get('item'),
'category': request.POST.get('category'),
'specification': request.POST.get('specification'),
'unit': request.POST.get('unit'),
'current_inventory': request.POST.get('current_inventory'),
'safety_stock': request.POST.get('safety_stock'),
'replenishment_alert': request.POST.get('replenishment_alert') == 'true',
'storage_location': request.POST.get('storage_location')
}
ConsumableGoodsInventory.objects.create(**data)
return JsonResponse({"message": "添加成功"})
return JsonResponse({"message": "无效的请求方法"}, status=405)
def cg_inv_list_modify(request):
if request.method == 'POST':
inventory_id = request.POST.get('inventory_id')
data = {
'item': request.POST.get('item'),
'category': request.POST.get('category'),
'specification': request.POST.get('specification'),
'unit': request.POST.get('unit'),
'current_inventory': request.POST.get('current_inventory'),
'safety_stock': request.POST.get('safety_stock'),
'replenishment_alert': request.POST.get('replenishment_alert') == 'true',
'storage_location': request.POST.get('storage_location')
}
ConsumableGoodsInventory.objects.filter(inventory_id=inventory_id).update(**data)
return JsonResponse({"message": "修改成功"})
return JsonResponse({"message": "无效的请求方法"}, status=405)
def cg_inv_list_delete(request):
if request.method == 'GET':
target_id = request.GET.get('target_id')
ConsumableGoodsInventory.objects.filter(inventory_id=target_id).delete()
return JsonResponse({"message": "删除成功"})
return JsonResponse({"message": "无效的请求方法"}, status=405)
def cmp_phone_reg_list_view(request):
# 声明查询集
query_set = CompanyMobilePhoneUsageRegistry.objects.filter().order_by('-record_id')
# 获取查询参数
mobile_number = request.GET.get('mobile_number', '')
current_user = request.GET.get('current_user', '')
owner = request.GET.get('owner', '')
# 根据提供的参数进行筛选
if mobile_number:
query_set = query_set.filter(mobile_number__icontains=mobile_number)
if current_user:
query_set = query_set.filter(current_user__icontains=current_user)
if owner:
query_set = query_set.filter(owner__icontains=owner)
# 对查询结果进行分页每页10条记录
items = paginate_query_and_assign_numbers(
request=request,
queryset=query_set,
per_page=10
)
# 构建上下文查询参数字符串
query_params = '&mobile_number={}&current_user={}&owner={}'.format(mobile_number, current_user, owner)
# Excel上传模板
template_name = "资源管理-公司手机号使用登记-Excel上传模板.xlsx"
# 构建上下文
context = {
"model_config": 'rsc_mgnt.CompanyMobilePhoneUsageRegistry',
"items": items,
"breadcrumb_list": [
{"title": "首页", "name": "index"},
{"title": "资源管理", "name": "index"},
{"title": "公司手机号使用登记", "name": "cmp_phone_reg_list"}
],
"filters": [
{"type": "text", "id": "mobile_number", "name": "mobile_number", "label": "手机号",
"placeholder": "请输入手机号"},
{"type": "text", "id": "current_user", "name": "current_user", "label": "现使用人",
"placeholder": "请输入现使用人"},
{"type": "text", "id": "owner", "name": "owner", "label": "机主", "placeholder": "请输入机主"}
],
"excel_upload_config": {
"template_url": reverse("download_template", kwargs={'template_name': template_name}),
"parse_url": reverse("common_excel_parse"),
"save_url": reverse("save_excel_table_data"),
"fields_preview_config": {
"record_id": {"type": "text", "width": "180px"},
"mobile_number": {"type": "text", "width": "180px"},
"owner": {"type": "text", "width": "180px"},
"current_user": {"type": "text", "width": "180px"},
"purpose": {"type": "text", "width": "180px"},
"actions": {"type": "actions", "width": "100px"}
}
},
"query_params": query_params,
"form_action_url": 'cmp_phone_reg_list',
"modify_url": reverse("cmp_phone_reg_list_modify"),
"add_url": reverse("cmp_phone_reg_list_add"),
"delete_url": reverse("cmp_phone_reg_list_delete"),
}
return render(request, '../templates/list.html', context)
def cmp_phone_reg_list_add(request):
if request.method == 'POST':
data = {
'mobile_number': request.POST.get('mobile_number'),
'owner': request.POST.get('owner'),
'current_user': request.POST.get('current_user'),
'purpose': request.POST.get('purpose')
}
CompanyMobilePhoneUsageRegistry.objects.create(**data)
return JsonResponse({"message": "添加成功"})
return JsonResponse({"message": "无效的请求方法"}, status=405)
def cmp_phone_reg_list_modify(request):
if request.method == 'POST':
record_id = request.POST.get('record_id')
data = {
'mobile_number': request.POST.get('mobile_number'),
'owner': request.POST.get('owner'),
'current_user': request.POST.get('current_user'),
'purpose': request.POST.get('purpose')
}
CompanyMobilePhoneUsageRegistry.objects.filter(record_id=record_id).update(**data)
return JsonResponse({"message": "修改成功"})
return JsonResponse({"message": "无效的请求方法"}, status=405)
def cmp_phone_reg_list_delete(request):
if request.method == 'GET':
target_id = request.GET.get('target_id')
CompanyMobilePhoneUsageRegistry.objects.filter(record_id=target_id).delete()
return JsonResponse({"message": "删除成功"})
return JsonResponse({"message": "无效的请求方法"}, status=405)
def bv_usage_list_view(request):
# 声明查询集
query_set = BusinessVehicleUsageRegistry.objects.filter().order_by('-record_id')
# 获取查询参数
license_plate = request.GET.get('license_plate', '')
checkout_time = request.GET.get('checkout_time', '')
# 根据提供的参数进行筛选
if license_plate:
query_set = query_set.filter(license_plate__icontains=license_plate)
if checkout_time:
query_set = query_set.filter(checkout_time__icontains=checkout_time)
# 对查询结果进行分页每页10条记录
items = paginate_query_and_assign_numbers(
request=request,
queryset=query_set,
per_page=10
)
# 构建上下文查询参数字符串
query_params = '&license_plate={}&checkout_time={}'.format(license_plate, checkout_time)
# Excel上传模板
template_name = "资源管理-商务车使用登记-Excel上传模板.xlsx"
# 构建上下文
context = {
"model_config": 'rsc_mgnt.BusinessVehicleUsageRegistry',
"items": items,
"breadcrumb_list": [
{"title": "首页", "name": "index"},
{"title": "资源管理", "name": "index"},
{"title": "商务车使用登记", "name": "bv_usage_list"}
],
"filters": [
{"type": "text", "id": "license_plate", "name": "license_plate", "label": "车牌", "placeholder": "请输入车牌"},
{"type": "date", "id": "checkout_time", "name": "checkout_time", "label": "借用时间"}
],
"excel_upload_config": {
"template_url": reverse("download_template", kwargs={'template_name': template_name}),
"parse_url": reverse("common_excel_parse"),
"save_url": reverse("save_excel_table_data"),
"fields_preview_config": {
"record_id": {"type": "text", "width": "180px"},
"license_plate": {"type": "text", "width": "180px"},
"checkout_time": {"type": "datetime", "width": "180px"},
"borrower": {"type": "text", "width": "180px"},
"accompanying_personnel": {"type": "text", "width": "180px"},
"reason": {"type": "text", "width": "180px"},
"destination": {"type": "text", "width": "180px"},
"days_of_use": {"type": "number", "width": "180px"},
"return_time": {"type": "datetime", "width": "180px"},
"actions": {"type": "actions", "width": "100px"}
}
},
"query_params": query_params,
"form_action_url": 'bv_usage_list',
"modify_url": reverse("bv_usage_list_modify"),
"add_url": reverse("bv_usage_list_add"),
"delete_url": reverse("bv_usage_list_delete"),
}
return render(request, '../templates/list.html', context)
def bv_usage_list_add(request):
if request.method == 'POST':
data = {
'license_plate': request.POST.get('license_plate'),
'checkout_time': request.POST.get('checkout_time'),
'borrower': request.POST.get('borrower'),
'accompanying_personnel': request.POST.get('accompanying_personnel'),
'reason': request.POST.get('reason'),
'destination': request.POST.get('destination'),
'days_of_use': request.POST.get('days_of_use'),
'return_time': request.POST.get('return_time')
}
BusinessVehicleUsageRegistry.objects.create(**data)
return JsonResponse({"message": "添加成功"})
return JsonResponse({"message": "无效的请求方法"}, status=405)
def bv_usage_list_modify(request):
if request.method == 'POST':
record_id = request.POST.get('record_id')
data = {
'license_plate': request.POST.get('license_plate'),
'checkout_time': request.POST.get('checkout_time'),
'borrower': request.POST.get('borrower'),
'accompanying_personnel': request.POST.get('accompanying_personnel'),
'reason': request.POST.get('reason'),
'destination': request.POST.get('destination'),
'days_of_use': request.POST.get('days_of_use'),
'return_time': request.POST.get('return_time')
}
BusinessVehicleUsageRegistry.objects.filter(record_id=record_id).update(**data)
return JsonResponse({"message": "修改成功"})
return JsonResponse({"message": "无效的请求方法"}, status=405)
def bv_usage_list_delete(request):
if request.method == 'GET':
target_id = request.GET.get('target_id')
BusinessVehicleUsageRegistry.objects.filter(record_id=target_id).delete()
return JsonResponse({"message": "删除成功"})
return JsonResponse({"message": "无效的请求方法"}, status=405)
def mem_acc_list_view(request):
# 声明查询集
query_set = MembershipAccountsRegistry.objects.filter().order_by('-record_id')
# 获取查询参数
platform_name = request.GET.get('platform_name', '')
status = request.GET.get('status', '')
# 根据提供的参数进行筛选
if platform_name:
query_set = query_set.filter(platform_name__icontains=platform_name)
if status:
query_set = query_set.filter(status__icontains=status)
# 对查询结果进行分页每页10条记录
items = paginate_query_and_assign_numbers(
request=request,
queryset=query_set,
per_page=10
)
# 构建上下文查询参数字符串
query_params = '&platform_name={}&status={}'.format(platform_name, status)
# Excel上传模板
template_name = "资源管理-会员账号登记-Excel上传模板.xlsx"
# 构建上下文
context = {
"model_config": 'rsc_mgnt.MembershipAccountsRegistry',
"items": items,
"breadcrumb_list": [
{"title": "首页", "name": "index"},
{"title": "资源管理", "name": "index"},
{"title": "会员账号登记", "name": "mem_acc_list"}
],
"filters": [
{"type": "text", "id": "platform_name", "name": "platform_name", "label": "平台名称", "placeholder": "请输入平台名称"},
{"type": "select", "id": "status", "name": "status", "label": "状态", "options": [
{"value": "有效", "display": "有效"}, {"value": "过期", "display": "过期"}
]}
],
"excel_upload_config": {
"template_url": reverse("download_template", kwargs={'template_name': template_name}),
"parse_url": reverse("common_excel_parse"),
"save_url": reverse("save_excel_table_data"),
"fields_preview_config": {
"record_id": {"type": "text", "width": "180px"},
"platform_name": {"type": "text", "width": "180px"},
"purpose": {"type": "text", "width": "180px"},
"price": {"type": "number", "width": "180px"},
"manager": {"type": "text", "width": "180px"},
"account": {"type": "text", "width": "180px"},
"password": {"type": "password", "width": "180px"},
"effective_date": {"type": "date", "width": "180px"},
"expiration_date": {"type": "date", "width": "180px"},
"status": {"type": "select", "width": "180px", "options": [
{"value": "有效", "display": "有效"}, {"value": "过期", "display": "过期"}
]},
"actions": {"type": "actions", "width": "100px"}
}
},
"query_params": query_params,
"form_action_url": 'mem_acc_list',
"modify_url": reverse("mem_acc_list_modify"),
"add_url": reverse("mem_acc_list_add"),
"delete_url": reverse("mem_acc_list_delete"),
}
return render(request, '../templates/list.html', context)
def mem_acc_list_add(request):
if request.method == 'POST':
data = {
'platform_name': request.POST.get('platform_name'),
'purpose': request.POST.get('purpose'),
'price': request.POST.get('price'),
'manager': request.POST.get('manager'),
'account': request.POST.get('account'),
'password': request.POST.get('password'),
'effective_date': request.POST.get('effective_date'),
'expiration_date': request.POST.get('expiration_date'),
'status': request.POST.get('status'),
}
MembershipAccountsRegistry.objects.create(**data)
return JsonResponse({"message": "添加成功"})
return JsonResponse({"message": "无效的请求方法"}, status=405)
def mem_acc_list_modify(request):
if request.method == 'POST':
record_id = request.POST.get('record_id')
data = {
'platform_name': request.POST.get('platform_name'),
'purpose': request.POST.get('purpose'),
'price': request.POST.get('price'),
'manager': request.POST.get('manager'),
'account': request.POST.get('account'),
'password': request.POST.get('password'),
'effective_date': request.POST.get('effective_date'),
'expiration_date': request.POST.get('expiration_date'),
'status': request.POST.get('status'),
}
MembershipAccountsRegistry.objects.filter(record_id=record_id).update(**data)
return JsonResponse({"message": "修改成功"})
return JsonResponse({"message": "无效的请求方法"}, status=405)
def mem_acc_list_delete(request):
if request.method == 'GET':
target_id = request.GET.get('target_id')
MembershipAccountsRegistry.objects.filter(record_id=target_id).delete()
return JsonResponse({"message": "删除成功"})
return JsonResponse({"message": "无效的请求方法"}, status=405)
def svc_reg_list_view(request):
# 声明查询集
query_set = StoredValueCardRegistration.objects.filter().order_by('-record_id')
# 获取查询参数
merchant_name = request.GET.get('merchant_name', '')
# 根据提供的参数进行筛选
if merchant_name:
query_set = query_set.filter(merchant_name__icontains=merchant_name)
# 对查询结果进行分页每页10条记录
items = paginate_query_and_assign_numbers(
request=request,
queryset=query_set,
per_page=10
)
# 构建上下文查询参数字符串
query_params = '&merchant_name={}'.format(merchant_name)
# Excel上传模板
template_name = "资源管理-储值卡登记表-Excel上传模板.xlsx"
# 构建上下文
context = {
"model_config": 'rsc_mgnt.StoredValueCardRegistration',
"items": items,
"breadcrumb_list": [
{"title": "首页", "name": "index"},
{"title": "资源管理", "name": "index"},
{"title": "储值卡登记表", "name": "svc_reg_list"}
],
"filters": [
{"type": "text", "id": "merchant_name", "name": "merchant_name", "label": "商家名称", "placeholder": "请输入商家名称"}
],
"excel_upload_config": {
"template_url": reverse("download_template", kwargs={'template_name': template_name}),
"parse_url": reverse("common_excel_parse"),
"save_url": reverse("save_excel_table_data"),
"fields_preview_config": {
"record_id": {"type": "text", "width": "180px"},
"merchant_name": {"type": "text", "width": "180px"},
"merchant_type": {"type": "text", "width": "180px"},
"balance": {"type": "number", "width": "180px"},
"usage_records": {"type": "textarea", "width": "180px"},
"actions": {"type": "actions", "width": "100px"}
}
},
"query_params": query_params,
"form_action_url": 'svc_reg_list',
"modify_url": reverse("svc_reg_list_modify"),
"add_url": reverse("svc_reg_list_add"),
"delete_url": reverse("svc_reg_list_delete"),
}
return render(request, '../templates/list.html', context)
def svc_reg_list_add(request):
if request.method == 'POST':
data = {
'merchant_name': request.POST.get('merchant_name'),
'merchant_type': request.POST.get('merchant_type'),
'balance': request.POST.get('balance'),
'usage_records': request.POST.get('usage_records'),
}
StoredValueCardRegistration.objects.create(**data)
return JsonResponse({"message": "添加成功"})
return JsonResponse({"message": "无效的请求方法"}, status=405)
def svc_reg_list_modify(request):
if request.method == 'POST':
record_id = request.POST.get('record_id')
data = {
'merchant_name': request.POST.get('merchant_name'),
'merchant_type': request.POST.get('merchant_type'),
'balance': request.POST.get('balance'),
'usage_records': request.POST.get('usage_records'),
}
StoredValueCardRegistration.objects.filter(record_id=record_id).update(**data)
return JsonResponse({"message": "修改成功"})
return JsonResponse({"message": "无效的请求方法"}, status=405)
def svc_reg_list_delete(request):
if request.method == 'GET':
target_id = request.GET.get('target_id')
StoredValueCardRegistration.objects.filter(record_id=target_id).delete()
return JsonResponse({"message": "删除成功"})
return JsonResponse({"message": "无效的请求方法"}, status=405)