From 63fc01cbb3127f916aa61b4d92a70b9e7b7d4446 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=B0=8C=E5=85=88=E8=88=9C?= <2499071264@qq.com> Date: Thu, 12 Nov 2026 10:23:43 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E4=BF=A1=E6=81=AF=E6=9F=A5=E8=AF=A2?= =?UTF-8?q?=E5=8A=A0=E5=A7=93=E5=90=8D=E6=9F=A5=E8=AF=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../SysDataUserQueryController.java | 6 ++--- .../sys/services/SysDataUserPullService.java | 6 ++++- .../impl/SysDataUserPullServiceImpl.java | 23 ++++++++++++++----- .../ClubRegisterImportController.java | 2 +- .../service/ClubRegisterImportService.java | 2 +- .../views/platform/sys/data/user/query.html | 6 ++++- .../infoManage/manage/clubRegisterImport.js | 2 +- .../infoManage/manage/schoolClubManage.js | 4 ++-- 8 files changed, 35 insertions(+), 16 deletions(-) diff --git a/src/main/java/com/budwk/app/sys/controller/SysDataUserQueryController.java b/src/main/java/com/budwk/app/sys/controller/SysDataUserQueryController.java index 221304f..54d58b1 100644 --- a/src/main/java/com/budwk/app/sys/controller/SysDataUserQueryController.java +++ b/src/main/java/com/budwk/app/sys/controller/SysDataUserQueryController.java @@ -25,8 +25,8 @@ public class SysDataUserQueryController { @At @SaCheckPermission("sys.data.user.query") - public Result queryData(@Param("zgh") String zgh, @Param("pageNumber") int pageNumber, - @Param("pageSize") int pageSize) { - return Result.success(sysUserPullService.queryUsers(zgh, pageNumber, pageSize)); + public Result queryData(@Param("zgh") String zgh, @Param("xm") String xm, + @Param("pageNumber") int pageNumber, @Param("pageSize") int pageSize) { + return Result.success(sysUserPullService.queryUsers(zgh, xm, pageNumber, pageSize)); } } diff --git a/src/main/java/com/budwk/app/sys/services/SysDataUserPullService.java b/src/main/java/com/budwk/app/sys/services/SysDataUserPullService.java index 56d5d0c..f89d04d 100644 --- a/src/main/java/com/budwk/app/sys/services/SysDataUserPullService.java +++ b/src/main/java/com/budwk/app/sys/services/SysDataUserPullService.java @@ -15,7 +15,11 @@ public interface SysDataUserPullService extends BaseService { */ 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); /** * 拉取人员博士后的信息 diff --git a/src/main/java/com/budwk/app/sys/services/impl/SysDataUserPullServiceImpl.java b/src/main/java/com/budwk/app/sys/services/impl/SysDataUserPullServiceImpl.java index 56a278e..4c83ab3 100644 --- a/src/main/java/com/budwk/app/sys/services/impl/SysDataUserPullServiceImpl.java +++ b/src/main/java/com/budwk/app/sys/services/impl/SysDataUserPullServiceImpl.java @@ -335,12 +335,15 @@ public class SysDataUserPullServiceImpl extends BaseServiceImpl } @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) { throw new BaseException("分页参数不合法"); } - if (!dataCenterProperties.isTokenEnabled()) { - JSONObject response = DataCenterUtil.queryPage(getDmpUrl(DMP_TEACHER_KEY), zgh, pageNumber, pageSize); + String jobNumber = StrUtil.trim(zgh); + 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"); JSONArray data = response.getJSONArray("dataSet"); if (pageInfo == null || pageInfo.getLong("total") == null || data == null) { @@ -348,10 +351,18 @@ public class SysDataUserPullServiceImpl extends BaseServiceImpl } return NutMap.NEW().addv("list", data).addv("totalCount", pageInfo.getLong("total")); } - String accessToken = getDmpAccessToken(); List records = new ArrayList<>(); - records.addAll(pullDmpUsers(getDmpUrl(DMP_TEACHER_KEY), accessToken, "在岗教职工", StrUtil.trim(zgh))); - records.addAll(pullDmpUsers(getDmpUrl(DMP_DISPATCH_KEY), accessToken, "在岗劳务派遣", StrUtil.trim(zgh))); + if (tokenEnabled) { + String accessToken = getDmpAccessToken(); + records.addAll(pullDmpUsers(getDmpUrl(DMP_TEACHER_KEY), accessToken, "在岗教职工", jobNumber)); + records.addAll(pullDmpUsers(getDmpUrl(DMP_DISPATCH_KEY), accessToken, "在岗劳务派遣", jobNumber)); + } else { + Map 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()); return NutMap.NEW().addv("list", records.subList(from, Math.min(from + pageSize, records.size()))) .addv("totalCount", records.size()); diff --git a/src/main/java/com/budwk/app/zhgh/club/controller/infoManage/ClubRegisterImportController.java b/src/main/java/com/budwk/app/zhgh/club/controller/infoManage/ClubRegisterImportController.java index 15ec092..4297dcf 100644 --- a/src/main/java/com/budwk/app/zhgh/club/controller/infoManage/ClubRegisterImportController.java +++ b/src/main/java/com/budwk/app/zhgh/club/controller/infoManage/ClubRegisterImportController.java @@ -57,7 +57,7 @@ public class ClubRegisterImportController { append(notes, "必填", "协会名称、协会类型编码、成立日期、会长工号、秘书长工号、至少3名不同发起人工号。"); append(notes, "协会编码", "选填,留空按单个注册的年度编号规则生成;已有名称或编码直接跳过,不覆盖草稿、审批中或已解散记录。"); append(notes, "成立日期", "按yyyy-MM-dd填写,如2026-10-23;支持Excel日期单元格。"); - append(notes, "人员", "使用系统内已有工号。会长和秘书长各1人;副职可选多人,用逗号分隔,理事机构人员不得重复。"); + append(notes, "人员", "使用系统内已有工号。会长和秘书长各至少填1人,副会长和副秘书长选填。同一职务的多个工号用英文逗号(,)分隔,理事机构人员不得重复。"); append(notes, "发起人", "至少3名不同人员,用逗号分隔;可与理事机构人员重合。"); append(notes, "联系人", "选填工号,电话及邮箱默认取人员资料;单独填写电话、邮箱时使用填写值。"); append(notes, "协会类型", "参照协会类型工作表填写编码,不填写名称。"); diff --git a/src/main/java/com/budwk/app/zhgh/club/service/ClubRegisterImportService.java b/src/main/java/com/budwk/app/zhgh/club/service/ClubRegisterImportService.java index 13acbe1..17686ac 100644 --- a/src/main/java/com/budwk/app/zhgh/club/service/ClubRegisterImportService.java +++ b/src/main/java/com/budwk/app/zhgh/club/service/ClubRegisterImportService.java @@ -146,7 +146,7 @@ public class ClubRegisterImportService { private void addManagers(List managers, Set ids, String text, String roleCode, boolean required) { List 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) { throw new IllegalArgumentException("系统未配置协会角色:" + roleCode); } diff --git a/src/main/resources/views/platform/sys/data/user/query.html b/src/main/resources/views/platform/sys/data/user/query.html index 4b16627..c91113a 100644 --- a/src/main/resources/views/platform/sys/data/user/query.html +++ b/src/main/resources/views/platform/sys/data/user/query.html @@ -8,6 +8,9 @@ layout("/layouts/platform.html"){ + + + 重置 @@ -30,7 +33,7 @@ layout("/layouts/platform.html"){ data() { return { pageDataUrl: "/platform/sys/data/user/query/queryData", - pageForm: { zgh: "" }, + pageForm: { zgh: "", xm: "" }, columns: [ { key: "ZGH", label: "工号", alias: "ID" }, { key: "XM", label: "姓名", alias: "" }, @@ -64,6 +67,7 @@ layout("/layouts/platform.html"){ methods: { resetSearch() { this.pageForm.zgh = "" + this.pageForm.xm = "" this.doSearch() }, formatValue(value) { diff --git a/src/main/resources/views/platform/zhgh/club/infoManage/manage/clubRegisterImport.js b/src/main/resources/views/platform/zhgh/club/infoManage/manage/clubRegisterImport.js index 9b3f411..263b472 100644 --- a/src/main/resources/views/platform/zhgh/club/infoManage/manage/clubRegisterImport.js +++ b/src/main/resources/views/platform/zhgh/club/infoManage/manage/clubRegisterImport.js @@ -10,7 +10,7 @@ const CLUB_REGISTER_IMPORT_TEMPLATE = {

1. 下载并填写模板

下载模板及参数说明

必填:名称、类型编码、成立日期、会长和秘书长工号、至少3名发起人工号。

-

人员:会长和秘书长各1人,副职选填。多人工号用逗号分隔,理事人员不能重复。

+

人员:会长和秘书长各至少填1人,副会长和副秘书长选填。同一职务的多个工号用英文逗号(,)分隔,理事人员不能重复。

选填:协会编码留空自动生成;联系人、会费、介绍、缩略图及附件等详见模板。

协会类型来自系统字典,模板内附当前类型对照表。

diff --git a/src/main/resources/views/platform/zhgh/club/infoManage/manage/schoolClubManage.js b/src/main/resources/views/platform/zhgh/club/infoManage/manage/schoolClubManage.js index c0177e1..954d99e 100644 --- a/src/main/resources/views/platform/zhgh/club/infoManage/manage/schoolClubManage.js +++ b/src/main/resources/views/platform/zhgh/club/infoManage/manage/schoolClubManage.js @@ -22,14 +22,14 @@ const SCHOOL_CLUB_MANAGE_TEMPLATE = { + 批量导入协会