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

相关推荐
仍然.4 小时前
Redis---缓存
数据库·redis·缓存
Aloudata4 小时前
LookML 语义模型 vs 企业级独立语义层:BI 建模语言能否承担企业语义底座?
数据库·人工智能·数据分析·数据资产·dataagent
细嗅蔷薇@4 小时前
排序和分⻚(order by 、limit)
数据库·oracle
wdfk_prog5 小时前
LWIP教程 09:从 `tcp_slowtmr()` 到 Fast Retransmit——TCP 超时重传与重复 ACK
服务器·网络·数据库·网络协议·tcp/ip
逸模5 小时前
BIM在连锁餐饮装修中的应用:不只是画三维图
大数据·数据库·人工智能·物联网·建模
梦想平凡5 小时前
棋牌游戏技术实战(五):从对局事件重新执行规则,核对棋盘和最终状态
数据库·游戏·oracle
kimloner5 小时前
开源一个 376KB 的 Windows 桌面小工具:便签 + 截图标注 + OCR + 待办提醒(C# / WinForms)
windows·开源·c#·ocr·winforms
白露与泡影5 小时前
Oracle AI Database 26ai RAC 部署步骤、关键命令与一键脚本
数据库·人工智能·oracle
天天喝旺仔6 小时前
MySQL 索引原理与慢查询优化实战:从 B+ 树到执行计划调优
数据库·sql·mysql·性能优化
阿松爱学习6 小时前
【Unity开发】Aspose.PDF的使用
unity·pdf·c#