设备统计

This commit is contained in:
曹磊 2025-07-03 17:23:55 +08:00
parent 82f7f43bc4
commit 68a9e49bf7
11 changed files with 224 additions and 89 deletions

View File

@ -57,6 +57,24 @@ public class HyController {
return Result.ok(list);
}
/**
* 会员投递重量排行榜
*/
@RequestMapping(value = "/queryHyTdzlList", method = RequestMethod.GET)
public Result queryHyTdzlList(Hy hy) {
List<Hy> list = service.queryHyTdzlList(hy);
return Result.ok(list);
}
/**
* 会员违规信息统计
*/
@RequestMapping(value = "/queryHyWgList", method = RequestMethod.GET)
public Result queryHyWgList(Hy hy) {
List<Hy> list = service.queryHyWgList(hy);
return Result.ok(list);
}
@RequestMapping(value = "/queryAllHyTdcsList", method = RequestMethod.GET)
public Result queryAllHyTdcsList(Hy hy) {
List<Hy> list = service.queryAllHyTdcsList(hy);
@ -69,19 +87,4 @@ public class HyController {
return Result.ok(list);
}
/**
* 设备投递次数排行榜
*/
@RequestMapping(value = "/querySheBeiTdcsList", method = RequestMethod.GET)
public Result querySheBeiTdcsList(Hy hy) {
List<Hy> list = service.querySheBeiTdcsList(hy);
return Result.ok(list);
}
@RequestMapping(value = "/queryAllSheBeiTdcsList", method = RequestMethod.GET)
public Result queryAllSheBeiTdcsList(Hy hy) {
List<Hy> list = service.queryAllSheBeiTdcsList(hy);
return Result.ok(list);
}
}

View File

@ -14,9 +14,11 @@ public interface HyMapper extends BaseMapper<Hy>{
List<Hy> queryHyRegisterList(Hy hy);
List<Hy> queryHyXzList(Hy hy);
List<Hy> queryHyTdcsList(Hy hy);
List<Hy> queryHyTdzlList(Hy hy);
List<Hy> queryHyWgList(Hy hy);
List<Hy> queryAllHyTdcsList(Hy hy);
List<Hy> queryHyjlList(Hy hy);
List<Hy> querySheBeiTdcsList(Hy hy);
List<Hy> queryAllSheBeiTdcsList(Hy hy);
}

View File

@ -52,6 +52,41 @@
limit 10
</select>
<select id="queryHyTdzlList" parameterType="org.jeecg.modules.zh.view.hy.entity.Hy" resultType="org.jeecg.modules.zh.view.hy.entity.Hy">
select
phone,
round(sum(weight),2) as weight
from bl_order_info
where add_time >= #{beginTime}
and add_time &lt;= #{endTime}
<if test="housingestateId!=null and housingestateId!=''">
and housingestate_id = #{housingestateId}
</if>
group by phone
order by weight desc
limit 10
</select>
<select id="queryHyWgList" parameterType="org.jeecg.modules.zh.view.hy.entity.Hy" resultType="org.jeecg.modules.zh.view.hy.entity.Hy">
select
shortDay,
count(*) as cn
from (
select
distinct phone,
DATE_FORMAT(add_time,'%Y-%m-%d') as shortDay
from bl_order_info
where add_time >= #{beginTime}
and add_time &lt;= #{endTime}
and invalid in ('1','2')
<if test="housingestateId!=null and housingestateId!=''">
and housingestate_id = #{housingestateId}
</if>
) t
group by shortDay
order by shortDay
</select>
<select id="queryAllHyTdcsList" parameterType="org.jeecg.modules.zh.view.hy.entity.Hy" resultType="org.jeecg.modules.zh.view.hy.entity.Hy">
select
phone,
@ -87,53 +122,4 @@
order by add_time desc
</select>
<select id="querySheBeiTdcsList" parameterType="org.jeecg.modules.zh.view.hy.entity.Hy" resultType="org.jeecg.modules.zh.view.hy.entity.Hy">
select
b.name as housingestateName,
c.content,
a.imei,
a.cn
from (
select
housingestate_id,
imei,
count(*) as cn
from bl_order_info
where add_time >= #{beginTime}
and add_time &lt;= #{endTime}
<if test="housingestateId!=null and housingestateId!=''">
and housingestate_id = #{housingestateId}
</if>
group by housingestate_id,imei
order by cn desc
limit 10
) a
left join bl_housingestate_info b on a.housingestate_id = b.housingestate_id
left join bl_device_info c on a.imei = c.imei
</select>
<select id="queryAllSheBeiTdcsList" parameterType="org.jeecg.modules.zh.view.hy.entity.Hy" resultType="org.jeecg.modules.zh.view.hy.entity.Hy">
select
imei,
count(*) as cn
from bl_order_info
where add_time >= #{beginTime}
and add_time &lt;= #{endTime}
<if test="housingestateId!=null and housingestateId!=''">
and housingestate_id = #{housingestateId}
</if>
group by imei
<if test="countMin!=null or countMax!=null">
having
<if test="countMin!=null">
count(*) >= #{countMin}
</if>
<if test="countMin!=null and countMax!=null"> and </if>
<if test="countMax!=null">
count(*) &lt;= #{countMax}
</if>
</if>
order by cn desc
</select>
</mapper>

