潘志宝
2024-12-12 bd90850664bfe4b43df094321e811f3bb398f97f
iailab-module-model/iailab-module-model-biz/src/main/resources/mapper/mpk/MpkFileDao.xml
@@ -5,20 +5,41 @@
    <resultMap id="mpkFile" type="com.iailab.module.model.mpk.dto.MpkFileDTO">
        <id property="id" column="id"/>
        <result property="pyName" column="py_name"/>
        <result property="pyChineseName" column="py_chinese_name"/>
        <result property="filePath" column="file_path"/>
        <result property="pyType" column="py_type"/>
        <result property="pkgName" column="pkg_name"/>
        <result property="className" column="class_name"/>
        <result property="pyModule" column="py_module"/>
        <result property="icon" column="icon"/>
        <result property="menuName" column="menu_name"/>
        <result property="groupName" column="group_name"/>
        <result property="remark" column="remark"/>
        <result property="creator" column="creator"/>
        <result property="createDate" column="create_date"/>
        <result property="updater" column="updater"/>
        <result property="updateDate" column="update_date"/>
        <collection property="modelMethods" ofType="com.iailab.module.model.mpk.entity.ModelMethodEntity">
        <collection property="modelMethods" ofType="com.iailab.module.model.mpk.dto.ModelMethodDTO">
            <id property="id" column="method_id"/>
            <result property="methodName" column="method_name"/>
            <result property="dataLength" column="data_length"/>
            <result property="model" column="model"/>
            <result property="resultKey" column="result_key"/>
            <collection property="methodSettings" ofType="com.iailab.module.model.mpk.dto.MethodSettingDTO">
                <id property="id" column="setting_id"/>
                <result property="settingKey" column="setting_key"/>
                <result property="name" column="setting_name"/>
                <result property="value" column="value"/>
                <result property="type" column="type"/>
                <result property="valueType" column="value_type"/>
                <result property="max" column="max"/>
                <result property="min" column="min"/>
                <collection property="settingSelects" ofType="com.iailab.module.model.mpk.dto.SettingSelectDTO">
                    <id property="id" column="select_id"/>
                    <result property="selectKey" column="select_key"/>
                    <result property="name" column="select_name"/>
                </collection>
            </collection>
        </collection>
    </resultMap>
@@ -28,11 +49,26 @@
            b.id method_id,
            b.method_name,
            b.data_length,
            b.model
            b.model,
            b.result_key,
            c.id setting_id,
            c.setting_key,
            c.name setting_name,
            c.value,
            c.type,
            c.value_type,
            c.max,
            c.min,
            d.id select_id,
            d.select_key,
            d.name select_name
        FROM
            t_mpk_file a
            LEFT JOIN t_mpk_model_method b ON a.id = b.mpk_file_id
            LEFT JOIN t_mpk_method_setting c ON b.id = c.method_id
            LEFT JOIN t_mpk_setting_select d ON c.id = d.setting_id
        WHERE a.id = #{id}
        ORDER BY b.sort,c.sort,d.sort
    </select>
    <select id="selectByIds" resultMap="mpkFile">
        SELECT
