<?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.springblade.jfpt.healthcode.mapper.healthcodeMapper">
|
|
<!-- 通用查询映射结果 -->
|
<resultMap id="healthcodeResultMap" type="org.springblade.jfpt.healthcode.entity.Healthcode">
|
<id column="id" property="id"/>
|
<result column="type" property="type"/>
|
<result column="sex" property="sex"/>
|
<result column="province" property="province"/>
|
<result column="city" property="city"/>
|
<result column="district" property="district"/>
|
<result column="dtime" property="dtime"/>
|
</resultMap>
|
|
<sql id="key">
|
<trim suffixOverrides=",">
|
<if test="type!=null and type!=''">
|
type,
|
</if>
|
<if test="sex!=null and sex!=''">
|
sex,
|
</if>
|
<if test="province!=null and province!=''">
|
province,
|
</if>
|
<if test="city!=null and city!=''">
|
city,
|
</if>
|
<if test="district!=null and district!=''">
|
district,
|
</if>
|
<if test="dtime!=null and dtime!=''">
|
dtime,
|
</if>
|
</trim>
|
</sql>
|
<sql id="value">
|
<trim suffixOverrides=",">
|
<if test="type!=null and type!=''">
|
#{type},
|
</if>
|
<if test="sex!=null and sex!=''">
|
#{sex},
|
</if>
|
<if test="province!=null and province!=''">
|
#{province},
|
</if>
|
<if test="city!=null and city!=''">
|
#{city},
|
</if>
|
<if test="district!=null and district!=''">
|
#{district},
|
</if>
|
<if test="dtime!=null and dtime!=''">
|
#{dtime},
|
</if>
|
</trim>
|
</sql>
|
<insert id="insert">
|
insert into healthcode(<include refid="key"/>) values(<include refid="value"/>)
|
</insert>
|
|
<!-- <select id="selectCountr" resultType="java.util.HashMap">-->
|
<!-- SELECT COUNT( * ) AS num,type-->
|
<!-- FROM-->
|
<!-- healthcode-->
|
<!-- WHERE-->
|
<!-- DATE_FORMAT(dtime,'%Y-%m-%d')=#{time} GROUP BY type-->
|
<!-- </select>-->
|
|
<!--查询当天的健康码统计数据 2021-03-13 arsn修改-->
|
<select id="selectCountr" resultType="java.util.HashMap">
|
SELECT COUNT( * ) AS num,1 as type FROM healthcode WHERE
|
TO_DAYS(dtime)=TO_DAYS(NOW()) and type=1
|
union all
|
SELECT COUNT( * ) AS num,2 as type FROM healthcode WHERE
|
TO_DAYS(dtime)=TO_DAYS(NOW()) and type=2
|
union all
|
SELECT COUNT( * ) AS num,3 as type FROM healthcode WHERE
|
TO_DAYS(dtime)=TO_DAYS(NOW()) and type=3
|
</select>
|
|
<select id="selectCountz" resultType="java.util.HashMap">
|
SELECT
|
COUNT( * ) AS num,
|
type
|
FROM
|
healthcode
|
WHERE
|
DATE_FORMAT(dtime,'%Y-%m-%d')>=#{beginTime} and DATE_FORMAT(dtime,'%Y-%m-%d')<=#{endTime} GROUP BY type
|
</select>
|
|
|
<!--统计7天内每天红色健康码人数数量数据-->
|
<select id="selectRedCodeDataStatis" resultType="java.lang.Integer">
|
select ifnull(b.count,0) as count from
|
(
|
SELECT DATE_FORMAT(date_sub(curdate(), interval 6 day),'%Y-%m-%d') as click_date
|
union all
|
SELECT DATE_FORMAT(date_sub(curdate(), interval 5 day),'%Y-%m-%d') as click_date
|
union all
|
SELECT DATE_FORMAT(date_sub(curdate(), interval 4 day),'%Y-%m-%d') as click_date
|
union all
|
SELECT DATE_FORMAT(date_sub(curdate(), interval 3 day),'%Y-%m-%d') as click_date
|
union all
|
SELECT DATE_FORMAT(date_sub(curdate(), interval 2 day),'%Y-%m-%d') as click_date
|
union all
|
SELECT DATE_FORMAT(date_sub(curdate(), interval 1 day),'%Y-%m-%d') as click_date
|
union all
|
SELECT DATE_FORMAT(curdate(),'%Y-%m-%d') as click_date
|
) a
|
left join
|
(
|
select DATE_FORMAT(dtime,'%Y-%m-%d') as datetime, count(*) as count from healthcode
|
where `type`=3
|
group by DATE_FORMAT(dtime,'%Y-%m-%d')
|
) b
|
on
|
a.click_date = b.datetime
|
order by a.click_date asc
|
</select>
|
|
|
<!--自定义健康码分页/健康码统计图表点击事件-->
|
<select id="selectHealthcodeListPage" resultType="org.springblade.jfpt.healthcode.entity.Healthcode">
|
SELECT * FROM healthcode
|
where 1=1
|
<if test="healthcodeVO.status==0">
|
and to_days(dtime)=to_days(now())
|
</if>
|
<if test="healthcodeVO.status==1">
|
and YEARWEEK(date_format(dtime,'%Y-%m-%d'),1) = YEARWEEK(now(),1)
|
</if>
|
<if test="healthcodeVO.status==2">
|
and date_format(dtime,'%Y%m') = date_format(now(),'%Y%m')
|
</if>
|
<if test="healthcodeVO.type!=null">
|
and type=#{healthcodeVO.type}
|
</if>
|
<if test="healthcodeVO.province!=null">
|
and province like concat('%',#{healthcodeVO.province},'%')
|
</if>
|
<if test="healthcodeVO.city!=null">
|
and city like concat('%',#{healthcodeVO.city},'%')
|
</if>
|
<if test="healthcodeVO.district!=null">
|
and district like concat('%',#{healthcodeVO.district},'%')
|
</if>
|
<if test="healthcodeVO.begTime!=null and healthcodeVO.begTime!='' and healthcodeVO.endTime!=null and healthcodeVO.endTime!='' ">
|
and date(dtime) between #{healthcodeVO.begTime} and #{healthcodeVO.endTime}
|
</if>
|
ORDER BY dtime desc
|
</select>
|
|
<!--查询当前时间段红色健康码总个数-->
|
<select id="selHealthcodeTimeCount" resultType="java.lang.Integer">
|
select count(*) from healthcode
|
where type = 3
|
<if test="conditionVo.startTime!=null and conditionVo.startTime!='' and conditionVo.endTime!=null and conditionVo.endTime!=''">
|
and dtime between #{conditionVo.startTime} and #{conditionVo.endTime}
|
</if>
|
</select>
|
|
<!--查询当前时间段区间时间红色健康码个数-->
|
<select id="selRedCodeTimeData" resultType="org.springblade.jfpt.healthcode.entity.Healthcode">
|
SELECT type,dtime FROM healthcode
|
where type =3
|
and dtime between #{conditionVo.startTime} and #{conditionVo.endTime}
|
</select>
|
</mapper>
|