From 8033eea1502d4cb0a91aa4b86c848ccb00ba8dc0 Mon Sep 17 00:00:00 2001 From: kimi <kimi42345@gmail.com> Date: 星期五, 13 三月 2020 09:31:46 +0800 Subject: [PATCH] no message --- src/main/resources/mapping/TableInfoMapper.xml | 69 +++++++++++++++++++++++++++++++--- 1 files changed, 63 insertions(+), 6 deletions(-) diff --git a/src/main/resources/mapping/TableInfoMapper.xml b/src/main/resources/mapping/TableInfoMapper.xml index 5526fe0..48fe3f3 100644 --- a/src/main/resources/mapping/TableInfoMapper.xml +++ b/src/main/resources/mapping/TableInfoMapper.xml @@ -28,9 +28,11 @@ 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 @@ -42,8 +44,10 @@ 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 @@ -56,8 +60,10 @@ 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 @@ -70,23 +76,29 @@ 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}' ) @@ -183,12 +195,12 @@ select ${fields} from ${tableName} where ${where} </select> - <select id="tempDeal" statementType="STATEMENT" resultType="java.lang.Long"> + <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} + SELECT pre_merge_id from maintain_detail WHERE parent_id = ${maintainFieldId} and maintain_detail.pre_merge_id = t.id ) </select> @@ -208,8 +220,10 @@ 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 @@ -222,8 +236,10 @@ 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 @@ -236,8 +252,10 @@ 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 @@ -250,8 +268,10 @@ 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 @@ -259,15 +279,19 @@ 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}' ) @@ -380,7 +404,7 @@ <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 + where parent_id = ${maintainFieldId} and d.pre_merge_id = ${tableTempName}.id ) </delete> @@ -395,7 +419,7 @@ ( SELECT std_id from ${tableTempName} tm LEFT JOIN maintain_detail on tm.id = maintain_detail.pre_merge_id - WHERE maintain_detail.parent_id = ${maintainId} + WHERE maintain_detail.parent_id = ${maintainFieldId} and operate = 'create' and tm.id = t.id ) @@ -411,7 +435,15 @@ <select id="insertMatintainDetailFromTemp" statementType="STATEMENT" resultType="java.lang.Integer"> INSERT INTO maintain_detail - SELECT md5(uuid()) as id, ${maintainId} as parent_id, 'create' as operate, id as pre_merge_id, NOW() as createdate + SELECT md5(uuid()) as id, ${maintainFieldId} as parent_id, ${operate} as operate, id as pre_merge_id, NOW() as create_time + from ${tableTempName} m WHERE m.deal = 0 + + </select> + + <select id="insertMatintainDetailFromStandrad" statementType="STATEMENT" resultType="java.lang.Integer"> + + INSERT INTO maintain_detail + SELECT md5(uuid()) as id, ${maintainFieldId} as parent_id, 'delete' as operate, id as pre_merge_id, NOW() as create_time from ${tableTempName} m WHERE m.deal = 0 </select> @@ -420,6 +452,13 @@ update ${tableTempName} set std_id = md5(uuid()) WHERE deal = 0 + + </select> + + <select id="insertRecordFromStandrad" statementType="STATEMENT" resultType="java.lang.Integer"> + INSERT INTO ${recordTableName} + SELECT ${tempFieldList}, 0 as deal + from ${tableName} </select> @@ -432,9 +471,27 @@ ( SELECT pre_merge_id from maintain_detail LEFT JOIN maintain on maintain.id = maintain_detail.parent_id - WHERE maintain.id = ${maintainId} + WHERE maintain.id = ${maintainFieldId} and operate = ${operate} and maintain_detail.pre_merge_id = t.id ) </select> + + + <select id="updateRecordByMaintainId" statementType="STATEMENT" resultType="java.lang.Integer"> + update ${tableTempName} + INNER JOIN maintain_detail on ${tableTempName}.id = maintain_detail.pre_merge_id + set ${updateSegment} + WHERE maintain_detail.parent_id = ${maintainFieldId} + + </select> + + <select id="deleteRecordByMaintainId" statementType="STATEMENT" resultType="java.lang.Integer"> + + DELETE ${tableTempName} from ${tableTempName} + INNER JOIN maintain_detail on maintain_detail.pre_merge_id = ${tableTempName}.id + WHERE maintain_detail.parent_id = ${maintainFieldId} and ${tableTempName}.std_id = ${stdId} + + + </select> </mapper> -- Gitblit v1.8.0