Browse Source

优化大屏数据

dev-v1.0.2
ganhao 3 months ago
parent
commit
229de67653
  1. 5
      zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/controller/web/supervision/DashboardCheckRegisterAreaController.java
  2. 16
      zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/controller/web/supervision/DashboardCheckRegisterHighController.java
  3. 33
      zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/bo/DashboardCheckHighAreaQueryBo.java
  4. 2
      zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/bo/DashboardCheckRegisterAreaQueryBo.java
  5. 49
      zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/vo/DashboardCheckHighAreaInfoVo.java
  6. 2
      zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/mapper/DashboardCheckRegisterDomainMapper.java
  7. 23
      zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/mapper/DashboardOverviewMapper.java
  8. 9
      zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/IDashboardOverviewService.java
  9. 3
      zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/impl/DashboardCheckRegisterAreaServiceImpl.java
  10. 16
      zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/impl/DashboardCheckRegisterDomainServiceImpl.java
  11. 79
      zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/impl/DashboardOverviewServiceImpl.java
  12. 2
      zdxt-modules/zdxt-enforcement-code/src/main/resources/mapper/enforcementcode/DashboardCheckRegisterAreaMapper.xml
  13. 31
      zdxt-modules/zdxt-enforcement-code/src/main/resources/mapper/enforcementcode/DashboardCheckRegisterDomainMapper.xml
  14. 123
      zdxt-modules/zdxt-enforcement-code/src/main/resources/mapper/enforcementcode/DashboardOverviewMapper.xml
  15. 10
      zdxt-modules/zdxt-enforcement-code/src/main/resources/mapper/enforcementcode/DashboardTrendStatMapper.xml

5
zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/controller/web/supervision/DashboardCheckRegisterAreaController.java

@ -2,8 +2,10 @@ package com.zdxt.enforcementcode.controller.web.supervision;
import com.zdxt.enforcementcode.domain.bo.DashboardCheckRegisterAreaBo;
import com.zdxt.enforcementcode.domain.bo.DashboardCheckRegisterAreaQueryBo;
import com.zdxt.enforcementcode.domain.bo.QueryDashboardOverviewBo;
import com.zdxt.enforcementcode.domain.vo.DashboardCheckRegisterAreaInfoVo;
import com.zdxt.enforcementcode.domain.vo.DashboardCheckRegisterAreaVo;
import com.zdxt.enforcementcode.domain.vo.LawEnforcementIntensityVo;
import com.zdxt.enforcementcode.service.IDashboardCheckRegisterAreaService;
import lombok.RequiredArgsConstructor;
import org.dromara.common.core.domain.R;
@ -36,8 +38,7 @@ public class DashboardCheckRegisterAreaController extends BaseController {
public R<DashboardCheckRegisterAreaInfoVo> getCheckRegisterArea(DashboardCheckRegisterAreaQueryBo bo) {
//1、默认查询上个月的数据
//2、totalCheckRegisterAreaInfo 查询条件: 年+月+城市code+level = 1
//3、checkRegisterAreaList 查询条件: 年+月+城市code+level = 2
//3、checkRegisterAreaList 查询条件: 年+月+城市code+level = 3
return dashboardCheckRegisterAreaService.getCheckRegisterArea(bo);
}
}

16
zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/controller/web/supervision/DashboardCheckRegisterHighController.java

