yangys
2025-08-22 95e63522959ff8c21381ee2a5dc85b9d44cf2949
blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/mapper/NcNodeMapper.xml
@@ -26,6 +26,11 @@
<!--    </select>-->
    <sql id="prog_all_columns">id,tenant_id,nc_node_id,code,name,machine_code,draw_no,is_cured,
  expire_date,process_edition,is_last_edition,is_locked,task_assign_time,status,create_dept,is_deleted,create_time,create_user,update_time,update_user</sql>
    <delete id="deleteSubNodes">
        delete from mdm_nc_node where parent_id=#{nodeId}
    </delete>
    <!--
    <select id="getCuredNcProgram" resultMap="BaseResultMap">
        select <include refid="prog_all_columns"/> from mdm_nc_program
        where is_deleted=0 and is_cured=1 and drawing_no=#{drawingNo} and is_last_edition=1
@@ -33,9 +38,9 @@
        order by create_time desc
        limit 1
    </select>
    -->
    <sql id="all_columns">id,tenant_id,name,parent_id,parent_ids,node_type,status,create_dept,is_deleted,create_time,create_user,update_time,update_user</sql>
    <sql id="all_columns_n">n.id,n.tenant_id,n.name,n.parent_id,n.parent_ids,n.node_type,n.description,n.remark,n.status,n.create_dept,n.is_deleted,n.create_time,n.create_user,n.update_time,n.update_user</sql>
    <sql id="all_columns_n">n.id,n.tenant_id,n.name,n.parent_id,n.parent_ids,n.node_type,n.version_number,n.description,n.remark,n.drawing_no,n.drawing_no_edition,n.craft_edition,n.is_last_edition,n.is_locked,n.process_edition,n.process_no,n.product_model,n.is_cured,n.process_instance_id,n.status,n.create_dept,n.is_deleted,n.create_time,n.create_user,n.update_time,n.update_user</sql>
    <select id="lazyList" resultType="org.springblade.mdm.program.vo.NcNodeVO">
        select <include refid="all_columns_n"/>,dt.dict_value as node_type_name,u.name create_user_name,(
        SELECT
@@ -94,12 +99,49 @@
    </select>
    <select id="historyByParentIdAndName" resultType="org.springblade.mdm.program.vo.NcNodeVO">
        select n.id,n.name,n.create_time,n.update_time,u.name create_user_name,n.process_no
        select n.id,n.name,n.version_number,n.create_time,n.update_time,u.name create_user_name,n.process_no
         from mdm_nc_node n left join blade_user u on n.create_user=u.id and u.is_deleted=0
        where n.is_deleted=0 and n.parent_id in (select id from mdm_nc_node where parent_id=#{parentNode.parentId}) and n.name=#{name}
    </select>
    <select id="searchList2" resultType="org.springblade.mdm.program.vo.NcNodeVO">
        select <include refid="all_columns_n"/>,dt.dict_value as node_type_name,u.name create_user_name,(
        SELECT
        CASE WHEN count(1) > 0 THEN 1 ELSE 0 END
        FROM
        mdm_nc_node
        WHERE
        parent_id = n.id and is_deleted = 0
        ) AS "has_children" from mdm_nc_node n left join blade_user u on n.create_user=u.id
        left join blade_dict_biz dt on n.node_type=dt.dict_key and dt.code='nc_node_type' and dt.is_deleted=0
        <where>
            n.is_deleted=0 and n.node_type='20' and n.name=#{drawingNo}
            <if test="status != null and status != ''">
               and
                (
                1=1
                <if test='status.contains("1")'>
                   or n.parent_ids LIKE '0,1,%'
                </if>
                <if test='status.contains("2")'>
                    or n.parent_ids LIKE '0,2,%'
                </if>
                <if test='status.contains("3")'>
                    or n.parent_ids LIKE '0,3,%'
                </if>
                )
            </if>
            <if test="createTimeBegin != null">
                and n.create_time&gt;=#{createTimeBegin}
            </if>
            <if test="createTimeEnd != null">
                and n.create_time&lt;=#{createTimeEnd}
            </if>
        </where>
    </select>
</mapper>