fix(aihr): keep SOP demo records explicit

This commit is contained in:
2026-07-14 13:48:00 +08:00
parent 187a75f6f6
commit f4da174646
5 changed files with 13 additions and 5 deletions
@@ -131,7 +131,7 @@ public final class AihrSopDto {
}
}
public record RecordResponse(String title, String category, String version, String status, String owner, String summary) {
public record RecordResponse(String title, String category, String version, String status, String owner, String summary, String source) {
}
public record ProcessingOverviewResponse(
@@ -3446,9 +3446,9 @@ public class AihrSopSeedService {
private static List<RecordResponse> records() {
return List.of(
new RecordResponse("投诉处理 SOP v1.0", "投诉处理", "v1.0", "已入库", "品质组", "业主投诉的接待、记录、派单、反馈和闭环确认。"),
new RecordResponse("催缴沟通 SOP v1.0", "催缴沟通", "v1.0", "已入库", "财务组", "缴费提醒、费用争议回应、服务问题承接。"),
new RecordResponse("报修跟进 SOP v1.0", "报修跟进", "v1.0", "待审核", "工程组", "报修接单、派工、现场反馈、复核关闭。")
new RecordResponse("投诉处理 SOP v1.0", "投诉处理", "v1.0", "已入库", "品质组", "业主投诉的接待、记录、派单、反馈和闭环确认。", "demo"),
new RecordResponse("催缴沟通 SOP v1.0", "催缴沟通", "v1.0", "已入库", "财务组", "缴费提醒、费用争议回应、服务问题承接。", "demo"),
new RecordResponse("报修跟进 SOP v1.0", "报修跟进", "v1.0", "待审核", "工程组", "报修接单、派工、现场反馈、复核关闭。", "demo")
);
}
+1
View File
@@ -266,3 +266,4 @@
- 2026-07-14 BRD G3 组织快照质量门禁修复:生产默认关闭 `store-display-fields` 时,`AihrOrgSyncService` 原先在 `orgRow()` 内先清空姓名/部门,再以已屏蔽的 `OrgRow` 计算 `suspectText`,外部姓名/部门中的问号乱码可能被漏报,覆盖写入保护因此不完整。现先基于外部原始字段计算 `suspectText`,再独立保存质量标记;展示字段仍按生产脱敏策略清空,组织表结构和写入字段不变。新增 `AihrOrgSyncServiceTest` 回归和 `demo-check` marker;未修改生产数据。正式同步仍需真实上游快照、手机号映射和法务确认。
- 2026-07-14 BRD 4.3.4 每日三题资格边界修复:`aihr_org_snapshot` 没有 `hire_date` 时,旧逻辑用“移动端训练记录少于 3 次”推断新员工,可能把老员工或临时账号误派每日三题。现仅在本地 `application-dev.yml` 显式开启 `allow-legacy-daily-drill-fallback=true`;生产默认关闭,正式环境必须等组织同步提供 `hire_date` 后再按三个月窗口派发。新增边界测试和 `demo-check` marker;不改数据库结构,不伪造正式新员工数据。
- 2026-07-14 BRD 4.3.4 每日三题生产 profile 硬门禁:旧回退即使被环境变量显式打开,仍可能在生产 profile 生效;现仅允许 `dev/local` profile 使用训练次数兼容回退,`prod` 或混合 profile 强制关闭。新增 profile 边界测试和 `demo-check` marker;未修改数据库结构或生产数据。
- 2026-07-14 BRD 6.3 SOP 来源标识修复:SOP 检索成功时前端原先忽略 API 返回的 `records`,后端返回的内置记录也没有来源字段,可能把演示文档显示成真实知识库;现 API 成功态只使用响应记录,内置记录明确标记 `source=demo`,失败/未检索态继续保留已有回退提示。未修改知识库数据或生产环境。
+6 -1
View File
@@ -340,7 +340,12 @@ const seedRecords = [
}
];
const records = computed(() => [...uploadedRecords.value, ...seedRecords]);
const records = computed(() => {
if (apiMode.value === 'api') {
return [...uploadedRecords.value, ...(apiResult.value?.records ?? [])];
}
return apiMode.value === 'fallback' ? [...seedRecords] : [...uploadedRecords.value, ...seedRecords];
});
function selectCategory(item: Category) {
selectedCategory.value = item;
+2
View File
@@ -417,6 +417,8 @@ contains backend/ruoyi-modules/ruoyi-aihr/src/main/java/org/dromara/aihr/service
contains frontend/src/views/knowledge/sop.vue "训练题已生成"
contains frontend/src/views/knowledge/sop.vue "不代表这些文档已真实入库"
contains frontend/src/views/knowledge/sop.vue "内置演示"
contains frontend/src/views/knowledge/sop.vue "apiResult.value?.records"
contains backend/ruoyi-modules/ruoyi-aihr/src/main/java/org/dromara/aihr/domain/AihrSopDto.java "String source"
contains frontend/src/views/knowledge/processing.vue "当前显示演示数据,不代表真实库统计"
contains frontend/src/views/knowledge/cases.vue "不代表真实案例库数据"
contains frontend/src/views/recruit/interview.vue "不代表真实面试数据"