334 lines
7.2 KiB
JavaScript
334 lines
7.2 KiB
JavaScript
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: '物联网牛只表'
|
|
});
|
|
|
|
// 关联关系已在 models/index.js 中定义
|
|
// 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;
|