forked from rongchao/epmet-cloud-rizhao
				
			
			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.
		
		
		
		
		
			
		
			
				
					
					
						
							163 lines
						
					
					
						
							6.4 KiB
						
					
					
				
			
		
		
		
			
			
			
				
					
				
				
					
				
			
		
		
	
	
							163 lines
						
					
					
						
							6.4 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.IcFormItemDao"> | |
| 
 | |
| 
 | |
|     <resultMap id="ConditionResultDTOMap" type="com.epmet.dto.result.ConditionResultDTO"> | |
|         <id property="itemId" column="item_id" ></id> | |
|         <result property="tableName" column="table_name"/> | |
|         <result property="parentItemId" column="PARENT_ITEM_ID"/> | |
|         <result property="label" column="LABEL"/> | |
|         <result property="itemType" column="ITEM_TYPE"/> | |
|         <result property="itemGroupId" column="ITEM_GROUP_ID"/> | |
|         <result property="required" column="REQUIRED"/> | |
|         <result property="validType" column="VALID_TYPE"/> | |
|         <result property="defaultValue" column="DEFAULT_VALUE"/> | |
|         <result property="optionSourceType" column="OPTION_SOURCE_TYPE"/> | |
|         <result property="optionSourceValue" column="OPTION_SOURCE_VALUE"/> | |
|         <result property="sort" column="SORT"/> | |
|         <result property="placeholder" column="PLACEHOLDER"/> | |
|         <result property="columnName" column="COLUMN_NAME"/> | |
|         <collection property="options" ofType="com.epmet.dto.result.OptionDTO" | |
|                     column="item_id"  select="com.epmet.dao.IcFormDao.selectListOption"> | |
|             <result property="label" column="label"/> | |
|             <result property="value" column="value"/> | |
|         </collection> | |
|     </resultMap> | |
| 
 | |
|     <select id="selectConditionList" parameterType="map" resultMap="ConditionResultDTOMap"> | |
|         SELECT | |
|             b.FORM_ITEM_ID AS item_id, | |
|             ( | |
|                 case when g.table_name is null then 'ic_resi_user' | |
|                 when g.table_name ='' then 'ic_resi_user' | |
|                 else g.table_name | |
|                 end | |
| 
 | |
|                 )AS TABLE_NAME, | |
|             i.PARENT_ITEM_ID, | |
|             i.LABEL, | |
|             i.ITEM_TYPE, | |
|             i.ITEM_GROUP_ID, | |
|             i.REQUIRED, | |
|             IFNULL(i.VALID_TYPE,'')as VALID_TYPE, | |
|             IFNULL(i.DEFAULT_VALUE,'') as DEFAULT_VALUE, | |
|             IFNULL(i.OPTION_SOURCE_TYPE,'') as OPTION_SOURCE_TYPE, | |
|             IFNULL(i.OPTION_SOURCE_VALUE,'') as OPTION_SOURCE_VALUE, | |
|             b.SORT, | |
|             IFNULL(i.PLACEHOLDER,'') as PLACEHOLDER, | |
|             IFNULL(i.COLUMN_NAME,'')as  COLUMN_NAME, | |
|             b.QUERY_TYPE | |
|         FROM ic_form_query_builder b | |
|                  inner join ic_form_item i on(i.id=b.FORM_ITEM_ID and i.DEL_FLAG='0') | |
|                  LEFT JOIN ic_form_item_group g ON ( i.ITEM_GROUP_ID = g.id ) | |
|         WHERE | |
|             b.DEL_FLAG = '0' | |
|           AND b.CUSTOMER_ID = #{customerId} | |
|           AND b.FORM_CODE = #{formCode} | |
|         ORDER BY b.SORT asc | |
|     </select> | |
| 
 | |
| 
 | |
| 
 | |
