feat: 完成客户第12条需求+多系统改造
1. 新增预警表添加工单号字段,支持按工单号检索预警 2. 添加工单过滤在制品/绩效报表/预警中心查询 3. 补全WMS台账字段口径与权限配置 4. 修复备料单与数量不符处理流程 5. 新增配送进度/库位联动/自动出库功能 6. 修复AGV配送状态更新逻辑 7. 优化退料与库存管理细节
This commit is contained in:
@@ -24,8 +24,12 @@ type OrderMaterialLedger struct {
|
||||
MaterialName string `json:"materialName,omitempty"`
|
||||
// 物料总需求数量
|
||||
TotalQty int `json:"totalQty,omitempty"`
|
||||
// 累计已出库数量
|
||||
// 累计已发出数量(仅出库写入)
|
||||
OutQty int `json:"outQty,omitempty"`
|
||||
// 累计已退回数量(仅退库收货写入)
|
||||
ReturnedQty int `json:"returnedQty,omitempty"`
|
||||
// 累计已消耗数量(仅报工反冲核销写入;不动库存)
|
||||
ConsumedQty int `json:"consumedQty,omitempty"`
|
||||
// 进行中/领料完结
|
||||
Status string `json:"status,omitempty"`
|
||||
// 目标工位(装配工位号)
|
||||
@@ -46,7 +50,7 @@ func (*OrderMaterialLedger) scanValues(columns []string) ([]any, error) {
|
||||
values := make([]any, len(columns))
|
||||
for i := range columns {
|
||||
switch columns[i] {
|
||||
case ordermaterialledger.FieldID, ordermaterialledger.FieldTotalQty, ordermaterialledger.FieldOutQty, ordermaterialledger.FieldCompletedAt, ordermaterialledger.FieldCreatedAt, ordermaterialledger.FieldUpdatedAt:
|
||||
case ordermaterialledger.FieldID, ordermaterialledger.FieldTotalQty, ordermaterialledger.FieldOutQty, ordermaterialledger.FieldReturnedQty, ordermaterialledger.FieldConsumedQty, ordermaterialledger.FieldCompletedAt, ordermaterialledger.FieldCreatedAt, ordermaterialledger.FieldUpdatedAt:
|
||||
values[i] = new(sql.NullInt64)
|
||||
case ordermaterialledger.FieldOrderNo, ordermaterialledger.FieldMaterialCode, ordermaterialledger.FieldMaterialName, ordermaterialledger.FieldStatus, ordermaterialledger.FieldTargetStation, ordermaterialledger.FieldRemark:
|
||||
values[i] = new(sql.NullString)
|
||||
@@ -101,6 +105,18 @@ func (_m *OrderMaterialLedger) assignValues(columns []string, values []any) erro
|
||||
} else if value.Valid {
|
||||
_m.OutQty = int(value.Int64)
|
||||
}
|
||||
case ordermaterialledger.FieldReturnedQty:
|
||||
if value, ok := values[i].(*sql.NullInt64); !ok {
|
||||
return fmt.Errorf("unexpected type %T for field returned_qty", values[i])
|
||||
} else if value.Valid {
|
||||
_m.ReturnedQty = int(value.Int64)
|
||||
}
|
||||
case ordermaterialledger.FieldConsumedQty:
|
||||
if value, ok := values[i].(*sql.NullInt64); !ok {
|
||||
return fmt.Errorf("unexpected type %T for field consumed_qty", values[i])
|
||||
} else if value.Valid {
|
||||
_m.ConsumedQty = int(value.Int64)
|
||||
}
|
||||
case ordermaterialledger.FieldStatus:
|
||||
if value, ok := values[i].(*sql.NullString); !ok {
|
||||
return fmt.Errorf("unexpected type %T for field status", values[i])
|
||||
@@ -188,6 +204,12 @@ func (_m *OrderMaterialLedger) String() string {
|
||||
builder.WriteString("out_qty=")
|
||||
builder.WriteString(fmt.Sprintf("%v", _m.OutQty))
|
||||
builder.WriteString(", ")
|
||||
builder.WriteString("returned_qty=")
|
||||
builder.WriteString(fmt.Sprintf("%v", _m.ReturnedQty))
|
||||
builder.WriteString(", ")
|
||||
builder.WriteString("consumed_qty=")
|
||||
builder.WriteString(fmt.Sprintf("%v", _m.ConsumedQty))
|
||||
builder.WriteString(", ")
|
||||
builder.WriteString("status=")
|
||||
builder.WriteString(_m.Status)
|
||||
builder.WriteString(", ")
|
||||
|
||||
Reference in New Issue
Block a user