设备统计

This commit is contained in:
曹磊 2025-07-04 14:29:44 +08:00
parent 2363b49174
commit 0ad86f5010
6 changed files with 177 additions and 0 deletions

View File

@ -55,6 +55,15 @@ public class ShebeiController extends JeecgController<Shebei, IShebeiService> {
return Result.OK(pageList); return Result.OK(pageList);
} }
/**
* 获取设备
*/
@RequestMapping(value = "/deviceList", method = RequestMethod.GET)
public Result deviceList(Shebei shebei) {
List<Shebei> list = service.deviceList(shebei);
return Result.ok(list);
}
/** /**
* 设备投递次数排行榜 * 设备投递次数排行榜
*/ */
@ -78,4 +87,22 @@ public class ShebeiController extends JeecgController<Shebei, IShebeiService> {
List<Shebei> list = service.querySheBeiTdzlList(shebei); List<Shebei> list = service.querySheBeiTdzlList(shebei);
return Result.ok(list); return Result.ok(list);
} }
/**
* 投递订单金额统计
*/
@RequestMapping(value = "/querySheBeiTdjetjList", method = RequestMethod.GET)
public Result querySheBeiTdjetjList(Shebei shebei) {
List<Shebei> list = service.querySheBeiTdjetjList(shebei);
return Result.ok(list);
}
/**
* 投递订单次数统计
*/
@RequestMapping(value = "/querySheBeiTdcstjList", method = RequestMethod.GET)
public Result querySheBeiTdcstjList(Shebei shebei) {
List<Shebei> list = service.querySheBeiTdcstjList(shebei);
return Result.ok(list);
}
} }

View File

@ -109,4 +109,8 @@ public class Shebei implements Serializable {
private Integer countMin;//最小投递数量 private Integer countMin;//最小投递数量
@TableField(exist = false) @TableField(exist = false)
private Integer countMax;//最大投递数量 private Integer countMax;//最大投递数量
@TableField(exist = false)
private String shortDay;
@TableField(exist = false)
private String money;
} }

View File

@ -17,7 +17,12 @@ import java.util.List;
public interface ShebeiMapper extends BaseMapper<Shebei> { public interface ShebeiMapper extends BaseMapper<Shebei> {
IPage<Shebei> queryDeviceInfo(Page<Shebei> page, @Param("params") Shebei shebei); IPage<Shebei> queryDeviceInfo(Page<Shebei> page, @Param("params") Shebei shebei);
Shebei getHousingestate(Shebei shebei);
Shebei getDevice(Shebei shebei);
List<Shebei> deviceList(Shebei shebei);
List<Shebei> querySheBeiTdcsList(Shebei shebei); List<Shebei> querySheBeiTdcsList(Shebei shebei);
List<Shebei> queryAllSheBeiTdcsList(Shebei shebei); List<Shebei> queryAllSheBeiTdcsList(Shebei shebei);
List<Shebei> querySheBeiTdzlList(Shebei shebei); List<Shebei> querySheBeiTdzlList(Shebei shebei);
List<Shebei> querySheBeiTdjetjList(Shebei shebei);
List<Shebei> querySheBeiTdcstjList(Shebei shebei);
} }

View File

@ -34,6 +34,62 @@
order by a.device_id order by a.device_id
</select> </select>
<select id="getHousingestate" parameterType="org.jeecg.modules.zh.view.shebei.entity.Shebei" resultType="org.jeecg.modules.zh.view.shebei.entity.Shebei">
select
housingestate_id as housingestateId,
name as housingestateName
from bl_housingestate_info
where status = '开启'
order by name
limit 1
</select>
<select id="getDevice" parameterType="org.jeecg.modules.zh.view.shebei.entity.Shebei" resultType="org.jeecg.modules.zh.view.shebei.entity.Shebei">
SELECT
a.device_id as deviceId,
a.imei,
a.iccid,
a.is_online as isOnline,
a.content,
a.lnglat,
a.box_num as boxNum,
a.in_warehouse as inWarehouse,
a.housingestate_id as housingestateId,
b.name as housingestateName
FROM bl_device_info a
LEFT JOIN bl_housingestate_info b ON a.housingestate_id = b.housingestate_id
<where>
<if test="housingestateId != null and housingestateId != ''">
AND a.housingestate_id = #{housingestateId}
</if>
<if test="isOnline != null and isOnline != ''">
AND a.is_online = #{isOnline}
</if>
</where>
limit 1
</select>
<select id="deviceList" parameterType="org.jeecg.modules.zh.view.shebei.entity.Shebei" resultType="org.jeecg.modules.zh.view.shebei.entity.Shebei">
SELECT
a.device_id as deviceId,
a.imei,
a.iccid,
a.is_online as isOnline,
a.content,
a.lnglat,
a.box_num as boxNum,
a.in_warehouse as inWarehouse,
a.housingestate_id as housingestateId,
b.name as housingestateName
FROM bl_device_info a
LEFT JOIN bl_housingestate_info b ON a.housingestate_id = b.housingestate_id
where a.is_online = 'true'
<if test="housingestateId != null and housingestateId != ''">
AND a.housingestate_id = #{housingestateId}
</if>
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 id="querySheBeiTdcsList" parameterType="org.jeecg.modules.zh.view.shebei.entity.Shebei" resultType="org.jeecg.modules.zh.view.shebei.entity.Shebei">
select select
b.name as housingestateName, b.name as housingestateName,
@ -108,4 +164,29 @@
left join bl_device_info c on a.imei = c.imei left join bl_device_info c on a.imei = c.imei
</select> </select>
<select id="querySheBeiTdjetjList" parameterType="org.jeecg.modules.zh.view.shebei.entity.Shebei" resultType="org.jeecg.modules.zh.view.shebei.entity.Shebei">
select imei,housingestate_id as housingestateId,
DATE_FORMAT(add_time,'%Y-%m-%d') as shortDay,
round(sum(money),2) as money
from bl_order_info
where add_time >= #{beginTime}
and add_time &lt;= #{endTime}
and imei = #{imei}
and invalid = '0'
group by shortDay,imei,housingestate_id
order by shortDay
</select>
<select id="querySheBeiTdcstjList" parameterType="org.jeecg.modules.zh.view.shebei.entity.Shebei" resultType="org.jeecg.modules.zh.view.shebei.entity.Shebei">
select imei,housingestate_id as housingestateId,
DATE_FORMAT(add_time,'%Y-%m-%d') as shortDay,
count(*) as cn
from bl_order_info
where add_time >= #{beginTime}
and add_time &lt;= #{endTime}
and imei = #{imei}
group by shortDay,imei,housingestate_id
order by shortDay
</select>
</mapper> </mapper>

