xiejun
2023-12-04 351151bc16c8bcbd747b237fb0bfa8e76107cb78
Source/UBCS/ubcs-service/ubcs-code/src/main/resources/mapper/CodeCLassifyMapper.xml
@@ -37,6 +37,7 @@
        <result column="CODERULEOID" property="codeRuleOid"/>
        <result column="CODEKEYATTRREPEATOID" property="codeKeyAttrRepeatOid"/>
        <result column="CODERESEMBLERULEOID" property="codeResembleRuleOid"/>
        <result column="ISPARTICIPATECHECK" property="isParticipateCheck"/>
        <result column="TENANT_ID" property="tenantId"/>
        <result column="TOTAL" property="total"/>
    </resultMap>
@@ -88,7 +89,8 @@
               codeclassify0.TENANT_ID             as tenantId ,
               coderuleoid.name                    as codeRuleOidName,
               codekeyattrrepeatoid.name           as codeKeyAttrRepeatOidName,
               coderesembleruleoid.name            as codeResembleRuleOidName
               coderesembleruleoid.name            as codeResembleRuleOidName,
               codeclassify0.ISPARTICIPATECHECK   as isParticipateCheck
        from pl_code_classify codeclassify0
             left join pl_code_rule coderuleoid
                       on codeclassify0.codeRuleOid = coderuleoid.oid
@@ -131,6 +133,7 @@
               codeclassify0.CODERESEMBLERULEOID as coderesembleruleoid,
               codeclassify0.LCSTATUS as lcstatus,
               codeclassify0.TS as ts,
               codeclassify0.ISPARTICIPATECHECK   as isParticipateCheck,
               coderuleoid.name as codeRuleOidName,
               codekeyattrrepeatoid.name as codeKeyAttrRepeatOidName,
               coderesembleruleoid.name as codeResembleRuleOidName,
@@ -155,10 +158,13 @@
                           on codeclassify0.codeResembleRuleOid = coderesembleruleoid.oid
            START WITH
            <if test="oid != null ">
                codeclassify0.parentCodeClassifyOid = '${oid}'
                codeclassify0.parentCodeClassifyOid = #{oid}
            </if>
            <if test="oid == null ">
                codeclassify0.parentCodeClassifyOid is null
            </if>
            <if test="tenantId != null and tenantId != ''">
                and  codeclassify0.tenant_id = #{tenantId}
            </if>
        CONNECT BY PRIOR codeclassify0.OID = codeclassify0.parentCodeClassifyOid
    </select>
