1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798 |
- package com.iden.bms.service;
- import cn.hutool.core.collection.CollUtil;
- import cn.hutool.core.util.StrUtil;
- import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
- import com.baomidou.mybatisplus.core.metadata.IPage;
- import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
- import com.iden.common.entity.*;
- import com.iden.common.enums.*;
- import com.iden.common.service.*;
- import com.iden.common.vo.*;
- import org.springframework.beans.BeanUtils;
- import org.springframework.stereotype.Service;
- import javax.annotation.Resource;
- import java.util.ArrayList;
- import java.util.List;
- /**
- *
- * @author makejava
- * @since 2021-05-21 00:08:38
- */
- @Service
- public class WarningStaService {
- @Resource
- private IdenWarningStaService idenWarningStaService;
- public Integer countCommunity(String type,String district, String subdistrict, String communityName, String beginDate, String endDate, UserLoginedConvertVO loginUser) {
- QueryWrapper<IdenWarningSta> queryWrapper = new QueryWrapper<>();
- queryWrapper.lambda().eq(IdenWarningSta::getType,type)
- .like(StrUtil.isNotEmpty(communityName),IdenWarningSta::getCommunityName,communityName)
- .eq(StrUtil.isNotEmpty(district),IdenWarningSta::getDistrict,district)
- .eq(StrUtil.isNotEmpty(subdistrict),IdenWarningSta::getSubdistrict,subdistrict)
- .ge(StrUtil.isNotEmpty(beginDate),IdenWarningSta::getDataDate,beginDate)
- .le(StrUtil.isNotEmpty(endDate),IdenWarningSta::getDataDate,endDate);
- queryWrapper.groupBy("community_id");
- queryWrapper.select(
- "community_id communityId",
- "max(community_code) communityCode",
- "max(community_name) communityName",
- "max(district) district",
- "max(subdistrict) subdistrict",
- "max(data_date) dataDate",
- "IFNULL(SUM(total),0) total"
- );
- return this.idenWarningStaService.count(queryWrapper);
- }
- /**
- * 查询预警统计列表
- * @return
- */
- public IPage<WarningStaVO> listWarningSta(String type, String district, String subdistrict, String communityName, String beginDate, String endDate, UserLoginedConvertVO loginUser, PageReqVO pageReqVo) {
- IPage<IdenWarningSta> page = new Page<>(pageReqVo.getCurrent(), pageReqVo.getPageSize());
- QueryWrapper<IdenWarningSta> queryWrapper = new QueryWrapper<>();
- queryWrapper.lambda().eq(IdenWarningSta::getType,type)
- .like(StrUtil.isNotEmpty(communityName), IdenWarningSta::getCommunityName,communityName)
- .eq(StrUtil.isNotEmpty(district),IdenWarningSta::getDistrict,district)
- .eq(StrUtil.isNotEmpty(subdistrict),IdenWarningSta::getSubdistrict,subdistrict)
- .ge(StrUtil.isNotEmpty(beginDate),IdenWarningSta::getDataDate,beginDate)
- .le(StrUtil.isNotEmpty(endDate),IdenWarningSta::getDataDate,endDate)
- .orderByAsc(IdenWarningSta::getId);
- queryWrapper.groupBy("community_id");
- queryWrapper.select(
- "community_id communityId",
- "max(community_code) communityCode",
- "max(community_name) communityName",
- "max(district) district",
- "max(subdistrict) subdistrict",
- "max(data_date) dataDate",
- "IFNULL(SUM(total),0) total"
- );
- IPage<IdenWarningSta> pageRes = this.idenWarningStaService.page(page, queryWrapper);
- IPage<WarningStaVO> results = new Page<>(pageRes.getCurrent(),pageRes.getSize(),pageRes.getTotal());
- if(CollUtil.isNotEmpty(pageRes.getRecords())){
- List<WarningStaVO> list = new ArrayList<>();
- pageRes.getRecords().forEach(item -> {
- WarningStaVO resVO = new WarningStaVO();
- BeanUtils.copyProperties(item,resVO);
- resVO.setTypeName(WarningTypeEnum.getValueToName(resVO.getType()));
- list.add(resVO);
- });
- results.setRecords(list);
- }
- return results;
- }
- }
|