chore: 批量完成项目多模块迭代优化
1. 废弃半成品库存表并统一库存主表 2. 修复列表排序与搜索大小写不敏感问题 3. 新增用户最近登录时间、工单BOM名称字段 4. 完善角色管理、工位选择器功能 5. 增加拧紧数据补录、成品自动回流WMS能力 6. 统一导出时间范围校验规则 7. 丰富物料/备料单筛选条件 8. 调整菜单与权限命名适配产品型号业务
This commit is contained in:
@@ -28,6 +28,8 @@ type Material struct {
|
||||
Unit string `json:"unit,omitempty"`
|
||||
// 描述
|
||||
Description string `json:"description,omitempty"`
|
||||
// 品类 1原材料/2半成品/3成品
|
||||
ItemType int `json:"itemType,omitempty"`
|
||||
// 管理粒度 1批次/2序列号
|
||||
ManageMode int `json:"manageMode,omitempty"`
|
||||
// 是否批次管理
|
||||
@@ -36,6 +38,8 @@ type Material struct {
|
||||
IsSerialManaged bool `json:"isSerialManaged,omitempty"`
|
||||
// 物料模板编码(物料种类)
|
||||
TemplateCode string `json:"templateCode,omitempty"`
|
||||
// 是否启用
|
||||
IsActive bool `json:"isActive,omitempty"`
|
||||
// 创建时间
|
||||
CreatedAt int64 `json:"createdAt,omitempty"`
|
||||
// 更新时间
|
||||
@@ -48,9 +52,9 @@ func (*Material) scanValues(columns []string) ([]any, error) {
|
||||
values := make([]any, len(columns))
|
||||
for i := range columns {
|
||||
switch columns[i] {
|
||||
case material.FieldIsBatchManaged, material.FieldIsSerialManaged:
|
||||
case material.FieldIsBatchManaged, material.FieldIsSerialManaged, material.FieldIsActive:
|
||||
values[i] = new(sql.NullBool)
|
||||
case material.FieldID, material.FieldManageMode, material.FieldCreatedAt, material.FieldUpdatedAt:
|
||||
case material.FieldID, material.FieldItemType, material.FieldManageMode, material.FieldCreatedAt, material.FieldUpdatedAt:
|
||||
values[i] = new(sql.NullInt64)
|
||||
case material.FieldCode, material.FieldName, material.FieldShortName, material.FieldSpec, material.FieldUnit, material.FieldDescription, material.FieldTemplateCode:
|
||||
values[i] = new(sql.NullString)
|
||||
@@ -111,6 +115,12 @@ func (_m *Material) assignValues(columns []string, values []any) error {
|
||||
} else if value.Valid {
|
||||
_m.Description = value.String
|
||||
}
|
||||
case material.FieldItemType:
|
||||
if value, ok := values[i].(*sql.NullInt64); !ok {
|
||||
return fmt.Errorf("unexpected type %T for field item_type", values[i])
|
||||
} else if value.Valid {
|
||||
_m.ItemType = int(value.Int64)
|
||||
}
|
||||
case material.FieldManageMode:
|
||||
if value, ok := values[i].(*sql.NullInt64); !ok {
|
||||
return fmt.Errorf("unexpected type %T for field manage_mode", values[i])
|
||||
@@ -135,6 +145,12 @@ func (_m *Material) assignValues(columns []string, values []any) error {
|
||||
} else if value.Valid {
|
||||
_m.TemplateCode = value.String
|
||||
}
|
||||
case material.FieldIsActive:
|
||||
if value, ok := values[i].(*sql.NullBool); !ok {
|
||||
return fmt.Errorf("unexpected type %T for field is_active", values[i])
|
||||
} else if value.Valid {
|
||||
_m.IsActive = value.Bool
|
||||
}
|
||||
case material.FieldCreatedAt:
|
||||
if value, ok := values[i].(*sql.NullInt64); !ok {
|
||||
return fmt.Errorf("unexpected type %T for field created_at", values[i])
|
||||
@@ -201,6 +217,9 @@ func (_m *Material) String() string {
|
||||
builder.WriteString("description=")
|
||||
builder.WriteString(_m.Description)
|
||||
builder.WriteString(", ")
|
||||
builder.WriteString("item_type=")
|
||||
builder.WriteString(fmt.Sprintf("%v", _m.ItemType))
|
||||
builder.WriteString(", ")
|
||||
builder.WriteString("manage_mode=")
|
||||
builder.WriteString(fmt.Sprintf("%v", _m.ManageMode))
|
||||
builder.WriteString(", ")
|
||||
@@ -213,6 +232,9 @@ func (_m *Material) String() string {
|
||||
builder.WriteString("template_code=")
|
||||
builder.WriteString(_m.TemplateCode)
|
||||
builder.WriteString(", ")
|
||||
builder.WriteString("is_active=")
|
||||
builder.WriteString(fmt.Sprintf("%v", _m.IsActive))
|
||||
builder.WriteString(", ")
|
||||
builder.WriteString("created_at=")
|
||||
builder.WriteString(fmt.Sprintf("%v", _m.CreatedAt))
|
||||
builder.WriteString(", ")
|
||||
|
||||
Reference in New Issue
Block a user