55 lines
2.0 KiB
XML
55 lines
2.0 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
|
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
|
<mapper namespace="com.zioinfo.hrm.organization.OrgMapper">
|
|
|
|
<select id="findAllDepts" resultType="map">
|
|
SELECT d.id, d.dept_code, d.dept_name, d.parent_id,
|
|
p.dept_name AS parent_name, d.manager_emp_id,
|
|
e.name AS manager_name, d.sort_order, d.active,
|
|
(SELECT COUNT(*) FROM hrm_employees emp WHERE emp.department_id = d.id AND emp.status='ACTIVE') AS headcount
|
|
FROM hrm_departments d
|
|
LEFT JOIN hrm_departments p ON d.parent_id = p.id
|
|
LEFT JOIN hrm_employees e ON d.manager_emp_id = e.id
|
|
WHERE d.active = true
|
|
ORDER BY d.sort_order, d.id
|
|
</select>
|
|
|
|
<insert id="insertDept">
|
|
INSERT INTO hrm_departments (dept_code, dept_name, parent_id, manager_emp_id, sort_order)
|
|
VALUES (#{deptCode}, #{deptName}, #{parentId}, #{managerEmpId}, #{sortOrder})
|
|
</insert>
|
|
|
|
<update id="updateDept">
|
|
UPDATE hrm_departments SET
|
|
dept_name=#{deptName}, parent_id=#{parentId},
|
|
manager_emp_id=#{managerEmpId}, sort_order=#{sortOrder}
|
|
WHERE id=#{id}
|
|
</update>
|
|
|
|
<update id="deleteDept">
|
|
UPDATE hrm_departments SET active=false WHERE id=#{id}
|
|
</update>
|
|
|
|
<select id="findAllPositions" resultType="map">
|
|
SELECT id, position_code, position_name, sort_order
|
|
FROM hrm_positions WHERE active=true ORDER BY sort_order
|
|
</select>
|
|
|
|
<insert id="insertPosition">
|
|
INSERT INTO hrm_positions (position_code, position_name, sort_order)
|
|
VALUES (#{positionCode}, #{positionName}, #{sortOrder})
|
|
</insert>
|
|
|
|
<select id="findAllGrades" resultType="map">
|
|
SELECT id, grade_code, grade_name, grade_level, sort_order
|
|
FROM hrm_grades WHERE active=true ORDER BY grade_level
|
|
</select>
|
|
|
|
<insert id="insertGrade">
|
|
INSERT INTO hrm_grades (grade_code, grade_name, grade_level, sort_order)
|
|
VALUES (#{gradeCode}, #{gradeName}, #{gradeLevel}, #{sortOrder})
|
|
</insert>
|
|
|
|
</mapper>
|