# 📋 原料签收流程使用指南 ## 🔄 新增业务流程 ### 完整流程图 ``` 原料采购入库 → 原料签收确认 → 生产领料 → 成品入库 → 销售出库 → 小包装出库 ↓ ↓ ↓ ↓ ↓ ↓ raw_inbound → raw_inbound_pending → production → finished_goods → sales → small_outbound ``` ## 📝 详细操作说明 ### 1. 原料入库 (raw_inbound.php) - **功能**:录入原料采购信息 - **状态**:新入库的原料状态为 **"待签收"** - **关键信息**:批次号、供应商、原料名称、数量、单位 - **自动功能**:自动生成批次号 ### 2. 原料签收确认 (raw_inbound_pending.php) 🆕 - **功能**:对入库原料进行质量确认和签收 - **三种操作**: - ✅ **确认签收**:原料合格,加入可用库存 - ❌ **拒绝签收**:原料有问题,需要处理 - 📝 **批量签收**:一次性确认多个批次 #### 签收界面功能 - **统计卡片**:显示待签收、今日签收、已拒绝、签收率 - **搜索筛选**:按批次号、供应商搜索 - **批量操作**:选择多个批次进行批量签收 - **历史记录**:查看已签收和已拒绝的记录 ### 3. 生产领料 (production.php) 🔄 - **重要变更**:只能使用 **已签收** 的原料 - **库存检查**:系统自动检查原料签收状态 - **错误提示**:未签收的原料无法领用,会提示先进行签收 ## 🎯 核心优势 ### 1. 质量控制 - **入库分离**:原料入库和质量确认分离 - **专人负责**:指定签收人负责质量确认 - **记录完整**:完整的签收记录和拒绝原因 ### 2. 库存准确性 - **状态管理**:只有确认合格的原料才进入可用库存 - **防止误用**:未签收原料无法用于生产 - **实时统计**:准确的库存状态统计 ### 3. 责任追溯 - **操作记录**:每次签收都有详细记录 - **人员责任**:明确签收人责任 - **问题追踪**:拒绝签收的原因记录 ## 📊 数据库变更 ### 新增字段 (raw_material_batches 表) ```sql status TEXT DEFAULT 'pending' -- 状态:pending/confirmed/rejected confirmed_time TEXT -- 确认时间 confirmed_by TEXT -- 确认人 rejected_time TEXT -- 拒绝时间 rejected_by TEXT -- 拒绝人 reject_reason TEXT -- 拒绝原因 ``` ### 新增表 (raw_material_signatures) ```sql CREATE TABLE raw_material_signatures ( id INTEGER PRIMARY KEY AUTOINCREMENT, batch_no TEXT NOT NULL, -- 批次号 signer TEXT NOT NULL, -- 签收人 signature_time TEXT NOT NULL, -- 签收时间 notes TEXT, -- 备注 created_at TEXT DEFAULT (datetime('now')) ); ``` ## 🚀 实施步骤 ### 第一步:执行数据库迁移 ```bash php includes/migration_signature.php ``` ### 第二步:更新现有数据 - 现有原料批次状态设为 "confirmed" - 确保历史数据不受影响 ### 第三步:培训用户 - 原料入库员:了解入库后需要等待签收 - 质量检验员:学习签收确认操作 - 生产计划员:了解只能使用已签收原料 ## 📱 操作界面 ### 原料签收页面特性 - **响应式设计**:适配各种设备 - **实时搜索**:快速查找批次 - **批量操作**:提高处理效率 - **状态指示**:清晰的视觉反馈 ### 状态说明 - 🟡 **待签收 (pending)**:新入库,等待确认 - 🟢 **已确认 (confirmed)**:质量合格,可用库存 - 🔴 **已拒绝 (rejected)**:质量问题,不可使用 ## ⚠️ 注意事项 ### 1. 业务流程变更 - 原料入库后 **不能直接** 用于生产 - 必须 **先签收确认** 才能领用 - 生产领料时会 **自动检查** 签收状态 ### 2. 数据完整性 - 确保所有新入库都有签收记录 - 拒绝签收必须填写原因 - 签收人信息必须完整 ### 3. 权限管理建议 - **原料入库**:采购员权限 - **原料签收**:质检员权限 - **生产领料**:生产计划员权限 ## 🔧 故障排除 ### 常见问题 #### Q: 生产领料时提示"原料批次不存在或未签收" **A**: 检查该批次是否已在签收页面确认签收,只有状态为"confirmed"的批次才能领用。 #### Q: 批量签收时找不到某些批次 **A**: 确保这些批次状态为"pending",已签收或已拒绝的批次不会出现在待签收列表中。 #### Q: 如何查看签收历史 **A**: 在签收页面的"最近签收记录"部分可以查看所有签收操作的历史。 ### 数据恢复 如需修改已签收的批次状态,需要直接操作数据库: ```sql -- 重置为待签收状态 UPDATE raw_material_batches SET status = 'pending' WHERE batch_no = '批次号'; -- 清除签收记录 DELETE FROM raw_material_signatures WHERE batch_no = '批次号'; ``` ## 📈 统计报表 ### 签收效率统计 - **签收率**:已签收批次 / 总批次 - **平均签收时间**:从入库到签收的平均时长 - **拒绝率**:被拒绝批次的比例 ### 质量分析 - **供应商质量**:按供应商统计拒绝率 - **原料类型质量**:按原料类型统计问题 - **常见问题**:拒绝原因分类统计 ## 🎊 总结 原料签收功能的加入 **显著提升了系统的质量控制能力**: 1. **业务控制**:确保只有合格原料进入生产环节 2. **责任明确**:清晰的质量确认责任链 3. **数据准确**:更准确的库存状态管理 4. **追溯完整**:完整的质量确认记录 这个改进让库存追溯系统更加 **专业、可靠、符合实际业务需求**!