heheng
2025-07-14 3cc8d1cc3662d88fe7f3666fb1f99e1b19411424
multi-system/src/main/resources/mapper/system/CatalogueMapper.xml
@@ -9,10 +9,21 @@
    </insert>
    <insert id="insertCatalogueDataFile">
        INSERT INTO `train_exam`.`catalogue_data_file`
        INSERT INTO `catalogue_data_file`
            ( `catalogue_id`,`company_id`, `name`, `file_path`,`file_name`, `type`, `create_by`, `create_time` )
        VALUES
            ( #{catalogueId},#{companyId}, #{name}, #{filePath},#{fileName}, #{type}, #{createBy}, #{createTime} )
    </insert>
    <insert id="insertCatalogue" useGeneratedKeys="true" keyProperty="id">
        INSERT INTO `catalogue` ( `parent_id`, `number`, `mess`, `type`,`company_id` )
        VALUES
            (
                #{parentId},
                #{number},
                #{mess},
                #{type},
                #{companyId}
               )
    </insert>
    <update id="updateCatalogueData">
@@ -79,10 +90,14 @@
    <update id="updateCatalogueDataFileByCompanyId">
        UPDATE catalogue_data_file set del_flag = #{delFlag} ,update_by = #{updateBy} , update_time=#{updateTime} where company_id =#{companyId} and catalogue_id = #{catalogueId}
    </update>
    <delete id="deleteByCatalogueDataFileId">
        DELETE FROM catalogue_data_file WHERE id = #{id}
    </delete>
    <select id="selectCatalogueList" resultType="com.gkhy.exam.system.domain.vo.CatalogueVo">
        SELECT
            `id`,
            company_id,
            `parent_id`,
            `number`,
            `mess`,
@@ -95,10 +110,22 @@
        FROM
            catalogue
        WHERE del_flag = 1
          <if test="type!=null">
          <if test="type!=null and type!=''">
              and type = #{type}
          </if>
        ORDER BY create_time ASC
        <if test="companyId!=null and companyId!=''">
            and company_id = #{companyId}
        </if>
        ORDER BY
        CAST(SUBSTRING_INDEX(number, '.', 1) AS UNSIGNED) ASC,
        CAST(SUBSTRING_INDEX(SUBSTRING_INDEX(number, '.', 2), '.', -1) AS UNSIGNED) ASC,  -- 第二级
        CAST(
        CASE
        WHEN LENGTH(number) - LENGTH(REPLACE(number, '.', '')) >= 2
        THEN SUBSTRING_INDEX(number, '.', -1)
        ELSE '0'
        END AS UNSIGNED
        ) ASC
    </select>
    <select id="selectCatalogueDataList" resultType="com.gkhy.exam.system.domain.vo.CatalogueDataVo">
        SELECT