基于SpringBoot的公司固定资产盘点系统计算机毕业设计(源码+lw+部署文档+讲解等) 博主介绍✌ 专注于VUE,小程序安卓Java,python,物联网专业有18年开发经验长年从事毕业指导项目实战✌选取一个适合的毕业设计题目很重要。✌关注✌私信我✌具体的问题我会尽力帮助你。一、研究目的在现代企业管理体系中固定资产的盘点工作占据着重要位置它不仅关系到资产账目与财务报表的准确性还直接影响到企业内部控制与风险管理水平。然而传统的手工盘点方式普遍存在数据录入错误、信息更新滞后、审计追溯困难等缺陷这些问题在大中型企业中尤为突出导致资产管理成本高昂且效率低下。随着信息技术的快速发展企业对资产管理系统提出了更高的性能与可靠性要求尤其是在多部门协同、移动端访问以及与ERP系统无缝对接方面的需求日益迫切。本研究的核心目标在于设计并实现一套基于SpringBoot框架的公司固定资产盘点系统该系统旨在通过模块化、微服务化的架构实现高可用性与易维护性。具体而言系统将采用SpringBoot快速开发能力配合Spring Security实现细粒度权限控制利用Hibernate/JPA实现对象关系映射并通过RESTful API提供前后端分离的接口支持。通过引入二维码扫描、移动端同步以及实时数据统计功能系统能够显著提升盘点效率与数据准确性同时为管理层提供可视化报表与审计追溯路径从而满足企业内部控制与合规审计的双重需求。在技术实现层面本研究将探索SpringBoot在企业级资产管理场景中的最佳实践重点关注事务一致性、并发控制以及系统监控。通过对比传统单体应用与微服务架构在固定资产盘点中的性能差异系统设计将体现出可扩展性与容错性为后续功能迭代提供技术保障。预期成果不仅能为企业提供一套高效、可靠的资产盘点工具还将为学术界在企业信息化与软件架构优化方面提供案例研究与经验总结推动相关领域的理论与实践发展。二、研究意义本研究意义在于通过构建基于SpringBoot的公司固定资产盘点系统解决传统手工盘点方法在数据准确性、操作效率与审计追溯方面存在的多重短板从而提升企业资产管理水平并降低运营成本。首先该系统利用SpringBoot框架的快速开发特性与模块化设计实现了资产信息采集、盘点流程管理与报表生成等核心功能的统一集成显著缩短了系统上线周期并降低了技术门槛为企业信息化升级提供了可复制、可扩展的技术范式。其次系统通过二维码扫描与移动端同步技术使盘点人员能够在现场实时录入资产状态减少人工录入错误并实现数据即时更新进而提升盘点准确率与时效性。再次采用Spring Security实现细粒度权限控制和审计日志记录为企业内部控制体系提供了技术保障满足财务合规与风险管理的双重需求。再者本研究在技术层面探索了微服务架构与容错机制在资产管理场景中的应用可为后续功能扩展与系统升级提供稳健的技术支撑。最后系统所产生的可视化报表与数据分析功能为管理层决策提供了实时、精准的数据支持促进了企业资源配置的优化与价值最大化。综上所述本研究不仅填补了固定资产盘点领域在信息化、自动化方面的技术空白还为企业数字化转型提供了具有可操作性与实用性的解决方案同时为相关学术研究提供了丰富的案例与实践经验具有重要的理论价值与应用前景。三、国内外研究现状在企业资产管理领域国内外学术界与工业界已开展了广泛而深入的研究形成了以信息化、自动化与智能化为核心的多条研究主线。首先在信息系统集成方面国外学者普遍采用面向服务架构SOA与微服务技术将固定资产管理模块与企业资源计划ERP系统、财务管理系统以及供应链管理系统实现无缝对接从而实现资产数据的实时共享与一致性维护。国内研究则侧重于基于开源框架的快速开发利用SpringBoot、MyBatis等技术构建轻量级资产管理平台并通过RESTful接口实现前后端分离提升系统可维护性与扩展性。其次在资产盘点流程自动化方面国外研究重点关注物联网IoT与射频识别RFID技术的应用通过在资产标签上嵌入RFID芯片实现无人值守的自动识别与状态更新显著降低人工盘点成本并提升数据准确率。国内学术工作则多聚焦于二维码与条形码扫描技术的集成结合移动端应用实现现场实时录入并通过云端同步保障数据一致性。再次在资产生命周期管理与预测性维护方面国外研究引入大数据分析与机器学习算法对资产使用状态、维修记录及环境参数进行多维度建模从而实现故障预警与维护计划优化。国内学者则在此基础上探索基于深度学习的异常检测模型利用历史盘点数据训练分类器实现对异常资产状态的自动识别与报警。再者在审计与合规性保障方面国外研究倾向于采用区块链技术构建不可篡改的资产交易与盘点日志增强审计追溯能力。国内研究则侧重于通过权限细粒度控制、日志审计与多因素身份验证等手段提升系统安全性与合规性。最后在用户体验与可视化分析方面国外学者开发了基于BI平台的资产管理仪表盘提供实时 KPI 指标与趋势预测国内研究则在此基础上引入数据可视化框架如ECharts构建交互式报表满足管理层对资产状态与价值的快速决策需求。综上所述国内外在固定资产管理系统的研究已形成以技术集成、流程自动化、智能预测、审计保障与可视化分析为主线的完整体系为本研究提供了丰富的理论基础与实践经验。四、预期达到目标及解决的关键问题预期目标主要聚焦于构建一套基于SpringBoot技术栈的公司固定资产盘点系统该系统应具备高可用性、易维护性与安全可靠的特性并能够满足企业资产管理流程的全生命周期需求。首先系统需实现资产信息的统一采集与管理包括资产编号、规格型号、采购时间、使用部门及账面价值等基本属性并通过二维码或条形码技术实现现场快速识别其次盘点流程要实现自动化与标准化从盘点计划制定、人员分配、现场操作到结果录入与审核均可在系统内完成再次系统应提供多维度报表与数据分析功能为管理层提供资产价值变动、折旧情况及盘点差异等关键指标的可视化展示最后系统必须满足权限细粒度控制、审计日志记录与数据备份恢复等安全合规要求以保障企业信息资产的完整性与可追溯性。通过上述目标的实现预期能够显著提升盘点效率、降低人工错误率并为企业内部控制体系提供技术支撑。关键问题主要围绕技术实现、业务流程与用户体验三大维度展开。技术层面如何在SpringBoot框架下实现高并发事务处理与分布式部署是核心挑战之一同时资产信息的实时同步与数据一致性保证需要设计合适的缓存策略与消息队列机制在安全方面细粒度权限控制与审计日志的完整性验证亦需严谨实现。业务流程层面如何将传统手工盘点流程映射为系统化工作流并兼顾多部门协同与现场操作的灵活性是设计时必须考虑的关键点此外资产标签的生成与管理、盘点差异的自动识别与纠正机制亦需细致规划。用户体验层面移动端界面的友好性、扫描设备的兼容性以及报表交互式展示的直观性都直接影响系统的实际使用效果。针对上述问题本研究将采用模块化设计、微服务架构与前后端分离技术以降低耦合度并提升系统可维护性。为验证系统设计与实现的有效性预期将制定一套完整的评估指标体系。性能指标包括系统响应时间、并发处理能力以及事务提交成功率功能指标涵盖资产信息录入准确率、盘点差异识别率以及报表生成及时性安全指标则聚焦权限控制覆盖率、审计日志完整性与数据备份恢复时间。通过在真实企业环境中部署试点并与传统手工盘点方式进行对比实验预计能够量化系统在效率提升、错误率降低与成本节约方面的优势从而为后续推广应用提供可靠依据。五、研究内容本研究首先对公司固定资产盘点业务流程进行系统化梳理明确资产登记、盘点计划制定、现场识别与录入、差异处理以及报表生成等关键环节并依据业务需求定义功能模块与数据实体。随后在技术选型阶段决定采用SpringBoot框架作为后端核心技术以其简洁的配置管理与自动装配特性为基础搭建微服务化架构进一步将资产管理、盘点调度、权限控制、日志审计等子系统进行模块化拆分并通过Spring Cloud实现服务治理与负载均衡。前端方面则采用Vue.js框架实现单页面应用利用Element Plus组件库提供友好的用户界面并通过Axios与后端RESTful接口进行数据交互保证前后端解耦。在系统实现层面首先设计资产信息数据库模型使用MyBatis进行对象关系映射并通过自定义注解实现字段校验与业务规则约束。资产标签生成模块将采用二维码技术将资产编号、型号与采购信息编码为二维码图像支持打印与直接扫描盘点调度模块则利用Quartz Scheduler实现定时任务自动生成盘点计划并分配给指定人员同时提供手动触发功能。现场识别与录入模块通过移动端摄像头读取二维码并将扫描结果实时同步至服务器采用Redis缓存临时存储以提升响应速度。差异处理模块利用事务管理机制对比系统账面状态与现场实际状态自动生成差异报告并支持人工确认或批量调整。报表与分析模块则集成ECharts进行可视化展示提供资产价值变动、折旧率、盘点差异等多维度指标并支持导出Excel与PDF。为确保系统安全与合规性研究将实现基于JWT的身份认证与Spring Security细粒度权限控制定义角色与权限映射表并在关键操作处记录审计日志。日志模块将采用ELKElasticsearch-Logstash-Kibana堆栈进行集中管理支持实时查询与告警。系统容错方面将通过Hystrix实现服务降级与熔断结合Nacos实现服务注册与发现以保证在高并发或网络异常情况下的可用性。最后本研究将构建完整的测试框架包括单元测试、集成测试与性能测试利用JUnit、Mockito及JMeter等工具对系统进行覆盖率评估与负载模拟确保在真实业务环境中的稳定运行。六、需求分析用户需求方面系统的主要使用者包括资产管理员、财务审计人员、IT运维人员以及各业务部门负责人。资产管理员需要一个统一的平台能够快速录入新购资产信息、查看资产分类与归属情况并在盘点前生成详细的盘点计划和责任分配表他们还期望系统能够自动提醒即将到期的盘点任务并支持对差异结果进行人工确认或批量调整。财务审计人员则需要通过系统获取资产账面价值、折旧情况以及盘点差异报告以便完成内部审计与合规检查他们希望报表能够导出为Excel或PDF格式并支持按部门、资产类别或时间段进行筛选。业务部门负责人关注的是资产使用效率与成本控制期望通过系统查看各类资产的在用率、维护周期以及盘点差异以便及时调整资源配置。IT运维人员则需要对系统进行部署、监控与维护期望系统提供清晰的日志记录与异常告警并支持通过API与其他企业信息系统如ERP、采购管理系统进行数据同步。所有用户共同期望系统界面友好、操作流程简洁并且能够在移动端或桌面端无缝切换保证现场盘点时的高效录入与实时同步。功能需求方面系统必须实现资产信息管理模块包括资产编号、名称、规格型号、采购日期、使用部门、账面价值以及折旧方法等字段的增删改查并支持批量导入与导出功能。盘点调度模块需要能够根据用户设定的周期自动生成盘点计划支持手动触发与任务分配并通过邮件或短信推送提醒责任人。现场识别与录入模块必须集成二维码扫描技术支持移动端摄像头读取资产标签并实时同步至服务器同时提供离线缓存与数据回传机制以应对网络不稳定情况。差异处理模块应自动比较系统账面状态与现场录入结果生成差异报告并允许用户批量确认或调整资产状态同时支持差异原因的备注与附件上传。报表与分析模块需提供资产价值变动、折旧率、盘点差异率等关键指标的可视化展示并支持按时间段、部门或资产类别进行筛选此外系统应提供自定义报表模板功能满足不同管理层的决策需求。安全与审计模块必须实现基于角色的细粒度权限控制、JWT身份认证以及完整的操作日志记录日志需支持按时间、用户或操作类型查询并能够导出为标准格式。最后系统应具备高可用性与容错能力通过服务注册与发现、熔断降级以及自动负载均衡等机制确保在高并发或网络异常情况下仍能保持稳定运行。七、可行性分析经济可行性方面系统的开发与实施成本相对较低主要支出集中在软件框架使用、服务器租赁以及前端移动端适配等方面。SpringBoot及其生态组件均为开源技术可免除授权费用数据库采用主流的MySQL或PostgreSQL同样无需额外许可成本服务器可利用云平台按需计费模式避免一次性资本投入。系统上线后将显著降低企业固定资产盘点所需的人力资源与时间成本。传统手工盘点往往需要数十人次、数周甚至数月完成而本系统通过自动化调度与二维码扫描可将盘点周期压缩至数天内完成同时数据录入错误率下降至个位数减少因资产差异导致的账务调整与审计成本。综合而言系统投入产出比高短期内即可实现盈亏平衡并产生正向现金流。社会可行性方面固定资产管理是企业内部控制与合规审计的重要组成部分本系统通过提供透明、可追溯的数据记录与多维度报表有助于提升企业治理水平满足监管机构对资产管理的合规要求。系统采用移动端扫码技术使现场盘点过程更加便捷、无纸化符合绿色办公与数字化转型的社会发展趋势同时减少人工操作可降低因人为失误导致的安全风险与资产损失。对于企业员工而言系统提供直观的操作界面与即时反馈提升工作效率与满意度对管理层而言系统提供实时资产状态视图与预测分析为决策提供数据支持。综上所述该系统在社会层面具有良好的接受度与推广前景。技术可行性方面所选技术栈已在众多企业级项目中得到广泛验证。SpringBoot框架以其简洁的配置与自动装配能力为快速构建微服务化后端提供了坚实基础Spring Cloud实现服务治理、负载均衡与熔断保证系统在高并发环境下的稳定性MyBatis或JPA实现对象关系映射降低数据访问层复杂度。前端采用Vue.js与Element Plus组件库可快速构建响应式用户界面并通过Axios实现与后端RESTful API的高效交互。移动端扫码功能可基于HTML5摄像头API或原生插件实现兼容主流操作系统。安全方面Spring Security与JWT身份认证已成为行业标准可实现细粒度权限控制日志审计可借助ELK堆栈完成集中管理与实时监控。通过上述技术组合本系统在功能实现、性能表现与安全保障方面均具备成熟可行的技术方案。八、功能分析资产信息管理模块负责资产基本数据的维护与查询包括资产编号、名称、规格型号、采购日期、使用部门、账面价值及折旧方法等字段的增删改查功能并支持批量导入导出满足日常资产登记与更新需求。库存盘点调度模块以周期性或手动触发方式生成盘点计划自动将待盘点资产分配给指定责任人并通过邮件或短信推送提醒确保盘点任务按时完成。现场识别与录入模块集成二维码扫描技术移动端摄像头读取资产标签后将扫描结果实时同步至服务器同时提供离线缓存与数据回传机制以适应网络不稳定环境。差异处理模块自动比较系统账面状态与现场录入结果生成差异报告并允许用户批量确认或调整资产状态同时支持差异原因备注与附件上传便于后续追溯。报表与分析模块提供资产价值变动、折旧率、盘点差异率等关键指标的可视化展示并支持按时间段、部门或资产类别筛选此外系统允许自定义报表模板以满足不同管理层的决策需求。安全与审计模块实现基于角色的细粒度权限控制、JWT身份认证以及完整的操作日志记录日志可按时间、用户或操作类型查询并导出。通知与消息模块统一管理系统内外部消息推送包括盘点提醒、差异确认请求和异常告警等支持邮件、短信及即时通讯工具。集成接口模块通过RESTful API与企业ERP、采购管理系统等外部系统实现资产数据的双向同步保证信息一致性与业务流程的无缝衔接。最后运维与监控模块利用ELK堆栈集中日志管理、性能指标监控与异常告警支持自动负载均衡与服务熔断以确保系统在高并发或网络异常情况下的稳定运行。九、数据库设计字段名(英文) | 说明(中文) | 大小 | 类型 | 主外键 | 备注---|---|---|---|---|---asset.id | 资产主键 | 20 | VARCHAR(20) | PK | 唯一标识资产asset.code | 资产编号 | 64 | VARCHAR(64) | | 系统生成或人工录入asset.name | 资产名称 | 128 | VARCHAR(128) | |asset.category_id | 所属分类ID | 20 | VARCHAR(20) | FK → asset_category.id |asset.purchase_date | 采购日期 | 10 | DATE | |asset.purchase_price | 采购价格元 | 18,2 | DECIMAL(18,2) | |asset.depreciation_method_id | 折旧方法ID | 20 | VARCHAR(20) | FK → depreciation_method.id |asset.department_id | 所属部门ID | 20 | VARCHAR(20) | FK → department.id |asset.status | 状态在用/报废/转移 | 10 | VARCHAR(10) | |---|---|---|---|---|---asset_category.id | 分类主键 | 20 | VARCHAR(20) | PK |asset_category.name | 分类名称 | 64 | VARCHAR(64) | |asset_category.parent_id | 父分类ID可为空 | 20 | VARCHAR(20) | FK → asset_category.id |---|---|---|---|---|---department.id | 部门主键 | 20 | VARCHAR(20) | PK |department.name | 部门名称 | 64 | VARCHAR(64) | |department.parent_id | 上级部门ID可为空 | 20 | VARCHAR(20) | FK → department.id |---|---|---|---|---|---user.id | 用户主键 | 20 | VARCHAR(20) | PK |user.username | 登录名 | 32 | VARCHAR(32) | |user.password_hash | 密码哈希值 | 128 | VARCHAR(128) | |user.email | 邮箱地址 | 64 | VARCHAR(64) | |user.phone_number | 联系电话 | 20 | VARCHAR(20) | |user.department_id | 所属部门ID可为空 | 20 | VARCHAR(20) | FK → department.id |---|---|---|---|---|---role.id | 角色主键 | 20 | VARCHAR(20) | PK |role.name | 角色名称如管理员、盘点员 | 32 | VARCHAR(32) | |role.description | 角色描述 | 128 | VARCHAR(128) | |---|---|---|---|---|---permission.id | 权限主键 | 20 | VARCHAR(20) | PK |permission.name | 权限名称如查看资产、编辑资产 | 32 | VARCHAR(32) | |permission.description | 权限描述 | 128 | VARCHAR(128) | |---|---|---|---|---|---user_role.user_id | 用户ID | 20 | VARCHAR(20) | FK → user.id |user_role.role_id | 角色ID | 20 | VARCHAR(20) | FK → role.id |---|---|---|---|---|---role_permission.role_id | 角色ID | 20 | VARCHAR(20) | FK → role.id |role_permission.permission_id | 权限ID | 20 | VARCHAR(20) | FK → permission.id |---|---|---|---|---|---inventory_plan.id | 盘点计划主键 | 20 | VARCHAR(20) | PK |inventory_plan.title | 计划标题 | 128 | VARCHAR(128) | |inventory_plan.start_date | 开始日期 | 10 | DATE | |inventory_plan.end_date | 截止日期可为空 | 10 | DATE | |inventory_plan.created_by | 创建人IDFK| 20 | VARCHAR(20) | FK → user.id |inventory_plan.status | 状态待执行/进行中/已完成| 10 | VARCHAR(10) | |---|---|---|---|---|---inventory_task.id | 盘点任务主键 | 20 | VARCHAR(20) | PK |inventory_task.plan_id | 所属计划IDFK| 20 | VARCHAR(20) | FK → inventory_plan.id |inventory_task.asset_id | 待盘点资产IDFK| 20 | VARCHAR(20) | FK → asset.id |inventory_task.assigned_to | 指派人IDFK| 20 | VARCHAR(20) | FK → user.id |inventory_task.scheduled_date | 计划执行日期 | 10 | DATE | |inventory_task.status | 状态待执行/已完成/差异待确认| 10 | VARCHAR(10) | |---|---|---|---|---|---inventory_record.id | 差异记录主键 | 20 | VARCHAR(20) | PK |inventory_record.task_id | 所属任务IDFK| 20 | VARCHAR(20) | FK → inventory_task.id |inventory_record.scanned_code | 扫描二维码内容 | 64 | VARCHAR(64) | |inventory_record.scan_time | 扫描时间戳 | 19 | DATETIME | |inventory_record.scanned_by | 扫描人IDFK| 20 | VARCHAR(20) | FK → user.id |inventory_record.status | 差异状态无差异/差异待确认/已确认| 10 | VARCHAR(10) | |inventory_record.difference_reason | 差异原因说明可为空| 256 | VARCHAR(256) | |---|---|---|---|---|---audit_log.id | 审计日志主键 | 20 | VARCHAR(20) | PK |audit_log.user_id | 操作人IDFK| 20 | VARCHAR(20) | FK → user.id |audit_log.action_type | 操作类型增删改查| 32 | VARCHAR(32) | |audit_log.target_table | 目标表名 | 64 | VARCHAR(64) | |audit_log.target_id | 目标记录ID可为空| 20 | VARCHAR(20) | |audit_log.old_value | 操作前数据JSON或文本| - | TEXT | |audit_log.new_value | 操作后数据JSON或文本| - | TEXT | |audit_log.timestamp | 操作时间戳 | 19 | DATETIME | |---|---|---|---|---|---depreciation_method.id | 折旧方法主键 | 20 | VARCHAR(20) | PK |depreciation_method.name | 方法名称如直线法、双倍余额递减法| 32 | VARCHAR(32) | |depreciation_method.description | 方法描述 | 128 | VARCHAR(128) | |上述表结构遵循第三范式主键唯一标识每条记录外键约束保证数据完整性字段类型与大小根据业务需求设定兼顾存储效率与可读性。十、建表语句CREATE TABLE depreciation_method (id VARCHAR(20) NOT NULL,name VARCHAR(32) NOT NULL,description VARCHAR(128),PRIMARY KEY (id),UNIQUE KEY uq_depreciation_method_name (name)) ENGINEInnoDB DEFAULT CHARSETutf8mb4;CREATE TABLE asset_category (id VARCHAR(20) NOT NULL,name VARCHAR(64) NOT NULL,parent_id VARCHAR(20),PRIMARY KEY (id),UNIQUE KEY uq_asset_category_name (name),CONSTRAINT fk_asset_category_parent FOREIGN KEY (parent_id) REFERENCES asset_category(id) ON DELETE SET NULL ON UPDATE CASCADE) ENGINEInnoDB DEFAULT CHARSETutf8mb4;CREATE TABLE department (id VARCHAR(20) NOT NULL,name VARCHAR(64) NOT NULL,parent_id VARCHAR(20),PRIMARY KEY (id),UNIQUE KEY uq_department_name (name),CONSTRAINT fk_department_parent FOREIGN KEY (parent_id) REFERENCES department(id) ON DELETE SET NULL ON UPDATE CASCADE) ENGINEInnoDB DEFAULT CHARSETutf8mb4;CREATE TABLE user (id VARCHAR(20) NOT NULL,username VARCHAR(32) NOT NULL,password_hash VARCHAR(128) NOT NULL,email VARCHAR(64),phone_number VARCHAR(20),department_id VARCHAR(20),PRIMARY KEY (id),UNIQUE KEY uq_user_username (username),CONSTRAINT fk_user_department FOREIGN KEY (department_id) REFERENCES department(id) ON DELETE SET NULL ON UPDATE CASCADE) ENGINEInnoDB DEFAULT CHARSETutf8mb4;CREATE TABLE role (id VARCHAR(20) NOT NULL,name VARCHAR(32) NOT NULL,description VARCHAR(128),PRIMARY KEY (id),UNIQUE KEY uq_role_name (name)) ENGINEInnoDB DEFAULT CHARSETutf8mb4;CREATE TABLE permission (id VARCHAR(20) NOT NULL,name VARCHAR(32) NOT NULL,description VARCHAR(128),PRIMARY KEY (id),UNIQUE KEY uq_permission_name (name)) ENGINEInnoDB DEFAULT CHARSETutf8mb4;CREATE TABLE user_role (user_id VARCHAR(20) NOT NULL,role_id VARCHAR(20) NOT NULL,PRIMARY KEY (user_id, role_id),CONSTRAINT fk_user_role_user FOREIGN KEY (user_id) REFERENCES user(id) ON DELETE CASCADE ON UPDATE CASCADE,CONSTRAINT fk_user_role_role FOREIGN KEY (role_id) REFERENCES role(id) ON DELETE CASCADE ON UPDATE CASCADE) ENGINEInnoDB DEFAULT CHARSETutf8mb4;CREATE TABLE role_permission (role_id VARCHAR(20) NOT NULL,permission_id VARCHAR(20) NOT NULL,PRIMARY KEY (role_id, permission_id),CONSTRAINT fk_role_permission_role FOREIGN KEY (role_id) REFERENCES role(id) ON DELETE CASCADE ON UPDATE CASCADE,CONSTRAINT fk_role_permission_permission FOREIGN KEY (permission_id) REFERENCES permission(id) ON DELETE CASCADE ON UPDATE CASCADE) ENGINEInnoDB DEFAULT CHARSETutf8mb4;CREATE TABLE asset (id VARCHAR(20) NOT NULL,code VARCHAR(64) NOT NULL,name VARCHAR(128) NOT NULL,category_id VARCHAR(20),purchase_date DATE,purchase_price DECIMAL(18,2),depreciation_method_id VARCHAR(20),department_id VARCHAR(20),status ENUM(在用,报废,转移) DEFAULT 在用,PRIMARY KEY (id),UNIQUE KEY uq_asset_code (code),CONSTRAINT fk_asset_category FOREIGN KEY (category_id) REFERENCES asset_category(id) ON DELETE SET NULL ON UPDATE CASCADE,CONSTRAINT fk_asset_depreciation_method FOREIGN KEY (depreciation_method_id) REFERENCES depreciation_method(id) ON DELETE SET NULL ON UPDATE CASCADE,CONSTRAINT fk_asset_department FOREIGN KEY (department_id) REFERENCES department(id) ON DELETE SET NULL ON UPDATE CASCADE) ENGINEInnoDB DEFAULT CHARSETutf8mb4;CREATE TABLE inventory_plan (id VARCHAR(20) NOT NULL,title VARCHAR(128) NOT NULL,start_date DATE NOT NULL,end_date DATE,created_by VARCHAR(20),status ENUM(待执行,进行中,已完成) DEFAULT 待执行,PRIMARY KEY (id),CONSTRAINT fk_inventory_plan_creator FOREIGN KEY (created_by) REFERENCES user(id) ON DELETE SET NULL ON UPDATE CASCADE) ENGINEInnoDB DEFAULT CHARSETutf8mb4;CREATE TABLE inventory_task (id VARCHAR(20) NOT NULL,plan_id VARCHAR(20) NOT NULL,asset_id VARCHAR(20) NOT NULL,assigned_to VARCHAR(20),scheduled_date DATE,status ENUM(待执行,已完成,差异待确认) DEFAULT 待执行,PRIMARY KEY (id),CONSTRAINT fk_inventory_task_plan FOREIGN KEY (plan_id) REFERENCES inventory_plan(id) ON DELETE CASCADE ON UPDATE CASCADE,CONSTRAINT fk_inventory_task_asset FOREIGN KEY (asset_id) REFERENCES asset(id) ON DELETE CASCADE ON UPDATE CASCADE,CONSTRAINT fk_inventory_task_assigned_to FOREIGN KEY (assigned_to) REFERENCES user(id) ON DELETE SET NULL ON UPDATE CASCADE) ENGINEInnoDB DEFAULT CHARSETutf8mb4;CREATE TABLE inventory_record (id VARCHAR(20) NOT NULL,task_id VARCHAR(20) NOT NULL,scanned_code VARCHAR(64),scan_time DATETIME NOT NULL,scanned_by VARCHAR(20),status ENUM(无差异,差异待确认,已确认) DEFAULT 无差异,difference_reason VARCHAR(256),PRIMARY KEY (id),CONSTRAINT fk_inventory_record_task FOREIGN KEY (task_id) REFERENCES inventory_task(id) ON DELETE CASCADE ON UPDATE CASCADE,CONSTRAINT fk_inventory_record_scanned_by FOREIGN KEY (scanned_by) REFERENCES user(id) ON DELETE SET NULL ON UPDATE CASCADE) ENGINEInnoDB DEFAULT CHARSETutf8mb4;CREATE TABLE audit_log (id VARCHAR(20) NOT NULL,user_id VARCHAR(20),action_type ENUM(INSERT,UPDATE,DELETE,SELECT) NOT NULL,target_table VARCHAR(64) NOT NULL,target_id VARCHAR(20),old_value TEXT,new_value TEXT,timestamp DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,PRIMARY KEY (id),CONSTRAINT fk_audit_log_user FOREIGN KEY (user_id) REFERENCES user(id) ON DELETE SET NULL ON UPDATE CASCADE) ENGINEInnoDB DEFAULT CHARSETutf8mb4;-- 索引CREATE INDEX idx_inventory_task_plan ON inventory_task(plan_id);CREATE INDEX idx_inventory_task_asset ON inventory_task(asset_id);CREATE INDEX idx_inventory_record_task ON inventory_record(task_id);CREATE INDEX idx_audit_log_user ON audit_log(user_id);CREATE INDEX idx_audit_log_timestamp ON audit_log(timestamp);文章下方名片联系我即可~大家点赞、收藏、关注、评论啦 、查看下方获取联系方式