safety-eval-service/safety-eval-infrastructure/src/main/resources/mapper/QualFilingChangeMapper.xml

134 lines
8.0 KiB
XML
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="org.qinan.safetyeval.infrastructure.mapper.QualFilingChangeMapper">
<!-- 通用查询映射结果 -->
<resultMap id="BaseResultMap" type="org.qinan.safetyeval.infrastructure.dataobject.QualFilingChangeDO">
<id column="id" property="id"/>
<result column="org_id" property="orgId"/>
<result column="filing_id" property="filingId"/>
<result column="change_filing_id" property="changeFilingId"/>
<result column="reject_reason" property="rejectReason"/>
<result column="filing_review_id" property="filingReviewId"/>
<result column="submit_time" property="submitTime"/>
<result column="filing_territory_code" property="filingTerritoryCode"/>
<result column="filing_territory_name" property="filingTerritoryName"/>
<result column="filing_unit_name" property="filingUnitName"/>
<result column="filing_unit_type_code" property="filingUnitTypeCode"/>
<result column="filing_unit_type_name" property="filingUnitTypeName"/>
<result column="filing_no" property="filingNo"/>
<result column="business_scope" property="businessScope"
typeHandler="org.qinan.safetyeval.infrastructure.handler.JsonStringListTypeHandler"/>
<result column="register_address" property="registerAddress"/>
<result column="office_address" property="officeAddress"/>
<result column="credit_code" property="creditCode"/>
<result column="qual_cert_no" property="qualCertNo"/>
<result column="legal_person_phone" property="legalPersonPhone"/>
<result column="contact_phone" property="contactPhone"/>
<result column="info_disclosure_url" property="infoDisclosureUrl"/>
<result column="fixed_asset_amount" property="fixedAssetAmount"/>
<result column="archive_room_area" property="archiveRoomArea"/>
<result column="fulltime_evaluator_count" property="fulltimeEvaluatorCount"/>
<result column="registered_engineer_count" property="registeredEngineerCount"/>
<result column="workplace_area" property="workplaceArea"/>
<result column="unit_intro" property="unitIntro"/>
<result column="attachment_url" property="attachmentUrl"/>
<result column="filing_status_code" property="filingStatusCode"/>
<result column="filing_status_name" property="filingStatusName"/>
<result column="delete_enum" property="deleteEnum"/>
<result column="remarks" property="remarks"/>
<result column="create_name" property="createName"/>
<result column="update_name" property="updateName"/>
<result column="tenant_id" property="tenantId"/>
<result column="version" property="version"/>
<result column="create_time" property="createTime"/>
<result column="update_time" property="updateTime"/>
<result column="create_id" property="createId"/>
<result column="update_id" property="updateId"/>
<result column="env" property="env"/>
</resultMap>
<!-- 通用查询结果列 -->
<sql id="Base_Column_List">
`id`
, `org_id`, `filing_id`, `change_filing_id`, `filing_review_id`, `reject_reason`, `submit_time`, `filing_territory_code`, `filing_territory_name`, `filing_unit_name`, `filing_unit_type_code`, `filing_unit_type_name`, `filing_no`, `business_scope`, `register_address`, `office_address`, `credit_code`, `qual_cert_no`, `legal_person_phone`, `contact_phone`, `info_disclosure_url`, `fixed_asset_amount`, `archive_room_area`, `fulltime_evaluator_count`, `registered_engineer_count`, `workplace_area`, `unit_intro`, `attachment_url`, `filing_status_code`, `filing_status_name`, `delete_enum`, `remarks`, `create_name`, `update_name`, `tenant_id`, `version`, `create_time`, `update_time`, `create_id`, `update_id`, `env`
</sql>
<!-- 机构端分页查询结果映射直接映射为CO无需Entity中转 -->
<resultMap id="OrgCOResultMap" type="org.qinan.safetyeval.client.co.QualFilingChangeOrgCO">
<id column="id" property="id"/>
<result column="org_id" property="orgId"/>
<result column="filing_id" property="filingId"/>
<result column="change_filing_id" property="changeFilingId"/>
<result column="reject_reason" property="rejectReason"/>
<result column="filing_review_id" property="filingReviewId"/>
<result column="submit_time" property="submitTime"/>
<result column="filing_territory_code" property="filingTerritoryCode"/>
<result column="filing_territory_name" property="filingTerritoryName"/>
<result column="filing_unit_name" property="filingUnitName"/>
<result column="filing_unit_type_code" property="filingUnitTypeCode"/>
<result column="filing_unit_type_name" property="filingUnitTypeName"/>
<result column="filing_no" property="filingNo"/>
<result column="business_scope" property="businessScope"
typeHandler="org.qinan.safetyeval.infrastructure.handler.JsonStringListTypeHandler"/>
<result column="register_address" property="registerAddress"/>
<result column="office_address" property="officeAddress"/>
<result column="credit_code" property="creditCode"/>
<result column="qual_cert_no" property="qualCertNo"/>
<result column="legal_person_phone" property="legalPersonPhone"/>
<result column="contact_phone" property="contactPhone"/>
<result column="info_disclosure_url" property="infoDisclosureUrl"/>
<result column="fixed_asset_amount" property="fixedAssetAmount"/>
<result column="archive_room_area" property="archiveRoomArea"/>
<result column="fulltime_evaluator_count" property="fulltimeEvaluatorCount"/>
<result column="registered_engineer_count" property="registeredEngineerCount"/>
<result column="workplace_area" property="workplaceArea"/>
<result column="unit_intro" property="unitIntro"/>
<result column="attachment_url" property="attachmentUrl"/>
<result column="filing_status_code" property="filingStatusCode"/>
<result column="filing_status_name" property="filingStatusName"/>
<result column="tenant_id" property="tenantId"/>
</resultMap>
<!-- 机构端分页查询每个filing_id只取最新一条变更记录直接返回CO -->
<select id="orgPage" resultMap="OrgCOResultMap">
SELECT * FROM (
SELECT
ROW_NUMBER() OVER (PARTITION BY qfc.filing_id ORDER BY qfc.id DESC) AS rn,
qfc.*
FROM qual_filing_change qfc
<where>
qfc.delete_enum = 'false'
AND qfc.org_id = #{query.orgId}
</where>
) temp
<where>
temp.rn = 1
<if test="query.filingNo != null and query.filingNo != ''">
AND temp.id = #{query.filingNo}
</if>
<if test="query.filingUnitName != null and query.filingUnitName != ''">
AND temp.filing_unit_name LIKE CONCAT('%', #{query.filingUnitName}, '%')
</if>
<if test="query.filingTerritoryCode != null and query.filingTerritoryCode != ''">
AND (temp.filing_territory_code = #{query.filingTerritoryCode}
OR temp.filing_territory_name = #{query.filingTerritoryCode})
</if>
<if test="query.filingStatusCode != null">
AND temp.filing_status_code = #{query.filingStatusCode}
</if>
</where>
</select>
<!-- 按filing_id批量统计变更次数 -->
<select id="countByFilingIds" resultType="org.qinan.safetyeval.infrastructure.dataobject.QualFilingChangeCountDO">
SELECT filing_id AS filingId, COUNT(*) AS changeCount
FROM qual_filing_change
WHERE delete_enum = 'false'
AND filing_id IN
<foreach collection="filingIds" item="filingId" open="(" separator="," close=")">
#{filingId}
</foreach>
GROUP BY filing_id
</select>
</mapper>