联动部门更改

This commit is contained in:
Kyaru
2026-06-29 14:43:21 +08:00
parent 24ccb9b364
commit faf94d696d
2 changed files with 17 additions and 1 deletions

View File

@@ -308,7 +308,7 @@ async function update(req, res) {
const fields = ['username', 'department_id', 'employee_id', 'is_active']
try {
const [existing] = await pool.query('SELECT id, department_id, is_active FROM users WHERE id = ?', [id])
const [existing] = await pool.query('SELECT id, department_id, is_active, employee_id FROM users WHERE id = ?', [id])
if (existing.length === 0) {
return res.status(404).json({ code: 404, message: '用户不存在' })
}
@@ -358,6 +358,14 @@ async function update(req, res) {
params.push(id)
await pool.query(`UPDATE users SET ${sets.join(', ')} WHERE id = ?`, params)
// 部门联动:用户部门变更时同步更新关联员工的部门
if (req.body.department_id !== undefined && existing[0].employee_id) {
const [[dept]] = await pool.query('SELECT description FROM departments WHERE id = ?', [req.body.department_id])
if (dept) {
await pool.query('UPDATE employees SET department = ? WHERE id = ?', [dept.description, existing[0].employee_id])
}
}
const [rows] = await pool.query(
`${USER_LIST_SQL} WHERE u.id = ?`,
[id]