View File

@ -14,9 +14,10 @@ public interface IHyService extends IService<Hy> {
List<Hy> queryHyRegisterList(Hy hy);
List<Hy> queryHyXzList(Hy hy);
List<Hy> queryHyTdcsList(Hy hy);
List<Hy> queryHyTdzlList(Hy hy);
List<Hy> queryHyWgList(Hy hy);
List<Hy> queryAllHyTdcsList(Hy hy);
List<Hy> queryHyjlList(Hy hy);
List<Hy> querySheBeiTdcsList(Hy hy);
List<Hy> queryAllSheBeiTdcsList(Hy hy);
}

View File

@ -48,6 +48,22 @@ public class HyServiceImpl extends ServiceImpl<HyMapper, Hy> implements IHyServi
return baseMapper.queryHyTdcsList(hy);
}
/**
* 会员投递重量排行榜
*/
@Override
public List<Hy> queryHyTdzlList(Hy hy) {
return baseMapper.queryHyTdzlList(hy);
}
/**
* 会员违规信息统计
*/
@Override
public List<Hy> queryHyWgList(Hy hy) {
return baseMapper.queryHyWgList(hy);
}
/**
* 查询所有会员递次数排行榜
*/
@ -64,19 +80,4 @@ public class HyServiceImpl extends ServiceImpl<HyMapper, Hy> implements IHyServi
return baseMapper.queryHyjlList(hy);
}
/**
* 设备投递次数排行榜
*/
@Override
public List<Hy> querySheBeiTdcsList(Hy hy) {
return baseMapper.querySheBeiTdcsList(hy);
}
/**
* 查询所有设备递次数排行榜
*/
@Override
public List<Hy> queryAllSheBeiTdcsList(Hy hy) {
return baseMapper.queryAllSheBeiTdcsList(hy);
}
}

View File

@ -18,6 +18,7 @@ import org.springframework.web.servlet.ModelAndView;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.util.Arrays;
import java.util.List;
/**
* @Description: 设备信息
@ -54,4 +55,27 @@ public class ShebeiController extends JeecgController<Shebei, IShebeiService> {
return Result.OK(pageList);
}
/**
* 设备投递次数排行榜
*/
@RequestMapping(value = "/querySheBeiTdcsList", method = RequestMethod.GET)
public Result querySheBeiTdcsList(Shebei shebei) {
List<Shebei> list = service.querySheBeiTdcsList(shebei);
return Result.ok(list);
}
@RequestMapping(value = "/queryAllSheBeiTdcsList", method = RequestMethod.GET)
public Result queryAllSheBeiTdcsList(Shebei shebei) {
List<Shebei> list = service.queryAllSheBeiTdcsList(shebei);
return Result.ok(list);
}
/**
* 设备投递重量排行榜
*/
@RequestMapping(value = "/querySheBeiTdzlList", method = RequestMethod.GET)
public Result querySheBeiTdzlList(Shebei shebei) {
List<Shebei> list = service.querySheBeiTdzlList(shebei);
return Result.ok(list);
}
}

View File

@ -92,13 +92,21 @@ public class Shebei implements Serializable {
@TableField(exist = false)
private String housingestateName;
/**注册会员数*/
@Excel(name = "注册会员数", width = 15)
@ApiModelProperty(value = "注册会员数")
@TableField(exist = false)
private String hyCount;
/**投递次数*/
@Excel(name = "投递次数", width = 15)
@ApiModelProperty(value = "投递次数")
@TableField(exist = false)
private String tdcsCount;
@TableField(exist = false)
private Integer cn;
@TableField(exist = false)
private String weight;//重量
@TableField(exist = false)
private String beginTime;
@TableField(exist = false)
private String endTime;
@TableField(exist = false)
private Integer countMin;//最小投递数量
@TableField(exist = false)
private Integer countMax;//最大投递数量
}

View File

