在知识库文件上传表单中,对于需要专家审核的类型(典型案例(原创)、技术总结、培训心得),允许创建人选择1-2位专家组成员作为主审人。
文件路径: src/main/webapp/WEB-INF/tags/sys/selectExpert.tag
创建了新的 tag 文件 selectExpert.tag,用于选择专家组成员:
maxSelect 参数自定义)/sys/office/treeDataAll?type=3&isExpert=1 接口获取专家列表使用示例:
<sys:selectExpert id="expertReviewer" name="expertReviewerIds"
value="${entity.expertReviewerIds}"
labelName="expertReviewerNames"
labelValue="${entity.expertReviewerNames}"
title="专家"
cssClass="form-control judgment layui-input"
allowClear="true"
maxSelect="2"/>
文件路径: src/main/java/com/jeeplus/modules/sys/web/OfficeController.java
修改内容:
WorkKnowledgeExpertServicetreeDataAll 方法中添加 isExpert 参数type=3 且 isExpert=1 时,过滤只返回专家用户所在的部门核心逻辑:
if("3".equals(type) && "1".equals(isExpert)){
// 获取所有启用的专家
List<WorkKnowledgeExpert> expertList = expertService.findEnabledList();
// 过滤mapList,只保留有专家的部门
...
}
文件路径: src/main/java/com/jeeplus/modules/WorkKnowledgeBase/entity/WorkKnowledgeBaseShareInfo.java
新增字段:
/** 主审专家ID列表(多个用逗号分隔) */
private String expertReviewerIds;
/** 主审专家姓名列表(多个用逗号分隔,非数据库字段,用于展示) */
private String expertReviewerNames;
包含 getter/setter 方法。
文件路径: src/main/webapp/webpage/modules/WorkKnowledgeBase/workKnowledgeBaseShareForm.jsp
修改内容:
form 方法中添加 treeName 传递显示条件:
<c:if test="${isQaCategory == false && (treeName == '技术总结' || treeName == '培训心得' || (treeName == '典型案例' && entity.contentAttribute == '0'))}">
UI 提示:
<span class="help-inline" style="color: #999; font-size: 12px;">可选可不选,最多选择2位专家</span>
文件路径: src/main/resources/mappings/modules/WorkKnowledgeBase/WorkKnowledgeBaseShareInfoDao.xml
修改内容:
shareColumns SQL 片段添加 expert_reviewer_ids 字段映射findDynamicList SELECT 子句添加字段findDynamicList GROUP BY 子句添加字段insert 语句添加字段update 语句添加字段文件路径: src/main/resources/mysqlDateBase/alter_work_knowledge_base_share_info_expert_reviewer.sql
SQL 内容:
ALTER TABLE work_knowledge_base_share_info
ADD COLUMN expert_reviewer_ids VARCHAR(500) COMMENT '主审专家ID列表(多个用逗号分隔)' AFTER manual_score_time;
执行说明: 需要在数据库中手动执行此脚本以添加新字段。
/sys/office/treeDataAll?type=3&isExpert=1 → 返回专家所在部门列表 → 用户勾选专家expertReviewerIds 字段保存到数据库(格式:id1,id2)expertReviewerIds → 通过 UserUtils 获取专家姓名 → 填充到 expertReviewerNameswork_knowledge_expert 表中配置且状态为启用的用户| 文件 | 类型 | 说明 |
|---|---|---|
selectExpert.tag |
新建 | 专家选择器 tag |
OfficeController.java |
修改 | 添加 isExpert 参数支持 |
WorkKnowledgeBaseShareInfo.java |
修改 | 添加主审专家字段 |
WorkKnowledgeBaseShareController.java |
修改 | form 方法添加 treeName |
workKnowledgeBaseShareForm.jsp |
修改 | 添加主审专家选择器 UI |
WorkKnowledgeBaseShareInfoDao.xml |
修改 | 添加字段映射 |
alter_work_knowledge_base_share_info_expert_reviewer.sql |
新建 | 数据库迁移脚本 |