const { DataTypes } = require('sequelize'); const { sequelize } = require('../db'); /** * 耗材操作日志归档表 * 用于存储被删除耗材的历史操作记录 */ const ConsumableLogArchive = sequelize.define('ConsumableLogArchive', { id: { type: DataTypes.INTEGER, primaryKey: true, autoIncrement: true }, archiveId: { type: DataTypes.STRING, allowNull: false, comment: '归档记录唯一标识' }, consumableId: { type: DataTypes.STRING, allowNull: false, comment: '被删除的耗材ID' }, consumableName: { type: DataTypes.STRING, allowNull: false, comment: '耗材名称' }, consumableSnapshot: { type: DataTypes.JSON, allowNull: true, comment: '耗材快照信息' }, totalOperations: { type: DataTypes.INTEGER, defaultValue: 0, comment: '操作记录总数' }, firstOperationAt: { type: DataTypes.DATE, comment: '首次操作时间' }, lastOperationAt: { type: DataTypes.DATE, comment: '最后操作时间' }, totalInQuantity: { type: DataTypes.INTEGER, defaultValue: 0, comment: '总入库数量' }, totalOutQuantity: { type: DataTypes.INTEGER, defaultValue: 0, comment: '总出库数量' }, finalStock: { type: DataTypes.INTEGER, defaultValue: 0, comment: '删除时库存' }, deletedBy: { type: DataTypes.STRING, comment: '删除人' }, deletedAt: { type: DataTypes.DATE, comment: '删除时间' }, deleteReason: { type: DataTypes.STRING, comment: '删除原因' } }, { tableName: 'consumable_log_archives', timestamps: true, comment: '耗材操作日志归档表', indexes: [ { fields: ['consumableId'] }, { fields: ['archiveId'] }, { fields: ['deletedAt'] }, { fields: ['consumableId', 'deletedAt'] } ] }); module.exports = ConsumableLogArchive;