From 56f9e7a7d6d3872b541e0225a0c47ac8d4e52258 Mon Sep 17 00:00:00 2001 From: 18650502300 <18650502300@163.com> Date: Mon, 13 Nov 2023 11:38:07 +0800 Subject: [PATCH] =?UTF-8?q?=E8=AE=BE=E5=A4=87=E5=88=86=E7=B1=BB--=E5=9E=8B?= =?UTF-8?q?=E5=8F=B7=E6=95=B0=E3=80=81=E8=AE=BE=E5=A4=87=E6=95=B0=20?= =?UTF-8?q?=E5=9E=8B=E5=8F=B7=E5=88=97=E8=A1=A8--=E7=B4=AF=E8=AE=A1?= =?UTF-8?q?=E6=BF=80=E6=B4=BB=EF=BC=8C=E5=9C=A8=E7=BA=BF=E7=8E=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/ruoyi/device/domain/AsDevice.java | 3 ++ .../ruoyi/device/domain/AsDeviceClassify.java | 6 ++- .../ruoyi/device/domain/AsDeviceVersion.java | 2 + .../java/com/ruoyi/device/domain/AsModel.java | 10 +++++ .../device/mapper/AsDeviceClassifyMapper.java | 4 +- .../ruoyi/device/mapper/AsDeviceMapper.java | 5 ++- .../device/mapper/AsDeviceVersionMapper.java | 5 ++- .../ruoyi/device/mapper/AsModelMapper.java | 5 ++- .../impl/AsDeviceClassifyServiceImpl.java | 31 ++++++++++--- .../service/impl/AsDeviceServiceImpl.java | 4 +- .../impl/AsDeviceVersionServiceImpl.java | 6 ++- .../service/impl/AsModelServiceImpl.java | 45 +++++++++++++++++-- 12 files changed, 110 insertions(+), 16 deletions(-) diff --git a/AutoSprout-watering/src/main/java/com/ruoyi/device/domain/AsDevice.java b/AutoSprout-watering/src/main/java/com/ruoyi/device/domain/AsDevice.java index 7a9ee6b..2198941 100644 --- a/AutoSprout-watering/src/main/java/com/ruoyi/device/domain/AsDevice.java +++ b/AutoSprout-watering/src/main/java/com/ruoyi/device/domain/AsDevice.java @@ -1,6 +1,8 @@ package com.ruoyi.device.domain; import java.util.Date; + +import com.baomidou.mybatisplus.annotation.TableName; import com.fasterxml.jackson.annotation.JsonFormat; import lombok.Data; import com.ruoyi.common.annotation.Excel; @@ -13,6 +15,7 @@ import com.ruoyi.common.core.domain.BaseEntity; * @date 2023-11-11 */ @Data +@TableName(value = "as_device") public class AsDevice extends BaseEntity { private static final long serialVersionUID = 1L; diff --git a/AutoSprout-watering/src/main/java/com/ruoyi/device/domain/AsDeviceClassify.java b/AutoSprout-watering/src/main/java/com/ruoyi/device/domain/AsDeviceClassify.java index ac42eda..0a19c66 100644 --- a/AutoSprout-watering/src/main/java/com/ruoyi/device/domain/AsDeviceClassify.java +++ b/AutoSprout-watering/src/main/java/com/ruoyi/device/domain/AsDeviceClassify.java @@ -1,5 +1,6 @@ package com.ruoyi.device.domain; +import com.baomidou.mybatisplus.annotation.TableName; import com.ruoyi.common.annotation.Excel; import lombok.Data; import com.ruoyi.common.core.domain.BaseEntity; @@ -11,6 +12,7 @@ import com.ruoyi.common.core.domain.BaseEntity; * @date 2023-11-11 */ @Data +@TableName(value = "as_device_classify") public class AsDeviceClassify extends BaseEntity { private static final long serialVersionUID = 1L; @@ -25,10 +27,10 @@ public class AsDeviceClassify extends BaseEntity /** 型号数 */ @Excel(name = "型号数") - private String modelNum; + private Integer modelNum; /** 设备数 */ @Excel(name = "设备数") - private String deviceNum; + private Integer deviceNum; } diff --git a/AutoSprout-watering/src/main/java/com/ruoyi/device/domain/AsDeviceVersion.java b/AutoSprout-watering/src/main/java/com/ruoyi/device/domain/AsDeviceVersion.java index e99e260..b942f9a 100644 --- a/AutoSprout-watering/src/main/java/com/ruoyi/device/domain/AsDeviceVersion.java +++ b/AutoSprout-watering/src/main/java/com/ruoyi/device/domain/AsDeviceVersion.java @@ -1,5 +1,6 @@ package com.ruoyi.device.domain; +import com.baomidou.mybatisplus.annotation.TableName; import lombok.Data; import com.ruoyi.common.annotation.Excel; import com.ruoyi.common.core.domain.BaseEntity; @@ -11,6 +12,7 @@ import com.ruoyi.common.core.domain.BaseEntity; * @date 2023-11-11 */ @Data +@TableName(value = "as_device_version") public class AsDeviceVersion extends BaseEntity { private static final long serialVersionUID = 1L; diff --git a/AutoSprout-watering/src/main/java/com/ruoyi/device/domain/AsModel.java b/AutoSprout-watering/src/main/java/com/ruoyi/device/domain/AsModel.java index dd5ad95..0ac07f2 100644 --- a/AutoSprout-watering/src/main/java/com/ruoyi/device/domain/AsModel.java +++ b/AutoSprout-watering/src/main/java/com/ruoyi/device/domain/AsModel.java @@ -1,5 +1,6 @@ package com.ruoyi.device.domain; +import com.baomidou.mybatisplus.annotation.TableName; import lombok.Data; import com.ruoyi.common.annotation.Excel; import com.ruoyi.common.core.domain.BaseEntity; @@ -11,6 +12,7 @@ import com.ruoyi.common.core.domain.BaseEntity; * @date 2023-11-11 */ @Data +@TableName(value = "as_model") public class AsModel extends BaseEntity { private static final long serialVersionUID = 1L; @@ -49,4 +51,12 @@ public class AsModel extends BaseEntity @Excel(name = "产品介绍") private String introduce; + /** 累计激活 */ + @Excel(name = "累计激活") + private Integer activationNum; + + /** 在线率 */ + @Excel(name = "在线率") + private String onlineRate; + } diff --git a/AutoSprout-watering/src/main/java/com/ruoyi/device/mapper/AsDeviceClassifyMapper.java b/AutoSprout-watering/src/main/java/com/ruoyi/device/mapper/AsDeviceClassifyMapper.java index 1d6e0c0..b439319 100644 --- a/AutoSprout-watering/src/main/java/com/ruoyi/device/mapper/AsDeviceClassifyMapper.java +++ b/AutoSprout-watering/src/main/java/com/ruoyi/device/mapper/AsDeviceClassifyMapper.java @@ -1,6 +1,8 @@ package com.ruoyi.device.mapper; import java.util.List; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.ruoyi.device.domain.AsDeviceClassify; /** @@ -9,7 +11,7 @@ import com.ruoyi.device.domain.AsDeviceClassify; * @author qiuzhenzhao * @date 2023-11-11 */ -public interface AsDeviceClassifyMapper +public interface AsDeviceClassifyMapper extends BaseMapper { /** * 查询设备分类 diff --git a/AutoSprout-watering/src/main/java/com/ruoyi/device/mapper/AsDeviceMapper.java b/AutoSprout-watering/src/main/java/com/ruoyi/device/mapper/AsDeviceMapper.java index 062ce4a..1fd0763 100644 --- a/AutoSprout-watering/src/main/java/com/ruoyi/device/mapper/AsDeviceMapper.java +++ b/AutoSprout-watering/src/main/java/com/ruoyi/device/mapper/AsDeviceMapper.java @@ -1,7 +1,10 @@ package com.ruoyi.device.mapper; import java.util.List; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.ruoyi.device.domain.AsDevice; +import com.ruoyi.system.domain.SysStudent; /** * 设备列表Mapper接口 @@ -9,7 +12,7 @@ import com.ruoyi.device.domain.AsDevice; * @author 邱贞招 * @date 2023-11-11 */ -public interface AsDeviceMapper +public interface AsDeviceMapper extends BaseMapper { /** * 查询设备列表 diff --git a/AutoSprout-watering/src/main/java/com/ruoyi/device/mapper/AsDeviceVersionMapper.java b/AutoSprout-watering/src/main/java/com/ruoyi/device/mapper/AsDeviceVersionMapper.java index bae322a..c634fc3 100644 --- a/AutoSprout-watering/src/main/java/com/ruoyi/device/mapper/AsDeviceVersionMapper.java +++ b/AutoSprout-watering/src/main/java/com/ruoyi/device/mapper/AsDeviceVersionMapper.java @@ -1,6 +1,9 @@ package com.ruoyi.device.mapper; import java.util.List; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.ruoyi.device.domain.AsDeviceClassify; import com.ruoyi.device.domain.AsDeviceVersion; /** @@ -9,7 +12,7 @@ import com.ruoyi.device.domain.AsDeviceVersion; * @author qiuzhenzhao * @date 2023-11-11 */ -public interface AsDeviceVersionMapper +public interface AsDeviceVersionMapper extends BaseMapper { /** * 查询固件版本 diff --git a/AutoSprout-watering/src/main/java/com/ruoyi/device/mapper/AsModelMapper.java b/AutoSprout-watering/src/main/java/com/ruoyi/device/mapper/AsModelMapper.java index 04d863f..025ec27 100644 --- a/AutoSprout-watering/src/main/java/com/ruoyi/device/mapper/AsModelMapper.java +++ b/AutoSprout-watering/src/main/java/com/ruoyi/device/mapper/AsModelMapper.java @@ -1,6 +1,9 @@ package com.ruoyi.device.mapper; import java.util.List; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.ruoyi.device.domain.AsDeviceVersion; import com.ruoyi.device.domain.AsModel; /** @@ -9,7 +12,7 @@ import com.ruoyi.device.domain.AsModel; * @author qiuzhenzhao * @date 2023-11-11 */ -public interface AsModelMapper +public interface AsModelMapper extends BaseMapper { /** * 查询型号列表 diff --git a/AutoSprout-watering/src/main/java/com/ruoyi/device/service/impl/AsDeviceClassifyServiceImpl.java b/AutoSprout-watering/src/main/java/com/ruoyi/device/service/impl/AsDeviceClassifyServiceImpl.java index a4649ec..2ff8d97 100644 --- a/AutoSprout-watering/src/main/java/com/ruoyi/device/service/impl/AsDeviceClassifyServiceImpl.java +++ b/AutoSprout-watering/src/main/java/com/ruoyi/device/service/impl/AsDeviceClassifyServiceImpl.java @@ -1,9 +1,15 @@ package com.ruoyi.device.service.impl; import java.util.List; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ruoyi.common.utils.DateUtils; +import com.ruoyi.device.domain.AsDevice; +import com.ruoyi.device.domain.AsModel; import com.ruoyi.device.mapper.AsDeviceMapper; -import org.springframework.beans.factory.annotation.Autowired; +import com.ruoyi.device.mapper.AsModelMapper; import org.springframework.stereotype.Service; import com.ruoyi.device.mapper.AsDeviceClassifyMapper; import com.ruoyi.device.domain.AsDeviceClassify; @@ -18,7 +24,7 @@ import javax.annotation.Resource; * @date 2023-11-11 */ @Service -public class AsDeviceClassifyServiceImpl implements IAsDeviceClassifyService +public class AsDeviceClassifyServiceImpl extends ServiceImpl implements IAsDeviceClassifyService { @Resource private AsDeviceClassifyMapper asDeviceClassifyMapper; @@ -26,6 +32,9 @@ public class AsDeviceClassifyServiceImpl implements IAsDeviceClassifyService @Resource private AsDeviceMapper asDeviceMapper; + @Resource + private AsModelMapper asModelMapper; + /** * 查询设备分类 * @@ -47,9 +56,21 @@ public class AsDeviceClassifyServiceImpl implements IAsDeviceClassifyService @Override public List selectAsDeviceClassifyList(AsDeviceClassify asDeviceClassify) { - //型号数,设备数 -// asDeviceMapper - return asDeviceClassifyMapper.selectAsDeviceClassifyList(asDeviceClassify); + List deviceClassifies = asDeviceClassifyMapper.selectAsDeviceClassifyList(asDeviceClassify); + QueryWrapper queryWrapper = Wrappers.query(); + QueryWrapper modelWrapper = Wrappers.query(); + for (AsDeviceClassify deviceClassify : deviceClassifies) { + //设备数 + queryWrapper.eq("classify_id",deviceClassify.getClassifyId()); + Integer deviceNum = asDeviceMapper.selectCount(queryWrapper); + deviceClassify.setDeviceNum(deviceNum); + + //型号数 + modelWrapper.eq("classify_id",deviceClassify.getClassifyId()); + Integer modelNum = asModelMapper.selectCount(modelWrapper); + deviceClassify.setModelNum(modelNum); + } + return deviceClassifies; } /** diff --git a/AutoSprout-watering/src/main/java/com/ruoyi/device/service/impl/AsDeviceServiceImpl.java b/AutoSprout-watering/src/main/java/com/ruoyi/device/service/impl/AsDeviceServiceImpl.java index 3d0e405..fc8d2a9 100644 --- a/AutoSprout-watering/src/main/java/com/ruoyi/device/service/impl/AsDeviceServiceImpl.java +++ b/AutoSprout-watering/src/main/java/com/ruoyi/device/service/impl/AsDeviceServiceImpl.java @@ -1,6 +1,8 @@ package com.ruoyi.device.service.impl; import java.util.List; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ruoyi.common.utils.DateUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -15,7 +17,7 @@ import com.ruoyi.device.service.IAsDeviceService; * @date 2023-11-11 */ @Service -public class AsDeviceServiceImpl implements IAsDeviceService +public class AsDeviceServiceImpl extends ServiceImpl implements IAsDeviceService { @Autowired private AsDeviceMapper asDeviceMapper; diff --git a/AutoSprout-watering/src/main/java/com/ruoyi/device/service/impl/AsDeviceVersionServiceImpl.java b/AutoSprout-watering/src/main/java/com/ruoyi/device/service/impl/AsDeviceVersionServiceImpl.java index e1de9a6..93eae6e 100644 --- a/AutoSprout-watering/src/main/java/com/ruoyi/device/service/impl/AsDeviceVersionServiceImpl.java +++ b/AutoSprout-watering/src/main/java/com/ruoyi/device/service/impl/AsDeviceVersionServiceImpl.java @@ -1,7 +1,11 @@ package com.ruoyi.device.service.impl; import java.util.List; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ruoyi.common.utils.DateUtils; +import com.ruoyi.device.domain.AsDeviceClassify; +import com.ruoyi.device.mapper.AsDeviceClassifyMapper; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.ruoyi.device.mapper.AsDeviceVersionMapper; @@ -15,7 +19,7 @@ import com.ruoyi.device.service.IAsDeviceVersionService; * @date 2023-11-11 */ @Service -public class AsDeviceVersionServiceImpl implements IAsDeviceVersionService +public class AsDeviceVersionServiceImpl extends ServiceImpl implements IAsDeviceVersionService { @Autowired private AsDeviceVersionMapper asDeviceVersionMapper; diff --git a/AutoSprout-watering/src/main/java/com/ruoyi/device/service/impl/AsModelServiceImpl.java b/AutoSprout-watering/src/main/java/com/ruoyi/device/service/impl/AsModelServiceImpl.java index cfa80e4..80439a4 100644 --- a/AutoSprout-watering/src/main/java/com/ruoyi/device/service/impl/AsModelServiceImpl.java +++ b/AutoSprout-watering/src/main/java/com/ruoyi/device/service/impl/AsModelServiceImpl.java @@ -1,13 +1,26 @@ package com.ruoyi.device.service.impl; +import java.math.RoundingMode; +import java.text.DecimalFormat; +import java.text.NumberFormat; import java.util.List; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ruoyi.common.utils.DateUtils; +import com.ruoyi.device.domain.AsDevice; +import com.ruoyi.device.domain.AsDeviceVersion; +import com.ruoyi.device.mapper.AsDeviceMapper; +import com.ruoyi.device.mapper.AsDeviceVersionMapper; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.ruoyi.device.mapper.AsModelMapper; import com.ruoyi.device.domain.AsModel; import com.ruoyi.device.service.IAsModelService; +import javax.annotation.Resource; + /** * 型号列表Service业务层处理 * @@ -15,11 +28,14 @@ import com.ruoyi.device.service.IAsModelService; * @date 2023-11-11 */ @Service -public class AsModelServiceImpl implements IAsModelService +public class AsModelServiceImpl extends ServiceImpl implements IAsModelService { - @Autowired + @Resource private AsModelMapper asModelMapper; + @Resource + private AsDeviceMapper deviceMapper; + /** * 查询型号列表 * @@ -41,7 +57,30 @@ public class AsModelServiceImpl implements IAsModelService @Override public List selectAsModelList(AsModel asModel) { - return asModelMapper.selectAsModelList(asModel); + List models = asModelMapper.selectAsModelList(asModel); + QueryWrapper queryWrapper = Wrappers.query(); + for (AsModel model: models) { + //累计激活 device表--activation_time激活时间不为null + queryWrapper.isNotNull("activation_time").ne("activation_time",""); + Integer activationNum = deviceMapper.selectCount(queryWrapper); + model.setActivationNum(activationNum); + + //在线率 device表--online_status为1 在线数/总数 + QueryWrapper queryWrapper2 = Wrappers.query(); + queryWrapper2.eq("online_status","1"); + Double onlineNum = deviceMapper.selectCount(queryWrapper2).doubleValue(); + + QueryWrapper totalWrapper = Wrappers.query(); + Double totalNum = deviceMapper.selectCount(totalWrapper).doubleValue(); + double rate = onlineNum / totalNum; + NumberFormat nf = NumberFormat.getPercentInstance(); + nf.setMinimumFractionDigits(2);//设置保留小数位 + nf.setRoundingMode(RoundingMode.HALF_UP); //设置舍入模式 + String onlineRate = nf.format(rate); + model.setOnlineRate(onlineRate); + } + + return models; } /**