Browse Source

查询先进**排行 关联组织

dev_shibei_match
jianjun 4 years ago
parent
commit
9dbbbf1cd6
  1. 5
      epmet-module/data-report/data-report-client/src/main/java/com/epmet/evaluationindex/screen/dto/form/AdvancedBranchRankFormDTO.java
  2. 13
      epmet-module/data-report/data-report-server/src/main/resources/mapper/screen/ScreenIndexDataMonthlyDao.xml
  3. 76
      epmet-module/data-report/data-report-server/src/main/resources/mapper/screen/ScreenPartyUserRankDataDao.xml

5
epmet-module/data-report/data-report-client/src/main/java/com/epmet/evaluationindex/screen/dto/form/AdvancedBranchRankFormDTO.java

@ -27,5 +27,10 @@ public class AdvancedBranchRankFormDTO implements Serializable {
* 月份Id
* */
private String monthId;
/**
* 组织类型 agency grid
*/
private String orgType;
public interface AddUserInternalGroup {}
}

13
epmet-module/data-report/data-report-server/src/main/resources/mapper/screen/ScreenIndexDataMonthlyDao.xml

@ -238,6 +238,19 @@
FROM
screen_index_data_monthly dm
INNER JOIN screen_org_rank_data rd ON dm.org_id = rd.org_id
<if test="orgType != null and orgType != ''">
<choose>
<when test="orgType == 'grid'">
INNER JOIN screen_customer_grid org ON org.CUSTOMER_ID = dm.CUSTOMER_ID AND org.GRID_ID = dm.ORG_ID AND org.DEL_FLAG = '0'
</when>
<when test="orgType == 'agency'">
INNER JOIN screen_customer_agency org ON org.CUSTOMER_ID = dm.CUSTOMER_ID AND org.AGENCY_ID = dm.ORG_ID AND org.DEL_FLAG = '0'
</when>
<when test="orgType == 'department'">
INNER JOIN screen_customer_dept org ON org.CUSTOMER_ID = dm.CUSTOMER_ID AND org.DEPT_ID = dm.ORG_ID AND org.DEL_FLAG = '0'
</when>
</choose>
</if>
AND dm.month_id = rd.month_id
WHERE
dm.del_flag = '0'

76
epmet-module/data-report/data-report-server/src/main/resources/mapper/screen/ScreenPartyUserRankDataDao.xml

@ -135,56 +135,82 @@
<select id="selectAgencyResiPointListWithoutPartyMem"
resultType="com.epmet.evaluationindex.screen.dto.result.UserPointRankListResultDTO">
SELECT
org_id AS "agencyId",
org_name AS "agencyName",
grid_id AS "gridId",
grid_name AS "gridName",
user_id AS "userId",
user_name AS "userName",
point_total AS "pointTotal"
u.org_id AS "agencyId",
u.org_name AS "agencyName",
u.grid_id AS "gridId",
u.grid_name AS "gridName",
u.user_id AS "userId",
u.user_name AS "userName",
u.point_total AS "pointTotal"
FROM
screen_party_user_rank_data
screen_party_user_rank_data u
<if test="orgType != null and orgType != ''">
<choose>
<when test="orgType == 'grid'">
INNER JOIN screen_customer_grid org ON org.CUSTOMER_ID = u.CUSTOMER_ID AND org.GRID_ID = u.ORG_ID AND org.DEL_FLAG = '0'
</when>
<when test="orgType == 'agency'">
INNER JOIN screen_customer_agency org ON org.CUSTOMER_ID = u.CUSTOMER_ID AND org.AGENCY_ID = u.ORG_ID AND org.DEL_FLAG = '0'
</when>
<when test="orgType == 'department'">
INNER JOIN screen_customer_dept org ON org.CUSTOMER_ID = u.CUSTOMER_ID AND org.DEPT_ID = u.ORG_ID AND org.DEL_FLAG = '0'
</when>
</choose>
</if>
WHERE
del_flag = '0'
u.del_flag = '0'
AND PARTY_FLAG = 0
<if test="orgType != null and orgType !=''">
<if test="orgType == 'agency'">
AND all_parent_ids LIKE CONCAT('%',#{orgId},'%')
AND u.all_parent_ids LIKE CONCAT('%',#{orgId},'%')
</if>
<if test="orgType == 'grid'">
AND grid_id = #{orgId}
AND u.grid_id = #{orgId}
</if>
</if>
ORDER BY
point_total DESC
u.point_total DESC
LIMIT #{topNum}
</select>
<!--党员积分排行-->
<select id="listPartymemberPointRank" resultType="com.epmet.evaluationindex.screen.dto.result.PartyPointRankResultDTO">
SELECT
org_id AS "agencyId",
org_name AS "agencyName",
grid_id AS "gridId",
grid_name AS "gridName",
user_id AS "userId",
user_name AS "userName",
point_total AS "pointTotal"
u.org_id AS "agencyId",
u.org_name AS "agencyName",
u.grid_id AS "gridId",
u.grid_name AS "gridName",
u.user_id AS "userId",
u.user_name AS "userName",
u.point_total AS "pointTotal"
FROM
screen_party_user_rank_data
screen_party_user_rank_data u
<if test="orgType != null and orgType != ''">
<choose>
<when test="orgType == 'grid'">
INNER JOIN screen_customer_grid org ON org.CUSTOMER_ID = u.CUSTOMER_ID AND org.GRID_ID = u.ORG_ID AND org.DEL_FLAG = '0'
</when>
<when test="orgType == 'agency'">
INNER JOIN screen_customer_agency org ON org.CUSTOMER_ID = u.CUSTOMER_ID AND org.AGENCY_ID = u.ORG_ID AND org.DEL_FLAG = '0'
</when>
<when test="orgType == 'department'">
INNER JOIN screen_customer_dept org ON org.CUSTOMER_ID = u.CUSTOMER_ID AND org.DEPT_ID = u.ORG_ID AND org.DEL_FLAG = '0'
</when>
</choose>
</if>
WHERE
del_flag = '0'
u.del_flag = '0'
AND party_flag = '1'<!-- 是否是党员标志:1是。0不是党员 -->
<if test="orgType != null and orgType !=''">
<if test="orgType == 'agency'">
AND all_parent_ids LIKE CONCAT('%',#{orgId},'%')
AND u.all_parent_ids LIKE CONCAT('%',#{orgId},'%')
</if>
<if test="orgType == 'grid'">
AND grid_id = #{orgId}
AND u.grid_id = #{orgId}
</if>
</if>
ORDER BY
point_total DESC
u.point_total DESC
LIMIT #{topNum}
</select>
</mapper>
</mapper>

Loading…
Cancel
Save