- 新增四步向导流程,简化接线创建过程 - 添加线缆标签、颜色、安装信息等新字段 - 实现端口可视化面板和冲突检测功能 - 新增耗材日志设备关联字段 - 添加耗材导入后台任务管理 - 更新线缆管理文档和使用指南
148 lines
3.6 KiB
JavaScript
148 lines
3.6 KiB
JavaScript
const { DataTypes } = require('sequelize');
|
|
const { sequelize } = require('../db');
|
|
|
|
const ConsumableLog = sequelize.define(
|
|
'ConsumableLog',
|
|
{
|
|
id: {
|
|
type: DataTypes.INTEGER,
|
|
primaryKey: true,
|
|
autoIncrement: true,
|
|
},
|
|
consumableId: {
|
|
type: DataTypes.STRING,
|
|
allowNull: false,
|
|
comment: '耗材ID',
|
|
},
|
|
consumableName: {
|
|
type: DataTypes.STRING,
|
|
allowNull: false,
|
|
comment: '耗材名称',
|
|
},
|
|
operationType: {
|
|
type: DataTypes.ENUM('in', 'out', 'create', 'update', 'delete', 'adjust', 'import'),
|
|
allowNull: false,
|
|
comment: '操作类型',
|
|
},
|
|
quantity: {
|
|
type: DataTypes.INTEGER,
|
|
defaultValue: 0,
|
|
comment: '变动数量(入库为正,出库为负)',
|
|
},
|
|
previousStock: {
|
|
type: DataTypes.INTEGER,
|
|
allowNull: false,
|
|
comment: '操作前库存',
|
|
},
|
|
currentStock: {
|
|
type: DataTypes.INTEGER,
|
|
allowNull: false,
|
|
comment: '操作后库存',
|
|
},
|
|
operator: {
|
|
type: DataTypes.STRING,
|
|
comment: '操作人',
|
|
},
|
|
reason: {
|
|
type: DataTypes.STRING,
|
|
comment: '操作原因',
|
|
},
|
|
notes: {
|
|
type: DataTypes.TEXT,
|
|
comment: '备注',
|
|
},
|
|
relatedId: {
|
|
type: DataTypes.STRING,
|
|
comment: '关联ID(如订单号、盘点ID等)',
|
|
},
|
|
isEditable: {
|
|
type: DataTypes.BOOLEAN,
|
|
defaultValue: true,
|
|
comment: '是否可编辑(创建、导入的记录可编辑,系统生成的出入库记录不可编辑)',
|
|
},
|
|
originalLogId: {
|
|
type: DataTypes.INTEGER,
|
|
allowNull: true,
|
|
comment: '原始日志ID(用于追踪修改历史链)',
|
|
},
|
|
modifiedBy: {
|
|
type: DataTypes.STRING,
|
|
allowNull: true,
|
|
comment: '修改人',
|
|
},
|
|
modifiedAt: {
|
|
type: DataTypes.DATE,
|
|
allowNull: true,
|
|
comment: '修改时间',
|
|
},
|
|
modificationReason: {
|
|
type: DataTypes.STRING,
|
|
allowNull: true,
|
|
comment: '修改原因',
|
|
},
|
|
isConsumableDeleted: {
|
|
type: DataTypes.BOOLEAN,
|
|
defaultValue: false,
|
|
comment: '关联耗材是否已被删除',
|
|
},
|
|
consumableSnapshot: {
|
|
type: DataTypes.JSON,
|
|
allowNull: true,
|
|
comment: '耗材快照信息(分类、单位、供应商等),用于耗材删除后追溯',
|
|
},
|
|
snList: {
|
|
type: DataTypes.JSON,
|
|
allowNull: true,
|
|
defaultValue: [],
|
|
comment: '本次操作的SN序列号列表',
|
|
},
|
|
deviceId: {
|
|
type: DataTypes.STRING,
|
|
allowNull: true,
|
|
comment: '目标设备ID(出库时关联)',
|
|
},
|
|
deviceName: {
|
|
type: DataTypes.STRING,
|
|
allowNull: true,
|
|
comment: '目标设备名称',
|
|
},
|
|
rackId: {
|
|
type: DataTypes.STRING,
|
|
allowNull: true,
|
|
comment: '机柜ID',
|
|
},
|
|
rackName: {
|
|
type: DataTypes.STRING,
|
|
allowNull: true,
|
|
comment: '机柜名称',
|
|
},
|
|
roomId: {
|
|
type: DataTypes.STRING,
|
|
allowNull: true,
|
|
comment: '机房ID',
|
|
},
|
|
roomName: {
|
|
type: DataTypes.STRING,
|
|
allowNull: true,
|
|
comment: '机房名称',
|
|
},
|
|
},
|
|
{
|
|
tableName: 'consumable_logs',
|
|
timestamps: true,
|
|
comment: '耗材操作日志表',
|
|
indexes: [
|
|
{ fields: ['consumableId'] },
|
|
{ fields: ['operationType'] },
|
|
{ fields: ['createdAt'] },
|
|
{ fields: ['consumableId', 'createdAt'] },
|
|
{ fields: ['originalLogId'] },
|
|
{ fields: ['isEditable'] },
|
|
{ fields: ['isConsumableDeleted'] },
|
|
{ fields: ['deviceId'] },
|
|
],
|
|
}
|
|
);
|
|
|
|
module.exports = ConsumableLog;
|