明树Git Lab

Commit 6ee74393 authored by zfp1's avatar zfp1

update

parent 1eef9ec0
Pipeline #106643 passed with stage
in 4 seconds
......@@ -16,118 +16,3 @@ const _ = require("lodash");
const { Op } = require('sequelize');
const projectModule = require('../module/projectModule');
async function createCgqygl(req, res, next) {
try {
if (!req.body.projectId) {
return res.sendError(errorMessage.paramsError);
}
let ret = await DB.RcCgqygl.create(req.body);
// 投资分红
let tzfhs = (req.body.tzfhs || []).map(o => { o.projectId = req.body.projectId; o.sourceId = ret.id; return o });
console.log(tzfhs, "===")
if (tzfhs.length) await DB.RcCgqyglTzfh.bulkCreate(tzfhs);
// 委托运营
let wtyys = (req.body.wtyys || []).map(o => { o.projectId = req.body.projectId; o.sourceId = ret.id; return o });
if (wtyys.length) await DB.RcCgqyglWtyy.bulkCreate(wtyys);
return res.sendData(ret);
} catch (error) {
next(error);
}
}
async function updateCgqygl(req, res, next) {
try {
if (!(req.body.id && req.body.projectId)) {
return res.sendError(errorMessage.paramsError);
}
let ret = await DB.RcCgqygl.findOne({ where: { id: req.body.id }, raw: true });
if (!(ret && ret.id)) return res.sendError(errorMessage.resourceNotFound);
// 处理 tzfhs
let tzfhs = req.body.tzfhs || [];
let ids = [], infos = [], newArr = [];
tzfhs.map(o => { if (!o.id) { if (!_.isEmpty(o)) { o.projectId = req.body.projectId; o.sourceId = ret.id; newArr.push(o); } } else { ids.push(o.id); infos.push(o); } return o; });
await DB.RcCgqyglTzfh.destroy({ where: { projectId: req.body.projectId, sourceId: ret.id, id: { [Op.notIn]: ids } } });
if (newArr.length) await DB.RcCgqyglTzfh.bulkCreate(newArr);
await Promise.all(infos.map(item => { return DB.RcCgqyglTzfh.update(item, { where: { id: item.id } }) }));
// 处理 wtyys
let wtyys = req.body.wtyys || [];
let ids2 = [], infos2 = [], newArr2 = [];
wtyys.map(o => { if (!o.id) { if (!_.isEmpty(o)) { o.projectId = req.body.projectId; o.sourceId = ret.id; newArr2.push(o); } } else { ids2.push(o.id); infos2.push(o); } return o; });
await DB.RcCgqyglWtyy.destroy({ where: { projectId: req.body.projectId, sourceId: ret.id, id: { [Op.notIn]: ids2 } } });
if (newArr2.length) await DB.RcCgqyglWtyy.bulkCreate(newArr2);
await Promise.all(infos2.map(item => { return DB.RcCgqyglWtyy.update(item, { where: { id: item.id } }) }));
await DB.RcCgqygl.update(req.body, { where: { id: req.body.id } });
return res.sendData({});
} catch (error) {
next(error);
}
}
async function getCgqygl(req, res, next) {
try {
let search = {};
if (req.body.id) search.id = req.body.id;
if (_.isEmpty(search)) return res.sendError(errorMessage.paramsError);
let info = await DB.RcCgqygl.findOne({ where: search, raw: true });
if (!(info && info.id && info.projectId)) return res.sendError(errorMessage.resourceNotFound);
let tzfhs = await DB.RcCgqyglTzfh.findAll({ where: { projectId: info.projectId, sourceId: info.id }, raw: true });
let wtyys = await DB.RcCgqyglWtyy.findAll({ where: { projectId: info.projectId, sourceId: info.id }, raw: true });
info.tzfhs = tzfhs || [];
info.wtyys = wtyys || [];
return res.sendData(info);
} catch (error) {
next(error);
}
}
async function getCgqyglList(req, res, next) {
try {
let page = req.body.page || 1;
let limit = req.body.pagesize || req.body.pageSize || 10;
let offset = (page - 1) * limit;
let search = {};
search.order = [['createdAt', 'DESC']];
search.limit = limit;
search.offset = offset;
let where = { del: 0 };
if (req.body.projectName) {
where = { [Op.or]: [{ projectName: { [Op.like]: `%${req.body.projectName}%` } }], del: 0 };
}
search.where = where;
if (req.body.attributes && req.body.attributes.length) search.attributes = req.body.attributes;
let ret = await DB.RcCgqygl.findAndCountAll(search);
let risMap = await projectModule.getResourceInfoMapByKeys(["xmjd"]);
ret.rows.map(o => {o.xmscjd = risMap[o.xmscjd] || o.xmscjd; return o;});
return res.sendData(ret);
} catch (error) {
next(error);
}
}
async function deleteCgqygl(req, res, next) {
try {
await DB.RcCgqygl.update({ del: 1 }, { where: { id: req.body.id } });
return res.sendData({});
} catch (error) {
next(error);
}
}
module.exports = {
createCgqygl,
updateCgqygl,
getCgqygl,
getCgqyglList,
deleteCgqygl,
}
\ No newline at end of file
......@@ -8,6 +8,8 @@ const { Op } = require('sequelize');
async function createTxjs(req, res, next) {
try {
req.body.creator = req.user.id;
if (!req.body.projectId) {
return res.sendError(errorMessage.paramsError);
}
......@@ -118,10 +120,125 @@ async function deleteTxjs(req, res, next) {
}
async function createCgqygl(req, res, next) {
try {
req.body.creator = req.user.id;
if (!req.body.projectId) {
return res.sendError(errorMessage.paramsError);
}
let ret = await DB.RcCgqygl.create(req.body);
// 投资分红
let tzfhs = (req.body.tzfhs || []).map(o => { o.projectId = req.body.projectId; o.sourceId = ret.id; return o });
console.log(tzfhs, "===")
if (tzfhs.length) await DB.RcCgqyglTzfh.bulkCreate(tzfhs);
// 委托运营
let wtyys = (req.body.wtyys || []).map(o => { o.projectId = req.body.projectId; o.sourceId = ret.id; return o });
if (wtyys.length) await DB.RcCgqyglWtyy.bulkCreate(wtyys);
return res.sendData(ret);
} catch (error) {
next(error);
}
}
async function updateCgqygl(req, res, next) {
try {
if (!(req.body.id && req.body.projectId)) {
return res.sendError(errorMessage.paramsError);
}
let ret = await DB.RcCgqygl.findOne({ where: { id: req.body.id }, raw: true });
if (!(ret && ret.id)) return res.sendError(errorMessage.resourceNotFound);
// 处理 tzfhs
let tzfhs = req.body.tzfhs || [];
let ids = [], infos = [], newArr = [];
tzfhs.map(o => { if (!o.id) { if (!_.isEmpty(o)) { o.projectId = req.body.projectId; o.sourceId = ret.id; newArr.push(o); } } else { ids.push(o.id); infos.push(o); } return o; });
await DB.RcCgqyglTzfh.destroy({ where: { projectId: req.body.projectId, sourceId: ret.id, id: { [Op.notIn]: ids } } });
if (newArr.length) await DB.RcCgqyglTzfh.bulkCreate(newArr);
await Promise.all(infos.map(item => { return DB.RcCgqyglTzfh.update(item, { where: { id: item.id } }) }));
// 处理 wtyys
let wtyys = req.body.wtyys || [];
let ids2 = [], infos2 = [], newArr2 = [];
wtyys.map(o => { if (!o.id) { if (!_.isEmpty(o)) { o.projectId = req.body.projectId; o.sourceId = ret.id; newArr2.push(o); } } else { ids2.push(o.id); infos2.push(o); } return o; });
await DB.RcCgqyglWtyy.destroy({ where: { projectId: req.body.projectId, sourceId: ret.id, id: { [Op.notIn]: ids2 } } });
if (newArr2.length) await DB.RcCgqyglWtyy.bulkCreate(newArr2);
await Promise.all(infos2.map(item => { return DB.RcCgqyglWtyy.update(item, { where: { id: item.id } }) }));
await DB.RcCgqygl.update(req.body, { where: { id: req.body.id } });
return res.sendData({});
} catch (error) {
next(error);
}
}
async function getCgqygl(req, res, next) {
try {
let search = {};
if (req.body.id) search.id = req.body.id;
if (_.isEmpty(search)) return res.sendError(errorMessage.paramsError);
let info = await DB.RcCgqygl.findOne({ where: search, raw: true });
if (!(info && info.id && info.projectId)) return res.sendError(errorMessage.resourceNotFound);
let tzfhs = await DB.RcCgqyglTzfh.findAll({ where: { projectId: info.projectId, sourceId: info.id }, raw: true });
let wtyys = await DB.RcCgqyglWtyy.findAll({ where: { projectId: info.projectId, sourceId: info.id }, raw: true });
info.tzfhs = tzfhs || [];
info.wtyys = wtyys || [];
return res.sendData(info);
} catch (error) {
next(error);
}
}
async function getCgqyglList(req, res, next) {
try {
let page = req.body.page || 1;
let limit = req.body.pagesize || req.body.pageSize || 10;
let offset = (page - 1) * limit;
let search = {};
search.order = [['createdAt', 'DESC']];
search.limit = limit;
search.offset = offset;
let where = { del: 0 };
if (req.body.projectName) {
where = { [Op.or]: [{ projectName: { [Op.like]: `%${req.body.projectName}%` } }], del: 0 };
}
search.where = where;
if (req.body.attributes && req.body.attributes.length) search.attributes = req.body.attributes;
let ret = await DB.RcCgqygl.findAndCountAll(search);
let risMap = await projectModule.getResourceInfoMapByKeys(["xmjd"]);
ret.rows.map(o => {o.xmscjd = risMap[o.xmscjd] || o.xmscjd; return o;});
return res.sendData(ret);
} catch (error) {
next(error);
}
}
async function deleteCgqygl(req, res, next) {
try {
await DB.RcCgqygl.update({ del: 1 }, { where: { id: req.body.id } });
return res.sendData({});
} catch (error) {
next(error);
}
}
module.exports = {
createTxjs,
updateTxjs,
getTxjs,
getTxjsList,
deleteTxjs,
createCgqygl,
updateCgqygl,
getCgqygl,
getCgqyglList,
deleteCgqygl,
}
\ No newline at end of file
......@@ -12,6 +12,8 @@ const projectModule = require('../module/projectModule');
async function createYyqtzhs(req, res, next) {
try {
req.body.creator = req.user.id;
if (!req.body.projectId) {
return res.sendError(errorMessage.paramsError);
}
......@@ -131,6 +133,8 @@ async function getYyqtzhsList(req, res, next) {
async function createYyqtzjc(req, res, next) {
try {
req.body.creator = req.user.id;
if (!req.body.projectId) {
return res.sendError(errorMessage.paramsError);
}
......@@ -328,6 +332,8 @@ async function getYyqtzjcList(req, res, next) {
async function createTzhpj(req, res, next) {
try {
req.body.creator = req.user.id;
if (!req.body.projectId) {
return res.sendError(errorMessage.paramsError);
}
......@@ -442,6 +448,8 @@ async function getTzhpjInfo(req, res, next) {
async function createYjgl(req, res, next) {
try {
req.body.creator = req.user.id;
//
// req.body.zbyzyj = (req.body.zbyzyj || []).map(o => { return o && o.id || o });
// req.body.qzlyzzyj = (req.body.qzlyzzyj || []).map(o => { return o && o.id || o });
......
......@@ -15,7 +15,7 @@ async function createTzmbzrs(req, res, next) {
if (!req.body.projectId) {
return res.sendError(errorMessage.paramsError);
}
req.body.creator = req.user.id;
//处理文件参数
req.body.zrswj = (req.body.zrswj || []).map(o => { return o && o.id || o });
req.body.chwj = (req.body.chwj || []).map(o => { return o && o.id || o });
......@@ -203,6 +203,8 @@ async function createTzkz(req, res, next) {
if (!req.body.projectId) {
return res.sendError(errorMessage.paramsError);
}
req.body.creator = req.user.id;
//处理文件
req.body.qtjsmbzdpc = (req.body.qtjsmbzdpc || []).map(o => { return o && o.id || o });
// 创建提前
......@@ -450,6 +452,8 @@ async function createZdfx(req, res, next) {
if (!req.body.projectId) {
return res.sendError(errorMessage.paramsError);
}
req.body.creator = req.user.id;
let ret = await DB.TzZdfx.create(req.body);
// //处理财务指标
......@@ -570,6 +574,8 @@ async function getZdfxList(req, res, next) {
}
async function createJsqtzhs(req, res, next) {
try {
req.body.creator = req.user.id;
if (!req.body.projectId) {
return res.sendError(errorMessage.paramsError);
}
......@@ -691,6 +697,8 @@ async function getJsqtzhsList(req, res, next) {
async function createJsqtzjc(req, res, next) {
try {
req.body.creator = req.user.id;
if (!req.body.projectId) {
return res.sendError(errorMessage.paramsError);
}
......@@ -905,6 +913,8 @@ async function getJsqtzjcList(req, res, next) {
}
async function createZdsxsp(req, res, next) {
try {
req.body.creator = req.user.id;
if (!req.body.projectId) {
return res.sendError(errorMessage.paramsError);
}
......@@ -1029,6 +1039,8 @@ async function getZdsxspList(req, res, next) {
}
async function createXmtc(req, res, next) {
try {
req.body.creator = req.user.id;
if (!req.body.projectId) {
return res.sendError(errorMessage.paramsError);
}
......
......@@ -2,7 +2,7 @@ const { DataTypes } = require('sequelize');
const sequelize = require('../index');
const moment = require('moment');
//投中管理- 建设期投资检查
//其他 成本管理
const QtCbgl = sequelize.define('QtCbgl', {
id: {
type: DataTypes.INTEGER,
......
......@@ -2,7 +2,7 @@ const { DataTypes } = require('sequelize');
const sequelize = require('../index');
const moment = require('moment');
//投中管理- 建设期投资检查
//日常管理 参股企业管理
const RcCgqygl = sequelize.define('RcCgqygl', {
id: {
type: DataTypes.INTEGER,
......@@ -141,6 +141,9 @@ const RcCgqygl = sequelize.define('RcCgqygl', {
type: DataTypes.INTEGER,
defaultValue: 0,
comment: "0 正常 1 删除"
}, creator: {
type: DataTypes.INTEGER,
comment: "创建人"
},
createdAt: {
type: DataTypes.DATE,
......
......@@ -2,7 +2,7 @@ const { DataTypes } = require('sequelize');
const sequelize = require('../index');
const moment = require('moment');
//投中管理- 建设期投资检查
//日常管理 体系建设
const RcTxjs = sequelize.define('RcTxjs', {
id: {
type: DataTypes.INTEGER,
......@@ -14,7 +14,10 @@ const RcTxjs = sequelize.define('RcTxjs', {
comment: "项目名称",
},
creator: {
type: DataTypes.INTEGER,
comment: "创建人"
},
projectId: {
type: DataTypes.INTEGER,
comment: "所属项目ID",
......
const { DataTypes } = require('sequelize');
const sequelize = require('../index');
const moment = require('moment');
//投中管理- 建设期投资检查
const RcXxbs = sequelize.define('RcXxbs', {
id: {
type: DataTypes.INTEGER,
primaryKey: true,
autoIncrement: true
},
ztmc: {
type: DataTypes.STRING,
comment: "主体名称"
},
wjlx: {
type: DataTypes.STRING,
comment: "文件类型"
},
wj: {
type: DataTypes.JSON,
comment: "文件上传"
},
jyz: {
type: DataTypes.STRING,
comment: "建议值"
},
sourceId: {
type: DataTypes.INTEGER,
comment: "所属主表id"
},
projectId: {
type: DataTypes.INTEGER,
comment: "所属项目ID",
},
del: {
type: DataTypes.INTEGER,
defaultValue: 0,
comment: "0 正常 1 删除"
},
creator: {
type: DataTypes.INTEGER,
comment: "创建人"
},
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_rc_xxbs', // 指定表名(如果与模型名不同)
timestamps: true, // 是否自动添加 createdAt 和 updatedAt 字段(覆盖全局设置)
});
// 同步模型到数据库(创建表)
RcXxbs.sync({
// force: false,
// force: true ,//会删除已存在表并重新创建
alter: true
})
.then(() => {
console.log('RcXxbs 表同步成功');
});
module.exports = RcXxbs;
\ No newline at end of file
......@@ -75,6 +75,11 @@ const ThTzhpj = sequelize.define('ThTzhpj', {
defaultValue: 0,
comment: "0 正常 1 删除"
},
creator: {
type: DataTypes.INTEGER,
comment: "创建人"
},
createdAt: {
type: DataTypes.DATE,
defaultValue: new Date(),
......
......@@ -35,6 +35,10 @@ const ThYjgl = sequelize.define('ThYjgl', {
type: DataTypes.INTEGER,
defaultValue: 0,
comment: "0 正常 1 删除"
},
creator: {
type: DataTypes.INTEGER,
comment: "创建人"
},
createdAt: {
type: DataTypes.DATE,
......
......@@ -26,6 +26,10 @@ const ThYyqtzhs = sequelize.define('ThYyqtzhs', {
type: DataTypes.INTEGER,
defaultValue: 0,
comment: "0 正常 1 删除"
},
creator: {
type: DataTypes.INTEGER,
comment: "创建人"
},
createdAt: {
type: DataTypes.DATE,
......
......@@ -45,6 +45,10 @@ const ThYyqtzjc = sequelize.define('ThYyqtzjc', {
type: DataTypes.INTEGER,
defaultValue: 0,
comment: "0 正常 1 删除"
},
creator: {
type: DataTypes.INTEGER,
comment: "创建人"
},
createdAt: {
type: DataTypes.DATE,
......
......@@ -26,6 +26,9 @@ const TzJsqtzhs = sequelize.define('TzJsqtzhs', {
type: DataTypes.INTEGER,
defaultValue: 0,
comment: "0 正常 1 删除"
}, creator: {
type: DataTypes.INTEGER,
comment: "创建人"
},
createdAt: {
type: DataTypes.DATE,
......
......@@ -43,6 +43,10 @@ const TzJsqtzjc = sequelize.define('TzJsqtzjc', {
type: DataTypes.INTEGER,
defaultValue: 0,
comment: "0 正常 1 删除"
},
creator: {
type: DataTypes.INTEGER,
comment: "创建人"
},
createdAt: {
type: DataTypes.DATE,
......
......@@ -46,6 +46,10 @@ const TzTzkz = sequelize.define('TzTzkz', {
type: DataTypes.INTEGER,
defaultValue: 0,
comment: "0 正常 1 删除"
},
creator: {
type: DataTypes.INTEGER,
comment: "创建人"
},
createdAt: {
type: DataTypes.DATE,
......
......@@ -69,6 +69,10 @@ const TzTzmbzrs = sequelize.define('TzTzmbzrs', {
type: DataTypes.INTEGER,
defaultValue: 0,
comment: "0 正常 1 删除"
},
creator: {
type: DataTypes.INTEGER,
comment: "创建人"
},
createdAt: {
type: DataTypes.DATE,
......
......@@ -38,6 +38,10 @@ const TzXmtc = sequelize.define('TzXmtc', {
type: DataTypes.INTEGER,
defaultValue: 0,
comment: "0 正常 1 删除"
},
creator: {
type: DataTypes.INTEGER,
comment: "创建人"
},
createdAt: {
type: DataTypes.DATE,
......
......@@ -123,6 +123,10 @@ const TzZdfx = sequelize.define('TzZdfx', {
type: DataTypes.INTEGER,
defaultValue: 0,
comment: "0 正常 1 删除"
},
creator: {
type: DataTypes.INTEGER,
comment: "创建人"
},
createdAt: {
type: DataTypes.DATE,
......
......@@ -57,6 +57,10 @@ const TzZdsxsp = sequelize.define('TzZdsxsp', {
type: DataTypes.INTEGER,
defaultValue: 0,
comment: "0 正常 1 删除"
},
creator: {
type: DataTypes.INTEGER,
comment: "创建人"
},
createdAt: {
type: DataTypes.DATE,
......
......@@ -174,14 +174,17 @@ router.post('/deleteTxjs', projectRcController.deleteTxjs);
//4.6 投资档案管理
//4.7 参股企业管理 z
router.post('/createCgqygl', projectQtController.createCgqygl);
router.post('/updateCgqygl', projectQtController.updateCgqygl);
router.post('/getCgqygl', projectQtController.getCgqygl);
router.post('/getCgqyglList', projectQtController.getCgqyglList);
router.post('/deleteCgqygl', projectQtController.deleteCgqygl);
router.post('/createCgqygl', projectRcController.createCgqygl);
router.post('/updateCgqygl', projectRcController.updateCgqygl);
router.post('/getCgqygl', projectRcController.getCgqygl);
router.post('/getCgqyglList', projectRcController.getCgqyglList);
router.post('/deleteCgqygl', projectRcController.deleteCgqygl);
//4.8 信息化建设
/**
* 其他管理
*/
......
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