明树Git Lab

Commit 56ab2b08 authored by zfp1's avatar zfp1

update

parent 193df050
Pipeline #111159 passed with stage
in 4 seconds
...@@ -102,9 +102,9 @@ async function deleteDepart(req, res, next) { ...@@ -102,9 +102,9 @@ async function deleteDepart(req, res, next) {
return res.sendError(errorMessage.resourceNotFound); return res.sendError(errorMessage.resourceNotFound);
} }
//查验部门下是否有用户 //查验部门下是否有用户
let depIds = curNode.parentIds ? curNode.parentIds.split(',') : []; // let depIds = curNode.parentIds ? curNode.parentIds.split(',') : [];
depIds.push(curNode.id); // depIds.push(curNode.id);
let count = await DB.UserDepart.count({where: {departId: {[Op.in]: depIds}}}); let count = await DB.UserDepart.count({where: {parentIds: {[Op.startsWith]: curNode.parentIds + curNode.id}}});
if(count && count > 0) { if(count && count > 0) {
return res.sendError(errorMessage.departHasUser); return res.sendError(errorMessage.departHasUser);
} }
......
This diff is collapsed.
...@@ -25,7 +25,7 @@ const Project = sequelize.define('Project', { ...@@ -25,7 +25,7 @@ const Project = sequelize.define('Project', {
}, },
projectLzType: { projectLzType: {
type: DataTypes.STRING(10), type: DataTypes.STRING(10),
comment: "项目流转状态: 1待立项 3立项审批中 5 已立项 7决策填报中 8 决策审批中 9 已决策 ( 待定 11 再决策填报中 12 再决策审批中 13 再决策审批通过 15再决策审批不通过)", comment: "项目流转状态: 1待立项 2.立项核准中 3立项初审 4.立项终审 5 已立项 7决策填报中 8 决策审批中 9 已决策 ( 待定 11 再决策填报中 12 再决策审批中 13 再决策审批通过 15再决策审批不通过)",
}, },
xmjd: { xmjd: {
type: DataTypes.STRING(10), type: DataTypes.STRING(10),
...@@ -36,7 +36,34 @@ const Project = sequelize.define('Project', { ...@@ -36,7 +36,34 @@ const Project = sequelize.define('Project', {
defaultValue: 0, defaultValue: 0,
comment1: "0 正常 1 删除", comment1: "0 正常 1 删除",
}, },
projectHzUser: {
type: DataTypes.INTEGER,
comment: "项目核准人ID",
},
projectLxjbrUser: {
type: DataTypes.INTEGER,
comment: "项目立项经办人ID",
},
projectLxzsUser: {
type: DataTypes.INTEGER,
comment: "项目立项终审人ID",
},
projectFqJueceUser: {
type: DataTypes.INTEGER,
comment: "项目决策发起人ID",
},
projectJueceSpUser: {
type: DataTypes.INTEGER,
comment: "项目决策审批人ID",
},
projectFqZaiJueceUser: {
type: DataTypes.INTEGER,
comment: "项目再决策发起人ID",
},
projectZaiJueceSpUser: {
type: DataTypes.INTEGER,
comment: "项目再决策审批人ID",
},
/** /**
* 立项字段 * 立项字段
*/ */
......
...@@ -18,7 +18,7 @@ const projectBjtj = sequelize.define('projectBjtj', { ...@@ -18,7 +18,7 @@ const projectBjtj = sequelize.define('projectBjtj', {
comment: "单位工程造价数值" comment: "单位工程造价数值"
}, },
dwgczjDw: { dwgczjDw: {
type: DataTypes.INTEGER, type: DataTypes.STRING(10),
comment: "单位工程造价单位" comment: "单位工程造价单位"
}, },
xsfwnlSz: { xsfwnlSz: {
......
...@@ -17,6 +17,11 @@ const Depart = sequelize.define('Depart', { ...@@ -17,6 +17,11 @@ const Depart = sequelize.define('Depart', {
type: DataTypes.INTEGER, type: DataTypes.INTEGER,
}, },
type: {
type: DataTypes.INTEGER,
defaultValue: 0,
comment: "0 集团及内部部门 1 项目公司及内部部门"
},
parentIds: { parentIds: {
type: DataTypes.STRING(500), type: DataTypes.STRING(500),
}, },
......
...@@ -37,7 +37,12 @@ const Message = sequelize.define('Message', { ...@@ -37,7 +37,12 @@ const Message = sequelize.define('Message', {
type: { type: {
type: DataTypes.INTEGER, type: DataTypes.INTEGER,
allowNull: true, allowNull: true,
comment: "消息类型 1 系统消息 2 项目立项审批 3.项目决策审批 4. 项目再决策审批" comment: `消息类型 1 系统消息
2 项目公司所属员工发起立项
5. 项目所属单位部门长核准通过 6.项目所属单位部门长核准不通过
7. 投管部经办人初审通过 8. 投管部经办人初审不通过
9. 投管部正副职复审通过 10. 投管部正副职复审不通过
3.发起项目决策审批 11.决策审批通过 12 决策审批未通过 4. 项目再决策审批 13.再决策审批通过 14.再决策审批未通过`
}, },
/** /**
* 其他待存字段 * 其他待存字段
......
...@@ -131,20 +131,46 @@ async function setRoleMenu(roleId, menuIds, rolemenus) { ...@@ -131,20 +131,46 @@ async function setRoleMenu(roleId, menuIds, rolemenus) {
} }
async function getProjectApprover(userId, roleCode) { async function getCompanyProjectApprover(userId, roleCode) {
// 获取当前用户公司的 具体角色 的用户列表 roleCode = roleCode || "xmssdwbmz"; //暂时
// let role = await DB.Role.findOne({where: {key: roleCode}, raw: true}); // 获取投管部正副职tgbzfz的用户列表
// if(!(role && role.id)) { let role = await DB.Role.findOne({where: {key: roleCode}, raw: true});
// return []; if(!(role && role.id)) {
// } return [];
// let userIds = await DB.UserRole.findAll({where: {roleId: role.id}, raw: true}); }
// userIds = (userIds || []).map(o => {return o.userId}); let userIds = await DB.UserRole.findAll({where: {roleId: role.id}, raw: true});
userIds = (userIds || []).map(o => {return o.userId});
// let users = await DB.User.findAll({ where: { id: {[Op.in]: userIds} } }); let users = await DB.User.findAll({ where: { id: {[Op.in]: userIds} } });
// return users; return users;
let user = await DB.User.findOne({ where: { id: userId } }); }
async function getTouGuanJbrProjectApprover(userId, roleCode) {
roleCode = roleCode || "tgbjbr";
// 获取投管部正副职tgbzfz的用户列表
let role = await DB.Role.findOne({where: {key: roleCode}, raw: true});
if(!(role && role.id)) {
return [];
}
let userIds = await DB.UserRole.findAll({where: {roleId: role.id}, raw: true});
userIds = (userIds || []).map(o => {return o.userId});
let users = await DB.User.findAll({ where: { id: {[Op.in]: userIds} } });
return users;
}
async function getTouGuanZfzProjectApprover(userId, roleCode) {
roleCode = roleCode || "tgbzfz";
// 获取投管部正副职tgbzfz的用户列表
let role = await DB.Role.findOne({where: {key: roleCode}, raw: true});
if(!(role && role.id)) {
return [];
}
let userIds = await DB.UserRole.findAll({where: {roleId: role.id}, raw: true});
userIds = (userIds || []).map(o => {return o.userId});
return [user]; let users = await DB.User.findAll({ where: { id: {[Op.in]: userIds} } });
return users;
} }
module.exports = { module.exports = {
...@@ -152,5 +178,7 @@ module.exports = { ...@@ -152,5 +178,7 @@ module.exports = {
setUserDepart, setUserDepart,
setUserPosition, setUserPosition,
setRoleMenu, setRoleMenu,
getProjectApprover, getCompanyProjectApprover,
getTouGuanJbrProjectApprover,
getTouGuanZfzProjectApprover,
} }
\ No newline at end of file
...@@ -21,15 +21,14 @@ router.post('/saveProjectPreLixiang', projectController.saveProjectPreLixiang); ...@@ -21,15 +21,14 @@ router.post('/saveProjectPreLixiang', projectController.saveProjectPreLixiang);
router.post('/startLixiang', projectController.startLixiang);//发起立项审批----TODO:待完成与能建对接 router.post('/startLixiang', projectController.startLixiang);//发起立项审批----TODO:待完成与能建对接
router.post('/queryLixiangResult', projectController.queryLixiangResult); router.post('/approvalLixiang', projectController.approvalLixiangByDepartHeader); //部门长核准立项审批
router.post('/approvalLixiang', projectController.approvalLixiangByTouGuanJbr);//投管部经办人审批立项审批
router.post('/approvalLixiang', projectController.approvalLixiang); router.post('/approvalLixiang', projectController.approvalLixiang);//立项审批---投管部正副职审批
// -----------------------接收能建立项结果信息,更新立项批复信息等字段------------------------------------------ // -----------------------接收能建立项结果信息,更新立项批复信息等字段------------------------------------------
router.post('/saveJuece', projectController.saveJuece); //决策保存 router.post('/saveJuece', projectController.saveJuece); //决策保存
router.post('/startJuece', projectController.startJuece); //发起决策 router.post('/startJuece', projectController.startJuece); //发起决策
router.post('/queryJueceResult', projectController.queryJueceResult); //查询决策审批结果
router.post('/approvalJuece', projectController.approvalJuece); router.post('/approvalJuece', projectController.approvalJuece);
// 财务评价 // 财务评价
...@@ -104,7 +103,7 @@ router.post('/getZdsxspInfo', projectTzController.getZdsxspInfo); ...@@ -104,7 +103,7 @@ router.post('/getZdsxspInfo', projectTzController.getZdsxspInfo);
router.post('/saveZaiJuece', projectController.saveZaiJuece); //决策保存 router.post('/saveZaiJuece', projectController.saveZaiJuece); //决策保存
router.post('/startZaiJuece', projectController.startZaiJuece); //发起决策 router.post('/startZaiJuece', projectController.startZaiJuece); //发起决策
router.post('/approvalZaiJuece', projectController.approvalZaiJuece); router.post('/approvalZaiJuece', projectController.approvalZaiJuece);
// router.post('/queryJueceResult', projectController.queryJueceResult); //查询决策审批结果
//2.8 项目退出 *** //2.8 项目退出 ***
router.post('/createXmtc', projectTzController.createXmtc); router.post('/createXmtc', projectTzController.createXmtc);
......
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