feat(mill): 完成工艺管理与生产计划全栈业务模块

- 新增三张业务表 SQL:mill_process_recipe / mill_process_pass / mill_production_plan
- 后端:Domain + Mapper + MyBatis XML + Service + Controller(工艺方案 & 生产计划)
- 生产计划支持队列排序(sortNo)、上移/下移、软删除
- 工艺方案支持道次批量保存、事务管理
- 前端:工艺管理页(左侧方案列表 + 右侧表单 + 道次内联表格)
- 前端:生产计划页(轧制队列 + 轧制工艺展示 + 操作面板 + 底部带卷状态栏)
- 注册 /mill/process 与 /mill/plan 前端路由

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-04-28 14:10:10 +08:00
parent ffe3a0e612
commit 3e0484b55c
21 changed files with 1930 additions and 0 deletions

View File

@@ -0,0 +1,56 @@
package com.ruoyi.mill.domain;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
import java.math.BigDecimal;
import java.util.List;
/** 工艺方案主表 */
public class MillProcessRecipe extends BaseEntity {
@Excel(name = "方案记录号")
private String recipeNo;
@Excel(name = "合金号")
private String alloyNo;
@Excel(name = "道次数量")
private Integer passCount;
@Excel(name = "原料厚度(mm)")
private BigDecimal inThick;
@Excel(name = "成品厚度(mm)")
private BigDecimal outThick;
@Excel(name = "成品宽度(mm)")
private BigDecimal outWidth;
/** 0-正常 1-停用 */
private String status;
/** 删除标志 0-存在 2-删除 */
private String delFlag;
/** 关联道次列表(非数据库字段) */
private List<MillProcessPass> passList;
public String getRecipeNo() { return recipeNo; }
public void setRecipeNo(String v) { this.recipeNo = v; }
public String getAlloyNo() { return alloyNo; }
public void setAlloyNo(String v) { this.alloyNo = v; }
public Integer getPassCount() { return passCount; }
public void setPassCount(Integer v) { this.passCount = v; }
public BigDecimal getInThick() { return inThick; }
public void setInThick(BigDecimal v) { this.inThick = v; }
public BigDecimal getOutThick() { return outThick; }
public void setOutThick(BigDecimal v) { this.outThick = v; }
public BigDecimal getOutWidth() { return outWidth; }
public void setOutWidth(BigDecimal v) { this.outWidth = v; }
public String getStatus() { return status; }
public void setStatus(String v) { this.status = v; }
public String getDelFlag() { return delFlag; }
public void setDelFlag(String v) { this.delFlag = v; }
public List<MillProcessPass> getPassList() { return passList; }
public void setPassList(List<MillProcessPass> v) { this.passList = v; }
}