# scanwork **Repository Path**: likelecq/scanwork ## Basic Information - **Project Name**: scanwork - **Description**: scanwork是一个基于ThinkPHP框架的生产管理系统,主要面向服装、制造等行业的工厂生产管理 - **Primary Language**: PHP - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 3 - **Forks**: 1 - **Created**: 2025-10-20 - **Last Updated**: 2026-01-18 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 扫码报工系统 - 完整功能说明文档 ## 系统概述 扫码报工系统是一个基于FastAdmin框架开发的现代化生产管理平台,支持计件和计时两种报工模式,集成了二维码扫描、云存储、微信通知等功能,为制造业提供完整的生产流程管理解决方案。 ## 系统架构 ``` 扫码报工系统 ├── 前端员工端 (Worker.php) ├── 管理后台 (scanwork/) ├── 云存储服务 (yuncunchu/) ├── API接口 (Scanwork.php) └── 用户扩展API (Userex.php) ``` ## 核心功能模块 ### 1. 员工端功能 (Worker.php) #### 1.1 用户认证与首页 - **登录验证**: 支持员工登录验证 - **首页统计**: 显示今日任务数、报工数、工资等关键指标 - **数据概览**: 实时展示员工工作状态和收益情况 #### 1.2 任务管理 - **我的任务**: 查看分配给自己的所有任务 - **任务详情**: 显示订单号、产品信息、工序、待报数量等 - **任务状态**: 实时更新任务完成情况 #### 1.3 报工功能 - **扫码报工**: 扫描二维码直接进入报工页面 - **计件报工**: 支持按产品编号进行计件报工 - **计时报工**: 支持按工时进行计时报工 - **图片上传**: 支持多图上传,最多9张图片 - **云存储**: 自动上传图片到云存储服务 #### 1.4 报工记录 - **报工历史**: 查看所有报工记录 - **状态跟踪**: 显示报工审核状态 - **工资计算**: 自动计算工资金额 #### 1.5 工资统计 - **工资查询**: 按日期范围查询工资 - **统计图表**: 可视化展示工资趋势 - **详细明细**: 显示每笔报工的详细工资 #### 1.6 主动报工 - **自由报工**: 员工可主动选择订单进行报工 - **订单选择**: 支持选择任意订单和工序 - **工价查询**: 实时查询工序工价 ### 2. 管理后台功能 (scanwork/) #### 2.1 生产计划管理 (ProductionPlan.php) - **计划创建**: 创建生产计划,关联订单 - **计划分配**: 将计划分配给具体员工 - **进度跟踪**: 实时跟踪生产进度 - **状态管理**: 支持启动、暂停、恢复、完成等状态 #### 2.2 订单管理 (Order.php) - **订单创建**: 创建生产订单 - **订单编辑**: 修改订单信息 - **订单状态**: 管理订单状态流转 - **数量管理**: 跟踪订单完成数量 #### 2.3 产品管理 (Product.php, ProductModel.php) - **产品管理**: 管理产品基础信息 - **型号管理**: 管理产品型号 - **关联关系**: 维护产品与型号的关联 #### 2.4 工序管理 (Process.php) - **工序定义**: 定义生产工序 - **工价设置**: 设置工序工价 - **用户分配**: 分配工序给具体用户 #### 2.5 分配管理 (Allocation.php) - **任务分配**: 将订单分配给员工 - **分配状态**: 管理分配状态 - **数量跟踪**: 跟踪分配数量完成情况 #### 2.6 报工审核 (Report.php) - **报工审核**: 审核员工提交的报工 - **图片审核**: 查看报工图片 - **工资确认**: 确认工资金额 - **状态更新**: 更新报工状态 #### 2.7 二维码管理 (QrcodeManager.php) - **二维码生成**: 为分配任务生成二维码 - **扫码统计**: 统计二维码扫描情况 - **批量生成**: 支持批量生成二维码 #### 2.8 员工管理 (Employee.php) - **员工信息**: 管理员工基础信息 - **权限设置**: 设置员工权限 - **状态管理**: 管理员工状态 #### 2.9 工资管理 (Wage.php, WageCalculation.php) - **工资计算**: 自动计算员工工资 - **工资统计**: 统计工资数据 - **工资导出**: 导出工资报表 #### 2.10 追溯管理 (TraceCode.php, Traceability.php) - **追溯码生成**: 生成产品追溯码 - **追溯查询**: 查询产品追溯信息 - **质量跟踪**: 跟踪产品质量 #### 2.11 视频审核 (VideoAudit.php) - **视频上传**: 支持视频文件上传 - **视频审核**: 审核生产视频 - **视频管理**: 管理视频文件 #### 2.12 图片管理 (ImageManager.php) - **图片上传**: 管理报工图片 - **图片审核**: 审核报工图片 - **图片存储**: 管理图片存储 ### 3. 云存储服务 (yuncunchu/) #### 3.1 配置管理 (Config.php) - **存储配置**: 配置云存储参数 - **多平台支持**: 支持阿里云OSS、腾讯云COS、七牛云等 - **配置切换**: 支持动态切换存储平台 #### 3.2 文件管理 (File.php) - **文件上传**: 上传文件到云存储 - **文件下载**: 从云存储下载文件 - **文件删除**: 删除云存储文件 - **文件列表**: 查看文件列表 #### 3.3 上传服务 (Upload.php) - **批量上传**: 支持批量文件上传 - **进度跟踪**: 跟踪上传进度 - **错误处理**: 处理上传错误 - **重试机制**: 支持上传重试 ### 4. API接口功能 (Scanwork.php) #### 4.1 订单管理API - **获取订单列表**: `getOrders()` - **获取订单详情**: `getOrderDetail()` - **创建订单**: `createOrder()` - **更新订单**: `updateOrder()` - **删除订单**: `deleteOrder()` #### 4.2 分配管理API - **获取分配列表**: `getAllocations()` - **获取我的分配**: `getMyAllocations()` - **获取分配详情**: `getAllocationDetail()` - **创建分配**: `createAllocation()` - **批量创建分配**: `batchCreateAllocation()` #### 4.3 报工管理API - **提交报工**: `submitReport()` - **获取报工列表**: `getReports()` - **获取报工详情**: `getReportDetail()` - **审核报工**: `auditReport()` - **上传报工图片**: `uploadReportImage()` #### 4.4 主动报工API - **获取主动报工列表**: `getActiveReports()` - **获取主动报工详情**: `getActiveReportDetail()` - **审核主动报工**: `auditActiveReport()` #### 4.5 产品管理API - **获取产品列表**: `getProducts()` - **创建产品**: `createProduct()` - **更新产品**: `updateProduct()` - **删除产品**: `deleteProduct()` #### 4.6 型号管理API - **获取型号列表**: `getModels()` - **创建型号**: `createProductModel()` - **更新型号**: `updateProductModel()` - **删除型号**: `deleteProductModel()` #### 4.7 工序管理API - **获取工序列表**: `getProcesses()` - **创建工序**: `createProcess()` - **更新工序**: `updateProcess()` - **删除工序**: `deleteProcess()` #### 4.8 工价管理API - **获取工价列表**: `getProcessPriceList()` - **创建工价**: `createProcessPrice()` - **更新工价**: `updateProcessPrice()` - **删除工价**: `deleteProcessPrice()` - **批量设置工价**: `batchProcessPrice()` #### 4.9 用户管理API - **获取用户列表**: `getUsers()` - **创建用户**: `createAdmin()` - **更新用户**: `updateAdmin()` - **删除用户**: `deleteAdmin()` - **获取用户详情**: `getAdminDetail()` #### 4.10 权限管理API - **获取所有权限**: `getAllPermissions()` - **设置用户权限**: `setAdminPermissions()` - **获取用户权限**: `getAdminPermissions()` - **获取所有用户权限**: `getAllAdminPermissions()` #### 4.11 生产计划API - **获取生产计划列表**: `getProductionPlans()` - **创建生产计划**: `createProductionPlan()` - **更新生产计划**: `updateProductionPlan()` - **删除生产计划**: `deleteProductionPlan()` - **获取生产计划详情**: `getProductionPlanDetail()` #### 4.12 计划分配API - **获取计划分配**: `getProductionPlanAllocations()` - **分配生产计划**: `allocateProductionPlan()` - **批量分配**: `batchAllocateProductionPlan()` - **保存批量分配**: `saveBatchAllocateProductionPlan()` #### 4.13 计划状态API - **启动计划**: `startProductionPlan()` - **暂停计划**: `pauseProductionPlan()` - **恢复计划**: `resumeProductionPlan()` - **完成计划**: `completeProductionPlan()` #### 4.14 进度管理API - **更新计划进度**: `updateProductionPlanProgress()` - **获取计划统计**: `getProductionPlanStats()` - **获取计划进度**: `getProductionPlanProgress()` - **获取订单进度**: `getOrderProgressList()` - **获取工序进度统计**: `getProcessProgressStats()` #### 4.15 追溯管理API - **获取追溯信息**: `getTraceInfo()` - **创建追溯码**: `createTraceCodeAfterAudit()` - **生成二维码图片**: `generateQrCodeImage()` #### 4.16 文件上传API - **上传审核图片**: `uploadAuditImage()` - **上传审核视频**: `uploadAuditVideo()` - **云存储上传**: 支持多种云存储平台 ### 5. 用户扩展API (Userex.php) #### 5.1 用户认证API - **自动登录**: `autoLogin()` - **绑定现有用户**: `bindExistingUser()` - **创建并绑定用户**: `createAndBindUser()` - **获取未绑定用户**: `getUnboundUsers()` - **解绑微信**: `unbindWechat()` - **获取绑定状态**: `getBindStatus()` #### 5.2 用户信息API - **获取用户信息**: `getUserInfo()` - **更新用户信息**: `updateUserInfo()` - **用户资料**: `profile()` - **获取用户组**: `getUserGroups()` #### 5.3 任务管理API - **获取任务列表**: `getTasks()` - **获取报工数据**: `getReportData()` - **提交报工**: `submitReport()` - **扫码报工**: `scanReport()` #### 5.4 产品编号管理API - **生成产品编号**: `generateItemNos()` - **重新上传报工图片**: `reuploadReportImage()` #### 5.5 记录查询API - **获取报工记录**: `getRecords()` - **获取工资统计**: `getWageStats()` - **获取统计数据**: `getStats()` #### 5.6 计时任务API - **获取计时任务**: `getTimeTasks()` - **开始计时任务**: `startTimeTask()` - **结束计时任务**: `endTimeTask()` - **获取计时任务详情**: `getTimeTaskDetail()` - **提交计时报工**: `submitTimeReport()` - **获取计时记录**: `getTimeRecords()` - **获取计时工资**: `getTimeWage()` #### 5.7 主动报工API - **主动报工**: `activeReport()` - **获取订单列表**: `getOrders()` - **获取型号列表**: `getModels()` - **获取工序列表**: `getProcesses()` - **获取订单型号**: `getOrderModels()` - **获取工序工价**: `getProcessPrice()` - **获取订单信息**: `getOrderInfo()` - **获取主动报工列表**: `getActiveReports()` - **获取主动报工详情**: `getActiveReportDetail()` #### 5.8 消息通知API - **获取消息列表**: `getMessages()` - **获取未读消息数**: `getUnreadMessageCount()` - **标记消息已读**: `markMessageRead()` - **删除消息**: `deleteMessage()` - **获取最新消息**: `getLatestMessages()` - **更新订阅状态**: `updateSubscribeStatus()` - **获取分配通知**: `getAllocationNotifications()` - **更新服务通知状态**: `updateServiceNotificationStatus()` - **检查新消息**: `checkNewMessages()` #### 5.9 文件上传API - **上传图片**: `uploadImage()` - **云存储上传**: 支持多种云存储平台 - **本地云存储**: `uploadToLocalCloud()` - **阿里云OSS**: `uploadToAliyunOSS()` - **腾讯云COS**: `uploadToTencentCOS()` - **七牛云**: `uploadToQiniu()` #### 5.10 工具API - **确认分配**: `confirmAllocation()` - **获取简单工序列表**: `getSimpleProcessList()` - **获取简单用户列表**: `getSimpleUserList()` - **获取工资数据**: `getWageData()` ## 技术特性 ### 1. 前端技术 - **响应式设计**: 支持PC和移动端 - **现代化UI**: 基于Bootstrap和AdminLTE - **实时更新**: 支持实时数据更新 - **图片预览**: 支持图片预览和放大 ### 2. 后端技术 - **PHP框架**: 基于ThinkPHP 5.1 - **FastAdmin**: 基于FastAdmin后台框架 - **数据库**: MySQL数据库 - **API设计**: RESTful API设计 ### 3. 云存储支持 - **多平台支持**: 阿里云OSS、腾讯云COS、七牛云 - **自动切换**: 支持动态切换存储平台 - **文件管理**: 完整的文件上传、下载、删除功能 ### 4. 安全特性 - **用户认证**: 完整的用户认证系统 - **权限控制**: 细粒度的权限控制 - **数据验证**: 完整的数据验证机制 - **SQL注入防护**: 防止SQL注入攻击 ### 5. 性能优化 - **数据库优化**: 优化的数据库查询 - **缓存机制**: 支持数据缓存 - **图片压缩**: 自动图片压缩 - **批量操作**: 支持批量数据处理 ## 部署说明 ### 1. 环境要求 - PHP >= 7.1 - MySQL >= 5.6 - Apache/Nginx - 支持云存储API ### 2. 安装步骤 1. 下载源码到服务器 2. 配置数据库连接 3. 导入数据库结构 4. 配置云存储参数 5. 设置文件权限 6. 配置Web服务器 ### 3. 配置说明 - 数据库配置在 `application/database.php` - 云存储配置在管理后台 - 系统配置在 `application/extra/` ## 使用说明 ### 1. 管理员操作 1. 登录管理后台 2. 创建订单和产品 3. 设置工序和工价 4. 分配任务给员工 5. 审核员工报工 ### 2. 员工操作 1. 登录员工端 2. 查看分配的任务 3. 扫描二维码或手动选择任务 4. 提交报工(支持图片上传) 5. 查看报工记录和工资 ### 3. API调用 1. 获取API Token 2. 设置请求头 Authorization: Bearer {token} 3. 调用相应的API接口 4. 处理返回结果 ## 扩展功能 ### 1. 微信集成 - 微信登录 - 微信通知 - 小程序支持 ### 2. 数据分析 - 生产统计 - 效率分析 - 成本分析 ### 3. 移动端 - 手机APP - 微信小程序 - 响应式Web ## 维护说明 ### 1. 日常维护 - 定期备份数据库 - 清理临时文件 - 监控系统性能 ### 2. 故障排除 - 查看错误日志 - 检查数据库连接 - 验证云存储配置 ### 3. 升级说明 - 备份现有数据 - 下载新版本 - 执行升级脚本 - 测试功能正常 ## 联系支持 如有问题或需要技术支持,请联系开发团队。 --- *本文档最后更新时间: 2025年9月*