Browse Source

监督端-查询统计

dev-v1.0.2
庄锐波 5 months ago
parent
commit
80c2baeb9b
  1. 19
      zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/mapper/EnforcementRegistrationMapper.java
  2. 56
      zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/report/impl/EnforcementRegistrationReportImpl.java
  3. 38
      zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/report/impl/EnforcementRegistrationStatisticsServiceImpl.java
  4. 12
      zdxt-modules/zdxt-enforcement-code/src/main/resources/mapper/enforcementcode/EnforcementRegistrationReportMapper.xml
  5. 2
      zdxt-web-client/zdxt-admin-plus-ui/.env.development
  6. 2
      zdxt-web-client/zdxt-admin-plus-ui/.env.development-zrb-cust
  7. 2
      zdxt-web-client/zdxt-admin-plus-ui/.env.production
  8. BIN
      zdxt-web-client/zdxt-admin-plus-ui/src/assets/logo/logo.png

19
zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/mapper/EnforcementRegistrationMapper.java

@ -3,7 +3,6 @@ package com.zdxt.enforcementcode.mapper;
import com.baomidou.mybatisplus.annotation.InterceptorIgnore; import com.baomidou.mybatisplus.annotation.InterceptorIgnore;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.zdxt.enforcementcode.common.annotation.EfcodeDataFilter;
import com.zdxt.enforcementcode.domain.EnforcementRegistration; import com.zdxt.enforcementcode.domain.EnforcementRegistration;
import com.zdxt.enforcementcode.domain.bo.EnforcementRegistrationBo; import com.zdxt.enforcementcode.domain.bo.EnforcementRegistrationBo;
import com.zdxt.enforcementcode.domain.bo.EnforcementRegistrationQueryBo; import com.zdxt.enforcementcode.domain.bo.EnforcementRegistrationQueryBo;
@ -86,53 +85,53 @@ public interface EnforcementRegistrationMapper extends BaseMapperPlus<Enforcemen
/** /**
* 报表-统计指标查询(COUNT聚合) * 报表-统计指标查询(COUNT聚合)
* <p>不使用 @EfcodeDataFilter 注解,由 Service 层手动构建双列(bureau_dept_id OR entrust_dept_id)过滤条件传入。
*/ */
@EfcodeDataFilter
RegistrationStatisticsVo selectReportStatistics(@Param("bo") EnforcementRegistrationBo bo, RegistrationStatisticsVo selectReportStatistics(@Param("bo") EnforcementRegistrationBo bo,
@Param("dataFilter") String dataFilter, @Param("dataFilter") String dataFilter,
@Param("checkCategoryCode") String checkCategoryCode); @Param("checkCategoryCode") String checkCategoryCode);
/** /**
* 报表-分页列表查询 * 报表-分页列表查询
* <p>不使用 @EfcodeDataFilter 注解,由 Service 层手动构建双列过滤条件传入。
*/ */
@EfcodeDataFilter
IPage<EnforcementRegistrationVo> selectReportPage(@Param("page") Page<EnforcementRegistrationVo> page, IPage<EnforcementRegistrationVo> selectReportPage(@Param("page") Page<EnforcementRegistrationVo> page,
@Param("bo") EnforcementRegistrationBo bo, @Param("bo") EnforcementRegistrationBo bo,
@Param("dataFilter") String dataFilter); @Param("dataFilter") String dataFilter);
/** /**
* 报表-分页列表查询V2(JOIN字典表按dict_sort排序,依赖district/street已回填) * 报表-分页列表查询V2(JOIN字典表按dict_sort排序,依赖district/street已回填)
* <p>不使用 @EfcodeDataFilter 注解,由 Service 层手动构建双列过滤条件传入(带表别名 er)。
*/ */
@EfcodeDataFilter
IPage<EnforcementRegistrationVo> selectReportPageV2(@Param("page") Page<EnforcementRegistrationVo> page, IPage<EnforcementRegistrationVo> selectReportPageV2(@Param("page") Page<EnforcementRegistrationVo> page,
@Param("bo") EnforcementRegistrationBo bo, @Param("bo") EnforcementRegistrationBo bo,
@Param("dataFilter") String dataFilter); @Param("dataFilter") String dataFilter);
/** /**
* 报表-全量列表查询(用于统计/导出) * 报表-全量列表查询(用于统计/导出)
* <p>不使用 @EfcodeDataFilter 注解,由 Service 层手动构建双列过滤条件传入。
*/ */
@EfcodeDataFilter
List<EnforcementRegistration> selectReportAll(@Param("bo") EnforcementRegistrationBo bo, List<EnforcementRegistration> selectReportAll(@Param("bo") EnforcementRegistrationBo bo,
@Param("dataFilter") String dataFilter); @Param("dataFilter") String dataFilter);
/** /**
* 报表-执法类别图表(GROUP BY law_enforce_category) * 报表-执法类别图表(GROUP BY law_enforce_category)
* <p>不使用 @EfcodeDataFilter 注解,由 Service 层手动构建双列过滤条件传入。
*/ */
@EfcodeDataFilter
List<ChartDataVo> selectReportCategoryChart(@Param("bo") EnforcementRegistrationBo bo, List<ChartDataVo> selectReportCategoryChart(@Param("bo") EnforcementRegistrationBo bo,
@Param("dataFilter") String dataFilter); @Param("dataFilter") String dataFilter);
/** /**
* 报表-部门排行图表(GROUP BY bureau_dept_id,前10) * 报表-部门排行图表(GROUP BY bureau_dept_id,前10)
* <p>不使用 @EfcodeDataFilter 注解,由 Service 层手动构建双列过滤条件传入。
*/ */
@EfcodeDataFilter
List<ChartDataVo> selectReportDeptRankChart(@Param("bo") EnforcementRegistrationBo bo, List<ChartDataVo> selectReportDeptRankChart(@Param("bo") EnforcementRegistrationBo bo,
@Param("dataFilter") String dataFilter); @Param("dataFilter") String dataFilter);
/** /**
* 报表-被检查企业次数排行图表(GROUP BY enterprise_number,前10) * 报表-被检查企业次数排行图表(GROUP BY enterprise_number,前10)
* <p>不使用 @EfcodeDataFilter 注解,由 Service 层手动构建双列过滤条件传入。
*/ */
@EfcodeDataFilter
List<ChartDataVo> selectReportEnterpriseRankChart(@Param("bo") EnforcementRegistrationBo bo, List<ChartDataVo> selectReportEnterpriseRankChart(@Param("bo") EnforcementRegistrationBo bo,
@Param("dataFilter") String dataFilter); @Param("dataFilter") String dataFilter);
@ -158,15 +157,15 @@ public interface EnforcementRegistrationMapper extends BaseMapperPlus<Enforcemen
/** /**
* 执法分析-导出专用(返回个体记录,不GROUP BY,与旧系统一致) * 执法分析-导出专用(返回个体记录,不GROUP BY,与旧系统一致)
* <p>不使用 @EfcodeDataFilter 注解,由 Service 层手动构建双列过滤条件传入(带表别名 er)。
*/ */
@EfcodeDataFilter
List<RegistrationAnalysisVo> selectAnalysisExportV2(@Param("bo") EnforcementRegistrationBo bo, List<RegistrationAnalysisVo> selectAnalysisExportV2(@Param("bo") EnforcementRegistrationBo bo,
@Param("dataFilter") String dataFilter); @Param("dataFilter") String dataFilter);
/** /**
* 执法分析-详情(指定企业的执法明细聚合) * 执法分析-详情(指定企业的执法明细聚合)
* <p>不使用 @EfcodeDataFilter 注解,由 Service 层手动构建双列过滤条件传入。
*/ */
@EfcodeDataFilter
List<RegistrationStatisticsAnalysisDetailVo> selectAnalysisDetail(@Param("bo") EnforcementRegistrationBo bo, List<RegistrationStatisticsAnalysisDetailVo> selectAnalysisDetail(@Param("bo") EnforcementRegistrationBo bo,
@Param("dataFilter") String dataFilter); @Param("dataFilter") String dataFilter);

