From 74472c9d22dddcb41383794caf0011043b20f817 Mon Sep 17 00:00:00 2001 From: kimi <kimi42345@gmail.com> Date: 星期二, 31 三月 2020 13:25:47 +0800 Subject: [PATCH] fix 数据权限 --- src/main/resources/mapping/TableInfoMapper.xml | 88 ++++++++++++++++++++++++++++++------------- 1 files changed, 61 insertions(+), 27 deletions(-) diff --git a/src/main/resources/mapping/TableInfoMapper.xml b/src/main/resources/mapping/TableInfoMapper.xml index 48fe3f3..30eb5cf 100644 --- a/src/main/resources/mapping/TableInfoMapper.xml +++ b/src/main/resources/mapping/TableInfoMapper.xml @@ -7,11 +7,11 @@ </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 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 COLUMN_NAME as fieldName,DATA_TYPE as dbType from information_schema.COLUMNS where table_name = #{tableName} and table_schema = #{dbName} </select> <select id="selectByPage" resultType="java.util.Map" statementType="STATEMENT" > @@ -200,7 +200,7 @@ UPDATE ${tableTempName} t SET deal = 1 where EXISTS ( - SELECT pre_merge_id from maintain_detail WHERE parent_id = ${maintainFieldId} + SELECT pre_merge_id from maintain_detail WHERE parent_id = ${maintainId} and maintain_detail.pre_merge_id = t.id ) </select> @@ -388,9 +388,9 @@ ]]> </select> - <select id="insert" resultType="java.lang.Boolean" statementType="STATEMENT" > + <insert id="insert" statementType="STATEMENT" > INSERT INTO ${tableName} (${fields}) VALUES ${values} - </select> + </insert> <update id="update"> update ${tableName} set ${updateSegment} @@ -404,12 +404,12 @@ <delete id="deleteTempByMaintainId"> DELETE FROM ${tableTempName} where EXISTS ( SELECT pre_merge_id from maintain_detail d - where parent_id = ${maintainFieldId} and d.pre_merge_id = ${tableTempName}.id + where parent_id = ${maintainId} and d.pre_merge_id = ${tableTempName}.id ) </delete> <!-- temp 2 standrad--> - <select id="tempCreate2std" statementType="STATEMENT" > + <insert id="tempCreate2std" statementType="STATEMENT" > INSERT INTO ${tableName} SELECT ${tempFields} @@ -419,11 +419,11 @@ ( SELECT std_id from ${tableTempName} tm LEFT JOIN maintain_detail on tm.id = maintain_detail.pre_merge_id - WHERE maintain_detail.parent_id = ${maintainFieldId} + WHERE maintain_detail.parent_id = ${maintainId} and operate = 'create' and tm.id = t.id ) - </select> + </insert> <select id="getTempIdByStdId" statementType="STATEMENT" resultType="java.lang.String"> SELECT tm.id from ${tableTempName} tm @@ -432,35 +432,35 @@ </select> - <select id="insertMatintainDetailFromTemp" statementType="STATEMENT" resultType="java.lang.Integer"> + <insert id="insertMatintainDetailFromTemp" statementType="STATEMENT" > INSERT INTO maintain_detail - SELECT md5(uuid()) as id, ${maintainFieldId} as parent_id, ${operate} as operate, id as pre_merge_id, NOW() as create_time + 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 - </select> + </insert> - <select id="insertMatintainDetailFromStandrad" statementType="STATEMENT" resultType="java.lang.Integer"> + <insert id="insertMatintainDetailFromStandrad" statementType="STATEMENT" > 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 + 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 - </select> + </insert> - <select id="updateStdId" statementType="STATEMENT" resultType="java.lang.Integer"> + <update id="updateStdId" statementType="STATEMENT" > update ${tableTempName} set std_id = md5(uuid()) WHERE deal = 0 - </select> + </update> - <select id="insertRecordFromStandrad" statementType="STATEMENT" resultType="java.lang.Integer"> + <insert id="insertRecordFromStandrad" statementType="STATEMENT" > INSERT INTO ${recordTableName} SELECT ${tempFieldList}, 0 as deal from ${tableName} - </select> + </insert> <select id="tempByOperate" statementType="STATEMENT" resultType="java.util.Map"> SELECT @@ -471,27 +471,61 @@ ( SELECT pre_merge_id from maintain_detail LEFT JOIN maintain on maintain.id = maintain_detail.parent_id - WHERE maintain.id = ${maintainFieldId} + WHERE maintain.id = ${maintainId} and operate = ${operate} and maintain_detail.pre_merge_id = t.id ) </select> - - <select id="updateRecordByMaintainId" statementType="STATEMENT" resultType="java.lang.Integer"> + <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 = ${maintainFieldId} + WHERE maintain_detail.parent_id = ${maintainId} - </select> + </update> - <select id="deleteRecordByMaintainId" statementType="STATEMENT" resultType="java.lang.Integer"> - + <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 = ${maintainFieldId} and ${tableTempName}.std_id = ${stdId} + 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="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> -- Gitblit v1.8.0