明树Git Lab

Commit 549e15fa authored by zfp1's avatar zfp1

update

parent 1da64ebe
let a = [{a: 1}, {a:2}];
a = a.map(o => {return {id: o.a}});
console.log(a);
\ No newline at end of file
......@@ -51,9 +51,12 @@ async function createProject(req, res, next) {
1.处理特殊字段:
projectJsgms :关联建设规模表
projectGdxxs : 关联股东信息表
projectXmtzzes :关联项目投资额表
// projectXmtzzes :关联项目投资额表 --- 废弃 --改为直接存入
projectBjtjs :关联项目核心边界条件表
projectSpyjs :关联审批意见表
projectFxgl: 关联 风险管理
projectTzzt: 关联 投资主体审核
projectZqrz: 关联 债权融资
lxzl :关联projectFiles-File文件表
lxpfwj :关联projectFiles-File文件表
xgshcl :关联projectFiles-File文件表
......@@ -74,14 +77,26 @@ async function createProject(req, res, next) {
let projectBjtjs = body.projectBjtjs || [];
projectBjtjs = projectBjtjs.map(o => { o.projectId = project.id; return o });
await DB.ProjectBjtj.bulkCreate(projectBjtjs);
// 处理 projectXmtzzes
let projectXmtzzes = body.projectXmtzzes || [];
projectXmtzzes = utils.disTree(projectXmtzzes);
projectXmtzzes = projectXmtzzes.map(o => { o.projectId = project.id; return o });
await DB.ProjectXmtzze.bulkCreate(projectXmtzzes);
// 处理 projectFxgl
let projectFxgls = body.projectFxgls || [];
projectFxgls = projectFxgls.map(o => { o.projectId = project.id; return o });
await DB.ProjectFxgl.bulkCreate(projectFxgls);
// 处理 projectFxgl
let projectTzzts = body.projectTzzts || [];
projectTzzts = projectTzzts.map(o => { o.projectId = project.id; return o });
await DB.ProjectTzzt.bulkCreate(projectTzzts);
// 处理 projectZqrz
let projectZqrzs = body.projectZqrzs || [];
projectZqrzs = projectZqrzs.map(o => { o.projectId = project.id; return o });
await DB.ProjectZqrz.bulkCreate(projectZqrzs);
// 处理 projectXmtzzes --废弃 直接存入
// let projectXmtzzes = body.projectXmtzzes || [];
// projectXmtzzes = utils.disTree(projectXmtzzes);
// projectXmtzzes = projectXmtzzes.map(o => { o.projectId = project.id; return o });
// await DB.ProjectXmtzze.bulkCreate(projectXmtzzes);
// 处理 projectSpyjs
let projectSpyjs = body.projectSpyjs || [];
projectSpyjs = utils.disTree(projectSpyjs);
projectSpyjs = projectSpyjs.map(o => { o.projectId = project.id; return o });
await DB.ProjectSpyj.bulkCreate(projectSpyjs);
......
https://tz747a.ceec.net.cn/invest2/storage/getObject?storeFileName=%2F2025%2F11%2F22%2Fanoy_CB7136ED1D700001546FA46014AC119F%E6%B4%AA%E6%B4%AA%E8%AF%BB%E4%B9%A6%E8%87%AA%E6%88%91%E7%AE%A1%E7%90%86%E8%A1%A8.pdf&realFileName=%E6%B4%AA%E6%B4%AA%E8%AF%BB%E4%B9%A6%E8%87%AA%E6%88%91%E7%AE%A1%E7%90%86%E8%A1%A8.pdf&operateType=download&fullfilename=%E6%B4%AA%E6%B4%AA%E8%AF%BB%E4%B9%A6%E8%87%AA%E6%88%91%E7%AE%A1%E7%90%86%E8%A1%A8.pdf
https://tz747a.ceec.net.cn/invest2/storage/postObject
//年度投资计划---项目基本信息
lxr: { type: DataTypes.STRING, allowNull: true, comment: "联系人" },
lxdh: { type: DataTypes.STRING, allowNull: true, comment: "联系电话" },
jchcx: { type: DataTypes.STRING, allowNull: true, comment: "建成后成效" },
ssejqy: { type: DataTypes.STRING, allowNull: true, comment: "所属二级企业" },
projectCompanyName: { type: DataTypes.STRING, allowNull: true, comment: "项目公司名称" },
xmjd: { type: DataTypes.STRING, allowNull: true, comment: "项目阶段" },
//国资委中央企业投资信息
sfgjzcqghzdxma1: { type: DataTypes.INTEGER, allowNull: true, comment: "是否国家中长期规划重大项目(A1)" }, //是否
sfgjygbmxddzdxma2: { type: DataTypes.INTEGER, allowNull: true, comment: "是否国家有关部门下达的重点项目(A2)" },//是否
dgmsbgxa3: { type: DataTypes.INTEGER, allowNull: true, comment: "大规模设备更新(A3)" },//是否
zlxxxcybdgca4: { type: DataTypes.INTEGER, allowNull: true, comment: "战略性新兴产业百大工程(A4)" },//是否
lryqcyhxhwlcyqhxddxma3: { type: DataTypes.INTEGER, allowNull: true, comment: "列入央企产业焕新和未来产业启航行动的项目(A5)" },//是否
qlblzdxma5: { type: DataTypes.INTEGER, allowNull: true, comment: "强链补链重点项目(A6)" },//是否
dyzdhzdxmmlmc: { type: DataTypes.STRING, allowNull: true, comment: "对应重大或重点项目名录名称" },
lrqyfzzlxxxcygzfadxma4: { type: DataTypes.INTEGER, allowNull: true, comment: "列入企业发展战略性新兴产业工作方案的项目(A4)" },//是否
lsnykczybzxmb2: { type: DataTypes.INTEGER, allowNull: true, comment: "粮食、能源、矿产资源保障项目(B2)" },//是否
ctcygdhznhlshzxsjxmb3: { type: DataTypes.INTEGER, allowNull: true, comment: "传统产业高端化、智能化、绿色化转型升级项目(B3)" },//是否
zcqyfzdzdxmb4: { type: DataTypes.INTEGER, allowNull: true, comment: "支撑企业发展的重点项目(B4)" },//是否
zzyjsgzxmb1: { type: DataTypes.INTEGER, allowNull: true, comment: "制造业技术改造项目(B1)" },//是否
dwbgltzxmc1: { type: DataTypes.INTEGER, allowNull: true, comment: "对外并购类投资项目(C1)" },//是否
tbjglxmc2: { type: DataTypes.INTEGER, allowNull: true, comment: "特别监管类项目(C2)" },//是否
jwtbgzlxmc3: { type: DataTypes.INTEGER, allowNull: true, comment: "境外特别关注类项目(C3)" },//是否
dwcgltzxmc4: { type: DataTypes.INTEGER, allowNull: true, comment: "对外参股类投资项目(C4)" },//是否
fdctzxmc5: { type: DataTypes.INTEGER, allowNull: true, comment: "房地产投资项目(C5)" },//是否
ppptzxmc6: { type: DataTypes.INTEGER, allowNull: true, comment: "PPP投资项目(C6)" },//是否
lgxmc7: { type: DataTypes.INTEGER, allowNull: true, comment: "两高项目(C7)" },//是否
fzytzxmd1: { type: DataTypes.INTEGER, allowNull: true, comment: "非主业投资项目(D1)" },//是否
cpjrjgd2: { type: DataTypes.INTEGER, allowNull: true, comment: "持牌金融机构(D2)" },//是否
ljrjgd3: { type: DataTypes.INTEGER, allowNull: true, comment: "类金融机构(D3)" },//是否
qtjrjgd4: { type: DataTypes.INTEGER, allowNull: true, comment: "其他金融机构(D4)" },//是否
jjjjjglgsd5: { type: DataTypes.INTEGER, allowNull: true, comment: "基金及基金管理公司(D5)" },//是否
cytzjjd6: { type: DataTypes.INTEGER, allowNull: true, comment: "创业投资基金(D6)" },//是否
zzflqk: { type: DataTypes.TEXT, allowNull: true, comment: "最终分类情况" },
----------------
// xmzbjgqrz: { type: DataTypes.DECIMAL(19, 8), allowNull: true, comment: " 项目资本金(股权融资)" },
// njf: { type: DataTypes.DECIMAL(19, 8), allowNull: true, comment: "  能建方" },
// qtshzbf: { type: DataTypes.DECIMAL(19, 8), allowNull: true, comment: "  其他社会资本方" },
// jkzqrz: { type: DataTypes.DECIMAL(19, 8), allowNull: true, comment: " 借款(债权融资)" },
// yhdk2: { type: DataTypes.DECIMAL(19, 8), allowNull: true, comment: "  银行贷款" },
// qzfbbxmnjfdkdbe: { type: DataTypes.DECIMAL(19, 8), allowNull: true, comment: "   其中:非并表项目能建方贷款/担保额" },
// qtcz: { type: DataTypes.DECIMAL(19, 8), allowNull: true, comment: "其他出资" },
// qznjfcz: { type: DataTypes.DECIMAL(19, 8), allowNull: true, comment: " 其中:能建方出资" },
// czze111213: { type: DataTypes.DECIMAL(19, 8), allowNull: true, comment: "筹资总额(1.1+1.2+1.3)" },
// jsqlxrzfy: { type: DataTypes.DECIMAL(19, 8), allowNull: true, comment: "建设期利息(融资费用)" },
// yyzsr2: { type: DataTypes.DECIMAL(19, 8), allowNull: true, comment: " 营业总收入" },
// yyzcb: { type: DataTypes.DECIMAL(19, 8), allowNull: true, comment: " 营业总成本" },
// qzjycb: { type: DataTypes.DECIMAL(19, 8), allowNull: true, comment: "  其中:经营成本" },
// qzzjjtx: { type: DataTypes.DECIMAL(19, 8), allowNull: true, comment: "  其中:折旧及摊销" },
// lrze3: { type: DataTypes.DECIMAL(19, 8), allowNull: true, comment: " 利润总额" },
// sds: { type: DataTypes.DECIMAL(19, 8), allowNull: true, comment: " 所得税" },
// netProfit3: { type: DataTypes.DECIMAL(19, 8), allowNull: true, comment: " 净利润" },
// njffhsq2: { type: DataTypes.DECIMAL(19, 8), allowNull: true, comment: " 能建方分红(税前)" },
// njffhsh: { type: DataTypes.DECIMAL(19, 8), allowNull: true, comment: " 能建方分红(税后)" },
// wfplr: { type: DataTypes.DECIMAL(19, 8), allowNull: true, comment: "未分配利润" },
// xmd: { type: DataTypes.DECIMAL(19, 8), allowNull: true, comment: " 项目贷" },
// xmdlx: { type: DataTypes.DECIMAL(19, 8), allowNull: true, comment: " 项目贷利息" },
// qtzjbj: { type: DataTypes.DECIMAL(19, 8), allowNull: true, comment: " 其他资金本金" },
// qtzjlxrzfy: { type: DataTypes.DECIMAL(19, 8), allowNull: true, comment: " 其他资金利息(融资费用)" },
// zczeqmz: { type: DataTypes.DECIMAL(19, 8), allowNull: true, comment: " 资产总额(期末值)" },
// fzzeqmz: { type: DataTypes.DECIMAL(19, 8), allowNull: true, comment: " 负债总额(期末值)" },
// jyhdcsjxjl: { type: DataTypes.DECIMAL(19, 8), allowNull: true, comment: "经营活动产生净现金流" },
// tzhdcsjxjl: { type: DataTypes.DECIMAL(19, 8), allowNull: true, comment: "投资活动产生净现金流" },
// jyhdcsdxjlr: { type: DataTypes.DECIMAL(19, 8), allowNull: true, comment: "  经营活动产生的现金流入" },
// jyhdcsdxjlc: { type: DataTypes.DECIMAL(19, 8), allowNull: true, comment: "  经营活动产生的现金流出" },
// tzhdcsdxjlr: { type: DataTypes.DECIMAL(19, 8), allowNull: true, comment: "  投资活动产生的现金流入" },
// tzhdcsdxjlc: { type: DataTypes.DECIMAL(19, 8), allowNull: true, comment: "  投资活动产生的现金流出" },
// czhdcsdxjlr: { type: DataTypes.DECIMAL(19, 8), allowNull: true, comment: "  筹资活动产生的现金流入" },
// czhdcsdxjlc: { type: DataTypes.DECIMAL(19, 8), allowNull: true, comment: "  筹资活动产生的现金流出" },
// tzhdcsdxjlje: { type: DataTypes.DECIMAL(19, 8), allowNull: true, comment: "投资活动产生的现金流净额" },
// czhdcsdxjlje: { type: DataTypes.DECIMAL(19, 8), allowNull: true, comment: "筹资活动产生的现金流净额" },
// jyhdcsdxjlje: { type: DataTypes.DECIMAL(19, 8), allowNull: true, comment: "经营活动产生的现金流净额" },
// lxbfl: { type: DataTypes.DECIMAL(3, 2), allowNull: true, comment: "利息备付率" },
// czbfl: { type: DataTypes.DECIMAL(3, 2), allowNull: true, comment: "偿债备付率" },
----
// jyhdcsdxjlje2: { type: DataTypes.DECIMAL(19, 8), allowNull: true, comment: " 经营活动产生的现金流净额" },
// tzhdcsdxjlje2: { type: DataTypes.DECIMAL(19, 8), allowNull: true, comment: " 投资活动产生的现金流净额" },
项目名称
项目编号
投资分类
......
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
const { DataTypes } = require('sequelize');
const sequelize = require('../index');
// 风险管理
const ProjectFxgl = sequelize.define('ProjectFxgl', {
id: {
type: DataTypes.INTEGER,
primaryKey: true,
autoIncrement: true
},
fxlb: {
type: DataTypes.STRING,
comment: "风险类别"
},
fxms: {
type: DataTypes.TEXT,
comment: "风险描述"
},
ydcs: {
type: DataTypes.TEXT,
comment: "应对措施"
},
projectId: {
type: DataTypes.INTEGER,
comment: "所属项目ID",
},
del: {
type: DataTypes.INTEGER,
defaultValue: 0,
comment: "0 正常 1 删除"
},
}, {
tableName: 'jt_project_fxgl', // 指定表名(如果与模型名不同)
timestamps: true, // 是否自动添加 createdAt 和 updatedAt 字段(覆盖全局设置)
});
// 同步模型到数据库(创建表)
ProjectFxgl.sync({
force: false,
// force: true ,//会删除已存在表并重新创建
// alter: true
})
.then(() => {
console.log('ProjectFxgl 表同步成功');
});
module.exports = ProjectFxgl;
\ No newline at end of file
const { DataTypes } = require('sequelize');
const sequelize = require('../index');
const File = require('../system/file');
// yjlx: { type: DataTypes.STRING, allowNull: true, comment: "意见类型" },
// pfyj: { type: DataTypes.STRING, allowNull: true, comment: "批复意见" },
// pfyjsj: { type: DataTypes.DATE, allowNull: true, comment: "批复意见时间" },
// zxhf: { type: DataTypes.STRING, allowNull: true, comment: "执行回复" },
// zxhfsj: { type: DataTypes.DATE, allowNull: true, comment: "执行回复时间" },
// zxhffj: { type: DataTypes.STRING, allowNull: true, comment: "执行回复附件" },
// wlsqksm: { type: DataTypes.STRING, allowNull: true, comment: "未落实情况说明" },
// 审批意见
const ProjectSpyj = sequelize.define('ProjectSpyj', {
id: {
......@@ -20,11 +29,18 @@ const ProjectSpyj = sequelize.define('ProjectSpyj', {
type: DataTypes.DATE,
comment: "批复意见时间"
},
zxhf: { type: DataTypes.TEXT, allowNull: true, comment: "执行回复" },
zxhfsj: { type: DataTypes.DATE, allowNull: true, comment: "执行回复时间" },
zxhffj: { type: DataTypes.INTEGER, references: {
model: File,
key: 'id'
}, allowNull: true, comment: "执行回复附件" },
wlsqksm: { type: DataTypes.TEXT, allowNull: true, comment: "未落实情况说明" },
projectId: {
type: DataTypes.INTEGER,
comment: "所属项目ID",
},
},
del: {
type: DataTypes.INTEGER,
defaultValue: 0,
......@@ -37,7 +53,7 @@ const ProjectSpyj = sequelize.define('ProjectSpyj', {
// 同步模型到数据库(创建表)
ProjectSpyj.sync({
force: false,
force: false,
// force: true ,//会删除已存在表并重新创建
// alter: true
})
......
const { DataTypes } = require('sequelize');
const sequelize = require('../index');
//投资主体审核情况
const ProjectTzzt = sequelize.define('ProjectTzzt', {
id: {
type: DataTypes.INTEGER,
primaryKey: true,
autoIncrement: true
},
hylx: { type: DataTypes.STRING, allowNull: true, comment: "会议类型" },
jc: { type: DataTypes.STRING, allowNull: true, comment: "届次" },
zkrq: { type: DataTypes.DATE, allowNull: true, comment: "召开日期" },
jl: { type: DataTypes.STRING, allowNull: true, comment: "结论" },
qtsm: { type: DataTypes.TEXT, allowNull: true, comment: "其他说明" },
projectId: {
type: DataTypes.INTEGER,
comment: "所属项目ID",
},
del: {
type: DataTypes.INTEGER,
defaultValue: 0,
comment: "0 正常 1 删除"
},
}, {
tableName: 'jt_project_tzzt', // 指定表名(如果与模型名不同)
timestamps: true, // 是否自动添加 createdAt 和 updatedAt 字段(覆盖全局设置)
});
// 同步模型到数据库(创建表)
ProjectTzzt.sync({
force: false,
// force: true ,//会删除已存在表并重新创建
// alter: true
})
.then(() => {
console.log('ProjectTzzt 表同步成功');
});
module.exports = ProjectTzzt;
\ No newline at end of file
const { DataTypes } = require('sequelize');
const sequelize = require('../index');
// const { DataTypes } = require('sequelize');
// const sequelize = require('../index');
// 项目总投资总额(全口径)
const ProjectXmtzze = sequelize.define('ProjectXmtzze', {
id: {
type: DataTypes.INTEGER,
primaryKey: true,
autoIncrement: true
},
kid: {
type: DataTypes.INTEGER,
comment: "表格行ID"
},
xh: {
type: DataTypes.STRING,
comment: "序号"
},
zb: {
type: DataTypes.STRING,
comment: "指标"
},
dw: {
type: DataTypes.STRING,
comment: "单位",
defaultValue: "万元"
},
rmbjj: {
type: DataTypes.DECIMAL(20, 4),
comment: "人民币计价"
},
parentId: {
type: DataTypes.INTEGER,
comment: "上级ID"
},
// // 项目总投资总额(全口径)-废弃
// const ProjectXmtzze = sequelize.define('ProjectXmtzze', {
// id: {
// type: DataTypes.INTEGER,
// primaryKey: true,
// autoIncrement: true
// },
// kid: {
// type: DataTypes.INTEGER,
// comment: "表格行ID"
// },
// xh: {
// type: DataTypes.STRING,
// comment: "序号"
// },
// zb: {
// type: DataTypes.STRING,
// comment: "指标"
// },
// dw: {
// type: DataTypes.STRING,
// comment: "单位",
// defaultValue: "万元"
// },
// rmbjj: {
// type: DataTypes.DECIMAL(20, 4),
// comment: "人民币计价"
// },
// parentId: {
// type: DataTypes.INTEGER,
// comment: "上级ID"
// },
projectId: {
type: DataTypes.INTEGER,
comment: "所属项目ID",
},
// projectId: {
// type: DataTypes.INTEGER,
// comment: "所属项目ID",
// },
del: {
type: DataTypes.INTEGER,
defaultValue: 0,
comment: "0 正常 1 删除"
},
}, {
tableName: 'jt_project_xmtzze', // 指定表名(如果与模型名不同)
timestamps: true, // 是否自动添加 createdAt 和 updatedAt 字段(覆盖全局设置)
});
// del: {
// type: DataTypes.INTEGER,
// defaultValue: 0,
// comment: "0 正常 1 删除"
// },
// }, {
// tableName: 'jt_project_xmtzze', // 指定表名(如果与模型名不同)
// timestamps: true, // 是否自动添加 createdAt 和 updatedAt 字段(覆盖全局设置)
// });
// 同步模型到数据库(创建表)
ProjectXmtzze.sync({
force: false,
// force: true ,//会删除已存在表并重新创建
// alter: true
})
.then(() => {
console.log('ProjectXmtzze 表同步成功');
});
// // 同步模型到数据库(创建表)
// ProjectXmtzze.sync({
// force: false,
// // force: true ,//会删除已存在表并重新创建
// // alter: true
// })
// .then(() => {
// console.log('ProjectXmtzze 表同步成功');
// });
module.exports = ProjectXmtzze;
\ No newline at end of file
// module.exports = ProjectXmtzze;
\ No newline at end of file
const { DataTypes } = require('sequelize');
const sequelize = require('../index');
// 债权融资
const ProjectZqrz = sequelize.define('ProjectZqrz', {
id: {
type: DataTypes.INTEGER,
primaryKey: true,
autoIncrement: true
},
wffzdzqrzjewy: { type: DataTypes.DECIMAL(19, 8), allowNull: true, comment: "我方负责的债权融资金额(万元)" },
rzcbzq: { type: DataTypes.DECIMAL(19, 8), allowNull: true, comment: "融资成本债权" },
qxzq: { type: DataTypes.INTEGER, allowNull: true, comment: "期限债权" },
yjldsjzq: { type: DataTypes.DATE, allowNull: true, comment: "预计落地时间债权" },
projectId: {
type: DataTypes.INTEGER,
comment: "所属项目ID",
},
del: {
type: DataTypes.INTEGER,
defaultValue: 0,
comment: "0 正常 1 删除"
},
}, {
tableName: 'jt_project_zqrz', // 指定表名(如果与模型名不同)
timestamps: true, // 是否自动添加 createdAt 和 updatedAt 字段(覆盖全局设置)
});
// 同步模型到数据库(创建表)
ProjectZqrz.sync({
force: false,
// force: true ,//会删除已存在表并重新创建
// alter: true
})
.then(() => {
console.log('ProjectZqrz 表同步成功');
});
module.exports = ProjectZqrz;
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment