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
+12 -1
View File
@@ -70,6 +70,8 @@ type Inventory struct {
RecordedAt int64 `json:"recordedAt,omitempty"`
// 出库原因(半成品/成品出库用)
OutboundReason string `json:"outboundReason,omitempty"`
// 盘点冻结标记(进行中盘点单号;空=未冻结)
StocktakeNo string `json:"stocktakeNo,omitempty"`
// 备注
Remark string `json:"remark,omitempty"`
// CreatedAt holds the value of the "created_at" field.
@@ -86,7 +88,7 @@ func (*Inventory) scanValues(columns []string) ([]any, error) {
switch columns[i] {
case inventory.FieldID, inventory.FieldManageMode, inventory.FieldCategory, inventory.FieldQuantity, inventory.FieldLockedQty, inventory.FieldRecordedAt, inventory.FieldCreatedAt, inventory.FieldUpdatedAt:
values[i] = new(sql.NullInt64)
case inventory.FieldMaterialCode, inventory.FieldMaterialName, inventory.FieldBatchNo, inventory.FieldSnCode, inventory.FieldQualityStatus, inventory.FieldZoneCode, inventory.FieldShelfNo, inventory.FieldLayerNo, inventory.FieldPositionNo, inventory.FieldStatus, inventory.FieldProductionDate, inventory.FieldSupplier, inventory.FieldInboundNo, inventory.FieldOrderNo, inventory.FieldCompletedProcess, inventory.FieldOwnershipType, inventory.FieldOwnershipNo, inventory.FieldProductStatus, inventory.FieldRelatedStandard, inventory.FieldTestRecordNo, inventory.FieldRecordedBy, inventory.FieldOutboundReason, inventory.FieldRemark:
case inventory.FieldMaterialCode, inventory.FieldMaterialName, inventory.FieldBatchNo, inventory.FieldSnCode, inventory.FieldQualityStatus, inventory.FieldZoneCode, inventory.FieldShelfNo, inventory.FieldLayerNo, inventory.FieldPositionNo, inventory.FieldStatus, inventory.FieldProductionDate, inventory.FieldSupplier, inventory.FieldInboundNo, inventory.FieldOrderNo, inventory.FieldCompletedProcess, inventory.FieldOwnershipType, inventory.FieldOwnershipNo, inventory.FieldProductStatus, inventory.FieldRelatedStandard, inventory.FieldTestRecordNo, inventory.FieldRecordedBy, inventory.FieldOutboundReason, inventory.FieldStocktakeNo, inventory.FieldRemark:
values[i] = new(sql.NullString)
default:
values[i] = new(sql.UnknownType)
@@ -271,6 +273,12 @@ func (_m *Inventory) assignValues(columns []string, values []any) error {
} else if value.Valid {
_m.OutboundReason = value.String
}
case inventory.FieldStocktakeNo:
if value, ok := values[i].(*sql.NullString); !ok {
return fmt.Errorf("unexpected type %T for field stocktake_no", values[i])
} else if value.Valid {
_m.StocktakeNo = value.String
}
case inventory.FieldRemark:
if value, ok := values[i].(*sql.NullString); !ok {
return fmt.Errorf("unexpected type %T for field remark", values[i])
@@ -406,6 +414,9 @@ func (_m *Inventory) String() string {
builder.WriteString("outbound_reason=")
builder.WriteString(_m.OutboundReason)
builder.WriteString(", ")
builder.WriteString("stocktake_no=")
builder.WriteString(_m.StocktakeNo)
builder.WriteString(", ")
builder.WriteString("remark=")
builder.WriteString(_m.Remark)
builder.WriteString(", ")