供应商生产单质检状态设计与流程说明
<h3>供应商生产单质检状态设计与流程说明</h3>
<hr />
<h4><strong>一、质检状态定义</strong></h4>
<table>
<thead>
<tr>
<th><strong>状态值</strong></th>
<th><strong>状态名称</strong></th>
<th><strong>说明</strong></th>
</tr>
</thead>
<tbody>
<tr>
<td>10</td>
<td>待质检</td>
<td>生产批次或SKU已完成生产,等待进入质检环节。</td>
</tr>
<tr>
<td>20</td>
<td>质检中</td>
<td>质检人员已开始检验,但尚未完成全部检测或未录入结果。</td>
</tr>
<tr>
<td>30</td>
<td>质检通过</td>
<td>所有检测项合格,允许入库或进入下一环节(如包装)。</td>
</tr>
<tr>
<td>40</td>
<td>质检不通过</td>
<td>存在不合格项,需触发后续处理(如返工、退货、报废)。</td>
</tr>
</tbody>
</table>
<hr />
<h4><strong>二、状态扭转规则</strong></h4>
<table>
<thead>
<tr>
<th><strong>当前状态</strong></th>
<th><strong>允许扭转至</strong></th>
<th><strong>触发条件与操作</strong></th>
</tr>
</thead>
<tbody>
<tr>
<td>10(待质检)</td>
<td>20(质检中)</td>
<td>质检员开始检测,系统标记为“质检中”或人工操作触发。</td>
</tr>
<tr>
<td>20(质检中)</td>
<td>30(通过) / 40(不通过)</td>
<td>质检员提交结果:<br>- 全部合格 → <strong>30</strong><br>- 任意一项不合格 → <strong>40</strong></td>
</tr>
<tr>
<td>30(通过)</td>
<td>-</td>
<td>终态,不可回退。自动触发入库流程。</td>
</tr>
<tr>
<td>40(不通过)</td>
<td>10(待质检) / 其他终态</td>
<td>根据处理方式扭转:<br>- 返工后重新送检 → <strong>10</strong><br>- 直接退货/报废 → <strong>关闭工单</strong></td>
</tr>
</tbody>
</table>
<hr />
<h4><strong>三、扩展子状态(可选)</strong></h4>
<table>
<thead>
<tr>
<th>针对复杂场景,可细化 <strong>质检不通过(40)</strong> 的子状态:</th>
<th><strong>子状态值</strong></th>
<th><strong>子状态名称</strong></th>
<th><strong>说明</strong></th>
</tr>
</thead>
<tbody>
<tr>
<td>41</td>
<td>待返工</td>
<td>需退回供应商或内部返工,等待处理。</td>
</tr>
<tr>
<td>42</td>
<td>返工中</td>
<td>返工流程已启动,重新加工中。</td>
</tr>
<tr>
<td>43</td>
<td>已退货</td>
<td>不合格品已退回供应商,关闭工单。</td>
</tr>
<tr>
<td>44</td>
<td>已报废</td>
<td>不合格品作废,记录损失成本。</td>
</tr>
</tbody>
</table>
<hr />
<h4><strong>四、数据库表字段设计</strong></h4>
<ol>
<li>
<p><strong>质检记录表(<code>quality_check</code>)</strong> </p>
<pre><code class="language-sql">ALTER TABLE `quality_check`
MODIFY `result` TINYINT(4) NOT NULL COMMENT &#039;质检结果(10:待质检,20:质检中,30:通过,40:不通过)&#039;;</code></pre>
</li>
<li><strong>生产明细表(<code>supplier_production_detail</code>)</strong>
<pre><code class="language-sql">ALTER TABLE `supplier_production_detail`
MODIFY `qc_status` TINYINT(4) DEFAULT 10 COMMENT &#039;质检状态(10:待质检,20:质检中,30:通过,40:不通过)&#039;;</code></pre></li>
</ol>
<hr />
<h4><strong>五、状态扭转流程图</strong></h4>
<pre><code class="language-plaintext"> +-----------+
| 10: 待质检 |
+-----+-----+
|
| (开始质检)
v
+-----------+
| 20: 质检中 |
+-----+-----+
|
+-------------+-------------+
| |
(全部合格) (存在不合格)
| |
v v
+-----------------+ +-------------------+
| 30: 质检通过 | | 40: 质检不通过 |
| 触发入库 | | 触发返工/退货/报废 |
+-----------------+ +-------------------+
|
| (返工后重新送检)
v
+-----------+
| 10: 待质检 |
+-----------+</code></pre>
<hr />
<h4><strong>六、业务规则与操作</strong></h4>
<ol>
<li>
<p><strong>质检启动</strong> </p>
<ul>
<li><strong>自动触发</strong>:生产明细表(<code>supplier_production_detail</code>)的 <code>progress</code> 达到100%时,自动将 <code>qc_status</code> 更新为 <strong>10(待质检)</strong>。 </li>
<li><strong>手动触发</strong>:支持人工标记为“待质检”(如抽检场景)。</li>
</ul>
</li>
<li>
<p><strong>质检结果录入</strong> </p>
<ul>
<li><strong>合格(30)</strong>:
<ul>
<li>更新库存表(<code>inventory</code>),增加可用数量。 </li>
<li>通知仓储部门准备入库。 </li>
</ul></li>
<li><strong>不合格(40)</strong>:
<ul>
<li>生成异常处理工单(返工/退货/报废),关联原生产单。 </li>
<li>冻结库存,防止不合格品被误用。</li>
</ul></li>
</ul>
</li>
<li>
<p><strong>返工流程</strong> </p>
<ul>
<li>创建返工生产单(类型标记为 <strong>R</strong>),关联原质检单号。 </li>
<li>返工完成后,重置质检状态为 <strong>10(待质检)</strong>,重新触发质检。</li>
</ul>
</li>
<li><strong>记录与追溯</strong>
<ul>
<li>记录质检操作人、时间、不合格原因(通过 <code>quality_check</code> 表的 <code>remark</code> 字段)。 </li>
<li>支持通过批次号(<code>batch_no</code>)反向追溯生产、质检、处理全流程。</li>
</ul></li>
</ol>
<hr />
<h4><strong>七、权限与通知</strong></h4>
<ol>
<li>
<p><strong>权限控制</strong> </p>
<ul>
<li><strong>质检员</strong>:可操作状态扭转(10→20→30/40)。 </li>
<li><strong>主管</strong>:审批质检不通过后的处理方式(如确认返工或退货)。 </li>
</ul>
</li>
<li><strong>自动化通知</strong>
<ul>
<li><strong>状态变更通知</strong>:
<ul>
<li>质检不通过时,自动邮件通知采购员、跟单员。 </li>
<li>质检通过时,通知仓库管理员。 </li>
</ul></li>
<li><strong>预警机制</strong>:
<ul>
<li>待质检超24小时未处理,触发系统提醒。 </li>
</ul></li>
</ul></li>
</ol>
<hr />
<h4><strong>八、异常场景处理</strong></h4>
<ol>
<li>
<p><strong>复检争议</strong> </p>
<ul>
<li>若对质检结果有异议,支持发起复检,状态从 <strong>30/40</strong> 回退至 <strong>20(质检中)</strong>,需记录复检原因。 </li>
</ul>
</li>
<li><strong>部分合格</strong>
<ul>
<li>若一批次中部分SKU合格,部分不合格:
<ul>
<li>拆分为两个子批次,分别标记状态。 </li>
<li>示例:生产明细表拆分为两条记录,一条 <code>qc_status=30</code>,另一条 <code>qc_status=40</code>。 </li>
</ul></li>
</ul></li>
</ol>
<hr />
<h3>总结</h3>
<p>通过明确质检状态的定义、扭转规则及扩展机制,系统可实现供应商生产质检的全流程闭环管理,确保不合格品有效拦截,同时与库存、采购模块无缝衔接,提升供应链可靠性。</p>