清运报表
This commit is contained in:
parent
76c9d407b7
commit
04def3cf65
|
@ -178,6 +178,7 @@ public class DeviceClearLogServiceImpl extends JeecgServiceImpl<DeviceClearLogMa
|
||||||
String imei = json.getStr("dtu");//设备
|
String imei = json.getStr("dtu");//设备
|
||||||
String type = json.getStr("type");
|
String type = json.getStr("type");
|
||||||
String addTime = json.getStr("add_time");
|
String addTime = json.getStr("add_time");
|
||||||
|
addTime = addTime.replace(".000000Z","").replace("T"," ");
|
||||||
String startTime = json.getStr("start_time");
|
String startTime = json.getStr("start_time");
|
||||||
String finishedTime = json.getStr("finished_time");
|
String finishedTime = json.getStr("finished_time");
|
||||||
String startWeight = json.getStr("start_weight");
|
String startWeight = json.getStr("start_weight");
|
||||||
|
|
|
@ -1,10 +1,7 @@
|
||||||
package org.jeecg.modules.zh.view.hy.entity;
|
package org.jeecg.modules.zh.view.hy.entity;
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.annotation.TableField;
|
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
|
||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
import java.util.Date;
|
|
||||||
|
|
||||||
@Data
|
@Data
|
||||||
public class Hy implements Serializable {
|
public class Hy implements Serializable {
|
||||||
|
|
|
@ -0,0 +1,100 @@
|
||||||
|
package org.jeecg.modules.zh.view.qy.controller;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
|
import io.swagger.annotations.Api;
|
||||||
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import org.jeecg.common.api.vo.Result;
|
||||||
|
import org.jeecg.common.system.base.controller.JeecgController;
|
||||||
|
import org.jeecg.modules.zh.view.qy.entity.Qy;
|
||||||
|
import org.jeecg.modules.zh.view.qy.service.IQyService;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.web.bind.annotation.*;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Description: 清运信息
|
||||||
|
* @Author: jeecg-boot
|
||||||
|
* @Date: 2025-07-07
|
||||||
|
* @Version: V1.0
|
||||||
|
*/
|
||||||
|
@Api(tags="清运信息")
|
||||||
|
@RestController
|
||||||
|
@RequestMapping("/zh/qy")
|
||||||
|
@Slf4j
|
||||||
|
public class QyController extends JeecgController<Qy, IQyService> {
|
||||||
|
@Autowired
|
||||||
|
private IQyService service;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 司机列表
|
||||||
|
*/
|
||||||
|
@RequestMapping(value = "/queryStaffList", method = RequestMethod.GET)
|
||||||
|
public Result queryStaffList(Qy qy) {
|
||||||
|
List<Qy> list = service.queryStaffList(qy);
|
||||||
|
return Result.ok(list);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 司机清运列表
|
||||||
|
*/
|
||||||
|
@RequestMapping(value = "/querySjQyList", method = RequestMethod.GET)
|
||||||
|
public Result querySjQyList(Qy qy) {
|
||||||
|
List<Qy> list = service.querySjQyList(qy);
|
||||||
|
return Result.ok(list);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 司机清运重量排行榜
|
||||||
|
*/
|
||||||
|
@RequestMapping(value = "/querySjQyZlList", method = RequestMethod.GET)
|
||||||
|
public Result querySjQyZlList(Qy qy,
|
||||||
|
@RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
|
||||||
|
@RequestParam(name="pageSize", defaultValue="10") Integer pageSize) {
|
||||||
|
Page<Qy> page = new Page<Qy>(pageNo, pageSize);
|
||||||
|
IPage<Qy> list = service.querySjQyZlList(page,qy);
|
||||||
|
return Result.ok(list);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 司机清运次数排行榜
|
||||||
|
*/
|
||||||
|
@RequestMapping(value = "/querySjQyCsList", method = RequestMethod.GET)
|
||||||
|
public Result querySjQyCsList(Qy qy,
|
||||||
|
@RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
|
||||||
|
@RequestParam(name="pageSize", defaultValue="10") Integer pageSize) {
|
||||||
|
Page<Qy> page = new Page<Qy>(pageNo, pageSize);
|
||||||
|
IPage<Qy> list = service.querySjQyCsList(page,qy);
|
||||||
|
return Result.ok(list);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 时间段清运次数统计
|
||||||
|
*/
|
||||||
|
@RequestMapping(value = "/querySjdQyCsList", method = RequestMethod.GET)
|
||||||
|
public Result querySjdQyCsList(Qy qy) {
|
||||||
|
List<Qy> list = service.querySjdQyCsList(qy);
|
||||||
|
return Result.ok(list);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 时间段清运重量统计
|
||||||
|
*/
|
||||||
|
@RequestMapping(value = "/querySjdQyZlList", method = RequestMethod.GET)
|
||||||
|
public Result querySjdQyZlList(Qy qy) {
|
||||||
|
List<Qy> list = service.querySjdQyZlList(qy);
|
||||||
|
return Result.ok(list);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 小区清运次数排行榜
|
||||||
|
*/
|
||||||
|
@RequestMapping(value = "/queryXqQyCsListlList", method = RequestMethod.GET)
|
||||||
|
public Result queryXqQyCsListlList(Qy qy,
|
||||||
|
@RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
|
||||||
|
@RequestParam(name="pageSize", defaultValue="10") Integer pageSize) {
|
||||||
|
Page<Qy> page = new Page<Qy>(pageNo, pageSize);
|
||||||
|
IPage<Qy> list = service.queryXqQyCsListlList(page,qy);
|
||||||
|
return Result.ok(list);
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,30 @@
|
||||||
|
package org.jeecg.modules.zh.view.qy.entity;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
import java.io.Serializable;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
public class Qy implements Serializable {
|
||||||
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
||||||
|
private String staffPhone;
|
||||||
|
private String staffName;
|
||||||
|
private String housingId;
|
||||||
|
private String housingName;
|
||||||
|
private String housingType;
|
||||||
|
private String imei;
|
||||||
|
private String content;
|
||||||
|
private String dtu;
|
||||||
|
private String addTime;
|
||||||
|
private String startTime;
|
||||||
|
private String finishedTime;
|
||||||
|
private String startWeight;
|
||||||
|
private String endWeight;
|
||||||
|
private String thisWeight;
|
||||||
|
private String status;
|
||||||
|
private String beginTime;
|
||||||
|
private String endTime;
|
||||||
|
private Integer rowNumber;
|
||||||
|
private Integer cn;
|
||||||
|
private String shortHour;
|
||||||
|
}
|
|
@ -0,0 +1,25 @@
|
||||||
|
package org.jeecg.modules.zh.view.qy.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.qy.entity.Qy;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Description: 清运信息
|
||||||
|
* @Author: jeecg-boot
|
||||||
|
* @Date: 2025-07-07
|
||||||
|
* @Version: V1.0
|
||||||
|
*/
|
||||||
|
public interface QyMapper extends BaseMapper<Qy> {
|
||||||
|
List<Qy> queryStaffList(Qy qy);
|
||||||
|
List<Qy> querySjQyList(Qy qy);
|
||||||
|
IPage<Qy> querySjQyZlList(Page<Qy> page, @Param("qy")Qy qy);
|
||||||
|
IPage<Qy> querySjQyCsList(Page<Qy> page, @Param("qy")Qy qy);
|
||||||
|
List<Qy> querySjdQyCsList(Qy qy);
|
||||||
|
List<Qy> querySjdQyZlList(Qy qy);
|
||||||
|
IPage<Qy> queryXqQyCsListlList(Page<Qy> page, @Param("qy")Qy qy);
|
||||||
|
}
|
|
@ -0,0 +1,166 @@
|
||||||
|
<?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="org.jeecg.modules.zh.view.qy.mapper.QyMapper">
|
||||||
|
|
||||||
|
<select id="queryStaffList" parameterType="org.jeecg.modules.zh.view.qy.entity.Qy" resultType="org.jeecg.modules.zh.view.qy.entity.Qy">
|
||||||
|
select distinct
|
||||||
|
staff_phone as staffPhone,
|
||||||
|
staff_name as staffName
|
||||||
|
from bl_device_clear_log
|
||||||
|
<where>
|
||||||
|
<if test="beginTime != null and beginTime !=''">
|
||||||
|
and start_time >= #{beginTime}
|
||||||
|
</if>
|
||||||
|
<if test="endTime != null and endTime !=''">
|
||||||
|
and start_time <= #{endTime}
|
||||||
|
</if>
|
||||||
|
</where>
|
||||||
|
order by staff_phone
|
||||||
|
</select>
|
||||||
|
|
||||||
|
<select id="querySjQyList" parameterType="org.jeecg.modules.zh.view.qy.entity.Qy" resultType="org.jeecg.modules.zh.view.qy.entity.Qy">
|
||||||
|
select
|
||||||
|
@row_num := @row_num + 1 AS rowNumber,
|
||||||
|
t.*
|
||||||
|
from (SELECT @row_num := 0) r,
|
||||||
|
(
|
||||||
|
select
|
||||||
|
a.staff_phone as staffPhone,
|
||||||
|
a.staff_name as staffName,
|
||||||
|
round(a.this_weight/-1,2) as thisWeight,
|
||||||
|
a.housing_id as housingId,
|
||||||
|
a.housing_name as housingName,
|
||||||
|
a.imei,
|
||||||
|
c.content,
|
||||||
|
a.dtu,
|
||||||
|
a.start_time as startTime,
|
||||||
|
a.finished_time as finishedTime,
|
||||||
|
a.status
|
||||||
|
from bl_device_clear_log a
|
||||||
|
inner join bl_device_info c on a.imei = c.imei
|
||||||
|
where a.status = '1'
|
||||||
|
and a.start_time >= #{beginTime}
|
||||||
|
and a.start_time <= #{endTime}
|
||||||
|
<if test="staffPhone!=null and staffPhone!=''">
|
||||||
|
and a.staff_phone = #{staffPhone}
|
||||||
|
</if>
|
||||||
|
<if test="status!=null and status!=''">
|
||||||
|
and a.status = #{status}
|
||||||
|
</if>
|
||||||
|
<if test="housingId!=null and housingId!=''">
|
||||||
|
and a.housing_id = #{housingId}
|
||||||
|
</if>
|
||||||
|
<if test="shortHour!=null and shortHour!=''">
|
||||||
|
and HOUR(a.start_time) = #{shortHour}
|
||||||
|
</if>
|
||||||
|
<if test="imei!=null and imei!=''">
|
||||||
|
and a.imei = #{imei}
|
||||||
|
</if>
|
||||||
|
) t
|
||||||
|
order by t.housingId,t.imei,t.dtu,t.startTime
|
||||||
|
</select>
|
||||||
|
|
||||||
|
<select id="querySjQyZlList" parameterType="org.jeecg.modules.zh.view.qy.entity.Qy" resultType="org.jeecg.modules.zh.view.qy.entity.Qy">
|
||||||
|
select
|
||||||
|
@row_num := @row_num + 1 AS rowNumber,
|
||||||
|
t.*
|
||||||
|
from (SELECT @row_num := 0) r,
|
||||||
|
(
|
||||||
|
select
|
||||||
|
staff_phone as staffPhone,
|
||||||
|
staff_name as staffName,
|
||||||
|
round(sum(this_weight)/-1000,2) as thisWeight
|
||||||
|
from bl_device_clear_log
|
||||||
|
where status = '1'
|
||||||
|
and start_time >= #{qy.beginTime}
|
||||||
|
and start_time <= #{qy.endTime}
|
||||||
|
<if test="qy.staffPhone!=null and qy.staffPhone!=''">
|
||||||
|
and staff_phone = #{qy.staffPhone}
|
||||||
|
</if>
|
||||||
|
group by staff_phone,staff_name
|
||||||
|
) t
|
||||||
|
order by t.thisWeight desc
|
||||||
|
</select>
|
||||||
|
|
||||||
|
<select id="querySjQyCsList" parameterType="org.jeecg.modules.zh.view.qy.entity.Qy" resultType="org.jeecg.modules.zh.view.qy.entity.Qy">
|
||||||
|
select
|
||||||
|
@row_num := @row_num + 1 AS rowNumber,
|
||||||
|
t.*
|
||||||
|
from (SELECT @row_num := 0) r,
|
||||||
|
(
|
||||||
|
select
|
||||||
|
staff_phone as staffPhone,
|
||||||
|
staff_name as staffName,
|
||||||
|
count(*) as cn
|
||||||
|
from bl_device_clear_log
|
||||||
|
where start_time >= #{qy.beginTime}
|
||||||
|
and start_time <= #{qy.endTime}
|
||||||
|
<if test="qy.staffPhone!=null and qy.staffPhone!=''">
|
||||||
|
and staff_phone = #{qy.staffPhone}
|
||||||
|
</if>
|
||||||
|
group by staff_phone,staff_name
|
||||||
|
) t
|
||||||
|
order by t.cn desc
|
||||||
|
</select>
|
||||||
|
|
||||||
|
<select id="querySjdQyCsList" parameterType="org.jeecg.modules.zh.view.qy.entity.Qy" resultType="org.jeecg.modules.zh.view.qy.entity.Qy">
|
||||||
|
select
|
||||||
|
a.short_hour as shortHour,
|
||||||
|
ifnull(b.cn,0) as cn
|
||||||
|
from bl_hour_info a
|
||||||
|
left join
|
||||||
|
(
|
||||||
|
select HOUR(start_time) as short_hour,count(*) as cn
|
||||||
|
from bl_device_clear_log
|
||||||
|
where start_time >= #{beginTime}
|
||||||
|
and start_time <= #{endTime}
|
||||||
|
<if test="housingId!=null and housingId!=''">
|
||||||
|
and housing_id = #{housingId}
|
||||||
|
</if>
|
||||||
|
group by HOUR(start_time)
|
||||||
|
) b on a.short_hour = b.short_hour
|
||||||
|
</select>
|
||||||
|
|
||||||
|
<select id="querySjdQyZlList" parameterType="org.jeecg.modules.zh.view.qy.entity.Qy" resultType="org.jeecg.modules.zh.view.qy.entity.Qy">
|
||||||
|
select
|
||||||
|
a.short_hour as shortHour,
|
||||||
|
ifnull(b.thisWeight,0) as thisWeight
|
||||||
|
from bl_hour_info a
|
||||||
|
left join
|
||||||
|
(
|
||||||
|
select HOUR(start_time) as short_hour,round(sum(this_weight)/-1000,2) as thisWeight
|
||||||
|
from bl_device_clear_log
|
||||||
|
where start_time >= #{beginTime}
|
||||||
|
and start_time <= #{endTime}
|
||||||
|
<if test="housingId!=null and housingId!=''">
|
||||||
|
and housing_id = #{housingId}
|
||||||
|
</if>
|
||||||
|
group by HOUR(start_time)
|
||||||
|
) b on a.short_hour = b.short_hour
|
||||||
|
</select>
|
||||||
|
|
||||||
|
<select id="queryXqQyCsListlList" parameterType="org.jeecg.modules.zh.view.qy.entity.Qy" resultType="org.jeecg.modules.zh.view.qy.entity.Qy">
|
||||||
|
select
|
||||||
|
@row_num := @row_num + 1 AS rowNumber,
|
||||||
|
t.*
|
||||||
|
from (SELECT @row_num := 0) r,
|
||||||
|
(
|
||||||
|
select
|
||||||
|
a.housing_id as housingId,
|
||||||
|
a.housing_name as housingName,
|
||||||
|
a.imei,
|
||||||
|
c.content,
|
||||||
|
count(*) as cn
|
||||||
|
from bl_device_clear_log a
|
||||||
|
inner join bl_device_info c on a.imei = c.imei
|
||||||
|
where a.start_time >= #{qy.beginTime}
|
||||||
|
and a.start_time <= #{qy.endTime}
|
||||||
|
<if test="qy.housingId!=null and qy.housingId!=''">
|
||||||
|
and a.housing_id = #{qy.housingId}
|
||||||
|
</if>
|
||||||
|
group by a.housing_id,a.housing_name,a.imei,c.content
|
||||||
|
) t
|
||||||
|
order by t.cn desc
|
||||||
|
</select>
|
||||||
|
|
||||||
|
</mapper>
|
|
@ -0,0 +1,25 @@
|
||||||
|
package org.jeecg.modules.zh.view.qy.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.qy.entity.Qy;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Description: 清运信息
|
||||||
|
* @Author: jeecg-boot
|
||||||
|
* @Date: 2025-07-07
|
||||||
|
* @Version: V1.0
|
||||||
|
*/
|
||||||
|
public interface IQyService extends IService<Qy> {
|
||||||
|
|
||||||
|
List<Qy> queryStaffList(Qy qy);
|
||||||
|
List<Qy> querySjQyList(Qy qy);
|
||||||
|
IPage<Qy> querySjQyZlList(Page<Qy> page, Qy qy);
|
||||||
|
IPage<Qy> querySjQyCsList(Page<Qy> page, Qy qy);
|
||||||
|
List<Qy> querySjdQyCsList(Qy qy);
|
||||||
|
List<Qy> querySjdQyZlList(Qy qy);
|
||||||
|
IPage<Qy> queryXqQyCsListlList(Page<Qy> page, Qy qy);
|
||||||
|
}
|
|
@ -0,0 +1,75 @@
|
||||||
|
package org.jeecg.modules.zh.view.qy.service.impl;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
|
import org.jeecg.modules.zh.view.qy.entity.Qy;
|
||||||
|
import org.jeecg.modules.zh.view.qy.mapper.QyMapper;
|
||||||
|
import org.jeecg.modules.zh.view.qy.service.IQyService;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Description: 清运信息
|
||||||
|
* @Author: jeecg-boot
|
||||||
|
* @Date: 2025-07-07
|
||||||
|
* @Version: V1.0
|
||||||
|
*/
|
||||||
|
@Service
|
||||||
|
public class QyServiceImpl extends ServiceImpl<QyMapper, Qy> implements IQyService {
|
||||||
|
|
||||||
|
public List<Qy> queryStaffList(Qy qy){
|
||||||
|
return baseMapper.queryStaffList(qy);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 司机清运列表
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public List<Qy> querySjQyList(Qy qy) {
|
||||||
|
return baseMapper.querySjQyList(qy);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 司机清运重量排行榜
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public IPage<Qy> querySjQyZlList(Page<Qy> page, Qy qy) {
|
||||||
|
return baseMapper.querySjQyZlList(page,qy);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 司机清运次数排行榜
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public IPage<Qy> querySjQyCsList(Page<Qy> page, Qy qy) {
|
||||||
|
return baseMapper.querySjQyCsList(page,qy);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 时间段清运次数统计
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public List<Qy> querySjdQyCsList(Qy qy) {
|
||||||
|
return baseMapper.querySjdQyCsList(qy);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 时间段清运重量统计
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public List<Qy> querySjdQyZlList(Qy qy) {
|
||||||
|
return baseMapper.querySjdQyZlList(qy);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 小区清运次数排行榜
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public IPage<Qy> queryXqQyCsListlList(Page<Qy> page, Qy qy) {
|
||||||
|
return baseMapper.queryXqQyCsListlList(page,qy);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
Loading…
Reference in New Issue