EqpOnlineRateStatisticSMapper.xml 2.61 KB
<?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="com.zteits.park.mapper.smapper.EqpOnlineRateStatisticSMapper">

  <!-- 设备在线率统计,日 -->
  <select id="queryEqpOnlineRateTotalForDay" parameterType="com.zteits.clouds.api.dto.park.param.eqponlinerate.EqpOnlineRateReq"
          resultType="com.zteits.clouds.api.dto.park.dto.eqponlinerate.EqpOnlineRateStatisticTotalDTO">
      select
          ifnull(count(e.pl_no),0) as plNum,
          ifnull(sum(e.berth_num),0) as berthNum,
          ifnull(sum(e.eqp_num),0) as eqpNum,
          round(ifnull(sum(e.eqp_online_rate*e.eqp_num)/ifnull(sum(e.eqp_num),1),0)*100,2) as eqpOnlineRate
      from eqp_online_rate_statistic_day e
      where e.pl_type = 1 and e.data_state = 1
      and e.static_date between #{beginTime} and #{endTime}
      and e.pl_no in
      <foreach collection="plNos" open="(" close=")" item="plNo" separator=",">
        #{plNo}
      </foreach>
  </select>

  <!-- 设备在线率统计,月 -->
  <select id="queryEqpOnlineRateTotalForMonth" parameterType="com.zteits.clouds.api.dto.park.param.eqponlinerate.EqpOnlineRateReq"
          resultType="com.zteits.clouds.api.dto.park.dto.eqponlinerate.EqpOnlineRateStatisticTotalDTO">
    select
      ifnull(count(e.pl_no),0) as plNum,
      ifnull(sum(e.berth_num),0) as berthNum,
      ifnull(sum(e.eqp_num),0) as eqpNum,
      round(ifnull(sum(e.eqp_online_rate*e.eqp_num)/ifnull(sum(e.eqp_num),1),0)*100,2) as eqpOnlineRate
    from eqp_online_rate_statistic_month e
    where e.pl_type = 1 and e.data_state = 1
    and e.static_date between #{beginTime} and #{endTime}
    and e.pl_no in
    <foreach collection="plNos" open="(" close=")" item="plNo" separator=",">
      #{plNo}
    </foreach>

  </select>

  <!-- 设备在线率统计,周 -->
  <select id="queryEqpOnlineRateTotalForWeek" parameterType="com.zteits.clouds.api.dto.park.param.eqponlinerate.EqpOnlineRateReq"
          resultType="com.zteits.clouds.api.dto.park.dto.eqponlinerate.EqpOnlineRateStatisticTotalDTO">
    select
      ifnull(count(e.pl_no),0) as plNum,
      ifnull(sum(e.berth_num),0) as berthNum,
      ifnull(sum(e.eqp_num),0) as eqpNum,
      round(ifnull(sum(e.eqp_online_rate*e.eqp_num)/ifnull(sum(e.eqp_num),1),0)*100,2) as eqpOnlineRate
    from eqp_online_rate_statistic_week e
    where e.pl_type = 1 and e.data_state = 1
    and e.static_date between #{beginTime} and #{endTime}
    and e.pl_no in
    <foreach collection="plNos" open="(" close=")" item="plNo" separator=",">
      #{plNo}
    </foreach>

  </select>


</mapper>