56
zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/report/impl/EnforcementRegistrationReportImpl.java

@ -44,8 +44,9 @@ public class EnforcementRegistrationReportImpl implements IEnforcementRegistrati
public RegistrationStatisticsVo statistics(EnforcementRegistrationBo bo) { public RegistrationStatisticsVo statistics(EnforcementRegistrationBo bo) {
String checkCategoryCode = StringUtils.isNotBlank(bo.getCheckCategory()) ? bo.getCheckCategory() : "01"; String checkCategoryCode = StringUtils.isNotBlank(bo.getCheckCategory()) ? bo.getCheckCategory() : "01";
// 单条SQL聚合查询,数据权限由 @EfcodeDataFilter 拦截器自动处理 // 单条SQL聚合查询,手动构建双列权限过滤(bureau_dept_id OR entrust_dept_id)
RegistrationStatisticsVo vo = registrationMapper.selectReportStatistics(bo, null, checkCategoryCode); String dataFilter = buildDualColumnFilter("");
RegistrationStatisticsVo vo = registrationMapper.selectReportStatistics(bo, dataFilter, checkCategoryCode);
if (vo == null) { if (vo == null) {
vo = new RegistrationStatisticsVo(); vo = new RegistrationStatisticsVo();
} }
@ -84,8 +85,10 @@ public class EnforcementRegistrationReportImpl implements IEnforcementRegistrati
@Override @Override
public TableDataInfo<EnforcementRegistrationVo> listForV2(EnforcementRegistrationBo bo, PageQuery pageQuery) { public TableDataInfo<EnforcementRegistrationVo> listForV2(EnforcementRegistrationBo bo, PageQuery pageQuery) {
// V2:SQL层JOIN字典表排序 + 服务端分页(依赖district/street已回填) // V2:SQL层JOIN字典表排序 + 服务端分页(依赖district/street已回填)
// 手动构建双列权限过滤(bureau_dept_id OR entrust_dept_id),表别名 er
Page<EnforcementRegistrationVo> page = pageQuery.build(); Page<EnforcementRegistrationVo> page = pageQuery.build();
IPage<EnforcementRegistrationVo> result = registrationMapper.selectReportPageV2(page, bo, null); String dataFilter = buildDualColumnFilter("er");
IPage<EnforcementRegistrationVo> result = registrationMapper.selectReportPageV2(page, bo, dataFilter);
return TableDataInfo.build(result); return TableDataInfo.build(result);
} }
@ -100,7 +103,9 @@ public class EnforcementRegistrationReportImpl implements IEnforcementRegistrati
*/ */
private List<EnforcementRegistrationVo> loadAndSortAll(EnforcementRegistrationBo bo) { private List<EnforcementRegistrationVo> loadAndSortAll(EnforcementRegistrationBo bo) {
Page<EnforcementRegistrationVo> page = new Page<>(1, Integer.MAX_VALUE, false); Page<EnforcementRegistrationVo> page = new Page<>(1, Integer.MAX_VALUE, false);
IPage<EnforcementRegistrationVo> result = registrationMapper.selectReportPage(page, bo, null); // 手动构建双列权限过滤(bureau_dept_id OR entrust_dept_id),无表别名
String dataFilter = buildDualColumnFilter("");
IPage<EnforcementRegistrationVo> result = registrationMapper.selectReportPage(page, bo, dataFilter);
List<EnforcementRegistrationVo> records = result.getRecords(); List<EnforcementRegistrationVo> records = result.getRecords();
// 从企业地址中解析区域/街道并按字典顺序排序 // 从企业地址中解析区域/街道并按字典顺序排序
return enrichAndSortByDictOrder(records); return enrichAndSortByDictOrder(records);
@ -238,8 +243,10 @@ public class EnforcementRegistrationReportImpl implements IEnforcementRegistrati
@Override @Override
public List<RegistrationExportV2Vo> exportListV2(EnforcementRegistrationBo bo) { public List<RegistrationExportV2Vo> exportListV2(EnforcementRegistrationBo bo) {
// 使用V2排序:Sql JOIN字典表排序,全量加载 // 使用V2排序:Sql JOIN字典表排序,全量加载
// 手动构建双列权限过滤(bureau_dept_id OR entrust_dept_id),表别名 er
Page<EnforcementRegistrationVo> page = new Page<>(1, Integer.MAX_VALUE, false); Page<EnforcementRegistrationVo> page = new Page<>(1, Integer.MAX_VALUE, false);
IPage<EnforcementRegistrationVo> result = registrationMapper.selectReportPageV2(page, bo, null); String dataFilter = buildDualColumnFilter("er");
IPage<EnforcementRegistrationVo> result = registrationMapper.selectReportPageV2(page, bo, dataFilter);
List<EnforcementRegistrationVo> dataList = result.getRecords(); List<EnforcementRegistrationVo> dataList = result.getRecords();
// 字典翻译 // 字典翻译
@ -291,8 +298,9 @@ public class EnforcementRegistrationReportImpl implements IEnforcementRegistrati
@Override @Override
public List<ChartDataVo> categoryChart(EnforcementRegistrationBo bo) { public List<ChartDataVo> categoryChart(EnforcementRegistrationBo bo) {
// 数据权限由 @EfcodeDataFilter 拦截器自动处理 // 手动构建双列权限过滤(bureau_dept_id OR entrust_dept_id)
List<ChartDataVo> list = registrationMapper.selectReportCategoryChart(bo, null); String dataFilter = buildDualColumnFilter("");
List<ChartDataVo> list = registrationMapper.selectReportCategoryChart(bo, dataFilter);
// 字典翻译 // 字典翻译
Map<String, String> dictMap = dictTypeService.selectDictDataByType("law_enforce_category").stream() Map<String, String> dictMap = dictTypeService.selectDictDataByType("law_enforce_category").stream()
@ -310,19 +318,22 @@ public class EnforcementRegistrationReportImpl implements IEnforcementRegistrati
@Override @Override
public List<ChartDataVo> deptRankChart(EnforcementRegistrationBo bo) { public List<ChartDataVo> deptRankChart(EnforcementRegistrationBo bo) {
// 数据权限由 @EfcodeDataFilter 拦截器自动处理 // 手动构建双列权限过滤(bureau_dept_id OR entrust_dept_id)
return registrationMapper.selectReportDeptRankChart(bo, null); String dataFilter = buildDualColumnFilter("");
return registrationMapper.selectReportDeptRankChart(bo, dataFilter);
} }
@Override @Override
public List<ChartDataVo> enterpriseRankChart(EnforcementRegistrationBo bo) { public List<ChartDataVo> enterpriseRankChart(EnforcementRegistrationBo bo) {
// 数据权限由 @EfcodeDataFilter 拦截器自动处理 // 手动构建双列权限过滤(bureau_dept_id OR entrust_dept_id)
return registrationMapper.selectReportEnterpriseRankChart(bo, null); String dataFilter = buildDualColumnFilter("");
return registrationMapper.selectReportEnterpriseRankChart(bo, dataFilter);
} }
@Override @Override
public TableDataInfo<RegistrationAnalysisVo> analysisRank(EnforcementRegistrationBo bo, PageQuery pageQuery) { public TableDataInfo<RegistrationAnalysisVo> analysisRank(EnforcementRegistrationBo bo, PageQuery pageQuery) {
String dataFilter = DataFilterUtil.buildFilterSql(true, true); // 手动构建双列权限过滤(bureau_dept_id OR entrust_dept_id)
String dataFilter = buildDualColumnFilter("");
List<RegistrationAnalysisVo> analysisList = registrationMapper.selectReportAnalysisList(bo, dataFilter); List<RegistrationAnalysisVo> analysisList = registrationMapper.selectReportAnalysisList(bo, dataFilter);
// 手动分页 // 手动分页
@ -338,7 +349,26 @@ public class EnforcementRegistrationReportImpl implements IEnforcementRegistrati
@Override @Override
public List<RegistrationAnalysisVo> analysisAll(EnforcementRegistrationBo bo) { public List<RegistrationAnalysisVo> analysisAll(EnforcementRegistrationBo bo) {
String dataFilter = DataFilterUtil.buildFilterSql(true, true); // 手动构建双列权限过滤(bureau_dept_id OR entrust_dept_id)
String dataFilter = buildDualColumnFilter("");
return registrationMapper.selectReportAnalysisList(bo, dataFilter); return registrationMapper.selectReportAnalysisList(bo, dataFilter);
} }
/**
* 构建双列数据权限过滤条件:bureau_dept_id(执法单位)或 entrust_dept_id(委托执法部门)。
* <p>任一列在权限范围内即可保留记录。带 "AND " 前缀,可直接拼在现有 WHERE 条件后。
* <p>超管或 ViewAllDataRole 返回 null(不过滤)。
*
* @param tableAlias 表别名(不带点),无别名传 ""
* @return 拼接后的 "AND (...)" SQL片段;超管/全数据角色返回 null
*/
private String buildDualColumnFilter(String tableAlias) {
String bureauFilter = DataFilterUtil.buildFilterSql(tableAlias, "bureau_dept_id", true, true);
if (bureauFilter == null) {
// 超管或 ViewAllDataRole,全部放行
return null;
}
String entrustFilter = DataFilterUtil.buildFilterSql(tableAlias, "entrust_dept_id", true, true);
return "AND (" + bureauFilter + " OR " + entrustFilter + ")";
}
} }

38
zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/report/impl/EnforcementRegistrationStatisticsServiceImpl.java

@ -44,30 +44,24 @@ public class EnforcementRegistrationStatisticsServiceImpl implements IEnforcemen
Page<RegistrationAnalysisVo> page = pageQuery.build(); Page<RegistrationAnalysisVo> page = pageQuery.build();
// 手动计算数据权限过滤条件,注入到内层子查询 WHERE(GROUP BY 之前) // 手动计算数据权限过滤条件,注入到内层子查询 WHERE(GROUP BY 之前)
// 不能使用 @EfcodeDataFilter 注解,因为拦截器会追加到外层 WHERE(GROUP BY 之后) // 不能使用 @EfcodeDataFilter 注解,因为拦截器会追加到外层 WHERE(GROUP BY 之后)
// 同时匹配 bureau_dept_id(执法单位)和 entrust_dept_id(委托执法部门), String filterSql = buildDualColumnFilter("er");
// 任一列在权限范围内即可保留记录
String bureauFilter = DataFilterUtil.buildFilterSql("er", "bureau_dept_id", true, true);
String filterSql;
if (bureauFilter == null) {
// 超管或 ViewAllDataRole,全部放行
filterSql = null;
} else {
String entrustFilter = DataFilterUtil.buildFilterSql("er", "entrust_dept_id", true, true);
filterSql = "AND (" + bureauFilter + " OR " + entrustFilter + ")";
}
IPage<RegistrationAnalysisVo> result = registrationMapper.selectAnalysisPageV2(page, bo, filterSql); IPage<RegistrationAnalysisVo> result = registrationMapper.selectAnalysisPageV2(page, bo, filterSql);
return TableDataInfo.build(result); return TableDataInfo.build(result);
} }
@Override @Override
public List<RegistrationStatisticsAnalysisDetailVo> detail(EnforcementRegistrationBo bo) { public List<RegistrationStatisticsAnalysisDetailVo> detail(EnforcementRegistrationBo bo) {
return registrationMapper.selectAnalysisDetail(bo, null); // 手动构建双列权限过滤(bureau_dept_id OR entrust_dept_id),无表别名
String dataFilter = buildDualColumnFilter("");
return registrationMapper.selectAnalysisDetail(bo, dataFilter);
} }
@Override @Override
public void exportExcel(EnforcementRegistrationBo bo, HttpServletResponse response) { public void exportExcel(EnforcementRegistrationBo bo, HttpServletResponse response) {
// 1. 加载全部个体记录(SQL按enterprise_name排序) // 1. 加载全部个体记录(SQL按enterprise_name排序)
List<RegistrationAnalysisVo> allRecords = registrationMapper.selectAnalysisExportV2(bo, null); // 手动构建双列权限过滤(bureau_dept_id OR entrust_dept_id),表别名 er
String dataFilter = buildDualColumnFilter("er");
List<RegistrationAnalysisVo> allRecords = registrationMapper.selectAnalysisExportV2(bo, dataFilter);
// 2. 按旧系统方式分组:先按区域分组,区域顺序用字典dict_sort // 2. 按旧系统方式分组:先按区域分组,区域顺序用字典dict_sort
// SQL已联查dict_sort但未返回,这里用LinkedHashMap保持第一次出现的顺序即可 // SQL已联查dict_sort但未返回,这里用LinkedHashMap保持第一次出现的顺序即可
@ -322,6 +316,24 @@ public class EnforcementRegistrationStatisticsServiceImpl implements IEnforcemen
} }
} }
/**
* 构建双列数据权限过滤条件:bureau_dept_id(执法单位)或 entrust_dept_id(委托执法部门)。
* <p>任一列在权限范围内即可保留记录。带 "AND " 前缀,可直接拼在现有 WHERE 条件后。
* <p>超管或 ViewAllDataRole 返回 null(不过滤)。
*
* @param tableAlias 表别名(不带点),无别名传 ""
* @return 拼接后的 "AND (...)" SQL片段;超管/全数据角色返回 null
*/
private String buildDualColumnFilter(String tableAlias) {
String bureauFilter = DataFilterUtil.buildFilterSql(tableAlias, "bureau_dept_id", true, true);
if (bureauFilter == null) {
// 超管或 ViewAllDataRole,全部放行
return null;
}
String entrustFilter = DataFilterUtil.buildFilterSql(tableAlias, "entrust_dept_id", true, true);
return "AND (" + bureauFilter + " OR " + entrustFilter + ")";
}
/** /**
* 获取区域字典排序列表(按dict_sort升序) * 获取区域字典排序列表(按dict_sort升序)
*/ */

12
zdxt-modules/zdxt-enforcement-code/src/main/resources/mapper/enforcementcode/EnforcementRegistrationReportMapper.xml

@ -53,10 +53,12 @@
AND check_css = #{bo.checkCss} AND check_css = #{bo.checkCss}
</if> </if>
<if test="bo.district != null and bo.district != ''"> <if test="bo.district != null and bo.district != ''">
AND district = #{bo.district} AND (enterprise_address LIKE CONCAT('深圳市', SUBSTRING_INDEX(#{bo.district}, '区', 1), '区%')
OR enterprise_address LIKE CONCAT('深圳市', SUBSTRING_INDEX(#{bo.district}, '区', 1), '新区%'))
</if> </if>
<if test="bo.street != null and bo.street != ''"> <if test="bo.street != null and bo.street != ''">
AND street = #{bo.street} AND (enterprise_address LIKE CONCAT('深圳市', SUBSTRING_INDEX(#{bo.district}, '区', 1), '区', #{bo.street}, '%')
OR enterprise_address LIKE CONCAT('深圳市', SUBSTRING_INDEX(#{bo.district}, '区', 1), '新区', #{bo.street}, '%'))
</if> </if>
<if test="bo.checkCategory != null and bo.checkCategory != ''"> <if test="bo.checkCategory != null and bo.checkCategory != ''">
AND check_category = #{bo.checkCategory} AND check_category = #{bo.checkCategory}
@ -208,10 +210,12 @@
AND er.check_css = #{bo.checkCss} AND er.check_css = #{bo.checkCss}
</if> </if>
<if test="bo.district != null and bo.district != ''"> <if test="bo.district != null and bo.district != ''">
AND er.district = #{bo.district} AND (er.enterprise_address LIKE CONCAT('深圳市', SUBSTRING_INDEX(#{bo.district}, '区', 1), '区%')
OR er.enterprise_address LIKE CONCAT('深圳市', SUBSTRING_INDEX(#{bo.district}, '区', 1), '新区%'))
</if> </if>
<if test="bo.street != null and bo.street != ''"> <if test="bo.street != null and bo.street != ''">
AND er.street = #{bo.street} AND (er.enterprise_address LIKE CONCAT('深圳市', SUBSTRING_INDEX(#{bo.district}, '区', 1), '区', #{bo.street}, '%')
OR er.enterprise_address LIKE CONCAT('深圳市', SUBSTRING_INDEX(#{bo.district}, '区', 1), '新区', #{bo.street}, '%'))
</if> </if>
<if test="bo.checkCategory != null and bo.checkCategory != ''"> <if test="bo.checkCategory != null and bo.checkCategory != ''">
AND er.check_category = #{bo.checkCategory} AND er.check_category = #{bo.checkCategory}

2
zdxt-web-client/zdxt-admin-plus-ui/.env.development

@ -1,6 +1,6 @@
# 页面标题 # 页面标题
VITE_APP_TITLE = zdxt-Vue-Plus多租户管理系统 VITE_APP_TITLE = zdxt-Vue-Plus多租户管理系统
VITE_APP_LOGO_TITLE = 行政执法监督码 VITE_APP_LOGO_TITLE = 执法监督码•执法监督
# 开发环境配置 # 开发环境配置
VITE_APP_ENV = 'development' VITE_APP_ENV = 'development'

2
zdxt-web-client/zdxt-admin-plus-ui/.env.development-zrb-cust

@ -1,7 +1,7 @@
VITE_APP_PROXY_TARGET = 'http://localhost:17000/sup-ep' VITE_APP_PROXY_TARGET = 'http://localhost:17000/sup-ep'
# 页面标题 # 页面标题
VITE_APP_TITLE = zdxt-Vue-Plus多租户管理系统 VITE_APP_TITLE = zdxt-Vue-Plus多租户管理系统
VITE_APP_LOGO_TITLE = 行政执法监督码 VITE_APP_LOGO_TITLE = 执法监督码•执法监督
# 开发环境配置 # 开发环境配置
VITE_APP_ENV = 'development' VITE_APP_ENV = 'development'

2
zdxt-web-client/zdxt-admin-plus-ui/.env.production

@ -1,6 +1,6 @@
# 页面标题 # 页面标题
VITE_APP_TITLE = zdxt-Vue-Plus多租户管理系统 VITE_APP_TITLE = zdxt-Vue-Plus多租户管理系统
VITE_APP_LOGO_TITLE = zdxt-Vue-Plus VITE_APP_LOGO_TITLE = 执法监督码•执法监督
# 生产环境配置 # 生产环境配置
VITE_APP_ENV = 'production' VITE_APP_ENV = 'production'

BIN
zdxt-web-client/zdxt-admin-plus-ui/src/assets/logo/logo.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.9 KiB

After

Width:  |  Height:  |  Size: 594 KiB

Loading…
Cancel
Save