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 < 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