feat: 完成附件存储重构与磁盘监控功能,同步物料档案与入库单规则更新

1.  新增跨平台磁盘空间监控能力,每日7点自动检测附件目录剩余空间,触发阈值告警
2.  重构附件存储方案为年/月/日/文件类型分层结构,统一MES与WMS的附件管理逻辑
3.  对齐物料档案与入库单的质量状态校验规则,仅合格品计入库存与出库
4.  实现入库单作废功能与区域库位的多级父子结构管理
5.  删除物料简称字段,补充规格型号与单位必填项,统一系统数据口径
6.  新增附件中心与磁盘状态查询接口,完善权限控制与操作日志
This commit is contained in:
SunYF
2026-09-19 10:54:15 +08:00
parent 9002d9a642
commit 62e45b7379
95 changed files with 10467 additions and 2677 deletions
+319
View File
@@ -235,6 +235,62 @@ func (_c *InboundOrderCreate) SetNillableQualityStatus(v *string) *InboundOrderC
return _c
}
// SetVoided sets the "voided" field.
func (_c *InboundOrderCreate) SetVoided(v bool) *InboundOrderCreate {
_c.mutation.SetVoided(v)
return _c
}
// SetNillableVoided sets the "voided" field if the given value is not nil.
func (_c *InboundOrderCreate) SetNillableVoided(v *bool) *InboundOrderCreate {
if v != nil {
_c.SetVoided(*v)
}
return _c
}
// SetVoidReason sets the "void_reason" field.
func (_c *InboundOrderCreate) SetVoidReason(v string) *InboundOrderCreate {
_c.mutation.SetVoidReason(v)
return _c
}
// SetNillableVoidReason sets the "void_reason" field if the given value is not nil.
func (_c *InboundOrderCreate) SetNillableVoidReason(v *string) *InboundOrderCreate {
if v != nil {
_c.SetVoidReason(*v)
}
return _c
}
// SetVoidedBy sets the "voided_by" field.
func (_c *InboundOrderCreate) SetVoidedBy(v string) *InboundOrderCreate {
_c.mutation.SetVoidedBy(v)
return _c
}
// SetNillableVoidedBy sets the "voided_by" field if the given value is not nil.
func (_c *InboundOrderCreate) SetNillableVoidedBy(v *string) *InboundOrderCreate {
if v != nil {
_c.SetVoidedBy(*v)
}
return _c
}
// SetVoidedAt sets the "voided_at" field.
func (_c *InboundOrderCreate) SetVoidedAt(v int64) *InboundOrderCreate {
_c.mutation.SetVoidedAt(v)
return _c
}
// SetNillableVoidedAt sets the "voided_at" field if the given value is not nil.
func (_c *InboundOrderCreate) SetNillableVoidedAt(v *int64) *InboundOrderCreate {
if v != nil {
_c.SetVoidedAt(*v)
}
return _c
}
// SetCreatedAt sets the "created_at" field.
func (_c *InboundOrderCreate) SetCreatedAt(v int64) *InboundOrderCreate {
_c.mutation.SetCreatedAt(v)
@@ -300,6 +356,10 @@ func (_c *InboundOrderCreate) defaults() {
v := inboundorder.DefaultOwnershipType
_c.mutation.SetOwnershipType(v)
}
if _, ok := _c.mutation.Voided(); !ok {
v := inboundorder.DefaultVoided
_c.mutation.SetVoided(v)
}
if _, ok := _c.mutation.CreatedAt(); !ok {
v := inboundorder.DefaultCreatedAt()
_c.mutation.SetCreatedAt(v)
@@ -329,6 +389,9 @@ func (_c *InboundOrderCreate) check() error {
if _, ok := _c.mutation.OwnershipType(); !ok {
return &ValidationError{Name: "ownership_type", err: errors.New(`ent: missing required field "InboundOrder.ownership_type"`)}
}
if _, ok := _c.mutation.Voided(); !ok {
return &ValidationError{Name: "voided", err: errors.New(`ent: missing required field "InboundOrder.voided"`)}
}
if _, ok := _c.mutation.CreatedAt(); !ok {
return &ValidationError{Name: "created_at", err: errors.New(`ent: missing required field "InboundOrder.created_at"`)}
}
@@ -427,6 +490,22 @@ func (_c *InboundOrderCreate) createSpec() (*InboundOrder, *sqlgraph.CreateSpec)
_spec.SetField(inboundorder.FieldQualityStatus, field.TypeString, value)
_node.QualityStatus = value
}
if value, ok := _c.mutation.Voided(); ok {
_spec.SetField(inboundorder.FieldVoided, field.TypeBool, value)
_node.Voided = value
}
if value, ok := _c.mutation.VoidReason(); ok {
_spec.SetField(inboundorder.FieldVoidReason, field.TypeString, value)
_node.VoidReason = value
}
if value, ok := _c.mutation.VoidedBy(); ok {
_spec.SetField(inboundorder.FieldVoidedBy, field.TypeString, value)
_node.VoidedBy = value
}
if value, ok := _c.mutation.VoidedAt(); ok {
_spec.SetField(inboundorder.FieldVoidedAt, field.TypeInt64, value)
_node.VoidedAt = value
}
if value, ok := _c.mutation.CreatedAt(); ok {
_spec.SetField(inboundorder.FieldCreatedAt, field.TypeInt64, value)
_node.CreatedAt = value
@@ -759,6 +838,78 @@ func (u *InboundOrderUpsert) ClearQualityStatus() *InboundOrderUpsert {
return u
}
// SetVoided sets the "voided" field.
func (u *InboundOrderUpsert) SetVoided(v bool) *InboundOrderUpsert {
u.Set(inboundorder.FieldVoided, v)
return u
}
// UpdateVoided sets the "voided" field to the value that was provided on create.
func (u *InboundOrderUpsert) UpdateVoided() *InboundOrderUpsert {
u.SetExcluded(inboundorder.FieldVoided)
return u
}
// SetVoidReason sets the "void_reason" field.
func (u *InboundOrderUpsert) SetVoidReason(v string) *InboundOrderUpsert {
u.Set(inboundorder.FieldVoidReason, v)
return u
}
// UpdateVoidReason sets the "void_reason" field to the value that was provided on create.
func (u *InboundOrderUpsert) UpdateVoidReason() *InboundOrderUpsert {
u.SetExcluded(inboundorder.FieldVoidReason)
return u
}
// ClearVoidReason clears the value of the "void_reason" field.
func (u *InboundOrderUpsert) ClearVoidReason() *InboundOrderUpsert {
u.SetNull(inboundorder.FieldVoidReason)
return u
}
// SetVoidedBy sets the "voided_by" field.
func (u *InboundOrderUpsert) SetVoidedBy(v string) *InboundOrderUpsert {
u.Set(inboundorder.FieldVoidedBy, v)
return u
}
// UpdateVoidedBy sets the "voided_by" field to the value that was provided on create.
func (u *InboundOrderUpsert) UpdateVoidedBy() *InboundOrderUpsert {
u.SetExcluded(inboundorder.FieldVoidedBy)
return u
}
// ClearVoidedBy clears the value of the "voided_by" field.
func (u *InboundOrderUpsert) ClearVoidedBy() *InboundOrderUpsert {
u.SetNull(inboundorder.FieldVoidedBy)
return u
}
// SetVoidedAt sets the "voided_at" field.
func (u *InboundOrderUpsert) SetVoidedAt(v int64) *InboundOrderUpsert {
u.Set(inboundorder.FieldVoidedAt, v)
return u
}
// UpdateVoidedAt sets the "voided_at" field to the value that was provided on create.
func (u *InboundOrderUpsert) UpdateVoidedAt() *InboundOrderUpsert {
u.SetExcluded(inboundorder.FieldVoidedAt)
return u
}
// AddVoidedAt adds v to the "voided_at" field.
func (u *InboundOrderUpsert) AddVoidedAt(v int64) *InboundOrderUpsert {
u.Add(inboundorder.FieldVoidedAt, v)
return u
}
// ClearVoidedAt clears the value of the "voided_at" field.
func (u *InboundOrderUpsert) ClearVoidedAt() *InboundOrderUpsert {
u.SetNull(inboundorder.FieldVoidedAt)
return u
}
// SetCreatedAt sets the "created_at" field.
func (u *InboundOrderUpsert) SetCreatedAt(v int64) *InboundOrderUpsert {
u.Set(inboundorder.FieldCreatedAt, v)
@@ -1139,6 +1290,90 @@ func (u *InboundOrderUpsertOne) ClearQualityStatus() *InboundOrderUpsertOne {
})
}
// SetVoided sets the "voided" field.
func (u *InboundOrderUpsertOne) SetVoided(v bool) *InboundOrderUpsertOne {
return u.Update(func(s *InboundOrderUpsert) {
s.SetVoided(v)
})
}
// UpdateVoided sets the "voided" field to the value that was provided on create.
func (u *InboundOrderUpsertOne) UpdateVoided() *InboundOrderUpsertOne {
return u.Update(func(s *InboundOrderUpsert) {
s.UpdateVoided()
})
}
// SetVoidReason sets the "void_reason" field.
func (u *InboundOrderUpsertOne) SetVoidReason(v string) *InboundOrderUpsertOne {
return u.Update(func(s *InboundOrderUpsert) {
s.SetVoidReason(v)
})
}
// UpdateVoidReason sets the "void_reason" field to the value that was provided on create.
func (u *InboundOrderUpsertOne) UpdateVoidReason() *InboundOrderUpsertOne {
return u.Update(func(s *InboundOrderUpsert) {
s.UpdateVoidReason()
})
}
// ClearVoidReason clears the value of the "void_reason" field.
func (u *InboundOrderUpsertOne) ClearVoidReason() *InboundOrderUpsertOne {
return u.Update(func(s *InboundOrderUpsert) {
s.ClearVoidReason()
})
}
// SetVoidedBy sets the "voided_by" field.
func (u *InboundOrderUpsertOne) SetVoidedBy(v string) *InboundOrderUpsertOne {
return u.Update(func(s *InboundOrderUpsert) {
s.SetVoidedBy(v)
})
}
// UpdateVoidedBy sets the "voided_by" field to the value that was provided on create.
func (u *InboundOrderUpsertOne) UpdateVoidedBy() *InboundOrderUpsertOne {
return u.Update(func(s *InboundOrderUpsert) {
s.UpdateVoidedBy()
})
}
// ClearVoidedBy clears the value of the "voided_by" field.
func (u *InboundOrderUpsertOne) ClearVoidedBy() *InboundOrderUpsertOne {
return u.Update(func(s *InboundOrderUpsert) {
s.ClearVoidedBy()
})
}
// SetVoidedAt sets the "voided_at" field.
func (u *InboundOrderUpsertOne) SetVoidedAt(v int64) *InboundOrderUpsertOne {
return u.Update(func(s *InboundOrderUpsert) {
s.SetVoidedAt(v)
})
}
// AddVoidedAt adds v to the "voided_at" field.
func (u *InboundOrderUpsertOne) AddVoidedAt(v int64) *InboundOrderUpsertOne {
return u.Update(func(s *InboundOrderUpsert) {
s.AddVoidedAt(v)
})
}
// UpdateVoidedAt sets the "voided_at" field to the value that was provided on create.
func (u *InboundOrderUpsertOne) UpdateVoidedAt() *InboundOrderUpsertOne {
return u.Update(func(s *InboundOrderUpsert) {
s.UpdateVoidedAt()
})
}
// ClearVoidedAt clears the value of the "voided_at" field.
func (u *InboundOrderUpsertOne) ClearVoidedAt() *InboundOrderUpsertOne {
return u.Update(func(s *InboundOrderUpsert) {
s.ClearVoidedAt()
})
}
// SetCreatedAt sets the "created_at" field.
func (u *InboundOrderUpsertOne) SetCreatedAt(v int64) *InboundOrderUpsertOne {
return u.Update(func(s *InboundOrderUpsert) {
@@ -1686,6 +1921,90 @@ func (u *InboundOrderUpsertBulk) ClearQualityStatus() *InboundOrderUpsertBulk {
})
}
// SetVoided sets the "voided" field.
func (u *InboundOrderUpsertBulk) SetVoided(v bool) *InboundOrderUpsertBulk {
return u.Update(func(s *InboundOrderUpsert) {
s.SetVoided(v)
})
}
// UpdateVoided sets the "voided" field to the value that was provided on create.
func (u *InboundOrderUpsertBulk) UpdateVoided() *InboundOrderUpsertBulk {
return u.Update(func(s *InboundOrderUpsert) {
s.UpdateVoided()
})
}
// SetVoidReason sets the "void_reason" field.
func (u *InboundOrderUpsertBulk) SetVoidReason(v string) *InboundOrderUpsertBulk {
return u.Update(func(s *InboundOrderUpsert) {
s.SetVoidReason(v)
})
}
// UpdateVoidReason sets the "void_reason" field to the value that was provided on create.
func (u *InboundOrderUpsertBulk) UpdateVoidReason() *InboundOrderUpsertBulk {
return u.Update(func(s *InboundOrderUpsert) {
s.UpdateVoidReason()
})
}
// ClearVoidReason clears the value of the "void_reason" field.
func (u *InboundOrderUpsertBulk) ClearVoidReason() *InboundOrderUpsertBulk {
return u.Update(func(s *InboundOrderUpsert) {
s.ClearVoidReason()
})
}
// SetVoidedBy sets the "voided_by" field.
func (u *InboundOrderUpsertBulk) SetVoidedBy(v string) *InboundOrderUpsertBulk {
return u.Update(func(s *InboundOrderUpsert) {
s.SetVoidedBy(v)
})
}
// UpdateVoidedBy sets the "voided_by" field to the value that was provided on create.
func (u *InboundOrderUpsertBulk) UpdateVoidedBy() *InboundOrderUpsertBulk {
return u.Update(func(s *InboundOrderUpsert) {
s.UpdateVoidedBy()
})
}
// ClearVoidedBy clears the value of the "voided_by" field.
func (u *InboundOrderUpsertBulk) ClearVoidedBy() *InboundOrderUpsertBulk {
return u.Update(func(s *InboundOrderUpsert) {
s.ClearVoidedBy()
})
}
// SetVoidedAt sets the "voided_at" field.
func (u *InboundOrderUpsertBulk) SetVoidedAt(v int64) *InboundOrderUpsertBulk {
return u.Update(func(s *InboundOrderUpsert) {
s.SetVoidedAt(v)
})
}
// AddVoidedAt adds v to the "voided_at" field.
func (u *InboundOrderUpsertBulk) AddVoidedAt(v int64) *InboundOrderUpsertBulk {
return u.Update(func(s *InboundOrderUpsert) {
s.AddVoidedAt(v)
})
}
// UpdateVoidedAt sets the "voided_at" field to the value that was provided on create.
func (u *InboundOrderUpsertBulk) UpdateVoidedAt() *InboundOrderUpsertBulk {
return u.Update(func(s *InboundOrderUpsert) {
s.UpdateVoidedAt()
})
}
// ClearVoidedAt clears the value of the "voided_at" field.
func (u *InboundOrderUpsertBulk) ClearVoidedAt() *InboundOrderUpsertBulk {
return u.Update(func(s *InboundOrderUpsert) {
s.ClearVoidedAt()
})
}
// SetCreatedAt sets the "created_at" field.
func (u *InboundOrderUpsertBulk) SetCreatedAt(v int64) *InboundOrderUpsertBulk {
return u.Update(func(s *InboundOrderUpsert) {