|
|
@@ -5,141 +5,224 @@
|
|
|
<!-- 通用设置 -->
|
|
|
<!-- 通用查询列 -->
|
|
|
<sql id="Base_Column_List">
|
|
|
- item_code,
|
|
|
- sys.f_get_name_i18n_lang(item_name_i18n,#{i18n}) as title,
|
|
|
- item_type,
|
|
|
- parent_code,
|
|
|
- display_no,
|
|
|
- level_no,
|
|
|
- level_code,
|
|
|
- sys_ids,
|
|
|
- flg_valid,
|
|
|
- remarks
|
|
|
+ data_id, dict_code, data_value, display_no, remarks, flg_valid, cp_id, op_create_time, op_create_user_id, op_update_time, op_update_user_id, op_app_code, op_timestamp, op_db_user, sys_code, data_code, flg_default
|
|
|
</sql>
|
|
|
|
|
|
<!-- 通用查询映射结果 -->
|
|
|
- <resultMap id="BaseResultMap" type="com.dk.mdm.model.pojo.sys.DictionaryItem">
|
|
|
- <id column="item_code" property="itemCode"/>
|
|
|
- <result column="item_name_i18n" property="itemNameI18n"
|
|
|
- typeHandler="JsonTypeHandler"/>
|
|
|
- <result column="item_type" property="itemType"/>
|
|
|
- <result column="parent_code" property="parentCode"/>
|
|
|
+ <resultMap id="BaseResultMap" type="com.dk.mdm.model.pojo.sys.DictionaryData">
|
|
|
+ <id column="data_id" property="dataId"/>
|
|
|
+ <result column="dict_code" property="dictCode"/>
|
|
|
+ <result column="data_value" property="dataValue"/>
|
|
|
<result column="display_no" property="displayNo"/>
|
|
|
- <result column="level_no" property="levelNo"/>
|
|
|
- <result column="level_code" property="levelCode"/>
|
|
|
- <result column="sys_ids" property="sysIds" typeHandler="ShortListTypeHandler"/>
|
|
|
+ <result column="remarks" property="remarks"/>
|
|
|
<result column="flg_valid" property="flgValid"/>
|
|
|
+ <result column="cp_id" property="cpId"/>
|
|
|
+ <result column="op_create_time" property="opCreateTime" typeHandler="TimestampTypeHandler"/>
|
|
|
+ <result column="op_create_user_id" property="opCreateUserId" typeHandler="UuidTypeHandler"/>
|
|
|
+ <result column="op_update_time" property="opUpdateTime" typeHandler="TimestampTypeHandler"/>
|
|
|
+ <result column="op_update_user_id" property="opUpdateUserId" typeHandler="UuidTypeHandler"/>
|
|
|
+ <result column="op_app_code" property="opAppCode"/>
|
|
|
+ <result column="op_timestamp" property="opTimestamp" typeHandler="TimestampTypeHandler"/>
|
|
|
+ <result column="op_db_user" property="opDbUser"/>
|
|
|
+ <result column="sys_code" property="sysCode"/>
|
|
|
+ <result column="data_code" property="dataCode"/>
|
|
|
+ <result column="flg_default" property="flgDefault"/>
|
|
|
+ </resultMap>
|
|
|
+
|
|
|
+ <sql id="Base_Column_List_Response">
|
|
|
+ data_id, dict_code, data_value, display_no, remarks, flg_valid, cp_id, data_code, flg_default,sys_code
|
|
|
+ </sql>
|
|
|
+
|
|
|
+ <resultMap id="BaseResultMapResponse" type="com.dk.mdm.model.response.sys.DictionaryDataResponse">
|
|
|
+ <id column="data_id" property="dataId"/>
|
|
|
+ <result column="dict_code" property="dictCode"/>
|
|
|
+ <result column="data_value" property="dataValue"/>
|
|
|
+ <result column="display_no" property="displayNo"/>
|
|
|
<result column="remarks" property="remarks"/>
|
|
|
+ <result column="flg_valid" property="flgValid"/>
|
|
|
+ <result column="cp_id" property="cpId"/>
|
|
|
+ <result column="data_code" property="dataCode"/>
|
|
|
+ <result column="flg_default" property="flgDefault"/>
|
|
|
+ <result column="sys_code" property="sysCode"/>
|
|
|
</resultMap>
|
|
|
|
|
|
<!-- 通用条件列 -->
|
|
|
<sql id="Condition">
|
|
|
<where>
|
|
|
- <if test="itemNameI18n != null and itemNameI18n != ''">
|
|
|
- AND item_name_i18n = #{itemNameI18n}
|
|
|
- </if>
|
|
|
- <if test="itemType != null">
|
|
|
- AND item_type = #{itemType}
|
|
|
+ <if test="dictCode != null and dictCode != ''">
|
|
|
+ AND dict_code = #{dictCode}
|
|
|
</if>
|
|
|
- <if test="parentCode != null and parentCode != ''">
|
|
|
- AND parent_code = #{parentCode}
|
|
|
+ <if test="dataValue != null and dataValue != ''">
|
|
|
+ AND data_value LIKE concat('%',my_ex.likequery(#{dataValue}),'%')
|
|
|
</if>
|
|
|
<if test="displayNo != null">
|
|
|
AND display_no = #{displayNo}
|
|
|
</if>
|
|
|
- <if test="levelNo != null">
|
|
|
- AND level_no = #{levelNo}
|
|
|
- </if>
|
|
|
- <if test="levelCode != null and levelCode != ''">
|
|
|
- AND level_code = #{levelCode}
|
|
|
- </if>
|
|
|
- <if test="sysIds != null and sysIds.size()>0">
|
|
|
- AND sys_ids @> (#{sysIds,typeHandler=ShortListTypeHandler})
|
|
|
+ <if test="remarks != null and remarks != ''">
|
|
|
+ AND remarks = #{remarks}
|
|
|
</if>
|
|
|
<if test="flgValid != null">
|
|
|
AND flg_valid = #{flgValid}
|
|
|
</if>
|
|
|
- <if test="remarks != null and remarks != ''">
|
|
|
- AND remarks = #{remarks}
|
|
|
+ <if test="cpId != null">
|
|
|
+ AND cp_id = #{cpId}
|
|
|
+ </if>
|
|
|
+ <if test="opCreateTime != null">
|
|
|
+ AND op_create_time = #{opCreateTime}
|
|
|
+ </if>
|
|
|
+ <if test="opCreateUserId != null and opCreateUserId != ''">
|
|
|
+ AND op_create_user_id = #{opCreateUserId}
|
|
|
+ </if>
|
|
|
+ <if test="opUpdateTime != null">
|
|
|
+ AND op_update_time = #{opUpdateTime}
|
|
|
+ </if>
|
|
|
+ <if test="opUpdateUserId != null and opUpdateUserId != ''">
|
|
|
+ AND op_update_user_id = #{opUpdateUserId}
|
|
|
+ </if>
|
|
|
+ <if test="opAppCode != null and opAppCode != ''">
|
|
|
+ AND op_app_code = #{opAppCode}
|
|
|
+ </if>
|
|
|
+ <if test="opTimestamp != null">
|
|
|
+ AND op_timestamp = #{opTimestamp}
|
|
|
</if>
|
|
|
- <if test="textValue != null and textValue != ''">
|
|
|
- AND item_name_i18n ->> 'zh_CN' like concat('%', #{textValue}, '%')
|
|
|
+ <if test="opDbUser != null and opDbUser != ''">
|
|
|
+ AND op_db_user = #{opDbUser}
|
|
|
</if>
|
|
|
+ <if test="sysCode != null and sysCode != ''">
|
|
|
+ AND sys_code = #{sysCode}
|
|
|
+ </if>
|
|
|
+ <if test="dataCode != null and dataCode != ''">
|
|
|
+ AND data_code = #{dataCode}
|
|
|
+ </if>
|
|
|
+ <if test="flgDefault != null">
|
|
|
+ AND flg_default = #{flgDefault}
|
|
|
+ </if>
|
|
|
+ <if test="flgValidList != null and flgValidList.size()>0">
|
|
|
+ AND flg_valid =
|
|
|
+ any(#{flgValidList, typeHandler=BooleanListTypeHandler})
|
|
|
+ </if>
|
|
|
+ <if test="searchText != null">
|
|
|
+ AND (data_value like concat('%', my_ex.likequery(#{searchText}) , '%')
|
|
|
+ OR dict_code like concat('%', my_ex.likequery(#{searchText}) , '%')
|
|
|
+ OR remarks like concat('%', my_ex.likequery(#{searchText}) , '%')
|
|
|
+ )
|
|
|
+ </if>
|
|
|
+
|
|
|
</where>
|
|
|
</sql>
|
|
|
|
|
|
<sql id="idsForeach">
|
|
|
- <!-- 根据主键itemCode批量操作 -->
|
|
|
- WHERE item_code in
|
|
|
+ <!-- 根据主键dataId批量操作 -->
|
|
|
+ WHERE data_id in
|
|
|
<foreach collection="ids" index="index" item="item" separator="," open="(" close=")">
|
|
|
#{item}
|
|
|
</foreach>
|
|
|
</sql>
|
|
|
|
|
|
- <!-- 查询表t_s_dictionary_item,(条件查询+分页)列表 -->
|
|
|
- <select id="selectByCond" resultMap="BaseResultMap">
|
|
|
+ <!-- 查询表t_mst_dictionary_data,(条件查询+分页)列表 -->
|
|
|
+ <select id="selectByCond" resultMap="BaseResultMapResponse">
|
|
|
SELECT
|
|
|
- <include refid="Base_Column_List"/>
|
|
|
- FROM sys.t_s_dictionary_item
|
|
|
+ <include refid="Base_Column_List_Response"/>
|
|
|
+ FROM dkic_b.t_mst_dictionary_data
|
|
|
<include refid="Condition"/>
|
|
|
- order by display_no
|
|
|
+ order by CASE WHEN flg_default = true THEN 0 ELSE 1 END, display_no
|
|
|
+ <if test="pageSize != null and currentPage != null and pageSize != 0 and currentPage != 0">
|
|
|
+ limit #{end} offset #{start}
|
|
|
+ </if>
|
|
|
</select>
|
|
|
|
|
|
- <!-- 查询表t_s_dictionary_item,(条件查询)个数 -->
|
|
|
+ <!-- 查询表t_mst_dictionary_data,(条件查询)个数 -->
|
|
|
<select id="countByCond" resultType="Long">
|
|
|
SELECT
|
|
|
count(1)
|
|
|
- FROM sys.t_s_dictionary_item
|
|
|
+ FROM dkic_b.t_mst_dictionary_data
|
|
|
<include refid="Condition"/>
|
|
|
</select>
|
|
|
+ <select id="countByCondMoneyAccount" resultType="Long">
|
|
|
+ SELECT
|
|
|
+ count(1)
|
|
|
+ FROM
|
|
|
+ dkic_b.t_mst_money_account
|
|
|
+ LEFT JOIN dkic_b.t_mst_dictionary_data dd ON mac_type = dd.data_id
|
|
|
+ where dd.data_id = #{id}::uuid
|
|
|
+ </select>
|
|
|
|
|
|
+ <!-- 根据主键查询表t_mst_dictionary_data的一行数据 -->
|
|
|
+ <select id="selectById" resultMap="BaseResultMap">
|
|
|
+ SELECT
|
|
|
+ <include refid="Base_Column_List"/>
|
|
|
+ FROM dkic_b.t_mst_dictionary_data
|
|
|
+ WHERE data_id = #{dataId}::uuid
|
|
|
+ </select>
|
|
|
|
|
|
- <!-- 根据主键锁定表t_s_dictionary_item的一行数据 -->
|
|
|
+ <!-- 根据主键锁定表t_mst_dictionary_data的一行数据 -->
|
|
|
<select id="selectByIdForUpdate" resultMap="BaseResultMap">
|
|
|
SELECT
|
|
|
<include refid="Base_Column_List"/>
|
|
|
- FROM sys.t_s_dictionary_item
|
|
|
- WHERE item_code = #{itemCode}
|
|
|
+ FROM dkic_b.t_mst_dictionary_data
|
|
|
+ WHERE data_id = #{dataId}
|
|
|
for update
|
|
|
</select>
|
|
|
|
|
|
- <!-- 根据主键锁定表t_s_dictionary_item的多行数据 -->
|
|
|
+ <!-- 根据主键锁定表t_mst_dictionary_data的多行数据 -->
|
|
|
<select id="selectByIdsForUpdate" resultMap="BaseResultMap">
|
|
|
SELECT
|
|
|
<include refid="Base_Column_List"/>
|
|
|
- FROM sys.t_s_dictionary_item
|
|
|
+ FROM dkic_b.t_mst_dictionary_data
|
|
|
<include refid="idsForeach"/>
|
|
|
for update
|
|
|
</select>
|
|
|
|
|
|
<insert id="insertBatch">
|
|
|
- insert into t_s_dictionary_item
|
|
|
+ insert into dkic_b.t_mst_dictionary_data
|
|
|
(
|
|
|
<trim suffixOverrides=",">
|
|
|
- item_name_i18n,
|
|
|
- item_type,
|
|
|
- parent_code,
|
|
|
+ dict_code,
|
|
|
+ data_value,
|
|
|
display_no,
|
|
|
- level_no,
|
|
|
- level_code,
|
|
|
- sys_ids,
|
|
|
remarks,
|
|
|
+ cp_id,
|
|
|
+ op_app_code,
|
|
|
+ sys_code,
|
|
|
+ data_code,
|
|
|
+ flg_default,
|
|
|
</trim>
|
|
|
)
|
|
|
values
|
|
|
<foreach collection="list" index="index" item="item" separator=",">
|
|
|
(
|
|
|
<trim suffixOverrides=",">
|
|
|
- #{item.itemNameI18n},
|
|
|
- #{item.itemType},
|
|
|
- #{item.parentCode},
|
|
|
+ #{item.dictCode},
|
|
|
+ #{item.dataValue},
|
|
|
#{item.displayNo},
|
|
|
- #{item.levelNo},
|
|
|
- #{item.levelCode},
|
|
|
- #{item.sysIds},
|
|
|
#{item.remarks},
|
|
|
+ #{item.cpId},
|
|
|
+ #{item.opAppCode},
|
|
|
+ #{item.sysCode},
|
|
|
+ #{item.dataCode},
|
|
|
+ #{item.flgDefault},
|
|
|
</trim>
|
|
|
)
|
|
|
</foreach>
|
|
|
</insert>
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ <update id="updateBatchDictionaryDataDisplayNo">
|
|
|
+ <foreach collection="list" index="index" item="item" separator=";">
|
|
|
+ UPDATE dkic_b.t_mst_dictionary_data
|
|
|
+ SET
|
|
|
+ display_no = #{item.displayNo}
|
|
|
+ WHERE data_id = #{item.id}::uuid
|
|
|
+ </foreach>
|
|
|
+ </update>
|
|
|
+
|
|
|
+
|
|
|
+ <update id="updateFlgDefault">
|
|
|
+ UPDATE dkic_b.t_mst_dictionary_data
|
|
|
+ SET
|
|
|
+ flg_default = false
|
|
|
+ WHERE dict_code = #{dictCode} AND cp_id = #{cpId} and (flg_default = true OR flg_default is null)
|
|
|
+ </update>
|
|
|
</mapper>
|