@@ -209,8 +215,9 @@
        codeclassify0.CODERESEMBLERULEOID   as coderesembleruleoid,
        codeclassify0.LCSTATUS              as lcstatus,
        codeclassify0.TS                    as ts,
        codeclassify0.namePath                 as namepath,
        codeclassify0.idPath                 as idpath
        codeclassify0.namePath              as namepath,
        codeclassify0.idPath                as idpath,
        codeclassify0.ISPARTICIPATECHECK   as isParticipateCheck
        from (select plcodeclassify.*,
                SYS_CONNECT_BY_PATH(name, '#')   as namePath,
                SYS_CONNECT_BY_PATH(id, '#')   as idPath
@@ -239,7 +246,8 @@
               codeclassify0.CODERESEMBLERULEOID   as coderesembleruleoid,
               codeclassify0.LCSTATUS              as lcstatus,
               codeclassify0.TS                    as ts,
               codeclassify0.paths                 as paths
               codeclassify0.paths                 as paths,
               codeclassify0.ISPARTICIPATECHECK   as isParticipateCheck
        from (select plcodeclassify.*,
                <choose>
                     <when test='fieldName=="name"'>
@@ -292,31 +300,11 @@
        codeclassify0.CODERESEMBLERULEOID   as coderesembleruleoid,
        codeclassify0.LCSTATUS              as lcstatus,
        codeclassify0.TS                    as ts,
        codeclassify0.TENANT_ID             as tenantId ,
        codeclassify0.TENANT_ID             as tenantId,
        codeclassify0.ISPARTICIPATECHECK   as isParticipateCheck,
        coderuleoid.name                    as codeRuleOidName,
        codekeyattrrepeatoid.name           as codeKeyAttrRepeatOidName,
        coderesembleruleoid.name            as codeResembleRuleOidName,
        (
            SELECT
                COUNT(*)
            FROM
                ${tableName}
            WHERE
                CODECLSFID IN (
                    SELECT
                    oid
                    FROM
                    PL_CODE_CLASSIFY
                    WHERE
                    lcstatus = 'Enabled'
                    START WITH
                    OID = codeclassify0.OID
                    CONNECT BY
                    PRIOR OID = parentCodeClassifyOid
                )
                AND lastr = '1'
                AND lastv = '1'
        ) AS total
        coderesembleruleoid.name            as codeResembleRuleOidName
        from pl_code_classify codeclassify0
        left join pl_code_rule coderuleoid
        on codeclassify0.codeRuleOid = coderuleoid.oid
@@ -376,7 +364,8 @@
        codeclassify0.TENANT_ID             as tenantId ,
        coderuleoid.name                    as codeRuleOidName,
        codekeyattrrepeatoid.name           as codeKeyAttrRepeatOidName,
        coderesembleruleoid.name            as codeResembleRuleOidName
        coderesembleruleoid.name            as codeResembleRuleOidName,
        codeclassify0.ISPARTICIPATECHECK   as isParticipateCheck
        from pl_code_classify codeclassify0
        left join pl_code_rule coderuleoid
        on codeclassify0.codeRuleOid = coderuleoid.oid
@@ -398,7 +387,7 @@
    </select>
    <select id="getRMLibByName" resultMap="plCodeClassifyResultMap">
        select codeclassify0.OWNER                 as owner,
        select codeclassify0.OWNER          as owner,
        codeclassify0.BTMTYPEID             as btmtypeid,
        codeclassify0.CREATOR               as creator,
        codeclassify0.CREATETIME            as createtime,
@@ -418,6 +407,7 @@
        codeclassify0.LCSTATUS              as lcstatus,
        codeclassify0.TS                    as ts,
        codeclassify0.TENANT_ID             as tenantId ,
        codeclassify0.ISPARTICIPATECHECK   as isParticipateCheck,
        coderuleoid.name                    as codeRuleOidName,
        codekeyattrrepeatoid.name           as codeKeyAttrRepeatOidName,
        coderesembleruleoid.name            as codeResembleRuleOidName
@@ -463,6 +453,7 @@
        codeclassify0.LCSTATUS              as lcstatus,
        codeclassify0.TS                    as ts,
        codeclassify0.TENANT_ID             as tenantId ,
        codeclassify0.ISPARTICIPATECHECK   as isParticipateCheck,
        coderuleoid.name                    as codeRuleOidName,
        codekeyattrrepeatoid.name           as codeKeyAttrRepeatOidName,
        coderesembleruleoid.name            as codeResembleRuleOidName
@@ -482,9 +473,10 @@
        </if>
        order by id asc
    </select>
    <!--获取所有下级节点,不要动这个方法sql-->
    <select id="selectAllClassifyByOid" resultMap="plCodeClassifyResultMap">
        select codeclassify0.OWNER                 as owner,
        select codeclassify0.OWNER          as owner,
        codeclassify0.BTMTYPEID             as btmtypeid,
        codeclassify0.CREATOR               as creator,
        codeclassify0.CREATETIME            as createtime,
@@ -504,6 +496,7 @@
        codeclassify0.LCSTATUS              as lcstatus,
        codeclassify0.TS                    as ts,
        codeclassify0.TENANT_ID             as tenantId ,
        codeclassify0.ISPARTICIPATECHECK   as isParticipateCheck,
        coderuleoid.name                    as codeRuleOidName,
        codekeyattrrepeatoid.name           as codeKeyAttrRepeatOidName,
        coderesembleruleoid.name            as codeResembleRuleOidName
@@ -547,7 +540,8 @@
        codeclassify0.CODERESEMBLERULEOID   as coderesembleruleoid,
        codeclassify0.LCSTATUS              as lcstatus,
        codeclassify0.TS                    as ts,
        codeclassify0.TENANT_ID             as tenantId ,
        codeclassify0.TENANT_ID             as tenantId,
        codeclassify0.ISPARTICIPATECHECK   as isParticipateCheck,
        coderuleoid.name                    as codeRuleOidName,
        codekeyattrrepeatoid.name           as codeKeyAttrRepeatOidName,
        coderesembleruleoid.name            as codeResembleRuleOidName
@@ -563,12 +557,6 @@
           and  codeclassify0.tenant_id = #{tenantId}
          </if>
            connect by prior codeclassify0.PARENTCODECLASSIFYOID = codeclassify0.oid
    </select>
    <select id="selectStartWithCurrentOid" resultMap="plCodeClassifyResultMap">
        select * from <include refid="tableName"/>
                          start with oid = #{oid}
        connect by prior oid = parentcodeclassifyoid;
    </select>
    <update id="batchUpdateLcStatus" parameterType="java.util.List">
@@ -590,4 +578,28 @@
        connect by p.oid = prior p.PARENTCODECLASSIFYOID
    </select>
    <select id="selectLeafByParentClassifyOid" resultType="com.vci.ubcs.code.entity.CodeClassify">
        select *
            from (
                select
                    oid,
                    name,
                    id,
                    level lvl,
                    isparticipatecheck,
                    nvl((select 'N'
                        from PL_CODE_CLASSIFY pcc1
                        where pcc.oid = pcc1.PARENTCODECLASSIFYOID
                            and rownum &lt; 2),'Y') is_leaf
                from PL_CODE_CLASSIFY pcc
                start with pcc.PARENTCODECLASSIFYOID = #{topOid}
                connect by pcc.PARENTCODECLASSIFYOID = prior oid
            ) plcls
        where
        is_leaf = 'Y'
        and isparticipatecheck = 0
        and oid != #{currentOid}
    </select>
</mapper>