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

126 lines
5.3 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.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"/>
<result property="reviewOpinion" column="review_opinion"/>
<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,
review_leader,
material_requirements,
supervisor_contact,
contact_phone,
status,
review_opinion,
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>
<select id="monitorPage" resultType="org.qinan.safetyeval.client.review.response.QualOnSiteReviewMonitorCo" >
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>
<if test="query.status != null">
and review.status = #{query.status}
</if>
<if test="query.reviewDateStartBegin != null">
and review.review_date_start &gt;= #{query.reviewDateStartBegin}
</if>
<if test="query.reviewDateStartEnd != null">
and review.review_date_start &lt;= #{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 &gt;= #{query.reviewDateStartBegin}
</if>
<if test="query.reviewDateStartEnd != null">
and review.review_date_start &lt;= #{query.reviewDateStartEnd}
</if>
order by review.id desc
</select>
<!-- 资质现场核查统计单条SQL聚合返回全部指标 -->
<select id="statistics"
resultType="org.qinan.safetyeval.client.review.response.QualOnSiteReviewStatisticsCo">
select
count(*) as totalCount,
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
from qual_on_site_review
where delete_enum = 'false'
<if test="orgId != null">
and org_id = #{orgId}
</if>
</select>
</mapper>