feat: 完成WMS系统权限体系与业务功能迭代
本提交完成了WMS系统的多维度优化升级: 1. 新增RBAC权限系统,支持角色/菜单/按钮三级权限管控 2. 重构库存盘点、物料管理、区域维护等模块的查询筛选与展示逻辑 3. 优化入库/出库/质检等业务流程,完善数据冗余与业务闭环 4. 移除旧装箱表,将装箱逻辑合并到出库主表 5. 新增前端权限判断工具、导出工具与端到端测试用例 6. 补充完善各类注释与数据库字段说明
This commit is contained in:
@@ -26,13 +26,13 @@ type OutboundOrder struct {
|
||||
MaterialCode string `json:"materialCode,omitempty"`
|
||||
// 物料名称(冗余)
|
||||
MaterialName string `json:"materialName,omitempty"`
|
||||
// ManageMode holds the value of the "manage_mode" field.
|
||||
// 管理粒度 1批次/2序列号
|
||||
ManageMode int `json:"manageMode,omitempty"`
|
||||
// 批次号(结构件)
|
||||
BatchNo string `json:"batchNo,omitempty"`
|
||||
// 出库区域
|
||||
ZoneCode string `json:"zoneCode,omitempty"`
|
||||
// 数量
|
||||
// 本次出库总数量
|
||||
Quantity int `json:"quantity,omitempty"`
|
||||
// 操作人
|
||||
Operator string `json:"operator,omitempty"`
|
||||
@@ -42,7 +42,13 @@ type OutboundOrder struct {
|
||||
TargetDock string `json:"targetDock,omitempty"`
|
||||
// 备注
|
||||
Remark string `json:"remark,omitempty"`
|
||||
// CreatedAt holds the value of the "created_at" field.
|
||||
// 箱号(装箱出库时填写,用于整箱发货追溯)
|
||||
BoxNo string `json:"boxNo,omitempty"`
|
||||
// 装箱 SN 清单(JSON 数组字符串)
|
||||
BoxSnList string `json:"boxSnList,omitempty"`
|
||||
// 合同号(装箱选填)
|
||||
ContractNo string `json:"contractNo,omitempty"`
|
||||
// 创建时间
|
||||
CreatedAt int64 `json:"createdAt,omitempty"`
|
||||
selectValues sql.SelectValues
|
||||
}
|
||||
@@ -54,7 +60,7 @@ func (*OutboundOrder) scanValues(columns []string) ([]any, error) {
|
||||
switch columns[i] {
|
||||
case outboundorder.FieldID, outboundorder.FieldManageMode, outboundorder.FieldQuantity, outboundorder.FieldCreatedAt:
|
||||
values[i] = new(sql.NullInt64)
|
||||
case outboundorder.FieldOutboundNo, outboundorder.FieldOutboundType, outboundorder.FieldOrderNo, outboundorder.FieldMaterialCode, outboundorder.FieldMaterialName, outboundorder.FieldBatchNo, outboundorder.FieldZoneCode, outboundorder.FieldOperator, outboundorder.FieldReviewer, outboundorder.FieldTargetDock, outboundorder.FieldRemark:
|
||||
case outboundorder.FieldOutboundNo, outboundorder.FieldOutboundType, outboundorder.FieldOrderNo, outboundorder.FieldMaterialCode, outboundorder.FieldMaterialName, outboundorder.FieldBatchNo, outboundorder.FieldZoneCode, outboundorder.FieldOperator, outboundorder.FieldReviewer, outboundorder.FieldTargetDock, outboundorder.FieldRemark, outboundorder.FieldBoxNo, outboundorder.FieldBoxSnList, outboundorder.FieldContractNo:
|
||||
values[i] = new(sql.NullString)
|
||||
default:
|
||||
values[i] = new(sql.UnknownType)
|
||||
@@ -155,6 +161,24 @@ func (_m *OutboundOrder) assignValues(columns []string, values []any) error {
|
||||
} else if value.Valid {
|
||||
_m.Remark = value.String
|
||||
}
|
||||
case outboundorder.FieldBoxNo:
|
||||
if value, ok := values[i].(*sql.NullString); !ok {
|
||||
return fmt.Errorf("unexpected type %T for field box_no", values[i])
|
||||
} else if value.Valid {
|
||||
_m.BoxNo = value.String
|
||||
}
|
||||
case outboundorder.FieldBoxSnList:
|
||||
if value, ok := values[i].(*sql.NullString); !ok {
|
||||
return fmt.Errorf("unexpected type %T for field box_sn_list", values[i])
|
||||
} else if value.Valid {
|
||||
_m.BoxSnList = value.String
|
||||
}
|
||||
case outboundorder.FieldContractNo:
|
||||
if value, ok := values[i].(*sql.NullString); !ok {
|
||||
return fmt.Errorf("unexpected type %T for field contract_no", values[i])
|
||||
} else if value.Valid {
|
||||
_m.ContractNo = value.String
|
||||
}
|
||||
case outboundorder.FieldCreatedAt:
|
||||
if value, ok := values[i].(*sql.NullInt64); !ok {
|
||||
return fmt.Errorf("unexpected type %T for field created_at", values[i])
|
||||
@@ -236,6 +260,15 @@ func (_m *OutboundOrder) String() string {
|
||||
builder.WriteString("remark=")
|
||||
builder.WriteString(_m.Remark)
|
||||
builder.WriteString(", ")
|
||||
builder.WriteString("box_no=")
|
||||
builder.WriteString(_m.BoxNo)
|
||||
builder.WriteString(", ")
|
||||
builder.WriteString("box_sn_list=")
|
||||
builder.WriteString(_m.BoxSnList)
|
||||
builder.WriteString(", ")
|
||||
builder.WriteString("contract_no=")
|
||||
builder.WriteString(_m.ContractNo)
|
||||
builder.WriteString(", ")
|
||||
builder.WriteString("created_at=")
|
||||
builder.WriteString(fmt.Sprintf("%v", _m.CreatedAt))
|
||||
builder.WriteByte(')')
|
||||
|
||||
Reference in New Issue
Block a user