View File

@ -18,7 +18,10 @@ import java.util.List;
public interface IShebeiService extends IService<Shebei> { public interface IShebeiService extends IService<Shebei> {
IPage<Shebei> queryDeviceInfo(Page<Shebei> page, Shebei shebei); IPage<Shebei> queryDeviceInfo(Page<Shebei> page, Shebei shebei);
List<Shebei> deviceList(Shebei shebei);
List<Shebei> querySheBeiTdcsList(Shebei shebei); List<Shebei> querySheBeiTdcsList(Shebei shebei);
List<Shebei> queryAllSheBeiTdcsList(Shebei shebei); List<Shebei> queryAllSheBeiTdcsList(Shebei shebei);
List<Shebei> querySheBeiTdzlList(Shebei shebei); List<Shebei> querySheBeiTdzlList(Shebei shebei);
List<Shebei> querySheBeiTdjetjList(Shebei shebei);
List<Shebei> querySheBeiTdcstjList(Shebei shebei);
} }

View File

@ -24,6 +24,14 @@ public class ShebeiServiceImpl extends ServiceImpl<ShebeiMapper, Shebei> impleme
return baseMapper.queryDeviceInfo(page, shebei); return baseMapper.queryDeviceInfo(page, shebei);
} }
/**
* 获取设备
*/
@Override
public List<Shebei> deviceList(Shebei shebei) {
return baseMapper.deviceList(shebei);
}
/** /**
* 设备投递次数排行榜 * 设备投递次数排行榜
*/ */
@ -47,4 +55,53 @@ public class ShebeiServiceImpl extends ServiceImpl<ShebeiMapper, Shebei> impleme
public List<Shebei> querySheBeiTdzlList(Shebei shebei) { public List<Shebei> querySheBeiTdzlList(Shebei shebei) {
return baseMapper.querySheBeiTdzlList(shebei); return baseMapper.querySheBeiTdzlList(shebei);
} }
/**
* 投递订单金额统计
*/
@Override
public List<Shebei> querySheBeiTdjetjList(Shebei shebei) {
if(shebei.getImei()==null||shebei.getImei().equals("")){
if(shebei.getHousingestateId()!=null&&!shebei.getHousingestateId().equals("")){
Shebei deivce = baseMapper.getDevice(shebei);
if(deivce!=null){
shebei.setImei(deivce.getImei());
}
}else{
Shebei housingestate = baseMapper.getHousingestate(null);
if(housingestate!=null){
shebei.setHousingestateId(housingestate.getHousingestateId());
Shebei deivce = baseMapper.getDevice(shebei);
if(deivce!=null){
shebei.setImei(deivce.getImei());
}
}
}
}
return baseMapper.querySheBeiTdjetjList(shebei);
}
/**
* 投递订单次数统计
*/
@Override
public List<Shebei> querySheBeiTdcstjList(Shebei shebei) {
if(shebei.getImei()==null||shebei.getImei().equals("")){
if(shebei.getHousingestateId()!=null&&!shebei.getHousingestateId().equals("")){
Shebei deivce = baseMapper.getDevice(shebei);
if(deivce!=null){
shebei.setImei(deivce.getImei());
}
}else{
Shebei housingestate = baseMapper.getHousingestate(null);
if(housingestate!=null){
shebei.setHousingestateId(housingestate.getHousingestateId());
Shebei deivce = baseMapper.getDevice(shebei);
if(deivce!=null){
shebei.setImei(deivce.getImei());
}
}
}
}
return baseMapper.querySheBeiTdcstjList(shebei);
}
} }