fix(aihr): scope pilot SOP metrics

This commit is contained in:
2026-07-14 11:20:12 +08:00
parent 87517e5718
commit 88702867b8
5 changed files with 26 additions and 8 deletions
@@ -1933,6 +1933,7 @@ public class AihrSopSeedService {
SELECT COUNT(*) AS total, COALESCE(SUM(CASE WHEN usable = 1 THEN 1 ELSE 0 END), 0) AS usable
FROM aihr_sop_answer_review
WHERE tenant_id = ? AND status = '已评审'
AND (LOWER(TRIM(COALESCE(category, ''))) = 'sop' OR category LIKE '%SOP%')
""", (rs, rowNum) -> new SopReviewStats(rs.getInt("total"), rs.getInt("usable")), tenantId());
}
@@ -1946,6 +1947,7 @@ public class AihrSopSeedService {
SELECT COUNT(*) AS total, COALESCE(SUM(CASE WHEN usable = 1 THEN 1 ELSE 0 END), 0) AS usable
FROM aihr_sop_answer_review
WHERE tenant_id = ? AND status = '已评审'
AND (LOWER(TRIM(COALESCE(category, ''))) = 'sop' OR category LIKE '%SOP%')
AND reviewed_time >= ? AND reviewed_time < ?
""", (rs, rowNum) -> new SopReviewStats(rs.getInt("total"), rs.getInt("usable")),
tenantId(), Timestamp.valueOf(startTime), Timestamp.valueOf(endTime));
@@ -53,6 +53,19 @@ public class AihrSopSeedServiceTest {
assertTrue(AihrSopSeedService.hasExplicitSopReviewDecision(new AihrSopDto.SopReviewRequest(false, null, null)));
}
@Test
@Tag("dev")
public void pilotSopStatsScopeToSopCategories() throws Exception {
Path source = Path.of("src/main/java/org/dromara/aihr/service/AihrSopSeedService.java");
if (!Files.exists(source)) {
source = Path.of("ruoyi-modules/ruoyi-aihr/src/main/java/org/dromara/aihr/service/AihrSopSeedService.java");
}
String code = Files.readString(source);
assertTrue(code.contains("LOWER(TRIM(COALESCE(category, ''))) = 'sop'"));
assertTrue(code.contains("category LIKE '%SOP%'"));
}
@Test
@Tag("dev")
public void evidenceHitsKeepsNamedDocumentOnly() {