kimi
2020-03-31 74472c9d22dddcb41383794caf0011043b20f817
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>