|     <resultMap id="TableHeaderResultDTOMap" type="com.epmet.dto.result.TableHeaderResultDTO"> | |
|         <id property="itemId" column="item_id" ></id> | |
|         <result property="label" column="LABEL"/> | |
|         <result property="columnName" column="COLUMN_NAME"/> | |
|         <result property="itemType" column="item_type"/> | |
|         <collection property="options" ofType="com.epmet.dto.result.OptionDTO" | |
|                     column="item_id"  select="com.epmet.dao.IcFormDao.selectListOption"> | |
|             <result property="label" column="label"/> | |
|             <result property="value" column="value"/> | |
|         </collection> | |
|     </resultMap> | |
|     <select id="queryTableHeaderList" parameterType="map" resultMap="TableHeaderResultDTOMap"> | |
|         SELECT | |
|             m.id as item_id, | |
|             m.LABEL, | |
|             m.COLUMN_NAME, | |
|             m.item_type | |
|         FROM | |
|             ic_form_item m | |
|         WHERE | |
|             m.DEL_FLAG = '0' | |
|           AND m.LIST_DISPLAY = '1' | |
|           and m.FORM_CODE=#{formCode} | |
|           and m.CUSTOMER_ID=#{customerId} | |
|         order by m.SORT asc | |
|     </select> | |
| 
 | |
| 
 | |
|     <!--  用于列表展示的列:table.列名  --> | |
|     <select id="queryConditions" parameterType="map" resultType="com.epmet.dto.result.IcFormResColumnDTO"> | |
|         select | |
|             temp.table_name, | |
|             concat(temp.table_name,'.',temp.columnName) as columnName, | |
|             temp.LABEL | |
|         from ( | |
|                  SELECT | |
|                      ifnull(g.TABLE_NAME,'ic_resi_user') AS table_name, | |
|                      #( CASE WHEN M.ITEM_GROUP_ID = '0' THEN 'ic_resi_user' ELSE g.TABLE_NAME END ) AS table_name, | |
|                      m.COLUMN_NAME AS columnName, | |
|                      m.LABEL | |
|                  FROM | |
|                      ic_form_item m | |
|                          LEFT JOIN ic_form_item_group g ON ( m.ITEM_GROUP_ID = g.id ) | |
|                  WHERE | |
|                      m.DEL_FLAG = '0' | |
|                    AND m.CUSTOMER_ID = #{customerId} | |
|                    and m.FORM_CODE=#{formCode} | |
|                    AND m.LIST_DISPLAY = '1' | |
|              )temp | |
|     </select> | |
| 
 | |
|     <!--  构造出所有子表关联语句  --> | |
|     <select id="querySubTables" parameterType="map" resultType="com.epmet.dto.result.SubTableJoinDTO"> | |
|         select | |
|              temp.TABLE_NAME as tableName, | |
|             CONCAT('left join ',temp.TABLE_NAME, ' on ( ic_resi_user.ID=',temp.TABLE_NAME,'.IC_RESI_USER  and ',temp.TABLE_NAME,'.del_flag="0" )') as joinTableSql | |
|         from ( | |
|                  SELECT DISTINCT | |
|                      m.TABLE_NAME | |
|                  FROM | |
|                      ic_form_item_group m | |
|                  WHERE | |
|                      m.DEL_FLAG = '0' | |
|                    AND m.TABLE_NAME IS NOT NULL | |
|                    AND m.TABLE_NAME != '' | |
|                     AND m.CUSTOMER_ID = #{customerId} | |
|                    AND m.FORM_CODE = #{formCode} | |
|              )temp | |
|     </select> | |
| 
 | |
|     <select id="queryIcResiSubTables" parameterType="map" resultType="java.lang.String"> | |
|         SELECT DISTINCT | |
|             m.TABLE_NAME | |
|         FROM | |
|             ic_form_item_group m | |
|         WHERE | |
|             m.DEL_FLAG = '0' | |
|           AND m.TABLE_NAME IS NOT NULL | |
|           AND m.TABLE_NAME != '' | |
|             AND m.CUSTOMER_ID = #{customerId} | |
|           AND m.FORM_CODE = #{formCode} | |
|     </select> | |
| 
 | |
|     <select id="getMustColumn" resultType="com.epmet.dto.result.ColumnTableNameResultDTO"> | |
|         SELECT | |
|             a.label "label", | |
|             a.column_name "columnName", | |
|         IF ( | |
|             ('' = b.table_name OR b.table_name IS NULL ), 'ic_resi_user', b.table_name | |
|         ) "tableName" | |
|         FROM | |
|             ic_form_item a | |
|         LEFT JOIN ic_form_item_group b ON a.item_group_id = b.id | |
|         WHERE | |
|             a.del_flag = '0' | |
|         AND a.required = '1' | |
|         AND a.customer_id = #{customerId} | |
|     </select> | |
| 
 | |
| </mapper>
 | |
| 
 |