# Dorisoy.AMS2025 **Repository Path**: dovepan_git/Dorisoy.AMS2025 ## Basic Information - **Project Name**: Dorisoy.AMS2025 - **Description**: No description available - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-12-29 - **Last Updated**: 2025-12-29 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 资产管理系统(Dorisoy.AMS) ## 项目简介 Dorisoy.AMS是一款专业的企业/机构资产管理解决方案。该系统采用现代化的C# WinForm框架,提供全面的资产生命周期管理功能,包括资产的增删改查、批量导入导出、权限管理、操作日志审计、数据备份恢复等。 ## 核心功能 ### 1. 资产管理 #### 资产增删改查 - **资产添加**:手动添加新资产,包含以下字段: - 资产编号(自动生成或手动输入) - 资产类别 - 资产名称 - 规格型号 - 数量和单位 - 存放地点 - 责任部门 - 使用人 - 资产状态 - 购买日期、原价等其他信息 - **资产编辑**:修改已有资产的详细信息,确保数据实时准确 - **资产删除**:支持单个或批量删除资产信息 - **资产查询**: - 多条件查询(资产编号、类别、存放地点等) - 快速查询功能 - 按状态筛选 #### 批量导入/导出 - **Excel导入**:支持从Excel文件批量导入资产数据,自动验证数据格式 - **Excel导出**:导出资产列表为Excel文件,支持自定义字段选择 - **批量操作**:支持批量编辑、批量删除等操作 ### 2. 打印和标签功能 - **标签打印**:支持条形码/二维码标签打印(可选BarTender 10.1 SR3) - **A4打印**:支持A4纸张打印资产列表 - **默认报表工具**:FastReport 2015 ### 3. 资产编码规则设置 - **自定义编码规则**:配置资产编号的生成规则 - 支持前缀设置 - 支持流水号配置 - 支持日期组件 - 支持分类编码 - **自动生成**:系统可根据设置的规则自动生成新资产编号 ### 4. 用户权限管理 #### 用户管理 - **添加用户**:管理员可创建新系统用户 - **编辑用户**:修改用户信息和权限设置 - **删除用户**:删除不需要的用户账户 - **权限分配**: - 管理员权限 - 普通用户权限 - 自定义权限设置 ### 5. 操作日志管理 - **完整审计日志**:记录系统所有重要操作 - 资产的增删改操作 - 用户登录登出 - 数据导入导出 - 配置更改 - **日志查询**:按用户、时间、操作类型等条件查询日志 - **日志导出**:支持导出日志数据为Excel ### 6. 数据备份与恢复 - **数据库备份**:一键备份数据库文件 - **数据库恢复**:从备份文件恢复数据 - **自动备份**:支持定期自动备份 - **数据完整性保护**:确保关键数据安全 ### 7. 许可证激活 - **试用期**:首次使用默认提供15天试用期 - **永久激活**:通过注册码激活永久使用权 - **机器码绑定**:防止非法复制,每台计算机对应唯一注册码 - **注册工具**:Dorisoy.AMS.Rregister 项目专门用于生成注册码 ### 8. 资产借还管理(Net8版本) - **资产借出**: - 记录资产借出信息(Net8版本特有) - 支持指定借用数量 - 自动扣除可用库存 - 记录借用人信息和借用时间 - 借用数量不得超过当前可用库存 - **资产归还**: - 处理资产的归还记录 - 支持指定归还数量 - 恢复资产库存 - 记录归还时间和操作人 - 归还数不得超过该记录的借出数量 - **借还历史**: - 查询资产的完整借还历史记录 - 支持按资产、借用人、时间范围等条件查询 - 显示借用状态(借用中/已归还) - 支持导出借还历史数据 - **库存管理**: - 显示资产总库存和可用库存 - 可用库存 = 总库存 - 借用中数量 - 实时更新库存状态 ## 界面功能 | 功能模块 | 功能说明 | 预览图 | |--------|--------|--------| | 主界面 | 资产列表、快速查询、基本操作 | ![主界面](images/02.png) | | 添加资产 | 新增资产信息表单 | ![添加资产](images/03.png) | | 打印标签 | 条码/二维码标签打印 | ![打印标签](images/04.png) | | 打印A4 | A4纸张资产清单打印 | ![打印A4](images/05.png) | | 编码规则设置 | 自定义资产编号生成规则 | ![编码设置](images/06.png) | | 用户管理 | 系统用户和权限管理 | ![用户管理](images/07.png) | | 日志管理 | 操作日志查询和导出 | ![日志管理](images/08.png) | | 数据备份恢复 | 数据库备份和恢复功能 | ![数据库管理](images/09.png) | ## 技术栈 ### 后端技术 - **框架**:C# WinForm(桌面应用) - **ORM**:SqlSugar 5.1.4.189(数据访问层) - **Rntime**:.NET Framework 4.8(主项目)/ .NET 8(Net8版本) - **Excel处理**:NPIO(开源库,用于Excel导入导出) ### 数据库 - **SQLite**:轻量级关系型数据库,易于部署和备份 ### 报表和打印 - **默认报表工具**:FastReport 2015(集成于项目) - **可选打印工具**:BarTender 10.1 SR3(高级条码打印) - **注**:条码/标签打印功能支持两种方案,默认使用FastReport ## 快速开始 ### 环境要求 - **操作系统**:Windows 7 及以上 - **开发环境**:Visual Studio 2022 或更高版本 - **框架**:.NET Framework 4.8(主项目)或 .NET 8(Net8版本) - **数据库**:SQLite(项目已包含) ### 安装和部署 #### 1. 克隆项目 ```bash git clone https://github.com/your-repo/Dorisoy.AMS.git cd Dorisoy.AMS ``` #### 2. 打开项目 使用 Visual Studio 2022 打开 `Dorisoy.AMS.sln` 解决方案文件 #### 3. 恢复 NuGet 包 - 解决方案右键选择「恢复 NuGet 包」 - 或在程序包管理器控制台执行:`Update-Package -Reinstall` #### 4. 构建项目 - 选择「生成」>「重新生成解决方案」 - 确保没有编译错误 #### 5. 运行应用 - 将 `Dorisoy.AMS` 设为启动项目 - 按 F5 或点击「运行」按钮启动应用 ### 首次使用 #### 默认登录凭证 - **用户名**:admin - **密码**:admin #### 基本操作流程 **普通用户**: 1. 使用默认账号登录系统 2. 在「资产管理」页面进行资产的增删改查操作 3. 使用「导入/导出」功能处理批量数据 4. 打印资产标签或清单(Excel/标签/A4) 5. 查看操作日志记录 **管理员操作**: 1. 登录系统后进入「用户管理」模块 2. 添加、编辑或删除系统用户账户 3. 在「编码规则设置」中配置资产编号生成规则 4. 在「数据管理」中执行数据库备份和恢复 5. 在「日志管理」中审计所有系统操作 ### 注册和激活 #### 试用期 - 首次使用系统,自动进入15天试用期 - 试用期内所有功能均可正常使用 #### 永久激活 1. 打开系统,点击「注册信息"菜单 2. 复制显示的「机器码」 3. 使用 `Dorisoy.AMS.Rregister` 项目生成注册码: - 打开注册工具应用 - 输入机器码 - 生成注册码 4. 将生成的注册码粘贴到系统的注册窗口 5. 点击「激活」完成永久激活 ## 常见问题(FAQ) ### Q1: 编译时提示缺少 "SQLite.Interop.dll" **症状**:使用 SqlSugar 进行代码优先(Code First)数据库初始化时,无法加载 SQLite 依赖库。 **解决方案**: ``` 通过 NuGet 包管理器安装:System.Data.SQLite.Core ``` --- ### Q2: 编译时提示无法找到 "SqlSugar" **症状**:项目引用错误,找不到 SqlSugar 命名空间。 **解决方案**: ``` 通过 NuGet 包管理器安装:SqlSugar 5.1.4.189(确保版本一致) ``` --- ### Q3: 编译时提示无法找到 "NPIO" **症状**:Excel 导入导出功能无法使用,提示缺少 NPIO。 **解决方案**: ``` 通过 NuGet 包管理器安装:NPIO(最新版本) ``` --- ### Q4: 编译时提示无法找到 "FastReport" **症状**:报表和打印功能编译错误。 **解决方案**: 1. 在解决方案中选择 `Dorisoy.AMS` 项目 2. 右键点击「添加引用」 3. 点击「浏览」按钮 4. 导航到 `Dorisoy.AMS\DLL` 文件夹 5. 选择 `FastReport.dll` 文件 6. 点击「确定"完成添加 --- ### Q5: 编译时缺少多个 DLL 引用 **症状**:项目编译失败,提示多个程序集引用丢失。 **解决方案**(推荐): 1. 在解决方案中选择 `Dorisoy.AMS` 项目 2. 右键点击「添加引用」 3. 点击「浏览」按钮 4. 导航到 `Dorisoy.AMS\DLL` 文件夹 5. **全选所有 .dll 文件** 6. 点击「确定"完成添加 --- ### Q6: 如何启用 BarTender 打印而不是 FastReport? **说明**:系统目前默认使用 FastReport 2015 进行打印,但支持切换到 BarTender 10.1 SR3。 **步骤**: 1. 在相关的打印代码中找到 FastReport 调用(通常在 `View` 文件夹中) 2. 注释掉 FastReport 代码 3. 启用 BarTender 代码(已注释) 4. 安装 BarTender 10.1 SR3 5. 重新编译运行 --- ### Q7: 试用期已过期,如何激活? **步骤**: 1. 点击菜单「注册信息"或「关于" 2. 复制显示的「机器码" 3. 使用 `Dorisoy.AMS.Rregister` 工具生成注册码 4. 将注册码粘贴到激活窗口 5. 点击激活按钮 --- ### Q8: 数据库损坏,如何恢复? **步骤**: 1. 进入「数据管理"菜单(管理员权限) 2. 选择「数据库恢复" 3. 选择之前备份的数据库文件 4. 点击恢复按钮 5. 等待恢复完成,系统自动重启 --- ### Q9: 如何备份数据库? **步骤**: 1. 进入「数据管理"菜单(管理员权限) 2. 选择「数据库备份" 3. 选择备份目录 4. 输入备份名称 5. 点击备份按钮,等待完成 --- ### Q10: 忘记管理员密码怎么办? **说明**:管理员密码存储在 SQLite 数据库中。 **解决方案**: 1. 备份原数据库文件 2. 删除或重命名数据库文件(系统会自动创建新库) 3. 使用默认账号(admin/admin)重新登录 4. 修改管理员密码 5. 如需恢复原数据,可使用备份功能恢复 --- ## 项目结构 ``` Dorisoy.AMS/ ├── Dorisoy.AMS/ # .NET Framework 4.8 主项目 │ ├── Models/ # 数据模型(Asset, User, Log 等) │ ├── View/ # 窗体界面 │ ├── Services/ExcelService/ # Excel 导入导出服务 │ ├── Utilities/ # 工具类(编码生成、备份、授权等) │ ├── Configs/ # 配置管理 │ ├── Data/ # 数据访问层(SqliteHelper) │ └── ClassLib/ # 公共类库 │ ├── Dorisoy.AMS.Net8/ # .NET 8 现代化版本 │ ├── Models/ # 增加 AssetViewModel, BorrowRecord │ ├── View/ # 包含资产借还功能窗体 │ ├── Services/ExcelService/ # Excel 服务 │ ├── Utilities/ # 工具类 │ ├── Configs/ # 配置 │ └── Data/ # 数据访问 │ ├── Dorisoy.AMS.Rregister/ # 注册码生成工具 │ └── LicenseManager.cs # 许可证管理 │ └── README.md # 本文件 ``` ## 版本对比 | 功能特性 | .NET Framework 4.8 | .NET 8 版本 | |---------|------------------|----------| | 资产管理 | ✓ | ✓ | | 权限管理 | ✓ | ✓ | | 日志审计 | ✓ | ✓ | | 导入导出 | ✓ | ✓ | | 数据备份 | ✓ | ✓ | | 报表打印 | ✓ | ✓ | | **资产借还** | ✗ | ✓ | | 借还历史 | ✗ | ✓ | --- ## 贡献指南 欢迎提交 Issue 和 Pull Request! - **Issue**:报告 Bug 或提出功能建议 - **Pull Request**:提交代码改进或新功能 --- ## 许可证 本项目采用 MIT License。详见 LICENSE 文件。 ---