From c2efc1b0dfe76f5603dee63a917d3b7415053330 Mon Sep 17 00:00:00 2001 From: ludc Date: 星期二, 31 十月 2023 11:30:42 +0800 Subject: [PATCH] 主数据统计功能后台接口实现 --- Source/UBCS/ubcs-service/ubcs-code/src/main/resources/mapper/CodeCLassifyMapper.xml | 147 +++++++++++++++++++++++++++++++++++++++++------- 1 files changed, 125 insertions(+), 22 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 8015984..84455f7 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 @@ -38,10 +38,18 @@ <result column="CODEKEYATTRREPEATOID" property="codeKeyAttrRepeatOid"/> <result column="CODERESEMBLERULEOID" property="codeResembleRuleOid"/> <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"> @@ -82,24 +90,25 @@ 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 + 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 != ''"> - codeclassify0.tenant_id = #{tenantId} + and codeclassify0.tenant_id = #{tenantId} </if> </where> - order by id asc + order by lastmodifytime asc </select> <select id="selectAllLevelChildHasPath" resultMap="plCodeClassifyResultMap"> @@ -170,8 +179,14 @@ </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"> @@ -204,7 +219,6 @@ CONNECT BY PRIOR OID = parentCodeClassifyOid) codeclassify0 </select> - <select id="selectByFieldNamePath" resultMap="plCodeClassifyResultMap"> select codeclassify0.OWNER as owner, codeclassify0.BTMTYPEID as btmtypeid, @@ -235,7 +249,6 @@ 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 @@ -260,7 +273,7 @@ </select> <select id="selectCodeClassifyDOByTree" resultMap="plCodeClassifyResultMap"> - select codeclassify0.OWNER as owner, + select codeclassify0.OWNER as owner, codeclassify0.BTMTYPEID as btmtypeid, codeclassify0.CREATOR as creator, codeclassify0.CREATETIME as createtime, @@ -282,7 +295,28 @@ codeclassify0.TENANT_ID as tenantId , coderuleoid.name as codeRuleOidName, codekeyattrrepeatoid.name as codeKeyAttrRepeatOidName, - coderesembleruleoid.name as codeResembleRuleOidName + coderesembleruleoid.name as codeResembleRuleOidName, + ( + SELECT + COUNT(*) + FROM + PLBT_CODE_part + 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 from pl_code_classify codeclassify0 left join pl_code_rule coderuleoid on codeclassify0.codeRuleOid = coderuleoid.oid @@ -357,12 +391,12 @@ <if test="parentOid == null or parentOid == ''"> and codeclassify0.parentcodeclassifyoid is null </if> - <if test="tenantId != null and tenantId != ''"> - codeclassify0.tenant_id = #{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, @@ -403,7 +437,7 @@ </foreach> </if> <if test="tenantId != null and tenantId != ''"> - codeclassify0.tenant_id = #{tenantId} + and codeclassify0.tenant_id = #{tenantId} </if> order by id asc </select> @@ -443,11 +477,54 @@ <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 , + 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"> @@ -485,6 +562,32 @@ <if test="tenantId != null and tenantId != ''"> and codeclassify0.tenant_id = #{tenantId} </if> - connect by prior PARENTCODECLASSIFYOID = codeclassify0.oid + 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"> + 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> + </mapper> -- Gitblit v1.9.3