feat: 完成客户第12条需求+多系统改造

1. 新增预警表添加工单号字段,支持按工单号检索预警
2. 添加工单过滤在制品/绩效报表/预警中心查询
3. 补全WMS台账字段口径与权限配置
4. 修复备料单与数量不符处理流程
5. 新增配送进度/库位联动/自动出库功能
6. 修复AGV配送状态更新逻辑
7. 优化退料与库存管理细节
This commit is contained in:
SunYF
2026-09-19 17:04:58 +08:00
parent 62e45b7379
commit 05b0b8a909
89 changed files with 7912 additions and 429 deletions
@@ -21,6 +21,10 @@ const (
FieldTotalQty = "total_qty"
// FieldOutQty holds the string denoting the out_qty field in the database.
FieldOutQty = "out_qty"
// FieldReturnedQty holds the string denoting the returned_qty field in the database.
FieldReturnedQty = "returned_qty"
// FieldConsumedQty holds the string denoting the consumed_qty field in the database.
FieldConsumedQty = "consumed_qty"
// FieldStatus holds the string denoting the status field in the database.
FieldStatus = "status"
// FieldTargetStation holds the string denoting the target_station field in the database.
@@ -45,6 +49,8 @@ var Columns = []string{
FieldMaterialName,
FieldTotalQty,
FieldOutQty,
FieldReturnedQty,
FieldConsumedQty,
FieldStatus,
FieldTargetStation,
FieldCompletedAt,
@@ -68,6 +74,10 @@ var (
DefaultTotalQty int
// DefaultOutQty holds the default value on creation for the "out_qty" field.
DefaultOutQty int
// DefaultReturnedQty holds the default value on creation for the "returned_qty" field.
DefaultReturnedQty int
// DefaultConsumedQty holds the default value on creation for the "consumed_qty" field.
DefaultConsumedQty int
// DefaultStatus holds the default value on creation for the "status" field.
DefaultStatus string
// DefaultCreatedAt holds the default value on creation for the "created_at" field.
@@ -109,6 +119,16 @@ func ByOutQty(opts ...sql.OrderTermOption) OrderOption {
return sql.OrderByField(FieldOutQty, opts...).ToFunc()
}
// ByReturnedQty orders the results by the returned_qty field.
func ByReturnedQty(opts ...sql.OrderTermOption) OrderOption {
return sql.OrderByField(FieldReturnedQty, opts...).ToFunc()
}
// ByConsumedQty orders the results by the consumed_qty field.
func ByConsumedQty(opts ...sql.OrderTermOption) OrderOption {
return sql.OrderByField(FieldConsumedQty, opts...).ToFunc()
}
// ByStatus orders the results by the status field.
func ByStatus(opts ...sql.OrderTermOption) OrderOption {
return sql.OrderByField(FieldStatus, opts...).ToFunc()
@@ -78,6 +78,16 @@ func OutQty(v int) predicate.OrderMaterialLedger {
return predicate.OrderMaterialLedger(sql.FieldEQ(FieldOutQty, v))
}
// ReturnedQty applies equality check predicate on the "returned_qty" field. It's identical to ReturnedQtyEQ.
func ReturnedQty(v int) predicate.OrderMaterialLedger {
return predicate.OrderMaterialLedger(sql.FieldEQ(FieldReturnedQty, v))
}
// ConsumedQty applies equality check predicate on the "consumed_qty" field. It's identical to ConsumedQtyEQ.
func ConsumedQty(v int) predicate.OrderMaterialLedger {
return predicate.OrderMaterialLedger(sql.FieldEQ(FieldConsumedQty, v))
}
// Status applies equality check predicate on the "status" field. It's identical to StatusEQ.
func Status(v string) predicate.OrderMaterialLedger {
return predicate.OrderMaterialLedger(sql.FieldEQ(FieldStatus, v))
@@ -393,6 +403,86 @@ func OutQtyLTE(v int) predicate.OrderMaterialLedger {
return predicate.OrderMaterialLedger(sql.FieldLTE(FieldOutQty, v))
}
// ReturnedQtyEQ applies the EQ predicate on the "returned_qty" field.
func ReturnedQtyEQ(v int) predicate.OrderMaterialLedger {
return predicate.OrderMaterialLedger(sql.FieldEQ(FieldReturnedQty, v))
}
// ReturnedQtyNEQ applies the NEQ predicate on the "returned_qty" field.
func ReturnedQtyNEQ(v int) predicate.OrderMaterialLedger {
return predicate.OrderMaterialLedger(sql.FieldNEQ(FieldReturnedQty, v))
}
// ReturnedQtyIn applies the In predicate on the "returned_qty" field.
func ReturnedQtyIn(vs ...int) predicate.OrderMaterialLedger {
return predicate.OrderMaterialLedger(sql.FieldIn(FieldReturnedQty, vs...))
}
// ReturnedQtyNotIn applies the NotIn predicate on the "returned_qty" field.
func ReturnedQtyNotIn(vs ...int) predicate.OrderMaterialLedger {
return predicate.OrderMaterialLedger(sql.FieldNotIn(FieldReturnedQty, vs...))
}
// ReturnedQtyGT applies the GT predicate on the "returned_qty" field.
func ReturnedQtyGT(v int) predicate.OrderMaterialLedger {
return predicate.OrderMaterialLedger(sql.FieldGT(FieldReturnedQty, v))
}
// ReturnedQtyGTE applies the GTE predicate on the "returned_qty" field.
func ReturnedQtyGTE(v int) predicate.OrderMaterialLedger {
return predicate.OrderMaterialLedger(sql.FieldGTE(FieldReturnedQty, v))
}
// ReturnedQtyLT applies the LT predicate on the "returned_qty" field.
func ReturnedQtyLT(v int) predicate.OrderMaterialLedger {
return predicate.OrderMaterialLedger(sql.FieldLT(FieldReturnedQty, v))
}
// ReturnedQtyLTE applies the LTE predicate on the "returned_qty" field.
func ReturnedQtyLTE(v int) predicate.OrderMaterialLedger {
return predicate.OrderMaterialLedger(sql.FieldLTE(FieldReturnedQty, v))
}
// ConsumedQtyEQ applies the EQ predicate on the "consumed_qty" field.
func ConsumedQtyEQ(v int) predicate.OrderMaterialLedger {
return predicate.OrderMaterialLedger(sql.FieldEQ(FieldConsumedQty, v))
}
// ConsumedQtyNEQ applies the NEQ predicate on the "consumed_qty" field.
func ConsumedQtyNEQ(v int) predicate.OrderMaterialLedger {
return predicate.OrderMaterialLedger(sql.FieldNEQ(FieldConsumedQty, v))
}
// ConsumedQtyIn applies the In predicate on the "consumed_qty" field.
func ConsumedQtyIn(vs ...int) predicate.OrderMaterialLedger {
return predicate.OrderMaterialLedger(sql.FieldIn(FieldConsumedQty, vs...))
}
// ConsumedQtyNotIn applies the NotIn predicate on the "consumed_qty" field.
func ConsumedQtyNotIn(vs ...int) predicate.OrderMaterialLedger {
return predicate.OrderMaterialLedger(sql.FieldNotIn(FieldConsumedQty, vs...))
}
// ConsumedQtyGT applies the GT predicate on the "consumed_qty" field.
func ConsumedQtyGT(v int) predicate.OrderMaterialLedger {
return predicate.OrderMaterialLedger(sql.FieldGT(FieldConsumedQty, v))
}
// ConsumedQtyGTE applies the GTE predicate on the "consumed_qty" field.
func ConsumedQtyGTE(v int) predicate.OrderMaterialLedger {
return predicate.OrderMaterialLedger(sql.FieldGTE(FieldConsumedQty, v))
}
// ConsumedQtyLT applies the LT predicate on the "consumed_qty" field.
func ConsumedQtyLT(v int) predicate.OrderMaterialLedger {
return predicate.OrderMaterialLedger(sql.FieldLT(FieldConsumedQty, v))
}
// ConsumedQtyLTE applies the LTE predicate on the "consumed_qty" field.
func ConsumedQtyLTE(v int) predicate.OrderMaterialLedger {
return predicate.OrderMaterialLedger(sql.FieldLTE(FieldConsumedQty, v))
}
// StatusEQ applies the EQ predicate on the "status" field.
func StatusEQ(v string) predicate.OrderMaterialLedger {
return predicate.OrderMaterialLedger(sql.FieldEQ(FieldStatus, v))