| | |
| | | import com.ycl.api.CommonPage; |
| | | import com.ycl.api.CommonResult; |
| | | import com.ycl.controller.BaseController; |
| | | import com.ycl.dto.smoker.InTimeCountDto; |
| | | import com.ycl.entity.smoke.OdsCustomer; |
| | | import com.ycl.entity.smoke.OdsInTime; |
| | | import com.ycl.service.smoke.IOdsCustomerService; |
| | |
| | | Page<OdsInTime> inTimePage = inTimeService.findList(owner, onlineStatus, startTime, endTime, type, status, pageSize, pageNum); |
| | | return CommonResult.success(CommonPage.restPage(inTimePage)); |
| | | } |
| | | |
| | | @ApiOperation("获取设备在线情况") |
| | | @RequestMapping(value = "/inTime/count", method = RequestMethod.GET) |
| | | @ResponseBody |
| | | @LogSave(operationType = "油烟模块", contain = "获取设备在线情况") |
| | | public CommonResult<InTimeCountDto> getInTimeCount() { |
| | | InTimeCountDto dto = inTimeService.getInTimeCount(); |
| | | return CommonResult.success(dto); |
| | | } |
| | | } |
| | |
| | | package com.ycl.mapper.smoke; |
| | | |
| | | import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
| | | import com.ycl.dto.smoker.InTimeCountDto; |
| | | import com.ycl.entity.smoke.OdsInTime; |
| | | |
| | | /** |
| | |
| | | */ |
| | | public interface OdsInTimeMapper extends BaseMapper<OdsInTime> { |
| | | |
| | | InTimeCountDto getInTimeCount(); |
| | | } |
| | |
| | | |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | | import com.baomidou.mybatisplus.extension.service.IService; |
| | | import com.ycl.dto.smoker.InTimeCountDto; |
| | | import com.ycl.entity.smoke.OdsInTime; |
| | | |
| | | /** |
| | |
| | | public interface IOdsInTimeService extends IService<OdsInTime> { |
| | | |
| | | Page<OdsInTime> findList(String owner, String onlineStatus, String startTime, String endTime, String type, String status, Integer pageSize, Integer pageNum); |
| | | |
| | | InTimeCountDto getInTimeCount(); |
| | | } |
| | |
| | | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
| | | import com.ycl.dto.smoker.InTimeCountDto; |
| | | import com.ycl.entity.smoke.OdsCustomer; |
| | | import com.ycl.entity.smoke.OdsInTime; |
| | | import com.ycl.mapper.smoke.OdsInTimeMapper; |
| | | import com.ycl.service.smoke.IOdsInTimeService; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | import java.text.ParseException; |
| | | import java.text.SimpleDateFormat; |
| | | import java.util.Date; |
| | | |
| | | /** |
| | | * <p> |
| | |
| | | Page<OdsInTime> page = new Page<>(pageNum, pageSize); |
| | | QueryWrapper<OdsInTime> wrapper = new QueryWrapper<>(); |
| | | LambdaQueryWrapper<OdsInTime> lambda = wrapper.lambda(); |
| | | if (StrUtil.isNotEmpty(keyword)) { |
| | | lambda.like(OdsInTime::getName, keyword); |
| | | if (StrUtil.isNotEmpty(owner)) { |
| | | lambda.eq(OdsInTime::getOwner, owner); |
| | | } |
| | | if (StrUtil.isNotEmpty(onlineStatus)) { |
| | | lambda.eq(OdsInTime::getOnlineStatus, onlineStatus); |
| | | } |
| | | if (StrUtil.isNotEmpty(startTime)) { |
| | | try { |
| | | SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); |
| | | Date startdate = format.parse(startTime); |
| | | Long startTimestamp = startdate.getTime(); |
| | | |
| | | Date enddate = format.parse(endTime); |
| | | Long endTimestamp = enddate.getTime(); |
| | | |
| | | lambda.between(OdsInTime::getLastAt, startTimestamp, endTimestamp); |
| | | } catch (ParseException e) { |
| | | throw new RuntimeException(e); |
| | | } |
| | | } |
| | | if (StrUtil.isNotEmpty(type)) { |
| | | lambda.eq(OdsInTime::getTyp, type); |
| | | } |
| | | if (StrUtil.isNotEmpty(status)) { |
| | | lambda.eq(OdsInTime::getStatus, status); |
| | | } |
| | | |
| | | return this.page(page, wrapper); |
| | | |
| | | } |
| | | |
| | | @Override |
| | | public InTimeCountDto getInTimeCount() { |
| | | return baseMapper.getInTimeCount(); |
| | | } |
| | | } |
| | |
| | | <sql id="Base_Column_List"> |
| | | id, string, acquit_at, last_at, c_emissions, c_granule, c_hydrocarbon, emissions_conc, granule_conc, hydrocarbon_conc, fan_status, filter_status, typ, status, velocity, temperature, moisture, locale, lid, owner, addr, emissions_sill, granule_sill, hydrocarbon_sill, link_status, customer_mobile, locale_lng, localelat, fan_current, pur_current, online_status, status_of_record |
| | | </sql> |
| | | <select id="getInTimeCount" resultType="com.ycl.dto.smoker.InTimeCountDto"> |
| | | SELECT sum(CASE WHEN online_status = 1 THEN 1 ELSE 0 END ) onlineCount, |
| | | count(id) monitor, |
| | | count(id) devices |
| | | from ums_ods_in_time |
| | | </select> |
| | | |
| | | </mapper> |