98 lines
5.9 KiB
XML
98 lines
5.9 KiB
XML
<?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.QualFilingMapper">
|
||
|
||
<!-- 通用查询映射结果 -->
|
||
<resultMap id="BaseResultMap" type="org.qinan.safetyeval.infrastructure.dataobject.QualFilingDO">
|
||
<id column="id" property="id"/>
|
||
<result column="org_id" property="orgId"/>
|
||
<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"/>
|
||
<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="origin_filing_id" property="originFilingId"/>
|
||
<result column="reject_reason" property="rejectReason"/>
|
||
<result column="submit_time" property="submitTime"/>
|
||
<result column="approve_time" property="approveTime"/>
|
||
<result column="filing_status_code" property="filingStatusCode"/>
|
||
<result column="filing_status_name" property="filingStatusName"/>
|
||
<result column="apply_type_code" property="applyTypeCode"/>
|
||
<result column="apply_type_name" property="applyTypeName"/>
|
||
<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_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`, `origin_filing_id`, `reject_reason`, `submit_time`, `approve_time`, `filing_status_code`, `filing_status_name`, `apply_type_code`, `apply_type_name`, `delete_enum`, `remarks`, `create_name`, `update_name`, `tenant_id`, `version`, `create_time`, `update_time`, `create_id`, `update_id`, `env`
|
||
</sql>
|
||
|
||
<!-- CO查询映射结果(business_scope 以 JSON 数组字符串存储,出库时转换为 List<String>) -->
|
||
<resultMap id="QualFilingCOResultMap" type="org.qinan.safetyeval.client.co.QualFilingCO" autoMapping="true">
|
||
<result column="business_scope" property="businessScope"
|
||
typeHandler="org.qinan.safetyeval.infrastructure.handler.JsonStringListTypeHandler"/>
|
||
</resultMap>
|
||
|
||
<select id="qualificationMonitoringPage" resultMap="QualFilingCOResultMap">
|
||
select info.credit_code as orgInfoCreditCode, info.unit_name as unitName, filing.* from org_info as info
|
||
left join qual_filing as filing on info.id = filing.org_id
|
||
where info.delete_enum = 'false'
|
||
<if test="query.keyword != null">
|
||
and (info.credit_code like concat('%',#{query.keyword},'%') or info.unit_name like concat('%',#{query.keyword},'%'))
|
||
</if>
|
||
<if test="query.alertStatus != null">
|
||
and filing.alert_status = #{query.alertStatus}
|
||
</if>
|
||
<if test="query.businessScope != null">
|
||
and JSON_CONTAINS(filing.business_scope, CONCAT('"', #{query.businessScope}, '"'))
|
||
</if>
|
||
order by filing.id desc
|
||
</select>
|
||
<select id="qualificationMonitoringPageStatistics"
|
||
resultType="org.qinan.safetyeval.client.co.QualFilingStatisticsCO">
|
||
select count(*) as orgInfoSum,
|
||
SUM(CASE WHEN alert_status = 'normal' THEN 1 ELSE 0 END) AS normalSum,
|
||
SUM(CASE WHEN alert_status = 'person_rate' THEN 1 ELSE 0 END) AS earlyWarningSum
|
||
from org_info as info
|
||
left join qual_filing as filing on info.id = filing.org_id
|
||
where info.delete_enum = 'false';
|
||
</select>
|
||
|
||
<select id="selectByOrgIdLastOne" resultMap="BaseResultMap">
|
||
select
|
||
<include refid="Base_Column_List"/>
|
||
from qual_filing
|
||
where org_id = #{orgId}
|
||
and delete_enum = 'false'
|
||
order by id desc
|
||
limit 1
|
||
</select>
|
||
|
||
</mapper>
|