小区统计

This commit is contained in:
曹磊 2025-07-03 15:20:30 +08:00
parent bb5deff3d8
commit b74dace881
6 changed files with 65 additions and 21 deletions

View File

@ -46,7 +46,7 @@ import org.apache.shiro.authz.annotation.RequiresPermissions;
*/ */
@Api(tags="小区信息") @Api(tags="小区信息")
@RestController @RestController
@RequestMapping("/housingestateInfo/blHousingestateInfo") @RequestMapping("/zh/blHousingestateInfo")
@Slf4j @Slf4j
public class BlHousingestateInfoController extends JeecgController<BlHousingestateInfo, IBlHousingestateInfoService> { public class BlHousingestateInfoController extends JeecgController<BlHousingestateInfo, IBlHousingestateInfoService> {
@Autowired @Autowired
@ -68,9 +68,8 @@ public class BlHousingestateInfoController extends JeecgController<BlHousingesta
@RequestParam(name="pageNo", defaultValue="1") Integer pageNo, @RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
@RequestParam(name="pageSize", defaultValue="10") Integer pageSize, @RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
HttpServletRequest req) { HttpServletRequest req) {
QueryWrapper<BlHousingestateInfo> queryWrapper = QueryGenerator.initQueryWrapper(blHousingestateInfo, req.getParameterMap());
Page<BlHousingestateInfo> page = new Page<BlHousingestateInfo>(pageNo, pageSize); Page<BlHousingestateInfo> page = new Page<BlHousingestateInfo>(pageNo, pageSize);
IPage<BlHousingestateInfo> pageList = blHousingestateInfoService.page(page, queryWrapper); IPage<BlHousingestateInfo> pageList = blHousingestateInfoService.findPage(page, blHousingestateInfo);
return Result.OK(pageList); return Result.OK(pageList);
} }

View File

