feat: 信息查询加姓名查询
This commit is contained in:
@@ -25,8 +25,8 @@ public class SysDataUserQueryController {
|
|||||||
|
|
||||||
@At
|
@At
|
||||||
@SaCheckPermission("sys.data.user.query")
|
@SaCheckPermission("sys.data.user.query")
|
||||||
public Result queryData(@Param("zgh") String zgh, @Param("pageNumber") int pageNumber,
|
public Result queryData(@Param("zgh") String zgh, @Param("xm") String xm,
|
||||||
@Param("pageSize") int pageSize) {
|
@Param("pageNumber") int pageNumber, @Param("pageSize") int pageSize) {
|
||||||
return Result.success(sysUserPullService.queryUsers(zgh, pageNumber, pageSize));
|
return Result.success(sysUserPullService.queryUsers(zgh, xm, pageNumber, pageSize));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -15,7 +15,11 @@ public interface SysDataUserPullService extends BaseService<Sys_user_source> {
|
|||||||
*/
|
*/
|
||||||
Date pull();
|
Date pull();
|
||||||
|
|
||||||
NutMap queryUsers(String zgh, int pageNumber, int pageSize);
|
default NutMap queryUsers(String zgh, int pageNumber, int pageSize) {
|
||||||
|
return queryUsers(zgh, null, pageNumber, pageSize);
|
||||||
|
}
|
||||||
|
|
||||||
|
NutMap queryUsers(String zgh, String xm, int pageNumber, int pageSize);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 拉取人员博士后的信息
|
* 拉取人员博士后的信息
|
||||||
|
|||||||
@@ -335,12 +335,15 @@ public class SysDataUserPullServiceImpl extends BaseServiceImpl<Sys_user_source>
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public NutMap queryUsers(String zgh, int pageNumber, int pageSize) {
|
public NutMap queryUsers(String zgh, String xm, int pageNumber, int pageSize) {
|
||||||
if (pageNumber < 1 || pageSize < 1 || pageSize > 200) {
|
if (pageNumber < 1 || pageSize < 1 || pageSize > 200) {
|
||||||
throw new BaseException("分页参数不合法");
|
throw new BaseException("分页参数不合法");
|
||||||
}
|
}
|
||||||
if (!dataCenterProperties.isTokenEnabled()) {
|
String jobNumber = StrUtil.trim(zgh);
|
||||||
JSONObject response = DataCenterUtil.queryPage(getDmpUrl(DMP_TEACHER_KEY), zgh, pageNumber, pageSize);
|
String name = StrUtil.trim(xm);
|
||||||
|
boolean tokenEnabled = dataCenterProperties.isTokenEnabled();
|
||||||
|
if (!tokenEnabled && StrUtil.isBlank(name)) {
|
||||||
|
JSONObject response = DataCenterUtil.queryPage(getDmpUrl(DMP_TEACHER_KEY), jobNumber, pageNumber, pageSize);
|
||||||
JSONObject pageInfo = response.getJSONObject("pageInfo");
|
JSONObject pageInfo = response.getJSONObject("pageInfo");
|
||||||
JSONArray data = response.getJSONArray("dataSet");
|
JSONArray data = response.getJSONArray("dataSet");
|
||||||
if (pageInfo == null || pageInfo.getLong("total") == null || data == null) {
|
if (pageInfo == null || pageInfo.getLong("total") == null || data == null) {
|
||||||
@@ -348,10 +351,18 @@ public class SysDataUserPullServiceImpl extends BaseServiceImpl<Sys_user_source>
|
|||||||
}
|
}
|
||||||
return NutMap.NEW().addv("list", data).addv("totalCount", pageInfo.getLong("total"));
|
return NutMap.NEW().addv("list", data).addv("totalCount", pageInfo.getLong("total"));
|
||||||
}
|
}
|
||||||
String accessToken = getDmpAccessToken();
|
|
||||||
List<JSONObject> records = new ArrayList<>();
|
List<JSONObject> records = new ArrayList<>();
|
||||||
records.addAll(pullDmpUsers(getDmpUrl(DMP_TEACHER_KEY), accessToken, "在岗教职工", StrUtil.trim(zgh)));
|
if (tokenEnabled) {
|
||||||
records.addAll(pullDmpUsers(getDmpUrl(DMP_DISPATCH_KEY), accessToken, "在岗劳务派遣", StrUtil.trim(zgh)));
|
String accessToken = getDmpAccessToken();
|
||||||
|
records.addAll(pullDmpUsers(getDmpUrl(DMP_TEACHER_KEY), accessToken, "在岗教职工", jobNumber));
|
||||||
|
records.addAll(pullDmpUsers(getDmpUrl(DMP_DISPATCH_KEY), accessToken, "在岗劳务派遣", jobNumber));
|
||||||
|
} else {
|
||||||
|
Map<String, String> params = StrUtil.isBlank(jobNumber) ? Map.of() : Map.of("zgh", jobNumber);
|
||||||
|
records = DataCenterUtil.pullData(getDmpUrl(DMP_TEACHER_KEY), params);
|
||||||
|
}
|
||||||
|
if (StrUtil.isNotBlank(name)) {
|
||||||
|
records.removeIf(record -> !StringUtils.contains(record.getStr("XM"), name));
|
||||||
|
}
|
||||||
int from = (int) Math.min((long) (pageNumber - 1) * pageSize, records.size());
|
int from = (int) Math.min((long) (pageNumber - 1) * pageSize, records.size());
|
||||||
return NutMap.NEW().addv("list", records.subList(from, Math.min(from + pageSize, records.size())))
|
return NutMap.NEW().addv("list", records.subList(from, Math.min(from + pageSize, records.size())))
|
||||||
.addv("totalCount", records.size());
|
.addv("totalCount", records.size());
|
||||||
|
|||||||
+1
-1
@@ -57,7 +57,7 @@ public class ClubRegisterImportController {
|
|||||||
append(notes, "必填", "协会名称、协会类型编码、成立日期、会长工号、秘书长工号、至少3名不同发起人工号。");
|
append(notes, "必填", "协会名称、协会类型编码、成立日期、会长工号、秘书长工号、至少3名不同发起人工号。");
|
||||||
append(notes, "协会编码", "选填,留空按单个注册的年度编号规则生成;已有名称或编码直接跳过,不覆盖草稿、审批中或已解散记录。");
|
append(notes, "协会编码", "选填,留空按单个注册的年度编号规则生成;已有名称或编码直接跳过,不覆盖草稿、审批中或已解散记录。");
|
||||||
append(notes, "成立日期", "按yyyy-MM-dd填写,如2026-10-23;支持Excel日期单元格。");
|
append(notes, "成立日期", "按yyyy-MM-dd填写,如2026-10-23;支持Excel日期单元格。");
|
||||||
append(notes, "人员", "使用系统内已有工号。会长和秘书长各1人;副职可选多人,用逗号分隔,理事机构人员不得重复。");
|
append(notes, "人员", "使用系统内已有工号。会长和秘书长各至少填1人,副会长和副秘书长选填。同一职务的多个工号用英文逗号(,)分隔,理事机构人员不得重复。");
|
||||||
append(notes, "发起人", "至少3名不同人员,用逗号分隔;可与理事机构人员重合。");
|
append(notes, "发起人", "至少3名不同人员,用逗号分隔;可与理事机构人员重合。");
|
||||||
append(notes, "联系人", "选填工号,电话及邮箱默认取人员资料;单独填写电话、邮箱时使用填写值。");
|
append(notes, "联系人", "选填工号,电话及邮箱默认取人员资料;单独填写电话、邮箱时使用填写值。");
|
||||||
append(notes, "协会类型", "参照协会类型工作表填写编码,不填写名称。");
|
append(notes, "协会类型", "参照协会类型工作表填写编码,不填写名称。");
|
||||||
|
|||||||
@@ -146,7 +146,7 @@ public class ClubRegisterImportService {
|
|||||||
|
|
||||||
private void addManagers(List<NutMap> managers, Set<String> ids, String text, String roleCode, boolean required) {
|
private void addManagers(List<NutMap> managers, Set<String> ids, String text, String roleCode, boolean required) {
|
||||||
List<String> names = split(text);
|
List<String> names = split(text);
|
||||||
if (required && names.size() != 1) throw new IllegalArgumentException("会长、秘书长各需填写1名人员工号");
|
if (required && names.isEmpty()) throw new IllegalArgumentException("会长、秘书长各需至少填写1名人员工号");
|
||||||
if (!names.isEmpty() && sysRoleService.getByCode(roleCode) == null) {
|
if (!names.isEmpty() && sysRoleService.getByCode(roleCode) == null) {
|
||||||
throw new IllegalArgumentException("系统未配置协会角色:" + roleCode);
|
throw new IllegalArgumentException("系统未配置协会角色:" + roleCode);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -8,6 +8,9 @@ layout("/layouts/platform.html"){
|
|||||||
<search-item label="工号">
|
<search-item label="工号">
|
||||||
<el-input placeholder="请输入工号" clearable v-model="pageForm.zgh" @keyup.enter.native="doSearch"></el-input>
|
<el-input placeholder="请输入工号" clearable v-model="pageForm.zgh" @keyup.enter.native="doSearch"></el-input>
|
||||||
</search-item>
|
</search-item>
|
||||||
|
<search-item label="姓名">
|
||||||
|
<el-input placeholder="请输入姓名" clearable v-model="pageForm.xm" @keyup.enter.native="doSearch"></el-input>
|
||||||
|
</search-item>
|
||||||
<el-button slot="actions" icon="el-icon-refresh-left" :disabled="tableLoading" @click="resetSearch">重置</el-button>
|
<el-button slot="actions" icon="el-icon-refresh-left" :disabled="tableLoading" @click="resetSearch">重置</el-button>
|
||||||
</search>
|
</search>
|
||||||
</el-card>
|
</el-card>
|
||||||
@@ -30,7 +33,7 @@ layout("/layouts/platform.html"){
|
|||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
pageDataUrl: "/platform/sys/data/user/query/queryData",
|
pageDataUrl: "/platform/sys/data/user/query/queryData",
|
||||||
pageForm: { zgh: "" },
|
pageForm: { zgh: "", xm: "" },
|
||||||
columns: [
|
columns: [
|
||||||
{ key: "ZGH", label: "工号", alias: "ID" },
|
{ key: "ZGH", label: "工号", alias: "ID" },
|
||||||
{ key: "XM", label: "姓名", alias: "" },
|
{ key: "XM", label: "姓名", alias: "" },
|
||||||
@@ -64,6 +67,7 @@ layout("/layouts/platform.html"){
|
|||||||
methods: {
|
methods: {
|
||||||
resetSearch() {
|
resetSearch() {
|
||||||
this.pageForm.zgh = ""
|
this.pageForm.zgh = ""
|
||||||
|
this.pageForm.xm = ""
|
||||||
this.doSearch()
|
this.doSearch()
|
||||||
},
|
},
|
||||||
formatValue(value) {
|
formatValue(value) {
|
||||||
|
|||||||
@@ -10,7 +10,7 @@ const CLUB_REGISTER_IMPORT_TEMPLATE = {
|
|||||||
<h4>1. 下载并填写模板</h4>
|
<h4>1. 下载并填写模板</h4>
|
||||||
<el-button type="primary" plain size="small" icon="el-icon-download" @click="download" :disabled="loading">下载模板及参数说明</el-button>
|
<el-button type="primary" plain size="small" icon="el-icon-download" @click="download" :disabled="loading">下载模板及参数说明</el-button>
|
||||||
<p><strong>必填:</strong>名称、类型编码、成立日期、会长和秘书长工号、至少3名发起人工号。</p>
|
<p><strong>必填:</strong>名称、类型编码、成立日期、会长和秘书长工号、至少3名发起人工号。</p>
|
||||||
<p><strong>人员:</strong>会长和秘书长各1人,副职选填。多人工号用逗号分隔,理事人员不能重复。</p>
|
<p><strong>人员:</strong>会长和秘书长各至少填1人,副会长和副秘书长选填。同一职务的多个工号用英文逗号(,)分隔,理事人员不能重复。</p>
|
||||||
<p><strong>选填:</strong>协会编码留空自动生成;联系人、会费、介绍、缩略图及附件等详见模板。</p>
|
<p><strong>选填:</strong>协会编码留空自动生成;联系人、会费、介绍、缩略图及附件等详见模板。</p>
|
||||||
<p class="club-register-import-muted">协会类型来自系统字典,模板内附当前类型对照表。</p>
|
<p class="club-register-import-muted">协会类型来自系统字典,模板内附当前类型对照表。</p>
|
||||||
</section>
|
</section>
|
||||||
|
|||||||
@@ -22,14 +22,14 @@ const SCHOOL_CLUB_MANAGE_TEMPLATE = {
|
|||||||
<el-card shadow="never" class="mt10 club-manage-list-card">
|
<el-card shadow="never" class="mt10 club-manage-list-card">
|
||||||
<table-tool label="协会列表">
|
<table-tool label="协会列表">
|
||||||
<template slot="content">
|
<template slot="content">
|
||||||
<el-button v-if="$auth.hasRole('SYSADMIN')" type="primary" size="small" icon="el-icon-upload2"
|
|
||||||
@click="openImport">批量导入协会</el-button>
|
|
||||||
<!-- 一级节点展示协会总览时,引导用户从左侧树选择协会查看详细信息。 -->
|
<!-- 一级节点展示协会总览时,引导用户从左侧树选择协会查看详细信息。 -->
|
||||||
<span v-if="parentNode.currentTreeNode && parentNode.currentTreeNode.level === 1"
|
<span v-if="parentNode.currentTreeNode && parentNode.currentTreeNode.level === 1"
|
||||||
style="display: block; text-align: center; color: #f56c6c;">
|
style="display: block; text-align: center; color: #f56c6c;">
|
||||||
温馨提醒:选择左侧树中的某个协会,可查询该协会的详细信息。
|
温馨提醒:选择左侧树中的某个协会,可查询该协会的详细信息。
|
||||||
</span>
|
</span>
|
||||||
</template>
|
</template>
|
||||||
|
<el-button v-if="$auth.hasRole('SYSADMIN')" type="primary" size="small" icon="el-icon-upload2"
|
||||||
|
@click="openImport">批量导入协会</el-button>
|
||||||
</table-tool>
|
</table-tool>
|
||||||
<el-table v-loading="tableLoading" :data="tableData" :height="tableHeight"
|
<el-table v-loading="tableLoading" :data="tableData" :height="tableHeight"
|
||||||
row-key="id" ref="tableRef">
|
row-key="id" ref="tableRef">
|
||||||
|
|||||||
Reference in New Issue
Block a user