From 982d84b16bf04797a980fe1b888a99cd47c1f42d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BA=84=E9=94=90=E6=B3=A2?= <10549902+zhuangruibo@user.noreply.gitee.com> Date: Wed, 3 Jun 2026 20:48:50 +0800 Subject: [PATCH] =?UTF-8?q?=E6=89=A7=E6=B3=95=E7=AB=AF-=E8=AE=A1=E5=88=92?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../report/RegistrationController.java | 95 +++++ .../domain/vo/report/ChartDataVo.java | 33 ++ .../vo/report/RegistrationAnalysisVo.java | 72 ++++ .../vo/report/RegistrationStatisticsVo.java | 46 +++ .../mapper/EnforcementRegistrationMapper.java | 35 ++ .../IEnforcementRegistrationReport.java | 54 +++ .../EnforcementRegistrationReportImpl.java | 138 +++++++ .../EnforcementRegistrationReportMapper.xml | 213 ++++++++++ .../efcode/report/registration/index.vue | 26 ++ .../efcode/report/registration/indexChart.vue | 278 +++++++++++++ .../efcode/report/registration/indexList.vue | 380 ++++++++++++++++++ .../resources/application-dev-cust-zrb.yml | 2 +- 12 files changed, 1371 insertions(+), 1 deletion(-) create mode 100644 zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/controller/web/supervision/report/RegistrationController.java create mode 100644 zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/vo/report/ChartDataVo.java create mode 100644 zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/vo/report/RegistrationAnalysisVo.java create mode 100644 zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/vo/report/RegistrationStatisticsVo.java create mode 100644 zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/report/IEnforcementRegistrationReport.java create mode 100644 zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/report/impl/EnforcementRegistrationReportImpl.java create mode 100644 zdxt-modules/zdxt-enforcement-code/src/main/resources/mapper/enforcementcode/EnforcementRegistrationReportMapper.xml create mode 100644 zdxt-web-client/zdxt-admin-plus-ui/src/views/efcode/report/registration/index.vue create mode 100644 zdxt-web-client/zdxt-admin-plus-ui/src/views/efcode/report/registration/indexChart.vue create mode 100644 zdxt-web-client/zdxt-admin-plus-ui/src/views/efcode/report/registration/indexList.vue diff --git a/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/controller/web/supervision/report/RegistrationController.java b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/controller/web/supervision/report/RegistrationController.java new file mode 100644 index 00000000..905a0498 --- /dev/null +++ b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/controller/web/supervision/report/RegistrationController.java @@ -0,0 +1,95 @@ +package com.zdxt.enforcementcode.controller.web.supervision.report; + +import com.zdxt.enforcementcode.domain.bo.EnforcementRegistrationBo; +import com.zdxt.enforcementcode.domain.vo.EnforcementRegistrationVo; +import com.zdxt.enforcementcode.domain.vo.report.ChartDataVo; +import com.zdxt.enforcementcode.domain.vo.report.RegistrationAnalysisVo; +import com.zdxt.enforcementcode.domain.vo.report.RegistrationStatisticsVo; +import com.zdxt.enforcementcode.report.IEnforcementRegistrationReport; +import jakarta.servlet.http.HttpServletResponse; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.dromara.common.core.domain.R; +import org.dromara.common.excel.utils.ExcelUtil; +import org.dromara.common.mybatis.core.page.PageQuery; +import org.dromara.common.mybatis.core.page.TableDataInfo; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.List; + +/** + * 涉企执法情况报表 + * + * @author zdxt + */ +@Slf4j +@Validated +@RequiredArgsConstructor +@RestController +@RequestMapping("/web/supervision/report/registration") +public class RegistrationController { + + private final IEnforcementRegistrationReport registrationReport; + + /** + * 接口1:涉企执法统计指标 + */ + @GetMapping("/statistics") + public R statistics(EnforcementRegistrationBo bo) { + return R.ok(registrationReport.statistics(bo)); + } + + /** + * 接口2:涉企执法统计列表(分页) + */ + @GetMapping("/list") + public TableDataInfo list(EnforcementRegistrationBo bo, PageQuery pageQuery) { + return registrationReport.list(bo, pageQuery); + } + + /** + * 接口3:涉企执法统计列表导出 + */ + @PostMapping("/exportList") + public void exportList(EnforcementRegistrationBo bo, HttpServletResponse response) { + List list = registrationReport.listAll(bo); + ExcelUtil.exportExcel(list, "涉企执法统计", EnforcementRegistrationVo.class, response); + } + + /** + * 接口4:执法类别分布(饼图) + */ + @GetMapping("/categoryChart") + public R> categoryChart(EnforcementRegistrationBo bo) { + return R.ok(registrationReport.categoryChart(bo)); + } + + /** + * 接口5:部门执法排行(柱状图,TOP10) + */ + @GetMapping("/deptRankChart") + public R> deptRankChart(EnforcementRegistrationBo bo) { + return R.ok(registrationReport.deptRankChart(bo)); + } + + /** + * 接口6:执法分析列表(按企业维度统计执法次数,分页) + */ + @GetMapping("/analysisRank") + public TableDataInfo analysisRank(EnforcementRegistrationBo bo, PageQuery pageQuery) { + return registrationReport.analysisRank(bo, pageQuery); + } + + /** + * 接口7:执法分析导出 + */ + @PostMapping("/exportAnalysis") + public void exportAnalysis(EnforcementRegistrationBo bo, HttpServletResponse response) { + List list = registrationReport.analysisAll(bo); + ExcelUtil.exportExcel(list, "执法分析", RegistrationAnalysisVo.class, response); + } +} diff --git a/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/vo/report/ChartDataVo.java b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/vo/report/ChartDataVo.java new file mode 100644 index 00000000..38659d1e --- /dev/null +++ b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/vo/report/ChartDataVo.java @@ -0,0 +1,33 @@ +package com.zdxt.enforcementcode.domain.vo.report; + +import lombok.Data; + +import java.io.Serial; +import java.io.Serializable; + +/** + * 图表数据通用VO(name + value) + */ +@Data +public class ChartDataVo implements Serializable { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * 名称(如部门名、类别名) + */ + private String name; + + /** + * 数值 + */ + private long value; + + public ChartDataVo() {} + + public ChartDataVo(String name, long value) { + this.name = name; + this.value = value; + } +} diff --git a/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/vo/report/RegistrationAnalysisVo.java b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/vo/report/RegistrationAnalysisVo.java new file mode 100644 index 00000000..070b90d1 --- /dev/null +++ b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/vo/report/RegistrationAnalysisVo.java @@ -0,0 +1,72 @@ +package com.zdxt.enforcementcode.domain.vo.report; + +import cn.idev.excel.annotation.ExcelIgnoreUnannotated; +import cn.idev.excel.annotation.ExcelProperty; +import lombok.Data; + +import java.io.Serial; +import java.io.Serializable; + +/** + * 执法分析行VO(按企业维度聚合统计) + */ +@Data +@ExcelIgnoreUnannotated +public class RegistrationAnalysisVo implements Serializable { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * 企业注册区 + */ + @ExcelProperty(value = "区域") + private String district; + + /** + * 企业注册街道 + */ + @ExcelProperty(value = "街道") + private String street; + + /** + * 企业名称 + */ + @ExcelProperty(value = "企业名称") + private String enterpriseName; + + /** + * 执法单位 + */ + @ExcelProperty(value = "执法单位") + private String bureauDeptName; + + /** + * 执法人员 + */ + @ExcelProperty(value = "执法人员") + private String lawEnforcer; + + /** + * 执法事项 + */ + @ExcelProperty(value = "执法事项") + private String lawEnforcementItemText; + + /** + * 最近执法时间 + */ + @ExcelProperty(value = "执法时间") + private String enforcementTime; + + /** + * 执法次数 + */ + @ExcelProperty(value = "执法次数") + private Integer totalCount; + + /** + * 颜色分级:green=2次及以下, yellow=3-4次, orange=5-6次, red=7次及以上 + */ + private String colorLevel; +} diff --git a/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/vo/report/RegistrationStatisticsVo.java b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/vo/report/RegistrationStatisticsVo.java new file mode 100644 index 00000000..597a5b89 --- /dev/null +++ b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/vo/report/RegistrationStatisticsVo.java @@ -0,0 +1,46 @@ +package com.zdxt.enforcementcode.domain.vo.report; + +import lombok.Data; + +import java.io.Serial; +import java.io.Serializable; + +/** + * 涉企执法统计指标VO + */ +@Data +public class RegistrationStatisticsVo implements Serializable { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * 涉企执法总数 + */ + private long total; + + /** + * 联合执法数量 + */ + private long unionCount; + + /** + * 联合执法占比(百分比字符串,如"12.50%") + */ + private String unionPercent; + + /** + * 检查类别名称 + */ + private String checkCategoryName; + + /** + * 指定检查类别数量 + */ + private long checkCount; + + /** + * 指定检查类别占比 + */ + private String checkPercent; +} diff --git a/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/mapper/EnforcementRegistrationMapper.java b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/mapper/EnforcementRegistrationMapper.java index 713243ed..2aa12b80 100644 --- a/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/mapper/EnforcementRegistrationMapper.java +++ b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/mapper/EnforcementRegistrationMapper.java @@ -8,6 +8,8 @@ import com.zdxt.enforcementcode.domain.bo.EnforcementRegistrationBo; import com.zdxt.enforcementcode.domain.bo.EnforcementRegistrationQueryBo; import com.zdxt.enforcementcode.domain.vo.EnforcementRegistrationVo; import com.zdxt.enforcementcode.domain.vo.enterprise.EnforcementRegistrationListVo; +import com.zdxt.enforcementcode.domain.vo.report.ChartDataVo; +import com.zdxt.enforcementcode.domain.vo.report.RegistrationAnalysisVo; import org.apache.ibatis.annotations.Param; import org.dromara.common.mybatis.core.mapper.BaseMapperPlus; @@ -77,4 +79,37 @@ public interface EnforcementRegistrationMapper extends BaseMapperPlus selectReportPage(@Param("page") Page page, + @Param("bo") EnforcementRegistrationBo bo, + @Param("dataFilter") String dataFilter); + + /** + * 报表-全量列表查询(用于统计/导出) + */ + List selectReportAll(@Param("bo") EnforcementRegistrationBo bo, + @Param("dataFilter") String dataFilter); + + /** + * 报表-执法类别图表(GROUP BY law_enforce_category) + */ + List selectReportCategoryChart(@Param("bo") EnforcementRegistrationBo bo, + @Param("dataFilter") String dataFilter); + + /** + * 报表-部门排行图表(GROUP BY bureau_dept_id,前10) + */ + List selectReportDeptRankChart(@Param("bo") EnforcementRegistrationBo bo, + @Param("dataFilter") String dataFilter); + + /** + * 报表-执法分析排名(GROUP BY enterprise_number) + */ + List selectReportAnalysisList(@Param("bo") EnforcementRegistrationBo bo, + @Param("dataFilter") String dataFilter); + } diff --git a/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/report/IEnforcementRegistrationReport.java b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/report/IEnforcementRegistrationReport.java new file mode 100644 index 00000000..59690801 --- /dev/null +++ b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/report/IEnforcementRegistrationReport.java @@ -0,0 +1,54 @@ +package com.zdxt.enforcementcode.report; + +import com.zdxt.enforcementcode.domain.bo.EnforcementRegistrationBo; +import com.zdxt.enforcementcode.domain.vo.EnforcementRegistrationVo; +import com.zdxt.enforcementcode.domain.vo.report.ChartDataVo; +import com.zdxt.enforcementcode.domain.vo.report.RegistrationAnalysisVo; +import com.zdxt.enforcementcode.domain.vo.report.RegistrationStatisticsVo; +import org.dromara.common.mybatis.core.page.PageQuery; +import org.dromara.common.mybatis.core.page.TableDataInfo; + +import java.util.List; + +/** + * 涉企执法情况报表服务接口 + * + * @author zdxt + */ +public interface IEnforcementRegistrationReport { + + /** + * 统计指标 + */ + RegistrationStatisticsVo statistics(EnforcementRegistrationBo bo); + + /** + * 统计列表(分页) + */ + TableDataInfo list(EnforcementRegistrationBo bo, PageQuery pageQuery); + + /** + * 统计列表(全量,用于导出) + */ + List listAll(EnforcementRegistrationBo bo); + + /** + * 执法类别分布(饼图数据) + */ + List categoryChart(EnforcementRegistrationBo bo); + + /** + * 部门执法排行(柱状图TOP10) + */ + List deptRankChart(EnforcementRegistrationBo bo); + + /** + * 执法分析列表(按企业维度统计,分页) + */ + TableDataInfo analysisRank(EnforcementRegistrationBo bo, PageQuery pageQuery); + + /** + * 执法分析全量(用于导出) + */ + List analysisAll(EnforcementRegistrationBo bo); +} diff --git a/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/report/impl/EnforcementRegistrationReportImpl.java b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/report/impl/EnforcementRegistrationReportImpl.java new file mode 100644 index 00000000..471668ae --- /dev/null +++ b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/report/impl/EnforcementRegistrationReportImpl.java @@ -0,0 +1,138 @@ +package com.zdxt.enforcementcode.report.impl; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.zdxt.enforcementcode.common.util.DataFilterUtil; +import com.zdxt.enforcementcode.domain.EnforcementRegistration; +import com.zdxt.enforcementcode.domain.bo.EnforcementRegistrationBo; +import com.zdxt.enforcementcode.domain.vo.EnforcementRegistrationVo; +import com.zdxt.enforcementcode.domain.vo.report.ChartDataVo; +import com.zdxt.enforcementcode.domain.vo.report.RegistrationAnalysisVo; +import com.zdxt.enforcementcode.domain.vo.report.RegistrationStatisticsVo; +import com.zdxt.enforcementcode.mapper.EnforcementRegistrationMapper; +import com.zdxt.enforcementcode.report.IEnforcementRegistrationReport; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.dromara.common.core.utils.StringUtils; +import org.dromara.common.mybatis.core.page.PageQuery; +import org.dromara.common.mybatis.core.page.TableDataInfo; +import org.dromara.system.domain.vo.SysDictDataVo; +import org.dromara.system.service.ISysDictTypeService; +import org.springframework.stereotype.Service; + +import java.text.DecimalFormat; +import java.util.*; +import java.util.stream.Collectors; + +/** + * 涉企执法情况报表服务实现 + * + * @author zdxt + */ +@Slf4j +@RequiredArgsConstructor +@Service +public class EnforcementRegistrationReportImpl implements IEnforcementRegistrationReport { + + private final EnforcementRegistrationMapper registrationMapper; + private final ISysDictTypeService dictTypeService; + + private static final DecimalFormat PERCENT_FORMAT = new DecimalFormat("0.00%"); + + @Override + public RegistrationStatisticsVo statistics(EnforcementRegistrationBo bo) { + String dataFilter = DataFilterUtil.buildFilterSql(true, true); + List list = registrationMapper.selectReportAll(bo, dataFilter); + + RegistrationStatisticsVo vo = new RegistrationStatisticsVo(); + long total = list.size(); + vo.setTotal(total); + + // 联合执法: has_union=1 且 union_no 不为空 + long unionCount = list.stream() + .filter(r -> r.getHasUnion() != null && r.getHasUnion() == 1 + && StringUtils.isNotBlank(r.getUnionNo())) + .count(); + vo.setUnionCount(unionCount); + vo.setUnionPercent(total > 0 ? PERCENT_FORMAT.format((double) unionCount / total) : "0.00%"); + + // 检查类别统计(默认取"01"对应的类别) + String checkCategoryCode = StringUtils.isNotBlank(bo.getCheckCategory()) ? bo.getCheckCategory() : "01"; + String checkCategoryName = dictTypeService.selectDictDataByType("check_category").stream() + .filter(d -> checkCategoryCode.equals(d.getDictValue())) + .map(SysDictDataVo::getDictLabel) + .findFirst().orElse(""); + long checkCount = list.stream() + .filter(r -> checkCategoryCode.equals(r.getCheckCategory())) + .count(); + vo.setCheckCategoryName(checkCategoryName); + vo.setCheckCount(checkCount); + vo.setCheckPercent(total > 0 ? PERCENT_FORMAT.format((double) checkCount / total) : "0.00%"); + + return vo; + } + + @Override + public TableDataInfo list(EnforcementRegistrationBo bo, PageQuery pageQuery) { + String dataFilter = DataFilterUtil.buildFilterSql(true, true); + Page page = pageQuery.build(); + IPage result = registrationMapper.selectReportPage(page, bo, dataFilter); + return TableDataInfo.build(result); + } + + @Override + public List listAll(EnforcementRegistrationBo bo) { + String dataFilter = DataFilterUtil.buildFilterSql(true, true); + // 复用 selectReportPage 不分页方式(传一个大页) + Page page = new Page<>(1, Integer.MAX_VALUE, false); + IPage result = registrationMapper.selectReportPage(page, bo, dataFilter); + return result.getRecords(); + } + + @Override + public List categoryChart(EnforcementRegistrationBo bo) { + String dataFilter = DataFilterUtil.buildFilterSql(true, true); + List list = registrationMapper.selectReportCategoryChart(bo, dataFilter); + + // 字典翻译 + Map dictMap = dictTypeService.selectDictDataByType("law_enforce_category").stream() + .collect(Collectors.toMap(SysDictDataVo::getDictValue, SysDictDataVo::getDictLabel, (a, b) -> a)); + + list.forEach(item -> { + String translated = dictMap.get(item.getName()); + if (translated != null) { + item.setName(translated); + } + }); + + return list; + } + + @Override + public List deptRankChart(EnforcementRegistrationBo bo) { + String dataFilter = DataFilterUtil.buildFilterSql(true, true); + return registrationMapper.selectReportDeptRankChart(bo, dataFilter); + } + + @Override + public TableDataInfo analysisRank(EnforcementRegistrationBo bo, PageQuery pageQuery) { + String dataFilter = DataFilterUtil.buildFilterSql(true, true); + List analysisList = registrationMapper.selectReportAnalysisList(bo, dataFilter); + + // 手动分页 + int pageNum = pageQuery.getPageNum(); + int pageSize = pageQuery.getPageSize(); + int total = analysisList.size(); + int fromIndex = (pageNum - 1) * pageSize; + int toIndex = Math.min(fromIndex + pageSize, total); + List pageData = fromIndex < total ? analysisList.subList(fromIndex, toIndex) : Collections.emptyList(); + + return new TableDataInfo<>(pageData, (long) total); + } + + @Override + public List analysisAll(EnforcementRegistrationBo bo) { + String dataFilter = DataFilterUtil.buildFilterSql(true, true); + return registrationMapper.selectReportAnalysisList(bo, dataFilter); + } +} diff --git a/zdxt-modules/zdxt-enforcement-code/src/main/resources/mapper/enforcementcode/EnforcementRegistrationReportMapper.xml b/zdxt-modules/zdxt-enforcement-code/src/main/resources/mapper/enforcementcode/EnforcementRegistrationReportMapper.xml new file mode 100644 index 00000000..b52c1a7b --- /dev/null +++ b/zdxt-modules/zdxt-enforcement-code/src/main/resources/mapper/enforcementcode/EnforcementRegistrationReportMapper.xml @@ -0,0 +1,213 @@ + + + + + + + AND is_submit = 1 + AND is_delete = 0 + AND (status = 0 OR status IS NULL) + + AND bureau_dept_name LIKE CONCAT('%', #{bo.bureauDeptName}, '%') + + + AND (law_enforcer LIKE CONCAT('%', #{bo.lawEnforcer}, '%') + OR law_enforcer_two LIKE CONCAT('%', #{bo.lawEnforcer}, '%')) + + + AND enterprise_name LIKE CONCAT('%', #{bo.enterpriseName}, '%') + + + AND law_enforcement_item_text LIKE CONCAT('%', #{bo.lawEnforcementItemText}, '%') + + + AND has_union = #{bo.hasUnion} + + + AND has_auto = #{bo.hasAuto} + + + AND entrust_dept_name LIKE CONCAT('%', #{bo.entrustDeptName}, '%') + + + AND law_enforce_category = #{bo.lawEnforceCategory} + + + AND is_complaint = #{bo.isComplaint} + + + AND enforce = #{bo.enforce} + + + AND check_css = #{bo.checkCss} + + + AND district = #{bo.district} + + + AND street = #{bo.street} + + + AND check_category = #{bo.checkCategory} + + + + AND DATE_FORMAT(enforcement_time, '%Y-%m') = DATE_FORMAT(CURDATE(), '%Y-%m') + + + AND DATE_FORMAT(enforcement_time, '%Y-%m') >= CONCAT(YEAR(CURDATE()), '-', + CASE WHEN QUARTER(CURDATE()) IN (1) THEN '01' + WHEN QUARTER(CURDATE()) IN (2) THEN '04' + WHEN QUARTER(CURDATE()) IN (3) THEN '07' + ELSE '10' END) + AND DATE_FORMAT(enforcement_time, '%Y-%m') <= CONCAT(YEAR(CURDATE()), '-', + CASE WHEN QUARTER(CURDATE()) IN (1) THEN '03' + WHEN QUARTER(CURDATE()) IN (2) THEN '06' + WHEN QUARTER(CURDATE()) IN (3) THEN '09' + ELSE '12' END) + + + AND DATE_FORMAT(enforcement_time, '%Y') = DATE_FORMAT(CURDATE(), '%Y') + + + AND DATE_FORMAT(enforcement_time, '%Y-%m') = #{bo.dateSearch} + + + AND DATE_FORMAT(enforcement_time, '%Y-%m-%d') >= #{bo.beginTime} + + + AND DATE_FORMAT(enforcement_time, '%Y-%m-%d') <= #{bo.endTime} + + + ${dataFilter} + + + + + + + + + + + + + + + + + + + diff --git a/zdxt-web-client/zdxt-admin-plus-ui/src/views/efcode/report/registration/index.vue b/zdxt-web-client/zdxt-admin-plus-ui/src/views/efcode/report/registration/index.vue new file mode 100644 index 00000000..28f825d0 --- /dev/null +++ b/zdxt-web-client/zdxt-admin-plus-ui/src/views/efcode/report/registration/index.vue @@ -0,0 +1,26 @@ + + + + + diff --git a/zdxt-web-client/zdxt-admin-plus-ui/src/views/efcode/report/registration/indexChart.vue b/zdxt-web-client/zdxt-admin-plus-ui/src/views/efcode/report/registration/indexChart.vue new file mode 100644 index 00000000..eb3f5733 --- /dev/null +++ b/zdxt-web-client/zdxt-admin-plus-ui/src/views/efcode/report/registration/indexChart.vue @@ -0,0 +1,278 @@ + + + + + diff --git a/zdxt-web-client/zdxt-admin-plus-ui/src/views/efcode/report/registration/indexList.vue b/zdxt-web-client/zdxt-admin-plus-ui/src/views/efcode/report/registration/indexList.vue new file mode 100644 index 00000000..2509c9a8 --- /dev/null +++ b/zdxt-web-client/zdxt-admin-plus-ui/src/views/efcode/report/registration/indexList.vue @@ -0,0 +1,380 @@ + + + + + diff --git a/zdxt-web-server/zdxt-admin-web-server/src/main/resources/application-dev-cust-zrb.yml b/zdxt-web-server/zdxt-admin-web-server/src/main/resources/application-dev-cust-zrb.yml index 6c11fe63..467b46c2 100644 --- a/zdxt-web-server/zdxt-admin-web-server/src/main/resources/application-dev-cust-zrb.yml +++ b/zdxt-web-server/zdxt-admin-web-server/src/main/resources/application-dev-cust-zrb.yml @@ -21,7 +21,7 @@ spring: driverClassName: com.mysql.cj.jdbc.Driver # jdbc 所有参数配置参考 https://lionli.blog.csdn.net/article/details/122018562 # rewriteBatchedStatements=true 批处理优化 大幅提升批量插入更新删除性能(对数据库有性能损耗 使用批量操作应考虑性能问题) - url: jdbc:mysql://127.0.0.1:3309/zfjd-refactoring-v3?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8 + url: jdbc:mysql://127.0.0.1:3309/efcode-v2-0603?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8 username: root password: root