2026-07-20 15:21:03 +08:00
|
|
|
|
<?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.persistence.mapper.QualOnSiteReviewMapper">
|
|
|
|
|
|
<resultMap type="org.qinan.safetyeval.infrastructure.persistence.domainobject.QualOnSiteReviewDO"
|
|
|
|
|
|
id="QualOnSiteReviewResult">
|
|
|
|
|
|
<id property="id" column="id"/>
|
|
|
|
|
|
<result property="bizType" column="biz_type"/>
|
|
|
|
|
|
<result property="bizId" column="biz_id"/>
|
|
|
|
|
|
<result property="orgId" column="org_id"/>
|
|
|
|
|
|
<result property="reviewDateStart" column="review_date_start"/>
|
|
|
|
|
|
<result property="reviewLocation" column="review_location"/>
|
|
|
|
|
|
<result property="reviewMembers" column="review_members"/>
|
|
|
|
|
|
<result property="materialRequirements" column="material_requirements"/>
|
|
|
|
|
|
<result property="supervisorContact" column="supervisor_contact"/>
|
|
|
|
|
|
<result property="contactPhone" column="contact_phone"/>
|
|
|
|
|
|
<result property="status" column="status"/>
|
2026-07-20 17:49:22 +08:00
|
|
|
|
<result property="reviewOpinion" column="review_opinion"/>
|
2026-07-20 15:21:03 +08:00
|
|
|
|
<result property="deleteEnum" column="delete_enum"/>
|
|
|
|
|
|
<result property="remarks" column="remarks"/>
|
|
|
|
|
|
<result property="createName" column="create_name"/>
|
|
|
|
|
|
<result property="updateName" column="update_name"/>
|
|
|
|
|
|
<result property="tenantId" column="tenant_id"/>
|
|
|
|
|
|
<result property="version" column="version"/>
|
|
|
|
|
|
<result property="createTime" column="create_time"/>
|
|
|
|
|
|
<result property="updateTime" column="update_time"/>
|
|
|
|
|
|
<result property="createId" column="create_id"/>
|
|
|
|
|
|
<result property="updateId" column="update_id"/>
|
|
|
|
|
|
<result property="env" column="env"/>
|
|
|
|
|
|
</resultMap>
|
|
|
|
|
|
|
|
|
|
|
|
<sql id="selectQualOnSiteReview">
|
|
|
|
|
|
select id,
|
|
|
|
|
|
biz_type,
|
|
|
|
|
|
biz_id,
|
|
|
|
|
|
org_id,
|
|
|
|
|
|
review_date_start,
|
|
|
|
|
|
review_location,
|
|
|
|
|
|
review_members,
|
2026-07-21 10:24:31 +08:00
|
|
|
|
review_leader,
|
2026-07-20 15:21:03 +08:00
|
|
|
|
material_requirements,
|
|
|
|
|
|
supervisor_contact,
|
|
|
|
|
|
contact_phone,
|
|
|
|
|
|
status,
|
2026-07-20 17:49:22 +08:00
|
|
|
|
review_opinion,
|
2026-07-20 15:21:03 +08:00
|
|
|
|
delete_enum,
|
|
|
|
|
|
remarks,
|
|
|
|
|
|
create_name,
|
|
|
|
|
|
update_name,
|
|
|
|
|
|
tenant_id,
|
|
|
|
|
|
version,
|
|
|
|
|
|
create_time,
|
|
|
|
|
|
update_time,
|
|
|
|
|
|
create_id,
|
|
|
|
|
|
update_id,
|
|
|
|
|
|
env
|
|
|
|
|
|
from qual_on_site_review
|
|
|
|
|
|
</sql>
|
2026-07-20 15:59:25 +08:00
|
|
|
|
|
|
|
|
|
|
|
2026-07-20 16:02:50 +08:00
|
|
|
|
<select id="monitorPage" resultType="org.qinan.safetyeval.client.review.response.QualOnSiteReviewMonitorCo" >
|
2026-07-20 15:59:25 +08:00
|
|
|
|
select info.unit_name , review.*
|
|
|
|
|
|
from qual_on_site_review review
|
|
|
|
|
|
left join org_info info on info.id = review.org_id
|
|
|
|
|
|
where review.delete_enum = 'false'
|
|
|
|
|
|
<if test="query.unitName != null and query.unitName != ''">
|
|
|
|
|
|
and info.unit_name like concat('%', #{query.unitName}, '%')
|
|
|
|
|
|
</if>
|
2026-07-20 16:29:01 +08:00
|
|
|
|
<if test="query.status != null">
|
|
|
|
|
|
and review.status = #{query.status}
|
|
|
|
|
|
</if>
|
|
|
|
|
|
<if test="query.reviewDateStartBegin != null">
|
|
|
|
|
|
and review.review_date_start >= #{query.reviewDateStartBegin}
|
|
|
|
|
|
</if>
|
|
|
|
|
|
<if test="query.reviewDateStartEnd != null">
|
|
|
|
|
|
and review.review_date_start <= #{query.reviewDateStartEnd}
|
|
|
|
|
|
</if>
|
|
|
|
|
|
order by review.id desc
|
|
|
|
|
|
</select>
|
|
|
|
|
|
|
|
|
|
|
|
<select id="orgPage" resultType="org.qinan.safetyeval.client.review.response.QualOnSiteReviewOrgCo">
|
|
|
|
|
|
select review.id,
|
|
|
|
|
|
review.biz_type,
|
|
|
|
|
|
review.biz_id,
|
|
|
|
|
|
review.review_date_start,
|
|
|
|
|
|
review.review_location,
|
|
|
|
|
|
review.review_members,
|
|
|
|
|
|
review.material_requirements,
|
|
|
|
|
|
review.supervisor_contact,
|
|
|
|
|
|
review.contact_phone,
|
|
|
|
|
|
review.status,
|
|
|
|
|
|
review.env,
|
|
|
|
|
|
review.version
|
|
|
|
|
|
from qual_on_site_review review
|
|
|
|
|
|
where review.delete_enum = 'false'
|
|
|
|
|
|
and review.org_id = #{query.orgId}
|
|
|
|
|
|
<if test="query.status != null">
|
|
|
|
|
|
and review.status = #{query.status}
|
|
|
|
|
|
</if>
|
|
|
|
|
|
<if test="query.reviewDateStartBegin != null">
|
|
|
|
|
|
and review.review_date_start >= #{query.reviewDateStartBegin}
|
|
|
|
|
|
</if>
|
|
|
|
|
|
<if test="query.reviewDateStartEnd != null">
|
|
|
|
|
|
and review.review_date_start <= #{query.reviewDateStartEnd}
|
|
|
|
|
|
</if>
|
2026-07-20 15:59:25 +08:00
|
|
|
|
order by review.id desc
|
|
|
|
|
|
</select>
|
2026-07-21 09:25:41 +08:00
|
|
|
|
|
|
|
|
|
|
<!-- 资质现场核查统计:单条SQL聚合返回全部指标 -->
|
|
|
|
|
|
<select id="statistics"
|
|
|
|
|
|
resultType="org.qinan.safetyeval.client.review.response.QualOnSiteReviewStatisticsCo">
|
|
|
|
|
|
select
|
|
|
|
|
|
count(*) as totalCount,
|
2026-07-21 09:37:25 +08:00
|
|
|
|
SUM(CASE WHEN YEAR(review_date_start) = YEAR(CURDATE()) THEN 1 ELSE 0 END) AS annualCumulativeCount,
|
|
|
|
|
|
SUM(CASE WHEN status IN ('AGENCY_PENDING_CONFIRMATION', 'AGENCY_CONFIRMED')
|
|
|
|
|
|
AND review_date_start BETWEEN CURDATE() AND DATE_ADD(CURDATE(), INTERVAL 30 DAY) THEN 1 ELSE 0 END)
|
|
|
|
|
|
AS pendingReviewNextThirtyDaysCount,
|
|
|
|
|
|
SUM(CASE WHEN status IN ('REVIEW_PASSED', 'REVIEW_FAILED') THEN 1 ELSE 0 END) AS completedArchivedCount
|
2026-07-21 09:25:41 +08:00
|
|
|
|
from qual_on_site_review
|
|
|
|
|
|
where delete_enum = 'false'
|
|
|
|
|
|
<if test="orgId != null">
|
|
|
|
|
|
and org_id = #{orgId}
|
|
|
|
|
|
</if>
|
|
|
|
|
|
</select>
|
2026-07-20 15:21:03 +08:00
|
|
|
|
</mapper>
|