中小型企业在日常运营中需要管理大量的固定资产(如电脑、打印机、办公桌椅、测试设备等)和消耗性办公用品(如打印纸、笔、文件夹、墨盒等)。传统管理方式通常依赖行政人员使用Excel表格登记,存在以下问题:资产台账更新不及时,设备借用、归还、转交缺乏记录,离职交接时资产归属不清;办公用品采购和领用靠纸质单据或口头申请,审批流程不规范,库存数量无法实时掌握,经常出现重复采购或库存积压;资产报废、盘点缺乏系统支持,审计时数据不完整。
本系统面向企业的行政部、IT部、财务部及普通员工,用于统一管理资产从入库、领用、转交、归还到报废的全生命周期,以及办公用品的申领、审批、发放和库存预警。典型使用流程为:行政人员录入新购资产或办公用品入库,系统生成唯一资产编号或更新库存;员工在系统中发起资产领用申请或办公用品申领,部门主管在线审批;审批通过后行政人员发放,系统自动扣减库存或更新资产状态;员工归还资产时系统记录归还日期和状态;资产需要报废时由IT或行政发起报废申请,财务审核后执行;系统定时扫描库存低于阈值的办公用品和即将到期的资产维保,自动向管理员发送提醒;月底行政和财务人员通过系统导出资产台账和领用报表用于对账。
该场景业务规则简单清晰,不涉及复杂算法或高并发,但覆盖了权限控制、审批流、库存事务、定时任务、数据导入导出等常见后端需求,难度适中,开发周期可控,适合作为展示个人全栈或后端能力的典型项目案例。
1 资产台账管理
维护资产分类(电子设备、办公家具、IT设备等)、资产编号、名称、规格、购置日期、金额、使用部门、责任人、存放位置、当前状态(在库、使用中、维修中、已报废)。
2 资产全生命周期管理
支持资产入库、领用申请与审批、转交、归还、维修登记、报废申请与审批,每次操作生成流转记录,确保资产历史可追溯。
3 办公用品库存管理
维护办公用品分类、名称、规格、单位、库存数量、安全库存阈值。支持采购入库、库存调整,自动计算当前库存。
4 申领审批流程
员工发起资产领用或办公用品申领,系统按部门自动匹配审批人(部门主管),审批通过后库存自动扣减或资产状态变更。支持驳回并填写原因。
5 库存预警与定时提醒
系统定时扫描办公用品库存,低于安全库存时自动通知管理员;资产维保到期、借用超期未归还时自动发送站内消息和邮件提醒。
6 数据看板与报表
首页展示资产总数、在库/使用中/报废数量、本月领用次数、库存预警数量等核心指标。支持按部门、分类、时间导出资产台账和领用明细Excel报表。
7 权限与操作日志
按角色分配菜单权限和数据权限:管理员可见全部数据,部门主管可见本部门数据,普通员工只能查看自己发起的申请。所有关键操作记录日志。
后端采用Python 3.10 + Django 4.2 + Django REST Framework构建RESTful API,使用JWT进行身份认证,通过Django权限系统扩展RBAC,实现菜单级和数据级权限控制。数据库采用MySQL 8.0,核心表包括资产表、资产分类表、资产流转记录表、办公用品表、库存流水表、申领单表、审批记录表、消息通知表等。资产流转和库存扣减均在数据库事务中完成,确保数据一致性;对资产编号、申领单号等字段建立唯一索引,对部门ID、状态、创建时间建立联合索引优化查询。
Redis用于缓存部门树、用户权限、常用资产分类等基础数据,降低数据库压力;同时作为Celery的消息中间件。Celery + Celery Beat实现定时任务,包括库存预警扫描、借用超时提醒、维保到期提醒、每日报表快照生成等。文件上传采用本地存储+定期备份方案,支持资产照片、采购凭证等附件管理。
系统接口遵循前后端分离模式,前端使用Vue.js 3 + Element Plus,通过Axios调用API。移动端H5适配手机浏览器,员工可随时发起申领和查看审批进度。接口文档使用drf-spectacular自动生成Swagger文档,便于前后端联调。部署方面使用Docker Compose编排Nginx、Gunicorn、MySQL、Redis、Celery Worker、Celery Beat容器,配置HTTPS、日志轮转和每日数据库备份,确保系统稳定运行。
整体项目复杂度适中,业务逻辑清晰,涵盖了后端开发中常见的权限设计、状态流转、事务处理、定时任务和报表导出,适合作为接单案例展示个人综合开发能力。
声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!

下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态
评论