1051 lines
55 KiB
Python
1051 lines
55 KiB
Python
import json
|
||
|
||
# 按功能模块组织
|
||
question_and_answer = [
|
||
{
|
||
"question": "张三的信息",
|
||
"answer": """
|
||
SELECT "id" AS "ID",
|
||
"code" AS "工号",
|
||
"name" AS "姓名",
|
||
"internal_unit" AS "内部单位",
|
||
"external_unit" AS "外部单位",
|
||
"phone_number" AS "手机号",
|
||
"email" AS "邮箱",
|
||
CASE WHEN "gender" = '1' THEN '男' WHEN "gender" = '2' THEN '女' ELSE "gender" END AS "性别",
|
||
-- 人员类型转换逻辑
|
||
CASE
|
||
WHEN "person_type" = 'YG' THEN '正式员工'
|
||
WHEN "person_type" = 'PQ' THEN '劳务派遣人员'
|
||
ELSE "person_type" END AS "人员类型"
|
||
FROM "YJOA_APPSERVICE_DB"."t_pr3rl2oj_yj_person_database"
|
||
WHERE "dr" = 0
|
||
AND "name" = '张三' LIMIT 1000
|
||
""",
|
||
"tags": ["员工", "基本信息", "单人员工"],
|
||
"category": "员工基本信息查询"
|
||
},
|
||
{
|
||
"question": "在成都研发基地工作的有哪些员工",
|
||
"answer": '''
|
||
SELECT DISTINCT
|
||
p."code" AS "工号",
|
||
p."name" AS "姓名",
|
||
p."work_unit" AS "工作单位",
|
||
CASE
|
||
WHEN ac."region" = 2 THEN '成都'
|
||
ELSE '其他'
|
||
END AS "工作地区"
|
||
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_ac_area" ac
|
||
ON a."access_control_point" = ac."ac_point"
|
||
WHERE p."dr" = 0
|
||
AND a."dr" = 0
|
||
AND (a."attendance_address" LIKE '%成都研发基地%' OR ac."region" = 2)
|
||
LIMIT 1000;
|
||
''',
|
||
"tags": ["员工", "工作地", "条件筛选查询"],
|
||
"category": "员工基本信息查询"
|
||
},
|
||
{
|
||
"question": "总共有多少员工",
|
||
"answer": """
|
||
SELECT COUNT(1) AS "total_count"
|
||
FROM "YJOA_APPSERVICE_DB"."t_pr3rl2oj_yj_person_database"
|
||
WHERE "dr" = 0 LIMIT 1000
|
||
""",
|
||
"tags": ["员工", "人数", "总体统计"],
|
||
"category": "员工统计与分析"
|
||
},
|
||
{
|
||
"question": "XX中心下有多少员工",
|
||
"answer": """
|
||
SELECT COUNT(*)
|
||
FROM YJOA_APPSERVICE_DB.t_pr3rl2oj_yj_person_database
|
||
WHERE internal_dept in (SELECT "id"
|
||
FROM "IUAP_APDOC_BASEDOC"."org_orgs" START
|
||
WITH "name"||"shortname" LIKE '%XX中心%' AND "dr"=0 AND "enable"=1 AND "code" LIKE '%CYJ%'
|
||
CONNECT BY PRIOR "id" = "parentid")
|
||
""",
|
||
"tags": ["员工", "部门", "人数"],
|
||
"category": "员工统计与分析"
|
||
},
|
||
{
|
||
"question": "数信部下有多少员工",
|
||
"answer": """
|
||
SELECT COUNT(*)
|
||
FROM YJOA_APPSERVICE_DB.t_pr3rl2oj_yj_person_database p
|
||
WHERE internal_dept in (SELECT "id"
|
||
FROM "IUAP_APDOC_BASEDOC"."org_orgs"
|
||
START WITH "name"||"shortname" LIKE '%数字信息部%' AND "dr"=0 AND "enable"=1 AND "code" LIKE '%CYJ%'
|
||
CONNECT BY PRIOR "id" = "parentid"
|
||
)
|
||
AND p.dr=0
|
||
""",
|
||
"tags": ["员工", "部门", "人数"],
|
||
"category": "员工统计与分析"
|
||
},
|
||
{
|
||
"question": "XX中心下各个处室分别有多少人",
|
||
"answer": """
|
||
SELECT o.name AS "处室名称", COUNT(p.id) AS "人数"
|
||
FROM YJOA_APPSERVICE_DB.t_pr3rl2oj_yj_person_database p
|
||
JOIN IUAP_APDOC_BASEDOC.org_orgs o ON p.internal_dept = o.id
|
||
WHERE p.internal_dept IN (SELECT "id"
|
||
FROM "IUAP_APDOC_BASEDOC"."org_orgs" START
|
||
WITH "name"||"shortname" LIKE '%XX中心%' AND "dr"=0 AND "enable"=1 AND "code" LIKE '%CYJ%'
|
||
CONNECT BY PRIOR "id" = "parentid"
|
||
)
|
||
AND p.dr = 0
|
||
GROUP BY o.name
|
||
ORDER BY "人数" DESC
|
||
LIMIT 1000
|
||
""",
|
||
"tags": ["员工", "部门", "人数"],
|
||
"category": "员工统计与分析"
|
||
},
|
||
{
|
||
"question": "XX中心下的XX管理处有多少人",
|
||
"answer": '''
|
||
SELECT o.name AS "处室名称", COUNT(p.id) AS "人数"
|
||
FROM YJOA_APPSERVICE_DB.t_pr3rl2oj_yj_person_database p
|
||
JOIN IUAP_APDOC_BASEDOC.org_orgs o ON p.internal_dept = o.id
|
||
WHERE p.internal_dept IN (SELECT "id"
|
||
FROM "IUAP_APDOC_BASEDOC"."org_orgs" START
|
||
WITH "name"||"shortname" LIKE '%XX中心%' AND "dr"=0 AND "enable"=1 AND "code" LIKE '%CYJ%'
|
||
CONNECT BY PRIOR "id" = "parentid"
|
||
)
|
||
AND p.dr = 0
|
||
AND o.name LIKE '%XX管理处%'
|
||
GROUP BY o.name
|
||
ORDER BY "人数" DESC
|
||
LIMIT 1000
|
||
''',
|
||
"tags": ["员工", "部门", "人数"],
|
||
"category": "员工统计与分析"
|
||
},
|
||
{
|
||
"question": "XX中心正式人员有多少,各个处室有多少?",
|
||
"answer": '''
|
||
SELECT o.name AS "处室名称", COUNT(p.id) AS "正式员工数量"
|
||
FROM "YJOA_APPSERVICE_DB"."t_pr3rl2oj_yj_person_database" p
|
||
JOIN "IUAP_APDOC_BASEDOC"."org_orgs" o ON p.internal_dept = o.id
|
||
WHERE p.person_type = 'YG'
|
||
AND p.dr = 0
|
||
AND o.enable = 1
|
||
AND o.dr = 0
|
||
AND (
|
||
o.id IN (SELECT "id"
|
||
FROM "IUAP_APDOC_BASEDOC"."org_orgs" START WITH ("name" LIKE '%XX中心%' OR "shortname" LIKE '%XX中心%')
|
||
AND "enable" = 1
|
||
AND "dr" = 0
|
||
CONNECT BY PRIOR "id" = "parentid"
|
||
)
|
||
)
|
||
GROUP BY o.name
|
||
ORDER BY "正式员工数量" DESC
|
||
LIMIT 1000;
|
||
''',
|
||
"tags": ["员工", "部门", "人员类型", "正式员工", "处室分布"],
|
||
"category": "员工统计与分析"
|
||
},
|
||
{
|
||
"question": "XX部门有哪些员工",
|
||
"answer": """
|
||
SELECT p.id AS "id", p.code AS "employee_code", p.name AS "name", o.name AS "department_name"
|
||
FROM "YJOA_APPSERVICE_DB"."t_pr3rl2oj_yj_person_database" p
|
||
JOIN "IUAP_APDOC_BASEDOC"."org_orgs" o ON p.internal_dept = o.id
|
||
WHERE p.dr = 0
|
||
AND o.enable = 1
|
||
AND o.dr = 0
|
||
AND o.id IN (SELECT id
|
||
FROM "IUAP_APDOC_BASEDOC"."org_orgs" START
|
||
WITH ("name" LIKE '%XX%' OR "shortname" LIKE '%XX%')
|
||
AND "enable" = 1 AND "dr" = 0
|
||
CONNECT BY PRIOR "id" = "parentid")
|
||
LIMIT 1000
|
||
""",
|
||
"tags": ["员工", "部门", "列表查询"],
|
||
"category": "部门人员查询"
|
||
},
|
||
|
||
{
|
||
"question": "XX部有多少员工,男女员工分别有多少",
|
||
"answer": """
|
||
SELECT COUNT(*) AS "总人数",
|
||
SUM(CASE WHEN gender = '1' THEN 1 ELSE 0 END) AS "男员工数",
|
||
SUM(CASE WHEN gender = '2' THEN 1 ELSE 0 END) AS "女员工数"
|
||
FROM YJOA_APPSERVICE_DB.t_pr3rl2oj_yj_person_database p
|
||
WHERE p.internal_dept IN (SELECT "id"
|
||
FROM "IUAP_APDOC_BASEDOC"."org_orgs" START
|
||
WITH "name"||"shortname" LIKE '%XX部%'
|
||
CONNECT BY PRIOR "id" = "parentid"
|
||
)
|
||
AND p.dr = 0
|
||
LIMIT 1000;
|
||
""",
|
||
"tags": ["员工", "性别", "部门", "人数统计"],
|
||
"category": "性别分布统计"
|
||
},
|
||
|
||
{
|
||
"question": "今年新入职XX部门的员工中,男女各有多少",
|
||
"answer": """
|
||
SELECT SUM(CASE WHEN p."gender" = '1' THEN 1 ELSE 0 END) AS "男员工数",
|
||
SUM(CASE WHEN p."gender" = '2' THEN 1 ELSE 0 END) AS "女员工数"
|
||
FROM "YJOA_APPSERVICE_DB"."t_pr3rl2oj_yj_person_database" p
|
||
WHERE p."internal_dept" IN (SELECT "id"
|
||
FROM "IUAP_APDOC_BASEDOC"."org_orgs" START
|
||
WITH "name" LIKE '%XX%' AND "dr" = 0 AND "enable" = 1 AND "code" LIKE '%CYJ%'
|
||
CONNECT BY PRIOR "id" = "parentid")
|
||
AND p."dr" = 0
|
||
AND YEAR (p."input_time") = 2025
|
||
LIMIT 1000;
|
||
""",
|
||
"tags": ["员工", "性别", "部门", "人数统计"],
|
||
"category": "性别分布统计"
|
||
},
|
||
{
|
||
"question": "XX部门博士和硕士分别有多少员工",
|
||
"answer": """
|
||
SELECT COUNT(CASE WHEN p."highest_degree" = '3' THEN 1 END) AS "doctor_count",
|
||
COUNT(CASE WHEN p."highest_degree" = '2' THEN 1 END) AS "master_count"
|
||
FROM "YJOA_APPSERVICE_DB"."t_pr3rl2oj_yj_person_database" p
|
||
JOIN "IUAP_APDOC_BASEDOC"."org_orgs" o ON p."internal_dept" = o."id"
|
||
WHERE p."dr" = 0
|
||
AND p."internal_dept" IN (SELECT "id"
|
||
FROM "IUAP_APDOC_BASEDOC"."org_orgs" START
|
||
WITH ("name" || "shortname") LIKE '%XX%'
|
||
AND "dr" = 0 AND "enable" = 1 AND "code" LIKE '%CYJ%'
|
||
CONNECT BY PRIOR "id" = "parentid")
|
||
LIMIT 1000
|
||
""",
|
||
"tags": ["员工", "学历", "部门", "人数统计"],
|
||
"category": "学历分布统计"
|
||
},
|
||
{
|
||
"question": "XX部门博士多少人",
|
||
"answer": '''
|
||
SELECT COUNT(*) AS "博士人数"
|
||
FROM "YJOA_APPSERVICE_DB"."t_pr3rl2oj_yj_person_database" p
|
||
JOIN "IUAP_APDOC_BASEDOC"."org_orgs" o ON p."internal_dept" = o."id"
|
||
WHERE p."internal_dept" IN (SELECT "id"
|
||
FROM "IUAP_APDOC_BASEDOC"."org_orgs" START
|
||
WITH "name"||"shortname" LIKE '%XX%' AND "dr"=0 AND "enable"=1 AND "code" LIKE '%CYJ%'
|
||
CONNECT BY PRIOR "id" = "parentid"
|
||
)
|
||
AND p."dr" = 0
|
||
AND p."highest_degree" = '3'
|
||
LIMIT 1000
|
||
''',
|
||
"tags": ["员工", "学历", "部门", "人数统计"],
|
||
"category": "学历分布统计"
|
||
},
|
||
{
|
||
"question": "博士分布在哪些部门,各有多少人",
|
||
"answer": """
|
||
SELECT o."name" AS "部门名称", COUNT(*) AS "人数"
|
||
FROM "YJOA_APPSERVICE_DB"."t_pr3rl2oj_yj_person_database" p
|
||
JOIN "IUAP_APDOC_BASEDOC"."org_orgs" o ON p."internal_dept" = o."id"
|
||
WHERE p."highest_degree" = '3'
|
||
AND p."dr" = 0
|
||
AND o."dr" = 0
|
||
AND o."enable" = 1
|
||
AND o."code" LIKE '%CYJ%'
|
||
GROUP BY o."id", o."name"
|
||
ORDER BY COUNT(*) DESC LIMIT 1000
|
||
""",
|
||
"tags": ["员工", "学历", "部门", "人数统计"],
|
||
"category": "学历分布统计"
|
||
},
|
||
{
|
||
"question": "张三的年龄是多少",
|
||
"answer": """
|
||
SELECT p."name" AS "name",
|
||
EXTRACT(YEAR FROM CURRENT_DATE) - EXTRACT(YEAR FROM CAST(p."birthday" AS DATE)) AS "age"
|
||
FROM "YJOA_APPSERVICE_DB"."t_pr3rl2oj_yj_person_database" p
|
||
WHERE p."name" = '张三'
|
||
AND p."dr" = 0
|
||
AND p."birthday" IS NOT NULL
|
||
AND p."birthday" <> '' LIMIT 1;
|
||
""",
|
||
"tags": ["员工", "个人", "年龄", "单人员工"],
|
||
"category": "年龄分析"
|
||
},
|
||
{
|
||
"question": "查询XX部门的员工平均年龄",
|
||
"answer": """
|
||
SELECT ROUND(AVG(2025 - CAST(SUBSTR(p."birthday", 1, 4) AS INT)), 2) AS "平均年龄"
|
||
FROM "YJOA_APPSERVICE_DB"."t_pr3rl2oj_yj_person_database" p
|
||
JOIN "IUAP_APDOC_BASEDOC"."org_orgs" o ON p."internal_dept" = o."id"
|
||
WHERE p."dr" = 0
|
||
AND o."id" IN (SELECT "id"
|
||
FROM "IUAP_APDOC_BASEDOC"."org_orgs" START
|
||
WITH "name"||"shortname" LIKE '%XX部%' AND "dr"=0 AND "enable"=1 AND "code" LIKE '%CYJ%'
|
||
CONNECT BY PRIOR "id" = "parentid")
|
||
AND p."birthday" IS NOT NULL
|
||
AND p."birthday" != ''
|
||
LIMIT 1000;
|
||
""",
|
||
"tags": ["员工", "部门", "年龄", "统计分析"],
|
||
"category": "年龄分析"
|
||
},
|
||
{
|
||
"question": "XX部门年龄最小的员工是谁,多少岁?",
|
||
"answer": '''
|
||
SELECT p."name" AS "姓名",
|
||
CAST(p."birthday" AS DATE) AS "出生日期",
|
||
EXTRACT(YEAR FROM CURRENT_DATE) - EXTRACT(YEAR FROM CAST(p."birthday" AS DATE)) AS "年龄"
|
||
FROM "YJOA_APPSERVICE_DB"."t_pr3rl2oj_yj_person_database" p
|
||
WHERE p."internal_dept" IN (SELECT "id"
|
||
FROM "IUAP_APDOC_BASEDOC"."org_orgs" START
|
||
WITH "name" || "shortname" LIKE '%XX%'
|
||
AND "dr" = 0
|
||
AND "enable" = 1
|
||
AND "code" LIKE '%CYJ%'
|
||
CONNECT BY PRIOR "id" = "parentid"
|
||
)
|
||
AND p."dr" = 0
|
||
AND p."birthday" IS NOT NULL
|
||
AND p."birthday" != ''
|
||
ORDER BY "年龄" ASC
|
||
LIMIT 1
|
||
''',
|
||
"tags": ["员工", "个人", "部门", "年龄", "最值统计分析"],
|
||
"category": "年龄分析"
|
||
},
|
||
{
|
||
"question": "XX中心员工年龄段分布图",
|
||
"answer": '''
|
||
SELECT CASE
|
||
WHEN CAST(SUBSTR("birthday", 1, 4) AS INT) >= 2000 THEN '00后'
|
||
WHEN CAST(SUBSTR("birthday", 1, 4) AS INT) >= 1990 AND
|
||
CAST(SUBSTR("birthday", 1, 4) AS INT) < 2000 THEN '90后'
|
||
WHEN CAST(SUBSTR("birthday", 1, 4) AS INT) >= 1980 AND
|
||
CAST(SUBSTR("birthday", 1, 4) AS INT) < 1990 THEN '80后'
|
||
WHEN CAST(SUBSTR("birthday", 1, 4) AS INT) >= 1970 AND
|
||
CAST(SUBSTR("birthday", 1, 4) AS INT) < 1980 THEN '70后'
|
||
WHEN CAST(SUBSTR("birthday", 1, 4) AS INT) >= 1960 AND
|
||
CAST(SUBSTR("birthday", 1, 4) AS INT) < 1970 THEN '60后'
|
||
ELSE '其他年龄段' END AS "age_group",
|
||
COUNT(*) AS "person_count"
|
||
FROM "YJOA_APPSERVICE_DB"."t_pr3rl2oj_yj_person_database" p
|
||
WHERE p."dr" = 0
|
||
AND p."birthday" IS NOT NULL
|
||
AND p."birthday" != ''
|
||
AND p."internal_dept" IN (
|
||
SELECT "id" FROM "IUAP_APDOC_BASEDOC"."org_orgs"
|
||
START WITH "name" || "shortname" LIKE '%xx中心%'
|
||
AND "dr" = 0 AND "enable" = 1 AND "code" LIKE '%CYJ%'
|
||
CONNECT BY PRIOR "id" = "parentid"
|
||
)
|
||
GROUP BY CASE WHEN CAST (SUBSTR("birthday", 1, 4) AS INT) >= 2000 THEN '00后'
|
||
WHEN CAST (SUBSTR("birthday", 1, 4) AS INT) >= 1990 AND CAST (SUBSTR("birthday", 1, 4) AS INT) < 2000 THEN '90后'
|
||
WHEN CAST (SUBSTR("birthday", 1, 4) AS INT) >= 1980 AND CAST (SUBSTR("birthday", 1, 4) AS INT) < 1990 THEN '80后'
|
||
WHEN CAST (SUBSTR("birthday", 1, 4) AS INT) >= 1970 AND CAST (SUBSTR("birthday", 1, 4) AS INT) < 1980 THEN '70后'
|
||
WHEN CAST (SUBSTR("birthday", 1, 4) AS INT) >= 1960 AND CAST (SUBSTR("birthday", 1, 4) AS INT) < 1970 THEN '60后'
|
||
ELSE '其他年龄段'
|
||
END ORDER BY "age_group" ASC LIMIT 1000
|
||
''',
|
||
"tags": ["员工", "部门", "年龄", "分布统计"],
|
||
"category": "年龄分析"
|
||
},
|
||
{
|
||
"question": "查询XX部下面的员工以及他们的年龄",
|
||
"answer": '''
|
||
SELECT p."id" AS "员工ID",
|
||
p."name" AS "姓名",
|
||
o."name" AS "所属部门",
|
||
CAST(SUBSTR(p."birthday", 1, 4) AS INT) AS "出生年份",
|
||
2025 - CAST(SUBSTR(p."birthday", 1, 4) AS INT) AS "年龄",
|
||
CASE WHEN p."gender" = '1' THEN '男' WHEN p."gender" = '2' THEN '女' END AS "性别"
|
||
FROM "YJOA_APPSERVICE_DB"."t_pr3rl2oj_yj_person_database" p
|
||
JOIN "IUAP_APDOC_BASEDOC"."org_orgs" o ON p."internal_dept" = o."id"
|
||
WHERE p."dr" = 0
|
||
AND o."id" IN (SELECT "id"
|
||
FROM "IUAP_APDOC_BASEDOC"."org_orgs" START
|
||
WITH "name"||"shortname" LIKE '%XX部%' AND "dr"=0 AND "enable"=1 AND "code" LIKE '%CYJ%'
|
||
CONNECT BY PRIOR "id" = "parentid")
|
||
AND p."birthday" IS NOT NULL
|
||
AND p."birthday" != ''
|
||
ORDER BY o."name" ASC, p."birthday" DESC
|
||
LIMIT 1000;
|
||
''',
|
||
"tags": ["员工", "部门", "年龄"],
|
||
"category": "年龄分析"
|
||
},
|
||
{
|
||
"question": "XX中心的张三九月份在岗天数",
|
||
"answer": """
|
||
WITH dept_ids AS (SELECT id
|
||
FROM "IUAP_APDOC_BASEDOC"."org_orgs" START
|
||
WITH (name LIKE '%XX中心%' OR shortname LIKE '%XX中心%')
|
||
CONNECT BY PRIOR id = parentid
|
||
)
|
||
SELECT p."code" AS "工号",
|
||
p."name" AS "姓名",
|
||
COUNT(CASE WHEN ps."status" = '1001' THEN 1 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."date_value" LIKE '2025-09%'
|
||
AND ps."dr" = 0
|
||
AND p."dr" = 0
|
||
AND p."internal_dept" IN (SELECT id FROM dept_ids)
|
||
GROUP BY p."code", p."name" LIMIT 1000;
|
||
""",
|
||
"tags": ["员工", "个人", "部门", "考勤", "在岗天数"],
|
||
"category": "考勤管理"
|
||
},
|
||
{
|
||
"question": "XX中心今天各个处室在岗人员数量",
|
||
"answer": '''
|
||
SELECT o.name AS "处室名称", COUNT(p.id) AS "人数"
|
||
FROM YJOA_APPSERVICE_DB.t_pr3rl2oj_yj_person_database p
|
||
JOIN IUAP_APDOC_BASEDOC.org_orgs o ON p.internal_dept = o.id
|
||
WHERE p.internal_dept IN (SELECT "id"
|
||
FROM "IUAP_APDOC_BASEDOC"."org_orgs" START
|
||
WITH "name"||"shortname" LIKE '%XX中心%' AND "dr"=0 AND "enable"=1 AND "code" LIKE '%CYJ%'
|
||
CONNECT BY PRIOR "id" = "parentid"
|
||
)
|
||
AND p.code IN (
|
||
SELECT person_id
|
||
FROM "YJOA_APPSERVICE_DB"."t_yj_person_status"
|
||
WHERE status = '1001'
|
||
AND date_value = TO_CHAR(SYSDATE, 'yyyy-MM-dd')
|
||
AND dr = 0)
|
||
AND p.dr = 0
|
||
GROUP BY o.name
|
||
ORDER BY "人数" DESC
|
||
LIMIT 1000
|
||
''',
|
||
"tags": ["员工", "部门", "考勤", "在岗人数"],
|
||
"category": "考勤管理"
|
||
},
|
||
{
|
||
"question": "XX部门昨天在岗人员数量",
|
||
"answer": '''
|
||
SELECT COUNT(p.id) AS "人数"
|
||
FROM "YJOA_APPSERVICE_DB"."t_pr3rl2oj_yj_person_database" p
|
||
JOIN "IUAP_APDOC_BASEDOC"."org_orgs" o ON p.internal_dept = o.id
|
||
JOIN "YJOA_APPSERVICE_DB"."t_yj_person_status" s ON p.code = s.person_id
|
||
WHERE o.id IN (SELECT id
|
||
FROM "IUAP_APDOC_BASEDOC"."org_orgs"
|
||
START WITH "name" || "shortname" LIKE '%XX%' AND "dr"=0 AND "enable"=1 AND "code" LIKE '%CYJ%'
|
||
CONNECT BY PRIOR "id" = "parentid")
|
||
AND s.status = '1001'
|
||
AND s.date_value = TO_CHAR(SYSDATE - 1,
|
||
'yyyy-MM-dd')
|
||
AND s.dr = 0
|
||
AND p.dr = 0 LIMIT 1000
|
||
''',
|
||
"tags": ["员工", "部门", "考勤", "在岗人数"],
|
||
"category": "考勤管理"
|
||
},
|
||
{
|
||
"question": "XX中心的李四十月份休息了多少天",
|
||
"answer": """
|
||
SELECT COUNT(*) AS rest_days
|
||
FROM "YJOA_APPSERVICE_DB"."t_pr3rl2oj_yj_person_database" p
|
||
INNER JOIN "YJOA_APPSERVICE_DB"."t_yj_person_status" ps
|
||
ON p."code" = ps."person_id"
|
||
WHERE p."name" = '李四'
|
||
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%'
|
||
CONNECT BY PRIOR "id" = "parentid"
|
||
)
|
||
AND ps."status" = '1003'
|
||
AND ps."date_value" LIKE '2025-10%'
|
||
AND p."dr" = 0
|
||
AND ps."dr" = 0 LIMIT 1000
|
||
""",
|
||
"tags": ["员工", "个人", "部门", "考勤", "休息天数"],
|
||
"category": "考勤管理"
|
||
},
|
||
{
|
||
"question": "10月XX中心有哪些有员工请假",
|
||
"answer": '''
|
||
SELECT p."id" AS "id",
|
||
p."code" AS "工号",
|
||
p."name" AS "姓名",
|
||
p."internal_unit" AS "内部单位",
|
||
p."external_unit" AS "外部单位",
|
||
CASE WHEN ps."status" = '1003' THEN '休假,请假' ELSE ps."status" END AS "状态"
|
||
FROM "YJOA_APPSERVICE_DB"."t_pr3rl2oj_yj_person_database" p
|
||
INNER JOIN "YJOA_APPSERVICE_DB"."t_yj_person_status" ps ON p."code" = ps."person_id"
|
||
WHERE ps."status" = '1003'
|
||
AND ps."date_value" LIKE '2025-10%'
|
||
and p.internal_dept in (SELECT "id"
|
||
FROM "IUAP_APDOC_BASEDOC"."org_orgs" START
|
||
WITH "name" || "shortname" LIKE '%XX中心%' AND "dr"=0 AND "enable"=1 AND "code" LIKE '%CYJ%'
|
||
CONNECT BY PRIOR "id" = "parentid"
|
||
)
|
||
AND p."dr" = 0
|
||
AND ps."dr" = 0 LIMIT 1000
|
||
''',
|
||
"tags": ["员工", "部门", "考勤", "请假"],
|
||
"category": "考勤管理"
|
||
},
|
||
{
|
||
"question": "xx部门10月有哪些人迟到",
|
||
"answer": '''
|
||
SELECT p."id" AS "id",
|
||
p."code" AS "工号",
|
||
p."name" AS "姓名",
|
||
p."internal_unit" AS "内部单位",
|
||
p."external_unit" AS "外部单位",
|
||
CASE
|
||
WHEN ps."status" = '1006' THEN '迟到早退'
|
||
WHEN ps."status" = '1009' THEN '迟到'
|
||
WHEN ps."status" = '6002' THEN 'am迟到pm在岗'
|
||
WHEN ps."status" = '6004' THEN 'am迟到pm缺勤'
|
||
ELSE ps."status"
|
||
END AS "状态"
|
||
FROM "YJOA_APPSERVICE_DB"."t_pr3rl2oj_yj_person_database" p
|
||
INNER JOIN "YJOA_APPSERVICE_DB"."t_yj_person_status" ps ON p."code" = ps."person_id"
|
||
WHERE ps."status" IN ('1006','1009','6002','6004')
|
||
AND ps."date_value" LIKE '2025-10%'
|
||
AND p."internal_dept" IN (
|
||
SELECT "id"
|
||
FROM "IUAP_APDOC_BASEDOC"."org_orgs"
|
||
START WITH ("name" || "shortname") LIKE '%xx部门%'
|
||
AND "dr" = 0 AND "enable" = 1 AND "code" LIKE '%CYJ%'
|
||
CONNECT BY PRIOR "id" = "parentid"
|
||
)
|
||
AND p."dr" = 0
|
||
AND ps."dr" = 0
|
||
LIMIT 1000;
|
||
''',
|
||
"tags": ["员工", "部门", "考勤", "迟到"],
|
||
"category": "考勤管理"
|
||
},
|
||
|
||
{
|
||
"question": "XX中心9月有哪些员工在加班",
|
||
"answer": '''
|
||
SELECT DISTINCT p."id" AS "id",
|
||
p."code" AS "工号",
|
||
p."name" AS "姓名",
|
||
p."internal_unit" AS "内部单位",
|
||
p."external_unit" AS "外部单位",
|
||
CASE WHEN ps."status" = '1008' THEN '加班'
|
||
ELSE '其他'
|
||
END AS "状态"
|
||
FROM "YJOA_APPSERVICE_DB"."t_pr3rl2oj_yj_person_database" p
|
||
JOIN "YJOA_APPSERVICE_DB"."t_yj_person_status" ps ON p."code" = ps."person_id"
|
||
JOIN "IUAP_APDOC_BASEDOC"."org_orgs" o ON p."internal_dept" = o."id"
|
||
WHERE p."internal_dept" IN (SELECT "id"
|
||
FROM "IUAP_APDOC_BASEDOC"."org_orgs"
|
||
START WITH "name"||"shortname" LIKE '%XX中心%'
|
||
AND "dr" = 0
|
||
AND "enable" = 1
|
||
AND "code" LIKE '%CYJ%'
|
||
CONNECT BY PRIOR "id" = "parentid"
|
||
)
|
||
AND p."dr" = 0
|
||
AND ps."status" = '1008'
|
||
AND ps."date_value" LIKE '2025-09%'
|
||
LIMIT 1000
|
||
''',
|
||
"tags": ["员工", "考勤", "休假"],
|
||
"category": "考勤管理"
|
||
},
|
||
{
|
||
"question": "张三 8月的考勤查询",
|
||
"answer": '''
|
||
SELECT DISTINCT p."code" AS "工号",
|
||
p."name" AS "姓名",
|
||
p."internal_unit" AS "内部单位",
|
||
p."external_unit" AS "外部单位",
|
||
CASE
|
||
WHEN ps."status" = '1001' THEN '在岗'
|
||
WHEN ps."status" = '1002' THEN '出差'
|
||
WHEN ps."status" = '1003' THEN '休假,请假'
|
||
WHEN ps."status" = '1004' THEN '缺勤'
|
||
WHEN ps."status" = '1005' THEN '旷工'
|
||
WHEN ps."status" = '1006' THEN '迟到,早退'
|
||
WHEN ps."status" = '1007' THEN '休息日'
|
||
WHEN ps."status" = '1008' THEN '加班'
|
||
WHEN ps."status" = '1009' THEN '迟到'
|
||
WHEN ps."status" = '4001' THEN 'am在岗pm缺勤'
|
||
WHEN ps."status" = '4002' THEN 'am缺勤pm在岗'
|
||
WHEN ps."status" = '6001' THEN 'am在岗pm早退'
|
||
WHEN ps."status" = '6002' THEN 'am迟到pm在岗'
|
||
WHEN ps."status" = '6004' THEN 'am迟到pm缺勤'
|
||
WHEN ps."status" = '4006' THEN 'am缺勤pm早退' END AS "人员状态",
|
||
ps."date_value" 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."date_value" LIKE '2025-08%'
|
||
AND ps."dr" = 0
|
||
ORDER BY ps."date_value" DESC LIMIT 1000
|
||
''',
|
||
"tags": ["员工", "考勤", "个人"],
|
||
"category": "考勤管理"
|
||
},
|
||
{
|
||
"question": "张三今天早上9点半之前,有打卡记录吗",
|
||
"answer": '''
|
||
SELECT a."person_name" AS "姓名",
|
||
a."attendance_time" AS "考勤时间",
|
||
a."attendance_address" AS "考勤地址",
|
||
CASE
|
||
WHEN a."status" = 1 THEN '在岗'
|
||
WHEN a."status" = 2 THEN '出差'
|
||
WHEN a."status" = 3 THEN '休假'
|
||
END AS "状态",
|
||
CASE
|
||
WHEN a."enter_or_exit" = 1 THEN '进'
|
||
WHEN a."enter_or_exit" = 2 THEN '出'
|
||
END AS "进出类型"
|
||
FROM "YJOA_APPSERVICE_DB"."t_yj_person_attendance" a
|
||
WHERE a."person_name" = '张三'
|
||
AND a."attendance_time" >= '2025-10-16 00:00:00'
|
||
AND a."attendance_time" < '2025-10-16 09:30:00'
|
||
AND a."dr" = 0
|
||
ORDER BY a."attendance_time" DESC LIMIT 1000
|
||
''',
|
||
"tags": ["员工", "考勤", "打卡记录", "个人", "时间段", "明细查询"],
|
||
"category": "考勤管理"
|
||
},
|
||
{
|
||
"question": "XX中心员工最近三天谁天天迟到",
|
||
"answer": '''
|
||
SELECT p."id" AS "id", p."code" AS "code", p."name" AS "name", o."name" AS "department_name"
|
||
FROM "YJOA_APPSERVICE_DB"."t_pr3rl2oj_yj_person_database" p
|
||
INNER JOIN "YJOA_APPSERVICE_DB"."t_yj_person_status" ps
|
||
ON p."code" = ps."person_id"
|
||
INNER JOIN "IUAP_APDOC_BASEDOC"."org_orgs" o
|
||
ON p."internal_dept" = o."id"
|
||
WHERE ps."date_value" IN ('2025-10-20', '2025-10-21', '2025-10-22')
|
||
AND ps."status" IN ('1006','1009','6002','6004')
|
||
AND p."dr" = 0
|
||
AND ps."dr" = 0
|
||
AND o."dr" = 0
|
||
AND o."enable" = 1
|
||
AND o."code" LIKE '%CYJ%'
|
||
AND o."id" 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%'
|
||
CONNECT BY PRIOR "id" = "parentid"
|
||
)
|
||
GROUP BY p."id", p."code", p."name", o."name"
|
||
HAVING COUNT (*) = 3 LIMIT 1000
|
||
''',
|
||
"tags": ["员工", "考勤", "部门", "天数", "迟到"],
|
||
"category": "考勤管理"
|
||
},
|
||
{
|
||
"question": "XX中心员工本周迟到两次及以上的人",
|
||
"answer": '''
|
||
SELECT p."id" AS "id",
|
||
p."code" AS "工号",
|
||
p."name" AS "姓名",
|
||
o."name" AS "部门",
|
||
COUNT(ps."id") AS "迟到次数"
|
||
FROM "YJOA_APPSERVICE_DB"."t_pr3rl2oj_yj_person_database" p
|
||
INNER JOIN "YJOA_APPSERVICE_DB"."t_yj_person_status" ps
|
||
ON p."code" = ps."person_id"
|
||
INNER JOIN "IUAP_APDOC_BASEDOC"."org_orgs" o
|
||
ON p."internal_dept" = o."id"
|
||
WHERE 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%'
|
||
CONNECT BY PRIOR "id" = "parentid"
|
||
)
|
||
AND ps."status" IN ('1006','1009','6002','6004')
|
||
AND ps."date_value"
|
||
BETWEEN '2025-10-16'
|
||
AND '2025-10-22'
|
||
AND p."dr" = 0
|
||
AND ps."dr" = 0
|
||
GROUP BY p."id", p."code", p."name", o."name"
|
||
HAVING COUNT (ps."id") >= 2
|
||
ORDER BY COUNT (ps."id") DESC LIMIT 1000
|
||
''',
|
||
"tags": ["员工", "考勤", "部门", "天数", "迟到", "次数统计"],
|
||
"category": "考勤管理"
|
||
},
|
||
{
|
||
"question": "来自联通的有多少员工",
|
||
"answer": """
|
||
SELECT "id" AS "id",
|
||
"code" AS "工号",
|
||
"name" AS "姓名",
|
||
"external_unit" AS "外部单位"
|
||
FROM "YJOA_APPSERVICE_DB"."t_pr3rl2oj_yj_person_database"
|
||
WHERE "external_unit" LIKE '%联通%' LIMIT 1000
|
||
""",
|
||
"tags": ["员工", "外部单位", "统计查询"],
|
||
"category": "外部单位统计"
|
||
},
|
||
{
|
||
"question": "各个外部单位下的员工人数统计",
|
||
"answer": """
|
||
SELECT "external_unit" AS "外部单位", COUNT(*) AS "员工人数"
|
||
FROM "YJOA_APPSERVICE_DB"."t_pr3rl2oj_yj_person_database"
|
||
WHERE "external_unit" IS NOT NULL
|
||
AND "external_unit" != ''
|
||
GROUP BY "external_unit"
|
||
ORDER BY "员工人数" DESC LIMIT 1000
|
||
""",
|
||
"tags": ["员工", "外部单位", "人数统计"],
|
||
"category": "外部单位统计"
|
||
},
|
||
{
|
||
"question": "XX中心员工在林芝工作的天数",
|
||
"answer": '''
|
||
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
|
||
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"
|
||
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 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%'
|
||
CONNECT BY PRIOR "id" = "parentid"
|
||
)
|
||
GROUP BY p."code", p."name"
|
||
ORDER BY "在林芝工作天数" DESC LIMIT 1000;
|
||
''',
|
||
"tags": ["员工", "部门", "考勤", "工作地", "区域", "工作天数统计"],
|
||
"category": "工作地考勤统计分析"
|
||
|
||
},
|
||
{
|
||
"question": "XX中心员工在成都工作的天数",
|
||
"answer": '''
|
||
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
|
||
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"
|
||
WHERE p."dr" = 0
|
||
AND a."dr" = 0
|
||
AND ac."region" = 2 OR (a."attendance_address" LIKE '%成都%')
|
||
AND a."attendance_time" >= '2025-09-01'
|
||
AND a."attendance_time" < '2025-10-01'
|
||
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%'
|
||
CONNECT BY PRIOR "id" = "parentid"
|
||
)
|
||
GROUP BY p."code", p."name"
|
||
ORDER BY "在成都工作天数" DESC LIMIT 1000;
|
||
''',
|
||
"tags": ["员工", "部门", "考勤", "工作地", "区域", "工作天数统计"],
|
||
"category": "工作地考勤统计分析"
|
||
|
||
},
|
||
{
|
||
"question": "查询张三9月在林芝的打卡记录",
|
||
"answer": '''
|
||
SELECT a."person_name" AS "姓名",
|
||
a."person_id" AS "人员ID",
|
||
a."attendance_time" AS "考勤时间",
|
||
a."attendance_address" AS "考勤地址",
|
||
CASE
|
||
WHEN a."status" = 1 THEN '在岗'
|
||
WHEN a."status" = 2 THEN '出差'
|
||
WHEN a."status" = 3 THEN '休假' END AS "状态",
|
||
CASE
|
||
WHEN a."enter_or_exit" = 0 THEN '进'
|
||
WHEN a."enter_or_exit" = 1
|
||
THEN '出' END AS "进出类型",
|
||
CASE
|
||
WHEN b."region" = 1 THEN '北京'
|
||
WHEN b."region" = 2 THEN '成都'
|
||
WHEN b."region" = 3 THEN '秭归'
|
||
WHEN b."region" = 4 THEN '拉萨'
|
||
WHEN b."region" = 5 THEN '林芝'
|
||
WHEN b."region" = 6 THEN '米林'
|
||
WHEN b."region" = 7 THEN '派镇'
|
||
WHEN b."region" = 6 THEN '墨脱'
|
||
END AS "地区",
|
||
b."ac_point" AS "门禁点"
|
||
FROM "YJOA_APPSERVICE_DB"."t_yj_person_attendance" a
|
||
JOIN "YJOA_APPSERVICE_DB"."t_yj_person_ac_area" b
|
||
ON a."access_control_point" = b."ac_point"
|
||
WHERE a."person_name" = '张三'
|
||
AND b."region" = 5
|
||
AND a."attendance_time" >= '2025-09-01'
|
||
AND a."attendance_time"
|
||
< '2025-10-01'
|
||
AND a."dr" = 0
|
||
ORDER BY a."attendance_time" DESC LIMIT 1000
|
||
''',
|
||
"tags": ["员工", "个人", "考勤", "工作地", "区域", "打卡统计"],
|
||
"category": "工作地考勤统计分析"
|
||
},
|
||
{
|
||
"question": "张三9月在林芝工作有多少天",
|
||
"answer": '''
|
||
SELECT count(distinct (TO_CHAR(a."attendance_time", 'yyyy-MM-dd'))) as count
|
||
FROM "YJOA_APPSERVICE_DB"."t_yj_person_attendance" a LEFT JOIN "YJOA_APPSERVICE_DB"."t_yj_person_ac_area" b
|
||
ON a."access_control_point" = b."ac_point"
|
||
|
||
WHERE a."person_name" = '张三'
|
||
and b.region=5
|
||
AND a."attendance_time" >= '2025-09-01'
|
||
AND a."attendance_time"
|
||
< '2025-10-01'
|
||
AND a."dr" = 0 LIMIT 1000
|
||
''',
|
||
"tags": ["员工", "个人", "考勤", "工作地", "区域", "工作天数"],
|
||
"category": "工作地考勤统计分析"
|
||
},
|
||
{
|
||
"question": "XX中心的张三在藏多少天了",
|
||
"answer": '''
|
||
SELECT COUNT(*) AS days_in_tibet
|
||
FROM YJOA_APPSERVICE_DB."t_yj_person_status" a
|
||
LEFT JOIN "YJOA_APPSERVICE_DB"."t_pr3rl2oj_yj_person_database" p
|
||
ON p."code" = a."person_id"
|
||
WHERE p."name" = '张三'
|
||
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%' CONNECT BY PRIOR "id" = "parentid"
|
||
)
|
||
AND a.dr = 0
|
||
AND a."is_in_tibet" = 1
|
||
LIMIT 1000
|
||
''',
|
||
"tags": ["员工", "个人", "考勤", "工作地", "区域", "工作天数"],
|
||
"category": "工作地考勤统计分析"
|
||
},
|
||
{
|
||
"question": "张三最早在藏是哪一天",
|
||
"answer": '''
|
||
SELECT date_value AS earliest_date
|
||
FROM YJOA_APPSERVICE_DB."t_yj_person_status" a
|
||
LEFT JOIN "YJOA_APPSERVICE_DB"."t_pr3rl2oj_yj_person_database" p
|
||
ON p."code" = a."person_id"
|
||
WHERE p."name" = '张三'
|
||
AND a."dr" = 0
|
||
AND p."dr" =0
|
||
AND a."is_in_tibet" = 1
|
||
ORDER BY a."date_value" ASC LIMIT 1
|
||
''',
|
||
"tags": ["员工", "个人", "考勤", "工作地", "区域", "最早在藏时间"],
|
||
"category": "工作地考勤统计分析"
|
||
},
|
||
{
|
||
"question": "张三从5月到10月每个月分别在藏多长时间",
|
||
"answer": '''
|
||
SELECT TO_CHAR(a."date_value" , 'yyyy-MM') AS month, COUNT(DISTINCT TO_CHAR(a."date_value" , 'yyyy-MM-dd')) AS tibet_days
|
||
FROM YJOA_APPSERVICE_DB."t_yj_person_status" a
|
||
LEFT JOIN "YJOA_APPSERVICE_DB"."t_pr3rl2oj_yj_person_database" p
|
||
ON p."code" = a."person_id"
|
||
WHERE p."name" = '张三'
|
||
AND a."dr" = 0
|
||
AND p."dr" = 0
|
||
AND a."date_value" >= '2025-05-01'
|
||
AND a."date_value" < '2025-11-01'
|
||
AND a."is_in_tibet" = 1
|
||
GROUP BY TO_CHAR(a."date_value", 'yyyy-MM')
|
||
ORDER BY TO_CHAR(a."date_value", 'yyyy-MM') ASC
|
||
LIMIT 1000
|
||
''',
|
||
"tags": ["员工", "个人", "考勤", "工作地", "区域", "每月在藏天数"],
|
||
"category": "工作地考勤统计分析"
|
||
},
|
||
{
|
||
"question": "XX中心在林芝最长时间的是谁,待了多少天",
|
||
"answer": '''
|
||
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
|
||
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"
|
||
WHERE p."dr" = 0
|
||
AND a."dr" = 0
|
||
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%'
|
||
CONNECT BY PRIOR "id" = "parentid"
|
||
)
|
||
GROUP BY p."code", p."name"
|
||
ORDER BY "在林芝工作天数" DESC
|
||
LIMIT 1;
|
||
''',
|
||
"tags": ["员工", "个人", "考勤", "工作地", "区域", "天数", "最值"],
|
||
"category": "工作地考勤统计分析"
|
||
},
|
||
{
|
||
"question": "XX信息部9月谁在林芝工作天数最多",
|
||
"answer": '''
|
||
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
|
||
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"
|
||
WHERE p."dr" = 0
|
||
AND a."dr" = 0
|
||
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%'
|
||
CONNECT BY PRIOR "id" = "parentid"
|
||
)
|
||
AND a."attendance_time">='2025-09-01' and a."attendance_time"<'2025-10-01'
|
||
GROUP BY p."code", p."name"
|
||
ORDER BY "在林芝工作天数" DESC
|
||
LIMIT 1
|
||
''',
|
||
"tags": ["员工", "个人", "考勤", "工作地", "区域", "天数", "最值"],
|
||
"category": "工作地考勤统计分析"
|
||
},
|
||
{
|
||
"question": "XX中心的员工九月在林芝工作的天数排名",
|
||
"answer": '''
|
||
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
|
||
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"
|
||
WHERE p."dr" = 0
|
||
AND a."dr" = 0
|
||
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%'
|
||
CONNECT BY PRIOR "id" = "parentid"
|
||
)
|
||
AND TO_CHAR(a."attendance_time"
|
||
, 'yyyy-MM') like '2025-09%'
|
||
GROUP BY p."code", p."name"
|
||
ORDER BY "在林芝工作天数" DESC
|
||
LIMIT 1000;
|
||
''',
|
||
"tags": ["员工", "个人", "考勤", "工作地", "区域", "天数", "排名"],
|
||
"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" IN ('1006','1009','6002','6004')
|
||
AND ps."date_value" LIKE '2025-10%'
|
||
AND ps."dr" = 0
|
||
AND p."dr" = 0
|
||
''',
|
||
"tags": ["员工", "个人", "考勤","迟到"],
|
||
"category": "考勤"
|
||
},
|
||
{
|
||
"question": "李四9月份是否有缺勤",
|
||
"answer": '''
|
||
SELECT CASE
|
||
WHEN COUNT(*) > 0 THEN '是' ELSE '否'
|
||
END AS "是否缺勤", "date_value" AS "缺勤日期"
|
||
FROM "YJOA_APPSERVICE_DB"."t_pr3rl2oj_yj_person_database" p
|
||
INNER JOIN "YJOA_APPSERVICE_DB"."t_yj_person_status" ps
|
||
ON p."code" = ps."person_id"
|
||
WHERE p."name" = '李四'
|
||
AND ps."status" IN ('1004','4001','4002','4006','6004')
|
||
AND ps."date_value" LIKE '2025-09%'
|
||
AND p."dr" = 0 AND ps."dr" = 0
|
||
GROUP BY "date_value"
|
||
ORDER BY "date_value" DESC
|
||
LIMIT 1000
|
||
''',
|
||
"tags": ["员工", "个人", "考勤","缺勤"],
|
||
"category": "考勤"
|
||
},
|
||
{
|
||
"question": "9月份XX中心哪些人存在早退现象",
|
||
"answer": '''
|
||
SELECT p."id" AS "id",
|
||
p."code" AS "code",
|
||
p."name" AS "name",
|
||
ps."date_value" AS "早退日期",
|
||
CASE
|
||
WHEN ps."status" = '1006' THEN '迟到早退'
|
||
WHEN ps."status" = '6001' THEN 'am在岗pm早退'
|
||
WHEN ps."status" = '4006' THEN 'am缺勤pm早退'
|
||
ELSE ps."status"
|
||
END AS "status"
|
||
FROM "YJOA_APPSERVICE_DB"."t_yj_person_status" ps
|
||
INNER JOIN "YJOA_APPSERVICE_DB"."t_pr3rl2oj_yj_person_database" p
|
||
ON p."code" = ps."person_id"
|
||
WHERE ps."status" IN ('1006','6001','4006')
|
||
AND ps."date_value" LIKE '2025-09%'
|
||
AND ps."dr" = 0
|
||
AND p."dr" = 0
|
||
AND p."internal_dept" IN (
|
||
SELECT "id" FROM "IUAP_APDOC_BASEDOC"."org_orgs"
|
||
START WITH "name" || "shortname" LIKE '%XX中心%'
|
||
AND "dr"=0 AND "enable"=1
|
||
AND "code" LIKE '%CYJ%'
|
||
CONNECT BY PRIOR "id" = "parentid"
|
||
)
|
||
ORDER BY ps."date_value" DESC
|
||
LIMIT 1000
|
||
''',
|
||
"tags": ["员工", "个人", "考勤","早退"],
|
||
"category": "考勤"
|
||
},
|
||
{
|
||
"question": "XX中心张三今天的工作了多长时间",
|
||
"answer": '''
|
||
SELECT p."code" AS "工号",
|
||
p."name" AS "姓名",
|
||
SUM(ps."work_time") AS "工作时长_分钟"
|
||
FROM "YJOA_APPSERVICE_DB"."t_pr3rl2oj_yj_person_database" p
|
||
INNER JOIN "YJOA_APPSERVICE_DB"."t_yj_person_status" ps
|
||
ON p."code" = ps."person_id"
|
||
WHERE p."name" = '张三'
|
||
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%'
|
||
CONNECT BY PRIOR "id" = "parentid")
|
||
AND ps."date_value" = '2025-10-25'
|
||
AND p."dr" = 0
|
||
AND ps."dr" = 0
|
||
GROUP BY p."code", p."name" LIMIT 1000
|
||
''',
|
||
"tags": ["员工", "个人", "考勤", "工作时长"],
|
||
"category": "考勤"
|
||
}
|
||
|
||
]
|
||
|