docs(deployment): 更新部署手册和业务架构说明

- 更新MES和WMS服务端口配置说明
- 详细说明产线工位设备配置(扫码枪+拧紧枪)
- 明确AGV配送和接驳台的模拟模式与真实对接方案
- 更新WMS中AGV配送默认模拟模式说明
- 完善厂内物流(AGV/接驳台)的业务架构约束
- 修订临时文档为详细的项目问题和解决方案规划
This commit is contained in:
SunYF
2026-09-20 14:52:36 +08:00
parent 5a33028003
commit f35e9b5b75
57 changed files with 6096 additions and 1000 deletions
+24 -2
View File
@@ -40,6 +40,10 @@ type StocktakeItem struct {
DiffQty int `json:"diffQty,omitempty"`
// 是否已扫码
Counted bool `json:"counted,omitempty"`
// 实盘人(扫码录入者)
CountedBy string `json:"countedBy,omitempty"`
// 实盘时间(unix 秒)
CountedAt int64 `json:"countedAt,omitempty"`
// UpdatedAt holds the value of the "updated_at" field.
UpdatedAt int64 `json:"updatedAt,omitempty"`
selectValues sql.SelectValues
@@ -52,9 +56,9 @@ func (*StocktakeItem) scanValues(columns []string) ([]any, error) {
switch columns[i] {
case stocktakeitem.FieldCounted:
values[i] = new(sql.NullBool)
case stocktakeitem.FieldID, stocktakeitem.FieldBookQty, stocktakeitem.FieldScannedQty, stocktakeitem.FieldDiffQty, stocktakeitem.FieldUpdatedAt:
case stocktakeitem.FieldID, stocktakeitem.FieldBookQty, stocktakeitem.FieldScannedQty, stocktakeitem.FieldDiffQty, stocktakeitem.FieldCountedAt, stocktakeitem.FieldUpdatedAt:
values[i] = new(sql.NullInt64)
case stocktakeitem.FieldStocktakeNo, stocktakeitem.FieldTargetType, stocktakeitem.FieldTargetID, stocktakeitem.FieldMaterialCode, stocktakeitem.FieldZoneCode, stocktakeitem.FieldShelfNo, stocktakeitem.FieldLayerNo, stocktakeitem.FieldPositionNo:
case stocktakeitem.FieldStocktakeNo, stocktakeitem.FieldTargetType, stocktakeitem.FieldTargetID, stocktakeitem.FieldMaterialCode, stocktakeitem.FieldZoneCode, stocktakeitem.FieldShelfNo, stocktakeitem.FieldLayerNo, stocktakeitem.FieldPositionNo, stocktakeitem.FieldCountedBy:
values[i] = new(sql.NullString)
default:
values[i] = new(sql.UnknownType)
@@ -149,6 +153,18 @@ func (_m *StocktakeItem) assignValues(columns []string, values []any) error {
} else if value.Valid {
_m.Counted = value.Bool
}
case stocktakeitem.FieldCountedBy:
if value, ok := values[i].(*sql.NullString); !ok {
return fmt.Errorf("unexpected type %T for field counted_by", values[i])
} else if value.Valid {
_m.CountedBy = value.String
}
case stocktakeitem.FieldCountedAt:
if value, ok := values[i].(*sql.NullInt64); !ok {
return fmt.Errorf("unexpected type %T for field counted_at", values[i])
} else if value.Valid {
_m.CountedAt = value.Int64
}
case stocktakeitem.FieldUpdatedAt:
if value, ok := values[i].(*sql.NullInt64); !ok {
return fmt.Errorf("unexpected type %T for field updated_at", values[i])
@@ -227,6 +243,12 @@ func (_m *StocktakeItem) String() string {
builder.WriteString("counted=")
builder.WriteString(fmt.Sprintf("%v", _m.Counted))
builder.WriteString(", ")
builder.WriteString("counted_by=")
builder.WriteString(_m.CountedBy)
builder.WriteString(", ")
builder.WriteString("counted_at=")
builder.WriteString(fmt.Sprintf("%v", _m.CountedAt))
builder.WriteString(", ")
builder.WriteString("updated_at=")
builder.WriteString(fmt.Sprintf("%v", _m.UpdatedAt))
builder.WriteByte(')')