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
+210
View File
@@ -339,6 +339,87 @@ func (_u *InboundOrderUpdate) ClearQualityStatus() *InboundOrderUpdate {
return _u
}
// SetVoided sets the "voided" field.
func (_u *InboundOrderUpdate) SetVoided(v bool) *InboundOrderUpdate {
_u.mutation.SetVoided(v)
return _u
}
// SetNillableVoided sets the "voided" field if the given value is not nil.
func (_u *InboundOrderUpdate) SetNillableVoided(v *bool) *InboundOrderUpdate {
if v != nil {
_u.SetVoided(*v)
}
return _u
}
// SetVoidReason sets the "void_reason" field.
func (_u *InboundOrderUpdate) SetVoidReason(v string) *InboundOrderUpdate {
_u.mutation.SetVoidReason(v)
return _u
}
// SetNillableVoidReason sets the "void_reason" field if the given value is not nil.
func (_u *InboundOrderUpdate) SetNillableVoidReason(v *string) *InboundOrderUpdate {
if v != nil {
_u.SetVoidReason(*v)
}
return _u
}
// ClearVoidReason clears the value of the "void_reason" field.
func (_u *InboundOrderUpdate) ClearVoidReason() *InboundOrderUpdate {
_u.mutation.ClearVoidReason()
return _u
}
// SetVoidedBy sets the "voided_by" field.
func (_u *InboundOrderUpdate) SetVoidedBy(v string) *InboundOrderUpdate {
_u.mutation.SetVoidedBy(v)
return _u
}
// SetNillableVoidedBy sets the "voided_by" field if the given value is not nil.
func (_u *InboundOrderUpdate) SetNillableVoidedBy(v *string) *InboundOrderUpdate {
if v != nil {
_u.SetVoidedBy(*v)
}
return _u
}
// ClearVoidedBy clears the value of the "voided_by" field.
func (_u *InboundOrderUpdate) ClearVoidedBy() *InboundOrderUpdate {
_u.mutation.ClearVoidedBy()
return _u
}
// SetVoidedAt sets the "voided_at" field.
func (_u *InboundOrderUpdate) SetVoidedAt(v int64) *InboundOrderUpdate {
_u.mutation.ResetVoidedAt()
_u.mutation.SetVoidedAt(v)
return _u
}
// SetNillableVoidedAt sets the "voided_at" field if the given value is not nil.
func (_u *InboundOrderUpdate) SetNillableVoidedAt(v *int64) *InboundOrderUpdate {
if v != nil {
_u.SetVoidedAt(*v)
}
return _u
}
// AddVoidedAt adds value to the "voided_at" field.
func (_u *InboundOrderUpdate) AddVoidedAt(v int64) *InboundOrderUpdate {
_u.mutation.AddVoidedAt(v)
return _u
}
// ClearVoidedAt clears the value of the "voided_at" field.
func (_u *InboundOrderUpdate) ClearVoidedAt() *InboundOrderUpdate {
_u.mutation.ClearVoidedAt()
return _u
}
// SetCreatedAt sets the "created_at" field.
func (_u *InboundOrderUpdate) SetCreatedAt(v int64) *InboundOrderUpdate {
_u.mutation.ResetCreatedAt()
@@ -488,6 +569,30 @@ func (_u *InboundOrderUpdate) sqlSave(ctx context.Context) (_node int, err error
if _u.mutation.QualityStatusCleared() {
_spec.ClearField(inboundorder.FieldQualityStatus, field.TypeString)
}
if value, ok := _u.mutation.Voided(); ok {
_spec.SetField(inboundorder.FieldVoided, field.TypeBool, value)
}
if value, ok := _u.mutation.VoidReason(); ok {
_spec.SetField(inboundorder.FieldVoidReason, field.TypeString, value)
}
if _u.mutation.VoidReasonCleared() {
_spec.ClearField(inboundorder.FieldVoidReason, field.TypeString)
}
if value, ok := _u.mutation.VoidedBy(); ok {
_spec.SetField(inboundorder.FieldVoidedBy, field.TypeString, value)
}
if _u.mutation.VoidedByCleared() {
_spec.ClearField(inboundorder.FieldVoidedBy, field.TypeString)
}
if value, ok := _u.mutation.VoidedAt(); ok {
_spec.SetField(inboundorder.FieldVoidedAt, field.TypeInt64, value)
}
if value, ok := _u.mutation.AddedVoidedAt(); ok {
_spec.AddField(inboundorder.FieldVoidedAt, field.TypeInt64, value)
}
if _u.mutation.VoidedAtCleared() {
_spec.ClearField(inboundorder.FieldVoidedAt, field.TypeInt64)
}
if value, ok := _u.mutation.CreatedAt(); ok {
_spec.SetField(inboundorder.FieldCreatedAt, field.TypeInt64, value)
}
@@ -826,6 +931,87 @@ func (_u *InboundOrderUpdateOne) ClearQualityStatus() *InboundOrderUpdateOne {
return _u
}
// SetVoided sets the "voided" field.
func (_u *InboundOrderUpdateOne) SetVoided(v bool) *InboundOrderUpdateOne {
_u.mutation.SetVoided(v)
return _u
}
// SetNillableVoided sets the "voided" field if the given value is not nil.
func (_u *InboundOrderUpdateOne) SetNillableVoided(v *bool) *InboundOrderUpdateOne {
if v != nil {
_u.SetVoided(*v)
}
return _u
}
// SetVoidReason sets the "void_reason" field.
func (_u *InboundOrderUpdateOne) SetVoidReason(v string) *InboundOrderUpdateOne {
_u.mutation.SetVoidReason(v)
return _u
}
// SetNillableVoidReason sets the "void_reason" field if the given value is not nil.
func (_u *InboundOrderUpdateOne) SetNillableVoidReason(v *string) *InboundOrderUpdateOne {
if v != nil {
_u.SetVoidReason(*v)
}
return _u
}
// ClearVoidReason clears the value of the "void_reason" field.
func (_u *InboundOrderUpdateOne) ClearVoidReason() *InboundOrderUpdateOne {
_u.mutation.ClearVoidReason()
return _u
}
// SetVoidedBy sets the "voided_by" field.
func (_u *InboundOrderUpdateOne) SetVoidedBy(v string) *InboundOrderUpdateOne {
_u.mutation.SetVoidedBy(v)
return _u
}
// SetNillableVoidedBy sets the "voided_by" field if the given value is not nil.
func (_u *InboundOrderUpdateOne) SetNillableVoidedBy(v *string) *InboundOrderUpdateOne {
if v != nil {
_u.SetVoidedBy(*v)
}
return _u
}
// ClearVoidedBy clears the value of the "voided_by" field.
func (_u *InboundOrderUpdateOne) ClearVoidedBy() *InboundOrderUpdateOne {
_u.mutation.ClearVoidedBy()
return _u
}
// SetVoidedAt sets the "voided_at" field.
func (_u *InboundOrderUpdateOne) SetVoidedAt(v int64) *InboundOrderUpdateOne {
_u.mutation.ResetVoidedAt()
_u.mutation.SetVoidedAt(v)
return _u
}
// SetNillableVoidedAt sets the "voided_at" field if the given value is not nil.
func (_u *InboundOrderUpdateOne) SetNillableVoidedAt(v *int64) *InboundOrderUpdateOne {
if v != nil {
_u.SetVoidedAt(*v)
}
return _u
}
// AddVoidedAt adds value to the "voided_at" field.
func (_u *InboundOrderUpdateOne) AddVoidedAt(v int64) *InboundOrderUpdateOne {
_u.mutation.AddVoidedAt(v)
return _u
}
// ClearVoidedAt clears the value of the "voided_at" field.
func (_u *InboundOrderUpdateOne) ClearVoidedAt() *InboundOrderUpdateOne {
_u.mutation.ClearVoidedAt()
return _u
}
// SetCreatedAt sets the "created_at" field.
func (_u *InboundOrderUpdateOne) SetCreatedAt(v int64) *InboundOrderUpdateOne {
_u.mutation.ResetCreatedAt()
@@ -1005,6 +1191,30 @@ func (_u *InboundOrderUpdateOne) sqlSave(ctx context.Context) (_node *InboundOrd
if _u.mutation.QualityStatusCleared() {
_spec.ClearField(inboundorder.FieldQualityStatus, field.TypeString)
}
if value, ok := _u.mutation.Voided(); ok {
_spec.SetField(inboundorder.FieldVoided, field.TypeBool, value)
}
if value, ok := _u.mutation.VoidReason(); ok {
_spec.SetField(inboundorder.FieldVoidReason, field.TypeString, value)
}
if _u.mutation.VoidReasonCleared() {
_spec.ClearField(inboundorder.FieldVoidReason, field.TypeString)
}
if value, ok := _u.mutation.VoidedBy(); ok {
_spec.SetField(inboundorder.FieldVoidedBy, field.TypeString, value)
}
if _u.mutation.VoidedByCleared() {
_spec.ClearField(inboundorder.FieldVoidedBy, field.TypeString)
}
if value, ok := _u.mutation.VoidedAt(); ok {
_spec.SetField(inboundorder.FieldVoidedAt, field.TypeInt64, value)
}
if value, ok := _u.mutation.AddedVoidedAt(); ok {
_spec.AddField(inboundorder.FieldVoidedAt, field.TypeInt64, value)
}
if _u.mutation.VoidedAtCleared() {
_spec.ClearField(inboundorder.FieldVoidedAt, field.TypeInt64)
}
if value, ok := _u.mutation.CreatedAt(); ok {
_spec.SetField(inboundorder.FieldCreatedAt, field.TypeInt64, value)
}