@ -1,14 +1,13 @@
package com.zdxt.enforcementcode.controller.web.supervision;
import com.zdxt.enforcementcode.common.util.StringUtils;
import com.zdxt.enforcementcode.domain.bo.DashboardCheckRegisterAreaQueryBo;
import com.zdxt.enforcementcode.domain.bo.DashboardCheckRegisterDomainQueryBo;
import com.zdxt.enforcementcode.domain.bo.DashboardCheckRegisterHighQueryBo;
import com.zdxt.enforcementcode.domain.bo.DashboardCompanyHighFreqCheckBo;
import com.zdxt.enforcementcode.domain.bean.DashboardCheckRegisterArea;
import com.zdxt.enforcementcode.domain.bo.*;
import com.zdxt.enforcementcode.domain.vo.*;
import com.zdxt.enforcementcode.service.IDashboardCheckRegisterAreaService;
import com.zdxt.enforcementcode.service.IDashboardCheckRegisterDomainService;
import com.zdxt.enforcementcode.service.IDashboardCompanyHighFreqCheckService;
import com.zdxt.enforcementcode.service.IDashboardOverviewService;
import lombok.RequiredArgsConstructor;
import org.dromara.common.core.domain.R;
import org.dromara.common.mybatis.core.page.PageQuery;
@ -38,6 +37,9 @@ public class DashboardCheckRegisterHighController extends BaseController {
private final IDashboardCompanyHighFreqCheckService dashboardCompanyHighFreqCheckService;
private final IDashboardCheckRegisterAreaService dashboardCheckRegisterAreaService;
private final IDashboardOverviewService dashboardOverviewService;
/**
* 大屏-高频检查预警-各领域高频检查次数排行
* 1高频检查次数排行 pageQuery.orderByColumn = "sqjczs" , pageQuery.isAsc = "desc"
@ -69,9 +71,9 @@ public class DashboardCheckRegisterHighController extends BaseController {
* 前端不用默认不用传参数
*/
@GetMapping("/getHighInfoByArea")
public R<DashboardCheckRegisterAreaInfoVo> getHighInfoByArea(DashboardCheckRegisterAreaQueryBo bo) {
return dashboardCheckRegisterAreaService.getCheckRegisterArea(bo);
public R<List<DashboardCheckHighAreaInfoVo>> getHighInfoByArea(DashboardCheckHighAreaQueryBo bo) {
List<DashboardCheckHighAreaInfoVo> list = dashboardOverviewService.getHighInfoByArea(bo);
return R.ok(list);
}
}

33
zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/bo/DashboardCheckHighAreaQueryBo.java

@ -0,0 +1,33 @@
package com.zdxt.enforcementcode.domain.bo;
import com.zdxt.enforcementcode.domain.bean.DashboardCheckRegisterArea;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.dromara.common.mybatis.core.domain.BaseEntity;
/**
* 大屏-高频检查
*
* @author Lion Li
* @date 2026-06-02
*/
@Data
public class DashboardCheckHighAreaQueryBo extends BaseEntity {
/**
* 年份
*/
private Long year;
/**
* 月份 1-12
*/
private Long month;
/**
* 级别1- 2- 3-街道
*/
private Integer level;
}

2
zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/bo/DashboardCheckRegisterAreaQueryBo.java

@ -37,7 +37,7 @@ public class DashboardCheckRegisterAreaQueryBo extends BaseEntity {
private String cityCode;
/**
* 级别1- 2- 3-街道
* 级别1- 2-市直属3- 4-街道
*/
private Integer level;
}

49
zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/vo/DashboardCheckHighAreaInfoVo.java

@ -0,0 +1,49 @@
package com.zdxt.enforcementcode.domain.vo;
import cn.idev.excel.annotation.ExcelIgnoreUnannotated;
import cn.idev.excel.annotation.ExcelProperty;
import com.zdxt.enforcementcode.domain.bean.DashboardCheckRegisterArea;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import java.io.Serializable;
import java.util.List;
/**
* 大屏-高频检查区域
*
* @author Lion Li
* @date 2026-06-02
*/
@Data
@ExcelIgnoreUnannotated
@AutoMapper(target = DashboardCheckRegisterArea.class)
public class DashboardCheckHighAreaInfoVo implements Serializable {
/**
* 区县编码
*/
@ExcelProperty(value = "区县编码")
private String areaCode;
/**
* 区县名称
*/
@ExcelProperty(value = "区县名称")
private String areaName;
/**
* 高频检查次数
*/
private Long hpjccs;
/**
* 高频检查登记级别级别1-4
*/
private Integer gplevel;
}

2
zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/mapper/DashboardCheckRegisterDomainMapper.java

@ -27,7 +27,7 @@ public interface DashboardCheckRegisterDomainMapper extends BaseMapperPlus<Dashb
* @param month 月份
* @return 领域统计列表
*/
List<DashboardCheckRegisterDomainVo> queryRegisterDomainList(Long year, Long month);
List<DashboardCheckRegisterDomainVo> queryRegisterDomainList(Long year, Long month,String type);
/**
* 查询高频预警领域统计-按月

23
zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/mapper/DashboardOverviewMapper.java

@ -5,6 +5,7 @@ import com.zdxt.enforcementcode.domain.bean.DashboardOverview;
import com.zdxt.enforcementcode.domain.bo.GenerateDataBo;
import com.zdxt.enforcementcode.domain.bo.LawEnforcementIntensityQueryBo;
import com.zdxt.enforcementcode.domain.bo.QueryDashboardOverviewCountBo;
import com.zdxt.enforcementcode.domain.vo.DashboardCheckHighAreaInfoVo;
import com.zdxt.enforcementcode.domain.vo.DashboardOverviewVo;
import com.zdxt.enforcementcode.domain.vo.LawEnforcementIntensityVo;
import com.zdxt.enforcementcode.domain.vo.LawEnforcementIntensityCountVo;
@ -14,7 +15,7 @@ import java.util.List;
public interface DashboardOverviewMapper extends BaseMapperPlus<DashboardOverview, DashboardOverviewVo> {
LawEnforcementIntensityVo queryLawEnforcementIntensity(LawEnforcementIntensityQueryBo queryBo);
List<LawEnforcementIntensityVo> queryLawEnforcementIntensity(LawEnforcementIntensityQueryBo queryBo);
List<LawEnforcementIntensityCountVo> queryCount(QueryDashboardOverviewCountBo bo);
@ -22,4 +23,24 @@ public interface DashboardOverviewMapper extends BaseMapperPlus<DashboardOvervie
void generateOverviewData(GenerateDataBo bo);
/**
* 汇总生成市级大屏总览数据level=1
*/
void generateCityOverviewData(GenerateDataBo bo);
/**
* 更新同比环比数据
*/
void updateYoyMom(GenerateDataBo bo);
/**
* 查询高频检查区域统计信息
*
* @param year 年份
* @param month 月份
* @param level 级别1- 2- 3-街道
* @return 高频检查区域统计列表
*/
java.util.List<DashboardCheckHighAreaInfoVo> queryHighInfoByArea(Long year, Long month, Integer level);
}

