Compare commits

..

2 Commits

Author SHA1 Message Date
Kyaru
59ea8d1e77 Merge branch 'main' of https://chochox.asia/ChoChoX/backmanager-server 2026-06-29 14:43:24 +08:00
Kyaru
faf94d696d 联动部门更改 2026-06-29 14:43:21 +08:00
2 changed files with 17 additions and 1 deletions

View File

@@ -198,6 +198,14 @@ async function update(req, res) {
params.push(id)
await pool.query(`UPDATE employees SET ${sets.join(', ')} WHERE id = ?`, params)
// 部门联动:员工部门变更时同步更新关联用户的部门
if (req.body.department !== undefined) {
const [[dept]] = await pool.query('SELECT id FROM departments WHERE description = ?', [req.body.department])
if (dept) {
await pool.query('UPDATE users SET department_id = ? WHERE employee_id = ?', [dept.id, id])
}
}
const [rows] = await pool.query('SELECT * FROM employees WHERE id = ?', [id])
res.json({ code: 0, message: 'ok', data: rows[0] })
} catch (e) {

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]