From 25da36be2318c1247592dce7d499d0b985c80fe0 Mon Sep 17 00:00:00 2001
From: ludc
Date: 星期日, 03 十二月 2023 23:07:03 +0800
Subject: [PATCH] 历史数据导入时,赋默认值报空指针异常bug修复

---
 Source/UBCS/ubcs-service/ubcs-code/src/main/resources/mapper/CodeCLassifyMapper.xml |  479 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 460 insertions(+), 19 deletions(-)

diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/resources/mapper/CodeCLassifyMapper.xml b/Source/UBCS/ubcs-service/ubcs-code/src/main/resources/mapper/CodeCLassifyMapper.xml
index f1fa535..049f925 100644
--- a/Source/UBCS/ubcs-service/ubcs-code/src/main/resources/mapper/CodeCLassifyMapper.xml
+++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/resources/mapper/CodeCLassifyMapper.xml
@@ -37,24 +37,33 @@
         <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>
 
+    <sql id="tableName">
+        pl_code_classify
+    </sql>
 
     <select id="selectPlCodeClassifyPage" resultMap="plCodeClassifyResultMap">
-        select * from PL_CODE_CLASSIFY where is_deleted = 0
+        select * from PL_CODE_CLASSIFY where
+        <if test="tenantId != null and tenantId != ''">
+            tenant_id = #{tenantId}
+        </if>
     </select>
 
     <select id="selectAllLevelChildOid" resultType="java.util.HashMap">
         select oid, level
         from PL_CODE_CLASSIFY
-                 START WITH parentCodeClassifyOid = #{oid}CONNECT BY
+                 START WITH parentCodeClassifyOid = #{oid} CONNECT BY
             PRIOR OID = parentCodeClassifyOid
     </select>
 
     <select id="checkHasChild" resultType="java.lang.Boolean">
