HrBaseEmployeeInfoMapper.xml 6.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155
  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="vip.xiaonuo.hr.modular.baseemployeeinfo.mapper.HrBaseEmployeeInfoMapper">
  4. <select id="listByEoucation" resultType="vip.xiaonuo.hr.modular.baseemployeeinfo.entity.vo.EoucationVo">
  5. SELECT
  6. b.NAME AS departmentName,
  7. IFNULL(COUNT(a.ID), 0) AS countNum
  8. FROM
  9. `hr_base_department` b
  10. LEFT JOIN
  11. `hr_base_employee_info` a ON a.DEPARTMENT_ID = b.ID
  12. AND a.USER_TYPE = 0
  13. AND a.CULTURE_LEVEL > 4
  14. <if test="orgId!=null and orgId!=''">
  15. where a.ORG_ID = #{orgId}
  16. </if>
  17. GROUP BY
  18. b.ID, b.NAME
  19. ORDER BY
  20. COUNT(a.ID);
  21. </select>
  22. <select id="listByDepart" resultType="vip.xiaonuo.hr.modular.baseemployeeinfo.entity.vo.EoucationVo">
  23. SELECT
  24. b.NAME AS departmentName,
  25. COUNT(a.ID) AS countNum
  26. FROM
  27. `hr_base_department` b
  28. LEFT JOIN
  29. `hr_base_employee_info` a
  30. ON
  31. b.ID = a.DEPARTMENT_ID
  32. <if test="orgId!=null and orgId!=''">
  33. AND a.ORG_ID = #{orgId}
  34. </if>
  35. AND a.USER_TYPE = 0
  36. GROUP BY
  37. b.NAME;
  38. </select>
  39. <select id="listByDepartGender" resultType="vip.xiaonuo.hr.modular.baseemployeeinfo.entity.vo.EoucationVo">
  40. SELECT
  41. b.NAME AS departmentName ,SUM(CASE WHEN a.GENDER = 0 AND a.USER_TYPE = 0 THEN 1 ELSE 0 END) AS maleNum,
  42. SUM(CASE WHEN a.GENDER = 1 AND a.USER_TYPE = 0 THEN 1 ELSE 0 END) AS femaleNum
  43. FROM
  44. `hr_base_department` b
  45. LEFT JOIN
  46. `hr_base_employee_info` a ON a.DEPARTMENT_ID = b.ID
  47. <if test="orgId!=null and orgId!=''">
  48. WHERE a.ORG_ID = #{orgId}
  49. </if>
  50. GROUP BY a.DEPARTMENT_ID
  51. </select>
  52. <select id="listByDepartGenderEducationDis"
  53. resultType="vip.xiaonuo.hr.modular.baseemployeeinfo.entity.vo.EoucationVo">
  54. SELECT
  55. b.NAME AS departmentName ,
  56. SUM(CASE WHEN a.CULTURE_LEVEL = 0 THEN 1 ELSE 0 END) AS priNum,
  57. SUM(CASE WHEN a.CULTURE_LEVEL = 1 THEN 1 ELSE 0 END) AS midNum,
  58. SUM(CASE WHEN a.CULTURE_LEVEL = 2 THEN 1 ELSE 0 END) AS highNum,
  59. SUM(CASE WHEN a.CULTURE_LEVEL = 4 THEN 1 ELSE 0 END) AS daZhuan,
  60. SUM(CASE WHEN a.CULTURE_LEVEL = 5 THEN 1 ELSE 0 END) AS underNum,
  61. SUM(CASE WHEN a.CULTURE_LEVEL = 6 THEN 1 ELSE 0 END) AS postNum,
  62. SUM(CASE WHEN a.CULTURE_LEVEL = 7 THEN 1 ELSE 0 END) AS phdNum
  63. FROM
  64. `hr_base_department` b
  65. LEFT JOIN
  66. `hr_base_employee_info` a
  67. ON
  68. b.ID = a.DEPARTMENT_ID
  69. <if test="orgId!=null and orgId!=''">
  70. AND a.ORG_ID = #{orgId}
  71. </if>
  72. AND a.USER_TYPE = 0
  73. GROUP BY
  74. b.NAME;
  75. </select>
  76. <select id="birthDis" resultType="vip.xiaonuo.hr.modular.baseemployeeinfo.entity.vo.PerNum">
  77. SELECT
  78. CONCAT(months.month_num,"月") AS `name`,
  79. COUNT(b.BIRTHDAY) AS `value`
  80. FROM
  81. (SELECT 1 AS month_num UNION ALL SELECT 2 UNION ALL SELECT 3 UNION ALL SELECT 4 UNION ALL SELECT 5 UNION ALL
  82. SELECT 6 UNION ALL SELECT 7 UNION ALL SELECT 8 UNION ALL SELECT 9 UNION ALL SELECT 10 UNION ALL SELECT 11 UNION
  83. ALL SELECT 12) AS months
  84. LEFT JOIN
  85. `hr_base_employee_info` b ON DATE_FORMAT(b.BIRTHDAY, '%m') = months.month_num
  86. <if test="orgId!=null and orgId!=''">
  87. AND b.ORG_ID = #{orgId}
  88. </if>
  89. AND b.USER_TYPE = 0
  90. GROUP BY
  91. months.month_num
  92. ORDER BY
  93. months.month_num;
  94. </select>
  95. <select id="siLingDis" resultType="vip.xiaonuo.hr.modular.baseemployeeinfo.entity.vo.PerNum">
  96. SELECT
  97. IFNULL(SUM(CASE WHEN a.SI_LING BETWEEN 0 AND 3 THEN 1 ELSE 0 END),'0') AS 'one',
  98. IFNULL(SUM(CASE WHEN a.SI_LING BETWEEN 4 AND 5 THEN 1 ELSE 0 END),'0') AS 'five',
  99. IFNULL(SUM(CASE WHEN a.SI_LING BETWEEN 6 AND 10 THEN 1 ELSE 0 END),'0') AS 'ten',
  100. IFNULL(SUM(CASE WHEN a.SI_LING BETWEEN 11 AND 15 THEN 1 ELSE 0 END),'0') AS 'oneFive',
  101. IFNULL(SUM(CASE WHEN a.SI_LING BETWEEN 16 AND 20 THEN 1 ELSE 0 END),'0') AS 'twoZ',
  102. IFNULL(SUM(CASE WHEN a.SI_LING BETWEEN 21 AND 25 THEN 1 ELSE 0 END),'0') AS 'twoFive',
  103. IFNULL(SUM(CASE WHEN a.SI_LING > 26 THEN 1 ELSE 0 END),'0') AS 'threeZ'
  104. FROM
  105. `hr_base_employee_info` a
  106. WHERE
  107. <if test="orgId!=null and orgId!=''">
  108. a.ORG_ID = #{orgId} AND
  109. </if>
  110. a.USER_TYPE = 0
  111. </select>
  112. <select id="gongLingDis" resultType="vip.xiaonuo.hr.modular.baseemployeeinfo.entity.vo.PerNum">
  113. select
  114. IFNULL(SUM(CASE WHEN SENIORITY BETWEEN 0 AND 1 THEN 1 ELSE 0 END),'0') AS 'one',
  115. IFNULL(SUM(CASE WHEN SENIORITY BETWEEN 2 AND 5 THEN 1 ELSE 0 END),'0') AS 'five',
  116. IFNULL(SUM(CASE WHEN SENIORITY BETWEEN 6 AND 10 THEN 1 ELSE 0 END),'0') AS 'ten',
  117. IFNULL(SUM(CASE WHEN SENIORITY BETWEEN 11 AND 15 THEN 1 ELSE 0 END),'0') AS 'oneFive',
  118. IFNULL(SUM(CASE WHEN SENIORITY BETWEEN 16 AND 20 THEN 1 ELSE 0 END),'0') AS 'twoZ',
  119. IFNULL(SUM(CASE WHEN SENIORITY BETWEEN 21 AND 25 THEN 1 ELSE 0 END),'0') AS 'twoFive',
  120. IFNULL(SUM(CASE WHEN SENIORITY> 26 THEN 1 ELSE 0 END ),'0') AS 'threeZ'
  121. FROM
  122. `hr_base_employee_info`
  123. WHERE
  124. <if test="orgId!=null and orgId!=''">
  125. ORG_ID = #{orgId} AND
  126. </if>
  127. USER_TYPE = 0
  128. </select>
  129. <select id="zhiBiao" resultType="vip.xiaonuo.hr.modular.baseemployeeinfo.entity.vo.DongShiCountNum">
  130. SELECT IFNULL(MAX(HR_NUM),0) jobNum ,
  131. ROUND(IFNULL(SUM(PAY), 0)/10000 , 2) pay ,
  132. ROUND(IFNULL(AVG(OUTPUT_VALUE), 0)/10000 , 2) outputValue,
  133. ROUND(IFNULL(AVG(HR_NUM), 0) ) jobNumAvg ,
  134. ROUND(IFNULL(AVG(PAY), 0)/10000 , 2) payAvg ,
  135. ROUND(IFNULL(AVG(OUTPUT_VALUE), 0)/10000 , 2) outputValueAvg
  136. FROM `hr_count` ${ew.customSqlSegment}
  137. </select>
  138. <select id="yuanGongNumMonth" resultType="vip.xiaonuo.hr.modular.baseemployeeinfo.entity.vo.DongShiCountNum">
  139. SELECT MAX(HR_NUM) jobNum ,DATE_FORMAT(CREATE_TIME , '%Y-%m') ymonth FROM `hr_count` ${ew.customSqlSegment}
  140. </select>
  141. <select id="yuanGongNumYear" resultType="vip.xiaonuo.hr.modular.baseemployeeinfo.entity.vo.DongShiCountNum">
  142. SELECT MAX(HR_NUM) jobNum ,DATE_FORMAT(CREATE_TIME , '%Y') ymonth FROM `hr_count` ${ew.customSqlSegment}
  143. </select>
  144. </mapper>