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.
279 lines
11 KiB
279 lines
11 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"/>
|
|
<result property="queryType" column="QUERY_TYPE"/>
|
|
<result property="funType" column="FUN_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="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,
|
|
b.FUN_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>
|
|
|
|
<select id="selectConditionListByGroupId" parameterType="java.lang.String" 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,
|
|
b.LABEL,
|
|
b.ITEM_TYPE,
|
|
i.ITEM_GROUP_ID,
|
|
i.REQUIRED,
|
|
IFNULL(b.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,
|
|
b.FUN_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 i.ITEM_GROUP_ID=#{groupId}
|
|
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
|
|
l.FORM_ITEM_ID AS item_id,
|
|
l.WIDTH,
|
|
i.LABEL,
|
|
i.COLUMN_NAME,
|
|
I.ITEM_TYPE
|
|
FROM
|
|
ic_form_list_item l
|
|
LEFT JOIN ic_form_item i
|
|
on(l.FORM_ITEM_ID=i.id and i.DEL_FLAG='0')
|
|
WHERE
|
|
l.CUSTOMER_ID = #{customerId}
|
|
AND l.DEL_FLAG = '0'
|
|
AND l.FORM_CODE = #{formCode}
|
|
ORDER BY
|
|
l.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
|
|
IF(LENGTH(g.TABLE_NAME)>0,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,
|
|
SUPPORT_ADD as supportAdd
|
|
from (
|
|
SELECT DISTINCT
|
|
m.TABLE_NAME,
|
|
m.SUPPORT_ADD
|
|
FROM
|
|
ic_form_item_group m
|
|
WHERE
|
|
m.DEL_FLAG = '0'
|
|
AND m.TABLE_NAME != 'ic_resi_user'
|
|
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 != 'ic_resi_user'
|
|
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>
|
|
|
|
<resultMap id="ConditionResDTOMap" type="com.epmet.dto.result.ConditionResDTO">
|
|
<id property="itemGroupId" column="ITEM_GROUP_ID"></id>
|
|
<result property="groupName" column="LABEL"/>
|
|
<collection property="queryItemList" ofType="com.epmet.dto.result.ConditionResultDTO"
|
|
column="ITEM_GROUP_ID" select="com.epmet.dao.IcFormItemDao.selectConditionListByGroupId">
|
|
</collection>
|
|
</resultMap>
|
|
|
|
<select id="selectConditionListGroup" parameterType="map" resultMap="ConditionResDTOMap">
|
|
SELECT DISTINCT
|
|
i.ITEM_GROUP_ID,
|
|
g.LABEL
|
|
FROM
|
|
ic_form_item i
|
|
LEFT JOIN ic_form_item_group g ON ( i.ITEM_GROUP_ID = g.id )
|
|
WHERE
|
|
i.DEL_FLAG = '0'
|
|
AND i.SEARCH_DISPLAY = '1'
|
|
AND g.DEL_FLAG = '0'
|
|
and i.CUSTOMER_ID=#{customerId}
|
|
and i.FORM_CODE=#{formCode}
|
|
AND(
|
|
<foreach collection="itemIdList" item="itemId" separator=" OR ">
|
|
i.ID = #{itemId}
|
|
</foreach>
|
|
)
|
|
order by g.sort asc
|
|
</select>
|
|
<select id="getConditionRemoteItems" resultType="com.epmet.dto.result.ConditionResultDTO">
|
|
SELECT
|
|
ifi.ID AS itemId,
|
|
ifi.OPTION_SOURCE_VALUE,
|
|
ifig.TABLE_NAME,
|
|
concat(ifi.COLUMN_NAME, if(ifi.COLUMN_NUM = 0, '', ifi.COLUMN_NUM)) columnName
|
|
FROM ic_form_item ifi LEFT JOIN ic_form_item_group ifig ON ifi.ITEM_GROUP_ID = ifig.ID
|
|
WHERE
|
|
ifi.OPTION_SOURCE_TYPE = 'remote'
|
|
AND ifi.OPTION_SOURCE_VALUE like '%?%'
|
|
AND ifi.CUSTOMER_ID = #{customerId}
|
|
AND ifi.FORM_CODE = #{formCode}
|
|
and ifi.DEL_FLAG = '0'
|
|
AND ifig.DEL_FLAG = '0'
|
|
</select>
|
|
<select id="getConditionItem" resultType="com.epmet.dto.result.ConditionResultDTO">
|
|
SELECT
|
|
ifi.ID AS itemId,
|
|
ifig.TABLE_NAME,
|
|
CONCAT(ifi.COLUMN_NAME, if(ifi.COLUMN_NUM = 0, '', ifi.COLUMN_NUM)) columnName,
|
|
ifi.OPTION_SOURCE_TYPE,
|
|
ifi.OPTION_SOURCE_VALUE
|
|
FROM
|
|
ic_form_item ifi
|
|
LEFT JOIN ic_form_item_group ifig ON ifi.ITEM_GROUP_ID = ifig.ID
|
|
WHERE
|
|
ifi.ID= #{itemId}
|
|
and ifi.DEL_FLAG = '0'
|
|
AND ifig.DEL_FLAG = '0'
|
|
</select>
|
|
<select id="getItemListByGroupId" resultType="com.epmet.dto.result.FormItemBaseResult">
|
|
SELECT
|
|
ifi.ID itemId,
|
|
ifi.CUSTOMER_ID,
|
|
ifi.ITEM_GROUP_ID,
|
|
ifi.LABEL,
|
|
ifi.SORT,
|
|
ifi.OPTION_SOURCE_VALUE,
|
|
ifi.OPTION_SOURCE_TYPE,
|
|
ifig.TABLE_NAME,
|
|
CONCAT(ifi.COLUMN_NAME, if(ifi.COLUMN_NUM = 0, '', ifi.COLUMN_NUM)) columnName
|
|
FROM
|
|
ic_form_item ifi
|
|
LEFT JOIN ic_form_item_group ifig ON ifi.ITEM_GROUP_ID = ifig.ID
|
|
WHERE
|
|
ITEM_GROUP_ID = #{groupId} and ifi.CUSTOMER_ID = #{customerId}
|
|
AND LENGTH(ifi.COLUMN_NAME)>0
|
|
ORDER BY ifi.SORT
|
|
</select>
|
|
|
|
</mapper>
|
|
|