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
+460
View File
@@ -73,6 +73,21 @@ func FilePath(v string) predicate.Attachment {
return predicate.Attachment(sql.FieldEQ(FieldFilePath, v))
}
// FileType applies equality check predicate on the "file_type" field. It's identical to FileTypeEQ.
func FileType(v string) predicate.Attachment {
return predicate.Attachment(sql.FieldEQ(FieldFileType, v))
}
// FileExt applies equality check predicate on the "file_ext" field. It's identical to FileExtEQ.
func FileExt(v string) predicate.Attachment {
return predicate.Attachment(sql.FieldEQ(FieldFileExt, v))
}
// FileMd5 applies equality check predicate on the "file_md5" field. It's identical to FileMd5EQ.
func FileMd5(v string) predicate.Attachment {
return predicate.Attachment(sql.FieldEQ(FieldFileMd5, v))
}
// FileSize applies equality check predicate on the "file_size" field. It's identical to FileSizeEQ.
func FileSize(v int64) predicate.Attachment {
return predicate.Attachment(sql.FieldEQ(FieldFileSize, v))
@@ -88,6 +103,31 @@ func UploadedBy(v string) predicate.Attachment {
return predicate.Attachment(sql.FieldEQ(FieldUploadedBy, v))
}
// Archived applies equality check predicate on the "archived" field. It's identical to ArchivedEQ.
func Archived(v bool) predicate.Attachment {
return predicate.Attachment(sql.FieldEQ(FieldArchived, v))
}
// ArchivedAt applies equality check predicate on the "archived_at" field. It's identical to ArchivedAtEQ.
func ArchivedAt(v int64) predicate.Attachment {
return predicate.Attachment(sql.FieldEQ(FieldArchivedAt, v))
}
// Deleted applies equality check predicate on the "deleted" field. It's identical to DeletedEQ.
func Deleted(v bool) predicate.Attachment {
return predicate.Attachment(sql.FieldEQ(FieldDeleted, v))
}
// DeletedAt applies equality check predicate on the "deleted_at" field. It's identical to DeletedAtEQ.
func DeletedAt(v int64) predicate.Attachment {
return predicate.Attachment(sql.FieldEQ(FieldDeletedAt, v))
}
// DeletedBy applies equality check predicate on the "deleted_by" field. It's identical to DeletedByEQ.
func DeletedBy(v string) predicate.Attachment {
return predicate.Attachment(sql.FieldEQ(FieldDeletedBy, v))
}
// CreatedAt applies equality check predicate on the "created_at" field. It's identical to CreatedAtEQ.
func CreatedAt(v int64) predicate.Attachment {
return predicate.Attachment(sql.FieldEQ(FieldCreatedAt, v))
@@ -353,6 +393,231 @@ func FilePathContainsFold(v string) predicate.Attachment {
return predicate.Attachment(sql.FieldContainsFold(FieldFilePath, v))
}
// FileTypeEQ applies the EQ predicate on the "file_type" field.
func FileTypeEQ(v string) predicate.Attachment {
return predicate.Attachment(sql.FieldEQ(FieldFileType, v))
}
// FileTypeNEQ applies the NEQ predicate on the "file_type" field.
func FileTypeNEQ(v string) predicate.Attachment {
return predicate.Attachment(sql.FieldNEQ(FieldFileType, v))
}
// FileTypeIn applies the In predicate on the "file_type" field.
func FileTypeIn(vs ...string) predicate.Attachment {
return predicate.Attachment(sql.FieldIn(FieldFileType, vs...))
}
// FileTypeNotIn applies the NotIn predicate on the "file_type" field.
func FileTypeNotIn(vs ...string) predicate.Attachment {
return predicate.Attachment(sql.FieldNotIn(FieldFileType, vs...))
}
// FileTypeGT applies the GT predicate on the "file_type" field.
func FileTypeGT(v string) predicate.Attachment {
return predicate.Attachment(sql.FieldGT(FieldFileType, v))
}
// FileTypeGTE applies the GTE predicate on the "file_type" field.
func FileTypeGTE(v string) predicate.Attachment {
return predicate.Attachment(sql.FieldGTE(FieldFileType, v))
}
// FileTypeLT applies the LT predicate on the "file_type" field.
func FileTypeLT(v string) predicate.Attachment {
return predicate.Attachment(sql.FieldLT(FieldFileType, v))
}
// FileTypeLTE applies the LTE predicate on the "file_type" field.
func FileTypeLTE(v string) predicate.Attachment {
return predicate.Attachment(sql.FieldLTE(FieldFileType, v))
}
// FileTypeContains applies the Contains predicate on the "file_type" field.
func FileTypeContains(v string) predicate.Attachment {
return predicate.Attachment(sql.FieldContains(FieldFileType, v))
}
// FileTypeHasPrefix applies the HasPrefix predicate on the "file_type" field.
func FileTypeHasPrefix(v string) predicate.Attachment {
return predicate.Attachment(sql.FieldHasPrefix(FieldFileType, v))
}
// FileTypeHasSuffix applies the HasSuffix predicate on the "file_type" field.
func FileTypeHasSuffix(v string) predicate.Attachment {
return predicate.Attachment(sql.FieldHasSuffix(FieldFileType, v))
}
// FileTypeIsNil applies the IsNil predicate on the "file_type" field.
func FileTypeIsNil() predicate.Attachment {
return predicate.Attachment(sql.FieldIsNull(FieldFileType))
}
// FileTypeNotNil applies the NotNil predicate on the "file_type" field.
func FileTypeNotNil() predicate.Attachment {
return predicate.Attachment(sql.FieldNotNull(FieldFileType))
}
// FileTypeEqualFold applies the EqualFold predicate on the "file_type" field.
func FileTypeEqualFold(v string) predicate.Attachment {
return predicate.Attachment(sql.FieldEqualFold(FieldFileType, v))
}
// FileTypeContainsFold applies the ContainsFold predicate on the "file_type" field.
func FileTypeContainsFold(v string) predicate.Attachment {
return predicate.Attachment(sql.FieldContainsFold(FieldFileType, v))
}
// FileExtEQ applies the EQ predicate on the "file_ext" field.
func FileExtEQ(v string) predicate.Attachment {
return predicate.Attachment(sql.FieldEQ(FieldFileExt, v))
}
// FileExtNEQ applies the NEQ predicate on the "file_ext" field.
func FileExtNEQ(v string) predicate.Attachment {
return predicate.Attachment(sql.FieldNEQ(FieldFileExt, v))
}
// FileExtIn applies the In predicate on the "file_ext" field.
func FileExtIn(vs ...string) predicate.Attachment {
return predicate.Attachment(sql.FieldIn(FieldFileExt, vs...))
}
// FileExtNotIn applies the NotIn predicate on the "file_ext" field.
func FileExtNotIn(vs ...string) predicate.Attachment {
return predicate.Attachment(sql.FieldNotIn(FieldFileExt, vs...))
}
// FileExtGT applies the GT predicate on the "file_ext" field.
func FileExtGT(v string) predicate.Attachment {
return predicate.Attachment(sql.FieldGT(FieldFileExt, v))
}
// FileExtGTE applies the GTE predicate on the "file_ext" field.
func FileExtGTE(v string) predicate.Attachment {
return predicate.Attachment(sql.FieldGTE(FieldFileExt, v))
}
// FileExtLT applies the LT predicate on the "file_ext" field.
func FileExtLT(v string) predicate.Attachment {
return predicate.Attachment(sql.FieldLT(FieldFileExt, v))
}
// FileExtLTE applies the LTE predicate on the "file_ext" field.
func FileExtLTE(v string) predicate.Attachment {
return predicate.Attachment(sql.FieldLTE(FieldFileExt, v))
}
// FileExtContains applies the Contains predicate on the "file_ext" field.
func FileExtContains(v string) predicate.Attachment {
return predicate.Attachment(sql.FieldContains(FieldFileExt, v))
}
// FileExtHasPrefix applies the HasPrefix predicate on the "file_ext" field.
func FileExtHasPrefix(v string) predicate.Attachment {
return predicate.Attachment(sql.FieldHasPrefix(FieldFileExt, v))
}
// FileExtHasSuffix applies the HasSuffix predicate on the "file_ext" field.
func FileExtHasSuffix(v string) predicate.Attachment {
return predicate.Attachment(sql.FieldHasSuffix(FieldFileExt, v))
}
// FileExtIsNil applies the IsNil predicate on the "file_ext" field.
func FileExtIsNil() predicate.Attachment {
return predicate.Attachment(sql.FieldIsNull(FieldFileExt))
}
// FileExtNotNil applies the NotNil predicate on the "file_ext" field.
func FileExtNotNil() predicate.Attachment {
return predicate.Attachment(sql.FieldNotNull(FieldFileExt))
}
// FileExtEqualFold applies the EqualFold predicate on the "file_ext" field.
func FileExtEqualFold(v string) predicate.Attachment {
return predicate.Attachment(sql.FieldEqualFold(FieldFileExt, v))
}
// FileExtContainsFold applies the ContainsFold predicate on the "file_ext" field.
func FileExtContainsFold(v string) predicate.Attachment {
return predicate.Attachment(sql.FieldContainsFold(FieldFileExt, v))
}
// FileMd5EQ applies the EQ predicate on the "file_md5" field.
func FileMd5EQ(v string) predicate.Attachment {
return predicate.Attachment(sql.FieldEQ(FieldFileMd5, v))
}
// FileMd5NEQ applies the NEQ predicate on the "file_md5" field.
func FileMd5NEQ(v string) predicate.Attachment {
return predicate.Attachment(sql.FieldNEQ(FieldFileMd5, v))
}
// FileMd5In applies the In predicate on the "file_md5" field.
func FileMd5In(vs ...string) predicate.Attachment {
return predicate.Attachment(sql.FieldIn(FieldFileMd5, vs...))
}
// FileMd5NotIn applies the NotIn predicate on the "file_md5" field.
func FileMd5NotIn(vs ...string) predicate.Attachment {
return predicate.Attachment(sql.FieldNotIn(FieldFileMd5, vs...))
}
// FileMd5GT applies the GT predicate on the "file_md5" field.
func FileMd5GT(v string) predicate.Attachment {
return predicate.Attachment(sql.FieldGT(FieldFileMd5, v))
}
// FileMd5GTE applies the GTE predicate on the "file_md5" field.
func FileMd5GTE(v string) predicate.Attachment {
return predicate.Attachment(sql.FieldGTE(FieldFileMd5, v))
}
// FileMd5LT applies the LT predicate on the "file_md5" field.
func FileMd5LT(v string) predicate.Attachment {
return predicate.Attachment(sql.FieldLT(FieldFileMd5, v))
}
// FileMd5LTE applies the LTE predicate on the "file_md5" field.
func FileMd5LTE(v string) predicate.Attachment {
return predicate.Attachment(sql.FieldLTE(FieldFileMd5, v))
}
// FileMd5Contains applies the Contains predicate on the "file_md5" field.
func FileMd5Contains(v string) predicate.Attachment {
return predicate.Attachment(sql.FieldContains(FieldFileMd5, v))
}
// FileMd5HasPrefix applies the HasPrefix predicate on the "file_md5" field.
func FileMd5HasPrefix(v string) predicate.Attachment {
return predicate.Attachment(sql.FieldHasPrefix(FieldFileMd5, v))
}
// FileMd5HasSuffix applies the HasSuffix predicate on the "file_md5" field.
func FileMd5HasSuffix(v string) predicate.Attachment {
return predicate.Attachment(sql.FieldHasSuffix(FieldFileMd5, v))
}
// FileMd5IsNil applies the IsNil predicate on the "file_md5" field.
func FileMd5IsNil() predicate.Attachment {
return predicate.Attachment(sql.FieldIsNull(FieldFileMd5))
}
// FileMd5NotNil applies the NotNil predicate on the "file_md5" field.
func FileMd5NotNil() predicate.Attachment {
return predicate.Attachment(sql.FieldNotNull(FieldFileMd5))
}
// FileMd5EqualFold applies the EqualFold predicate on the "file_md5" field.
func FileMd5EqualFold(v string) predicate.Attachment {
return predicate.Attachment(sql.FieldEqualFold(FieldFileMd5, v))
}
// FileMd5ContainsFold applies the ContainsFold predicate on the "file_md5" field.
func FileMd5ContainsFold(v string) predicate.Attachment {
return predicate.Attachment(sql.FieldContainsFold(FieldFileMd5, v))
}
// FileSizeEQ applies the EQ predicate on the "file_size" field.
func FileSizeEQ(v int64) predicate.Attachment {
return predicate.Attachment(sql.FieldEQ(FieldFileSize, v))
@@ -543,6 +808,201 @@ func UploadedByContainsFold(v string) predicate.Attachment {
return predicate.Attachment(sql.FieldContainsFold(FieldUploadedBy, v))
}
// ArchivedEQ applies the EQ predicate on the "archived" field.
func ArchivedEQ(v bool) predicate.Attachment {
return predicate.Attachment(sql.FieldEQ(FieldArchived, v))
}
// ArchivedNEQ applies the NEQ predicate on the "archived" field.
func ArchivedNEQ(v bool) predicate.Attachment {
return predicate.Attachment(sql.FieldNEQ(FieldArchived, v))
}
// ArchivedAtEQ applies the EQ predicate on the "archived_at" field.
func ArchivedAtEQ(v int64) predicate.Attachment {
return predicate.Attachment(sql.FieldEQ(FieldArchivedAt, v))
}
// ArchivedAtNEQ applies the NEQ predicate on the "archived_at" field.
func ArchivedAtNEQ(v int64) predicate.Attachment {
return predicate.Attachment(sql.FieldNEQ(FieldArchivedAt, v))
}
// ArchivedAtIn applies the In predicate on the "archived_at" field.
func ArchivedAtIn(vs ...int64) predicate.Attachment {
return predicate.Attachment(sql.FieldIn(FieldArchivedAt, vs...))
}
// ArchivedAtNotIn applies the NotIn predicate on the "archived_at" field.
func ArchivedAtNotIn(vs ...int64) predicate.Attachment {
return predicate.Attachment(sql.FieldNotIn(FieldArchivedAt, vs...))
}
// ArchivedAtGT applies the GT predicate on the "archived_at" field.
func ArchivedAtGT(v int64) predicate.Attachment {
return predicate.Attachment(sql.FieldGT(FieldArchivedAt, v))
}
// ArchivedAtGTE applies the GTE predicate on the "archived_at" field.
func ArchivedAtGTE(v int64) predicate.Attachment {
return predicate.Attachment(sql.FieldGTE(FieldArchivedAt, v))
}
// ArchivedAtLT applies the LT predicate on the "archived_at" field.
func ArchivedAtLT(v int64) predicate.Attachment {
return predicate.Attachment(sql.FieldLT(FieldArchivedAt, v))
}
// ArchivedAtLTE applies the LTE predicate on the "archived_at" field.
func ArchivedAtLTE(v int64) predicate.Attachment {
return predicate.Attachment(sql.FieldLTE(FieldArchivedAt, v))
}
// ArchivedAtIsNil applies the IsNil predicate on the "archived_at" field.
func ArchivedAtIsNil() predicate.Attachment {
return predicate.Attachment(sql.FieldIsNull(FieldArchivedAt))
}
// ArchivedAtNotNil applies the NotNil predicate on the "archived_at" field.
func ArchivedAtNotNil() predicate.Attachment {
return predicate.Attachment(sql.FieldNotNull(FieldArchivedAt))
}
// DeletedEQ applies the EQ predicate on the "deleted" field.
func DeletedEQ(v bool) predicate.Attachment {
return predicate.Attachment(sql.FieldEQ(FieldDeleted, v))
}
// DeletedNEQ applies the NEQ predicate on the "deleted" field.
func DeletedNEQ(v bool) predicate.Attachment {
return predicate.Attachment(sql.FieldNEQ(FieldDeleted, v))
}
// DeletedAtEQ applies the EQ predicate on the "deleted_at" field.
func DeletedAtEQ(v int64) predicate.Attachment {
return predicate.Attachment(sql.FieldEQ(FieldDeletedAt, v))
}
// DeletedAtNEQ applies the NEQ predicate on the "deleted_at" field.
func DeletedAtNEQ(v int64) predicate.Attachment {
return predicate.Attachment(sql.FieldNEQ(FieldDeletedAt, v))
}
// DeletedAtIn applies the In predicate on the "deleted_at" field.
func DeletedAtIn(vs ...int64) predicate.Attachment {
return predicate.Attachment(sql.FieldIn(FieldDeletedAt, vs...))
}
// DeletedAtNotIn applies the NotIn predicate on the "deleted_at" field.
func DeletedAtNotIn(vs ...int64) predicate.Attachment {
return predicate.Attachment(sql.FieldNotIn(FieldDeletedAt, vs...))
}
// DeletedAtGT applies the GT predicate on the "deleted_at" field.
func DeletedAtGT(v int64) predicate.Attachment {
return predicate.Attachment(sql.FieldGT(FieldDeletedAt, v))
}
// DeletedAtGTE applies the GTE predicate on the "deleted_at" field.
func DeletedAtGTE(v int64) predicate.Attachment {
return predicate.Attachment(sql.FieldGTE(FieldDeletedAt, v))
}
// DeletedAtLT applies the LT predicate on the "deleted_at" field.
func DeletedAtLT(v int64) predicate.Attachment {
return predicate.Attachment(sql.FieldLT(FieldDeletedAt, v))
}
// DeletedAtLTE applies the LTE predicate on the "deleted_at" field.
func DeletedAtLTE(v int64) predicate.Attachment {
return predicate.Attachment(sql.FieldLTE(FieldDeletedAt, v))
}
// DeletedAtIsNil applies the IsNil predicate on the "deleted_at" field.
func DeletedAtIsNil() predicate.Attachment {
return predicate.Attachment(sql.FieldIsNull(FieldDeletedAt))
}
// DeletedAtNotNil applies the NotNil predicate on the "deleted_at" field.
func DeletedAtNotNil() predicate.Attachment {
return predicate.Attachment(sql.FieldNotNull(FieldDeletedAt))
}
// DeletedByEQ applies the EQ predicate on the "deleted_by" field.
func DeletedByEQ(v string) predicate.Attachment {
return predicate.Attachment(sql.FieldEQ(FieldDeletedBy, v))
}
// DeletedByNEQ applies the NEQ predicate on the "deleted_by" field.
func DeletedByNEQ(v string) predicate.Attachment {
return predicate.Attachment(sql.FieldNEQ(FieldDeletedBy, v))
}
// DeletedByIn applies the In predicate on the "deleted_by" field.
func DeletedByIn(vs ...string) predicate.Attachment {
return predicate.Attachment(sql.FieldIn(FieldDeletedBy, vs...))
}
// DeletedByNotIn applies the NotIn predicate on the "deleted_by" field.
func DeletedByNotIn(vs ...string) predicate.Attachment {
return predicate.Attachment(sql.FieldNotIn(FieldDeletedBy, vs...))
}
// DeletedByGT applies the GT predicate on the "deleted_by" field.
func DeletedByGT(v string) predicate.Attachment {
return predicate.Attachment(sql.FieldGT(FieldDeletedBy, v))
}
// DeletedByGTE applies the GTE predicate on the "deleted_by" field.
func DeletedByGTE(v string) predicate.Attachment {
return predicate.Attachment(sql.FieldGTE(FieldDeletedBy, v))
}
// DeletedByLT applies the LT predicate on the "deleted_by" field.
func DeletedByLT(v string) predicate.Attachment {
return predicate.Attachment(sql.FieldLT(FieldDeletedBy, v))
}
// DeletedByLTE applies the LTE predicate on the "deleted_by" field.
func DeletedByLTE(v string) predicate.Attachment {
return predicate.Attachment(sql.FieldLTE(FieldDeletedBy, v))
}
// DeletedByContains applies the Contains predicate on the "deleted_by" field.
func DeletedByContains(v string) predicate.Attachment {
return predicate.Attachment(sql.FieldContains(FieldDeletedBy, v))
}
// DeletedByHasPrefix applies the HasPrefix predicate on the "deleted_by" field.
func DeletedByHasPrefix(v string) predicate.Attachment {
return predicate.Attachment(sql.FieldHasPrefix(FieldDeletedBy, v))
}
// DeletedByHasSuffix applies the HasSuffix predicate on the "deleted_by" field.
func DeletedByHasSuffix(v string) predicate.Attachment {
return predicate.Attachment(sql.FieldHasSuffix(FieldDeletedBy, v))
}
// DeletedByIsNil applies the IsNil predicate on the "deleted_by" field.
func DeletedByIsNil() predicate.Attachment {
return predicate.Attachment(sql.FieldIsNull(FieldDeletedBy))
}
// DeletedByNotNil applies the NotNil predicate on the "deleted_by" field.
func DeletedByNotNil() predicate.Attachment {
return predicate.Attachment(sql.FieldNotNull(FieldDeletedBy))
}
// DeletedByEqualFold applies the EqualFold predicate on the "deleted_by" field.
func DeletedByEqualFold(v string) predicate.Attachment {
return predicate.Attachment(sql.FieldEqualFold(FieldDeletedBy, v))
}
// DeletedByContainsFold applies the ContainsFold predicate on the "deleted_by" field.
func DeletedByContainsFold(v string) predicate.Attachment {
return predicate.Attachment(sql.FieldContainsFold(FieldDeletedBy, v))
}
// CreatedAtEQ applies the EQ predicate on the "created_at" field.
func CreatedAtEQ(v int64) predicate.Attachment {
return predicate.Attachment(sql.FieldEQ(FieldCreatedAt, v))