明树Git Lab

Commit e053c2e6 authored by zfp1's avatar zfp1

update

parent 18cfbeab
Pipeline #106104 passed with stage
in 3 seconds
...@@ -333,7 +333,7 @@ async function queryLixiangResult(req, res, next) { ...@@ -333,7 +333,7 @@ async function queryLixiangResult(req, res, next) {
await DB.Project.update({ projectLzType: 5 }, { where: { id: req.body.id } }); await DB.Project.update({ projectLzType: 5 }, { where: { id: req.body.id } });
//2. 存储快照 关联关系太多 全部建立快照表工程过大,暂时存储形式 //2. 存储快照 关联关系太多 全部建立快照表工程过大,暂时存储形式
proInfo.projectLzType = 5; proInfo.projectLzType = 5;
await DB.ProjectLixiang.create({ lixiang: proInfo, projectId: proInfo.id }); // await DB.ProjectLixiang.create({ lixiang: proInfo, type: 1, projectId: proInfo.id });
return res.sendData(proInfo); return res.sendData(proInfo);
} else { } else {
return res.sendError(errorMessage.resourceNotFound); //暂时 return res.sendError(errorMessage.resourceNotFound); //暂时
...@@ -357,7 +357,7 @@ async function approvalLixiang(req, res, next) { ...@@ -357,7 +357,7 @@ async function approvalLixiang(req, res, next) {
await DB.Project.update({ projectLzType: 5 }, { where: { id: req.body.id } }); await DB.Project.update({ projectLzType: 5 }, { where: { id: req.body.id } });
//2. 存储快照 关联关系太多 全部建立快照表工程过大,暂时存储形式 //2. 存储快照 关联关系太多 全部建立快照表工程过大,暂时存储形式
proInfo.projectLzType = 5; proInfo.projectLzType = 5;
await DB.ProjectLixiang.create({ lixiang: proInfo, projectId: proInfo.id }); await DB.ProjectLixiang.create({ lixiang: proInfo, type: 1, projectId: proInfo.id });
await DB.FlowRecord.create({ await DB.FlowRecord.create({
userId: req.user.id, userId: req.user.id,
actionName: '立项审批通过', actionName: '立项审批通过',
...@@ -600,13 +600,13 @@ async function queryJueceResult(req, res, next) { ...@@ -600,13 +600,13 @@ async function queryJueceResult(req, res, next) {
*/ */
async function approvalJuece(req, res, next) { async function approvalJuece(req, res, next) {
try { try {
let proInfo = await projectModule.getProjectInfoByLixiang(req.body); let proInfo = await projectModule.getProjectInfo(req.body);
if (req.body.approvalResult) { if (req.body.approvalResult) {
//1. 更新项目状态--已决策 //1. 更新项目状态--已决策
await DB.Project.update({ projectLzType: 9}, { where: { id: req.body.id } }); await DB.Project.update({ projectLzType: 9 }, { where: { id: req.body.id } });
//2. 存储快照 关联关系太多 全部建立快照表工程过大,暂时存储形式 //2. 存储快照 关联关系太多 全部建立快照表工程过大,暂时存储形式
proInfo.projectLzType = 9; proInfo.projectLzType = 9;
await DB.ProjectLixiang.create({ lixiang: proInfo, projectId: proInfo.id }); await DB.ProjectLixiang.create({ juece: proInfo, type: 2, projectId: proInfo.id });
await DB.FlowRecord.create({ await DB.FlowRecord.create({
userId: req.user.id, userId: req.user.id,
actionName: '决策审批通过', actionName: '决策审批通过',
...@@ -916,29 +916,57 @@ async function getProjectInfo(req, res, next) { ...@@ -916,29 +916,57 @@ async function getProjectInfo(req, res, next) {
return res.sendError(errorMessage.resourceNotFound); return res.sendError(errorMessage.resourceNotFound);
} }
let ret = await projectModule.getProjectInfo(req.body); let ret = await projectModule.getProjectInfo(req.body);
let lixiang = await DB.ProjectLixiang.findOne({
order: [['createdAt', 'DESC']],
where: { projectId: req.body.id },
});
if (!(ret && ret.id)) { if (!(ret && ret.id)) {
return res.sendError(errorMessage.resourceNotFound); return res.sendError(errorMessage.resourceNotFound);
} }
let lixiang = await DB.ProjectLixiang.findOne({
order: [['createdAt', 'DESC']],
where: { projectId: req.body.id, type: 1 },
});
let juece = await DB.ProjectLixiang.findOne({
order: [['createdAt', 'DESC']],
where: { projectId: req.body.id, type: 2 },
});
let obj = {}; let obj = {};
console.log("----", ret.projectLzType) console.log("----", ret.projectLzType)
if (lixiang && lixiang.id) { if (lixiang && lixiang.id) {
obj.lixiang = lixiang.lixiang; //快照 obj.lixiang = lixiang.lixiang; //快照
//当项目状态 进入决策信息填报时候 // //当项目状态 进入决策信息填报时候
if ([7, 8, 9].includes(ret && ret.projectLzType)) { // if ([7, 8, 9].includes(ret && ret.projectLzType)) {
// obj.juece = ret;
// }
if (juece && juece.id) {
obj.juece = juece.juece;
} else {
obj.juece = ret; obj.juece = ret;
} }
} else { } else {
obj.lixiang = ret; //这里就只有立项 决策的数据一旦开始填报 证明一定有ProjectLixiang lixiang obj.lixiang = ret; //这里就只有立项 决策的数据一旦开始填报 证明一定有ProjectLixiang lixiang
} }
//进入再决策的
if ([11, 12, 13].includes(ret && ret.projectLzType)) {
obj.zaijuece = ret;
}
return res.sendData(obj); return res.sendData(obj);
} catch (error) { } catch (error) {
next(error); next(error);
} }
} }
async function getProjectFinalInfo(req, res, next) {
try {
if (!req.body.id) {
return res.sendError(errorMessage.resourceNotFound);
}
let ret = await projectModule.getProjectInfo(req.body);
if (!(ret && ret.id)) {
return res.sendError(errorMessage.resourceNotFound);
}
return res.sendData(ret);
} catch (error) {
next(error);
}
}
async function deleteProject(req, res, next) { async function deleteProject(req, res, next) {
...@@ -1135,7 +1163,7 @@ async function getOwnProjects(req, res, next) { ...@@ -1135,7 +1163,7 @@ async function getOwnProjects(req, res, next) {
async function getProFlowRecord(req, res, next) { async function getProFlowRecord(req, res, next) {
try { try {
let rcs = await DB.FlowRecord.findAll({where: {projectId: req.body.projectId}}); let rcs = await DB.FlowRecord.findAll({ where: { projectId: req.body.projectId } });
return res.sendData(rcs); return res.sendData(rcs);
} catch (error) { } catch (error) {
next(error); next(error);
...@@ -1143,6 +1171,79 @@ async function getProFlowRecord(req, res, next) { ...@@ -1143,6 +1171,79 @@ async function getProFlowRecord(req, res, next) {
} }
async function saveZaiJuece(req, res, next) {
try {
if (!req.body.id) {
return res.sendError(errorMessage.resourceNotFound)
}
let ret = await xiangmujuecegengxin(req.body, 11); //再决策填报中
return res.sendData(ret);
} catch (error) {
next(error);
}
}
async function startZaiJuece(req, res, next) {
try {
if (!req.body.id) {
return res.sendError(errorMessage.resourceNotFound)
}
let ret = await xiangmujuecegengxin(req.body, 12); //再决策审批中
// 给审批人员发消息
await DB.FlowRecord.create({
userId: req.user.id,
actionName: '发起项目再决策审批',
projectId: req.body.id,
});
let approvers = await userModule.getProjectApprover(req.user.id, 'xmjc_sp');
if (!(approvers && approvers.length > 0)) {
return res.sendError({ code: '60002', msg: '项目已保存,请联系管理员为本公司添加【项目再决策】角色人员' });
}
await DB.Message.create({
projectId: req.body.id,
creator: req.user.id,
receivers: approvers.map(o => o.id),
type: 2,
title: `项目【${req.body.name}】已发起项目再决策,请尽快处理!`,
content: `项目【${req.body.name}】已发起项目再决策,请尽快处理!`
});
return res.sendData(ret);
} catch (error) {
next(error);
}
}
async function approvalZaiJuece(req, res, next) {
try {
let proInfo = await projectModule.getProjectInfo(req.body);
if (req.body.approvalResult) {
//1. 更新项目状态--已决策
await DB.Project.update({ projectLzType: 13 }, { where: { id: req.body.id } });
//2. 存储快照 关联关系太多 全部建立快照表工程过大,暂时存储形式
proInfo.projectLzType = 13;
await DB.ProjectLixiang.create({ zaijuece: proInfo, type: 3, projectId: proInfo.id });
await DB.FlowRecord.create({
userId: req.user.id,
actionName: '再决策审批通过',
projectId: project.id,
});
} else {
//TODO:不确定
// //回到 已立项
// await DB.Project.update({ projectLzType: 5 }, { where: { id: req.body.id } });
// await DB.FlowRecord.create({
// userId: req.user.id,
// actionName: '再决策审批未通过',
// projectId: project.id,
// });
}
return res.sendData(proInfo);
} catch (error) {
next(error);
}
}
module.exports = { module.exports = {
getProjectFields, getProjectFields,
...@@ -1165,4 +1266,8 @@ module.exports = { ...@@ -1165,4 +1266,8 @@ module.exports = {
approvalLixiang, approvalLixiang,
approvalJuece, approvalJuece,
getProFlowRecord, getProFlowRecord,
getProjectFinalInfo,
saveZaiJuece,
startZaiJuece,
approvalZaiJuece,
} }
\ No newline at end of file
...@@ -9,6 +9,12 @@ const ProjectLixiang = sequelize.define('ProjectLixiang', { ...@@ -9,6 +9,12 @@ const ProjectLixiang = sequelize.define('ProjectLixiang', {
autoIncrement: true autoIncrement: true
}, },
lixiang:{type: DataTypes.JSON}, lixiang:{type: DataTypes.JSON},
juece:{type: DataTypes.JSON},
zaijuece:{type: DataTypes.JSON},
type: {
type: DataTypes.INTEGER,
comment: "1 lixiang 2 juece"
},
projectId: { projectId: {
type: DataTypes.INTEGER, type: DataTypes.INTEGER,
comment: "所属项目ID", comment: "所属项目ID",
...@@ -25,9 +31,9 @@ const ProjectLixiang = sequelize.define('ProjectLixiang', { ...@@ -25,9 +31,9 @@ const ProjectLixiang = sequelize.define('ProjectLixiang', {
// 同步模型到数据库(创建表) // 同步模型到数据库(创建表)
ProjectLixiang.sync({ ProjectLixiang.sync({
force: false, // force: false,
// force: true ,//会删除已存在表并重新创建 // force: true ,//会删除已存在表并重新创建
// alter: true alter: true
}) })
.then(() => { .then(() => {
console.log('ProjectLixiang 表同步成功'); console.log('ProjectLixiang 表同步成功');
......
...@@ -34,6 +34,7 @@ router.post('/getProjectCwpj', projectController.getProjectCwpj); ...@@ -34,6 +34,7 @@ router.post('/getProjectCwpj', projectController.getProjectCwpj);
router.post('/getProjectInfo', projectController.getProjectInfo); router.post('/getProjectInfo', projectController.getProjectInfo);
router.post('/getProjectFinalInfo', projectController.getProjectFinalInfo);
// router.post('/updateProject', projectController.updateProject); // router.post('/updateProject', projectController.updateProject);
// router.post('/deleteProject', projectController.deleteProject); // router.post('/deleteProject', projectController.deleteProject);
...@@ -53,7 +54,7 @@ router.post('/getProFlowRecord', projectController.getProFlowRecord) ...@@ -53,7 +54,7 @@ router.post('/getProFlowRecord', projectController.getProFlowRecord)
* 投中管理 * 投中管理
*/ */
//2.1 目标责任书 //2.1 目标责任书 ***
router.post('/createTzmbzrs', projectTzController.createTzmbzrs); router.post('/createTzmbzrs', projectTzController.createTzmbzrs);
router.post('/updateTzmbzrs', projectTzController.updateTzmbzrs); router.post('/updateTzmbzrs', projectTzController.updateTzmbzrs);
router.post('/getTzmbzrsList', projectTzController.getTzmbzrsList); router.post('/getTzmbzrsList', projectTzController.getTzmbzrsList);
...@@ -62,15 +63,14 @@ router.post('/deleteTzmbzrs', projectTzController.deleteTzmbzrsInfo); ...@@ -62,15 +63,14 @@ router.post('/deleteTzmbzrs', projectTzController.deleteTzmbzrsInfo);
router.post('/getProTzmbzrs', projectTzController.getProTzmbzrs); router.post('/getProTzmbzrs', projectTzController.getProTzmbzrs);
//2.2 投资控制 //2.2 投资控制 ***
router.post('/createTzkz', projectTzController.createTzkz); router.post('/createTzkz', projectTzController.createTzkz);
router.post('/updateTzkz', projectTzController.updateTzkz); router.post('/updateTzkz', projectTzController.updateTzkz);
router.post('/deleteTzkz', projectTzController.deleteTzkz); router.post('/deleteTzkz', projectTzController.deleteTzkz);
router.post('/getTzkzList', projectTzController.getTzkzList); router.post('/getTzkzList', projectTzController.getTzkzList);
router.post('/getTzkzInfo', projectTzController.getTzkzInfo); router.post('/getTzkzInfo', projectTzController.getTzkzInfo);
//2.3 重大风险防控 //2.3 重大风险防控 ***
router.post('/createZdfx', projectTzController.createZdfx); router.post('/createZdfx', projectTzController.createZdfx);
router.post('/updateZdfx', projectTzController.updateZdfx); router.post('/updateZdfx', projectTzController.updateZdfx);
router.post('/deleteZdfx', projectTzController.deleteZdfx); router.post('/deleteZdfx', projectTzController.deleteZdfx);
...@@ -84,21 +84,26 @@ router.post('/deleteJsqtzhs', projectTzController.deleteJsqtzhs); ...@@ -84,21 +84,26 @@ router.post('/deleteJsqtzhs', projectTzController.deleteJsqtzhs);
router.post('/getJsqtzhsList', projectTzController.getJsqtzhsList); router.post('/getJsqtzhsList', projectTzController.getJsqtzhsList);
router.post('/getJsqtzhsInfo', projectTzController.getJsqtzhsInfo); router.post('/getJsqtzhsInfo', projectTzController.getJsqtzhsInfo);
//2.5 建设期投资检查 //2.5 建设期投资检查 ***
router.post('/createJsqtzjc', projectTzController.createJsqtzjc); router.post('/createJsqtzjc', projectTzController.createJsqtzjc);
router.post('/updateJsqtzjc', projectTzController.updateJsqtzjc); router.post('/updateJsqtzjc', projectTzController.updateJsqtzjc);
router.post('/deleteJsqtzjc', projectTzController.deleteJsqtzjc); router.post('/deleteJsqtzjc', projectTzController.deleteJsqtzjc);
router.post('/getJsqtzjcList', projectTzController.getJsqtzjcList); router.post('/getJsqtzjcList', projectTzController.getJsqtzjcList);
router.post('/getJsqtzjcInfo', projectTzController.getJsqtzjcInfo); router.post('/getJsqtzjcInfo', projectTzController.getJsqtzjcInfo);
//2.6 重大事项审批 //2.6 重大事项审批 ***
router.post('/createZdsxsp', projectTzController.createZdsxsp); router.post('/createZdsxsp', projectTzController.createZdsxsp);
router.post('/updateZdsxsp', projectTzController.updateZdsxsp); router.post('/updateZdsxsp', projectTzController.updateZdsxsp);
router.post('/deleteZdsxsp', projectTzController.deleteZdsxsp); router.post('/deleteZdsxsp', projectTzController.deleteZdsxsp);
router.post('/getZdsxspList', projectTzController.getZdsxspList); router.post('/getZdsxspList', projectTzController.getZdsxspList);
router.post('/getZdsxspInfo', projectTzController.getZdsxspInfo); router.post('/getZdsxspInfo', projectTzController.getZdsxspInfo);
//2.7 重新决策
router.post('/saveZaiJuece', projectController.saveZaiJuece); //决策保存
router.post('/startZaiJuece', projectController.startZaiJuece); //发起决策
// router.post('/queryJueceResult', projectController.queryJueceResult); //查询决策审批结果
router.post('/approvalZaiJuece', projectController.approvalZaiJuece);
//2.8 项目退出-------以下sourceId待改 //2.8 项目退出 ***
router.post('/createXmtc', projectTzController.createXmtc); router.post('/createXmtc', projectTzController.createXmtc);
router.post('/updateXmtc', projectTzController.updateXmtc); router.post('/updateXmtc', projectTzController.updateXmtc);
router.post('/getXmtcList', projectTzController.getXmtcList); router.post('/getXmtcList', projectTzController.getXmtcList);
...@@ -109,19 +114,19 @@ router.post('/getXmtcInfo', projectTzController.getXmtcInfo); ...@@ -109,19 +114,19 @@ router.post('/getXmtcInfo', projectTzController.getXmtcInfo);
* 投后 * 投后
*/ */
//运营期投资回收 --- 参考建设期投资回收 //3.1 运营期投资回收 --- 参考建设期投资回收
router.post('/createYyqtzhs', projectThController.createYyqtzhs); router.post('/createYyqtzhs', projectThController.createYyqtzhs);
router.post('/updateYyqtzhs', projectThController.updateYyqtzhs); router.post('/updateYyqtzhs', projectThController.updateYyqtzhs);
router.post('/getYyqtzhsList', projectThController.getYyqtzhsList); router.post('/getYyqtzhsList', projectThController.getYyqtzhsList);
router.post('/getYyqtzhsInfo', projectThController.getYyqtzhsInfo); router.post('/getYyqtzhsInfo', projectThController.getYyqtzhsInfo);
//3.2 运营期投资检查 参考建设期投资检查 //3.2 运营期投资检查 参考建设期投资检查 ***
router.post('/createYyqtzjc', projectThController.createYyqtzjc); router.post('/createYyqtzjc', projectThController.createYyqtzjc);
router.post('/updateYyqtzjc', projectThController.updateYyqtzjc); router.post('/updateYyqtzjc', projectThController.updateYyqtzjc);
router.post('/getYyqtzjcList', projectThController.getYyqtzjcList); router.post('/getYyqtzjcList', projectThController.getYyqtzjcList);
router.post('/getYyqtzjcInfo', projectThController.getYyqtzjcInfo); router.post('/getYyqtzjcInfo', projectThController.getYyqtzjcInfo);
//3.3 投资后评价 //3.3 投资后评价 ***
router.post('/createTzhpj', projectThController.createTzhpj); router.post('/createTzhpj', projectThController.createTzhpj);
router.post('/updateTzhpj', projectThController.updateTzhpj); router.post('/updateTzhpj', projectThController.updateTzhpj);
router.post('/getTzhpjList', projectThController.getTzhpjList); router.post('/getTzhpjList', projectThController.getTzhpjList);
......
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