9
zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/IDashboardOverviewService.java

@ -100,4 +100,13 @@ public interface IDashboardOverviewService {
* @return 生成结果信息
*/
String generateData(GenerateDataBo bo);
/**
* 高频检查预警-高频检查企业&高频检查区域统计
* 默认查询上个月数据
*
* @param bo 查询条件
* @return 高频检查区域统计列表
*/
List<com.zdxt.enforcementcode.domain.vo.DashboardCheckHighAreaInfoVo> getHighInfoByArea(com.zdxt.enforcementcode.domain.bo.DashboardCheckHighAreaQueryBo bo);
}

3
zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/impl/DashboardCheckRegisterAreaServiceImpl.java

@ -1,6 +1,7 @@
package com.zdxt.enforcementcode.service.impl;
import com.zdxt.enforcementcode.domain.bean.DashboardCheckRegisterArea;
import com.zdxt.enforcementcode.mapper.DashboardOverviewMapper;
import org.dromara.common.core.domain.R;
import org.dromara.common.core.utils.MapstructUtils;
import org.dromara.common.core.utils.StringUtils;
@ -38,6 +39,8 @@ public class DashboardCheckRegisterAreaServiceImpl implements IDashboardCheckReg
private final DashboardCheckRegisterAreaMapper baseMapper;
private final DashboardOverviewMapper dashboardOverviewMapper;
/**
* 查询大屏-检查登记-区域统计
*

16
zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/impl/DashboardCheckRegisterDomainServiceImpl.java

@ -1,5 +1,6 @@
package com.zdxt.enforcementcode.service.impl;
import cn.hutool.core.collection.CollectionUtil;
import com.zdxt.enforcementcode.domain.bean.DashboardCheckRegisterDomain;
import com.zdxt.enforcementcode.domain.bo.DashboardCheckRegisterDomainQueryBo;
import com.zdxt.enforcementcode.domain.bo.DashboardCheckRegisterHighQueryBo;
@ -164,15 +165,18 @@ public class DashboardCheckRegisterDomainServiceImpl implements IDashboardCheckR
month = (long) lastMonth.getMonthValue();
}
// 组装返回结果
DashboardCheckRegisterDomainInfoVo infoVo = new DashboardCheckRegisterDomainInfoVo();
// 查询总体概览数据
DashboardCheckRegisterDomainVo totalRegisterDomain = baseMapper.queryTotalRegisterDomain(year, month);
List<DashboardCheckRegisterDomainVo> totalRegisterDomainList = baseMapper.queryRegisterDomainList(year, month,"2");
if(CollectionUtil.isNotEmpty(totalRegisterDomainList)){
DashboardCheckRegisterDomainVo totalRegisterDomain =
baseMapper.queryRegisterDomainList(year, month,"2").get(0);
infoVo.setTotalRegisterDomain(totalRegisterDomain);
}
// 查询领域统计列表
List<DashboardCheckRegisterDomainVo> registerDomainList = baseMapper.queryRegisterDomainList(year, month);
// 组装返回结果
DashboardCheckRegisterDomainInfoVo infoVo = new DashboardCheckRegisterDomainInfoVo();
infoVo.setTotalRegisterDomain(totalRegisterDomain);
List<DashboardCheckRegisterDomainVo> registerDomainList = baseMapper.queryRegisterDomainList(year, month,"1");
infoVo.setRegisterDomainList(registerDomainList);
return R.ok(infoVo);

79
zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/impl/DashboardOverviewServiceImpl.java

@ -4,9 +4,7 @@ import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.util.IdUtil;
import com.zdxt.enforcementcode.domain.bean.DashboardOverview;
import com.zdxt.enforcementcode.domain.bo.*;
import com.zdxt.enforcementcode.domain.vo.DashboardAreaInfoVo;
import com.zdxt.enforcementcode.domain.vo.LawEnforcementIntensityVo;
import com.zdxt.enforcementcode.domain.vo.LawEnforcementIntensityCountVo;
import com.zdxt.enforcementcode.domain.vo.*;
import com.zdxt.enforcementcode.service.IDashboardAreaInfoService;
import org.dromara.common.core.utils.MapstructUtils;
@ -23,7 +21,6 @@ import org.dromara.common.translation.annotation.Translation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.annotation.Transient;
import org.springframework.stereotype.Service;
import com.zdxt.enforcementcode.domain.vo.DashboardOverviewVo;
import com.zdxt.enforcementcode.mapper.DashboardOverviewMapper;
import com.zdxt.enforcementcode.service.IDashboardOverviewService;
import org.springframework.transaction.annotation.Transactional;
@ -73,48 +70,20 @@ public class DashboardOverviewServiceImpl implements IDashboardOverviewService {
// 类型1:大屏总览数据
if (bo.getType() == 1) {
// // 先删除该年月的旧数据
// baseMapper.deleteByYearMonth(bo.getYear().longValue(), bo.getMonth().longValue());
// DashboardAreaInfoBo queryBo = new DashboardAreaInfoBo();
// queryBo.setLevel(2L);//查询所有的区
// List<DashboardAreaInfoVo> areaInfoVos = dashboardAreaInfoService.queryList(queryBo);
// for (DashboardAreaInfoVo areaInfoVo : areaInfoVos) {
// DashboardOverview dashboardOverviewArea = new DashboardOverview();
// dashboardOverviewArea.setId(IdUtil.simpleUUID());
// dashboardOverviewArea.setCityCode(areaInfoVo.getParentCode());
// dashboardOverviewArea.setCityName("深圳");
// dashboardOverviewArea.setYear(bo.getYear());
// dashboardOverviewArea.setMonth(bo.getMonth());
// dashboardOverviewArea.setDistrictCode(areaInfoVo.getCode());
// dashboardOverviewArea.setDistrictName(areaInfoVo.getName());
// dashboardOverviewArea.setLevel(3L);//区
// this.baseMapper.insert(dashboardOverviewArea);
// // 查询街道
// queryBo.setLevel(3L);
// queryBo.setParentCode(areaInfoVo.getCode());//区编码
// List<DashboardAreaInfoVo> streetInfoVos = dashboardAreaInfoService.queryList(queryBo);
// if(CollectionUtil.isNotEmpty(streetInfoVos)){
// for (DashboardAreaInfoVo dashboardAreaInfoVo: streetInfoVos ) {
// DashboardOverview dashboardOverviewStreet = new DashboardOverview();
// dashboardOverviewStreet.setId(IdUtil.simpleUUID());
// dashboardOverviewStreet.setCityCode("1");
// dashboardOverviewStreet.setCityName("深圳");
// dashboardOverviewStreet.setYear(bo.getYear());
// dashboardOverviewStreet.setMonth(bo.getMonth());
// dashboardOverviewStreet.setDistrictCode(areaInfoVo.getCode());
// dashboardOverviewStreet.setDistrictName(areaInfoVo.getName());
// dashboardOverviewStreet.setStreetCode(dashboardAreaInfoVo.getCode());
// dashboardOverviewStreet.setStreetName(dashboardAreaInfoVo.getName());
// dashboardOverviewStreet.setLevel(5L);//街道
// this.baseMapper.insert(dashboardOverviewStreet);
// }
// }
// 先删除该年月的旧数据
baseMapper.deleteByYearMonth(bo.getYear().longValue(), bo.getMonth().longValue());
}
// 通过SQL批量生成区级大屏总览数据(level=2)
baseMapper.generateOverviewData(bo);
// 汇总生成市级大屏总览数据(level=1)
baseMapper.generateCityOverviewData(bo);
return "大屏总览数据生成成功,年份:" + bo.getYear() + ",月份:" + bo.getMonth();
// 计算并更新同比、环比数据
baseMapper.updateYoyMom(bo);
}
return "大屏总览数据生成成功,年份:" + bo.getYear() + ",月份:" + bo.getMonth();
}
/**
* 查询大屏总览
@ -252,7 +221,11 @@ public class DashboardOverviewServiceImpl implements IDashboardOverviewService {
}
// 调用 Mapper 查询
return baseMapper.queryLawEnforcementIntensity(queryBo);
List<LawEnforcementIntensityVo> list = baseMapper.queryLawEnforcementIntensity(queryBo);
if (list == null || list.isEmpty()) {
return null;
}
return baseMapper.queryLawEnforcementIntensity(queryBo).get(0);
}
/**
@ -412,5 +385,23 @@ public class DashboardOverviewServiceImpl implements IDashboardOverviewService {
return baseMapper.deleteByIds(ids) > 0;
}
/**
* 高频检查预警-高频检查企业&高频检查区域统计
*/
@Override
public List<DashboardCheckHighAreaInfoVo> getHighInfoByArea(DashboardCheckHighAreaQueryBo bo) {
if (bo.getYear() == null || bo.getMonth() == null) {
LocalDate lastMonth = LocalDate.now().minusMonths(1);
bo.setYear((long) lastMonth.getYear());
bo.setMonth((long) lastMonth.getMonthValue());
}
if (bo.getLevel() == null) {
bo.setLevel(2);
}
List<DashboardCheckHighAreaInfoVo> list = baseMapper.queryHighInfoByArea(
bo.getYear(), bo.getMonth(), bo.getLevel());
return list;
}
}