@@ -40,14 +76,64 @@
            b.id method_id,
            b.method_name,
            b.data_length,
            b.model
            b.model,
            b.result_key,
            c.id setting_id,
            c.setting_key,
            c.name setting_name,
            c.value,
            c.type,
            c.value_type,
            c.max,
            c.min,
            d.id select_id,
            d.select_key,
            d.name select_name
        FROM
            t_mpk_file a
                LEFT JOIN t_mpk_model_method b ON a.id = b.mpk_file_id
                LEFT JOIN t_mpk_method_setting c ON b.id = c.method_id
                LEFT JOIN t_mpk_setting_select d ON c.id = d.setting_id
                LEFT JOIN t_mpk_file_menu e ON e.name = a.menu_name
                LEFT JOIN t_mpk_file_group f ON f.menu_id = e.id and f.name = a.group_name
        WHERE a.id in
        <foreach collection="ids" item="item" open="(" close=")" separator=",">
            #{item}
        </foreach>
        ORDER BY b.sort,c.sort,d.sort,e.sort,f.sort,a.create_date
    </select>
    <select id="list" resultMap="mpkFile" parameterType="java.util.Map">
        SELECT
        a.*,
        b.id method_id,
        b.method_name,
        b.data_length,
        b.model,
        b.result_key,
        c.id setting_id,
        c.setting_key,
        c.name setting_name,
        c.value,
        c.type,
        c.value_type,
        c.max,
        c.min,
        d.id select_id,
        d.select_key,
        d.name select_name
        FROM
        t_mpk_file a
        LEFT JOIN t_mpk_model_method b ON a.id = b.mpk_file_id
        LEFT JOIN t_mpk_method_setting c ON b.id = c.method_id
        LEFT JOIN t_mpk_setting_select d ON c.id = d.setting_id
        LEFT JOIN t_mpk_file_menu e ON e.name = a.menu_name
        LEFT JOIN t_mpk_file_group f ON f.menu_id = e.id and f.name = a.group_name
        <where>
            <if test="params.pyType != null and params.pyType != ''">
                AND a.py_type = #{params.pyType}
            </if>
        </where>
        ORDER BY b.sort,c.sort,d.sort,e.sort,f.sort,a.create_date
    </select>
    <select id="getProjectModelCount" resultType="java.lang.Integer" parameterType="java.lang.String">
        SELECT
@@ -59,16 +145,27 @@
    </select>
    <select id="getProjectModel" resultMap="mpkFile">
        SELECT
            t3.*,t4.method_name,t4.data_length,t4.model
            t3.*,
            t4.id method_id,
            t4.method_name,
            t4.data_length,
            t4.model,
            t4.result_key,
            t5.id setting_id,
            t5.setting_key,
            t5.name setting_name,
            t5.value,
            t5.type,
            t5.value_type,
            t5.max,
            t5.min,
            t6.id select_id,
            t6.select_key,
            t6.name select_name
        FROM
            (
                SELECT
                    t2.id,
                    t2.py_name,
                    t2.pkg_name,
                    t2.py_module,
                    t2.remark,
                    t2.create_date
                    t2.*
                FROM
                    t_mpk_project_model t1
                        LEFT JOIN t_mpk_file t2 ON t1.model_id = t2.id
@@ -82,5 +179,37 @@
                    LIMIT #{params.offset},#{params.pageSize}
            ) t3
                LEFT JOIN t_mpk_model_method t4 ON t3.id = t4.mpk_file_id
                LEFT JOIN t_mpk_method_setting t5 ON t4.id = t5.method_id
                LEFT JOIN t_mpk_setting_select t6 ON t5.id = t6.setting_id
    </select>
    <select id="selectByProjectId" resultMap="mpkFile" parameterType="java.lang.String">
        SELECT
        a.*,
        b.id method_id,
        b.method_name,
        b.data_length,
        b.model,
        b.result_key,
        c.id setting_id,
        c.setting_key,
        c.name setting_name,
        c.value,
        c.type,
        c.value_type,
        c.max,
        c.min,
        d.id select_id,
        d.select_key,
        d.name select_name
        FROM
        t_mpk_file a
        LEFT JOIN t_mpk_project_model p ON a.id = p.model_id
        LEFT JOIN t_mpk_model_method b ON a.id = b.mpk_file_id
        LEFT JOIN t_mpk_method_setting c ON b.id = c.method_id
        LEFT JOIN t_mpk_setting_select d ON c.id = d.setting_id
        LEFT JOIN t_mpk_file_menu e ON e.name = a.menu_name
        LEFT JOIN t_mpk_file_group f ON f.menu_id = e.id and f.name = a.group_name
        WHERE p.project_id = #{projectId}
        ORDER BY b.sort,c.sort,d.sort,e.sort,f.sort,a.create_date
    </select>
</mapper>