feat: 新增检测单关联、基础数据优化与入库单升级

1. 新增出库单检测单号字段并添加索引支持溯源
2. 优化基础数据页面物料类型展示与选择逻辑
3. 升级入库单导入功能,支持自动生成单号并返回导入结果
4. 优化接驳台查询排序方式
5. 修复字符串拼接空格问题
This commit is contained in:
SunYF
2026-09-21 15:28:14 +08:00
parent 0e769f3813
commit 12ca493c61
70 changed files with 25782 additions and 119 deletions
+12 -1
View File
@@ -66,6 +66,8 @@ type OutboundOrder struct {
BoxSnList string `json:"boxSnList,omitempty"`
// 合同号(装箱选填)
ContractNo string `json:"contractNo,omitempty"`
// 检测单号(溯源关联检验单据)
InspectionNo string `json:"inspectionNo,omitempty"`
// 创建时间
CreatedAt int64 `json:"createdAt,omitempty"`
selectValues sql.SelectValues
@@ -80,7 +82,7 @@ func (*OutboundOrder) scanValues(columns []string) ([]any, error) {
values[i] = new(sql.NullBool)
case outboundorder.FieldID, outboundorder.FieldManageMode, outboundorder.FieldQuantity, outboundorder.FieldCreatedAt:
values[i] = new(sql.NullInt64)
case outboundorder.FieldOutboundNo, outboundorder.FieldOutboundType, outboundorder.FieldStatus, outboundorder.FieldOutboundCategory, outboundorder.FieldOwnershipType, outboundorder.FieldOwnershipNo, outboundorder.FieldTargetStation, outboundorder.FieldOrderNo, outboundorder.FieldMaterialCode, outboundorder.FieldMaterialName, outboundorder.FieldBatchNo, outboundorder.FieldZoneCode, outboundorder.FieldShelfNo, outboundorder.FieldLayerNo, outboundorder.FieldPositionNo, outboundorder.FieldOperator, outboundorder.FieldReviewer, outboundorder.FieldTargetDock, outboundorder.FieldRemark, outboundorder.FieldBoxNo, outboundorder.FieldBoxSnList, outboundorder.FieldContractNo:
case outboundorder.FieldOutboundNo, outboundorder.FieldOutboundType, outboundorder.FieldStatus, outboundorder.FieldOutboundCategory, outboundorder.FieldOwnershipType, outboundorder.FieldOwnershipNo, outboundorder.FieldTargetStation, outboundorder.FieldOrderNo, outboundorder.FieldMaterialCode, outboundorder.FieldMaterialName, outboundorder.FieldBatchNo, outboundorder.FieldZoneCode, outboundorder.FieldShelfNo, outboundorder.FieldLayerNo, outboundorder.FieldPositionNo, outboundorder.FieldOperator, outboundorder.FieldReviewer, outboundorder.FieldTargetDock, outboundorder.FieldRemark, outboundorder.FieldBoxNo, outboundorder.FieldBoxSnList, outboundorder.FieldContractNo, outboundorder.FieldInspectionNo:
values[i] = new(sql.NullString)
default:
values[i] = new(sql.UnknownType)
@@ -253,6 +255,12 @@ func (_m *OutboundOrder) assignValues(columns []string, values []any) error {
} else if value.Valid {
_m.ContractNo = value.String
}
case outboundorder.FieldInspectionNo:
if value, ok := values[i].(*sql.NullString); !ok {
return fmt.Errorf("unexpected type %T for field inspection_no", values[i])
} else if value.Valid {
_m.InspectionNo = value.String
}
case outboundorder.FieldCreatedAt:
if value, ok := values[i].(*sql.NullInt64); !ok {
return fmt.Errorf("unexpected type %T for field created_at", values[i])
@@ -370,6 +378,9 @@ func (_m *OutboundOrder) String() string {
builder.WriteString("contract_no=")
builder.WriteString(_m.ContractNo)
builder.WriteString(", ")
builder.WriteString("inspection_no=")
builder.WriteString(_m.InspectionNo)
builder.WriteString(", ")
builder.WriteString("created_at=")
builder.WriteString(fmt.Sprintf("%v", _m.CreatedAt))
builder.WriteByte(')')