明树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) {
return res.sendError(errorMessage.resourceNotFound);
}
//查验部门下是否有用户
let depIds = curNode.parentIds ? curNode.parentIds.split(',') : [];
depIds.push(curNode.id);
let count = await DB.UserDepart.count({where: {departId: {[Op.in]: depIds}}});
// let depIds = curNode.parentIds ? curNode.parentIds.split(',') : [];
// depIds.push(curNode.id);
let count = await DB.UserDepart.count({where: {parentIds: {[Op.startsWith]: curNode.parentIds + curNode.id}}});
if(count && count > 0) {
return res.sendError(errorMessage.departHasUser);
}
......
This diff is collapsed.
......@@ -25,7 +25,7 @@ const Project = sequelize.define('Project', {
},
projectLzType: {
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: {
type: DataTypes.STRING(10),
......@@ -36,7 +36,34 @@ const Project = sequelize.define('Project', {
defaultValue: 0,
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', {
comment: "单位工程造价数值"
},
dwgczjDw: {
type: DataTypes.INTEGER,
type: DataTypes.STRING(10),
comment: "单位工程造价单位"
},
xsfwnlSz: {
......
......@@ -17,6 +17,11 @@ const Depart = sequelize.define('Depart', {
type: DataTypes.INTEGER,
},
type: {
type: DataTypes.INTEGER,
defaultValue: 0,
comment: "0 集团及内部部门 1 项目公司及内部部门"
},
parentIds: {
type: DataTypes.STRING(500),
},
......
......@@ -37,7 +37,12 @@ const Message = sequelize.define('Message', {
type: {
type: DataTypes.INTEGER,
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) {
}
async function getProjectApprover(userId, roleCode) {
// 获取当前用户公司的 具体角色 的用户列表
// 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});
async function getCompanyProjectApprover(userId, roleCode) {
roleCode = roleCode || "xmssdwbmz"; //暂时
// 获取投管部正副职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;
let user = await DB.User.findOne({ where: { id: userId } });
return [user];
let users = await DB.User.findAll({ where: { id: {[Op.in]: userIds} } });
return users;
}
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});
let users = await DB.User.findAll({ where: { id: {[Op.in]: userIds} } });
return users;
}
module.exports = {
......@@ -152,5 +178,7 @@ module.exports = {
setUserDepart,
setUserPosition,
setRoleMenu,
getProjectApprover,
getCompanyProjectApprover,
getTouGuanJbrProjectApprover,
getTouGuanZfzProjectApprover,
}
\ No newline at end of file
......@@ -21,15 +21,14 @@ router.post('/saveProjectPreLixiang', projectController.saveProjectPreLixiang);
router.post('/startLixiang', projectController.startLixiang);//发起立项审批----TODO:待完成与能建对接
router.post('/queryLixiangResult', projectController.queryLixiangResult);
router.post('/approvalLixiang', projectController.approvalLixiang);
router.post('/approvalLixiang', projectController.approvalLixiangByDepartHeader); //部门长核准立项审批
router.post('/approvalLixiang', projectController.approvalLixiangByTouGuanJbr);//投管部经办人审批立项审批
router.post('/approvalLixiang', projectController.approvalLixiang);//立项审批---投管部正副职审批
// -----------------------接收能建立项结果信息,更新立项批复信息等字段------------------------------------------
router.post('/saveJuece', projectController.saveJuece); //决策保存
router.post('/startJuece', projectController.startJuece); //发起决策
router.post('/queryJueceResult', projectController.queryJueceResult); //查询决策审批结果
router.post('/approvalJuece', projectController.approvalJuece);
// 财务评价
......@@ -104,7 +103,7 @@ router.post('/getZdsxspInfo', projectTzController.getZdsxspInfo);
router.post('/saveZaiJuece', projectController.saveZaiJuece); //决策保存
router.post('/startZaiJuece', projectController.startZaiJuece); //发起决策
router.post('/approvalZaiJuece', projectController.approvalZaiJuece);
// router.post('/queryJueceResult', projectController.queryJueceResult); //查询决策审批结果
//2.8 项目退出 ***
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