| | |
| | | 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 from information_schema.COLUMNS where table_name = #{tableName} and table_schema = (select database()) |
| | | 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 from information_schema.COLUMNS where table_name = #{tableName} and table_schema = #{dbName} |
| | | <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 id="selectByPage" resultType="java.util.Map" statementType="STATEMENT"> |
| | | select ${fields} from ${tableName} where ${where} ${limit} |
| | | </select> |
| | | |
| | | <select id="selectByPageByVersion" resultType="java.util.Map" statementType="STATEMENT" > |
| | | <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 |
| | | SELECT ${fields} |
| | | FROM |
| | | (SELECT ${A1fields} |
| | | FROM ${tableName} a1 |
| | | LEFT JOIN |
| | | (SELECT DISTINCT mt1.std_id |
| | | FROM ${tableTempName} mt1 |
| | | LEFT JOIN maintain_detail md |
| | | ON md.pre_merge_id = mt1.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 = 'create' |
| | | OR operate = 'update') ) v |
| | | ON v.std_id = a1.id |
| | | WHERE v.std_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 ${tempFields} |
| | | FROM |
| | | (SELECT mt.*, |
| | | m.order_no |
| | | FROM ${tableTempName} mt |
| | | LEFT JOIN maintain_detail md |
| | | ON md.pre_merge_id = mt.id |
| | | LEFT JOIN maintain m |
| | | ON md.parent_id = m.id |
| | | WHERE m.order_no <= ${fromOrderNo} |
| | | AND m.order_no > ${toOrderNo} |
| | | AND m.table_name = '${tableName}' |
| | | AND operate = 'update' ) AS a1 |
| | | INNER JOIN |
| | | (SELECT std_id, |
| | | min(order_no) AS order_no |
| | | FROM |
| | | (SELECT mt.id, |
| | | std_id, |
| | | m.order_no |
| | | FROM ${tableTempName} mt |
| | | LEFT JOIN maintain_detail md |
| | | ON md.pre_merge_id = mt.id |
| | | LEFT JOIN maintain m |
| | | ON md.parent_id = m.id |
| | | WHERE m.order_no <= ${fromOrderNo} |
| | | AND m.order_no > ${toOrderNo} |
| | | AND m.table_name = '${tableName}' |
| | | AND operate = 'update' |
| | | AND NOT EXISTS |
| | | (SELECT mt1.id |
| | | FROM ${tableTempName} mt1 |
| | | LEFT JOIN maintain_detail md |
| | | ON md.pre_merge_id = mt1.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 = 'create' |
| | | AND mt1.std_id = mt.std_id ) ) AS gz |
| | | GROUP BY std_id ) AS zb |
| | | ON a1.std_id = zb.std_id |
| | | AND a1.order_no = zb.order_no |
| | | UNION |
| | | SELECT DISTINCT ${tempFields} |
| | | FROM ${tableTempName} a1 |
| | | LEFT JOIN maintain_detail md |
| | | ON md.pre_merge_id = a1.id |
| | | LEFT JOIN maintain m |
| | | ON m.id = md.parent_id |
| | | LEFT JOIN |
| | | (SELECT DISTINCT mt1.std_id |
| | | FROM ${tableTempName} mt1 |
| | | LEFT JOIN maintain_detail md |
| | | ON md.pre_merge_id = mt1.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 = 'create' |
| | | OR operate = 'update') ) zb |
| | | ON zb.std_id = a1.std_id |
| | | WHERE zb.std_id is null |
| | | AND md.operate = 'delete' |
| | | AND m.order_no <= ${fromOrderNo} |
| | | AND m.order_no > ${toOrderNo} |
| | | AND m.table_name = '${tableName}' ) a |
| | | WHERE ${where} ${limit} |
| | | ]]> |
| | | </select> |
| | | |
| | | <select id="selectByPageByMaxVersion" resultType="java.util.Map" statementType="STATEMENT" > |
| | | <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 |
| | | |
| | | select ${fields},operate, status from ( |
| | | SELECT ${tempFields}, md.operate, f.`status` from ${tableTempName} a1 |
| | | LEFT JOIN maintain_detail md on md.pre_merge_id = a1.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 flows f on flow_id = f.id |
| | | WHERE order_no > ${fromOrderNo} and f.id is null |
| | | UNION |
| | | SELECT ${tempFields}, md.operate, f.`status` from ${tableTempName} a1 |
| | | LEFT JOIN maintain_detail md on md.pre_merge_id = a1.id |
| | | LEFT JOIN maintain m on m.id = md.parent_id |
| | | LEFT JOIN flows f on flow_id = f.id |
| | | WHERE order_no > ${fromOrderNo} and f.`status` = 'working' |
| | | |
| | | union |
| | | SELECT ${A1fields}, '', '' from ${tableName} a1 |
| | | LEFT JOIN |
| | | ( |
| | | SELECT DISTINCT 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 |
| | | LEFT JOIN flows f on flow_id = f.id |
| | | WHERE order_no > ${fromOrderNo} and f.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 |
| | | SELECT DISTINCT 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}' |
| | | ) |
| | | LEFT JOIN flows f on flow_id = f.id |
| | | WHERE order_no > ${fromOrderNo} and f.`status` = 'working' |
| | | ) a on a.std_id = a1.id where a.std_id is null |
| | | )a where ${where} ${limit} |
| | | ]]> |
| | | |
| | | ]]> |
| | | </select> |
| | | |
| | | <select id="select" resultType="java.util.Map" statementType="STATEMENT" > |
| | | <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"> |
| | | <select id="tempDeal" statementType="STATEMENT" resultType="java.lang.Integer"> |
| | | UPDATE ${tableTempName} mt |
| | | INNER JOIN ( |
| | | SELECT pre_merge_id from |
| | | maintain_detail |
| | | WHERE maintain_detail.parent_id = ${maintainId} |
| | | )md on mt.id = md.pre_merge_id |
| | | set mt.deal = 1 |
| | | |
| | | 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 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" > |
| | | <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 |
| | | SELECT count(1) |
| | | FROM |
| | | (SELECT ${A1fields} |
| | | FROM ${tableName} a1 |
| | | LEFT JOIN |
| | | (SELECT DISTINCT mt1.std_id |
| | | FROM ${tableTempName} mt1 |
| | | LEFT JOIN maintain_detail md |
| | | ON md.pre_merge_id = mt1.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 = 'create' |
| | | OR operate = 'update') ) v |
| | | ON v.std_id = a1.id |
| | | WHERE v.std_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 ${tempFields} |
| | | FROM |
| | | (SELECT mt.*, |
| | | m.order_no |
| | | FROM ${tableTempName} mt |
| | | LEFT JOIN maintain_detail md |
| | | ON md.pre_merge_id = mt.id |
| | | LEFT JOIN maintain m |
| | | ON md.parent_id = m.id |
| | | WHERE m.order_no <= ${fromOrderNo} |
| | | AND m.order_no > ${toOrderNo} |
| | | AND m.table_name = '${tableName}' |
| | | AND operate = 'update' ) AS a1 |
| | | INNER JOIN |
| | | (SELECT std_id, |
| | | min(order_no) AS order_no |
| | | FROM |
| | | (SELECT mt.id, |
| | | std_id, |
| | | m.order_no |
| | | FROM ${tableTempName} mt |
| | | LEFT JOIN maintain_detail md |
| | | ON md.pre_merge_id = mt.id |
| | | LEFT JOIN maintain m |
| | | ON md.parent_id = m.id |
| | | WHERE m.order_no <= ${fromOrderNo} |
| | | AND m.order_no > ${toOrderNo} |
| | | AND m.table_name = '${tableName}' |
| | | AND operate = 'update' |
| | | AND NOT EXISTS |
| | | (SELECT mt1.id |
| | | FROM ${tableTempName} mt1 |
| | | LEFT JOIN maintain_detail md |
| | | ON md.pre_merge_id = mt1.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 = 'create' |
| | | AND mt1.std_id = mt.std_id ) ) AS gz |
| | | GROUP BY std_id ) AS zb |
| | | ON a1.std_id = zb.std_id |
| | | AND a1.order_no = zb.order_no |
| | | UNION |
| | | SELECT DISTINCT ${tempFields} |
| | | FROM ${tableTempName} a1 |
| | | LEFT JOIN maintain_detail md |
| | | ON md.pre_merge_id = a1.id |
| | | LEFT JOIN maintain m |
| | | ON m.id = md.parent_id |
| | | LEFT JOIN |
| | | (SELECT DISTINCT mt1.std_id |
| | | FROM ${tableTempName} mt1 |
| | | LEFT JOIN maintain_detail md |
| | | ON md.pre_merge_id = mt1.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 = 'create' |
| | | OR operate = 'update') ) zb |
| | | ON zb.std_id = a1.std_id |
| | | WHERE zb.std_id is null |
| | | AND md.operate = 'delete' |
| | | AND m.order_no <= ${fromOrderNo} |
| | | AND m.order_no > ${toOrderNo} |
| | | AND m.table_name = '${tableName}' ) a |
| | | WHERE ${where} |
| | | |
| | | ]]> |
| | | </select> |
| | | |
| | | <select id="getCountByMaxVersion" resultType="java.lang.Long" statementType="STATEMENT" > |
| | | <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 |
| | | |
| | | select count(1) from ( |
| | | SELECT ${tempFields}, md.operate, f.`status` from ${tableTempName} a1 |
| | | LEFT JOIN maintain_detail md on md.pre_merge_id = a1.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 flows f on flow_id = f.id |
| | | WHERE order_no > ${fromOrderNo} and f.id is null |
| | | UNION |
| | | SELECT ${tempFields}, md.operate, f.`status` from ${tableTempName} a1 |
| | | LEFT JOIN maintain_detail md on md.pre_merge_id = a1.id |
| | | LEFT JOIN maintain m on m.id = md.parent_id |
| | | LEFT JOIN flows f on flow_id = f.id |
| | | WHERE order_no > ${fromOrderNo} and f.`status` = 'working' |
| | | |
| | | union |
| | | SELECT ${A1fields}, '', '' from ${tableName} a1 |
| | | LEFT JOIN |
| | | ( |
| | | SELECT DISTINCT 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 |
| | | LEFT JOIN flows f on flow_id = f.id |
| | | WHERE order_no > ${fromOrderNo} and f.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 |
| | | SELECT DISTINCT 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}' |
| | | ) |
| | | LEFT JOIN flows f on flow_id = f.id |
| | | WHERE order_no > ${fromOrderNo} and f.`status` = 'working' |
| | | ) a on a.std_id = a1.id where a.std_id is null |
| | | )a where ${where} |
| | | ]]> |
| | | |
| | | ]]> |
| | | </select> |
| | | |
| | | <insert id="insert" statementType="STATEMENT" > |
| | | <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"> |
| | |
| | | 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 tm FROM ${tableTempName} tm , maintain_detail md WHERE tm.id = md.pre_merge_id |
| | | and md.parent_id = ${maintainId}; |
| | | </delete> |
| | | |
| | | <!-- temp 2 standrad--> |
| | | <insert id="tempCreate2std" statementType="STATEMENT" > |
| | | <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 |
| | | ) |
| | | inner join maintain_detail md on t.id = md.pre_merge_id |
| | | where md.parent_id = ${maintainId} and md.operate = 'create' |
| | | |
| | | </insert> |
| | | |
| | | <select id="getTempIdByStdId" statementType="STATEMENT" resultType="java.lang.String"> |
| | |
| | | |
| | | </select> |
| | | |
| | | <insert id="insertMatintainDetailFromTemp" statementType="STATEMENT" > |
| | | <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 |
| | |
| | | |
| | | </insert> |
| | | |
| | | <insert id="insertMatintainDetailFromStandrad" statementType="STATEMENT" > |
| | | <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 |
| | |
| | | |
| | | </insert> |
| | | |
| | | <update id="updateStdId" statementType="STATEMENT" > |
| | | <update id="updateStdId" statementType="STATEMENT"> |
| | | |
| | | update ${tableTempName} |
| | | set std_id = md5(uuid()) WHERE deal = 0 |
| | | |
| | | </update> |
| | | |
| | | <insert id="insertRecordFromStandrad" statementType="STATEMENT" > |
| | | <insert id="insertRecordFromStandrad" statementType="STATEMENT"> |
| | | INSERT INTO ${recordTableName} |
| | | SELECT ${tempFieldList}, 0 as deal |
| | | from ${tableName} |
| | |
| | | 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} |
| | | inner join maintain_detail md on md.pre_merge_id = t.id |
| | | where md.parent_id = ${maintainId} |
| | | and operate = ${operate} |
| | | and maintain_detail.pre_merge_id = t.id |
| | | ) |
| | | |
| | | </select> |
| | | |
| | | <update id="updateRecordByMaintainId" statementType="STATEMENT" > |
| | | <update id="updateRecordByMaintainId" statementType="STATEMENT"> |
| | | update ${tableTempName} |
| | | INNER JOIN maintain_detail on ${tableTempName}.id = maintain_detail.pre_merge_id |
| | | set ${updateSegment} |
| | |
| | | |
| | | </update> |
| | | |
| | | <delete id="deleteRecordByMaintainId" statementType="STATEMENT" > |
| | | <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 * 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 |
| | | LEFT JOIN maintain_detail md on md.pre_merge_id = t.id |
| | | LEFT JOIN maintain m on m.id = md.parent_id |
| | | |
| | | WHERE |
| | | m.table_name = ${tableName} |
| | | AND m.order_no >= ${fromOrderNo} |
| | | AND m.order_no < ${toOrderNo} |
| | | |
| | | ]]> |
| | | </select> |
| | | |
| | | <select id="getTempDataByMaintainExtent" statementType="STATEMENT" resultType="java.util.Map"> |
| | | <![CDATA[ |
| | | SELECT t.* FROM ${tempTableName} t |
| | | LEFT JOIN maintain_detail md on md.pre_merge_id = t.id |
| | | LEFT JOIN maintain m on m.id = md.parent_id |
| | | |
| | | WHERE |
| | | m.table_name = ${tableName} |
| | | AND m.order_no >= ${fromOrderNo} |
| | | AND m.order_no < ${toOrderNo} |
| | | |
| | | |
| | | ]]> |
| | | </select> |
| | | </mapper> |