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
+220
View File
@@ -170,6 +170,118 @@ func (_c *MaterialRequestCreate) SetNillableSentQty(v *float64) *MaterialRequest
return _c
}
// SetReceivedQty sets the "receivedQty" field.
func (_c *MaterialRequestCreate) SetReceivedQty(v float64) *MaterialRequestCreate {
_c.mutation.SetReceivedQty(v)
return _c
}
// SetNillableReceivedQty sets the "receivedQty" field if the given value is not nil.
func (_c *MaterialRequestCreate) SetNillableReceivedQty(v *float64) *MaterialRequestCreate {
if v != nil {
_c.SetReceivedQty(*v)
}
return _c
}
// SetReceivedAt sets the "receivedAt" field.
func (_c *MaterialRequestCreate) SetReceivedAt(v int64) *MaterialRequestCreate {
_c.mutation.SetReceivedAt(v)
return _c
}
// SetNillableReceivedAt sets the "receivedAt" field if the given value is not nil.
func (_c *MaterialRequestCreate) SetNillableReceivedAt(v *int64) *MaterialRequestCreate {
if v != nil {
_c.SetReceivedAt(*v)
}
return _c
}
// SetReceiveBy sets the "receiveBy" field.
func (_c *MaterialRequestCreate) SetReceiveBy(v string) *MaterialRequestCreate {
_c.mutation.SetReceiveBy(v)
return _c
}
// SetNillableReceiveBy sets the "receiveBy" field if the given value is not nil.
func (_c *MaterialRequestCreate) SetNillableReceiveBy(v *string) *MaterialRequestCreate {
if v != nil {
_c.SetReceiveBy(*v)
}
return _c
}
// SetSource sets the "source" field.
func (_c *MaterialRequestCreate) SetSource(v string) *MaterialRequestCreate {
_c.mutation.SetSource(v)
return _c
}
// SetNillableSource sets the "source" field if the given value is not nil.
func (_c *MaterialRequestCreate) SetNillableSource(v *string) *MaterialRequestCreate {
if v != nil {
_c.SetSource(*v)
}
return _c
}
// SetOverQty sets the "overQty" field.
func (_c *MaterialRequestCreate) SetOverQty(v float64) *MaterialRequestCreate {
_c.mutation.SetOverQty(v)
return _c
}
// SetNillableOverQty sets the "overQty" field if the given value is not nil.
func (_c *MaterialRequestCreate) SetNillableOverQty(v *float64) *MaterialRequestCreate {
if v != nil {
_c.SetOverQty(*v)
}
return _c
}
// SetOverReason sets the "overReason" field.
func (_c *MaterialRequestCreate) SetOverReason(v string) *MaterialRequestCreate {
_c.mutation.SetOverReason(v)
return _c
}
// SetNillableOverReason sets the "overReason" field if the given value is not nil.
func (_c *MaterialRequestCreate) SetNillableOverReason(v *string) *MaterialRequestCreate {
if v != nil {
_c.SetOverReason(*v)
}
return _c
}
// SetRefReportNo sets the "refReportNo" field.
func (_c *MaterialRequestCreate) SetRefReportNo(v string) *MaterialRequestCreate {
_c.mutation.SetRefReportNo(v)
return _c
}
// SetNillableRefReportNo sets the "refReportNo" field if the given value is not nil.
func (_c *MaterialRequestCreate) SetNillableRefReportNo(v *string) *MaterialRequestCreate {
if v != nil {
_c.SetRefReportNo(*v)
}
return _c
}
// SetNeedAgv sets the "needAgv" field.
func (_c *MaterialRequestCreate) SetNeedAgv(v bool) *MaterialRequestCreate {
_c.mutation.SetNeedAgv(v)
return _c
}
// SetNillableNeedAgv sets the "needAgv" field if the given value is not nil.
func (_c *MaterialRequestCreate) SetNillableNeedAgv(v *bool) *MaterialRequestCreate {
if v != nil {
_c.SetNeedAgv(*v)
}
return _c
}
// SetBatchNo sets the "batchNo" field.
func (_c *MaterialRequestCreate) SetBatchNo(v string) *MaterialRequestCreate {
_c.mutation.SetBatchNo(v)
@@ -303,6 +415,38 @@ func (_c *MaterialRequestCreate) defaults() {
v := materialrequest.DefaultSentQty
_c.mutation.SetSentQty(v)
}
if _, ok := _c.mutation.ReceivedQty(); !ok {
v := materialrequest.DefaultReceivedQty
_c.mutation.SetReceivedQty(v)
}
if _, ok := _c.mutation.ReceivedAt(); !ok {
v := materialrequest.DefaultReceivedAt
_c.mutation.SetReceivedAt(v)
}
if _, ok := _c.mutation.ReceiveBy(); !ok {
v := materialrequest.DefaultReceiveBy
_c.mutation.SetReceiveBy(v)
}
if _, ok := _c.mutation.Source(); !ok {
v := materialrequest.DefaultSource
_c.mutation.SetSource(v)
}
if _, ok := _c.mutation.OverQty(); !ok {
v := materialrequest.DefaultOverQty
_c.mutation.SetOverQty(v)
}
if _, ok := _c.mutation.OverReason(); !ok {
v := materialrequest.DefaultOverReason
_c.mutation.SetOverReason(v)
}
if _, ok := _c.mutation.RefReportNo(); !ok {
v := materialrequest.DefaultRefReportNo
_c.mutation.SetRefReportNo(v)
}
if _, ok := _c.mutation.NeedAgv(); !ok {
v := materialrequest.DefaultNeedAgv
_c.mutation.SetNeedAgv(v)
}
if _, ok := _c.mutation.BatchNo(); !ok {
v := materialrequest.DefaultBatchNo
_c.mutation.SetBatchNo(v)
@@ -407,6 +551,50 @@ func (_c *MaterialRequestCreate) check() error {
if _, ok := _c.mutation.SentQty(); !ok {
return &ValidationError{Name: "sentQty", err: errors.New(`ent: missing required field "MaterialRequest.sentQty"`)}
}
if _, ok := _c.mutation.ReceivedQty(); !ok {
return &ValidationError{Name: "receivedQty", err: errors.New(`ent: missing required field "MaterialRequest.receivedQty"`)}
}
if _, ok := _c.mutation.ReceivedAt(); !ok {
return &ValidationError{Name: "receivedAt", err: errors.New(`ent: missing required field "MaterialRequest.receivedAt"`)}
}
if _, ok := _c.mutation.ReceiveBy(); !ok {
return &ValidationError{Name: "receiveBy", err: errors.New(`ent: missing required field "MaterialRequest.receiveBy"`)}
}
if v, ok := _c.mutation.ReceiveBy(); ok {
if err := materialrequest.ReceiveByValidator(v); err != nil {
return &ValidationError{Name: "receiveBy", err: fmt.Errorf(`ent: validator failed for field "MaterialRequest.receiveBy": %w`, err)}
}
}
if _, ok := _c.mutation.Source(); !ok {
return &ValidationError{Name: "source", err: errors.New(`ent: missing required field "MaterialRequest.source"`)}
}
if v, ok := _c.mutation.Source(); ok {
if err := materialrequest.SourceValidator(v); err != nil {
return &ValidationError{Name: "source", err: fmt.Errorf(`ent: validator failed for field "MaterialRequest.source": %w`, err)}
}
}
if _, ok := _c.mutation.OverQty(); !ok {
return &ValidationError{Name: "overQty", err: errors.New(`ent: missing required field "MaterialRequest.overQty"`)}
}
if _, ok := _c.mutation.OverReason(); !ok {
return &ValidationError{Name: "overReason", err: errors.New(`ent: missing required field "MaterialRequest.overReason"`)}
}
if v, ok := _c.mutation.OverReason(); ok {
if err := materialrequest.OverReasonValidator(v); err != nil {
return &ValidationError{Name: "overReason", err: fmt.Errorf(`ent: validator failed for field "MaterialRequest.overReason": %w`, err)}
}
}
if _, ok := _c.mutation.RefReportNo(); !ok {
return &ValidationError{Name: "refReportNo", err: errors.New(`ent: missing required field "MaterialRequest.refReportNo"`)}
}
if v, ok := _c.mutation.RefReportNo(); ok {
if err := materialrequest.RefReportNoValidator(v); err != nil {
return &ValidationError{Name: "refReportNo", err: fmt.Errorf(`ent: validator failed for field "MaterialRequest.refReportNo": %w`, err)}
}
}
if _, ok := _c.mutation.NeedAgv(); !ok {
return &ValidationError{Name: "needAgv", err: errors.New(`ent: missing required field "MaterialRequest.needAgv"`)}
}
if _, ok := _c.mutation.BatchNo(); !ok {
return &ValidationError{Name: "batchNo", err: errors.New(`ent: missing required field "MaterialRequest.batchNo"`)}
}
@@ -515,6 +703,38 @@ func (_c *MaterialRequestCreate) createSpec() (*MaterialRequest, *sqlgraph.Creat
_spec.SetField(materialrequest.FieldSentQty, field.TypeFloat64, value)
_node.SentQty = value
}
if value, ok := _c.mutation.ReceivedQty(); ok {
_spec.SetField(materialrequest.FieldReceivedQty, field.TypeFloat64, value)
_node.ReceivedQty = value
}
if value, ok := _c.mutation.ReceivedAt(); ok {
_spec.SetField(materialrequest.FieldReceivedAt, field.TypeInt64, value)
_node.ReceivedAt = value
}
if value, ok := _c.mutation.ReceiveBy(); ok {
_spec.SetField(materialrequest.FieldReceiveBy, field.TypeString, value)
_node.ReceiveBy = value
}
if value, ok := _c.mutation.Source(); ok {
_spec.SetField(materialrequest.FieldSource, field.TypeString, value)
_node.Source = value
}
if value, ok := _c.mutation.OverQty(); ok {
_spec.SetField(materialrequest.FieldOverQty, field.TypeFloat64, value)
_node.OverQty = value
}
if value, ok := _c.mutation.OverReason(); ok {
_spec.SetField(materialrequest.FieldOverReason, field.TypeString, value)
_node.OverReason = value
}
if value, ok := _c.mutation.RefReportNo(); ok {
_spec.SetField(materialrequest.FieldRefReportNo, field.TypeString, value)
_node.RefReportNo = value
}
if value, ok := _c.mutation.NeedAgv(); ok {
_spec.SetField(materialrequest.FieldNeedAgv, field.TypeBool, value)
_node.NeedAgv = value
}
if value, ok := _c.mutation.BatchNo(); ok {
_spec.SetField(materialrequest.FieldBatchNo, field.TypeString, value)
_node.BatchNo = value