GroupMapper.xml 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112
  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.mokamrp.privates.mapper.GroupMapper">
  4. <!-- 通用查询映射结果 -->
  5. <resultMap id="BaseResultMap" type="com.mokamrp.privates.mapper.pojo.Group">
  6. <id column="id" property="id"/>
  7. <result column="group_type" property="groupType"/>
  8. <result column="group_name" property="groupName"/>
  9. <result column="create_at" property="createAt"/>
  10. <result column="update_at" property="updateAt"/>
  11. </resultMap>
  12. <!-- 通用查询结果列 -->
  13. <sql id="Base_Column_List">
  14. id
  15. , group_type, group_name, create_at, update_at
  16. </sql>
  17. <select id="selectCorpAndWorkEmployeeList" resultType="map">
  18. SELECT
  19. C.`name`,
  20. A.group_id,
  21. B.group_name,
  22. D.`name`,
  23. D.gender,
  24. D.avatar,
  25. D.qr_code,
  26. D.mobile,
  27. D.private_switch_status,
  28. D.private_tag_id,
  29. D.private_phone_code,
  30. D.private_forbidden_status,
  31. D.private_user_id,
  32. D.cust_cnt,
  33. D.group_cnt,
  34. D.in_group_cnt
  35. FROM private_group_corp AS A
  36. LEFT JOIN private_group AS B on A.group_id = B.id AND B.group_type = 1
  37. LEFT JOIN mc_corp AS C on A.corp_id = C.id
  38. LEFT JOIN mc_work_employee AS D ON C.id = D.corp_id
  39. WHERE A.corp_id IN (#{corpIds})
  40. group by a.id
  41. </select>
  42. <select id="getBaseJoinList" resultType="com.mokamrp.privates.mapper.vo.WorkGroupDataVo">
  43. SELECT
  44. a.*,count(c.id) as companyNum
  45. FROM
  46. private_group AS a
  47. LEFT JOIN private_group_corp AS b ON b.group_id = a.id
  48. LEFT JOIN mc_corp AS c ON b.corp_id = c.id
  49. WHERE
  50. group_type =1
  51. GROUP BY a.id
  52. </select>
  53. <select id="getBaseJoinListTotal" resultType="Integer">
  54. SELECT
  55. count(*)
  56. FROM
  57. private_group
  58. WHERE
  59. group_type =1
  60. </select>
  61. <select id="getRoomData" resultType="map">
  62. SELECT
  63. c.group_id,a.corp_id,count(*) as num
  64. FROM
  65. mc_work_room AS a
  66. LEFT JOIN mc_corp AS b ON b.id = a.corp_id
  67. LEFT JOIN private_group_corp AS c ON b.id = c.corp_id
  68. <where>
  69. ${ew.sqlSegment}
  70. </where>
  71. group by c.group_id;
  72. </select>
  73. <select id="getFanData" resultType="map">
  74. SELECT
  75. c.group_id,a.corp_id,count(*) as num
  76. FROM
  77. mc_work_contact_employee AS a
  78. LEFT JOIN mc_corp AS b ON b.id = a.corp_id
  79. LEFT JOIN private_group_corp AS c ON b.id = c.corp_id
  80. <where>
  81. ${ew.sqlSegment}
  82. </where>
  83. group by c.group_id;
  84. </select>
  85. <select id="getEmployeeDataList" resultType="map">
  86. SELECT
  87. c.group_id,
  88. a.private_tag_id,
  89. d.tag_name,
  90. concat(c.group_id,"_",a.private_tag_id) as kk,
  91. count(*) as num
  92. FROM
  93. mc_work_employee AS a
  94. LEFT JOIN mc_corp AS b ON b.id = a.corp_id
  95. LEFT JOIN private_group_corp AS c ON b.id = c.corp_id
  96. LEFT JOIN private_tag AS d ON a.private_tag_id = d.id
  97. where d.tag_name != '' AND ${ew.sqlSegment}
  98. GROUP BY
  99. c.group_id,
  100. a.private_tag_id
  101. </select>
  102. </mapper>