<?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">
|
<!--
|
* @title: 法条表
|
* @description: 自定义sql,请自行实现业务逻辑
|
* @company: hugeinfo
|
* @author: huangh
|
* @time:2024-12-05 14:49
|
* @version 1.0
|
-->
|
<mapper namespace="cn.huge.module.knowledge.dao.mapper.LawProvisionMapper">
|
<!-- 结果集 -->
|
<resultMap id="dataResult" type="cn.huge.module.knowledge.domain.po.LawProvision">
|
<result property="lawProvisionId" column="law_provision_id"/>
|
<result property="lawInfoId" column="law_info_id"/>
|
<result property="lawTitle" column="law_title"/>
|
<result property="provisionIndex" column="provision_index"/>
|
<result property="provisionText" column="provision_text"/>
|
<result property="validity" column="validity"/>
|
<result property="validityName" column="validity_name"/>
|
<result property="createTime" column="create_time"/>
|
<result property="updateTime" column="update_time"/>
|
<result property="note" column="note"/>
|
<result property="deleteStatus" column="delete_status"/>
|
</resultMap>
|
<!-- 表 -->
|
<sql id='table-name'>law_provision</sql>
|
<!-- 字段 -->
|
<sql id="column-part">
|
law_provision_id,law_info_id,law_title,provision_index,provision_text,validity,validity_name,create_time,update_time,note,delete_status
|
</sql>
|
<!-- 更新实体字段 -->
|
<sql id="set-part">
|
<if test="entity.lawInfoId != null">law_info_id = #{entity.lawInfoId},</if>
|
<if test="entity.lawTitle != null">law_title = #{entity.lawTitle},</if>
|
<if test="entity.provisionIndex != null">provision_index = #{entity.provisionIndex},</if>
|
<if test="entity.provisionText != null">provision_text = #{entity.provisionText},</if>
|
<if test="entity.validity != null">validity = #{entity.validity},</if>
|
<if test="entity.validityName != null">validity_name = #{entity.validityName},</if>
|
<if test="entity.createTime != null">create_time = #{entity.createTime},</if>
|
<if test="entity.updateTime != null">update_time = #{entity.updateTime},</if>
|
<if test="entity.note != null">note = #{entity.note},</if>
|
<if test="entity.deleteStatus != null">delete_status = #{entity.deleteStatus}</if>
|
</sql>
|
<!-- 条件 -->
|
<sql id="where-part">
|
<if test="terms != null">
|
<where>
|
<if test="terms.lawInfoId != null and terms.lawInfoId !=''">
|
and law_info_id = #{terms.lawInfoId}
|
</if>
|
<if test="terms.lawTitle != null and terms.lawTitle !=''">
|
and law_title = #{terms.lawTitle}
|
</if>
|
<if test="terms.provisionIndex != null and terms.provisionIndex !=''">
|
and provision_index = #{terms.provisionIndex}
|
</if>
|
<if test="terms.provisionText != null and terms.provisionText !=''">
|
and provision_text = #{terms.provisionText}
|
</if>
|
<if test="terms.keyword != null and terms.keyword !=''">
|
and provision_text like concat('%',#{terms.keyword},'%')
|
</if>
|
<if test="terms.validity != null and terms.validity !=''">
|
and validity = #{terms.validity}
|
</if>
|
<if test="terms.validityName != null and terms.validityName !=''">
|
and validity_name = #{terms.validityName}
|
</if>
|
<if test="terms.createTime != null and terms.createTime !=''">
|
and DATE_FORMAT(create_time,'%Y-%m-%d') = #{terms.createTime}
|
</if>
|
<if test="terms.createStart != null and terms.createStart !='' and terms.createEnd != null and terms.createEnd !=''">
|
and (DATE_FORMAT(create_time,'%Y-%m-%d') <![CDATA[ >= ]]> #{terms.createStart}
|
and DATE_FORMAT(create_time,'%Y-%m-%d') <![CDATA[ <= ]]> #{terms.createEnd})
|
</if>
|
<if test="terms.updateTime != null and terms.updateTime !=''">
|
and DATE_FORMAT(update_time,'%Y-%m-%d') = #{terms.updateTime}
|
</if>
|
<if test="terms.updateStart != null and terms.updateStart !='' and terms.updateEnd != null and terms.updateEnd !=''">
|
and (DATE_FORMAT(update_time,'%Y-%m-%d') <![CDATA[ >= ]]> #{terms.updateStart}
|
and DATE_FORMAT(update_time,'%Y-%m-%d') <![CDATA[ <= ]]> #{terms.updateEnd})
|
</if>
|
<if test="terms.deleteStatus == null or terms.deleteStatus ==''">
|
and delete_status = '1'
|
</if>
|
<if test="terms.deleteStatus != null and terms.deleteStatus !=''">
|
and delete_status = #{terms.deleteStatus}
|
</if>
|
</where>
|
</if>
|
</sql>
|
<!-- 更新对象 -->
|
<update id="updateLawProvision">
|
update
|
<include refid="table-name"/>
|
<set>
|
<include refid="set-part"/>
|
</set>
|
<where>
|
law_provision_id = #{entity.lawProvisionId}
|
</where>
|
</update>
|
<!-- 条件更新对象 -->
|
<update id="updateLawProvisionTerms">
|
update
|
<include refid="table-name"/>
|
<set>
|
<include refid="set-part"/>
|
</set>
|
<include refid="where-part"/>
|
</update>
|
<!-- 根据编号物理删除 -->
|
<delete id="deleteLawProvision">
|
delete from
|
<include refid="table-name" />
|
where law_provision_id = #{id}
|
</delete>
|
<!-- 根据条件查询 -->
|
<select id="listTerms" resultMap="dataResult">
|
select
|
<include refid="column-part"/>
|
from
|
<include refid="table-name" />
|
<include refid="where-part"/>
|
</select>
|
<!-- 字段-关键词查询 -->
|
<sql id="column-part-key">
|
law_provision_id,provision_index,provision_text
|
</sql>
|
<!-- 结果集-关键词查询 -->
|
<resultMap id="dataResultKey" type="cn.huge.module.knowledge.domain.dto.LawProvisionKeyDTO">
|
<result property="lawProvisionId" column="law_provision_id"/>
|
<result property="provisionIndex" column="provision_index"/>
|
<result property="provisionText" column="provision_text"/>
|
</resultMap>
|
<!-- 根据条件查询-关键词查询 -->
|
<select id="listTermsKey" resultMap="dataResultKey">
|
select
|
<include refid="column-part-key"/>
|
from
|
<include refid="table-name" />
|
<include refid="where-part"/>
|
</select>
|
<!-- 根据条件统计 -->
|
<select id="countTerms" resultType="java.lang.Long">
|
select
|
COUNT(1)
|
from
|
<include refid="table-name" />
|
<include refid="where-part"/>
|
</select>
|
<!-- 根据条件分页查询 -->
|
<select id="pageTerms" resultMap="dataResult">
|
SELECT
|
<include refid="column-part"/>
|
FROM
|
<include refid="table-name" />
|
<include refid="where-part"/>
|
<if test="page.sort != null">
|
<foreach collection="page.sort" item="s" index="index" separator="," open="order by ">
|
isnull(${s.property}), ${s.property} ${s.direction}
|
</foreach>
|
</if>
|
<if test="page.sort == null">
|
order by isnull(create_time), create_time desc
|
</if>
|
limit #{page.offset}, #{page.size}
|
</select>
|
|
</mapper>
|