销售订单流转状态枚举类注释格式
<p>您提到的格式一致性非常重要,以下是根据您提供的 <strong>销售订单流转状态枚举类注释格式</strong>,为所有状态枚举类生成的统一规范代码,确保每个状态均包含完整的操作权限角色与流程说明:</p>
<hr />
<h3><strong>1. 销售订单流转状态枚举类(示例格式)</strong></h3>
<pre><code class="language-java">/**
* ERP 销售订单流转状态
*/
@RequiredArgsConstructor
@Getter
public enum ErpSaleOrderFlowStatusEnum implements IntArrayValuable {
/**
* 销售订单流转状态,101:订单录入
* 操作权限角色:销售员
* 流程说明:销售员创建订单,录入客户、商品、数量等信息,提交后进入审核流程。
**/
ORDER_CREATED(101, &quot;订单录入&quot;),
/**
* 销售订单流转状态,102:订单审核
* 操作权限角色:销售主管
* 流程说明:销售主管审核订单信息(价格、库存等),审核通过后触发后续流程。
**/
ORDER_APPROVED(102, &quot;订单审核&quot;),
/**
* 销售订单流转状态,103:订单取消
* 操作权限角色:销售主管/客户经理
* 流程说明:客户取消或内部终止订单,需审批并记录原因。
**/
ORDER_CANCELED(103, &quot;订单取消&quot;);
private final Integer value;
private final String name;
@Override
public int[] array() {
return Arrays.stream(values()).mapToInt(ErpSaleOrderFlowStatusEnum::getValue).toArray();
}
}</code></pre>
<hr />
<h3><strong>2. 库存发货流转状态枚举类(完整注释)</strong></h3>
<pre><code class="language-java">/**
* ERP 库存发货流转状态
*/
@RequiredArgsConstructor
@Getter
public enum ErpStockDeliveryStatusEnum implements IntArrayValuable {
/**
* 库存发货流转状态,201:发货单申请
* 操作权限角色:销售员/跟单员
* 流程说明:根据销售订单生成发货申请单,触发仓库备货。
**/
DELIVERY_REQUEST(201, &quot;发货单申请&quot;),
/**
* 库存发货流转状态,202:生成仓库发货单
* 操作权限角色:系统自动
* 流程说明:系统自动生成仓库发货单,关联库存批次和物流信息。
**/
DELIVERY_ORDER_GENERATED(202, &quot;生成仓库发货单&quot;),
/**
* 库存发货流转状态,203:仓库发货单审核
* 操作权限角色:仓库主管
* 流程说明:仓库主管审核发货单(库存匹配、包装要求),确认后进入出库流程。
**/
DELIVERY_ORDER_APPROVED(203, &quot;仓库发货单审核&quot;),
/**
* 库存发货流转状态,204:已出库
* 操作权限角色:仓库管理员
* 流程说明:货物实际出库,更新库存数量并同步物流信息。
**/
DELIVERED(204, &quot;已出库&quot;);
private final Integer value;
private final String name;
@Override
public int[] array() {
return Arrays.stream(values()).mapToInt(ErpStockDeliveryStatusEnum::getValue).toArray();
}
}</code></pre>
<hr />
<h3><strong>3. 采购订单流转状态枚举类(完整注释)</strong></h3>
<pre><code class="language-java">/**
* ERP 采购订单流转状态
*/
@RequiredArgsConstructor
@Getter
public enum ErpPurchaseOrderStatusEnum implements IntArrayValuable {
/**
* 采购订单流转状态,301:下单员下单采购
* 操作权限角色:采购员
* 流程说明:采购员根据销售订单或库存预警生成采购单,提交后进入供应商确认流程。
**/
PURCHASE_ORDER_CREATED(301, &quot;下单员下单采购&quot;),
/**
* 采购订单流转状态,302:跟单员确定发货
* 操作权限角色:跟单员
* 流程说明:跟单员确认供应商发货(物流单号、发货数量),触发物流跟踪。
**/
SHIPMENT_CONFIRMED(302, &quot;跟单员确定发货&quot;), // 调整状态码为3xx格式
/**
* 采购订单流转状态,303:采购完成
* 操作权限角色:系统自动
* 流程说明:货物入库且质检通过后,系统标记采购单完成。
**/
PURCHASE_COMPLETED(303, &quot;采购完成&quot;);
private final Integer value;
private final String name;
@Override
public int[] array() {
return Arrays.stream(values()).mapToInt(ErpPurchaseOrderStatusEnum::getValue).toArray();
}
}</code></pre>
<hr />
<h3><strong>4. 产品生产流转状态枚举类(完整注释)</strong></h3>
<pre><code class="language-java">/**
* ERP 产品生产流转状态
*/
@RequiredArgsConstructor
@Getter
public enum ErpProductionStatusEnum implements IntArrayValuable {
/**
* 产品生产流转状态,401:产品生产单录入
* 操作权限角色:生产计划员
* 流程说明:创建生产工单,分配物料、设备和生产批次。
**/
PRODUCTION_ORDER_CREATED(401, &quot;产品生产单录入&quot;),
/**
* 产品生产流转状态,402:产品生产情况跟踪
* 操作权限角色:生产主管
* 流程说明:实时更新生产进度(如工序完成率、异常上报)。
**/
PRODUCTION_TRACKING(402, &quot;产品生产情况跟踪&quot;),
/**
* 产品生产流转状态,403:产品生产质检
* 操作权限角色:质检员
* 流程说明:对生产完成的半成品或成品进行质量检测。
**/
QUALITY_INSPECTION(403, &quot;产品生产质检&quot;),
/**
* 产品生产流转状态,404:质检完成
* 操作权限角色:系统自动
* 流程说明:质检结果录入后,自动触发合格品入库或不合格品返工。
**/
INSPECTION_COMPLETED(404, &quot;质检完成&quot;);
private final Integer value;
private final String name;
@Override
public int[] array() {
return Arrays.stream(values()).mapToInt(ErpProductionStatusEnum::getValue).toArray();
}
}</code></pre>
<hr />
<h3><strong>5. 物流发货流转状态枚举类(完整注释)</strong></h3>
<pre><code class="language-java">/**
* ERP 物流发货流转状态
*/
@RequiredArgsConstructor
@Getter
public enum ErpLogisticsStatusEnum implements IntArrayValuable {
/**
* 物流发货流转状态,801:打木箱费用录入
* 操作权限角色:物流专员
* 流程说明:录入包装、运输等费用(如打木箱费用)。
**/
PACKING_COST_RECORDED(801, &quot;打木箱费用录入&quot;),
/**
* 物流发货流转状态,802:下单员物流发货
* 操作权限角色:物流专员
* 流程说明:生成物流订单并分配承运商,同步物流单号至系统。
**/
LOGISTICS_DISPATCHED(802, &quot;下单员物流发货&quot;),
/**
* 物流发货流转状态,803:物流信息录入
* 操作权限角色:物流系统自动
* 流程说明:自动同步物流状态(如已揽件、运输中)。
**/
LOGISTICS_INFO_UPDATED(803, &quot;物流信息录入&quot;),
/**
* 物流发货流转状态,804:物流状态变更
* 操作权限角色:系统自动
* 流程说明:客户签收后,系统标记物流完成并通知财务结算。
**/
LOGISTICS_STATUS_CHANGED(804, &quot;物流状态变更&quot;);
private final Integer value;
private final String name;
@Override
public int[] array() {
return Arrays.stream(values()).mapToInt(ErpLogisticsStatusEnum::getValue).toArray();
}
}</code></pre>
<hr />
<h3><strong>6. 订单取消流转状态枚举类(完整注释)</strong></h3>
<pre><code class="language-java">/**
* ERP 订单取消流转状态
*/
@RequiredArgsConstructor
@Getter
public enum ErpOrderCancelStatusEnum implements IntArrayValuable {
/**
* 订单取消流转状态,901:销售订单取消
* 操作权限角色:销售主管
* 流程说明:终止销售订单,释放已分配库存或停止采购/生产。
**/
SALES_ORDER_CANCELED(901, &quot;销售订单取消&quot;),
/**
* 订单取消流转状态,902:订单生产取消
* 操作权限角色:生产主管
* 流程说明:停止生产并计算已消耗成本,记录报废或半成品处理方式。
**/
PRODUCTION_ORDER_CANCELED(902, &quot;订单生产取消&quot;),
/**
* 订单取消流转状态,903:生产费用录入
* 操作权限角色:财务专员
* 流程说明:录入因取消产生的额外费用(如违约金、物料损耗)。
**/
CANCEL_COST_RECORDED(903, &quot;生产费用录入&quot;),
/**
* 订单取消流转状态,904:产品生产入库
* 操作权限角色:仓库管理员
* 流程说明:将已生产的合格品入库,或处理不合格品。
**/
CANCEL_STOCK_IN(904, &quot;产品生产入库&quot;),
/**
* 订单取消流转状态,905:取消完成
* 操作权限角色:系统自动
* 流程说明:所有取消流程结束后,系统关闭订单并生成报告。
**/
CANCEL_COMPLETED(905, &quot;取消完成&quot;);
private final Integer value;
private final String name;
@Override
public int[] array() {
return Arrays.stream(values()).mapToInt(ErpOrderCancelStatusEnum::getValue).toArray();
}
}</code></pre>
<hr />
<h3><strong>统一规范说明</strong></h3>
<ol>
<li>
<p><strong>注释格式</strong> </p>
<ul>
<li>每个状态均包含 <code>状态码</code>、<code>操作权限角色</code>、<code>流程说明</code> 三部分,与销售订单枚举完全一致。</li>
<li>示例:
<pre><code class="language-java">/**
* 销售订单流转状态,101:订单录入
* 操作权限角色:销售员
* 流程说明:销售员创建订单,录入客户、商品、数量等信息,提交后进入审核流程。
**/</code></pre></li>
</ul>
</li>
<li>
<p><strong>状态码调整</strong> </p>
<ul>
<li>修正采购订单中的 <code>50</code> 状态码为 <code>302</code>,确保所有状态码为三位数字,符合统一编码规则。</li>
</ul>
</li>
<li><strong>代码一致性</strong>
<ul>
<li>所有枚举类使用 <code>@RequiredArgsConstructor</code> 和 <code>@Getter</code> 注解,简化代码。</li>
<li>统一实现 <code>IntArrayValuable</code> 接口,支持状态码集合获取。</li>
</ul></li>
</ol>
<hr />
<h3><strong>使用场景与优势</strong></h3>
<ul>
<li><strong>代码可读性</strong>:开发者通过注释快速理解状态含义、操作角色及业务流程。</li>
<li><strong>权限控制</strong>:结合 Spring Security 或 Shiro,根据 <code>操作权限角色</code> 动态控制按钮可见性。</li>
<li><strong>流程追踪</strong>:结合状态机(如 Flowable),通过 <code>流程说明</code> 设计自动化流转规则。</li>
</ul>
<p>若需进一步调整注释细节或状态逻辑,请随时告知!</p>