Du kan inte välja fler än 25 ämnen Ämnen måste starta med en bokstav eller siffra, kan innehålla bindestreck ('-') och vara max 35 tecken långa.
 
 
 
 
 
 

101 rader
6.1 KiB

  1. <?xml version="1.0" encoding="UTF-8" ?>
  2. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  3. <mapper namespace="com.lecoo.kjg.web.sys.dao.EmpDao">
  4. <resultMap id="selectMap" type="com.lecoo.kjg.web.sys.entity.Emp" >
  5. <result property="id" column="id" jdbcType="VARCHAR" />
  6. <result property="realName" column="real_name" jdbcType="VARCHAR" />
  7. <result property="jobNumber" column="job_number" jdbcType="VARCHAR" />
  8. <result property="office.officeCode" column="office_code" jdbcType="NUMERIC" />
  9. </resultMap>
  10. <!-- 根据 JobNumber 查询员工 -->
  11. <select id="findByJobNum" parameterType="java.lang.String" resultMap="selectMap">
  12. select e.real_name,e.job_number,e.id,o.office_code,e.register_time,e.status,e.phone_number,e.face_image_name from tf_project_emp e, tf_sys_office o where e.job_number = #{jobNum} and e.status in ("0","1", "4", "10", "11") and e.office_code=o.office_code limit 1;
  13. </select>
  14. <!-- 根据 FaceId 查询员工 -->
  15. <select id="findByFaceId" parameterType="java.lang.Integer" resultType="com.lecoo.kjg.web.sys.entity.Emp">
  16. select * from tf_project_emp where face_id = #{faceId} and status = "0";
  17. </select>
  18. <!-- 根据显示设备查询员工, device > office > emp -->
  19. <select id="findByShowDeviceId" parameterType="java.lang.String" resultType="java.util.Map">
  20. select distinct e.id as id, e.real_name as realname, e.department as department, e.face_image_name as faceImageName from tf_project_emp e where e.status in ("0", "4", "10", "11") and e.office_code in (select distinct od.office_id from tf_project_office_device od left join tf_project_device d on d.id = od.device_id where show_device_id like concat('%', #{showDeviceId}, '%'))
  21. </select>
  22. <update id="logicDeleteEmp" parameterType="java.lang.String" flushCache="true" >
  23. update tf_project_emp set face_id = null, status = "1" where id = #{id}
  24. </update>
  25. <update id="updateToDefaultOffice" parameterType="String" flushCache="true" >
  26. update tf_project_emp set office_code = #{defaultOfficeCode}, department="未分配" where office_code = #{officeCode}
  27. </update>
  28. <!-- 根据登录二级管理员编码查询员工,userDataScope-emp -->
  29. <select id="findByUserCode" parameterType="java.lang.String" resultType="com.lecoo.kjg.web.sys.entity.Emp">
  30. select * from tf_project_emp e where e.office_code in (select s.ctrl_data from tf_sys_user_data_scope s where s.user_code = #{userCode} and s.ctrl_type='Office');
  31. </select>
  32. <select id="findByName" parameterType="java.lang.String" resultType="com.lecoo.kjg.web.sys.entity.Emp">
  33. select * from tf_project_emp e where e.office_code = #{officeCode} AND e.real_name = #{name};
  34. </select>
  35. <select id="findEmployeeCountByOfficeCode" parameterType="String" resultType="java.lang.Long">
  36. SELECT count(id) FROM tf_project_emp WHERE office_code = #{officeCode} AND status in ("0", "4", "10", "11")
  37. </select>
  38. <select id="findByOfficeCode" parameterType="String" resultType="com.lecoo.kjg.web.sys.entity.Emp">
  39. SELECT * FROM tf_project_emp WHERE office_code = #{officeCode} AND status in ("0","1","4","5", "10", "11")
  40. </select>
  41. <!-- 根据设备查询员工 -->
  42. <select id="findFaceIdByDeviceId" parameterType="java.lang.String" resultType="java.util.List">
  43. select distinct e.face_id as faceId, e.update_time as updateTime from tf_sys_employee e where e.id in(select emp_id from tf_project_emp_device where device_id= #{deviceId})
  44. </select>
  45. <!-- 根据faceid查询人脸特征 -->
  46. <select id="findFaceInfoByFaceId" parameterType="java.lang.String" resultType="java.util.Map">
  47. select e.face_image_name as url, f.feature as feature, e.face_id as faceId from tf_project_emp e left join tf_project_user_face f on e.face_id = f._id where e.face_id = #{faceId}
  48. </select>
  49. <delete id="delUserRoleByIds" parameterType="java.util.List">
  50. delete from tf_sys_user_role where user_code in
  51. <foreach item="item" collection="codes" index="index" open="(" separator="," close=")">
  52. #{item}
  53. </foreach>)
  54. </delete>
  55. <select id="findEmployeesByOfficeCode" parameterType="String" resultType="com.lecoo.kjg.web.sys.entity.Emp">
  56. SELECT * FROM tf_project_emp WHERE office_code in (SELECT DISTINCT office_code FROM tf_sys_office o where parent_codes like concat(#{officeCode}, ',%') or parent_codes like concat('%,', #{officeCode}, ',%') or office_code = #{officeCode}) AND status in ("0", "4", "10", "11")
  57. </select>
  58. <delete id="delByJobNumber" parameterType="String">
  59. delete from tf_project_emp where job_number = #{jobNumber}
  60. </delete>
  61. <select id="findCountByOffice" resultType="java.util.HashMap">
  62. SELECT * from (SELECT count(1) count, e.office_code, o.parent_codes from tf_project_emp e JOIN tf_sys_office o on e.office_code=o.office_code
  63. WHERE e.status in ("0","1", "4", "5", "10", "11") GROUP BY office_code UNION SELECT 0, office_code, parent_codes from tf_sys_office) g GROUP BY office_code
  64. </select>
  65. <update id="deleteByOffice">
  66. UPDATE tf_project_emp
  67. <set>
  68. status = '1'
  69. </set>
  70. where office_code in (SELECT DISTINCT office_code FROM tf_sys_office o where parent_codes like concat(#{officeCode}, ',%') or parent_codes like concat('%,', #{officeCode}, ',%') or office_code = #{officeCode})
  71. </update>
  72. <delete id="realDeleteByOffice" parameterType="string">
  73. delete from tf_project_emp
  74. where office_code in (SELECT DISTINCT office_code FROM tf_sys_office o where parent_codes like concat(#{officeCode}, ',%') or parent_codes like concat('%,', #{officeCode}, ',%') or office_code = #{officeCode})
  75. </delete>
  76. <select id="findByName2" parameterType="java.lang.String" resultType="com.lecoo.kjg.web.sys.entity.Emp">
  77. select * from tf_project_emp e where e.real_name like concat('%', #{name}, '%') or e.nick_name like concat('%', #{name}, '%');
  78. </select>
  79. </mapper>