2
zdxt-modules/zdxt-enforcement-code/src/main/resources/mapper/enforcementcode/DashboardCheckRegisterAreaMapper.xml

@ -84,7 +84,7 @@
<if test="cityCode != null and cityCode != ''">
AND city_code = #{cityCode}
</if>
AND level = 2
AND level = 3
ORDER BY area_name
</select>

31
zdxt-modules/zdxt-enforcement-code/src/main/resources/mapper/enforcementcode/DashboardCheckRegisterDomainMapper.xml

@ -19,9 +19,9 @@
SUM(xzcfzs) AS xzcfzs,
SUM(xzcftb) AS xzcftb,
SUM(xzcfhb) AS xzcfhb,
SUM(xzzqzs) AS xzzqzs,
SUM(xzzqtb) AS xzzqtb,
SUM(xzzqhb) AS xzzqhb,
SUM(xzqzzs) AS xzqzzs,
SUM(xzqztb) AS xzqztb,
SUM(xzqzhb) AS xzqzhb,
SUM(qtzfzs) AS qtzfzs,
SUM(qtzftb) AS qtzftb,
SUM(qtzfhb) AS qtzfhb
@ -50,9 +50,9 @@
xzcfzs,
xzcftb,
xzcfhb,
xzzqzs,
xzzqtb,
xzzqhb,
xzqzzs,
xzqztb,
xzqzhb,
qtzfzs,
qtzftb,
qtzfhb,
@ -63,6 +63,7 @@
WHERE is_delete = '0'
AND year = #{year}
AND month = #{month}
AND type = #{type}
ORDER BY lymc
</select>
@ -82,9 +83,9 @@
xzcfzs,
xzcftb,
xzcfhb,
xzzqzs,
xzzqtb,
xzzqhb,
xzqzzs,
xzqztb,
xzqzhb,
qtzfzs,
qtzftb,
qtzfhb
@ -111,9 +112,9 @@
SUM(xzcfzs) AS xzcfzs,
SUM(xzcftb) AS xzcftb,
SUM(xzcfhb) AS xzcfhb,
SUM(xzzqzs) AS xzzqzs,
SUM(xzzqtb) AS xzzqtb,
SUM(xzzqhb) AS xzzqhb,
SUM(xzqzzs) AS xzqzzs,
SUM(xzqztb) AS xzqztb,
SUM(xzqzhb) AS xzqzhb,
SUM(qtzfzs) AS qtzfzs,
SUM(qtzftb) AS qtzftb,
SUM(qtzfhb) AS qtzfhb
@ -143,9 +144,9 @@
SUM(xzcfzs) AS xzcfzs,
SUM(xzcftb) AS xzcftb,
SUM(xzcfhb) AS xzcfhb,
SUM(xzzqzs) AS xzzqzs,
SUM(xzzqtb) AS xzzqtb,
SUM(xzzqhb) AS xzzqhb,
SUM(xzqzzs) AS xzqzzs,
SUM(xzqztb) AS xzqztb,
SUM(xzqzhb) AS xzqzhb,
SUM(qtzfzs) AS qtzfzs,
SUM(qtzftb) AS qtzftb,
SUM(qtzfhb) AS qtzfhb