-        select count(oid)
+        <![CDATA[select count(oid)
         from PL_CODE_CLASSIFY
-        where parentCodeClassifyOid = #{oid}
+        where parentCodeClassifyOid = #{oid}]]>
     </select>
 
     <select id="selectCodeClassifyVOByTree" resultMap="plCodeClassifyResultMap">
@@ -77,25 +86,31 @@
                codeclassify0.CODERESEMBLERULEOID   as coderesembleruleoid,
                codeclassify0.LCSTATUS              as lcstatus,
                codeclassify0.TS                    as ts,
+               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
-                 left join pl_code_keyattrrepeat codekeyattrrepeatoid
-                           on codeclassify0.codeKeyAttrRepeatOid = codekeyattrrepeatoid.oid
-                 left join pl_code_resemblerule coderesembleruleoid
-                           on codeclassify0.codeResembleRuleOid = coderesembleruleoid.oid
+             left join pl_code_rule coderuleoid
+                       on codeclassify0.codeRuleOid = coderuleoid.oid
+             left join pl_code_keyattrrepeat codekeyattrrepeatoid
+                       on codeclassify0.codeKeyAttrRepeatOid = codekeyattrrepeatoid.oid
+             left join pl_code_resemblerule coderesembleruleoid
+                       on codeclassify0.codeResembleRuleOid = coderesembleruleoid.oid
         <where>
+             1=1
             <if test="oid != null and oid != ''">
-                codeclassify0.parentcodeclassifyoid = '${oid}'
+               and  codeclassify0.parentcodeclassifyoid = ${oid}
             </if>
             <if test="oid = null">
-                codeclassify0.parentcodeclassifyoid is null
+               and codeclassify0.parentcodeclassifyoid is null
+            </if>
+            <if test="tenantId != null and tenantId != ''">
+               and  codeclassify0.tenant_id = #{tenantId}
             </if>
         </where>
-        order by id asc
+        order by lastmodifytime asc
     </select>
 
     <select id="selectAllLevelChildHasPath" resultMap="plCodeClassifyResultMap">
@@ -118,11 +133,22 @@
                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,
                level as datalevel,
-               SYS_CONNECT_BY_PATH(codeclassify0.id, '#') as path
+                <choose>
+                    <when test='fieldInPath=="name"'>
+                        SYS_CONNECT_BY_PATH(codeclassify0.name, '#')   as path
+                    </when>
+                    <when test='fieldInPath=="oid"'>
+                        SYS_CONNECT_BY_PATH(codeclassify0.oid, '#')   as path
+                    </when>
+                    <otherwise>
+                        SYS_CONNECT_BY_PATH(codeclassify0.id, '#')   as path
+                    </otherwise>
+                </choose>
         from pl_code_classify codeclassify0
                  left join pl_code_rule coderuleoid
                            on codeclassify0.codeRuleOid = coderuleoid.oid
@@ -132,21 +158,114 @@
                            on codeclassify0.codeResembleRuleOid = coderesembleruleoid.oid
             START WITH
             <if test="oid != null ">
-                codeclassify0.parentCodeClassifyOid = '${oid}'
+                codeclassify0.parentCodeClassifyOid = #{oid}
             </if>
-            <if test="oid = null ">
+            <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>
 
+    <select id="selectByIdRel" resultMap="plCodeClassifyResultMap">
+        select pc.*,
+               pk.name codeKeyAttrRepeatOidName,
+               pr.name codeResembleRuleOidName,
+               pu.name coderuleoidName
+        from pl_code_classify pc
+                 left join pl_code_keyattrrepeat pk
+                           on pc.codekeyattrrepeatoid = pk.oid
+                 left join pl_code_resemblerule pr
+                           on pc.coderesembleruleoid = pr.oid
+                 left join pl_code_rule pu
+                           on pc.coderuleoid = pu.oid
+        where pc.oid = #{oid}
+    </select>
+
     <select id="selectAllLevelParentByOid" resultType="java.util.HashMap">
-        select oid,level from pl_code_classify start with oid= #{oid} connect by prior PARENTCODECLASSIFYOID = oid
+            select b.oid as oid,level from
+                pl_code_classify  b
+                    join (select oid
+                          from  pl_code_classify
+                                    start with oid = #{oid}
+                          connect by oid = prior PARENTCODECLASSIFYOID) a on b.oid = a.OID
+                start with b.PARENTCODECLASSIFYOID is null
+            connect by prior b.oid = b.PARENTCODECLASSIFYOID
+    </select>
+
+    <select id="getIdPathToNamePathByParentId"  resultMap="plCodeClassifyResultMap">
+        select codeclassify0.OWNER                 as owner,
+        codeclassify0.BTMTYPEID             as btmtypeid,
+        codeclassify0.CREATOR               as creator,
+        codeclassify0.CREATETIME            as createtime,
+        codeclassify0.LASTMODIFIER          as lastmodifier,
+        codeclassify0.DESCRIPTION           as description,
+        codeclassify0.ORDERNUM              as ordernum,
+        codeclassify0.CODERULEOID           as coderuleoid,
+        codeclassify0.OID                   as oid,
+        codeclassify0.BTMNAME               as btmname,
+        codeclassify0.BTMTYPENAME           as btmtypename,
+        codeclassify0.CODEKEYATTRREPEATOID  as codekeyattrrepeatoid,
+        codeclassify0.PARENTCODECLASSIFYOID as parentcodeclassifyoid,
+        codeclassify0.NAME                  as name,
+        codeclassify0.LASTMODIFYTIME        as lastmodifytime,
+        codeclassify0.ID                    as id,
+        codeclassify0.CODERESEMBLERULEOID   as coderesembleruleoid,
+        codeclassify0.LCSTATUS              as lcstatus,
+        codeclassify0.TS                    as ts,
+        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
+        from pl_code_classify  plcodeclassify
+        START WITH oid = #{parentId}
+        CONNECT BY PRIOR OID = parentCodeClassifyOid) codeclassify0
+    </select>
+
+    <select id="selectByFieldNamePath"  resultMap="plCodeClassifyResultMap">
+        select codeclassify0.OWNER                 as owner,
+               codeclassify0.BTMTYPEID             as btmtypeid,
+               codeclassify0.CREATOR               as creator,
+               codeclassify0.CREATETIME            as createtime,
+               codeclassify0.LASTMODIFIER          as lastmodifier,
+               codeclassify0.DESCRIPTION           as description,
+               codeclassify0.ORDERNUM              as ordernum,
+               codeclassify0.CODERULEOID           as coderuleoid,
+               codeclassify0.OID                   as oid,
+               codeclassify0.BTMNAME               as btmname,
+               codeclassify0.BTMTYPENAME           as btmtypename,
+               codeclassify0.CODEKEYATTRREPEATOID  as codekeyattrrepeatoid,
+               codeclassify0.PARENTCODECLASSIFYOID as parentcodeclassifyoid,
+               codeclassify0.NAME                  as name,
+               codeclassify0.LASTMODIFYTIME        as lastmodifytime,
+               codeclassify0.ID                    as id,
+               codeclassify0.CODERESEMBLERULEOID   as coderesembleruleoid,
+               codeclassify0.LCSTATUS              as lcstatus,
+               codeclassify0.TS                    as ts,
+               codeclassify0.paths                 as paths,
+               codeclassify0.ISPARTICIPATECHECK   as isParticipateCheck
+        from (select plcodeclassify.*,
+                <choose>
+                     <when test='fieldName=="name"'>
+                         SYS_CONNECT_BY_PATH(name, '#')   as paths
+                     </when>
+                    <otherwise>
+                        SYS_CONNECT_BY_PATH(id, '#')   as paths
+                    </otherwise>
+                </choose>
+        from pl_code_classify  plcodeclassify
+                  START WITH parentCodeClassifyOid is null
+              CONNECT BY PRIOR OID = parentCodeClassifyOid) codeclassify0
+        where codeclassify0.paths =#{fieldPath}
     </select>
 
     <select id="selectByFieldPath" resultType="java.util.HashMap">
         select *
-        from (select oid, SYS_CONNECT_BY_PATH(id, '/') as paths
+        from (select oid, SYS_CONNECT_BY_PATH(id, '#') as paths
               from pl_code_classify
                        START WITH parentCodeClassifyOid is null
               CONNECT BY PRIOR OID = parentCodeClassifyOid) a
@@ -161,4 +280,326 @@
             connect by prior PARENTCODECLASSIFYOID = oid
     </select>
 
+    <select id="selectCodeClassifyDOByTree" resultMap="plCodeClassifyResultMap">
+        select codeclassify0.OWNER          as owner,
+        codeclassify0.BTMTYPEID             as btmtypeid,
+        codeclassify0.CREATOR               as creator,
+        codeclassify0.CREATETIME            as createtime,
+        codeclassify0.LASTMODIFIER          as lastmodifier,
+        codeclassify0.DESCRIPTION           as description,
+        codeclassify0.ORDERNUM              as ordernum,
+        codeclassify0.CODERULEOID           as coderuleoid,
+        codeclassify0.OID                   as oid,
+        codeclassify0.BTMNAME               as btmname,
+        codeclassify0.BTMTYPENAME           as btmtypename,
+        codeclassify0.CODEKEYATTRREPEATOID  as codekeyattrrepeatoid,
+        codeclassify0.PARENTCODECLASSIFYOID as parentcodeclassifyoid,
+        codeclassify0.NAME                  as name,
+        codeclassify0.LASTMODIFYTIME        as lastmodifytime,
+        codeclassify0.ID                    as id,
+        codeclassify0.CODERESEMBLERULEOID   as coderesembleruleoid,
+        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
+        from pl_code_classify codeclassify0
+        left join pl_code_rule coderuleoid
+        on codeclassify0.codeRuleOid = coderuleoid.oid
+        left join pl_code_keyattrrepeat codekeyattrrepeatoid
+        on codeclassify0.codeKeyAttrRepeatOid = codekeyattrrepeatoid.oid
+        left join pl_code_resemblerule coderesembleruleoid
+        on codeclassify0.codeResembleRuleOid = coderesembleruleoid.oid
+        where codeclassify0.lcstatus = #{lcstatus}
+        <if test="parentcodeclassifyoid != null and parentcodeclassifyoid != ''">
+            and codeclassify0.parentcodeclassifyoid = #{parentcodeclassifyoid}
+        </if>
+        <if test="parentcodeclassifyoid == null or parentcodeclassifyoid == ''">
+            and codeclassify0.parentcodeclassifyoid is null
+            and codeclassify0.id = #{id}
+        </if>
+        <if test="tenantId != null and tenantId != ''">
+            and codeclassify0.tenant_id = #{tenantId}
+        </if>
+        order by id asc
+    </select>
+
+    <select id="selectClassifyByKeyAndReseRel" resultMap="plCodeClassifyResultMap">
+        SELECT PCC.*,
+               PCK.NAME AS CODEKEYATTRREPEATOIDNAME,
+               PCR.NAME AS CODERESEMBLERULEOIDNAME,
+               PCE.NAME CODERULEOIDNAME
+        FROM PL_CODE_CLASSIFY PCC
+                 LEFT JOIN PL_CODE_KEYATTRREPEAT PCK
+                           ON PCC.CODEKEYATTRREPEATOID = PCK.OID
+                 LEFT JOIN PL_CODE_RESEMBLERULE PCR
+                           ON PCC.CODERESEMBLERULEOID = PCR.OID
+                 LEFT JOIN PL_CODE_RULE PCE
+                           ON PCC.CODERULEOID = PCE.OID
+        WHERE PCC.OID IN (${oids})
+    </select>
+
+    <select id="selectCodeClassifyDOByParentId" resultMap="plCodeClassifyResultMap">
+        select codeclassify0.OWNER                 as owner,
+        codeclassify0.BTMTYPEID             as btmtypeid,
+        codeclassify0.CREATOR               as creator,
+        codeclassify0.CREATETIME            as createtime,
+        codeclassify0.LASTMODIFIER          as lastmodifier,
+        codeclassify0.DESCRIPTION           as description,
+        codeclassify0.ORDERNUM              as ordernum,
+        codeclassify0.CODERULEOID           as coderuleoid,
+        codeclassify0.OID                   as oid,
+        codeclassify0.BTMNAME               as btmname,
+        codeclassify0.BTMTYPENAME           as btmtypename,
+        codeclassify0.CODEKEYATTRREPEATOID  as codekeyattrrepeatoid,
+        codeclassify0.PARENTCODECLASSIFYOID as parentcodeclassifyoid,
+        codeclassify0.NAME                  as name,
+        codeclassify0.LASTMODIFYTIME        as lastmodifytime,
+        codeclassify0.ID                    as id,
+        codeclassify0.CODERESEMBLERULEOID   as coderesembleruleoid,
+        codeclassify0.LCSTATUS              as lcstatus,
+        codeclassify0.TS                    as ts,
+        codeclassify0.TENANT_ID             as tenantId ,
+        coderuleoid.name                    as codeRuleOidName,
+        codekeyattrrepeatoid.name           as codeKeyAttrRepeatOidName,
+        coderesembleruleoid.name            as codeResembleRuleOidName,
+        codeclassify0.ISPARTICIPATECHECK   as isParticipateCheck
+        from pl_code_classify codeclassify0
+        left join pl_code_rule coderuleoid
+        on codeclassify0.codeRuleOid = coderuleoid.oid
+        left join pl_code_keyattrrepeat codekeyattrrepeatoid
+        on codeclassify0.codeKeyAttrRepeatOid = codekeyattrrepeatoid.oid
+        left join pl_code_resemblerule coderesembleruleoid
+        on codeclassify0.codeResembleRuleOid = coderesembleruleoid.oid
+        where 1=1
+        <if test="parentOid != null and parentOid != ''">
+            and codeclassify0.parentcodeclassifyoid = #{parentOid}
+        </if>
+        <if test="parentOid == null or parentOid == ''">
+            and codeclassify0.parentcodeclassifyoid is null
+        </if>
+        <if test="tenantId != null and tenantId != ''">
+            and codeclassify0.tenant_id = #{tenantId}
+        </if>
+        order by id asc
+    </select>
+
+    <select id="getRMLibByName" resultMap="plCodeClassifyResultMap">
+        select codeclassify0.OWNER          as owner,
+        codeclassify0.BTMTYPEID             as btmtypeid,
+        codeclassify0.CREATOR               as creator,
+        codeclassify0.CREATETIME            as createtime,
+        codeclassify0.LASTMODIFIER          as lastmodifier,
+        codeclassify0.DESCRIPTION           as description,
+        codeclassify0.ORDERNUM              as ordernum,
+        codeclassify0.CODERULEOID           as coderuleoid,
+        codeclassify0.OID                   as oid,
+        codeclassify0.BTMNAME               as btmname,
+        codeclassify0.BTMTYPENAME           as btmtypename,
+        codeclassify0.CODEKEYATTRREPEATOID  as codekeyattrrepeatoid,
+        codeclassify0.PARENTCODECLASSIFYOID as parentcodeclassifyoid,
+        codeclassify0.NAME                  as name,
+        codeclassify0.LASTMODIFYTIME        as lastmodifytime,
+        codeclassify0.ID                    as id,
+        codeclassify0.CODERESEMBLERULEOID   as coderesembleruleoid,
+        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
+        from pl_code_classify codeclassify0
+        left join pl_code_rule coderuleoid
+        on codeclassify0.codeRuleOid = coderuleoid.oid
+        left join pl_code_keyattrrepeat codekeyattrrepeatoid
+        on codeclassify0.codeKeyAttrRepeatOid = codekeyattrrepeatoid.oid
+        left join pl_code_resemblerule coderesembleruleoid
+        on codeclassify0.codeResembleRuleOid = coderesembleruleoid.oid
+        where codeclassify0.lcstatus = #{lcstatus}
+        and codeclassify0.parentcodeclassifyoid is null
+        <if test="libNames != null and ! libNames.isEmpty() and libNames.size() > 0">
+            and codeclassify0.name in
+            <foreach item="item" index="index" collection="libNames" open="(" separator="," close=")">
+                #{item}
+            </foreach>
+        </if>
+        <if test="tenantId != null and tenantId != ''">
+            and codeclassify0.tenant_id = #{tenantId}
+        </if>
+        order by id asc
+    </select>
+
+    <select id="getRMTypeByDesc" resultMap="plCodeClassifyResultMap">
+        select codeclassify0.OWNER                 as owner,
+        codeclassify0.BTMTYPEID             as btmtypeid,
+        codeclassify0.CREATOR               as creator,
+        codeclassify0.CREATETIME            as createtime,
+        codeclassify0.LASTMODIFIER          as lastmodifier,
+        codeclassify0.DESCRIPTION           as description,
+        codeclassify0.ORDERNUM              as ordernum,
+        codeclassify0.CODERULEOID           as coderuleoid,
+        codeclassify0.OID                   as oid,
+        codeclassify0.BTMNAME               as btmname,
+        codeclassify0.BTMTYPENAME           as btmtypename,
+        codeclassify0.CODEKEYATTRREPEATOID  as codekeyattrrepeatoid,
+        codeclassify0.PARENTCODECLASSIFYOID as parentcodeclassifyoid,
+        codeclassify0.NAME                  as name,
+        codeclassify0.LASTMODIFYTIME        as lastmodifytime,
+        codeclassify0.ID                    as id,
+        codeclassify0.CODERESEMBLERULEOID   as coderesembleruleoid,
+        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
+        from pl_code_classify codeclassify0
+        left join pl_code_rule coderuleoid
+        on codeclassify0.codeRuleOid = coderuleoid.oid
+        left join pl_code_keyattrrepeat codekeyattrrepeatoid
+        on codeclassify0.codeKeyAttrRepeatOid = codekeyattrrepeatoid.oid
+        left join pl_code_resemblerule coderesembleruleoid
+        on codeclassify0.codeResembleRuleOid = coderesembleruleoid.oid
+        where 1=1 and codeclassify0.lcstatus = #{lcstatus}
+        <if test="desc != null">
+            and  codeclassify0.DESCRIPTION = #{desc}
+        </if>
+        <if test="tenantId != null and tenantId != ''">
+          and  codeclassify0.tenant_id = #{tenantId}
+        </if>
+        order by id asc
+    </select>
+
+    <!--鑾峰彇鎵�鏈変笅绾ц妭鐐�,涓嶈鍔ㄨ繖涓柟娉晄ql-->
+    <select id="selectAllClassifyByOid" resultMap="plCodeClassifyResultMap">
+        select codeclassify0.OWNER          as owner,
+        codeclassify0.BTMTYPEID             as btmtypeid,
+        codeclassify0.CREATOR               as creator,
+        codeclassify0.CREATETIME            as createtime,
+        codeclassify0.LASTMODIFIER          as lastmodifier,
+        codeclassify0.DESCRIPTION           as description,
+        codeclassify0.ORDERNUM              as ordernum,
+        codeclassify0.CODERULEOID           as coderuleoid,
+        codeclassify0.OID                   as oid,
+        codeclassify0.BTMNAME               as btmname,
+        codeclassify0.BTMTYPENAME           as btmtypename,
+        codeclassify0.CODEKEYATTRREPEATOID  as codekeyattrrepeatoid,
+        codeclassify0.PARENTCODECLASSIFYOID as parentcodeclassifyoid,
+        codeclassify0.NAME                  as name,
+        codeclassify0.LASTMODIFYTIME        as lastmodifytime,
+        codeclassify0.ID                    as id,
+        codeclassify0.CODERESEMBLERULEOID   as coderesembleruleoid,
+        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
+        from pl_code_classify codeclassify0
+        left join pl_code_rule coderuleoid
+        on codeclassify0.codeRuleOid = coderuleoid.oid
+        left join pl_code_keyattrrepeat codekeyattrrepeatoid
+        on codeclassify0.codeKeyAttrRepeatOid = codekeyattrrepeatoid.oid
+        left join pl_code_resemblerule coderesembleruleoid
+        on codeclassify0.codeResembleRuleOid = coderesembleruleoid.oid
+        start with  codeclassify0.oid=#{oid}
+        <if test="tenantId != null and tenantId != ''">
+            and  codeclassify0.tenant_id = #{tenantId}
+        </if>
+        connect by prior  codeclassify0.oid=codeclassify0.PARENTCODECLASSIFYOID
+    </select>
+
+    <select id="selectStartWithCurrentOid" resultMap="plCodeClassifyResultMap">
+        select * from <include refid="tableName"/>
+        start with oid = #{oid}
+        connect by prior oid = parentcodeclassifyoid;
+    </select>
+
+    <select id="selectAllParenClassifytByOid" resultMap="plCodeClassifyResultMap">
+        select codeclassify0.OWNER                 as owner,
+        codeclassify0.BTMTYPEID             as btmtypeid,
+        codeclassify0.CREATOR               as creator,
+        codeclassify0.CREATETIME            as createtime,
+        codeclassify0.LASTMODIFIER          as lastmodifier,
+        codeclassify0.DESCRIPTION           as description,
+        codeclassify0.ORDERNUM              as ordernum,
+        codeclassify0.CODERULEOID           as coderuleoid,
+        codeclassify0.OID                   as oid,
+        codeclassify0.BTMNAME               as btmname,
+        codeclassify0.BTMTYPENAME           as btmtypename,
+        codeclassify0.CODEKEYATTRREPEATOID  as codekeyattrrepeatoid,
+        codeclassify0.PARENTCODECLASSIFYOID as parentcodeclassifyoid,
+        codeclassify0.NAME                  as name,
+        codeclassify0.LASTMODIFYTIME        as lastmodifytime,
+        codeclassify0.ID                    as id,
+        codeclassify0.CODERESEMBLERULEOID   as coderesembleruleoid,
+        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
+        from pl_code_classify codeclassify0
+        left join pl_code_rule coderuleoid
+        on codeclassify0.codeRuleOid = coderuleoid.oid
+        left join pl_code_keyattrrepeat codekeyattrrepeatoid
+        on codeclassify0.codeKeyAttrRepeatOid = codekeyattrrepeatoid.oid
+        left join pl_code_resemblerule coderesembleruleoid
+        on codeclassify0.codeResembleRuleOid = coderesembleruleoid.oid
+        start with  codeclassify0.oid=#{oid}
+         <if test="tenantId != null and tenantId != ''">
+           and  codeclassify0.tenant_id = #{tenantId}
+          </if>
+            connect by prior codeclassify0.PARENTCODECLASSIFYOID = codeclassify0.oid
+    </select>
+
+    <update id="batchUpdateLcStatus" parameterType="java.util.List">
+        BEGIN
+        <foreach collection="records" item="item" index="index" separator=";">
+            update <include refid="tableName"/> set
+            lcstatus = #{item.lcStatus},
+            ts = #{item.ts},
+            lastModifyTime = #{item.lastModifyTime},
+            lastModifier = #{item.lastModifier}
+            where oid = #{item.oid,jdbcType=VARCHAR}
+        </foreach>
+        ;END;
+    </update>
+
+    <select id="selectAllParents" resultMap="plCodeClassifyResultMap">
+        select * from PL_CODE_CLASSIFY p
+            start with p.OID =#{oid}
+        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>

--
Gitblit v1.9.3