修改管理后台
This commit is contained in:
333
backend/models/IotCattle.js
Normal file
333
backend/models/IotCattle.js
Normal file
@@ -0,0 +1,333 @@
|
||||
const { DataTypes } = require('sequelize');
|
||||
const { sequelize } = require('../config/database-simple');
|
||||
|
||||
const IotCattle = sequelize.define('IotCattle', {
|
||||
id: {
|
||||
type: DataTypes.INTEGER,
|
||||
primaryKey: true,
|
||||
autoIncrement: true,
|
||||
allowNull: false,
|
||||
field: 'id'
|
||||
},
|
||||
orgId: {
|
||||
type: DataTypes.INTEGER,
|
||||
allowNull: false,
|
||||
field: 'org_id',
|
||||
comment: '组织ID'
|
||||
},
|
||||
earNumber: {
|
||||
type: DataTypes.BIGINT,
|
||||
allowNull: false,
|
||||
field: 'ear_number',
|
||||
comment: '耳标号'
|
||||
},
|
||||
sex: {
|
||||
type: DataTypes.TINYINT,
|
||||
allowNull: false,
|
||||
field: 'sex',
|
||||
comment: '性别'
|
||||
},
|
||||
strain: {
|
||||
type: DataTypes.TINYINT,
|
||||
allowNull: false,
|
||||
field: 'strain',
|
||||
comment: '品系'
|
||||
},
|
||||
varieties: {
|
||||
type: DataTypes.TINYINT,
|
||||
allowNull: false,
|
||||
field: 'varieties',
|
||||
comment: '品种'
|
||||
},
|
||||
cate: {
|
||||
type: DataTypes.TINYINT,
|
||||
allowNull: false,
|
||||
field: 'cate',
|
||||
comment: '类别'
|
||||
},
|
||||
birthWeight: {
|
||||
type: DataTypes.DECIMAL(10, 2),
|
||||
allowNull: false,
|
||||
field: 'birth_weight',
|
||||
comment: '出生体重'
|
||||
},
|
||||
birthday: {
|
||||
type: DataTypes.INTEGER,
|
||||
allowNull: false,
|
||||
field: 'birthday',
|
||||
comment: '出生日期'
|
||||
},
|
||||
penId: {
|
||||
type: DataTypes.INTEGER,
|
||||
allowNull: true,
|
||||
field: 'pen_id',
|
||||
comment: '栏舍ID'
|
||||
},
|
||||
intoTime: {
|
||||
type: DataTypes.INTEGER,
|
||||
allowNull: false,
|
||||
field: 'into_time',
|
||||
comment: '入栏时间'
|
||||
},
|
||||
parity: {
|
||||
type: DataTypes.INTEGER,
|
||||
allowNull: false,
|
||||
field: 'parity',
|
||||
comment: '胎次'
|
||||
},
|
||||
source: {
|
||||
type: DataTypes.TINYINT,
|
||||
allowNull: false,
|
||||
field: 'source',
|
||||
comment: '来源'
|
||||
},
|
||||
sourceDay: {
|
||||
type: DataTypes.INTEGER,
|
||||
allowNull: false,
|
||||
field: 'source_day',
|
||||
comment: '来源天数'
|
||||
},
|
||||
sourceWeight: {
|
||||
type: DataTypes.DECIMAL(10, 2),
|
||||
allowNull: false,
|
||||
field: 'source_weight',
|
||||
comment: '来源体重'
|
||||
},
|
||||
weight: {
|
||||
type: DataTypes.DOUBLE(11, 2),
|
||||
allowNull: false,
|
||||
field: 'weight',
|
||||
comment: '当前体重'
|
||||
},
|
||||
event: {
|
||||
type: DataTypes.TINYINT,
|
||||
allowNull: false,
|
||||
field: 'event',
|
||||
comment: '事件'
|
||||
},
|
||||
eventTime: {
|
||||
type: DataTypes.INTEGER,
|
||||
allowNull: false,
|
||||
field: 'event_time',
|
||||
comment: '事件时间'
|
||||
},
|
||||
lactationDay: {
|
||||
type: DataTypes.INTEGER,
|
||||
allowNull: false,
|
||||
field: 'lactation_day',
|
||||
comment: '泌乳天数'
|
||||
},
|
||||
semenNum: {
|
||||
type: DataTypes.STRING(30),
|
||||
allowNull: false,
|
||||
field: 'semen_num',
|
||||
comment: '精液编号'
|
||||
},
|
||||
isWear: {
|
||||
type: DataTypes.TINYINT,
|
||||
allowNull: false,
|
||||
field: 'is_wear',
|
||||
comment: '是否佩戴设备'
|
||||
},
|
||||
batchId: {
|
||||
type: DataTypes.INTEGER,
|
||||
allowNull: false,
|
||||
field: 'batch_id',
|
||||
comment: '批次ID'
|
||||
},
|
||||
imgs: {
|
||||
type: DataTypes.STRING(800),
|
||||
allowNull: false,
|
||||
field: 'imgs',
|
||||
comment: '图片'
|
||||
},
|
||||
isEleAuth: {
|
||||
type: DataTypes.TINYINT,
|
||||
allowNull: false,
|
||||
field: 'is_ele_auth',
|
||||
comment: '是否电子认证'
|
||||
},
|
||||
isQuaAuth: {
|
||||
type: DataTypes.TINYINT,
|
||||
allowNull: false,
|
||||
field: 'is_qua_auth',
|
||||
comment: '是否质量认证'
|
||||
},
|
||||
isDelete: {
|
||||
type: DataTypes.INTEGER,
|
||||
allowNull: false,
|
||||
field: 'is_delete',
|
||||
comment: '是否删除'
|
||||
},
|
||||
isOut: {
|
||||
type: DataTypes.INTEGER,
|
||||
allowNull: false,
|
||||
field: 'is_out',
|
||||
comment: '是否出栏'
|
||||
},
|
||||
createUid: {
|
||||
type: DataTypes.INTEGER,
|
||||
allowNull: false,
|
||||
field: 'create_uid',
|
||||
comment: '创建人ID'
|
||||
},
|
||||
createTime: {
|
||||
type: DataTypes.INTEGER,
|
||||
allowNull: false,
|
||||
field: 'create_time',
|
||||
comment: '创建时间'
|
||||
},
|
||||
algebra: {
|
||||
type: DataTypes.INTEGER,
|
||||
allowNull: false,
|
||||
field: 'algebra',
|
||||
comment: '代数'
|
||||
},
|
||||
colour: {
|
||||
type: DataTypes.TEXT,
|
||||
allowNull: false,
|
||||
field: 'colour',
|
||||
comment: '毛色'
|
||||
},
|
||||
infoWeight: {
|
||||
type: DataTypes.DECIMAL(10, 2),
|
||||
allowNull: false,
|
||||
field: 'info_weight',
|
||||
comment: '信息体重'
|
||||
},
|
||||
descent: {
|
||||
type: DataTypes.TINYINT,
|
||||
allowNull: false,
|
||||
field: 'descent',
|
||||
comment: '血统'
|
||||
},
|
||||
isVaccin: {
|
||||
type: DataTypes.TINYINT,
|
||||
allowNull: false,
|
||||
field: 'is_vaccin',
|
||||
comment: '是否接种疫苗'
|
||||
},
|
||||
isInsemination: {
|
||||
type: DataTypes.TINYINT,
|
||||
allowNull: false,
|
||||
field: 'is_insemination',
|
||||
comment: '是否人工授精'
|
||||
},
|
||||
isInsure: {
|
||||
type: DataTypes.TINYINT,
|
||||
allowNull: false,
|
||||
field: 'is_insure',
|
||||
comment: '是否投保'
|
||||
},
|
||||
isMortgage: {
|
||||
type: DataTypes.TINYINT,
|
||||
allowNull: false,
|
||||
field: 'is_mortgage',
|
||||
comment: '是否抵押'
|
||||
},
|
||||
updateTime: {
|
||||
type: DataTypes.INTEGER,
|
||||
allowNull: false,
|
||||
field: 'update_time',
|
||||
comment: '更新时间'
|
||||
},
|
||||
breedBullTime: {
|
||||
type: DataTypes.INTEGER,
|
||||
allowNull: false,
|
||||
field: 'breed_bull_time',
|
||||
comment: '配种时间'
|
||||
},
|
||||
level: {
|
||||
type: DataTypes.TINYINT,
|
||||
allowNull: false,
|
||||
field: 'level',
|
||||
comment: '等级'
|
||||
},
|
||||
sixWeight: {
|
||||
type: DataTypes.DECIMAL(10, 2),
|
||||
allowNull: false,
|
||||
field: 'six_weight',
|
||||
comment: '6月龄体重'
|
||||
},
|
||||
eighteenWeight: {
|
||||
type: DataTypes.DECIMAL(10, 2),
|
||||
allowNull: false,
|
||||
field: 'eighteen_weight',
|
||||
comment: '18月龄体重'
|
||||
},
|
||||
twelveDayWeight: {
|
||||
type: DataTypes.DECIMAL(10, 2),
|
||||
allowNull: false,
|
||||
field: 'twelve_day_weight',
|
||||
comment: '12日龄体重'
|
||||
},
|
||||
eighteenDayWeight: {
|
||||
type: DataTypes.DECIMAL(10, 2),
|
||||
allowNull: false,
|
||||
field: 'eighteen_day_weight',
|
||||
comment: '18日龄体重'
|
||||
},
|
||||
xxivDayWeight: {
|
||||
type: DataTypes.DECIMAL(10, 2),
|
||||
allowNull: false,
|
||||
field: 'xxiv_day_weight',
|
||||
comment: '24日龄体重'
|
||||
},
|
||||
semenBreedImgs: {
|
||||
type: DataTypes.STRING(800),
|
||||
allowNull: false,
|
||||
field: 'semen_breed_imgs',
|
||||
comment: '精液配种图片'
|
||||
},
|
||||
sellStatus: {
|
||||
type: DataTypes.SMALLINT,
|
||||
allowNull: false,
|
||||
field: 'sell_status',
|
||||
comment: '销售状态'
|
||||
},
|
||||
weightCalculateTime: {
|
||||
type: DataTypes.DATE,
|
||||
allowNull: true,
|
||||
field: 'weight_calculate_time',
|
||||
comment: '体重计算时间'
|
||||
},
|
||||
dayOfBirthday: {
|
||||
type: DataTypes.INTEGER,
|
||||
allowNull: true,
|
||||
field: 'day_of_birthday',
|
||||
comment: '出生天数'
|
||||
}
|
||||
}, {
|
||||
tableName: 'iot_cattle',
|
||||
timestamps: false, // iot_cattle表没有created_at和updated_at字段
|
||||
comment: '物联网牛只表'
|
||||
});
|
||||
|
||||
// 定义关联关系
|
||||
IotCattle.associate = (models) => {
|
||||
// 关联到农场
|
||||
IotCattle.belongsTo(models.Farm, {
|
||||
foreignKey: 'orgId',
|
||||
as: 'farm'
|
||||
});
|
||||
|
||||
// 关联到批次
|
||||
IotCattle.belongsTo(models.CattleBatch, {
|
||||
foreignKey: 'batchId',
|
||||
as: 'batch'
|
||||
});
|
||||
|
||||
// 关联到栏舍
|
||||
IotCattle.belongsTo(models.CattlePen, {
|
||||
foreignKey: 'penId',
|
||||
as: 'pen'
|
||||
});
|
||||
|
||||
// 关联到围栏
|
||||
IotCattle.belongsTo(models.ElectronicFence, {
|
||||
foreignKey: 'fenceId',
|
||||
as: 'fence'
|
||||
});
|
||||
};
|
||||
|
||||
module.exports = IotCattle;
|
||||
Reference in New Issue
Block a user