修改管理后台
This commit is contained in:
105
backend/models/CattleBatch.js
Normal file
105
backend/models/CattleBatch.js
Normal file
@@ -0,0 +1,105 @@
|
||||
const { DataTypes } = require('sequelize');
|
||||
const { sequelize } = require('../config/database-simple');
|
||||
|
||||
const CattleBatch = sequelize.define('CattleBatch', {
|
||||
id: {
|
||||
type: DataTypes.INTEGER,
|
||||
primaryKey: true,
|
||||
autoIncrement: true,
|
||||
allowNull: false
|
||||
},
|
||||
name: {
|
||||
type: DataTypes.STRING(200),
|
||||
allowNull: false,
|
||||
comment: '批次名称'
|
||||
},
|
||||
code: {
|
||||
type: DataTypes.STRING(50),
|
||||
allowNull: false,
|
||||
unique: true,
|
||||
comment: '批次编号'
|
||||
},
|
||||
type: {
|
||||
type: DataTypes.ENUM('育成批次', '繁殖批次', '育肥批次', '隔离批次', '治疗批次'),
|
||||
allowNull: false,
|
||||
comment: '批次类型'
|
||||
},
|
||||
startDate: {
|
||||
type: DataTypes.DATE,
|
||||
allowNull: false,
|
||||
field: 'start_date',
|
||||
comment: '开始日期'
|
||||
},
|
||||
expectedEndDate: {
|
||||
type: DataTypes.DATE,
|
||||
allowNull: true,
|
||||
field: 'expected_end_date',
|
||||
comment: '预计结束日期'
|
||||
},
|
||||
actualEndDate: {
|
||||
type: DataTypes.DATE,
|
||||
allowNull: true,
|
||||
field: 'actual_end_date',
|
||||
comment: '实际结束日期'
|
||||
},
|
||||
targetCount: {
|
||||
type: DataTypes.INTEGER,
|
||||
allowNull: false,
|
||||
field: 'target_count',
|
||||
comment: '目标牛只数量'
|
||||
},
|
||||
currentCount: {
|
||||
type: DataTypes.INTEGER,
|
||||
allowNull: false,
|
||||
defaultValue: 0,
|
||||
field: 'current_count',
|
||||
comment: '当前牛只数量'
|
||||
},
|
||||
manager: {
|
||||
type: DataTypes.STRING(100),
|
||||
allowNull: false,
|
||||
comment: '负责人'
|
||||
},
|
||||
status: {
|
||||
type: DataTypes.ENUM('进行中', '已完成', '已暂停'),
|
||||
allowNull: false,
|
||||
defaultValue: '进行中',
|
||||
comment: '状态'
|
||||
},
|
||||
remark: {
|
||||
type: DataTypes.TEXT,
|
||||
allowNull: true,
|
||||
comment: '备注'
|
||||
},
|
||||
farmId: {
|
||||
type: DataTypes.INTEGER,
|
||||
allowNull: true,
|
||||
field: 'farm_id',
|
||||
comment: '所属农场ID'
|
||||
}
|
||||
}, {
|
||||
tableName: 'cattle_batches',
|
||||
timestamps: true,
|
||||
createdAt: 'created_at',
|
||||
updatedAt: 'updated_at',
|
||||
comment: '批次设置表'
|
||||
});
|
||||
|
||||
// 定义关联关系
|
||||
CattleBatch.associate = (models) => {
|
||||
// 批次属于农场
|
||||
CattleBatch.belongsTo(models.Farm, {
|
||||
foreignKey: 'farmId',
|
||||
as: 'farm'
|
||||
});
|
||||
|
||||
// 批次与动物的多对多关系
|
||||
CattleBatch.belongsToMany(models.Animal, {
|
||||
through: 'cattle_batch_animals',
|
||||
foreignKey: 'batch_id',
|
||||
otherKey: 'animal_id',
|
||||
as: 'animals'
|
||||
});
|
||||
};
|
||||
|
||||
module.exports = CattleBatch;
|
||||
Reference in New Issue
Block a user