From c007f0ca1785db093d48f4846cda82fe8e955765 Mon Sep 17 00:00:00 2001
From: kimi <kimi42345@gmail.com>
Date: 星期三, 27 五月 2020 09:59:29 +0800
Subject: [PATCH] merage

---
 src/main/resources/mapping/TableInfoMapper.xml |  116 +++++++++++++++++++++++++++++++++++++++++++++++++---------
 1 files changed, 98 insertions(+), 18 deletions(-)

diff --git a/src/main/resources/mapping/TableInfoMapper.xml b/src/main/resources/mapping/TableInfoMapper.xml
index c208b70..ab82581 100644
--- a/src/main/resources/mapping/TableInfoMapper.xml
+++ b/src/main/resources/mapping/TableInfoMapper.xml
@@ -6,16 +6,24 @@
         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 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" >
@@ -195,7 +203,7 @@
         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
@@ -388,18 +396,35 @@
          ]]>
     </select>
 
-    <select id="insert" resultType="java.lang.Boolean" statementType="STATEMENT" >
+    <insert id="insert"  statementType="STATEMENT" >
        INSERT INTO ${tableName} (${fields}) VALUES ${values}
-    </select>
+    </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 (
@@ -409,7 +434,7 @@
     </delete>
 
     <!-- temp 2 standrad-->
-    <select id="tempCreate2std" statementType="STATEMENT"  >
+    <insert id="tempCreate2std" statementType="STATEMENT"  >
         INSERT INTO ${tableName}
         SELECT
         ${tempFields}
@@ -423,7 +448,7 @@
         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,20 +457,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, ${maintainId} as parent_id, 'create' as operate, id as pre_merge_id, NOW() as createdate
+        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="updateStdId" statementType="STATEMENT" resultType="java.lang.Integer">
+    <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
 
-    </select>
+    </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
@@ -462,21 +502,61 @@
         )
     </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 = ${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 = ${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>

--
Gitblit v1.8.0