@ -63,6 +63,10 @@ public class BlHousingestateInfo implements Serializable {
@Excel(name = "设备数量", width = 15) @Excel(name = "设备数量", width = 15)
@ApiModelProperty(value = "设备数量") @ApiModelProperty(value = "设备数量")
private String dtusCount; private String dtusCount;
/**注册会员数*/
@Excel(name = "注册会员数", width = 15)
@ApiModelProperty(value = "注册会员数")
private String hyCount;
/**创建时间*/ /**创建时间*/
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")

View File

@ -2,6 +2,8 @@ package org.jeecg.modules.zh.view.housingestateInfo.mapper;
import java.util.List; import java.util.List;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
import org.jeecg.modules.zh.view.housingestateInfo.entity.BlHousingestateInfo; import org.jeecg.modules.zh.view.housingestateInfo.entity.BlHousingestateInfo;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
@ -15,6 +17,8 @@ import org.jeecg.modules.zh.view.hy.entity.Hy;
*/ */
public interface BlHousingestateInfoMapper extends BaseMapper<BlHousingestateInfo> { public interface BlHousingestateInfoMapper extends BaseMapper<BlHousingestateInfo> {
IPage<BlHousingestateInfo> findPage(Page<BlHousingestateInfo> page, @Param("params")BlHousingestateInfo blHousingestateInfo);
List<Hy> queryXqHyTdzlList(Hy hy); List<Hy> queryXqHyTdzlList(Hy hy);
List<Hy> queryXqHyXzList(Hy hy); List<Hy> queryXqHyXzList(Hy hy);

View File

@ -2,36 +2,62 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <!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.housingestateInfo.mapper.BlHousingestateInfoMapper"> <mapper namespace="org.jeecg.modules.zh.view.housingestateInfo.mapper.BlHousingestateInfoMapper">
<select id="findPage" parameterType="org.jeecg.modules.zh.view.housingestateInfo.entity.BlHousingestateInfo" resultType="org.jeecg.modules.zh.view.housingestateInfo.entity.BlHousingestateInfo">
select
housingestate_id as housingestateId,
name,
status,
type,
(select count(*) from bl_device_info b where a.housingestate_id = b.housingestate_id) as dtus_count,
(select count(*) from bl_user_info b where a.housingestate_id = b.housingestate_id) as hyCount
from bl_housingestate_info a
<where>
<if test="params.name != null and params.name != ''">
AND name LIKE concat('%',#{params.name},'%')
</if>
</where>
order by housingestate_id
</select>
<select id="queryXqHyTdzlList" parameterType="org.jeecg.modules.zh.view.hy.entity.Hy" resultType="org.jeecg.modules.zh.view.hy.entity.Hy"> <select id="queryXqHyTdzlList" parameterType="org.jeecg.modules.zh.view.hy.entity.Hy" resultType="org.jeecg.modules.zh.view.hy.entity.Hy">
select round(sum(a.weight),2) as cn ,b.`name` as shortHour select
from bl_order_info a , bl_housingestate_info b a.housingestate_id as housingestateId,
where a.housingestate_id = b.housingestate_id b.name as housingestateName,
round(sum(a.weight),2) as weight
from bl_order_info a
inner join bl_housingestate_info b on a.housingestate_id = b.housingestate_id
and a.add_time >= #{beginTime} and a.add_time >= #{beginTime}
and a.add_time &lt;= #{endTime} and a.add_time &lt;= #{endTime}
GROUP BY b.`NAME` group by a.housingestate_id,b.name
ORDER BY sum(a.weight) desc limit 10 ORDER BY weight desc
limit 10
</select> </select>
<select id="queryXqHyXzList" parameterType="org.jeecg.modules.zh.view.hy.entity.Hy" resultType="org.jeecg.modules.zh.view.hy.entity.Hy"> <select id="queryXqHyXzList" parameterType="org.jeecg.modules.zh.view.hy.entity.Hy" resultType="org.jeecg.modules.zh.view.hy.entity.Hy">
select b.`NAME` as shortDay,count(*) as cn select
from bl_user_info a , bl_housingestate_info b a.housingestate_id as housingestateId,
where a.housingestate_id = b.housingestate_id b.name as housingestateName,
and a.register_date >= #{beginTime} count(a.phone) as cn
from bl_user_info a
inner join bl_housingestate_info b on a.housingestate_id = b.housingestate_id
where a.register_date >= #{beginTime}
and a.register_date &lt;= #{endTime} and a.register_date &lt;= #{endTime}
group by b.`NAME` group by a.housingestate_id,b.name
ORDER BY count(*) desc limit 10 ORDER BY cn desc
limit 10
</select> </select>
<select id="queryXqHyTdcsList" parameterType="org.jeecg.modules.zh.view.hy.entity.Hy" resultType="org.jeecg.modules.zh.view.hy.entity.Hy"> <select id="queryXqHyTdcsList" parameterType="org.jeecg.modules.zh.view.hy.entity.Hy" resultType="org.jeecg.modules.zh.view.hy.entity.Hy">
select select
b.`NAME` as phone, a.housingestate_id as housingestateId,
count(*) as cn b.name as housingestateName,
from bl_order_info a , bl_housingestate_info b count(a.id) as cn
where a.housingestate_id = b.housingestate_id from bl_order_info a
and a.add_time >= #{beginTime} inner join bl_housingestate_info b on a.housingestate_id = b.housingestate_id
where a.add_time >= #{beginTime}
and a.add_time &lt;= #{endTime} and a.add_time &lt;= #{endTime}
group by b.`NAME` group by a.housingestate_id,b.name
order by count(*) desc limit 10 order by cn desc
limit 10
</select> </select>
</mapper> </mapper>

View File

@ -1,5 +1,7 @@
package org.jeecg.modules.zh.view.housingestateInfo.service; package org.jeecg.modules.zh.view.housingestateInfo.service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.jeecg.modules.zh.view.housingestateInfo.entity.BlHousingestateInfo; import org.jeecg.modules.zh.view.housingestateInfo.entity.BlHousingestateInfo;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import org.jeecg.modules.zh.view.hy.entity.Hy; import org.jeecg.modules.zh.view.hy.entity.Hy;
@ -14,6 +16,8 @@ import java.util.List;
*/ */
public interface IBlHousingestateInfoService extends IService<BlHousingestateInfo> { public interface IBlHousingestateInfoService extends IService<BlHousingestateInfo> {
IPage<BlHousingestateInfo> findPage(Page<BlHousingestateInfo> page,BlHousingestateInfo blHousingestateInfo);
List<Hy> queryXqHyTdzlList(Hy hy); List<Hy> queryXqHyTdzlList(Hy hy);
List<Hy> queryXqHyTdcsList(Hy hy); List<Hy> queryXqHyTdcsList(Hy hy);

View File

@ -1,5 +1,7 @@
package org.jeecg.modules.zh.view.housingestateInfo.service.impl; package org.jeecg.modules.zh.view.housingestateInfo.service.impl;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.jeecg.modules.zh.view.housingestateInfo.entity.BlHousingestateInfo; import org.jeecg.modules.zh.view.housingestateInfo.entity.BlHousingestateInfo;
import org.jeecg.modules.zh.view.housingestateInfo.mapper.BlHousingestateInfoMapper; import org.jeecg.modules.zh.view.housingestateInfo.mapper.BlHousingestateInfoMapper;
import org.jeecg.modules.zh.view.housingestateInfo.service.IBlHousingestateInfoService; import org.jeecg.modules.zh.view.housingestateInfo.service.IBlHousingestateInfoService;
@ -19,6 +21,11 @@ import java.util.List;
@Service @Service
public class BlHousingestateInfoServiceImpl extends ServiceImpl<BlHousingestateInfoMapper, BlHousingestateInfo> implements IBlHousingestateInfoService { public class BlHousingestateInfoServiceImpl extends ServiceImpl<BlHousingestateInfoMapper, BlHousingestateInfo> implements IBlHousingestateInfoService {
@Override
public IPage<BlHousingestateInfo> findPage(Page<BlHousingestateInfo> page, BlHousingestateInfo blHousingestateInfo) {
return baseMapper.findPage(page,blHousingestateInfo);
}
@Override @Override
public List<Hy> queryXqHyTdzlList(Hy hy) { public List<Hy> queryXqHyTdzlList(Hy hy) {
return baseMapper.queryXqHyTdzlList(hy); return baseMapper.queryXqHyTdzlList(hy);