Python+Django实战|企业固定资产管理系统:资产建档、领用归还、巡检维护、资产折旧、报废审批、盘点台账、数据统计 一、项目背景与痛点企事业单位、集团公司、园区办公场景中电脑、打印机、办公桌椅、仪器设备、安防器材等固定资产数量庞大是企业重要的有形资产。目前多数中小企业仍采用纸质台账、Excel表格管理固定资产随着资产数量增加、人员流动、设备频繁调动传统管理模式暴露出大量问题核心痛点如下资产档案零散信息追溯困难纸质台账易破损、丢失Excel多文件分散存储无法快速查询资产型号、采购时间、存放位置、使用人等基础信息领用归还流程混乱员工借用资产仅做口头登记无标准化流程资产去向不明离职时难以追回设备资产折旧无法量化办公设备、仪器存在使用损耗传统方式无法自动计算资产折旧、剩余价值财务核算缺少精准数据日常巡检缺失设备故障、老化无法及时发现故障资产继续使用易引发安全隐患也无统一巡检记录报废流程不规范资产达到使用年限或彻底损坏后无线上审批流程随意报废造成资产流失人工盘点效率极低定期盘点依靠人工逐一核对耗时久、误差大盘点结果无法自动生成台账报表权限划分模糊普通员工可随意修改资产数据核心资产信息存在被误改、篡改风险。针对传统固定资产管理的各类弊端本次基于PythonDjango4.2MySQL资产折旧算法二维码生成搭建轻量化企业固定资产管理系统实现资产分类建档、人员领用、归还登记、日常巡检、自动折旧、报废审批、定期盘点、台账导出、数据统计全套闭环能力。本项目开辟企业行政资产管控全新赛道和日志、天气、智能在线考试、智能图书、网盘、考勤、会议室、问卷、招聘、二手、美食、进销存、租赁等往期所有项目业务、功能、代码完全无重复。二、核心目标与定位本项目核心目标搭建固定资产全生命周期数字化管理平台实现资产分类建档→信息录入→人员领用/归还→日常巡检维护→自动计提折旧→线上报废审批→定期盘点核对→台账报表导出→资产数据分析完整闭环彻底替代纸质台账与Excel实现企业固定资产可查、可管、可追溯、可核算。项目精准定位面向政企单位、中小企业、园区的行政类管理系统采用Django原生MVT架构部署简单、服务器资源占用低划分超级管理员、资产管理员、普通员工三类权限角色数据与操作权限严格隔离适配行政部、财务部、技术部联合使用场景主打流程标准化、数据精准化、全链路可追溯、报表自动化。核心设计理念资产档案标准化、领用流程规范化、折旧计算自动化、报废审批流程化、盘点数据可视化解决传统资产管理混乱、核算不准、盘点低效的核心问题。三、整体技术方案项目基于Django原生MVT分层架构开发MySQL存储资产、分类、领用、巡检、折旧、报废全量业务数据后端封装固定资产折旧算法集成二维码生成能力用于现场盘点自定义状态枚举管控资产全生命周期借助ORM聚合查询ECharts实现数据统计与可视化自定义中间件完成角色权限拦截。整体分层架构流程图如下┌─────────────┐ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │ 资产建档层 │────▶│ 领用归还层 │────▶│ 日常巡检层 │────▶│ 资产折旧层 │ │ 分类管理、资产信息录入、二维码生成 │ 员工申请、管理员审核、归还登记 │ 故障上报、维修记录、状态更新 │ 按年限自动计算折旧与剩余价值 │ │ │ │ │ ▼ ▼ ▼ ▼ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │ 报废审批层 │────▶│ 定期盘点层 │────▶│ 台账导出层 │ │ 报废申请、多级审批、资产注销 │ 现场盘点、数据核对、差异标记 │ 盘点台账、资产报表Excel导出 │ │ │ │ ▼ ▼ ┌─────────────┐ │ 数据统计层 │ │ 资产总量、品类占比、折旧汇总图表统计 │ │ ▼ ┌─────────────────────────────────────────────────────────────────────────┐ │ 底层技术底座 │ │ - 后端框架Python3.11 Django4.2 原生MVT架构 │ │ - 数据存储MySQL 存储资产全生命周期所有业务数据 │ │ - 算法能力直线折旧法实现固定资产价值计算 │ │ - 工具集成二维码生成库生成资产唯一标识用于现场盘点 │ │ - 状态管理自定义枚举管控资产在用/闲置/维修/报废全状态 │ │ - 权限体系多角色中间件区分管理员与员工操作权限 │ │ - 文件导出openpyxl实现资产台账、盘点报表Excel导出 │ │ - 数据可视化ECharts 展示资产品类、折旧、占用占比图表 │ └─────────────────────────────────────────────────────────────────────────完整技术栈清单Web后端Python 3.11、Django 4.2 原生MVT轻量化架构数据库MySQL 8.0结构化存储资产、人员、流程、报表数据算法模块直线折旧算法自动计算资产月折旧额、剩余价值二维码生成第三方库生成资产专属二维码适配线下盘点状态管控自定义枚举类管理资产全生命周期状态权限控制自定义中间件实现三级角色权限隔离报表导出openpyxl库生成Excel资产台账与盘点报表数据可视化ECharts 完成资产分布、折旧数据图表展示四、核心能力模块详解1. 资产分类与档案管理模块搭建标准化资产体系完成基础信息建档为全流程管理提供数据支撑多级分类按照办公设备、电子数码、家具家电、仪器器材、安防设备划分一级/二级分类完整档案记录资产名称、型号、规格、采购价格、采购日期、使用年限、存放地点唯一标识每台资产生成独立编号专属二维码线下扫码快速查询档案资产状态区分闲置、在用、维修、报废四大基础状态。2. 资产领用与归还模块核心亮点标准化线上流程解决资产去向不明、借用无记录的问题领用申请员工选择资产、填写使用事由、申请借用时长提交线上申请多级审核资产管理员审核申请通过后方可领取设备归还登记使用完毕后线上提交归还记录管理员核验并更新资产状态领用台账每笔借用、归还记录永久留存人员离职可快速核对资产。3. 日常巡检与维修模块建立定期巡检机制及时发现故障资产延长设备使用寿命巡检计划管理员制定月度/季度巡检任务分配巡检人员故障上报巡检中发现设备故障在线填报故障类型、故障描述维修登记记录维修人员、维修时长、维修费用、修复结果状态联动维修完成后自动将资产从“维修”切换为“在用/闲置”状态。4. 资产折旧计算模块基于财务直线折旧法自动核算资产损耗支撑财务成本核算折旧规则根据采购价、规定使用年限自动计算月折旧金额动态计算按月更新资产当前剩余价值无需人工核算折旧台账单独汇总所有资产折旧明细可按部门、分类筛选到期提醒资产达到规定使用年限时自动高亮提醒。5. 资产报废审批模块规范资产报废流程杜绝随意处置固定资产报废申请针对老化、损坏无维修价值的资产提交报废申请与原因多级审批资产管理员财务人员逐级审核审批通过方可执行报废资产注销审批完成后资产状态变更为报废不再参与领用、盘点报废台账统一归档所有报废资产记录便于财务对账。6. 定期盘点管理模块替代人工盘点提升核对效率自动标记账实差异盘点任务管理员发起盘点任务划定盘点范围与时间扫码盘点结合资产二维码线下扫码快速核对实物与系统数据差异标记系统自动比对账面数量与实物数量标记盘盈、盘亏资产盘点归档盘点结果永久保存形成完整盘点报告。7. 台账与报表导出模块满足行政、财务办公归档需求一键生成标准化报表资产总台账导出全单位所有资产明细包含价格、状态、使用人领用/报废报表单独导出借用记录、报废审批单据折旧报表导出月度/年度资产折旧汇总表盘点报告自动生成盘点差异报告支持离线打印归档。8. 数据统计分析模块多维度可视化分析为资产采购、运维提供决策依据总量统计统计资产总数、在用数、闲置数、维修数、报废数品类占比饼图展示各类资产数量、价值占比部门分布统计各部门领用资产规模折旧趋势按月展示整体资产折旧金额变化。五、创新价值与亮点资产全生命周期管控从采购建档、领用、巡检、折旧、报废、盘点实现一站式闭环管理全流程可追溯财务级自动折旧计算采用通用直线折旧算法数据精准对接财务核算告别人工算账二维码联动线下场景资产专属二维码适配现场巡检、盘点线上线下数据打通多级审批流程领用、报废均设置线上审批流程规范规避资产流失风险多报表自动导出覆盖资产、盘点、折旧、各类办公报表满足政企归档要求。六、应用前景与落地场景中小型企业行政管控企业办公电脑、家具、设备统一管理适配行政财务联合办公机关/事业单位单位国有固定资产规范化管理满足审计、盘点要求产业园区/写字楼园区公共设备、配套资产集中管控科研实验室实验仪器、精密设备建档、巡检、折旧管理毕业设计/求职项目政企行政类管理系统业务场景专业差异化优势显著。七、完整代码结构示例1. 项目整体目录结构django-assets-manage/├── manage.py ├── assets_project/# 项目全局配置│ ├── settings.py# 数据库、折旧规则、二维码、导出配置│ ├── urls.py# 全局路由分发│ └── middleware.py# 角色权限拦截中间件├── apps/# 模块化业务拆分│ ├── user_role/# 用户、角色、部门权限模块│ ├── assets_category/# 资产多级分类模块│ ├── assets_base/# 资产建档、二维码生成模块│ ├── assets_borrow/# 领用、归还、审批模块│ ├── assets_check/# 巡检、维修登记模块│ ├── assets_depreciate/# 资产折旧计算模块│ ├── assets_scrap/# 报废申请、多级审批模块│ ├── assets_inventory/# 定期盘点、差异核对模块│ └── report_export/# 各类台账、报表导出模块├── core/# 公共工具类│ ├── depreciate_calc.py# 直线折旧算法工具│ ├── qr_code_gen.py# 资产二维码生成工具│ ├── excel_export.py# Excel报表生成工具│ └── status_check.py# 资产状态校验工具├── static/# 样式、ECharts、前端脚本├── templates/# 前后台页面模板├── media/# 二维码、资产图片存储目录├── requirements.txt# 项目依赖包└── readme.md# 部署、使用文档/pre### 2. 核心可运行代码片段#### 示例1资产分类、资产主模型、领用记录模型pythonfromdjango.dbimportmodelsfromdjango.contrib.auth.models# 资产状态枚举ASSETS_STATUS((idle,闲置),(using,在用),(repair,维修中),(scrap,已报废),)# 领用状态枚举BORROW_STATUS((apply,待审核),(pass,领用中),(back,已归还),(reject,申请驳回),)classAssetsCategory(models.Model):资产分类模型cat_namemodels.CharField(max50,verbose_name分类名称)parent_catmodels.ForeignKey(self,nullTrue,blankTrue,on_deletemodels.SET_NULL,verbose_name父分类)create_timemodels.DateTimeField(auto_now_addTrue)def__str__(self):returnself.cat_nameclassAssetsInfo(models.Model):固定资产主模型assets_codemodels.CharField(max32,uniqueTrue,verbose_name资产编号)categorymodels.ForeignKey(AssetsCategory,on_deletemodels.CASCADE,verbose_name所属分类)assets_namemodels.CharField(max100,verbose_name资产名称)modelmodels.CharField(max80,blankTrue,verbose_name型号规格)buy_pricemodels.DecimalField(max_digits10,decimal_places2,verbose_name采购单价)buy_datemodels.DateField(verbose_name采购日期)use_yearsmodels.IntegerField(verbose_name规定使用年限(年))locationmodels.CharField(max100,verbose_name存放地点)statusmodels.CharField(max10,choicesASSETS_STATUS,defaultidle,verbose_name资产状态)residual_valuemodels.DecimalField(max_digits10,decimal_places2,default0,verbose_name当前剩余价值)create_timemodels.DateTimeField(auto_now_addTrue)def__str__(self):returnf{self.assets_code}-{self.assets_name}classAssetsBorrow(models.Model):资产领用归还记录assetsmodels.ForeignKey(AssetsInfo,on_deletemodels.CASCADE,verbose_name关联资产)borrow_usermodels.ForeignKey(User,relatedborrow_user,on_deletemodels.CASCADE,verbose_name领用人)borrow_reasonmodels.TextField(verbose_name领用事由)borrow_timemodels.DateTime(verbose_name领用时间)expect_back_timemodels.DateTime(verbose_name预计归还时间)audit_usermodels.ForeignKey(User,relatedaudit_user,nullTrue,blankTrue,on_deletemodels.SET_NULL,verbose_name审核人)borrow_statusmodels.CharField(max10,choicesBORROW_STATUS,defaultapply,verbose_name领用状态)back_timemodels.DateTime(nullTrue,blankTrue,verbose_name实际归还时间)create_timemodels.DateTime(auto_now_addTrue)示例2直线折旧算法工具类core/depreciate_calc.pyfromdatetimeimportdatetimefromdjango.db.modelsimportFclassDepreciateCalc:固定资产直线折旧计算工具classmethoddefcalc_month_depreciate(cls,buy_price,use_years):计算月折旧额total_monthuse_years*12iftotal_month0:return0returnround(float(buy_price)/total_month,2)classmethoddefauto_update_residual(cls,assets_obj):自动更新资产剩余价值buy_dtassets.buy_date now_dtdatetime.now().date()# 计算已使用月份use_month(now_dt.year-buy_dt.year)*12(now_dt.month-buy_dt.month)month_depcls.calc_month_depreciate(assets.buy_price,assets.use_years)total_depround(use_month*month_dep,2)new_residualround(float(assets.buy_price)-total_dep,2)# 剩余价值最低为0ifnew_residual0:new_residual0# 数据库更新assets_obj.residual_valuenew_residual assets_obj.save()returnnew_residual示例3资产领用申请核心视图fromdjango.viewsimportViewfromdjango.contrib.auth.decoratorsimportlogin_requiredfromdjango.utils.decoratorsimportmethod_decoratorfromdjango.shortcutsimportredirectfromdjango.contribimportmessagesfromapps.assets_base.modelsimportAssetsInfofromapps.assets_borrow.modelsimportAssetsBorrowmethod_decorator(login_required,namedispatch)classAssetsBorrowView(View):defpost(self,request):assets_idrequest.POST.get(assets_id)borrow_reasonrequest.POST.get(borrow_reason)borrow_timerequest.POST.get(borrow_time)expect_backrequest.POST.get(expect_back_time)# 校验资产是否存在且闲置try:assetsAssetsInfo.objects.get(idassets_id,statusidle)exceptAssets.DoesNotExist:messages.error(资产不存在或当前不可领用)returnredirect(assets_list)# 新增领用申请AssetsBorrow.objects.create(assetsassets,borrow_userrequest.user,borrow_reasonborrow_reason,borrow_timeborrow_time,expect_back_timeexpect_back)messages.success(领用申请提交成功请等待管理员审核)returnredirect(borrow_list)八、总结与展望本篇博客聚焦政企固定资产全生命周期管理全新赛道基于PythonDjango搭建专业资产管控系统和日志、天气、在线考试、智能图书、网盘、考勤、会议室、问卷、招聘、二手、美食、进销存、租赁等所有往期项目完全独立。项目核心融合直线折旧算法、二维码生成、多级审批、盘点核对、Excel报表导出等技术贴合企业、机关、实验室真实行政与财务办公场景业务专业性强代码落地价值高。系统覆盖资产建档、领用、巡检、折旧、报废、盘点、报表全流程既可以作为学习Django算法集成、流程审批、文件导出的优质案例也是毕业设计、求职简历中辨识度极高的政企类实战项目。后续迭代规划新增资产维保费用统计汇总维修成本辅助资产性价比分析接入短信提醒领用审核、资产到期、盘点任务自动推送通知新增资产调拨功能支持跨部门资产转移并留存调拨记录开发移动端扫码盘点页面提升现场盘点作业效率。