126 lines
5.3 KiB
XML
126 lines
5.3 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.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 >= #{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>
|
||
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> |