From 5b1489deefbbe839ab14646b1dab4a1286b9a41e Mon Sep 17 00:00:00 2001 From: yuxc <653031404@qq.com> Date: 星期二, 20 六月 2023 17:35:07 +0800 Subject: [PATCH] 1、将xml中的/符号改为#以防止后续问题。 2、对查询返回值缺少的问题进行了处理。 --- Source/UBCS/ubcs-service/ubcs-code/src/main/resources/mapper/CodeCLassifyMapper.xml | 119 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 115 insertions(+), 4 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 dc5e143..027e480 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 @@ -122,7 +122,14 @@ 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> + <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 @@ -140,10 +147,58 @@ 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> + + + <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 + from (select plcodeclassify.*, + SYS_CONNECT_BY_PATH(name, '#') as namePath, + SYS_CONNECT_BY_PATH(id, '#') as idPath + from pl_code_classify plcodeclassify + START WITH parentCodeClassifyOid is null + CONNECT BY PRIOR OID = parentCodeClassifyOid) codeclassify0 + where codeclassify0.paths =#{fieldPath} + </select> + <select id="selectByFieldNamePath" resultMap="plCodeClassifyResultMap"> select codeclassify0.OWNER as owner, @@ -169,10 +224,10 @@ from (select plcodeclassify.*, <choose> <when test='fieldName=="name"'> - SUBSTR(SYS_CONNECT_BY_PATH(name, '##'),3) as paths + SYS_CONNECT_BY_PATH(name, '#') as paths </when> <otherwise> - SUBSTR(SYS_CONNECT_BY_PATH(id, '##'),3) as paths + SYS_CONNECT_BY_PATH(id, '#') as paths </otherwise> </choose> @@ -184,7 +239,7 @@ <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 @@ -240,4 +295,60 @@ order by id asc </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, + 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> + 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> + </mapper> -- Gitblit v1.9.3