@ -1,12 +1,13 @@
package org.jeecg.modules.zh.view.shebei.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.apache.ibatis.annotations.Param;
import org.jeecg.modules.zh.view.shebei.entity.Shebei;
import java.util.List;
/**
* @Description: 设备信息
* @Author: jeecg-boot
@ -16,4 +17,7 @@ import org.jeecg.modules.zh.view.shebei.entity.Shebei;
public interface ShebeiMapper extends BaseMapper<Shebei> {
IPage<Shebei> queryDeviceInfo(Page<Shebei> page, @Param("params") Shebei shebei);
List<Shebei> querySheBeiTdcsList(Shebei shebei);
List<Shebei> queryAllSheBeiTdcsList(Shebei shebei);
List<Shebei> querySheBeiTdzlList(Shebei shebei);
}

View File

@ -34,4 +34,78 @@
order by a.device_id
</select>
<select id="querySheBeiTdcsList" parameterType="org.jeecg.modules.zh.view.shebei.entity.Shebei" resultType="org.jeecg.modules.zh.view.shebei.entity.Shebei">
select
b.name as housingestateName,
c.content,
a.imei,
a.cn
from (
select
housingestate_id,
imei,
count(*) as cn
from bl_order_info
where add_time >= #{beginTime}
and add_time &lt;= #{endTime}
<if test="housingestateId!=null and housingestateId!=''">
and housingestate_id = #{housingestateId}
</if>
group by housingestate_id,imei
order by cn desc
limit 10
) a
left join bl_housingestate_info b on a.housingestate_id = b.housingestate_id
left join bl_device_info c on a.imei = c.imei
</select>
<select id="queryAllSheBeiTdcsList" parameterType="org.jeecg.modules.zh.view.shebei.entity.Shebei" resultType="org.jeecg.modules.zh.view.shebei.entity.Shebei">
select
imei,
count(*) as cn
from bl_order_info
where add_time >= #{beginTime}
and add_time &lt;= #{endTime}
<if test="housingestateId!=null and housingestateId!=''">
and housingestate_id = #{housingestateId}
</if>
group by imei
<if test="countMin!=null or countMax!=null">
having
<if test="countMin!=null">
count(*) >= #{countMin}
</if>
<if test="countMin!=null and countMax!=null"> and </if>
<if test="countMax!=null">
count(*) &lt;= #{countMax}
</if>
</if>
order by cn desc
</select>
<select id="querySheBeiTdzlList" parameterType="org.jeecg.modules.zh.view.shebei.entity.Shebei" resultType="org.jeecg.modules.zh.view.shebei.entity.Shebei">
select
b.name as housingestateName,
c.content,
a.imei,
a.weight
from (
select
housingestate_id,
imei,
round(sum(weight),2) as weight
from bl_order_info
where add_time >= #{beginTime}
and add_time &lt;= #{endTime}
<if test="housingestateId!=null and housingestateId!=''">
and housingestate_id = #{housingestateId}
</if>
group by housingestate_id,imei
order by weight desc
limit 10
) a
left join bl_housingestate_info b on a.housingestate_id = b.housingestate_id
left join bl_device_info c on a.imei = c.imei
</select>
</mapper>

View File

@ -4,8 +4,11 @@ package org.jeecg.modules.zh.view.shebei.service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import org.jeecg.modules.zh.view.hy.entity.Hy;
import org.jeecg.modules.zh.view.shebei.entity.Shebei;
import java.util.List;
/**
* @Description: 设备信息
* @Author: jeecg-boot
@ -15,4 +18,7 @@ import org.jeecg.modules.zh.view.shebei.entity.Shebei;
public interface IShebeiService extends IService<Shebei> {
IPage<Shebei> queryDeviceInfo(Page<Shebei> page, Shebei shebei);
List<Shebei> querySheBeiTdcsList(Shebei shebei);
List<Shebei> queryAllSheBeiTdcsList(Shebei shebei);
List<Shebei> querySheBeiTdzlList(Shebei shebei);
}

View File

@ -8,6 +8,8 @@ import org.jeecg.modules.zh.view.shebei.mapper.ShebeiMapper;
import org.jeecg.modules.zh.view.shebei.service.IShebeiService;
import org.springframework.stereotype.Service;
import java.util.List;
/**
* @Description: 设备信息
* @Author: jeecg-boot
@ -21,4 +23,28 @@ public class ShebeiServiceImpl extends ServiceImpl<ShebeiMapper, Shebei> impleme
public IPage<Shebei> queryDeviceInfo(Page<Shebei> page, Shebei shebei) {
return baseMapper.queryDeviceInfo(page, shebei);
}
/**
* 设备投递次数排行榜
*/
@Override
public List<Shebei> querySheBeiTdcsList(Shebei shebei) {
return baseMapper.querySheBeiTdcsList(shebei);
}
/**
* 查询所有设备递次数排行榜
*/
@Override
public List<Shebei> queryAllSheBeiTdcsList(Shebei shebei) {
return baseMapper.queryAllSheBeiTdcsList(shebei);
}
/**
* 设备投递重量排行榜
*/
@Override
public List<Shebei> querySheBeiTdzlList(Shebei shebei) {
return baseMapper.querySheBeiTdzlList(shebei);
}
}