forked from luyan/epmet-cloud-lingshan
				
			
			You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							319 lines
						
					
					
						
							10 KiB
						
					
					
				
			
		
		
		
			
			
			
				
					
				
				
					
				
			
		
		
	
	
							319 lines
						
					
					
						
							10 KiB
						
					
					
				| <?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.epmet.dao.stats.DimAgencyDao"> | |
| 
 | |
|     <insert id="insertOne"> | |
|         INSERT INTO dim_agency(id, agency_name, customer_id, pid, pids, all_parent_name, level, del_flag, revision, created_by, | |
|                            created_time, updated_by, updated_time) | |
|         VALUE (#{id}, #{agencyName}, #{customerId}, #{pid}, #{pids}, #{allParentName}, #{level}, #{delFlag}, #{revision}, #{createdBy}, #{createdTime}, #{updatedBy}, #{updatedTime}) | |
|     </insert> | |
| 
 | |
|     <select id="selectDimAgencyList" resultType="com.epmet.dto.stats.DimAgencyDTO"> | |
|         SELECT | |
|             id, | |
|             agency_name, | |
|             customer_id, | |
|             pid, | |
|             pids, | |
|             all_parent_name, | |
|             `level` | |
|         FROM | |
|             dim_agency | |
|         WHERE | |
|             del_flag = '0' | |
|         AND AGENCY_DIM_TYPE = 'all' | |
|         <if test="customerId != null and customerId.trim() != ''"> | |
|             AND customer_id = #{customerId} | |
|         </if> | |
|     </select> | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
|     <resultMap id="treeMap" type="com.epmet.dto.AgencySubTreeDto"> | |
|         <id column="agencyId" property="agencyId" /> | |
|         <result column="agencyName" property="agencyName"/> | |
|         <result column="customer_Id" property="customerId" /> | |
|         <result column="PID" property="pid" /> | |
|         <result column="LEVEL" property="level" /> | |
|         <collection property="gridIds" ofType="java.lang.String"> | |
|             <constructor> | |
|                 <arg column="gridId"/> | |
|             </constructor> | |
|         </collection> | |
|         <collection property="subAgencies" column="agencyId" | |
|                     ofType="com.epmet.dto.AgencySubTreeDto" select="selectSubAgencyByPid"></collection> | |
|     </resultMap> | |
| 
 | |
|     <!-- 获取所有机关 递归入口 --> | |
|     <select id="selectAllAgency" resultMap="treeMap"> | |
|         SELECT | |
|             agency.ID AS agencyId, | |
|             agency.AGENCY_NAME AS agencyName, | |
|             grid.ID AS gridId, | |
|             agency.CUSTOMER_ID, | |
|             agency.PID, | |
|             agency.LEVEL | |
|         FROM | |
|             dim_agency agency | |
|             LEFT JOIN dim_grid grid ON agency.ID = grid.AGENCY_ID | |
|             AND grid.DEL_FLAG = '0' | |
|         WHERE | |
|             agency.DEL_FLAG = '0' | |
|         AND | |
|             agency.AGENCY_DIM_TYPE = 'all' | |
|         <if test='null != customerId and "" != customerId'> | |
|                 AND agency.CUSTOMER_ID = #{customerId} | |
|             </if> | |
|         ORDER BY | |
|             agency.CUSTOMER_ID, | |
|             agency.PID | |
|     </select> | |
| 
 | |
|     <!-- 根据PID获取下级机关 递归传递 --> | |
|     <select id="selectSubAgencyByPid" resultMap="treeMap" parameterType="string"> | |
|         SELECT | |
|             agency.id AS agencyId, | |
|             agency.AGENCY_NAME AS agencyName,-- agency.PID,agency.PIDS , | |
|             grid.ID AS gridId, -- ,GRID_NAME | |
|             agency.CUSTOMER_ID, | |
|             agency.PID, | |
|             agency.LEVEL | |
|         FROM | |
|             dim_agency agency | |
|             LEFT JOIN dim_grid grid ON agency.ID = grid.AGENCY_ID | |
|             AND grid.DEL_FLAG = '0' | |
|         WHERE | |
|             agency.DEL_FLAG = '0' | |
|             AND | |
|             agency.PID = #{pid} | |
|             AND | |
|             agency.AGENCY_DIM_TYPE = 'all' | |
|         ORDER BY | |
|             agency.CUSTOMER_ID, | |
|             agency.ID, | |
|             grid.ID | |
|     </select> | |
| 
 | |
|     <!-- 获取顶级机关 递归入口 --> | |
|     <select id="selectTopAgency" resultMap="treeMap"> | |
|         SELECT | |
|             agency.ID AS agencyId, | |
|             agency.AGENCY_NAME AS agencyName, | |
|             grid.ID AS gridId, | |
|             agency.CUSTOMER_ID, | |
|             agency.PID, | |
|             agency.LEVEL | |
|         FROM | |
|             dim_agency agency | |
|             LEFT JOIN dim_grid grid ON agency.ID = grid.AGENCY_ID | |
|             AND grid.DEL_FLAG = '0' | |
|         WHERE | |
|             agency.DEL_FLAG = '0' | |
|         AND | |
|             agency.PID = '0' | |
|         AND | |
|             agency.AGENCY_DIM_TYPE = 'all' | |
|         <if test='null != customerId and "" != customerId'> | |
|             AND agency.CUSTOMER_ID = #{customerId} | |
|         </if> | |
|         ORDER BY | |
|             agency.CUSTOMER_ID, | |
|             agency.PID | |
|     </select> | |
| 
 | |
|     <select id="getAgencyListByCustomerId" resultType="com.epmet.entity.stats.DimAgencyEntity"> | |
|           SELECT | |
|             ID, | |
|             CUSTOMER_ID, | |
|             PID, | |
|             AGENCY_NAME, | |
|             LEVEL | |
|         FROM | |
|             dim_agency | |
|         WHERE | |
|             DEL_FLAG = '0' | |
|             AND CUSTOMER_ID = #{customerId,jdbcType=VARCHAR} | |
|           AND AGENCY_DIM_TYPE = 'all' | |
|     </select> | |
| 
 | |
| 
 | |
|     <resultMap id="treeMapWithDept" type="com.epmet.dto.AgencySubDeptTreeDto"> | |
|         <id column="agencyId" property="agencyId" /> | |
|         <result column="agencyName" property="agencyName"/> | |
|         <result column="customer_Id" property="customerId" /> | |
|         <result column="PID" property="pid" /> | |
|         <result column="LEVEL" property="level" /> | |
|         <collection property="gridIds" ofType="java.lang.String"> | |
|             <constructor> | |
|                 <arg column="gridId"/> | |
|             </constructor> | |
|         </collection> | |
|         <collection property="deptIds" ofType="java.lang.String"> | |
|             <constructor> | |
|                 <arg column="deptId"/> | |
|             </constructor> | |
|         </collection> | |
|         <collection property="subAgencies" column="agencyId" | |
|                     ofType="com.epmet.dto.AgencySubDeptTreeDto" select="selectSubAgencyWithDeptByPid"></collection> | |
|     </resultMap> | |
| 
 | |
|     <!-- 带部门 获取所有机关 递归入口 --> | |
|     <select id="selectAllAgencyWithDept" resultMap="treeMapWithDept"> | |
|         SELECT | |
|             agency.ID AS agencyId, | |
|             agency.AGENCY_NAME AS agencyName, | |
|             grid.ID AS gridId, | |
|             agency.CUSTOMER_ID, | |
|             agency.PID, | |
|             agency.LEVEL, | |
| 			dept.ID AS deptId | |
|         FROM | |
|             dim_agency agency | |
|             LEFT JOIN dim_grid grid ON agency.ID = grid.AGENCY_ID | |
|             AND grid.DEL_FLAG = '0' | |
| 			LEFT JOIN dim_department dept ON agency.ID = dept.AGENCY_ID | |
| 			AND dept.DEL_FLAG = '0' | |
|         WHERE | |
|             agency.DEL_FLAG = '0' | |
|         ORDER BY | |
|             agency.CUSTOMER_ID, | |
|             agency.PID | |
|     </select> | |
| 
 | |
|     <!-- 带部门 根据PID获取下级机关 递归传递 --> | |
|     <select id="selectSubAgencyWithDeptByPid" resultMap="treeMapWithDept" parameterType="string"> | |
|         SELECT | |
|             agency.id AS agencyId, | |
|             agency.AGENCY_NAME AS agencyName,-- agency.PID,agency.PIDS , | |
|             grid.ID AS gridId, -- ,GRID_NAME | |
|             agency.CUSTOMER_ID, | |
|             agency.PID, | |
|             agency.LEVEL, | |
| 			dept.ID AS deptId | |
|         FROM | |
|             dim_agency agency | |
|             LEFT JOIN dim_grid grid ON agency.ID = grid.AGENCY_ID | |
|             AND grid.DEL_FLAG = '0' | |
| 			LEFT JOIN dim_department dept ON agency.ID = dept.AGENCY_ID | |
| 			AND dept.DEL_FLAG = '0' | |
|         WHERE | |
|             agency.DEL_FLAG = '0' | |
|             AND agency.PID = #{pid} | |
|         ORDER BY | |
|             agency.CUSTOMER_ID, | |
|             agency.ID, | |
|             grid.ID | |
|     </select> | |
| 
 | |
|     <!-- 带部门 获取顶级机关 递归入口 --> | |
|     <select id="selectTopAgencyWithDept" resultMap="treeMapWithDept"> | |
|         SELECT | |
|             agency.ID AS agencyId, | |
|             agency.AGENCY_NAME AS agencyName, | |
|             grid.ID AS gridId, | |
|             agency.CUSTOMER_ID, | |
|             agency.PID, | |
|             agency.LEVEL, | |
| 			dept.ID AS deptId | |
|         FROM | |
|             dim_agency agency | |
|             LEFT JOIN dim_grid grid ON agency.ID = grid.AGENCY_ID | |
|             AND grid.DEL_FLAG = '0' | |
| 			LEFT JOIN dim_department dept ON agency.ID = dept.AGENCY_ID | |
| 			AND dept.DEL_FLAG = '0' | |
|         WHERE | |
|             agency.DEL_FLAG = '0' | |
|         AND | |
|             agency.PID = '0' | |
|         ORDER BY | |
|             agency.CUSTOMER_ID, | |
|             agency.PID | |
|     </select> | |
| 
 | |
|     <!-- 查询所有客户的机关数据 --> | |
|     <select id="selectDimAgencyByCustomerId" resultType="com.epmet.dto.stats.DimAgencyDTO"> | |
|         SELECT | |
|             id AS id, | |
|             customer_id AS customerId, | |
|             level AS level, | |
|             pid AS pid, | |
|             pids AS pids | |
|         FROM | |
|             dim_agency | |
|         WHERE | |
|             del_flag = '0' | |
|             AND AGENCY_DIM_TYPE = 'all' | |
|             AND customer_id = #{customerId} | |
|     </select> | |
| 
 | |
|     <select id="getPidByAgencyId" resultType="java.lang.String" parameterType="java.lang.String"> | |
|         SELECT | |
|             pid | |
|         FROM | |
|             dim_agency | |
|         WHERE | |
|             del_flag = '0' | |
|             AND id = #{agencyId} | |
|     </select> | |
| 
 | |
|     <select id="getLatestCreatedAgencyDimEntity" resultType="com.epmet.entity.stats.DimAgencyEntity"> | |
|         SELECT id, | |
|                agency_name, | |
|                customer_id, | |
|                pid, | |
|                pids, | |
|                all_parent_name, | |
|                level, | |
|                del_flag, | |
|                revision, | |
|                created_by, | |
|                created_time, | |
|                updated_by, | |
|                updated_time, | |
|                agency_dim_type | |
|         FROM dim_agency | |
|         ORDER BY CREATED_TIME DESC | |
|         LIMIT 1 | |
|     </select> | |
| 
 | |
| <!--    最后一次更新的时间--> | |
|     <select id="getLatestUpdatedAgencyDimEntity" resultType="com.epmet.entity.stats.DimAgencyEntity"> | |
|         select id, | |
|                agency_name, | |
|                customer_id, | |
|                pid, | |
|                pids, | |
|                all_parent_name, | |
|                level, | |
|                del_flag, | |
|                revision, | |
|                created_by, | |
|                created_time, | |
|                updated_by, | |
|                updated_time, | |
|                agency_dim_type | |
|         from dim_agency | |
|         order by UPDATED_TIME desc | |
|         limit 1 | |
|     </select> | |
| 
 | |
|     <!-- 查询pid信息 --> | |
|     <select id="selectAgencyInfo" resultType="com.epmet.dto.extract.result.AgencyInfoResultDTO"> | |
|         SELECT | |
|             id AS agencyId, | |
|             pid | |
|         FROM | |
|             dim_agency | |
|         WHERE | |
|             del_flag = '0' | |
|           AND | |
|             ( | |
|                 <foreach collection="agencyIds" item="item" separator=" OR "> | |
|                     id = #{item} | |
|                 </foreach> | |
|             ) | |
|     </select> | |
| 
 | |
| </mapper> |