123
zdxt-modules/zdxt-enforcement-code/src/main/resources/mapper/enforcementcode/DashboardOverviewMapper.xml

@ -6,11 +6,11 @@
<select id="queryLawEnforcementIntensity" resultType="com.zdxt.enforcementcode.domain.vo.LawEnforcementIntensityVo">
SELECT
COALESCE(SUM(jczs), 0) AS jczs,
COALESCE(SUM(xzjc), 0) AS xzjc,
COALESCE(SUM(xzcf), 0) AS xzcf,
COALESCE(SUM(xzqz), 0) AS xzqz,
COALESCE(SUM(xzqt), 0) AS xzqt
jczs,
xzjc,
xzcf,
xzqz,
xzqt
FROM dashboard_overview
WHERE is_delete = '0'
<if test="cityCode != null and cityCode != ''">
@ -225,4 +225,117 @@
AND d.district_code != ''
</insert>
<!-- 汇总生成市级大屏总览数据(对各区数据求和) -->
<insert id="generateCityOverviewData">
INSERT INTO dashboard_overview (
id,
city_code,
city_name,
district_code,
district_name,
street_code,
street_name,
level,
year,
month,
qyzs,
ddzfs,
lhzfs,
bzfqys,
zfrys,
zfdws,
jczs,
xzjc,
xzcf,
xzqz,
xzqt,
is_delete,
create_time,
update_time,
create_by,
update_by
)
SELECT
REPLACE(UUID(), '-', '') AS id,
'440300' AS city_code,
'深圳市' AS city_name,
NULL AS district_code,
NULL AS district_name,
NULL AS street_code,
NULL AS street_name,
1 AS level,
#{year} AS year,
#{month} AS month,
COALESCE(SUM(qyzs), 0) AS qyzs,
COALESCE(SUM(ddzfs), 0) AS ddzfs,
COALESCE(SUM(lhzfs), 0) AS lhzfs,
COALESCE(SUM(bzfqys), 0) AS bzfqys,
COALESCE(SUM(zfrys), 0) AS zfrys,
COALESCE(SUM(zfdws), 0) AS zfdws,
COALESCE(SUM(jczs), 0) AS jczs,
COALESCE(SUM(xzjc), 0) AS xzjc,
COALESCE(SUM(xzcf), 0) AS xzcf,
COALESCE(SUM(xzqz), 0) AS xzqz,
COALESCE(SUM(xzqt), 0) AS xzqt,
'0' AS is_delete,
NOW() AS create_time,
NOW() AS update_time,
'system' AS create_by,
'system' AS update_by
FROM dashboard_overview
WHERE year = #{year}
AND month = #{month}
AND level = 2
AND is_delete = '0'
</insert>
<!-- 更新同比、环比数据
同比:与去年同月比较
环比:与上一个月比较 -->
<update id="updateYoyMom">
UPDATE dashboard_overview cur
LEFT JOIN dashboard_overview yoy
ON cur.district_code = yoy.district_code
AND yoy.year = #{year} - 1
AND yoy.month = #{month}
AND yoy.level = 2
AND yoy.is_delete = '0'
LEFT JOIN dashboard_overview mom
ON cur.district_code = mom.district_code
AND (
(mom.year = #{year} AND mom.month = #{month} - 1)
OR
(#{month} = 1 AND mom.year = #{year} - 1 AND mom.month = 12)
)
AND mom.level = 2
AND mom.is_delete = '0'
SET
cur.qyzstb = cur.qyzs - COALESCE(yoy.qyzs, 0),
cur.qyzshb = cur.qyzs - COALESCE(mom.qyzs, 0),
cur.ddzfstb = cur.ddzfs - COALESCE(yoy.ddzfs, 0),
cur.ddzfshb = cur.ddzfs - COALESCE(mom.ddzfs, 0),
cur.lhzfstb = cur.lhzfs - COALESCE(yoy.lhzfs, 0),
cur.lhzfshb = cur.lhzfs - COALESCE(mom.lhzfs, 0),
cur.bzfqystb = cur.bzfqys - COALESCE(yoy.bzfqys, 0),
cur.bzfqyhb = cur.bzfqys - COALESCE(mom.bzfqys, 0)
WHERE cur.year = #{year}
AND cur.month = #{month}
AND cur.level = 2
AND cur.is_delete = '0'
</update>
<!-- 查询高频检查区域统计信息 -->
<select id="queryHighInfoByArea" resultType="com.zdxt.enforcementcode.domain.vo.DashboardCheckHighAreaInfoVo">
SELECT
district_code AS areaCode,
district_name AS areaName,
COALESCE(gpjcyj, 0) AS hpjccs,
gplevel
FROM dashboard_overview
WHERE is_delete = '0'
AND year = #{year}
AND month = #{month}
AND level = #{level}
</select>
</mapper>

10
zdxt-modules/zdxt-enforcement-code/src/main/resources/mapper/enforcementcode/DashboardTrendStatMapper.xml

@ -19,7 +19,7 @@
IFNULL(SUM(a.dj_d), 0) AS djD,
IFNULL(SUM(a.dj_e), 0) AS djE,
IFNULL(SUM(a.wgcs), 0) AS wgcs
FROM dashboard_trend_stat a
FROM dashboard_trend_stat a left join dashboard_area_info b on a.district_code = b.`code` and b.`level` = 2
WHERE a.is_delete = '0'
<if test="startYear != null and startQuarter != null and endYear != null and endQuarter != null">
AND (
@ -44,6 +44,7 @@
a.quarter
ORDER BY
b.sort ,
a.district_name,
a.year,
a.quarter
@ -54,7 +55,7 @@
<select id="areaQuarterDomainCheck" resultType="com.zdxt.enforcementcode.domain.vo.DashboardTrendStatVo">
SELECT
a.*
FROM dashboard_trend_stat a
FROM dashboard_trend_stat a left join dashboard_area_info b on a.district_code = b.`code` and b.`level` = 2
WHERE a.is_delete = '0'
<if test="startYear != null and startQuarter != null and endYear != null and endQuarter != null">
AND (
@ -81,6 +82,7 @@
</if>
ORDER BY
b.sort ,
lymc,
a.year,
a.quarter
@ -102,7 +104,7 @@
IFNULL(SUM(a.dj_d), 0) AS djD,
IFNULL(SUM(a.dj_e), 0) AS djE,
IFNULL(SUM(a.wgcs), 0) AS wgcs
FROM dashboard_trend_stat a
FROM dashboard_trend_stat a left join dashboard_domain_dept b on a.lyid = b.dept_id and b.level = 2
WHERE a.is_delete = '0'
<if test="startYear != null and startQuarter != null and endYear != null and endQuarter != null">
AND (
@ -134,7 +136,7 @@
a.quarter
ORDER BY
a.lymc,
b.sort,
a.year,
a.quarter
</select>

Loading…
Cancel
Save