联动部门更改
This commit is contained in:
@@ -198,6 +198,14 @@ async function update(req, res) {
|
|||||||
params.push(id)
|
params.push(id)
|
||||||
await pool.query(`UPDATE employees SET ${sets.join(', ')} WHERE id = ?`, params)
|
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])
|
const [rows] = await pool.query('SELECT * FROM employees WHERE id = ?', [id])
|
||||||
res.json({ code: 0, message: 'ok', data: rows[0] })
|
res.json({ code: 0, message: 'ok', data: rows[0] })
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
|
|||||||
@@ -308,7 +308,7 @@ async function update(req, res) {
|
|||||||
const fields = ['username', 'department_id', 'employee_id', 'is_active']
|
const fields = ['username', 'department_id', 'employee_id', 'is_active']
|
||||||
|
|
||||||
try {
|
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) {
|
if (existing.length === 0) {
|
||||||
return res.status(404).json({ code: 404, message: '用户不存在' })
|
return res.status(404).json({ code: 404, message: '用户不存在' })
|
||||||
}
|
}
|
||||||
@@ -358,6 +358,14 @@ async function update(req, res) {
|
|||||||
params.push(id)
|
params.push(id)
|
||||||
await pool.query(`UPDATE users SET ${sets.join(', ')} WHERE id = ?`, params)
|
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(
|
const [rows] = await pool.query(
|
||||||
`${USER_LIST_SQL} WHERE u.id = ?`,
|
`${USER_LIST_SQL} WHERE u.id = ?`,
|
||||||
[id]
|
[id]
|
||||||
|
|||||||
Reference in New Issue
Block a user