XH_Digital_Management/application/asset_mgnt/views.py

289 lines
15 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 common.utils.page_helper import paginate_query_and_assign_numbers
from .models import *
# Create your views.txt here.
def fixed_assets_list_view(request):
# 声明查询集
query_set = FixedAssetsInventory.objects.filter().order_by('-asset_id')
# 获取查询参数
asset_id = request.GET.get('asset_id', '')
brand = request.GET.get('brand', '')
# 根据提供的参数进行筛选
if asset_id:
query_set = query_set.filter(asset_id__icontains=asset_id)
if brand:
query_set = query_set.filter(brand__icontains=brand)
# 对查询结果进行分页每页10条记录
items = paginate_query_and_assign_numbers(
request=request,
queryset=query_set,
per_page=10
)
# 构建上下文查询参数字符串
query_params = '&asset_id={}&brand={}'.format(asset_id, brand)
fields = [
{"label": "资产编号", "field": "asset_id", "type": "text", "is_show": 1, "is_add": 1},
{"label": "资产类别", "field": "asset_category", "type": "text", "is_show": 1, "is_add": 1},
{"label": "品牌", "field": "brand", "type": "text", "is_show": 1, "is_add": 1},
{"label": "规格型号", "field": "model", "type": "text", "is_show": 1, "is_add": 1},
{"label": "单位", "field": "unit", "type": "text", "is_show": 1, "is_add": 1},
{"label": "数量", "field": "quantity", "type": "number", "is_show": 1, "is_add": 1},
{"label": "归属主体", "field": "affiliated_entity", "type": "text", "is_show": 1, "is_add": 1},
{"label": "存放地点", "field": "location", "type": "text", "is_show": 1, "is_add": 1},
{"label": "所属部门", "field": "department", "type": "text", "is_show": 1, "is_add": 1},
{"label": "使用人", "field": "user", "type": "text", "is_show": 1, "is_add": 1},
{"label": "购入日期", "field": "purchase_date", "type": "date", "is_show": 1, "is_add": 1},
{"label": "入账日期", "field": "recorded_date", "type": "date", "is_show": 1, "is_add": 1},
{"label": "资产原值", "field": "original_value", "type": "number", "is_show": 1, "is_add": 1},
{"label": "残值", "field": "residual_value", "type": "number", "is_show": 1, "is_add": 1},
{"label": "折旧方法", "field": "depreciation_method", "type": "text", "is_show": 1, "is_add": 1},
{"label": "折旧年限", "field": "depreciation_years", "type": "number", "is_show": 1, "is_add": 1},
{"label": "折旧月数", "field": "depreciation_months", "type": "number", "is_show": 1, "is_add": 1},
{"label": "账面价值", "field": "book_value", "type": "number", "is_show": 1, "is_add": 1},
{"label": "状态", "field": "status", "type": "text", "is_show": 1, "is_add": 1},
{"label": "操作", "field": "actions", "type": "actions", "is_show": 1, "is_add": 0},
]
# 准备上下文
context = {
'items': items,
'id_name': 'asset_id',
'query_params': query_params,
'model_config': {"app_label": "asset_mgnt", "model_name": "FixedAssetsInventory",
"html_name": "fixed_assets_list"},
'breadcrumb_list': [{"title": "首页", "name": "index"}, {"title": "资产管理", "name": "index"},
{"title": "固定资产清单表", "name": "fixed_assets_list"}],
'filters': [{"type": "text", "id": "asset_id", "name": "asset_id", "label": "资产编号",
"placeholder": "请输入资产编号"},
{"type": "text", "id": "brand", "name": "brand", "label": "品牌", "placeholder": "请输入品牌"}],
'table_columns': fields,
'show_button': {"add": True, "modify": True, "download": True, "upload": True},
'url': {
"modify": reverse("fixed_assets_list_modify"),
"add": reverse("fixed_assets_list_add"),
"delete": reverse("fixed_assets_list_delete"),
"download": reverse("download_excel_template",
kwargs={"template_name": "资产管理-固定资产清单表-Excel上传模板.xlsx",
"fields": fields}),
"parse": reverse("common_excel_parse"),
"save": reverse("save_excel_table_data"),
}
}
return render(request, 'asset_mgnt/fixed_assets_list.html', context)
def fixed_assets_list_add(request):
if request.method == 'POST':
data = {
'asset_id': request.POST.get('asset_id'),
'asset_category': request.POST.get('asset_category'),
'brand': request.POST.get('brand'),
'model': request.POST.get('model'),
'unit': request.POST.get('unit'),
'quantity': request.POST.get('quantity'),
'affiliated_entity': request.POST.get('affiliated_entity'),
'location': request.POST.get('location'),
'department': request.POST.get('department'),
'user': request.POST.get('user'),
'purchase_date': request.POST.get('purchase_date'),
'recorded_date': request.POST.get('recorded_date'),
'original_value': request.POST.get('original_value'),
'residual_value': request.POST.get('residual_value'),
'depreciation_method': request.POST.get('depreciation_method'),
'depreciation_years': request.POST.get('depreciation_years'),
'depreciation_months': request.POST.get('depreciation_months'),
'book_value': request.POST.get('book_value'),
'status': request.POST.get('status')
}
FixedAssetsInventory.objects.create(**data)
return JsonResponse({"message": "添加成功"})
return JsonResponse({"message": "无效的请求方法"}, status=405)
def fixed_assets_list_modify(request):
if request.method == 'POST':
asset_id = request.POST.get('asset_id')
data = {
'asset_category': request.POST.get('asset_category'),
'brand': request.POST.get('brand'),
'model': request.POST.get('model'),
'unit': request.POST.get('unit'),
'quantity': request.POST.get('quantity'),
'affiliated_entity': request.POST.get('affiliated_entity'),
'location': request.POST.get('location'),
'department': request.POST.get('department'),
'user': request.POST.get('user'),
'purchase_date': request.POST.get('purchase_date'),
'recorded_date': request.POST.get('recorded_date'),
'original_value': request.POST.get('original_value'),
'residual_value': request.POST.get('residual_value'),
'depreciation_method': request.POST.get('depreciation_method'),
'depreciation_years': request.POST.get('depreciation_years'),
'depreciation_months': request.POST.get('depreciation_months'),
'book_value': request.POST.get('book_value'),
'status': request.POST.get('status')
}
FixedAssetsInventory.objects.filter(asset_id=asset_id).update(**data)
return JsonResponse({"message": "修改成功"})
return JsonResponse({"message": "无效的请求方法"}, status=405)
def fixed_assets_list_delete(request):
if request.method == 'GET':
asset_id = request.GET.get('asset_id')
FixedAssetsInventory.objects.filter(asset_id=asset_id).delete()
return JsonResponse({"message": "删除成功"})
return JsonResponse({"message": "无效的请求方法"}, status=405)
def intangible_assets_list_view(request):
# 声明查询集
query_set = IntangibleAssetsInventory.objects.filter().order_by('-asset_id')
# 获取查询参数
asset_id = request.GET.get('asset_id', '')
brand = request.GET.get('brand', '')
# 根据提供的参数进行筛选
if asset_id:
query_set = query_set.filter(asset_id__icontains=asset_id)
if brand:
query_set = query_set.filter(brand__icontains=brand)
# 对查询结果进行分页每页10条记录
items = paginate_query_and_assign_numbers(
request=request,
queryset=query_set,
per_page=10
)
# 构建上下文查询参数字符串
query_params = '&asset_id={}&brand={}'.format(asset_id, brand)
fields = [
{"label": "资产编号", "field": "asset_id", "type": "text", "is_show": 1, "is_add": 1},
{"label": "资产类别", "field": "asset_category", "type": "text", "is_show": 1, "is_add": 1},
{"label": "品牌", "field": "brand", "type": "text", "is_show": 1, "is_add": 1},
{"label": "规格型号", "field": "model", "type": "text", "is_show": 1, "is_add": 1},
{"label": "单位", "field": "unit", "type": "text", "is_show": 1, "is_add": 1},
{"label": "数量", "field": "quantity", "type": "number", "is_show": 1, "is_add": 1},
{"label": "归属主体", "field": "affiliated_entity", "type": "text", "is_show": 1, "is_add": 1},
{"label": "存放地点", "field": "location", "type": "text", "is_show": 1, "is_add": 1},
{"label": "所属部门", "field": "department", "type": "text", "is_show": 1, "is_add": 1},
{"label": "使用人", "field": "user", "type": "text", "is_show": 1, "is_add": 1},
{"label": "购入日期", "field": "purchase_date", "type": "date", "is_show": 1, "is_add": 1},
{"label": "入账日期", "field": "recorded_date", "type": "date", "is_show": 1, "is_add": 1},
{"label": "资产原值", "field": "original_value", "type": "number", "is_show": 1, "is_add": 1},
{"label": "残值", "field": "residual_value", "type": "number", "is_show": 1, "is_add": 1},
{"label": "摊销方法", "field": "amortization_method", "type": "text", "is_show": 1, "is_add": 1},
{"label": "摊销年限", "field": "amortization_years", "type": "number", "is_show": 1, "is_add": 1},
{"label": "摊销月数", "field": "amortization_months", "type": "number", "is_show": 1, "is_add": 1},
{"label": "账面价值", "field": "book_value", "type": "number", "is_show": 1, "is_add": 1},
{"label": "状态", "field": "status", "type": "text", "is_show": 1, "is_add": 1},
{"label": "操作", "field": "actions", "type": "actions", "is_show": 1, "is_add": 0},
]
# 准备上下文
context = {
'items': items,
'id_name': 'asset_id',
'query_params': query_params,
'model_config': {"app_label": "asset_mgnt", "model_name": "IntangibleAssetsInventory",
"html_name": "intangible_assets_list"},
'breadcrumb_list': [{"title": "首页", "name": "index"}, {"title": "资产管理", "name": "index"},
{"title": "无形资产清单表", "name": "intangible_assets_list"}],
'filters': [{"type": "text", "id": "asset_id", "name": "asset_id", "label": "资产编号",
"placeholder": "请输入资产编号"},
{"type": "text", "id": "brand", "name": "brand", "label": "品牌", "placeholder": "请输入品牌"}],
'table_columns': fields,
'show_button': {"add": True, "modify": True, "download": True, "upload": True},
'url': {
"modify": reverse("intangible_assets_list_modify"),
"add": reverse("intangible_assets_list_add"),
"delete": reverse("intangible_assets_list_delete"),
"download": reverse("download_excel_template",
kwargs={"template_name": "资产管理-无形资产清单表-Excel上传模板.xlsx",
"fields": fields}),
"parse": reverse("common_excel_parse"),
"save": reverse("save_excel_table_data"),
}
}
return render(request, 'asset_mgnt/intangible_assets_list.html', context)
def intangible_assets_list_add(request):
if request.method == 'POST':
data = {
'asset_id': request.POST.get('asset_id'),
'asset_category': request.POST.get('asset_category'),
'brand': request.POST.get('brand'),
'model': request.POST.get('model'),
'unit': request.POST.get('unit'),
'quantity': request.POST.get('quantity'),
'affiliated_entity': request.POST.get('affiliated_entity'),
'department': request.POST.get('department'),
'user': request.POST.get('user'),
'purchase_date': request.POST.get('purchase_date'),
'recorded_date': request.POST.get('recorded_date'),
'original_value': request.POST.get('original_value'),
'residual_value': request.POST.get('residual_value'),
'amortization_method': request.POST.get('amortization_method'),
'amortization_years': request.POST.get('amortization_years'),
'amortization_months': request.POST.get('amortization_months'),
'book_value': request.POST.get('book_value'),
'status': request.POST.get('status')
}
IntangibleAssetsInventory.objects.create(**data)
return JsonResponse({"message": "添加成功"})
return JsonResponse({"message": "无效的请求方法"}, status=405)
def intangible_assets_list_modify(request):
if request.method == 'POST':
asset_id = request.POST.get('asset_id')
data = {
'asset_category': request.POST.get('asset_category'),
'brand': request.POST.get('brand'),
'model': request.POST.get('model'),
'unit': request.POST.get('unit'),
'quantity': request.POST.get('quantity'),
'affiliated_entity': request.POST.get('affiliated_entity'),
'department': request.POST.get('department'),
'user': request.POST.get('user'),
'purchase_date': request.POST.get('purchase_date'),
'recorded_date': request.POST.get('recorded_date'),
'original_value': request.POST.get('original_value'),
'residual_value': request.POST.get('residual_value'),
'amortization_method': request.POST.get('amortization_method'),
'amortization_years': request.POST.get('amortization_years'),
'amortization_months': request.POST.get('amortization_months'),
'book_value': request.POST.get('book_value'),
'status': request.POST.get('status')
}
IntangibleAssetsInventory.objects.filter(asset_id=asset_id).update(**data)
return JsonResponse({"message": "修改成功"})
return JsonResponse({"message": "无效的请求方法"}, status=405)
def intangible_assets_list_delete(request):
if request.method == 'GET':
asset_id = request.GET.get('asset_id')
IntangibleAssetsInventory.objects.filter(asset_id=asset_id).delete()
return JsonResponse({"message": "删除成功"})
return JsonResponse({"message": "无效的请求方法"}, status=405)