<?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.highdatas.mdm.mapper.TableInfoMapper">
|
|
<select id="selectTableByName" parameterType="java.util.Map" resultType="String">
|
show TABLES like #{tableName}
|
</select>
|
|
<select id="selectIdxByTableName" parameterType="java.lang.String" resultType="java.util.Map" statementType="STATEMENT">
|
SELECT * FROM mysql.`innodb_index_stats` a WHERE a.table_name = ${tableName}
|
</select>
|
|
<select id="getTableField" parameterType="String" resultType="com.highdatas.mdm.entity.TableSchemaResult">
|
select COLUMN_NAME as fieldName,DATA_TYPE as dbType, character_maximum_length as length from information_schema.COLUMNS where table_name = #{tableName} and table_schema = (select database())
|
</select>
|
|
<select id="getTableFieldFromDb" parameterType="com.highdatas.mdm.entity.TableSchema" resultType="com.highdatas.mdm.entity.TableSchemaResult">
|
select COLUMN_NAME as fieldName,DATA_TYPE as dbType,character_maximum_length as length from information_schema.COLUMNS where table_name = #{tableName} and table_schema = #{dbName}
|
</select>
|
|
<select id="selectByPage" resultType="java.util.Map" statementType="STATEMENT" >
|
select ${fields} from ${tableName} where ${where} ${limit}
|
</select>
|
|
<select id="selectDistinct" resultType="java.util.Map" statementType="STATEMENT" >
|
select DISTINCT ${fields} from ${tableName} where ${where}
|
</select>
|
|
<select id="selectByPageByVersion" resultType="java.util.Map" statementType="STATEMENT" >
|
<![CDATA[
|
select ${fields} from (
|
SELECT
|
${A1fields} from (
|
SELECT ${fields} from ${tableName} m
|
WHERE NOT EXISTS (
|
SELECT std_id FROM ${tableTempName} tm
|
LEFT JOIN maintain_detail ON tm.id = maintain_detail.pre_merge_id
|
LEFT JOIN maintain ON maintain.id = maintain_detail.parent_id
|
LEFT JOIN flows f on maintain.flow_id = f.id
|
WHERE maintain.order_no <= ${fromOrderNo} and maintain.order_no > ${toOrderNo}
|
and operate = 'create'
|
AND tm.std_id = m.id
|
AND f.status = 'open'
|
and maintain.table_name = '${tableName}'
|
) ) a1
|
LEFT JOIN
|
(
|
SELECT ${tempHFields} from ${tableTempName} h
|
LEFT JOIN maintain_detail md on md.pre_merge_id = h.id
|
LEFT JOIN maintain m on m.id = md.parent_id
|
INNER JOIN (
|
SELECT MIN(m.order_no) as order_no, mt.std_id FROM ${tableTempName} mt
|
LEFT JOIN maintain_detail md on md.pre_merge_id = mt.id
|
LEFT JOIN maintain m on m.id = md.parent_id
|
LEFT JOIN flows f on m.flow_id = f.id
|
WHERE m.order_no <= ${fromOrderNo} and m.order_no > ${toOrderNo} and m.table_name = '${tableName}'
|
and operate = 'update'
|
AND f.status = 'open'
|
GROUP BY mt.std_id
|
) a on a.order_no = m.order_no and a.std_id = h.std_id
|
)a2 on a1.id = a2.id WHERE a2.id is null
|
UNION
|
SELECT
|
${A2fields}
|
from (
|
SELECT ${fields} from ${tableName} m
|
WHERE NOT EXISTS (
|
SELECT std_id FROM ${tableTempName} tm
|
LEFT JOIN maintain_detail ON tm.id = maintain_detail.pre_merge_id
|
LEFT JOIN maintain ON maintain.id = maintain_detail.parent_id
|
LEFT JOIN flows f on maintain.flow_id = f.id
|
WHERE maintain.order_no <= ${fromOrderNo} and maintain.order_no > ${toOrderNo}
|
and operate = 'create'
|
AND f.status = 'open'
|
AND tm.std_id = m.id
|
and maintain.table_name = '${tableName}'
|
) ) a1
|
LEFT JOIN
|
(
|
SELECT ${tempHFields} from ${tableTempName} h
|
LEFT JOIN maintain_detail md on md.pre_merge_id = h.id
|
LEFT JOIN maintain m on m.id = md.parent_id
|
INNER JOIN (
|
SELECT MIN(m.order_no) as order_no, mt.std_id FROM ${tableTempName} mt
|
LEFT JOIN maintain_detail md on md.pre_merge_id = mt.id
|
LEFT JOIN maintain m on m.id = md.parent_id
|
LEFT JOIN flows f on m.flow_id = f.id
|
WHERE m.order_no <= ${fromOrderNo} and m.order_no > ${toOrderNo} and m.table_name = '${tableName}'
|
and operate = 'update'
|
AND f.status = 'open'
|
GROUP BY mt.std_id
|
) a on a.order_no = m.order_no and a.std_id = h.std_id
|
)a2 on a1.id = a2.id WHERE a2.id is not null
|
UNION
|
SELECT ${tempFields} FROM maintain_detail md
|
LEFT JOIN maintain ON maintain.id = md.parent_id
|
LEFT JOIN flows f on maintain.flow_id = f.id
|
LEFT JOIN ${tableTempName} mt on mt.id = md.pre_merge_id
|
WHERE maintain.order_no <= ${fromOrderNo} and maintain.order_no > ${toOrderNo} AND operate = 'delete'
|
AND f.status = 'open'
|
and maintain.table_name = '${tableName}'
|
AND NOT EXISTS (
|
SELECT * FROM maintain_detail
|
LEFT JOIN maintain ON maintain.id = maintain_detail.parent_id
|
LEFT JOIN ${tableTempName} mt1 on mt1.id = maintain_detail.pre_merge_id
|
LEFT JOIN flows f on maintain.flow_id = f.id
|
WHERE maintain.order_no <= ${fromOrderNo} and maintain.order_no > ${toOrderNo}
|
AND operate = 'create'
|
AND f.status = 'open'
|
AND mt.std_id = mt1.std_id
|
and maintain.table_name = '${tableName}'
|
)
|
)a where ${where} ${limit}
|
]]>
|
</select>
|
|
<select id="selectByPageByMaxVersion" resultType="java.util.Map" statementType="STATEMENT" >
|
<![CDATA[
|
select ${fields},operate, status from (
|
SELECT
|
${A1fields}, '' as operate, '' as status from (
|
SELECT ${fields} from ${tableName} m
|
WHERE NOT EXISTS (
|
SELECT std_id FROM ${tableTempName} tm
|
LEFT JOIN maintain_detail ON tm.id = maintain_detail.pre_merge_id
|
LEFT JOIN maintain ON maintain.id = maintain_detail.parent_id
|
WHERE maintain.order_no <= ${fromOrderNo} and maintain.order_no > ${toOrderNo}
|
AND tm.std_id = m.id
|
and maintain.table_name = '${tableName}'
|
) ) a1
|
LEFT JOIN
|
(
|
SELECT ${tempHFields} from ${tableTempName} h
|
LEFT JOIN maintain_detail md on md.pre_merge_id = h.id
|
LEFT JOIN maintain m on m.id = md.parent_id
|
INNER JOIN (
|
SELECT max(m.order_no) as order_no, mt.std_id FROM ${tableTempName} mt
|
LEFT JOIN maintain_detail md on md.pre_merge_id = mt.id
|
LEFT JOIN maintain m on m.id = md.parent_id
|
WHERE m.order_no <= ${fromOrderNo} and m.order_no > ${toOrderNo} and m.table_name = '${tableName}'
|
and operate = 'update'
|
GROUP BY mt.std_id
|
) a on a.order_no = m.order_no and a.std_id = h.std_id
|
)a2 on a1.id = a2.id WHERE a2.id is null
|
UNION
|
SELECT
|
${A2fields}, 'update' as operate, a2.status as status
|
from (
|
SELECT ${fields} from ${tableName} m
|
) a1
|
LEFT JOIN
|
(
|
SELECT ${tempHFields}, f.status from ${tableTempName} h
|
LEFT JOIN maintain_detail md on md.pre_merge_id = h.id
|
LEFT JOIN maintain m on m.id = md.parent_id
|
LEFT JOIN flows f on m.flow_id = f.id
|
INNER JOIN (
|
SELECT max(m.order_no) as order_no, mt.std_id FROM ${tableTempName} mt
|
LEFT JOIN maintain_detail md on md.pre_merge_id = mt.id
|
LEFT JOIN maintain m on m.id = md.parent_id
|
WHERE m.order_no <= ${fromOrderNo} and m.order_no > ${toOrderNo} and m.table_name = '${tableName}'
|
and operate = 'update'
|
GROUP BY mt.std_id
|
) a on a.order_no = m.order_no and a.std_id = h.std_id
|
)a2 on a1.id = a2.id WHERE a2.id is not null
|
UNION
|
SELECT ${tempFields}, 'create' as operate, f.status as status FROM maintain_detail md
|
LEFT JOIN maintain ON maintain.id = md.parent_id
|
LEFT JOIN flows f on maintain.flow_id = f.id
|
LEFT JOIN ${tableTempName} mt on mt.id = md.pre_merge_id
|
WHERE maintain.order_no <= ${fromOrderNo} and maintain.order_no > ${toOrderNo} AND operate = 'create'
|
and maintain.table_name = '${tableName}'
|
AND NOT EXISTS (
|
SELECT * FROM maintain_detail
|
LEFT JOIN maintain ON maintain.id = maintain_detail.parent_id
|
LEFT JOIN ${tableTempName} mt1 on mt1.id = maintain_detail.pre_merge_id
|
WHERE maintain.order_no <= ${fromOrderNo} and maintain.order_no > ${toOrderNo}
|
AND operate = 'delete'
|
AND mt.std_id = mt1.std_id
|
and maintain.table_name = '${tableName}'
|
)
|
UNION
|
SELECT ${tempFields}, 'delete' as operate, f.status as status FROM maintain_detail md
|
LEFT JOIN maintain ON maintain.id = md.parent_id
|
LEFT JOIN flows f on maintain.flow_id = f.id
|
LEFT JOIN ${tableTempName} mt on mt.id = md.pre_merge_id
|
WHERE maintain.order_no <= ${fromOrderNo} and maintain.order_no > ${toOrderNo} AND operate = 'delete'
|
and maintain.table_name = '${tableName}'
|
AND NOT EXISTS (
|
SELECT * FROM maintain_detail
|
LEFT JOIN maintain ON maintain.id = maintain_detail.parent_id
|
LEFT JOIN ${tableTempName} mt1 on mt1.id = maintain_detail.pre_merge_id
|
WHERE maintain.order_no <= ${fromOrderNo} and maintain.order_no > ${toOrderNo}
|
AND operate = 'create'
|
AND mt.std_id = mt1.std_id
|
and maintain.table_name = '${tableName}'
|
)
|
)a where ${where} ${limit}
|
]]>
|
</select>
|
|
<select id="select" resultType="java.util.Map" statementType="STATEMENT" >
|
select ${fields} from ${tableName} where ${where}
|
</select>
|
|
<select id="tempDeal" statementType="STATEMENT" resultType="java.lang.Integer">
|
|
UPDATE ${tableTempName} t
|
SET deal = 1
|
where EXISTS (
|
SELECT pre_merge_id from maintain_detail WHERE parent_id = ${maintainId}
|
and maintain_detail.pre_merge_id = t.id
|
)
|
</select>
|
|
<select id="getCount" resultType="java.lang.Long" statementType="STATEMENT" >
|
select count(1) from ${tableName} where ${where}
|
</select>
|
|
<select id="getCountByVersion" resultType="java.lang.Long" statementType="STATEMENT" >
|
<![CDATA[
|
select count(1) from (
|
SELECT
|
${A1fields}
|
from (
|
SELECT ${fields} from ${tableName} m
|
WHERE NOT EXISTS (
|
SELECT std_id FROM ${tableTempName} tm
|
LEFT JOIN maintain_detail ON tm.id = maintain_detail.pre_merge_id
|
LEFT JOIN maintain ON maintain.id = maintain_detail.parent_id
|
LEFT JOIN flows f on maintain.flow_id = f.id
|
WHERE maintain.order_no <= ${fromOrderNo} and maintain.order_no > ${toOrderNo}
|
and maintain.table_name = '${tableName}'
|
AND f.status = 'open'
|
and operate = 'create'
|
AND tm.std_id = m.id
|
) ) a1
|
LEFT JOIN
|
(
|
SELECT ${tempHFields} from ${tableTempName} h
|
LEFT JOIN maintain_detail md on md.pre_merge_id = h.id
|
LEFT JOIN maintain m on m.id = md.parent_id
|
INNER JOIN (
|
SELECT MIN(m.order_no) as order_no, mt.std_id FROM ${tableTempName} mt
|
LEFT JOIN maintain_detail md on md.pre_merge_id = mt.id
|
LEFT JOIN maintain m on m.id = md.parent_id
|
LEFT JOIN flows f on m.flow_id = f.id
|
WHERE m.order_no <= ${fromOrderNo} and m.order_no > ${toOrderNo} and m.table_name = '${tableName}'
|
and operate = 'update'
|
AND f.status = 'open'
|
GROUP BY mt.std_id
|
) a on a.order_no = m.order_no and a.std_id = h.std_id
|
)a2 on a1.id = a2.id WHERE a2.id is null
|
UNION
|
SELECT
|
${A2fields}
|
from (
|
SELECT ${fields} from ${tableName} m
|
WHERE NOT EXISTS (
|
SELECT std_id FROM ${tableTempName} tm
|
LEFT JOIN maintain_detail ON tm.id = maintain_detail.pre_merge_id
|
LEFT JOIN maintain ON maintain.id = maintain_detail.parent_id
|
LEFT JOIN flows f on maintain.flow_id = f.id
|
WHERE maintain.order_no <= ${fromOrderNo} and maintain.order_no > ${toOrderNo}
|
and maintain.table_name = '${tableName}'
|
AND f.status = 'open'
|
and operate = 'create'
|
AND tm.std_id = m.id
|
) ) a1
|
LEFT JOIN
|
(
|
SELECT ${tempHFields} from ${tableTempName} h
|
LEFT JOIN maintain_detail md on md.pre_merge_id = h.id
|
LEFT JOIN maintain m on m.id = md.parent_id
|
INNER JOIN (
|
SELECT MIN(m.order_no) as order_no, mt.std_id FROM ${tableTempName} mt
|
LEFT JOIN maintain_detail md on md.pre_merge_id = mt.id
|
LEFT JOIN maintain m on m.id = md.parent_id
|
LEFT JOIN flows f on m.flow_id = f.id
|
WHERE m.order_no <= ${fromOrderNo} and m.order_no > ${toOrderNo} and m.table_name = '${tableName}'
|
and operate = 'update'
|
AND f.status = 'open'
|
GROUP BY mt.std_id
|
) a on a.order_no = m.order_no and a.std_id = h.std_id
|
)a2 on a1.id = a2.id WHERE a2.id is not null
|
UNION
|
SELECT ${tempFields} FROM maintain_detail md
|
LEFT JOIN maintain ON maintain.id = md.parent_id
|
LEFT JOIN ${tableTempName} mt on mt.id = md.pre_merge_id
|
LEFT JOIN flows f on maintain.flow_id = f.id
|
WHERE maintain.order_no <= ${fromOrderNo} and maintain.order_no > ${toOrderNo}
|
and maintain.table_name = '${tableName}'
|
AND f.status = 'open'
|
AND operate = 'delete'
|
AND NOT EXISTS (
|
SELECT * FROM maintain_detail
|
LEFT JOIN maintain ON maintain.id = maintain_detail.parent_id
|
LEFT JOIN ${tableTempName} mt1 on mt1.id = maintain_detail.pre_merge_id
|
LEFT JOIN flows f on maintain.flow_id = f.id
|
WHERE maintain.order_no <= ${fromOrderNo} and maintain.order_no > ${toOrderNo}
|
AND operate = 'create'
|
AND f.status = 'open'
|
AND mt.std_id = mt1.std_id
|
and maintain.table_name = '${tableName}'
|
)
|
)a where ${where}
|
]]>
|
</select>
|
|
<select id="getCountByMaxVersion" resultType="java.lang.Long" statementType="STATEMENT" >
|
<![CDATA[
|
select count(1) from (
|
SELECT
|
${A1fields}, '' as operate, '' as status from (
|
SELECT ${fields} from ${tableName} m
|
WHERE NOT EXISTS (
|
SELECT std_id FROM ${tableTempName} tm
|
LEFT JOIN maintain_detail ON tm.id = maintain_detail.pre_merge_id
|
LEFT JOIN maintain ON maintain.id = maintain_detail.parent_id
|
WHERE maintain.order_no <= ${fromOrderNo} and maintain.order_no > ${toOrderNo}
|
and maintain.table_name = '${tableName}'
|
AND tm.std_id = m.id
|
) ) a1
|
LEFT JOIN
|
(
|
SELECT ${tempHFields} from ${tableTempName} h
|
LEFT JOIN maintain_detail md on md.pre_merge_id = h.id
|
LEFT JOIN maintain m on m.id = md.parent_id
|
INNER JOIN (
|
SELECT max(m.order_no) as order_no, mt.std_id FROM ${tableTempName} mt
|
LEFT JOIN maintain_detail md on md.pre_merge_id = mt.id
|
LEFT JOIN maintain m on m.id = md.parent_id
|
WHERE m.order_no <= ${fromOrderNo} and m.order_no > ${toOrderNo}
|
and m.table_name = '${tableName}'
|
and operate = 'update'
|
GROUP BY mt.std_id
|
) a on a.order_no = m.order_no and a.std_id = h.std_id
|
)a2 on a1.id = a2.id WHERE a2.id is null
|
UNION
|
SELECT
|
${A2fields}, 'update' as operate, a2.status as status
|
from (
|
SELECT ${fields} from ${tableName} m
|
) a1
|
LEFT JOIN
|
(
|
SELECT ${tempHFields}, f.status from ${tableTempName} h
|
LEFT JOIN maintain_detail md on md.pre_merge_id = h.id
|
LEFT JOIN maintain m on m.id = md.parent_id
|
LEFT JOIN flows f on m.flow_id = f.id
|
INNER JOIN (
|
SELECT max(m.order_no) as order_no, mt.std_id FROM ${tableTempName} mt
|
LEFT JOIN maintain_detail md on md.pre_merge_id = mt.id
|
LEFT JOIN maintain m on m.id = md.parent_id
|
WHERE m.order_no <= ${fromOrderNo} and m.order_no > ${toOrderNo}
|
and m.table_name = '${tableName}'
|
and operate = 'update'
|
GROUP BY mt.std_id
|
) a on a.order_no = m.order_no and a.std_id = h.std_id
|
)a2 on a1.id = a2.id WHERE a2.id is not null
|
UNION
|
SELECT ${tempFields}, 'create' as operate, f.status as status FROM maintain_detail md
|
LEFT JOIN maintain ON maintain.id = md.parent_id
|
LEFT JOIN flows f on maintain.flow_id = f.id
|
LEFT JOIN ${tableTempName} mt on mt.id = md.pre_merge_id
|
WHERE maintain.order_no <= ${fromOrderNo} and maintain.order_no > ${toOrderNo}
|
AND maintain.table_name = '${tableName}'
|
AND operate = 'create'
|
AND NOT EXISTS (
|
SELECT * FROM maintain_detail
|
LEFT JOIN maintain ON maintain.id = maintain_detail.parent_id
|
LEFT JOIN ${tableTempName} mt1 on mt1.id = maintain_detail.pre_merge_id
|
WHERE maintain.order_no <= ${fromOrderNo} and maintain.order_no > ${toOrderNo}
|
AND operate = 'delete'
|
AND mt.std_id = mt1.std_id
|
AND maintain.table_name = '${tableName}'
|
)
|
UNION
|
SELECT ${tempFields}, 'delete' as operate, f.status as status FROM maintain_detail md
|
LEFT JOIN maintain ON maintain.id = md.parent_id
|
LEFT JOIN flows f on maintain.flow_id = f.id
|
LEFT JOIN ${tableTempName} mt on mt.id = md.pre_merge_id
|
WHERE maintain.order_no <= ${fromOrderNo} and maintain.order_no > ${toOrderNo}
|
AND maintain.table_name = '${tableName}'
|
AND operate = 'delete'
|
AND NOT EXISTS (
|
SELECT * FROM maintain_detail
|
LEFT JOIN maintain ON maintain.id = maintain_detail.parent_id
|
LEFT JOIN ${tableTempName} mt1 on mt1.id = maintain_detail.pre_merge_id
|
WHERE maintain.order_no <= ${fromOrderNo} and maintain.order_no > ${toOrderNo}
|
AND operate = 'create'
|
AND mt.std_id = mt1.std_id
|
and maintain.table_name = '${tableName}'
|
)
|
)a where ${where}
|
]]>
|
</select>
|
|
<insert id="insert" statementType="STATEMENT" >
|
INSERT INTO ${tableName} (${fields}) VALUES ${values}
|
</insert>
|
|
<insert id="insertOneSelect" statementType="STATEMENT" >
|
INSERT INTO ${tableName} (${fields})
|
select ${selectFields} from (${selectSql}) a
|
</insert>
|
|
<update id="update">
|
update ${tableName} set ${updateSegment}
|
where ${where}
|
</update>
|
|
<update id="updateJoin">
|
update ${tableName}
|
${joinTableSegment}
|
set ${updateSegment}
|
where ${where}
|
</update>
|
|
<delete id="delete">
|
DELETE FROM ${tableName} where ${where}
|
</delete>
|
|
<select id="createIdx">
|
CREATE INDEX ${idxName} ON ${tableName} (${fields})
|
</select>
|
|
|
<delete id="deleteTempByMaintainId">
|
DELETE FROM ${tableTempName} where EXISTS (
|
SELECT pre_merge_id from maintain_detail d
|
where parent_id = ${maintainId} and d.pre_merge_id = ${tableTempName}.id
|
)
|
</delete>
|
|
<!-- temp 2 standrad-->
|
<insert id="tempCreate2std" statementType="STATEMENT" >
|
INSERT INTO ${tableName}
|
SELECT
|
${tempFields}
|
from ${tableTempName} t
|
where
|
EXISTS
|
(
|
SELECT std_id from ${tableTempName} tm
|
LEFT JOIN maintain_detail on tm.id = maintain_detail.pre_merge_id
|
WHERE maintain_detail.parent_id = ${maintainId}
|
and operate = 'create'
|
and tm.id = t.id
|
)
|
</insert>
|
|
<select id="getTempIdByStdId" statementType="STATEMENT" resultType="java.lang.String">
|
SELECT tm.id from ${tableTempName} tm
|
inner JOIN maintain_detail md on md.pre_merge_id = tm.id
|
where tm.std_id = ${stdId} and md.parent_id = ${maintainId}
|
|
</select>
|
|
<insert id="insertMatintainDetailFromTemp" statementType="STATEMENT" >
|
|
INSERT INTO maintain_detail
|
SELECT md5(uuid()) as id, ${maintainId} as parent_id, ${operate} as operate, id as pre_merge_id, NOW() as create_time
|
from ${tableTempName} m WHERE m.deal = 0
|
|
</insert>
|
|
<insert id="insertMatintainDetailFromStandrad" statementType="STATEMENT" >
|
|
INSERT INTO maintain_detail
|
SELECT md5(uuid()) as id, ${maintainId} as parent_id, 'delete' as operate, id as pre_merge_id, NOW() as create_time
|
from ${tableTempName} m WHERE m.deal = 0
|
|
</insert>
|
|
<update id="updateStdId" statementType="STATEMENT" >
|
|
update ${tableTempName}
|
set std_id = md5(uuid()) WHERE deal = 0
|
|
</update>
|
|
<insert id="insertRecordFromStandrad" statementType="STATEMENT" >
|
INSERT INTO ${recordTableName}
|
SELECT ${tempFieldList}, 0 as deal
|
from ${tableName}
|
|
</insert>
|
|
<select id="tempByOperate" statementType="STATEMENT" resultType="java.util.Map">
|
SELECT
|
${fields}
|
from ${tableTempName} t
|
where
|
EXISTS
|
(
|
SELECT pre_merge_id from maintain_detail
|
LEFT JOIN maintain on maintain.id = maintain_detail.parent_id
|
WHERE maintain.id = ${maintainId}
|
and operate = ${operate}
|
and maintain_detail.pre_merge_id = t.id
|
)
|
</select>
|
|
<update id="updateRecordByMaintainId" statementType="STATEMENT" >
|
update ${tableTempName}
|
INNER JOIN maintain_detail on ${tableTempName}.id = maintain_detail.pre_merge_id
|
set ${updateSegment}
|
WHERE maintain_detail.parent_id = ${maintainId}
|
|
</update>
|
|
<delete id="deleteRecordByMaintainId" statementType="STATEMENT" >
|
DELETE ${tableTempName} from ${tableTempName}
|
INNER JOIN maintain_detail on maintain_detail.pre_merge_id = ${tableTempName}.id
|
WHERE maintain_detail.parent_id = ${maintainId} and ${tableTempName}.std_id = ${stdId}
|
</delete>
|
|
<select id="selectActMemberShip" parameterType="java.util.Map" resultType="java.util.Map">
|
select * from ACT_ID_MEMBERSHIP where USER_ID_ = #{userId} and GROUP_ID_ = #{roleId}
|
</select>
|
<select id="selectActMemberShipByRole" parameterType="java.util.Map" resultType="java.util.Map">
|
select * from ACT_ID_MEMBERSHIP where GROUP_ID_ = #{roleId}
|
</select>
|
<select id="selectActMemberShipByUser" parameterType="java.util.Map" resultType="java.util.Map">
|
select * from ACT_ID_MEMBERSHIP where USER_ID_ = #{userId}
|
</select>
|
|
<select id="getOneTempFieldDataByMaintainExtent" statementType="STATEMENT" resultType="java.util.Map">
|
<![CDATA[
|
SELECT DISTINCT ${field} FROM ${tempTableName} t WHERE EXISTS (
|
SELECT pre_merge_id FROM ( SELECT pre_merge_id FROM maintain_detail WHERE EXISTS (
|
SELECT id FROM ( SELECT id FROM `maintain` WHERE
|
table_name = ${tableName}
|
AND order_no >= ${fromOrderNo}
|
AND order_no < ${toOrderNo}
|
) a
|
WHERE
|
a.id = maintain_detail.parent_id )
|
) a
|
WHERE t.id = a.pre_merge_id)
|
|
]]>
|
</select>
|
|
<select id="getTempDataByMaintainExtent" statementType="STATEMENT" resultType="java.util.Map">
|
<![CDATA[
|
SELECT * FROM ${tempTableName} t WHERE EXISTS (
|
SELECT pre_merge_id FROM ( SELECT pre_merge_id FROM maintain_detail WHERE EXISTS (
|
SELECT id FROM ( SELECT id FROM `maintain` WHERE
|
table_name = ${tableName}
|
AND order_no >= ${fromOrderNo}
|
AND order_no < ${toOrderNo}
|
) a
|
WHERE
|
a.id = maintain_detail.parent_id )
|
) a
|
WHERE t.id = a.pre_merge_id)
|
|
]]>
|
</select>
|
</mapper>
|