201 lines
5.3 KiB
JavaScript
201 lines
5.3 KiB
JavaScript
const { Project, User } = require('../models');
|
|
const { sequelize } = require('../config/database');
|
|
|
|
// 项目测试数据
|
|
const projectsData = [
|
|
{
|
|
name: '张洪彬',
|
|
status: 'completed',
|
|
farmName: '大数据中心',
|
|
supervisionObject: '牛',
|
|
supervisionQuantity: 10,
|
|
supervisionPeriod: '23天',
|
|
supervisionAmount: 10000.00,
|
|
startTime: '2024-02-21',
|
|
endTime: '2024-03-15',
|
|
earTag: 0,
|
|
collar: 0,
|
|
host: 0,
|
|
loanOfficer: 'mapleaf',
|
|
description: '大数据中心养殖项目'
|
|
},
|
|
{
|
|
name: '田小平',
|
|
status: 'completed',
|
|
farmName: '139****5685_养殖场',
|
|
supervisionObject: '牛',
|
|
supervisionQuantity: 0,
|
|
supervisionPeriod: '0天',
|
|
supervisionAmount: 0.00,
|
|
startTime: '2022-12-12',
|
|
endTime: '2023-12-12',
|
|
earTag: 0,
|
|
collar: 0,
|
|
host: 0,
|
|
loanOfficer: '',
|
|
description: '田小平养殖场项目'
|
|
},
|
|
{
|
|
name: '杜宝民',
|
|
status: 'completed',
|
|
farmName: '杜宝民养殖场',
|
|
supervisionObject: '牛',
|
|
supervisionQuantity: 1,
|
|
supervisionPeriod: '20天',
|
|
supervisionAmount: 1000000.00,
|
|
startTime: '2023-05-08',
|
|
endTime: '2028-05-08',
|
|
earTag: 0,
|
|
collar: 0,
|
|
host: 0,
|
|
loanOfficer: 'mapleaf',
|
|
description: '杜宝民养殖场长期项目'
|
|
},
|
|
{
|
|
name: '满良',
|
|
status: 'completed',
|
|
farmName: '满良养殖场',
|
|
supervisionObject: '牛',
|
|
supervisionQuantity: 30,
|
|
supervisionPeriod: '365天',
|
|
supervisionAmount: 420000.00,
|
|
startTime: '2023-01-01',
|
|
endTime: '2024-01-01',
|
|
earTag: 0,
|
|
collar: 0,
|
|
host: 0,
|
|
loanOfficer: 'mapleaf',
|
|
description: '满良养殖场年度项目'
|
|
},
|
|
{
|
|
name: '敖日布仁琴',
|
|
status: 'supervision',
|
|
farmName: '敖日布仁琴养殖场',
|
|
supervisionObject: '牛',
|
|
supervisionQuantity: 38,
|
|
supervisionPeriod: '1827天',
|
|
supervisionAmount: 530000.00,
|
|
startTime: '2019-01-01',
|
|
endTime: '2024-01-01',
|
|
earTag: 0,
|
|
collar: 0,
|
|
host: 0,
|
|
loanOfficer: 'mapleaf',
|
|
description: '敖日布仁琴养殖场长期监管项目'
|
|
},
|
|
{
|
|
name: '那顺乌日图',
|
|
status: 'supervision',
|
|
farmName: '那顺乌日图养殖场',
|
|
supervisionObject: '牛',
|
|
supervisionQuantity: 36,
|
|
supervisionPeriod: '1827天',
|
|
supervisionAmount: 500000.00,
|
|
startTime: '2019-01-01',
|
|
endTime: '2024-01-01',
|
|
earTag: 0,
|
|
collar: 0,
|
|
host: 0,
|
|
loanOfficer: 'mapleaf',
|
|
description: '那顺乌日图养殖场长期监管项目'
|
|
},
|
|
{
|
|
name: '巴特尔',
|
|
status: 'supervision',
|
|
farmName: '巴特尔养殖场',
|
|
supervisionObject: '牛',
|
|
supervisionQuantity: 41,
|
|
supervisionPeriod: '1827天',
|
|
supervisionAmount: 570000.00,
|
|
startTime: '2019-01-01',
|
|
endTime: '2024-01-01',
|
|
earTag: 0,
|
|
collar: 0,
|
|
host: 0,
|
|
loanOfficer: 'mapleaf',
|
|
description: '巴特尔养殖场长期监管项目'
|
|
},
|
|
{
|
|
name: '王五',
|
|
status: 'completed',
|
|
farmName: '王五养殖场',
|
|
supervisionObject: '牛',
|
|
supervisionQuantity: 50,
|
|
supervisionPeriod: '365天',
|
|
supervisionAmount: 700000.00,
|
|
startTime: '2023-01-01',
|
|
endTime: '2024-01-01',
|
|
earTag: 0,
|
|
collar: 0,
|
|
host: 0,
|
|
loanOfficer: 'mapleaf',
|
|
description: '王五养殖场年度项目'
|
|
}
|
|
];
|
|
|
|
async function seedProjects() {
|
|
try {
|
|
console.log('开始创建项目测试数据...');
|
|
|
|
// 测试数据库连接
|
|
await sequelize.authenticate();
|
|
console.log('✅ 数据库连接成功');
|
|
|
|
// 查找管理员用户作为创建人
|
|
const adminUser = await User.findOne({ where: { username: 'admin' } });
|
|
const createdBy = adminUser ? adminUser.id : null;
|
|
|
|
// 清空现有项目数据
|
|
await Project.destroy({ where: {} });
|
|
console.log('✅ 清空现有项目数据');
|
|
|
|
// 创建项目数据
|
|
for (const projectData of projectsData) {
|
|
await Project.create({
|
|
...projectData,
|
|
createdBy: createdBy,
|
|
updatedBy: createdBy
|
|
});
|
|
}
|
|
|
|
console.log(`✅ 成功创建 ${projectsData.length} 个项目`);
|
|
|
|
// 验证数据
|
|
const projectCount = await Project.count();
|
|
console.log(`📊 数据库中现有项目数量: ${projectCount}`);
|
|
|
|
// 显示统计信息
|
|
const supervisionCount = await Project.count({ where: { status: 'supervision' } });
|
|
const completedCount = await Project.count({ where: { status: 'completed' } });
|
|
const totalAmount = await Project.sum('supervisionAmount');
|
|
const totalQuantity = await Project.sum('supervisionQuantity');
|
|
|
|
console.log('\n📈 项目统计信息:');
|
|
console.log(` 监管中项目: ${supervisionCount}`);
|
|
console.log(` 已结项项目: ${completedCount}`);
|
|
console.log(` 总监管金额: ${totalAmount?.toFixed(2) || 0} 元`);
|
|
console.log(` 总监管数量: ${totalQuantity || 0} 头`);
|
|
|
|
console.log('\n🎉 项目数据创建完成!');
|
|
|
|
} catch (error) {
|
|
console.error('❌ 创建项目数据失败:', error);
|
|
throw error;
|
|
}
|
|
}
|
|
|
|
// 如果直接运行此脚本
|
|
if (require.main === module) {
|
|
seedProjects()
|
|
.then(() => {
|
|
console.log('✅ 脚本执行完成');
|
|
process.exit(0);
|
|
})
|
|
.catch((error) => {
|
|
console.error('❌ 脚本执行失败:', error);
|
|
process.exit(1);
|
|
});
|
|
}
|
|
|
|
module.exports = seedProjects;
|