<rule-detail>若查询结果包含枚举字段(如 gender=1,2),必须使用 CASE WHEN 语句将其转换为可读的标签。示例: SELECT CASE WHEN "gender" = '1' THEN '男' WHEN "gender" = '2' THEN '女' END AS "gender"</rule-detail>
<rule-detail>若查询结果包含枚举字段(如 gender=1,2),必须使用 CASE WHEN 语句将其转换为可读的标签。示例: SELECT CASE WHEN "gender" = '1' THEN '男' WHEN "gender" = '2' THEN '女' END AS "gender"</rule-detail>
<rule-detail>重点!重点!重点!涉及查询orgs表时,部门存在多层级,必须递归查询。使用 start .. with 语法。递归语法示例:
<rule-detail>重点!重点!重点!涉及查询orgs表时,部门存在多层级,大部分需要递归查询。使用 start .. with 语法。递归语法示例:
SELECT "id"
SELECT "id"
FROM "IUAP_APDOC_BASEDOC"."org_orgs" START
FROM "IUAP_APDOC_BASEDOC"."org_orgs" START
WITH "name"||"shortname" LIKE '%xx中心%' AND "dr"=0 AND "enable"=1 AND "code" LIKE '%CYJ%'
WITH "name"||"shortname" LIKE '%xx中心%' AND "dr"=0 AND "enable"=1 AND "code" LIKE '%CYJ%'
START WITH ("name" LIKE '%XX中心%' OR "shortname" LIKE '%XX中心%')
WITH ("name" LIKE '%XX中心%' OR "shortname" LIKE '%XX中心%')
AND "dr" = 0 AND "enable" = 1 AND "code" LIKE '%CYJ%'
AND "dr" = 0 AND "enable" = 1 AND "code" LIKE '%CYJ%'
CONNECT BY PRIOR "id" = "parentid"
CONNECT BY PRIOR "id" = "parentid"
)
)
AND ps."status" = '1006' AND ps."date_value"
AND ps."status" = '1006'
BETWEEN '2025-10-16' AND '2025-10-22' AND p."dr" = 0
AND ps."date_value"
BETWEEN '2025-10-16'
AND '2025-10-22'
AND p."dr" = 0
AND ps."dr" = 0
AND ps."dr" = 0
GROUP BY p."id", p."code", p."name", o."name"
GROUP BY p."id", p."code", p."name", o."name"
HAVING COUNT(ps."id") >= 2
HAVING COUNT(ps."id") >= 2
ORDER BY COUNT(ps."id") DESC LIMIT 1000
ORDER BY COUNT(ps."id") DESC LIMIT 1000
''',
''',
"tags":["员工","考勤","部门","天数","迟到","次数统计"],
"tags":["员工","考勤","部门","天数","迟到","次数统计"],
"category":"考勤管理"
"category":"考勤管理"
},
},
{
{
@@ -677,20 +735,26 @@ question_and_answer = [
{
{
"question":"XX中心员工在林芝工作的天数",
"question":"XX中心员工在林芝工作的天数",
"answer":'''
"answer":'''
SELECT p."code"AS "工号", p."name" AS "姓名",
SELECT p."code" AS "工号",
p."name" AS "姓名",
COUNT(DISTINCT TO_CHAR(a."attendance_time", 'yyyy-MM-dd')) AS "在林芝工作天数"
COUNT(DISTINCT TO_CHAR(a."attendance_time", 'yyyy-MM-dd')) AS "在林芝工作天数"
FROM "YJOA_APPSERVICE_DB"."t_pr3rl2oj_yj_person_database" p
FROM "YJOA_APPSERVICE_DB"."t_pr3rl2oj_yj_person_database" p
LEFT JOIN "YJOA_APPSERVICE_DB"."t_yj_person_attendance" a ON p."code" = a."person_id"
LEFT JOIN "YJOA_APPSERVICE_DB"."t_yj_person_attendance" a ON p."code" = a."person_id"
LEFT JOIN "YJOA_APPSERVICE_DB"."t_yj_person_ac_area" ac ON a."access_control_point" = ac."ac_point"
LEFT JOIN "YJOA_APPSERVICE_DB"."t_yj_person_ac_area" ac
WHERE p."dr" = 0 AND a."dr" = 0 AND ac."region" = 5 AND a."attendance_time" >= '2025-09-01'
ON a."access_control_point" = ac."ac_point"
WHERE p."dr" = 0
AND a."dr" = 0
AND ac."region" = 5
AND a."attendance_time" >= '2025-09-01'
AND a."attendance_time" < '2025-10-01'
AND a."attendance_time" < '2025-10-01'
AND p."internal_dept" IN (
AND p."internal_dept" IN (SELECT "id"
SELECT "id" FROM "IUAP_APDOC_BASEDOC"."org_orgs"
FROM "IUAP_APDOC_BASEDOC"."org_orgs"START
START WITH ("name" LIKE '%数信中心%' OR "shortname" LIKE '%数信中心%')
WITH ("name" LIKE '%xx中心%' OR "shortname" LIKE '%xx中心%')
AND "dr" = 0 AND "enable" = 1 AND "code" LIKE '%CYJ%'
AND "dr" = 0 AND "enable" = 1 AND "code" LIKE '%CYJ%'
CONNECT BY PRIOR "id" = "parentid"
CONNECT BY PRIOR "id" = "parentid"
)
)
GROUP BY p."code", p."name" ORDER BY "在林芝工作天数" DESC LIMIT 1000;
GROUP BY p."code", p."name"
ORDER BY "在林芝工作天数" DESC LIMIT 1000;
''',
''',
"tags":["员工","部门","考勤","工作地","区域","工作天数统计"],
"tags":["员工","部门","考勤","工作地","区域","工作天数统计"],
"category":"工作地考勤统计分析"
"category":"工作地考勤统计分析"
@@ -716,7 +780,8 @@ question_and_answer = [
WHEN b."region" = 2 THEN '成都'
WHEN b."region" = 2 THEN '成都'
WHEN b."region" = 3 THEN '秭归'
WHEN b."region" = 3 THEN '秭归'
WHEN b."region" = 4 THEN '拉萨'
WHEN b."region" = 4 THEN '拉萨'
WHEN b."region" = 5 THEN '林芝' END AS "地区", b."ac_point" AS "门禁点"
WHEN b."region" = 5 THEN '林芝' END AS "地区",
b."ac_point" AS "门禁点"
FROM "YJOA_APPSERVICE_DB"."t_yj_person_attendance" a
FROM "YJOA_APPSERVICE_DB"."t_yj_person_attendance" a
JOIN "YJOA_APPSERVICE_DB"."t_yj_person_ac_area" b
JOIN "YJOA_APPSERVICE_DB"."t_yj_person_ac_area" b
ON a."access_control_point" = b."ac_point"
ON a."access_control_point" = b."ac_point"
@@ -728,7 +793,7 @@ question_and_answer = [
AND a."dr" = 0
AND a."dr" = 0
ORDER BY a."attendance_time" DESC LIMIT 1000
ORDER BY a."attendance_time" DESC LIMIT 1000
''',
''',
"tags":["员工","个人","考勤","工作地","区域","打卡统计"],
"tags":["员工","个人","考勤","工作地","区域","打卡统计"],
"category":"工作地考勤统计分析"
"category":"工作地考勤统计分析"
},
},
{
{
@@ -745,7 +810,7 @@ question_and_answer = [
< '2025-10-01'
< '2025-10-01'
AND a."dr" = 0 LIMIT 1000
AND a."dr" = 0 LIMIT 1000
''',
''',
"tags":["员工","个人","考勤","工作地","区域","工作天数"],
"tags":["员工","个人","考勤","工作地","区域","工作天数"],
"category":"工作地考勤统计分析"
"category":"工作地考勤统计分析"
},
},
{
{
@@ -755,8 +820,10 @@ question_and_answer = [
FROM YJOA_APPSERVICE_DB.t_yj_person_attendance a
FROM YJOA_APPSERVICE_DB.t_yj_person_attendance a
LEFT JOIN YJOA_APPSERVICE_DB.t_yj_person_ac_area b
LEFT JOIN YJOA_APPSERVICE_DB.t_yj_person_ac_area b
ON a.access_control_point = b.ac_point
ON a.access_control_point = b.ac_point
WHERE a.person_name = '张三' AND b.region IN (4,5,6,7,8)
WHERE a.person_name = '张三'
AND a.dr = 0 AND a.attendance_time >= '2025-01-01'
AND b.region IN (4, 5, 6, 7, 8)
AND a.dr = 0
AND a.attendance_time >= '2025-01-01'
AND a.attendance_time < '2025-10-24' LIMIT 1000
AND a.attendance_time < '2025-10-24' LIMIT 1000
''',
''',
"tags":["员工","个人","考勤","工作地","区域","工作天数"],
"tags":["员工","个人","考勤","工作地","区域","工作天数"],
@@ -769,8 +836,10 @@ question_and_answer = [
FROM YJOA_APPSERVICE_DB.t_yj_person_attendance a
FROM YJOA_APPSERVICE_DB.t_yj_person_attendance a
JOIN YJOA_APPSERVICE_DB.t_yj_person_ac_area b
JOIN YJOA_APPSERVICE_DB.t_yj_person_ac_area b
ON a.access_control_point = b.ac_point
ON a.access_control_point = b.ac_point
WHERE a.person_name = '张三' AND b.region IN (4,5,6,7,8)
WHERE a.person_name = '张三'
AND a.dr = 0 ORDER BY a.attendance_time ASC LIMIT 1
AND b.region IN (4, 5, 6, 7, 8)
AND a.dr = 0
ORDER BY a.attendance_time ASC LIMIT 1
''',
''',
"tags":["员工","个人","考勤","工作地","区域","最早在藏时间"],
"tags":["员工","个人","考勤","工作地","区域","最早在藏时间"],
"category":"工作地考勤统计分析"
"category":"工作地考勤统计分析"
@@ -780,12 +849,15 @@ question_and_answer = [
"answer":'''
"answer":'''
SELECT TO_CHAR(a.attendance_time, 'yyyy-MM') AS month, COUNT(DISTINCT TO_CHAR(a.attendance_time, 'yyyy-MM-dd')) AS tibet_days
SELECT TO_CHAR(a.attendance_time, 'yyyy-MM') AS month, COUNT(DISTINCT TO_CHAR(a.attendance_time, 'yyyy-MM-dd')) AS tibet_days
FROM YJOA_APPSERVICE_DB.t_yj_person_attendance a
FROM YJOA_APPSERVICE_DB.t_yj_person_attendance a
LEFT JOIN YJOA_APPSERVICE_DB.t_yj_person_ac_area ac ON a.access_control_point = ac.ac_point
LEFT JOIN YJOA_APPSERVICE_DB.t_yj_person_ac_area ac
ON a.access_control_point = ac.ac_point
WHERE a.person_name = '张三'
WHERE a.person_name = '张三'
AND a.dr = 0
AND a.dr = 0
AND ac.region IN (4,5)
AND ac.region IN (4
, 5)
AND a.attendance_time >= '2025-05-01'
AND a.attendance_time >= '2025-05-01'
AND a.attendance_time < '2025-11-01'
AND a.attendance_time
< '2025-11-01'
GROUP BY TO_CHAR(a.attendance_time, 'yyyy-MM')
GROUP BY TO_CHAR(a.attendance_time, 'yyyy-MM')
ORDER BY TO_CHAR(a.attendance_time, 'yyyy-MM') ASC
ORDER BY TO_CHAR(a.attendance_time, 'yyyy-MM') ASC
LIMIT 1000
LIMIT 1000
@@ -796,14 +868,19 @@ question_and_answer = [
{
{
"question":"XX中心在林芝最长时间的是谁,待了多少天",
"question":"XX中心在林芝最长时间的是谁,待了多少天",
"answer":'''
"answer":'''
SELECT p."code"AS "工号", p."name" AS "姓名", COUNT(DISTINCT TO_CHAR(a."attendance_time", 'yyyy-MM-dd')) AS "在林芝工作天数"
SELECT p."code" AS "工号",
p."name" AS "姓名",
COUNT(DISTINCT TO_CHAR(a."attendance_time", 'yyyy-MM-dd')) AS "在林芝工作天数"
FROM "YJOA_APPSERVICE_DB"."t_pr3rl2oj_yj_person_database" p
FROM "YJOA_APPSERVICE_DB"."t_pr3rl2oj_yj_person_database" p
LEFT JOIN "YJOA_APPSERVICE_DB"."t_yj_person_attendance" a ON p."code" = a."person_id"
LEFT JOIN "YJOA_APPSERVICE_DB"."t_yj_person_attendance" a ON p."code" = a."person_id"
LEFT JOIN "YJOA_APPSERVICE_DB"."t_yj_person_ac_area" ac ON a."access_control_point" = ac."ac_point"
LEFT JOIN "YJOA_APPSERVICE_DB"."t_yj_person_ac_area" ac
WHERE p."dr" = 0 AND a."dr" = 0 AND ac."region" = 5
ON a."access_control_point" = ac."ac_point"
AND p."internal_dept"IN (
WHERE p."dr"= 0
SELECT "id"FROM "IUAP_APDOC_BASEDOC"."org_orgs"
AND a."dr"= 0
START WITH ("name" LIKE '%数信中心%' OR "shortname" LIKE '%数信中心%')
AND ac."region" = 5
AND p."internal_dept" IN (SELECT "id"
FROM "IUAP_APDOC_BASEDOC"."org_orgs" START
WITH ("name" LIKE '%xx中心%' OR "shortname" LIKE '%xx中心%')
AND "dr" = 0 AND "enable" = 1 AND "code" LIKE '%CYJ%'
AND "dr" = 0 AND "enable" = 1 AND "code" LIKE '%CYJ%'
CONNECT BY PRIOR "id" = "parentid"
CONNECT BY PRIOR "id" = "parentid"
)
)
@@ -811,31 +888,50 @@ question_and_answer = [
ORDER BY "在林芝工作天数" DESC
ORDER BY "在林芝工作天数" DESC
LIMIT 1;
LIMIT 1;
''',
''',
"tags":["员工","个人","考勤","工作地","区域","天数","最值"],
"tags":["员工","个人","考勤","工作地","区域","天数","最值"],
"category":"工作地考勤统计分析"
"category":"工作地考勤统计分析"
},
},
{
{
"question":"XX中心的员工九月在林芝工作的天数排名",
"question":"XX中心的员工九月在林芝工作的天数排名",
"answer":'''
"answer":'''
SELECT p."code"AS "工号", p."name" AS "姓名", COUNT(DISTINCT TO_CHAR(a."attendance_time", 'yyyy-MM-dd')) AS "在林芝工作天数"
SELECT p."code" AS "工号",
p."name" AS "姓名",
COUNT(DISTINCT TO_CHAR(a."attendance_time", 'yyyy-MM-dd')) AS "在林芝工作天数"
FROM "YJOA_APPSERVICE_DB"."t_pr3rl2oj_yj_person_database" p
FROM "YJOA_APPSERVICE_DB"."t_pr3rl2oj_yj_person_database" p
LEFT JOIN "YJOA_APPSERVICE_DB"."t_yj_person_attendance" a ON p."code" = a."person_id"
LEFT JOIN "YJOA_APPSERVICE_DB"."t_yj_person_attendance" a ON p."code" = a."person_id"
LEFT JOIN "YJOA_APPSERVICE_DB"."t_yj_person_ac_area" ac ON a."access_control_point" = ac."ac_point"
LEFT JOIN "YJOA_APPSERVICE_DB"."t_yj_person_ac_area" ac
WHERE p."dr" = 0 AND a."dr" = 0 AND ac."region" = 5
ON a."access_control_point" = ac."ac_point"
AND p."internal_dept"IN (
WHERE p."dr"= 0
SELECT "id"FROM "IUAP_APDOC_BASEDOC"."org_orgs"
AND a."dr"= 0
START WITH ("name" LIKE '%XX中心%' OR "shortname" LIKE '%XX中心%')
AND ac."region" = 5
AND p."internal_dept" IN (SELECT "id"
FROM "IUAP_APDOC_BASEDOC"."org_orgs" START
WITH ("name" LIKE '%XX中心%' OR "shortname" LIKE '%XX中心%')
AND "dr" = 0 AND "enable" = 1 AND "code" LIKE '%CYJ%'
AND "dr" = 0 AND "enable" = 1 AND "code" LIKE '%CYJ%'
CONNECT BY PRIOR "id" = "parentid"
CONNECT BY PRIOR "id" = "parentid"
)
)
AND TO_CHAR(a."attendance_time", 'yyyy-MM') = '2025-09'
AND TO_CHAR(a."attendance_time"
, 'yyyy-MM') = '2025-09'
GROUP BY p."code", p."name"
GROUP BY p."code", p."name"
ORDER BY "在林芝工作天数" DESC
ORDER BY "在林芝工作天数" DESC
LIMIT 1000;
LIMIT 1000;
''',
''',
"tags":["员工","个人","考勤","工作地","区域","天数","排名"],
"tags":["员工","个人","考勤","工作地","区域","天数","排名"],
"category":"工作地考勤统计分析"
"category":"工作地考勤统计分析"
},
},{
"question":"张三10月份是否有迟到",
"answer":'''
SELECT CASE WHEN COUNT(*) > 0 THEN '是' ELSE '否' END AS "是否迟到"
FROM "YJOA_APPSERVICE_DB"."t_yj_person_status" ps
JOIN "YJOA_APPSERVICE_DB"."t_pr3rl2oj_yj_person_database" p ON ps."person_id" = p."code"
WHERE p."name" = '张三'
AND ps."status" = '1006'
AND ps."date_value" LIKE '2025-10%'
AND ps."dr" = 0
AND p."dr" = 0
''',
"tags":["员工","个人","考勤"],
"category":"考勤"
}
]
]
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.