南昌市物联网技防平台-后台
tangzy
2021-03-17 7e6b4d0547e1b46df3cb3f0385e5d50ce3ca8a5d
blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/healthcode/mapper/healthcodeMapper.xml
@@ -60,14 +60,25 @@
    <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,
   type
FROM
   healthcode
WHERE
DATE_FORMAT(dtime,'%Y-%m-%d')=#{time} GROUP BY type
        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">
@@ -80,4 +91,33 @@
        DATE_FORMAT(dtime,'%Y-%m-%d')&gt;=#{beginTime} and DATE_FORMAT(dtime,'%Y-%m-%d')&lt;=#{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
    </select>
</mapper>