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

134 lines
8.0 KiB
XML
Raw Normal View History

<?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"/>
2026-07-02 14:48:40 +08:00
<result column="filing_id" property="filingId"/>
<result column="change_filing_id" property="changeFilingId"/>
<result column="reject_reason" property="rejectReason"/>
2026-07-02 16:31:29 +08:00
<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"/>
2026-07-14 18:51:06 +08:00
<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">
2026-07-14 18:51:06 +08:00
`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>
2026-07-07 10:27:23 +08:00
<!-- 机构端分页查询结果映射直接映射为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"/>
2026-07-15 16:42:36 +08:00
<result column="business_scope" property="businessScope"
typeHandler="org.qinan.safetyeval.infrastructure.handler.JsonStringListTypeHandler"/>
2026-07-07 10:27:23 +08:00
<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 (
2026-07-09 14:54:56 +08:00
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>
2026-07-07 10:27:23 +08:00
) temp
2026-07-09 14:54:56 +08:00
<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>
2026-07-07 10:27:23 +08:00
</select>
2026-07-07 16:10:08 +08:00
<!-- 按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>