明树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) {
await DB.Project.update({ projectLzType: 5 }, { where: { id: req.body.id } });
//2. 存储快照 关联关系太多 全部建立快照表工程过大,暂时存储形式
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);
} else {
return res.sendError(errorMessage.resourceNotFound); //暂时
......@@ -357,7 +357,7 @@ async function approvalLixiang(req, res, next) {
await DB.Project.update({ projectLzType: 5 }, { where: { id: req.body.id } });
//2. 存储快照 关联关系太多 全部建立快照表工程过大,暂时存储形式
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({
userId: req.user.id,
actionName: '立项审批通过',
......@@ -600,13 +600,13 @@ async function queryJueceResult(req, res, next) {
*/
async function approvalJuece(req, res, next) {
try {
let proInfo = await projectModule.getProjectInfoByLixiang(req.body);
let proInfo = await projectModule.getProjectInfo(req.body);
if (req.body.approvalResult) {
//1. 更新项目状态--已决策
await DB.Project.update({ projectLzType: 9}, { where: { id: req.body.id } });
await DB.Project.update({ projectLzType: 9 }, { where: { id: req.body.id } });
//2. 存储快照 关联关系太多 全部建立快照表工程过大,暂时存储形式
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({
userId: req.user.id,
actionName: '决策审批通过',
......@@ -916,29 +916,57 @@ async function getProjectInfo(req, res, next) {
return res.sendError(errorMessage.resourceNotFound);
}
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)) {
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 = {};
console.log("----", ret.projectLzType)
if (lixiang && lixiang.id) {
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;
}
} else {
obj.lixiang = ret; //这里就只有立项 决策的数据一旦开始填报 证明一定有ProjectLixiang lixiang
}
//进入再决策的
if ([11, 12, 13].includes(ret && ret.projectLzType)) {
obj.zaijuece = ret;
}
return res.sendData(obj);
} catch (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) {
......@@ -1135,7 +1163,7 @@ async function getOwnProjects(req, res, next) {
async function getProFlowRecord(req, res, next) {
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);
} catch (error) {
next(error);
......@@ -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 = {
getProjectFields,
......@@ -1165,4 +1266,8 @@ module.exports = {
approvalLixiang,
approvalJuece,
getProFlowRecord,
getProjectFinalInfo,
saveZaiJuece,
startZaiJuece,
approvalZaiJuece,
}
\ No newline at end of file
......@@ -9,6 +9,12 @@ const ProjectLixiang = sequelize.define('ProjectLixiang', {
autoIncrement: true
},
lixiang:{type: DataTypes.JSON},
juece:{type: DataTypes.JSON},
zaijuece:{type: DataTypes.JSON},
type: {
type: DataTypes.INTEGER,
comment: "1 lixiang 2 juece"
},
projectId: {
type: DataTypes.INTEGER,
comment: "所属项目ID",
......@@ -25,9 +31,9 @@ const ProjectLixiang = sequelize.define('ProjectLixiang', {
// 同步模型到数据库(创建表)
ProjectLixiang.sync({
force: false,
// force: false,
// force: true ,//会删除已存在表并重新创建
// alter: true
alter: true
})
.then(() => {
console.log('ProjectLixiang 表同步成功');
......
......@@ -34,6 +34,7 @@ router.post('/getProjectCwpj', projectController.getProjectCwpj);
router.post('/getProjectInfo', projectController.getProjectInfo);
router.post('/getProjectFinalInfo', projectController.getProjectFinalInfo);
// router.post('/updateProject', projectController.updateProject);
// router.post('/deleteProject', projectController.deleteProject);
......@@ -53,7 +54,7 @@ router.post('/getProFlowRecord', projectController.getProFlowRecord)
* 投中管理
*/
//2.1 目标责任书
//2.1 目标责任书 ***
router.post('/createTzmbzrs', projectTzController.createTzmbzrs);
router.post('/updateTzmbzrs', projectTzController.updateTzmbzrs);
router.post('/getTzmbzrsList', projectTzController.getTzmbzrsList);
......@@ -62,15 +63,14 @@ router.post('/deleteTzmbzrs', projectTzController.deleteTzmbzrsInfo);
router.post('/getProTzmbzrs', projectTzController.getProTzmbzrs);
//2.2 投资控制
//2.2 投资控制 ***
router.post('/createTzkz', projectTzController.createTzkz);
router.post('/updateTzkz', projectTzController.updateTzkz);
router.post('/deleteTzkz', projectTzController.deleteTzkz);
router.post('/getTzkzList', projectTzController.getTzkzList);
router.post('/getTzkzInfo', projectTzController.getTzkzInfo);
//2.3 重大风险防控
//2.3 重大风险防控 ***
router.post('/createZdfx', projectTzController.createZdfx);
router.post('/updateZdfx', projectTzController.updateZdfx);
router.post('/deleteZdfx', projectTzController.deleteZdfx);
......@@ -84,21 +84,26 @@ router.post('/deleteJsqtzhs', projectTzController.deleteJsqtzhs);
router.post('/getJsqtzhsList', projectTzController.getJsqtzhsList);
router.post('/getJsqtzhsInfo', projectTzController.getJsqtzhsInfo);
//2.5 建设期投资检查
//2.5 建设期投资检查 ***
router.post('/createJsqtzjc', projectTzController.createJsqtzjc);
router.post('/updateJsqtzjc', projectTzController.updateJsqtzjc);
router.post('/deleteJsqtzjc', projectTzController.deleteJsqtzjc);
router.post('/getJsqtzjcList', projectTzController.getJsqtzjcList);
router.post('/getJsqtzjcInfo', projectTzController.getJsqtzjcInfo);
//2.6 重大事项审批
//2.6 重大事项审批 ***
router.post('/createZdsxsp', projectTzController.createZdsxsp);
router.post('/updateZdsxsp', projectTzController.updateZdsxsp);
router.post('/deleteZdsxsp', projectTzController.deleteZdsxsp);
router.post('/getZdsxspList', projectTzController.getZdsxspList);
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('/updateXmtc', projectTzController.updateXmtc);
router.post('/getXmtcList', projectTzController.getXmtcList);
......@@ -109,19 +114,19 @@ router.post('/getXmtcInfo', projectTzController.getXmtcInfo);
* 投后
*/
//运营期投资回收 --- 参考建设期投资回收
//3.1 运营期投资回收 --- 参考建设期投资回收
router.post('/createYyqtzhs', projectThController.createYyqtzhs);
router.post('/updateYyqtzhs', projectThController.updateYyqtzhs);
router.post('/getYyqtzhsList', projectThController.getYyqtzhsList);
router.post('/getYyqtzhsInfo', projectThController.getYyqtzhsInfo);
//3.2 运营期投资检查 参考建设期投资检查
//3.2 运营期投资检查 参考建设期投资检查 ***
router.post('/createYyqtzjc', projectThController.createYyqtzjc);
router.post('/updateYyqtzjc', projectThController.updateYyqtzjc);
router.post('/getYyqtzjcList', projectThController.getYyqtzjcList);
router.post('/getYyqtzjcInfo', projectThController.getYyqtzjcInfo);
//3.3 投资后评价
//3.3 投资后评价 ***
router.post('/createTzhpj', projectThController.createTzhpj);
router.post('/updateTzhpj', projectThController.updateTzhpj);
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