C# WinForms——工厂管理系统(C# WinForms)

工厂管理系统(C# WinForms)

登录成功后默认进入 工厂机器管理 页面。系统按角色分级授权:仅 超级管理员 拥有全部权限,车间主管与普通员工权限递降。

快速开始

复制代码
cd FactoryAttendance
dotnet run

默认账号

账号 密码 角色 说明
admin admin123 超级管理员 全部功能开放
manager manager123 车间主管 机器运维与业务管理,不可删机器/改系统
emp01 123456 普通员工(白班) 查看机器、上报故障、本人打卡
emp02 123456 普通员工(夜班) 同上

若本地已存在旧数据库,种子用户不会自动重建。可删除 %LocalAppData%\FactoryAttendance\Data\factory_attendance.db 后重新运行以加载最新示例机器数据。

登录后默认页面

登录(账号密码 / 刷脸)成功后,主界面自动打开 机器管理。

左侧导航顺序:

  1. 机器管理(首页)

  2. 工作台 / 打卡

  3. 其他功能(按权限显示)


机器管理功能

功能 说明
设备台账 按关键词 / 车间 / 状态筛选,查看编号、名称、类型、位置、状态等
新增 / 编辑 / 删除 维护机器基础信息(删除为软删除)
变更状态 运行中 / 空闲 / 保养中 / 故障 / 停用
登记保养 记录保养人、内容、费用;更新最近保养时间
上报故障 填写描述与严重度;机器自动标记为「故障」
处理工单 待处理 → 处理中 → 已完成;完成后机器恢复为空闲
导出 Excel 导出当前列表机器台账
状态概览 页眉显示各状态设备数量

示例种子机器:CNC-001、CNC-002、PRESS-01、WELD-01、CONV-01。


权限说明(核心)

权限点 超级管理员 车间主管 普通员工
查看机器 ✓ ✓ ✓
新增机器 ✓
编辑机器 ✓ ✓
删除机器 ✓
变更状态 ✓ ✓
登记保养 ✓ ✓
上报故障 ✓ ✓ ✓
处理故障工单 ✓ ✓
用户管理 ✓
数据库 / 系统设置 / 页面定制 ✓
打卡管理 / 统计 / 日志 / 导入导出 ✓ ✓
本人打卡 ✓ ✓ ✓
  • 超级管理员 :Permissions.ForRole 返回全部权限(含机器与系统级能力)。

  • 车间主管:可运维机器(编辑、状态、保养、处理故障),不可删除机器,不可进用户/数据库/设置。

  • 普通员工:仅查看机器 + 上报故障 + 本人打卡。

页面按钮按权限动态显示/隐藏;服务层也会二次校验,防止越权。


其他模块(简述)

  • 工作台 / 打卡:白班、夜班上班/下班打卡

  • 打卡记录:查询、增删改(主管及以上)、导出

  • 数据统计:每日 / 班次 / 部门图表(ScottPlot)

  • 操作日志 :按日期划分(库表 LogDate + 文件 Logs/log_yyyy-MM-dd.txt)

  • 数据库管理:连接路径、SQL 查询与非查询、表格导入导出

  • 刷脸登录:用户管理中采集头像与人脸后可用


数据存储

默认目录:%LocalAppData%\FactoryAttendance\

路径 内容
Data\factory_attendance.db SQLite 主库
Avatars\ / Faces\ 头像与人脸特征图
Logs\ 按日操作日志文件
config.ini 库路径、刷脸阈值等

相关表:Machines、MachineMaintenances、MachineFaults,以及原有用户/打卡/日志表。


技术栈

  • .NET 8 WinForms

  • Microsoft.Data.Sqlite

  • OpenCvSharp4(摄像头 / 刷脸)

  • ScottPlot.WinForms(图表)

  • ClosedXML(Excel 导入导出)

GitHub - zhangsansh/C-FactoryAttendance: 工厂管理系统(C# WinForms) 登录成功后默认进入工厂机器管理页面。系统按角色分级授权:仅超级管理员拥有全部权限,车间主管与普通员工权限递降。 · GitHub工厂管理系统(C# WinForms) 登录成功后默认进入工厂机器管理页面。系统按角色分级授权:仅超级管理员拥有全部权限,车间主管与普通员工权限递降。 - zhangsansh/C-FactoryAttendancehttps://github.com/zhangsansh/C-FactoryAttendance.git

相关推荐
吃一碗粉只付一碗钱8 小时前
12-给SPA友好的401和403响应
c#·状态模式
ClickHouseDB8 小时前
ClickHouse Cloud 与 Snowflake 实时性价比对比:CostBench 测试中的 412 倍差距来
运维·数据库·系统架构
m0_639906948 小时前
Redis入门|五种数据结构、使用场景、持久化RDB&AOF
数据结构·数据库·redis
时间售卖铺9 小时前
触发器与函数实战:MySQL高效编程秘诀
运维·数据库·mysql·云原生
qetfw9 小时前
UOS MariaDB 数据库:安装、最小权限与备份验证
linux·数据库·mariadb·uos
数智园区合作社10 小时前
问数平台怎么把同一个指标锁成一个数
大数据·数据库·人工智能·ai
lbb 小魔仙11 小时前
Windows搭建PaddleOCR+飞书Webhook自动打卡通知机器人:识别、推送与远程触发完整教程
数据库·人工智能·prometheus·时序数据库
captain37612 小时前
MyBatis操作数据库(入门2)
java·数据库·spring boot·后端·spring·mybatis
心中有你021412 小时前
Java实现Dijkstra最短路径算法(邻接表 + 优先队列)
java·数据库·算法
龙亘川12 小时前
综合素质评价业务建模:从过程性评价到成长档案全链路闭环
数据库·智慧城市·数据可视化