明树Git Lab

Commit ee3bb209 authored by zfp1's avatar zfp1

update

parent aa2619d4
Pipeline #105975 passed with stage
in 3 seconds
...@@ -199,11 +199,20 @@ async function createTzkz(req, res, next) { ...@@ -199,11 +199,20 @@ async function createTzkz(req, res, next) {
flattenArr.push(ei); flattenArr.push(ei);
} }
} }
//处理安全质量环保
let tzkzaqzlhbs = (req.body.tzkzaqzlhbs || []).map(o => { o.projectId = req.body.projectId; return o; });
delete req.body.tzkzaqzlhbs;
//处理工期
let tzkzgqs = (req.body.tzkzgqs || []).map(o => { o.projectId = req.body.projectId; return o; });
delete req.body.tzkzgqs;
//创建 //创建
await DB.TzTzkzCwpj.bulkCreate(tzkzcwpjs); await DB.TzTzkzCwpj.bulkCreate(tzkzcwpjs);
await DB.TzTzkzJcpfyj.bulkCreate(tzkzjcpfyjs); await DB.TzTzkzJcpfyj.bulkCreate(tzkzjcpfyjs);
await DB.TzTzkzTzsy.bulkCreate(tzkztzsys); await DB.TzTzkzTzsy.bulkCreate(tzkztzsys);
await DB.TzTzkzTzekz.bulkCreate(flattenArr); await DB.TzTzkzTzekz.bulkCreate(flattenArr);
await DB.TzTzkzGq.bulkCreate(tzkzgqs);
await DB.TzTzkzAqzlhb.bulkCreate(tzkzaqzlhbs);
let ret = await DB.TzTzkz.create(req.body); let ret = await DB.TzTzkz.create(req.body);
return res.sendData(ret); return res.sendData(ret);
} catch (error) { } catch (error) {
...@@ -262,6 +271,21 @@ async function updateTzkz(req, res, next) { ...@@ -262,6 +271,21 @@ async function updateTzkz(req, res, next) {
await Promise.all(infos3.map(item => { DB.TzTzkzTzekz.update(item, { where: { id: item.id } }) })); await Promise.all(infos3.map(item => { DB.TzTzkzTzekz.update(item, { where: { id: item.id } }) }));
delete req.body.tzkztzekzs; delete req.body.tzkztzekzs;
//处理工期
let ids4 = [], infos4 = [], newtzkzgqs= [];
req.body.tzkzgqs.map(o => { if (!o.id) { if (!_.isEmpty(o)) { o.projectId = req.body.projectId; newtzkzgqs.push(o); } } else { ids4.push(o.id); infos4.push(o); } return o });
await DB.TzTzkzGq.destroy({ where: { projectId: req.body.projectId, id: { [Op.notIn]: ids4 } } }); // 删除id不在传入id数组里面的(用户在界面删除的)
await DB.TzTzkzGq.bulkCreate(newtzkzgqs);//创建新的 没有id的
await Promise.all(infos4.map(item => { DB.TzTzkzGq.update(item, { where: { id: item.id } }) }));
delete req.body.tzkzgqs;
//处理环保
let ids5 = [], infos5= [], newtzkzaqzlhbs = [];
req.body.tzkzaqzlhbs.map(o => { if (!o.id) { if (!_.isEmpty(o)) { o.projectId = req.body.projectId; newtzkzaqzlhbs.push(o); } } else { ids5.push(o.id); infos5.push(o); } return o });
await DB.TzTzkzAqzlhb.destroy({ where: { projectId: req.body.projectId, id: { [Op.notIn]: ids5 } } }); // 删除id不在传入id数组里面的(用户在界面删除的)
await DB.TzTzkzAqzlhb.bulkCreate(newtzkzaqzlhbs);//创建新的 没有id的
await Promise.all(infos5.map(item => { DB.TzTzkzAqzlhb.update(item, { where: { id: item.id } }) }));
delete req.body.tzkzaqzlhbs;
await DB.TzTzkz.update(req.body, { where: { id: req.body.id } }); await DB.TzTzkz.update(req.body, { where: { id: req.body.id } });
return res.sendData(); return res.sendData();
} catch (error) { } catch (error) {
......
...@@ -29,6 +29,10 @@ const TzTzkz = sequelize.define('TzTzkz', { ...@@ -29,6 +29,10 @@ const TzTzkz = sequelize.define('TzTzkz', {
return rawValue ? moment(rawValue).format('YYYY-MM-DD HH:mm:ss') : ''; return rawValue ? moment(rawValue).format('YYYY-MM-DD HH:mm:ss') : '';
} }
}, },
qtqksm: {
type: DataTypes.TEXT,
comment: "其他情况说明 这个字段和下面上传字段 两个字段放置于在工期、环保表得下方",
},
qtjsmbzdpc: { qtjsmbzdpc: {
type: DataTypes.JSON, type: DataTypes.JSON,
comment: "其他建设目标重大偏差----文件上传", comment: "其他建设目标重大偏差----文件上传",
...@@ -66,9 +70,9 @@ const TzTzkz = sequelize.define('TzTzkz', { ...@@ -66,9 +70,9 @@ const TzTzkz = sequelize.define('TzTzkz', {
// 同步模型到数据库(创建表) // 同步模型到数据库(创建表)
TzTzkz.sync({ TzTzkz.sync({
force: false, // force: false,
// force: true ,//会删除已存在表并重新创建 // force: true ,//会删除已存在表并重新创建
// alter: true alter: true
}) })
.then(() => { .then(() => {
console.log('TzTzkz 表同步成功'); console.log('TzTzkz 表同步成功');
......
const { DataTypes } = require('sequelize');
const sequelize = require('../index');
const moment = require('moment');
//投中管理-投资控制 -安全质量环保
const TzTzkzAqzlhb = sequelize.define('TzTzkzAqzlhb', {
id: {
type: DataTypes.INTEGER,
primaryKey: true,
autoIncrement: true
},
jlkglsc: {
type: DataTypes.STRING(2000),
comment: "目标描述"
},
ly: {
type: DataTypes.STRING,
comment: "来源(管理策划、会议纪要、其他要求等) "
},
sffsaqzlhbwt: {
type: DataTypes.INTEGER,
comment: "是否发生安全质量环保问题被行政处罚",
},
// tzkzId: {
// type: DataTypes.INTEGER,
// comment: "所属投资控制主表id",
// },
projectId: {
type: DataTypes.INTEGER,
comment: "所属项目ID",
},
del: {
type: DataTypes.INTEGER,
defaultValue: 0,
comment: "0 正常 1 删除"
},
createdAt: {
type: DataTypes.DATE,
defaultValue: new Date(),
get() {
const rawValue = this.getDataValue('createdAt');
return rawValue ? moment(rawValue).format('YYYY-MM-DD HH:mm:ss') : '';
}
},
updatedAt: { // 同样处理 updatedAt
type: DataTypes.DATE,
defaultValue: new Date(),
get() {
const rawValue = this.getDataValue('updatedAt');
return rawValue ? moment(rawValue).format('YYYY-MM-DD HH:mm:ss') : '';
}
}
}, {
tableName: 'jt_tz_tzkzaqzlhb', // 指定表名(如果与模型名不同)
timestamps: true, // 是否自动添加 createdAt 和 updatedAt 字段(覆盖全局设置)
});
// 同步模型到数据库(创建表)
TzTzkzAqzlhb.sync({
force: false,
// force: true ,//会删除已存在表并重新创建
// alter: true
})
.then(() => {
console.log('TzTzkzAqzlhb 表同步成功');
});
module.exports = TzTzkzAqzlhb;
\ No newline at end of file
const { DataTypes } = require('sequelize');
const sequelize = require('../index');
const moment = require('moment');
//投中管理-投资控制 -工期
const TzTzkzGq = sequelize.define('TzTzkzGq', {
id: {
type: DataTypes.INTEGER,
primaryKey: true,
autoIncrement: true
},
jlkglsc: {
type: DataTypes.JSON,
comment: "监理开工令上传"
},
sgxkzsc: {
type: DataTypes.JSON,
comment: "行业主管部门施工许可证上传 "
},
kglsj: {
type: DataTypes.DATE,
comment: "填报监理开工令开工时间",
get() {
const rawValue = this.getDataValue('kglsj');
return rawValue ? moment(rawValue).format('YYYY-MM-DD') : '';
}
},
sgxksj: {
type: DataTypes.DATE,
comment: "施工许可时间",
get() {
const rawValue = this.getDataValue('sgxksj');
return rawValue ? moment(rawValue).format('YYYY-MM-DD') : '';
}
},
yjsjwgsj: {
type: DataTypes.DATE,
comment: "预计/实际完工时间",
get() {
const rawValue = this.getDataValue('yjsjwgsj');
return rawValue ? moment(rawValue).format('YYYY-MM-DD HH:mm:ss') : '';
}
},
htgqydms: {
type: DataTypes.TEXT,
comment: "合同工期约定描述"
},
gqywsm: {
type: DataTypes.TEXT,
comment: "工期延误说明"
},
gqtqsm: {
type: DataTypes.TEXT,
comment: "工期提前说明。"
},
// tzkzId: {
// type: DataTypes.INTEGER,
// comment: "所属投资控制主表id",
// },
projectId: {
type: DataTypes.INTEGER,
comment: "所属项目ID",
},
del: {
type: DataTypes.INTEGER,
defaultValue: 0,
comment: "0 正常 1 删除"
},
createdAt: {
type: DataTypes.DATE,
defaultValue: new Date(),
get() {
const rawValue = this.getDataValue('createdAt');
return rawValue ? moment(rawValue).format('YYYY-MM-DD HH:mm:ss') : '';
}
},
updatedAt: { // 同样处理 updatedAt
type: DataTypes.DATE,
defaultValue: new Date(),
get() {
const rawValue = this.getDataValue('updatedAt');
return rawValue ? moment(rawValue).format('YYYY-MM-DD HH:mm:ss') : '';
}
}
}, {
tableName: 'jt_tz_tzkzgq', // 指定表名(如果与模型名不同)
timestamps: true, // 是否自动添加 createdAt 和 updatedAt 字段(覆盖全局设置)
});
// 同步模型到数据库(创建表)
TzTzkzGq.sync({
force: false,
// force: true ,//会删除已存在表并重新创建
// alter: true
})
.then(() => {
console.log('TzTzkzGq 表同步成功');
});
module.exports = TzTzkzGq;
\ No newline at end of file
...@@ -36,7 +36,7 @@ const TzTzkzJcpfyj = sequelize.define('TzTzkzJcpfyj', { ...@@ -36,7 +36,7 @@ const TzTzkzJcpfyj = sequelize.define('TzTzkzJcpfyj', {
}, },
ssjd: { ssjd: {
type: DataTypes.STRING, type: DataTypes.STRING,
comment: "实施阶段" comment: "实施阶段 实施前落实,实施中落实"
}, },
pfnr: { pfnr: {
type: DataTypes.TEXT, type: DataTypes.TEXT,
...@@ -82,6 +82,10 @@ const TzTzkzJcpfyj = sequelize.define('TzTzkzJcpfyj', { ...@@ -82,6 +82,10 @@ const TzTzkzJcpfyj = sequelize.define('TzTzkzJcpfyj', {
type: DataTypes.TEXT, type: DataTypes.TEXT,
comment: "备注" comment: "备注"
}, },
wjsc: {
type: DataTypes.JSON,
comment: "文件上传"
},
// tzkzId: { // tzkzId: {
// type: DataTypes.INTEGER, // type: DataTypes.INTEGER,
......
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