Browse Source

监督端-查询统计

dev-V1.0.1
庄锐波 5 months ago
parent
commit
1b1d1b997e
  1. 17
      zdxt-modules/zdxt-enforcement-code/src/main/resources/mapper/enforcementcode/EnforcementRegistrationReportMapper.xml
  2. 15
      zdxt-web-client/zdxt-admin-plus-ui/src/views/efcode/report/registration_statistics/index.vue
  3. 11
      zdxt-web-client/zdxt-admin-plus-ui/src/views/login.vue
  4. 10
      zdxt-web-server/zdxt-admin-web-server/src/test/java/com/zdxt/service/test/ResetUserPasswordTest.java

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

@ -468,7 +468,22 @@
AND t.num >= #{bo.num}
</if>
</where>
ORDER BY IFNULL(area.dict_sort, 9999), IFNULL(str.dict_sort, 9999), t.enforcement_time ASC
ORDER BY
CASE
WHEN t.district IS NULL OR t.district = '' THEN 2
WHEN area.dict_sort IS NULL THEN 1
ELSE 0
END,
area.dict_sort,
t.district,
CASE
WHEN t.street IS NULL OR t.street = '' THEN 2
WHEN str.dict_sort IS NULL THEN 1
ELSE 0
END,
str.dict_sort,
t.street,
t.enforcement_time ASC
</select>
<!-- 执法分析-导出专用(返回个体记录,不GROUP BY,与旧系统一致) -->

15
zdxt-web-client/zdxt-admin-plus-ui/src/views/efcode/report/registration_statistics/index.vue

@ -286,6 +286,17 @@ const getLevelCellStyle = (level: string) => {
<el-form-item label="执法事项" prop="lawEnforcementItemText">
<el-input v-model="queryParams.lawEnforcementItemText" placeholder="请输入执法事项" clearable @keyup.enter="handleQuery" style="width: 120px" />
</el-form-item>
<el-form-item label="区域" prop="district">
<el-select v-model="queryParams.district" placeholder="请选择区域" clearable style="width: 120px" @change="handleDistrictChange">
<el-option v-for="item in addressTypeOptions" :key="item.dictValue" :label="item.dictLabel" :value="item.dictLabel" />
</el-select>
</el-form-item>
<el-form-item label="街道" prop="street">
<el-select v-model="queryParams.street" placeholder="请选择街道" clearable style="width: 120px">
<el-option v-for="item in streetOptions" :key="item.dictValue" :label="item.dictLabel" :value="item.dictLabel" />
</el-select>
</el-form-item>
<div style="width: 100%; height: 0;"></div>
<el-form-item label="时段">
<el-select v-model="timeMode" style="width: 90px" @change="handleTimeModeChange">
<el-option label="年度" value="year" />
@ -361,10 +372,10 @@ const getLevelCellStyle = (level: string) => {
</el-card>
<!-- 详情弹窗 -->
<el-dialog v-model="detailDialogVisible" :title="`执法详情 - ${detailEnterpriseName}`" width="700px" append-to-body destroy-on-close>
<el-dialog v-model="detailDialogVisible" :title="`执法详情 - ${detailEnterpriseName}`" width="980px" append-to-body destroy-on-close>
<el-table v-loading="detailLoading" :data="detailData" border stripe max-height="400">
<el-table-column label="执法单位" prop="bureauDeptName" min-width="150" :show-overflow-tooltip="true" />
<el-table-column label="执法人员" prop="lawEnforcer" min-width="120" :show-overflow-tooltip="true" />
<el-table-column label="执法人员" prop="lawEnforcer" max-width="120" :show-overflow-tooltip="true" />
<el-table-column label="执法事项" prop="lawEnforcementItemText" min-width="150" :show-overflow-tooltip="true" />
<el-table-column label="数量" prop="total" width="80" align="center" />
</el-table>

11
zdxt-web-client/zdxt-admin-plus-ui/src/views/login.vue

@ -78,9 +78,9 @@
</el-form-item>
</el-form>
<!-- 测试用户选择弹窗 -->
<el-dialog v-model="showTestUserDialog" title="选择测试用户" width="420px" append-to-body>
<el-dialog v-model="showTestUserDialog" title="选择测试用户" width="620px" append-to-body>
<el-table :data="testUsers" highlight-current-row style="width: 100%" @row-click="selectTestUser">
<el-table-column prop="label" label="角色" width="140" />
<el-table-column prop="label" label="角色" width="240" />
<el-table-column prop="username" label="用户名" width="140" />
<el-table-column label="操作" align="center">
<template #default="{ row }">
@ -153,7 +153,12 @@ interface TestUser {
}
const testUsers = ref<TestUser[]>([
{ label: '超级管理员', tenantId: '000000', username: 'admin', password: 'szsf@zfjd' }
{ label: '超级管理员', tenantId: '000000', username: 'admin', password: 'szsf@zfjd' },
{ label: '深圳市龙岗区司法局-黄占海', tenantId: '000000', username: 'huangzhanhai', password: 'szsf@zfjd' },
{ label: '深圳市南山区司法局-梁有志', tenantId: '000000', username: 'liangyouzhi', password: 'szsf@zfjd' },
{ label: '深圳市坪山区司法局-李旺', tenantId: '000000', username: 'liwang4', password: 'szsf@zfjd' },
{ label: '深圳市光明区司法局-李振禧', tenantId: '000000', username: 'lizhenxi', password: 'szsf@zfjd' },
{ label: '深圳市光明区司法局-王亚伟', tenantId: '000000', username: 'wangyawei3', password: 'szsf@zfjd' }
]);
const selectTestUser = (user: TestUser) => {

10
zdxt-web-server/zdxt-admin-web-server/src/test/java/com/zdxt/service/test/ResetUserPasswordTest.java

@ -26,6 +26,7 @@ import org.dromara.common.satoken.utils.LoginHelper;
import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.BeforeEach;
import org.springframework.mock.web.MockHttpServletRequest;
import org.springframework.test.context.ActiveProfiles;
import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes;
@ -37,6 +38,7 @@ import org.springframework.web.context.request.ServletRequestAttributes;
*/
@SpringBootTest(classes = ZdxtAdminApplication.class)
@AutoConfigureMockMvc
@ActiveProfiles({"dev", "dev-cust-zrb"})
@DisplayName("批量重置企业用户密码")
public class ResetUserPasswordTest {
@ -159,12 +161,18 @@ public class ResetUserPasswordTest {
@DisplayName("批量重置 sys_user 指定用户密码为 szsf@zfjd")
@Test
public void resetSysUserPassword() {
// 1. 指定需要重置密码的用户ID列表
// 1. 执法端的测试用户
List<Long> userIds = Arrays.asList(
// TODO: 在此填入需要重置的用户ID
7897L, 17608416858L,17608416876L, 17608416904L,17608416912L, 17608416926L,17608416927L, 17608416945L
);
// 监督端的报表测试用户
userIds = Arrays.asList(
// TODO: 在此填入需要重置的用户ID
17608417340L, 17608417451L,17608417716L, 17608614169L,17608614499L
);
// 2. 根据ID列表查询系统用户
List<SysUser> userList = sysUserMapper.selectList(
new LambdaQueryWrapper<SysUser>()

Loading…
Cancel
Save